Misfu, le site des cours Informatique/Bureautique/Mathematiques


 

Choisir sa distribution


Il y a dans les listes de distribution et sur Usenet des débats acharnés où chacun cherche à prouver que 'sa' distribution est meilleure que les autres. C'est avant tout une question de goût personnel. Voici les principales distributions :

Distribution

Commentaire

• Ubuntu

De loin la plus connue. Très simple à installer pour un débutant.

• Mageia

Egalement très simple à installer pour un débutant, une bonne alternative à Ubuntu.

• Mandriva

C'était auparavant (l'ancien nom était 'Mandrake') la distribution la plus utilisée sur les Desktop. Elle reste une bonne distribution qui dispose d'un bon site pour avoir des correctifs, forums...

• SuSE

C'est une distribution Linux pour les entreprises.

• Debian

c'est vraiment LA distribution libre. Problème : la distribution sort quand les développeurs responsables du projet Debian estiment que tout est bon (ce qui donne des décalages entre ce qui était annoncé et la date réelle de sortie !). Bref, c'est une distribution très stable, mais plutôt pour les initiés. Sinon vous pouvez toujours utiliser Ubuntu (qui se base sur Debian) qui contrairement à Debian est particulièrement facile à prendre en main.

• Slackware

je la trouve excellente ; l'installation n'est pourtant pas simple. Bref, c'est une distribution pour les initiés.
Cette distribution permet de tout personnaliser et de ne choisir que les packages indispensables.

• Gentoo

C'est une distribution 'source', il faut donc compiler à partir du code source tous les outils qu'on va utiliser. C'est une distribution qu'on choisit lorsqu'on a un peu de pratique.
Sa grande qualité : un excellent gestionnaire de package inspiré des 'ports' des BSD.

• Il existe encore bien d'autres distributions...

La facilité de trouver des paquets rpm est une bonne chose, mais on trouve également tout en .tar.gz, ce qui permet d'installer tout logiciel sur toute distribution ; il suffit de le compiler si le package ne contient pas une version binaire.


Se procurer une distribution :
Si vous avez une bonne connexion au Net, vous pouvez télécharger une distribution complète. Mandriva, Ubuntu, et Debian etc... sont disponibles en image ISO (un seul fichier d'environ 700 Mo qu'il suffit ensuite de graver sur un CD).


Débuter :
Si vous commencez avec Linux, je vous conseille de choisir Ubuntu, ou mieux : commencez par tester Linux avec le Live-CD de
Knoppix : c'est une distribution qui est conçue pour fonctionner depuis le CD, sans s'installer sur le disque dur. Pour tester Linux en grandeur nature sur votre matériel, c'est l'idéal.


Préparer ses disques durs


Je ne vais pas vous décrire toute la procédure d'installation, mais vous en trouverez facilement en français sur le site de votre distribution.


Un peu de théorie


Les systèmes de fichiers

Le système de fichiers (ou File System ou FS), c'est la façon dont le système d'exploitation structure les données sur le disque dur.

Comme tout système d'exploitation, Linux dispose de ses propres systèmes de fichiers :

  • EXT2FS (ou ext2) : c'est le système de fichiers historique de Linux, il n'est pas forcément le meilleur choix car, n'étant pas journalisé, si vous éteignez mal votre ordinateur, linux prendra beaucoup de temps pour tester les disques durs (de la même manière que le scandisk de Microsoft).


  • EXT3FS (ou ext3) : c'est l'évolution logique du ext2. Il présente l'avantage d'être compatible avec l'ext2 tout en étant journalisé. Il n'implémente toute fois pas les toutes dernières innovations en matière de journalisation. Utilisez ce système de fichiers si vous comptez pouvoir relire des informations depuis votre windows.


  • REISERFS : c'est un système de fichiers journalisé. C'est un bon choix. Il est réimplémenté à partir de zéro et bénéficie de beaucoup d'innovations.


Il en existe d'autres, mais préférez-leur l'un de ceux-là, sauf si vous avez une bonne raison.

Les disques durs et les partitions sous Linux

Tout d'abord, voyons comment Linux identifie et organise les disques durs.

Pour les disques IDE, la numérotation se fait avec un préfixe 'hd', suivi par une lettre, 'a' pour le premier IDE maître, 'b' pour le premier esclave, etc.
En résumé on a :

  • hda Disque maître sur le 1er contrôleur IDE


  • hdb Disque esclave sur le 1er contrôleur IDE


  • hdc Disque maître sur le 2eme contrôleur IDE


  • hdd Disque esclave sur le 2eme contrôleur IDE


