FHS

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 11. maj 2022; verifikation kræver 1 redigering .
FHS
Skaber Linux Foundation
offentliggjort 14. februar 1994
nyeste version
Officiel side wiki.linuxfoundation.org/…pathname.com/fhs/
_

FHS ( Engelsk  Filesystem Hierarchy Standard , "filsystemhierarkistandard") er en standard, der forener placeringen af ​​filer og mapper med et generelt formål i UNIX -filsystemet . De fleste UNIX-lignende systemer i dag følger til en vis grad disse regler. For eksempel er en typisk brugerdatabase altid gemt i en /etc/passwd.

Den nuværende version af standarden er 3.0, annonceret den 3. juni 2015.

For at få hjælp til det mappesystem, der bruges i operativsystemet, er der også nogle gange en hierkommandoman hier.

Grundlæggende information

Processen med at udvikle en filsystemhierarkistandard begyndte i august 1993 med forsøg på at strømline biblioteket og filstrukturen i GNU/Linux -operativsystemet . Den 14. februar 1994 blev FSSTND ( Filesystem Standard ), en filsystemstandard specifik for GNU/Linux, frigivet. Efterfølgende versioner blev udgivet den 9. oktober 1994 og den 28. marts 1995.

I begyndelsen af ​​1996 sluttede BSD -udviklingsfællesskabet sig til udviklingen af ​​en ny version af FSSTND med det mål at udvikle en standard, der passer til alle UNIX-lignende operativsystemer. Navnet på standarden blev ændret til Filesystem Hierarchy Standard .

FHS understøttes af Free Standards Group  , en non-profit organisation, der omfatter store software- og hardwareudviklere såsom HP , Red Hat , IBM og Dell . Men størstedelen af ​​distributionsudviklere, inklusive dem, der er en del af Free Standards Group, følger ikke standarden fuldstændigt. Specielt stier specielt oprettet af gruppen, såsom /srv, bruges praktisk talt ingen steder. Nogle Linux-systemer afviser FHS og følger deres egen standard, såsom GoboLinux .

Siden FHS startede som et Linux-fællesskabsinitiativ, ignorerer andre UNIX- og UNIX-lignende operativsystemer det fuldstændig til fordel for deres egne systemer, som nogle gange er ret udbredte. For eksempel bruger Mac OS X navne som /Library/, /Applications/og /Users/sammen med traditionelle UNIX-hierarkinavne.

Katalogstruktur

I FHS er alle filer og mapper inde i rodmappen, selvom de er placeret på forskellige fysiske medier. Nogle af mapperne er dog muligvis kun til stede, hvis bestemt software er installeret, såsom X Window System . De fleste af disse mapper findes på alle UNIX-lignende operativsystemer og bruges på lignende måde.

