Îmi place systemd

Aș vrea să vorbim despre noul sistem systemd de inițializare a cărui ritm neobosit capturează mai populare distribuții Linux. Acest atac sperie mulți oameni și nu Casual Recent, cele mai multe on-line despre sracha sistem Linux vine la subiect: a fi sau a nu fi cu systemd?

Lasă-mă să pornesc de departe. Ca un tânăr, ea a creat primul sistem de operare din lumea open source - FreeBSD. Ca un student în anul întâi, nu am înțeles cum să facă script-urile de pornire pentru software-ul non-sistem. Cu software-ul de sistem în FreeBSD este relativ simplu. Ai nevoie de un ssh? Se specifică sshd_enable = „DA“ la /etc/rc.conf, și vi se va da. Și cum pentru a rula software-ul lor artefacte la pornire? Mintea mea tânără în acele zile, nu a găsit nimic mai bine cum să creeze un tip executabil script de pornire ca în /usr/local/etc/rc.d/

#! / Bin / sh
caz „$ 1“ în
începe)
/ Usr / local / bin / foobar
;;
oprire)
kill -9 `pisica / var / run / foobar.pid`
;;
*)
echo "Utilizare:` basename $ 0`"> 2
ieșire 64
;;
ESAC
exit 0

În cazul în care script-ul este un pic de proces executabile și parametrii, de pornire și oprire, apoi a lucrat la toate. Dacă este corect să scrie script-uri folosind rc.subr, puteți chiar specifica ce servicii ar trebui să fie deja difuzate înainte de a începe. Cel mai important lucru pentru a înțelege - trebuie să scrie cod shell pentru a începe programul. Acest lucru nu este nici bun, nici rău. Este un fapt că e tot.

Și acum systemd. Nu scrie foi de orice cod. Nu kolduete numele fișierului sau numele de link-uri simbolice la ea. Tu specificați pur și simplu că, pe termen și toate.

[Unitate]
Descriere = Unele daemon simplu
[Serviciu]
Tip = bifurcare
ExecStart = / usr / sbin / mi-simplu-daemon -d

De-a lungul timpului, unitatea de pornire și de a schimba numărul de rânduri în ea va crește. Dar va fi o linie care explică inițializarea sistemului systemd lucru de făcut, nu cum să o facă. Trebuie să spun, eu nu sunt un expert în systemd. El a venit de curând în viața noastră, și cunoscuții mei de grave a început după trecerea de la ciocoi la systemd Ubuntu de lucru 15.04. Dar nu este un condiment, aș dori să vorbesc despre gândurile lor cu privire la sistemele de inițializare.

Aici am fost introdus pe baza colegii sai ProxmoxVE sistem de virtualizare și depozit de software Ceph. Am tradus serverele lor fizice în noua lume virtuală. Acum puteți face cu ușurință serverele virtuale către alte departamente în compania mea pentru sarcinile și proiectele lor. Și primul astfel de server virtual setat o întrebare vitală. Amintindu-și grădina zoologică anterioară a diferitelor versiuni de distribuții FreeBSD și Linux din care am scăpat de prin mutarea toate sistemele pe Ubuntu Server LTS, am lăsat un întreg privilegii de root în cadrul sistemului de operare vizitator. Cu mecanism de sudo permite privilegiile necesare persoanei care va supraveghea activitatea deja servicii în cadrul OS oaspete. Și aici este un om sculptează în script dosar în Python 3, care este el însuși un server web și el însuși Zabbix unele resurse Ala locale. Omul nu crede că idealul pentru scenariul lui samopisnogo nevoie pentru a organiza autostart pe server. Un cuplu de actualizările mele de server și de repornire este clar demonstrată.

Sunt recunoscător că am systemd, pentru că mă salvează de probleme auto-programare. Ca admin îmi place fapt systemd că el este singurul până în prezent pentru a te ajuta cu demoni complexe. În cazul cel mai simplu caz, demonul acționează ca un singur proces, într-adevăr este foarte simplu. Pentru a opri demonul din scenariul lui, scrie ceva de genul ucide $ (/var/run/daemon.pid pisica). Și dacă daemonul se execută într-un scenariu complex, generatoare de tine programe permise alte procese? Când omori procesul principal, se poate opri toate procesele sale de copil, și nu se poate opri. Systemd prin cgroup sistem capabil să oprească demon, indiferent de câte ori el forkan, și numai dreapta inițializarea acum, indiferent de modul în care el a încercat să scape de sub control de furcă dublu sau furculiță-bombardament. După o oprire demon rău avansat, este posibil să-l omoare și apoi va căuta în producția de procese ps zombie, încercând să le completeze. Cel mai probabil se va termina reporni întregul server. Un systemctl ucide rulează curat și fier.

Pe scurt Vreau să rezum opinia mea de systemd. Îi mulțumesc pentru ușurința și simplitatea „interferență“ în sistemul de operare. controlul absolut asupra demonilor. Și în viitor, merge la serverele sale, mulțumesc pentru odnooobrazie în fața unui sistem de inițializare - systemd.