您会存储 Makefile 以供以后卸载吗?

您会存储 Makefile 以供以后卸载吗?
  • 从 Makefile 安装包/库后,是否保留包含uninstall目标的 Makefile,以便以后卸载(如果有)?
    • 如果是:您是否将其存储在某个“标准”目录中,例如/usr/local
    • 如果没有:那么如何卸载?

答案1

像金凤花一样,我将安装文件保存在指定的 src 文件夹中——在我的例子中,有时它是 /usr/local/src,但通常是 /opt/src。我更进一步——我在整个过程中使用“脚本”来记录打字稿,并重命名这些打字稿文件以帮助我记住它们以后的用途。我将它们保存在与源相同的文件夹中。然后,当我对构建和安装的效果感到满意时,我将整个内容打包到一个压缩的 tarball 中,并将其基本上永久保存在 /opt/src 下。

我这样做是因为如果某些东西足够有用,可以从源代码安装并保留一年,我将需要再次重复该过程,以便从上游获取错误修复和安全更新。当那个时候到来时,我想回到一个地方,解压原始文件,并快速记住我上次做了什么,以及结果输出是什么。

您甚至可以更进一步 - 请记住,目标应该是让您或您的后继者尽可能轻松地在未来可靠地升级软件,因此您可以留给未来的自己的每条线索都是很好,而且你做得越少,你就越有可能在以后感到沮丧和浪费时间。

以下是为未来的自己留下线索以及避免问题的其他建议:

  1. 使用“脚本”来记录安装及其输出;然后重命名生成的打字稿文件,这样您以后就不会意外覆盖它们。将它们保存在构建文件夹中。
  2. 收集前后信息并将其保存在构建目录中。例如,您可以执行“ls -lR />before.ls-lr;...安装软件...; ls -lR / >after.ls-lr"。大多数包管理工具还有一个验证选项,它将转储出有关系统的各种详细信息——对此进行前后比较很有帮助。有时它也是值得的对所有文件进行完整的 md5sum 或使用 tripwire 或 aide 等工具。
  3. 对安装程序持怀疑态度——您确定它不会将 /var 上的权限更改为模式 777 或执行类似的邪恶操作吗?使用 vimdiff 等工具比较递归文件列表的前后输出可以帮助您在忘记如何修复问题之前发现问题。
  4. 如果您需要给自己留下笔记,请将它们放在构建目录中 - 例如,像“README.bob”这样的文件将有助于帮助“Bob”解决您第一次发现的任何小问题,而您接下来可能会忘记时间。

一旦您开始将软件分发到一堆系统,或者在您真正关心系统/数据的环境中,所有这些努力都会得到回报。

您可以更进一步,使用数百个包管理器中的任何一个来构建可以分发到您自己的系统的包。用类似的工具氟甲基丙烯酸甲酯, 这很容易。

答案2

我不会只存储 makefile。虽然卸载目标可能不会(或者也许,不应该)需要任何其他东西才能成功,这不是保证。

这意味着保留原始包的副本。不过,如果有旧版本的公共档案并且您不担心它会消失,那就没有多大意义了。无论如何,您可以稍后再次下载。唯一的问题是,对于自动工具的东西,你需要./configure先运行,如果你使用不同的选项uninstall可能会错过一些东西——但我认为这并不是一个大问题。有时我会记录某些东西的特定配置。

我在里面保留了独立的源码包/usr/local/src,不过只要你需要的时候能找到就无所谓了。

相关内容