Vous êtes ici : Pour les curieux

Choix du système :

Pour les curieux

Vous pouvez lire cette page si vous voulez approfondir vos connaissances du monde Unix, en particulier du système Linux, mais cette connaissance n'est pas indispensable pour utiliser une distribution Linux.

retour au sommaire (très) Petite histoire de Linux

retour au sommaire La genèse

Le système Unix a été créé en 1969 par Ken Thompson, aux USA, dans les Laboratoires Bell. Dès sa conception, Unix est un système d'exploitation multitâche (c'est à dire qu'il peut effectuer plusieurs tâches à la fois voir Note) et multi-utilisateur (chaque utilisateur a son propre environnement comme s'il était le seul utilisateur de la machine).
Écrit à l'origine en assembleur – donc difficilement portable – il a été ré-écrit en C dès l'invention de ce langage par Dennis Ritchie en 1971. À cette époque (à partir de 1975), le code source du système d'exploitation était livré avec les machines et pouvait être modifié et complété par les utilisateurs. Le coût modique de la licence a participé à son extension, en particulier dans le milieu universitaire.
Deux filières principales d'Unix ont cohabité pendant de nombreuses années : BSD (pour « Berkeley Software Distribution » développé à l'Université de Berkeley en Californie) et System V (prononcez « système 5 », développé par la société AT&T, propriétaire des Laboratoires Bell) et qui est à l'origine de la norme POSIX qui définit les interfaces utilisateurs et les interfaces de programmation (API) – norme que s'évertue de respecter un certain Linus Torvalds qui développe un système d'exploitation pour PC en 1991 : le noyau Linux.

Note : En réalité un processeur ne peut effectuer qu'une tâche à la fois, mais il donne l'illusion d'en effectuer plusieurs en attribuant un temps donné à chaque tâche et en passant au bout de ce temps à la tâche suivante et ainsi de suite jusqu'à revenir à la première.

retour au sommaire L'aboutissement

En 1991, Linus Torvalds, alors étudiant à Helsinki, en Finlande, développe un noyau de système d'exploitation de type Unix pour pallier l'indisponibilité chronique du serveur informatique de son université. Ce sera le noyau Linux.

Quelques années avant, en 1983, Richard Stallman, chercheur en intelligence artificielle au MIT (Massachusetts Institute of Technology à Cambridge aux États-Unis), lance le projet de développer un système d'exploitation libre compatible Unix appelé GNU (prononcez « gnou » comme l'antilope) – acronyme récursif : Gnu's Not Unix, soit en français : « GNU n'est pas Unix », qui serait gratuit, contrairement à Unix. Si le développement du noyau (nommé Hurd) a pris du retard, de nombreux outils sont disponibles, dont un compilateur performant et des commandes portant le même nom que leur équivalent d'origine sous Unix.

L'association du noyau Linux et des logiciels développés dans le projet GNU aboutira au système d'exploitation GNU/Linux, souvent abrégé en Linux. La sélection de logiciels utilitaires ajoutés au système de base forme une distribution GNU/Linux. Ce site ne traite que de quelques distributions : Ubuntu et Linux Mint ainsi que de leurs variantes.

Si la majorité des ordinateurs personnels n'utilise pas un système d'exploitation GNU/Linux, il n'en est pas de même des autres ordinateurs. Une majorité de serveurs utilisent ce noyau ainsi que la quasi totalité des superordinateurs. Les téléphones portables, tablettes et smartphones qui fonctionnent sous Android utilisent le noyau Linux. De nombreuses Box qui vous permettent d'accéder à Internet fonctionnent également avec un noyau Linux.

retour au sommaire Architecture Linux

Toutes les distributions de Linux utilisent la même architecture de fichiers, quasiment identique aux systèmes Unix.
Contrairement à Windows qui a plusieurs « entrées » indépendantes appelées C:, D:, E: etc., Linux n'a qu'une seule entrée qu'on appelle la racine (ou souvent root en anglais) et désignée par le symbole « / ».

Les dossiers (appelés également répertoires ou directories en anglais) principaux situés directement sous la racine sont listés ci-dessous :

Votre compte utilisateur sera directement sous /home/utilisateurutilisateur est le nom de votre compte. Toutes vos données sont regroupées ici. Pour l'exemple, supposons que votre compte porte le nom d'Alice et qu'un second utilisateur a son propre compte au nom de Bernard. Tous les documents d'Alice seront dans /home/alice et ceux de Bernard dans /home/bernard.

retour au sommaire Commandes de base

La plupart du temps, vous n'avez pas besoin de taper des commandes dans un terminal car les actions courantes peuvent être effectuées par l'intermédiaire de l'interface graphique, soit en cliquant sur des icônes ou des liens, soit en lançant des programmes accessibles par le menu.

Cependant, en cas de problème, ou pour effectuer certaines opérations sur les fichiers, ou tout simplement par curiosité, vous pouvez être amené à exécuter certaines commandes de base ou un peu plus évoluées.

De nombreuses commandes peuvent être exécutées en mode « utilisateur », mais certaines commandes qui ont un impact sur le système d'exploitation ou sur la sécurité des fichiers ne peuvent être utilisées qu'en mode « super-utilisateur ». Elles doivent alors être précédées du terme sudo qui signifie « super user do », que l'on peut traduire par « faire en tant que super-utilisateur ». Avant d'exécuter la commande, le système vous demandera d'entrer votre mot de passe.

retour au sommaire Notions de base

