![更新在更新后仍然存在的 $PATH 变量吗?](https://linux22.com/image/135561/%E6%9B%B4%E6%96%B0%E5%9C%A8%E6%9B%B4%E6%96%B0%E5%90%8E%E4%BB%8D%E7%84%B6%E5%AD%98%E5%9C%A8%E7%9A%84%20%24PATH%20%E5%8F%98%E9%87%8F%E5%90%97%EF%BC%9F.png)
我们可以在原来的基础上PATH
添加一个新的第三方应用程序,好的。/etc/profile
$PATH
但是..我可以看到该/etc/profile
文件是由一个包提供的:aaa_base。如果有人升级 aaa_base 会发生什么?
问:我们如何确保$PATH
保留在某个地方,升级不会对其进行修改?
答案1
由于您有一个现有/etc/profile.d
目录(大概还有相应的/etc/profile
或/etc/${SHELL}rc
文件)来源文件在该目录中),我建议放置一个/etc/profile.d/3rd-party-app.sh
和/或/etc/profile.d/3rd-party-app.csh
包含所需代码的文件。如果您是第 3 方应用程序的打包者,您可以将这些文件包含在打包中,以便包管理器安装、更新和删除它们。否则,作为软件的用户,将这些文件放在那里将使它们不受管理,因此不受操作系统软件包更新的影响。
来自OP的更新:
https://www.suse.com/documentation/sles11/book_sle_admin/data/sec_adm_whatistheshell.html
/etc/profile 不要修改此文件,否则您的修改可能会在下次更新时被破坏!
/etc/profile.local 如果扩展 /etc/profile,请使用此文件
/etc/profile.d/ 包含特定程序的系统范围配置文件