这天我试图删除阿帕奇2。它与 Ubuntu Lucid 捆绑在一起,我不需要它。我曾经apt-get remove apache2
删除过它。但不知何故,initscript 仍然在那里,在“/etc/init.d/”中。我尝试了该apt-get purge
命令,但结果是一样的。
为什么apt-get
命令失败,无法删除 initscript,即使脚本是由阿帕奇2包裹。
答案1
初始化脚本的确切所有者是apache2.2-common
,而不是apache2
。该apt-get purge apache2
命令将清除apache2
包,但仅删除apache2.2-common
其依赖项。您应该命名要清除的所有包以实际清除它们,或者使用来自https://serverfault.com/a/326306/52873。
答案2
初始化脚本不会被删除,因为它被视为配置文件或“conffile”(因为有些人可能想调整他们的初始化脚本)。在 Debian(及其派生发行版)中,卸载软件包时,conffile 会保留在系统中,以便以后重新安装时更加方便。
如果您确定也想删除 conffiles,那么您应该将选项传递--purge
给apt-get
或aptitude
。
答案3
删除包的更低级的方法是:
dpkg --purge apache2.2-common
(我检查了正确的软件包名称是:apache2.2-common)
答案4
使用:
dpkg --purge --force-depends apache2.2-common
然后:
apt-get 安装 apache2.2-common
确保--force-depends
它只删除该包。它会破坏你的依赖关系,但由于你随后会立即重新安装它,所以这应该不是问题。