如何获取 debian 包的 postinst 文件的环境变量?

How to source environmental variables of a postinst file of a debian package?

我已经为 apache-maven 创建了一个 debian 包,这样它就可以通过 apt 安装。问题是导出一些环境变量,如 M2_HOME 和 PATH 等。我创建了一个 postinst 脚本文件并将导出命令粘贴到其中。

构建 .deb 文件并通过存储库 url 将其提供给我的 sources.list 后,我成功地通过 apt 安装了 maven。但是环境变量没有导出,所以我无法 运行 mvn 命令。

我了解到父进程只能获取子进程的变量。如何在同一 shell 会话中将 postinst 文件的变量提供给整个系统?

您可以将文件放在 /etc/profile.d 中,当用户开始新的(Bourne-family)shell 从那时起,这些文件将被获取。