
systemctl cat myunit.service
выводит содержимое основного myunit.service
файла, за которым следуют все файлы переопределения. Есть ли способ вывести файл юнита, который systemd будет фактически использовать, т. е. тот, который сформирован путем слияния переопределений в основной юнит?
решение1
Вы можете использовать systemctl show myunit.service
для отображения свойств блока. Он распечатает все свойства, связанные с этим файлом блока, глобальную конфигурацию и любые настройки, сделанные в файле(ах) блока.
По умолчанию пустые свойства подавляются. Используйте --all, чтобы показать и их.
systemctl show myunit.service --all
Если вы хотите проверить определенное свойство, используйте следующий синтаксис:
systemctl show myunit.service --property=<PROPERTY_NAME>
#example
#systemctl show myunit.service --property=ExecStart
Обратите внимание, что результат может оказаться не совсем таким, как вы ожидаете:
Обратите внимание, что свойства, отображаемые командой, как правило, являются более низкоуровневыми, нормализованными версиями исходных параметров конфигурации и раскрывают состояние выполнения в дополнение к конфигурации. Например, свойства, отображаемые для единиц обслуживания, включают текущий идентификатор основного процесса службы как "MainPID" (что является состоянием выполнения), а настройки времени всегда отображаются как свойства, заканчивающиеся на суффикс "...USec", даже если соответствующие параметры конфигурации заканчиваются на "...Sec", поскольку микросекунды являются нормализованной единицей времени, используемой внутри системы и менеджера служб.
Подробную информацию о многих из этих свойств см. в документации по интерфейсу D-Bus, поддерживающему эти свойства, см.org.freedesktop.systemd1(5).