我是系统管理员新手,否则我会自己解决这个问题。我有一个 slicehost 切片,我注意到有几个脚本可以运行(我在问题标题中提到的那些)看起来像是在进行系统更新。我想知道让这些在没有监督的情况下自动运行是否不是一个好主意。服务器运行一个电子商务网站,任何破坏服务器的升级都是不幸的。请建议最佳做法?我应该把它们保存在某个地方,而不是让 cron 每天在无人监督的情况下解雇它们吗?他们到底在做什么?谢谢!
我是系统管理员新手,否则我会自己解决这个问题。我有一个 slicehost 切片,我注意到有几个脚本可以运行(我在问题标题中提到的那些)看起来像是在进行系统更新。我想知道让这些在没有监督的情况下自动运行是否不是一个好主意。服务器运行一个电子商务网站,任何破坏服务器的升级都是不幸的。请建议最佳做法?我应该把它们保存在某个地方,而不是让 cron 每天在无人监督的情况下解雇它们吗?他们到底在做什么?谢谢!
简短的回答: /etc/cron.daily/apt 和 /etc/cron.daily/aptitude 都可以安全地保持启用状态,并且不会导致任何意外升级。
长答案:
默认 Hardy 安装上的 /etc/cron.daily/aptitude 仅将 /var/backup 中的包状态文件备份为名为 aptitude.pkgstates.0 到 aptitude.pkgstates.6 的文件(文件 1-6 被压缩) .
/etc/cron.daily/apt 比较复杂,可以根据你的 apt 配置设置做各种事情,这些设置在 /etc/apt/apt.conf 和 /etc/apt/apt 下的各种包含文件中维护.conf.d/
如果您想知道每日 apt 脚本是否正在执行无人值守升级,请检查此 apt-config 命令的输出。以下是默认值,表示未执行无人值守升级:
有关“无人值守升级”过程的更多信息(我不建议将其用于生产系统),请参阅 /usr/share/doc/unattended-upgrades/README - 如果该文件不存在,您可能没有安装了“无人值守升级”包。
/etc/cron.daily/apt 中的每日 apt 脚本有很好的注释,默认情况下它每天运行“apt-get update”。这只是使可用包文件的缓存保持最新。它不安装或删除软件包。
您可以将其配置为下载更新的软件包文件,然后您可以稍后手动安装,您可以将其配置为清理下载的软件包文件(安装后不需要这些文件)。
所有这些行为都是通过存储在 /etc/apt/apt.conf.d/10periodic 中的配置设置来配置的——这些设置默认为:
我建议验证这些设置并通读 /etc/cron.daily 中的脚本,但您目前可能没有任何执行无人值守和意外升级的东西。
那可能还不够信息。您确实必须阅读脚本本身才能了解它们对特定主机的操作。如果他们确实在升级(而不是只是更新),您肯定希望在生产服务器上禁用它。但是,只需更新就可以了,因为它仅更新存储库中可用程序的本地缓存。一些主机甚至用自己的覆盖默认分发(hardy)存储库以获得更多控制。因此,请检查它们,但任何体面的主机都不会自动更新您的任何核心组件。抱歉,我没有与 SliceHost 分享的任何个人经验。
由于我不能只编辑东西,而且不喜欢这里分散的风格,所以我继续对这个问题进行更系统的提问和回答。