Näinpä taas kirjoittelua siitä kuinka Linux on vaikea ja ei toimi työpöytäkäytössä. Joten aattelinpa kirjoittaa tähän jotain ajatuksenvirtaa asiasta ja miten itse ajattelen asioiden olevan. Varoitus, tämä on pitkä postaus!
Mielestäni perinteinen malli, jolla distroja on rakennettu ja ylläpidetty, on vanhentunut. Syy on siinä, että kun olet asentanut tuollaisen distron - sanotaan vaikka debianin, kun asennat jonkun paketin aptin kautta distrosi on heti eriytynyt siitä mitä jakelija on tuottanut. Tämä on ok malli, ja näkisin että erityisen passeli silloin kun pyöritetään jotain kotipalvelinta ja ei tarvitse saada yhteneväistä ja vakaata ympäristöä.
Itse ajan tällä hetkellä Bluefiniä - tarkalleen heidän Utah-varianttia - ja tätä vakaampaa Linuxia en ole koskaan käyttänyt. En sano, että tämä on oikea ratkaisu kaikille, vähiten prealpha tuotos, mutta se mikä ajatus tässä taustalla on, on se juttu, miksi tää homma toimii. Muita vastaavia on toki Aurora, Bazzite, Fedora Silverblue ja Kinoite, sekä Secureblue variantteineen. On olemassa tietysti openSUSEn Kalpa ja Aeon, mutta en pidä niitä yhtä hyvinä kuin noita ensin mainittuja.
Helpoin lienee lähteä siitä mikä mielestäni huonontaa nykyisiä distroja (ml. kalpa ja aeon). Kuten aiemmin mainitsin, käyttämällä distribuution omaa pakettihallintaa, muokataan käyttöjärjestelmää joka väistämättä muuttaa sitä kokonaisuutta niin, että sen ylläpitäminen on haastavampaa. Kaikki muutokset siitä alkuperäisestä kasautuu ajan myötä ja lopputulos johtaa siihen, ettei voida olla varmoja mikä pitää järjestelmän kasassa tai rikkoo sen. Vaikka kalpa ja aeon toteuttavat atomisuuden, ne silti lähtökohtaisesti muokkaavat olemassa olevaa järjestelmää kuin perinteiset distrot.
Koen itse tuon kuvapohjaisen lähestymistavan parempana siksikin, että jokaisen päivityksen jälkeen tiedän, että jakelija on testannut kuvan ja siinä on vain jakelijan testaamaat ohjelmistot paikallaan. Samalla käyttöjärjestelmän eheys voidaan varmistaa hyvinkin yksinkertaisesti ja jokaisella käyttäjällä tulee olemaan sama käyttöjärjestelmä käytössään. Toki joitain asetusmuutoksia tulee ajan myötä kasautumaan jokaiseen asennukseen, mutta kokonaisuus on käytännössä sama aina käyttäjien välillä.
Miten tällaisessa atomisessa järjestelmässä sitten asennetaan niitä ohjelmia? Näissä universal blue johdannaisissa tavalliset käyttöliittymäohjelmat asennetaan ensisijaisesti Flatpakina. Komentorivityökalut tulisi asentaa pääsääntöisesti Homebrewn kautta ja sitä kautta saa myös asennettua joitain graafisia ohjelmistoja kans. Edellä mainittujen lisäksi löytyy sitten muita tapoja asentaa ohjelmia, kuten distrobox ja winboat. Kuitenkin tästäkin Homebrewsta pitäisi asentaa mahdollisimman vähäinen määrä paketteja ja keskittyä sen sijaan käyttämään vaikka devcontaineria. Devcontainer on ratkaisu, joka on erityisesti hyödyllinen ohjelmistokehittäjille ja muille IT-osaajille. Tavalliset käyttäjät keskittyvät Flatpakien asentamiseen.
Miksi Flatpak on hyvä ratkaisu? Se on itsessään eräänlainen hiekkalaatikko, joka pitää sisällään kaikki ohjelmiston suorituksen kannalta tärkeät riippuvuudet mukana. Tämä on periaatteessa se malli, jota Apple on toteuttanut iät ajat .app-ohjelmillaan. Raahaat vain appin ohjelmat-kansioon ja ala käyttämään. Jos ohjelma ei toimi tai et käytä sitä, flatpak poistaa ohjelman ja tarvittaessa ohjelman käyttämät väliaikatiedostot. Flatpak siten huolehtii ettei tietokoneelle voi jäädä sellaista, joka myöhemmin voisi sotkea käyttöjärjestelmän tai muiden ohjelmien toimintaa.
Atomiset käyttikset ovat myös ratkaisseet ikuisuusongelman työpöytäympäristöjen välillä. Otat sen kuvan, jossa on se työpöytäympäristö - jota haluat käyttää ja käytät pois. Jotkut jopa mahdollistaa näiden varianttien välillä vaihtamisenkin, mutta en välttämättä valitsisi käyttöjärjestelmää tuon perusteella. Mikäli on tarvetta tunkata käyttöliittymää enemmän kuin mitä Gnome tai KDE antaa myöden, silloin osaat pyörittää perinteistä distroa ja ei tarvitse miettiä atomista käyttistä. Ja tässä on mielestäni se tärkeä jako, jos tiedät tarvitsevasi jotain sellaista mitä ei voi atomisessa tehdä, silloin et ole kohderyhmää. Oma näkemykseni on silti, ettei niin sanotun 10% ongelmien perusteella pidä pakottaa 90% toimimaan toisella tavalla. Atominen järjestelmä korjaa monia Linuxin synnynnäisiä ongelmia. Silti suosittelisin ensin kokeilemaan atomista järjestelmää, ennen kuin mitään muuta. Yleensä kaikki tarvittavat ajurit ja koodekit on noissa paketoituna valmiiksi ja ei tarvitse mitään ylimääräistä kuin käyttää pois.
Yhteenvetona voisi sanoa, että periaatteessa mikä tahansa distro on ihan yhtä vakaa kuin atominenkin distro, kunhan ei käytä mitään distron omia asennuspaketteja. Mutta perinteisessä distrossa on vain liian helppoa muokata alla olevaa käyttöjärjestelmää, mikä johtaa sitten ongelmiin myöhemmässä vaiheessa.
Ps. Miksi ei NixOS:ää? Jos tiedät mikä on Nix ja NixOS, jatka sen käyttöä, mikäli et, älä sotkeudu. Se teknologia on erittäin kyvykäs, mutta sitä ei ole missään tapauksessa tarkoitettu tavallisille käyttäjille.