| Guide de l'Administration Simplifiée pour Linux (GASL) | ||
|---|---|---|
| Prev | Chapter 4. Installation et Configuration du Matériel | Next |
Pourquoi partitionner, de toute façon? Bon, bien qu'il soit assurément possible d'obtenir un système Linux fonctionnant parfaitement sur une seule partition et qu'en fait il soit un peu plus simple de le configurer comme cela, il y a bon nombre d'avantages à partitionner un ou plusieurs de vos disques en multiple partitions.
S'il est vrai que Linux va fonctionner correctement sur un disque avec seulement une grande partition, vous trouverez plusieurs avantages à partager votre disque pour au moins les quatre systèmes de fichiers principaux (root, usr, home et swap). Parmi ces avantages:
D'abord, cela peut permettre de réduire le temps requis pour exécuter les contrôles du système (à la fois pendant le démarrage et pendant une commande manuelle de fsck), car ainsi ces contrôles peuvent être faits en parallèle. (A ce propos, ne JAMAIS lancer un fsck sur un système monté!!! Vous risquez certainement de regretter ce qui va lui arriver. La seule exception est pour un système monté en mode lecture-seulement (read-only) et dans ce cas c'est inoffensif). De plus, les contrôles du système sont bien plus aisés à faire quand il y a des partitions multiples. Par exemple, si je m'aperçois que ma partition /home a des problèmes, je peux simplement la dé-monter(unmount) et effectuer un contrôle du système puis re-monter le système réparé (sinon, il faut démarrer le système avec une disquette de sauvegarde en mode utilisateur-seul (single-user) et effectuer les réparations).
En deuxième point, avec des partitions multiples, vous pouvez, si vous voulez, monter une ou plusieurs de vos partitions en mode lecture-seule (read-only). Par exemple, si vous décidez que rien dans /usr ne peut être touché, pas même par root, vous pouvez alors monter la partition /usr en lecture-seule (read-only).
Finalement, le bénéfice le plus important découlant des partitions est la protection de vos fichiers-système. Si quelque chose devait arriver à un fichier-système (soit de l'erreur d'un utilisateur, soit d'un plantage du système), sur un système partitionné, vous perdriez probablement des fichiers sur un seul système. Sur un système non partitionné, vous perdriez probablement tous les fichiers systèmes.
Ce petit détail peut se transformer en énorme avantage. Par exemple, si votre partition root est si corrompue que vous ne pouvez plus démarrer, vous pouvez démarrer de façon sommaire grâce à l'ensemble de disquettes de sauvetage, monter votre partition root et copier ce que vous pouvez (ou restaurer de la sauvegarde; voir Chapter 8pour des précisions sur comment des fichiers peuvent être sauvegardés et restaurés) sur une autre partition comme /home, puis redémarrer à nouveau en utilisant la disquette de boot d'urgence et en tapant : “mount root=/dev/hda3” (en supposant que la partition qui contient votre fichier-système root temporaire est sur la troisième partition de hda) et démarrer votre boîte Linux à nouveau complètement fonctionnelle.. Puis vous pouvez lancer un fsck sur votre partition root corrompue non-montée.
J'ai euune expérience personnelle de catastrophes dans mes fichiers-système et j'ai été soulagé de n'avoir que des dégats limités suite à l'utilisation de partitions multiples.
Enfin, comme Linux vous permet d'installer d'autres systèmes d'exploitation (comme Windows 95/98/NT, BeOS, ou ce que vous voulez) puis d'effectuer un boot double ou triple du système, vous désirez peut-être tirer partie de cela en créant de nouvelles partitions. Typiquement, vous devriez établir au moins une partition séparée pour chaque système d'exploitation. Linux fournit un bon lanceur (appelé LILO sur les systèmes Intel et sensiblement la même chose existe sous le nom de MILO sur Alpha, et de SILO sur Sparc) qui vous permet de spécifier quel système d'exploitation vous voulez démarrer quand vous allumer l'ordinateur, avec un démarrage de votre système favori en défaut après un certain temps. (Probablement Linux, d'accord?)
Vous devez partitionner un(ou des) disque(s) en fonction de vos besoins. D'après mon expérience sur des plates-formes Intel, Alpha et Sparc, pour obtenir un système correct (avec des caractéristiques intéressantes), effectuant un montant de tâches suffisant (comme un système de bureau à la maison, ou un serveur Internet au travail), je pense qu'approximativement les chiffres suivants vous donneront des partitions décentes.
Soit: A disque de X Mb/Gb (eg. 2 Gb) (Ou bien, plusieurs disques d'un montant total de X Mb/Gb) Calculer: (swap) environ le double du montant total de votre RAM (eg. 64 Mb system gets 128 Mb swap) / (root) environ 10% de l'espace disponible (eg. 200 Mb) /home environ 20% de l'espace disponible (eg. 400 Mb) /usr tout l'espace restant (eg. 1272 Mb) /var (optionnel -- voir plus bas) /boot (optionnel -- voir plus bas) /archive (optionnel -- voir plus bas) |
Bien sûr, les chiffres ci-dessus sont seulement des indications approximatives. Il paraît logique de transformer un peu ces pourcentages en fonction de l'utilisation que vous comptez faire de votre système Linux. Si vous voulez ajouter beaucoup d'applications volumineuses telles WordPerfect ouNetscape, ou adjoindre le support pour les caractères Japonais, il faudrait probablement un peu d'espace supplémentaire sur /usr.
J'ai toujours l'impression d'avoir beaucoup d'espace disponible sur /home, donc si vos utilisateurs ne font pas grand chose (ou si vous leur avez imposé de stricts quotas de taille) ou si vous ne leur offrez pas de comptes shell et des pages web personnelles, etc..., vous pouvez probablement baisser le montant de /home et augmenter /usr.
Voici une description des différents points de montage et une information sur le système de fichiers qui pourra peut-être vous donner une meilleure idée sur la façon de définir vos partitions et leur taille:
/ (racine) - utilisée pour stocker des choses telles que des fichiers temporaires, le noyau de Linux et l'image du boot, les programmes binaires importants (les choses qui sont nécessaires avant que Linux ne monte la partition /usr) et, encore plus important, les fichiers de log, les mémoires tampons pour les travaux à imprimer et les e-mails qui arrivent. C'est aussi utilisé en tant qu'espace temporaire pendant certaines opérations comme construire les paquetages RPM à partir des fichiers source RPM. Par conséquent, si vous avez beaucoup d'utilisateurs avec beaucoup de e-mails ou si vous pensez avoir besoin de beaucoup d'espace temporaire, vous désirez sans doute plus d'espace disponible. Le nombre représentant le type de partition doit être laissé au défaut de 83 (Linux native). En plus, vous voudrez peut-être basculer le drapeau "bootable" sur cette partition pour laisser de l'information concernant le boot être stockée là.
/usr/ -devrait être la partition la plus large car la plupart des fichiers binaires requis par Linux, de même que tout logiciel installé localement, les pages web, la cache du serveur mandataire Squid, les services partagés de Samba, des fichiers log de logiciels installés localement, etc... sont stockés là. Le type de partition doit aussi être laissé au nombre défaut de 83 (Linux native).
/home/ -généralement, si vous ne fournissez pas de compte shell à vos utilisateurs, vous n'avez pas besoin d'une très grande partition ici. Une des exception est si vous fournissez à vos utilisateurs des pages personnelles (telles que des pages web), dans ce cas, il vous faudrait une partition plus large. A nouveau, le numéro de partition type doit être laissé au défaut de 83.
(swap) - Linux fournit quelque chose appelé “la mémoire virtuelle” pour permettre d'avoir un montant de mémoire disponible plus grand que la RAM physiquement présente sur votre ordinateur. La partition swap est utilisée par Linux avec la RAM pour accomplir cela. La règle d'or est que votre partition swap doit être au moins le double du montant de la RAM installée sur votre système.
Si vous disposez de plus d'un disque dur dans votre système, vous pouvez créer de multiples partitions swap. Cela peut améliorer la performance du "swapping" en profitant de l'accès à des disques parallèles. Par exemple, sur un système de 256 Mb avec quatre disques, je créerai probablement quatre partitions swap de 128 Mb, pour un total de 256 Mb de RAM, 512 Mb de swap (ce qui donne un total combiné de 768 Mb de mémoire virtuelle disponible). Le nombre représentant le type de partition doit être changé en 82 (Linux swap).
![]() | Note: il existe un malentendu fréquent qui dit que Linux a une limite de la taille de swap de 128 Mb. C'était vrai dans le passé, mais dans les distributions modernes de Linux. La taille dépend de votre architecture (par exemple, les systèmes Intel peuvent avoir une taille de swap aussi grande que 2 Gb). Tapez ``man mkswap'' pour plus d'information.. |
/var/ (optionnel) -vous désirez peut-être partager un peu plus votre partition / (racine). Le répertoire /var est utilisé en grande partie pour du stockage de "runtime", incluant les "mail spools" (à la fois entrant et sortant), les jobs à imprimer, les "process locks", etc...Avoir ce répertoire monté sous / (root) peut être un peu dangeureux car par exemple une très grande quantité de mail arrivant peut soudainement remplir toute la partition. Comme des choses fâcheuses (e.g plantage du système?) peuvent arriver lorsque la partition / (racine) est saturée, avoir /var sur une partition propre peut éviter de tels ennuis. J'ai trouvé mon compte en prenant le montant que j'avais dédié à / (racine), en le doublant peut-être, puis en recréant deux partitions séparées, l'une pour / (racine) et l'autre pour /var. Le nombre représentant le type de partition doit être laissé à 83 (défaut, Linux native).
/boot/ (optionnel) - Dans certaines circonstances (telles un système établi en configuration de logiciel RAID), il peut être nécessaire d'avoir une partition séparée d'où démarre le système Linux. La partition permettra alors le lancement puis le chargement de tout pilote nécessaire pour lire les autres systèmes de fichiers. La taille de cette partition peut n'être que de 2 Mb; je recommande approximativement 10 Mb (ce qui vous laisse suffisamment d'espace pour stocker le noyau, l'image initiale du RAMdisk, et peut-être un noyau en sauvegarde ou deux). Le nombre représentant le type de partition doit être laissé au défaut de 83 (Linux native).
/archive/ (optionnel) -Si vous disposez d'espace supplémentaire, vous pourrez tirer partie d'une partition dont le répertoire s'appellerait, par exemple, /archive. Vous pourrez alors l'utiliser pour entreposer du matériel de sauvegarde, des gros fichiers ou ceux non fréquemment utilisés, les services du fichier samba ou tout ce que vous désirez. Le nombre représentant le type de partition peut être laissé à 83 (Linux native, défaut) ou si vous voulez accéder à cette partition aussi bien de Linux que d'un autre système d'exploitation, vous pouvez lui affecter un autre nombre comme 6 (DOS 16-bit >=32M).
A chaque fois que vous ajoutez des nouveaux lecteurs, des partitions supplémentaires peuvent être adjointes à ces nouveaux lecteurs, montées à des points variables suivant ce qui est requis: –cela veut dire qu'un système Linux n'a pas à s'inquiéter d'épuiser tout l'espace. Voici un exemple: si dans le futur il apparaît clair que sda6 commence à être saturée, vous pouvez ajouter un autre lecteur, établir une partition d'une taille confortable avec un point de montage à /usr/local -- puis transférer toute l'information de /usr/local sur le nouveau lecteur. Mais aucun système ou aucune partie du système ne va “se détraquer” car Linux va toujours trouver /usr/local, peu importe où il est situé.
Pour vous donner un exemple sur comment on peut partitionner, j'ai moi-même utilisé le schéma suivant sur un système Intel (double boot, Windows95 et Linux):
Device Boot Begin Start End Blocks Id System /dev/hda1 * 1 1 254 1024096+ 6 DOS 16-bit >=32M /dev/hda2 255 255 782 2128896 5 Extended /dev/hda5 255 255 331 310432+ 83 Linux native /dev/hda6 332 332 636 1229728+ 83 Linux native /dev/hda7 637 637 749 455584+ 83 Linux native /dev/hda8 750 750 782 133024+ 82 Linux swap |
La première partition, /dev/hda1, est formatée en DOS et utilisée pour le système d'exploitation alternatif (Windows 95). Cela me donne 1 Gb d'espace pour ce système.
La seconde partition, /dev/hda2, est une partition physique (appelée “extended (étendue)”) qui contient tout l'espace disque restant. Elle est utilisée seulement pour concevoir les partitions logiques restantes (il ne peut y avoir que quatre partitions physiques sur un disque; dans mon cas, j'avais besoin de plus de quatre partitions donc j'ai dû utiliser un schéma de partitionnement logique pour les autres.
De la troisième à la cinquième partition, /dev/hda5, /dev/hda6 et /dev/hda7, on trouve des partitions formatées en e2fs, utilisées respectivement pour les partitions / (root), /usr et /home.
Finalement, la sixième partition, /dev/hda8, est appliquée à la partition swap.
Prenons un autre exemple, cette fois d'une boîte Alpha avec deux disques durs (boot unique, Linux seulement). J'ai choisi le schéma de partitionnement suivant:
Device Boot Begin Start End Blocks Id System /dev/sda1 1 1 1 2046 4 DOS 16-bit <32M /dev/sda2 2 2 168 346859 83 Linux native /dev/sda3 169 169 231 130851 82 Linux swap /dev/sda4 232 232 1009 1615906 5 Extended /dev/sda5 232 232 398 346828 83 Linux native /dev/sda6 399 399 1009 1269016 83 Linux native /dev/sdb1 1 1 509 2114355 83 Linux native /dev/sdb2 510 510 1019 2118540 83 Linux native |
La première partition, /dev/sda1, est formatée pour les fichiers DOS et sert à héberger le lanceur MILO. La plate-forme Alpha a une méthode un peu différente pour démarrer par rapport à un système Intel, et Linux stocke son information concernant le boot sur une partition FAT. Cette partition ne doit pas être plus grande que la plus petite tolérée, dans ce cas 2Mb.
La seconde partition, /dev/sda2, est formatée en e2fs et attribuée à la partition / (racine).
La troisième partition, /dev/sda3, est la partition swap.
La quatrième partition, /dev/sda4, est une partition “étendue” (voir l'exemple précédent pour plus de détails).
Les cinquième et sixième partitions, /dev/sda5, et /dev/sda6, sont formatées en e2fs et consacrées aux partitions respectives /home et /usr.
La septième partition, /dev/sdb1, est formatée en e2fs et affectée à la partition /archive.
La huitième et dernière partition, /dev/sdb2, est formatée en e2fs et utilisée en tant que partition /archive2.
Après avoir mis au point l'information concernant les partitions que vous désirez, il va falloir enregistrer cette information sur le disque. Après cela, le programme d'installation Red Hat recharge la table de partition en mémoire, et vous pouvez ensuite procéder à l'étape suivante de l'installation.