Avant de m'attaquer aux spécificités de Arch Linux, je commence par me créer un compte utilisateur standard et lui donner les droits de sudo histoire de ne pas tout faire en root, avec ma chance habituelle je serais capable de péter quelque chose dès la première heure d'utilisation ; rien d'extraordinaire là-dedans, je vous épargne le listing.

Arch Linux s'est fortement inspiré de Slackware, typiquement elle utilise le même système de gestion de l'init et des runlevels hérité de l'UNIX System V : un répertoire /etc/rc.d/ centralisant les scripts de lancement/arrêt des daemons. Pas de /etc/rcX.d/ avec des liens symboliques dans tous les sens comme chez Debian, tout est ordonné depuis le fichier /etc/rc.sysinit, le paramétrage des caractéristiques globales telles que le mapping clavier, la locale par défaut, les daemons à lancer au boot ou encore les paramètres réseau se fait dans le fichier /etc/rc.conf comme sous Slack' et FreeBSD. Vous êtes libre de mettre vos gruikeries dans le tout aussi culte /etc/rc.local, exécuté en dernier lors de la phase d'initialisation du système.

Commençons par définir la configuration réseau, et je vais utiliser pour ce faire un des outils propres à Arch Linux : Netcfg. Cet outil gère nativement des profils permettant de changer de configuration réseau facilement et rapidement. Les fichiers de définition de profils en questions sont à stocker dans /etc/network.d/, et pour vous aider des templates de profils sont disponibles dans /etc/network.d/examples/. Voici un petit profil pour le taff créé à partir du template ethernet-static.example :

[gore@chorizo ~]$ cat /etc/network.d/taff
CONNECTION="ethernet"
DESCRIPTION="Taff"
INTERFACE=eth0
IP="static"
IFOPTS="X.X.X.X netmask 255.255.255.0 broadcast X.X.X.255"
GATEWAY="X.X.X.X"
DNS1="X.X.X.X"
[gore@chorizo ~]$

Pour activer un profil, rien de plus simple que ceci :

[gore@chorizo ~]$ sudo netcfg taff
:: taff up                                                    [DONE] 
[gore@chorizo ~]#

Comme dirait Grand Farid, t'as vu la classe ?!. J'ai également créé un profil "home" pour chez moi, toutefois je garde la configuration du W-Fi, et donc a fortiori d'un profil Wi-Fi pour un prochain billet de la série gonzo-découverte de Arch Linux.

Maintenant que nous disposons d'une connectivité réseau, nous allons pouvoir installer nos premier paquets logiciels grâce au gestionnaire de paquets de Arch : Pacman. C'est bon, vous avez fini de rire ? OK, on enchaine.

Commençons par mettre à jour les référentiels des paquets, -S signifiant synchronize et -yy pour forcer la mise à jour des listes de paquets depuis les dépôts :

