Identification

Installer Arch GNU/Linux

Catégorie : Systèmes Unix-like

Arch GNU/Linux

Arch Linux est une distribution GNU/Linux crée en 2001 par Judd Vinet. Sa philosophie est de proposer à l'utilisateur le système le plus simple, le plus léger et le plus performant possible.

Contrairement à d'autres distributions comme Knoppix ou Ubuntu qui ont été crées à partie d'un système déjà existant (Debian en l'occurrence), Arch Linux à été crée "from scratch", c'est à dire à partir des sources du système GNU et de celles du noyau Linux.

Cette approche permet aux concepteurs de s'affranchir des "surcouches" présentes dans un système parent afin de repartir de zéro pour assembler l'OS de leurs rêves.

Public privilégié

SI vous pratiquez déjà régulièrement un système GNU/Linux ou GNU/BSD, franchir le pas vers Arch ne vous posera pas le moindre problème. Dans le cas contraire, il faudra être motivé car cet OS nécessite de mettre les mains dans le cambouis.

Si vous envisagez de mettre en oeuvre un serveur robuste et hautement disponible, je vous conseille de vous orienter vers autre chose (essayez NetBSD ou Debien) ; car Arch est un système en rolling release (développement continu), ce qui implique d'une part qu'il n'existe pas de version "stable" sur laquelle vous pouvez vous appuyer, et d'autre part que les chances de procéder à une mise à jour problématique reste assez forte.

Ceci dit, Arch Linux est une excellente distribution, et je vous la conseille si :

  • vous avez une bonne expérience de GNU/Linux ou d'un Unix-Like et que vous souhaitez revenir aux sources,
  • vous voulez découvrir les bases de l'administration d'un Unix-Like,
  • vous souhaitez disposer d'un poste de travail GNU/Linux à la pointe.

Arch Linux vous permet en effet de déployer un poste de travail rapide et performant, n'embarquant que le strict nécessaire et disposant des dernières améliorations en terme de pilotes, de noyau et de versions logicielles. Par contre, gardez à l'esprit qu'il faudra certainement vous retrousser les manches de temps à autre pour régler quelques problèmes de mises à jour.

Communauté et documentation

Comme d'habitude avec les distributions open sources, la documentation et les informations nécessaires sont consultables en ligne.
Pour vous éviter de Googler, voici quelques liens utiles à bookmarquer : le site Web officiel (en anglais), et le site de la communauté francophone.

Téléchargement

Le téléchargement de l'image ISO se déroule via l'url suivante : http://mir.archlinux.fr/iso/.
Rien de compliqué, il suffit de récupérer l'image iso la plus récente.

Installation

La suite de ce document décrit l'installation d'un Système Arch GNU/Linux dans une machine virtuelle VirtualBox.

Les caractéristiques de la machine utilisée sont les suivantes :

  • Mémoire vive : 512 Mo,
  • Disque-dur : 4 Go,
  • Carte réseau : Intel PRO/1000 MT, avec NAT activé.

C'est partit : démarrage de la machine dans laquelle nous avons préalablement "inséré" le CD-ROM d'installation fraîchement téléchargé...

Le menu s'affiche :

arch_linux_install-small

Nous choisirons la première option : "Boot Arch Linux", qui va démarrer en mémoire un système Arch Linux fournissant tous les outils dont nous allons avoir besoin pour installer la distribution correctement. Au bout de quelques secondes, nous voilà automatiquement logé en tant que super utilisateur :

arch_linux_prompt-small

Je vous l'accorde, comparé à d'autre distributions c'est plutôt austère : pas d'animations, de souris ou de menus graphiques... juste un prompt.
Remarquez quand même qu'un effort artistique colossal a été réalisé : le username est en rouge !
Ha vous vouliez un contrôle total ? Et bien voilà !

Préparation

Par défaut le clavier chargée est en anglais, la première chose à faire c'est donc de le basculer en français :

# loadkeys fr-pc

Puis il faut s'assurer que le système est à l'heure, afin que le gestionnaire de paquets qui sera utilisé lors de l'installation puisse faire son travail correctement.

# date
Sun Dec 15 12:00:39 UTC 2013

Si vous avez besoin d'ajuster la date, la commande est la suivante :

# date -s "12/15/2013 11:42"

Nous aurons besoin de télécharger des archives sur le réseau, il faut donc vérifier que nous avons un accès à Internet. Un simple ping nous informera sur l'état de la connexion :

# ping -c 3 www.google.fr

Création du système de fichiers

Pour notre exemple nous allons faire simple :

  • une partition swap de 512 Mo,
  • et une partition / du restant de la capacité de notre disque-dur virtuel.

Personnellement pour créer mes partitions j'utilise cfdisk, que je trouve bien plus convivial que beaucoup de ces camarades ; et ça tombe bien parce qu'il est présent sur le CD d'installation. Voici un screen des partitions crées, n'oubliez pas de rendre bootable la partition racine :

# cfdisk
arch_linux_prompt-small

Une fois les partitions écrites sur le disque, il nous faut les formater. On commence avec la partition swap :

# mkswap /dev/sda1

et on termine avec la partition principale, que nous formatons en ext4 :

# mkfs.ext4 /dev/sda2

A ce stade notre disque est prêt à recevoir des données ; nous pouvons donc indiquer à notre système qu'il peut swapper sur notre partition toute neuve :

# swapon /dev/sda1

Il est maintenant temps de monter notre partition racine :

# mount /dev/sda2 /mnt

Nous sommes maintenant prêts à installer le système de base...

Installation des paquets de base

L'installation des paquets de base se fait via l'utilitaire pacstrap, qui se trouve être un script bash. Elle s'effectue de la manière suivante :

# pacstrap /mnt base

Voilà, c'est partit pour le téléchargement et l'installation du système de base. Cette opération peut prendre un peu de temps selon les capacités de la machine hôte et de sa connexion Internet :

arch_linux_prompt-small

Installation du chargeur de démarrage

Une fois le système de base installé il nous faut prévoir un chargeur de démarrage. Nous allons récupérer GNU GRUB (GRand Unified Bootloader) ; sa configuration se fera un peu plus loin.

# pacstrap /mnt grub

Configuration de base

Bien, à ce stade l'ensemble des outils nécessaires à la mise en oeuvre de notre Arch Linux est en place. Il nous reste à faire un peu de configuration...

1 - Enregistrement du nom de machine

Notre machine doit avoir un nom d'hôte, nous alons simplement l'apeller "archtest" :

# echo "archtest" >> /mnt/etc/hostname

2 - Création du fstab

# genfstab -U -p /mnt >> /mnt/etc/fstab

3 - Chroot dans le nouvel environnement

# arch-chroot /mnt

L'interpreteur de commande change et l'invite devient quelque chose comme : sh-4.2#
Vous êtes maintenant chrootés dans votre nouveau système.

4 - Configuration de la langue et du fuseau horraire

Renseignez la langue dans le fichier /etc/locale.conf. Pour la France il s'agit de fr_FR.UTF-8 :

# echo "LANG=\"fr_FR.UTF-8\"" >> /etc/locale.conf

Renseignez la disposition du clavier dans le fichier /etc/vconsole.conf. Dans notre cas il s'agit de fr-pc :

# echo "KEYMAP=fr-pc" >> /etc/vconsole.conf

Dé-commentez la ligne concernant votre locale dans le fichier /etc/locale.gen et sauvegardez le. Pour la France c'est la ligne fr_FR.UTF-8 UTF-8 :

# nano /etc/locale.gen

Exécutez ensuite l'utilitaire locale-gen afin qu'il génère les paramètres locaux sur la base des informations fournies ci-dessus :

# locale-gen

Configurez le fuseau horraire, pour la France il s'agit du fuseau Europe/Paris  :

# ln -s /usr/share/zoneinfo/Europe/Paris /etc/localtime

5 - Création du ramdisk

Nous allons maintenant créer l'environnement de démarrage initial du système (le ramdisk). Si vous maitrisez la chose, les options de configuration sont situées dans le fichier /etc/mkinitcpio.conf ; si vous ne maîtrisez pas la chose, laissez ce fichier tel quel. L'opération prend quelques instants.

# mkinitcpio --preset linux

6 - Configuration du chargeur de démarrage

Il est temps de configurer le chargeur de démarrage que nous avons récupéré un peu plus haut. Son installation sur notre disque dur se réalise comme suit :

# grub-install --no-floppy --recheck /dev/sda

Il nous faut maintenant lui générer un fichier de configuration :

# grub-mkconfig --output /boot/grub/grub.cfg

Attention : Si jamais grub-mkconfig vous retourne l'erreur suivante :

arch_linux_prompt-small

C'est que vous avez la joie d'expérimenter un des soucis de mises à jour dont je vous parlais plus haut. Ce genre de problème, qui n'est pas bien méchant au demeurant, survient plus fréquemment dans les distributions en rolling release, car la phase de test est parfois "écourtée", quand elle n'est carrément pas omise lorsque l'opération n'est pas critique, ce qui est clairement le cas ici.

Bref, pour résoudre le problème il faut ajouter une petite directive de configuration au fichier /etc/default/grub et recommencer l'opération :

# echo "GRUB_DISABLE_SUBMENU=y" >> /etc/default/grub
...
# grub-mkconfig --output /boot/grub/grub.cfg
...

7 - Finalisation et redémarrage

L'installation est quasiment terminée, il ne nous reste plus qu'a configurer un mot de passe pour l'utilisateur root, quitter l'environnement chroot et arrêter notre machine. C'est ce que font les trois commandes suivantes, n'oubliez pas de retirer votre CD-ROM du lecteur virtuel :

# passwd
...
# exit
...
# halt -p

Premier démarrage

Voilà notre système installé et prêt à l'emploi, nous le démarrons et arrivons rapidement sur le chargeur de démarrage GRUB :

arch_linux_prompt-small

Après quelques secondes, l'invite de login tant attendu arrive :

arch_linux_prompt-small

Vous voilà sur votre nouveau système !

Configuration IP

La dernière chose que nous allons faire est de fixer le paramétrage réseau afin que la connexion à Internet soit automatiquement activée au démarrage du système. Je rappelle ici que nous sommes toujours dans un environnement virtuel correctement configurée, la configuration réseau est donc très simple. Si vous installez Arch sur une machine physique, vous aurez peut être besoin de lire un peu de documentation sur la connexion réseau.

La première chose que nous allons faire c'est de vérifier si notre carte réseau est détectée :

# lspci -k | less
...
00:03.0 Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controller (rev 02)
...
        Kernel driver in use : e1000
...

C'est bon, le système détecte une carte réseau Intel et son pilote est chargé. La commande suivante va nous permettre de connaître le nom de l'interface réseau :

# ip link show
...
2: enp0s3: <BROADCAST,MULTICAST...
...

Le nom attribué à notre carte est donc enp0s3. Nous disposons maintenant des informations nécessaires pour démarrer dhcpcd :

# systemctl start dhcpcd@enp0s3
...

Il ne nous reste plus qu'à  tester notre connexion à Internet :

# ping -c 3 www.google.fr
PING www.google.fr (173...
64 bytes from...
64 bytes from...
64 bytes from...
...
3 packets transmitted, 3 received...
...

Enfin, comme nous avons confirmation que nous sommes bien connectés, nous pouvons enregistrer dhcpcd auprès de systemctl afin que la connexion soit activée automatiquement à chaque démarrage de la machine :

# systemctl enable dhcpcd@enp0s3

Voilà, vous êtes maintenant prêt à personnaliser votre système et à installer tout les paquets dont vous avez besoin.

Gestionnaire de paquets

L'excellent gestionnaire de paquets logiciels utilisé par Arch Linux porte le doux nom de "Pacman", les connaisseurs apprécierons la référence. Une page wiki lui étant consacrée, je ne reprend ici que les commandes les plus fréquentes.

Synchronisation de la liste des paquets disponibles

# pacman -Sy

Mise à jour des paquets

A effectuer apès une synchronisation des paquets.

# pacman -Su

Synchronisation et mise à jour de l'ensemble des paquets

# pacman -Syu

Liste des paquets installés

# pacman -Q

Recherche d'un paquet dans les dépôts

# pacman -Ss {nom_du_paquet}

Installation d'un paquet

# pacman -S {nom_du_paquet}

Suppression d'un paquet

Suppression incluant les dépendences :

# pacman -Rs {nom_du_paquet}

Suppression incluant dépendances et fichiers de configuration :

# pacman -Rsn {nom_du_paquet}

Conclusion

Dans la jungle des distributions GNU/Linux, Arch me semble vraiment proposer quelque chose d'intéressant en terme de simplicité (principe KISS), de performance (optimisée pour i686 et 64bits), et de mise à jour (rolling-release). Je la trouve idéale pour un poste de travail et la rajoute donc à la liste de mes OS fétiches, notez toutefois que ces avis n'engagent que moi et que c'est à vous de vous faire les vôtres en testant ces différents OS :

  1. NetBSD, que j'utilise en serveur, et que j'apprécie pour sa licence, sa portabilité, sa stabilité et parce que c'est beau,
  2. Debian, que j'utilise en serveur et postes de travail, et que j'apprécie pour son histoire, sa stabilité et sa logithèque,
  3. Arch Linux, que je dédie aux postes de travail et que j'apprécie pour sa simplicité, ses performances et sa fraîcheur.