Beskrivelse af kataloghierarkiet ifølge FHS
Katalog Beskrivelse
/ Rodbiblioteket , der indeholder hele filhierarkiet.
/bin Grundlæggende hjælpeprogrammer er nødvendige både i enkeltbrugertilstand og under normalt arbejde for alle brugere (for eksempel: cat , ls , cp ).
/boot Boot-filer (inklusive bootloader -filer , kernel , initrd, System.map). Ofte placeret i en separat sektion .
/dev Grundlæggende enhedsfiler (f.eks. /dev/null, /dev/zero).
/etc Systemdækkende konfigurationsfiler (navnet kommer fra latin  et cetera ).
/etc/opt Konfigurationsfiler til /opt.
/etc/X11 X Window System version 11 konfigurationsfiler .
/etc/sgml SGML- konfigurationsfiler .
/etc/xml XML- konfigurationsfiler .
/home Indeholder brugerens hjemmemapper , som igen indeholder brugerens personlige indstillinger og data. Ofte placeret på en separat sektion.
/lib De vigtigste biblioteker , der kræves for at køre programmer fra /binog /sbin.
/media Monteringspunkter til flytbare medier som CD-ROM , DVD-ROM (først beskrevet i FHS-2.3 ).
/mnt Indeholder midlertidigt monterede filsystemer .
/opt Yderligere software .
/proc Et virtuelt filsystem, der repræsenterer tilstanden af ​​operativsystemkernen og kører processer som filer .
/root Rootbrugerens hjemmemappe .
/run Oplysninger om systemet fra det øjeblik, det blev indlæst, inklusive data, der er nødvendige for driften af ​​dæmoner (pid-filer, UNIX-sockets osv.) [4] .
/sbin Grundlæggende systemprogrammer til systemadministration og -konfiguration, fx init , iptables , ifconfig .
/srv Data for tjenester leveret af systemet (f.eks. www eller ftp).
/sys Indeholder information om enheder, drivere og nogle kerneegenskaber. [5]
/tmp Midlertidige filer (se også /var/tmp).
/usr Sekundært hierarki for brugerdata . Indeholder de fleste brugerapplikationer og hjælpeprogrammer , der bruges i flerbrugertilstand. Kan netværksmonteres skrivebeskyttet og deles mellem flere maskiner [6] .
/usr/bin Yderligere programmer til alle brugere, som ikke er nødvendige i enkeltbrugertilstand.
/usr/include Standard header-filer .
/usr/lib Biblioteker for programmer placeret i /usr/binog /usr/sbin.
/usr/local Tertiært hierarki for værtsspecifikke data. Indeholder normalt undermapper som bin, lib, share[7] .
/usr/sbin Yderligere systemprogrammer (såsom dæmoner til forskellige netværkstjenester).
/usr/share Arkitektur-uafhængige delte data.
/usr/src Kildekoder (her er for eksempel kernens kildekoder).
/var Modificerbare filer såsom logfiler , midlertidige mailfiler, spoolerfiler .
/var/cache Applikationscache. Sådanne data genereres lokalt som følge af ressourcekrævende beregninger eller I/O-operationer. Applikationen skal kunne genskabe disse data. Disse filer kan slettes uden tab af data.
/var/lib Statusoplysninger. Permanente data, som programmer ændrer under deres arbejde (f.eks. databaser, pakkehåndteringsmetadata osv.).
/var/lock Lås filer, der angiver, at en ressource er optaget.
/var/log Forskellige logfiler .
/var/mail Bruger postkasser.
/var/run Biblioteket til lagring af oplysninger om systemet, siden det blev indlæst, er i øjeblikket forældet. Du kan gøre det til en reference til /run. Biblioteket efterlades for bagudkompatibilitet med programmer, der stadig bruger biblioteket /var/run[8] .
/var/spool Opgaver, der venter på at blive behandlet (f.eks. printkøer, ulæste eller usendte e-mails).
/var/spool/mail Placering af brugerpostkasser (udfaset).
/var/tmp Midlertidige filer, der skal gemmes mellem genstarter.

Adskillelse i system- og brugermapper

Adskillelse i system (for eksempel /etc , /bin ) og brugermapper er nødvendig til følgende formål:

Superbrugerens hjemmemappe (rod) er placeret i /root, ikke i /home/root, da superbrugerkontoen udelukkende er beregnet til at administrere operativsystemet. Dette hjælper med at forbedre systemets pålidelighed: /rootDet er normalt placeret på samme partition som systemet, hvilket tillader vedligeholdelse og konfiguration af operativsystemet ved kun at montere rodpartitionen.

Noter

  1. https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.pdf
  2. https://refspecs.linuxfoundation.org/FHS_2.3/fhs-2.3.pdf
  3. https://www.pathname.com/fhs/pub/fhs-2.2.pdf
  4. 3.15. /run : Kørselstidsvariable data . refspecs.linuxfoundation.org. Hentet 19. marts 2018. Arkiveret fra originalen 8. marts 2018.
  5. /sys: Virtuelt filsystem med kerne- og systemoplysninger . Filsystemhierarkistandard . Hentet 4. juni 2017. Arkiveret fra originalen 1. juni 2017.
  6. Filesystem Hierarchy Standard Arkiveret 25. maj 2005 på Wayback Machine 
  7. Historisk og strengt efter standarden, /usr/localer et lager af data, der skal lagres på den lokale vært (i modsætning til /usr, som kan monteres over netværket). Det er dog normalt /usrsjældent monteret eksternt, og /usr/localbruges oftere til at installere software og data, der ikke er en del af distributionen (i dette tilfælde bør det /usrkun indeholde programmer og data fra standarddistributionen). Måske i fremtiden vil FHS-standarden blive ændret for at afspejle denne etablerede situation.
  8. 5.13. /var/run : Kørselsvariable data . refspecs.linuxfoundation.org. Dato for adgang: 19. marts 2018. Arkiveret fra originalen 4. februar 2018.

Links