antiX-26 — zase o niečo lepší #3

25.05 | 17:02 | Richard | Richard

Tak konečne si povieme viac o init systémoch antiX-u. Prečo ich má vlastne toľko?

Čo je to init

Pre väčšinu je to pravdepodobne známy pojem, no ak nie, tak init systém v linuxe je prvý proces, ktorý sa spustí po zavedení jadra. Jeho úlohou je inicializovať systém, spustiť služby a zabezpečiť ich správne fungovanie.

Je ich viacero, najznámejšie sú:

Zvlášť odklon od SysVinit smerom k systemd vzbudilo veľa povyku a obe strany majú svoje argumenty, ktorými zručne racionalizujú ich používanie. A neradno sa ani teraz do takejto dišputy pustiť.

antiX neprešiel na systemd z viacerých dôvodov, najmä však kvôli podpore starých strojov, filozofie nezávislosti (najväčším prispievateľom je RedHat, čo u niekomu môže dvíhať obočie — proste korporát), ďalej kvôli jeho monolitickej architektúre (systemd obsluhuje nielen init, ale aj cgroups, logovanie (journald), sieť, atď.), a i teda kvôli nesúladu s unixovou filozofiou.

Voľba init-u

antiX má na to šikovný nástroj: „Init Diversity Manager“. A to je fajn, je to grafický nástroj, pomocou ktorého to ide jednoducho a navyše — diverzita je vždy prínosom. Ono je to tak, že grub menu automaticky spustí program, na ktorý odkazuje súbor /sbin/init. Takže tento nástroj vyrába požadovaný symbolický odkaz.

Adresár /etc obsahuje konfiguračné súbory pre všetkých päť init systémov a adresár /sbin obsahuje spúšťacie súbory.

Aha — ešte sme nepovedali, o aké systémy sa jedná. Sú to tieto:

Obr. 0: Init Diversity Manager

Prečo ich je tak veľa? Presnú odpoveď nepoznám, ale hádam je to preto, že každý má svoje plusy a mínusy.

InitParalelný štartZávislostiUmiestnenieVýhodyNevýhody
SysVinitNie (väčšinou sekvenčne)Žiadne formálne, poradie cez prefix S/K/etc/init.d, /etc/rc?.dJednoduchý, široká podporaPomalší štart, manuálne závislosti
OpenRCÁno (možné)Deklarované v skriptoch/etc/init.d, /etc/conf.d, /var/service (distro-specific)Lepší paralelizmus a správa závislostí, stále sú to sh skriptyManuálne závislosti, bez vlastného logovania
runitÁno, rýchlySlužby sú nezávislé/etc/sv alebo /srv/run, jednotlivé run súboryVeľmi rýchly, jednoduchý model, dohľad nad procesmiManuálne závislosti, nemá cgroups
s6Áno, ešte rýchlejšíZložité explicitné závislosti cez s6-rc/etc/s6, /service alebo distro-spec. adresáreVeľká kontrola, robustný dohľad nad službamiStrmšia krivka učenia
dinitÁnoDeklarované závislosti/etc/dinit.d alebo /etc/dinitMalý, rýchly, explicitné závislostiMenej rozšírený, menej balíčkov so service-súbormi
systemdÁnoDeklarované závislosti v unit súboroch/lib/systemd/system, /etc/systemd/systemModerné, rýchly štart, jednotná konfiguráciaVeľký, integrovaný, all-in-one, kontroverzný

A čo sa deje na pozadí?

Ako sme hovorili, /sbin/init je symbolický odkaz na konkrétny init skript. (napr. /lib/runit/runit-init, /lib/sysvinit/init,…); antiX poskytuje pre niektoré inity samostatné „service“ balíčky a štruktúry (napr. runit-service-, dinit-service-, s6-rc-service-, 66-service-; dajú sa zistiť pomocou
apt-cache search '^runit-service-|^dinit-service-|^s6-rc-service-|^66-service-').

Tie inštalujú služby v tvare očakávanom daným initom (runit: /etc/sv alebo /srv/run, dinit: svoje konfigurácie). Zároveň antiX má klasické SysV skripty (/etc/init.d/) ktoré niektoré inity dokážu znovu použiť alebo volať cez kompatibilné wrappery.

Čo je ale dôležité: nie všetky služby sú „duplikované“ v plnom rozsahu pre každý init. Preto antiX buď dodá pre daný init vlastné service-balíčky, alebo inity používajú kompatibilné skripty/wrappery.

Pri zmene init systému sa zmení proces 1 (PID 1) spúšťaný kernelom; ten (konkrétny init) potom používa svoju vlastnú politiku spúšťania a adresáre pre služby (teda nejedná sa len o „prepínanie symlinkov“ v /etc, ale tie služby musia v tvare očakávanom novým initom). Preto antiX dodáva nástroje a balíčky, ktoré pripravujú potrebné „service“ súbory a upravujú boot menu.

