Installation de base


Les Arch Install Scripts sont un ensemble de scripts bash ayant pour but de simplifier l'installation d'Arch. Cette page donne un exemple d'installation basique. Vous y trouverez également des liens vers des pages wiki, documentation externe, ou lien vers le manuel pour les principales étapes de l'installation.
Important: Il est vivement déconseillé d'avoir recours à des tutoriels lors de l'installation d'Arch Linux. Les tutoriels sont rarement mis-à-jour ce qui entre en conflit avec l'évolution constante de touterolling release. L'utilisation d'un tutoriel périmé ou incorrect peut mener à de graves disfonctionnements.
Note: Pour une image antérieure à 2012.10.06, il est recommandé de télécharger une image récente, certaines commandes ayant changé. Il est fortement recommandé de télécharger la dernière image.
Important: L'ensemble des commandes est donné à titre d'exemple. Il est vivement recommandé de se documenter dessus (wiki, manuel avec la commande manune_commande -h, etc.)
Astuce: Pour une installation en dual boot avec Windows, la lecture de cette page peut être utile.
Astuce: L'installation sous MacBook présente quelques variantes par rapport à ce qui suit: MacBook.

Live CD

La dernière iso inclut les scripts et permet d'installer un système i686 ou x86_64 via le réseau. C'est une image hybride dans le sens où elle peut soit être gravée sur un CD ou flashée dans une clé USB à l'aide de dd par exemple.
Note: Une liste complète des outils de l'image officielle est disponible: les paquets communsspécifiques i686 et spécifiques x86_64. Le media ne fournit plus le dépôt [core], il est donc impossible d'installer Arch hors-ligne.
Une fois gravée ou flashée et l'ordinateur démarré dessus, vous pouvez choisir si vous souhaitez un système 32 bits (i686) ou 64 bits (x86_64), puis vous arrivez directement à une console ou vous êtes identifié en root.
Un navigateur en console, elinks, est disponible depuis l'image d'installation 2012.07.15. Vous pouvez donc consulter la documentation, dans un autre tty par exemple, pendant l'installation. Le client irssi est aussi disponible, si vous avez des questions à poser à la communauté.

Vérification de l'image

Ce qui suit permet de contrôler la validité de l'image d'installation (exemple pour l'ISO d'octobre 2012).

Intégrité

Les fichiers md5sums.txt et sha1sums.txt permettent de vérifier que les données de l'image n'ont pas été altérées lors du téléchargement:
$ md5sum -c md5sums.txt
archlinux-2012.10.06-dual.iso: OK
ou
$ sha1sum -c sha1sums.txt
archlinux-2012.10.06-dual.iso: OK
Note: La somme de contrôle (md5sums.txt et/ou sha1sums.txt) doit se trouver dans le même répertoire que le .iso.

Authenticité

