Linux-intro

From Programvareverkstedet
Jump to: navigation, search

Introduksjon til Linux

Det finnes mange forskjellige "linux"-er, som gjerne kalles "linux distribusjoner" eller "distroer" for kort. Noen av dem er Debian, Arch og FreeBSD. Det disse har til felles er at alle baserer seg på den samme "kjernen", nemlig linux kernelen. En kernel er på en måte bare det "greiene" som kjører lengre nede på maskinen slik at vi kan ha kule ting på brukerområdet. Det området man er i når man bruker en datamskin på vanlig måte er brukerområdet "userspace", mens datamskinen kjører en hel del greier i bakgrunnen som heter "kernelspace". Det er ikke alltid en direkte kobling mellom disse områdene, men for eksempel via filsystemet på linux, får man anledning til å se hva kernelen holder på med.

Filsystemet på /

Hva er egentlig alle mappene som ligger under / på et linux-system?

/bin

Dette er en mappe for binærfilene som utgjør mange av kommandoene man kan kjøre i et skall på linux. Som regel er innholdet her filer som systemet bruker og administrerer, og man bør som regel ikke tulle mye med denne mappen.

/boot

Denne mappen inneholder bootloadere for det gjeldende systemet og er ikke noe man som regel trenger å prike borti.

/dev

Innholdet i denne mappen er egentlig ikke filer. Dette er nemlig mappen som inneholder alle enhetene (devices) som er tilkoblet systemet. For eksempel tilkoblede disker, output-strømmer som stdout og usb-devices er tilkoblet her. Det er imidlertid ikke her innholdet på tilkoblede disker ligger. sda og sdb er gjerne første og andre tilkoblede disk, men disse må monteres som filsystemer på et annet sted for at man skal få tilgang til dataen i et fornuftig format.

/etc

etc står for et cetera. Tidligere var dette et sted for å dumpe ting som ikke havnet andre steder. I praksis brukes denne mappen kun for konfigurasjonsfiler og maler til konfigurasjonsfiler. Konfigurasjonsfilene her vil ofte være globale, slik at de gjelder for hele systemet, fordi bruker-spesifike konfigurasjonsfiler havner under /home/<brukernavn>.

/home

Her ligger brukermappene til alle brukerne på maskinen. På normale installasjoner av linux vil alle de lokale brukerne ha sine mapper her under sitt eget brukernavn, men på maskinene på PVV ligger ikke mappene lokalt, fordi man skal kunne kunne ha persistent tilgang til hjemmeområdet sitt fra hvilken som helst maskin. Hjemmeområdet ligger lagret på en annen maskin og hjemmemappen lokalt på maskinen peker til "nettverkslokasjonen" som er hvor den faktisk er lagret.

/lib

I denne mappen ligger mange av de delte bibliotekene forskjellige programmer trenger tilgang til for å fungere. Som med /bin er det veldig mye av innholdet som er system-relatert, og mye av innholdet bør las være i fred.

/media

Denne mappen brukes ofte som monteringspunkt for eksterne filsystemer. Sekundære harddisker som monteres på maskinen med kommandoen mount kan monteres her. "Mediabiblioteker" og denslags monteres gjerne her, og det trenger da ikke være "tradisjonelle" disker med generell data, men heller nettverkslagringsstasjoner som kun deler lyd, bilder og video som kobles til her.

/mnt

En forkortning av mount og er også et monteringspunkt for disker. "General purpose" disker monteres gjerne her, slik som partisjoner på en eventuell disk sdb.

/opt

Opt er kort for "optional" og er brukt for programmer man installerer selv. Som regel havner egeninstallerte programmer under /usr/local, men det kan forekomme programmer under /opt også. Tredjeparts programmer og applikasjoner kan kanskje tenke seg å installere seg selv under /opt, da en del tredjeparter av uvisste grunner ikke synes /usr mappen høres grei nok ut. Pakkebehandlere som apt og rpm kommer sannsynligvis ikke til å tukle med /opt.

/proc

Dette er i likhet med /dev ikke en "faktisk" mappe med "egentlige" filer. Proc er nemlig kort for "process" og inneholder informasjon om alle kjørende prosesser på maskinen. Dersom man greier å forandre på disse filene forandrer man kjørende prosesser direkte. Det at denne informasjonen ligger som en del av filsystemet kommer av at på linux er "alt en fil" i en eller annen kapasistet.

/root

Dette er hjemmemappen til rot-brukeren på systemet. I likhet med at alle brukere har en mappe på sitt hjemmeområde som inneholder litt forskjellig knask som en liste over de sist kjørte kommandoene, inneholder /root mye av det samme bare for brukeren "root".

/run

Dette er en ganske ny mappe, og trenger ikke eksistere på eldre maskiner. Grunnen til at den kanskje eksisterer, er at oppstartsrutiner kan trenge et sted å lagre unna kjøretidsinformasjon før andre mapper (som /var/run) er montert i filsystemet. Dette er en slags videreføring av forholdet mellom /bin og /usr/bin, der de to sistnevnte utfører den samme jobben, nemlig å holde binærfiler som kan kjøres som kommandoer, men /usr/bin monteres senere i oppstartsrutinen, mens oppstarten selv krever at enkelte binærfiler er tilgjengelig for å i det hele tatt kunne laste /usr/bin. /run monteres tidlig og kan brukes for å holde informasjon som kanskje til og med er nødvendig for at /var/run settes opp på rett måte.

/sbin

Denne mappen inneholder enda flere binærfiler, gjerne filer systemet trenger (derav s-en i sbin som står for system), men kun filer som ikke er kritisk under oppstart. Det er som regel ikke nødvendig å tukle med innholdet her heller.

/sys

Dette er enda et "virtuelt" filsystem på samme måte som /proc og /dev. Det spesielle med denne mappen er at den holder informasjon om systemet selv. /proc er prosesser, /dev er devices og /sys er info om systemet. Informasjonen i denne mappen omhandler gjerne kernelen selv og RAM.

/usr

Dette er en samlemappe for programmer og filer relatert til brukerne av systemet. /usr inneholder mapper som /usr/bin, /usr/lib og /usr/local. Her har man binærfiler og biblioteker som er lastet ned av eller for brukeren(e). Man har ofte pakkebehandlere som tar seg av innholdet her, men det kan gjerne tenkes at man må tulle med noe filer her inne for å få systemet til å samarbeide. Det kommer da an på hvilke programmer man har lastet ned.

/var

var står for "various" og er destinasjonen for en del filer systemet bruker for å lagre unna data under kjøretid.

  • /var/cache inneholder cachet data for forskjellige programmer som kjører på maskinen
  • /var/run inneholder informasjon om kjøretid og prosesser som ikke skal lagres til neste oppstart (kun gyldig frem til maskinen skrus av)
  • /var/lock inneholder en oversikt over låser som programmer kan putte på andre filer på systemet for å hindre at filer forandres mens programmene trenger at de er uendret
  • /var/lib inneholder dynamiske biblioteker som programmene trenger mens maskinen kjører
  • /var/log inneholder logfiler fra diverse prosesser og andre ting