Linux操作系统之yum源安装、换源详细教程

在大家学习Linux过程中,避免不了的就是需要下载各种软件,那么yum源便是首选的一个。在介绍yum源之前我们先对比一下各个安装软件的方式: 1)源码安装 即使用wget +网址,(安装复杂,一般不建议此安装方法) 2)rpm包安装:无法解决软件的相关依赖关系;:比如安装A,但安装A之前需要安装B C,之后才能安装A,而rpm安装无法解决此问题,需要安装对应的软件才能安装成功,但比源码安装好一点 3)yum源安装:在rhel中由于其yum是需要收费的,所以一般都是使用centos的yum源 4)apt-get安装:通常在使用此命令时需要先执行这两个命令:apt-get update(更新软件源) apt-get upgrade(升级没有依赖问题的软件) 卸载软件:apt-get remove 软件名。 由于本文是主要讲解yum源的安装和使用,所以对于其它安装就先一笔带过,而yum源具有的优势: 1、 yum提供了查找、安装、删除某一个、一组甚至包括全部软件包的命令。 2、 基于RPM包管理,能够从指定的服务器自动下载RPM包并安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装和遗漏依赖包。 3、可以同时配置多个资源库(Repository)。

一、yum源的安装

1、在Redhat和centos中都是预安装了yum软件的,如果不知道有没有可以在终端上输入yum后回车,若有安装则会显示相应的参数:

[root@localhost ~]# yum

