Raspbian - Répertoires et fichiers


Dès qu'on s'intéresse de près à un système d'exploitation, il est intéressant d"examiner son contenu et son organisation en terme de répertoires et de fichiers.
Une fois installée, la version de Raspbian d'avril 2019 (version Stretch du 8 avril 2019 with desktop and recommended software) obtenue sur le site de la fondation raspberry Pi comprend :
- aucun fichier à sa racine ;
- 19 sous-répertoires, présentés ci-après.

Remarque : il est à noter que linux et notamment Rasbian compte un répertoire comme un fichier. Par exemple, un répertoire contenant 2 fichiers est compté comme 3 fichiers.

0) Racine du disque /

Remarque : Le nombre de fichier total comptabilisé peut varier selon l’instant où on l’affiche car il dépend de divers paramètres qui peuvent varier d’un instant à l’autre (clef usb enfichée ou non, nombre de processus en cours d’exécution, fichiers temporaires ouverts...)

nombre de fichiers : 228333
taille des fichiers : 7,143,435,145 bytes
taille des fichiers sur le disque : 7,770,357,760 bytes
nombre de fichiers à la racine : 0
sous-répertoires : 19

1. /bin
2. /boot
3. /dev
4. /etc
5. /home
6. /lib
7. /lost+found
8. /media
9. /mnt
10. /opt
11. /proc
12. /root
13. /run
14. /sbin
15. /srv
16. /sys
17. /tmp
18. /usr
19. /var

1) Sous répertoire bin

Le répertoire bin contient des shells et des commandes (cp, mv, rm, cat, ls...) pour l'administrateur du système.

nombre de fichiers : 145
taille des fichiers : 6,888,618 bytes
taille des fichiers sur le disque : 7,168,000 bytes
nombre de fichiers à la racine : 144
sous-répertoires : 0

Exemples de commandes (liste non exhaustive)
chgrp : pour changer la propriété du groupe de fichiers
chmod : pour modifier les autorisations d'accès aux fichiers
chown : pour changer le propriétaire et le groupe du fichier
cp : pour copier des fichiers et des répertoires
date : pour afficher la date et l'heure du système
df : pour afficher l'utilisation de l'espace disque
hostname : pour afficher le nom d'hôte du système
kill : pour fermer des processus en cours
ls : pour lister le contenu des répertoires
mkdir : pour créer des répertoires
mv : pour déplacer ou renommer des fichiers
rm : pour supprimer des fichiers ou des répertoires
rmdir : pour supprimer des répertoires vides
su : pour passer en profil administrateur (root)
uname : pour afficher le nom du système d'exploitation

2) Sous répertoire boot

Le répertoire boot contient des informations de configuration système utilisées lors du démarrage de la machine.

nombre de fichiers : 184
taille des fichiers : 22,500,809 bytes
taille des fichiers sur le disque : 22,564,864 bytes
nombre de fichiers à la racine : 25
sous-répertoires : 2

1./boot/overlays (155)
2./boot/System Volume Information (3)

3) Sous répertoire dev

Le répertoire dev contient des fichiers nécessaires au pilotage des périphériques (usb, clavier, souris, audio...).

Remarque : Le nombre de fichiers comptabilisé peut varier selon que l’on a ou non enfiché une clef USB. Par exemple le nombre de fichier comptabilisé est 395 si une clef USB est enfiché et seulement 377 fichiers sinon.

nombre de fichiers : 395
taille des fichiers : 1,938 bytes
taille des fichiers sur le disque : 0 bytes
nombre de fichiers à la racine : 158
sous-répertoires : 14

1. /dev/block (30)
2. /dev/bsg (2)
3. /dev/bus (9)
4. /dev/char (135)
5. /dev/disk (25)
6. /dev/fd (13)
7. /dev/input (16)
8. /dev/mapper (2)
9. /dev/mqueue (1)
10. /dev/net (2)
11. /dev/pts (2)
12. /dev/raw (2)
13. /dev/shm (1)
14. /dev/snd (8)

