{"id":407,"date":"2023-12-10T20:07:15","date_gmt":"2023-12-10T20:07:15","guid":{"rendered":"https:\/\/d-mashina.net\/?p=407"},"modified":"2023-12-10T20:07:15","modified_gmt":"2023-12-10T20:07:15","slug":"linux-nedotakljive-distribucije","status":"publish","type":"post","link":"https:\/\/d-mashina.net\/index.php\/2023\/12\/10\/linux-nedotakljive-distribucije\/","title":{"rendered":"Linux &#8220;nedotakljive&#8221; distribucije"},"content":{"rendered":"<p>Pred \u010dasom sem za\u010del testirati ti. &#8220;immutable&#8221; Linux distribucije. \u017de samo googlanje nam na\u0161teje kar precej distribucij. Toda kaj pomeni immutable? Sama beseda ima pomen, da se objekt ne more spremenit. Vsem starim Linux ma\u010dkom je znan izraz immutable flag na datote\u010dnem sistemu ext2\/3\/4\/btrfs in \u0161e katerem. V kolikor smo z ukazom chattr dodali immutable flag, se datoteka ni mogla spremenit. Z varnostnega vidika odli\u010dna stvar, jo je pa bilo potrebno ro\u010dno implementirati. Nekdaj smo Linux sistema postavljali na zelo varne na\u010dine.<\/p>\n<p>Da se vrnem k bistvu, torej immutable OS, bi bil OS, ki ga ni mo\u017eno spreminjati. Za LiveCD sisteme bi lahko povedali, da ga prav tako ni mo\u017eno spreminjati, toda koncept je popolnoma druga\u010den, zato moramo upo\u0161tevati slede\u010de, ko govorimo o immutable OS:<\/p>\n<p>&#8211; nadgranje niso narejene na \u017eivem sistemu<br \/>\n&#8211; spremembe paketov so vidne ob naslednjem bootu sistema<br \/>\n&#8211; rollback ne obstaja &#8211; vsaj ne na enostavne na\u010din<\/p>\n<p>Seznam immutable Linux distribucij od najstarej\u0161e do najnovej\u0161e je slede\u010d:<\/p>\n<p><strong>NixOS, Guix, Endless OS, Fedora Silverblue, OpenSUSE MicroOS, Vanilla OS, Alpine Linux, \u2026<\/strong><\/p>\n<p><strong>NixOS<\/strong> in <strong>Guix<\/strong> sta bile do pred kratkim prve in najbolj popularne immutable distribucije, prevzelo jih je kar precej uporabnikov, ki se niso zavedali, da so le te immutable oz. niso vedeli kaj naj bi to pomenilo, ve\u010d o teh distribucijah, kakor tudi prevzem si lahko preberete na uradnih spletnih straneh:<\/p>\n<p><a href=\"https:\/\/nixos.org\/\">NixOS official project website<\/a><\/p>\n<p><a href=\"https:\/\/guix.gnu.org\/\">Guix official project website<\/a><\/p>\n<p>Obe imajo lasten package manager, ki vse podatke o paketih in le te same zapisuje v RO (read only) imenik, do katerega ima samo on sam (package manager) pravice pisanja. V primeru te distribucije, je operacijski sistem, dobesedno stranski izdelek ti. package managerja.<\/p>\n<p>Sledi <strong>Endless OS<\/strong>, ki je baziran na Debianu in uporablja OSTree za to da dose\u017ee &#8220;immutable&#8221; na\u010dine. Razdelki (particije) so priklopljene (mount) v pisalnem (write) na\u010dinu, razen \/usr, kjer je glavnina paketov s katerimi dela OSTree. Programi, ki so narejeni za uporabnika, torej ne sistemski, so name\u0161\u010deni z uporabo flatpaka, kar omogo\u010da, da po vsaki posodbitvi pakete ne potrebujemo ponoven zagon ra\u010dunalnika.<\/p>\n<p>Naslednja je <strong>Fedora Silverblue<\/strong>, ki je naslednik Project Atomic, ki sem ga uporbljal pred leti in ravno s tem projektom so \u017eeleli dose\u010dti, da bi Fedora \/ CentOS \/ RHEL naredili kot immutable OS. Fedora SB uporablja OSTree ampak rahlo modificiran, le ta se imenuje rpm-OSTree. Distribucija je sestavljena iz jedra (core) in nad jedrom je distribucija paketov. \u010cim ve\u010d paketov name\u0161\u010damo, ve\u010d ti. &#8220;stackov&#8221; imamo in pri tem je zadeva po\u010dasna. Podobno kot pri predhodiniku za za distribucijo uporabni\u0161kih programov uporabi flatpak ali <a href=\"https:\/\/containertoolbx.org\/\">toolbox<\/a>. Tukaj sem se tudi prv\u010dl sre\u010dal s <a href=\"https:\/\/github.com\/containers\/toolbox\">toolboxom<\/a> in mi je postal v\u0161e\u010d.<\/p>\n<p>Gremo sedaj k <strong>OpenSuse Micro<\/strong>, ki je spin od OpenSuse Tumbleweed, ki dose\u017ee immutable na\u010din z lastno implementacijo. Vsi imeniki MicroOS, razen \/home in \/var so snapshoti BTRFS datote\u010dnega sistema. \u010ce v sistemu naredimo spremembo, se iz trenutnega stanja (snapshota) naredi nov snapshot in vse spremebe so v novem snapshotu in \u010dakajo na ponovni zagon sistema. Kot zanimivost je to, da je imenik \/etc del snapshota in se lahko povrne v prej\u0161nje stanje, kar ni mo\u017eno pri OSTree baziranih distribucijah. Lahko tudi spremenite datoteke, ki bodo \u017eive v novem snapshotu. S tem se izognemo te\u017eavam z gonilniki, ampak na\u0161 sistem ne bo ve\u010d \u010dist in lahko pride do te\u017eav, katere seveda lahko odpravimo z malo ve\u010d znanja. Ker je MicroOS ti. rolling distribucija, moramo biti pripravljeni na vsakdanje ponovne zagone, ampak lahko seveda avtomatiko tudi izklopimo. V pomo\u010d nam pride distrobox, ki skrbi za rootless kontejnerje s katerimi name\u0161\u010damo programsko opremo.<\/p>\n<p><a href=\"https:\/\/github.com\/89luca89\/distrobox\">distrobox GitHub stran<\/a><\/p>\n<p>Popularna sta \u0161e <a href=\"https:\/\/vanillaos.org\/\">Vanilla OS<\/a>, ki ga \u0161e nisem imel \u010das testirat in <a href=\"https:\/\/wiki.alpinelinux.org\/wiki\/Alpine_local_backup\">Alpine Linux z LBU<\/a>. Alpine Linux uporabljam ob\u010dasno kot base sistem za zagon. Trenutno se mi zdi \u0161e precej zapleten in slabo dokumentiran. Mu dam \u0161e mo\u017enost v prihodnje, ko bo seveda \u010das.<\/p>\n<p><strong>Za zaklju\u010dek:<\/strong><\/p>\n<p>Ali bi uporabljali immutable OS? Odvisno od potreb, meni je v\u0161e\u010d Fedora SilverBlue in MicroOS. MicroOS zaradi OSTree, Fedora zato, ker sem pred 10 letu uporabljal Project Atomic. Tak na\u010din dela ni povsem nov, \u017ee Solaris je uporabljal ZFS, kjer smo si lahko izbrali iz katerega ZFS snapshota \u017eelimo na\u0161 sistem ponovno zagnat. BTRFS je to \u0161e olaj\u0161al tudi v Linux svetu. Vsaka od na\u0161tetih distribucij ima najmanj eno stvar, ki mi je v\u0161e\u010d. \u010ce bi vse omenjene distribucije zdru\u017eil v eno, bi dobil popolno \/ varno immutable distribucijo. Morda se bom enkrat premislil in bom naredil lastno distribucijo, ki bo zadostovala vsem mojim potrebam.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Pred \u010dasom sem za\u010del testirati ti. &#8220;immutable&#8221; Linux distribucije. \u017de samo googlanje nam na\u0161teje kar precej distribucij. Toda kaj pomeni immutable? Sama beseda ima pomen, da se objekt [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[],"class_list":["post-407","post","type-post","status-publish","format-standard","hentry","category-linux"],"_links":{"self":[{"href":"https:\/\/d-mashina.net\/index.php\/wp-json\/wp\/v2\/posts\/407","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/d-mashina.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/d-mashina.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/d-mashina.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/d-mashina.net\/index.php\/wp-json\/wp\/v2\/comments?post=407"}],"version-history":[{"count":1,"href":"https:\/\/d-mashina.net\/index.php\/wp-json\/wp\/v2\/posts\/407\/revisions"}],"predecessor-version":[{"id":408,"href":"https:\/\/d-mashina.net\/index.php\/wp-json\/wp\/v2\/posts\/407\/revisions\/408"}],"wp:attachment":[{"href":"https:\/\/d-mashina.net\/index.php\/wp-json\/wp\/v2\/media?parent=407"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/d-mashina.net\/index.php\/wp-json\/wp\/v2\/categories?post=407"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/d-mashina.net\/index.php\/wp-json\/wp\/v2\/tags?post=407"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}