5

我仍然无法理解的一件事是在 *nix 环境中卸载程序的经验法则。大多数时候,我很乐意让睡狗躺着,而不是卸载我不再需要的软件。但有时我会遇到几个 Apaches、svn 等。

到目前为止,这是我所知道的处理这个问题:

1) 如果您使用 apt-get 或 yum 安装,则有一个卸载命令。应用程序文件夹中很少有卸载脚本,例如uninstall.sh

2) 要确定从命令行调用哪个特定安装,请使用“type -a”命令

3)使用“sudo find / | grep”来查找其他可能安装的东西(据我所知,类型只查找PATH变量中的东西)

4)在 PATH 中添加/更改事物的顺序以使所需的应用程序版本排在第一位,或者为 .bashrc 添加别名

5)删除我不再想要的东西。如果应用程序仅安装在一个文件夹中,这很容易,但如果有多个文件夹,则很棘手。我听说过的一个技巧是运行具有时间范围的查找,以查找在安装发生时发生更改的所有文件 - 这大致显示了更改和添加的内容。

你有什么要补充/更正的吗?

4

2 回答 2

6

如果您没有使用包管理器(rpm、apt 等),那么您可能是从源代码安装的。要安装,您按照 ./configure && make && make install 执行了一个过程。如果应用程序表现良好,那么“安装”make 目标应该与“卸载”目标相结合。所以再次提取源,再次配置(使用相同的路径),然后卸载。

于 2009-01-14T16:42:06.270 回答
5

通常,如果您从源代码编译某些内容,则该过程将是

$ make
$ su
# make install

在这种情况下,绝大多数程序都会有一个卸载目标,这将使您可以逆转安装过程中发生的步骤

$ su
# make uninstall

与往常一样,阅读程序的 README 或 INSTALL 文件以确定可用的内容。在大多数情况下,您要么通过包管理器安装某些东西(它也将处理卸载),要么您将调用某种手动过程(应该附带解释如何卸载它的自述文件)。

于 2009-01-14T16:42:51.403 回答