GNU/Linux : Disques, système de fichiers et points de montage
Par Petaramesh le lundi 29 octobre 2007, 19:18 - Informatique non-duelle - Lien permanent

Dis, c'est quoi un "point de montage" ?
m'a demandé une amie fraîchement convertie au côté lumineux de la Force...
Quand on installe un GNU/Linux après avoir longtemps erré du côté obscur, on se retrouve soudain avec un système bourré de dizaines de milliers de fichiers dans des centaines de répertoires dont on n'a pas la moindre compréhension.
Une des premières choses qui perplexifient le béotien est que, contrairement à l'autre système,[1] les partitions et unités ne sont pas identifiées par des lettres comme "A:", "C:", "D:", etc...[2]
Car nous utilisons désormais un système de fichiers virtuel.
Petite initiation.
On va faire simple et se garder d'entrer dans de fumeux détails techniques pour ne pas provoquer une surconsommation d'acide acétylsalicylique[3] [4] chez le néophyte ;-)
Notes
[1] Il paraît qu'il existe un autre système que GNU/Linux, qui proviendrait d'un démon buggué extrêmement maléfique, mais je n'en suis pas sûr. Peut-être n'est-ce qu'une légende urbaine...
[2] Pourquoi ferait-on quelque chose d'aussi idiot, d'ailleurs ?
[3] À ne pas confondre avec l'acide lysergique diéthylamide...
[4] Entendu de la bouche d'un spécialiste des accidents vasculaires cérébraux : Je recrute l'essentiel de mes clients parmi les gens qui ne prennent pas d'aspirine quand ils ont mal à la tête.
À méditer ;-)
Le système de fichiers virtuel d'un Un*x ou d'un GNU/Linux commence à la "racine", notée "/", et à partir de là contient des répertoires, sous-répertoires, et des fichiers en pagaille.
La racine du système de fichiers correspond à une partition d'une unité de disque, qui est définie lors de l'installation du système, et peut éventuellement être modifiée par la suite.
Les autres partitions de disques, et unités de CD-Roms, clés USB etc. sont utilisées après avoir été montées, c'est-à-dire rendues visibles sous forme d'un quelconque répertoire de l'arborescence du système de fichiers. Un répertoire du système de fichiers qui correspond au contenu (filesystem) d'une partition de disque, CD, etc, s'apelle un point de montage, et le fait d'associer ou désassocier un périphérique donné à un répertoire de l'arborescence s'appelle "monter" ou "démonter" le périphérique. On ne peut accéder aux données d'un périphérique que quand il est "monté".
On dit que sous Un*x, "tout est fichier", et en particulier tout périphérique est représenté par un fichier spécial qui se trouve dans le répertoire /dev (devices) ou l'un de ses sous-répertoires. Ainsi, accéder à un périphérique se résume pour le noyau à ouvrir un fichier, puis à lire ou écrire sur ce fichier.
Si, par exemple, la partition du disque dur qui contient les données des utilisateurs est la partition n° 5 du premier disque SATA, celle-ci correspondra au périphérique spécial /dev/sda5,[1] mais ce n'est pas par là qu'on pourra accéder aux fichiers que cette partition contient.
Pour accéder au contenu de la partition, on montera celle-ci dans le système de fichiers virtuel, typiquement au point de montage /home, et c'est alors sous /home que l'on trouvera les répertoires contenant les fichiers des utilisateurs.[2]
De même, le "lecteur de CD-Rom" correspondra peut-être au périphérique /dev/hdc, mais ce n'est pas là qu'on verra le contenu d'un CD : Après avoir inséré un CD, on montera le périphérique /dev/hdc sur le point de montage /media/cdrom0 (les distributions GNU/Linux récentes le font le plus souvent automatiquement dès que la présence d'un CD dans le lecteur est détectée), et c'est donc dans ce répertoire /media/cdrom0 du système de fichiers qu'apparaîtra le contenu du CD.
Suis-je clair comme un lac de montagne, ou comme du jus de boudin ?
Les fichiers
Avant de nous intéresser à la structure des répertoires et des points de montages, attardons-nous un instant sur les fichiers.
Il existe sous Un*x toutes sortes de fichiers "spéciaux" (bloc, caractère, pipes), mais nous ne verrons ici pour le moment que les fichiers ordinaires, et les répertoires.
Pour commencer, contrairement à l'autre système, le caractère que l'on utilise pour séparer les noms de répertoires et de fichiers dans un chemin est le "/" et non pas le "\", et c'est beaucoup plus facile à taper !
Les noms de fichiers peuvent avoir une longueur arbitraire, et peuvent contenir des caractères de toutes sortes, mais seuls les ignorants provenant de l'autre système auraient l'idée saugrenue de mettre des espaces ou des caractères accentués ou spéciaux dans un nom de fichier ou de répertoire. On se bornera sagement à utiliser des lettres et chiffres, ou les caractères "-", "_" et "." (on remplace couramment les espaces par des "_").
Les noms de fichiers tiennent compte de la casse ! Ainsi, "Toto", "toto" et "TOTO" seront trois fichiers différents ![3]
Un fichier (ou répertoire) dont le nom commence par un "." est un fichier caché, c'est-à-dire qu'il n'apparaît pas par défaut dans la liste du contenu d'un répertoire,[4] à moins d'utiliser une option "montrer les fichiers cachés".[5] Ceci ne sert pas à "camoufler" un fichier à un indiscret (puisqu'il est très facile de lister ces fichiers), mais plutôt à éviter de polluer la liste d'un répertoire de quantités de fichiers dont l'usage est généralement réservé au système. D'autre part, une commande utilisant "*" pour indiquer "tous les fichiers" ignorera les fichiers cachés du répertoire courant, quelle que soit son action, ce qui peut éviter des bêtises.[6]
Outre les fichiers, on trouve également des "liens symboliques" (symlinks) qui sont des espèces de "raccourcis" ou de synonymes d'un fichier pour un autre. Un lien symbolique est un nom de fichier qui pointe simplement vers un autre fichier (qui peut être dans le même répertoire, ou dans un autre, ou même sur un autre périphérique). Tout accès à un lien symbolique est automatiquement redirigé par le système sur le fichier réel vers lequel celui-ci pointe. Il est par exemple très courant d'avoir un lien symbolique "/dev/cdrom" qui pointe sur le périphérique "/dev/hdc" (le périphérique réel du lecteur).[7] [8]
Enfin, contrairement à l'autre système, les "extensions" type ".com", ".exe", etc, bien que courantes,[9] ne sont pas obligatoires sous GNU/Linux pour indiquer le type d'un fichier. Ce sont les droits sur le fichier (notamment, exécutable ou non) ainsi que son contenu ("MIME type") qui déterminent le plus sûrement ce qu'on peut faire avec.[10]
Nous n'entrerons pas dans cet article dans l'étude des droits et propriétaires de fichiers. Passons maintenant à...
L'incroyable bordel de répertoires que vous avez sur votre disque, ou...
L'arborescence standard de répertoires et points de montage
L'arborescence d'un système de fichiers GNU/Linux et de ses points de montage correspond à une standardisation précise, chaque répertoire et point de montage ayant sa raison d'être propre.
Typiquement, la partition racine "/" d'un système de fichiers doit au minimum contenir ce qui est nécessaire pour faire démarrer le système et monter les autres partitions et filesystems sous les points de montage appropriés. La partition racine contient également des utilitaires vitaux permettant le dépannage et des opérations de secours, ainsi que les principaux fichiers de configuration du système.
Quand on installe une Ubuntu, on se trouve typiquement avec quatre partitions :
- Une racine "/", qui contient pratiquement la totalité du système sauf les fichiers personnels des utilisateurs.
- Un
/bootqui contient uniquement les fichiers permettant le démarrage du système (bootloader, noyau, initrd). - Un
/homequi contiendra les répertoires personnels (les fichiers des utilisateurs et leur configuration propre) - Un swap, qui n'est pas monté dans le filesystem et sert de zone de mémoire virtuelle (voir mon article à propos du chiffrement du swap).
Sur une installation effectuée par un connaisseur, on trouve fréquemment davantage de partitions réparties à de nombreux points de montage. L'intérêt de répartir les fichiers dans différentes partitions est multiple :
- Limiter (et garantir) la place que peuvent occuper des fichiers d'un certain type en les mettant dans une partition séparée : Les fichiers de cette partition ne pourront donc jamais occuper "toute la place" sur le système si jamais un programme ou un utilisateur devient fou, etc ;-)
- Limiter la casse en cas d'endommagement d'un filesystem : Certains fichiers vitaux, et les programmes, sont rarement ou jamais accédés en écriture, ainsi, si un plantage brutal ou une coupure de courant devait endommager un filesystem, une partition sur laquelle on écrit rarement a très peu de risques d'être endommagée (une partition sur laquelle on écrit en permanence est davantage exposée, bien que les filesystems Linux soient très résistants. Surtout ext3).
- Pouvoir utiliser des filesystems de type différents (orientés performances ou sécurité, par exemple) ou utilisant des options de montage différentes.
- Pouvoir éventuellement chiffrer certains systèmes de fichiers, et pas d'autres.
- Pouvoir démonter (en mode maintenance) certains systèmes de fichiers pour les vérifier ou les modifier ; un système de fichiers de dimensions réduites se vérifie et se répare bien plus rapidement qu'un gros, d'où l'intérêt de maintenir les données essentielles du système dans un filesystem relativement petit, et de ne pas les mélanger avec les photos ou la musique des utilisateurs ;-)
Dans la liste de répertoires ci-dessous, j'indique comme :
- [dans racine] : Un répertoire qui doit faire partie de la partition racine, et ne doit pas être un point de montage d'une autre partition
- [PM] : Indique un point de montage obligatoire, courant ou conseillé, pour une autre partition (qui contiendra donc tous les répertoires et sous-répertoires pour cette partie de l'arborescence).
- / (Racine du Filesystem) [PM Obligatoire] : C'est l'Origine du Monde ;-) La racine du filesystem contient l'ensemble des répertoires qui sont nécessaires au démarrage du système (ils sont détaillés ci-dessous) et au montage des autres systèmes de fichiers, et un certain nombre d'utilitaires de base. Elle contient également les points de montage des autres filesystems - qui sont simplement des répertoires vides ordinaires tant que rien n'est monté dessous.
- /boot [PM Fortement Recommandé] : Contient uniquement ce qui est nécessaire au boot initial de la machine, et uniquement à ce stade. A la limite, /boot pourrait très bien ne pas être monté du tout une fois que la machine fonctionne, ou être monté en lecture seule. Il est d'usage de réserver pour
/bootla première partition du disque dur, et de la faire de taille modeste (typiquement moins de 100 Mo)./bootcontient les fichiers principaux suivants :- /boot/vmlinuz-xxxxxx : Le noyau de Linux, c'est-à-dire la partie essentielle du système d'exploitation.
- /boot/initrd.img-xxxxxx : Le RamDisk Initial (Initial Ramdisk ou Initial RAMFS) : C'est un fichier en théorie optionnel, mais en pratique présent sur quasiment toutes les distributions Linux standard. Il contient un "Filesystem racine provisoire" qui sera installé en mémoire et permettra au noyau de charger les modules et d'effectuer les opérations nécessaires au montage du véritable "/". Une fois ceci fait, le noyau bascule sur le véritable "/" et l'initrd ne sert plus.
- /boot/grub : Ce répertoire vital contient les fichiers essentiels du chargeur de démarrage (bootloader) grub
- /boot/grub/menu.lst : Ce fichier est le menu proposé par le chargeur de démarrage lors du boot de la machine.
- /bin [dans racine] : Contient un ensemble de programmes (exécutables) nécessaires au démarrage du système ou à son dépannage.
- /sbin [dans racine] : Contient un ensemble de programmes (exécutables) normalement réservés à l'administrateur, nécessaires au démarrage du système ou à son dépannage.
- /lib [dans racine] : Contient les bibliothèques nécessaires au démarrage du système ou à son dépannage, et notamment...
- /lib/modules : Les modules du noyau Linux, qui contiennent les pilotes de fonctionnalités et de périphériques.
- /etc [dans racine] : Ce répertoire est l'un des plus importants : Il contient la quasi-totalité des fichiers de configuration du système et de ses logiciels,[11] et notamment :
- /etc/fstab : Le fichier qui définit les points de montage des différentes partitions et systèmes de fichiers : C'est le fichier vital par excellence.
- /etc/crypttab : Le fichier qui définit les systèmes de fichiers chiffrés.
- /etc/passwd : Le fichier qui, comme son nom ne l'indique pas, contient la liste des utilisateurs du système et leur définition (mais pas leurs mots de passe, sur les systèmes modernes).
- /etc/shadow : Le fichier qui, comme son nom ne l'indique pas, contient les mots de passe (chiffrés sous forme de hash) des utilisateurs.
- /etc/group : Le fichier définissant les groupes d'utilisateurs et l'appartenance de tel utilisateur à tel groupe.
- /etc/init.d : Le répertoire contenant les scripts de démarrage de l'ensemble des démons et fonctions du système.[12]
- /etc/rc[S0-6].d : Les "n" (0-6, S) répertoires contenant des liens symboliques permettant de lancer les démons et les fonctions du système en fonction du runlevel demandé.[13]
- /etc/X11 : Le répertoire contenant les fichiers de configuration du serveur graphique, et notamment son fichier de configuration principal : xorg.conf.
- /usr [PM Fréquent] : Le répertoire contenant tous les programmes "utilisateur" du système, c'est-à-dire tous les programmes qui n'appartient pas à un utilisateur précis :-D mais au contraire qui sont issus de tous les paquetages installés sur le système, non nécessaires durant les premières phases du démarrage : [14]
- /usr/bin : Les programmes exécutables
- /usr/sbin : Les programmes normalement réservés à l'administrateur (root)
- /usr/lib : Les bibliothèques
- /usr/local : Les programmes "locaux", c'est-à-dire typiquement ceux qui ne font pas partie de la distribution Linux utilisée, et qui n'ont pas été installés sous forme de paquetages prêts à l'emploi, mais plus probablement à partir d'archives (.tar.gz) et compilés sur place. Ces programmes sont généralement bordéliques à maintenir.
- /usr/share : L'ensemble des fichiers statiques nécessaires aux programmes, mais qui ne sont pas eux-mêmes des programmes (icônes, fichiers-types, etc...)
- /usr/share/doc : La documentation jointe à chacun des paquetages de logiciels. À consommer sans modération !
- /var [PM Fréquent] : Répertoire de l'ensemble des fichiers VARiables du système, c'est-à-dire tous les fichiers de données utilisés par des services ou démons, mais qui n'appartiennent pas à un utilisateur en particulier. Typiquement bases de données, etc.
/varn'a pas besoin d'avoir une partition séparée sur une machine "poste de travail simple", mais en aura pratiquement toujours une sur un serveur. On y trouve parmi d'autres choses :- /var/mail : Répertoire de réception et distribution du courier (e-mail) des utilisateurs. Souvent un lien symbolique vers
/var/spool/mail, à moins que ce ne soit le contraire ;-) - /var/spool : Répertoire de spools, c'est-à-dire fichiers "temporaires" en attente de transmission (par exemple, fichiers en attente d'impression, e-mails non encore relevés...)
- /var/spool/mail : Voir
/var/mail;-)
- /var/spool/mail : Voir
- /var/cache : Fichiers "en cache" c'est-à-dire gardés temporairement en attente d'utilisation ou de réutilisation, le plus souvent purgés automatiquement quand ils ne sont plus nécessaires. C'est par exemple là que vont les paquetages de logiciels ou de mises-à-jour téléchargés depuis Internet, avant et pendant leur installation. Ils y sont conservés "tant qu'il y a de la place".
- /var/log : Le répertoire de tous les fichiers journaux enregistrant les évènements et le fonctionnement du système et de tous ses services ou démons. Ils y sont conservés pour une certaine durée.
- /var/tmp : Un répertoire de fichiers "temporaires mais conservés", c'est-à-dire de fichiers créés par des applications diverses et qui peuvent être automatiquement recréés s'ils manquent, mais qui sont souvent conservés là sans limitation précise de durée, pour économiser le temps de les régénérer à chaque fois. Répertoire largement utilisé par KDE pour chaque utilisateur.
- /var/mail : Répertoire de réception et distribution du courier (e-mail) des utilisateurs. Souvent un lien symbolique vers
- /tmp [PM Conseillé] : Répertoire de fichiers "réellement temporaires", dont le contenu est purgé à chaque reboot sur certaines distributions, et souvent également de manière automatique par un utilitaire périodique (tmpwatch)
- /home [PM Fortement Recommandé] : Le répertoire de base contenant les répertoires personnels de tous les utilisateurs du système. Chaque utilisateur ne peut normalement accéder qu'aux données de son propre répertoire personnel, et pas à celles des autres utilisateurs.
- /root [dans racine] : À titre d'exception, le répertoire personnel de l'administrateur (root) est situé directement sous la racine, pour qu'il puisse y accéder même si
/homen'est pas monté. - /mnt [dans racine] : Répertoire contenant des sous-répertoires dont chacun est normalement un point de montage pour un autre périphérique ou partition qui n'a pas sa place dans l'arborescence standard, ou n'est pas monté en permanence.
- /media [dans racine] : Sur certaines distributions (notamment ''Ubuntu'), a le même rôle que
/mnt, mais est plus spécifiquement destiné aux périphériques amovibles (CD-Rom, disquette, clés USB, appareil photo, etc.) par exemple :- /media/cdrom0 [PM Automatique] : Un CD-Rom, souvent monté automatiquement sur les distributions récentes,
- /media/flashdisk [PM Automatique] : Une clé USB...
- /opt [PM Possible] : Un répertoire ayant un peu le même rôle que
/usr/local, et utilisé par certains logiciels. Pour éviter d'avoir/optdans la partition racine et de devoir utiliser pour lui une partition spécifique alors qu'il sert peu, je crée habituellement un/usr/local/optet je transforme ensuite/opten lien symbolique =>/usr/local/opt - /dev [PM Virtuel] : Ce point de montage virtuel le plus souvent géré par un démon (udev) contient des pseudo-fichiers permettant l'accès à tous les périphériques du système (ainsi, tous les périphériques sont définis dans
/dev). On y trouve, entre mille autres choses :- /dev/hd[a-z][1-n] : Les disques durs et leurs partitions (ou lecteurs/graveurs de CD) IDE
- /dev/sd[a-z][1-n] : Les disques durs SCSI, SATA ou amovibles et leurs partitions
- /dev/null : Monsieur Dave Null est le plus proche équivalent Linuxien d'un trou noir : Toute donnée envoyée dans
/dev/nullse perd définitivement dans un univers parallèle composé de p-branes. - /dev/zero : Un périphérique en entrée, qui, poétiquement, ne fournit que des zéros, mais peut en fournir une quantité infinie.
- /dev/random : Un périphérique fournissant des nombres "réellement" aléatoires de qualité cryptographique, s'appuyant en partie sur des évènements physiques imprévisibles (accès disques, activité réseau, frappes au clavier, déplacements de souris, heure en microsecondes), le tout mélangé et bien secoué avec un gramme de hash. Fournit des données à un rythme très lent (non, ce n'est pas à cause du hash), donc ne peut être raisonnablement utilisable que pour obtenir de très petites quantités de nombres aléatoires.
- /dev/urandom : Une version beaucoup plus rapide, en fait un générateur pseudo-aléatoire irrégulièrement "perturbé" par le précédent. Permet d'obtenir de grandes quantités de nombres aléatoires relativement rapidement, mais de qualité cryptographique théoriquement moindre que le précédent.
- /proc [PM Virtuel] : Répertoire virtuel donnant des informations sur le fonctionnement du noyau, le système, la configuration des services, et permettant de reconfigurer certaines choses "à chaud" en lisant ou écrivant les fichiers virtuels qui s'y trouvent.[15] Par exemple :
- /proc/mounts : Contient la liste des points de montage actifs.
- /proc/cpuinfo : Contient des informations sur le processeur de la machine : Essayez "
cat /proc/cpuinfo"[16]
- /sys [PM Virtuel] : C'est un système de fichiers virtuel apparu il y a une paire d'années et destiné, à terme, à remplacer le "vieux"
/devet le "vieux"/procsi j'ai bien compris, mais pour le moment, rares sont les raisons particulières de s'intéresser à son contenu ;-) - /initrd [dans racine] : Ce répertoire vide n'est qu'un "pivot" utilisé lors du boot pour passer du système de fichiers de l'initrd au système de fichiers racine réel. Il ne sert à rien d'autre, mais ne doit surtout pas être supprimé (sinon gros bobo !)
- /lost+found [dans chaque partition] (Objets Trouvés) : Ce répertoire (qui ne doit pas être supprimé) sert uniquement en cas de vérification (fsck[17] [18]) d'un filesystem à recueillir la "récupération" des fragments de fichiers éventuels qui pourraient être récupérés, si l'outil de vérification ne sait pas quel est le nom des fichiers ou dans quel répertoire les affecter. Le répertoire
/lost+foundest donc vraiment le bureau des objets trouvés. Cela dit, en 10+ ans de GNU/Linux, je n'ai jamais rien vu qui soit perdu, donc je n'ai jamais rien vu qui soit retrouvé ;-) - [SWAP] [Pas de PM] : Le swap n'est pas à proprement parler un élément du filesystem. Bien que défini dans
/etc/fstab, Il n'a pas de point de montage et ne peut donc pas être accédé directement. Il est uniquement utilisé par le noyau en fonction de ses besoins de mémoire.
Voilà. On va s'arrêter là pour l'instant, hein ?
Ah, j'oubliais : La commande "mount" (cf. man mount) permet de monter un système de fichiers, tandis que la commande "umount" permet de le démonter. La commande "mount" sans paramètre permet de connaître les points de montage actuellement actifs :
root@totor:~# mount /dev/evms/lv_racine on / type ext3 (rw,noatime,errors=remount-ro) proc on /proc type proc (rw,noexec,nosuid,nodev) /sys on /sys type sysfs (rw,noexec,nosuid,nodev) varrun on /var/run type tmpfs (rw,noexec,nosuid,nodev,mode=0755) varlock on /var/lock type tmpfs (rw,noexec,nosuid,nodev,mode=1777) udev on /dev type tmpfs (rw,mode=0755) devshm on /dev/shm type tmpfs (rw) devpts on /dev/pts type devpts (rw,gid=5,mode=620) lrm on /lib/modules/2.6.22-14-generic/volatile type tmpfs (rw) /dev/evms/boot on /boot type ext3 (rw,noatime) /dev/evms/lv_home on /home type ext3 (rw,noatime,quota) /dev/mapper/ctemp on /tmp type ext2 (rw,noatime) /dev/evms/lv_usr on /usr type ext3 (rw,noatime) /dev/evms/lv_var on /var type ext3 (rw,noatime,quota) securityfs on /sys/kernel/security type securityfs (rw) binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
Le contenu du fichier /etc/fstab ("cat /etc/fstab") permet de connaître les montages définis pour le système (et appliqués à chaque démarrage).
La commande "df" permet de connaître l'espace total / occupé / disponible sur chaque système de fichiers monté :
Sys. de fich. Tail. Occ. Disp. %Occ. Monté sur /dev/evms/lv_racine 1008M 509M 448M 54% / varrun 950M 272K 950M 1% /var/run varlock 950M 4,0K 950M 1% /var/lock udev 950M 316K 950M 1% /dev devshm 950M 0 950M 0% /dev/shm lrm 950M 34M 916M 4% /lib/modules/2.6.22-14-generic/volatile /dev/evms/boot 251M 89M 150M 38% /boot /dev/evms/lv_home 95G 33G 58G 37% /home /dev/mapper/ctemp 2,0G 12M 1,9G 1% /tmp /dev/evms/lv_usr 16G 5,1G 9,9G 35% /usr /dev/evms/lv_var 16G 5,2G 9,9G 35% /var
Une petite citation pour finir ?
Ceux qui ne connaissent pas Unix sont condamnés à en inventer une pâle copie.
Notes
[1] Les disques (ou lecteurs de CD, etc...) IDE sont appelés par le système /dev/hda... /dev/hdz... dans l'ordre où il les découvre au boot ; pour les disques SCSI, SATA ou amovibles, ce sera généralement /dev/sda... /dev/sdz... Ensuite, pour les disques durs, les partitions sont numérotées de 1 à 4 pour les "partitions primaires" et à partir de 5 pour les "partitions logiques" dans une "partition étendue". Ainsi, /dev/sdb représente le deuxième disque SATA dans son entier, /dev/sdb1 sa première partition primaire, /dev/sdb6 sa deuxième "partition logique", etc.
[2] Ce montage se fait automatiquement au démarrage du système, il est gouverné par le fichier de configuration /etc/fstab.
[3] Il en va de même pour les commandes, qui ne sont rien d'autre que des fichiers exécutables...
[4] Commande "ls"
[5] Commande "ls -a"
[6] Comme effacer involontairement des fichiers de configuration de certaines applications, qui se trouvent pour un utilisateur donné dans le répertoire personnel de cet utilisateur.
[7] Les liens symboliques se créent avec la commande "ln -s fichier_réel lien_à_créer".
[8] Il existe également des liens physiques (hard links), mais nous n'en parlerons pas ici.
[9] Pas pour des ".com" ou ".exe" bien sûr, mais pour d'autres types de fichiers.
[10] La commande "file machin" indique le type du fichier machin en fonction de son contenu.
[11] Il est donc vital d'en faire régulièrement une copie de sauvegarde.
[12] Qui sous Ubuntu s'appellent avec une commande de type "invoke-rc.d démon-truc start"
[13] Il s'agit là d'un concept complexe qui sera abordé... un autre jour ;-)
[14] Il n'est pas forcément indiqué de faire de /usr une partition séparée de la racine pour une installation de poste de travail personnel.
[15] On est prié de ne pas y écrire n'importe quoi n'importe où ;-)
[16] La commande "cat" permet de copier le contenu d'un fichier vers la sortie standard, c'est-à-dire dans le cas général de l'afficher sur un terminal.
[17] L'équivalent d'un scandisk dans l'autre système
[18] UNIX Sex : { look; find; talk; grep; touch; finger; find; flex; unzip; mount; workbone; fsck; yes; gasp; fsck; yes; eject; umount; makeclean; zip; split; done; exit; }









