Filsystem hierarki standard

Från Wikipedia, den fria encyklopedin
Hoppa till navigation Hoppa till sökning
Filsystem hierarki standard

Skärmdump
Exempel på en vanlig rotkatalog
Grundläggande information

Underhållare Linux Foundation
utvecklare LSB -arbetsgrupp
Utgivningsår 14 februari 1994
Nuvarande version 3
(Juni 2015)
operativ system Linux
Tysktalande Nej
refspecs.linuxfoundation.org/fhs

Filsystem Hierarchy Standard ( FHS ) är en riktlinje för katalogstrukturen under Unix-liknande operativsystem .

Standarden riktar sig till mjukvaruutvecklare , systemintegratörer och systemadministratörer . Dess syfte är att främja driftskompatibiliteten mellan datorprogram genom att göra platsen för kataloger och filer förutsägbar.

Utvecklingen av denna riktlinje började i augusti 1993 och var ursprungligen endast relaterad till Linux . [1] Under tiden bidrog några utvecklare på FreeBSD till att skapa en omfattande standard för alla Unix-liknande system. Detta samarbete avbröts officiellt i maj 2011 efter att Linux Foundation tog över projektet. [2] För närvarande används denna standard endast av Linux -distributioner . [3] [4] Den första dokumentationen av en sådan hierarki dök upp i AT&T UNIX version 7. [5]

Filkategorier

FHS differentierar filer i två aspekter:

  • "Statisk" eller "variabel"
"Statiska" är de filer som inte ändras utan systemadministratörens ingripande. [6] Alla andra filer betraktas som "variabla".
  • "Delbart" eller "odelbart"
"Delbara" är de filer som kan användas av andra datorer via ett datornätverk . Alla andra filer anses vara "odelbara".

Fyra kategorier av filer beror på dessa två aspekter:

  • "Statisk delbar"
  • "Statisk odelbar"
  • "Variabel delbar"
  • "Variabel odelbar"

För att effektivisera säkerhetskopiering och tillhandahållande av data i datornätet planerar FHS inte att spara filer i olika kategorier i samma katalog. Historiskt sett fanns denna separation inte.

Rotkatalog

Partitionen ( volymen ) i rotkatalogen måste innehålla alla filer som är nödvändiga för att starta operativsystemet och för att integrera ytterligare partitioner. För att kunna reparera ett system måste det också innehålla nödvändiga verktyg.

För att öka flexibiliteten och tillförlitligheten rekommenderar FHS att skapa delar av katalogstrukturen i andra partitioner. Ytterligare partitioner är transparenta under Unix och liknande operativsystem.

Huvudkataloger

14 kataloger eller symboliska länkar till kataloger krävs i rotkatalogen: [7]

/am Grundläggande kommando binärer historiskt: "verktygsprogram" (program som assembler och compiler ) [8]
/båt statiska filer i startladdaren historisk: -
/ dev Enhetsfiler historisk: "enheter" (enheter som hårddiskar och systemkonsoler ) [8]
/Etc Värdspecifik systemkonfiguration historiskt: "viktiga data och farliga underhållsverktyg" (viktiga data och farliga underhållsprogram som init och passwd ) [8]
/ lib grundläggande dynamiska bibliotek och kärnmoduler historiskt: "objektbibliotek och annat" (objektbibliotek och annat material) [8]
/ media Monteringspunkt för flyttbara medier historisk: -
/ mnt för tillfälligt monterat filsystem historisk: -
/ opt ytterligare applikationsprogram historisk: -
/springa data som är relevanta för pågående processer historisk: -
/ sbin väsentliga binärer i systemet historisk: -
/ srv Data för tjänster historisk: -
/ tmp tillfälliga uppgifter historisk: "tillfälliga filer" (tillfälliga filer, vanligtvis på en snabb enhet) [8]
/ usr sekundär hierarki historiskt: "general-purpose directory" (universell katalog, vanligtvis monteringspunkten för ett annat filsystem) [8]
/ var variabel data historisk: -

Katalogerna / opt, / usr och / var är utformade så att de inte behöver finnas i rotkatalogens partition.

