yum update 与 yum install 的区别

kai*_*der 20 yum rpm

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

some-package-1.0
some-package-1.1
Run Code Online (Sandbox Code Playgroud)

但是,如果我通过 升级,而不是安装 1.1,rpm -Uvh some-package-1.1当我执行rpm -qa | grep some-package.

现在相同的行为是否适用于yum installyum update

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

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

  1. 是否yum install在 1.0 已经安装后在 1.1 上执行 a ,列出 2 个包?
  2. 运行yum update some-package-1.1成功会替换some-package-1.0吗?

slm*_*slm 34

YUM 和 RPM 之间的主要区别在于yum知道如何解决依赖关系,并且可以在工作时获取这些附加包。虽然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
Run Code Online (Sandbox Code Playgroud)

我目前在这个版本:

$ rpm -q vim-X11 | expand
vim-X11-7.4.179-1.fc19.x86_64
Run Code Online (Sandbox Code Playgroud)

当我们尝试安装它时:

$ 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 
Run Code Online (Sandbox Code Playgroud)

所以总结一下

  1. 是否yum install在 1.0 已经安装后在 1.1 上执行 a ,列出 2 个包?

不。即使您已经告诉它安装包,YUM 仍会执行更新。

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

是的。