Ero sivun ”Hakemistorakenne” versioiden välillä

Siirry navigaatioon Siirry hakuun
5 293 merkkiä lisätty ,  10. syyskuuta 2021
p
{{Hakemistorakenne}} lisätty
p (voisi olla parempi laittaa näihinkin /usr alkuun, /usr/src lisäsin)
p ({{Hakemistorakenne}} lisätty)
 
(39 välissä olevaa versiota 16 käyttäjän tekeminä ei näytetä)
Rivi 1: Rivi 1:
Linuxin hakemistorakenne on hierarkinen. Se perustuu alkuperäiseen AT&T UNIX:in levyjärjestelmärakenteeseen. Useimmat levitysversiot noudattavat nykyisin FHS standardia, jossa määritellään mitä [[hakemisto|hakemistoja]] järjestelmästä tulisi löytyä, ja mitä niiden pitäisi sisältää.
{{Hakemistorakenne}}


Hierarkinen rakenne mahdollistaa järjestelmän paloittelemisen useille kovalevyille tai useille [[RAID]]-osioille. Hotswap-tuen omaavilla laitteistoilla voidaan tämän avulla kasvattaa joidenkin levyosioiden kokoa tarvittaessa sammuttamatta järjestelmää. Levyn tai levypakan vaihto onnistuu pelkästään poistamalla kyseisen osion liitos ja liittämällä uusi osio tilalle.
'''Linuxin hakemistorakenne''' perustuu [[wikipedia:fi:Filesystem_Hierarchy_Standard|FHS-standardiin]], joka määrittää
joukon hakemistoja ja niiden pääasiallisen käyttötarkoituksen. Tätä standardia noudattavat nykyisin useimmat [[jakelu]]t. Tunnetuimpana poikkeuksena on [[GoboLinux]], jossa hakemistorakenne on järjestetty kokonaan uudelta pohjalta.


Hakemistorakenne alkaa juurihakemistosta jota merkitään [[kauttaviiva|/-merkillä (kauttaviiva)]]. Jos johonkin tiedostoon halutaan päästä käsiksi niin siihen voidaan osoittaa absoluuttisesti. [[Absoluuttinen tiedostonimi|Absoluuttinen tiedostonimen]] osoitus alkaa [[juurihakemisto]]sta.
== 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.


FHS standardi määrittelee seuraavat hakemistot:
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".


== /bin ==
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.


Olennaiset järjestelmäkomennot kaikkien käyttäjien käytettäväksi.
== Päähakemistot ja niiden sisällöt ==
[[wikipedia:fi:Filesystem_Hierarchy_Standard|FHS-standardi]] määrittää seuraavat hakemistot lukuunottamatta /sys-hakemistoa, joka on lueteltu tässä selkeyden vuoksi:


