FHS 2.0
Artur Frysiak
wiget w t17.ds.pwr.wroc.pl
Czw, 6 Maj 1999, 22:32:50 CEST
Witam
Oto wyjątki z FHS 2.0:
1. Root fs
- powinien być jak najmiejszy
- zawierać tylko poniższe katalogi:
/ -- the root directory
|
+-bin Essential command binaries
+-boot Static files of the boot loader
+-dev Device files
+-etc Host-specific system configuration
+-home User home directories
+-lib Essential shared libraries and kernel modules
+-mnt Mount point of temporary partitions
+-opt Add-on application software packages
+-root Home directory for the root user
+-sbin Essential system binaries
+-tmp Temporary files
+-usr Secondary hierarchy
+-var Variable data
2. /bin
- zawiera tylko to co najpotrzebniejsze czyli to co potrzebe aby zamontować
inne fs'y, ustawić sieć, zrobić i odtworzyć backup, wyedytować pliki
konfiguracyjne:
{ cat, chgrp, chmod, chown, cp, date, dd, df, dmesg, echo, ed,
false, kill, ln, login, ls, mkdir, mknod, more, mount, mv, ps,
pwd, rm, rmdir, sed, setserial, sh, stty, su, sync, true, umount,
uname , vi, tar, gzip, gunzip (link to gzip), zcat (link to gzip)
domainname, hostname, netstat, ping }
- nie powinien zawierać podkatalogów
3. /boot
- ma zawiarać plik jądra i potrzebne mu do zbootowania rzeczy (np. System.map)
- może być jako oddzielny fs (wymagane dla ix86 aby był poniżej 1024
cylindra)
4. /dev
- zawiara pliki specjalne i pliki urządzeń
- może zawierać MAKEDEV i MAKEDEV.local
5. /etc
- zawiera pliki konfiguracyjne
- ma podkatalog X11 dla programów pod X11
- ma podkatalog opt dla programów z /opt
- zawiera takie pliki jak :
adjtime, csh.login, disktab, fdprm, fstab, gettydefs, group,
inittab, confissue, ld.so.conf, lilo.conf, motd, mtab, mtools,
passwd, profile, securetty, shells, syslog.conf, ttytype, exports,
ftpusers, gateways, host.conf, hosts, hosts.allow,
hosts.deny, hosts.equiv, hosts.lpd, inetd.conf, networks,
printcap, protocols, resolv.conf, rpc, services
(Prosze zwrócić uwagę że pliki hosts.allow i hosts.deny są w /etc a nie w
/etc/tcpd)
(dodatkowe zalecenia dla PLD:
- jeśli jakiś pakiet zawiera więcej niż jeden plik konfiguracyjny to powinny
one znaleść się w /etc/%{name}
)
5.1 /etc/X11
- zawiera między innymi katalog xdm z plikami konfiguracyjnymi dla xdm
(PLD: oraz kdm i gdm jako zamienniki xdm)
- Jeśli Zarządca Okien ma tylko jeden plik konfiguracyjny to powinien on
mieć nazwę system.*wmrc (lub inna szeroko akceptowalną)
- Jeśli Zarządca Okien potrzebuje katalogu w /etc/X11 to katalog powinien
nazywać się tak jak nazywa się binarka Zarządcy
5.2 /etc/opt
- zaleca się aby pliki konfiguracyjne programów z /opt były w katalogach
/etc/opt/%{name}
6. /home
- zawiera katalogi urzytkowników
- może być dzielony przez różne hosty (np via NFS)
(PLD: zawiera tylko katalogi urzytkowników systemowych, urzytkownicy mają
katalogi w /home/<primary group>/<login>)
7. /lib
- zawiera katalog modules z modułami kernela
- zawiera tylko libc.so.* libm.so* ld.so i te biblioteki które są potrzebne
aplikacją z /bin i /sbin
- libm.so* może być w /usr/lib jeśli nic z /bin i /sbin tego nie wymaga
- może zawierać /lib/cpp jako link do właściwej binarki
(/usr/lib/gcc-lib/<target>/<version>/cpp)
8. /mnt
- katalog do chwilowo montowanych systemów plików
9. /opt
- może być dzielony
- zawiera dodatkowe aplikacje w katalogach /opt/%{name}
- pliki zmieniane podczas pracy powinny być w /var/opt
- pliki konfiguracyjne w /etc/opt
10. /root
- katalog domowy root'a
- musi być na root fs
11. /sbin
- zawiera programy systemowe takie jak:
clock, getty, init, update, mkswap, swapon, swapoff, telinit
fastboot, fasthalt, halt, reboot, shutdown
fdisk, fsck, fsck.*, mkfs, mkfs.*
ifconfig, route
12. /tmp
- zawiera tylko pliki tymczasowe
(PLD: należy dąrzyć do wyeliminowania pisania do /tmp. Urzytkownicy powinni
korzystać z ~/tmp.
/tmp powinnien być okresowo czyszczony)
13. /usr
- może być dzielony i montowany ro
- zawiera następujące katalogi:
/usr -- Secondary Hierarchy
|
+-X11R6 X Window System, version 11 release 6
+-X386 X Window System, version 11 release 5 on x86 platforms
+-bin Most user commands
+-games Games and educational binaries
+-include Header files included by C programs
+-lib Libraries
+-local Local hierarchy (empty after main installation)
+-sbin Non-vital system binaries
+-share Architecture-independent data
+-src Source code
- może zawierać poniższe linki:
/usr/spool -> /var/spool
/usr/tmp -> /var/tmp
/usr/spool/locks -> /var/lock
14. /usr/X11
- dla zachowania zgodności z X11 mogą pojawić się linki:
/usr/bin/X11 -> /usr/X11R6/bin
/usr/lib/X11 -> /usr/X11R6/lib/X11
/usr/include/X11 -> /usr/X11R6/include/X11
15. /usr/X386
- historyczne
- w /usr może być link X11 wskazujący na /usr/X11R6 lub /usr/X386
16. /usr/bin
- może zwierać katalog mh i link do X11 -> /usr/X11R6/bin
- powinien zawierać binarki lub linki do binarek wszystkich interpreterów
(/usr/bin/perl, /usr/bin/python itp)
17. /usr/include
- pliki nagłówkowe
- może zawierać podkatalogi X11, g++ i inne ale jednoznacznie
indentyfikujące pakiet z jakiego pochodzą np /usr/include/ssl)
18. /usr/lib
- zależne od architektury biblioteki
- pakiet może mieć _jeden_ podkatalog np dla modułów perl'a przeznaczony
jest podkatalog perl5
- może zawierać link sendmail -> /usr/sbin/sendmail oraz binarkę makewhatis
- może zawierać link X11 -> /usr/X11R6/lib
- pliki nie zależne od architektury powinny znaleść się w /usr/share
19. /usr/local
- do urzytku przed lokalnego administratora
- może zawiarać następujące katalogi:
/usr/local -- Local hierarchy
|
+-bin Local binaries
+-games Local game binaries
+-include Local C header files
+-lib Local libraries
+-sbin Local system binaries
+-share Local architecture-independent hierarchy
+-src Local source code
20. /usr/sbin
- binarki systemowe (które nie są potrzebne w /sbin)
- lokalnie instalowane oprogramowanie systemowe powinno być w
/usr/local/sbin)
21. /usr/share
- niezależne od architektury dane (statyczne)
- może zawierać następujące podkatalogi:
/usr/share -- Architecture-independent data
|
+-dict Word lists
+-doc Miscellaneous documentation
+-games Static data files for /usr/games
+-info GNU Info system's primary directory
+-locale Locale information
+-man Online manuals
+-nls Native language support
+-misc Miscellaneous architecture-independent data
+-terminfo Directories for terminfo database
+-tmac troff macros not distributed with groff
+-zoneinfo Timezone information and configuration
- zaleca się stosowanie podkatalogów /usr/share/%{name}
22. /usr/src
- źródła programów
(PLD: zaleca się stosowanie /usr/src/examples/%{name} dla przykładów
korzystania z bibliotek)
23. /var
- zawiera pliki zmienne podczas działania programów (variable data)
- zawiera taką strukturę:
/var -- Variable data
|
+-account Process accounting logs (if supported)
+-cache Application cache data
+-crash System crash dumps (if supported)
+-games Variable game data
+-lock Lock files
+-log Log files and directories
+-mail User mailbox files
+-opt Variable data for /opt
+-run Files relevant to running processes
+-spool Application spool data
+-state Variable state information
+-tmp Temporary files preserved between system reboots
+-yp Network Information Service (NIS) database files
24. /var/account
- logi dla lastcomm i sa czyli process accounting
25. /var/cache
- dane które ulegają po jakimś czasie przedawnieniu
/var/cache -- Cache directories
|
+-fonts Locally-generated fonts
+-man Locally-formatted manual pages
+-www WWW proxy or cache data
+-<package> Package specific cache data
- dopuszczalny jest link /usr/lib/texmf/fonts/tmp -> /var/cache/fonts
- /var/cache/fonts/pk zawiera pliki czcionek wygenerowane przez MakeTeXPK
25.1 /var/cache/man
- dawniej /var/catman
- sformatowane strony manuali
26. /var/games
- dane dynamiczne dla gier (najlepsze wyniki i temu podobne)
27. /var/lock
- blokady dla zasobów (np urządzeń) w formacie LCK..<nazwa zasobu>
np LCK..ttyS0
28. /var/log
- logi systemowe
- mogą zawierać podkatalogi /var/log/%{name}
29. /var/mail
- dawniej /var/spool/mail (zmieniony aby był podobny do innych UNIXów)
30. /var/opt
- dane dynamiczne dla pakietów z /opt
- wszystko w podkatalogach /var/opt/%{name}
31. /var/run
- zawiera pliki /var/run/%{name}.PID z numerami procesów
- zawiera /var/tun/utmp (PLD: oraz utpmx, utpmd.ro, utmpd.rw)
- może zawierać UNIX sockets
(katalog sudo i netreport powinny wylecieć do /var/state)
32. /var/spool
/var/spool -- Spool directories
|
+-lpd Printer spool directory
+-mqueue Outgoing mail queue
+-news News spool directory
+-rwho Rwhod files
+-smail Spool directories for smail
+-uucp Spool directory for UUCP
33. /var/state
/var/state -- Variable state information
|
+-<editor> Editor backup files and state
+-misc Miscellaneous state data
+-xdm X display manager variable data
+-<pkgtool> Packaging support files
+-<package> State data for packages and subsystems
- dane dotyczące stanów procesów
- wszystko w podkatalogach
- jeśli coś jest za małe aby miało swój podkatalog to do /var/state/misc
33.1 /var/state/<editor>
- pliki potrzebne do odworzenia edycji po wpadce edytora (np .swp dla vim'a)
- dawniej było to /var/preserve
34. /var/tmp
- pliki tymczasowe które nie powinny być kasowane przy starcie systemu
35. /var/yp
- bazy NIS
36. /var/db
- bazy danych (np dla rpm'a, passwd.db, shadow.db, services.db itp)
Tyle zaleceń FHS 2.0 (i mojego kometarza)
Wiget
--
__ __ _ _
/ / /\ \ (_) __ _ ___| |_ @__mail: Artur Frysiak
\ \/ \/ / |/ _` |/ _ \ __| Rudlice 10
\ /\ /| | (_| | __/ |_ 98-311 Ostrowek
\/ \/ |_|\__, |\___|\__|
|___/ email: Wiget w t17.ds.pwr.wroc.pl
PGP key: http://www.t17.ds.pwr.wroc.pl/~wiget/pgp.key
Fingerprint16 = 70 DB E0 2D 12 AB C7 31 B6 58 B5 61 B3 98 B6 E6
Więcej informacji o liście dyskusyjnej pld-devel-pl