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 /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).
- 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é.
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
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
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
Installation de Cinnamon & Co
Retrouver le réseau !
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
Xorg est le serveur graphique. On l'installe :
pacman -S xorg xorg-apps
Validez tous les choix.
Cinnamon
On installe Cinnamon et tout ce qui est utile à son fonctionnement :
pacman -Suy cinnamon cinnamon-translations cjs muffin nemo
LightDM
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
Paquets nécessaires
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
Ça redémarre !
Allez, hop ! Un petit
reboot
Premier lancement de Cinnamon en root
(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).
Clavier
(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.
Ajouter un utilisateur
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 !)
En cas de problème de signature de paquet
Exécuter :
sudo pacman -S archlinux-keyring
puis recommencer l'installation du paquet en question.
Liens
- Installer yay pour utiliser les AUR (en anglais)
2 personnes ont visité cette page aujourd'hui et 1284 en tout.