Avant de voir les commandes en détail, vous devez connaître quelques notions de base. Afin d'illustrer ces notions, je donne quelques exemples faisant intervenir les commandes ls qui liste le contenu d'un répertoire, cd qui permet de changer de répertoire et pwd qui indique où l'on se trouve dans l'arborescence (le répertoire où l'on est). Ces commandes seront explicitées dans la liste des commandes.

retour au sommaire Syntaxe générale d'une commande

De nombreuses commandes utilisent la syntaxe générale suivante :

commande [options] [arguments]

où :

La syntaxe [] indique au lecteur une partie facultative de la commande mais ne fait pas partie de la commande.

Pour obtenir de l'aide sur une commande : man commande
Pour obtenir de l'aide en français sur une commande : commande --help

Note : comme le séparateur des champs d'une commande est le caractère espace, il ne doit pas y avoir d'espace entre les symboles « - » ou « -- » et les valeurs des options. Si un argument est un nom de fichier ou de dossier (avec son chemin éventuel) qui comporte les espaces, le nom complet (chemin + nom) doit être mis entre guillemets ou entre apostrophes pour qu'il soit compris comme un unique argument.
Une chaine entre guillemets est interprétée par le système alors qu'une chaine entre apostrophes n'est pas intéprétée. Par exemple, dans la chaine "$HOME/Images", le terme $HOME est interprété comme la variable système du même nom et sera remplacée par la valeur de cette variable, alors que la même chaine placée entre apostrophes ne sera pas interprétée et le système indiquera que le chemin $HOME/Images n'existe pas.

retour au sommaire Les chemins

Lorsqu'une commande porte sur un fichier, il faut indiquer l'endroit où se situe le fichier dans l'arborescence, c'est à dire indiquer le chemin du fichier. Il y a deux façons d'indiquer ce chemin :

Le caractère « . » (point) indique l'endroit où l'on se trouve dans l'arborescence des fichiers (appelé le répertoire courant).

Le caractère « .. » (double point) indique le niveau au-dessus duquel on se trouve dans l'arborescence (appelé le répertoire parent) : pour remonter de 2 niveaux dans l'arborescence (donc en relatif), vous devez entrer la commande : cd ../..
Le symbole « / » est le séparateur des répertoires.

Votre répertoire personnel peut être désigné par la variable système : $HOME (obligatoirement en majuscule) ou par le symbole « ~ » (tilde).

Exemples commentés

Dans les exemples suivants, le nom de votre compte est remplacé par « utilisateur ». Chez moi, comme mon compte utilisateur est « rene », je remplace donc « utilisateur » par « rene ».

Ouvrez un terminal et tapez les commandes suivantes :

cd $HOME pour revenir dans votre « home » (à la racine de votre compte utilisateur) au cas ou vous avez ouvert un terminal ailleurs.
pwd pour vérifier que vous êtes bien dans votre « home » (/home/utilisateur).
cd ./Documents vous êtes maintenant dans le répertoire /home/utilisateur/Documents.
pwd pour vérifier où vous êtes : /home/utilisateur/Documents.
ls pour voir tous les fichiers du répertoire Documents.
ls -l pour voir tous les fichiers du répertoire Documents en détail (avec les droits, l'appartenance, la taille, etc.). « -l »  est une option de la commande « ls » qui signifie « format long ». Il n'y a pas d'espace entre le signe « - » et le « l ».
cd ../Images pour aller dans le répertoire /home/utilisateur/Images (chemin relatif).
pwd vérification : vous devez être dans /home/utilisateur/Images.
ls ~ pour voir les fichiers de la racine de votre home (/home/utilisateur) alors que vous êtes dans le répertoire /home/utilisateur/Images.
ls -l ~ la même commande que ci-dessus en version longue.

Remarque : sur de nombreuses distributions, la commande ls -l peut être abrégée en ll. C'est ce que l'on appelle un alias, c'est à dire l'écriture abrégée d'une commande que l'on peut définir dans le fichier caché .profile ou le plus souvent dans .bashrc, à la racine de votre compte utilisateur.

retour au sommaire Les métacaractères

Ce sont des caractères qui peuvent remplacer un ou plusieurs caractères dans une commande.
Leur signification dépend de l'interpréteur de commandes utilisé dans le terminal (qu'on appelle aussi le shell). Pour les distributions prises en compte sur ce site, l'interpréteur de commandes par défaut est BASH, acronyme de Bourne Again Shell.

Pour savoir quel interpréteur utilise votre terminal, tapez la commande :

echo $SHELL si la réponse est /bin/bash, c'est que vous utilisez bien l'interpréteur BASH.

Les métacaractères les plus courants dans BASH sont :

Exemples commentés

ls *.jpg liste (ls) tous les fichiers du répertoire courant dont le nom se termine par .jpg (l'extension .jpg désignant des fichiers de photos).
ls DSC[FN]*.jpg liste toutes les photos (nom se terminant par .jpg) du répertoire courant prises par un appareil Fuji (préfixe DSCF) ou Nikon (préfixe DSCN).
ls *[!0-9].jpg liste tous les fichiers qui ne contiennent pas de chiffre juste avant le nom de l'extension (pour lister, par exemple toutes les photos qui ont été renommées).

Et pour terminer, un exemple plus complet :

ls -l ~/Images/[vVaB]*.*p*g liste (au format long) tous les fichiers dont le nom commence par une des lettres : v, V, a ou B, suivi de 0 ou plusieurs caractères quelconques (*), suivi d'un point (.) marquant l'extension et se terminant par *p*g dans le dossier Images de l'utilisateur (~/Images). L'expression *p*g signifie que les fichiers jpg et png qui représentent les images au format jpg et png seront listés.

retour au sommaire Les expressions régulières

Les expressions régulières, appelées aussi expressions rationnelles, sont une extension des métacaractères vus précédemment. Ces expressions sont très puissantes et très utilisées pour, par exemple, rechercher du texte dans un document. À titre d'exemple, l'expression régulière #[a-zA-Z-_]+@[a-zA-Z-]+\.[a-zA-Z]{2,6}# permet de trouver toutes les adresses courriel dans un document texte.

Malheureusement, ces expressions n'ont pas été standardisées et différents moteurs d'expressions régulières utilisent des syntaxes différentes. POSIX a essayé de standardiser ces expressions, mais d'autres systèmes coexistent, tels que Tcl,  Perl et PCRE (pour le langage PHP). Un exellent article de Wikipédia détaille en particulier les fonctions principales de ces expressions.

retour au sommaire Les redirections

Chaque commande utilise par défaut 3 flux standards. Dans les exemples précédents, vous entrez les commandes à partir du clavier et les résultats de la commande sont écrits dans le terminal. Dans ces exemples, l'entrée standard est le clavier et la sortie standard est le terminal. En cas d'erreur sur la commande, un message d'erreur est affiché également dans le terminal qui est aussi la sortie d'erreur standard.

En langage informatique, on dit que les processus (les commandes sont des processus) utilisent 3 flux standards qui sont :

Il est possible de changer chacun de ces flux par défaut, c'est ce que l'on appelle les redirections.

Une  commande peut prendre ses paramètres dans un fichier par exemple ou bien d'une autre commande. C'est une redirection d'entrée.
De même la sortie d'une commande peut être redirigée vers un fichier ou vers l'entrée d'une autre commande.
Enfin, la sortie d'erreur peut être aussi redirigée vers un fichier, vers une autre commande ou vers la « poubelle ». La « poubelle » est un fichier spécial à ne pas confondre avec la « corbeille » du bureau. Tout ce qui est écrit dans ce fichier disparaît et n'est jamais récupérable. Ce fichier est désigné par /dev/null.

Le mécanisme de redirection est très puissant avec seulement 6 redirections :

Exemples commentés

Pour ces exemples, allez vous placer dans le répertoire Modèles qui est un dossier système (donc qui existe obligatoirement) :

cd ~/Modèles vous êtes maintenant dans le répertoire Modèles (si vous avez bien orthographié le nom : majuscule et accents).

ls -l ~ liste (au format long) tous les fichiers de votre dossier personnel (votre « home »). En réponse à cette commande vous devez voir s'écrire plusieurs lignes dans le terminal (une ligne par fichier), dont au moins les dossiers : Bureau, Documents, Images, Modèles, Musique, Public, Téléchargements et Vidéos.

ls -l ~ >liste rien ne s'écrit dans le terminal. La sortie de la commande ls a été redirigée vers le fichier liste qui a été créé pour recevoir le résultat. Comme rien n'est précisé, le fichier liste a été créé à l'endroit ou vous êtes, c'est à dire dans le dossier Modèles.

ls avec cette commande vous devez voir que le fichier liste existe bien dans ce répertoire.

more liste la commande more permet de visualiser le contenu du ficher spécifié. Vous voyez donc le contenu du fichier liste.

ls *toto* liste tous les fichiers du répertoire courant (donc le répertoire Modèles dans notre exemple) dont le nom contient la chaîne « toto ». Comme ce fichier n'existe pas, un message d'erreur s'écrit dans le terminal : ls: impossible d'accéder à 'toto': Aucun fichier ou dossier de ce type.

ls *toto* 2>mes_erreur aucun message d'erreur ne s'affiche dans le terminal, mais le fichier mes_erreur a été créé et contient ce message. Il ne doit pas avoir d'espace entre le 2 (qui représente la sortie d'erreur) et le symbole de redirection de sortie >. Le nom de fichier peut être collé au symbole > ou séparé par une espace.

ls *titi* 2>>mes_erreur même exemple que ci-dessus avec un autre nom qui n'existe pas (enfin, j'espère !). Le message d'erreur est écrit à la fin du fichier mes_erreur avec la redirection 2>> de la sortie d'erreur.

Enfin, un exemple utilisant le pipe pour diriger la sortie d'une commande sur l'entrée de la suivante :

ls -l /boot/grub | grep grub la commande grep est un filtre qui n'affichera que les lignes contenant la chaîne de caractères passée en paramètre (la chaîne « grub » dans cet exemple). La commande ls liste les fichiers contenus dans le répertoire /boot/grub et envoie chaque ligne (donc ici le nom de chaque fichier trouvé) à la commande grep qui compare la chaîne de caractères reçue à la chaîne grub passée en paramètre et affiche la ligne si la chaîne reçue contient la chaîne grub. Vous devez voir s'afficher 2 lignes dans le terminal correspondant aux noms de fichiers grub.cfg et grubenv.