Ytterligare kataloger krävs om lämpliga delsystem är installerade: [9]

/ Hem Användarkataloger
/ root Katalog över rotkontot
/ lib ... alternativa dynamiska bibliotek, till exempel / lib32 och / lib64 för 32-bitars och 64-bitars

Andra kataloger bör inte skapas i rotkatalogen. Program bör inte begära eller skapa filer i rotkatalogen.

/ bin - grundläggande systemkommandon (för alla användare)

/ bin innehåller alla kommandon som kan anropas av både administratören och användaren och som också krävs när inga andra filsystem är monterade, till exempel i enanvändarläge. Dessutom kan manus som använder sådana kommandon också lagras där.

Katalogen / bin får inte innehålla några underkataloger. Följande program eller symboliska länkar till Unix -kommandona krävs åtminstone i / bin:

  • cat: Lägg till filer till varandra ( engelska: con cat enate ) och skriv till standardoutput (stdout)
  • chgrp : Ändra gruppmedlemskap ( engelska: ch ange gr ou p )
  • chmod : Ändra filåtkomsträttigheter ( engelska: ch ange mod e )
  • chown : byt ägare och gruppmedlemskap ( engelska: ch ange own ership )
  • cp : Kopiera filer eller kataloger ( engelska: c o p y )
  • datum: Visa eller ställ in systemets datum och tid
  • dd : konvertera eller kopiera data ( engelska: d ump d ata )
  • df: Visa ledigt diskutrymme (engelska: d isk f rees tempo)
  • dmesg : Visa eller konfigurera ringbufferten för kärnan ( engelska: d isplay mes sa g es )
  • echo : Spela en textrad
  • false : Genererar en felstatuskod
  • värdnamn : Visa eller ställ in det aktuella datornamnet
  • döda : döda en process
  • ln : Ange länkar mellan filer ( engelska: l i n k )
  • inloggning: kontrollera användaridentitet och starta användargränssnitt
  • ls : visa kataloginnehåll ( engelska: l i s t )
  • mkdir: skapa en katalog ( engelska: m a k e dir ectory )
  • mknod: Skapa speciella enhetsfiler ( engelska: m a k e nod e )
  • mer : visa datarullning sida för sida
  • mount: montering av filsystem
  • mv : flytta eller byta namn på filer ( engelska: m o v e )
  • ps : visa processstatus ( engelska: p rocess s tatus )
  • pwd : Visa namnet på den aktuella katalogen ( engelska: p rint w orking d irectory )
  • rm : radering av filer eller kataloger ( engelska: r e m ove )
  • rmdir: Ta bort tomma kataloger ( engelska: r e m ove dir ectory )
  • sed : Redigering av data utan interaktion ( engelska: s tream ed itor )
  • sh : Unix shell ( kommandoradstolk , engelska: sh ell ). Om sh inte är det ursprungliga Bourne -skalet , måste sh vara en hård eller mjuk länk till det skal som används.
  • stty: Visa eller ställ in inställningar för en dataterminalenhet ( engelska: s et t ele ty per )
  • su : startar ett användargränssnitt med en ny användaridentitet ( engelska: s ubstitute u ser )
  • sync: Skriva innehållet i databuffertar till databäraren ( engelska: sync hronize )
  • true : Generera en framgångsstatuskod
  • umount: avmontering av filsystem (engelska: u n mount)
  • uname : Visa diverse systeminformation (engelska: U NIX namn)

Om det behövs måste följande kommandon (eller länkar till dem) också installeras i / bin -katalogen:

  • csh : C -like kommandoradstolk ( engelska: c -like sh ell )
  • ed : Redigering av text ( engelska: ed it )
  • tar : Hantering av filarkiv ( engelska: t ape ar chiver )
  • cpio : Kopiera filer till eller från arkiv ( engelska: c o p y i nput / o utput )
  • gzip : Komprimering av data ( engelska: G NU zip )
  • gunzip : dekomprimera data (mestadels som en länk till gzip)
  • zcat: dekomprimera och visa data ( z ipped con cat enation )
  • netstat : Visa nätverksstatusinformation ( engelska: net work stat us )
  • ping : Skicka och ta emot datapaket via ICMP

