Linux Filesystem forklaret.

Tilbage i 2007 installeret jeg min første redhat 5.0 Server version. På min hjemme server for at lære mere om Unix og Linux. Jeg skulle bruge en filserver til mig og ungerne. Og sådan startet det med at samba blev installeret og det virkede fint med deling af filer.  Der var ikke så mange mulighed og det var svært at finde info om hvordan jeg skulle installere systemet. For slet ikke at tale om fil systemet, som var helt nyt for mig.

ingen C drev !. What.

Med denne guide håber jeg kan give dig en forståelse af filsystemet i Linux.


Fil system struktur.

Det er en god ide at vide lidt om hvordan linux fil systemet virker. Der findes en kommando som viser hele disken strukturen. Kommandoen hedder tree.

Det er faktisk nok en af de første værktøjer som du installere. navnet på kommandoen er tree

For at installlere tree skal du gøre følgende.

  • Åben en shell
  • installere tree programmet.

På Ubuntu samt debian versioner skal du skrive følgende.

$ sudo apt install tree

På Red Hat eller Fedora,:

$ sudo dnf install tree

På SUSE/openSUSE brug  zypper:

$ sudo zypper install tree

På Arch-linux som (Manjaro, Antergos, etc.) skal du bruge pacman:

$ sudo pacman -S tree

Når den er installeret. Prøv at starte kommandoen som vist her:

$ tree /

Parameteren / siger tree her at den skal vise det fra root biblioteket.  root biblioteket er lige som stammen på et træ, hvis du vender det på hoved. og under bibliotekerne er grene på træet.

Hvis du har brugt din pc’er i et stykke tid, kan det godt tage lidt tid. Da systemet selv skriver en masse filer (log filer samt cache og mange andre ting)

Den liste du får er meget lang fordi den finder alle biblioteker som findes på din pc. På min varede listen f32 sekunder af vise. Så det er ikke så brugbart. Derfor prøve lige at skrive

$ tree -L 1 /

Og så bliver det muligt at  se hvad der sker.

Parameteren -L kan oversættes til “Vis mig kun det første level af bibliotek strukturen.

-L Bestemmer hvor mange level den skal gå ned. 

-d Viser KUN bibliotekerne

-l Følg symbol links.

-f vis hele bibliotek stien for hver fil.

-x Bliv kun i dette filsystem. 

De fleste linux distributioner vil vise det på den måde som vist her. Og bare rolig når du forstå hvordan det virker kan du forstå alle linux distributioner måde at gøre tingene på.

Så nu vi er igang vil jeg nu beskrive hvad alle bibliotekerne bruges til.

Når jeg nu gennemgår dem nu kan du jo bruge ls kommandoen til at se hvad de indeholder.

Biblioteker.

Fra toppen af og ned.

/bin

/bin er det bibliotek, der indeholder binære filer, det vil sige nogle af de applikationer og programmer, du kan køre. Du finder det ls kommandoen her, der er nævnt ovenfor, såvel som andre grundlæggende værktøjer til at oprette og fjerne filer og mapper, flytte dem rundt og så videre. Der er flere bin-mapper i andre dele af filsystem træet, men vi taler om dem om et øjeblik.

/boot

/boot biblioteket indeholder filer, der kræves for at starte dit system. Må jeg sige dette? Okay, jeg siger det: RØR IKKE !. Hvis du rodere sammen en af filerne her, kan du muligvis ikke køre din Linux, og det er en smerte at reparere. På den anden side skal du ikke bekymre dig for meget om at ødelægge dit system ved et tilfælde: Du skal have superbrugerrettigheder til at gøre det.

/dev

/dev indeholder enheds filer. Mange af disse genereres ved starttid eller endda på farten. Hvis du f.eks. Tilslutter et nyt webcam eller en USB-drive til din maskine, vises en ny enheds indgang automatisk her.

/etc

/etc  er det bibliotek, hvor navne begynder at blive forvirrende. /etc får sit navn fra de tidligste Unix systemer og det var bogstaveligt talt “Everything to configure”, fordi det var dumping stedet for systemfiler, administratorer var ikke sikre på, hvor de ellers skulle lægge filerne. det var navnet på systemet på netværket og bruger oplysninger samt kodeord filer. samt hvilken diske som er mounted på disk maskine. Lad vær med at ændre noget filerne indtil du forstår hvad de bruges til.

/home

/home Er det sted hvor brugers hjemme biblioteker er gemt.

/lib

/lib hvor biblioteker bor. Biblioteker er filer der indeholder kode, som dine applikationer kan bruge. De indeholder kodestykker, som applikationer bruger til at tegne windows på dit skrivebord, styre perifere enheder eller sende filer til din harddisk.

