情况
我从源代码构建的某些程序在安装目录中有一个目录libexec
(例如,gnuplot)。作为一项规则,我添加一个
export LD_LIBRARY_PATH=${installation directory}lib:${LD_LIBRARY_PATH}
当.bashrc
我有lib
文件夹时。同样,对于PATH
和PKG_CONFIG_PATH
if${insdir}/bin
且${insdir}/lib/pkgconfig
存在。我根据使用过程中收集到的许多迹象开发了这种做法。
我可以看到其中包含的文件libexec
是二进制可执行文件。
问题
与存放的可执行文件相比,它们的目的是什么bin
?
PATH
是否应该设置专用变量(以、LD_LIBRARY_PATH
、的形式PKG_CONFIG_PATH
)以使 shell 环境知道它们?如果没有的话,PATH
也可以吗?或者也许根本不需要设置任何东西,因为它们是由满足相对路径的特殊程序使用的?
这个话题接近可移植的二进制文件和 libexec 路径不过,它在包中创建 libexec 文件时解决了类似的问题
答案1
libexec
适用于私有二进制文件,IE程序使用但通常不可用的二进制文件。请参阅FHS:
/usr/libexec
包括不打算由用户或 shell 脚本直接执行的内部二进制文件。
所以不,你不应该将它添加到任何PATH
-style 变量中。