Debian : un système d'exploitation libre

N.B. 1 : la lecture au préalable de l'article Quelques notions d'informatique : la logique peut s'avérer utile pour la compréhension.

N.B. 2 : il existe de nombreux systèmes d'exploitation GNU/Linux, portées par des organisations ou communautés différentes, avec des valeurs ou des objectifs différents, qui impliquent des choix techniques différents. La méthode d'installation s'applique à toutes, mais la configuration et l'utilisation décrites ci-dessous peuvent varier.

N.B. 3 : le manuel d'installation de Debian disponible en ligne (cf. cette version pour l'installation de la dernière version stable de Debian sur PC 64 bits) constitue la ressource la plus complète et doit servir de référence en cas de problème lors de l'installation.

Debian est un système d'exploitation libre, développé par l'association à but non lucratif de droit étasunien du même nom. Son orientation technique et politique s'appuie sur les principes énumérés dans son contrat social. Son architecture logicielle repose sur le noyau Linux (1), sur les programmes développés par le projet GNU (2), sur une collection cohérente de logiciels additionnels choisis par la communauté, auxquels s'ajoutent plusieurs environnements de bureau (3). L'ensemble forme un système d'exploitation complet et à vocation universelle.

Debian se distingue des systèmes d'exploitation commerciaux par l'utilisation de composants logiciels libres avec prise en charge du matériel propriétaire, par la modularité permise par son système de paquets logiciels et de dépôts officiels, par sa robustesse lié à son cycle de mises à jour, ainsi que par sa sécurité liée à sa conception technique et à la transparence de son organisation. Comme la grande majorité des systèmes GNU/Linux, Debian permet de se construire un environnement informatique personnel pour le travail, l'apprentissage, la création et les loisirs numériques, émancipé des contraintes marchandes qui pèsent sur l'économie du logiciel, moyennant un investissement personnel en temps d'apprentissage.

Ici sont détaillées les étapes d'installation de la dernière version stable de Debian avec l'environnement de bureau XFCE : préparation du support d'installation, installation, configuration du système et de l'environnement de bureau et installation de divers logiciels, classés par domaine d'utilisation. L'environnement de bureau XFCE a été choisi ici pour sa clarté, sa plasticité et sa légèreté. Ces atouts permettent de créer une interface personnalisée, quelle que soit la configuration matérielle, et quels que soient la pratique et le parcours informatique de l'utilisateur·ice. En ce sens, l'environnement XFCE correspond bien à la philosophie du système Debian.

Trois éléments fonctionnels fondamentaux diffèrent des systèmes d'exploitation commerciaux (comme Windows ou MacOS) et nécessitent une explication : l'interface en ligne de commande, la gestion des utilisateurs et des autorisations, la gestion des paquets logiciels d'autre part.

Interface en ligne de commande

Un système d'exploitation GNU/Linux peut être manipulé de deux façons : avec l'interface en ligne de commande (mode texte) ou par l'intermédiaire d'une interface graphique. Pour des raisons pratiques et pédagogiques, c'est la méthode utilisant l'interface en ligne de commande qui est présentée ici. Elle est plus facile à décrire dans le cadre d'un article sur le web et peut être utilisée avec n'importe quel système d'exploitation GNU/Linux, indépendamment de l'environnement de bureau ou des logiciels installés. On utilise généralement un émulateur de terminal pour envoyer des commandes au système.

Utilisateurs et droits

À l'installation du système, un superutilisateur (root) est créé. C'est le compte administrateur qui possède tous les droits, dont celui de créer/modifier/supprimer d'autres comptes, d'accèder aux fichiers du système et de les modifier, ou d'installer, mettre à jour et désinstaller des paquets logiciels. La plupart des opérations de configuration nécessitent d'utiliser ce compte. Un compte utilisateur, aux droits d'accès et de modification limités, est également créé à l'installation. Il a accès à un répertoire personnel et peut utiliser les logiciels installés. C'est le compte utilisé au quotidien.

 Gestion des logiciels

