Cet article est la prise de notes de l'installation de la distribution Linux Void Linux : pour ce faire j'ai récupéré le fichier /root/.bash_history à la fin de l'installation, je l'ai nettoyé et commenté. Cela me servira de repère une prochaine fois, si besoin.
La particularité est que l'installation des paquets de base se fait à partir d'une installation Arch Linux déjà existante sur une des partitions de disques. On y installe le gestionnaire de paquets xbps de Void Linux, puis on chroot. On suit globalement la méthode lue sur https://docs.voidlinux.org/installation/guides/chroot.html
Au bout de plusieurs heures à lancer des commandes dans un terminal, en même temps que lire la documentation et corriger les bêtises que l'on fait (que je ne signale pas toutes dans la suite pour ne pas avoir l'air trop idiot), on obtient le résultat escompté, à savoir un système qui tourne avec Xorg et un gestionnaire de fenêtres léger :
chroot et installationgrubnginx/phpcupsBRoutersanedgpstrackingmlocate/tmp à chaque démarrageslimgrubfontconfigabcde pour ripper les CDsdbus, etc.chroot et installation On commence par installer sur Arch Linux le gestionnaire de paquets de Void Linux xbps, via aur.
On crée une partition ext4 de 512Mo sur un disque dur de la machine (chez moi /dev/sdb1) :
su gparted &
On crée un point de montage, on monte la partition, on chroot et on installe les paquets de base :
mkdir -p /mnt/voidlinux mount /dev/sdb1 /mnt/voidlinux/ mkdir -p /mnt/voidlinux/var/db/xbps/keys REPO=https://repo-default.voidlinux.org/current ARCH=x86_64 cp /var/db/xbps/keys/* /mnt/voidlinux/var/db/xbps/keys/ XBPS_ARCH=$ARCH xbps-install -S -r /mnt/voidlinux -R "$REPO" base-system mount -t proc none /mnt/voidlinux/proc mount -t sysfs none /mnt/voidlinux/sys mount --rbind /dev /mnt/voidlinux/dev mount --rbind /run /mnt/voidlinux/run cp /etc/resolv.conf /mnt/voidlinux/etc/resolv.conf cp /etc/hosts /mnt/voidlinux/etc/host
Et voilà le chroot attendu pour passer sur la nouvelle partition :
chroot /mnt/voidlinux/ /bin/bash
À partir d'ici, on est sur la nouvelle partition.
xbps-install -Su xbps xbps-install -u xbps-install base-system xbps-remove base-container-full
On installe son éditeur favori :
xbps-install nano
Je n'ai pas pu utiliser nano de suite à cause d'un : rxvt-unicode-256color': unknown terminal type. En entrant TERM=xterm; export $TERM, tout rentre dans l'ordre.
On crée le nom d'hôte :
nano /etc/hosthame
On modifie les paramètres de :
nano /etc/rc.conf nano /etc/default/libc-locales
blkid donne les uuid pour remplir /etc/fstab
nano /etc/fstab
avec :
UUID=de701791-893e-4201-bb41-b4ae6e4f7bec / ext4 rw,relatime 0 1 tmpfs /tmp tmpfs defaults,nosuid,nodev 0 0
On reconfigure les locales
xbps-reconfigure -f glibc-locales
On crée le mot de pass de root :
passwd
Et voilà. Un Void Linux a été créé. Après plusieurs exit, on revient dans Arch Linux.
grub Le programme d'amorçage grub étant encore pour le moment géré depuis Arch Linux, on recrée son fichier de configuration pour que le nouveau système apparaisse dans le menu au démarrage de la machine.
grub-mkconfig -o /boot/grub/grub.cf
Résultat :
Void Linux trouvé sur /dev/sdb1
On peut redémarrer la machine et sélectionner Void Linux dans le menu de démarrage de grub.
On est maintenant dans Void Linux. On met par acquis de conscience à jour les paquets installés, même si c'est sans doute inutile :
xbps-install -Su xbps-reconfigure -fa
On lance les deux services indispensables, le réseau ethernet via dhcpcd, le serveur ssh et on teste le réseau externe et le réseau local :
ln -s /etc/sv/dhcpcd-eth0 /var/service/ ln -s /etc/sv/sshd /var/service/ ping www.google.fr ping 192.168.0.3
On peut maintenant télécharger et installer des paquets.
On installe des services supplémentaires : gestionnaire des logs (socklog), un planificateur de taches (cronie), un serveur de temps (ntpd), le gestionnaire ACPI, puis les gestionnaires de fichiers distants nfs (netmount, statd, rpcbind).
xbps-install socklog-void cronie ntp nfs-utils sv-netmount ln -s /etc/sv/socklog-unix /var/service ln -s /etc/sv/nanoklogd /var/service ln -s /etc/sv/cronie/ /var/service ln -s /etc/sv/ntpd /var/service ln -s /etc/sv/acpid/ /var/service ln -s /etc/sv/statd/ /var/service ln -s /etc/sv/rpcbind/ /var/service ln -s /etc/sv/netmount/ /var/service
On crée un montage automatique des vidéos qui se trouvent sur un ordinateur du réseau local :
mkdir -p /mnt/videos mount -t nfs 192.168.0.3:/mnt/videos /mnt/videos/ ls /mnt/videos/ umount /mnt/videos/
On crée un montage automatique de la partition Arch Linux :
mkdir /mnt/archlinux mount -t ext4 /dev/sdc1 /mnt/archlinux/ ls /mnt/archlinux/ umount /mnt/archlinux/
On modifie le /etc/fstab pour le montage automatique :
nano /etc/fstab
UUID=0d2cf34c-4080-45a5-abb5-2c10daad4af9 /mnt/videos-gopro ext4 user,rw,relatime,data=ordered,exec 0 2 UUID=156fdca6-380d-49cb-b757-0aeb63866452 /mnt/archlinux ext4 rw,relatime 0 2
Enfin on crée un utilisateur avec les groupes qui vont bien :
useradd jp -G wheel,lp,audio,video,cdrom,optical,storage,scanner,network,kvm,input,plugdev,users,socklog
Il est temps d'installer Xorg, les pilotes pour la carte vidéo AMD, un gestionnaire de fenêtre minimal (ici WindowMaker) et le terminal xterm :
xbps-install linux-firmware-amd vulkan-loader mesa-vulkan-radeon amdvlk xorg mesa-vaapi mesa-vdpau WindowMaker xterm echo "exec wmaker" > .xinitrc startx
On teste que tout va bien sous X11. Je ne sais pas comment je me suis débrouillé mais le shell sous X11 quand on est root est dash avec qui les flèches du clavier ne fonctionnent pas et qui n'a pas d'historique... En écrivant bash dès que l'on est sous root, on revient à bash et tout revient à la normale. Pour changer définitivement le shell, sous root:
chsh
et choisir /bin/bash
On installe le gestionnaire de session lightdm et on active le service :
xbps-install lightdm lightdm-locker lightdm-gtk-greeter-settings lightdm-gtk-greeter ln -s /etc/sv/lightdm/ /var/service ln -s /etc/sv/dbus/ /var/service mv .xinitrc .xinitrc-no
Mais, le gestionnaire de session n'a pas le bon clavier. Pour cela, on crée un ficher /etc/X11/xorg.conf.d/00-keyboard.conf avec :
Section "InputClass"
Identifier "system-keyboard"
MatchIsKeyboard "on"
Option "XkbLayout" "fr"
Option "XkbVariant" "oss"
EndSection
(La variante oss permet d'avoir les « » € œ æ directement au clavier.)
On peut fermer la session, redémarrer sous X11 et vérifier si le clavier est le bon : setxkbmap -query :
setxkbmap -query rules: evdev model: pc105 layout: fr variant: oss
On installe les outils de base préférés :
xbps-install firefox thunderbird rox rxvt-unicode geany
puis les autres :
xbps-install audacious audacity avidemux cantata chromium ffmpegthumbnailer freecad geany-plugins geeqie gftp gimp gnome-disk-utility gparted gpodder gpsbabel gucharmap guvcview hugin ImageMagick inkscape kdenlive lensfun libreoffice-i18n-fr mutt neofetch nufraw numlockx okular pamixer pavucontrol pcmanfm pulseaudio python3-psutil qt5ct qt5-styleplugins qt6ct rawtherapee rox rxvt-unicode thunderbird torbrowser-launcher transmission udiskie unzip vlc wget wmctrl xarchiver xournalpp xpdf xsane
nginx/php xbps-install nginx php8.3 php-fpm ln -s /etc/sv/nginx/ /var/service ln -s /etc/sv/php-fpm8.3/ /var/service ln -s /var/www /home/jp/www geany /etc/nginx/nginx.conf &
Placer dans server {} la racine du site :
root /var/www;
et commenter toutes les autres lignes commençant par root.
Insérer les commandes de lecture des fichiers \.php :
location ~ \.php$ {
# 404
#try_files $fastcgi_script_name =404;
# default fastcgi_params
include fastcgi_params;
# fastcgi settings
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_buffers 8 16k;
fastcgi_buffer_size 32k;
# fastcgi params
fastcgi_param DOCUMENT_ROOT $realpath_root;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
#fastcgi_param PHP_ADMIN_VALUE "open_basedir=$base/:/usr/lib/php/:/tmp/";
}
geany /etc/php8.3/php-fpm.d/www.conf &
Changer l'utilisateur et le groupe :
user = jp group = jp
Pour activer le module/extension exif
geany /etc/php8.3/php.ini &
décommenter la ligne
extension=exif
Redémarrer les services :
sv restart /var/service/nginx sv restart /var/service/php-fpm8.3
cups xbps-install cups cups-filters brother-brlaser ln -s /etc/sv/cupsd /var/service/ http://localhost:631/admin
Pilote et configuration :
Pilote : Brother HL-1200 series, using brlaser v6 (grayscale) Connexion : lpd://192.168.0.7/queue Par défaut : job-sheets=none, none media=iso_a4_210x297mm sides=one-sided
BRouter xbps-install openjdk
puis répertoire copié directement à partir de celui de archlinux
Pour récupérer les cartes chaque semaine, insérer dans le crontab -e :
0 2 * * Sat sh /home/jp/bin/brouter/segments4/0doall.sh
saned geany /etc/sane.d/saned.conf
locahost 192.168.0.0/10 data_portrange = 10000 - 10100
ln -s /etc/sv/saned/ /var/service/
Et pour éviter que xsane ne voit la webcam et la propose comme choix de scanner :
geany /etc/sane.d/dll.conf :
commenter la ligne v4l.
gpstracking Par copie à partir de /mnt/archlinux/home/jp/bin de mergegeojson.sh et resetgpstracking.sh
Pour la mise à jour du site si nécessaire, chaque minute, insérer dans le crontab -e :
* * * * * sh /home/jp/bin/mergegeojson.sh
mlocate xbps-install mlocate updatedb crontab -e
insérer :
30 01 * * * updatedb
/tmp à chaque démarrage geany /etc/rc.shutdown
Insérer :
rm -rf /tmp/*
Il est vain d'essayer de lutter : on a toujours besoin de tout LaTeX...
xbps-install texlive-full
Mais bon, si on essaie :
xbps-install texlive texlive-latexextra
est déjà plutôt complet.
slim pkg install slim slim-void-theme xss-lock rm /var/service/lightdm geany /etc/slim.conf &
slim utilise ~/.xinitrc pour lancer la session, donc il faut le peupler :
echo "exec wmaker" > ~/.xinitrc
Pour vérouiller la session, on utilise xss-lock qui lance slimlock fourni avec le paquet et utilise les réglages dpms pour gérer le délai d'extinction automatique :
geany ~/.xinitrc &
Supprimer si nécessaire les autres lockers et insérer :
exec xset dpms 600 600 600 & exec xss-lock -- /usr/bin/slimlock &
Le fichier de configuration /etc/slim.conf permet de personnaliser le thème et d'autres paramètres.
Inutile étant donnée la liaison filaire, mais au cas où :
ln -s /etc/sv/wpa_supplicant/ /var/service geany /etc/wpa_supplicant/wpa_supplicant.conf &
Ajouter (psk est le mdp) :
network={
ssid="Freebox-######"
psk="###################"
proto=RSN
key_mgmt=WPA-PSK
pairwise=CCMP
auth_alg=OPEN
mesh_fwding=1
}
Plusieurs logiciels couramment utilisés ne sont pas disponibles dans les paquets Void Linux. Il a fallu trouver des alternatives :
HP-15C Simulator, simulateur de calculatrice hp-15c : installé localement à la main
sitecopy, un vieux copieur de pages web via ftp, dont la dernière version date de 2008, mais qui fonctionne tellement bien que j'ai la flemme d'en changer (un script rsync ferait le boulot, d'ailleurs) : installé localement à la main.
gpxsee, visualisateur de trace GPX : installé localement à la main.
kbackup, logiciel de sauvegarde automatisée : remplacé par un script perso utilisant rsync.
geogebra, logiciel interactif de géométrie : installé localement à la main. Nécessite xbps-install openjdk21-jre (et seulement celui-la).
metaflac, outil pour calculer et ajouter les tags replay-gain pour les fichiers audio FLAC : installé localement à la main.grub 13 nov 2024. La méthode appliquée dans 1.2 pour configurer grub utilise os-prober pour trouver les items présentés dans le menu de grub. Et os-prober n'est pas toujours suffisamment précis. Sur mon système :
root=/dev/sdb1 pour booter sur Void Linux. Or cette référence n'est pas fixe et est susceptible de changer à chaque redémarrage. Et de fait, il arrive que je ne puisse pas booter sur Void Linux;
Il est donc préférable de faire les réglages manuellement en indiquant les UUID des partitions de boot :
geany /etc/grub.d/40_custom &
menuentry "Void Linux" {
search --no-floppy --set=root --fs-uuid de701791-893e-4201-bb41-b4ae6e4f7bec
linux /boot/vmlinuz-6.11.7_1 root=UUID=de701791-893e-4201-bb41-b4ae6e4f7bec
initrd /boot/initramfs-6.11.7_1.img
}
menuentry "FreeBSD 14.1" {
search --no-floppy --set=root --fs-uuid 66c84fe522c62f11
kfreebsd /boot/loader
}
Puis on relance la création du fichier de configuration :
grub-mkconfig -o /boot/grub/grub.cfg
Pendant qu'on est à parler de grub : pour installer grub sur le disque /dev/sda1 d'un système UEFI :
mkdir /mnt/boot mount /dev/sda1 /mnt/boot grub-install --target=x86_64-efi --efi-directory=/mnt/boot --bootloader-id=grub grub-mkconfig -o /boot/grub/grub.cfg
29 nov 2024. Pour monter les périphériques à partir de pcmanfm, il faut installer un certain nombre de paquets et lancer une session dbus au démarrage de la session X11 :
xbps-install elogind dbus polkit gnome-keyring gvfs geany ~/.xinitrc
Insérer :
if [ -z "$DBUS_SESSION_BUS_ADDRESS" ]
then
eval $(dbus-launch --sh-syntax --exit-with-session)
fi
22 déc 2024. Pour éviter de devoir trop souvent dévérouiller le trousseau de connexion, il faut changer le mot de passe du trousseau de connexion, quitte à remettre le même... On peut d'ailleurs le faire graphiquement avec seahorse :
xbps-install seahorse
Clic doit sur le ou les trousseaux de connexion (à gauche), puis remettre le même mot de passe. C'est un peu stupide, mais j'avoue que je ne comprends pas très bien ces questions. S'agit-il d'un bug ?
Pour monter les périphériques usb à partir de rox, on utilise udiskie :
xbps-install udiskie geany ~/.xinitrc
Insérer :
exec udiskie --no-notify &
26 juin 2025. Voir plus bas la section 8.7 pour une meilleure manière de lancer dbus et udiskie, à partir du gestionnaire de fenêtre.
29 nov 2024. Pour les portables :
sudo geany /etc/X11/xorg.conf.d/70-synaptics.conf
Section "InputClass"
Identifier "touchpad"
Driver "synaptics"
MatchIsTouchpad "on"
Option "TapButton1" "1"
Option "TapButton2" "3"
Option "TapButton3" "2"
Option "VertEdgeScroll" "on"
Option "VertTwoFingerScroll" "on"
Option "HorizEdgeScroll" "on"
Option "HorizTwoFingerScroll" "on"
Option "CircularScrolling" "on"
Option "CircScrollTrigger" "2"
Option "EmulateTwoFingerMinZ" "40"
Option "EmulateTwoFingerMinW" "8"
Option "CoastingSpeed" "0"
Option "FingerLow" "30"
Option "FingerHigh" "50"
Option "MaxTapTime" "125"
EndSection
fontconfig 10, 15, 17 déc 2024.
#rm /etc/fonts/conf.d/*
cd /etc/fonts/conf.d/
for f in \
/etc/fonts/conf.avail/42-luxi-mono.conf \
/usr/share/fontconfig/conf.avail/10-autohint.conf \
/usr/share/fontconfig/conf.avail/10-yes-antialias.conf \
/usr/share/fontconfig/conf.avail/30-metric-aliases.conf \
/usr/share/fontconfig/conf.avail/49-sansserif.conf \
/usr/share/fontconfig/conf.avail/60-latin.conf \
/usr/share/fontconfig/conf.avail/70-no-bitmaps.conf
do
echo $f
ln -s $f
done
xbps-reconfigure -f fontconfig
11 déc 2024.
xbps-install autoconf automake cmake doxygen extra-cmake-modules gcc gettext leatherman libogg-devel libtool make mk-configure pandoc
abcde pour ripper les CDs 17 déc 2024.
xbps-install abcde cdparanoia glyr
dbus, etc. 26 juin 2025.
Remise en place de la façon de lancer dbus et différents services lors du lancement du gestionnaire de fenêtre (ici Windowmaker).
Dans ~/.xinitrc :
exec dbus-run-session wmaker
Dans ~/.GNUstep/Library/WindowMaker/autostart :
exec xrdb -merge ~/.Xresources & exec xset b off m 20/10 4 s 600 600 dpms 570 570 570 & exec numlockx & exec xss-lock -- /usr/bin/slimlock & exec udiskie --no-notify & exec wmsetbg /home/jp/.bureau/fonds/platine-columbus-16-9.png & exec minidock.py & xbindkeys
Les services runit lancés :
[jp@pipeline3:~/]$ ls /var/service acpid agetty-tty4 cupsd nanoklogd php-fpm8.3 slim udevd agetty-tty1 agetty-tty5 dbus netmount polkitd socklog-unix agetty-tty2 agetty-tty6 dhcpcd nginx rpcbind sshd agetty-tty3 cronie elogind ntpd saned statd
Articles (313)
Je préfère vraiment les contacts à l'ancienne, par courrier électronique à l’adresse jpsmail(at)free.fr. Antispam : penseras-tu à remplacer (at) par @ dans l’adresse ? Que cela ne t'enpêche pas d'ajouter un commentaire :