通常每次运行`make install'时,文件都不会放在像/ usr / prog1这样的特定目录中。相反,文件放在目录中,其他程序中的文件已经存在于/ usr / lib和/ usr / bin中。我相信这是很久以前的常见做法。这种做法肯定会增加文件名冲突的可能性。
由于我的谷歌搜索没有回答这个问题没有很好的讨论,我想知道人们做什么来管理文件名冲突?他们只是尝试这个或那个名字,如果出现问题,用户会提交一个错误并且开发人员会选择另一个名字吗?或者,他们只是简单地为他们的文件名称添加前缀?任何人都知道有关此问题的良好讨论吗?
答案 0 :(得分:4)
通常人们会选择他们想要的名称,如果发生碰撞,那么问题就会通过分发来解决。这就是ack
(Debian,Kanji转换器中的ack
)和ack
(Debian中的ack-grep
,文本搜索工具)所发生的情况。
碰撞似乎并不常见。快速Web搜索应该告诉您名称是否在某处使用。如果它不是可搜索的,它可能不包含在许多发行版中,这意味着你不太可能真正发生冲突。
答案 1 :(得分:3)
通常在编译程序时,您通常可以指定这样的前缀路径:./configure --prefix=/usr/local/prog1
或./configure --prefix=/opt/prog1
(无论您使用/usr/local
还是/opt
并不重要) 。然后在运行make install
时,它会将文件放在指定的前缀路径中。然后,您可以1)将/opt/prog1/bin/
添加到PATH
,或者您可以在/usr/local/bin
中创建一个符号链接到PATH
中的可执行文件。
最好是使用您的发行包管理器。