27 ssh+scp+nfs+yum进阶

ssh远程管理

ssh是一种安全通道协议,用来实现字符界面的远程登录。远程复制,远程文本传输。

ssh对通信双方的数据进行了加密。

用户名和密码登录

密钥对认证方式(可以实现免密登录)

ssh 22 网络层 传输层

数据传输的过程中是加密的

数据在传输过程中是压缩的

一、ssh远程登录–密码认证

1、ssh root@192.168.168.30 ##远程登录默认端口22

[root@localhost ~]# ssh root@192.168.168.30
The authenticity of host '192.168.168.30 (192.168.168.30)' can't be established.
ECDSA key fingerprint is SHA256:yaufdRU2oi//z+PpV7wdWdPdTdEZT2SrypnKy30CsdY.
ECDSA key fingerprint is MD5:85:b0:7c:f3:f0:3a:95:f0:25:19:47:f4:90:46:bc:f5.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.168.30' (ECDSA) to the list of known hosts.
root@192.168.168.30's password: 
Last login: Thu Jun  6 11:45:42 2024 from 192.168.168.11

2、ssh -p 222 root@192.168.168.30 ##远程登录指定端口222

[root@test2 ~]# ssh -p 222 root@192.168.168.30  
ssh: connect to host 192.168.168.30 port 222: No route to host
[root@test2 ~]# ssh -p 222 root@192.168.168.10  
The authenticity of host '[192.168.168.10]:222 ([192.168.168.10]:222)' can't be established.
ECDSA key fingerprint is SHA256:yaufdRU2oi//z+PpV7wdWdPdTdEZT2SrypnKy30CsdY.
ECDSA key fingerprint is MD5:85:b0:7c:f3:f0:3a:95:f0:25:19:47:f4:90:46:bc:f5.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[192.168.168.10]:222' (ECDSA) to the list of known hosts.
root@192.168.168.10's password: 
Last login: Thu Jun  6 11:42:01 2024 from 192.168.168.11
[root@localhost ~]# 

ssh分为服务端和客户端

服务端:Openssh

客户端:xshell moba

sshd 应用名称

22

ssh_config 针对客户端的配置文件

sshd_config 服务端的配置

都是配置文件,作用不同

监听地址 就是对外提供服务的地址。

端口号修改

1、vim /etc/ssh/sshd_config ##修改端口号

二、scp远程复制:把目标主机的文件复制到本机。

1、scp root@目标主机ip:/opt/xy102 /opt

把192.168.168.20的/opt目录下的xy102复制到本机的opt目录下

[root@test2 ~]# cd /opt
[root@test2 opt]# touch xy102
[root@test2 opt]# echo 456 > xy102
[root@test1 ssh]# scp root@192.168.168.20:/opt/xy102 /opt
The authenticity of host '192.168.168.20 (192.168.168.20)' can't be established.
ECDSA key fingerprint is SHA256:yaufdRU2oi//z+PpV7wdWdPdTdEZT2SrypnKy30CsdY.
ECDSA key fingerprint is MD5:85:b0:7c:f3:f0:3a:95:f0:25:19:47:f4:90:46:bc:f5.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.168.20' (ECDSA) to the list of known hosts.
root@192.168.168.20's password: 
xy102                                            100%    4     4.5KB/s   00:00    
[root@test1 ssh]# cd /opt
[root@test1 opt]# ls
login.sh  nginx-1.22.0  nginx-1.22.0.tar.gz  xy102
[root@test1 opt]# cat xy102
456

2、复制目录: scp -r root@192.168.168.20:/opt/test1 /opt

[root@test2 opt]# mkdir test1
[root@test2 opt]# cd test1
[root@test2 test1]# touch 123
[root@test2 test1]# echo 123 > 123
[root@test1 opt]# scp -r root@192.168.168.20:/opt/test1 /opt
root@192.168.168.20's password: 
123                                              100%    4     4.8KB/s   00:00    
[root@test1 opt]# cd test1
[root@test1 test1]# ls
123
[root@test1 test1]# cat 123
123

3、复制不同端口目录: scp -rP 复制目录的端口号 root@192.168.168.20:/opt/test1 /opt

