Systemd — руководство

от автора

Новый инструмент инициализации Systemd уже несколько дистрибутивов в качестве альтернативы Upstart или пыльной Sysvinit в. Некоторые Sysvinit- и Upstart распределения знакомые команды и приемы работы с помощью мер по совместимости Systemd. Для того, чтобы правильно использовать возможности Systemd, администратор должен знать, однако, также инструменты и параметры Systemd.

Самый важный инструмент для взаимодействия с командной строки программы systemctl Systemd игровая. Для изменения конфигурации или повторного запуска фоновых услуг, которые она требует привилегий суперпользователя; некоторые диагностические вызовы могут также выполнять простой пользователь. Кто называет программу без каких-либо параметров, получает список «Единицы», делать при запуске задач используется. В дополнение к интеграции и тестированию томов включает в себя запуск фоновых услуг или настройке оборудования.

В стандартной установке Fedora 16 списки Systemctl сто шестьдесят активных единиц в десяти различных сортов. Среди наиболее важных подразделений обслуживания. Они заботятся о фоновых служб, распределение Sysvinit обычно начинается около скриптов инициализации. гора- и автомонтируемые Units связать файловые системы. Socket-Единицы Legen Розетки; они начинают непрямые зависимости один другой блок, Доступ если сокет. (Подробное объяснение понятия единицы, увидеть первую часть статьи.)

вы можете указать параметр Systemctl A, список только единицы определенного типа, обо всех единиц обслуживания:

systemctl --type = обслуживание

Systemctl автоматически направляет свой вывод в дальнейшем менее; С помощью клавиш со стрелками могут быть не только высокая- и прокрутите вниз, но и вправо, потому что иногда скрыть дополнительную информацию.

Запуск делает Systemd с блоками. Бывают разных сортов, Systemctl может перечислить отдельно. VergrößernВ первой колонке вывода мы находим имя блока. Вторая колонка показывает, может ли Systemd пригласить Unit-Definition, третий, является ли блок активен. Неактивный - установлен, но не начинать Предусмотренный - Единицы программа только с помощью переключателя -a от; То же самое относится к единицам, который не смог загрузить систему инициализации о из-за ошибки в единичном файле.

Колонка четыре дает текущее состояние. «вышел» дисплеи, что процесс завершен без ошибок. Это, например, в случае услуг, бегущая в фоновом режиме - например, в блоке обслуживания, известный файл Sysvinit выполняет причины совместимости /etc/rc.local при запуске системы. «Бег» выступает за услуги, работает в фоновом режиме: хрон, DBus, SSHD, Udev и другие.

Пятая колонка представляет собой описание блока. Если вы с «LSB» или «SYSV» начинается, Systemd автоматически генерируется блок, отрабатывать традиционный сценарий инициализации.

Для получения услуг, который не может быть запущен или разбился позже, находится в четвертой колонке «не смогли» - Выделены красным цветом, при условии, что консоль окрашена управления выходными. Das status-Командование sytemctl это время отмены и возвращается код ошибки программы, например

systemctl NetworkManager.service статус

Команда статус Systemctl поставляет время обрезания и код ошибки разбившихся услуги. В свежеустановленную Fedora 16 Списки Systemctl 60 Сервисные подразделения по. Среди них процессы для входа в систему textconsole (agetty), потому что в отличие от Sysvinit Systemd обрабатывает это с помощью сервисных единиц в качестве нормального фонового обслуживания.

Единицы …

Файлы конфигурации для электрогенераторов, Systemd приносит, liegen в / Библиотека / Systemd / системы /; такая же файл в / и т.д. / Systemd / системы / но имеет преимущество.

Определение единицы, как правило, намного короче, чем классические скрипты инициализации Sys V. длинный Файл модуль для службы для сетевой синхронизации времени через NTP только несколько строк:

[Ед. изм]
Описание Service = Network Time

[обслуживание]
ExecStart = / USR / бен / пЪрд -n -u нтп:нтп -g

[устанавливать]
WantedBy = multi-user.target

Все файлы единицы сдерживалась [Unit] введен раздел с общими настройками, включая краткое описание. В разделе [Service] следить за информацией для конкретных служб; с NTP, что только команда, для запуска службы. Если специальная команда для выхода из режима необходимо, это может быть ExecStop-определить заявление. В демона NTP, который является ненужным, так как оно может быть прекращено в хорошей традиции Unix сигналом SIGTERM; отправка Systemd до конца, если не указано никакой другой команды.

