1.yum命令
yum clean all # 清除原有yum缓存
yum install [软件名] # 安装软件
yum remove [软件名] # 卸载软件
yum repolist # 列出仓库信息
yum list [软件名] # 查看某个软件
yum list all # 列出所有软件名称
yum list installd # 列出已经安装的软件
yum install available # 列出可以用yum安装的软件
yum search [软件名] # 根据软件信息搜索软件名字
yum whatprovides [文件名]# 在yum源中查找包含文件名的文件的软件包
yum update # 更新软件
yum history # 查看系统软件改变历史
yum reinstall [软件名] # 重新安装,一般软件出问题了可以用这条命令解决
yum info [软件名] # 查看软件信息
yum groups list # 列出软件组信息
yum groups info [软件组] # 查看软件组内包含的软件
yum groups install [软件组] # 安装组件
yum groups remove [软件组] # 卸载软件组
比较yum list available与yum list installed
[root@localhost Desktop]# yum list available | wc -l
3444
[root@localhost Desktop]# yum list installed | wc -l
1251
yum reinstall 的应用场景
[root@localhost Desktop]# yum install -y httpd # 先安装httpd
[root@localhost Desktop]# rm -fr /etc/httpd/ # 模拟损坏httpd软件,即删除httpd配置文件
[root@localhost Desktop]# systemctl restart httpd # 此时httpd软件就不能用了,不过还是可以恢复的
Job for httpd.service failed because the control process exited with error code. See "systemctl status httpd.service" and "journalctl -xe" for details.
[root@localhost Desktop]# yum install httpd # 现在install就不能解决问题
[root@localhost Desktop]# yum reinstall httpd -y # reinstall就派上用场了
[root@localhost Desktop]# systemctl status httpd # 成功恢复
区分yum search和 yum whatprovides
[root@localhost Desktop]# yum search /etc/httpd # search不能通过搜索文件查找软件
[root@localhost Desktop]# yum whatprovides /etc/httpd # 可以用whatprovides 来实现
2.搭建共享yum源
(1)管理镜像文件,把镜像存放好,方便以后使用
[root@foundation78 Desktop]# mkdir /iso
[root@foundation78 Desktop]# mkdir /rhel7.2 # 这是本机要共享的yum源
[root@foundation78 Desktop]# mkdir /rhel7.0 # 7.0是本机的版本,先要搭建本机的yum源,本机的yum源也可以共享
[root@foundation78 Desktop]# mv rhel-server-7.* /iso/
[root@foundation78 Desktop]# cd /iso/
[root@foundation78 iso]# lsrhel-server-7.0-x86_64-dvd.iso rhel-server-7.2-x86_64-dvd.iso
(2)配置真机yum源
[root@foundation78 iso]# hostnamectl # 先查看本机的系统版本
[root@foundation78 iso]# cd /etc/yum.repos.d/
[root@foundation78 yum.repos.d]# ls
redhat.repo rhel-dvd.repo rht-extras.repo
[root@foundation78 yum.repos.d]# vim rhel-dvd.repo
[rhel-dvd]
name="Remote classroom copy of dvd"
baseurl=http://172.25.254.250/rhel7.0/x86_64/dvd
gpgcheck=0
enabled=0 # 不开启yum源
注:在/etc/yum.repos.d/中,以.repo结尾的文件都会被读取,为了让自己搭建的yum仓库生效,在其他的.repo文件里都要加上enabled=0
[root@foundation78 yum.repos.d]# vim yum.repo
1 [rhel7.0]
2 name=rhel7.0
3 baseurl=file:///rhel7.0
4 gpgcheck=0
临时挂载
[root@foundation78 yum.repos.d]# mount /iso/rhel-server-7.0-x86_64-dvd.iso /rhel7.0 # 这是临时挂载,重启就会失效
mount: /dev/loop1 is write-protected, mounting read-only
[root@foundation78 yum.repos.d]# mount /iso/rhel-server-7.2-x86_64-dvd.iso /rhel7.2 # 其实本机不用挂载7.2的镜像,因为本机用不上,7.2的镜像是要共享出去的
mount: /dev/loop0 is write-protected, mounting read-only
[root@foundation78 yum.repos.d]# df
永久挂载
[root@foundation78 yum.repos.d]# vim /etc/rc.d/rc.local # 永久挂载
14 mount /iso/rhel-server-7.2-x86_64-dvd.iso /rhel7.2
15 mount /iso/rhel-server-7.0-x86_64-dvd.iso /rhel7.0
[root@foundation78 yum.repos.d]# chmod +x /etc/rc.d/rc.local
[root@foundation78 yum.repos.d]# reboot # 重启之后就会生效
查看yum源是否搭建成功
[root@foundation78 yum.repos.d]# yum clean all
[root@foundation78 yum.repos.d]# yum repolist # 列出来,就说明yum源配置好了
(3)配置共享yum源(用httpd共享出去)
[root@foundation78 yum.repos.d]# yum install -y httpd
[root@foundation78 yum.repos.d]# systemctl start httpd
[root@foundation78 yum.repos.d]# systemctl enable httpd # 出现这个页面说明http服务开启成功
共享yum源需要关闭防火墙,但在实际工作中火墙是万万不能关闭的,当火墙开启的时候,以下命令可以使httpd服务于火墙开启共存
[root@foundation78 yum.repos.d]# firewall-cmd --permanent --add-service=http # 把http服务添加到防火墙策略里,--permanent是永久添加
success
[root@foundation78 yum.repos.d]# firewall-cmd --reload # 需要重新加载才能生效
success
[root@foundation78 yum.repos.d]# firewall-cmd --list-all # 查看添加成功
开始共享yum源(把镜像挂载到httpd的默认发布目录里,就可以实现共享)
[root@foundation78 yum.repos.d]# cd /var/www/html/
[root@foundation78 html]# mkdir rhel7.2
[root@foundation78 html]# mkdir rhel7.0
[root@foundation78 html]# mount /iso/rhel-server-7.2-x86_64-dvd.iso /var/www/html/rhel7.2
mount: /dev/loop2 is write-protected, mounting read-only
[root@foundation78 html]# mount /iso/rhel-server-7.0-x86_64-dvd.iso /var/www/html/rhel7.0
mount: /dev/loop3 is write-protected, mounting read-only
(4)测试共享yum源是否可用(在另外一台主机里检测)
此处我用的是本机的虚拟机
扫描二维码关注公众号,回复:
3880090 查看本文章
[root@localhost Desktop]# hostnamectl # 先查看虚拟机的版本
[root@localhost Desktop]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# vim yum.repo # 是哪个版本,就接受哪个版本的共享
1 [rhel7.2]
2 name=rhel7.2
3 baseurl=http://172.25.254.78:/rhel7.2
4 gpgcheck=0
[root@localhost yum.repos.d]# yum clean all
[root@localhost yum.repos.d]# yum repolist # 共享搭建成功
3. yum的黑名单
yum的黑名单的设定的目的:屏蔽yum仓库内的一些软件[root@localhost Desktop]# yum list # 列出yum仓库里的所有安装包,这里只显示了最后面的几个
# 可以看到有zziplib的软件包,我们试着屏蔽掉这个软件
[root@localhost Desktop]# vim /etc/yum.conf
11 exclude=zziplib*
[root@localhost Desktop]# yum list # 可以看到包含zziplib的所有软件都被屏蔽了
[root@localhost Desktop]# vim /etc/yum.conf # 想要屏蔽多个软件,用空格作为分隔符
11 exclude=zziplib* *x86_64* # 屏蔽掉zziplib软件和64位安装包
[root@localhost Desktop]# yum list # zziplib软件和64位安装包都会被屏蔽