[root@test3 test1]# systemctl stop firewalld
[root@test3 test1]# setenforce 0
[root@test3 test1]# vim sshd_config
[root@test3 test1]# cd /etc
[root@test3 etc]# cd ssh
[root@test3 ssh]# ls
moduli       ssh_host_ecdsa_key      ssh_host_ed25519_key.pub
ssh_config   ssh_host_ecdsa_key.pub  ssh_host_rsa_key
sshd_config  ssh_host_ed25519_key    ssh_host_rsa_key.pub
[root@test3 ssh]# vim sshd_config
[root@test3 ssh]# systemctl restart sshd
[root@test3 ssh]# 
[root@test1 test1]# scp -rP 222 root@192.168.168.30:/opt/test1 /opt/
The authenticity of host '[192.168.168.30]:222 ([192.168.168.30]:222)' can't be established.
ECDSA key fingerprint is SHA256:yaufdRU2oi//z+PpV7wdWdPdTdEZT2SrypnKy30CsdY.
ECDSA key fingerprint is MD5:85:b0:7c:f3:f0:3a:95:f0:25:19:47:f4:90:46:bc:f5.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[192.168.168.30]:222' (ECDSA) to the list of known hosts.
root@192.168.168.30's password: 
123      
[root@test1 test1]# ssh -p 22 root@192.168.168.30
ssh: connect to host 192.168.168.30 port 22: Connection refused
[root@test1 test1]# ssh -p 222 root@192.168.168.30
root@192.168.168.30's password: 
Last login: Thu Jun  6 10:08:11 2024 from 192.168.168.11
[root@test3 ~]# 
ssh -p 10022 root@192.168.233.10
scp root@192.168.233.10:/opt/123 /opt

scp -r 复制目录
scp -rP 指定端口复制目录

scp -P指定端口复制文件

三、sftp 远程文件传输协议

Openssh包含3个功能

远程连接

远程复制

文件传输

sftp是加密的文件传输协议,传输效率比ftp低,但是更安全,语法和ftp是一样的。

1、sftp root@192.168.168.30 ##远程登录默认端口

[root@test2 ~]# sftp root@192.168.168.30
The authenticity of host '192.168.168.30 (192.168.168.30)' can't be established.
ECDSA key fingerprint is SHA256:yaufdRU2oi//z+PpV7wdWdPdTdEZT2SrypnKy30CsdY.
ECDSA key fingerprint is MD5:85:b0:7c:f3:f0:3a:95:f0:25:19:47:f4:90:46:bc:f5.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.168.30' (ECDSA) to the list of known hosts.
root@192.168.168.30's password: 
Connected to 192.168.168.30.
sftp> cd /opt
sftp> ls
login.sh                   nginx-1.22.0               nginx-1.22.0.tar.gz  
[root@test2 opt]# cat 123     ##test2的文件通过sftp远程连接上传文件
123.
[root@test2 opt]# sftp root@192.168.168.30
root@192.168.168.30's password: 
Connected to 192.168.168.30.
sftp> cd /opt
sftp> ls
login.sh                   nginx-1.22.0               nginx-1.22.0.tar.gz        
sftp> put 123
Uploading 123 to /opt/123
123                                              100%    5     7.9KB/s   00:00 

[root@test3 opt]# ls  ##到test3查看文件在opt目录下
123  login.sh  nginx-1.22.0  nginx-1.22.0.tar.gz

sftp> get 456 #下载在opt目录下
Fetching /opt/456 to 456
/opt/456                                         100%    4     3.9KB/s   00:00  
[root@test2 opt]# ls
123  456  login.sh  nginx-1.22.0  nginx-1.22.0.tar.gz
[root@test2 opt]# cat 456
456

2、sftp root@192.168.168.30 ##远程登录指定端口