Si vous avez d'autres contrôleurs IDE (hé oui, cela arrive !) la numérotation se poursuit (hde, hdf, etc.).
Attention : les lecteurs de CD-ROM IDE apparaissent comme un disque dur. Si votre CD est maître sur la deuxième nappe par exemple, il sera nommé hdc.

Pour les disques SCSI, cette fois c'est l'ID SCSI qui va donner la lettre, le préfixe étant 'sd'.
Prenons par exemple 3 disques scsi d'id 0,1 et 3 on va avoir :

  • sda Disque d'ID 0


  • sdb Disque d'ID 1


  • sdd Disque d'ID 3


Attention : les lecteurs de CD-ROM SCSI, les ZIP, JAZ, etc. SCSI ainsi que les périphériques de stockage USB (appareils photo, clefs USB...) apparaissent comme un disque dur SCSI ; ils se nomment aussi sdx suivant leur ID. Astuce : pour connaître la liste de vos périphériques de ce type, tapez :


cdrecord -scanbus.

Les partitions sont quant à elles représentées par le nom du disque dur, suivi d'un chiffre représentant la partition.
Par exemple, la première partition du premier disque IDE se nomme hda1, de même, la troisième partition du disque SCSI d'ID 1 se nommera sdb3.


Organisation des fichiers sous Linux : L'arborescence

Sous Linux, ou tout autre Unix d'ailleurs, il n'y a pas de lettre représentant le disque dur comme le C: de Windows/DOS.
Il y a une seule arborescence, qui débute à la 'racine', notée '/', et tous les disques durs/partitions apparaissent dans cette arborescence avec leur contenu de façon transparente comme un répertoire.


Les périphériques
De plus, tout périphérique est identifié à un fichier qui se trouve dans le répertoire /dev (comme device, périphérique en anglais). Par exemple, le disque maître du deuxième port IDE est identifié par /dev/hdc, sa deuxième partition par /dev/hdc2.
Le lecteur de disquette est représenté par /dev/fd0, etc.


Les partitions / les points de montage
Les partitions que l'on va créer sur les disques durs seront attachées à des répertoires de l'arborescence, ou 'points de montage'. C'est ce qu'on appelle 'monter une partition'. Le point de montage est un simple répertoire, vide avant le montage, et qui après le montage, représente le contenu de la partition montée.

Par exemple, supposons que nous ayons créé une partition /dev/hda2 (premier disque IDE, 2ème partition) pour contenir le système. On montera cette partition (automatiquement, heureusement !) dans le répertoire racine /. Si la partition /dev/hda3 est destinée à contenir les données utilisateur, on la montera dans le point de montage (=répertoire) /home. On verra le contenu de cette partition dans le répertoire /home comme si c'était n'importe quel autre répertoire, alors que physiquement les données sont sur une autre partition.

De même, pour accéder à la disquette, on montera le périphérique /dev/fd0 dans le point de montage /mnt/floppy ou /floppy (selon la distribution) et pour accéder au CD-ROM, on montera le périphérique /dev/cdrom dans le point de montage /mnt/cdrom ou /cdrom.


Les répertoires standards
Linux possède des répertoires 'spéciaux' à la racine (un peu comme le C:windows), qui sont classiques dans les systèmes Unix et peuvent ou non représenter un point de montage pour une partition.


On a déjà vu par exemple le répertoire spécial /dev où tous les périphériques sont répertoriés en tant que fichiers, ou encore le répertoire /home qui contient les données personnelles des utilisateurs.


Chacun des répertoires ci-dessous peut être soit un simple répertoire dans la partition racine, soit le point de montage d'une autre partition, mais dans tous les cas le résultat est le même : des fichiers dans des répertoires.


Les répertoires standards de Linux sont :


/

La racine du système = la base.

/boot

Fichiers utilisés pour booter le noyau

/usr

Programmes, données, accessibles par les utilisateurs et non nécessaires lors du boot

/home

Tous les répertoires de base des utilisateurs et de certains services comme le FTP, le serveur Web, Samba, etc.

/dev

Tous les périphériques

/bin

Programmes nécessaires au boot, et disponibles ensuite à tous les utilisateurs

/sbin

Programmes nécessaires au boot, disponibles au root uniquement

/var

Fichiers de log, spool d'impression, de mail, etc. En général, fichiers qui changent tout le temps

/etc

Fichiers de configuration du système

