niedziela, 2 września 2012

Bridge Linux i Systemd

W poprzednim poście nt. instalacji najnowszego Bridge'a poruszyłem temat migracji na nowy mechanizm startowy systemd. Wypada rozszerzyć i uporządkować uwagi dotyczące wdrażania tego rozwiązania.

Pliki konfiguracyjne

Pierwszym, nieodzownym warunkiem przejścia na systemd jest zastąpienie dotychczasowego pliku konfiguracyjnego Archa, tj. rc.conf, plikami charakterystycznymi dla nowego systemu, co opisałem wcześniej:

  • /etc/hostname
  • /etc/vconsole.conf
  • /etc/locale.conf
  • /etc/timezone
  • /etc/adjtime
  • /etc/environment

Obsługa modułów ładowanych podczas uruchamiania systemu realizowana jest przez pliki z katalogu /etc/modules-load.d/ [więcej], moduły blokowane konfigurujemy w katalogu /etc/modprobe.d/ [więcej].

Próbne użycie systemd

Pierwsze użycie systemd wiąże się z czynnościami opisanymi w poprzednim poście:
  • w /etc/environment wstawiamy: LANG=pl_PL.utf8
  • w /etc/default/grub dopisujemy: GRUB_CMDLINE_LINUX_DEAFAULT="quiet init=/bin/systemd"
  • sudo grub-mkconfig -o /boot/grub/grub.cfg - aktualizujemy Gruba
  • sudo systemctl enable graphical.target - ustawiamy domyślny target (runlevel, poziom) uruchamiania
  • sudo systemctl enable lxdm.service - uruchamiamy podczas startu systemu menedżer logowania
Restart i... wszystko powinno działać.

Tylko systemd

Jeżeli po restarcie wszystko (lub prawie) działa, należy spróbować całkowitego zastąpienia dotychczasowych skryptów startowych nowym mechanizmem:
  • sudo pacman -R sysvinit initscripts - usuwamy stare skrypty startowe
  • sudo pacman -S systemd-sysvcompat - instalujemy pakiet kompatybilności systemd z sysvinit
  • sudo systemclt enable NetworkManager.service - jeżeli wykorzystujemy NetworkManagera do zarządzania połączeniami sieciowymi uruchamiamy go podczas startu systemu
Restart i... wszystko powinno działać.
Jeżeli wszystko (lub prawie) działa, z domyślnej konfiguracji Gruba można usunąć parametr "init=/bin/systemd", pamiętając o zaktualizowaniu potem pliku koniguracyjnego.

Journal zamiast syslog-ng

Systemd zawiera własną usługę logowania, journal. Syslog-ng można odinstalować lub skonfigurować do używania razem z journalem. Domyślnie logi journala są tracone po restarcie, aby tak nie było należy utworzyć klatalog: sudo mkdir /var/log/journal. Rozmiar logu ustawiamy w pliku /etc/ssytemd/journald.conf, np. na 20 MB:
SystemMaxUse=20M
Użyteczne polecenia:
  • journalctl - wyświetlenie logów
  • journalctl _SYSTEMD_UNIT=alsa.service - przykładowe filtrowanie logów

Brak komentarzy:

Prześlij komentarz

Co myślisz, co czujesz?