部署YUM软件仓库
准备网络安装源(服务器端)
YUM软件仓库通常借助于HTTP或FTP协议来进行发布,这样可以面向网络中的所有客户机提供软件源服务。
准备软件仓库目录
在CentOS 7系统的安装光盘中,已针对软件目录Packages建立好repodata数据,因此只要简单地将整个光盘中的内容通过HTTP或FTP进行发布,就可以作为软件仓库了。
[root@localhost ~]$ mkdir -p /var/ftp/centos7
[root@localhost ~]$ cp -rf /media/cdrom/* /var/ftp/centos7
对于用户下载的非光盘自带的软件包(必须包括所有依赖关系的安装文件),处额准备相应目录之外,还需要手动创建repodata数据文件,就要用到createrepo工具。
[root@localhost ~]$ mkdir /var/ftp/other
[root@localhost ~]$ cd /var/ftp/other
[root@localhost other]$ createrepo -g /media/cdrom/repodata/repomd.xml ./
//以现有的repodata目录为样板
安装并启用vsftpd服务
[root@localhost ~]$ yum -y install vsftpd
[root@localhost ~]$ systemctl start vsftpd
[root@localhost ~]$ systemctl enable vsftpd
搭建本地仓库
[root@localhost ~]$ mkdir /media/cdrom #创建挂载点
[root@localhost ~]$ mount /dev/cdrom /media/cdrom #将光盘挂载
[root@localhost ~]$ vi /etc/fstab #使用vi对配置文件进行编辑,实现永久挂载
#切换到 /etc/yum.repo.d 目录 将自带的仓库删除,仅保留CentOS-Media.repo
[root@localhost ~]$ cd /etc/yum.repos.d/
[root@localhost ~]$ mv CentOS-Media.repo / #暂时将文件移走
[root@localhost ~]$ rm -rf * #删除剩余文件
[root@localhost ~]$ mv /CentOS-Media.repo ./ #将文件移回
[root@localhost ~]$ ls
[root@localhost ~]$ vi CentOS-Media.repo #修改文件内容
…………
[c7-media]
name=CentOS-$releasever - Media
baseurl=file:///media/cdrom/
gpgcheck=0
enabled=1
[root@localhost ~]$ yum clean all #清除yum缓存
[root@localhost ~]$ yum makecache #重建缓存
搭建阿里云仓库
新建阿里云yum仓库文件
[root@localhost ~]$ vi ali.repo
[ali]
name=aliyun
baseurl=https://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/
enabled=1
gpgcheck=1
gpgkey=file:///opt/RPM-GPG-KEY-CentOS-7
[root@localhost ~]$ yum clean all #清除yum缓存
[root@localhost ~]$ yum -y install wget #测试
ftp方式搭建云仓库
#服务端安装vsftpd服务
[root@localhost ~]$ yum install vsftpd -y
#进入/var/lib文件夹下,创建centos7和other文件夹
[root@localhost ~]$ cd /var/ftp/
[root@localhost ~]$ mkdir centos7
[root@localhost ~]$ mkdir other
#服务端把光驱中的文件包全部复制到centos7中
[root@localhost ftp]$ mount /dev/sr0 /mnt/
[root@localhost ftp]$ cp -rf /mnt/* centos7/ & //&代表后台运行应为文件较大
#服务端开启相关服务,关闭防火墙和内核防护
[root@localhost repodata]$ systemctl stop firewalld.service
[root@localhost repodata]$ setenforce 0
[root@localhost repodata]$ systemctl start vsftpd
#客户端安装ftp 服务并启动关闭防火墙和selinux
[root@localhost yum.repos.d]$ yum install ftp
[root@localhost repodata]$ systemctl stop firewalld.service
[root@localhost repodata]$ setenforce 0
#测试ftp服务是否正常
[root@localhost yum.repos.d]$ ftp 192.168.10.101
访问ftp://本机IP/centos7/,确保可以查看到已复制到软件仓库目录/var/ftp/centos7下的光盘数据,访问ftp://本机IP/other/,可以查看非CentOS7光盘自带的其他软件包
更改yum仓库文件
[root@localhost yum.repos.d]$ vim centos7.repo
[centos7]
name=centos7
baseurl=ftp://192.168.10.101/centos7
enabled=1
gpgcheck=0
[root@client ftp]$ yum clean all #清空clean缓存
[root@client ftp]$ yum list #查看使用yum安装的软件包
[root@client yum.repos.d]$ yum install dhcp #测试
http方式搭建云仓库
#为服务端安装httpd
[root@localhost ~]$ yum -y install httpd
#创建仓库目录
[root@localhost ~]$ cd /var/http/
[root@localhost http]$ mkdir centos7
#将光盘上的文件拷贝到http网站根目录
[root@localhost http]$ cp -rf /media/cdrom/* /var/http/centos7/
#将之前ftp仓库文件修改一下
baseurl=http://192.168.10.101/centos7
之后使用本地浏览器输入该网址可以查看文件
使用yum工具管理软件包
查询软件包
yum list:可以查看系统中的软件安装情况
yum info 软件包名:查看软件包的描述信息
yum search 关键词:默认仅根据软件包名称和描述信息进行搜索,在关键词前加上all接口扩大搜索范围
yum whatprovides 命令:可以查看命令属于哪个软件包
安装、升级、卸载软件包
使用 yum 工具安装、升级软件包,分别通过子命令 install、update 来完成,操作对象 为指定的软件包名(可以有多个)。执行操作时会自动检查并解决软件包之间的依赖关系, 期间会提示用户按 Y 键确认安装或升级操作,若希望自动确认,可以在 yum 命令后添加“-y” 选项。卸载软件包同理。
[root@localhost ~]$ yum -y install http #安装
[root@localhost ~]$ yum -y update http #升级
[root@localhost ~]$ yum -y remove http #卸载
NFS共享文件
NFS 是一种基于 TCP/IP 传输的网络文件系统协议,最初由 Sun 公司开发。
特点
采用TCP/IP传输网络文件
安全性低
简单易操作
适合局域网环境
搭建过程
首先关闭防火墙并关闭内核防护
[root@localhost ~]$ systemctl stop firewalld
[root@localhost ~]$ setenforce 0
[root@localhost ~]$ yum -y install nfs-utils
#新建共享目录
[root@localhost ~]$ mkdir /share
[root@localhost ~]$ cd /share
[root@localhost share]$ chmod -R 777 /share/
[root@localhost share]$ vim /etc/exports
#编辑配置文件
/share *
/share 192.168.10.0/24(rw,sync,no_root_squash)
#共享目录 网段 读写,同步,无root权限
#重启rpcbind和nfs服务
[root@localhost ~]$ systemctl start rpcbind
[root@localhost ~]$ systemctl start nfs
[root@localhost share]$ showmount -e
Export list for localhost.localdomain:
/share (everyone)
客户机端:
[root@localhost ~]# mkdir /data
[root@localhost ~]# mount 192.168.10.101:/share /data
[root@localhost ~]# df -hT
文件系统 类型 容量 已用 可用 已用% 挂载点
…………
192.168.10.101:/share nfs4 195G 1.9G 194G 1% /data
[root@localhost ~]# cd /data
[root@localhost data]# touch aa
#在主机端测试
[root@localhost share]# ls
aa
[root@localhost share]# touch bb
#在客户端查看主机端创建的文件
[root@localhost data]# ls
aa bb
强制解挂载:
[root@localhost data]$ umount -lf /data #-f选项为了强制解除挂载,-l则是为了在空闲时再允许
[root@localhost data]$