Vous pouvez aussi rediriger le résultat de la commande grep dans un fichier, par exemple :

ls /boot/grub | grep grub > lsgrub le fichier lsgrup contient alors les noms des fichiers grub.cfg et grubenv, chacun sur une ligne. Ce type de fichier peut ensuite être utilisé comme entrée d'une autre commande (avec le symbole <).

more lsgrup pour visualiser le fichier créé par la commande précédente.

retour au sommaire Les propriétés du terminal

Le terminal s'exécute dans une fenêtre, qui, comme toutes les fenêtres, peut être redimensionnée. Il est possible d'ouvrir autant de terminaux que l'on veut. Ce qui suit s'applique à l'interpréteur BASH. D'autres interpréteurs peuvent avoir des propriétés identiques que je n'ai pas testées.

retour au sommaire Propriétés

Sous Linux, les terminaux ont quelques propriétés dont on ne peut plus s'en passer lorsqu'on les a utilisées. Je cite ici les plus courantes.

Note : si un nom de chemin ou de fichier comporte un caractère espace, il doit être mis entre parenthèses car l'espace est un séparateur dans une commande (séparateur entre une commande et une option ou un argument par exemple).

Note : le nombre de commandes enregistrées dans l'historique est défini dans le fichier caché « .bashrc » dans votre « home » à la ligne HISTSIZE=1000. Vous pouvez changer cette valeur par défaut pour en mettre une valeur plus élevée ou plus faible, à votre convenance.

retour au sommaire Raccourcis

Plusieurs raccourcis sont intéressants à connaître lorsqu'on utilise le terminal.

retour au sommaire Les commandes les plus courantes

Cette liste de commandes n'est pas exhaustive. Elle est classée par thèmes. Les options des commandes peuvent souvent être regroupées derrière le signe « - ». Pour plus de détails sur ces commandes, vous pouvez taper le nom de la commande dans votre navigateur précédé de « commande » et suivi de « ubuntu » ou « linux ». Par exemple pour avoir des détails sur la commande chown (changer le propriétaire d'un fichier), tapez « commande chown ubuntu ».

Remarque : dans les tableaux suivants, si rien n'est précisé, le terme de fichier désigne les fichiers et les répertoires (qui sont des fichiers particuliers vus par le système Linux).

Vous pouvez trouver la liste complète des commandes bash par ordre alphabétique sur le site wikibooks.org en français.

Les commandes dangereuses sont signalées par ce logo : attention.

retour au sommaire Commandes de base

nom signification action options principales Exemples
cd change directory pour se déplacer dans les répertoires - retourne dans le répertoire précédent cd ~/Téléchargements
.. remonte au répertoire parent
echo echo affiche la chaîne de caractère passée en paramètre. Utile pour afficher le résultat de certaines commandes -n n'ajoute pas de caractère de fin de ligne echo "mon message"
-e interprète les caractères de formatage (sauts de ligne, de page,tabulations...)
ls list affiche le contenu d'un répertoire -l affichage détaillé du répertoire ls -la pour lister aussi les fichiers cachés
-a affiche également les fichiers cachés (ceux qui commencent par un point)
pwd print working directory affiche le nom du répertoire actuel pwd
sudo super user do exécute la commande suivante comme super-utilisateur sudo lshw (voir cette commande ci-dessous)

retour au sommaire Commandes d'informations

nom signification action options principales / commentaire Exemples
--help help affiche l'aide en français sur une commande c'est une option des commandes en version longue find --help affiche l'aide de la commande find
date date affiche la date actuelle du système +%s affiche le temps Unix en secondes (nombre de secondes depuis le 1er janvier 1970 à 0 heure) date +%s
df disk free affiche l'espace libre sur un disque ou une partition -h indique l'espace en Mio ou Gio df -TH /home
-H indique l'espace en Mo ou Go
-T indique en plus le type du système de fichiers
file file affiche le type mime du fichier et d'autres informations sur le fichier suivant son type décode les informations contenues dans les en-têtes internes des fichiers file photo1254.jpg
free free affiche l'utilisation de la mémoire -h affiche dans l'unité appropriée (ko, Mo, Go) free -ht
-t affiche en plus le total (RAM + swap)
history history affiche l'historique des commandes passées dans le terminal pour exécuter une ancienne commande tapez son numéro précédé de « ! » (sans espace) history affiche l'historique
!245 exécute la commande 245 de l'historique
hostname host name affiche le nom de l'ordinateur sur le réseau local aucun hostname
lshw list hardware affiche les caractéristiques des composants de l'ordinateur. Devrait être exécuté en super-utilisateur -html affiche au format html pour être lisible dans un navigateur web sudo lshw -html > matos.html
-X lance l'interface graphique sudo lshw -X
lspci list pci affiche les périphériques pci connectés lspci
lsusb list usb affiche les périphériques usb connectés lsusb
man manual affiche le manuel d'une commande spécifiée très nombreuses options pour la recherche et l'affichage. Tapez « q » pour quitter le manuel man uname
ps processes snapshot affiche les processus en cours. Pour obtenir l'aide sur cette commande, tapez « ps --aide tous » -u affiche seulement les processus de l'utilisateur courant ps -au affiche les processus utilisateur et root
ps -faux
-au affiche les processus de tous les utilisateurs
-faux regroupe les processus avant affichage
stat statut affiche les informations sur un fichier ou un système de fichiers -f affiche l'état du système de fichiers stat ~/Documents
stat -f ~/Documents
uname unix name affiche les informations du système -n affiche le nom de l'ordinateur (équivalent à hostname) uname -a
-o affiche le nom du système d'exploitation
-s affiche le nom du noyau
-a affiche toutes les informations
whereis where is recherche le chemin du programme spécifié affiche les chemins du fichier source, de l'exécutable et du manuel.  Si la réponse est seulement le nom du programme, c'est qu'il n'est pas installé whereis firefox
which which recherche le chemin du programme spécifié affiche le chemin du programme qui sera exécuté. Si rien ne s'affiche c'est que le programme n'est pas installé which firefox
whoami who am I affiche le nom de connexion de l'utilisateur whoami

retour au sommaire Opérations sur les fichiers

