ArchLinux pour les nuls
PARTIE 1 : la recherche puis la découverte
N’y voyez pas là une insulte ou une attaque mais c’est la mode de nos jours. Les « newbies » ou « noobs » sont nombreux. Ils sont là, tapis dans l’ombre et aiment à se jeter inexorablement vers le premier « barbus » ou geek connecté sur messagerie instantanée ou IRC.
Mais, après mure réflexion, j’en viens à une conclusion inéluctable : nous avons tous été « newbie », … un jour. Et voilà-t-y-pas que je me retrouve à endosser l’habit du « jeune bleu » quand il s’agit d’installer une distribution Gnu/Linux qui jusqu’alors m’était totalement inconnue. J’ai nommé : ArchLinux...
J’en avais bien entendu parlé, à plusieurs reprises, sans pour autant y prêter plus d’attention. Mais en ces temps difficiles où mon bureau n’a plus envie d’être « ubuntu-isé » sous une quelconque forme, je me suis rué vers les sites spécialisés qui recensent les différentes distributions Gnu/Linux et leurs actualités… Après étude des différentes caractéristiques et projets des unes et des autres, mon attention a été attirée par ArchLinux.
Pourquoi ? Notamment par ces petites phrases :
« Arch Linux est une distribution légère et rapide dont le concept est de rester la plus simple possible (philosophie KISS)». Là ça commence plutôt bien, mais ArchLinux n’est pas la seule distribution Gnu/Linux dans ce cadre.
Continuons :
« Les paquetages sont optimisés pour les processeurs i686 et la nouvelle génération 64bits. Les dépôts officiels [core], et [extra] sont complétés à la fois par le dépôt de paquets [community] et par le site AUR tous deux gérés par la communauté d’utilisateurs ». Humm …Un esprit communautaire avoué et marqué, l’intervention directe des utilisateurs. C’est très bien ça !
Complétons :
« Notre puissante communauté vient de différents horizons et ses membres qui ont différents niveaux de compétence viennent facilement en aide aux autres. N’hésitez pas à aller voir nos forums, nos wikis et les mailings listes pour plonger dans cette fantastique distribution ». C’est bien : ça sent bon la communauté dynamique et le « participatif ».
Et enfin on termine le bref tour d’horizon par le niveau technique :
« Arch Linux est une distribution flexible que vous pourrez modeler pour en faire tout ce que vous voulez ». Flexibilité, modelage. Intéressant. Surement chronophage, mais drôlement intéressant.
« Elle est rapide, légère, complète et la plupart des pièces sous le capot sont facilement compréhensibles et adaptables, ce qui la rend particulièrement adaptée à l’apprentissage des mécanismes de Linux ». Bingo : ça tombe bien. J’ai particulièrement envie de me replonger dans Linux, histoire de ne pas en rester sur des « Contrôles Centers » et autres « auto-configurations ». Par contre je pars de loin… Ça va demander du temps et de l’investissement.
« … pas besoin d’outils de configuration … ce qui vous rendra rapidement compétant dans la configuration de votre système et vous habituera en douceur à l’utilisation de la ligne de commande». Eh, oh ! Je viens de le dire ça ! Donc, je valide.
Et enfin, un argument que je recherchais tout particulièrement :
« Arch Linux utilise un système de « release tournante ». Bon, pas de jeux de mots bien gras ici SVP. Autrement dit, « rolling-release », c’est-à-dire un système de développement logiciel en continu. Important ! J’en avais marre de réinstaller mon Gnu/Linux à chaque changement de version en raison d’incompatibilités.
« Donc, pour résumer Arch Linux est une distribution conçue pour satisfaire la demande d’utilisateurs linux compétents ou pour les utilisateurs qui ont soif de connaître davantage les arcanes GNU/Linux. Le principe est de la garder « puissante » et facile à gérer, la rendant idéale pour les serveurs et stations de travail. Utilisez-la dans la direction que vous souhaitez. »
C’est extra ! Bon, ben c’est parti alors ?!! On installe ?
PARTIE 2 : les tests
Avant de me lancer dans une installation « en réel » sur mon PC maison (Phenom II x6 1090T black, 4 Go DDR3, 1 To DD, Radeon HD 6850), je me suis orienté vers des tests d’installation sous Virtualbox, afin de me former.
L’installation d’ArchLinux peut en surprendre plus d’un : pas d’installateur graphique. Tout est à la main et dès le premier boot, on se retrouve en ligne de commande, connecté en root. Point. Et à partir de là, il faut suivre certaines étapes essentielles, comme dans une bonne vieille recette de Veau Marengo (oui, j’aime le veau marengo, et alors ?).
Heureusement, certains sites bien intentionnés apportent toutes (ou presque…) les explications pour installer cette distribution encore un peu énigmatique pour moi à ce stade de mon apprentissage. Notamment, le wiki d’archlinux.fr est une bible indispensable. Parfois complété par le wiki d’archlinux.org (en anglais), un poil plus complet.
Sous Virtualbox, pas de soucis majeurs. Le partitionnement (avec mon ancien copain cfdisk), le formatage, l’installation de base du système (pacstrap) se passe sans difficulté. Avec une bonne connexion (1,5 Mo/s), c’est assez rapide (quelques minutes). Puis vient la génération du fstab, le passage sous chroot, la génération des locales (étape tant redoutée tellement j’en ai bavé sous Debian… à l’époque), le zoneinfo, le hostname, l’horloge et le réseau. On met à jour la liste de miroirs (là ça me rappelle Debian), on crée les utilisateurs + mdp, etc.
Puis on s’intéresse de près à un nouvel outil pour moi : pacman. Pacman est à Archlinux ce que apt-get est à Debian. En gros, hein ?!! Une fois repéré les options de base « qui vont bien », ça roule vraiment tout seul.
Et on installe finalement le boot-loader (grub-bios dans mon cas), on « démonte » tout et on reboot. Et, si tout c’est bien passé, on se retrouve sur notre système tout frais, tout neuf… mais tout nu ! Ah oui madame : car là, c’est livré sans fioriture aucune. C’est du tout nu de chez tout nu. Il va falloir tout faire nous-même : installer X, le Window manager, etc. et toutes les applications « qui vont bien ». Bref, il va falloir « un peu de temps ».
Dans mon cas, les essais sous Virtualbox ont été importants et m’ont permis de repérer les différentes étapes importantes de l’installation et de la configuration. J’ai aussi recoupé les informations et conseils de plusieurs sites afin d’obtenir au final une petit recette perfectible, très certainement, mais qui me permet de tenir le « fil rouge »… et de ne pas franchir la ligne jaune !
PARTIE 3 : installation, configuration
Mon objectif ? Avoir un système le plus fonctionnel possible avec une base d’applications qui me sont « indispensables » : firefox, filezilla, pidgin, qbittorrent, traitement de texte et tableau, thunderbird, xchat, xfburn, conky, check gmail, etc. J’ai choisi XFCE comme environnement de bureau.
Je vous propose maintenant différentes étapes qui vont vous permettre d’installer ArchLinux (L’iso de base convient aussi bien aux systèmes 32 bits qu’aux système 64 bits. Si votre système est 64 bits, vous choisirez l’option au boot) avec un environnement « par défaut », agrémenté du serveur X avec un windows manager minimaliste (twm). Bon ben… c’est parti.
1 – démarrage :
Vous bootez sur l’iso d’ArchLinux puis vous vous retrouvez sur l’écran de boot. Choisissez votre système : 64 ou 32 bits. Vous arrivez sur un shell root … en anglais (c’est du qwerty).
Il faut donc de suite, pour plus de facilité, changer le clavier en FR en tapant la commande suivante :
loadkeys fr-pc
Petits conseils : le « q » est sur le « a » et le tiret (du 6) est le signe – (moins) du pavé numérique. Vérifiez de suite si vous avez du réseau par :
Ping -c 3 www.google.com
Théoriquement il ne devrait pas y avoir de problème car le démon dhcp est lancé au démarrage. Je vous recommande vraiment de faire l’installation en étant connecté par câble au réseau. Ça sera beaucoup plus simple, dans un premier temps que par wifi par exemple. Si au boot, vous n’avez pas de réseau, il va falloir le configurer manuellement.
(voyez ici : http://wiki.archlinux.fr/Connexions_reseau).
2 – Partitionnement :
Vient l’étape importante du partitionnement. Je pars du principe que votre disque dur est vierge. Le partitionnement sera sensiblement similaire si vous avez déjà un système d’exploitation sur votre PC (c’est mon cas avec Windows 7). Il faudra faire attention de ne pas toucher aux partitions de Windows.
Vous disposez de différents utilitaires disponibles pour partitionner votre disque : fdisk, parted, cfdisk, etc. Personnellement j’utilise cfdisk.
Voyez le wiki pour les détails (http://wiki.archlinux.fr/Installation#Partitionnement).
Voyez également l’image suivante qui correspond à mes tests sous Virtualbox (avec un disque de 30 Go).
Une fois votre partitionnement effectué, il va falloir formater ces partitions : j’utilise ext2 pour /boot et ext4 pour / et /home ce qui donne dans ce cas d’exemple (voir image) :
/dev/sda1 = /boot /dev/sda2 = swap /dev/sda3 = / /dev/sda5 = /home
Nous entrons donc les commandes suivantes pour formater les partitions :
mkfs.ext2 /dev/sda1 mkfs.ext4 /dev/sda3 mkfs.ext4 /dev/sda5
On crée aussi la swap :
mkswap /dev/sda2
3 – Montage des partitions
Puis, il faut monter les partitions que nous venons de créer :
# mount /dev/sda3 /mnt # mkdir /mnt/boot # mkdir /mnt/home # mount /dev/sda1 /mnt/boot # mount /dev/sda5 /mnt/home
… et on oublie surtout pas d’activer la swap :
swapon /dev/sda2
4 – Pacman
Je vous propose de suite d’aller voir le fichier de configuration des miroirs de pacman qui va nous permettre de préciser un miroir français, ce qui facilitera la réception des paquets en raison d’une bande passante certainement bien meilleure qu’un miroir situé à l’autre bout de la planète :
nano /etc/pacman.d/mirrorlist
Il vous suffit d’aller à la ligne du premier miroir FR et de faire Alt+6 afin de copier la ligne. Puis rendez-vous en début de fichier et copier la ligne avec Ctrl+u (voir image). Enregistrez.
5 – Installation du système de base
Autre étape très importante, nous allons maintenant installer le système de base par la commande suivante :
pacstrap /mnt base base-devel
Là, il y a pas mal de chose à télécharger donc selon votre bande passante, votre PC, etc. le temps peut varier.
6 – /etc/fstab
Puis nous allons créer ou éditer quelques fichiers de configuration et en premier lieu : /etc/fstab. Nous allons directement le créer par la commande suivante :
genfstab -U -p /mnt >> /mnt/etc/fstab
7 – locales
Ceci fait, occupons-nous des locales qui vont permettre l’utilisation en français de votre environnement de travail. Nous allons éditer /etc/locale.gen et dé-commenter la ligne fr_FR.UTF-8 qui correspond au français (voir image). Enregistrez. De suite lancez la commande suivante :
locale-gen
… ce qui va générer les locales.
8 – chroot
Il nous faut maintenant chrooter le nouveau système avec la commande suivante :
arch-chroot /mnt
9 – Configurations
De suite, profitez-en pour renseignez le nom de la machine dans le fichier /etc/hostname.
Éditez/créez le fichier /etc/vconsole.conf afin d’y spécifier la disposition du clavier que vous souhaitez utiliser et ajoutez la ligne suivante :
KEYMAP=fr-pc
Vous devez aussi créer un fichier /etc/locale.conf avec la ligne suivante :
LANG=fr_FR.UTF-8
Nous allons ensuite configurer le time-zone en entrant la commande suivante :
ln -s /usr/share/zoneinfo/Europe/Paris /etc/localtime
Puis nous configurons /etc/mkinitcpio.conf et créons les ramdisk avec :
mkinitcpio -p linux
Si vous êtes sur système 64 bits, vous devez activer le dépôt [multilib] qui vous donne une compatibilité 32-64 bits :
nano /etc/pacman.conf
Puis dé-commentez les 3 lignes :
[multilib] SigLevel = PackageRequired Include = /etc/pacman.d/mirrorlist
Puis mettez à jour vos dépôts avec la commande suivante :
pacman -Sy
10 – Réseau
On a vu tout à l’heure que vous devriez déjà disposer d’une connexion au Net par l’intermédiaire du dhcp. Vous devez maintenant activer le service Réseau sur votre nouvelle configuration. Pour le configurer en arrière-plan (service), vous devez utiliser systemctl en faisant :
systemctl enable dhcpcd.service
Si vous êtes sur un portable et que prévoyez d’utiliser le wifi, vous devriez installer les paquets suivants (je n’ai pas testé car je ne suis pas connecté en wifi) :
pacman -S wireless_tools wpa_supplicant wpa_actiond dialog
… En même temps, on découvre « pacman » qui avec l’option –S permet d’installer les paquets (-Ss pour rechercher des paquets).
Pour le wifi, taper la commande suivante :
Wifi-menu
Cela aura pour effet de créer votre profile dans /etc/network.d, puis vous devez activer le service wireless avec la commande suivante :systemctl enable net-auto-wireless.service
systemctl enable netctl-auto@interface.service
11 – Utilisateurs
Créez le mot de passe root avec la commande :
passwd
Puis créez votre nouvel utilisateur puis son mot de passe avec les commandes suivantes :
useradd -m -g users -G wheel,storage,power -s /bin/bash machinbidule
passwd machinbidule
Évidemment, le user machinbidule est un exemple !
Personnellement, j’ai installé sudo (bien pratique je trouve). Pour se faire, rentrez la commande suivante :
pacman -S sudo
Une fois sudo installé, on va autoriser le nouvel utilisateur à “utiliser” cette commande en éditant le fichier de configuration avec la commande suivante :
visudo
Si vous n’êtes pas familiarisé avec l’éditeur vi, vous pouvez aussi utiliser visudo avec nano en faisant comme suit :
EDITOR=nano visudo
Une fois le fichier ouvert, allez vers le bas du fichier et dé-commentez la ligne suivante :
%wheel ALL=(ALL) ALL
Enregistrez. Ceci va permettre à tous les membres du groupe wheel (auquel votre utilisateur appartient puisque nous avons précisé cette option lors de la création de l’utilisateur) d’utiliser sudo.
12 – bootloader : grub
Nous allons maintenant installer le bootloader qui va vous permettre de démarrer ArchLinux mais aussi d’éventuels autres système présents sur votre PC (comme un Windows par exemple…).
Pour installer grub, tapez les commandes suivantes (en remplaçant éventuellement /dev/sda par le véritable emplacement de votre disque) :
pacman -S grub
(avant il fallait installer : grub-bios)
grub-install --no-floppy --recheck /dev/sda
cp /usr/share/locale/fr/LC_MESSAGES/grub.mo /boot/grub/locale/fr.mo
Si vous êtes en dual-booting (avec un Windows), installez os-prober :
pacman -S os-prober
Puis tapez la commande suivante :
grub-mkconfig -o /boot/grub/grub.cfg
Cela va créer le fichier de configuration pour votre boot-loader.
ATTENTION (au 12/12/13) : un bug ne permet plus d’installer grub correctement. J’en ai été “victime” dernièrement lorsque j’ai voulu installer Arch Linux sur mon nouveau PC Portable. Plusieurs erreurs apparaissent à cette étape (grub-mkconfig) et plantent l’installation de grub. Sans cette manip, il est purement impossible de rebooter sur Arch.
Editez /etc/default/grub et, en toute fin de fichier, rajoutez ceci :
# Fix broken grub.cfg GRUB_DISABLE_SUBMENU=y
… et l’install de grub se passera beaucoup mieux
On peut aussi installer “grub-git” depuis AUR (avec yaourt) qui semble ne pas donner pas de message d’erreur (je n’ai pas essayé).
13 – Démontage et reboot
Enfin, on quitte le chroot, on démonte les partitions et on reboot :
exit umount /mnt/home umount /mnt/boot umount /mnt reboot
ET VOILA !!! Votre système (tout nu) est installé. Au reboot, entrez votre pseudo + mot de passe.
L’installation du système est terminée. Reste un travail non négligeable : l’installation et la configuration de votre « environnement » graphique et de toutes les applications « qui vont bien ».
14 – Environnement graphique : X
Pour installer X, rentrez la commande suivante :
sudo pacman -S xorg-server xorg-xinit xorg-server-utils
Il vous faut aussi choisir le bon pilote pour votre carte graphique. Regardez sur cette page https://wiki.archlinux.org/index.php/Beginners%27_Guide#Install_a_video_driver pour trouver le pilote qui vous convient. Si vous ne savez pas quelle est votre carte graphique, vous pouvez afficher son chipset vidéo par la commande suivante :
lspci | grep VGA
Si vous êtes sur un ordinateur portable, vous aurez aussi besoin de de votre touchpad/trackpad :
sudo pacman -S xf86-input-synaptics
Nous y sommes presque ! On va pouvoir tester X en installant, par exemple, un environnement minimal avec cette commande :
sudo pacman -S xorg-twm xorg-xclock xterm
Puis il est grand temps de démarrer X :
startx
Si ça fonctionne, vous verrez apparaitre quelques fenêtres basiques et une petite horloge dans le coin haut-droit.
Si ça ne fonctionne pas, vous vous en doutez, y’a un souci… Il faudra alors débugger et/ou poser les bonnes questions sur les forums par exemple. Vous vous êtes peut-être aussi trompé dans l’installation… Mais ceci est une autre histoire.
Vous pourrez ensuite trouver la bonne documentation pour installer Gnome, KDE, XFCE, OpenBox, etc. Le wiki du site archlinux.fr est là pour ça !
ArchLinux, c’est quand même toute une aventure, … pas vrai ?
Ça fait désormais 5 jours que mon PC tourne sous ArchLinux. J’ai réussi sans trop de mal à me créer un système et un environnement de bureau “aux p’tits oignons” (selon ma norme à moi). Je vous tiendrai au courant de la suite de mon aventure… pour voir si ça tient.
PS : comme précisé dans les commentaires de ce billet, ayez toujours sous la main le wiki archlinux qui est LA base officielle et qui vous fournira plus de détails et de précisions.