在 Ubuntu 上安装软件包的更高版本的正确方法是什么?

在 Ubuntu 上安装软件包的更高版本的正确方法是什么?

如果我使用以下方式安装 RabbitMQ

$ sudo apt-get 安装 rabbitmq-服务器

然后我收到与客户端库的兼容性错误。我真正想要的是他们网站上最新的 RabbitMQ。他们制作了一个 .deb

$ wgethttp://www.rabbitmq.com/releases/rabbitmq-server/v2.3.1/rabbitmq-server_2.3.1-1_all.deb

我可以使用 dpkg 安装:

$ sudo dpkg-i rabbitmq-server_2.3.1-1_all.deb

这是正确的做法吗?还是我以某种方式破坏了系统的完整性?

安装旧版本后,我是否必须执行 dpkg 操作才能正确设置?依赖项呢?如果我只执行 dpkg install 而不是先执行 apt-get,会发生什么?

是否必须为 Ubuntu 制作 debs 或者是否有针对 Debian 的版本?

就此而言,rpm 或从源代码编译怎么样?

答案1

这是正确的做法吗?还是我以某种方式破坏了系统的完整性?

是的,这是正确的做法。唯一的问题可能是您安装了一个未签名的软件包。但既然您知道自己做了什么,这应该不是问题。

安装旧版本后,我是否必须执行 dpkg 操作才能正确设置?依赖项呢?如果我只执行 dpkg install 而不是先执行 apt-get,会发生什么?

使用 dpkg 安装不在存储库中但可以作为文件使用的软件包。如果软件包位于存储库中,我建议添加存储库并使用 apt-get 或 aptitude。dpkg 不处理依赖项。如果您先通过 dpkg 安装而不是使用 apt-get 安装,则应该没有区别。

是否必须为 Ubuntu 制作 debs 或者是否有针对 Debian 的版本?

这取决于 :) 通常使用针对特定 ubuntu 版本制作的 deb 更安全。但如果依赖项不是那么多,为 Debian 制作的版本也可以运行。如果不确定,就试试吧 ;)

就此而言,rpm 或从源代码编译怎么样?

rpm 是一种不同的软件包格式,主要由 fedora、opensuse 及其企业发行版使用。通常它们不适用于基于 debian 的系统。如果您确实需要某个软件但无法获得打包版本,则从源代码编译应该是您的最后选择。同样,这取决于具体情况,它可能相当简单,但也可能很麻烦,主要取决于依赖项。此外,如果您使用打包软件,管理已安装的软件会更容易(当然 - 从源代码构建时,您可以多走一步并构建一个软件包,没有什么是不可能的,但需要做更多的工作)。

相关内容