ArchLinux et Cinnamon

ArchLinux, c'est pas de la petite bière ; c'est du brutal ! Néophytes s'abstenir. Par contre, si vous n'avez pas peur de la ligne de commande et que vous connaissez déjà le fonctionnement de Linux, de sa structure, de ses services, vous bénéficierez d'un ordinateur réglé au millimètre et des dernières versions des logiciels, en permanence.

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).

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.

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.

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
Si cette ligne vous effraie, utilisez 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

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.

Une fois installé, Linux Arch n'utilisera pas DHCP par défaut, il faudra le lui demander poliment.

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

J'ai prévu un disque virtuel, de capacité totale 25 Gio, réservé exclusivement à Arch Linux.

Si vous travaillez sur une machine réelle, prenez garde à ce que vous faites, notamment si le disque dur contient des données ou un système que vous désirez conserver. Ce tutoriel ne prend pas en compte ces cas-là. Tout ce qui est présent sur le disque sera détruit !

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).

Sur une machine réelle destinée à une utilisation personnelle, je réserve 20 à 25 Gio pour le système, 1,5 fois la capacité de RAM (mémoire vive) pour le swap, et le reste pour les données personnelles.

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 /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) :

  1. /dev/sda1 pour la racine du système /
  2. /dev/sda2 pour le /home qui contiendra les données personnelles de l'utilisateur
  3. /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).
  • a permet de rendre une partition bootable.
  • 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].

Rendre la partition 1 bootable : [a][entrée] 1[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é.

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

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

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.

Ceci doit être effectué avant le redémarrage de la machine !

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

J'indique mon fuseau horaire par un lien symbolique (la commande timedatectl ne fonctionne pas en chroot) :

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

Appliquer et utiliser les locales :

locale-gen
source /etc/locale.conf

Indiquer que l'on veut un clavier français dans les consoles virtuelles, afin de ne plus à avoir à utiliser loadkeys :

echo 'KEYMAP=fr' > /etc/vconsole.conf

Créer les RAMdisks initiaux avec :

pacman -S mkinitcpio linux
mkinitcpio -p linux

Définir le mot de passe root :

passwd
Vous pourrez redéfinir ce mot de passe plus tard, quand vous serez assuré que tout fonctionne. Utilisez donc pour l'instant des caractères qui sont invariables d'un clavier qwerty à un clavier azerty.

Autoriser les membres du groupe wheel à utiliser sudo :

nano /etc/sudoers

Décommenter la ligne qui contient %wheel ALL=(ALL) ALL. Enregistrer et quitter.

Installation du bootloader GRUB (pour démarrer le système) :

pacman -S grub
grub-mkconfig -o /boot/grub/grub.cfg
grub-install --target=i386-pc --no-floppy --recheck /dev/sda

Installation de dhcpcd pour retrouver le réseau:

pacman -S dhcpcd

On sort du chroot, avec exit ou ctrl-D, et on démonte /mnt :

umount -R /mnt

On redémarre :

reboot
Au redémarrage, si vous avez laissé l'image iso d'installation, choisissez la deuxième option à l'écran.

Le réseau ne fonctionne plus ! La commande

ip address show

montre que la carte ethernet enp0s3 n'a pas d'IP.

On la réveille :

ip link set enp0s3 up

On demande au serveur DHCP de lui fournir tout le nécessaire :

dhcpcd enp0s3

On vérifie avec ip address show que tout s'est bien passé.

Pour ne pas avoir à recommencer les prochaines fois :

systemctl enable dhcpcd@enp0s3.service

Et parce qu'ils sont bien pratiques, on installe les net-tools (ifconfig, etc):

pacman -S net-tools

Xorg est le serveur graphique. On l'installe :

pacman -S xorg xorg-apps

Validez tous les choix.

On installe Cinnamon et tout ce qui est utile à son fonctionnement :

pacman -Suy cinnamon cinnamon-translations cjs muffin nemo

On installe LightDM et son greeter gtk :

pacman -S lightdm lightdm-gtk-greeter

Configuration :

nano /etc/lightdm/lightdm.conf

Dans la section [Seat:*], inscrire la ligne : greeter-session=lightdm-gtk-greeter (Pour sortir : ctrl-X O [entrée])

Activer le service lightdm, pour qu'il soit démarré automatiquement :

systemctl enable lightdm.service

L'éditeur geany et ses plugins :

pacman -S geany geany-plugins

Le serveur et le client ssh :

pacman -S openssh

Les extensions de nemo (gestionnaire de fichiers) :

pacman -S nemo-image-converter nemo-preview nemo-share nemo-terminal

Pour avoir la liste complète des extensions :

pacman -Ss nemo

Firefox :

pacman -S firefox firefox-i18n-fr

Les fontes noto :

pacman -S noto-fonts noto-fonts-extra

Un terminal:

pacman -S gnome-terminal

Allez, hop ! Un petit

reboot

(C'est pas bien. Mais c'est pratique.)

Peu après le démarrage, la fenêtre de connexion graphique (LightDM) s'affiche. On se connecte en root, puisqu'il n'existe pas encore d'autre utilisateur.

Dans Cinnamon, on continue la configuration (Menu / Préférences / Paramètres système).

(Oui. Encore !)

Dans la section Matériel : Clavier, puis onglet Agencement. Ajouter (+). Perso je prends le premier clavier français de la liste, sans rien entre parenthèses, et je m'en porte très bien. Vous pouvez retirer le clavier anglais si vous n'en avez pas besoin. Ne toucher à rien d'autre ; fermer la fenêtre Clavier.

Dans la section Administration, vous pouvez ajoutez un utilisateur. Donnez-lui le profil d'administrateur. Pensez à lui attribuer un mot de passe.

Déconnectez-vous en tant que root, connectez-vous avec ce compte utilisateur… et recommencez pour le clavier. (Oui, je sais !)

Exécuter :

sudo pacman -S archlinux-keyring

puis recommencer l'installation du paquet en question.

  • linuxaddict/installer/archlinux.txt
  • Dernière modification : 04/06/2024, 01:56
  • de Claude Clerc