yum history 命令允许系统管理员将系统回滚到上一个状态,但由于某些限制,回滚不是在所有情况下都能成功,有时 yum 命令可能什么都不做,有时可能会删掉一些其他的包。
-- 2daygeek
本文导航
使用 YUM history 命令回滚升级操作
47%
使用YUM downgrade 命令回滚升级
79%
至于 Fedora 用户
94%
编译自 https://www.2daygeek.com/rollback-fallback-updates-downgrade-packages-centos-rhel-fedora/
作者 2daygeek
译者 lujun9972
为服务器打补丁是 Linux 系统管理员的一项重要任务,为的是让系统更加稳定,性能更加优化。厂商经常会发布一些安全/高危的补丁包,相关软件需要升级以防范潜在的安全风险。
Yum (Yellowdog Update Modified) 是 CentOS 和 RedHat 系统上用的 RPM 包管理工具, 命令允许系统管理员将系统回滚到上一个状态,但由于某些限制,回滚不是在所有情况下都能成功,有时 命令可能什么都不做,有时可能会删掉一些其他的包。
我建议你在升级之前还是要做一个完整的系统备份,而 并不能用来替代系统备份的。系统备份能让你将系统还原到任意时候的节点状态。
推荐阅读:
在 RHEL/CentOS 系统上使用 YUM 命令管理软件包
[1]
在 Fedora 系统上使用 DNF (YUM 的一个分支)命令管理软件包
[2]
如何让 history 命令显示日期和时间
[3]
某些情况下,安装的应用程序在升级了补丁之后不能正常工作或者出现一些错误(可能是由于库不兼容或者软件包升级导致的),那该怎么办呢?
与应用开发团队沟通,并找出导致库和软件包的问题所在,然后使用 命令进行回滚。
注意:
它不支持回滚 selinux,selinux-policy-*,kernel,glibc (以及依赖 glibc 的包,比如 gcc)。
不建议将系统降级到更低的版本(比如 CentOS 6.9 降到 CentOS 6.8),这会导致系统处于不稳定的状态
让我们先来看看系统上有哪些包可以升级,然后挑选出一些包来做实验。
你会发现 包可以被升级,那我们就用它来实验吧。运行下面命令获得软件包的版本信息(当前安装的版本和可以升级的版本)。
运行下面命令来将 从 升级到 。
验证升级后的 版本.
现在我们成功升级这个软件包,可以对它进行回滚了。步骤如下。
使用 YUM history 命令回滚升级操作
首先,使用下面命令获取 yum 操作的 id。下面的输出很清晰地列出了所有需要的信息,例如操作 id、谁做的这个操作(用户名)、操作日期和时间、操作的动作(安装还是升级)、操作影响的包数量。
上面命令显示有两个包受到了影响,因为 还升级了它的依赖包 。 运行下面命令来查看关于操作的详细信息。
运行下面命令来回滚 包到上一个版本。
回滚后,使用下面命令来检查降级包的版本。
使用YUM downgrade 命令回滚升级
此外,我们也可以使用 YUM 命令回滚升级。
注意: 你也需要降级依赖包,否则它会删掉当前版本的依赖包而不是对依赖包做降级,因为 命令无法处理依赖关系。
至于 Fedora 用户
命令是一样的,只需要将包管理器名称从 改成 就行了。
via:https://www.2daygeek.com/rollback-fallback-updates-downgrade-packages-centos-rhel-fedora/
作者:2daygeek
[5]
译者:lujun9972校对:wxy
本文由LCTT原创编译,Linux中国荣誉推出
LCTT 译者
lujun9972
共计翻译:72篇
贡献时间:49 天
领取专属 10元无门槛券
私享最新 技术干货