我想为我的应用程序 debian 包创建 postinst 脚本,并且需要修改 /etc/environment 文件(添加一些路径)以使我的应用程序 bin 目录内容在系统中全局可访问。
就我目前的知识而言,我现在能做的就是:
- 删除文件
"
中的最后一个字符/etc/environment
(现在我不知道如何在 bash 中执行此操作,也许我会尝试这样做:在unix中如何删除文件的最后一个字符? ) - 附加
:
- 将(我的应用程序 bin 目录)附加
/usr/some/directory/bin
到该文件 - 附加
"
有没有更简单的方法来永久全局地添加一些路径到环境变量?
背景:
我正在开发一些软件包来自动化安装/部署过程,我有一些东西,如 Java、bash 脚本、驱动程序和一些 c/c++ 工具应用程序,可以在许多设备上部署。
答案1
该路径不一定在 中定义/etc/environment
,即使定义了,也不能保证该路径最终会成为最终用户使用的路径。
在 Debian 软件包中,为了使命令普遍可用,您应该将它们安装到路径上的目录中,通常是/usr/bin
.如果你不能移动您的二进制文件在那里,可以添加包装脚本,/usr/bin
其中知道在哪里可以找到“真正的”命令。
对于Java,你不应该尝试自己重新打包东西;用于java-package
打包 Oracle JDK 和 JRE,或 Debian 中已有的 OpenJDK 软件包。看以符合 FHS 的方式安装 JDK和在 Ubuntu 上配置 Oracle JDK 的替代安装的方法?了解详情。