防止 apt-check 占用我所有的内存

防止 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],已确认但尚未解决。我有点惊讶这个错误很严重并且存在于 LTS 中,唉……

无论如何,不​​确定 ubuntu 团队何时能够修复,有什么想法我们可以解决吗?

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

答案1

禁用更新通知程序

如果你想禁用更新通知程序,你可以按照此链接

修改链接中的引文

  1. 方法 1 - 为一个用户禁用

    创建本地(用户)副本update-notifier.desktop

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

    在本地文件中找到此行

    X-GNOME-Autostart-Delay=60
    

    用。。。来代替:

    X-GNOME-Autostart-enabled=false
    

    现在注销并再次登录,或者终止正在运行的更新通知程序:

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

    操作方法与方法 1 相同,但不要修改本地/用户副本,而是修改/etc/xdg/autostart/update-notifier.desktop

手动检查更新

禁用更新通知程序后,使用更新管理器(GUI)或以下命令行检查软件包更新

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

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

答案2

如果你正在运行 Ubuntu 的服务器安装,并且内存配置非常有限,我建议你完全禁用更新通知程序的自动操作. 您甚至可以删除这个包。

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

以下是一些安装和配置说明满足您的需求。这关于 Debian 管理的文章也值得一读。

答案3

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

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

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

相关内容