【发布时间】:2020-07-04 10:05:28
【问题描述】:
如果我运行命令
systemctl set-environment VARIABLE=VALUE
是只存储在内存中,还是持久化到磁盘中?
【问题讨论】:
标签: linux bash environment-variables systemd
如果我运行命令
systemctl set-environment VARIABLE=VALUE
是只存储在内存中,还是持久化到磁盘中?
【问题讨论】:
标签: linux bash environment-variables systemd
systemctl 的 {set,unset,import}-environment 子命令仅影响运行时配置(即它们只持续到重新启动,但将继续存在 systemctl daemon-reexec 和 systemctl daemon-reload)。
如果您在任何情况下都想使环境配置永久化,您可以使用/etc/systemd/system.conf(参见systemd-system.conf(5))中的DefaultEnvironment= 指令进行系统范围的环境变量配置或Environment=(@ 987654322@) 用于单位配置。
【讨论】:
systemctl 只需调用SetEnvironment D-Bus 方法,而该方法在另一端调用manager_client_environment_modify function。我承认它不像有文档那么清楚,但事实就是这样。