在 make install 中处理重命名的文件以更新安装

问题描述 投票:0回答:1

我想为我的应用程序提供一个

make install
目标,我想知道如何处理 安装应用程序后重命名文件。

我至少可以想到两个选择:

a) 如果我只是在

make install
期间将新文件复制到目标文件夹中,旧文件可能会保持安装状态(可能会导致问题)

b) 如果更新需要以前的

make uninstall
:用户应该启动
make uninstall
还是我应该将其添加到我的
make install
目标中?如果用户忘记了
make uninstall
我最终会遇到与 a)

中相同的问题

如何确保旧安装的文件确实被删除?

makefile
1个回答
1
投票

这对 SO 来说并不是一个合适的问题,因为它基本上是基于意见的。

然而,显而易见的答案是,您的新版本无法确保旧版本中的所有文件都消失了,因为新版本无法知道哪些文件是旧版本的一部分,除非您打算保留一个列表永久保留所有旧版本的内容。

相反,通常做的是,作为安装步骤的一部分,您还安装刚刚安装的版本的文件列表,然后当您为新版本运行

make install
时,您可以使用旧版本创建的列表它已安装,删除所有这些文件,或检查它们是否存在,如果存在,则告诉用户首先运行
make uninstall
或类似的操作。

有时人们甚至安装 makefile 本身或其中的一部分,以便他们可以运行“旧”makefile 的

uninstall
目标。

这是软件包管理器将为您提供的一件事:它会记住所有已安装的文件并可以再次删除它们。但如果你愿意的话,你可以自己做。

© www.soinside.com 2019 - 2024. All rights reserved.