From dc2c81dbb9e19320cacd081d0e320fe1058b6904 Mon Sep 17 00:00:00 2001
From: Arnaud Daby-Seesaram <ds-ac@nanein.fr>
Date: Sun, 13 Oct 2024 14:23:09 +0200
Subject: [PATCH] texinfo: Ajout de la page "APT".

---
 crans.texi | 129 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 128 insertions(+), 1 deletion(-)

diff --git a/crans.texi b/crans.texi
index 29463e8..ffc1db2 100644
--- a/crans.texi
+++ b/crans.texi
@@ -1366,12 +1366,139 @@ TODO.
 @node Tools
 @chapter Tools
 
+@menu
+* Logiciels::
+* OS::
+* Protocoles::
+@end menu
+
+@node Logiciels
+@section Logiciels
+
+Ce dossier contient une présentation de plusieurs outils logiciels
+utilisés par le Crans.
+
+Le but n'est pas de réexpliquer l'entièreté des fonctionnalités, mais
+simplement d'avoir une explication de ce que l'on parle pour avoir des
+bases de compréhension.
+
+@menu
+* APT::
+* GPG::
+* SSH::
+* ZFS::
+* Systemd::
+@end menu
+
+@node APT
+@subsection APT
+
+APT (pour Advanced Package Tool) est un des gestionnaires de paquets de
+@uref{https://www.debian.org/,Debian}. Il dispose d'une interface en
+CLI, voici quelques exemples de commandes :
+
+@multitable @columnfractions .5 .5
+@headitem commande @tab description
+@item @code{apt install package}
+@tab Installe @code{package}
+@item @code{apt search package}
+@tab Recherche @code{package}
+@item @code{apt list}
+@tab Liste les paquets
+@item @code{apt list --installed}
+@tab Liste les paquets installés
+@item @code{apt remove package}
+@tab Désinstalle @code{package}, sans supprimer sa configuration
+@item @code{apt purge package}
+@tab Purge @code{package}, @i{i.e.}@: désinstalle et supprime sa
+configuration
+@item @code{apt depends package}
+@tab Liste les dépendances de @code{package}
+@item @code{apt rdepends package}
+@tab Liste les paquets dépendants de @code{package}
+@item @code{apt policy package}
+@tab Affiche les informations de priorité pour @code{package}
+@item @code{apt show package}
+@tab Affiche les informations de @code{package}
+@item @code{apt update}
+@tab Met à jour les listes de paquets
+@item @code{apt upgrade}
+@tab Met à jour les paquets
+@end multitable
+
+Un paquet Debian va placer des fichiers dans @file{/bin/}, @file{/usr/}
+par exemple. Il faut donc avoir les droits administrateurs pour
+installer, mettre à jour ou supprimer un paquet. Il n'est pas possible
+d'installer un paquet APT pour seulement un utilisateur.
+
+@subsubsection Les sources de paquets
+
+APT est en réalité une interface au dessus de DPKG (Debian PacKaGe) qui
+va simplifier le téléchargement et l'installation de paquets en les
+synchronisant de sources de paquets.
+
+Les sources de paquets sont définies dans @file{/etc/apt/source.list} et
+dans le dossier @file{/etc/apt/source.list.d/}. Un système Debian
+classique au Crans devrait avoir les sources suivantes :
+
+@verbatim
+# Paquets principaux de Debian Buster
+deb https://ftps.crans.org/debian buster main
+
+# Paquets "volatiles" pour avoir des mises à jour un peu plus régulièrement
+deb https://ftps.crans.org/debian buster-updates main
+
+# Paquets apportant les mises à jour de sécurité
+deb https://ftps.crans.org/debian-security buster/updates main
+@end verbatim
+
+Si on souhaite également synchroniser la liste des sources de paquets
+pour potentiellement les reconstruire, on peut dupliquer chaque ligne en
+substituant @code{deb} par @code{deb-src}.
+
+@subsubsection Vérifier l'état de santé des paquets systèmes Debian
+
+Debian fournit un outil nommé @code{debsums} (Debian Checksum) pour
+vérifier que les fichiers installés par les paquets Debian n'ont pas été
+altérés. Un fichier d'un paquet peut être altéré soit par un virus ou un
+administrateur chaotique qui écrase ses exécutables, soit quand il
+s'agit de changer sa configuration.
+
+Pour lister rapidement la liste des fichiers de configuration changés :
+@code{debsums -ce}.
+
+@node GPG
+@subsection GPG
+
+TODO.
+
+@node SSH
+@subsection SSH
+
+TODO.
+
+@node ZFS
+@subsection ZFS
+
+TODO.
+
+@node Systemd
+@subsection Systemd
+
+TODO.
+
+@node OS
+@section OS
+
+@node Protocoles
+@section Protocoles
+
 @menu
 * LDAP::
 @end menu
 
 @node LDAP
-@section LDAP
+@subsection LDAP
 
 TODO.