systemd — persistent override для unit файлов
systemd — persistent override для unit файлов#
Нужно, чтобы изменить отдельные параметры unit файла, не заменяя файл целиком. Изменения сохраняются при обновлении, удалении и переустановке пакетов (и ОС). Плюс такого подхода очевиден, например, когда в системный unit файл при обновлении добавляются новые параметры.
Note
Порядок действий продемонстрируем на примере изменения расположения кластера БД PostgreSQL.
Для создания постоянного переопределения (persistent override) выполняем:
sudo systemctl edit postgresql.service
В открывшемся редакторе вводим:
[Service]
Environment=PGDATA=/mnt/storage/pgsql/data
где /mnt/storage/pgsql/data — новое расположение кластера БД.
В результате создаётся файл
/etc/systemd/system/postgresql.service.d/override.conf, который
переопределяет только указанные нами параметры стандартного unit-файла. При
обновлении пакетов, переустановке и т.п. данный файл сохраняется.
Hint
Дефолтный unit-файл находится в /usr/lib/systemd/system/postgresql.service.
Редактировать его, как вы знаете, не следует.