Unix 在/usr/bin中添加所有第三方应用的符号链接好吗?

Unix 在/usr/bin中添加所有第三方应用的符号链接好吗?,unix,path,symlink,Unix,Path,Symlink,我在/opt中安装所有需要手动安装的第三方应用,即不使用任何软件包管理器 所以,要使用终端上手动安装的所有应用程序,我需要将它们添加到PATH变量中 但我发现路径变量不应该更长,否则会使系统变慢,可以忽略不计。所以我在路径中添加了可执行文件的符号链接,该路径已经添加到路径变量中,如/usr/bin 我的问题是我没有发现这种技术的任何副作用,它工作得很好。 但我想知道这样做以后是否会有任何问题。据我所知,/usr/bin、/bin、/sbin这些文件夹是由包管理器管理的。因此,添加这样的符号链接会

我在/opt中安装所有需要手动安装的第三方应用,即不使用任何软件包管理器

所以,要使用终端上手动安装的所有应用程序,我需要将它们添加到PATH变量中

但我发现路径变量不应该更长,否则会使系统变慢,可以忽略不计。所以我在路径中添加了可执行文件的符号链接,该路径已经添加到路径变量中,如/usr/bin

我的问题是我没有发现这种技术的任何副作用,它工作得很好。
但我想知道这样做以后是否会有任何问题。据我所知,/usr/bin、/bin、/sbin这些文件夹是由包管理器管理的。因此,添加这样的符号链接会给包管理器带来任何问题吗?

如果包可能使用相同的路径名,这只会让包管理器感到困惑。符号链接方法有一些缺点:

您必须维护这些链接,如果您删除断开的链接对应的包,请记住删除断开的链接。 有时,您会遇到一个通过shell脚本运行的包,该脚本检查它从何处运行,例如/usr/bin中的符号链接,然后假设它的所有其他部分都在同一路径/usr/bin上可用。如果扩展到兄弟目录,如/usr/lib,那么管理链接可能会很繁琐。
处理链接的一种方法是制作一个自己的元包,安装这些包并添加自己的安装后/卸载规则来维护链接。

我投票将这个问题作为离题题来结束,因为它与编程无关。如果你基本上要求制作所有这些应用程序的.deb文件,那么它会更适合你,因为它是ubuntu。但我不明白为什么包装经理会感到困惑。如果我安装mongoDB并将符号链接添加为/usr/bin/mongo,那么为什么其他应用程序会创建相同的符号链接。其他应用程序将创建自己名称的符号链接。那么为什么软件包管理器会混淆??不过,还有两个原因是正确的@Thomas Dickey如果包管理器知道一个给定的路径名属于多个包,它通常会拒绝安装一个而不删除另一个。冲突的可能原因是,如果用符号链接之一替换文件。