Aller au contenu principal

TP - Correction - Le gestionnaire de paquet et les archives

Gestionnaire de paquet

  • 2.1 Suite à l'installation de votre système, vous voulez vous assurer qu'il est à jour.

    • Lancez la commande apt update. Quels dépôts sont contactés pendant cette opération ?
    • À l'aide de apt list --upgradable, identifiez si firefox, libreoffice, linux-firmware et apt peuvent être mis à jour - et identifiez l'ancienne version et la nouvelle version.
    • Lancez la mise à jour avec apt full-upgrade. Pendant le déroulement de la mise à jour, identifiez les trois parties clefs du déroulement : liste des tâches et validation par l'utilisateur, téléchargement des paquets, et installation/configuration.
  • 2.2 - Cherchez avec apt search si le programme sl est disponible. (Utiliser grep pour vous simplifiez la tâche). À quoi sert ce programme ? Quelles sont ses dépendances ? (Vous pourrez vous aider de apt show). Finalement, installez ce programme en prêtant attention aux autres paquets qui seront installés en même temps.

  • 2.3 - Même chose pour le programme lolcat mais en utilisant les options -yq pour l'install (pratique pour les scripts)

  • 2.4 - Même chose pour le programme nyancat - mais cette fois, trouvez un moyen de télécharger le .deb directement depuis le site de debian qui référence les paquets, puis installez ce .deb avec dpkg -i. (Pour ce faire, taper par exemple nyancat package debian dans un moteur de recherche. Une fois arrivé sur la bonne page, vous trouverez une section 'Download' en bas. Parmis les architectures proposées, prendre amd64.)

  • 2.5 - Parfois, il est nécessaire d'ajouter un nouveau dépôt pour installer un programme (parce qu'il n'est pas disponible, ou bien parce qu'il n'est pas entièrement à jour dans la distribution utilisée). Ici, nous prendrons l'exemple de mongodb (un logiciel pour gérer des bases NoSQL) dont la version 7 n'est disponible que via un dépôt précis maintenu par les auteurs de mongodb.

    • Regarder avec apt search et apt show (et grep !) si le paquet mongodb est disponible et quelle est la version installable.
    • Suivez les instruction officielles d'installation ici: https://www.mongodb.com/docs/manual/tutorial/install-mongodb-on-debian/#install-mongodb-community-edition
    • Ajouter un nouveau fichier mongodb.list dans /etc/apt/sources.list.d avec une unique ligne : deb [ signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] http://repo.mongodb.org/apt/debian bullseye/mongodb-org/7.0 main
    • Faire apt update. Que se passe-t-il ? Quels serveurs votre machine a-t-elle essayer de contacter ? Pourquoi cela produit-il une erreur ?
    • Ajoutez la clef d'authentification des paquets avec :
      - `sudo apt install -y gnupg curl`
      - `curl -fsSL https://pgp.mongodb.com/server-7.0.asc | sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg --dearmor`
    • Refaire apt update. Est-ce que ça fonctionne ?
    • Regarder avec apt search et apt show (et grep !) si le paquet mongodb-org est disponible et quelle est la version installable.
    • Installer le paquet. Depuis où a-t-il été téléchargé ?
    • Désinstallez ce paquet (en purgeant les données / fichiers) et supprimez le mongodb.list puis refaites un apt update pour remettre à plat la liste des paquets disponibles.
  • 2.6 - Regardez le contenu de /var/cache/apt/archives. À quoi ces fichiers correspondent-ils ? Trouvez deux méthodes pour nettoyer ces fichiers, l'une "brutale" avec rm, et l'autre "propre" avec apt.

=> vérifier l'usage disk du dossier en installant ncdu un utilitaire bien pratique. Notez le poids du dossier et son contenu

=> On peut le vider avec sudo apt-get clean

  • 2.7 - Identifiez l'utilité de la commande apt moo

Gestion des archives

  • 2.8 - Créez une archive (non-compressée !) de votre répertoire personnel avec tar.
  • 2.9 - En utilisant gzip, produisez une version compressée de l'archive de la question précédente

Exercices avancés

  • Utilisez aptitude why pour trouver la raison pour laquelle le paquet libxcomposite1 est installé

=> sudo apt install aptitude puis aptitude why libxcomposite1 => car il est une dépendance de code l'éditeur VSCode

  • Utilisez apt-rdepends pour afficher la liste des dépendances de libreoffice.

  • Investiguez les options de apt-rdepends et du programme graphviz/dot pour générer un rendu en PNG du graphe de dépendance de firefox.

  • Trouvez où télécharger le .deb du paquet nyancat depuis ftp.debian.org

  • (Très avancé) Renseignez-vous sur equivs et créez un package virtuel lolstuff qui dépend de sl, lolcat et nyancat