¿Cuál es la forma correcta de establecer la variable PATH en un archivo de unidad systemd ? Después de ver algunos ejemplos, intenté usar el siguiente formato, pero la variable no parece expandirse.
Environment="PATH=/local/bin:$PATH"Estoy intentando esto en CoreOS con la siguiente versión de systemd.
systemd 225 -PAM +AUDIT +SELINUX +IMA -APPARMOR +SMACK -SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT -GNUTLS -ACL +XZ -LZ4 +SECCOMP +BLKID -ELFUTILS +KMOD -IDNNo puede usar EnvVars en directivas de Environment . Todo Environment= será ignorado. Si usa EnvironmentFile= , el archivo especificado se cargará sin sustitución. Así que PATH=/local/bin:$PATH sería exactamente eso, y probablemente esto no sea lo que quieres.
Bajo CentOS7 funciona lo siguiente.
# /etc/systemd/system/nagios.service.d/env.conf [Service] Environment="PATH=/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin" > sudo systemctl daemon-reload > sudo systemctl restart nagios > sudo cat /proc/28647/environ ... PATH=/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin ...Puede usar la directiva EnvironmentFile= en la sección de units para establecer variables de entorno.
Simplemente coloque las variables como pares key=value y funcionará.
El tiempo de ejecución simplemente 'fuente es cualquier archivo que especifique.
Puede crear el archivo usando la directiva write_files .