我最近尝试 yum 安装一个包,它更新(自动)更新我不想更新的 httpd、httpd-devel、httpd-tools 包。原因是这些是自定义包。
使用 运行yum history info <id>
,它显示:
...
Packages Altered:
...
Updated httpd-2.2.15-28.el6.centos.x86_64 @updates
Update 2.2.15-60.el6.centos.6.x86_64 @updates
Updated httpd-devel-2.2.15-28.el6.centos.x86_64 @updates
Update 2.2.15-60.el6.centos.6.x86_64 @updates
Updated httpd-tools-2.2.15-28.el6.centos.x86_64 @updates
Update 2.2.15-60.el6.centos.6.x86_64 @updates
...
Run Code Online (Sandbox Code Playgroud)
目前一切都像以前一样运行,我想我还没有执行任何重启。问题是,httpd 包是否已更改?如果是这样,有什么更好的方法可以恢复,因为这是生产环境,因此首选最短停机时间。
使用您已经在其中使用的 ID yum history info <id>
,如果您愿意,您可以回滚更新的安装:
yum history undo/redo/rollback <id>
Run Code Online (Sandbox Code Playgroud)
您想使用哪个命令取决于您想做什么。来自man yum
:
撤消/重做命令作用于指定的事务,撤消或重复该事务的工作。而回滚命令将撤消直到指定事务点的所有事务。例如,如果您有 3 个交易,其中包 A;B 和 C 分别安装。然后“undo 1”将尝试删除包A,“redo 1”将尝试安装包A(如果尚未安装),而“rollback 1”将尝试删除包B和C。注意在“ rollback 1" 您将有第四个事务,尽管结束 rpmdb 版本(请参阅:yum 版本)在事务 1 和 4 中应该相同。
关于您问题的第二部分,是否更改了包:
他们当然有,否则不会有更新版本的软件包。您可以将包的内容与以前版本的内容进行比较,但是您的情况下的版本更改非常小,我不会打扰。包中包含的软件版本没有改变,只是包的维护者自己改变了一些东西。
由于您是在测试环境中执行所有这些操作(您是,对吧?),重启服务器并尝试一下应该是安全的。如果出现意外情况,您仍然可以恢复到旧版本。
归档时间: |
|
查看次数: |
4915 次 |
最近记录: |