Les disques

Les disques

Il est important de savoir comment s’appellent vos disques sous Linux car le nom des partitions en découle. Si vous n’êtes pas familier avec les termes disques IDE, SATA/SCSI, disque esclave ou maître, je vous conseille de lire ces définitions.

Linux nomme les disques ou lecteurs CD/DVD de cette manière :

 

Le nom d’un disque dur (ou d’un lecteur CD/DVD) dépend de son emplacement physique sur la carte mère. Vous trouverez ces renseignements dans le BIOS de votre ordinateur. Vous devriez lire le manuel de votre carte mère pour en savoir plus.

La terminologie
hd* est réservée aux lecteurs IDE et la terminologie sd* aux lecteurs SATA/SCSI ainsi qu’aux clé USB. Si vous n’avez qu’un seul disque dur, il est vraisemblable qu’il soit appellé hda ou sda.

 

Les partitions

Les partitions divisent de manière abstraite un disque dur, telles des parts de gateau. Les Windoziens peuvent les connaitre aussi sous le terme de ‘volume’. Sous Linux, elles sont identifiées par leur emplacement sur le disque. Ainsi hda2 est la deuxième partition présente sur le disque hda. De même, hdb3 est la troisième du disque hdb.

Comme sous Windows, il ne peut y avoir que 4 partitions (dites primaires) par disques. Leur numérotation va de 1 à 4. Si vous désirez plus de partitions, l’une des partitions primaire peut être remplacée par une partition dite ‘étendue’ qui peut contenir un grand nombre de partitions dites ‘logiques’. La numérotation des partitions logiques commence donc à partir de 5. Plus d’informations .

Le chargeur de démarrage

Le chargeur de démarrage (= bootloader) vous permet de démarrer tel ou tel système d’exploitation présent sur votre PC (windows, linux, MacOS, FreeBSD et j’en passe).

L’une de ses composantes est généralement située sur hda0 (ou sda0), ce qui représente le premier secteur du disque hda (ou sda). On appelle cette zone le MBR pour Master Boot Record. Ce n’est pas une partition, donc inutile de chercher à la créer.

Le bootloader

  • est appellé par le BIOS après l’allumage du PC. Pour configurer quel disque sera appellé, rendez-vous dans le BIOS donc (consultez le manuel de votre carte mère).
  • permet un aiguillage vers les différents systèmes d’exploitation présents sur votre PC grâce à un fichier spécifique.

Quand vous installez une distribution GNU/Linux, classiquement elle se charge de remplacer le bootloader pour être démarrable. Si vous installez Windows, celui-ci remplacera aussi le bootloader, et votre (ou vos) distribution(s) Linux ne seront plus bootables. Il faudra alors remettre un bootloader gérant Linux.

Plus d’infos sur le chargeur de démarrage

Les points de montage

Définitions

Linux (et tout dérivé d’UNIX) organise fichiers et dossiers au sein d’une arborescence pyramidale dont la pointe est la racine (symbolisée par / ). L’image de l’arbre est appropriée. Cette arborescence peut bien sûr être constituée de plusieurs partitions, périphériques, ordinateurs, reseaux etc.

Un point de montage permet qu’une partition (ou même un simple répertoire) soit insérée (on dit “montée”) où vous voulez dans l’arborescence virtuelle de fichiers. Ainsi, pour utiliser une partition Windows (emplacement physique), il faut créer un dossier dans l’arborescence (emplacement logique) et créer un lien entre les deux. Ce lien c’est le point de montage.

La confusion de language entre point de montage et partition est inévitable dans le cas où un point de montage représente une partition. Retenez qu’une partition est un endroit physique du disque où reposent les données alors que le point de montage inclue ces données dans l’arborescence virtuelle de fichiers.

Ainsi, à l’inverse de Windows, vous n’aurez pas la lettre de la partition (c:, d:, e: etc.) au début d’un chemin (c:/windows) puisque sous Linux, grâce aux points de montage, il est fait abstraction de l’origine du dossier. L’organisation est donc basée sur la fonction d’un répertoire et non sur sa provenance. C’est vous le maître.

Un petit schéma ?

 

Si vous souhaitez inclure manuellement une partition (disque dur, disquette, CD, clé USB…) dans l’arborescence, suivez mon article sur le sujet.

Combien il m’en faut ?

Linux peut se contenter d’une seule partition, correspondant au point de montage racine /. Dans ce cas, l’arborescence (hors périphériques amovibles : lecteurs CD, clé USB…) s’appuie sur une seule partition.