раздел [Install] включает в себя инструкции, Systemd в (Де-)интерпретированы установка; , Запись в NTP примере, что синхронизация времени с вождением мишени «Multi-User» называться.

… и целевые

Целевые единицы предлагают концепцию, напоминающее Sysvinit уровни запуска; Из соображений совместимости понимается Systemd даже уровни выполнения имен контроля эквивалентных целей. Как и раньше, поэтому в Fedora 16 ядро в параметре загрузчика single дать; Systemd затем управляет rescue.target an, минимальный, в однопользовательском режиме, соответствующие предложения площадь.

также 3 завод, для управления многопользовательский режим без графического менеджера входа в систему. Представляет этот режим в Systemd целевым блоком многопользовательского. Um multi-user.target стать стандартом, Ссылки представляет:

пер -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target

Если графический менеджер Войти позже, но запускается по умолчанию снова, вы можете таким же образом, graphical.target поднять стандартные цели; это эквивалент уровня выполнения 5 Fedora и OpenSuse. В качестве альтернативы старых обозначений уровней запуска может дать ядру, имя исходного целевого устройства:

systemd.unit = multi-user.target

Для того, чтобы управлять другой целевой блок в эксплуатацию, служит isolate-Командование Systemctl:

systemctl изолят rescue.target

Изменение интересного Спасательной Target для задач администрирования, потому что это закончилось Systemd все логины и справочные службы, оставив только системные службы работают - как те, для мониторинга логических томов (lvm2-монитор). Иногда они должны быть закрыты на ремонт, что с режимом чрезвычайного emergency.target преуспеть; здесь работают только нити ядра.

желание

Das show-Командование Systemctl доставляет некоторые из внутренних органов в текущих единицах измерения и работы, проводимой на них. Он может быть использован также провести, телефонных разговоров, которые Единицы Systemd в вождении целей многопользовательского:

systemctl шоу -p хочет multi-user.target

В вопросе других целей можно найти - когда multi-user.target о basic.target. Это, в свою очередь, зависит от того, sysinit.target от, das local-fs.targetпредполагает. Эти три цели заботиться о базовой настройке системы; они включают интеграцию файловой системы и начало Udev. Чтобы задать функцию основного целевого блока содержит конфигурационный файл multi-user.target следующую информацию:

Требуется = basic.target
После того, как = basic.target

Через After-Индикация узнает Systemd, что он не только назвать цель, но должен ждать его полного запуска. следующий Requires есть также слабее Wants. В заданных единицах вызывает Systemd также, устанавливает начало, но и по-прежнему, если один из них не началась.

Этот тип функции может также ссылки на файлы указать единицы, которые создаются в каталоге, чье имя состоит из имени целевого устройства и примыкающей .wants, о

.../systemd/system/multi-user.target.wants/

Ausknipsen

Кто хочет отключить Unit Ntpd Service, так что система во время загрузки не синхронизированы через NTP, может сделать следующую команду:

systemctl отключить ntpd.service

Здесь Systemctl ничего не делает, чтобы удалить как ссылка на единицу обслуживания файла в каталогах хочет; при активации услуги с enableинструмент создаст ссылку. Оба можно сделать вручную, для единиц до (из)флажок, чтобы включить.

Если услуга не из группы, но начал традиционный сценарий инициализации, передает Systemctl будет предложено активировать программу chkconfig более. В Fedora случай, если вы установили Apache и активируется через Systemctl.

Das (из)Активировать услугу вступает в силу только после следующего запуска или остановки системы. Следующая команда запускает службу уникальный немедленно:

systemctl начать ntpd.service

параметры stop закончил службу. команда status Systemctl предоставляет информацию о блоке, в том числе ее текущее состояние и имя файла с указанием их. Кроме того, программа дает, ли и как долго службы уже и процессы, которые принадлежат ему; основной процесс имеет Systemctl тем самым явным образом из.