Alla andra kommandon som krävs för återställning, såsom ftp , tftp eller olika arkiveringsprogram, har också sin plats här.

/ boot - statiska filer i startladdaren

Den här katalogen innehåller alla filer som krävs av startprogrammet för startprocessen. Detta inkluderar t.ex. B. sparade också master boot -poster . Operativsystemets kärna måste också lagras antingen i den här katalogen eller i rotkatalogen.

/ dev - enhetsfiler

Dev innehåller speciella filer (specialfil) eller katalog- / enhetsfiler (enhetsfil). En del av enhetsfilerna måste skapas manuellt. I det här fallet måste katalogen innehålla kommandot MAKEDEV eller MAKEDEV.local, som kan skapa dessa enhetsfiler med befintlig maskinvara.
Värt att nämna är / dev / null , som kan skrivas till men allt kasseras, / dev / zero , från vilket noll byte kan läsas i valfri mängd, och / dev / random (eller / dev / urandom), som används som hårdvara -Slumpgenerator används.

udev har ersatt devfs sedan kärnan 2.6 och använder nu konfigurationsfiler (som standard i / etc / udev ) i användarutrymmet för att automatiskt skapa enheterna i / dev.

/ etc - specifika konfigurationsfiler

/ etc stod ursprungligen för "allt annat" (lat. et cetera ). Den har dock etablerat sig som en konfigurationskatalog och tolkas därför ofta som en "redigerbar textkonfiguration". Katalogen / etc och dess underkataloger innehåller alla typer av konfigurationsfiler . Dessa filer måste vara statiska filer (se ovan). Det får inte finnas några binära filer i den här katalogen.

Följande underkataloger finns bland annat i / etc:

/ etc / opt
Konfiguration för program i / opt: Systemspecifika konfigurationsfiler för ytterligare installerade programpaket måste installeras i den här katalogen i lämpliga underkataloger ( / etc / opt / < underkatalog > ). Det finns ingen reglering om hur katalogen / etc / opt är uppdelad.
/ etc / X11
Konfiguration av X Window System , valfritt: Alla konfigurationsfiler för X11 -systemet lagras i den här katalogen. I katalogen finns filerna Xconfig, xorg.conf och Xmodmap (om tillgängliga). Om en fönsterhanterare har mer än en konfigurationsfil kan en separat underkatalog skapas för den, annars sparas konfigurationsfilen direkt i katalogen / etc / X11 med filnamnet <WindowManager> .wmrc.
/ etc / sgml
Konfiguration för SGML , valfritt: SGML -system (om tillgängligt) sparar grundläggande konfigurationer i den här katalogen. Filer med tillägget .conf betecknar konventionella konfigurationsfiler, filer med tillägget .cat ger speciella DTD -kataloger med referenser till andra kataloger.
/ etc / xml
Konfiguration för XML , valfri: Grundläggande inställningar för befintliga XML -system installeras i den här katalogen. Konfigurationsfiler har filtillägget .conf , en DTD -katalog finns i katalogfilen .
/ etc / mc
Konfiguration för Midnight Commander , valfri
/ etc / network
För Debian -system, innehåller de konfigurationsfiler som påverkar nätverket

I allmänhet finns konfigurationerna för enskilda tjänster under / etc / <servicenamn> / och / eller / etc / <servicenamn> .conf (LDAP under Debian -derivatet Ubuntu gör båda utan entydig filnamn, till exempel). När det gäller demoner saknas ofta den sista d , NTP -servern z. B. har processen ntpd , men konfigurationsfilen /etc/ntp.conf .

Följande konfigurationsfiler hör definitivt till / etc (om de finns):