4) Sous répertoire etc

Le répertoire etc regroupe l'ensemble des fichiers de configuration avec certaines informations classées par applications.

nombre de fichiers : 1986
taille des fichiers : 2,377,650 bytes
taille des fichiers sur le disque : 6,057,984 bytes
nombre de fichiers à la racine : 88 + 2 fichiers cachés
sous-répertoires : 109

1. /etc/alternatives (256)
2. /etc/apache2 (3)
3. /etc/apparmor.d (4)
4. /etc/apt (15)
5. /etc/avahi (4)
6. /etc/bash_completion.d (2)
7. /etc/binfmt.d (1)
8. /etc/bluetooth (5)
9. /etc/ca-certificates (2)
10. /etc/calendar (2)
11. /etc/chromium-browser (8)
12. /etc/cifs-utils (2)
13. /etc/console-setup (34)
14. /etc/cron.d (2)
15. /etc/cron.daily (9)
16. /etc/cron.hourly (3)
17. /etc/cron.monthly (2)
18. /etc/cron.weekly (3)
19. /etc/dbus-1 (18)
20. /etc/default (23)
21. /etc/dhcp (11)
22. /etc/dictionaries-common (3)
23. /etc/dillo (5)
24. /etc/dpkg (10)
25. /etc/emacs (6)
26. /etc/esound (2)
27. /etc/fonts (287)
28. /etc/gconf (8)
29. /etc/gdb (2)
30. /etc/ghostscript (7)
31. /etc/gnome (4)
32. /etc/groff (3)
33. /etc/gss (3)
34. /etc/gtk-2.0 (2)
35. /etc/gtk-3.0 (2)
36. /etc/ifplugd (3)
37. /etc/init (37)
38. /etc/init.d (30)
39. /etc/initramfs-tools (17)
40. /etc/insserv.conf.d (2)
41. /etc/iproute2 (12)
42. /etc/java (11)
43. /etc/kernel (7)
44. /etc/ld.so.conf.d (5)
45. /etc/ldap (2)
46. /etc/libnl-3 (3)
47. /etc/libpaper.d (1)
48. /etc/libreoffice (4)
49. /etc/lightdm (6)
50. /etc/lighttpd (5)
51. /etc/logcheck (7)
52. /etc/logrotate.d (5)
53. /etc/menu-methods (6)
54. /etc/modprobe.d (6)
55. /etc/modules-load.d (2)
56. /etc/network (23)
57. /etc/newt (2)
58. /etc/openal (2)
59. /etc/opt (1)
60. /etc/PackageKit (3)
61. /etc/pam.d (26)
62. /etc/perl (5)
63. /etc/plymouth (2)
64. /etc/polkit-1 (7)
65. /etc/ppp (5)
66. /etc/profile.d (6)
67. /etc/pulse (2)
68. /etc/python (2)
69. /etc/python2.7 (2)
70. /etc/python3 (2)
71. /etc/python3.5 (2)
72. /etc/rc0.d (16)
73. /etc/rc1.d (13)
74. /etc/rc2.d (17)
75. /etc/rc3.d (17)
76. /etc/rc4.d (17)
77. /etc/rc5.d (17)
78. /etc/rc6.d (16)
79. /etc/rcS.d (14)
80. /etc/request-key.d (4)
81. /etc/resolvconf (3)
82. /etc/rsyslog.d (1)
83. /etc/samba (3)
84. /etc/security (14)
85. /etc/selinux (2)
86. /etc/sensors.d (2)
87. /etc/sgml (4)
88. /etc/skel (4)
89. /etc/ssh (13)
90. /etc/ssl (458)
91. /etc/sudoers.d (4)
92. /etc/sysctl.d (4)
93. /etc/systemd (63)
94. /etc/terminfo (2)
95. /etc/timidity (3)
96. /etc/tmpfiles.d (1)
97. /etc/triggerhappy (2)
98. /etc/udev (5)
99. /etc/udisks2 (1)
100. /etc/ufw (3)
101. /etc/update-motd.d (2)
102. /etc/usb_modeswitch.d (1)
103. /etc/vim(3)
104. /etc/vnc (12)
105. /etc/wildmidi (2)
106. /etc/wpa_supplicant (5)
107. /etc/X11 (53)
108. /etc/xdg (65)
109. /etc/xml (9)

