Unix目录结构:管理文件名冲突

时间:2010-07-02 09:49:52

标签: unix file filesystems collision

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

由于我的谷歌搜索没有回答这个问题没有很好的讨论,我想知道人们做什么来管理文件名冲突?他们只是尝试这个或那个名字,如果出现问题,用户会提交一个错误并且开发人员会选择另一个名字吗?或者,他们只是简单地为他们的文件名称添加前缀?任何人都知道有关此问题的良好讨论吗?

2 个答案:

答案 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中的可执行文件。

最好是使用您的发行包管理器。