Блоки могут иметь дополнительные настройки в каталогах .d/
рядом с блоком. Например, foo.service
можно расширить с помощью foo.service.d/*.conf
.
Единицы шаблона будут использовать два каталога — экземпляр и шаблон, поэтому getty@ttyS1.service
будет расширен как из getty@ttyS1.service.d/*.conf
, так и изgetty@.service.d/*.conf
. Таким образом, вы можете расширить все экземпляры устройства одновременно. В обоих случаях вы, устройство и его конфигурации расширения, можете использовать %i для получения бита «ttyS1».
Однако некоторые устройства не могут использовать шаблоны, например. слайсы (, представляющие cgroups ), называются user-<UID>.slice
, а не user@<UID>.slice
, потому что имя этих блоков представляет собой путь к файловой системе(тире сопоставляется с косой чертой, и поэтому «пользователь -123.slice" является потомком "user.slice" ).
Поскольку желательно иметь возможность конфигурировать все отдельные пользовательские слайсы, (например,. дать каждому фрагменту x% памяти ), аналогичный механизм был добавлен для модулей, которые используют путь -как имена :аналогично приведенному выше примеру getty, модуль user-1000.slice
может быть расширен как из user-1000.slice.d/
, так и из user-.slice.d/
, с файлами в последнем универсальном каталоге можно использовать %j для получения бита «1000».
Этот последний пример используется на практике при установке systemd по умолчанию:
$ systemctl cat user-1000.slice
# /usr/lib/systemd/system/user-.slice.d/10-defaults.conf
[Unit]
Description=User Slice of UID %j