/root

Répertoire home de l'administrateur

/lib

Bibliothèques et modules (comme les DLL de Windows) nécessaires au boot

/tmp

Fichiers temporaires

/mnt

Répertoire proposé pour monter des périphériques (ou /mnt/cdrom, /mnt/floppy, /mnt/zip, etc.)

/proc

Fichiers d'information sur la configuration système (les fichiers sont générés dynamiquement, pas de modifications possibles). Les fichiers dans ce répertoire n'existent pas sur le disque, c'est Linux qui les crée en temps réel lorsque vous en avez besoin.

/opt

Dans ce répertoire (optionnel), on peut ajouter des logiciels afin qu'ils ne s'installent pas dans les répertoires système.

Et j'en passe...

Passons à la pratique !


On peut installer Linux sur une partition DOS/Windows avec par exemple Linux4win de Mandriva. Cette méthode est pratique car elle nécessite un minimum de travail sur le système d'exploitation d'origine (en général Windows) : Linux s'installe dans un gros fichier sur le disque Windows.
Cependant, je vous déconseille cette méthode, à moins que vous y soyez obligé. Un tel système est très ralenti (au moins d'un facteur 2) et vous allez être très déçu des performances de Linux ; de plus il arrive parfois des problèmes d'incompatibilités avec cette méthode. Au prix où sont les disques durs aujourd'hui et vu leur taille grandissante, vous trouverez bien de la place pour créer des partitions Linux.


Préparation

Avant de commencer l'installation, vous allez donc devoir libérer de la place pour les nouvelles partitions Linux. Si vous comptez installer Linux sur un disque vierge, pas de problème. Par contre, si vous voulez faire cohabiter Windows et Linux sur le même disque, et que Windows est déjà installé sur la totalité du disque, il va falloir arranger ça :) (à moins que vous ne vouliez réinstaller Windows de zéro).

On va devoir passer de ça :



<----------------- Windows -------------->
|==========================================| <- disque dur

à ça :

<- Windows -> <- place libre pour Linux ->
|=============|============================| <- disque dur


Alors soit vous virez tout et vous réinstallerez Windows, c'est le plus simple évidemment,
soit vous redimensionnez votre partition Windows. Pour ce faire, utilisez un logiciel approprié, comme FIPS (souvent sur les CD des distributions), ou
Partition Manager (un freeware sous DOS) encore Partition Magic (produit commercial). Pour ça, je vous renvoie à la documentation du logiciel utilisé.


Remarque 1 : Partition Manager a l'air intéressant, il fonctionne sous DOS, est freeware, et existe en version française. Il permet de gérer les partitions, de sauver le MBR (Master Boot Record, c'est là que vient s'enregistrer LILO dans un fichier, de le restaurer, de modifier la taille d'une partition, de la formater, etc. (Voir la page de Partition Manager.)


Remarque 2 : la distribution Mandriva est livrée avec un utilitaire de repartitionnement très performant, sachant même redimensionner les partitions au format NTFS.


Dans tous les cas, pensez à sauvegarder vos données perso !


Installation proprement dite : le partitionnement des disques

La plupart des installations commencent de la même façon : on crée une disquette de boot sous DOS/Windows avec l'utilitaire 'RAWRITE' (livré sur les CD des distributions), des fois même deux disquettes (pour la Slackware) ; en général le CD de la distribution est bootable (Mandriva par exemple) et il n'y a alors pas besoin de disquette. Puis on boote sur la disquette ou le CD.

Ensuite on suit les indications du programme d'installation, puis on arrive sur le partitionnement des disques (attention à la Slackware où on n'atterrit pas sur ce point directement : après s'être logué en root il faut taper 'fdisk' AVANT de taper 'setup'). Détaillons un peu cette procédure de partitionnement.

Pour partitionner votre disque vous allez appeler la commande fdisk suivie du nom du disque sur lequel vous voulez installer Linux, par exemple 'fdisk /dev/hda'. Des logiciels plus conviviaux existent comme DiskDruid (disponible lors de l'installation d'une Red Hat par exemple) ou DiskDrake de Mandriva fonctionnant en mode graphique (mais il me semble qu'il nécessite que Linux soit déjà installé !).

Je vous renvoie à l'installation HOWTO (anglais ) pour toutes les commandes de fdisk ; les principales sont :

  • n Crée une partition, de type linux native (ext2fs) par défaut.


  • t Change le type d'une partition (83 linux native, 82 linux swap).


Dans fdisk, tapez 'm', afin d'accéder à la liste de toutes les commandes possibles. C'est assez bien indiqué dans l'installation-HOWTO.

Attention : le nombre de partitions dites 'primaires' est limité à 4. Ainsi, si vous souhaitez définir plus de 4 partitions sur un même disque, l'une de ces 4 partitions primaires doit être définie comme 'étendue', elle contiendra alors toutes les autres partitions. Les partitions primaires sont numérotées de 1 à 4, les partitions créés à l'intérieur de la partition étendue sont numérotées à partir de 5.


De combien de partitions allez vous avoir besoin ?
  • Tout d'abord, une partition pour le swap. Le swap c'est la mémoire virtuelle de Linux. La taille ? Ca va dépendre de votre mémoire physique. Une partition de swap de 128Mo avec 64 ou 128 Mo de RAM physique suffit amplement pour une utilisation standard. Je vous conseille donc un swap de 128 Mo : créez sous Linux avec fdisk une partition de type 82 de 128 Mo.


  • Pour le reste, vous avez le choix :
    La chose la plus simple est une seule partition (en plus du swap), qui contiendra toutes les données (système & utilisateur) ; prenez le plus de place possible (1 Go mini).
    En fait, il est intéressant de créer au moins deux partitions : une qui contiendra le système et une autre pour vos données personnelles. Comme ça, vous pouvez réinstaller Linux et même formater la partition système sans perdre vos données perso. Pour la même raison, on peut pousser le raffinement jusqu'à avoir une troisième partition afin de contenir les logiciels que vous installerez par la suite (OpenOffice par exemple). (voir plus haut le tableau des
    répertoires standards)

    À ces partitions, on attribuera des points de montage.
    - C'est quoi un point de montage ?
    - Ah mais vous n'avez pas lu le paragraphe
    précédent ? :-)