== /boot ==
{| border=1 width=100% cellpadding=4 cellspacing=0
 
|width=20%|/bin
Järjestelmän käynnistämiseen tarvittavat tiedostot. Mm. [[GRUB]] säilöö tarvitsemiaan tietoja tänne
|Välttämättömimmät peruskomennot kaikkien käyttäjien käytettäväksi.
 
|-
== /dev ==
|width=20%|/boot
 
|Järjestelmän käynnistämiseen tarvittavat tiedostot. [[käynnistyslatain|Käynnistyslataimet]] kuten [[Grub]] ja [[Lilo]] säilövät tarvitsemiansa tietoja tänne.
Laitetiedostot.
|-
 
|width=20%|/dev
== /etc ==
|[[Laitetiedostot]].
 
|-
Järjestelmän asetukset.
|width=20%|/etc
|Järjestelmän ja useimpien [[daemon]]ien [[Asetustiedostojen perusteet|asetukset]]. Ohjelmien järjestelmänlaajuiset asetukset.
|-
|width=20%|/home
|Käyttäjien [[kotihakemisto]]t. Käyttäjä voi viitata omaan kotihakemistoonsa <tt>~</tt>-merkillä, muiden kotihakemistoihin <tt>~kayttaja</tt>.
|-
|width=20%|/lib
|Järjestelmän toiminnan kannalta kriittiset jaetut kirjastot sekä [[ydin|ytimen]] moduulit.
|-
|width=20%|/media
|Siirrettävän median liitoskohdat.
|-
|width=20%|/mnt
|Väliaikaisesti [[Mount|liitetyt]] osiot.
|-
|width=20%|/opt
|Isoja, erillisiä ohjelmapaketteja, joita ei jostain syystä haluta lisätä /usr-hakemiston alle (esim. suljettuja ohjelmia). Monissa [[jakelu]]issa on olemassa mm. /opt/[[kde]] ja /opt/[[mozilla]]
|-
|width=20%|/proc
|[[ydin|Ytimen]] ja [[prosessi]]en tiedot. [[Procfs]]-järjestelmän luoma virtuaalinen hakemisto.
|-
|width=20%|/root
|[[Pääkäyttäjä]]n kotihakemisto.
|-
|width=20%|/sbin
|Välttämättömimmät ylläpito-ohjelmat. Useimmat näistä on tarkoitettu vain pääkäyttäjälle.
|-
|width=20%|/srv
| Paikallisen [[palvelin]]ohjelmiston (esimerkiksi [[HTTP]]- tai [[FTP]]-palvelimen) tarjoamaa sivustokohtaista dataa.
|-
|width=20%|/sys
| [[sys-tiedostojärjestelmä|Sysfs]]-järjestelmän luoma /proc:in tapainen virtuaalinen hakemisto, joka kuvaa laitteiston ja ajurien yhteyksiä. Mukana Linuxin ytimissä 2.6-versiosarjasta lähtien.
|-
|width=20%|/tmp
|Väliaikaistiedostot, tyhjennetään koneen käynnistyessä uudelleen. Kaikilla käyttäjillä on [[tiedoston oikeudet|luku- ja kirjoitusoikeudet]] /tmp-hakemistoon. /tmp saattaa olla [[symbolinen linkki]] hakemistoon /var/tmp.
|-
|width=20%|/usr
|Vain luettavaksi tarkoitettua tietoa, joka on tarvittaessa mahdollista jakaa useamman järjestelmän kesken. Täältä löytyvät mm. useimmat sovellusohjelmat.
|-
|width=20%|/var
|Muuttuvat tiedostot, lokitiedostot yms.
|}


== /home ==
== /home ==


Käyttäjien kotihakemistot. Käyttäjä voi viitata omaan kotihakemistoonsa ~-merkillä.
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 [[Komentotulkki|komentotulkeissa]] sinne pääsee komentamalla pelkästään <tt>cd</tt>.
 
== /lib ==


Järjestelmän jaetut kirjastot, sekä kernelin modulit.
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.


