Onko jotain tiettyä opusta, jolla aloittelija pääsisi Linuxista jyvälle ja oppisi vähän enemmänkin? Eli jotain, jossa on sekä vähän alkeita että sitä edistyneempääkin käyttöä neuvottu. Olen RPi:llä väännellyt VPN-bokseja ynnä muita pientä, mutta pääosin ohjeiden mukaan ja vain vähän itse soveltaen. Nyt haluaisin oppia tekemään jotain ihan aidosti itse Linuxissa.
Itse olen opiskellut Linux/Unix - palvelimet hyvin pitkälle itse erehdyksien kautta. Joskus 90-luvun puolivälissä minulla oli ylimääräinen tietokone nurkassa hurisemassa johon aloin värkkäämään linux- palvelinta ja aloin opetella järjestelmän sielunelämää. Aluksi asensin koneelle debianin mahdollisimman minimalistisesti, eli asennuksen jälkeen asennettuna ei ollut mitään ns. turhaa vain juuri ne palikat että tietokone lähti käyntiin ja siihen pystyi kirjautumaan. Silloin yksi ensimmäisistä asioista oli kernelin kääntäminen niin, että mukana ei ollut mitään muuta kuin tarpeelliset palikat kyseiseen kokoonpanoon ja samalla opin ymmärtämään järjestelmän sielunelämää.
Nykyään kun asentaa perus desktop distron niin useimmissa distroissa on vaikka mitä palveluita/ohjelmia valmiiksi asennettuna varmuuden vuoksi, jospa käyttäjä niitä joskus saattaisi kaipaamaan. Tämä tietysti vaikeuttaa ymmärtämään mitä linux oikeasti tarvitsee toimiakseen, kun koneella pyörii kymmeniä prosesseja jotka eivät aluksi todennäköisesti sano mitään. Samalla kaikkien näiden prosessien tarkoitusten opiskelu saattaa olla hidastakin ja osittain turhaakin, koska nykyään valtaosa distroista asentavat helppokäyttöisyyden nimissä valmiiksi erilaisia paketteja "varmuuden vuoksi".
Eli mielestäni saattaa olla helpompi lähteä liikkeelle hyvin minimalistisesta Linux asennuksesta ja sitten itse asentaa siihen niitä palikoita joita ajattelee tarvitsevansa, kuten tiedostopalvelin, webbipalvelin, ssh, käyttäjät ja tietysti tiedostojen oikeudet on syytä opiskella jne.
Nykypäivänä tosin Kernelin kääntäminen ei ole niin suuressa muodissa(kuin aikaisemmin), sillä järjestelmiä ei ole pakko optimoida viimeiseen saakka kokoonpanoon sopivaksi, sillä oletuksena on että koneissa riittää tehoa pyörittämään myös ns. turhia prosesseja ja samalla asennus saadaan toimimaan käyttäjäystävällisesti, kun varmuuden vuoksi distron installeri asentaa palikoita joita joku käyttäjä/kokoonpano saattaa joskus tarvita(joilla ei välttämättä tee mitään omassa kokoonpanossa).. vähän kuten windowsissakin tulee ohjelmia/ominaisuuksia mukana, joita kaikki ei suinkaan tarvitse.
Nykyään Googlella löytää hyvin apua erilaisten palvelin sovellusten asentamiseen linuxissa. Itse ehkä lähtisin opiskelemaan niin että asentaisin jonkin hyvin minilalistisen distron ja sen jälkeen asentaisin siihen palveluita oman tarpeen mukaan käsin.. ilman graafisia apuvälineitä. Tässä erilaiset konffi tiedostot tulevat tutksi ja niiden manuaalinen puukottaminen ilman graafisia GUI härpäkkeitä. Usein graafiset GUI härpäkkeet vain editoivat näitä .conf tiedostoja ja jälki saattaa olla hyvinkin erilaista miten itse olisit niitä muokannut. Esimerkkinä voidaan sanoa että minulle on monta kertaa tapahtunut niin, että aluksi olen hieronut teksti editorilla .conf tiedostot kuntoon ja toimiviksi, mutta sitten jälkikäteen jokin GUI- työkalu joka on tehty helpottamaan asetusten määrittämistä on rikkonut/ylikirjoittanut jo aikaisemmin toimivaksi editoidut konffi tiedostot.
Ajan tässä lähinnä takaa että jos oikeasti haluat oppia linuxin sielunelämästä, niin kannattanee asentaa jokin hyvin minimalistinen järjestelmä ja sitten kun se on tullut tutuksi voit alkaa lisäämään siihen tavitsemiasi palikoita. Tällöin järjestelmän prosessit tulevat tutuksi ja ei tarvitse ihmetellä "mikähän tuokin oudon niminen prosessi on". Sillä uuden käyttäjän on helpompi ymmärtää minimalistisemman järjestelmän noin 10-20 prosessia, kuin vaikkapa nykypäivän työpöytä distroa joissa suoraan asennettuna saattaa olla vaikkapa 50prosessia pyörimässä puhtaan asennuksen jälkeen.
Nykyään netti on hyviä ohjeita pullollaan miten saadaan tehtyä mitäkin, eikä kannata unohtaa linuxiin omia manuaaleja "man sivut" jotka usein ovat varsin kattavia.
Tämä on toki vain yksi esimerkki miten itse olen Linux/Unix järjestelmien sielunelämän aikanaan oppinut ja tämä on myöhemmin myös auttanut minua erittäin paljon työelämässä. Tämän päivän standardeilla usein halutaan pakasta vetää se toimiva linux distro ja sitten saattaakin mennä sormi suuhun, kun ei ymmärretä sen toimintaa syvällisemmin. Toki kaikkien ei sitä tarvitse ymmärtääkään jos tarkoitus on vain käyttää graafista käyttöliittymää ja vältella terminaalia kuin ruttoa.
Mutta asenna rohkeasti vaikkapa jokin hyvin minimalistinen distro virtuaalikoneeseen (esim. ilmainen VirtualBox ohjelma)niin siitä on hyvä lähteä liikkeelle. Aluksi verkkojaot kuntoon isäntäkoneen kanssa, tutustumien LAMP stackiin ja ennen kaikkea tietoturvaa silmällä pitäen.. apua löytyy varmasti internetin hakukoneilla.
Toki tämä vaatii hieman paneutumista, mutta uskon että opit näin enemmän jos aidosti haluat oppia muutakin kuin naksuttelemaan hiirellä graafisessa käyttöliittymässä. Näitä graafisia käyttöliittymiä on myös paljon erilaisia eli eri linux distrojen käyttöliittymät ei suinkaan aina ole totutun oloinen, mutta viimeistään terminaalista käsin saat ainakin periaatteessa tehtyä asiat "lähes" samalla tavalla.. oli sitten kyseessä mikä distro tahansa.