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