FHS

From EIK wiki

Referaat

Autor: Aleksandr Pikalo A21

Esitamise kuupäev: 6. detsember 2016

Sissejuhatus

Valisin selle teemat, sest muid valikuid mul ei olnud, aga kui ma hakkasin uurima midagi selle teema kohta, siis mul oli väga huvitav detailselt teada kuidas linuxi käsud kirjutatakse ja millest käsk koosneb.

Failisüsteemi hierarhia Standard

Tänapäeval on laialtkasutatavad failisüsteemid hierarhilise ülesehitusega (nö, puukujulised), mis koosnedes üksteise sees asetsevatest kataloogidest ja kataloogides asuvatest failidest. Kõige olulisemaks on kataloogides olev / kataloog. See ühendatakse esimese alglaadimise ajal külge . See kataloog sisaldab alglaadimiseks vajalikku baassüsteemi ning seejärel juurkataloog sisaldab külgeühendamise kohti kõigi teiste failisüsteemide jaoks, mille lisamise vajadus tekkida võib. Kataloog on külgeühendamise koht (mount point) , kus on võimalik teisi failisüsteeme juurfailisüsteemile külge panna . Standardseteks ühendamise kohtadeks on näiteks “/usr”, “/var”, “/mnt” ja “/cdrom”.” /etc/fstab” erinevates tabeli failisüsteemidest ja kohtadest, kuhu saab külgeühendada, seda faili kasutab süsteem ühendamisalase info allikana. Enamik failisüsteeme “/etc/fstab”-failis toimub automaatne ühendamine juba alglaadimise ajal skripti rc(8) poolt, seda juhul kui nad ei sisalda valikut noauto.

FHS 
Failisüsteemi hierarhia Standard (FHS) on viide, mis kirjeldab konventsioonide kasutada paigutus UNIX süsteemi. UNIX süsteem sai populaarseks tänu Linuxile, kus hakkati seda kasutama, kuid samuti on ka teisi kasutatavaid UNIX variante.

FHS-is kõik failid ja kataloogid ilmuvad juurkataloogiga “/”ehk root directory, isegi siis, kui on erinevale füüsilisele või virtuaalsele seadmele salvestatud . Mõnel nendest kataloogidest on olemas konkreetne süsteem, kui mõned allsüsteemid (näiteks X Window System) on paigaldatud. Enamik neist kataloogidest on olemas kõikides UNIX operatsioonisüsteemides ja tavaliselt kasutatakse sarnasel viisil, kuid kirjeldused on need, mida kasutatakse spetsiaalselt FHS-i jaoks. Kausti sisaldamine

  • /bin programmid, mis vajalikud süsteemi laadimiseks
  • /boot alglaaduri failid
  • /dev seadmefailid
  • /etc konkreetse hosti konfiguratsioonifailid
  • /home kasutajate kodukataloogid
  • /lib jagatud teegid ja kerneli moodulid (lisaks ka /lib32, /lib64)
  • /media siia kataloogi ühendatakse eemaldatavad seadmed
  • /mnt ajutiste failisüsteemide ühenduskoht
  • /opt lisatarkvara paigaldatakse opt kausta
  • /sbin põhilised süsteemsed, juurkasutajale mõeldud käsud
  • /srv teenuste andmefailid (RedHat baasil olevates distributsioonides)
  • /tmp ajutised failid
  • /usr hierarhia, mis pole vajalik alglaadimisel, kuid tihti on põhiline osa programmidest paigaldatud just usr kausta
  • /var muutuva suurusega andmefailid
  • /root/ juurkasutaja kodukataloog
  • /usr/bin/ programmifailid, mida pole vaja alglaadimisel – näiteks mplayer
  • /usr/lib/ programmide jagatud teegid – programmidele /usr/bin/ ja /usr/sbin/ kataloogis
  • /usr/sbin/ administreerimiseks vajalikud programmid, milleta saab süsteemi käivitada
  • /usr/share/ ühiskasutatavad failid. Ei sõltu arhitektuurist (näiteks IA-32, x86-64)
  • /var/lock/ ressursside lukufailid
  • /var/log/ erinevad log failed
  • /var/run/ Süsteemi jooksev informatsioon teenuste ja kasutajate kohta alates viimasest alglaadimisest
  • /var/spool Pooliga ülesanded ootab töödelda, näiteks print järjekorrad ja väljamineva posti järjekorda.
  • /var/tmp/ Ajutised failid, mida ei tohi süsteemi alglaadimisel kustutada
  • /usr/include/ kompilaatori päisefailide asukoht
  • /etc/opt Seadistustefailid add-on pakendid, mis on salvestatud /opt/
  • /etc/sgml Seadistustefailid, näiteks katalooge, tarkvara, mis töötleb SGML.
  • /etc/X11 Seadistustefailid X Window System versioon 11.
  • /etc/xml Seadistustefailid, näiteks katalooge, tarkvara, mis töötleb XML.
  • /run Run-time andmeedastuskiirus: Teave töötavat süsteemi, kuna viimase boot, näiteks sisselogitud kasutajatele ja töötab deemonid.