Si vous installez un serveur :

L'une des méthodes les plus utilisées, c'est de mettre le / sur un petit disque ou une partition, puis /usr sur un autre disque en point de montage. Si notre système va être un serveur avec beaucoup d'utilisateurs, qui vont avoir beaucoup de données personnelles à stocker, on peut créer aussi un /home en point de montage sur un autre disque. On va aussi généralement réserver un disque ou une partition pour le répertoire temporaire que l'on montera dans /tmp, et encore une autre pour le /var. En fait, on ne va laisser dans le disque contenant la racine que les informations qui bougent peu et dont le volume augmente peu.
Ainsi on ne charge pas le disque de point de montage / des répertoires /usr, /home, etc., ce qui permet de facilement maintenir le système (si /home est plein, on prend un disque + gros que l'on monte en /home et on recopie tout dessus, ça permet de ne pas casser le reste...), etc. Ca a plein d'avantages, je vous conseille de faire comme ça si vous avez plusieurs disques. De plus si un disque crashe, si ce n'est pas le disque contenant la racine /, ça permet de rebooter quand même la machine, de travailler un minimum pour réinstaller un disque sans à avoir à réinstaller un système de base.
Remarque : si vous installez un serveur qui sera très sollicité, soyez généreux pour la taille du swap (2 fois la taille de la RAM est un bon début).

Si vous installez sur une machine perso :

Sur une machine mono-utilisateur, voire mono-disque, on peut faire une partition pour le / (mini 1Go recommandé 2Go), une pour /home et une pour le swap (128 Mo par exemple). Vous pouvez aussi éventuellement faire une partition pour /opt qui contiendra les logiciels que vous avez installés vous-même et qui ne proviennent pas de la distribution. Ca permet de mettre à jour voire de réinstaller la distribution sans trop devoir travailler derrière pour que ça fonctionne comme avant.

exemple de partionnement :



<- /dev/hda1 -> <--- /dev/hda2 (étendue) -->
(primaire) /dev/hda5 hda6 hda7
<-- Windows --> <-- / --> <- /home -> <-pt de montage
|===============|=========|===========|======| <-disque dur
2,5 Go 2,5 Go 5 Go 128 Mo


Lorsque vous disposez de beaucoup de place sur vos disques (j'ai par exemple 2 disques de 80 Go), pour une utilisation personnelle, 3 ou 4 Go suffisent pour la racine (ou alors 1 Go pour la racine et 2 Go pour /usr), gardez votre swap entre 128 et 512 Mo, et enfin, le reste pour /home (j'ai monté un de mes disques contenant une seule partition dans /mnt/data et j'y stocke mes fichiers multimédia).




Merci à Léa