一.什么是yum源?为什么要进行yum源配置?
说到yum源就必须说到linux系统中特有的依赖关系问题,yum就是为了解决依赖关系而存在的。
yum源就相当是一个目录项,当我们使用yum机制安装软件时,若需要安装依赖软件,则yum机制就会根据在yum源中定义好的路径查找依赖软件,并将依赖软件安装好。
YUM是【Yellow dog Updater, Modified】的缩写,是一个软件包管理器,YUM从指定的地方(相关网站的rpm包地址或本地的rpm路径)自动下载RPM包并且安装,能够很好的解决依赖关系问题。
YUM的基本工作机制如下:
服务器端:在服务器上面存放了所有的RPM软件包,然后以相关的功能去分析每个RPM文件的依赖性关系,将这些数据记录成文件存放在服务器的某特定目录内。
客户端:如果需要安装某个软件时,先下载服务器上面记录的依赖性关系文件(可通过WWW或FTP方式),通过对服务器端下载的纪录数据进行分析,然后取得所有相关的软件,一次全部下载下来进行安装。
二.yum源配置
1.本地yum源
1)首先我们要得到一个与系统版本一样的系统镜像
2)挂载镜像
mount /iso/rhel-server-7.3-x86_64-dvd.iso /westos
上述为临时挂载,重启后消失;我们可以修改相关配置文件,将它永久挂载
vim /etc/rc.d/rc.local
df ##查看挂载
挂载成功
3)设定系统安装源指向
mkdir /etc/yum.repos.d/backup
mv /etc/yum.repos.d/* /etc/yum.repos.d/backup/
vim /etc/yum.repos.d/yum.repo
将目录里原有的东西移动到自建目录【backup】中,创建文件【yum.repo】,文件名随意,但是必须以.repo结尾
在文件中写入以下内容:
[rhel7.3]
name=rhel7.3 ##软件仓库的描述
baseurl=file:///westos/ ##软件仓库的地址指向
gpgcheck=0 ##gpgkey值入标识,0表示不校验,1表示校验
4)查验本地安装源是否配置成功
yum clean all ##清空系统中原有的yum信息
yum repolist ##列出软件仓库信息
2.共享型yum源配置
假如我们在企业中需要使用yum源给管理的众多主机安装软件怎么办?
上一步我们设置好本地yum源,但是仅在设置好的主机上使用,遇到上述问题时我们无法一个个去搭建本地yum源。这个时候我们需要搭建共享型yum源,将软件仓库共享到网络,让每一台主机都能访问到并使用
1)利用搭建好的本地yum源安装【httpd】
yum install httpd ##只下载不安装
yum install httpd -y ##下载并安装
2)配置相关服务
systemctl start httpd ##打开httpd服务
systemctl enable httpd ##设置开机自启
systemctl stop firewalld ##关闭火墙
3)搭建网络yum源
挂载镜像
mkdir /var/www/html/rhel7.3
mount /iso/rhel-server-7.3-x86_64-dvd.iso /var/www/html/rhel7.3
永久挂载镜像
vim /etc/rc.d/rc.local
mount /iso/rhel-server-7.3-x86_64-dvd.iso /var/www/html/rhel7.3 ##开机自动运行脚本
chmod +x /etc/rc.d/rc.local
ls -ld /etc/rc.d/rc.local
4)设置安装源指向
vim /etc/yum.repos.d/my_yum.repo
写入下方内容:
[rehl7.3]
name=rehl7.3
baseurl=http://172.25.6.250/rhel7.3
gpgcheck=0
5)查看是否搭建成功
在虚拟机中打开浏览器,输入上图中的IP信息
这样网络型共享安装源就搭建好了!!
三.软件管理命令———【yum】
注:yum命令的使用必须是在yum源搭建成功后才能正常使用
命令 | 功能 |
---|---|
yum clean all | 清空有效信息 |
yum repolist | 列出仓库信息 |
yum install software | 安装软件 |
yum update | 更新,把原来的删除重新安装(慎用) |
yum list software | 查看软件【software】 |
yum list all | 查看所有软件 |
yum list available | 列出可安装软件,可以安装但是没有安装 |
yum list installed | 列出已安装的软件 |
yum reinstall software | 重新安装 |
yum remove software | 卸载 |
yum info software | 查看软件信息 |
yum search software | 根据软件信息查找软件 |
yum whatprovides file | 根据文件找出包含文件的软件 |
yum history | 查看系统中软件管理的历史(更改过的) |
yum history info id | 查看此id的软件管理历史操作 |
yum groups list | 列出软件组 (虚拟机里) |
yum groups info Virtualization\ Tools | 查看"Virtualization Tools"组有几个安装包 |
yum groups install "Virtualization Tools | 安装"Virtualization Tools" 组下的5个安装包 |
yum groups remove | 卸载软件组 |
命令演示
1)软件查找
若我们要查找的软件信息较少,可以使用【yum whatprovides 】比较方便。如:我们查找包含命令watch的软件
yum whatprovides watch
2)
yum history
yum history +数字
3)
yum group list
yum groups info Virtualization\ Tools ##查看"Virtualization Tools"组有几个安装包
yum groups install "Virtualization Tools ##安装"Virtualization Tools" 组下的5个安装包
yum groups remove Virtualization\ Tools ##卸载软件组
四.软件管理命令———【rpm】
命令 | 功能 |
---|---|
-i | 安装 |
-v | 显示过程 |
-h | hash加密 |
-e | 卸载 |
-q | 查看 |
-a | 所有 |
-p | 软件包 |
-ql | 查看软件在系统中的安装文件路径 |
-qlp | 查看未安装的软件包在系统中如果安装后产生文件的路径 |
-qf | 根据某个文件找出此文件属于那个安装包 |
-qc | 查看软件的配置文件名称 |
-qd | 查看软件的帮助文件 |
–scripts | 查看脚本 |
–nodeps | 安装软件忽略软件依赖性 |
–force | 强行安装软件 (which 查询软件路径) |
-Kv | 对软件进行校验,检测软件包是否被篡改 |
rpm作为底层管理工具无法解决依赖性,yum作为上层工具可以忽略依赖性
实验:安装软件【kolourpaint-4.10.5-4.el7.x86_64.rpm】
rpm -ivh kolourpaint-4.10.5-4.el7.x86_64.rpm
1.由下图知安装失败,需要解决软件倚赖问题
rpm -ivh kolourpaint-libs-4.10.5-4.el7.x86_64.rpm
2.两个软件相互倚赖,并且倚赖关系存在四循环,因此,我们选择安装时先用【-nodeps】忽略某些倚赖,安装其中一个,然后在安装其他的。
3.安装kolourpaint-4.10.5-4.el7.x86_64.rpm
发现这次需要一个新的倚赖,我们接下来解决它
4.解决倚赖【kde-runtime】
yum search kde-runtime ##查找此软件的安装包
yum install kde-runtime-libs.x86_64
安装成功!!
五.第三方软件仓库的搭建
1)先将准备好的rpm包存放到指定目录中
2)生成可识别目录
cp -r /home/kiosk/Desktop/happy /etc/yum.repos.d/happy
createrepo -v /存放软件包的目录
命令执行成功会生成repodeate目录,生成这个文件后才能被识别
3)添加软件安装源路径
mv /etc/yum.repos.d/happy /
vim /etc/yum.repos.d/my_yum.repo
yum clean all
yum repolist
4)测试
安装软件wps-office
六.软件包名称详解
(1)软件名称
(2)系统版本
(3)系统构架
(4)适用rpm体系软件
七.软件黑名单
1)屏蔽安装包
修改配置文件,屏蔽64位安装包
vim /etc/yum.conf
=屏蔽之后==
2)软件黑名单
八.拆解安装包
当软件缺少某个文件时,不需要重新安装,只需要将软件包拆解,下载缺失的文件
例:我们以linuxqq为例