![如果我删除了 Linux 中 make 程序的安装文件,我该如何删除从源代码构建的那些程序?](https://linux22.com/image/1416342/%E5%A6%82%E6%9E%9C%E6%88%91%E5%88%A0%E9%99%A4%E4%BA%86%20Linux%20%E4%B8%AD%20make%20%E7%A8%8B%E5%BA%8F%E7%9A%84%E5%AE%89%E8%A3%85%E6%96%87%E4%BB%B6%EF%BC%8C%E6%88%91%E8%AF%A5%E5%A6%82%E4%BD%95%E5%88%A0%E9%99%A4%E4%BB%8E%E6%BA%90%E4%BB%A3%E7%A0%81%E6%9E%84%E5%BB%BA%E7%9A%84%E9%82%A3%E4%BA%9B%E7%A8%8B%E5%BA%8F%EF%BC%9F.png)
在 Ubuntu 中,我安装了 Node,并意外删除了我构建程序的文件夹。现在我已经安装了 node,但我无法卸载它。我在网上搜索了一下,但找不到任何真正适用的东西。有没有一种明确的方法来删除构建的程序,而无需卸载程序?
答案1
我之前也遇到过同样的事情。我所做的就是使用相同的设置再次下载并构建它,然后重新安装并从那里卸载。
答案2
如果你直接从源安装,则可能不存在。但是如果你知道自己在做什么,你可以尝试以下几件事:
- 按照第一次的方式重新构建。如果源代码中有卸载程序,则没有问题。但是,大多数情况下,没有卸载程序,因此您必须手动删除文件。再次安装它以查看文件系统中安装了哪些文件。您还可以尝试在命令行
DESTDIR="/tmp/app"
上make install
使用 autotools 构建系统指定,这样您将获得已安装文件的完整树/tmp/app
。 - 与第一点类似,从这些来源为您的发行版制作一个包,然后将其卸载。
以下几点假设安装前缀为,并且您遵循了发行版对各种安装目录( 、等……)/usr
的约定。/var/lib
/usr/share
- 安装一个专门为您的发行版制作的包,然后将其卸载。
- 如果您的发行版没有此软件包,请查看其他发行版的软件包文件列表(例如:https://www.archlinux.org/packages/community/x86_64/nodejs/)。
为了避免这个问题,你应该尽可能地让你的包管理器管理文件,使用发行版上可用的包或自己制作包。(如果这种情况经常发生,你应该考虑更换发行版,换一个能提供你想要使用的包或让你更容易制作包的发行版。)