nom signification action options principales / commentaire Exemples
cat concatenate concatène ou affiche des fichiers texte -n affiche les numéros de ligne cat fich_1.txt fich_2.txt > fich_3.txt crée le fichier fich_3.txt et y place le contenu de fich_1.txt et de fich_2.txt
cat fich_3.txt affiche le contenu du fichier fich_3.txt
cmp compare compare deux fichiers textes ou binaires et indique les différences -b affiche le premier octet qui diffère (en octal) cmp -l -i 440 fich1 fich2 : compare les fichiers à partir de l'octet 440 et affiche toutes les différences
-l affiche en octal tous les octets qui diffèrent
-i ignore les N premiers octets des fichiers
cp copy copie des fichiers ou des répertoires, éventuellement sous un autre nom -R copie récursivement les fichiers cp -R Audio/* Sauve_audio : copie tous les fichiers (*) du répertoire Audio dans le répertoire Sauve_audio
diff difference affiche les différences entre deux fichiers textes -i insensible à la casse diff -i fich1.txt fixh2.txt voir cette page pour l'interprétation du résultat
-b ignore les diffrénces de nombre d'espaces
ln link crée un lien physique ou symbolique vers un fichier -s crée un lien symbolique ln -s ~/rep_cible MonLien crée un lien symbolique appelé MonLien qui pointe vers le répertoire ~/rep_cible. Un double-clic sur MonLien dans le navigateur de fichiers montre les fichiers du dossier ~/rep_cible. Un lien peut pointer vers un répertoire ou vers un fichier.
mkdir make directory crée un répertoire -p crée les répertoires parents s'ils n'existent pas mkdir ~/Photos crée le répertoire Photos dans le home
mkdir -p ~/Photos/2020/vacances crée le répertoire vacances et leurs parents Photos et 2020 s'ils n'existaient pas
mv move renomme ou déplace un ou plusieurs fichiers -i demande confirmation avant d'écraser le fichier cible s'il existe mv DSCF1234.JPG Père_Noel.jpg renomme Père_Noel.jpg le fichier DSCF1234.JPG
-u ne déplace que si le fichier source est plus récent que le fichier cible mv -u ~/Images/*.jpg ~/Photos déplace tous les fichiers de photos (*.jpg) du répertoire ~/Images vers le répertoire ~/Photos sans écraser les fichiers plus récents de même nom de ce répertoire
rename rename renomme des fichiers utilise des expressions régulières de type perl rename 'y/A-Z/a-z/' * convertit les noms de tous les fichiers du répertoire courant en minuscules
 rename 's/\.html$/.xhtml/' * renomme tous les fichiers avec l'extension « html » en « xhtml »
rm remove attention supprime des fichiers -i demande confirmation avant chaque suppression rm ~/essai/* supprime tous les fichiers du répertoire essai sans avertissement
rm -R ~/essai supprime le répertoire essai et tous les fichiers et répertoires qu'il contient sans avertissement
-R supprime récursivement des répertoires et leur contenu
rmdir remove directory attention supprime des répertoires vides -p supprime les répertoires parents rmdir ~/Photos/2020/vacances supprime le répertoire vacances
rmdir -p ~/Photos/2020/vacances supprime les répertoires vacances, 2020 et Photos
touch touch crée un fichier vide ou modifie la date d'un fichier -m modifie seulement la date de modification touch nouveau.txt crée le fichier vide nouveau.txt
-r donne la même date que celle du fichier qui suit touch -r ancien.txt nouveau.txt : affecte la date du fichier ancien.txt au fichier nouveau.txt
-t définit une date au format CCYYMMDDhhmm.ss touch -t 202105111521.18 Lola.txt définit l'heure d'accès et de modification du fichier Lola.txt au 11 mai 2021 à 15h21min18s

retour au sommaire Commandes système

Certaines commandes ne peuvent être utilisées que par le propriétaire des fichiers ou par le super-utilisateur. Dans ce second cas il faut faire précéder les commandes par « sudo ».

nom signification action options principales / commentaire Exemples
chmod change mode change les permissions des fichiers -R change récursivement les permissions
les permissions peuvent être notées en octal (de 0 à 7) ou en « rwx » pour chaque entité (u, g, o ou a pour all)
chmod 754 Monfichier atribue pour Monfichier les droits rwx au propriétaire (7), rx au groupe (5) et r au « reste du monde » (4)
chmod o-w Monfichier enlève le droit d'ecriture pour « other » (le reste du monde) sur Monfichier
chgrp change group change le groupe propriétaire -R change récursivement les fichiers et répertoires chgrp famille /vacances/*.jpg les fichiers de photos (*.jpg) du répertoire vacances appartiennent maintenant au groupe famille
chown change owner change le propriétaire des fichiers -R change récursivement les fichiers et répertoires chown rene MonFichier  le propriétaire de MonFichier est maintenant rene
chown rene:famille MonFichier ce fichier appartient maintenant à rene du groupe famille
 : ce séparateur permet de changer simultanément de propriétaire et de groupe
find find recherche des fichiers -name recherche par le nom find ~ -iname *.pdf recherche dans le home ( ~ ) tous les fichiers ( * ) avec l'extension pdf en majuscule ou minuscule (iname)
find ~/Images -type d recherche tous les répertoires (-type d) dans ~/Images
-iname nom de fichier insensible à la casse
-type recherche d'un type de fichier
grep global regular expression print recherche de chaîne de caractères dans un fichier texte ou une commande -n retourne le numéro de ligne grep -ni "annie m" répertoire.txt retourne toutes les lignes du fichier répertoire.txt qui contiennent la chaîne annie m en majuscule ou minuscule
ls | grep cle retourne tous les noms de fichiers (ls) qui ont la chaîne cle dans leur nom
-i chaîne insensible à la casse

retour au sommaire Installation / désinstallation d'un logiciel

retour au sommaire Principe

Sous Windows, pour installer un logiciel, vous le cherchez sur différents sites, puis vous le téléchargez, le plus souvent sous un format d'exécutable (extension .exe pour un logiciel « autoextractible ») ou d'installateur (extension .msi pour être installé par « Windows installer »), plus rarement sous un format compressé (fichier .zip). Ensuite, vous l'installez par un double-clic sur le fichier téléchargé et vous suivez les instructions. Si tout se passe bien, le logiciel est disponible. Parfois, l'installation n'aboutit pas et un message vous indique qu'il manque un fichier (souvent un fichier .dll qui est une librairie dynamique partagée dont le programme a besoin pour fonctionner). Vous pouvez aussi avoir un message tel que : ce programme ne peut fonctionner qu'avec la version 4.5 de .NET Framework, auquel cas, il vous faudra aussi télécharger la bonne version du framework.

Sous Linux, c'est complètement différent, à la fois plus simple et mieux géré. Les deux principales différences sont :

Cela est possible grâce à un mécanisme particulier : la gestion des paquets.

retour au sommaire La gestion des paquets

Bien que la gestion des logiciels soit basée sur le même principe pour toutes les distributions de Linux, les commandes peuvent être différentes en fonction de la distribution mère. Je ne développerai ici que celles basées sur la distribution mère Debian qui concerne les variantes d'Ubuntu et de Linux Mint documentées dans ce site.

retour au sommaire Les paquets

Sous Linux, un gestionnaire de paquets remplace les divers systèmes d'installation sous Windows. Le logiciel que l'on veut installer est contenu dans un fichier que l'on appelle un paquet. Pour les distributions basées sur Debian, ces fichiers ont l'extension .deb. En fait un paquet contient en même temps tous les « bouts de programmes » constituant le logiciel, mais aussi toutes les instructions pour l'installer et toutes les dépendances. Les dépendances sont les autres programmes et bibliothèques dont il a besoin pour fonctionner (c'est un peu l'équivalent des .dll sous Windows).

Lors de l'installation du logiciel, le gestionnaire lit les dépendances et cherche si elles sont déjà installées sur votre ordinateur. Si c'est le cas, il indiquera au logiciel ou elles se trouvent, sinon il cherchera les fichiers manquant, puis les chargera et les installera avec votre accord. Le gestionnaire installe alors le logiciel demandé, met à jour les dépendances et le menu. Il devient disponible directement pour l'utilisateur, très souvent sans avoir à redémarrer l'ordinateur.

retour au sommaire Les dépôts

Sous Linux, tous les logiciels sont stockés sur des serveurs de fichiers Linux répartis un peu partout sur la planète et qui contiennent tous pratiquement les mêmes fichiers. Ceci évite l'engorgement des serveurs si un grand nombre d'utilisateurs veut télécharger les mêmes fichiers en même temps. C'est qui se passe lors des mises à jour par exemple. C'est pour cela que les mises à jour sous Linux sont très rapides (rien à voir avec la lenteur des mises à jour sous Windows). Vous pouvez choisir le serveur de logiciels dans le gestionnaire de paquets ou conserver celui proposé par défaut.

Les logiciels sont regroupés dans des ensembles appelés des dépôts APT (repository en anglais) ou plus simplement « dépôts ». Vous n'avez donc pas à aller dénicher un logiciel sur le web pour le télécharger, avec tous les risques que cela comporte. Avant d'être admis dans un dépôt, le logiciel et ses dépendances sont testés. Ils sont bien sûr exempts de publicités, virus, barres d'outils et autres gadgets qui polluent les ordinateurs sous Windows. Les dépôts sont divisés en plusieurs branches et sections. La branche correspond à l'utilité du dépôt : principale, mises à jour de sécurité, rétro-portage, etc. La section regroupe des paquets selon leur maintenance par les développeurs d'Ubuntu et par leur licence.
Les sections principales sont (les noms sont uniquement en anglais) :

Vous pouvez également télécharger les codes sources d'un logiciel pour voir son fonctionnement, le modifier et le compiler sur votre ordinateur (utilisateur averti).
Il existe aussi d'autres dépôts, gérés par les partenaires de Canonical (société qui développe et gère Ubuntu) ainsi que des « dépôts personnels » désignés par ppa (pour Personal Package Archive en anglais).

Chaque version d'Ubuntu a ces propres dépôts.

retour au sommaire Installation d'un logiciel

Vous avez plusieurs possibilités pour installer un logiciel :

Quelle que soit la solution utilisée, elle utilise toujours le gestionnaire de paquets apt (signifiant Advanced Packaging Tool, soit « outil de paquetage avancé ») pour télécharger les paquets et vérifier les dépendances puis fait appel à dpkg (signifiant Debian package), qui est l'outil de bas niveau d'installation de paquets Debian. Dpkg est appelé par des outils de plus haut niveau et plus conviviaux à utiliser.

Note 1 : les exemples suivants utilisent la distribution Linux Mint MATE. Les différences avec les autres distributions sont minimes et vous devriez vous y retrouver facilement.
Note 2 : j'ai choisi le logiciel Tuxpaint comme exemple pour illustrer l'installation et la désinstallation car il comporte plusieurs paquets et plusieurs dépendances pour son installation complète. De nombreux logiciels sont plus simples à installer que celui-ci.

retour au sommaire Installation par la logithèque

logithèque

La logithèque de Linux Mint MATE

Pour simplifier encore le téléchargement des logiciels, chaque distribution possède un gestionnaire de logiciels. C'est un programme appelé Logithèque qui présente tous les logiciels présents dans les dépôts, pour la version du système d'exploitation installé. Comme ces logiciels sont très nombreux (plusieurs milliers), ils sont classés par catégories.

Vous accédez à la logithèque par le menu Applications, catégorie Administration, puis Logithèque.

Pour télécharger un logiciel avec la logithèque, vous avez deux possibilités :

tuxpaint_install

Installation du logiciel Tux Paint

Exemple commenté

Par exemple, vous cherchez un logiciel de dessin d'utilisation très simple à l'usage des enfants. Dans la catégorie Graphisme, sous catégorie Dessin, vous trouvez Tuxpaint parmi le choix proposé. La description sommaire indique « Programme Paint pour jeunes enfants », ce qui correspond à ce que l'on cherche. Un clic sur son nom vous donne une description détaillée du logiciel (parfois en anglais, ce qui n'est pas le cas ici) et la possibilité de le télécharger. Pour l'installer, cliquez sur le bouton Installation.
Comme c'est un programme que vous installez sur votre système, c'est à dire que vous faites une modification du système, votre mot de passe est demandé pour autoriser son installation. Lorsque l'installation est terminée, le bouton se change en Supprimer.
Quittez la logithèque. Dans le menu Applications, vous retrouvez Tux Paint dans la catégorie Éducation. Vous l'exécutez comme d'habitude par un  clic sur son nom. C'est aussi simple que ça.
Dans la catégorie Préférences, vous trouvez son programme de configuration qui a été installé en même temps.

retour au sommaire Installation par un lien sur le site d'Ubuntu

Dans votre navigateur favori, tapez « tuxpaint:ubuntu » et cliquez sur le site correspondant au lien https://doc.ubuntu-fr.org/tuxpaint (ou cliquez directement sur ce lien).

tuxpaint_ubuntu

Page de Tuxpaint sur le site Ubuntu

Il vous suffit ensuite de suivre les indications d'installation. Des liens spéciaux (souvent en vert) facilitent l'installation des logiciels, comme sur l'illustration de gauche.

lien_apt

Demande d'autorisation pour ouvrir le lien

choix_apturl

Choix de l'application

Cliquez sur le lien tuxpaint.

Votre autorisation est demandée pour ouvrir le lien apt. Si vous cochez la case de cette fenêtre, le site sera toujours autorisé à ouvrir les liens « apt » sans vous poser la question. Pour ne pas diminuer la protection de mon ordinateur, je ne coche pas cette case. C'est une question de choix personnel. Dans tous les cas, cliquez sur le bouton Choisir une application.

Dans la nouvelle fenêtre, vous devez choisir une application pour ouvrir le lien apt. Par défaut l'application AptURL est sélectionnée et le bouton Ouvrir le lien est accessible. Cliquez simplement sur ce bouton.

Si aucune application n'est sélectionnée, ce bouton est grisé (il n'est plus actif - vous ne pouvez pas cliquer dessus). Cela arrive parfois lorsqu'on a désélectionné par inadvertance l'application par défaut (AptURL). Il faut alors la sélectionner par un clic souris, ce qui rend le bouton actif.

Pour information, l'application AptURL gère le protocole d'apt et permet d'aller chercher les paquets nécessaires sur le serveur Ubuntu pour installer le logiciel.

installer_tp

Confirmation d'installation

La fenêtre suivante vous demande si vous voulez installer le logiciel. À cette étape vous pouvez encore annuler l'installation (bouton Cancel sur l'illustration de gauche). En cliquant sur le petit triangle à gauche du mot Description, vous avez une description du logiciel à installer.

Si le logiciel est déjà installé, un message vous l'indique à la place de cette fenêtre.

téléchargement_tp

Téléchargement du logiciel

Dans le cas contraire, l'installation commence. Elle se fait en deux parties.

Dans un premier temps, les paquets sont téléchargés à partir du serveur sélectionné par apturl. Si vous cliquez sur le petit triangle à gauche du mot Détails, vous voyez ce qu'il se passe à cette étape : la liste des paquets en téléchargement est indiquée avec leur taille.

Dans un second temps, les paquets téléchargés sont installés (par dpkg). Vous pouvez aussi voir le détail de l'installation en cours.

Lorsque l'installation est terminée, sous Linux Mint MATE, dans le menu Applications, catégorie Éducation, vous trouvez le logiciel Tux Paint. Dans le menu, catégorie Préférences, vous trouvez son programme de configuration (son nom interne est tuxpaint-config) qui a été installé en même temps.

Dans la page de documentation Ubuntu de Tuxpaint, il est indiqué que vous pouvez également installer le paquet tuxpaint-stamps-default pour avoir des tampons supplémentaires. En fait si vous cliquez sur ce lien, le système vous indiquera que ce programme est déjà installé (ce qui est visible sur l'illustration de droite de téléchargement du logiciel). Le paquet tuxpaint-config a été également installé en même temps.

Ceci est assez courant car le logiciel évolue et les pages web ne sont pas forcément à jour. Dans le cas de Tuxpaint, le programme de tampons supplémentaires était séparé du programme principal et il fallait l'installer séparément (c'est l'équivalent d'une option). Il est maintenant considéré comme intégré au logiciel et est installé d'office, même s'il se présente comme un programme séparé au niveau des paquets. Le programme de configuration est aussi intégré au niveau de l'installation. C'est aussi toute la puissance de l'installateur de logiciels apt de gérer ces configurations pour faciliter la vie des utilisateurs.

retour au sommaire Installation par le gestionnaire de paquets Synaptic

Dans les distributions Ubuntu et dérivées (Linux Mint), le gestionnaire de paquets s'appelle Synaptic. Il est accessible par le menu Applications, catégorie Administration, puis Gestionnaire de paquets Synaptic. C'est une interface graphique complète pour apt qui permet l'installation et la désinstallation des paquets depuis les dépôts APT. Comme il ne fonctionne qu'en mode super-utilisateur (puisqu'il permet des modifications du système), une fenêtre demande votre mot de passe pour l'exécuter.

retour au sommaire Présentation sommaire de Synaptic
synaptic_0 interface

L'interface de Synaptic

synaptic_0 recherche

Recherche d'un paquet

La figure de gauche montre l'interface de Synaptic dans sa configuration par défaut. Tous les paquets connus de la distribution sont listés dans le panneau de droite de la fenêtre car les options Catégories et Toutes sont sélectionnées. La case en regard de chaque paquet indique son état suivant une légende que vous pouvez afficher par le menu AIde en cliquant sur l'élément Légende de l'icône.
Une case blanche indique un paquet non installé.
Une case rouge indique un paquet cassé, ce qui arrive parfois lors d'une mauvaise manipulation ou lors d'une installation ou d'une mise à jour s'il y a eu un problème sur le réseau ou une coupure de courant. Dans ce cas, le menu Édition permet de Réparer les paquets cassés. Après réparation, vous pouvez aussi Actualiser la liste des paquets qui indiquera les éventuelles erreurs restantes.

Pour rechercher un paquet particulier, utilisez le bouton Rechercher, situé en haut à droite de la fenêtre Synaptic. Une fenêtre de recherche permet d'entrer le nom du paquet. Une fois le nom entré, cliquez sur le bouton Rechercher pour lancer la recherche dans tous les paquets connus du système.

retour au sommaire Installation d'un logiciel
synaptic_1 sélection

Sélection du paquet Tuxpaint

Pour installer le logiciel Tuxpaint, entrez son nom dans la fenêtre de recherche, puis cliquez sur le bouton de recherche (voir illustration de droite ci-dessus). Synaptic recherche tous les paquets qui contiennent le nom tuxpaint et les présente dans le panneau de droite. Il a trouvé 6 paquets, dont un nommé tuxpaint, qui correspond au logiciel que l'on veut installer.

synaptic_2 message

Fenêtre indiquant les dépendances

Cliquez sur la case en face de son nom. Dans le menu contextuel qui apparaît, cliquez sur l'élément Sélectionner pour installation. Une nouvelle fenêtre indique la liste des paquets qui doivent être installés pour le bon fonctionnement de ce logiciel de dessin. C'est ce que l'on appelle les dépendances (voir figure de droite).
Cliquez alors sur le bouton Ajouter à la sélection.

synaptic_3 appliquer

Liste des paquets sélectionnés

Cinq paquets sont sélectionnés pour être installés. Ils sont surlignés en vert et la case correspondante contient un motif indiquant « pour installation ».

synaptic_4 résumé

Fenêtre « Résumé » avant installation

Cliquez sur le bouton Appliquer, en haut à gauche pour lancer l'installation.

Une nouvelle fenêtre résume toutes les opérations qui vont être effectuées. Vous pouvez voir le détail de ces opérations en cliquant sur le bouton Afficher les informations détaillées. La case à cocher, si elle est cochée, ne lancera que le téléchargement des paquets sélectionnés sans les installer. Sauf cas particulier, laissez-la décochée. Les paquets seront alors téléchargés puis installés.
À cette étape, vous pouvez encore annuler toutes les opérations sélectionnées (téléchargement des paquets et leur installation) en cliquant sur le bouton Annuler.

synaptic_5 installation

Fenêtre d'avancement de l'installation

Pour l'installation, cliquez sur le bouton Appliquer. Cette fenêtre se ferme et l'installation commence. Le déroulement de l'avancement de l'installation est visualisé dans une nouvelle fenêtre (voir illustration à droite). Vous pouvez suivre de déroulement détaillé en cliquant sur le petit triangle à gauche de Informations détaillées.
Une case à cocher permet de fermer automatiquement cette fenêtre à la fin de l'installation. En cas de problème rencontré, une fenêtre de message indiquera la cause de l'impossibilité d'installer correctement le logiciel. Si tout ce passe correctement (ce qui est quand même la presque totalité des cas), aucun message ne sera émis.

À la fin de l'installation, la liste des paquets est mise à jour et vous verrez la liste des paquets installés dans l'interface de Synaptic avec le numéro de version de chaque paquet. Vous pouvez ensuite quitter Synaptic.

Remarque : Le paquet tuxpaint-dev n'est pas sélectionné. Il s'agit du code source du logiciel. S'agissant d'un logiciel libre, le code source est toujours disponible pour être étudié, voire modifié par toute personne ayant des connaissances en développement informatique (et qu'on appelle des « développeurs »). La plupart des logiciels libres sont développés et maintenus par un grand nombre de personnes dans le monde, sous la direction d'un ou plusieurs responsables. Par curiosité, vous pouvez cliquer sur ce lien qui vous montre les développeurs impliqués dans l'élaboration de ce logiciel (développement, portage sur différentes plateformes, documentation, traduction...).

retour au sommaire Installation « à la main »

retour au sommaire Outils en ligne de commande

Ce chapitre liste quelques possibilités de gérer les paquets en ligne de commande dans un terminal : installer, mettre à jour ou désinstaller les paquets.

Apt est le nom du gestionnaire de paquets au format APT. C'est aussi le nom d'une commande pour installer, mettre à jour et désinstaller des paquets en gérant leurs dépendances comme expliqué au début du chapitre sur l'installation des logiciels.

Les deux autres commandes principales sont apt-get, la plus complète et aptitude, plus lourde et ne devrait être utilisée que par des personnes confirmées. Aptitude propose en plus une interface semi-graphique qui demande une certaine habitude par rapport à l'interface en ligne de commande. Toutes ces commandes se ressemblent beaucoup dans leurs options pour gérer les paquets APT. La commande apt rassemble les fonctionnalités des commandes apt-get et apt-cache.  Dans les exemples suivants, j'utiliserai les commandes apt-get et apt-cache par habitude, mais vous pouvez utiliser à la place la commande apt si vous voulez en vous reportant au tableau pour les équivalences.

Le tableau suivant regroupe les commandes apt et apt-get pour gérer les paquets.  Dans ces commandes l'ensemble <nom_du_paquet> est à remplacer par le nom réel du paquet. Par exemple pour l'installation du logiciel Tuxpaint, la commande doit être : sudo apt-get install tuxpaint.

Action apt-get / apt-cache apt Commentaire
Installation sudo apt-get install <nom_du_paquet> sudo apt install <nom_du_paquet> installe le logiciel avec ses dépendances
Désinstallation simple sudo apt-get remove <nom_du_paquet> sudo apt remove <nom_du_paquet> désinstalle uniquement le paquet, sans désinstaller les éventuelles dépendances
Désinstallation avancée sudo apt-get remove --purge <nom_du_paquet> sudo apt purge <nom_du_paquet> désinstalle le paquet avec ses fichiers de configuration (équivalent de suppression complète de Synaptic)
Désinstallation avec dépendances sudo apt-get autoremove <nom_du_paquet> sudo apt autoremove <nom_du_paquet> désinstalle le paquet avec ses dépendances, mais laisse les fichiers de configuration
Désinstallation totale sudo apt-get autoremove --purge <nom_du_paquet> sudo apt autoremove --purge <nom_du_paquet> désinstalle le paquet avec ses dépendances et ses fichiers de configuration
Information apt-cache search <nom_du_paquet> apt search <nom_du_paquet> affiche des informations sur les paquets
Information détaillée apt-cache show <nom_du_paquet> apt show <nom_du_paquet> affiche des informations détaillées sur le paquet
Mise à jour (dépôts) sudo apt-get update sudo apt update met à jour la liste des paquets recencés dans le fichier /etc/apt/sources.list.
Mise à jour (paquets) sudo apt-get upgrade sudo apt upgrade met à jour les paquets installés
retour au sommaire Installation d'un logiciel
infos_paquets

Information sur les paquets de tuxpaint

apt-get installation

Installation en ligne de commande

Avant d'installer un logiciel, il est intéressant de voir la liste des paquets qui en dépendent, même si cette démarche n'est pas obligatoire.

Ouvrez un terminal et tapez la commande : apt-cache search tuxpaint
ce qui a pour effet de lister tous les paquets qui contiennent la chaîne de caractères « tuxpaint » dans leur nom ou dans leur description. La figure à gauche montre le résultat de cette commande. 6 paquets dont le nom commence par tuxpaint sont listés avec une courte description et, plus surprenant, un paquet nommé junior-art qui fait figure d'intrus.  Pour en savoir plus sur ce paquet, tapez la commande : apt-cache show junior-art
qui donne une description détaillée de ce paquet où l'on voit que le mot « tuxpaint » apparaît dans sa description : Outils pour que les enfants puissent produire des dessins. Le plus simple  d'entre eux est tuxpaint, destiné aux jeunes enfants. Il supporte le son  et est facile à utiliser... ce qui explique pourquoi il est listé avec les 6 autres paquets.

Maintenant, nous allons installer le logiciel Tuxpaint par la commande : sudo apt-get install tuxpaint
Comme l'installation d'un logiciel modifie le système, il faut écrire « sudo » devant la commande apt-get  pour avoir les privilèges du super-utilisateur et entrer son mot de passe. La commande indique que 4 paquets supplémentaires seront également installés (donc en plus du paquet tuxpaint demandé). Différentes informations sont également fournies, comme l'espace disque qui sera occupé. À cette étape, vous pouvez encore annuler l'installation en tapant « n » à la question : Souhaitez-vous continuer ? Si vous entrez « o » (en majuscule ou minuscule) pour OUI, l'installation est effectuée et le détail des opérations est affiché dans le terminal.

Le logiciel Tuxpaint est alors disponible dans le menu Applications, dans la catégorie Éducation.

retour au sommaire Désinstallation d'un logiciel

Tout comme pour l'installation, il y a plusieurs moyens de désinstaller un logiciel : par la logithèque, par le gestionnaire de paquets synaptic ou par des commandes Linux.

retour au sommaire Désinstallation par la logithèque

logithèque progs installés

Accès aux programmes installés

Ouvrez le menu de la logithèque par le bouton en haut à droite et sélectionnez l'élément Afficher les applications installées comme sur l'illustration de gauche.

logithèques applis installées

La liste des programmes installés

La logithèque présente alors la liste des applications installées (voir la figure de droite). Pour désinstaller un programme, cliquez sur son nom puis sur le bouton de désinstallation. Comme pour l'installation, votre mot de passe sera demandé. Si ce programme est lui même une dépendance d'autres programmes, une fenêtre d'avertissement vous indiquera la liste des programmes qui devront être désinstallés en même temps. Jusqu'à ce niveau, vous pouvez toujours annuler cette action.

Exemple commenté

Dans cet exemple, nous allons désinstaller le logiciel de dessin Tuxpaint qui a été installé comme exemple par la logithèque (voir plus haut). Comme vous pouvez le voir sur l'illustration de droite, plusieurs programmes ont un nom contenant le terme « Tuxpaint ». Ces programmes ont été installés en même temps que le programme Tuxpaint. Ce sont des dépendances du programme principal.
Un autre programme, nommé Timgm6mb-soundfont a également été installé. Pour savoir s'il a un rapport avec Tuxpaint, cliquez dessus. Dans la fenêtre d'explication, une phrase pas très explicite et en anglais nous apprend que ce programme était intégré au programme MuseScore, mais qu'il en est maintenant détaché. C'est un programme de « police sonore » (traduction personnelle de sound font) qui permet d'écrire et de jouer de la musique. Mais le lien avec le programme de dessin n'est pas évident. Cliquez sur le bouton Supprimer (pour voir). Une fenêtre « popup » indique que ce programme est lié à 3 programmes : libfluidsynth2, libsdl-mixer1.2 et tuxpaint. Les 2 premiers sont des bibliothèques (appelées aussi librairies en anglais). C'est une déduction car les bibliothèques ont des noms qui commencent par lib. Il a donc bien été chargé en même temps que l'installation de Tuxpaint. Cliquez sur le bouton Annuler, puis revenez dans la fenêtre principale en cliquant sur  ←  (la flèche en haut à gauche).
L'installation de Tuxpaint a entraîné l'installation de 4 autres paquets : Timgm6mb-soundfont, Tuxpaint-config, Tuxpaint-plugins-default et Tuxpaint-stamps-default. Vous pouvez regarder ce que font ces paquets et comment ils sont liés au logiciel principal Tuxpaint en procédant comme ci-dessus, puis revenez dans la fenêtre principale.

tuxpaint_désinstall

Désinstallation de Tuxpaint

Nous allons désinstaller ce programme et toutes ses dépendances. Une bonne façon de procéder est de désinstaller d'abord le programme principal. Normalement les dépendances directes sont aussi supprimées, mais nous allons voir, sur cet exemple, que ce n'est pas toujours le cas.

Cliquez sur Tuxpaint, puis sur le bouton Supprimer. Votre mot de passe est demandé, puis la désinstallation commence. Dans cet exemple, aucune dépendance n'est supprimée. Procédez de la même façon avec les paquets Tuxpaint-config, Tuxpaint-plugins-default et Tuxpaint-stamps-default. Pour ce dernier paquet une fenêtre d'avertissement indique que tuxpaint-data sera aussi supprimé. Confirmez et la désinstallation se poursuit. Terminez en désinstallant le dernier paquet nommé Timgm6mb-soundfont qui désinstallera également les deux librairies associées.

La désinstallation du logiciel Tuxpaint est maintenant complète.

retour au sommaire Désinstallation par le gestionnaire de paquets Synaptic

synaptic_0 recherche

Nom du paquet à rechercher

synaptic_désinstal_0

Sélection pour suppression

Comme exemple, nous allons désinstaller le logiciel Tuxpaint qui a été installé précédemment, par la logithèque, par Synaptic ou à la main.

Lancez le logiciel Synaptic (menu Applications, catégorie Administration, puis Gestionnaire de paquets Synaptic).
Dans la fenêtre de Synaptic, cliquez sur le bouton Rechercher et tapez le nom du paquet principal : tuxpaint dans la fenêtre de recherche, puis validez en cliquant sur le bouton Rechercher (voir l'illustration à gauche).

Dans le panneau de droite de la fenêtre, les paquets relatifs à Tuxpaint sont marqués d'une case en vert qui indique qu'ils sont installés. Si ce n'est pas le cas, c'est que le logiciel Tuxpaint n'a pas été installé ou qu'il a déja été désinstallé.

retour au sommaire Désinstallation d'un paquet

Remarque : ne faites aucune action avant d'avoir lu tout ce paragraphe. Cet exemple sert à illustrer la désinstallation d'un logiciel contenu dans un seul paquet.

synaptic_supprimer_0 appliquer

Appliquer les opérations demandées

synaptic_supprimer_1 appliquer

Appliquer les changements

Cliquez (avec le bouton gauche) sur la case en face de Tuxpaint. Dans le menu contextuel qui s'ouvre, cliquez sur l'élément Sélectionner pour suppression complète. C'est en principe le dernier élément du menu. La case verte porte maintenant le symbole « sélectionné pour suppression complète » (croix orange sous Linux Mint MATE) comme sur l'illustration à gauche.

Cliquez ensuite sur le bouton Appliquer situé en haut à gauche pour valider cette modification. Une nouvelle fenêtre (voir l'illustration de droite) propose d'appliquer ces modifications et indique le résumé des opérations. À cette étape, vous pouvez annuler les opérations (donc ici, annuler la désinstallation du paquet tuxpaint). En cliquant sur le petit triangle devant À supprimer complètement..., vous pouvez voir l'ensemble de ce qui sera supprimé. Dans notre exemple, seul le paquet tuxpaint sera supprimé. Le bouton Afficher les informations détaillées donne ces mêmes informations sous une autre forme.

synaptic_modif_appliquée

Indication d'opération réussie

Cliquez sur le bouton Supprimer (en bas à droite) pour confirmer cette suppression. Le paquet est alors supprimé et la liste des paquets est mise à jour. Un message vous informe que la modification a réussi (voir l'illustration à droite). En cliquant sur le petit triangle en bas de la fenêtre, vous pouvez voir le détail de toutes les opérations exécutées lors de la désinstallation du paquet.
Fermez ensuite cette fenêtre.

Dans la fenêtre Synaptic mise à jour, vous pouvez voir que seul le paquet tuxpaint a été désinstallé. C'est d'ailleurs ce qui a été demandé. Lors de l'installation du logiciel Tuxpaint, en sélectionnant le paquet tuxpaint, plusieurs paquets ont été installés en même temps. Ces autres paquets étaient nécessaires au fonctionnement de ce logiciel. Mais la désinstallation fonctionne autrement : il est possible de désinstaller un seul paquet, sans toucher aux paquets associés, pour, par exemple, faire une mise à jour d'un unique paquet sans réinstaller l'ensemble du logiciel concerné.
Dans le cas de ce logiciel (Tuxpaint), il aurait fallut désinstaller tous les paquets concernés. Vous pouvez recommencer l'opération décrite ci-dessus pour chacun des paquets, ou les enlever d'un coup comme décrit dans le paragraphe suivant.

retour au sommaire Désinstallation de plusieurs paquets
synaptic_propriétés

Propriétés du paquet sélectionné

Le logiciel Tuxpaint comprend plusieurs paquets. Pour désinstaller complètement ce type de logiciel, il faut désinstaller tous les paquets concernés. C'est ce que nous allons faire ici.

Pour connaitre les paquets associés à Tuxpaint, cliquez avec le bouton droit sur la ligne du paquet principal tuxpaint, puis cliquez sur l'élément Propriétés du menu contextuel. Dans la fenêtre qui s'ouvre, cliquez sur l'onglet Dépendances et repérez la liste des paquets.

synaptic_supprimer_tout

Supprimer plusieurs paquets

Les noms des paquets commencent par le nom du paquet principal (tuxpaint dans notre exemple). Les bibliothèques (noms qui commencent par lib) sont gérées automatiquement. Si certaines ne sont plus nécéssaiares à d'autres logiciels, elle seront désinstallées en même temps que les paquets. Dans notre exemple, les paquets tuxpaint-data, tuxpaint-plugins-default et tuxpaint-config (recommandé) sont listés. Le paquet tuxpaint-stamps-default n'apparait pas dans cette liste, ce qui arrive parfois. Pour savoir s'il peut être supprimé également ou s'il est une dépendance d'un autre logiciel que Tuxpaint, faites un clic droit sur la ligne du paquet dans la fenêtre principale de Synaptic, puis sur l'élément Propriétés. Dans l'onglet Dépendances, seul le paquet tuxpaint apparait (recommandé). Ceci signifie que ce paquet n'est utilisé par aucun autre logiciel sur votre ordinateur. Il peut donc aussi être supprimé.

Pour supprimer ces 5 paquets, faites un clic gauche sur chacun de ces paquets, puis sur l'élément Sélectionner pour suppression complète. Les lignes concernées sont surlignées en rouge et les cases correspondantes portent une croix orange sur fond vert. Cliquez ensuite sur le bouton Appliquer situé en haut à gauche pour valider cette modification. Voir l'illustration de droite.

Une nouvelle fenêtre propose d'appliquer ces modifications et indique le résumé des opérations. À cette étape, vous pouvez encore annuler les opérations en cliquant sur le bouton Annuler. Pour désinstaller le logiciel, cliquez sur le bouton Appliquer. Les paquets sélectionnés sont alors supprimés et la liste des paquets est mise à jour. Un message vous informe que la modification a réussi. Fermez cette fenêtre et vérifiez que les paquets relatifs à Tuxpaint sont bien désinstallés (la case en face de ces paquets doit être blanche).

retour au sommaire Différence entre « suppression » et « suppression complète »
synaptic_désinstal_menu

Menu des opérations Synaptic

Vous avez pu voir que le menu des opérations possibles sur un paquet comprennet les éléments Sélectionner pour suppression et Sélectionner pour suppression complète.

En général, un logiciel est accompagné d'un ou plusieurs fichiers de configuration (souvent placés dans /etc), de fichiers de préférences, placés dans les dossiers personnels et des fichiers de logs (dans /var).

L'option Sélectionner pour suppression supprime seulement le paquet et ses dépendances.
L'option Sélectionner pour suppression complète supprime en plus les fichiers de configuration.

Pour Tuxpaint, le fichier de configuration /etc/tuxpaint/tuxpaint.conf et les fichiers de préférences current_id.txt et lockfile.dat dans le dosier caché $HOME/.tuxpaint sont installés en même temps que le logiciel.
Avec l'option Sélectionner pour suppression complète, le fichier /etc/tuxpaint/tuxpaint.conf est également enlevé de l'ordinateur (ainsi que le répertoire tuxpaint dans /etc) alors qu'avec l'option Sélectionner pour suppression il aurait été conservé. Dans les deux cas, les fichiers dans $HOME/.tuxpaint/ sont conservés. Les dessins réalisés avec ce logiciel sont enregistrées dans ce répertoire, dossier $HOME/.tuxpaint/saved et sont aussi conservés. Si vous voulez les supprimer, vous devez les supprimer manuellement (avec le navigateur de fichiers par exemple.

retour au sommaire Désinstallation « à la main »

apt-get désinstal complet

Désinstallation d'un logiciel

Nous allons ici supprimer le logiciel Tuxpaint qui a été installé pour servir d'exemple.

D'après tableau des commandes, vous avez plusieurs possibilités pour désinstaller partiellement ou totalement un logiciel en ligne de commande. Si un paquet a été mal installé, à cause d'une coupure de courant par exemple, il est possible de ne désinstaller que ce paquet, sans désinstaller ses dépendances. À l'inverse, si un logiciel que vous avez testé ne correspond pas à votre besoin, vous allez le désinstaller complètement. C'est ce que nous allons faire ici.

Ouvrez votre terminal favori et entrez la commande suivante (en mode super-utilisateur car elle va modifier le système) :

sudo apt-get autoremove --purge tuxpaint

Après avoir entré votre mot de passe (pour que la commande soit exécutée avec les privilèges du super-utilisateur), apt-get liste les paquets qui vont être supprimés et indique l'espace disque récupéré. À cette étape, vous pouvez annuler l'opération en répondant « n » à la question Souhaitez-vous continuer ? [O/n]. Si vous répondez « O » (ou « o ») la procédure de désinstallation va s'effectuer.

Pour effacer complètement les traces de ce logiciel, vous devez supprimer également les fichiers créés par ce logiciel dans votre répertoire $HOME (dessins enregistrés, fichiers de préférences), par exemple en tapant la commande :

attention rm -R $HOME/.tuxpaint

qui signifie : supprimer (rm pour remove) récursivement (-R) le fichier caché (.tuxpaint) et tout son contenu du répertoire $HOME (qui est votre dossier personnel). Comme signalé par le triangle rouge, cette commande est très dangereuse : si vous tapez rm -R $HOME ou rm -R ~, vous detruisez irrémédiablement tous vos documents.