csh.login
systemomfattande initialiseringsfil för den C-liknande kommandotolkaren
export
Åtkomsträtt för NFS -aktier
fstab
Tabell med statisk information om monterbara filsystem
ftpusers
Innehåller namnen på de användare som ska uteslutas från ftp -samtalet
portar
statisk information om de gateways som är tillgängliga i nätverket
gettydefs
Parametrar föröverföringshastigheten och andra inställningar för terminalerna
grupp
Rad för rad -information om de angivna användargrupperna
värd.konf
Konfigurationsdata för namnupplösning
värdar
statisk information om tilldelning av datornamn till IP -adresser
värdar. tillåt
Åtkomstbehörigheter för TCP -omslaget tcpd
hosts.deny
Uteslutningskriterier för TCP -omslaget tcpd
värdar. ekv
godkända datorer för rlogin , rsh , rcp
värdar.lpd
godkända datorer för utskriftstjänsten lpd
inetd.conf
Konfigurationsfil för Internet super server inetd
inittab
Konfigurationsfil för initieringsprocessen init
problem
Systemidentifieringsfil för utmatning av information före inloggningsprocessen
issue.net
Systemidentifieringsfil för utmatning av information före inloggningsprocessen via nätverket ( t.ex. telnet )
ld.so.conf
Lista över kataloger med bibliotek som ska integreras dynamiskt
motd
Anmälan av dagen för att utfärdas efter registreringsprocessen (m essage o f t han d ay)
mtab
dynamiskt genererad information om de monterade filsystemen
mtools.conf
Konfigurationsfil för mtools
kommandot för redigering av MS-DOS- filsystem
nätverk
statisk information om tillgängliga nätverk
passwd
Innehåller användarnamn, beskrivning av användaren, grupp -ID, användar -ID, hemkatalogen och inloggningskommandot (vanligtvis ett skal). Tidigare innehöll denna fil också användarlösenordet. Detta är nu lagrat i / etc / shadow.
printcap
Konfigurationsfil för utskriftstjänsten lpd
profil
systemomfattande konfigurationsfil för inloggningsprocessen med sh
protokoll
Lista över IP -protokoll -ID och nummer
resolv.conf
Konfigurationsfil för namnupplösning
rpc
Lista över RPC -protokollidentifierare
säkert
Åtkomstbehörigheter för fjärrinloggningsprocesser
tjänster
Lista över port -ID för enskilda tjänster
skugga
krypterade lösenord för användarna samt giltighetstiden
skal
fullständiga namn på de tillåtna kommandotolkarna
syslog.conf
Konfigurationsfil för systemloggtjänsten syslogd

/ home - hemkataloger, valfritt

Den här katalogstrukturen används för att lagra användarspecifika data för de enskilda användarna av systemet. FHS listar bara denna katalog som valfri, även om den är etablerad som en kvasistandard. Alla användarspecifika konfigurationsfiler lagras i dolda filer och kataloger (som har en prick som filnamnets första tecken) under / home / $ USER / . Dessa dolda filer och kataloger i användarkatalogen kallas ofta "prickfiler".

/ lib - kärnmoduler och dynamiska bibliotek

Katalogen / lib innehåller de installerade dynamiska biblioteken och kärnmodulerna som krävs för att starta systemet och för programmen i / bin och / sbin. Den dynamiska C standardbiblioteket libc.so. * och länkbibliotek ld * ligger också här. Underkatalogens moduler innehåller ovannämnda kärnmoduler, om de är installerade.

/ lib <nr> - Alternativa kärnmoduler och dynamiska bibliotek

Vissa system stöder flera binära format (för olika processorarkitekturer eller lägen), var och en med sin egen version av samma bibliotek. Sedan finns det till exempel / lib32 och / lib64 för de två driftlägena (32-bitars och 64-bitars) för x86-processorn.

/ media - monteringspunkter för flyttbara medier

De enskilda underkatalogerna i / media fungerar som en monteringspunkt för varje typ av flyttbart medium. Tidigare bärbara media var / mnt antingen direkt i rotkatalogen eller i monterad . För att effektivisera rotkatalogen har katalogerna flyttats till / media -mappen. Standarden tillhandahåller följande valfria underkataloger:

/ media / diskett
diskett
/ media / cdrom
cd-rom
/ media / cdrecorder
CD brännare
/ media / zip
Zip -enhet

