Linux中的RPM包管理yum源管理
yum解决了rpm中的依赖性,只要安装主软件包,会自动在yum源中自动寻找所依赖的其他软件包并自动安装。
一、yum配置文件
配置文件位置/etc/yum.repos.d/,里面有很多yum源配置文件,只有一个是生效的CentOS默认CentOS-Base.repo是生效的。
配置讲解:
配置中使用的变量:
$releasever 发行版本,通常是8,9,10等数字 $basearch 系统的架构,可以是i386、x86_64、ppc等值 $infra 其值可查看文件/etc/yum/vars/infra,此参数目前尚未使用 如CentOS 7,$releasever值为7,$basearch值为x86_64,$infra值为stock
[base]:容器名称,一定要放在[]中,[main]为全局配置
name:容器说明,可以自己随便更改
mirrorlist:镜像站点
baseurl:yum源服务器地址,默认是CentOS官方的yum源服务器,是可以使用的,但是由于这个服务器是放在国外的,速度有时候会很慢
enabled:此容器是否生效,如果不写或enabled=1都是代表生效,enabled=0代表不生效
gpgcheck:如果是1值RPM的数字证书生效,如果是0则不生效
gpgkey:数字证书的公钥文件保存位置,不用修改。
常用的yum源:
阿里云:https://mirrors.aliyun.com/repo/ 清华大学:https://mirrors.cnnic.cn/(点击centos后面的问号) 163:http://mirrors.163.com/.help/
二、常用yum命令
软件包查询命令:
yum list [name]:查询yum源服务器上所有可用的软件包列表(如果指定包名name则显示指定包信息),最后一行代表属于哪个容器的软件包。
yum search 关键字:搜索显示服务器上所有和关键字相关的软件包(一般搜索包名)
yum info name:显示指定安装包的详细信息
软件包安装升级卸载软件包命令:
yum -y install 包名:安装命令
yum -y update 包名:升级命令(不加包名会升级包含Linux内核的所有软件包,可能会不能开机,慎用)
yum check-update:检查可更新的程序
yum -y remove 包名:卸载命令(不加包名会卸载包含Linux内核的所有软件包,慎用)
yum deplist 包名:查看指定安装包的依赖情况
yum卸载软件包的时候也会卸载这个软件所依赖的所有软件。这些依赖的软件中可能包含有别的软件也依赖的软件,可能导致其他软件包不能正常运行,所以一般情况下很少使用yum卸载。
软件组相关:
yum grouplist:查询所有可用的软件组列表
yum groupinstall 软件组名:安装指定软件组(软件组名必须是英文)
yum groupremove 软件组名:卸载已安装的指定的软件组(软件组名必须是英文)
软件包组名中如果出现空格,要把软件包组的整个名称用双引号包起来。
缓存相关:
yum clean name 清除指定软件包的yum缓存,指定的name可以写成all表示清除所有软件包缓存
yum makecache 将服务器上的软件包信息在本地缓存,以提高搜索安装软件的速度,也用于更换更新源之后更新缓存
Linux中的RPM包管理光盘yum源
光盘yum源最大的优点就是不需要在网络的前提下去联网下载软件包,所以速度会快很多。缺点是软件包不一定是最新版本的软件包(但是作为服务器,软件是不是最新的不是我们所追求的,我们追求的是稳定,安全)。
光盘yum源搭建步骤:
1、挂载光盘
2、让网络yum源配置文件失效
进入配置目录:cd /etc/yum.repos.d/
重命名网络yum源配置文件:
mv CentOS-Base.repo CentOS-Base.repo.bak
mv CentOS-Debuginfo.repo CentOS-Debuginfo.repo.bak
mv CentOS-Vault.repo CentOS-Vault.repo.bak
3、修改光盘yum源配置文件
vim CentOS-Media.repo
修改baseurl地址为当前光盘挂载点的绝对路径,下面两行可以注释掉
修改enabled值为1。
三:yum全局配置文件/etc/yum.conf
该文件为yum的全局配置文件,作用和.repo文件的[main]中的配置相同,不过一般我们把全局配置写到这个文件中
cachedir:yum下载的RPM包的缓存目录 keepcache:缓存是否保存,1保存,0不保存。 debuglevel:调试级别(0-10),默认为2(具体调试级别的应用,我也不了解)。 logfile:yum的日志文件所在的位置 exactarch:在更新的时候,是否允许更新不同版本的RPM包,比如是否在i386上更新i686的RPM包。 obsoletes:这是一个update的参数,具体请参阅yum(8),简单的说就是相当于upgrade,允许更新陈旧的RPM包。 gpgcheck:是否检查GPG(GNU Private Guard),一种密钥方式签名。 plugins:是否允许使用插件,默认是0不允许,但是我们一般会用yum-fastestmirror这个插件。 installonly_limit:允许保留多少个内核包。 exclude:屏蔽不想更新的RPM包,可用通配符,多个RPM包之间使用空格分离