Linux-intro

From Programvareverkstedet
Jump to navigation Jump to 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.

Linux Dokumentasjon

Her er en side som prøver å dokumentere viktige programmer og funksjoner med linux

https://tldp.org/HOWTO/pdf/

Filsystemet på /

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

Mappenavn Beskrivelse
/bin
  • Inneholder binærfiler som utgjør kommandoene man kan kjøre i et skall på linux.
  • Som regel er disse filene brukt og administrert av systemet.
  • Det er som regel ikke nødvendig å tulle mye med denne mappen.
/boot
  • Inneholder bootloadere for det gjeldende systemet.
  • Som regel trenger man ikke pirke borti denne.
/dev
  • Inneholder filer som ikke egentlig er filer.
  • Innholdet er alle enheter (devices) som er tilkoblet systemet.
  • Eksempler: disker, output-strømmer som stdout og usb-devices.
  • Det er imidlertid ikke her innholdet på de tilkoblede diskene ligger.
  • sda og sdb er gjerne første og andre tilkoblede disk, men disse monteres som filsystemer på et annet sted.
/etc
  • etc står for et cetera. Tidligere et sted for å dumpe ting som ikke havnet andre steder.
  • I praksis er mappen brukt for konfigurasjonsfiler og maler til konfig-filer.
  • Konfig-filene i denne mappen er ofte globale, slik at de gjelder for hele systemet.
  • Brukerspesifike konfig-filer 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.
  • På PVV ligger mappene derimot ikke lokalt, fordi området skal være lik over flere maskiner.
  • Hjemmeområdet ligger lagret på en annen maskin og hjemmemappen lokalt på maskinen peker til "nettverkslokasjonen" hvor alt faktisk er lagret.
/lib
  • Inneholder 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 bør las være i fred.
/media
  • Ofte brukt som monteringspunkt for eksterne filsystem.
  • Sekundære harddisker som monteres med kommandoen mount kan monteres her.
  • "Mediabiblioteker" og denslags monteres gjerne her.
  • Ikke bare "tradisjonelle" disker men også nettverkslagringsstasjoner som kun deler lyd, bilde og video.
/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 selv installerer.
  • Som regel havner egeninstallerte programmer under /usr/local, men det kan forekomme programmer under /opt også.
  • Tredjeparts programmer og applikasjoner kan kanskje installere seg selv under /opt.
  • Dette er fordi noen tredjeparter 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".
/root
  • Dette er hjemmeområdet til rotbrukeren på systemet.
  • I brukernes hjemmeområder ligger det mye knask som en historikk over sist kjørte kommandoer.
  • I /root har man mye det samme, bare for rotbrukeren.
/run
  • Dette er en ganske ny mappe, og trenger ikke eksistere på eldre maskiner.
  • Oppstartsrutiner trenger et sted å lagre unna kjøretidsinformasjon før andre mapper monteres.
  • /run er en videreføring av forholdet mellom /bin og /usr/bin.
  • Begge mappene inneholder binærfiler som kjøres som kommandoer, men /usr/bin monteres senere i oppstartsrutinen, men noen kommandoer trengs ganske tidlig.
  • /run monteres tidlig og kan brukes for å holde informasjon som kan være nyttig for å starte /var/run, blant annet.
/sbin
  • Inneholder enda flere binærfiler, gjerne systemfiler (derav s-en for system), som ikke er kritisk under oppstart.
  • Som regel er det ikke nødvendig å tukle med innholdet.
/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
  • En samlemappe for programmer og filer relatert til brukerne av systemet.
  • /usr inneholder mapper som /usr/bin, /usr/lib og /usr/local.
  • Her finner man binærfiler og biblioteker som er lastet ned av eller for brukeren(e).
  • Ofte har man en pakkebehandler som tar seg av innholdet her, men det kan hende at man må tulle med noen filer her for å få systemet til å samarbeide.
  • Det kommer helt 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.
  • /var/run inneholder info om kjøretid og prosesser som kun er gyldig til maskinen skrus av.
  • /var/lock inneholder en oversikt over låser som programmet kan putte på andre filer for å hindre endring mens en prosess trenger filen.
  • /var/lib inenholder dynamiske biblioteker som programmene renger mens maskinen kjører.
  • /var/log inneholder logfiler fra diverse prosesser og andre ting.

Skall og terminaler

Et skall er et program som mottar en kommando og får operativsystemet til å utføre kommandoen. En terminal er et program som tar tastene man trykker på og oversetter dem til tegn som maskinen forstår som den da sender videre, enten til et skall eller til et annet program som lytter.

Terminalen tolker dermed tastaturet, mens skallet tolker teksten man skriver inn.

Dersom man ønsker å vite mer om dette, kan man lese mer her: http://unixsheikh.com/articles/the-terminal-the-console-and-the-shell-what-are-they.html