Ceci est une ancienne révision du document !
ArchLinux et Cinnamon
Il a fallu que j'installe ArchLinux, pour voir pourquoi une de mes applets Cinnamon n'y fonctionnait pas correctement, d'après un utilisateur.
Je me suis contenté de l'installer dans une VM de VirtualBox, avec un disque virtuel de 25 Gio alloués dynamiquement, sans problèmes liés à l'EFI ou au multiboot ou au partitionnement de disque ou au Wifi ou …
Voici ma démarche, après quelques tâtonnements et avec beaucoup de doc (en liens en bas de cette page), que je vous conseille de lire attentivement si vous faites une installation dans un cas délicat (multiboot avec EFI, par exemple).
Télécharger la distribution ArchLinux
L'image iso de la distribution est renouvelée chaque mois, ce qui permet de limiter raisonnablement les mises à jour nécessaires après installation.
Vous trouverez les liens vers les miroirs de téléchargement ou les liens bittorrent à partir de cette page.
Pré-installation
Classiquement, on boote sur l'iso dans une VM de VirtualBox.
Le boot dure quelques secondes et on se retrouve devant un magnifique # qui signale qu'on est root et que la console est à nous ! Pas d'interface graphique et un clavier qwerty ; la joie nous submerge.
Clavier et locale
Première chose : un clavier qui ne nous déroute pas ! Sauf que la première commande pour obtenir un clavier français, qui est loadkeys fr-pc
, doit être tapée :
loqdkeys fr)pc
Ouf ! Les a restent des a, etc. C'est suffisant pour notre installation.
Indiquons à présent que l'on veut pouvoir utiliser un système francisé. La liste des locales en français s'obtient ainsi :
cat /etc/locale.gen | grep fr
Toutes les lignes affichées commencent par un #, ce qui signifie qu'elles sont ignorées. Supprimons le # devant fr_FR.UTF-8 UTF-8
:
sed -r 's/^#fr_FR\.UTF\-8.*$/fr_FR\.UTF\-8\ UTF\-8/g' /etc/locale.gen > /etc/locale.gen2 mv /etc/locale.gen2 /etc/locale.gen
nano /etc/locale.gen
, supprimez le # devant la ligne choisie et quittez par ctrl-X puis Y.
On génère les locales :
locale-gen
Liste des locales installées :
locale -a
On indique ses préférences en matière de locale dans /etc/locale.conf
:
nano /etc/locale.conf
Y inscrire les lignes :
# Spécifier fr par défaut LANG="fr_FR.UTF-8" # Substituer l'anglais au français si la traduction n'existe pas LANGUAGE="fr_FR:en_US" # Mais garder un tri par défaut LC_COLLATE=C
On quitte nano avec ctrl-X puis Y (pour Yes ; la prochaine fois, vous utiliserez O pour Oui !)
Utiliser ces paramètres immédiatement :
source /etc/locale.conf
Réseau
Vérifier que le réseau fonctionne (il devrait si un serveur DHCP vous fournit tout le nécessaire, que ce soit votre box ou VirtualBox (réseau NAT).
ip address show
Votre carte réseau porte un doux nom du type enp0s3
au lieu de eth0
. Ne vous laissez pas impressionner par ce genre de détail.
Horloge et fuseau horaire
Indiquez quel est votre fuseau horaire :
timedatectl set-timezone Europe/Paris
Synchronisez votre horloge système (pas celle du BIOS, qui ne sera pas modifiée) afin que les installations de paquetages puissent se faire sans douleur :
timedatectl set-ntp true
Vérifiez la date et l'heure :
timedatectl
Partitionnement du disque dur virtuel
J'ai prévu un disque virtuel, de capacité totale 25 Gio, réservé exclusivement à Arch Linux.
C'est une machine de test, donc je laisse la priorité au système qui pourra occuper jusqu'à 15 Gio. Je garde 9 Gio pour des données personnelles et 1 Gio pour la partition de swap (qui ne sera certainement jamais utilisée dans cette VM).
J'utilise l'utilitaire fdisk
pour partitionner le disque dur. Comme c'est le seul disque de ma VM, il porte le doux nom de nom de /dev/sda (device sata disk a ; le second serait /dev/sdb, etc).
Comme on n'a besoin que de trois partitions sur ce disque dur, on n'utilisera que des partitions primaires (le maximum est 4) :
- /dev/sda1 pour la racine du système /
- /dev/sda2 pour le /home qui contiendra les données personnelles de l'utilisateur
- /dev/sda3 pour la partition de swap.
C'est parti :
fdisk /dev/sda
Pour piloter fdisk
, on utilise des commandes que l'on appelle d'une touche.
- m permet d'afficher le menu (rappel des touches).
- p permet d'afficher la table des partitions.
- n permet de créer une nouvelle partition.
- l permet de connaître la liste des types de partition possibles ; nous n'en utiliserons que deux : 83 (Linux) et 82 (swap).
- w permet d'écrire (write) la table des partitions et de quitter.
- q permet de quitter sans rien enregistrer.
Première partition : Appuyer successivement sur les touches : [n][entrée] [p][entrée] [entrée] [entrée] +15G[entrée].
Deuxième partition : [n][entrée] [p][entrée] [entrée] [entrée] +9G[entrée].
Troisième partition : n][entrée] [p][entrée] [entrée] [entrée] [entrée].
Afficher la table des partitions : [p] [entrée]
Écrire la table des partitions sur le disque et quitter : [w] [entrée]
Pas très compliqué.
Formater les partitions
Les partitions /dev/sda1 et /dev/sda2 doivent être formatées pour pouvoir recevoir des données.
mkfs.ext4 /dev/sda1 mkfs.ext4 /dev/sda2
La partition de swap est préparée avec la commande :
mkswap /dev/sda3
Monter les partitions
Afin d'installer le système sur le disque dur, il faut monter les partitions /dev/sda1 et /dev/sda2 et prévoir de pouvoir utiliser le swap :
mount /dev/sda1 /mnt mkdir /mnt/home && mount /dev/sda2 /mnt/home swapon /dev/sda3
Installation du système de base
La commande magique :
pacstrap /mnt base base-devel
La durée de l'opération dépend de la qualité de votre connexion réseau.
Configuration
Générer le futur fichier /etc/fstab
qui contient la table des partitions.
genfstab -U -p /mnt >> /mnt/etc/fstab
Vérifier son contenu :
cat /mnt/etc/fstab
Vérifier que les UUID (Universal Unique IDentifier) des partitions correspondent bien à ce qui est indiqué dans /mnt/etc/fstab:
blkid /dev/sda1 blkid /dev/sda2 blkid /dev/sda3
Recopier les fichiers de configuration des locales :
cp /etc/locale.* /mnt/etc/
Chrooter dans le nouveau système (chroot = changer de racine) :
arch-chroot /mnt
(Vous remarquerez que l'invite de commande a changé. Vous voici dans votre nouveau système. Inutile désormais de faire référence à /mnt.)
J'ai décidé d'appeler ma machine archtux
; je l'indique au système :
echo archtux > /etc/hostname echo '127.0.0.1 localhost.localdomain localhost' >> /etc/hosts echo '127.0.1.1 archtux.localdomain archtux' >> /etc/hosts