usage: yum [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

......

假设没有安装,则需要自行安装 1、查看系统默认安装的yum

[root@localhost etc]# rpm -qa|grep yum

yum-4.2.7-6.el8.noarch

2、卸载原来的所有yum包 (这步是因为我已经有yum包的原因,所以在安装时必须把原来的删除在进行安装,如果第一步没有任何信息出现,说明系统中没有yum包,就可以跳过此步骤)

rpm -e yum-4.2.7-6.el8.noarch

3、安装yum 下载前的首要任务是明确我们当前系统的版本号和位数: 输入命令 cat /etc/issue && arch,如果是i386或者i686就是32位的,如果是x86_64就是64位的。

[root@localhost etc]# cat /etc/issue && arch

\S

Date \d \t

Kernel \r on an \m

Welcome to here and have a good job!

x86_64

yum 的基础安装包包括:

yum

yum-fastestmirror

yum-metadata-parser

4、接下来看看我们的系统版本号,输入命令uname -a看看系统版本

[root@localhost etc]# uname -a

Linux localhost.localdomain 4.18.0-147.el8.x86_64 #1 SMP Wed Dec 4 21:51:45 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

5、然后到http://mirrors.kernel.org/centos/ 或者 http://mirrors.163.com/centos/ 找对应系统版本号和系统位数下载,找到yum、yum-plugin-fastestmirror、yum-metadata-parser、python-urlgrabber这四个软件包下载即可。 6、yum 配置

yum 的配置文件分为两部分:main 和repository

main 部分定义了全局配置选项,整个yum 配置文件应该只有一个main。常位于/etc/yum.conf 中。

repository 部分定义了每个源/服务器的具体配置,可以有一到多个。常位于/etc/yum.repo.d 目录下的各文件中。

yum.conf 文件一般位于/etc目录下,一般其中只包含main部分的配置选项。

yum源的配置文件都是以.repo结尾

7、配置本地yum源 (本地源可以在系统没有网络的时候使用,) 首先挂载系统安装光盘

mount /dev/cdrom /mnt/cdrom/

其次配置本地yum源

cd /etc/yum.repos.d/ //在该目录下会有一些常见的配置文件,会看到多个repo 文件

其中:CentOS-Base.repo 是yum 网络源的配置文件 CentOS-Media.repo 是yum 本地源的配置文件

修改CentOS-Media.repo

[c5-media]

name=CentOS-$releasever - Media //本地源的名称

baseurl=file:///media/CentOS/

file:///mnt/cdrom/ //修改路径为/mnt/cdrom(即为光盘挂载点)

file:///media/cdrecorder/

gpgcheck=1

enabled=1 //将enabled=0改为1 即表示是否启用该配置

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

最后就可以进行运行进行测试

二、常见命令

命令 说明

yum list 列出所有软件包

yum list installed 列出已安装软件包

yum list 软件包名 列出指定软件包

yum info 查询软件包信息,用法同(1)

yum search 软件包名 (查询指定软件包)

yum install+软件包名 安装软件包,带上参数-y可自动确定安装依赖包

yum updata+软件包名 升级软件包

yum remove+软件包名 卸载软件包

yum clean all 清除缓存 //此命令常用于更换yun源时清除旧源的缓存

yum repolist 查询软件仓库或加载

yum provides+命令 查询未知命令所在安装包:如:yum provides fping

三、yum换源

由于系统默认的yum源是国外的,下载的速度就会相应的慢,所以在使用时我们都会换成国内的源,这样下载就是快很多: 1、进入到yum相应的配置目录中

[root@localhost ~]# cd /etc/yum.repos.d/ //yum源的配置目录

[root@localhost yum.repos.d]# ls

CentOS-8.repo CentOS-Base.repo bak

在该目录来里面,yum源的配置文件是以.repo结尾的,这里以换成清华源为例进行展示: 1、进入/etc/yum.repos.d 目录下备份CentOS-Base.repo这个文件(我的是centOS7系统),可以到linux官网下载CentOS-Base.repo这个源文件。

[root@localhost yum.repos.d]# mv CentOS-Base.repo CentOS-Base.repo.bak

2、下载源文件 linux官网下载:http://www.linuxidc.com 使用网易163的yum源: http://mirrors.163.com/.help/centos.html 3、依次执行如下命令:

[root@localhost yum.repos.d]# yum clean all

[root@localhost yum.repos.d]# yum makecache

4、可以进行测试

[root@localhost yum.repos.d]# yum update -y

四、常见的yum源国内镜像站点

阿里源 :https://mirrors.aliyun.com/centos/7.3.1611/os/x86_64/ 清华大学:https://mirror.tuna.tsinghua.edu.cn/centos/7.3.1611/os/x86_64 https://mirrors.tuna.tsinghua.edu.cn/help/centos/ 网易源:http://mirrors.163.com/centos/7.3.1611/os/x86_64/ http://mirrors.163.com/.help/centos.html 浙江大学:http://mirrors.zju.edu.cn/centos/7.3.1611/os/x86_64/

五、使用第三方的软件库

在Linux系统中Centos/RHEL默认的yum软件仓库非常有限,仅仅限于发行版本那几张盘里面的常规包和一些软件包的更新,而利用第三方的软件库就可以增加非常多的第三方rpm软件包。 这里就以epel为例: 1、安装yum-priorities插件 这个插件是用来设置yum在调用软件源时的顺序的。因为官方提供的软件源,都是比较稳定和被推荐使用的。因此,官方源的顺序要高于第三方源的顺序。如何保证这个顺序,就需要安装yum-priorities这插件了。

[root@localhost yum.repos.d]# yum -y install yum-priorities

2、安装完、插件后需要设置/etc/yum.repos.d/ 目录下的.repo相关文件(如CentOS-Base.repo),在这些文件中插入优先级别:priority=N (N为1到99的正整数,数值越小越优先) 在这里以CentOS-Base.repo 为例:

[BaseOS]

name=CentOS-$releasever - Base

baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/BaseOS/$basearch

/os/

#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&rep

o=BaseOS&infra=$infra

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial

priority=1 //修改的地方,如果没有这个选项就自行添加

3、下载epel包

yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

常见的第三方包可以参照如下网址: epel包:https://fedoraproject.org/wiki/EPEL/zh-cn RPMForge包:https://wiki.centos.org/AdditionalResources/Repositories/RPMForge#head-5aabf02717d5b6b12d47edbc5811404998926a1b 清华epel包:https://mirrors.tuna.tsinghua.edu.cn/help/epel/ 4、运行测试即可

[root@localhost yum.repos.d]# yum install tree //这里根据个人进行测试

其他第三方软件库如 RPMForge和 RPMFusion 的安装与使用类似,可自行查找资料安装。