Ero sivun ”Hakemistorakenne” versioiden välillä
p (→/home) |
|||
Rivi 73: | Rivi 73: | ||
Normaalikäyttäjän oikeuksilla pystyy tiedostoja tallentamaan tai muuttamaan vain omassa kotihakemistossa (sekä /tmp, /var/tmp /var/mail/omatunnus ja epäsuorasti esimerkiksi tulostinjonoa ja pelien tuloksia). Käyttäjä ei siis voi vahingossa poistaa tai muuttaa järjestelmän yleisen toiminnan kannalta oleellisia tiedostoja. | Normaalikäyttäjän oikeuksilla pystyy tiedostoja tallentamaan tai muuttamaan vain omassa kotihakemistossa (sekä /tmp, /var/tmp /var/mail/omatunnus ja epäsuorasti esimerkiksi tulostinjonoa ja pelien tuloksia). Käyttäjä ei siis voi vahingossa poistaa tai muuttaa järjestelmän yleisen toiminnan kannalta oleellisia tiedostoja. | ||
Kansioon /home/*/bin voi laittaa ohjelmia joita suoritetaan komentotulkissa. | |||
== /usr-hierarkia == | == /usr-hierarkia == |
Versio 20. tammikuuta 2021 kello 10.13
Linuxin hakemistorakenne perustuu FHS-standardiin, joka määrittää joukon hakemistoja ja niiden pääasiallisen käyttötarkoituksen. Tätä standardia noudattavat nykyisin useimmat jakelut. Tunnetuimpana poikkeuksena on GoboLinux, jossa hakemistorakenne on järjestetty kokonaan uudelta pohjalta.
Yleistä
Hakemistorakenne alkaa juurihakemistosta, merkintä kauttaviiva "/", jonka alle tiedostot ja hakemistot järjestetään puumaiseksi rakenteeksi. Nykyisin on myös yleistynyt vertaus sisäkkäisistä kansioista.
Levyasemat näkyvät käyttäjälle ja ohjelmille hakemistoina. Esimerkiksi CD-levyltä lukiessa ei viitata suoraan asemaan, vaan hakemistoon "/media/cdrom". Tämä mahdollistaa järjestelmän tiedostojen jakamisen usealle fyysiselle laitteelle niin, että haluttu tiedosto löytyy aina standardin mukaista polkua käyttäen, riippumatta tallennuslaitteiden fyysisestä kokoonpanosta.
Tiedostoihin ja hakemistoihin voidaan viitata absoluuttisesta tai suhteellista polkua käyttäen. Absoluuttinen viittaaminen tarkoittaa, että polku tiedostoon kirjoitetaan täydellisenä juurihakemistosta lähtien esimerkiksi "/usr/doc/apache-1.3.34/README". Suhteellinen viittaaminen tarkoittaa, että hakemistopolku on suhteessa aktiiviseen hakemistoon esimerkiksi "../../doc/apache-1.3.34/README".
Tiedostojen fyysinen sijainti voi olla eri kuin mitä virallinen hakemistorakenne antaa ymmärtää: jos jostakin syystä sijoitetaan hakemisto tai tiedosto eri paikkaan kuin missä sen oletetaan olevan, sen tilalle voidaan luoda symbolinen linkki osoittamaan paikkaa, mistä se oikeasti löytyy. Näitä linkkejä on käytetty erityisesti silloin, kun käytännöt ovat vaihdelleet Unixista (ja versiosta) toiseen.
Päähakemistot ja niiden sisällöt
FHS-standardi määrittää seuraavat hakemistot lukuunottamatta /sys-hakemistoa, joka on lueteltu tässä selkeyden vuoksi:
/bin | Välttämättömimmät peruskomennot kaikkien käyttäjien käytettäväksi. |
/boot | Järjestelmän käynnistämiseen tarvittavat tiedostot. Käynnistyslataimet kuten Grub ja Lilo säilövät tarvitsemiansa tietoja tänne. |
/dev | Laitetiedostot. |
/etc | Järjestelmän ja useimpien daemonien asetukset. Ohjelmien järjestelmänlaajuiset asetukset. |
/home | Käyttäjien kotihakemistot. Käyttäjä voi viitata omaan kotihakemistoonsa ~-merkillä, muiden kotihakemistoihin ~kayttaja. |
/lib | Järjestelmän toiminnan kannalta kriittiset jaetut kirjastot sekä ytimen moduulit. |
/media | Siirrettävän median liitoskohdat. |
/mnt | Väliaikaisesti liitetyt osiot. |
/opt | Isoja, erillisiä ohjelmapaketteja, joita ei jostain syystä haluta lisätä /usr-hakemiston alle (esim. suljettuja ohjelmia). Monissa jakeluissa on olemassa mm. /opt/kde ja /opt/mozilla |
/proc | Ytimen ja prosessien tiedot. Procfs-järjestelmän luoma virtuaalinen hakemisto. |
/root | Pääkäyttäjän kotihakemisto. |
/sbin | Välttämättömimmät ylläpito-ohjelmat. Useimmat näistä on tarkoitettu vain pääkäyttäjälle. |
/srv | Paikallisen palvelinohjelmiston (esimerkiksi HTTP- tai FTP-palvelimen) tarjoamaa sivustokohtaista dataa. |
/sys | Sysfs-järjestelmän luoma /proc:in tapainen virtuaalinen hakemisto, joka kuvaa laitteiston ja ajurien yhteyksiä. Mukana Linuxin ytimissä 2.6-versiosarjasta lähtien. |
/tmp | Väliaikaistiedostot, tyhjennetään koneen käynnistyessä uudelleen. Kaikilla käyttäjillä on luku- ja kirjoitusoikeudet /tmp-hakemistoon. /tmp saattaa olla symbolinen linkki hakemistoon /var/tmp. |
/usr | Vain luettavaksi tarkoitettua tietoa, joka on tarvittaessa mahdollista jakaa useamman järjestelmän kesken. Täältä löytyvät mm. useimmat sovellusohjelmat. |
/var | Muuttuvat tiedostot, lokitiedostot yms. |
/home
Hakemiston /home alta löytyvät käyttäjien kotihakemistot, esimerkiksi /home/pekka. Kotihakemiston alle tallennetaan kaikki käyttäjän tekemät tiedostot. Tämä helpottaa esimerkiksi tiedostojen varmuuskopiointia, koska kaikki käyttäjän tiedostot löytyvät samasta paikasta. ~-merkki (mato, tilde) viittaa kotihakemistoon, ja useimmissa komentotulkeissa sinne pääsee komentamalla pelkästään cd.
Normaalikäyttäjän oikeuksilla pystyy tiedostoja tallentamaan tai muuttamaan vain omassa kotihakemistossa (sekä /tmp, /var/tmp /var/mail/omatunnus ja epäsuorasti esimerkiksi tulostinjonoa ja pelien tuloksia). Käyttäjä ei siis voi vahingossa poistaa tai muuttaa järjestelmän yleisen toiminnan kannalta oleellisia tiedostoja.
Kansioon /home/*/bin voi laittaa ohjelmia joita suoritetaan komentotulkissa.
/usr-hierarkia
/usr-hakemiston alta löytyvät järjestelmän vähemmän kriittiset osat kuten sovellusohjelmat, dokumentaatio, ohjelmien jaetut tiedostot kuten fontit, ikonit jne.
Pakolliset elementit
Normaalin toiminnan kannalta olennaisia elementtejä, joiden tulee löytyä jokaisesta järjestelmästä.
/usr/bin | Useimmat kaikkien käyttäjien käytössä olevat komennot ja ohjelmat. |
/usr/include | C-kääntäjän otsikkotiedostot. |
/usr/lib | Erilaisia ei-kriittisiä kirjastoja. Osa näistä on oman alihakemistonsa alla. |
/usr/local | Paikallinen hierarkia. Oletuksena tyhjä, järjestelmän ylläpitäjä voi rakentaa oman tarvitsemansa hierarkian esimerkiksi dokumenttien jakamiseksi käyttäjien kesken. /usr/local/src-hakemiston alle on perinteisesti sijoitettu itse käännettyjen ohjelmien lähdekoodeja. /usr/local/bin ja /usr/local/sbin on tarkoitettu itse tehdyille tai käsin asennetuille ohjelmille ja skripteille. |
/usr/sbin | Ei-kriittiset ensisijaisesti pääkäyttäjälle tarkoitetut ylläpito-ohjelmat. |
/usr/share | Jaetut arkkitehtuurista riippumattomat tiedostot.
Hakemistosta /usr/share saattaa löytyä esimerkiksi seuraavia alikansioita:
|
Valinnaiset elementit
Valinnaiset elementit sisältävät mahdollisesti tarpeellisia järjestelmän laajennusosia.
/usr/X11R6 | X-ikkunointijärjestelmä ja sen tarvitsemat osat. Usein symbolinen linkki hakemistoon /usr/bin |
/usr/games | Pelit (varsinaiset ohjelmatiedostot). |
/usr/src | Ohjelmien (mm. ytimen) lähdekoodit. |
/var-hierarkia
/var hakemisto on tarkoitettu järjestelmän ja sovellusten muuttuvien tietojen tallentamiseen. Tällaisia tietoja ovat esimerkiksi lokitiedostot sovellusten toiminnasta.
Pakolliset elementit
Pakollisten elementtien tulee löytyä jokaisesta järjestelmästä, ne ovat normaalin toiminnan kannalta olennaisia.
/var/cache | Sovellusten välimuistitiedot. Tiedostot ovat uudestaan luotavissa ja täällä vain tehokkuussyistä. |
/var/lib | Sovellusten suorituksen aikaiset tilatiedot, mm. pakettitietokannat |
/var/local | Muuttuva data /usr/local-hierarkiasta. |
/var/lock | Lukitustiedostot. |
/var/log | Lokitiedostot. |
/var/opt | Muuttuva data /opt-hierarkiasta. |
/var/run | Prosesseihin liittyvät ajotiedot. |
/var/spool | Sovellusten prosessointia odottava data, mm. tulostusjonot |
/var/tmp | Väliaikaistiedostot, jotka säilytetään uudelleenkäynnistyksen yli. |
Valinnaiset elementit
Valinnaiset elementit sisältävät mahdollisesti tarpeellisia järjestelmän laajennusosia.
/var/account | Prosessien aiheuttamien kuormitusten kirjaus. |
/var/crash | Järjestelmän kaatumisen selvittämistä auttavat tiedostot. |
/var/games | Pelien muuttuvat tiedot. |
/var/mail | Käyttäjien postilaatikot. |
/var/yp | Network Information Service (NIS) tietokannat. |
/var/www/html | Apache HTTPD-palvelinohjelmiston kansio. |
Varatut hierarkiat
/var-hierarkian alla on historiallisista syistä varattuja hakemistoja:
/var/backups /var/cron /var/msgs /var/preserve