在 CentOS 系统中,yum 是一个强大的软件包管理工具,它允许用户从特定的存储库中自动下载和安装软件包,系统默认的 yum 源可能不包含所有软件包,或者下载速度较慢,因此更新 yum 源是提高软件包安装和更新效率的重要步骤,以下是关于如何在 CentOS 系统中更新 yum 源的详细指南:
一、备份当前的 yum 源
在更新 yum 源之前,建议先备份当前的 yum 源文件,以便在需要时可以恢复,可以使用mv
命令将/etc/yum.repos.d/CentOSBase.repo
文件移动到备份目录中,如果存在多个 repo 文件,可以使用通配符一次性备份所有文件。
mv /etc/yum.repos.d/CentOSBase.repo /etc/yum.repos.d/CentOSBase.repo.backup 如果有多个 repo 文件,可以使用以下命令备份 mv /etc/yum.repos.d/CentOS* /etc/yum.repos.d/CentOSBase.repo.backup/
二、下载新的 yum 源文件
根据 CentOS 的版本,下载对应的新 yum 源文件,以 CentOS 7 为例,可以从阿里云等镜像站点下载CentOSBase.repo
文件。
wget O /etc/yum.repos.d/CentOSBase.repo http://mirrors.aliyun.com/repo/Centos7.repo wget 命令不生效,说明还没有安装 wget 工具,可以先安装 wget yum y install wget 或者使用 curl 下载 curl O http://mirrors.aliyun.com/repo/Centos7.repo
对于 CentOS 8,可以从相应的镜像站点下载CentOSBase.repo
文件,并将其放置到/etc/yum.repos.d/
目录下。
wget O /etc/yum.repos.d/CentOSBase.repo https://mirrors.aliyun.com/repo/Centos8.repo
三、清除并生成新的 yum 缓存
在下载并替换新的 yum 源文件后,需要清除现有的 yum 缓存,并生成新的缓存,这可以通过以下命令完成:
yum clean all yum makecache
四、测试新的 yum 源
为了确保新的 yum 源正常工作,可以使用yum list
命令列出可用的软件包。
yum list
如果能够正常列出软件包列表,说明新的 yum 源已经配置成功。
五、升级系统(可选)
如果需要升级系统到最新版本,可以使用yum upgrade
命令,这将把整个系统更新至最新版本。
yum y upgrade
如果想要指定版本进行升级,例如升级到 CentOS 7.6.1810,可以按照以下步骤操作:
1、查看当前版本:
cat /etc/redhatrelease
2、更新 centosrelease 包:
yum install centosrelease
3、查看所有可用的 repo:
yum repolist all
4、禁用所有 repo,仅启用 C7.6 的 repo:
yum disablerepo='*' enablerepo='C7.6*' upgrade
5、更新 Linux 核心:
yum disablerepo='*' enablerepo='C7.6*,epel' update kernel
6、降级 centosrelease 包:
yum disablerepo='*' enablerepo='C7.6*,epel' downgrade centosrelease
7、验证版本:
cat /etc/redhatrelease
六、常用 yum 命令
安装软件:yum install softwarename
卸载软件:yum remove softwarename
列出软件源中的软件:yum list softwarename
列出所有软件名称:yum list all
列出已安装的软件名称:yum list installed
列出可用的软件:yum list available
清空 yum 缓存:yum clean all
根据软件信息搜索软件名字:yum search softwareinfo
在 yum 源中查找包含 filename 文件的软件包:yum whatprovides filename
查看系统软件改变历史:yum history
重新安装软件:yum reinstall softwarename
查看软件信息:yum info softwarename
查看软件组信息:yum groups list
查看软件组内包含的软件:yum groups info softwarename
安装组件:yum groups install softwarename
卸载组件:yum groups remove softwarename
七、FAQs
Q1: 如何更改 CentOS 的 yum 源为国内镜像?
A1: 要更改 CentOS 的 yum 源为国内镜像,如阿里云,可以按照以下步骤操作:首先备份当前的 yum 源文件,然后下载国内镜像的 yum 源文件(如阿里云的 CentOSBase.repo),并将其放置到/etc/yum.repos.d/
目录下,清除并生成新的 yum 缓存,并测试新的 yum 源是否正常工作。
Q2: CentOS 7 如何升级到指定版本,如 7.6.1810?
A2: CentOS 7 升级到指定版本(如 7.6.1810)的步骤如下:首先查看当前版本,然后更新 centosrelease 包以获取最新的 repo 列表,接着查看所有可用的 repo,并禁用所有 repo,仅启用 C7.6 的 repo,使用yum disablerepo='*' enablerepo='C7.6*' upgrade
命令进行升级,之后,更新 Linux 核心,并将 centosrelease 包降级回 7.6 版本,最后验证版本是否已正确升级,需要注意的是,直接升级到指定版本可能需要额外的配置和步骤,具体请参考官方文档或社区指南。