```{index} systemd; systemctl edit, systemd; unit file ``` # systemd --- persistent override для unit файлов Нужно, чтобы изменить отдельные параметры unit файла, не заменяя файл целиком. Изменения сохраняются при обновлении, удалении и переустановке пакетов (и ОС). Плюс такого подхода очевиден, например, когда в системный unit файл при обновлении добавляются новые параметры. ```{note} Порядок действий продемонстрируем на примере изменения расположения кластера БД PostgreSQL. ``` Для создания постоянного переопределения (persistent override) выполняем: ```bash sudo systemctl edit postgresql.service ``` В открывшемся редакторе вводим: ```text [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`. Редактировать его, как вы знаете, не следует. ```