Om en enhet finns flera gånger föreslås att ett nummer läggs till i enhetstypen.

/ mnt - tillfälliga monteringspunkter för filsystem

Katalogen används för att tillfälligt montera utländska filsystem av alla slag. Installationsprogram är uttryckligen förbjudet att använda katalogen / mnt för tillfälliga filer.

/ opt - ytterligare programpaket

Katalogen är avsedd för alla tillval, dvs ytterligare installerad programvara som inte kommer från paketkällor som tillhör distributionen. Paketen måste installeras i en underkatalog med namnet / opt / <paket> eller / opt / <tillverkare> , där <paket> är ett beskrivande paketnamn och <tillverkare> är namnet på tillverkaren som är registrerad hos LANANA . Underkatalogerna / opt / bin , / opt / doc , / opt / include , / opt / info , / opt / lib och / opt / man är reserverade för den lokala systemadministratören. Programpaketets binärfiler finns vanligtvis bara i / opt / <package> / bin

/ root - användarkatalog för användarrot, valfritt

Katalogen kan bilda användarkatalogen för användarroten. Den här katalogen är bara en rekommendation från FHS.

/ run katalog

I slutet av mars 2011 meddelade utvecklarna av Linux -distributionen Fedora att framtida Fedora -versioner skulle innehålla katalogen / körningen. [10] [11] Dess funktion är att ersätta / var / run -katalogen och lösa problemet som / var / run under vissa omständigheter ännu inte är tillgängligt under startprocessen, men som krävs för att starta. Flera Linux -distributioner har lovat sitt stöd. / run krävs nu också av filsystemhierarkistandarden.

/ sbin - viktiga systemkommandon

Katalogen innehåller kommandon för systemadministration och andra uppgifter som endast rotanvändaren kan utföra. Dessa är i huvudsak alla kommandon som kunde ha placerats i / bin -katalogen, men t.ex. B. av lagringsutrymme som inte finns där. Program som förväntas i / sbin: avstängning, fastboot, fasthalt, fdisk, fsck, fsck. *, Getty, stopp, ifconfig, init, mkfs, mkfs. *, Mkswap, reboot, route, swapon, swapoff, update

/ srv - data som erbjuds av tjänster

Data om de tjänster som erbjuds bör lagras i den här katalogen. För närvarande finns det inga regler för hur katalogstrukturen i / srv ska se ut. Ett föreslaget alternativ är att döpa underkatalogerna efter tjänsten, t.ex. B. www, ftp, mysql, etc. En annan möjlighet är att organisera enligt administrativa enheter som studentråd vid universitet. Detta görs för närvarande endast av SuSE och Arch Linux. Till exempel finns katalogen / var / www under Debian, medan SuSE använder / srv / www (Arch: / srv / http).

/ tmp - tillfälliga filer

Den här katalogen måste finnas eftersom det finns program som lagrar sina tillfälliga filer i den här katalogen. Denna katalog ingick i FHS främst på grund av dess historiska betydelse. Katalogen är godkänd för skrivning av alla användare och måste ha en klibbig bit .

/ usr katalogstruktur

/ usr (engelska: U nix S ystem R esources, ursprungligen: US e R ) är filsystemets andra viktiga nivå. Detta område kan användas gemensamt av flera datorer (delbart) och innehåller därför inget innehåll som är beroende av den lokala datorn eller som varierar över tiden. Dessa lagras på andra platser i filsystemet.

Följande kataloger måste finnas i / usr:

/ usr / bin
många användarkommandon
Detta är den primära katalogen för systemets körbara filer.
/ usr / inkludera
Rubrikfiler integreras av program
Rubrikfilerna innehåller de olika inkluderingsfilerna med prototypdefinitioner.
/ usr / lib
Bibliotek
Modulär programkod som delas av olika program.
/ usr / local
Distributionsoberoende lokal hierarki. Den lokala systemadministrationen kan och bör lagra program och data här som har installerats oberoende av motsvarande distribution av respektive system, till exempel självkompilerade program och filer eller program och filer som laddats ner oberoende av distributionen. Installationsmekanismerna för den berörda distributionen är uttryckligen förbjudna att beröra denna katalogstruktur. Den interna strukturen för / usr / local utformas på den lokala systemadministrationens ansvar och specificeras inte av FHS.
/ usr / sbin
vidare, inte absolut nödvändiga systemkommandon
Till skillnad från / sbin används dessa systemkommandon inte av administratören under startprocessen.
/ usr / share (arkitekturoberoende data)

