Migracja serwisów SysV -> systemd

Jacek Konieczny jajcus at jajcus.net
Tue Jan 24 13:42:03 CET 2012


On Tue, Jan 24, 2012 at 01:26:41PM +0100, Bartosz Świątek wrote:
> Czy to jest jakas baza systemdowa? 

Tak jakby.

> Ze systemd wie ze zarejestrowaly sie u niego takie a siakie uslugi?

To raczej unity, które odpowiadają plikom w init.d/
I symlinki, odpowiadające tym w rc*.d/.

'systemctl enable' odpowiada 'chkconfig --add'.

> Czy da sie ta baze manipulowac?

Da się, normalnie za pomocą "ln -s" i "rm", ale żeby to robić mądrze, to
trzeba pliki /lib/systemd/system/*.service parsować.

> 1)
> Instalowac wszystko jak leci, jesli nie ma zainstalowanego systemd to
> sie najwyzej %post i %preun nie wykonaja (gracefully). Instalacja
> systemd wykrywalaby sobie sama w %post juz zainstalowane uslugi i je
> rejestrowala u siebie

Też o tym myślałem. Tylko co ma systemd rozumieć jako 'juz zainstalowane
uslugi'? Wszystko w /lib/systemd/system/? Czy tylko to co przyszło z
RPMów? Albo tylko z rpmów z %systemd_post? Jak to rozróżnić?

> 2)
> Instalowac wszystko jak leci majac zainstalowany wlasnie jakis pakiet
> tworzacy ta baze, czy te symlinki potrzebne systemdowi. A instalacja
> systemd juz nic nie robi i widzi ze uslugi sa juz "zarejestrowane" u
> niego.

To właśnie załatwiałoby systemd-units (zawierające obecnie i systemctl), 
ale musiałby być wymagane przez pakiety (tak jak teraz chkconfig).

> 3)
> Jeszcze jakas inteligentniejsza metoda ktora akurat teraz nie zostala podana.

systemd-units to ponad 300kB, pewnie można byłoby znacznie krócej
'systemctl enable' i 'systemctl disable' zreimplementować w jakimś awku…
ale nie jestem przekonany do tego rozwiązania.

Pozdrowienia,
        Jacek


More information about the pld-devel-pl mailing list