From e9538786784878ee85d100de5b4ce995c0d0c55e Mon Sep 17 00:00:00 2001 From: Thomas Constans Date: Fri, 25 Oct 2024 11:48:51 +0200 Subject: [PATCH] solution --- Readme.md | 62 +++++++++++++++++++++++++++---------------------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/Readme.md b/Readme.md index b905b37..4a98ee4 100644 --- a/Readme.md +++ b/Readme.md @@ -1,44 +1,44 @@ -# Gestion des paquets - -## Ressources - -https://debian-handbook.info/browse/fr-FR/stable/sect.manipulating-packages-with-dpkg.html - -https://www.debian.org/doc/manuals/securing-debian-manual/deb-pack-sign.en.html - -## Bas niveau - -Créer un fichier 🗎 ~formation/pkg.md contenant la réponse aux questions suivantes - - 1. Trouver à quel paquet appartient la commande ls. - 2. Télécharger le paquet https://mirror.mariadb.org/repo/11.4/debian/pool/main/m/mariadb/libmariadb3_11.4.3%2Bmaria~deb12_arm64.deb - 3. Éxaminer l'archive téléchargée et notamment la liste des fichiers se trouvant à l'intérieur. - 4. Est-ce que cette archive peut s'installer sur notre système ? Pourquoi ? - 5. Trouver la date et l'heure à laquelle le paquet git a été installé pour la première fois sur votre machine. - 6. Quelle commande permet d'obtenir la liste de tous les paquets installés +## bas niveau +```bash +dpkg --search '*bin/ls' +curl -OL https://mirror.mariadb.org/repo/11.4/debian/pool/main/m/mariadb/libmariadb3_11.4.3%2Bmaria~deb12_arm64.deb +dpkg -c libmariadb3_11.4.3%2Bmaria~deb12_arm64.deb +dpkg -I libmariadb3_11.4.3%2Bmaria~deb12_arm64.deb | grep '^Architecture' +grep git /var/log/dpkg.log # ce fichier étant le plus ancien log dpkg existant +dpkg --get-selections # exploitable par dpkg --set-selections permettant d'installer les même paquets qu'un système existant +``` ## Haut niveau - 1. Citez 2 différences entre apt et apt-get - 2. Quelle est la principale différence entre apt et aptitude ? - 3. À quoi sert la commande _apt update_ ? - 4. +apt-get : interface historique, retrocompatibilité garantie, à l'inverse de apt. apt: plus moderne et corrige quelques erreurs de apt-get. +apt: interface de base. aptitude: interface "graphique" à apt. c'est donc une surcouche +apt update permet de mettre à jour la liste des paquets disponibles. Cette opération est à réaliser avant chaque opération d'installation ou de mise à jour. + ## Signature des paquets -À quoi sert la signature des paquets ? +À garantir qu'un paquet téléchargé n'a pas été modifié (parce que le dépôt s'est fait troué par ex). -Quel mécanisme est utilisé par Debian pour signer les paquets ? +il y en a 2 : une signature md5 et une gpg. -De quoi notre système (apt) a besoin pour vérifier la légitimité d'un paquet téléchargé ? +Il est nécessaire d'avoir la clé publique correspondant à la clé ayant signé le paquet. -Où sont localement stockés ces éléments ? Quelle commande permet +dans /etc/apt/keyring et /etc/apt/trusted.gpg.d/ dont on peut manipuler le contenu avec la commande apt-key (nécessite d'avoir gnupg2) ## Gestion des dépôts -Déterminer la version de php que nous pouvons installer avec les dépôts par défaut. +``` +apt-policy php +php: + Installed: (none) + Candidate: 2:8.2+93 # version 8.2 -En vous aidant des informations sur https://sury.org : - * récupérer et installer la clé utilisée pour vérifier la signature des paquets. - * créer le fichier /etc/apt/sources.list.d/php_sury.list - * vérifier que vous pouvez installer (sans le faire) des paquets php en version 8.3 \ No newline at end of file +apt -y install lsb-release ca-certificates curl +curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb +dpkg -i /tmp/debsuryorg-archive-keyring.deb && rm -f /tmp/debsuryorg-archive-keyring.deb +sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' +apt update +apt policy php + + +``` \ No newline at end of file