Demystifying SystemD

Araw-araw, ang ating mga computer ay nagiging lalong mahalagang bahagi ng ating buhay; kung mayroon man itong anumang problema, naaapektuhan nito ang ating kalooban, ang ating humor, haha. Siyempre, ang mga gumagamit ng Windows ay mas madaling kapitan ng mga panic attack: mga virus ( mabuhay ang Linux! ), pag-defragment ng HDD, paghahanap at pag-install ng Clean Master para sa PC ( bagaman dito sa Linux kailangan din nating linisin ang system; ang BleachBit ay isa sa mga ginustong alternatibo ). Kamakailan lamang, ang ilang mga gumagamit ng Linux ay nakakaranas ng isang sakit ng ulo na tinatawag na systemd.

Gayunpaman, para makarating sa punto, nabasa ko ang isang kawili-wiling artikulo tungkol sa systemd , na tila uso ngayon.

Systemd , na itinuturing ng ilan ( at gagamitin ko ang mga salita ng isang kaibigan ) na "isang singsing na mamamahala sa kanilang lahat "... para sa iba, na sadyang walang pakialam; hangga't gumagana nang maayos ang computer, wala silang pakialam kung ang init ay may X o Y, o kung ang systemd ay ginagamit. Para sa akin, well... sabihin na lang natin na mas gusto ko ang init; mas simple ito para sa akin.

Iniwan ko ang artikulo dito:

Bago ako magsimula, masasabi kong ayaw ko talaga sa desisyong baguhin ang mga bagay-bagay sa Debian, ngunit wala akong balak na talikuran ang aking minamahal na spiral. Sinisikap ko lang siguraduhin na, kung pag-uusapan natin ang isang paksa, gagawin natin ito nang handa hangga't maaari, kahit na hindi ko itinuturing ang aking sarili na pro-systemd. Para malinawan ang systemd, aasa ako sa isang website kung saan ibinabahagi ng mga developer ang kanilang mga pananaw , na napansin ko mula sa isang kasamahan na tila pro-systemd, kahit na hindi siya gumagamit ng Debian. Dahil diyan, sa palagay ko ay maaari ko nang subukang linawin ang sinasabi tungkol sa systemd.

ang systemd ay batay sa binary

Marahil ito ay isa sa mga aspeto na pinaka-shock sa amin, kung ang lahat ay batay sa binary, paano namin sinusubaybayan ang mga bagay na karaniwang ginagawa natin sa pamamagitan ng mga troso? Wala akong ideya kung paano ipinanganak ang alamat na ito, ngunit hindi ito ganap na totoo.

Ang systemd ay naka-configure halos eksklusibo sa pamamagitan ng mga simpleng file ng teksto. Ang ilang mga setting na maaari ring mabago sa linya ng utos ng kernel at sa pamamagitan ng mga variable ng kapaligiran. Walang binary sa iyong pagsasaayos (hindi kahit XML). Isang simple, prangka at madaling basahin ang text file lamang.

systemd tagahanga homer simpson

Ang bagay na iyon ay monolitik at kinokontrol ang lahat

Bago maabot ang nabanggit na website, ipinagtapat ko na naisip ko sa ganitong paraan ang aking sarili, ngunit pagkatapos basahin ang sinasabi ng mga developer nito, may binago ang aking opinyon ...

Kung bubuo ka ng systemd nang naka-enable ang lahat ng opsyon sa configuration, makakabuo ka ng 69 na indibidwal na binary . Ang mga binary na ito ay nagsisilbi ng iba't ibang gawain at maingat na pinaghihiwalay para sa ilang kadahilanan. Halimbawa, ang systemd ay dinisenyo nang isinasaalang-alang ang seguridad; samakatuwid, karamihan sa mga daemon ay tumatakbo nang may kaunting pribilehiyo (gamit ang mga kakayahan ng kernel, halimbawa) at responsable lamang para sa mga partikular na gawain, na minaliit ang kanilang seguridad at epekto. Gayundin, mas pinaghahambing ng systemd ang pag-boot kaysa sa anumang nakaraang solusyon. Ang "paghahambing" na ito ay nalilikha sa pamamagitan ng pagpapatakbo ng maraming proseso nang magkasabay. Kaya, malinaw na ang systemd ay mahusay na nahahati sa maraming binary at, dahil dito, mga proseso. Sa katunayan, marami sa mga binary na ito ay napakahusay na pinaghihiwalay kaya't lubhang kapaki-pakinabang ang mga ito sa labas ng systemd.

