Rain WikiWindows · Linux · Android

systemd модули и systemctl

УслугаДистрибуции със systemd

Systemd модулът е конфигурационен обект, който systemd — инициализиращата система на повечето Linux дистрибуции — управлява: услуги, сокети, таймери, точки на монтиране и др. Модулите се описват от файлове на модули като /etc/systemd/system/<name>.service и се управляват с командата systemctl.

1Видове модули

.service стартира програма, .socket стартира услуга при появата на връзка, .timer стартира модул по разписание, .mount и .automount управляват файлови системи, .target групира модули в състояния като multi-user.target.

2Къде се намират файловете на модулите

Пакетите инсталират модули в /usr/lib/systemd/system (или /lib/systemd/system). Локалните промени принадлежат на /etc/systemd/system, което има по-висок приоритет. systemctl edit <unit> създава допълнително презаписване, вместо да променя пакетирания файл.

3Ежедневни команди

systemctl status <unit> показва състоянието и последните редове от лога. 'start', 'stop' и 'restart' действат веднага; 'enable' и 'disable' управляват стартирането при зареждане на системата; 'enable --now' прави и двете. systemctl --failed извежда списък с неизправните модули, а systemctl daemon-reload препрочита файловете на модулите след промени.

Как да провериш неизправна услуга

  1. Извеждане на списък с неизправни модули: systemctl --failed
  2. Показване на състоянието и скорошни съобщения: systemctl status <unit>
  3. Четене на пълния лог за това зареждане: journalctl -u <unit> -b
  4. След коригиране на конфигурацията: sudo systemctl restart <unit>

Внимание

  • Променяй пакетираните модули със systemctl edit, а не чрез редакция на файлове в /usr/lib/systemd/system: актуализациите ги презаписват.
  • Не деактивирай модули, които не познаваш, като systemd-journald или dbus.

Източници

  1. systemctl(1) man7.org
  2. systemd.unit(5) man7.org
  3. systemd.timer(5) man7.org

Последен преглед: