Linuxi failihierarhia ülesehitus

Allikas: Pingviini viki
  • NB! Lühiülevaade algajatele artiklis Asukohad.

Alustuseks

Kindlasti on paljudel uutel kasutajatel tekkinud küsimus, kus miski asub Linuxis, mis endas üldse sisaldab see juur, millest kogu aeg räägitakse. Windowsis on lihtne - Windows kaustas asuvad windowsi süsteemi failid, Program Files asuvad programmifailid, My Documents asuvad kasutaja failid. Kuid kuidas see on Linuxis? Kõige lihtsam on vast avada Terminal ja anda kaks käsku:

cd /

ja seejärel

ls -a

Nüüd peaksite nägema kindlasti järgmisi katalooge (Teil võib olla osa rohkem, see sõltub konkreetsest distributsioonist), kuid järgnevad peaksid küll olemas olema:

bin
boot
dev
etc
home
lib
media
mnt
opt
root
sbin
tmp
usr
var

Järgnevalt neist kõigist lähemalt, mille jaoks miski on ja mis otstarvet ta süsteemis täidab.

Kataloogide struktuur

Kataloog Kirjeldus
/ Primaarne ülesehitus. Tegu on siis juurega - kogu failisüsteemi algusega. Seda tuntakse ka kui juurkataloogi ehk juurikat. Sellest saab alguse kogu ülejäänud failisüsteem. Erinevalt Windowsist pole Linuxis midagi pistmist C, D jne ketastega. Seega Teil ei saa olla süsteemis C ketta juurikat ja D ketta juurikat. Kõik lisakõvakettad liituvad kuskile / kataloogi alamkataloogidesse. Kui kujutada failisüsteemi ette puuna, siis on meil tegu tüvega, mille küljes on järgnevad "oksad"
/bin/ Siin on süsteemi binaarfailid (ehk siis programmid). Need programmid on siin üle kogu süsteemi mõeldud kasutamiseks. Siin asuvad ka näiteks kõik Bashi käskude tööks vajalikud programmid nagu näiteks mkdir, cp, rm jne.
/boot/ Siia on kokku kogutud arvuti bootimiseks vajalik informatsioon. Siin paikneb ka näiteks Kernel ja muud vajalikud failid süsteemi käivitamiseks. Lisaks sellele paiknevad siin ka Linuxi bootloaderid nagu Grub, Lilo või siis muud. Väga paljudel juhtudel soovitatakse /boot täiesti eraldi partitsioonina teha.
/dev/ Siin kataloogis on süsteemi seadmete tööks vajalikud failid. Näiteks on siin ära toodud kõik kõvakettad (hda1,2 jne), usb pordid ja muud seadmed, mis arvutiga on ühendatud. Lühend sõnast devices.
/etc/ Siin asuvad peamiselt erinevad süsteemi konfiguratsioonifailid. Kuid samuti erinevad käivitamiseks vajalikud süsteemifailid. Paljudel programmidel on siin veel eraldi kataloogid oma konfiguratsioonifailidele nagu näiteks Sendmail, Apache, X jne. Nimetus tuleb sõnast et cetera või essential text configuration
/etc/X11/
Konfiguratsioonifailid X serverile.
/home/ Siin on iga süsteemi kasutaja failid erinevates kataloogides. Ilma vastavate õigustega teise kasutaja kataloogi te ligi ei pääse. Näiteks kui süsteemis on kasutaja tux, siis tema kodukataloog on /home/tux, seal asuvad kõik tema aknahalduri seade failid, isiklikud asjad jne. Terminalis sisse logides suunatakse tux kohe oma kodukataloogi. Tavalisel kasutajal teistesse süsteemi kataloogidesse asja pole ja kõik kasutajale vajalikud failid ja kataloogid on tema kodukataloogis. Kasutaja võib kodukataloogi oma äranägemise järgi sisustada ning katalooge ja faile lisada.
/lib/ Siin on teegid (inglise keeles library) , mis on mõeldud korduvkasutuseks erinevates programmides ja kus on ka programmi tööks vajalikud andmed. /lib/modules kataloogis on tuuma moodulid (riistvara tüürelid) ning /lib/firmware sisaldab erinevale riistvarale vajalikku (enamasti) omanduslikku masinkoodi ehk firmwarei
/media/ Siin asuvad ühenduspunktid kõigile tuntumatele vahetatavatele andmekandjatele, näiteks ühendatakse siia süsteemis CD-ROM, CD-kirjutaja, ZIP-seadmed, floppyd. Otse loomulikult võite hiljem ühenduspunkte ka mujale määrata, kuid peamistel Linuxi distributsioonidel on vaikimisi ühenduspunktiks vahetatavale meediale just see kataloog. Juhul, kui teil on mitu samanimelist seadet, siis hakatakse seadmeid nummerdama. Esimene on ikka tavalise nimega kuid teine saab laiendiks 0 jne. Levinumad alamkataloogid on:
/floppy
Floppy draivid siis.
/cdrom
CD-ROM seade (siia alla läheb ka DVD-seade.
/cdwriter
CD-kirjutaja (siia alla läheb ka DVD-kirjutaja)
/zip
ZIP-seade
/mnt/ Siia haagitakse (=mount) üldiselt erinevaid väliseid seadmeid. Eelnevalt tuleb siia loomulikult kataloog luua, kuhu seade haakida. Näiteks soovite välise kõvaketta haakida /mnt/data kataloogi, siis tuleb esmalt root kasutajana teha selleks siia kataloog data:
mkdir /mnt/data

Kuigi Te võite alati seadmeid suvalisse kataloogi haakida on üldise pildi huvides soovitatav siiski enamustel puhkudel seadmete liitumispunkt määrata siia. Siia ei liideta ainult erinevaid media vahendeid nagu CD-rom, ZIP ketas või Floppy. Nende liitumispunktid asuvad /media kataloogis.

/opt/ Programmide erinevad lisapaketid asuvad siin (näiteks erinevad kde või gnome programmid).
/root/ See on root kasutaja kodukataloog. Siin on ainult tema enda isiklikud failid ja seadistused. Tegu sisuliselt samasuguse kataloogiga nagu /home kaustas olevad kasutajate kataloogid.
/sbin/ Lühidalt öeldes on siia salvestatud süsteemi binaarfailid. Siin asuvad programmide failid, mis hoolitsevad süsteemi ja kerneli töö eest ja mille abil on võimalik süsteemi seadistada ja administreerida. Kasutada saab neid üldjuhul ainult root kasutaja õigustes.
/tmp/ Siia on paigaldatud süsteemi ajutised failid. Nimetus tulenebki inglise keelsest sõnast temporary. Siia pakitakse lahti ajutiselt arhiivid, talletatakse buutimiste vahepealset informatsiooni ja palju muud. Seda kataloogi tühjendatakse pidevalt ja seega ärge sinna pange faile, millest Te ei taha ilma jääda.
/usr/ Sekundaarne ülesehitus. Siin kataloogis on kasutajatele mõeldud programmide failid. Näiteks, kui paigaldate süsteemi nano, siis tema käivitatav binaarfail paigaldatakse /usr/bin kataloogi. Siin võivad olla samad kataloogid nagu primaarses failisüsteemi ülesehituses ja samade ülesannetega.
/usr/bin/
Binaarfailid kõikidele kasutajatele, mis pole vajalikud üle kogu süsteemi kasutamiseks.
/usr/share/
Arhitektuurist sõltumatud jagatud andmed.
/usr/src/
Kerneli lähtekood.
/usr/local/
Tertsiaarne ülesehitus kohalike andmete jaoks, mis on eriomane sellele arvutile. Siin võib olla samuti sarnane kataloogide ülesehitus nagu primaarses failisüsteemi ülesehituses.
/var/ Lühend sõnast variable. Iga süsteemi rakendus, deemon, mis logib oma tegevust, ajalugu, statistikat salvestab oma informatsiooni siia. Siit tulevad dmesg käskude väljundid jne. Lisaks sellele salvestatakse siia ka erinevaid andmefaile, cashitakse tegevust, luuakse ajutisi süsteemi faile jne. Tema suurus pole kunagi eriti püsiv vaid muutub pidevalt. var-i ei saa panna eraldi partitsioonile. Juhul, kui soovitakse kokku hoida ruumi juurikas, siis soovitatakse panna var kokku usr-iga.

var sisaldab endas järgnevaid katalooge:

/var/lock/
Lock failid, mis jälgivad kasutuses olevaid resursse.
/var/log/
Erinevad süsteemi logi failid ja logide kataloogid
/var/mail/
Kasutajate mailikastid.
/var/run/
Töösolevate protsesside ja deemonite andmed.
/var/tmp/
Ajutised süsteemi failid, mis süsteem ise tekitab näiteks restartide vahel või vahepeal mõne rakenduse paigaldamisel.

Üldiselt tavakasutajal, peale oma kodukataloogi, mujale süsteemikataloogidesse asja pole ja ta ei pea teadma, kus mingi programmi fail asub.