如何在Ubuntu云VM映像上禁用`apt-daily.service`?
Ubuntu 16.04服务器VM映像显然每12个小时左右启动一次“ apt-daily.service”。此服务执行各种与APT相关的任务,例如刷新可用软件包列表,在需要时执行无人值守升级等。 从虚拟机“快照”启动时,该服务会立即触发,因为(我想)systemd很快意识到计时器应该早就关闭了。 但是,正在运行的APT会apt锁定,因此会阻止其他进程运行/var/lib/dpkg。指示此错误消息如下所示: E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable) E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it? 在Ansible完成机器设置(通常涉及安装软件包)之前,我需要禁用此自动APT任务。有关更多信息和上下文,请参见https://github.com/gc3-uzh-ch/elasticluster/issues/304。 我尝试了各种选项,通过的“用户数据”脚本禁用“无人值守的升级”功能cloud-init,但是到目前为止,所有这些选项都失败了。 1.禁用系统任务 systemd任务apt-daily.service由触发apt-daily.timer。我试图通过以下命令的各种组合来禁用一个或另一个,或者两者都禁用。仍然apt-daily.service是VM准备好接受SSH连接之后的启动时刻:: #!/bin/bash systemctl stop apt-daily.timer systemctl disable apt-daily.timer systemctl mask apt-daily.service systemctl daemon-reload 2.禁用配置选项 APT::Periodic::Enable 脚本/usr/lib/apt/apt.systemd.daily读取一些APT配置变量。该设置APT::Periodic::Enable将完全禁用该功能(第331--337行)。我尝试使用以下脚本禁用它: …