创建包时,bash 脚本来源的“库”文件的正确位置是什么?

创建包时,bash 脚本来源的“库”文件的正确位置是什么?

我有一个“库”文件(包含一般函数),source位于许多不同的 bash 脚本中。什么是正确的文件系统地点在系统范围内“安装”这个文件?

/usr/lib/myBashlib/file.bash

我不想把它放在下面/opt,而是通过为我的发行版制作一个包来正确安装它。

编辑:我的发行版指定“永远不要将软件包安装到 /usr/local/”(EDIT2:) 以及“避免使用 /usr/libexec/ 进行任何操作”。

EDIT3:我想知道,最好的方法是否是,只定义一个环境变量(例如MYBASHLIBPATH)...这至少允许包含此库的脚本用户在本地而不是全局安装它,然后将此变量设置为他们安装它的路径...

答案1

FHS 确实不是指定位置由 bash 脚本获取的“库”文件但所需的位置可能是/usr/libexec/packagename/usr/lib/packagename/

我在 Fedora 36 上找到的包含 Bash 脚本的位置:

/usr/lib/dracut/
/usr/lib/rpm/
/usr/lib/systemd/
/usr/lib/virtualbox/

/usr/libexec/grub2/
/usr/libexec/mc/
/usr/libexec/selinux/
/usr/libexec/smartmontools/
/usr/libexec/thunar-archive-plugin/

还有许多其他人。

答案2

我不认为“库”脚本有标准的地方。但是您可能会发现/usr/local树很方便,例如/usr/local/scripts

相关内容