FHS ühilduv Mõned distribuudid, mis järgivad üldjuhul standarteid, kõrvale võivad ka kalduda teatud valdkondades. Kõrvalekaldeid võivad olla järgmised:

  • Kaasaegne Linux sisaldab “/sys” kataloogi virtuaalses failisüsteemis (sysfs võrreldav “/ proc”, mis on procfs), mis salvestab ja võimaldab muuta ühendatud süsteeme arvestades, et paljud traditsioonilised UNIX ja UNIXilaadse operatsioonisüsteemide kasutamine “/sys” sümboolne lingi tuuma lähtetekstipuusel.
  • Paljud kaasaegsed UNIX süsteemid (nagu FreeBSD kaudu oma pordi süsteem) installivad kolmanda osapoole paketid “/ usr /” local hoides koode peetakse osa operatsioonisüsteemi “/ usr”.
  • Mõned Linuxi distribuudid differentseerivad “/ lib” ja “/ usr / lib”, ning nad viitavad “/usr/lib”-le.
  • Mõned Linuxi distribuudid differentseerivad “/ bin” ja “/ usr / bin” vastu ning “/ sbin” ja “/ usr / sbin” omakorda vastu. Nad viitavad “/ bin” “/ usr / bin”-isse ja “/ sbin” “/ usr / sbin”-isse ning “/ usr / sbin” võib saada viite “/ usr / bin”-isse.

Kaasaegne Linuxi sisaldab “/ run” , kus saab käivitada kataloogi ajutise failisüsteemi abil (temporary filesystem - tmpfs), kus saab salvestab lenduvate runtime andmeid, järgides FHS versioon 3.0. Vastavalt FHS versioon 2.3, need andmed olid salvestatud “/ var / run”-ile, kuid üheks probleemiks oli see, et mõndades kataloogides, ei olnud alati võimalik alguses taaskäivitusi teha. Selle tulemusena need programmid pidid petma, kasutades näiteks “/dev/.udev”, “/dev/.mdadm”, “/dev/.systemd” või “/dev/.mount” katalooge, kuigi need kataloogid ei ole selliste andmete jaoks. Plussideks on see, et ta muudab süsteemi kasutamise lihtsamaks koos root-i failisüsteemiga, mis on paigaldatud ainult lugemiseks.

Näiteks allpool on esitatud muudatused Debianiga tehtud 2013. aastal:

  • /dev/.* -> /run/*
  • /dev/shn -> /run/shm
  • /dev/shm/* -> /run/*
  • /etc/* -> /run/*
  • /lib/init/rw -> /run
  • /var/lock -> /run/lock
  • /var/run -> /run
  • /tem -> /run/tmp

Kasutatud meedia

https://wiki.linuxfoundation.org/en/FHS

https://wiki.linuxfoundation.org/lsb/fhs

http://enos.itcollege.ee/~edmund/osadmin/est/failisysteemi-hierarhia/failisysteemi-hierarhia_OSadmin.pdf