4

通常每次运行 `make install' 时,文件都不会放在像 /usr/prog1 这样的特定目录中。相反,这些文件被放置在其他程序的文件已经在其中的目录中,例如 /usr/lib 和 /usr/bin。我相信这是很久以前的一种普遍做法。这种做法肯定会增加文件名冲突的可能性。

由于我的谷歌搜索没有对此事进行很好的讨论,我想知道人们如何管理文件名冲突?他们是否只是简单地尝试这个或那个名称,如果出现问题,用户会提交一个错误,而开发人员会选择另一个名称?或者,他们只是简单地为文件名添加前缀吗?有人知道关于这个问题的很好的讨论吗?

4

2 回答 2

4

通常人们会选择他们想要的名称,如果发生冲突,则问题会通过分发解决。这就是ackack在 Debian 中,汉字转换器)和ackack-grep在 Debian 中,文本搜索实用程序)发生的情况。

不过,碰撞似乎并不常见。快速的网络搜索应该会告诉您该名称是否在某处使用。如果它不可搜索,它可能不包含在许多发行版中,这意味着您实际上不太可能发生冲突。

于 2010-07-02T09:58:19.703 回答
3

通常在编译程序时,您通常可以像这样指定前缀路径:./configure --prefix=/usr/local/prog1./configure --prefix=/opt/prog1(无论您使用/usr/local还是/opt无关紧要)。然后在运行时make install它将文件放在指定的前缀路径中。然后,您可以 1) 添加/opt/prog1/bin/到您的文件中,PATH或者您可以为可执行文件创建符号链接,该文件/usr/local/bin应该已经在您的PATH.

最好的办法是使用你的发行包管理器。

于 2010-07-02T09:53:15.293 回答