Der er flere lib biblioteker andre steder i systemet. Men dette er lidt specielt da det indeholder alle kerne moduler, og disse ting styre blandt andet dit video kort lydt netværk, printer,usb enheder og andre ting. 

/media

/media biblioteket er hvor eksterne enheder bliver automatisk mounted, når du eksemples vis  indsætter en usb disk. Det er kun de nyere linux versioner som gør sådan. Før var der ikke et media bibliotek.

/mnt

/mnt biblioteket også hvor enheder bliver mounted, Det bruges ikke så meget mere.

 /opt

/opt biblioteket er tit hvor software du compiler eller henter på nettet som source kode. Hvor programmerne bliver installeret i  /opt/bin og /opt/lib er library filer som skal bruges bliver gemt.

Nogle mener dog at programmer skal installeres i /usr/local/bin og /usr/local/lib bibliotekerne. Så hvor programmet bliver installeret bliver styret at programmøren. 

/proc

/proc, er som /dev det er et virtuelt biblioteket. det indenholder informationer om hvordan cpu og kerne køre. bibliotekerne bliver oprettet under start af linux. Og filerne som ikke er rigtige filer, ændres hele tiden.

/root

/root er hjemme biblioteket for root brugeren som er administrator brugeren i linux. Der er ikke som andre brugere i /home som normalt bruges. Så lad hver med at slette det og brug det ikke. Det er ikke meningen at bruger skal ændre filer her.

/run

/run er et andet nyt biblioteket. System processer bruger det til at gemme data. Så det skal du også holde dig fra. eller sagt på dansk DU SKAL IKKE ÆNDRE PÅ DET.”

/sbin

/sbin er lige som /bin, men det indenholder programmer som super bruger skal bruge som sudo bruger.

/usr

/usr er hvor brugere originalt blev gemt i de tidlige dage. Men sådan er det ikke mere, nu er det jo /home. Der er også et bin,sbin,lib inden i /user biblioteket. Mange Linux distributioner i dag. Ubuntu (debian stuf) og mint stadig bruger det på den måde, så har Arch Linux kun et /usr/bin bibliotek. Det er normalt også der hvor browser,tekstbehandlings programmer og andre programmer er installeret. 

/srv

/srv biblioteket bruges normalt til server stuf. Så som hvis man køre web server, så er filerne gemt i  /srv/http eller /srv/www. Eller ftp server i /srv/ftp

/sys

/sys er et andet virtuelt bibliotek. på samme måde som /proc og /dev. Det indeholder information om devices som er tilsluttet til systemet.

/tmp

/tmp Indenholder midlertidige filer. Du kan godt bruge /tmp til at gemme filer som ikke skal gemmes. Du kan skrive i det uden at være super bruger root.

/var

/var er orginalt givet navnet for variable indhold. Idag bruges /var primært til logfiler /var/log, cache filer /var/cache, lib for dæmoner /var/lib, og snap systemet /var/snap. samt logs fra firewall.

Dit system kan have nogle flere biblioteker, som jeg ikke har nævnt ovenfor. I skærmbilledet er der for eksempel et /snap bibliotek. Det skyldes, at billedet er fra et Ubuntu system. Ubuntu har for nylig inkorporeret snap pakker som en måde at distribuere software på. Kataloget /snap indeholder alle filer og softwaren installeret fra snap.

Grave dybere

Puha det var noget at en omgang.

Og det var kun root / biblioteket. Der er mange flere som bruges til forskellige formål. Figure 2 viser en overordnede basic ide om hvordan det er skruet sammen.

Figure 2: Standard Unix filsystem.

For at se mere om hvor du kommer rundt skal du bruge cd kommandoen.

$ cd biblioteks sti

Det til tage dig hen til det bibliotek som du ønsker at stå i. cd står for skift bibliotek på engelsk (change directory).

Hvis du mister overblikket kan du bruge pwd kommandoen.

pwd

Den viser dig hvor du står (pwd står for print working directory). 

$ cd

cd uden nogle parametre vil tage dig til dit hjemmebibliotek. .

Og enlig,

$ cd ..

Vil tage dig up et level af træet. og du kommer tættere på root (/) biblioteket. 

Hvis du er i /usr/share/wallpapers og skriver cd .. til du komme til /usr/share

For at se indholdet at et bibliotek skal du skrive.

$ ls 

Og du har tree kommandoen. Du kan prøve at kikke i /usr/share — der er mange interessante ting der.

Konklusion

Selvom der er mindre forskelle mellem Linux-distributioner, er layoutet for deres filsystemer meget ens. Så meget, at du kunne sige: Når du først kender en, kender du dem alle. Og den bedste måde at kende filsystemet er at udforske det. Så gå ud med tree, ls og cd.

Du kan ikke ødelægge noget bare ved at kikke i fil systemet.