在使用该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 install
和yum update
?
我问是因为使用rpm -U
(upgrade) 命令升级/安装包不一定要存在,但是yum update
(如果我没记错的话)包必须已经存在。
我特别想知道使用它们的版本指定包的结果,例如some-package-1.0
. 总而言之,我想知道的是我是否有两个特定版本,例如some-package-1.0
和some-package-1.1
:
yum install
在 1.0 已经安装后在 1.1 上执行 a ,列出 2 个包?yum update some-package-1.1
成功会替换some-package-1.0
吗?我想知道是否有一种方法可以从本地机器执行脚本/命令,而无需在远程机器上以 root 身份进行任何修改?
一些背景
我正在尝试通过 Capistrano 设置一些任务,但我需要sudo
访问权限。大约有 30 多台服务器,对我来说手动更新/etc/sudoers
会很痛苦,所以我想知道是否有一种方法可以远程更新此文件?
前言
构建 RPM 并不是指从源代码编译。我纯粹的意思是将tar
带有源代码或二进制文件的“zip”文件重新打包为 RPM。
我已经从源代码构建 RPM 作为noarch
RPM有一段时间了。最近我不得不构建包含二进制文件的 RPM,这引起了一些担忧:
arch
和noarch
RPM包?特别是在从二进制文件构建 RPM 的情况下。我知道对于没有编译并且仅在安装 RPM 时提取文件的纯源代码,noarch
是可以接受的,但是如上所述,我对打包二进制文件有一些疑问。arch
RPM是否与不同的操作系统版本兼容?(这是在上面前言的上下文中)只是详细说明我可以arch
在 RedHat 6 上构建RPM,然后在 RedHat 5 中安装它,反之亦然?