2 fichiers cachés .fstab et .pwd.lock

Par exemple, le fichier /etc/passwd contient les identifiants de connexion des utilisateurs du système.

5) Sous répertoire home

Le répertoire home (sous répertoire /home/pi) contient les répertoires où les utilisateurs peuvent placer leurs données personnelles (documents, téléchargements, photos, vidéos, musique…)

Remarque : Le nombre de fichiers total comptabilisé peut varier selon l’instant où on l’affiche car il dépend du nombre de fichiers et de fichiers temporaires ouverts à cet instant...)

nombre de fichiers : 155
taille des fichiers : 37,988,721 bytes
taille des fichiers sur le disque : 38,567,936 bytes
nombre de fichiers à la racine : 0
sous-répertoires : 1 (le répertoire pi)

Sous répertoire /home/pi

nombre de fichiers : 154
taille des fichiers : 37,988,762 bytess
taille des fichiers sur le disque : 38,563,840 bytes
nombre de fichiers à la racine : 0+ 5 fichiers cachés (ctrl+h)
sous-répertoires : 9 + 5 répertoires cachés

1. /home/pi/Desktop (1)
2. /home/pi/Documents (1)
3. /home/pi/Downloads (1)
4. /home/pi/MagPi (2)
5. /home/pi/Music (1)
6. /home/pi/Pictures (1)
7. /home/pi/Public (1)
8. /home/pi/Templates (1)
9. /home/pi/Videos (1)

+ 5 répertoire cachés visible en faisant ctrl+h

1. /home/pi/.cache (138)
2. /home/pi/.config (117)
3. /home/pi/.gnupg (2)
4. /home/pi/.local (5)
5. /home/pi/.oracle_jre_usage (2)

6) Sous répertoire lib

Le répertoire lib contient les librairies utilisées par Linux pour fonctionner.

nombre de fichiers : 5098
taille des fichiers : 181,824,750 bytes
taille des fichiers sur le disque : 193,859,584 bytes
nombre de fichiers à la racine : 8
sous-répertoires : 14

1. /lib/arm-linux-gnueabihf (245)
2. /lib/console-setup (3)
3. /lib/crda (8)
4. /lib/dhcpcd (9)
5. /lib/firmware (528)
6. /lib/ifupdown (3)
7. /lib/init (4)
8. /lib/lsb (6)
9. /lib/modprobe.d (3)
10. /lib/modules (3727)
11. /lib/resolvconf (6)
12. /lib/systemd (401)
13. /lib/terminfo (55)
14. /lib/udev (91)

7) Sous répertoire lost+found

Le répertoire lost + found est utilisé par Linux comme espace de travail pour récupérer des données en cas de problème ou de vérification (commande fsck équivalente de scandisk sous windows).

nombre de fichiers : 1
taille des fichiers : 0 bytes
taille des fichiers sur le disque : 16,384 bytes
nombre de fichiers à la racine : 0
sous-répertoires : 0

8) Sous répertoire media

Le répertoire media est utilisé pour monter (c'est à dire mettre en place de façon temporaire) un système de fichiers (clef usb, disque portable...). Le système de fichier ainsi monté est ensuite automtiquement démonté lorsque la clef USB est éjectée.

nombre de fichiers : 1
taille des fichiers : 0 bytes
taille des fichiers sur le disque : 8192 bytes
nombre de fichiers à la racine : 0
sous-répertoires : 0

Après un premier branchement puis éjection de clef usb on a nombre de fichiers:2 et sous-repertoires:1 (sous-répertoire pi)

9) Sous répertoire mnt

