我正在开发一个打包为 DEB 和 RPM 格式的遗留跨平台项目。
安装Linux 软件包后,脚本(例如CMake 和Bash 脚本)和程序执行需要一个保存安装文件夹路径的环境变量。该变量有一个已知的名称,并且可以指向Program Files\My Package
Windows 和/opt/my_package
Unix 系统。
目前,Linux 用户必须手动注册该变量才能使用该软件。一个方便的解决方案是将环境变量注册为软件包安装的一部分。
我知道可以在配置文件中设置系统范围的环境变量,例如/etc/profile
和/etc/bashrc
.我可以修改这样的文件作为postinst
脚本的一部分。
在软件包安装期间创建系统范围的环境变量是一个好习惯吗?如果是这样,首选的方法是什么?
Linux 软件包分发给 Ubuntu 16.04 和 RHEL 7 上的用户。
答案1
我相信 Ubuntu 和 RHEL 都使用 /etc/profile.d/ 结构,并且我建议您在该目录中打包一个文件,该文件可能是根据您的应用程序命名的;例如/etc/profile.d/legacyapp.sh
(/etc/profile.d/legacyapp.csh
如果您需要支持 CSH 家族)。