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 installationgrub
nginx/php
cups
BRouter
saned
gpstracking
mlocate
/tmp
à chaque démarrageslim
grub
fontconfig
abcde
pour ripper les CDschroot
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 chroot /mnt/voidlinux/ /bin/bash 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 &
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
Articles (304)
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 :