在 Linux 中卸载程序

在 Linux 中卸载程序

过去 5 年我一直使用 Windows 和 Mac OS,现在我正在考虑每天使用 Linux。我已经在虚拟机上安装了 Ubuntu,并试图了解如何使用 Linux 来完成我的日常工作(作为 js 程序员/网页设计师)。

很抱歉这个新手问题,但我突然想到,有时当我通过make config&安装程序时,make install它会以不易恢复的方式更改我的系统。在Windows中,当您安装程序时,您可以卸载它并希望如果照章办事,文件系统或注册表等中将不会留下程序的痕迹。在Mac OS中,您只需像删除文件一样删除应用程序即可。

但在 Linux 中,有apt-get,然后有make。我不太明白如何保持我的 Linux 安装干净整洁。感觉任何新的应用程序安装都可能会破坏我的系统。但 Linux 素以强大而著称,所以我不明白应用程序安装和卸载如何影响系统。任何人都可以阐明这一点吗?


更新: 安装应用程序时,它的文件实际上可以传播到任何地方(包管理器处理部分问题),但有一个很酷的技巧:使用 Docker用于安装应用程序并将其保存在沙箱中,特别是如果您不经常使用它们的话。也可以运行图形用户界面应用程序就像完全在 Docker“沙箱”中的 Firefox 一样。

答案1

一个新的安装很少会破坏你的系统(除非你做了一些奇怪的事情,比如混合源代码和二进制文件)。

如果您在 Ubuntu 中使用预编译的二进制文件,那么您可以删除它们,而不必担心破坏您的系统,因为二进制文件应该列出它运行所需的内容,您的包管理器将列出哪些程序依赖于该程序供您查看。

当你使用源代码时,你需要更加小心,以免删除一些关键的东西(比如glib)。从源代码卸载时,不会出现任何警告或任何其他内容。这意味着你可以彻底破坏你的机器。

如果您想卸载使用,apt-get那么您将apt-get remove package按照前面所述使用。任何依赖该软件包的程序也将被卸载,您将有机会查看它们。

如果要卸载的话一般流程是make uninstall。没有警告(正如我上面所说)。

make config不会改变你的系统,但make install会改变。

作为初学者,我建议使用apt-get或任何用于二进制包的发行版。它使事情保持良好和有条理,除非你真的想要它不会破坏你的系统。

希望这能澄清一切。

答案2

理论上,make uninstall应该删除make install添加的内容,并且您的系统不会积累残留物。当然,问题是并非所有的 makefile 都是一样的。

有些人可能会忽略该uninstall规则,让您自己弄清楚该install规则的作用。更糟糕的是,如果安装规则覆盖了链接库,愚蠢的uninstall例程可能会破坏某些其他程序的依赖关系。

源安装的最佳解决方案是使用与系统包管理器安装的包不同的前缀。 Apt 安装文件以便/usr/使用/usr/local/层次结构进行源安装。这使得跟踪哪些文件属于哪些包变得更加容易,并且卸载不会破坏系统。

./configure --prefix=/usr/local适用于许多配置脚本。如果没有,您可以手动编辑Makefile。或者直接手动复制文件。

Apt 和其他包管理器会跟踪它们安装的文件及其反向依赖关系,以便它们的卸载功能可以安全使用。

答案3

我建议您使用apt-get install在 Linux 中安装任何软件包和apt-get remove(软件包名称)或apt-get purge(软件包名称),这不仅会删除您要卸载的主软件包,还会删除安装过程中安装的所有关联软件包或依赖项。

现在,为了保持您的系统清洁,我建议您使用apt-get clean https://askubuntu.com/questions/144222/how-do-apt-get-clean-and-apt-get-clean-all-differ#144224(这篇文章对此很有趣)这将删除安装过程中下载但不再需要的所有文件。

如果您想要删除系统中安装的所有依赖项,但在卸载时它们并未被删除,另一个有用的命令是apt-get autoremove

如果您通过 make 和 make install 安装软件包,您将负责自行卸载它(下载的软件包中可能包含一个 README 文件,告诉您如何执行此操作)并尝试卸载与其关联的所有依赖项。这就是为什么总是建议在 Linux 中安装由发行版的软件包管理器提供的软件包,如果您这样做,您可以确保您的软件包已经过足够的测试,可以与您正在使用的发行版(Linux 风格)一起使用并且不太可能破坏您的系统。此外,您可以确保您的软件包会在需要时得到更新,而如果您自己安装它,您就有责任完成所有这一切。

我希望这有帮助 :)

答案4

几乎每个发行版都有自己选择的包管理器,有几个流行的。 pacman、apt、rpm、emerge、...基于 debian 的发行版使用 apt。

该医生看起来令人生畏,但是制作 .debs 供本地使用实际上并不那么困难,只管继续执行任务。

相关内容