[root@test2 test1]# sftp -P 222 root@192.168.168.30
The authenticity of host '[192.168.168.30]:222 ([192.168.168.30]:222)' can't be established.
ECDSA key fingerprint is SHA256:yaufdRU2oi//z+PpV7wdWdPdTdEZT2SrypnKy30CsdY.
ECDSA key fingerprint is MD5:85:b0:7c:f3:f0:3a:95:f0:25:19:47:f4:90:46:bc:f5.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[192.168.168.30]:222' (ECDSA) to the list of known hosts.
root@192.168.168.30's password: 
Connected to 192.168.168.30.
sftp> cd /opt
sftp> get -r test1
Fetching /opt/test1/ to test1
Retrieving /opt/test1
/opt/test1/123                                   100%    4     2.5KB/s   00:00    
sftp> cd test1
sftp> ls
123  
sftp> get 123
Fetching /opt/test1/123 to 123
/opt/test1/123   

小结:

put上传,cd进入哪个文件夹中,就是上传到哪个文件夹中

get下载,在哪个文件夹远程连接,就是下载在哪个文件夹中

put -r 文件夹,上传文件夹

get -r 文件夹,下载文件夹

sftp不同scp的是,scp -p,而sftp -P。

四、ssh密钥对认证(免密登录)

密钥:密钥是一种参数,把明文转换成密文,转换成的密文是一种算法声场的参数。

密钥的形式分为两种:对称密钥,非对称密钥

ssh 非对称密钥

ssh的加密方式:

RSA

ECDSA

DSA

加密的算法,可以指定。

1、密钥登录

1、指定加密方式:[root@test1 opt]# ssh-keygen -t ecdsa

