在配置虚拟机的yum源的时候,遇到了一个问题,如果只是给一个虚拟机配置,只要将镜像加载到驱动挂载到某个目录下就可以解决,但是如果要更多的虚拟机配置yum源,假如是100次,难道要将这个操作执行100次吗?这样可以解决,但是效率实在是太低。那该怎么办呢?如果在一台主机上将镜像挂载,其他主机将yum指向该镜像就可以很轻松的解决问题。本篇文章讲述了如何将挂载的镜像共享出去,及如何配置网络yum。
要共享镜像,首先我们需要下载一个镜像,可以去相应的官网下载,我使用的红帽7.2的镜像。要共享的话,需要安装http这个软件,我的镜像中就有其安装包,可以先配置好本地yum源将http软件安装上,可以参考《Linux基础_虚拟机本地yum源配置》,要注意的是在物理机上的话直接将镜像挂载上就可以了。
本地yum配置完成之后,安装http软件:
[root@foundation80 ~]# yum install httpd #安装http
[root@foundation80 ~]# yum start httpd #开启http服务
[root@foundation80 ~]# yum enable httpd #开机启动http服务
默认情况下防火墙会将所有访问数据阻挡在外,所以需要关闭防火墙或者对防火墙进行配置,配置命令如下:
[root@foundation80 ~]#systemctl start firewalld #要配置火墙首先要打开火墙
[root@foundation80 ~]#firewall-cmd --permanent --add-service=http #将http服务添加到火墙策略中
[root@foundation80 ~]#firewall-cmd --list-all #查看火墙策略
public (default, active)
interfaces: br0 enp2s0 wlp3s0
sources:
services: dhcpv6-client http ssh #此处存在http
ports:
masquerade: yes
forward-ports:
icmp-blocks:
rich rules:
rule family="ipv4" source address="172.25.254.10" masquerade
http服务的默认发布目录为/var/www/html/,所以在该目录下创建一个目录,将镜像挂载到该目录下,实现镜像的共享:
[root@foundation80 iso7.2]# mkdir /var/www/html/rhel7.2
[root@foundation80 iso7.2]# mount /iso7.2/rhel-server-7.2-x86_64-dvd.iso /var/www/html/rhel7.2 #将镜像挂载到/var/www/html/rhel7.2目录下
可以使用df命令查看挂载情况:
挂载成功就如上图所示,为了保证每次开机镜像都能够挂载,可以将命令写入/etc/rc.d/rc.local文件中,如下图红框中所示:
/etc/rc.d/rc.local文件在开机时自动执行文件中的内容,默认是没有执行权限,需要给文件执行权限,如下:
[root@foundation80 ~]# vim /etc/rc.d/rc.local
mount /iso/rhel-server-7.2-x86_64-dvd.iso /var/www/html/rhel7.2
[root@foundation80 ~]# chmod +x /etc/rc.d/rc.local
如果不想写入文件,那么在每次开机之后都需要手动挂载。
此时就已经将镜像共享出去。如果需要使用该镜像,就要将yum源指向该镜像,配置/etc/yum.repos.d/yum.repo文件。
[root@localhost ~]# vim /etc/yum.repos.d/yum.repo
[rhel7.2] #yum仓库名
name=rhel7.2 #仓库描述
baseurl=http://172.25.254.80/rhel7.2 #通过http访问172.25.254.80主机的/var/www/html/rhel7.2目录,/var/www/html/为默认发布目录
gpgcheck=0 #不检测gpgcheck
在配置完yum指向后建议将yum缓存清理掉再重新扫描,如下:
[root@localhost ~]# yum clean all #清理yum缓存
[root@localhost ~]# yum repolist #扫描yum仓库
可以从上图看出,镜像中一共拥有4620个包。
常用的yum命令如下:
yum
install software ##安装软件
update ##更新,当有更高版本的软件包时使用update进行更新,升级所有包同时也升级软件和系统内核
list software ##查看软件
list all ##查看所有软件
list installed ##列出已经安装的软件
list available ##列出可安装的软件
reinstall software ##重新安装软件
remove software ##卸载软件
info software ##查看软件信息
search software信息 ##根据软件信息查找软件
whatprovides file ##根据文件找出包含该文件的软件
groups list ##列出所有软件组件
groups info sfgroup ##查看软件组的信息
groups install sfgroup ##安装软件组
groups remove sfgroup ##卸载软件
示例如下:
安装dhcp服务
更新可以更新的软件包
清除yum缓存
查看软件
查看所有软件
查看已经安装的软件
重新安装httpd
卸载httpd
查看httpd的信息
根据查找提供web服务的软件
查看包含/etc/dhcp/dhcpd.conf文件的软件包
列出所有的软件组
列出System Management软件组
安装Security Tools软件组
卸载Security Tools软件组
yum list命令执行之后,会将所有的软件列出,如果我们想要对这些软件进行筛选,那该怎么办呢?可以编辑**/etc/yum.conf **这个文件。
[root@localhost ~]# vim /etc/yum.conf
exclude=*x86_64* #不包含x86的64位软件包
没有配置yum.conf文件之前yum list的显示内容
编辑yum.conf之后
可以看到在编辑了yum.conf之后,yum list命令不会显示出64位的软件包了。
网络yum源的配置及yum的常用命令就这些了,谢谢阅读。