我最近登录了一台共享服务器,想看看为什么我无法访问 Samba 共享。我尝试打开smb.conf
,vim
发现vim
不再安装。我发现我的 Samba 共享无法访问,因为samba
也不再安装。
我查看了apt
日志并看到了 Samba 被删除时的时间戳,然后查看了一下auth.log
,发现了那段时间左右的这一行:
COMMAND=/usr/bin/apt-get autoremove libpython3.8-stdlib
我能找到的每个apt
/示例apt-get autoremove
都显示它在没有参数的情况下被调用。当你给它一个包时会发生什么?这会明确删除该包及其所有级联依赖项吗?这是我能想到的唯一解释,可以解释为什么samba
会vim
被卸载。
答案1
您的假设(几乎)是正确的。运行apt-get autoremove <package>
将首先删除<package>
,然后自动删除,就像您apt-get autoremove
没有使用任何参数运行一样(即删除所有不依赖任何“手动安装”软件包的“自动安装”软件包)。
这里的重要区别是,运行的自动删除部分apt-get autoremove <package>
不仅会删除依赖的包<package>
,还会删除全部否则将被自动删除的软件包。