[root@test1 opt]# ssh-keygen -t ecdsa
Generating public/private ecdsa key pair.
Enter file in which to save the key (/root/.ssh/id_ecdsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_ecdsa.
Your public key has been saved in /root/.ssh/id_ecdsa.pub.
The key fingerprint is:
SHA256:dfTfOfTjTFsGT+cpmQGmBlUhXziPmU5N+AuNHhB2EPQ root@test1
The key's randomart image is:
+---[ECDSA 256]---+
|       .oO=*=.   |
|        o.B=oo   |
|         ooE&.o.o|
|        .. X ==**|
|        S + o+.*O|
|           o .=.=|
|               + |
|                 |
|                 |
+----[SHA256]-----+

id_ecdsa 私钥文件

id ecdsa.pub 公钥文件

2、进入/root/.ssh目录下

[root@test1 opt]# cd /root/.ssh
[root@test1 .ssh]# ls
id_ecdsa  id_ecdsa.pub  known_hosts
[root@test1 .ssh]# 

3、把test1的公钥文件传输到test3里

[root@test1 opt]# cd /root/.ssh
[root@test1 .ssh]# ls
id_ecdsa  id_ecdsa.pub  known_hosts
[root@test1 .ssh]# ssh-copy-id -i id_ecdsa.pub root@192.168.168.30      ##默认不用加端口
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "id_ecdsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@192.168.168.30's password: 

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'root@192.168.168.30'"
and check to make sure that only the key(s) you wanted were added.

4、生成ssh环境

[root@test1 .ssh]# ssh-agent bash

5、直接密钥免密登录

[root@test1 .ssh]# ssh root@192.168.168.30
Last login: Thu Jun  6 14:54:00 2024 from 192.168.168.10
[root@test3 ~]# 

免密登录的过程:

ssh-keygen -t ecdsa #执行加密的算法

ssh -copy -id -i id ecdsa.pub (-p 端口)

免密登录的过程:
ssh-keygen-tecdas #执行加密的算法
ssh-copy-id -iid ecdsa.pub (-p 10022) root@192.168.233.10

#把公钥文件发送到对方主机
ssh-agent bash
把密钥对进行缓存,可以自动提供身份验证,实现免密登录
ssh-add ##前面输入密码的话,需要在这输入密码

在这里插入图片描述

2、工具登录

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

[root@test3 ~]# cd .ssh
[root@test3 .ssh]# ls
authorized_keys
[root@test3 .ssh]# rm -rf *
[root@test3 .ssh]# rz -E
rz waiting to receive.
[root@test3 .ssh]# ls
id_rsa_2048.pub
[root@test3 .ssh]# cat id_rsa_2048.pub >> authorized_keys
[root@test3 .ssh]# ls
authorized_keys  id_rsa_2048.pub
[root@test3 .ssh]# chmod 600 authorized_keys

到test1

[root@test1 ~]# cd .ssh/
[root@test1 .ssh]# ls
id_ecdsa  id_ecdsa.pub  known_hosts
[root@test1 .ssh]# rm -rf *
[root@test1 .ssh]# ls
[root@test1 .ssh]# rz -E
rz waiting to receive.
[root@test1 .ssh]# 
[root@test1 .ssh]# cat id_rsa_2048.pub >> authorized_keys
[root@test1 .ssh]# chmod 600 authorized_keys
[root@test1 .ssh]# ls
authorized_keys  id_rsa_2048.pub

在这里插入图片描述

五、NFS共享存储服务

network file system 在计算机网络中共享文件系统的协议

计算机之间可以通过网络共享目录和文件

rpcbind:远程共享调用

nfs:共享服务

配置nfs是,要先启动调用rpcbind,再开启nfs

rpcbind端口号111

nfs 端口2049(查询不到)

1、提供网段共享文件夹服务

1、安装软件

[root@test1 opt]# yum -y install nfs-utils rpcbind

2、创建共享目录

[root@test1 opt]# mkdir gongxiang
[root@test1 opt]# chmod 777 gongxiang
[root@test1 opt]# ls
gongxiang  login.sh  nginx-1.22.0  nginx-1.22.0.tar.gz

3、[root@test1 opt]# vim /etc/exports

写入权限和网段使用

/opt/gongxiang 192.168.168.0/24(rw,sync,no_root_squash)
/opt/gongxiang 192.168.168.0/24(rw,sync,no_root_squash)

[root@test1 opt]# vim /etc/exports
[root@test1 opt]# systemctl restart rpcbind
[root@test1 opt]# systemctl restart nfs
[root@test1 opt]# showmount -e
Export list for test1:
/opt/gongxiang 192.168.168.0/24

4、到其他主机安装软件,重启,显示共享软件

[root@test3 ~]# yum -y install rpcbind nfs

[root@test3 ~]# systemctl restart rpcbind
[root@test3 ~]# systemctl restart nfs
[root@test3 opt]# showmount -e 192.168.168.10
Export list for 192.168.168.10:
/opt/gongxiang 192.168.168.0/24

5、创建文件夹,临时挂载

mkdir test1

mount 192.168.168.10:/opt/gongxiang /opt/test1

永久挂载

vim /etc/fstab
192.168.168.10:/opt/gongxiang /opt/test1 nfs defaults, netdev 0 0

netdev:有网络目录才能挂载成功。

/opt/gongxiang 声明本机的共享目录

192.168.233.0/24声明网段,谁可以访问本机的共享目录。(声明指定的主机可以访问共享目录 作业)

(rw,sync,no root squash)权限,共享目录的使用者的权限

“rw”表示允许读写,“ro” 表示为只读。

sync 同步写入到硬盘中(共享用户的操作。)

no_root_squash 如果客户机以root用户访问共享目录,就给你和本机的root用户一样的权限。

root_squash 客户机root登录共享目录,就会把你变成匿名用户。
all_squash 所有访问用户都映射为匿名用户或用户组
async 将数据先保存在内存缓冲区中,必要时才写入磁盘。
subtree_check(默认) 若输出目录是一个子目录,则nfs服务器将检查其父目录的权限。
no_subtree_check 即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率。

主机:

vim /etc/exports

/opt/gongxiang 192.168.168.0/24(rw,sync,no root squash)

systemctl restart rpcbind
systemctl restart nfs
showmount -e

查看本机共享出去的目录

客户机

安装rpcbind和nfs

systemctl restart rpcbind
systemctl restart nfs
showmount -e 192.168.168.10

查看目标主机暴露出的共享目录

挂载

临时

mount 192.168.233.10:/opt/gongxiang /opt/test1

永久挂载

vim /etc/fstab
192.168.168.10:/opt/gongxiang /opt/test1 nfs defaults, netdev 0 0

netdev:有网络目录才能挂载成功。

2、指定的主机可以访问共享目录

1、安装软件nfs-utils rpcbind

[root@test1 opt]# yum -y install nfs-utils rpcbind

2、创建共享文件夹gongxiang,修改权限
mkdir /opt/gongxiang
chmod 777 gongxiang
3、进入共享配置文件,写入192.168.168.20可以访问共享目录

vim /etc/exports

/opt/opt 192.168.168.20(rw,sync,no_root_squash)

4、重启服务rpcbind、nfs,展示共享目录
systemctl restart rpcbind
systemctl restart nfs
showmount -e

5、到指定主机192.168.168.20,安装软件,并重启服务

[root@test3 opt]# yum -y install nfs-utils rpcbind

systemctl restart rpcbind
systemctl restart nfs
showmount -e 192.168.168.10

6、创建目录ab,挂载
在这里插入图片描述
在这里插入图片描述

7、用其他用户挂载不上

在这里插入图片描述

8、若是网段192.168.168.0/24,可以挂载,并写入文件

|在这里插入图片描述

六、yum的进阶

1、yum的主要作用:

依赖关系

自动安装

自动升级

centos7 yum

centos 8 dnf (yum的升级版)

dnf -y install

2、Ubuntu

apt

apt -y install 软件=yum -y install 软件

重启网卡命令:netplan apply

安装的包不一样

yum的包都是.rpm

Ubuntu的包都是.deb

3、yum日志文件和缓存

日志文件和缓存/var/log/yum.log

缓存:

下载在/etc/yum.conf

安装日志/var/log/yum.conf

访问目录在/var/www/html

访问192.168.168.10展开的是默认的是/var/www/html

访问192.168.168.10/centos 7的是/usr/share///idex.html

网页版的形式做一个yum源

curl页面测试工具,后面跟上ip地址或者域名可以访问这个页面(测试web软件故障是否正常)

vsftpd

http

混合

1、[root@test1 ~]# yum -y remove nginx

2、/var/cache/yum/x86_64/7/base/packages ##日志文件

3、

[root@test1 ~]# cd /etc/yum

[root@test1 yum]# vim /etc/yum
yum/         yum.conf     yum.repos.d/ 
[root@test1 yum]# vim /etc/yum.conf

cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0   ##不保存安装包

4、安装软件日志。

[root@test1 yum]# tail /var/log/yum.log
Jun 06 17:33:46 Erased: libvirt-daemon-driver-storage-core-4.5.0-10.el7.x86_64
Jun 06 17:33:46 Erased: 1:nfs-utils-1.3.0-0.68.el7.2.x86_64
Jun 06 17:33:46 Erased: 1:quota-4.01-17.el7.x86_64
Jun 06 17:33:47 Erased: rpcbind-0.2.0-49.el7.x86_64
Jun 06 17:34:57 Installed: rpcbind-0.2.0-49.el7.x86_64
Jun 06 17:34:57 Updated: 1:quota-nls-4.01-19.el7.noarch
Jun 06 17:34:57 Installed: 1:quota-4.01-19.el7.x86_64
Jun 06 17:34:57 Installed: 1:nfs-utils-1.3.0-0.68.el7.2.x86_64
Jun 06 19:45:44 Erased: 1:nginx-1.20.1-10.el7.x86_64
Jun 06 19:45:55 Installed: 1:nginx-1.20.1-10.el7.x86_64

4、安装httpd

1、[root@test1 ~]# yum -y install httpd

2、

[root@test1 ~]# systemctl stop nginx
[root@test1 ~]# systemctl restart httpd
[root@test1 ~]# vim /etc/ssh/sshd_config
[root@test1 ~]# systemctl restart sshd
[root@test1 ~]# cd /var/www/html
[root@test1 html]# pwd
/var/www/html

3、此处注意有可能存在永久挂载,需要解除挂载

[root@test1 html]# mount /dev/cdrom /var/www/html/
mount: /dev/sr0 写保护,将以只读方式挂载

4、[root@test1 yum.repos.d]# vim httpd.repo

[httpd]
name=123
baseurl=http://192.168.168.10/centos7
gpgcheck=0   

5、

[root@test1 yum.repos.d]# cd /var/www/html/
[root@test1 html]# ls

[root@test1 html]# cd /
[root@test1 /]# umount /dev/cdrom
[root@test1 /]# cd /var/www/html/
[root@test1 html]# ls
[root@test1 html]# mkdir centos7
[root@test1 html]# ls
centos7
[root@test1 html]# mount /dev/cdrom /var/www/html/centos7/

6、

[root@test1 html]# yum clean all && yum makecache

7、
在这里插入图片描述

8、

在这里插入图片描述
在这里插入图片描述

访问192.168.168.10

9、[root@test1 html]# vim index.html
[root@test1 html]#

在这里插入图片描述

curl页面测试工具

1、[root@test2 ~]# curl www.baidu.com

2、

[root@test2 ~]# curl 192.168.168.10
this is apache
[root@test2 ~]# curl 192.168.168.10/centos7/
Index of /centos7

Index of /centos7

[ICO]NameLast modifiedSizeDescription

[PARENTDIR]Parent Directory   -  
[   ]CentOS_BuildTag 2018-11-26 00:01 14  
[DIR]EFI/ 2018-11-26 00:20 -  
[TXT]EULA 2017-08-30 22:33 227  
[TXT]GPL 2015-12-10 06:35 18K 
[DIR]LiveOS/ 2018-11-26 00:20 -  
[DIR]Packages/ 2018-11-26 07:52 -  
[   ]RPM-GPG-KEY-CentOS-7 2015-12-10 06:35 1.7K 
[   ]RPM-GPG-KEY-CentOS-T..>2015-12-10 06:35 1.7K 
[   ]TRANS.TBL 2018-11-26 07:54 2.8K 
[DIR]images/ 2018-11-26 00:21 -  
[DIR]isolinux/ 2018-11-26 00:20 -  
[DIR]repodata/ 2018-11-26 07:53 -  

另外一个

[root@test2 ~]# cd /etc/yum.repos.d/
[root@test2 yum.repos.d]# ls
Centos-7.repo     CentOS-Debuginfo.repo  CentOS-Vault.repo
Centos-7.repo.1   CentOS-fasttrack.repo  epel.repo
CentOS-Base.repo  CentOS-Media.repo      epel-testing.repo
CentOS-CR.repo    CentOS-Sources.repo    local.repo
[root@test2 yum.repos.d]# rm -rf *
[root@test2 yum.repos.d]# ls
[root@test2 yum.repos.d]# 

[root@test2 yum.repos.d]# vim local.repo



[local]
name=123
baseurl=http://192.168.168.10/centos7
gpgcheck=0



[root@test2 yum.repos.d]# yum clean all && yum makecache


5、vsftpd

[root@test3 ~]# yum -y install vsftpd

[root@test3 ~]# cd /var/ftp
[root@test3 ftp]# ls
pub
[root@test3 ftp]# mkdir centos7
[root@test3 ftp]# mount /dev/cdrom /var/ftp/centos7/
mount: /dev/sr0 写保护,将以只读方式挂载

[root@test3 ftp]# cd /etc/yum.repos.d/
[root@test3 yum.repos.d]# rm -rf *
[root@test3 yum.repos.d]# ls

[root@test3 yum.repos.d]# mount /dev/cdrom /var/ftp/centos7/

注意永久挂载

[root@test3 yum.repos.d]# systemctl restart vsftpd

[root@test3 yum.repos.d]# vim local.repo

[local]
name=123
baseurl=ftp://192.168.168.30/centos7
gpgcheck=0

关闭防火墙、安全机制

yum clean all && yum makecache

6、yum混合源

cd /etc/yum.repo.d

vim local.repo

[local]
name=123
baseurl=http://192.168.168.10/centos7
gpgcheck=0
priority=2
#指定优先级,数字越大,优先级越高

[net]
name=456
baseurl=https://mirrors.aliyun.com/epel/7Server/x86_64/
gpgcheck=0
priority=1

[root@test2 yum.repos.d]# yum clean all && yum makecache

.本地安装很快

cd /var/ftp
[root@test3 ftp]# ls
pub
[root@test3 ftp]# mkdir centos7
[root@test3 ftp]# mount /dev/cdrom /var/ftp/centos7/
mount: /dev/sr0 写保护,将以只读方式挂载

[root@test3 ftp]# cd /etc/yum.repos.d/
[root@test3 yum.repos.d]# rm -rf *
[root@test3 yum.repos.d]# ls

[root@test3 yum.repos.d]# mount /dev/cdrom /var/ftp/centos7/

注意永久挂载

[root@test3 yum.repos.d]# systemctl restart vsftpd

[root@test3 yum.repos.d]# vim local.repo

[local]
name=123
baseurl=ftp://192.168.168.30/centos7
gpgcheck=0

关闭防火墙、安全机制

yum clean all && yum makecache

6、yum混合源

cd /etc/yum.repo.d

vim local.repo

[local]
name=123
baseurl=http://192.168.168.10/centos7
gpgcheck=0
priority=2
#指定优先级,数字越大,优先级越高

[net]
name=456
baseurl=https://mirrors.aliyun.com/epel/7Server/x86_64/
gpgcheck=0
priority=1

[root@test2 yum.repos.d]# yum clean all && yum makecache

.本地安装很快

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/686601.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Matlab 2024a 建模基础知识全面指南

一、Matlab简介 1. Matlab是什么? Matlab(Matrix Laboratory)是由MathWorks公司开发的一个高性能的数值计算环境和编程语言。它以其强大的矩阵运算能力、丰富的工具箱和便捷的数据可视化功能而闻名,广泛应用于科学研究、工程模拟…

【面试干货】什么是索引?

【面试干货】什么是索引? 1、索引的定义2、索引的工作原理3、索引在数据库管理系统中的作用 💖The Begin💖点点关注,收藏不迷路💖 1、索引的定义 数据库索引是一个存储在磁盘上的数据结构,它以某种方式引用…

2024年全国青少信息素养大赛图形化编程挑战赛集训第一天编程题分享

大家如果不想阅读前边的比赛内容介绍,可以直接跳过:拉到底部看集训第一天题目 (一)比赛内容: 【小学低年级组】 1、图形化编程软件的使用:熟悉图形化编程软件中舞台区、角色列表区、功能区、脚本编 -3- 辑区的功能及使用。 2、基础功能模块的使用: a.运动模块:角…

ARM64汇编0A - thumb模式与IT块

本文主要讨论一下 32 位程序下的 thumb 模式相关东西,属于选读内容。 thumb模式 ARM模式的指令集宽度是32位而Thumb是16位宽度(但也可以是32位)。 Thumb也有很多不同的版本。不过不同的名字仅仅是为了区分不同版本的Thumb指令集而已(也就是对于处理器来说&#x…

10款必备软件,每款都是神器,赶快用起来吧!

AI视频生成:小说文案智能分镜智能识别角色和场景批量Ai绘图自动配音添加音乐一键合成视频https://aitools.jurilu.com/最近有很多小伙伴在咨询,我也抓紧时间整理了一些不错的软件和我陆续收到的,希望对大家有所帮助。 1. 全球鼠标——MouseI…

15_Vue3核心概念与实践

文章目录 Vue31. Vite2.使用Vite创建前端工程3.目录介绍4.SFC入门5.2.35.ViteVue样式导入方式6.响应式入门&&setup函数6.1 响应式数据6.2 省略setup(){} 省略default{},return{}6.3 案例开发功能概述 7. 插值表达式8.文本渲染v-text/v-html9. 属性渲染v-bin…

基于Vue的前端瀑布流布局组件的设计与实现

摘要 随着前端技术的不断演进,复杂业务场景和多次迭代后的产品对组件化开发提出了更高的要求。传统的整块应用开发方式已无法满足快速迭代和高效维护的需求。因此,本文将介绍一款基于Vue的瀑布流布局组件,旨在通过组件化开发提升开发效率和降…

全球AI新闻速递6.7

1.智谱 AI 宣布全模型矩阵降价,开源 GLM-4-9B 系列模型。 2.复旦大学计划在2024-2025新学年推出至少100门。 3.思科:启动 10 亿美元 AI 基金,投资AI初创公司。 4.OpenAI和谷歌DeepMind员工联名发声:高级AI风险巨大,…

Acwing 786.第K个数

Acwing 786.第K个数 题目描述 786. 第k个数 - AcWing题库 运行代码 #include <iostream> #include <algorithm> using namespace std; const int N 100010; int q[N];int main() {int n, k;scanf("%d%d", &n, &k);for (int i 0; i < n; …

Mac屏幕截图软件

一、简介&#xff08;有小伙伴留言说想要mac的屏幕截图软件&#xff0c;今天给大家分享一个还不错的&#xff09; 1、一个功能丰富的功能丰富的截图工具&#xff0c;具有许多高级功能&#xff0c;免费。用于快速拍摄并将它们组织成集合。Snappy还支持注释&#xff0c;共享&…

Linux操作系统:Spark在虚拟环境下的安装及部署

将Spark安装到指定目录 // 通过wget下载Spark安装包 $ wget https://d3kbcqa49mib13.cloudfront.net/spark-2.1.1-bin-hadoop2.7.tgz // 将spark解压到安装目录 $ tar –zxvf spark-2.1.1-bin-hadoop2.7.tgz –C /usr/local/ // 重命名 $ mv /usr/local/spark-2.1.1-bin-hado…

1.音视频开篇

目录 音视频播放的原理 音视频数据格式YUV YUV数据存储比 ​编辑 YUV空间格式 RGB与YUV转换 音视频播放的原理 主要分为&#xff1a;解协议->解封装->解码->音视频同步->播放。当然&#xff0c;如果是本地播放&#xff0c;没有解协议这一步骤。 采集数据其实…

Cesium开发环境搭建(二)

由于win7搭建很费事&#xff0c;重新安装了OS&#xff0c;win10的。 记录一下&#xff0c;搭建步骤&#xff1a; 1.下载node.js。 百度搜索即可下载对应的版本。下载cesium。 2.安装node.js。 安装后&#xff0c;输入node -v&#xff0c;显示版本信息&#xff0c;表示安装…

Spring Cloud 微服务集成Sentinel实现服务熔断降级

文章目录 一、前言二、技术思路及方案2.1 实现思路2.2 实现方案2.2.1 nacos动态数据源实现类关系图 三、功能实现3.1 快速集成方案3.1.1 引入依赖3.1.2 服务端熔断降级3.1.3 feign调用降级 四、扩展4.1 SPI机制4.2 自定义Slot实现4.3 基于 Sentinel 实现 Feign 全局异常兜底4.3…

MySQL之查询性能优化(七)

查询性能优化 排序优化 无论如何排序都是一个成本很高的操作&#xff0c;所以从性能角度考虑&#xff0c;应尽可能避免排序或者尽可能避免对大量数据进行排序。前面已经提到了&#xff0c;当不能使用索引生成排序结果的时候&#xff0c;MySQL需要自己进行排序&#xff0c;如果…

【大事件】docker可能无法使用了

今天本想继续学习docker的命令&#xff0c;突然发现官方网站的文档页面打不开了。 难道是被墙了&#xff1f; 我用同事的翻了一下&#xff0c;能进&#xff0c;果然&#xff01; 正好手头的工作告一段落&#xff0c;将代码上传&#xff0c;然后通过jenkins将服务器自动部署到…

Python魔法之旅-魔法方法(20)

目录 一、概述 1、定义 2、作用 二、应用场景 1、构造和析构 2、操作符重载 3、字符串和表示 4、容器管理 5、可调用对象 6、上下文管理 7、属性访问和描述符 8、迭代器和生成器 9、数值类型 10、复制和序列化 11、自定义元类行为 12、自定义类行为 13、类型检…

代码随想录——删除二叉搜索树中的节点(Leetcode450)

题目链接 递归 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val val; }* TreeNode(int val, TreeNode left, TreeNode right) {* …

SpringBoot实现图片文件上传和回显的两种方式

目录 一 功能需求 二 上传本地 2.1 实现文件上传的controller层 2.2 图片访问资源映射 二 上传OSS 一 功能需求 实现图片的上传和回显功能其实在业务中是非常常见的&#xff0c;比如需要上传头像&#xff0c;或者交易平台需要上传物品的图片等等&#xff0c;都需要上传和回…

数字后端设计岗位介绍

数字后端设计岗位是数字芯片设计流程中的关键环节&#xff0c;以下是对该岗位的详细介绍&#xff1a; 一、岗位职责 数字后端设计工程师的主要职责包括&#xff1a; 负责将芯片的逻辑设计转化为物理实现&#xff0c;利用EDA工具进行自动布局布线&#xff0c;完成从netlist到…