Nysgjerrig på Linux?

Linux er helt fantastisk for data entusiaster som som kan litt programmering og liker å fikle med datamaskiner. Lærekurven for nybegynnere er bratt, og det er mye som må av-læres hvis man har lang erfaring med Windows. Men gevinsten ved å holde ut, og komme seg over den første lærekurven er enorm.

Faktisk er det en ulempe å IKKE kunne bruke Linux hvis man tenker seg en karriere innen programvare utvikling og system administrasjon. Linux er en datamaskin lekekasse som du virkelig kan boltre deg i bare man vet hvordan man skal bruke det.

Linux er "Free"

Gratis, fritt og åpent - til alles glede!

Linux er basert på dugnad. Så nesten all software som bruker i Linux er på engelsk "free" som oversatt til norsk betyr gratis, fritt og åpent.

  • Gratis i den forstand at det ikke koster noe å ta i bruk Linux
  • Fritt i den forstand at du kan bruke det til alt du måtte ønske å bruke det til.
  • Åpent i den forstand at du kan se kildekoden (det som til slutt blir programvare), modifisere den slik at den passer bedre til ditt behov. Bruke den modifiserte versjonen og dele den modifiserte versjonen med de du selv vil.

I praksis vil det si at rundt omkring i verden sitter det mange dyktige programmerere som bruker arbeidstid og fritid på å forbedre Linux, og programmer til Linux. Det er knyttet stor prestisje til det å bidra med kildekode til Linux prosjekter. Mange nyutdannede studenter har fått rakettstart på sin programmerings karriere ved å kunne vise til at de har bidratt på slike prosjekter. En del arbeidsgivere tillater og til og med støtter at ansatte bruker noe arbeidstid til å bidra til at programmer de selv er avhengige av å får flere funksjoner, bedre sikkerhet og bedre ytelse.

Mange versjoner/distribusjoner av Linux, og programmer til Linux er lisensiert på en slik måte at de er "Free". Dette gjør at ingen enkeltpersoner eller organisasjoner har økonomisk eierskap til Linux programmer, operativsystem eller kernel (det som snakker med maskinvaren) er det dermed ingen som kan kreve betalt for Linux.

Denne dugnadsånden og friheten er noen av hovedårsaken til at Linux er så populært.

Programmer

Linux installerer programmer som pakker.

I windows installeres programmer stort sett ved å bruke ett installasjonsprogram. Dette installasjonsprogrammet installerer hele programmet på riktig sted, og registrerer det i windows sitt register med programmer som finnes på maskinen. For å avinstallere ett program buker man ett avinstallerings program som gjør det stikk motsatte av installerings programmet.

Linux bruker noe som kalles for en "packet manager". De aller fleste programmer du måtte ønske å installere på en Linux "box" kan installeres via denne. En "packet manager" ligner veldig på hvordan man installerer programmer på android og iOS. Man søker etter ønsket program i app-store eller lignende og installerer det derifra.

Den store forskjellen ligger i at Linux programmer består av en sammensetning av mange forskjellige programmer, eller pakker som det kalles. Når du installere ett nytt program sjekker "packet manageren" hvilke pakker det valgte programmet består av eller er avhengig av for å kunne fungere. Hvis du allerede har installert noen av disse pakkene trenger du ikke installere de på nytt. Ved å avinstallere et program fjernes den pakkene som programmet inneholder, og pakkene det var avhengig av for å funger, som ingen andre programmer på maskinen også er avhengig av for å kunne fungere. På grunn av denne smarte måten å sette sammen programmer på er det veldig raskt å installere nye programmer, og de ta liten plass på maskinen.

Brukere og bruker rettigheter

Linux er laget for flere brukere på en maskin - samtidig

Linux er fra bunnen av laget med utgangspunkt i datasenter der man har en sentral datamaskin. Tilkoblet denne sentrale datamaskinen har man flere "terminaler" som det sitter personer og jobber på med sin bruker. Dette gjør at Linux ikke har noen problemer med at mange brukere på den samme datamaskinen samtidig.

