7.8 yum介绍,yum源配置
- 使用 SRPM 源码包和 RPM 二进制包安装软件,这两种方法都比较繁琐,需要手动解决包之间具有依赖性的问题,尤其是库文件依赖,需要自行去 http://www.rpmfind.net 网站上查找相关的 RPM 包。
7.8.1 yum介绍及安装
-
yum( Yellow dog Updater, Modified)是一个在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端软件包管理器,是一个专门为了解决包的依赖关系而存在的软件包管理器,可自动安装软件包(自动解决包之间依赖关系)的安装方式,能大大降低rpm包程序的安装难度。就好像 Windows 系统上可以通过 360 软件管家实现软件的一键安装、升级和卸载,Linux 系统也提供有这样的工具,就是 yum。
-
基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。yum 在服务器端存有所有的 RPM 包,并将各个包之间的依赖关系记录在文件中,当管理员使用 yum 安装 RPM 包时,yum 会先从服务器端下载包的依赖性文件,通过分析此文件从服务器端一次性下载所有相关的 RPM 包并进行安装。
-
yum 软件可以用 rpm 命令安装,安装之前可以通过如下命令查看 yum 是否已安装:
[root@CncLucZK ~]# rpm -qa|grep yum
yum-4.0.9.2-5.el8.noarch
#可以看到,系统上已经安装了 yum。
-
使用 rpm 命令安装 yum 的具体方式,用上面的命令查看yum 是否已安装如果没有安装,则输出为空。这里输出为空。
-
将centos7 linux系统安装光盘插入光驱,运行以下命令,将光盘挂载到/mnt分区上。
mount /dev/sr0 /mnt
-
利用CD命令,将当前路径切换为光盘中的rpm包所在目录Packages。利用grep查找yum安装包,获取yum安装包的文件名。
Linux 系统安装映像文件中就含有常用的 RPM 包,我们可以使用压缩文件打开映像文件(iso文件),进入其 Packages 子目录.
ll|grep yum*centos*
- 将查找到的yum安装包文件yum-3.4.3-158.el7.centos.noarch.rpm,拷贝到/tmp目录中。
cp yum-3.4.3-167.el7.centos.noarch.rpm /tmp/
-
运行rpm -ivh /tmp/yum-3.4.3-167.el7.centos.noarch.rpm 命令,开始安装yum程序。rpm命令是rpm包管理器,-i参数表示进行安装,-v参数表示显示安装详细过程,-h参数表示显示安装进程,直到出现两个 100% 才是真正的安装成功,第一个 100% 仅表示完成了安装准备工作。
-
直接在shell窗口中运行yum命令,可以看到yum命令能够正常运行,因为没有携带参数,所以运行后列出了yum命令的帮助信息。
[root@CncLucZK ~]# yum
usage: dnf [options] COMMAND
List of Main Commands:
alias List or create command aliases
autoremove remove all unneeded packages that were originally installed as dependencies
check check for problems in the packagedb
check-update check for available package upgrades
clean remove cached data
deplist List package's dependencies and what packages provide them
distro-sync synchronize installed packages to the latest available versions
downgrade Downgrade a package
-
也可以运行:rpm -qa|grep yum命令来检验yum是否正常安装
-
使用 yum 安装软件包之前,需指定好 yum 下载 RPM 包的位置,此位置称为 yum 源。换句话说,yum 源指的就是软件安装包的来源。使用 yum 安装软件时至少需要一个 yum 源。yum 源既可以使用网络 yum 源,也可以将本地光盘作为 yum 源。接下来就给大家介绍这两种 yum 源的搭建方式。
7.8.2 网络 yum 源搭建
- 一般情况下,只要你的云服务器网络正常,可以直接使用网络 yum 源,不需要对配置文件做任何修改,这里对 yum 源配置文件做一下介绍。
- 网络 yum 源配置文件位于 /etc/yum.repos.d/ 目录下,文件扩展名为”.repo”(只要扩展名为 “.repo” 的文件都是 yum 源的配置文件)。
[root@CncLucZK ~]# ll /etc/yum.repos.d/
total 24
-r--r--r-- 1 root root 977 Dec 11 2020 CentOS-Base.repo
-r--r--r-- 1 root root 230 Dec 11 2020 CentOS-Epel.repo
-rw-r--r-- 1 root root 1395 Mar 15 2022 epel-modular.repo
-rw-r--r-- 1 root root 1332 Mar 15 2022 epel.repo
-rw-r--r-- 1 root root 1494 Mar 15 2022 epel-testing-modular.repo
-rw-r--r-- 1 root root 1431 Mar 15 2022 epel-testing.repo
- 可以看到,该目录下有 4 个 yum 配置文件,通常情况下 CentOS-Base.repo 文件生效。我们可以尝试打开此文件,命令如下:
[root@CncLucZK etc]# cat yum.repos.d/CentOS-Base.repo
[BaseOS]
name=Qcloud centos - BaseOS
baseurl=http://mirrors.tencentyun.com/centos/$releasever/BaseOS/$basearch/os/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-8
[extras]
name=Qcloud centos - extras
baseurl=http://mirrors.tencentyun.com/centos/$releasever/extras/$basearch/os/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-8
[centosplus]
name=Qcloud centos - centosplus
baseurl=http://mirrors.tencentyun.com/centos/$releasever/centosplus/$basearch/os/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-8
[AppStream]
name=Qcloud centos - AppStream
baseurl=http://mirrors.tencentyun.com/centos/$releasever/AppStream/$basearch/os/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-8
[PowerTools]
name=Qcloud centos - PowerTools
baseurl=http://mirrors.tencentyun.com/centos/$releasever/PowerTools/$basearch/os/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-8
-
此文件中含有 5 个 yum 源容器,其他容器和 base 容器类似。base 容器中各参数的含义分别为:
- [base]:容器名称,一定要放在[]中。
- name:容器说明,可以自己随便写。
- mirrorlist:镜像站点,这个可以注释掉。
- baseurl:我们的 yum 源服务器的地址。一般默认是 CentOS 官方的 yum 源服务器,云服务器是厂商自家的 yum 源服务器地址的是可以使用的。可以自定义 yum 源地址。
- enabled:此容器是否生效,如果不写或写成 enabled 则表示此容器生效,写成 enable=0 则表示此容器不生效。
- gpgcheck:如果为 1 则表示 RPM 的数字证书生效;如果为 0 则表示 RPM 的数字证书不生效。
- gpgkey:数字证书的公钥文件保存位置。不用修改。
-
网易(163)yum源是国内最好的yum源之一 ,无论是速度还是软件版本,都非常的不错。将yum源设置为163 yum,可以提升软件包安装和更新的速度,同时避免一些常见软件版本无法找到。以下是网络yum源的安装步骤:
1.首先备份/etc/yum.repos.d/CentOS-Base.repo
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
2.下载对应版本 repo 文件, 放入 /etc/yum.repos.d/ (操作前请做好相应备份)
- CentOS5 :http://mirrors.163.com/.help/CentOS5-Base-163.repo
- CentOS6 :http://mirrors.163.com/.help/CentOS6-Base-163.repo
- CentOS7 :http://mirrors.163.com/.help/CentOS7-Base-163.repo
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
mv CentOS7-Base-163.repo CentOS-Base.repo
3.运行以下命令生成缓存
yum clean all
yum makecache
除了网易之外,国内还有其他不错的 yum 源,比如中科大和搜狐。
中科大的 yum 源,安装方法查看:https://lug.ustc.edu.cn/wiki/mirrors/help/centos
sohu 的 yum 源安装方法查看: http://mirrors.sohu.com/help/centos.html
7.8.3 本地 yum 源
- 在无法联网的情况下,yum 可以考虑用本地光盘(或安装映像文件)作为 yum 源。Linux 系统安装映像文件中就含有常用的 RPM 包,我们可以使用压缩文件打开映像文件(iso文件),进入其 Packages 子目录
- 可以看到,该子目录下含有几乎所有常用的 RPM 包,因此使用系统安装映像作为本地 yum 源没有任何问题。
- 在 /etc/yum.repos.d/ 目录下有一个 CentOS-Media.repo 文件(实体服务器才有此文件,云服务器没有),此文件就是以本地光盘作为 yum 源的模板文件,只需进行简单的修改即可,步骤如下:
1.放入 CentOS 安装光盘,并挂载光盘到指定位置。命令如下:
[root@CncLucZK ~]# mkdir /mnt/cdrom
#创建cdrom目录,作为光盘的挂载点
[root@CncLucZK ~]# mount /dev/cdrom /mnt/cdrom/
mount: block device/dev/srO is write-protected, mounting read-only
#挂载光盘到/mnt/cdrom目录下
[root@CncLucZK ~]# mount | tail -1
/dev/sr0 on /media type iso9660 (ro)
2.修改其他几个 yum 源配置文件的扩展名,让它们失效,因为只有扩展名是”*.repo”的文件才能作为 yum 源配置文件。当也可以删除其他几个 yum 源配置文件,但是如果删除了,当又想用网络作为 yum 源时,就没有了参考文件,所以最好还是修改扩展名。 命令如下:
[root@CncLucZK ~]# cd /etc/yum.repos.d/
[root@CncLucZK yum.repos.d]# mv CentOS-Base.repo CentOS-Base.repo.bak
[root@CncLucZK yum.repos.d]#mv CentOS-Debuginfo.repo CentOS-Debuginfo.repo.bak
[root@CncLucZK yum.repos.d]# mv CentOS-Vault.repo CentOS-Vault.repo.bak
3.修改光盘 yum 源配置文件 CentOS-Media.repo,参照以下方修改:如此,本地 yum 源就配置完成了
[root@CncLucZK yum.repos.d]# vim CentOS-Media.repo
[c6-media] #中括号里内容要求唯一,但不要出现特殊字符
name=CentOS-$releasever - Media #此为描述信息,可以看情况填写
baseurl=file:///mnt/cdrom
#地址为你自己的光盘挂载地址
#file:///media/cdrom/
#file:///media/cdrecorder/
#注释这两个的不存在地址
gpgcheck=1 #此项为是否检查签名,1为检测, 0为不检测
enabled=1
#把enabled=0改为enabled=1, 让这个yum源配置文件生效
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-8 //签名认证信息的路径
[root@CncLucZK yum.repos.d]# yum repolist
参考文献:
yum是什么,yum源配置
Linux yum 命令
下一篇:Linux学习-21-yum命令(查询、安装、升级和卸载软件包)和软件组管理
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/123771.html