Le répertoire mnt est vide. Il est utilisé pour monter un système de fichiers.

nombre de fichiers : 1
taille des fichiers : 0 bytes
taille des fichiers sur le disque : 4,096 bytes
nombre de fichiers à la racine : 0
sous-répertoires : 0

10) Sous répertoire opt

Le répertoire opt contient des logiciels optionnels (applications installées hors gestionnaire de paquets)

nombre de fichiers : 25333
taille des fichiers : 1,044,319,840 bytes
taille des fichiers sur le disque : 1,115,357,184 bytes
nombre de fichiers à la racine : 0
sous-répertoires : 5

1. /opt/minecraft-pi (202)
2. /opt/pigpio (2)
3. /opt/sonic-pi (14402)
4. /opt/vc (451)
5. /opt/Wolfram (10275)

11) Sous répertoire proc

Le répertoire proc contient des informations sur les processus en cours d’exécution et sur la mémoire vive disponible, Le nombre de fichiers comptabilisé à un instant donné n’est pas un nombre fixe mais peut varier en fonction du nombre de processus en cours d’exécution

nombre de fichiers : 50094
taille des fichiers : 362,787 bytes
taille des fichiers sur le disque : 0 bytes
nombre de fichiers à la racine : 43
sous-répertoires : 134

1. /proc/1 (254)
2. /proc/2 (254)
3. /proc/4 (254)
4. /proc/6 (254)
5. /proc/7 (254)
6. /proc/8 (254)
7. /proc/9 (254)
8. /proc/10 (254)
9. /proc/11 (254)...
10. /proc/12
11. /proc/13
12. /proc/14
13. /proc/16
14. /proc/17
15. /proc/18
16. /proc/19
17. /proc/21
18. /proc/22
19. /proc/23
20. /proc/24
21. /proc/26
22. /proc/27
23. /proc/28
24. /proc/33
25. /proc/34
26. /proc/35
27. /proc/36
28. /proc/37
29. /proc/38
30. /proc/39
31. /proc/40
32. /proc/41
33. /proc/44
34. /proc/45
35. /proc/55
36. /proc/56
37. /proc/57
38. /proc/58
39. /proc/60
40. /proc/61
41. /proc/62
42. /proc/63
43. /proc/64
44. /proc/65
45. /proc/67
46. /proc/68
47. /proc/69
48. /proc/71
49. /proc/84
50. /proc/125
51. /proc/220
52. /proc/226
53. /proc/227
54. /proc/269
55. /proc/275
56. /proc/305
57. /proc/313
58. /proc/314
59. /proc/318
60. /proc/324
61. /proc/332
62. /proc/335
63. /proc/344
64. /proc/346
65. /proc/379
66. /proc/394
67. /proc/442
68. /proc/457
69. /proc/464
70. /proc/467
71. /proc/480
72. /proc/487
73. /proc/490
74. /proc/492
75. /proc/496
76. /proc/497
77. /proc/513
78. /proc/515
79. /proc/541
80. /proc/545
81. /proc/553
82. /proc/598
83. /proc/607
84. /proc/616
85. /proc/656
86. /proc/663
87. /proc/668
88. /proc/684
89. /proc/687
90. /proc/689
91. /proc/691
92. /proc/698
93. /proc/705
94. /proc/739
95. /proc/763
96. /proc/766
97. /proc/775
98. /proc/779
99. /proc/783
100. /proc/787
101. /proc/796
102. /proc/835
103. /proc/981
104. /proc/982 ...(254)
105. /proc/984 (254)
106. /proc/1009 (661)
107. /proc/1051 (5085)
108. /proc/1098 (254)
109. /proc/1140 (254)
110. /proc/1535 (254)
111. /proc/1540 (0)
112. /proc/1541 (0)
113. /proc/1542 (254)
114. /proc/1571 (0)
115. /proc/1580 (0)
116. /proc/1591 (254)
117. /proc/1599 (0)
118. /proc/1610 (254)
119. /proc/1619 (254)
120. /proc/1620 (0)
121. /proc/1623 (0)v 122. /proc/asound (71)
123. /proc/bus (4)
124. /proc/cpu (3)
125. /proc/device-tree (nbre total de fichiers non affiché : 8 + 16 s-rep )
126. /proc/driver (1)
127. /proc/fs (19)
128. /proc/irq (917)v 129. /proc/net (nbre total de fichiers non affiché : 53 + 5 s-rep )
130. /proc/self (691)
131. /proc/sys (1029)
132. /proc/sysvipc (4)
133. /proc/thread-self (691/task/1635)
134. /proc/tty (5)

