晚上无需询问即可删除一些软件包

晚上无需询问即可删除一些软件包

今天我来上班,发现工作服务器上的一些 perl 脚本无法运行。问题是脚本找不到一些需要运行的库。然而,就在昨天,这些库已经安装完毕,脚本也能运行了!似乎软件包已从系统中删除!查看日志后,我在 /var/log/apt/history.log 中找到了此记录

开始日期:2014-09-26 06:10:33 删除:libclass-load-perl:amd64 (0.17-1)、rrdtool:amd64 (1.4.7-2)、libyaml-syck-perl:amd64 (1.20-1)…… 跳过其他主要 PERL 包 结束日期:2014-09-26 06:10:41

但!

1 此时服务器上没有人,也没有人会移除这些包。

2.也许服务器被黑客入侵了,但首先没有明显的黑客迹象,其次,攻击者决定删除这些软件包,这很奇怪

3 /var/log/apt/history.log 中的所有其他条目也都有另一个字符串 CommandLine: - 在这种情况下它不存在。

会发生什么事呢?

更新:

一周前(2014-09-19)我清除了 munin(但没有清除 munin-node!)。也许这个删除的软件包是 munin 的自动删除建议?但据我所知,“自动删除”并不是真正的“自动”,在删除某些内容之前需要手动验证

更新2:

  1. 无人值守升级-未安装
  2. /etc/apt/apt.conf.d/01autoremove
易于
{
  永不自动移除
  {
        “^固件-linux.*”;
        "^linux-固件$";
        “^linux-image.*”;
        “^kfreebsd-图像。*”;
        “^linux-restricted-模块。*”;
        “^linux-ubuntu-模块-.*”;
        "^gnumach$";
        "^gnumach-图像.*";
  };

  永不标记自动部分
  {
        “元包”;
        “受限/元包”;
        “宇宙/元包”;
        “多元宇宙/元包”;
        “旧库”;
        “受限/旧库”;
        “宇宙/oldlibs”;
        “多元宇宙/oldlibs”;
  };
};

答案1

您可能已经使用了某种自动更新解决方案,它可以删除“未使用的”软件包。

当 apt 发现某个软件包没有被其他软件包使用时,那么它就会被视为“未使用”并将其删除。

如果您使用unattended-upgrade程序进行自动更新,请尝试设置Remove-Unused-Dependenciestrue

相关内容