Linux - 如何彻底清理软件安装

Linux - 如何彻底清理软件安装

我在 Debian 下运行,最近升级到了 Squeeze。

从那时起,我在使用 Webmin 时遇到了很多问题。因此,我决定使用以下方法将其删除:

apt-get remove webmin

然后我下载了 Webmin 1.530 的源代码并进行了编译。但是安装过程卡住了一个小时,所以我取消了它。我甚至尝试使用 .deb 文件进行安装,但没有成功(安装卡住了几个小时)。

从现在起,我无法安装 Webmin,因为我已经卸载它了。

所以我想知道如何才能彻底清除服务器上的 Webmin 痕迹。然后我将重试安装它。

答案1

Webmin 中无需“编译”。它是用 Perl 编写的,带有一些客户端 JavaScript 和 Java。setup.sh 是一个安装脚本,可将文件放置在正确的位置,在启动时启用 webmin 服务等。

那里运行 setup.sh 时会生成一个卸载脚本,该脚本将驻留在 Webmin 目录中(运行 setup.sh 时告诉 Webmin 自行安装的位置),名为“uninstall.sh”。但是,如果安装在过程的早期就挂起了,则可能未生成此脚本(必须生成它,因为在您告诉它放置东西的位置之前,位置是未知的,而当您想要卸载它时,必须知道安装位置会很烦人)。不过,我怀疑存在这样的脚本。安装过程中不会出现太多问题;您没有给我们任何有关什么时候在此过程中它挂起了。多年来我从未见过 Webmin 安装失败,除非发生严重的服务器问题(内存故障、磁盘故障、磁盘空间不足、内存不足等)。

我建议你使用 Jamie 提供的 apt 存储库安装 Webminhttp://www.webmin.com或者如果你还使用 Virtualmin 或 Cloudmin,请使用以下存储库http://www.virtualmin.com。使用本机软件包更有意义,并提供了许多额外的工具来跟上服务器上安装的内容,并使删除内容更容易、更干净。它还使您的安装更加可预测;如果我坐在安装了 Webmin 的 Debian 系统上,我知道 Webmin 位于 /usr/share/webmin。如果我坐在从 tarball 安装的系统上,我必须猜测它位于哪里,或者深入研究 initscript 以查看它指向哪里。

我同意 sybreon 的观点...你在这里试图解决错误的问题。问题是你不知道 Webmin 安装失败的原因。再次安装只会继续失败,直到你了解失败的原因并解决该问题。

无论如何,回答你的问题,如果 Webmin 目录中没有 uninstall.sh 脚本:

删除 Webmin 目录。这可以是您告诉它使用的目录。可能是 /usr/local/webmin,可能是 /opt/webmin,也可能是 /usr/share/webmin。可能是其中第一个。

使用 Debian update-rc.sh 脚本在启动时禁用 Webmin 服务(无论如何,我认为这是在 Debian 上完成的方式)

删除 Webmin 启动脚本 (/etc/init.d/webmin)

删除所有 Webmin cronjobs;或者,如果您要重新安装 Webmin,您可以保留它们,然后使用 Webmin 中的 crontab 编辑器仔细检查以确保没有任何多余的 cronjobs。我认为如果 cronjobs 已经存在,它会跳过添加,即使它不知道这是升级。

差不多就是这样了。Webmin 无需编译,除了创建启动脚本外,不会触及任何系统目录,也不会在系统上随意留下任何东西。

答案2

通常情况下,我会告诉你使用

apt-get purge webmin

但这仅在安装了该包的情况下才有效。因此,您可能需要执行

apt-get install webmin
apt-get purge webmin

如果你通过源代码安装它,使用 configure、make、make install,你需要执行

make uninstall

从构建目录内部假设它仍然存在。

相关内容