Migracja serwisów SysV -> systemd

Tomasz Pala gotar at polanet.pl
Tue Jan 24 19:59:41 CET 2012


On Tue, Jan 24, 2012 at 19:46:48 +0100, Pawel Golaszewski wrote:

>> 0. olewamy sprawę, jak ktoś zmieni inita, to ten mu uruchomi usługi 
>>    SysV; będzie musiał sobie ręcznie włączyć co chce mieć pod systemd.
> 
> No nie - to nie jest fajne, system staje się niedeterministyczny, zależny 
> MOCNO od kolejności instalacji.

A czym się różni uruchomienie przez SysV od uruchomienia przez unit?
Niczym istotnym - funkcjonalność pozostaje.
A zależność jest trywialna do opisania: systemd uruchamia natywnie
usługi zainstalowane po nim. Można nawet stwierdzić, że to feature a nie
bug: zamiana init na systemd nie zmienia automatycznie konfiguracji
startu systemu, więc jest operacją niskiego ryzyka.
Administrator może później zatrzymać usługę SysV, uruchomić z ręki unit
i jeśli stwierdzi, że działa - to go włączyć.

>> > 1. Requires(post,preun): systemd-units.
>> To jest najczystsze rozwiązanie - 300 KB dzisiaj nie stanowi problemu na 
>> większości maszyn.
> 
> A nie będzie problemów i sypania błędami dotyczących komunikacji z dbusem?
> Sprawdziliście jak to się zachowa przy jego całkowitym braku?

Nie dam sobie teraz nic uciąć, ale enable/disable z tego co pamiętam (bo
CHYBA kiedyś sprawdzałem) nie wymaga dbusa ani nic - przecież ta funkcja
powinna działać nawet z poziomu emergency.target.

>> > 2. Magia przy instalacji systemd-units, która włączy wcześniej 
>> >    zainstalowane paczki.
> 
> 3. Odłożenie komend z makr do wykonania później.

Jak już wspomniałem - oba te warianty są wadliwe, gdyż mogą aktywować
usługi wyłączone chkconfigiem. W wariancie zerowym nie dzieje się nic
nieprzewidywalnego, wariant pierwszy dodaje jedynie pewne zużycie dysku.
Dlatego moje zdanie to po prostu S: systemd-units; bez rzeźbienia.

A żaden z wariantów i tak nie obsługuje sytuacji, w której ktoś ma
lokalnie zmienioną kolejność SysV.

-- 
Tomasz Pala <gotar w pld-linux.org>


More information about the pld-devel-pl mailing list