openSUSE 12.3 a fost lansat acum ceva timp și pe lângă multitudinea de elemente noi a marcat trecerea definitivă de la Sysvinit la Systemd ca program de administrare a procesului de pornire (a.k.a. boot) a sistemului de operare. Această trecere implică ajustarea de la comenzile /etc/init.d/serviciu start|stop|restart și desigur init 3, init 5 pentru a schimba între sistem de operare cu acces la un mediu grafic sau consola, la ceva nou.
Recent a trebuit să instalez driverul Nvidia pentru placa mea video (instalare manuală) și desigur acest lucru implică folosirea consolei într-un nivel în care procesul Xorg nu trebuie să fie activ. Pe vremea când Sysvinit era prezent treaba se efectua din patru pași: logare în consolă ca root, init 3, instalarea propriu-zisă a driverului și restartul necesar. Deci cum stă treaba cu Systemd?
Pentru a răspunde la întrebarea din paragraful anterior am apelat la informațiile oferite de pagina specifică wiki Systemd din cadrul portalului Fedora. Folosirea Systemd reprezintă familiarizarea cu următoarele comenzi:
– listarea serviciilor se face prin comanda systemctl
– administrarea unui serviciu se face astfel: systemctl start denumire-serviciu.service, systemctl stop denumire-serviciu.service, systemctl restart denumire-serviciu.service și systemctl status denumire-serviciu.service, care corespund pentru pornire, oprire, reponire și status (activ sau inactiv)
– activarea sau dezactivarea unui serviciu la pornirea sistemului de operare se face prin comenzile: systemctl enable denumrire-serviciu.service și respectiv systemctl disable denumire-serviciu.service
– verificarea unui serviciu activ la pornire se face prin comanda systemctl is-enabled denumire-serviciu.service; echo $? unde 0 indică că este activ iar 1 indică că este oprit
Pentru schimbarea între nivelele de rulare, lucru realizat prin comenzile init 5 și după caz init 3, este necesar să realizăm că Systemd lucrează cu ținte de nivel (a.k.a targets). Astfel pentru a schimba nivelul de rulare între 5 și 3, utilizatorul are la dispoziție următoarele comenzi:
– pentru comanda init 3 sub Systemd se lansează comanda: systemctl isolate multi-user.target SAU systemctl isolate runlevel3.target
– pentru comanda init 5 sub Systemd se lansează comanda: systemctl isolate graphical.target SAU systemctl isolate runlevel5.target
– suplimentar pentru a afla în ce nivel de rulare se află sistemul de operare se inițiază comanda systemctl list-units –type=target (minus minus type)
După ce ați terminat cu ajustarea la aceste comenzi trebuie să știți că reboot încă funcționează atunci când se dorește restartarea sistemului de operare dar pentru al opri este necesar rularea comenzii poweroff (alternativ halt -p sau shutdown -P now). Atenție totuși, lansarea comenzii halt fără nici un alt parametru va pune calculatorul în stand-by.