Pièce jointe « fhs.tex »
Téléchargement 1 %% licence RAFRAB(*)
2 %%
3 %% RAFRAB : rien à f**tre, rien à battre, fais ce qu'il te plait dans la vie
4 %%
5
6
7 \documentclass[french]{beamer}
8 \usepackage{babel}
9 \usepackage[utf8]{inputenc}
10 \usetheme{Warsaw}
11
12 \title{FHS : Filesystem Hierarchy Standard \\ \textit{norme de la hiérarchie des systèmes de fichiers}}
13 \author{}\institute{Agence universitaire de la Francophonie}
14
15 \begin{document}
16
17 \begin{frame}
18 \titlepage
19 \end{frame}
20
21 \section{Vue globale}
22 \frame{\tableofcontents[current]}
23
24 \begin{frame}
25 La FHS (Filesystem Hierarchy Standard) définit l'arborescence et le contenu des
26 principaux répertoires des systèmes de fichiers des systèmes d'exploitation
27 Linux et de la plupart des systèmes Unix.
28
29 \begin{itemize}
30 \item \url{www.pathname.com/fhs/}
31 \item norme du Free Standards Group = Hewlett-Packard, Red Hat, IBM, Dell, etc.
32 \item suivie à quelques exceptions près par tous les systèmes Unix (sauf MacOS X)
33 \item ... dont toutes les distributions Linux, dont Debian GNU/Linux.
34 \end{itemize}
35 \end{frame}
36
37 \begin{frame}
38 Les grands répertoires sous la racine :
39 \begin{itemize}
40 \item \texttt{/bin}, \texttt{/sbin} et \texttt{/lib} : commandes de base et bibliothèques associées
41 \item \texttt{/etc} : fichiers de configuration
42 \item \texttt{/usr} (\textit{unix system ressources}) : ressources non nécessaires au démarrage
43 \item \texttt{/var} : données variables
44 \item \texttt{/home} : répertoires des utilisateurs
45 \item \texttt{/mnt} et \texttt{/media} : points de montages
46 \item \texttt{/dev} : fichiers correspondants à des périphériques
47 \item \texttt{/tmp} : données temporaires
48 \item Linux : \texttt{/proc} et \texttt{/sys} : systèmes de fichiers virtuels
49 \end{itemize}
50 \end{frame}
51
52 \section{Les deux grandes hiérachies : \texttt{/} et \texttt{/usr}}
53 \frame{\tableofcontents[current]}
54
55 \begin{frame}
56 \begin{center}
57 \texttt{/} : le système de fichier racine doit contenir tout ce qui
58 permet au système de démarrer
59 \end{center}
60 \begin{itemize}
61 \item \texttt{/bin} et \texttt{sbin} : commandes de base (utilisation et administration)
62 \item \texttt{/lib} : bibliothèques nécessaires à \texttt{/bin} et \texttt{/sbin} et modules du noyau
63 \item \texttt{/etc} : fichiers de configuration
64 \item \texttt{/boot} : fichiers statiques pour le démarrage
65 \item \texttt{/dev} : périphériques nécessaires au démarrage
66 \item \texttt{/root} : répertoire de l'administrateur
67 \item \texttt{/tmp} : données temporaires
68 \end{itemize}
69 Note : le démarrage par disque mémoire (\texttt{initrd}) rend tout cela un peu caduc.
70 \end{frame}
71
72 \begin{frame}
73 \begin{center}
74 \texttt{/usr} : la «sous-arborescence» contenant les ressources nécessaires au fonctionnement
75 \end{center}
76 \begin{itemize}
77 \item \texttt{/usr/bin} : la plupart des commandes utilisateur
78 \item \texttt{/usr/lib} : bibliothèques logicielles
79 \item \texttt{/usr/sbin} : commande d'administration non vitales
80 \item \texttt{/usr/share} : données partageables non liées à une architecture matérielle
81 \item \texttt{/usr/include} : fichiers d'entêtes pour développement (C en général)
82 \item \texttt{/usr/local} : hiérarchie purement locale (vide au départ)
83 \item \texttt{/usr/X11}, \texttt{/usr/games} : sous-systèmes
84 \item \texttt{/usr/src} : codes sources
85 \item \texttt{/usr/games} : indispensable ;)
86 \end{itemize}
87 Note : \texttt{/etc} reste le lieu des configurations.
88 \end{frame}
89
90 \section{Les répertoires à valeur ajoutée}
91 \frame{\tableofcontents[current]}
92
93 \begin{frame}
94 \begin{center}
95 \texttt{/etc} : les fichiers de configuration
96 \end{center}
97 \begin{itemize}
98 \item des fichiers textes, souvent auto-documentés grâce à la possibilité de commentaires
99 \item présence de fichiers fondamentaux : \texttt{/etc} n'est pas le répertoire où il faut jouer ;)
100 \item en général pour un logiciel il existe un sous-répertoire \texttt{/etc/\textit{logiciel}/}
101 \item \texttt{/etc/init.d/} et \texttt{/etc/rc?.d/} : instructions pour le démarrage et l'arrêt
102 \end{itemize}
103 \end{frame}
104
105 \begin{frame}
106 \begin{center}
107 \texttt{/var} : les fichiers de données variables
108 \end{center}
109 \begin{itemize}
110 \item \texttt{/var/lib} : données d'état pour les applications (exemple : SGBD)
111 \item \texttt{/var/log} : les logs (fichiers «journaux»)
112 \item \texttt{/var/spool} : files d'attentes
113 \item \texttt{/var/mail} : les boîtes aux lettres
114 \item \texttt{/var/cache} : données cachées (au sens «déjà calculées»)
115 \item \texttt{/var/tmp} : données temporaires non effacées lors d'un reboot
116 \item \texttt{/var/www} : données pour le système web (on préfère aujourd'hui \texttt{/srv/www})
117 \end{itemize}
118 C'est un répertoire fondamental !
119 \end{frame}
120
121 \begin{frame}
122 \begin{center}
123 \texttt{/home} : les répertoires des utilisateurs
124 \end{center}
125 \begin{itemize}
126 \item \texttt{/home/login}
127 \item \texttt{/home/group/login}
128 \item \texttt{/home/t/h/thomas}
129 \end{itemize}
130 \end{frame}
131
132 \section{Les répertoires «étranges»}
133 \frame{\tableofcontents[current]}
134
135 \begin{frame}
136 \begin{center}
137 \texttt{/dev} : les périphériques et fichiers spéciaux
138 \end{center}
139 \begin{itemize}
140 \item \texttt{/dev/sda}, \texttt{/dev/cdrom} (lien vers), etc.
141 \item \texttt{/dev/null}, \texttt{/dev/zero}, \texttt{/dev/tty}, ...
142 \item sous-répertoires : \texttt{disk} \texttt{input} \texttt{snd} \texttt{net} (et LVM)
143 \end{itemize}
144 Aujourd'hui souvent géré dynamiquement par \texttt{udev}.
145 \end{frame}
146
147 \begin{frame}
148 \begin{center}
149 \texttt{/proc} et \texttt{/sys} : systèmes de fichiers \textit{virtuels}
150 \end{center}
151 \begin{itemize}
152 \item \texttt{/proc} : un sous-répertoire par processus et des fichiers d'état noyau
153 \item \texttt{/sys} : amélioration de \texttt{/proc} pour la vision hierarchique du système
154 \end{itemize}
155 \end{frame}
156
157
158 \section{Un exemple}
159 \frame{\tableofcontents[current]}
160
161 \begin{frame}
162 \begin{center}
163 Exemple de répartition dans la FHS : \textit{apache2}
164 \end{center}
165 \begin{itemize}
166 \item \texttt{/etc/apache2/*} : configuration
167 \item \texttt{/usr/sbin/apache2} : le binaire principal
168 \item \texttt{/usr/bin/htpasswd}, \texttt{/usr/sbin/split-logfiles}, etc. : utilitaires associés
169 \item \texttt{/usr/lib/libapr*} : bibliothèques logicielles partagées
170 \item \texttt{/usr/lib/apache2/} : modules pour apaches (\textit{php4}, \textit{fastcgi}, ...)
171 \item \texttt{/etc/init.d/apache2} : script de démarrage, d'arrêt, rechargement, status, ...
172 \item \texttt{/usr/share/doc/apache2/*} et \texttt{/usr/share/man/} : documentation
173 \item \texttt{/srv/www/*} : les données du site (pages HTML)
174 \end{itemize}
175 \end{frame}
176
177
178 \end{document}
Fichiers joints
Pour vous référer aux pièces jointes d'une page, utilisez attachment:filename, comme indiqué ci-dessous dans la liste de fichiers. N'utilisez pas l'URL du lien [get], car elle peut changer et donc être facilement cassée.Vous n'êtes pas autorisé à joindre un fichier à cette page.