12) Sous répertoire root

Le répertoire root est un répertoire réservé à l’utilisateur root (appelé également administrateur ou super-utilisateur). L'administrateur du sytème peut ainsi ranger ses fichiers de travail ailleurs que dans le répertoire home qui est réservé à l'utilisateur normal.

nombre de fichiers : 1
taille des fichiers : 0 bytes
taille des fichiers sur le disque : 4096 bytes
nombre de fichiers à la racine : 0
sous-répertoires : 0

13) Sous répertoire run

Le répertoire run sert à ranger les données d'exécution utilisées par différents programmes lors du démarrage de Linux.

nombre de fichiers : 482
taille des fichiers : 12,181,477 bytes
taille des fichiers sur le disque : 12,632,064 bytes
nombre de fichiers à la racine : 13
sous-répertoires : 25

1. /run/avahi-daemon (3)
2. /run/blkid (2)
3. /run/bluealsa (2)
4. /run/console-setup (3)
5. /run/dbus (2)
6. /run/dhcpcd (2)
7. /run/lightdm (1)
8. /run/lock (3)
9. /run/log (5)
10. /run/mount (3)
11. /run/network (4)
12. /run/plymouth (1)
13. /run/resolvconf (2)
14. /run/rpcbind (1)
15. /run/rpc_pipefs (13)
16. /run/sendsigs.omit.d (1)
17. /run/shm (1 raccourci)
18. /run/sshd (1)
19. /run/sysconfig (2)
20. /run/systemd (78)
21. /run/tmpfiles.d (2)
22. /run/udev (315)
23. /run/udisks2 (1)
24. /run/user (17)
25. /run/wpa_supplicant (3)

14) Sous répertoire sbin

Le répertoire sbin (system binaries) contient divers exécutable destinés à l'administrateur du système (partitionnement et formatage des disques, configuration des interfaces réseau...)

nombre de fichiers : 163
taille des fichiers : 7,781,931 bytes
taille des fichiers sur le disque : 8,048,640 bytes
nombre de fichiers à la racine : 162
sous-répertoires : 0

15) Sous répertoire srv

Le répertoire srv a pour vocation de contenir les fichiers qui sont destinés à être envoyés vers un serveur.

nombre de fichiers : 1
taille des fichiers : 0 bytes
taille des fichiers sur le disque : 4096 bytes
nombre de fichiers à la racine : 0
sous-répertoires : 0

16) Sous répertoire sys

Le répertoire sys contient des informations volatiles sur les processus en cours d’exécution et sur la mémoire vive disponible. Ces informations disparaissent dès que l'ordinateur est éteint.

nombre de fichiers : 14589
taille des fichiers : 39,819,162 bytes
taille des fichiers sur le disque : 0 bytes
nombre de fichiers à la racine : 0
sous-répertoires : 10

1. /sys/block (27)
2. /sys/bus (509)
3. /sys/class (278)
4. /sys/dev (166)
5. /sys/devices (6063)
6. /sys/firmware (1133)
7. /sys/fs (1046)
8. /sys/kernel (3914)
9. /sys/module (1449)
10. /sys/power (3)

17) Sous répertoire tmp

Le répertoire tmp contient les fichiers temporaires, c'est à dire des données volatiles qui ne nous seront plus nécessaires après un redémarrage de la machine.

