Migrując na Bridge z systemów bazujących na Ubuntu czy Debianie sporą trudnością może okazać się obecność systemd, który wymaga całkowicie innego podejścia do zarządzania usługami. Wbrew obiegowym opiniom, nie jest to szczególnie trudne - wygląda to tylko inaczej. Postaram się przedstawić wszystko w telegraficznym skrócie:
systemctl enable nazwausługi
Żeby następnie "wystartować" usługę, należy użyć komendy:
systemctl start nazwausługi
Analogicznie wygląda wyłączenie usługi. Najpierw dajemy:
systemctl stop nazwausługi
Potem trzeba użyć:
systemctl disable nazwausługi
Status usługi sprawdzamy:
systemctl status nazwausługi
Żeby zrestartować usługę musimy wpisać w konsolę:
systemctl restart nazwausługi
Przeładowanie usługi;
systemctl reload nazwausługi
Sprawdzenie, czy jest włączona:
systemctl is-enabled nazwausługi
Pełna lista demonów i usług:
https://wiki.archlinux.org/index.php/Daemons_ListZa pomocą systemd możemy dokonać także podstawowych zmian w systemie, na przykład:
1. Zmiana nazwy hosta:hostnamectl set-hostname myhostname
2. Zmiana czasu/strefy czasowej:timedatectl set-timezone Europe/Berlin
3. Ustawienie/deaktywowanie czasu sprzętowego:timedatectl set-local-rtc true
timedatectl set-local-rtc false
4. Zmiana lokalizacji językowej systemu:localectl set-locale LANG="pl_PL.utf8"
5. Zmiana układu klawiatury:localectl set-keymap pl
6. Przeglądanie logów systemowych:journalctl
* logi z bootowania
journalctl -b
* najnowsze logi
journalctl -f
Dobrze jest skonfigurować journald, gdyż w przeciwnym razie logi mogą "zapchać" nam dysk.
W tym celu edytujemy
/etc/systemd/journald.conf i zmieniamy zawartość pliku na taką
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
#
# See journald.conf(5) for details
[Journal]
Storage=auto
Compress=yes
Seal=yes
SplitMode=login
RateLimitInterval=10s
RateLimitBurst=200
SystemMaxUse=50M
#SystemKeepFree=
#SystemMaxFileSize=
#RuntimeMaxUse=
#RuntimeKeepFree=
#RuntimeMaxFileSize=
#MaxRetentionSec=
MaxFileSec=1month
ForwardToSyslog=yes
ForwardToKMsg=no
ForwardToConsole=no
TTYPath=/dev/console
MaxLevelStore=debug
MaxLevelSyslog=debug
MaxLevelKMsg=notice
MaxLevelConsole=info
7. Analiza startu systemuSystemd posiada zaimplementowane narzędzia, które pozwalają mu bezproblemowo zastąpić bootchart:
[root@bridge lucek]# systemd-analyze time
Startup finished in 3454ms (kernel) + 9231ms (userspace) = 12686ms
[root@bridge lucek]# systemd-analyze blame
6569ms pacman-init.service
4345ms NetworkManager.service
1818ms systemd-logind.service
1363ms systemd-vconsole-setup.service
673ms tmp.mount
608ms upower.service
603ms systemd-tmpfiles-setup.service
496ms systemd-user-sessions.service
486ms dev-hugepages.mount
482ms dev-mqueue.mount
478ms sys-kernel-debug.mount
448ms dhcpcd.service
445ms systemd-udevd.service
295ms polkit.service
207ms etc-pacman.d-gnupg.mount
182ms systemd-sysctl.service
142ms ntpd.service
126ms haveged.service
123ms systemd-udev-trigger.service
119ms udisks2.service
86ms systemd-remount-fs.service
47ms modem-manager.service
5ms proc-sys-fs-binfmt_misc.mount
Jedną z ostatnich funkcji godnych polecenia jest wygenerowanie odpowiedniego wykresu:
systemd-analyze plot >start.svg
8. Zarządzanie zasilaniem
* usypianie:
systemctl suspend
* hibernowanie:
systemctl hibernate
* wyłączanie
systemctl poweroff
* restart
systemctl reboot