Ang isang pakete na naglalaman ng 69 na indibidwal na binary ay mahirap tawaging monolitiko. Gayunpaman, ang naiiba sa mga nakaraang solusyon ay nagpapadala kami ng mas maraming bahagi sa isang tarball at pinapanatili ang mga ito nang magkakaugnay sa isang repositoryo na may pinag-isang release cycle.

Hindi yun mukhang Unix

Tiyak na may ilang katotohanan doon. Ang mga file ng mapagkukunang systemd ay hindi naglalaman ng isang solong linya ng code mula sa orihinal na mga linya ng UNIX. Gayunpaman, ang inspirasyon ay nagmula sa UNIX, at sa gayon mayroong maraming UNIX sa systemd. Ang isang halimbawa ay ang ideya ng UNIX na "lahat ay isang file" na makikita sa systemd lahat ng mga serbisyo ay nakalantad sa runtime sa isang kernel file system, ang cgroupfs. Kaya, ang isa sa mga orihinal na tampok ng UNIX ay suporta sa multi-seat, batay sa built-in na suporta sa terminal. Sa systemd nagdala kami ng suporta ng multi-seat na katutubong muli, ngunit sa oras na ito na may buong suporta para sa hardware ngayon, sumasaklaw sa mga graphic, daga, audio, webcams, at marami pa. Sa katunayan ang disenyo ng systemd bilang isang suite ng pinagsamang mga tool na ang bawat isa ay may kani-kanilang mga layunin ngunit kung ginamit nang sama-sama ay higit pa sa kabuuan ng mga bahagi, na higit pa o mas mababa sa core ng pilosopiya ng UNIX. Kaya't ang paraan ng paghawak ng aming proyekto (ibig sabihin, ang pagpapanatili ng karamihan sa operating system kernel sa isang solong repository) ay mas malapit sa modelo ng BSD (na isang tunay na UNIX, taliwas sa Linux) upang magawa ang mga bagay-bagay (kung saan ang karamihan sa mga pangunahing operating system ay itinatago sa isang solong CVS / SVN repository) na hindi kailanman naging kaso sa Linux.

Sa huli, ang tanong kung ang isang bagay ay UNIX o hindi mahalaga. Ang pagiging mahusay sa teknolohiya ay halos hindi ito natatangi sa UNIX. Para sa amin, ang UNIX ay isang pangunahing impluwensya (sa katunayan, ang pinakamalaking), ngunit mayroon din kaming iba pang mga impluwensya. Samakatuwid, sa ilang mga lugar na systemd ay magiging napaka UNIX, at sa iba ay medyo mas kaunti.

Napaka kumplikado niyan ...

Tiyak na may ilang katotohanan doon. Ang mga modernong computer ay kumplikadong mga hayop at ang operating system na tumatakbo sa mga ito ay malinaw na magiging, kaya't kailangan nilang maging kumplikado. Gayunpaman, ang systemd ay tiyak na hindi mas kumplikado kaysa sa nakaraang pagpapatupad ng parehong mga bahagi. Mas simple ito, at may mas kaunting kalabisan. Sa kabilang banda, ang pagbuo ng isang simpleng operating system na nakabatay sa systemd ay magsasangkot ng mas kaunting mga pakete kaysa sa tradisyunal na paggamit ng Linux. Mas kaunting mga pakete ang nagpapadali sa pagbuo ng iyong system, tinatanggal nito ang mga pagtutulungan at marami sa magkakaibang pag-uugali ng lahat ng mga kasangkot na sangkap.

Hindi ako papayagang gumamit ng mga shell script