Le fonctionnement par défaut de Debian prévoit que l'utilisateur·ice installe des logiciels stockés dans les dépôts officiels (c'est-à-dire les serveurs) de la version du système installé en utilisant le programme gestionnaire de paquets intégré au système (apt, en ligne de commande, ou synaptic, interface graphique, par exemple). Ce mode d'installation doit toujours être privilégié. Il est suffisant pour obtenir un système fonctionnel et des logiciels qui couvrent la très grande majorité des usages. Néanmoins, lorsque certains logiciels (ou certaines versions) spécifiques ne sont pas disponibles dans les dépôts officiels, il est possible d'installer des paquets provenant d'autres sources, en gardant à l'esprit que les seuls paquets considérés comme sûrs et régulièrement mis à jour sont ceux qui proviennent des dépôts officiels. Il est ainsi possible d'ajouter des dépôts non-officiels en tant que sources fiables, de télécharger des paquets .deb hors des dépôts officiels et de les installer à l'aide du gestionnaire de paquets, de télécharger des sources depuis une forge logicielle et de les compiler (et d'autres méthodes encore). Ces différentes méthodes sont utilisées plus bas ; lorsque c'est le cas, leur utilisation est précisée et justifiée.


Instructions

Création du support d'installation USB

Télécharger l'image de la dernière version stable du système d'exploitation Debian. Choisir la version adaptée à l'architecture matérielle et au support d'installation (ex. : version amd64 pour support > 4,7 Go). Brancher une clé USB de taille suffisante.

Méthode 1 : en ligne de commande (Linux uniquement)

fdisk -l # Liste les volumes existants
dd if=<image_os.img> of=/dev/<sdx> bs=4M status=progress && sync # Où <sdx> est le support USB et <image_os.img> l'image à graver

Méthode 2 : avec Rufus (Windows uniquement)

Télécharger Rufus pour Windows. N.B. : sous Windows 10, par défaut, le système refuse l'accès aux dossiers et disques à certaines applications. Dans les paramètres système, désactiver le Dispositif d'accès contrôlé aux dossiers le temps de l'opération.

Installation

Partitionnement manuel (optionnel)

Pendant l'installation, il peut être utile de partitionner manuellement le disque dur, pour installer deux systèmes côte-à-côte (dual boot).

Configuration du système

Après démarrage du système installé et ouverture de la session utilisateur avec les identifiants créés lors de l'installation, ouvrir l'émulateur de terminal (Ctrl+Alt+T). Chaque ligne est une commande différente et doit être exécutée en appuyant sur Entrée. La casse doit être respectée (ex.: -R est différent de -r). Le code indiqué entre chevrons < > est à remplacer par la valeur correspondante. Le code suivant un dièse # est un commentaire.

Se connecter en temps que superutilisateur (root) :

su # entrer le mot de passe root

Se déconnecter du compte superutilisateur (root) :

exit

Les commandes suivantes doivent être exécutées en tant que superutilisateur.

Par défaut, une partie seulement des dépôts officiels sont utilisés par le système. Certains des logiciels installés par la suite nécessitent d'ajouter les dépôts contrib et non-free dans le fichier qui contient les sources du gestionnaire de paquets apt :

nano /etc/apt/sources.list

Éditer ce fichier pour que chaque ligne commençant par deb ou deb-src se termine par main contrib non-free non-free-firmware . Enregister les changements (Ctrl+C, Entrée, Ctrl+X) puis actualiser les sources du gestionnaire de paquets apt :

apt update

Mettre à jour tous les paquets du système :

apt upgrade # confirmer en tapant O, annuler en tapant n

N.B. : il est possible d'ajouter le dépôt des paquets rétroportés pour bénéficier de versions plus récentes de logiciels (cf. méthode sur la page dédiée du projet Debian).

Personnalisation et prise en main de l'environnement XFCE

L'environnement de bureau XFCE se présente de manière assez classique, avec des icônes de Bureau et un tableau de bord (barre des tâches) en bas de l'écran. Le Menu principal des applications et paramètres est accessible via un clic-droit sur le Bureau. Il est possible de modifier le tableau de bord (taille, position, informations affichées, lanceurs d'application...) et d'en ajouter d'autres via un clic-droit sur celui-ci. Pour des raisons pratiques, il est possible d'ajouter un gestionnaire de réseau, un gestionnaire de Bluetooth et une calculatrice simple provenant de l'environnement de bureau Gnome :

apt install network-manager-openvpn-gnome blueman galculator

L'apparence visuelle de l'environnement XFCE peut être personnalisée par l'ajout :

Installation de logiciels

La section ci-dessous propose une collection de logiciels, sélectionnés sur les critères suivants : performance et richesse des fonctions, abondance de documentation, pérennité du développement. Certains sont relativement simples à utiliser, d'autres sont des logiciels à vocation professionnelle qui nécessitent un solide apprentissage.

Logiciels de jeu

Si une carte graphique Nvidia est installée, installer le pilote propriétaire et ses modules complémentaires :

apt install nvidia-detect
nvidia-detect # vérifier le modèle de carte graphique
dpkg --add-architecture i386 && apt update
apt install linux-headers-amd64 nvidia-kernel-dkms nvidia-driver firmware-misc-nonfree nvidia-driver-libs:i386 nvidia-xconfig mesa-vulkan-drivers libglx-mesa0:i386 mesa-vulkan-drivers:i386 libgl1-mesa-dri:i386 vulkan-tools
nvidia-xconfig # création du fichier de configuration
vulkaninfo # une longue liste de paramètres doit s'afficher

Steam : gestionnaire de jeux vidéos.

apt install steam

Logiciels réseau

OpenVPN : gestionnaire de réseau privé virtuel (VPN). Filezilla : client (S)FTP. Transmission : client BitTorrent. Bluetooth, bluez, bluez-cups : prise en charge du Bluetooth.

apt install openvpn filezilla transmission bluetooth bluez bluez-cups

Logiciels de création graphique

Darktable : traitement d'image photographique. Gimp : manipulation et retouche d'image matricielle. Inkscape : dessin vectoriel. Blender : modélisation, animation et rendu 3D. Krita : peinture numérique et animation 2D. Peek : capture d'écran vidéo.

apt install darktable gimp inkscape blender krita peek

Logiciels audiovisuel

VLC : lecture multimédia. Mediainfo : description de fichiers multimédia. yt-dlp : téléchargement de fichiers multimédia en ligne de commande. streamlink : lecture de flux multimédia en ligne de commande. Handbrake : transcodage multimédia. DCP-o-Matic : création de DCP. Reaper : production et enregistrement audio (MAO).

apt install vlc mediainfo mediainfo-gui yt-dlp streamlink
apt install handbrake libdvd-pkg && dpkg-reconfigure libdvd-pkg

DCP-o-Matic n'est pas disponible dans les dépôts officiels. Il faut télécharger le paquet .deb sur le site officiel et l'installer avec apt :

apt install ~/Téléchargements/dcpomatic_<version>.deb

Reaper n'est pas disponible dans les dépôts officiels. Il faut télécharger l'archive .tar.xz sur le site officiel, la décompresser, puis suivre les instructions du fichier readme-linux.txt intégré à l'archive. Exécuter la commande suivante pour lancer l'installation :

~/Téléchargements/install-reaper.sh # puis suivre les instructions

Logiciels scientifiques

QGIS : système d'information géographique. Tesseract : reconnaissance optique de caractère (OCR). Arduino : plateforme de prototypage open-source. RStudio : environnement de développement pour le traitement statistique.

apt install qgis tesseract-ocr tesseract-ocr-fra tesseract-ocr-eng tesseract-ocr-osd tesseract-ocr-script-latn

Une fois le paquet installé, Arduino nécessite d'ajouter l'utilisateur dans certains groupes pour fonctionner :

apt install arduino
usermod -aG dialout <user> && usermod -aG tty <user> && usermod -aG uucp <user> && usermod -aG plugdev <user>

RStudio n'est pas disponible dans les dépôts officiels. Il faut d'abord installer le langage R depuis les dépôts officiels, puis télécharger le paquet .deb de RStudio sur le site officiel de l'éditeur et l'installer avec apt :

apt install r-base r-base-dev 
apt install ~/Téléchargements/rstudio-<version>.deb

Logiciels de communication

Claws-mail : client léger de messagerie électronique. Signal : messagerie privée et sécurisée.

apt install claws-mail

Signal n'est pas disponible dans les dépôts officiels. Il faut ajouter la clé publique du dépôt Signal, ajouter le dépôt à la liste des dépôts de confiance, puis mettre à jour la liste des paquets disponibles (cf. le site de l'application) :

wget -O- https://updates.signal.org/desktop/apt/keys.asc | gpg --dearmor > signal-desktop-keyring.gpg;
cat signal-desktop-keyring.gpg | tee /usr/share/keyrings/signal-desktop-keyring.gpg > /dev/null
wget -O signal-desktop.sources https://updates.signal.org/static/desktop/apt/signal-desktop.sources;
cat signal-desktop.sources | tee /etc/apt/sources.list.d/signal-desktop.sources > /dev/null
apt update && apt install signal-desktop

N.B. : l'utilisation de Signal sur ordinateur nécessite d'avoir installé l'application sur mobile au préalable, puis de synchroniser les deux.

Résolution de problèmes

Son

Parasites son lorsqu'un périphérique de sortie audio est branché sans source active :

echo "options snd_hda_intel power_save=0" | tee /etc/modprobe.d/audio_powersave.conf # désactive la veille du pilote audio

Mise en veille

Extinction intempestive de l'écran ou problèmes liés à la sortie de veille (avec XFCE) : Applications > Paramètres > Session et démarrage > Démarrage automatique d'application : décocher xfce4-power-manager et light-locker + ajouter une entrée "Désactiver mise en veille écran X11" (commande : xset -dpms s off ; à la connexion)

Notes

1. Le noyau Linux fournit les programmes qui permettent de gérer l'allocation de ressources (calcul, mémoire), l'ordonnancement des tâches, la communication entre les différents éléments matériels et logiciels.

2. Plusieurs outils logiciels proviennent du projet GNU : compilateurs, interpréteur de commandes, utilitaires...

3. L'environnement de bureau est l'interface graphique qui permet à l'utilisateur·ice d'interagir visuellement avec les logiciels du système.