Le fichier .sig permet de garantir que l'image d'installation est authentique (car signée par un utilisateur de confiance ou développeur d'Arch).
Vérification sous Arch
Sous Arch, la vérification peut se faire au moyen de pacman-key:
$ pacman-key -v archlinux-2012.10.06-dual.iso.sig
gpg: Signature faite le sam. 06 oct. 2012 16:28:53 CEST avec la clé RSA ID 9741E8AC
gpg: Bonne signature de « Pierre Schmitz <pierre@archlinux.de> »
Note: La signature (le .sig) doit se trouver dans le même répertoire que le .iso.
Vérification par gpg
Sinon, procédez comme suit à l'aide de gpg:
$ gpg --verify archlinux-2012.10.06-dual.iso.sig
gpg: Signature faite le sam. 06 oct. 2012 16:28:53 CEST avec la clé RSA ID 9741E8AC
gpg: Impossible de vérifier la signature: Pas de clé publique
random usage: poolsize=600 mixed=0 polls=0/0 added=0/0
              outmix=0 getlvl1=0/0 getlvl2=0/0
secmem usage: 0/32768 bytes in 0 blocks
Il nous faut récupérer la clé publique depuis le serveur qui l'abrite:
$ gpg --keyserver hkp://keys.gnupg.net --recv-keys 9741E8AC
gpg: enabled debug flags: memstat
gpg: requête de la clé 9741E8AC du serveur hkp keys.gnupg.net
gpg: clé 9741E8AC: clé publique « Pierre Schmitz <pierre@archlinux.de> » importée
gpg: aucune clé de confiance ultime n'a été trouvée
gpg:        Quantité totale traitée: 1
gpg:                       importée: 1  (RSA: 1)
random usage: poolsize=600 mixed=0 polls=0/0 added=0/0
              outmix=0 getlvl1=0/0 getlvl2=0/0
secmem usage: 0/32768 bytes in 0 blocks
Relançons la vérification:
$ gpg --verify archlinux-2012.10.06-dual.iso.sig
gpg: enabled debug flags: memstat
gpg: Signature faite le sam. 06 oct. 2012 16:28:53 CEST avec la clé RSA ID 9741E8AC
gpg: Bonne signature de « Pierre Schmitz <pierre@archlinux.de> »
gpg: ATTENTION: Cette clé n'est pas certifiée avec une signature de confiance !
gpg:            Rien ne dit que la signature appartient à son propriétaire.
Empreinte de clé principale: 4AA4 767B BC9C 4B1D 18AE  28B7 7F2D 434B 9741 E8AC
random usage: poolsize=600 mixed=0 polls=0/0 added=0/0
              outmix=0 getlvl1=0/0 getlvl2=0/0
secmem usage: 0/32768 bytes in 0 blocks
La signature est correcte, cela va nous suffire car il s'agit de l'une des clés principales d'Arch: je vous invite à lire l'encadré «important» de cette section pour bien comprendre et vérifier par vous-même que l'empreinte de cette clé est correcte.

Installation de l'ISO sur une clé USB

Cette section explique comment créer une clé USB comportant l'ISO d'installation d'Archlinux. Cela implique que vous avez déjà vérifié l'intégrité et l'authenticité de l'ISO téléchargée.
Important: Cela va définitivement supprimer les données présentes sur la clé USB. Vérifiez aussi que votre clé est bien démontée avec la commande lsblk !
Note: Utilisez la notation /dev/sdx et non pas /dev/sdx1. C'est une erreur fréquente.
dd if=/chemin/vers/archlinux-2012.11.01-dual.iso of=/dev/sdx bs=1M
Vous pouvez maintenant installer Archlinux à partir de votre clé USB.
Note: Vous devrez certainement régler la priorité de démarrage dans le BIOS, afin que le PC boote sur la clé avant le disque.
Note: Si vous souhaitez utiliser une autre méthode afin de créer votre media, cette page pourrait vous être utile.

Clavier

Pour changer l'agencement du clavier, utilisez la commande loadkeys (le clavier par défaut étant le clavier qwerty, il faut taper loqdkeys sur un clavier azerty pour écrire effectivement loadkeys).
Pour la France:
loadkeys fr-pc
Pour la Suisse romande (fr_CH-latin1):
loadkeys fr_CH
Vous pouvez avoir la liste des agencements de clavier disponibles en tapant cette commande :
find /usr/share/kbd/keymaps/ -type f

Partitionnement

Le partitionnement peut être fait avant de démarrer sur le live (avec gparted, par exemple), mais il peut aussi être fait à ce moment en utilisant au choix l'un des différents utilitaires disponibles : fdisk,partedcfdisk, etc.
Dans ce guide, nous prendrons pour exemple le schéma de partitionnement suivant :
  • /dev/sda1 pour le /boot
  • /dev/sda2 pour la swap
  • /dev/sda3 pour le /
  • /dev/sda4 pour le /home
Note: À titre indicatif, voici un ordre de grandeur pour la taille des partitions:
  • /boot: 100 Mo est très largement suffisant (vous pourrez installer plusieurs noyaux).
  • swap: recommandé si votre machine comprend moins d'1 Go de RAM (dans ce cas précis, prévoir le double de la taille de la RAM). Si vous prévoyez d'utiliser l'hibernation, le swap doit être au moins égal à la valeur de la RAM. Si votre machine compte plus de 2 Go de RAM et que vous ne comptez pas utiliser l'hibernation ou de traitements lourds (gros développements, traitements photos/vidéos), vous pouvez ne pas avoir de swap.
  • /: entre 12-25 Go pour ne pas être à l'étroit (selon ce que vous comptez installer, pour pouvoir conserver le cache de pacman, etc.).
  • /home: ce qui vous reste.
Astuce: Une table de partition de type MBR est limité à 4 partitions primaires. Pour avoir toute latitude de modifier votre partitionnement à l'avenir (redimensionner des partitions, prévoir de la place pour un autre système, etc.), il est préférable de passer par une partition étendue que vous pourrez subdiviser facilement.
Pour des partitionnements plus avancés, vous pouvez vous référer à la catégorie partitionnement.

Formatage

La commande mkfs permet de formater les partitions dans le système de fichiers que vous voulez. Pour avoir les alias de commande, il suffit de taper mkfs suivi de Tab. Pour l'exemple, formatons/boot en ext2/ et /home en ext4 :
mkfs.ext2 /dev/sda1
mkfs.ext4 /dev/sda3
mkfs.ext4 /dev/sda4
La swap est créée en utilisant mkswap :
mkswap /dev/sda2

Montage des partitions

Il faut monter les partitions précédemment créées sous le dossier /mnt afin d'y installer le système. On utilise pour cela la commande mount:
mount /dev/sda3 /mnt && mkdir /mnt/{boot,home} && mount /dev/sda1 /mnt/boot
# Pour créer le(s) dossier(s) utilisateur, il nous faut monter la partition /home
mount /dev/sda4 /mnt/home
Le swap doit également être activé pour être détecté lors de la création du fstab à suivre:
swapon /dev/sda2
Note: Les && sont là pour ne pas créer des dossiers dans le système du live si une commande échoue et nous induire en erreur.

Connexion au réseau

Important: Cette étape ne concerne que la connexion réseau depuis le livecd. Elle ne vous dispense pas de configurer votre réseau une fois démarré sur votre Arch nouvellement installée.
Dans le cas le plus simple, vous êtes connecté en filaire et votre réseau a un serveur DHCP, dans ce cas, vous avez dû être connecté lors du démarrage du live.
Autrement, il vous faut configurer votre réseau en vous assurant d'abord d'avoir arrêté le service dhcpcd :
systemctl stop dhcpcd.service
Note: En Wifi, si votre carte est déjà détectée, vous pouvez vous connecter rapidement en utilisant la commande wifi-menu fourni avec netctl. Pour réutiliser cette commande dans le système installé, il faut aussi le paquet dialog.
Sur l'iso de Mai, le paquet netctl a été oublié, il vous faudra vous rabattre sur les outils de base.

Installation du système de base

Important: À partir de maintenant, vous installerez les paquets dans le nouveau système monté sur /mnt. Par exemple, si vous tapez une commande du type "pacman -S nom_du_paquet", celui-ci sera installé sur le système en cours d'exécution, soit le live cd/usb. Pour installer sur le nouveau système, utilisez "pactrap /mnt nom_du_paquet", ou attendez de chrooter dans le nouveau système.
Note: Afin que pacman (et pacstrap) puisse vérifier la validité des paquets téléchargés, il est nécessaire que la date soit correcte. Dans le cas contraire, vous ne pourrez rien installer!
Vous pouvez modifier la date avec la commande
date -s "16/05/2014"
Avant l’installation, il peut être intéressant de modifier /etc/pacman.d/mirrorlist pour bénéficier d'un miroir plus proche de chez vous.
Il suffit d'utiliser le script pacstrap en lui indiquant le dossier correspondant à la racine du système suivi des paquets ou groupes à installer (séparés par un espace). Pour le système de base :
pacstrap /mnt base
Vous pouvez trouver la liste des paquets ou groupes dans les liens suivants : paquets / groupes i686 / groupes x86_64 .
Note: Vous pouvez par exemple en profiter pour installer le groupe base-devel, nécessaire à l'utilisation de AUR:
pacstrap /mnt base base-devel
Important: Pour configurer le wifi sur votre nouveau système et éviter d'avoir à redémarrer sur votre CD pour installer des paquets nécessaires, n'oubliez pas d'installer également: wireless_tools,wpa_supplicant si vous vous connectez en WPA et éventuellement les paquets des pilotes de votre carte wifi si celle-ci nécessite un pilote particulier.
Si vous voulez utiliser wifi-menu pour vous connecter sur votre système de base installez aussi dialog
Concernant ces aspects, lisez attentivement les sections Connexions_reseau et Wifi.

Chargeur de démarrage

Pour installer Syslinux:
pacstrap /mnt syslinux
Ou GRUB:
pacstrap /mnt grub
D'autres chargeurs de démarrage sont bien sûr disponibles. Pour une installation avancée, se référer à la documentation du bootloader choisi.

Configuration

Important: Un aperçu de la configuration ainsi que les différentes pages wiki sont disponibles dans la catégorie Configuration.
Pour les éditions des fichiers de configuration, vous pouvez soit utiliser l'un des utilitaires contenus dans base tel que vi ou nano, soit en installer un.
Pour une configuration de base :
  • Générer le /etc/fstab :
    genfstab -U -p /mnt >> /mnt/etc/fstab
Chrooter dans le nouveau système :
arch-chroot /mnt
  • Éditez le fichier /etc/locale.gen et décommentez votre locale
  • Puis exécutez locale-gen
  • En supposant que vous avez décommenté fr_FR.UTF-8, ajoutez la ligne suivante au fichier /etc/locale.conf (voir locale) :
    LANG="fr_FR.UTF-8"
  • Vous pouvez spécifier la locale pour la session courante (ça évitera des messages d'alerte par la suite) avec la commande :
    export LANG=fr_FR.UTF-8
  • Éditez le fichier /etc/vconsole.conf afin d'y spécifier la disposition du clavier que vous souhaitez utiliser.
    KEYMAP=fr-pc
  • Créez un lien symbolique /etc/localtime afin de choisir votre fuseau horaire, par exemple:
    ln -s /usr/share/zoneinfo/Europe/Paris /etc/localtime
  • Configurez le chargeur de démarrage.
    • Pour syslinux, il suffit d'éditer /boot/syslinux/syslinux.cfg et vérifier si root pointe bien vers la bonne partition (/dev/sda3 dans notre exemple de schéma de partitionnement) puis, pour une installation sur le MBR, lancez :
      syslinux-install_update -iam
    • Pour GRUB:
      grub-install --no-floppy --recheck /dev/sda
      Puis générez le fichier grub.cfg :
      grub-mkconfig -o  /boot/grub/grub.cfg
      Réferez-vous à la documentation de GRUB pour une configuration avancé.
  • Définissez un mot passe pour le root :
    passwd

Démonter le tout

Sortez de l'environnement chroot (exit ou Ctrl+D), puis :
umount /mnt/boot /mnt/home /mnt
Vous pouvez maintenant rebooter l'ordinateur.

Création d'un utilisateur

Maintenant, il vous faut créer votre utilisateur avec lequel vous vous connecterez. Vous pouvez affecter l'utilisateur à certains groupes, en fonction des tâches qui seront effectuées. Je vous conseille de lire la page utilisateurs et groupes.
Identifiez vous en root, avec le mot de passe défini à l'installation. Tapez ensuite :
useradd -g users -m -s /bin/bash <nom utilisateur>
passwd <nom utilisateur>
Important: À l'usage, il est essentiel de faire le distinguo entre un compte utilisateur et le compte root qui sert à administrer votre machine. N'abusez pas des commandes en root ! Qu'il s'agisse desu ou de sudo, réservez-les à la maintenance de votre système (mise à jour, configuration, etc.) mais surtout pas pour contourner des problèmes que vous rencontrez en tant que «simple» utilisateur (cherchez plutôt du côté configuration: lui manque-t-il un groupe ? la configuration est-elle complète ? … ).

Etc.

Maintenant continuez la configuration et apprenez à utiliser pacman. (Par exemple avec l'interface graphique suivi d'un environnement graphique.)
Astuce: Pensez également à suivre l'actualité d'Arch afin que certaines mises à jour de votre système se passent au mieux.
Astuce: Jetez également un œil sur les «bonnes pratiques» qui vous aideront à conserver votre Arch stable.