Ito ay ganap na mali. Hindi lang namin ginagamit ang mga ito para sa proseso ng pag-boot dahil naniniwala kaming hindi sila ang pinakamahusay na tool para sa partikular na layuning iyon, ngunit hindi ibig sabihin na ang systemd ay hindi tugma sa mga ito. Madali mong mapapatakbo ang mga shell script bilang mga systemd service o daemon; maaari kang magpatakbo ng mga script na nakasulat sa anumang wika bilang mga systemd service dahil walang pakialam ang systemd kahit kaunti sa kung ano ang nasa loob ng iyong executable. Bukod dito, malawakan naming ginagamit ang mga shell script para sa aming sariling mga layunin: para sa pag-install, pagbuo, at pagsubok ng systemd. At maaari mong i-paste ang mga script sa proseso ng maagang pagsisimula, gamitin ang mga ito para sa mga normal na serbisyo, patakbuhin ang mga ito sa huling pag-shutdown—halos walang mga limitasyon.

Sa puntong ito, sa palagay ko ay nalinaw na ang ilan sa mga pangunahing paniniwala. Bagama't hindi ko itinuturing ang aking sarili na isang tagapagtaguyod ng pagbabago at may mga pagdududa tungkol sa ideya ng " isang demonyong mamamahala sa kanilang lahat ", sa palagay ko, sa huli, walang sinuman ang mangangahas na sabihin na hindi ito gumagana. May kilala pa nga akong ilang mga gumagamit na nakakapansin na sa systemd, "mas mabilis tumakbo ang PC," ngunit ibang usapin na iyon para sa talakayan. Sa ngayon, maaari ko lamang kayong anyayahan na pagdebatehan ang inyong mga pananaw dito sa init system na ginamit ng maraming distribusyon, bagama't ang pinakamatinding reaksyon ay kasalukuyang nakikita sa loob ng komunidad ng Debian, na nagbunga pa ng isang bagong fork dahil sa lahat ng ito. Gusto mo man o hindi ay personal na bagay; para sa akin, gusto ko lang gawin ang aking bahagi upang maalis ang misteryo ng systemd, na sa huli ay makikita sa Jessie, ang susunod na matatag na bersyon ng Debian.

Nakita ko ang artikulo tungkol sa GUTL (na kinuha naman mula kay DesdeAbreus )

makata-1984

Systemd kasalukuyang?

Isa ako sa mga hindi nagbabasa ng maraming balita kapag ang isang bagay ay bumubuo ng napakaraming kontrobersya, mas gusto kong manatili sa higit pang mga teknikal na detalye. Ang bagay ay…. Minsan nararamdaman ko na ang ilang mga paksa ay huminto sa pagiging purong teknikal na talakayan o debate, at nagiging tulad ng isa sa mga showbiz na tsismis 

Una, isang bukas na reklamo mula sa isang user tungkol sa systemd na tinatawag na systemd VS intelligence , pagkatapos ay sinabi ni Linus Torvalds na ang systemd ay hindi naman kasing sama ng sinasabi ( at may punto naman siya ), isang fork na tinatawag na uselessed ... walang komento... at para maging maikling kwento, sa wakas ay Devuan.

Hindi ko sasabihin kung kasing sama ito ng sinasabi nila, hindi gaanong masama, o mas malala pa. Maayos naman ang sistema para sa akin, pero, personal kong mas gusto ang init, dahil gusto ko ang paraan nito ng pag-oorganisa ng iba't ibang bagay (tulad ng mga log, halimbawa). Pero teka, kung ang systemd ay tatawaging kabayong pangkarera at kailangang palitan ang init ( ito ba ang magiging trabaho natin, na dahan-dahan lang ang ginagawa? ), basta't hindi masyadong marahas ang pagbabago, makakapag-adapt ang mga user nang walang masyadong abala, at mas maayos ang sistema (oo, mas maganda, baka hindi pa iyon sapat para sa akin!), saludo ako! 😉


Idagdag bilang ginustong mapagkukunan sa Google