En av måtene systemet klarer å håndtere mange brukere på en gang og til forskjellige tider på er at rettigheter i Linux ikke basert på brukere, men på filer. Jeg liker å tenke det på slik at filer er hele tiden på maskinen, men brukere kommer og går. Siden ingen rettigheter setter på en bruker har det ingen konsekvens for andre brukere om en bruker blir slettet, eller om nye blir til.

Alle som jobber på en Linux box har en bruker, og denne brukeren tilhører en eller flere bruker-grupper.

Rettighetene på en fil er basert på hvilken bruker og bruker-gruppe som eier filen. Man skiller på hva brukeren som eier filen kan gjøre, bruker-gruppen som eier filen kan gjøre, og hva alle andre kan gjøre med filen. I tillegg kan det være definert hva andre brukere og bruker-grupper som ikke eier filen kan gjøre med filen.

Det er tre typer rettigheter en fil kan gi brukere. Disse er "Read, Write og Execute". Read, og Write er ganske selvforklarende, men execute er ikke fult så intuitivt. Kort forklart må en bruker ha execute rettigheter på en mappe for å kunne se innholdet i mappen, og en bruker må ha execute rettigheter på ett program eller ett script for å kunne kjøre det. Årsaken er et man executer en mappe med "ls" kommandoen, og man executer ett shell script sammen med valgt program (eks. bash).

Når en viser innholdet i en mappe skriver man kommandoen "ls" etterfulgt av "options" og ett eller flere argument som forteller hvilke fil(er) som det skal vises innholdet til. Det som skjer da er ls kommandoen starter programmet ls, programmet bruker de "options" vi har valgt og "executer" filen(e) som er satt som argument. Hvis filen er en mappe vil den liste innholdet i mappen på den måten vi har spesifisert med "options". Hvis det er en fil, vil den den kun vise filen på den måte vi har spesifisert med "options".

kommandoen jeg beskrev over kan se slik ut:

"ls -l Documents" eller "ls -l minTextfil.txt"

Ved å bruke ls kommandoen med "optionen" -l vises filen(e) i en liste hvor man kan se rettigheter og hvilke bruker og brukergruppe som eier filen, og størrelse på filen og når den ble sist endret.

Alt er en fil

Til og med tastatur, skjerm og annen maskinvare!

Det som kan være litt forvirrende er at i Linux blir en mappe behandlet på nøyaktig samme måte som en fil. Faktisk er det slik at alt blir behandlet som en fil i Linux. Til og med tastaturet, minnepennen og skriveren din! Det praktiske med detter er at du kan lagre en PDF til printeren, og dokumentet vil bli skrevet ut. Eller du kan lese om det er signal inn på en RaspberryPi GPIO pinne.

Gi Linux en sjanse

Det er ikke så komplisert som du tror

For vanlig bruk trenger man i veldig liten grad lære seg å bruke terminalen. Min 60 år gamle mor bruker Linux Mint på sin datamaskin og merket knapt overgangen fra Windows til Linux. Siden Linux i stor grad er skrevet for å bruke lite system resurser vil mange oppleve at datamaskinen oppleves som raskere, til og med som ny etter at de installerte Linux.

En billig og fin måte å teste Linux på er å kjøpe eller låne en RaspberryPi, og installere Linux på den. Dette er en komplett datamaskin på størrelse med et bankkort til ca 1000kr inkludert alt du trenger for å komme i gang.

Under kan du lese en anmeldelse av en bok jeg personlig hadde mye glede av for å komme i gang med Linux

book cover

Linux Basics for Hackers

OccupyTheWeb - 248 sider

Bok som tar for seg det mest grunnleggende innen terminal arbeid på Linux baserte operativsystem satt i en setting som er ment for å trigge nyskjerrighet.

"Jeg vil anbefale denne til alle som har lyst å bli litt våt på beina i Linux verden."

Dette var en lettlest og underholdende bok, som jeg hadde enormt mye glede av som komplett nybegynner i Linux verden. Boken er skrevet på en leken måte som gir deg som leser ett fugleperskeptiv og overblikk over hva som gjøre linux baserte operativsystem så attraktive for programmerere og hackere i hele verden.

Boken er en snill, vennlig og inspirerende introduksjon til Linux for de som ikke har erfaring med Linux fra før. Jeg vil anbefale denne til alle som har lyst å bli litt våt på beina i Linux verden.

25. juli 2021