如果我使用以下方式安装 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 的系统。如果您确实需要某个软件但无法获得打包版本,则从源代码编译应该是您的最后选择。同样,这取决于具体情况,它可能相当简单,但也可能很麻烦,主要取决于依赖项。此外,如果您使用打包软件,管理已安装的软件会更容易(当然 - 从源代码构建时,您可以多走一步并构建一个软件包,没有什么是不可能的,但需要做更多的工作)。