[gore@chorizo ~]$ sudo pacman -Syy
:: Synchronizing package databases...
 core            33.2K    4.8M/s 00:00:00 [#####################] 100%
 extra          381.8K 1384.9K/s 00:00:00 [#####################] 100%
 community      368.7K    6.2M/s 00:00:00 [#####################] 100%
[gore@chorizo ~]$

Pour la petite histoire, chez Arch les paquets sont répartis entre les repositories (dépôts) core, extra et community. Core contient le système de base de Arch Linux et les paquets sont maintenus par l'équipe de développeurs/mainteneurs "officiels", extra contient tout ce qui ne va pas dans core (interpréteurs de langages, logiciels multimédia, environnements graphiques etc.) et est aussi maintenu par l'équipe de développeurs officielle et community est un repository alimenté par des "trusted users" lorsque les paquets en question ont obtenu suffisamment de votes sur la plate-forme AUR (ArchLinux User-community Repository, le dépôt libre de PKGBUILDs pour les utilisateurs de Arch Linux). Ça fait beaucoup d'infos d'un seul coup, je reviendrai plus en détails sur tout ça dans un prochain billet.

Eeeennnnsuite, on lance une première salve de paquets à installer, globalement mon environnement de travail graphique ainsi que les premiers softs qui me viennent à l'esprit :

[gore@chorizo ~]$ sudo pacman -S openbox obconf xorg feh conky \
gdm rxvt-unicode screen alsa-utils xf86-video-intel
xorg package not found, searching for group...
:: group xorg (including ignored packages):
  xf86-video-vesa  xorg-fonts-100dpi xorg-fonts-75dpi xorg-res-utils  
  xorg-server xorg-server-utils xorg-twm xorg-utils xorg-xinit xterm  
:: Install whole content? [Y/n] 
resolving dependencies...
warning: provider package was selected (giflib provides libungif)
looking for inter-conflicts...

Targets (141): xcb-proto-1.4-1  xproto-7.0.15-1  libxdmcp-1.0.2-2
libxau-1.0.4-1  libxcb-1.2-1  kbproto-1.0.3-2  libx11-1.2.1-1  
               libice-1.0.5-1  libsm-1.1.0-1  xcb-util-0.3.4-2
 [...des dizaines de dépendances plus tard...]
xorg-xauth-1.0.3-1  xorg-xinit-1.1.1-1  xorg-apps-7.4-2  
               xterm-243-2  

Total Download Size:    84.01 MB
Total Installed Size:   240.41 MB

Proceed with installation? [Y/n]
:: Retrieving packages from core...
 glib2-2.20.4-1-i686      2.3M    6.7M/s 00:00:00 [#####################] 100%
 run-parts-2.31-1-i686    8.1K   685.8K/s 00:00:00 [#####################] 100%
 ca-certificates-200... 124.0K    3.2M/s 00:00:00 [#####################] 100%
 libusb-0.1.12-3-i686    45.8K   1993.5K/s 00:00:00 [#####################] 100%
 usbutils-0.82-1-i686   154.3K    4.1M/s 00:00:00 [#####################] 100%
 libsasl-2.1.23-1-i686  108.5K    3.6M/s 00:00:00 [#####################] 100%
 libldap-2.3.43-3-i686  586.3K    5.5M/s 00:00:00 [#####################] 100%
:: Retrieving packages from extra...
 xcb-proto-1.4-1-i686    63.1K    3.7M/s 00:00:00 [#####################] 100%
 xproto-7.0.15-1-i686    77.1K    3.1M/s 00:00:00 [#####################] 100%
 [...des dizaines de dépendances plus tard...]
 xorg-apps-7.4-2-i686   650.5K    5.6M/s 00:00:00 [#####################] 100%
 xterm-243-2-i686       225.2K    2.9M/s 00:00:00 [#####################] 100%
checking package integrity...
(141/141) checking for file conflicts           [#####################] 100%
(  1/141) installing xcb-proto                  [#####################] 100%
 [...des dizaines de dépendances plus tard...]
(140/141) installing xorg-apps                  [#####################] 100%
(141/141) installing xterm                      [#####################] 100%
[gore@chorizo ~]$

Depuis la version 1.5, Xorg se repose par défaut sur la couche logicielle HAL pour la gestion des périphériques de saisie (typiquement, la souris et le clavier). Si vous ne voulez pas faire comme moi et vous retrouver sans clavier ni souris une fois que vous avez lancé Xorg, et ainsi devoir rebooter l'ordinateur à l'arrache, démarrez le daemon HAL avant Xorg ;)

[gore@chorizo ~]$ sudo /etc/rc.d/hal start
:: Starting D-BUS system messagebus                                      [DONE] 
:: Starting Hardware Abstraction Layer                                   [DONE] 
[gore@chorizo ~]$
[gore@chorizo ~]$ sudo /etc/rc.d/gdm start

Et là magie, ça marche ! :D

On termine ce billet de premier contact avec Arch Linux en configurant le son avec ALSA, bien que là aussi cette étape ne soit pas exclusive à cette distribution cela fait tout de même partie des premières actions que l'on mène lorsqu'on installe sa bécane :

[gore@chorizo ~]$ sudo alsaconf

L'utilitaire de configuration va mouliner pendant quelques secondes et vous demander de sélectionner votre chipset son, il y a fort à parier que dans la liste figure quelque chose comme hda-intel. Si oui, sélectionnez-le et répondez par l'affirmative lorsque l'utilitaire vous demande ensuite si vous voulez modifier le fichier /etc/modprobe.d/50-sound.conf.

Dans le prochain billet de cette série nous nous attarderons un peu plus sur le gestionnaire de paquets Pacman, ainsi que les autres méthodes disponibles sous Arch Linux pour installer des logiciels. Hasta luego !