Sous la racine, vous trouverez plusieurs dossiers ayant des rôles précis : /home, /usr, /var… J’y reviendrais. Dans la pratique il est courant d’attribuer une partition à certains de ces dossiers.

Si, lors de l’installation de Linux, vous avez créé une partition et que vous avez spécifié /home comme point de montage, toute les données sous /home seront physiquement situées sur cette partition. Si par contre, vous n’avez pas fait de partition pour /home, alors ces données seront sur la “partition racine”. La plupart du temps, on se contente d’une partition supplémentaire pour /home (et parfois aussi pour /usr et /var. Je vous conseille vivement en tout cas de le faire pour /home. Les autres dossiers classiques sous la racine sont souvent situés physiquement dans la “partition racine” (point de montage /).

Notez que la plupart des distributions imposent une deuxième partition /swap pour la mémoire virtuelle. Pour optimiser le système, vous pourriez placer cette partition sur un disque rapide, différent de la partition racine et si possible en début de disque (temps d’accès plus court). Plus d’infos dans cet article sur la gestion de la mémoire sous Linux.

L’emplacement physique de ces dossiers n’influence bien sûr en rien sur leur ‘rôle’. C’est juste une méthode pour structurer et optimiser votre système et aussi éviter la fragmentation de vos disques durs. A ce propos, sachez que de toutes façons Linux ne fragmente quasiment pas les données. Tout comme UNIX qui a trouvé la solution au début des années 80. Bravo Windows donc. Essayez de trouver un defragmenteur pour Linux, vous verrrez : ce n’est pas si facile…

 


Liste des principaux points de montage


Comme je vous le disais, Linux organise les dossiers contenus dans les partitions au sein d’une arborescence unifiée (norme File Hierarchy Standard) dont un exemple est schématisé ci-dessous :

 

Il est ainsi possible de monter des partitions physiques, des DVD/CD-ROM, des clés USB, des appareils photos numériques, des ordinateurs distants… De manière transparente pour l’utilisateur, tout les fichiers quelque soient leur localisation et leur système de fichiers (ISO9660 (les CDROM), ext3, NTFS & FAT32 (windows)…) sont inclus dans une arborescence unifiée.

Pour un aperçu, ouvrez une console et tapez ls / ou bien ouvrez votre explorateur de fichiers (Konqueror, Nautilus, Krusader…) et rendez vous dans le répertoire racine

Voila à quoi servent les principaux répertoires d’une arborescence classique sous Linux :

  • /bin et /sbin contiennent de très nombreux commandes exécutables (binairies) en console, comme par exemple cd et mkdir. Ceux dans /bin sont exécutables par les utilisateurs alors que ceux dans /sbin demandent les privilèges administrateurs. Voir l’article sur la console pour une liste de quelques commandes.
  • /etc contient la plupart des fichiers de configuration du système. Ils sont tous en format texte et donc facilement lisibles et modifiables. Rien n’est crypté sous Linux (hormis les mots de passe évidemment). Par exemple, le fichier /etc/fstab liste les points de montages.
  • /lib renferme les bibliothèques partagées (librairies). Les applications peuvent se servir de ces briques de logiciels libres pour fonctionner. Cela permet d’optimiser la cohérence et la taille des applications.
  • /dev contient les fichiers qui vous permettent de piloter tel ou tel matériel (device). Ainsi, /dev/hda contient les informations nécessaires pour accéder au disque hda.
  • /proc est un point de montage virtuel (reconstruit à chaque démarrage, sans emplacement physique sur un disque dur) où transitent des données en cours de traitement. Il possède aussi des fichiers fournissant des infos sur votre système (comme /proc/version qui affiche la version de votre noyau Linux).
  • /tmp contient des fichiers temporaires créés par vos applications.
  • /var renferme les fichiers dont la taille varie fréquemment (comme les journaux système par exemple). Vous trouverez ainsi des journaux (listes d’évenements) dans /var/log. Bien pratique pour voir les problèmes. Mettre /var sur une partition à part se fait parfois, surtout pour les serveurs. Plus d’infos sur les journaux système.
  • /usr et /opt contiennent des applications communes à tout les utilisateurs. Les applications installées par le gestionnaire de paquetages de votre distribution arrivent dans l’un de ces répertoires.
  • /home contient les données et la configuration propres à chaque utilisateur. Ainsi, /home/george n’appartient qu’à George (c’est le seul répertoire dans lequel, par défaut cet utilisateur pourra écrire). Ce point de montage est primordial. Perdre les autres n’est pas grave. Mais celui-ci…
  • /mnt contient souvent les points de montage de périphériques (cdrom, floppy, clé USB etc) ou de partitions non-Linux (Windows, Mac..). Dans certaines distributions, le montage se fait ailleurs (exp: directement sous la racine ou dans /media). Enfin, selon le niveau de sécurité choisi, il vous faudra peut-être les privilèges administrateur pour y accéder.

Important : Il est extrèmement avantageux d’avoir une partition séparée pour recevoir les données de /home. En cas de réinstallation, seul le système sera réinstallé, ne touchant pas à la partition /home. Du coup, dès le premier reboot, chaque utilisateur récuperera son système quasi exactement comme il l’a laissé : données, configuration des applications, apparence… Vous comprenez l’interêt ? A moins d’un crash matériel (ou d’une bêtise), la perte de données est rarissime et les ré-installations beaucoup plus rapides…

Certains gros disques mal gérés par certains BIOS necessitent une partition /boot (taille 32 Mo) en tout début de disque.


Administrateur et utilisateurs

L’administrateur, appellé aussi root (= racine en anglais), est celui qui a accès à la configuration de l’ordinateur (installation de matériel ou logiciels, mises à jour…). Root peut tout faire, c’est Dieu.

L’utilisateur (user) ne peut qu’utiliser les applications dont l’accès lui est autorisé. Il ne peut écrire que dans son /home (sauf autorisation du root). Et ne peut donc en aucune manière agir sur le système. Il se contente de l’utiliser.

Bien entendu, l’administrateur peut modifier les permissions par défaut en autorisant ou refusant l’accès à des applications ou des fichiers/dossiers. Dans un système multi-utilisateurs, c’est l’admin qui a le dernier mot entre comptes utilisateur.

Il est fortement conseillé de configurer avec mot de passe un compte root en plus d’un (au moins) compte user. Même si vous êtes l’unique utilisateur et que vous administrez vous même votre système ! C’est un excellent rempart contre les virus ou les bêtises. En effet, pour qu’un processus endommage le système, il doit avoir été lancé avec les privilèges root. Voila pourquoi les virus sont rarissimes sous Linux. Lors de l’installation pensez y : compte root avec mot de passe.

Il existe une exception : sous Ubuntu, la gestion du compte root est différente. J’en parle ici

N’ouvrez jamais une session d’environnement graphique (KDE, Gnome etc.) avec le compte root. Login automatique ou manuel, mais toujours sous un compte utilisateur normal. Pour deux raisons :

  • Les applications graphiques possèdent classiquement plus de failles que l’équivalent console.
  • toute action sera réalisée avec les privilèges root, les bonnes comme les mauvaises.

Par exemple, si vous surfez sur Internet avec votre compte root, cela peut poser des problèmes de sécurité.

En conséquence, pour effectuer des tâches d’administration, on préfère plutôt obtenir les privilèges administrateur temporairement dans une console.

Plus d’infos sur les utilisateurs et groupes.


Droits et Permissions

Linux permet de configurer trois différents droits d’accès pour chaque dossier/fichier :

  • La lecture,
  • l’écriture,
  • l’exécution (pour un dossier cela autorise la naviguation à l’intérieur).

Et ce pour 3 types d’utilisateur :

  • Le propriétaire du fichier,
  • le groupe auquel ce propriétaire appartient ,
  • le reste du monde.

On peut en effet créer des groupes d’utilisateurs dans un environnement multi-utilisateur, facilitant ainsi la vie de l’admin.

Vous paramétrez ainsi finement vos comptes. Et même un logiciel exécutable au sens logiciel peut être désactivé. Par exemple, quand vous téléchargez un script, il devrait être désactivé. A vous de le rendre exécutable. Là encore, cela freine les virus.

Cela n’est pas si lourd à gérer mais cela peut surprendre les débutants. Ce système cloisonné permet de se défendre contre les indiscrétions et les attaques virales. Si un compte utilisateur était infecté, le virus resterait confiné dans ce compte et ne pourrait endommager le système (mot de passe root nécessaire). Si la sécurité est vraiment vitale pour vous, entreposez vos données sur un compte à accès restreint différent de celui qui sert au surf Internet.

Bien sûr des failles existent, mais la robustesse de l’architecture Linux (héritée d’UNIX) vous permet de rester zen (je surf sur mon compte habituel). Les antivirus sous Linux sont donc peu utilisés… Pour en finir avec cette parenthèse sécuritaire, il est par contre important de disposer d’un parefeu.

Vous pouvez facilement modifier ces permissions et droits grâce à votre gestionnaire de fichiers (Konqueror, Krusader, Nautilus…) : clic droit sur un fichier puis ‘Propriétés’ ou via la console (commandes chmod et chown).