Otázkou teda je, či každý init má svoje vlastné verzie skriptov so službami…? No nie. Často je jedna „primárna“ implementácia (najčastejšie SysV skript v /etc/init.d/) a ostatné inity buď používajú kompatibilné wrappery, alebo distribúcia poskytne špecifické „service“ balíčky.

 

Poznámka na okraj: čo je to ten „wrapper“?

Je to malý skript, ktorý umožní spustiť službu napísanú pre jeden init systém, ktorý premostí rozdiely v API, umiestnení (v adresárovej štruktúre) a spúšťacom modeli. Hľadal som hocikde po webe, ako to presne funguje, a zistil som len, že wrapper zavolá pôvodný init skript s potrebnými parametrami (start/stop/restart) a preloží ho do formy, ktorú nový (druhý) init očakáva (napr. runit očakáva súbor run, s6 očakáva run a finish, dinit moduly majú zase niečo iné). Výhodou môže byť prispôsobenie existujúcich služieb bez ich úplneho prepísania, takže možno používať služby napísaných len so SysV skriptami.

Zhrnuté — niektoré služby sú ošetrené tými „wrappermi“, a niektoré sú dodávané vo viacnásobných service‑balíčkoch. Medzi tie, povedzme „univerzálne“ patria udev, dbus-daemon, syslog, ssh, cron, /getty/…

Špecifické majú napríklad takéto mená:

Výber požadovaných služieb pri štarte systému, alebo ich ručné spustenie, zastavenie či reštart sa v minulosti pre SysVinit robilo pomocou TUI rozhrania. Teraz k tomu pribudol i grafický nástroj.

Obr. 1: Service manager

Ako ten-ktorý init funguje, ako sa ovláda z príkazového riadku možno dohľadať v oficiálnej dokumentácii:

Záver

Veľké množstvo rôznych init systémov v antiX-e je dôkazom, že jeho autori nestrácajú čas spormi, ktorý init je lepší (samozrejme, systemd je výnimkou) a implementujú rôzne riešenia, ktorými poskytujú používateľom skutočnú slobodu výberu.

Namiesto slepého nasledovania jednej platformy si antiX zachováva ľahkosť, rôznorodosť a adaptabilnosť pre rôzne hardvérové a filozofické potreby.

Toto prístup len potvrdzuje antiX ako moderný, štíhly systém s rešpektom k používateľom.

