yum update 与 yum install 之间的区别

yum update 与 yum install 之间的区别

在使用该rpm命令时,我注意到,如果我安装some-package-1.0并执行了另一个命令,那么当我执行以下操作rpm -ivh some-package-1.1时,将列出两个软件包:rpm -qa | grep some-package

some-package-1.0
some-package-1.1

然而,如果我通过升级而不是安装 1.1,rpm -Uvh some-package-1.1我会得到单个包 (1.1) 的所需结果rpm -qa | grep some-package

现在,同样的行为也适用于yum installandyum update吗?

我问是因为使用rpm -U(升级)命令,软件包不必存在即可升级/安装,但yum update(如果我没有记错的话)软件包必须已经存在。

我特别想知道指定包及其版本的结果,例如some-package-1.0.总而言之,我想知道的是我是否有两个特定版本,例如some-package-1.0some-package-1.1

  1. yum install1.0 已经安装后,是否会在 1.1 上执行,列出 2 个软件包?
  2. 运行yum update some-package-1.1成功会取代some-package-1.0吗?

答案1

YUM 和 RPM 之间的主要区别在于,YUMyum知道如何解决依赖关系,并且可以在工作时获取这些附加包。虽然rpm可以提醒您注意这些依赖项,但它无法获取其他包。

至于安装与升级。这两个工具都可以执行安装,RPM 甚至允许您同时安装多个版本,但 YUM 会告诉您该软件包已经安装。所以没有 YUM 不会允许你安装多个版本。

至于yum update,这将以两种方式之一做出反应。如果你告诉它你想要更新一个包,它会尝试这样做,下载所有必要的依赖项并安装它们。如果您在没有任何包名称的情况下运行它,yum update将尝试更新每一个系统上安装的软件包。

如果您使用yum upgrade它,它将执行与 相同的操作yum update,但它将尝试删除任何已标记为“过时”的包。

例子

这是一个与您自己的场景没有什么不同的场景。有新版本vim-X11可用。

$ yum check-update vim-X11 | expand
Loaded plugins: auto-update-debuginfo, changelog, langpacks, refresh-packagekit

vim-X11.x86_64                     2:7.4.417-1.fc19                      updates

我目前处于这个版本:

$ rpm -q vim-X11 | expand
vim-X11-7.4.179-1.fc19.x86_64

当我们尝试安装它时:

$ sudo yum install vim-X11
...   
=================================================================================================================================================================
 Package                                 Arch                              Version                                      Repository                          Size
=================================================================================================================================================================
Updating:
 vim-X11                                 x86_64                            2:7.4.417-1.fc19                             updates                            1.2 M
Updating for dependencies:
 vim-common                              x86_64                            2:7.4.417-1.fc19                             updates                            5.9 M
 vim-enhanced                            x86_64                            2:7.4.417-1.fc19                             updates                            1.0 M
....
Running transaction
  Updating   : 2:vim-common-7.4.417-1.fc19.x86_64                                                                                                            1/6 
  Updating   : 2:vim-enhanced-7.4.417-1.fc19.x86_64                                                                                                          2/6 
  Updating   : 2:vim-X11-7.4.417-1.fc19.x86_64                                                                                                               3/6 
  Cleanup    : 2:vim-X11-7.4.179-1.fc19.x86_64                                                                                                               4/6 
  Cleanup    : 2:vim-enhanced-7.4.179-1.fc19.x86_64                                                                                                          5/6 
  Cleanup    : 2:vim-common-7.4.179-1.fc19.x86_64                                                                                                            6/6 
  Verifying  : 2:vim-enhanced-7.4.417-1.fc19.x86_64                                                                                                          1/6 
  Verifying  : 2:vim-X11-7.4.417-1.fc19.x86_64                                                                                                               2/6 
  Verifying  : 2:vim-common-7.4.417-1.fc19.x86_64                                                                                                            3/6 
  Verifying  : 2:vim-enhanced-7.4.179-1.fc19.x86_64                                                                                                          4/6 
  Verifying  : 2:vim-X11-7.4.179-1.fc19.x86_64                                                                                                               5/6 
  Verifying  : 2:vim-common-7.4.179-1.fc19.x86_64                                                                                                            6/6 

所以总结一下

  1. yum install1.0 已经安装后,是否会在 1.1 上执行,列出 2 个软件包?

不会。如果软件包已经安装,即使您告诉它进行安装,YUM 仍然会执行更新。

  1. 运行yum update some-package-1.1成功会替换 some-package-1.0 吗?

是的。

相关内容