Commentaires
La prochaine fois, je vais hésiter avant de poser une question ;-))
Bon, j'y retourne. C'est un billet à lire par étape ;-)
Enfin après 3 billets de suite, ça devient dur. On va être obligé-e d'aller parler de cul ailleurs ;-)
En fait, le cul, c'était juste un prétexte pour attirer les filles vers GNU/Linux.
Bon, faut vraiment que j'écrive un billet cul, alors...
Efficace le piège ;-)
Hmoui...
Pour parfaire le piège, tu pourrais même donner des titres "cul" à tes billets linux. J'attends avec impatience celui sur les pipes.
Bon alors j'ai des questions :
c'est quoi des disques IDE ? SCSI ? SATA ?
c'est quoi un démon ?
c'est quoi des p-branes ?
et j'ai pas compris la note 18 :-((
:
Impressionnant, elle fait huit mots, la question. Sacré rendement!
Et la questionneuse n'est pas rassasiée, elle crie "encore, encore".
Tu sais bien que y'a que ça qui intéresse vraiment tout le monde ;-) Enfin sauf ceux qui s'intéressent à Linux ;-))
@Urchin (#5) : Les pipes sont utilisées par les démons, c'est bien connu. On les sépare en pipes nommées et pipes innommables pour des raisons que seuls les démons comprennent.
@Amie : Eh, pousse pas, Wikipedia est là pour toi ;-)
Alors, heureuse ? :-}
@Christine (#9) : Je te soupçonne de juste un soupçon de mauvaise foi :-}
Mais t'esspliques tellement mieux :-))
@Swâmi : tu veux dire que ça n'intéresse pas tout le monde ? ;-) On fait un sondage ?
Bon je sors, avant de me faire virer ;-)
E tant que Jeune Con Linuxien de Fraîche Date, j'avoue être très content de trouver un résumé un peu complet des fonctionnalités de tout ce bordel :D
Au fait, petite question : pourquoi écrire Un*x ? Pour faire la vaisselle (des couverts en Unox(c)...je sais, je sors) ? J'aurai compris *nix, à la rigueur, mais là...
Pour les fonctionnalités complètes, tu en as pour mille ans ;-)) Je n'en connais d'ailleurs moi-même qu'une infime partie...
>
UNIX est une marque déposée qui désigne un système d'AT&T datant des années '70, tandis que les Un*x sont une grande famille de systèmes en pleine santé (GNU, The Hurd, Linux, *BSD, Mac OS X, OpenSolaris, AIX, HP/UX...)
D'ailleurs, GNU est un acronyme récursif qui signifie ...
@Swâmi: Hurd est le noyau du projet GNU, non? GNU n'est pas un système en soi? (ou j'ai loupé un épisode)...
Quand à OSX, tu peux parler d'UNIX à son sujet en omettant l'astérisque, puisqu'il est certifié UNIX compliant machin bidule.
Mais échangerais-tu ton baril de linux contre deux barils de lessive à la pomme?
C'est con, moi qui commençais à me projeter dans l'éventualité de passer du côté
lumineux(lumineux, vraiment ?) de la Force, je me sens drôlement moins enthousiaste, là, d'un coup...T'es vraiment sûr que c'est abordable par n'importe qui (de bonne volonté ?)
En même temps, mon Choupinet à la pomme (j'entretiens une relation très forte avec mon outil de travail ;-)) en a encore pour quelque temps avant de me laisser tomber ; d'ici là, ou j'aurais progressé dans la compréhension du bas-moldave, ou c'est le bas-moldave qui aura progressé dans la compréhensibilité ! S'pas ?
@Urchin : GNU a longtemps été un système d'exploitation auquel manquait seulement... Le noyau ;-) Un système d'exploitation sans noyau, c'est en fait un compilateur (gcc), une bibliothèque (glibc), et l'ensemble des utilitaires Un*x courants réécrits en version Libre et très améliorés. Mais sans noyau, pas de système d'exploitation capable de tourner.
Quand le noyau Linux est arrivé, l'ajout des utilitaires GNU au noyau Linux a produit le système d'exploitation GNU/Linux - bien que Linux ne fasse pas per se partie du projet GNU.
Le projet GNU développe de son côté le noyau The Hurd, qui adjoint aux utilitaires GNU produit le système d'exploitation GNU/Hurd. Cependant, le système GNU/Hurd est hautement "expérimental" (je suis un garçon poli ;-) et le système GNU/Hurd n'est à ma connaissance utilisé que par... ses développeurs et quelques personnes ayant le désir d'expérimenter un peu pour voir à quoi ça ressemble ;-)
Mac OS X n'est pas UNIx-compliant mais POSIX-compliant. L'astérisque est à *BSD, puisque BSD est une famille en soi (OpenBSD, FreeBSD, NetBSD...)
@Ko : On peut très bien démarrer sans comprendre tout cela ; sur une Ubuntu fraîchement installlée, tout ce qu'un utilisateur ordinaire verra le plus souvent sera le contenu de son répertoire personnel avec ses fichiers personnels, tout le reste est mis en place automatiquement. Toutefois, pour pouvoir ensuite intervenir sur la structure de son système, il est indispensable de connaître un minimum les bases de son organisation. Ne serait-ce que pour savoir où chercher en cas de problème... Et comprendre ce qu'on te dit quand quelqu'un te parle de "point de montage" ;-)
Merci Maître,
Un article de référence de plus soigneusement collé dans mon bloc note google.
dis voir, ta sainteté : dans ton "linux sex", tu es sur que split; vient après zip; ? :D
le contraire paraît plus logique :D
un peu rassurée, la ko
tes notes de bas de pages en double découpage sont complètement bugguées. Le second [1] envoie dans la première note de la première partie.
@Yves : Oui, j'avais remarqué, mais je n'y peux rien.
Comment, tu n'as pas encore fait profiter la communauté de tes connaissances en php et corrigé ce bug ? deçu je suis.
Mouarf ! Je ne connais pas le PHP, c't'un langage de d'jeunz webmachins qui se prennent pour des informaticiens :-}
S'ils se prenaient pour des informaticiens, ils programmeraient en lisp.
Non, ils se prennent juste pour des pisseurs de code ;-)
Les pisseurs de code programment en slip, c'est bien connu :-}