在生产 Web 服务器上混合使用 rpm 和基于源代码的安装可以吗?还是最好完全采用其中一种方式或另一种方式?
多谢
答案1
软件包管理始终是最好的选择,因为它允许您处理单个模块化实体。软件包使安装和升级服务器变得相当容易。它使您能够更轻松地推断服务器;您知道安装了特定软件的哪个版本。您可以确保在多个不同的服务器上运行相同的二进制文件。
我强烈建议您学习如何为所安装的任何软件生成 RPM 包。这可能会在一开始拖慢您的速度,但以后您会获得回报。
答案2
我想说选择一条路径并保持一致...我个人更喜欢包管理器,因为它更容易维护和编写脚本。
答案3
关于源包,需要记住的是,您必须自己查看安全邮件列表,并关注上游提供商,以防发现任何严重错误。如果上游决定进行破坏某些内容的更改时您还没有准备好升级,您可能需要准备将修复程序反向移植到当前系统。使用分销商提供的软件包时,您可以对安全问题更加放心,并相信他们会找到并修复安全问题并根据需要发布更新。
如果出于业务原因需要使用较新版本,那么您需要决定是否值得付出努力和承担风险。您只需要确保自己准备好处理安全等问题。
就像 David 提到的,你真的应该考虑学习如何构建自己的软件包。如果你有多个系统,那么一个正确构建的软件包可以在你的第二个系统上重复使用。它可以在你的测试机上重复使用。这样,你就不会在系统 a 上使用一个选项编译一个特定的软件包,而在系统 b 上使用一组不同的选项。
答案4
如果您只有一台服务器,通常可以做所有事情使其正常工作并进行完整 / 备份。只要您保留操作记录(/etc/motd 就足够了)。虽然很混乱,但混合 rpms/cpan/deb/custom builds 并不麻烦那除非您必须复制机器,否则情况会很糟糕。例如,我的个人笔记本电脑完全是垃圾:) 每次我执行 dist-upgrade 时,某些东西都会中断,但这是可以接受的 - 我是唯一的用户。如果您有几台执行相同功能的机器,并且您需要它们执行非常可预测的混合不同类型的安装模式会给您带来很多麻烦。您必须学习如何构建 rpm/deb,并可能设置您自己的内部 yum 存储库。