centos7 升级到指定的版本(降级)

1.查看centos7版本及内核

[root@HINA ~]# cat /etc/redhat-release

查看的版本为centos 7.9 降级到7.5

[root@HINA ~]# unname -r
 

2.查看当前的repo

[root@HINA ~]# more /etc/yum.repos.d/CentOS-Vault.repo

里边是,当前版本之前的历史版本。所以里边没有7.5,所以我们需要更新repo已得到安装包地址

更新centos-release包,拿到7.5的vault

查看所有可用的repo

 此时repo已经更新到了Centos7的最新版
但是没有Centos8的repo,所以如果升级8需要使用其他方法。

yum clean all

rm -rf /var/cache/yum

更新安装

更新CentOS 7

创建要升级到版本(Centos 7.6)的Vault版本仓库文件:

vi /etc/yum.repos.d/CentOS-Vault.repo

CentOS 7的更新源在/etc/yum.repos.d/目录下,由于我已经将yum源更换为阿里云的yum源,配置文件如下,更换:

name=CentOS-7.5.1804 - Base - mirrors.aliyun.com
failovermethod=priority
baseurl=http://olcentchan.chinacloudapp.cn/centos/7.5.1804/os/$basearch/
        http://olcentchan.chinacloudapp.cn/centos/7.5.1804/os/$basearch/
        http://olcentchan.chinacloudapp.cn/centos/7.5.1804/os/$basearch/
gpgcheck=1
gpgkey=http://olcentchan.chinacloudapp.cn/centos/RPM-GPG-KEY-CentOS-7
 
#released updates 
[updates]
name=CentOS-7.5.1804 - Updates - mirrors.aliyun.com
failovermethod=priority
baseurl=http://olcentchan.chinacloudapp.cn/centos/7.5.1804/updates/$basearch/
        http://olcentchan.chinacloudapp.cn/centos/7.5.1804/updates/$basearch/
        http://olcentchan.chinacloudapp.cn/centos/7.5.1804/updates/$basearch/
gpgcheck=1
gpgkey=http://olcentchan.chinacloudapp.cn/centos/RPM-GPG-KEY-CentOS-7
 
#additional packages that may be useful
[extras]
name=CentOS-7.5.1804 - Extras - mirrors.aliyun.com
failovermethod=priority
baseurl=http://olcentchan.chinacloudapp.cn/centos/7.5.1804/extras/$basearch/
        http://olcentchan.chinacloudapp.cn/centos/7.5.1804/extras/$basearch/
        http://olcentchan.chinacloudapp.cn/centos/7.5.1804/extras/$basearch/
gpgcheck=1
gpgkey=http://olcentchan.chinacloudapp.cn/centos/RPM-GPG-KEY-CentOS-7
 
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-7.5.1804 - Plus - mirrors.aliyun.com
failovermethod=priority
baseurl=http://olcentchan.chinacloudapp.cn/centos/7.5.1804/centosplus/$basearch/
        http://olcentchan.chinacloudapp.cn/centos/7.5.1804/centosplus/$basearch/
        http://olcentchan.chinacloudapp.cn/centos/7.5.1804/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://olcentchan.chinacloudapp.cn/centos/RPM-GPG-KEY-CentOS-7
 
#contrib - packages by Centos Users
[contrib]
name=CentOS-7.5.1804 - Contrib - mirrors.aliyun.com
failovermethod=priority
baseurl=http://olcentchan.chinacloudapp.cn/centos/7.5.1804/contrib/$basearch/
        http://olcentchan.chinacloudapp.cn/centos/7.5.1804/contrib/$basearch/
        http://olcentchan.chinacloudapp.cn/centos/7.5.1804/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://olcentchan.chinacloudapp.cn/centos/RPM-GPG-KEY-CentOS-7

 

我们知道yum upgrade会将整个系统更新至最新版本,但我们想指定版本就需要增加两个参数
disablerepo(禁用repo)=’*’(禁用所有的repo)
enablerepo(启用repo)=‘C7.5’(仅使用C7.5的repo)

yum --disablerepo='*' --enablerepo='C7.5*' upgrade



注:upgrade与updata没有区别

更新linux核心

yum --disablerepo='*' --enablerepo='C7.5*,epel' update kernel

将release将为7.5版本

yum --disablerepo='*' --enablerepo='C7.5*,epel' downgrade centos-release

查看

cat /etc/redhat-release

