yum命令,yum共享仓库的搭建,yum的黑名单

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位安装包都会被屏蔽

猜你喜欢

转载自blog.csdn.net/wzt888_/article/details/83515230