LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 975|回复: 1

yum 管理已安装软件包的新功能(yum history)

[复制链接]
发表于 2009-10-28 10:35:31 | 显示全部楼层 |阅读模式
根据planet.fedoraproject.org上的消息,yum history应该是fedoa 12提供的yum的新功能。这个功能根据安装历史对已安装的软件包提供管理,这样卸某个载软件包时,它所依赖包应该就能自动卸载了。下面以mkvtoolnix-gui为例:

假设我们新安装了mkvtoolnix-gui,而mkvtoolnix-gui依赖于包mkvtoolnix。
(1)查看yum 安装的历史列表:
#yum history
ID       | Login user      | Date and time        | Action(s)   | Altered
-------------------------------------------------------------------------------
   125 |  <root>             | 2009-10-28 10:16 | Install        |    2
   124 |  <root>             | 2009-10-28 10:14 | Erase        |    2
   123 |  <root>             | 2009-10-28 10:09 | Install        |    1
   122 |  <root>             | 2009-10-28 10:07 | Install        |   11
   121 |  <root>             | 2009-10-27 22:49 | I, U             |    2
   120 |  <root>             | 2009-10-27 22:48 | Update      |    3
   119 |  <root>             | 2009-10-25 22:17 | Erase         |    9
   118 |  <root>             | 2009-10-25 20:00 | Install         |    9
....
每一行为一次yum 操作的记录。其中第一列为该次操作的 ID,第二列为执行该操作的用户,第三列为时间,第四列为该操作所执行的内容(install \update\erase)。第五列指明了操作所涉及的包的数量

(2)查看某次操作的细节(比如查看ID为125的那次操作):
#yum history info 125
Loaded plugins: presto, refresh-packagekit
Transaction ID : 125
Begin time     : Wed Oct 28 10:16:00 2009
Begin rpmdb    : 1541:5fb34f7e3138dd7ffbc2bd824a759b526f32ba09
End time       :            10:16:05 2009 (5 seconds)
End rpmdb      : 1543:d240b771df428f574bcf993960eee945f44a6f39
User           :  <landrew>
Return-Code    : Success
Transaction performed with:
    Installed    rpm-4.7.1-6.fc12.i686
    Installed    yum-3.2.25-1.fc12.noarch
Packages Altered:
    Dep-Install  mkvtoolnix-2.9.8-2.fc12.i686
    Install      mkvtoolnix-gui-2.9.8-2.fc12.i686
history info
可见该次操作安装了两个包mkvtoolnix,mkvtoolnix-gui,其中mkvtoolnix是为了解决依赖而安装的(Dep-Install)

(3)查看某次操作细节的另一方法:根据安装的软件包名字查找(比如安装mkvtoolnix-gui)
#yum history list mkvtoolnix-gui
Loaded plugins: presto, refresh-packagekit
Transaction ID : 125
Begin time     : Wed Oct 28 10:16:00 2009
Begin rpmdb    : 1541:5fb34f7e3138dd7ffbc2bd824a759b526f32ba09
End time       :            10:16:05 2009 (5 seconds)
End rpmdb      : 1543:d240b771df428f574bcf993960eee945f44a6f39
User           :  <landrew>
Return-Code    : Success
Transaction performed with:
    Installed    rpm-4.7.1-6.fc12.i686
    Installed    yum-3.2.25-1.fc12.noarch
Packages Altered:
    Dep-Install  mkvtoolnix-2.9.8-2.fc12.i686
    Install      mkvtoolnix-gui-2.9.8-2.fc12.i686
history info

(4)取消某次yum操作: #yum  history undo ID
#yum history undo 125
Loaded plugins: presto, refresh-packagekit
Undoing transaction 125, from Wed Oct 28 10:16:00 2009
    Dep-Install  mkvtoolnix-2.9.8-2.fc12.i686
    Install      mkvtoolnix-gui-2.9.8-2.fc12.i686
Resolving Dependencies
--> Running transaction check
---> Package mkvtoolnix.i686 0:2.9.8-2.fc12 set to be erased
---> Package mkvtoolnix-gui.i686 0:2.9.8-2.fc12 set to be erased
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
Package               Arch        Version               Repository        Size
================================================================================
Removing:
mkvtoolnix            i686        2.9.8-2.fc12          installed        5.9 M
mkvtoolnix-gui        i686        2.9.8-2.fc12          installed        2.3 M

Transaction Summary
================================================================================
Remove        2 Package(s)
Reinstall     0 Package(s)
Downgrade     0 Package(s)

Is this ok [y/N]:
...
可见,undo操作可以同时把软件包和它所依赖的包全部给与操作。这是卸载依赖包的一种好方法!!!

(5)重新进行某次yum操作。(假设4中的删除操作我已经执行了,删除了mkvtoolnix-gui),现在我希望取消该次操作:
#yum history redo 125
Loaded plugins: presto, refresh-packagekit
Repeating transaction 125, from Wed Oct 28 10:16:00 2009
    Dep-Install  mkvtoolnix-2.9.8-2.fc12.i686
    Install      mkvtoolnix-gui-2.9.8-2.fc12.i686
Resolving Dependencies
--> Running transaction check
---> Package mkvtoolnix-gui.i686 0:2.9.8-2.fc12 set to be updated
--> Processing Dependency: mkvtoolnix = 2.9.8-2.fc12 for package: mkvtoolnix-gui-2.9.8-2.fc12.i686
--> Running transaction check
---> Package mkvtoolnix.i686 0:2.9.8-2.fc12 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
Package                Arch         Version              Repository       Size
================================================================================
Installing:
mkvtoolnix-gui         i686         2.9.8-2.fc12         rawhide         677 k
Installing for dependencies:
mkvtoolnix             i686         2.9.8-2.fc12         rawhide         1.1 M

Transaction Summary
================================================================================
Install       2 Package(s)
Upgrade       0 Package(s)

Total download size: 1.8 M
Is this ok [y/N]:
....

可见它又自动下载安装mkvtoolnix-gui 及其依赖的软件包了
发表于 2009-10-28 10:50:24 | 显示全部楼层
好东西!
希望不久就可以进入其他版本的yum~
centos的yum不也很快升级到3.2x了么?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表