Linux Windowsin korvaajana
24.10.2022 | Henry Laine

Tietokonemaailmassa Microsoftin kehittämä ja ylläpitämä Windows on hallinnut käyttöjärjestelmämarkkinoita jo vuosikymmenien ajan. Wikipedia kertoo esimerkiksi, että vuonna 2022 Windowsin markkinaosuus on pöytäkoneiden ja kannettavien osalta noin 75 prosenttia. Tämä näkyy käytännössä siten, että melkeinpä kaikkiin liikkeissä myytäviin pakettikoneisiin on jo valmiiksi esiasennettu jokin Windowsin versio.
Microsoft on ilmoittanut, että Windows 10:n tuki päättyy vuoden 2025 loppupuolella. Yhtiö on myös tehnyt päätöksen, että Windows 11 ei ainakaan toistaiseksi tue vanhempia prosessoreita, eli vanhoihin koneisiin Windows 11:n asentamien ei onnistu – ainakaan ilman vippaskonsteja. Vanhojen koneiden omistajat ovat siis pian valinnan edessä: Windows 10 käyttäminen vielä vuoden 2025 jälkeen altistaa käyttäjän tietoturvauhille. Uuden tietokoneen ostaminen puolestaan tietää rahanmenoa, jos nykyinen kone riittää päivittäiseen käyttöön. Kolmas vaihtoehto on vaihtaa johonkin toiseen käyttöjärjestelmään.
Jos Windowsin tilalle haluaa asentaa jonkin toisen käyttöjärjestelmän, tällä hetkellä ainoa varteenotettava vaihtoehto on Linux. Nykyisin Linuxiin pohjautuvilla käyttöjärjestelmillä on noin viiden prosentin markkinaosuus, mutta tämä todennäköisesti kasvaa vielä tulevaisuudessa ohjelmistotuen kehittyessä. Esimerkiksi videopelejä digitaalisesti myyvä yhtiö Valve on tehnyt työtä sen eteen, että mahdollisimman moni peli toimisi myös Linuxilla. Onkin mainio aika tarkastella Linuxin käyttöä yleisellä tasolla ja erityisesti sitä, kuinka hyvin Linux soveltuu nykyisin henkilökohtaisen tietokoneen ensisijaiseksi käyttöjärjestelmäksi.
Perustietoa Linuxista
Tarkalleen ottaen termi Linux tarkoittaa käyttöjärjestelmäydintä eli ohjelmaa, joka hallitsee tietokoneen laitteistoa. Tavallisessa kielenkäytössä termillä kuitenkin yleensä viitataan johonkin käyttöjärjestelmään, jonka pohjana kyseinen ydin on. Ydin on suomalaisen Linus Torvaldsin kehittämä ja ylläpitämä. Se on myös avoin, minkä takia Linux-ytimeen perustuvia käyttöjärjestelmiä on ilmaantunut aikojen saatossa useita, kuten Arch, Fedora ja Debian.
Koska Linux-käyttöjärjestelmiä eli jakelupaketteja on useita, Linuxiin siirtyvän on ensiksi valittava näistä jokin. Jakelupaketteja erottaa esimerkiksi käyttöliittymä ja valmiiksi asennetut ohjelmat. Jakelupaketit on voitu myös suunnata tietyille laitteille tai tarkoituksiin, kuten palvelimille ja henkilökohtaisille tietokoneille. Aloittelijan on hyvä valita sellainen jakelupaketti, joka on käyttäjäystävällinen ja jolle löytyy runsaasti tukea ohjeiden ja oppaiden muodossa. Esimerkiksi Ubuntua on suositeltu aloittelijalle, joka tarvitsee käyttöjärjestelmän henkilökohtaiselle tietokoneelleen.
Windowsiin verrattuna Linuxin vahvuuksia on sen turvallisuus. Koska Linuxilla ei ole yhtä suurta käyttäjäjoukkoa kuin Windowsilla, Linuxille ei ole yhtä houkuttelevaa kehittää haittaohjelmia. Linuxin suunnittelussa on myös paremmin otettu huomioon tietoturvauhat.
Linuxissa käyttäjät on jaettu pääkäyttäjään ja tavallisiin käyttäjiin. Pääkäyttäjä on samantapainen kuin Windowsin järjestelmänvalvoja, jolla on oikeudet esimerkiksi asentaa uusia ohjelmia. Tavalliset käyttäjät puolestaan eivät pääse käsiksi järjestelmätiedostoihin, mutta he voivat mm. suorittaa ohjelmia ja luoda tiedostoja kotihakemistoonsa. Jos tavallinen käyttäjä haluaa esimerkiksi asentaa jonkun ohjelman, käyttöjärjestelmä pyytää antamaan pääkäyttäjän salasanan. Windows on mahdollista konfiguroida samalla tavalla, mutta käyttäjän on huolehdittava siitä itse. Moni käyttääkin Windowsia järjestelmänvalvojana, vaikka tämä on selvä tietoturvariski, koska järjestelmän muuttaminen onnistuu ilman salasanaa.
Ohjelmien asentaminen Linuxilla
Usein kuulee sanottavan, että Linuxia on vaikeampi käyttää kuin Windowsia tai macOS:ssää. Tämä johtuu todennäköisesti siitä, että Linuxilla on pakko ainakin jossain määrin opetella komentorivin käyttöä. Windowsin tapaan myös Linuxilla voi toki useita asioita tehdä graafisen käyttöliittymän kautta, mutta usein komentorivin avulla asiat hoituvat nopeammin ja yksinkertaisemmin. Ubuntulla esimerkiksi päivitysten tarkistaminen ja asentaminen onnistuu näppärästä komennolla sudo apt update && sudo apt upgrade.
Pakettivarastot
Ohjelmien päivittämisen lisäksi myös uusien ohjelmien asentaminen onnistuu komentorivin avulla. Usein ohjelmat asennetaan suoraan pakettivarastoista, jotka ovat asennustiedostoja sisältäviä palvelimia. Esimerkiksi komento sudo apt install gimp lataa Gimp-kuvanmuokkausohjelman pakettivarastosta ja asentaa sen tietokoneelle. Windowsilla kyseinen ohjelma pitäisi ensiksi käydä lataamassa kehittäjän sivuilta ja sen jälkeen asentaa manuaalisesti. Näin pitää toki toimia myös Linuxilla, jos haluttua ohjelmaa ei löydy pakettivarastosta. Tällöin asennustiedoston tunnistaa .deb- tai .rpm-päätteestä. Suurin osa yleisistä ohjelmista löytyy kuitenkin pakettivarastoista, jolloin niiden asentaminen ja päivittäminen onnistuu nopeasti ja automaattisesti.
Snap, Flatpak ja AppImage
Pakettivarastoista lataaminen ei ole ainoa tapa asentaa ohjelmia Linuxilla. Muita suosittuja keinoja ovat Snap, Flatpak ja AppImage. Näiden kolmen tarkoituksena on paketoida ohjelma ja sen tarvitsemat riippuvuudet – kuten apuohjelmat ja muut tiedostot – yhdeksi kokonaisuudeksi, joka ei aiheuta ristiriitaisuuksia tietokoneen muiden ohjelmien kanssa. Ristiriitaisuuksia syntyy esimerkiksi silloin, kun kaksi eri ohjelmaa vaatii toimiakseen saman apuohjelman vanhemman ja uudemman version.
Snap- ja Flatpak-ohjelmien asentaminen tapahtuu joko käyttämällä komentoriviä tai asentamalla graafinen kauppapaikkasovellus (nämä ovat Snap Store ja Flathub). Graafinen sovellus on kätevä, jos haluaa selata ohjelmatarjontaa esimerkiksi jonkin kategorian mukaan. Pakettivarastoista asennettujen ohjelmien tapaan Snap- ja Flatpak-ohjelmien ylläpito tapahtuu automaattisesti.
Snap- ja Flatpak-ohjelmien tai pakettivarastosta ladattujen ohjelmien asentaminen vaatii pääkäyttäjän oikeudet. Tämä voi olla ongelmallista, jos käyttäjällä ei kyseisiä oikeuksia ole. Käyttäjä voi myös jostain syystä haluta välttää ohjelman asentamista: hän voi esimerkiksi haluta suorittaa ohjelma suoraan muistitikulta tai käyttää saman ohjelman eri versioita.
AppImage mahdollistaa ohjelmien suorittamisen ilman niiden asentamista tietokoneelle. AppImagen idea on, että ohjelma ja sen tarvitsemat riippuvuudet on paketoitu yhdeksi itsenäiseksi tiedostoksi. Jos käyttäjä haluaa käynnistää ohjelman, hänen tarvitsee vain antaa sille suoritusoikeus, jonka jälkeen ohjelma on mahdollista suorittaa ilman erillistä asennusta. AppImage-sovellusten huono puoli on, että niitä ei voi automaattisesti päivittää, vaan uusi versio on muistettava ladata ja korvata manuaalisesti.
Lähdekoodista kääntäminen
Tähän mennessä käsitellyt asennusmenetelmät ovat käyttäjän näkökulmasta helppoja ja suoraviivaisia. Linuxilla törmää kuitenkin kohtalaisen usein ohjelmiin, joita kehittäjä ei ole valmiiksi kääntänyt suoritettavaan muotoon. Esimerkiksi Github on pullollaan hyödyllisiä ohjelmia, jotka on ensin käännettävä lähdekoodista. Oletuksena ilmeisesti on, että Linuxin käyttäjillä on ainakin perustiedot ohjelmoinnista ja lähdekoodin kääntämisestä. Windowsilla tätä yleistä oletusta ei ole, vaan kehittäjät – myös pienemmät – lähestulkoon aina tarjoavat ohjelmastaan käännetyn version.
Aloittelijalle lähdekoodista kääntäminen on monimutkainen prosessi, joka todennäköisesti pysähtyy johonkin virheilmoitukseen. Onneksi yleisimmät ohjelmat löytyvät esimerkiksi pakettivarastoista tai Snap Storesta, jolloin niiden asentaminen ei vaadi erityistä ymmärrystä ohjelmoinnista. Kääntäminen on kuitenkin jossain vaiheessa hyvä opetella, sillä jotkin ohjelmat on julkaistu ainoastaan lähdekoodin muodossa. Internetistä löytyy hyviä yleistason oppaita, ja monesti kehittäjät ovat laatineet selkeät ohjeet ohjelman kääntämiseen.
Ohjelmistotuki Linuxilla
Käyttäjän näkökulmasta on paljon merkitystä sillä, että omalle käyttöjärjestelmälle on saatavilla mahdollisimman paljon erilaisia ohjelmia. Esimerkiksi Windowsilla on erinomainen ohjelmistotuki, sillä on melko harvinaista, että jollekin ohjelmalle ei löytyisi Windowsilla pyörivää versiota.
Avoimen ja suljetun lähdekoodin ohjelmat
Ohjelmat voidaan karkeasti jakaa avoimen ja suljetun lähdekoodin projekteihin. Avoimen lähdekoodin ohjelmat ovat ilmaisia, ja niitä kehitetään yleensä vapaaehtoisvoimin. Koska kuka tahansa voi tarkastella ja muokata lähdekoodia, ei ole ihme, että Linuxille on saatavilla valtavasti avoimen lähdekoodin ohjelmia: jos kehittäjä itse ei ole suunnannut ohjelmaansa Linuxille, on hyvin mahdollista, että joku toinen kehittäjä on saanut ohjelman toimimaan myös Linux-ympäristössä.
Avoimen lähdekoodin vastakohta on suljettu lähdekoodi, johon perustuvat ohjelmat ovat tiukemmin tekijöidensä omistuksessa. Ulkopuolisilla ei ole pääsyä lähdekoodiin, ja vaikka lähdekoodi vuodettaisiin esimerkiksi Internetiin, koodia ei voi tekijänoikeudellisista syistä kehittää ja levittää edelleen. Suljetun lähdekoodin ohjelmia on sekä ilmaisia että maksullisia, mutta pääpaino lienee kaupallisissa sovelluksissa.
Linuxin selvä heikkous on se, että sille ei ole saatavilla yhtä paljon kaupallisia sovelluksia kuin Windowsille. Tämä on erityisesti ongelmallista, jos haluaa siirtyä Windowsista pysyvästi Linuxiin. Mitä vaihtoehtoja käyttäjällä sitten on tilanteessa, jossa sovellukselle ei ole saatavissa natiivia Linux-versiota? Vaihtoehtoja on onneksi useita.
Vaihtoehtoiset sovellukset
Helpoin vaihtoehto on siirtyä käyttämään jotain muuta vastaavanlaista ohjelmaa. Esimerkiksi Microsoft Officelle löytyy vaihtoehtona LibreOffice, joka on ilmainen ja ominaisuuksiltaan Officen tasoinen. Kieliasiantuntijoille tuttua WordSmith Toolsia vastaa puolestaan ilmainen korpusohjelma AntConc. Kääntäjille taas löytyy OmegaT, jos he etsivät avoimen lähdekoodin käännösmuistiohjelmaa esimerkiksi memoQ:n tai SDL Tradoksen vastineeksi.
Joskus Windows-ohjelmasta ei ole mahdollista luopua. Ehkä ohjelmalle ei löydy vastaavaa Linux-ohjelmaa. Uusi ohjelma voi myös selvästi olla Windows-ohjelmaa huonompi tai vaikeammin käytettävä. Työmaailmassa työnantaja tai asiakas voi vaatia tietyn ohjelman käyttöä. Syitä on monenlaisia.
Wine (ei ole emulaattori)
Onneksi lähestulkoon jokainen Windows-ohjelma on mahdollista saada toimimaan Linuxilla. Suosittu vaihtoehto on asentaa Wine-niminen ohjelma, joka muodostaa yhteensopivuuskerroksen Windows-ohjelman ja Linux-käyttöjärjestelmän välille. Winen hyvä puoli on, että yhteensopivuuskerros ei itsessään vie merkittävästi järjestelmän suorituskykyä (tämä on ongelma emulaation tai virtualisoinnin kohdalla). Winen avulla on myös mahdollista suorittaa vanhoja Windows-ohjelmia, jotka eivät enää toimi Windowsin uusimmilla versioilla.
Wine on erittäin hyödyllinen ohjelma, mutta sen suurin ongelma on käytön vaikeus. Käyttäjän on luotava jokaiselle ohjelmalle oma Wine-ympäristönsä ja osattava konfiguroida se oikein. Windows-ohjelma voi esimerkiksi vaatia toimiakseen muita ohjelmia tai tiedostoja, jotka käyttäjän on ymmärrettävä asentaa. Käyttäjän on myös valittava oikea Wine-versio, sillä kaikki Windows-ohjelmat eivät esimerkiksi toimi Winen uusimmalla versiolla. Winen konfigurointi voikin joillekin käyttäjille muodostua mahdottomaksi tehtäväksi.
Onneksi nykyisin on olemassa paljon erilaisia ohjelmia, jotka helpottavat Winen konfigurointia. Ohjelmat kuten Lutris ja PlayOnLinux perustuvat siihen, että jokaiselle Windows-ohjelmalle on oma asennusskriptinsä, joka automaattisesti lataa ohjelman tarvitsemat riippuvuudet ja muuten konfiguroi Winen. Tällöin käyttäjältä ei vaadita yhtä paljon tietoteknistä osaamista.
Asennusskripteihin liittyy se ongelma, että niitä ei ole vielä saatavilla kaikille Windowsin ohjelmille. Linuxin käyttäjän on siis hyvä osattava konfiguroida Wine ainakin jossain määrin. Helppo vaihtoehto on käyttää Bottles-sovellusta, jonka avulla jokaiselle Windows-ohjelmalle voi luoda oman, valmiiksi konfiguroidun ympäristönsä. Monet ohjelmat toimivat suoraan oletusasetuksilla, ja muiden ohjelmien kohdalla käyttäjän on helppo hienosäätää asetuksia graafisen käyttöliittymän kautta.
Virtualisointi
On olemassa Windows-ohjelmia, jotka eivät toimi oikein tai ollenkaan Linuxilla Winen avulla. Jos tällaista ohjelmaa haluaa käyttää Linuxilla, ainoa vaihtoehto on suorittaa ohjelma virtualisoinnin avulla. Käyttäjän on ensin asennettava jokin virtualisointiohjelma (esim. VirtualBox), joka sitten mahdollistaa virtuaalikoneen luomisen. Virtuaalikone matkii ohjelmiston avulla oikeaa, fyysistä tietokonetta, minkä takia virtuaalikoneeseen on mahdollista asentaa melkeinpä mikä tahansa käyttöjärjestelmä, esimerkiksi Windows 10. Windows-virtuaalikoneeseen on mahdollista asentaa Windowsille tarkoitettuja sovelluksia ja näin saada ne toimimaan ainakin epäsuorasti Linux-ympäristössä.
Virtualisointi ei ole ihanteellinen ratkaisu, sillä se vaatii paljon tehoja isäntäkoneelta eli virtualisointiohjelmaa pyörittävältä tietokoneelta. Isäntäkoneessa on esimerkiksi oltava tarpeeksi keskusmuistia ja prosessointikykyä. Erityisesti raskaiden Windows-ohjelmien suorittaminen voi osoittautua ongelmalliseksi virtuaalikoneen avulla. Virtualisointi on kuitenkin kelpo ratkaisu, jos ohjelmat ovat kevyitä ja niitä tarvitsee käyttää vain satunnaisesti. Virtualisointi myös lisää tietoturvaa, sillä harvat haittaohjelmat pystyvät leviämään virtuaalikoneesta isäntäkoneeseen.
Windowsin korvaaja
Kokemus on osoittanut, että Windowsista on mahdollista irtaantua kokonaan ja siirtyä käyttämään jotain Linuxin jakelupakettia. Haastavinta tässä prosessissa on omaksua Linuxin käytön periaatteet ja ratkaista kaikki ohjelmistotukeen liittyvät ongelmatilanteet. Koska Linuxille ei ole saatavilla kaikkia Windowsin sovelluksia, käyttäjän on kokeiltava erilaisia vaihtoehtoisia ratkaisuja, mikä vaatii häneltä enemmän tietoteknistä osaamista.
Jos kokee, että jo Windowsin käyttäminen on haastavaa, ei Linux ainakaan nykyisessä muodossaan sovellu itselle. Jos tietokoneen päivittäinen käyttö ei kuitenkaan tuota merkittäviä ongelmia, Linuxia kannattaa ainakin kokeille. Windowsista ei ole edes pakko kokonaan luopua, sillä samalle tietokoneelle on mahdollista asentaa samanaikaisesti sekä Windows että Linux. Tämä onkin suosittu ja suositeltu ratkaisu. Mitä enemmän ihmisiä käyttää Linuxia, sitä suuremmalla todennäköisyydellä ohjelmistokehittäjät alkavat tarjota sovelluksiaan myös Linuxille.