close
Edukira joan

systemd

Wikipedia, Entziklopedia askea
BERJAYA Systemd
BERJAYA
Jatorria
Sorrera-urtea2010
Argitaratze-data2010
Azken bertsioa260.2
Behar dituBash, D-Bus, iptables, Libgcrypt (en) Itzuli, GNU Libidn (en) Itzuli, xz (en) Itzuli, util-linux, acl (en) Itzuli, hwids (en) Itzuli, kbd (en) Itzuli, libpcap (en) Itzuli, libselinux (en) Itzuli, libseccomp (en) Itzuli, GNU libmicrohttpd (en) Itzuli, dm-crypt, libcurl (en) Itzuli, GnuTLS, OpenSSL, zlib (en) Itzuli, Perl Compatible Regular Expressions (en) Itzuli eta GLib
Ezaugarriak
Programazio-lengoaiaC eta Python
Sistema eragileaLinux
Egile-eskubideakcopyrightduna
LizentziaGNU Lesser General Public License, version 2.1 or later (en) Itzuli
Ekoizpena
GaratzaileaLennart Poettering, Kay Sievers (en) Itzuli eta Harald Hoyer (en) Itzuli
systemd.io
GitHub: systemd
Iturri-kodeahttps://github.com/systemd/systemd
kronologia
Init Systemd

systemd GNU/Linux sistema eragileetarako abiarazte-sistema (init) eta zerbitzu-kudeatzaile bat da. Kernel edo nukleoa kargatu ondoren, sistema ordenatuan hasieratzeaz arduratzen den oinarrizko prozesua da. Gaur egungo Linux banaketa moderno gehienetan (hala nola Debian, Ubuntu, Fedora, RHEL edo Arch Linux) lehenetsitako sistema bihurtu da, System V eta Upstart bezalako legatu-sistemak ordezkatuz.

Sistema baten systemd erabiltzen ari den egiaztatzeko modurik errazena `/usr/lib/systemd` direktorioa existitzen den ikustea da.

Abiarazte Prozesua eta Helburuak (Targets)

[aldatu | aldatu iturburu kodea]

Mendetasun gogorretan oinarritzen ziren antzinako script sekuentzialen (SysV) aldean, systemd-k **"helburuen" (goals edo targets)** kontzeptua erabiltzen du sistema egoera funtzional batera eramateko. Honek abio-prozesuan malgutasun handiagoa eta prozesuen paraleloatzea ahalbidetzen du.

systemd bidezko abio-prozesuak urrats hauek jarraitzen ditu:

  1. `/etc/systemd/system` eta `/usr/lib/systemd/system` direktorioetako konfigurazio-fitxategiak kargatzen ditu.
  2. Lehenetsitako abio-helburua identifikatzen du, normalean `default.target` izeneko esteka sinbolikoa dena.
  3. Helburu horren menpekotasun guztiak ebazten ditu eta sistema nahi den egoerara eramateko beharrezkoak diren unitateak aktibatzen ditu.

Helburu nagusiak

[aldatu | aldatu iturburu kodea]

systemd-ko `target` unitateak antzinako SysV sistemako abio-mailen (runlevels) baliokideak dira, eta sistemaren uneko egoera adierazten dute:

  • poweroff.target: Sistema erabat itzaltzen du.
  • rescue.target: Mantentze-lanetarako erabiltzaile bakarreko modua eta kontsola irekitzen ditu.
  • multi-user.target: Erabiltzaile anitzeko ingurune estandarra, sarearekin baina ingurune grafikorik gabe.
  • graphical.target: Erabiltzaile anitzeko ingurune osoa, sarearekin eta ingurune grafikoarekin (GUI). Mahaigaineko ordenagailuen `default.target` gehienetan honi begira egoten da.
  • reboot.target: Sistema berrabiarazten du.

Core kontzeptua: Unitateak (Units)

[aldatu | aldatu iturburu kodea]