nombre de fichiers : 22
taille des fichiers : 53,575 bytes
taille des fichiers sur le disque : 110,592 bytes
nombre de fichiers à la racine : 1 + 1 fichier caché (ctrl+h)
sous-répertoires : 6 + 5 5 répertoires cachés (ctrl+h)

1. /tmp/dhcpcd-pi (3)
2. /tmp/hsperfdata_pi (2)
3. /tmp/lu105188bek1.tmp (3)
4. /tmp/ssh-uEvgjuVNOGR9 (2)
5. /tmp/ssh-Z1HxciiN24Rp (2)
6. /tmp/systemd-private-e1b7a2b7488d4b5988fba66bb0247d02-systemd-timesyncd.service-M9aTCe (1)

les 5 répertoires cachés :

1. /tmp/.font-unix (1)
2. /tmp/.ICE-unix (1)
3. /tmp/.Test-unix (1)
4. /tmp/.X11-unix (2)
5. /tmp/.XIM-unix (1)

18) Sous répertoire usr

Le répertoire usr contient les logiciels installés.

nombre de fichiers : 108648
taille des fichiers : 3,136,131,671 bytess
taille des fichiers sur le disque : 3,376,775,168 bytes
nombre de fichiers à la racine : 0
sous-répertoires : 9

1. /usr/bin (1229)
2. /usr/games (1)
3. /usr/include (2464)
4. /usr/lib (39793)
5. /usr/local (33)
6. /usr/man (9)
7. /usr/sbin (148)
8. /usr/share (64940)
9. /usr/src (30)

19) Sous répertoire var

Le répertoire var contient des fichiers "variables" (fichiers produits par des services : files d’attente d’impression, journaux, données de sites web...)

nombre de fichiers : 6876
taille des fichiers : 211,580,988 bytes
taille des fichiers sur le disque : 233,988,096 bytes
nombre de fichiers à la racine : 1
sous-répertoires : 9

1. /var/backups (1)
2. /var/cache (206)
3. /var/lib (6628)
4. /var/local (1)
5. /var/lock (1 racourci)
6. /var/log (24)
7. /var/mail (1)
8. /var/opt (1)
9. /var/run (1 racourci)
10. /var/spool (8)
11. /var/tmp (2)

Annexe : Installation PHP - Suivi des répertoires

Le nombre de fichiers comptabilisés dans les différents répertoires de >Raspbian (nombre visible avec un clic droit sur le répertoire), aussitôt après l’installation de Raspbian puis après mise en place de la connexion wifi puis après installation de Apache et PHP, est le suivant.

A : aussitôt après installation de la version Raspbian Stretch du 8 avril 2019
B : après mise en place du wifi internet
C : après sudo apt update
D: après sudo apt upgrade
E: après sudo apt install apache2
F: après sudo apt install php php-mbstring

01

Remarques :
/proc : Le nombre de fichiers affiché dépend du nombre de processus, en cours d’exécution en tâche de fond, à l’instant de la mesure.
F /home : on trouve la majorité des 1020 fichiers dans les répertoires cachés (ctrl+h) et notamment dans .cache et .config

On voit que pour l’essentiel, Apache et PHP se trouvent installés dans les répertoires /etc, /usr et /var.

/etc/apache2/
/etc/php/7.0/appache2/
/etc/init.d/apache2

/usr/share/doc/apache2/
/usr/share/apache2
/usr/share/php
/usr/lib/apache2/
/usr/lib/php/
/usr/sbin

/run/apache2
/var/run/apache2
/var/www/

Remarques :
1) Les fichiers de configuration de PHP et notamment le fichier php.ini se trouvent dans le répertoire /etc/php/7.0/apache2/php.ini
2) On peut afficher le contenu de ce fichier en plaçant l’instruction phpinfo(); dans une page php.
3) La configuration système de Apache est entièrement documentée dans le fichier /usr/share/doc/apache2/README.Debian.gz.