我正在为构建几十个二进制文件和脚本的生物信息学工具包创建一个包。目前,所有这些都安装在“bin”目录下,无论包管理器使用什么前缀。我是由维护包存储库的人员运行的,这使他们皱眉,因为这为与其他包发生文件名冲突创造了许多机会。
大多数用户只使用大约9个可执行文件。其余的是实用程序,如文件格式转换器。包存储库管理人员建议在libexec下的子目录中安装其他可执行文件。这样做很容易,但我有点担心它不符合文件系统层次标准中规定的libexec目的,因为可执行文件打算由最终用户直接运行。
一个软件包是否有更好的目的地来安装几十个很少使用的可执行文件?
发布于 2017-10-27 00:10:07
libexec很好,例如RedHat上的后缀MTA在/usr/libexec/postfix下有很多工具。对于另一个选项,mailman在RedHat上打包使用/usr/lib/mailman/bin作为其命令行实用程序(newlist、list_lists等)。
但是,如果实用程序需要在PATH中,那么您还需要确保将shell信任调整为包含该内容(或者只是将所有内容转储到bin目录中并完成操作,或者让非PATH中的实用程序在需要调用它们的事情中将PATH完全限定为它们)。
https://unix.stackexchange.com/questions/400723
复制相似问题