systemd-k kudeatzen dituen oinarrizko objektuei **unitateak (units)** deritzo. Unitate bakoitza baliabide edo zerbitzu bat deskribatzen duen konfigurazio-fitxategi bat da. systemd-ren indargune nagusia mota askotako baliabideak kudeatzeko gaitasuna da, ez zerbitzuak bakarrik. Unitate mota bakoitza bere fitxategi-luzapenaren bidez identifikatzen da. Ohikoenak hauek dira:

  • Zerbitzu unitateak (`.service`): Sistema-daemonak edo zerbitzuak kudeatzen dituzte (adibidez, web zerbitzari bat edo datu-base bat).
  • Muntatze unitateak (`.mount`): Fitxategi-sistemen muntatze-puntuak kontrolatzen dituzte.
  • Helburu unitateak (`.target`): Beste unitate batzuk taldekatzeko erabiltzen dira, abio-prozesuan sinkronizazio-puntuak sortuz. Adibidez, sistema `graphical.target` moduan abiatzen denean, helburu honek bere menpeko unitateak (hala nola `multi-user.target` edo `network.service`) lehenago abiarazi direla bermatzen du.

Unitate Fitxategi baten Egitura

[aldatu | aldatu iturburu kodea]

systemd unitate fitxategiak testu arruntaz idatzitako konfigurazio-fitxategiak dira. Adibidez, zerbitzu soil baten fitxategiak (`foobar.service`) egitura hau du:

[Unit]
Description=Nire Foobar Zerbitzua
After=network.target

[Service]
ExecStart=/usr/bin/foobar

[Install]
WantedBy=multi-user.target

Fitxategia hiru atal nagusitan banatzen da:

  • `[Unit]`: Metadatuak eta menpekotasunen informazioa gordetzen ditu. `Description` lerroak unitatearen izen ugaria ematen du. `After` eta `Before` direktibek abio-ordena kontrolatzen dute (adibidez, zerbitzu hau sarea erabilgarri egon ondoren abiatuko dela bermatzen du).
  • `[Service]`: Zerbitzua nola kudeatu definitzen du. `ExecStart` zuzentzailea funtsezkoa da, zerbitzua abiarazteko exekutatu behar den komando zehatza adierazten baitu. Hemen `ExecStop` (gelditzeko) edo `ExecReload` (konfigurazioa berritzeko) ere ezarri daitezke.
  • `[Install]`: Unitatea `systemctl` bidez gaitzen edo desgaitzen denean aplikatuko den jokabidea zehazten du. `WantedBy` direktibak zerbitzu hau abio-helburu zehatz baten zati gisa (adibidez, `multi-user.target`) kargatu behar dela esaten dio sistemari.

Zerbitzuen Kudeaketa: 'systemctl' Komandoa

[aldatu | aldatu iturburu kodea]

systemd unitateekin elkarreragiteko eta zerbitzuak kontrolatzeko tresna nagusia `systemctl` komandoa da. Hona hemen oinarrizko komandoak:

Unitateak zerrendatzea

[aldatu | aldatu iturburu kodea]

Sisteman une horretan aktibo dauden eta systemd-k kudeatzen dituen unitate guztiak ikusteko:

systemctl list-units

Unitate baten egoera egiaztatzea

[aldatu | aldatu iturburu kodea]

Unitate zehatz baten xehetasunak ikusteko (aktibo dagoen, gaituta dagoen edota azken erregistro-lerroak):

systemctl status networking.service

Zerbitzuen egoera aldatzea

[aldatu | aldatu iturburu kodea]

Zerbitzu baten exekuzio-egoera unean bertan kontrolatzeko (`start`, `stop` eta `restart` ekintzek administrazio-baimenak behar dituzte, beraz, `sudo` erabiltzen da):

  • Zerbitzu bat berehala abiarazteko:
sudo systemctl start networking.service
  • Martxan dagoen zerbitzu bat gelditzeko:
sudo systemctl stop networking.service
  • Zerbitzu bat berrabiarazteko (gelditu eta berriz hasi):
sudo systemctl restart networking.service

Zerbitzuak abioan itzultzea (Gaitu/Desgaitu)

[aldatu | aldatu iturburu kodea]

Zerbitzu bat automatikoki sistemaren abio-prozesuan kargatzeko, esteka sinbolikoak sortu edo ezabatu behar dira:

  • Zerbitzu bat abioan automatikoki porn hasteko gaitzea:
sudo systemctl enable networking.service
  • Zerbitzua abioan automatikoki hastea desgaitzea:
sudo systemctl disable networking.service

Ikus, gainera

[aldatu | aldatu iturburu kodea]

Kanpo estekak

[aldatu | aldatu iturburu kodea]