Linux学习-20-yum介绍,yum源配置

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 子目录
    Linux学习-20-yum介绍,yum源配置_第1张图片
  • 可以看到,该子目录下含有几乎所有常用的 RPM 包,因此使用系统安装映像作为本地 yum 源没有任何问题。
  • 在 /etc/yum.repos.d/ 目录下有一个 CentOS-Media.repo 文件(实体服务器才有此文件,云服务器没有),此文件就是以本地光盘作为 yum 源的模板文件,只需进行简单的修改即可,步骤如下:
    Linux学习-20-yum介绍,yum源配置_第2张图片
    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命令(查询、安装、升级和卸载软件包)和软件组管理

你可能感兴趣的:(linux,云,linux,学习,服务器)