Dessutom kan följande kataloger eventuellt existera:

/ usr / X11R6
X Window System , Version 11 Release 6
/ usr / games
Spel
/ usr / lib <nr>
alternativa versioner av dynamiska bibliotek
/ usr / src
Källkod

För att säkerställa kompatibilitet med äldre system kan symboliska länkar skapas för följande kataloger:

  • / usr / spool → / var / spool
  • / usr / tmp → / var / tmp
  • / usr / spool / lås → / var / lock

/ var katalogstruktur

Den / var katalogen (engelska var iable) innehåller variabeldata som uppstår i samband med behandlingen. Följande kataloger eller symboliska länkar till kataloger förväntas i / var:

/ var / cache
data cachade av applikationsprogram
/ var / lib
variabel statusinformation
/ var / local
variabel data relaterad till / usr / local
/ var / lås
Katalog för låsfiler för processynkronisering
/ var / log
Katalog för loggfiler
/ var / opt
variabel data i samband med / opt
/ var / run
Data som är viktiga för att köra processer ( / kör uppfyller nu funktionen; katalogen finns för att säkerställa kompatibilitet med system och programvara som använder en äldre version av FHS -specifikationen och kan implementeras som en symbolisk länk på / kör)
/ var / spole
Katalog för köer som ska bearbetas (utskriftsjobb, e-postmeddelanden ...)
/ var / tmp
tillfälliga filer som sparas efter en omstart

Av "historiska" skäl finns följande kataloger fortfarande om det behövs:

  • / var / backups
  • / var / cron (finns numera under / var / spool / cron)
  • / var / msgs
  • / var / bevara

Om motsvarande program är installerade används följande kataloger också:

/ var / konto
Behandla redovisningsdata
/ var / krasch
Systemet tappar vid en datorkrasch
/ var / spel
varierande speldatum
/ var / mail
Användarens brevlådefiler (ofta som en symlänk till / var / spool / mail)
/ var / yp
Network Information Service databasfiler

Se även

webb-länkar

Individuella bevis

  1. ^ Bakgrund för FHS . I: Filsystem Hierarki Standard 2.3 . Hämtad 11 januari 2011.
  2. Filsystem Hierarchy Standard (FHS) och FreeBSD . freebsd.org. 10 maj 2011. Hämtad 27 februari 2016.
  3. Re: Filsystem Hierarchy Standard (FHS) och NetBSD . netbsd.org. 10 maj 2011. Hämtad 27 februari 2016.
  4. Filsystem Hierarchy Standard (FHS) och OpenBSD . nabble.com. 10 maj 2011. Hämtad 27 februari 2016.
  5. här - layout av filsystem . I: FreeBSD Man Pages . FreeBSD Foundation . Hämtad 3 oktober 2016.
  6. ^ Filsystemet . I: Filsystem Hierarki Standard 2.3 . Hämtad 11 januari 2011.
  7. Krav . I: Filsystem Hierarki Standard . Hämtad 3 oktober 2016.
  8. a b c d e f här - filsystemhierarki . I: FreeBSD Man Pages - Unix Seventh Edition . FreeBSD Foundation. Hämtad 3 oktober 2016.
  9. Specifika alternativ . I: Filsystem Hierarki Standard 2.3 . Hämtad 11 januari 2011.
  10. Vad gör den här / kör -katalogen på mitt system och var kommer den ifrån? . fedoraproject.org. 30 mars 2011. Hämtad 27 februari 2016.
  11. Distributioner introducerar ny katalog / körning . I: Pro-Linux . 31 mars 2011. Hämtad 27 februari 2016.