Aj preto ich pravidelne finančne podporujem. Vážim si ich nadšenie a prácu.

    • RE: antiX-26 — zase o niečo lepší #3 25.05 | 21:11
      Avatar redhawk1975 Windows 11 nonsystemd edition  Používateľ

      Prečo ich je tak veľa? Presnú odpoveď nepoznám, ale hádam je to preto, že každý má svoje plusy a mínusy.

      kedze som v tyme nieco viem. SysVinit je overeny a prevereny a tiez Runinit je dlho v antixe, planoval sa ako nahrada za sysV

      no a tie dalsie 4 sa momentalne skor testuju. predpoklada sa ze bude k dispozicii 3-5 init systemov a systemd to nebude. anticapitalista to nedovoli. 

      citujem:

      antiX-26 ships with 4 modern init systems (runit, dinit, s6-rc and s6-66) as well as the old, but trustworthy sysVinit. Runit and sysVinit are both tried and tested on antiX, while the others are more experimental 

      rovnako elogin a flatpak

      A further feature of antiX is that you can install kernels from a variety of sources including Debian, MX Linux, siduction, liquorix and others. This is especially useful if you have a recent computer as newer hardware is more likely to be detected and work with newer kernels.

      Don’t forget - antiX is systemd and elogind free!

       

      inak super robota.

      btw uz si objavil full2base script?

      Do or do not. There is to no try.​ Když pohřbíš moc tajemství, na hřbitově dojde místo.
      • RE: antiX-26 — zase o niečo lepší #3 26.05 | 07:06
        Avatar Richard antiX  Používateľ

        Nespomínam si, či som niekedy potreboval program, ktorý by explicitne potreboval systemd. Tuším ho potrebuje snap a GNOME, ale tieto určite k životu nepotrebujem 😺.


        Čo sa týka kernelov, niekoľkokrát som úspešne nainštaloval jadrá z liquorixu. Ale  nebolo to potrebné, len som v nejakom období života myslel, že je to cool mať vždy najnovšie jadro či verzie programov. Teraz si vystačím z stable repozitármi, bezpečnostnými záplatami a niekoľko programov si kompilujem. Asi je to vekom, neviem 😺.

        „full2base“ som nezaregistroval… názov indikuje, že to asi oklieští full verziu na base, ktorá sa inak prestala distribuovať, ak sa nemýlim…

        • RE: antiX-26 — zase o niečo lepší #3 28.05 | 17:16
          Avatar redhawk1975 Windows 11 nonsystemd edition  Používateľ

          systemd potrebuje snap a elogind zase flatpak.

          full2base odstrani vacsinu softwaru. ano je to nahrada za base.

          inak odpoved anticapitalistu k multiinit:

          antiX is transitioning from single-init to a multi-init architecture, where users can select from several systemd-free initialization systems.
          Future releases, including the antiX 26 'Stephen Kapos' edition (2026), will support five init systems within a single codebase, allowing users to choose their preferred option at boot.

          Do or do not. There is to no try.​ Když pohřbíš moc tajemství, na hřbitově dojde místo.
          • RE: antiX-26 — zase o niečo lepší #3 29.05 | 07:20
            Avatar Richard antiX  Používateľ

            full2base

            Hm, ani pri najlepšej vôli ten skript nemôžem nikde nájsť. Buď to zle hľadám,…

            Chcel by som si ho pozrieť, čo všetko odstraňuje.

            Ja osobne používam vlastné poinštalačné skripty, ktoré tiež odstránia čo nechcem, pridajú to, čo používam, nastavia moje rozloženia klávesnice, …

        • RE: antiX-26 — zase o niečo lepší #3 28.05 | 17:16
          Avatar redhawk1975 Windows 11 nonsystemd edition  Používateľ

          systemd potrebuje snap a elogind zase flatpak.

          full2base odstrani vacsinu softwaru. ano je to nahrada za base.

          inak odpoved anticapitalistu k multiinit:

          antiX is transitioning from single-init to a multi-init architecture, where users can select from several systemd-free initialization systems.
          Future releases, including the antiX 26 'Stephen Kapos' edition (2026), will support five init systems within a single codebase, allowing users to choose their preferred option at boot.

          Do or do not. There is to no try.​ Když pohřbíš moc tajemství, na hřbitově dojde místo.
    • RE: antiX-26 — zase o niečo lepší #3 26.05 | 07:44
      Avatar Livan Manjaro s XFCE, Q4OS s KDE  Používateľ

      Troška ma zarazilo, že máš uvedenú u s6 "strmšiu krivku učenia" ako nevýhodu. Však čím je krivka strmšia, tým sa rýchlejšie učí. To je skôr výhoda, nie? Čo mi dlhšie u AntiX vadilo sú dve veci. Prvá, že má strašný chaos v menu s jeho veľa možnosťami prepínania rôznych okenných manažérov. Zbytočný chaos. Navyše chápem, že sa niekomu nepozdáva systemd a chce tam mať niečo iné ale preboha prečo toľko možností? Však vyberiem si jeden z nich a hotovo. Pripadá mi to, ako keď si niekto kúpi auto s rôznymi sadami kolies a vždy pred jazdou sa rozhodne tak dobre, dnes pôjdem s kolesami 205/55 16" a zajtra zasa s 205/50 17".

      • RE: antiX-26 — zase o niečo lepší #3 26.05 | 14:13
        Avatar Richard antiX  Používateľ

        Však čím je krivka strmšia, tým sa rýchlejšie učí. To je skôr výhoda, nie?

        Myslím, že sa to posudzuje tak, že čo má strmú krivku, tak to je náročné na učenie, hoci to môže byť rýchle. Niečo ako v tomto vtipe: https://zerocontradictions.net/images/text-editor-learning-curves.png

         

         ale preboha prečo toľko možností?

        Vlastne s tebou súhlasím. Ale ako uviedol Redhawk, asi je to forma testovania na živých ľuďoch. 😺


        A ono možno je tam aj motivácia mať niečo, čo nie je v iných distrách. Aby ten projekt proste nezapadol prachom a nezáujmom. 

        • RE: antiX-26 — zase o niečo lepší #3 27.05 | 13:21
          Avatar Livan Manjaro s XFCE, Q4OS s KDE  Používateľ
          Myslím, že sa to posudzuje tak, že čo má strmú krivku, tak to je náročné na učenie, hoci to môže byť rýchle.

          Však toto tvrdenie nedáva logiku. Keď je niečo náročné na učenie, tak to nemôže byť rýchle, teda krivka učenia nemôže byť strmá. Vnímam to tak, že keď je krivka učenia strmá, tak sa to učí rýchlo a za rovnakú časovú jednotku sa o tom naučím viacej.

          • RE: antiX-26 — zase o niečo lepší #3 27.05 | 15:01
            Avatar Richard antiX  Používateľ

            Nie, logiku to nemá.

             

            Ale všeobecne sa usudzuje, že „Strmá krivka učenia“ znamená, že na osvojenie si novej zručnosti (atď.) treba veľa času, úsilia a rýchleho zvládania zložitých vecí -- teda učenie je náročné a tempo pokroku na začiatku býva pomalé.

             

            Je to proste tak. Ďalšia z vecí na tomto svete, ktorá je podivná. :)

    • RE: antiX-26 — zase o niečo lepší #3 27.05 | 13:11
      Avatar Richard antiX  Používateľ

      Vyskúšal som aj inštaláciu „core“, ktorá nie je hardcore ako kdejaké gentoo a pod., a ozaj sa nainštaluje len minimum. Ja som to doplnil o X server, XFCE4,… napíšem o tom zápisok.