软件包管理器的世界非常精彩。如果某个软件包在您的 Linux 发行版软件包管理器中不可用,则很有可能它在任何特定语言的软件包管理器中可用。
但是,只要您通过任何方式(当然包括手动安装,而不是通过分发包管理器)安装了软件包,您还需要承担随时关注安全顾问并确保软件是最新的责任;例如,在安装了无人值守升级的 Debian 中,就可以自动完成这些工作。
所以我的问题是:对于下面列出的特定于编程语言的包管理器,是否可以设置自动更新。或者更好的自动更新,但前提是更新是安全修复。
- PIP-Python 版
- 宝石 - 红宝石
- 阴谋-哈斯克尔
- 梨-PHP
- NPM——NodeJS
- 出发
当然,人们必须权衡自动升级到可能损坏的软件包与运行不安全的软件的合理性,因为操作员在每天大量的电子邮件中浏览了相关的 SA。但这是另一个服务器故障问题的主题。
总是有一个简单的解决方案,即创建一个 cron 作业。但这会拉下所有更新,而不仅仅是安全更新。
这个问题是关于自动安全升级的,比如 Debian 无人值守升级包的功能。我问的是如何最好地保证我们的 Linux 发行版未维护的外部包在我们的业务关键服务器上的安全,这怎么不是主题呢?
答案1
使用 PHP 的 PEAR,您可以pear upgrade
不使用包名参数。只需使用 cron 作业来自动化即可。据我所知,PEAR 中没有办法区分与安全相关的更新,您只能限制更新渠道(稳定版、测试版等)。
您还可以pear list-upgrades
与 cron 一起使用,以获取可能升级的自动通知。
既然您提到了 Debian,我怀疑这个答案对您真的有用。大多数稳定且有用的 PEAR 软件包都可以在官方 APT 存储库中找到。
我不能代表其他经理发言,因为我从未使用过他们。