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\footnote{c'est un peu moins vrai avec le démarrage par \texttt{initrd}}
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 \end{frame}
70
71 \begin{frame}
72 \begin{center}
73 \texttt{/usr} : la «sous-arborescence» contenant les ressources nécessaires au fonctionnement
74 \end{center}
75 \begin{itemize}
76 \item \texttt{/usr/bin} : la plupart des commandes utilisateur
77 \item \texttt{/usr/lib} : bibliothèques logicielles
78 \item \texttt{/usr/sbin} : commande d'administration non vitales
79 \item \texttt{/usr/share} : données partageables non liées à une architecture matérielle
80 \item \texttt{/usr/include} : fichiers d'entêtes pour développement (C en général)
81 \item \texttt{/usr/local} : hiérarchie purement locale (vide au départ)
82 \item \texttt{/usr/X11}, \texttt{/usr/games} : sous-systèmes
83 \item \texttt{/usr/src} : codes sources
84 \item \texttt{/usr/games} : indispensable ;)
85 \end{itemize}
86 Note : \texttt{/etc} reste le lieu des configurations.
87 \end{frame}
88
89 \section{Les répertoires à valeur ajoutée}
90 \frame{\tableofcontents[current]}
91
92 \begin{frame}
93 \begin{center}
94 \texttt{/etc} : les fichiers de configuration
95 \end{center}
96 \begin{itemize}
97 \item des fichiers textes, souvent auto-documentés grâce à la possibilité de commentaires
98 \item présence de fichiers fondamentaux : \texttt{/etc} n'est pas le répertoire où il faut jouer ;)
99 \item en général pour un logiciel il existe un sous-répertoire \texttt{/etc/\textit{logiciel}/}
100 \item \texttt{/etc/init.d/} et \texttt{/etc/rc?.d/} : instructions pour le démarrage et l'arrêt
101 \end{itemize}
102 \end{frame}
103
104 \begin{frame}
105 \begin{center}
106 \texttt{/var} : les fichiers de données variables
107 \end{center}
108 \begin{itemize}
109 \item \texttt{/var/lib} : données d'état pour les applications (exemple : SGBD)
110 \item \texttt{/var/log} : les logs (fichiers «journaux»)
111 \item \texttt{/var/spool} : files d'attentes
112 \item \texttt{/var/mail} : les boîtes aux lettres
113 \item \texttt{/var/cache} : données cachées (au sens «déjà calculées»)
114 \item \texttt{/var/tmp} : données temporaires non effacées lors d'un reboot
115 \item \texttt{/var/www} : données pour le système web
116 \end{itemize}
117 C'est un répertoire fondamental !
118 \end{frame}
119
120 \begin{frame}
121 \begin{center}
122 \texttt{/home} : les répertoires des utilisateurs
123 \end{center}
124 \begin{itemize}
125 \item \texttt{/home/login}
126 \item \texttt{/home/group/login}
127 \item \texttt{/home/t/h/thomas}
128 \end{itemize}
129 \end{frame}
130
131 \section{Les répertoires «étranges»}
132 \frame{\tableofcontents[current]}
133
134 \begin{frame}
135 \begin{center}
136 \texttt{/dev} : les périphériques et fichiers spéciaux
137 \end{center}
138 \begin{itemize}
139 \item \texttt{/dev/sda}, \texttt{/dev/cdrom} (lien vers), etc.
140 \item \texttt{/dev/null}, \texttt{/dev/zero}, \texttt{/dev/tty}, ...
141 \item sous-répertoires : \texttt{disk} \texttt{input} \texttt{snd} \texttt{net} (et LVM)
142 \end{itemize}
143 Aujourd'hui souvent géré dynamiquement par \texttt{udev}.
144 \end{frame}
145
146 \begin{frame}
147 \begin{center}
148 \texttt{/proc} et \texttt{/sys} : systèmes de fichiers \textit{virtuels}
149 \end{center}
150 \begin{itemize}
151 \item \texttt{/proc} : un sous-répertoire par processus et des fichiers d'état noyau
152 \item \texttt{/sys} : amélioration de \texttt{/proc} pour la vision hierarchique du système
153 \end{itemize}
154 \end{frame}
155
156
157 \section{Des exemples}
158 \frame{\tableofcontents[current]}
159
160 \begin{frame}
161 \begin{center}
162 Exemple de répartition dans la FHS : \textit{apache2}
163 \end{center}
164 \begin{itemize}
165 \item \texttt{/etc/apache2/*} : configuration
166 \item \texttt{/usr/sbin/apache2} : le binaire principal
167 \item \texttt{/usr/bin/htpasswd}, \texttt{/usr/sbin/split-logfiles}, etc. : utilitaires associés
168 \item \texttt{/usr/lib/libapr*} : bibliothèques logicielles partagées
169 \item \texttt{/usr/lib/apache2/} : modules pour apaches (\textit{php4}, \textit{fastcgi}, ...)
170 \item \texttt{/etc/init.d/apache2} : script de démarrage, d'arrêt, rechargement, status, ...
171 \item \texttt{/usr/share/doc/apache2/*} et \texttt{/usr/share/man/} : documentation
172 \item \texttt{/var/www/*} : les données du site (pages HTML)
173 \end{itemize}
174 \end{frame}
175
176 \begin{frame}
177 \begin{center}
178 Exemple de répartition dans la FHS : \textit{openvz}
179 \end{center}
180 \begin{itemize}
181 \item \texttt{/boot} et \texttt{/lib/modules/...} : le petit noyau OpenVZ
182 \item \texttt{/usr/sbin/vz*} : les outils
183 \item \texttt{/etc/vz} : les configurations
184 \item \texttt{/var/lib/vz} : les données... dont les racines (\texttt{/}) des CT !
185 \item \texttt{/usr/share/doc/vzctl/*} : la documentation (hors page de \textit{man})
186 \end{itemize}
187 Rappel : \texttt{dpkg -L vzctl}, \texttt{dpkg -L vzquota}, ...
188
189 Note : sur Debian, \texttt{/vz} est un lien vers \texttt{/var/lib/vz}
190 \end{frame}
191
192
193 \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.