{{tag>Archlinux arch Cinnamon VirtualBox}} ====== 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. {{youtube>E7j2lGc2f-Q?medium}} 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 [[https://archlinux.fr/telecharger|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 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 ==== 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. Une fois installé, Linux Arch n'utilisera pas DHCP par défaut, il faudra le lui demander poliment. ==== 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. 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) : - /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 **m**enu (rappel des touches). * p permet d'afficher la table des **p**artitions. * n permet de créer une **n**ouvelle partition. * l permet de connaître la **l**iste 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 (**w**rite) 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 ==== 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. ===== 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 ===== * [[https://archlinux.fr/telecharger|Télécharger Arch Linux]] * [[https://wiki.archlinux.fr/Installation#Pr.C3.A9paration_avant_l.27installation|Préparation avant l'installation]] * [[https://wiki.archlinux.fr/Keyboard|Clavier]] * [[https://wiki.archlinux.fr/Locale|Locale]] * [[https://wiki.archlinux.fr/Horloge|Horloge]] * [[https://wiki.archlinux.fr/Cat%C3%A9gorie:Partitionnement|Partitionnement du disque dur]] * [[https://wiki.archlinux.org/index.php/Systemd| Systemd (services et daemons)]] * [[https://wiki.archlinux.fr/Xorg|Xorg (serveur graphique)]] * [[https://wiki.archlinux.org/index.php/cinnamon|Installation de Cinnamon]] * [[https://wiki.archlinux.org/index.php/LightDM|Installation de LightDM (authentification en mode graphique)]] * [[https://ostechnix.com/yay-found-yet-another-reliable-aur-helper/|Installer yay pour utiliser les AUR]] (en anglais) * [[https://www.linuxadictos.com/fr/comment-nettoyer-les-paquets-dans-arch-linux.html|Comment nettoyer les paquets dans ArchLinux]] ---- {{counter|today| personne a visité cette page aujourd'hui| personnes ont visité cette page aujourd'hui}} et {{counter}} en tout.