== /media ==
Kansioon /home/*/bin voi laittaa ohjelmia joita suoritetaan komentotulkissa.


Siirrettävän median liitoskohdat.
== /usr-hierarkia ==


== /mnt ==
/usr-hakemiston alta löytyvät järjestelmän vähemmän kriittiset osat kuten sovellusohjelmat,
 
dokumentaatio, ohjelmien jaetut tiedostot kuten fontit, ikonit jne.
Väliaikaisesti liitetyt osiot.
 
== /opt ==
 
Kaupallisten ohjelmistojen käyttämä asennushakemisto.
 
== /proc ==
 
Vain linuxissa. Kernelin ja prosessien tiedot. Procfs levyjärjestelmän luoma virtuaalinen hakemisto.
 
== /root ==
 
Pääkäyttäjän kotihakemisto.
 
== /sbin ==
 
Pääkäyttäjän sovellukset.
 
== /tmp ==
 
Väliaikaistiedostot, tyhjennetään koneen käynnistyessä uudelleen.
 
== /usr hierarkia ==
 
/usr muodostaa oman hierarkian, joka jakautuu useaan osaan:


=== Pakolliset elementit ===
=== Pakolliset elementit ===
Normaalin toiminnan kannalta olennaisia elementtejä, joiden tulee löytyä jokaisesta järjestelmästä.


Pakolliset elementit tulee löytyä jokaisesta järjestelmästä, ne ovat toiminnan kannalta olennaisia.
{| border=1 width=100% cellpadding=4 cellspacing=0
 
|width=20%|/usr/bin
==== /usr/bin ====
|Useimmat kaikkien käyttäjien käytössä olevat komennot ja ohjelmat.
 
|-
Useimmat järjestelmäkomennot ja ohjelmat.
|width=20%|/usr/include
 
|[[C]]-kääntäjän otsikkotiedostot.
==== /usr/include ====
|-
 
|width=20%|/usr/lib
C-kääntäjän otsikkotiedostot.
|Erilaisia ei-kriittisiä [[kirjasto]]ja. Osa näistä on oman alihakemistonsa alla.
 
|-
==== /usr/lib ====
|width=20%|/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.
Hakemistosta /usr/lib saattaa löytyä seuraavia alihakemistoja
|-
 
|width=20%|/usr/sbin
* /usr/lib/fpc/ [[FreePascal]]-kääntäjä joka on [[Pascal]]-ohjelmointikielinen kääntäjä.
|Ei-kriittiset ensisijaisesti pääkäyttäjälle tarkoitetut ylläpito-ohjelmat.
 
|-
==== /usr/local ====
|width=20%|/usr/share
 
|Jaetut arkkitehtuurista riippumattomat tiedostot.
Paikallinen hierarkia. Oletuksena tyhjä, järjestelmän ylläpitäjä voi rakentaa oman tarvitsemansa hierarkian, esim dokumenttien jakoa varten käyttäjien kesken.
Hakemistosta /usr/share saattaa löytyä esimerkiksi seuraavia alikansioita:
 
==== /usr/sbin ====
 
Ei-kriittiset järjestelmän käyttämät binäärit.
 
==== /usr/share ====
 
Jaetut arkkitehtuurista riippumattomat tiedostot.
 
Hakemistosta /usr/share saattaa löytyä seuraavia alikansioita


* /usr/share/compiz sisältää [[Compiz]]in tiedostoja
* /usr/share/dict sisältää sanalistoja esimerkiksi oikolukua varten
* /usr/share/doc sisältää asennettujen ohjelmien ohjeita
* /usr/share/fpcsrc  sisältää [[FreePascal]]:n lähdekoodit
* /usr/share/fpcsrc  sisältää [[FreePascal]]:n lähdekoodit
* /usr/share/games sisältää /usr/games-hakemiston pelien staattiset tiedostot
* /usr/share/info sisältää [[info]]-sivut
* /usr/share/lazarus sisältää [[Lazarus]]-ohjelmankehitysympäristön
* /usr/share/lazarus sisältää [[Lazarus]]-ohjelmankehitysympäristön
 
* /usr/share/man sisältää [[man]]-sivut
==== /usr/src ====
* /usr/share/wallpapers sisältää [[KDE]]:n taustakuvakirjastoja
 
|}
Yleinen paikka lähdekoodien säilyttämiseen ja kääntelyyn.


=== Valinnaiset elementit ===
=== Valinnaiset elementit ===
Rivi 107: Rivi 121:
Valinnaiset elementit sisältävät mahdollisesti tarpeellisia järjestelmän laajennusosia.
Valinnaiset elementit sisältävät mahdollisesti tarpeellisia järjestelmän laajennusosia.


==== X11R6 ====
{| border=1 width=100% cellpadding=4 cellspacing=0
|width=20%|/usr/X11R6
|[[X]]-ikkunointijärjestelmä ja sen tarvitsemat osat. Usein symbolinen linkki hakemistoon /usr/bin
|-
|width=20%|/usr/games
|Pelit (varsinaiset ohjelmatiedostot).
|-
|width=20%|/usr/src
|Ohjelmien (mm. ytimen) lähdekoodit.
|-
|}


Ikkunointijärjestelmä, ja sen tarvitsemat osat.
== /var-hierarkia ==
/var hakemisto on tarkoitettu järjestelmän ja sovellusten muuttuvien tietojen tallentamiseen. Tällaisia tietoja ovat esimerkiksi lokitiedostot sovellusten toiminnasta. 


==== games ====
=== Pakolliset elementit ===
Pakollisten elementtien tulee löytyä jokaisesta järjestelmästä, ne ovat normaalin toiminnan kannalta olennaisia.


Pelit.
{| border=1 width=100% cellpadding=4 cellspacing=0
|width=20%|/var/cache
|Sovellusten välimuistitiedot. Tiedostot ovat uudestaan luotavissa ja täällä vain tehokkuussyistä.
|-
|width=20%|/var/lib
|Sovellusten suorituksen aikaiset tilatiedot, mm. [[paketinhallinta|pakettitietokannat]]
|-
|width=20%|/var/local
|Muuttuva data /usr/local-hierarkiasta.
|-
|width=20%|/var/lock
|Lukitustiedostot.
|-
|width=20%|/var/log
|[[Lokitiedostot]].
|-
|width=20%|/var/opt
|Muuttuva data /opt-hierarkiasta.
|-
|width=20%|/var/run
|Prosesseihin liittyvät ajotiedot.
|-
|width=20%|/var/spool
|Sovellusten prosessointia odottava data, mm. tulostusjonot
|-
|width=20%|/var/tmp
|Väliaikaistiedostot, jotka säilytetään uudelleenkäynnistyksen yli.
|}


==== lib ====
=== Valinnaiset elementit===
Valinnaiset elementit sisältävät mahdollisesti tarpeellisia järjestelmän laajennusosia.


Vaihtoehtoisia binäärimuotoja käyttävät kirjastot.
{| border=1 width=100% cellpadding=4 cellspacing=0
 
|/var/account
==== src ====
|Prosessien aiheuttamien kuormitusten kirjaus.
 
|-
Lähdekoodit.
|/var/crash
 
|Järjestelmän kaatumisen selvittämistä auttavat tiedostot.
 
|-
== /var hierarkia ==
|/var/games
 
|Pelien muuttuvat tiedot.
=== Pakolliset ===
|-
 
|/var/mail
==== cache ====
|Käyttäjien postilaatikot.
 
|-
Sovellusten cache tiedot.
|/var/yp
 
|Network Information Service (NIS) tietokannat.
==== lib ====
|-
 
|/var/www/html
==== local ====
|[[Apache HTTPD]]-palvelinohjelmiston kansio.
 
|}
Muuttuva data /usr/local hierarkiasta
 
==== lock ====
 
Lukitustiedostot.
 
==== log ====
 
Lokitiedostot
 
==== opt ====
 
Muuttuva data /opt hierarkiasta
 
==== run ====
 
Prosesseihin liittyvät ajotiedot.
 
==== spool ====
 
Sovellusten prosessointia odottava data
 
==== tmp ====
 
Väliaikaistiedostot, jotka säilytetään bootin yli.
 
=== Valinnaiset ===
 
==== account ====
 
Prosessien aiheuttamien kuormituksen kirjaus.
 
==== crash ====
 
Järjestelmän kaatumisen selvittämistä auttamvat tiedostot.
 
==== games ====
 
Pelien muuttuvat tiedot.
 
==== mail ====
 
Käyttäjien postilaatikot.
 
==== yp ====
 
Network Information Service (NIS) tietokannat.


=== Varatut hierarkiat ===
=== Varatut hierarkiat ===


/var hierarkian alla on historiallisista syistä varattuja hakemistoja.
/var-hierarkian alla on historiallisista syistä varattuja hakemistoja:


     /var/backups
     /var/backups
Rivi 192: Rivi 199:
     /var/msgs
     /var/msgs
     /var/preserve
     /var/preserve
==Katso myös==
*[[Kansion yhteiskäyttö ryhmässä]]
*[[Miten osioisin kiintolevyn]]
*[[Asetustiedostojen perusteet]]
==Aiheesta muualla==
*[http://www.pathname.com/fhs/ FHS-standardin kotisivu]
*[[wikipedia:en:Filesystem Hierarchy Standard|FHS-standardi englanninkielisessä Wikipediassa]]
[[Luokka:Järjestelmä]]
[[Luokka:Tiedostojärjestelmät]]
3 173

muokkausta

Navigointivalikko