О членство в группе можно увидеть, к которому услуга имеет процесс.
Принадлежность к масштабу Systemd групп управления может быть довольно легко найти, процессы, используемые и с которого запуск службы. Масштаб Systemd иерархии контрольной группы дает команду systemd-cgls от; альтернативно показывает членство пс группы, к:пс сырой -eour ПИД-регулятора,арг,контрольная группа

abgesoffen

Если проблемы во время проблем при загрузке, где Systemd кажется, прямо или косвенно участвует, вы должны дать ядру следующие параметры в загрузчика:

systemd.log_target = kmsg systemd.log_level = отлаживать

Systemd затем записывает подробную информацию отладки на консоли и в буфере сообщений ядра, вам позже dmesg может читать.

Для Systemd включают в себя инструменты командной строки poweroff, halt и reboot; В качестве альтернативы, вы можете выключить систему с помощью одноименных команд Systemctl или перезагрузки. Повторный запуск также достигается с помощью команды

systemctl Kexec


инструмент «Systemd-cgls» , Контрольной группы и связанные с ними процессы Показать.
После остановки всех услуг Systemd запущенное ядро, непосредственно для запуска предварительно настроенную Linux ядро ​​- без BIOS самотестирования и загрузчика. Если нет ядра Kexec не сконфигурирован, осуществляется обычный перезапуск.

Ranholen

В общих задач администрирования, чтобы получить только с сервисом- и целевые единицы в непосредственном контакте; другие подразделения особенно важны для особенностей Systemd или же при запуске все эти вещи, вокруг которого в Sysvinit- присмотрела и распределение Upstart распределения конкретных сценариев. Среди них является включение в указанный файл и т.д. / / Fstab системы, Включение пространства подкачки или случайную очистку каталога / TMP.

Для некоторых из этих работ Systemd приносит функцию автомонтируемые, псевдо-крепление может инвестировать в / и т.д. / Fstab настроенных файловых систем; на самом деле они участвуют, однако, только на первом доступе. Добавление «comment=systemd.automount» в / и т.д. / Fstab превращает любую точку монтирования в автомобиле точку монтирования. Это может ускорить процесс запуска и полезно, например, для сетевых акций, если сетевое соединение через Network Manager только настроить при входе в систему пользователь.

причина исследования

О Systemctl может Systemd для передачи сигнал вызова, не зная идентификатор процесса службы. Следующая команда смещения Rsyslogd в режиме отладки; Это завершается, если один вызывает команду во второй раз:

systemctl убить --signal = USR1 rsyslogd.service

Если опустить индикацию сигнала, подлежащего передаче, посылает Systemctl нормальный термин сигнал, после чего все процессы должны закончиться, принадлежности к службе.

Systemd приносит программу с, визуализировать процесс запуска; темные красные области, начальной фазы от услуг. Vergrößern
Команда systemd-analyze выходы, как долго стартап взял и сколько времени это за счет ядра, опущено Initramfs и настройке пользовательского пространства с помощью Systemd. Команда systemd-analyze blame те времена запуска отдельных единиц. Для более детального рассмотрения процесса загрузки, программа может создать файл SVG, умереть Start, где визуализируются Единицы измерения:

Systemd-анализа сюжета > plot.svg

Иногда вы получите единиц на трассе, сильный тянуть запуска в длину. Некоторые замечания относительно правильной интерпретации этих результатов обеспечивает седьмую часть серии блога «Systemd для администраторов». Предыдущие двенадцать многожильный серия также включает в себя многие другие советы и подсказки для практического использования Systemd:

  1. Проверка Bootup
  2. Какая служба Владеет какие процессы?
  3. Как преобразовать SysV Init сценарий в Systemd File Service?
  4. Killing услуги
  5. Три уровня «выключено»
  6. Изменение Roots
  7. Виноватых
  8. Файлы Новая конфигурация
  9. В / и т.д. / sysconfig и / и т.д. / по умолчанию
  10. инстанцирован Услуги
  11. Преобразование Inetd Услуги
  12. Защита ваших услуг

О Главная Поттеринг также найдено многочисленные другие статьи с опытом работы для инициализации системы. Я третий «Systemd Обновление статуса» Поттеринг также перечислил некоторые из нововведений в последнее время, которые были включены в последние полтора года в Systemd.

 

те: http://www.heise.de/open/artikel/Das-Init-System-Systemd-Teil-2-1563461.htmL