防止apt-check吃掉我所有的记忆

在Ubuntu 12.04 LTS上,使用512MB RAM的服务器, apt-check使用了多达250个内存,导致我的系统每天晚上都不可用,例如

 ps ax | grep apt 14895 ? DN 0:02 /usr/bin/python /usr/lib/update-notifier/apt-check --human-readable 14896 ? DN 0:02 /usr/bin/python /usr/lib/update-notifier/apt-check --human-readable 14899 ? DN 0:02 /usr/bin/python /usr/lib/update-notifier/apt-check --human-readable 14902 ? DN 0:02 /usr/bin/python /usr/lib/update-notifier/apt-check --human-readable 14906 ? DN 0:02 /usr/bin/python /usr/lib/update-notifier/apt-check --human-readable 14912 ? DN 0:02 /usr/bin/python /usr/lib/update-notifier/apt-check --human-readable 14913 ? DN 0:02 /usr/bin/python /usr/lib/update-notifier/apt-check --human-readable 14914 ? DN 0:01 /usr/bin/python /usr/lib/update-notifier/apt-check --human-readable 14915 ? DN 0:01 /usr/bin/python /usr/lib/update-notifier/apt-check --human-readable 14916 ? DN 0:02 /usr/bin/python /usr/lib/update-notifier/apt-check --human-readable 14917 ? DN 0:01 /usr/bin/python /usr/lib/update-notifier/apt-check --human-readable 14920 ? DN 0:02 /usr/bin/python /usr/lib/update-notifier/apt-check --human-readable 15299 ? DN 0:01 /usr/bin/python /usr/lib/update-notifier/apt-check --human-readable 15302 ? DN 0:02 /usr/bin/python /usr/lib/update-notifier/apt-check --human-readable 16368 pts/0 D+ 0:00 grep apt 

这个脚本是多次运行并吃掉我的系统资源? 这里有一个错误[1],但没有任何解决方法。 我有点惊讶,这个bug是至关重要的,存在于LTS中,叹息…

无论如何,不​​知道什么时候Ubuntu的团队能够解决,任何想法如何做到这一点呢?

[1] https://bugs.launchpad.net/ubuntu/+source/update-notifier/+bug/746508

禁用更新通知程序

如果要禁用更新通知程序,可以按照此链接中的说明操作。

从链接修改引用

  1. 方法1 – 禁用一个用户

    创buildupdate-notifier.desktop的本地(用户)副本

     mkdir -p ~/.config/autostart cp /etc/xdg/autostart/update-notifier.desktop ~/.config/autostart/ vim ~/.config/autostart/update-notifier.desktop 

    在本地文件中find这一行

     X-GNOME-Autostart-Delay=60 

    用。。。来代替:

     X-GNOME-Autostart-enabled=false 

    现在注销并重新login,或者closures正在运行的update-notifier:

     killall update-notifier 
  2. 方法2 – 禁用所有用户

    与方法1一样,但不要修改本地/用户副本, /etc/xdg/autostart/update-notifier.desktop修改/etc/xdg/autostart/update-notifier.desktop

手动检查更新

禁用更新通知程序后,使用更新pipe理器(GUI)或下面的命令行检查程序包更新

 sudo apt-get update sudo apt-get dist-upgrade 

第一行从存储库下载最新的软件包列表。 第二行将显示所有可用更新的已安装软件包。

如果你运行Ubuntu的服务器安装的RAMconfiguration非常有限,我build议你完全禁用update-notifier的自动操作 。 你甚至可以删除这个包。

但是,您仍然可能需要运行一些自动更新以确保您的系统获得安全修复程序。 在服务器上执行该操作的一个非常轻便和方便的工具是cron-apt ,它可以通过电子邮件通知您更新。

以下是一些安装和configuration您的需求的说明。 这篇关于Debian Administration的文章也值得一读。

在我的Debian机器上,我更喜欢安装无人值守升级anacron ,然后将以下行添加到/etc/apt/apt.conf

 APT::Periodic::Update-Package-Lists "1"; APT::Periodic::Unattended-Upgrade "1"; 

这将以全自动的方式每天运行“apt-get update”,“apt-get upgrade”(并且没有任何大的开销)