<think>好的,我现在需要帮助用户查找关于如何安全地升级降级系统中glibc版本的方法和注意事项。首先,我需要确认glibc是什么以及它在系统中的作用。GNU C库(glibc)是Linux系统的核心库之一,负责提供系统调用和基本函数的实现,很多应用程序都依赖它。因此,升级降级glibc可能会影响系统的稳定性和其他软件的运行。 接下来,我应该考虑用户可能的需求。用户提到的是“安全地”操作,所以重点在于确保过程中系统不会崩溃,应用程序不会出现兼容性问题。用户可能是在处理某个软件需要特定版本的glibc,或者出于安全漏洞的修复考虑升级。 首先,我需要查找一般升级降级glibc的步骤。通常,升级glibc可以通过包管理器,比如在Ubuntu上使用apt,但需要谨慎处理,因为直接升级可能会有风险。降级则更为复杂,因为大多数Linux发行版不支持降级关键软件包,这可能导致依赖关系问题。 然后,注意事项方面,我需要强调备份的重要性,包括系统备份和重要数据备份。另外,测试环境的重要性,用户应该在非生产环境中先进行操作测试。同时,兼容性问题,比如其他软件是否依赖特定版本的glibc,这也是需要检查的。 另外,参考用户提供的引用内容,引用[2]提到了安装多版本GCC并选择特定版本,可能类似地,glibc是否有办法安装多版本并存?但glibc通常不支持多版本共存,因为它是系统核心库,替换会影响整个系统。这一点需要明确说明。 另外,引用[3]提到MySQL版本升级时考虑漏洞情况,可能用户也关心glibc的安全漏洞,所以在升级时需要参考官方发布的漏洞报告,选择稳定的版本。因此,在步骤中需要包括查看官方文档和漏洞报告,选择合适版本。 可能的操作步骤包括: 1. 检查当前glibc版本:使用命令`ldd --version`。 2. 备份系统:使用快照工具或备份重要数据。 3. 升级步骤:通过包管理器安装新版本,但需要确认仓库中是否有可用版本。如果官方仓库没有,可能需要添加第三方源,但存在风险。 4. 降级步骤:通常不推荐,可能需要从源代码编译旧版本,但极其危险,容易导致系统不可用。 5. 验证:升级后测试系统功能和关键应用是否正常。 6. 回滚计划:如果出现问题,如何恢复备份或回退版本。 注意事项需要包括:避免在生产环境直接操作,谨慎使用第三方源,依赖关系冲突的处理,以及升级后可能出现的问题如应用程序崩溃等。 同时,需要警告用户降级glibc的高风险性,通常不建议这样做,除非绝对必要,并且有专业支持。可能建议用户考虑其他解决方案,比如容器化应用或使用静态链接来避免修改系统glibc。 最后,生成相关问题,可能涉及如何检查glibc版本,替代方案,解决兼容性问题的方法,以及如何确认是否需要升级glibc。</think>### 安全升级/降级系统glibc版本的操作步骤与注意事项 #### **一、操作步骤** 1. **确认当前glibc版本** 通过命令查看当前版本: ```bash ldd --version ``` 输出示例: ``` ldd (Ubuntu GLIBC 2.35-0ubuntu3.1) 2.35 ``` 2. **备份系统与数据** - 使用快照工具(如LVM快照、虚拟机快照)备份系统[^1]。 - 备份关键配置文件(如`/etc/ld.so.conf`)和用户数据。 3. **升级glibc(推荐方法)** - **通过包管理器升级**: ```bash sudo apt update && sudo apt upgrade glibc # Debian/Ubuntu sudo yum update glibc # RHEL/CentOS ``` 需确保官方仓库提供目标版本。若需新版,可能需要添加第三方仓库(如Ubuntu的`ppa`),但需验证来源安全性[^2]。 - **手动编译安装(高风险)**: 从[官方源码](https://www.gnu.org/software/libc/)下载并编译: ```bash wget https://ftp.gnu.org/gnu/glibc/glibc-2.38.tar.gz tar -xzf glibc-2.38.tar.gz cd glibc-2.38 mkdir build && cd build ../configure --prefix=/usr make -j$(nproc) sudo make install ``` 此操作可能导致系统崩溃,建议仅在隔离环境中测试。 4. **降级glibc(极端情况)** - **通过包管理器降级**(仅限有旧版仓库时): ```bash sudo apt install glibc=2.31-0ubuntu9.9 # 指定版本号 ``` 若仓库无旧版,需手动下载旧版`.deb`/`.rpm`包安装,但可能引发依赖冲突。 5. **验证与回滚** - 重启后检查系统功能: ```bash ldd --version ``` - 若系统异常,立即通过快照或备份恢复。 --- #### **二、注意事项** 1. **严格遵循场景** - 升级:仅用于修复安全漏洞(参考[官方漏洞报告](https://sourceware.org/glibc/wiki/Security))或兼容新软件[^3]。 - 降级:尽量避免,可能导致依赖glibc的软件(如SSH、Bash)崩溃。 2. **环境隔离** - 生产环境操作前,需在虚拟机或容器中测试。 3. **依赖兼容性** - 升级后使用`ldd`检查关键程序: ```bash ldd /bin/bash # 检查依赖是否正常 ``` 4. **替代方案** - 使用容器(如Docker)隔离应用环境,避免修改系统glibc。 - 静态编译应用:通过`gcc -static`链接静态glibc副本。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值