Afficher la pageAnciennes révisionsLiens de retourHaut de page Cette page est en lecture seule. Vous pouvez afficher le texte source, mais ne pourrez pas le modifier. Contactez votre administrateur si vous pensez qu'il s'agit d'une erreur. ====== APT ====== * [[https://doc.ubuntu-fr.org/dpkg#verifier_la_presence_d_un_paquet]] ==== Préciser de quel dépôt installer un paquet ==== ''apt-cache policy <paquet>'' liste les versions disponibles à l'installation. Globalement, ''apt install -t <depot> <paquet>'' permet de spécifier depuis quel dépôt installer. === Depuis les backports === [[https://debian-facile.org/doc:systeme:apt:sources.list:stretch|Source]] Utile pour installer un paquet depuis les backports: <code bash> apt -t stretch-backports install libreoffice </code> === Depuis testing === [[https://stackoverflow.com/questions/43151627/installing-g-7-0-1-on-debian-8-7|Source]] Pour installer des paquets de puis ''testing'': <code bash /etc/apt/sources.list> deb http://ftp.fr.debian.org/debian/ testing main contrib </code> puis créer le fichier suivant: <code bash /etc/apt/preferences.d/testingpref> Package: * Pin: release a=testing Pin-Priority: 100 </code> Ensuite pour installer: <code bash> sudo apt install -t testing gcc-8 </code> ==== Installer une version spécifique ==== * [[https://wiki.debian.org/RollbackUpdate]] Pour downgrader un paquet buggué, par exemple. La version doit apparaître dans ''apt-cache policy'' (ajouter le dépôt nécessaire ou utiliser http://snapshot.debian.org/), puis : <code bash> apt install paquet=version </code> ==== Lister les paquets proposés par un dépôt ==== [[https://serverfault.com/questions/252333/list-all-packages-from-a-repository-in-ubuntu-debian|Source]] <code bash> grep ^Package: /var/lib/apt/lists/repo | cut -d ' ' -f 2 | uniq </code> ==== Dry run ==== Demander à APT de dire ce qu'il va faire, sans le faire: utiliser l'option ''%%--%%dry-run''. ==== Connaître depuis quel paquet provient un fichier ==== [[https://superuser.com/questions/10997/find-what-package-a-file-belongs-to-in-ubuntu-debian|Source]] <code bash> dpkg -S <file> </code> ==== Trouver le meilleur miroir ==== [[https://www.unixmen.com/find-fastest-mirror-debian-derivatives/|Source]] Installer le paquet ''netselect-apt''. Lancer la commande: <code bash> sudo netselect-apt -n -c fr </code> ==== Connaître les dépendances d'un paquet et les dépendances inverses ==== [[https://askubuntu.com/questions/128524/how-to-list-dependent-packages-reverse-dependencies|Source]] <code bash> apt-cache rdepends --installed packagename # paquets installés qui dépendent de packagename apt-cache depends packagename # dépendances de packagename </code> ==== Connaître tous les fichiers installés par un paquet ==== Lorsque le paquet est installé : <code bash> dpkg -L $package </code> Pour un paquet pas installé ([[https://serverfault.com/questions/96964/list-of-files-installed-from-apt-package|source]]) : <code bash> apt install apt-file apt-file update apt-file list $package </code> Pour un paquet ''.deb'' ([[https://askubuntu.com/questions/32507/how-do-i-get-a-list-of-installed-files-from-a-package|source]]) : <code bash> dpkg-deb -c paquet.deb </code> ==== Régler le problème d'un manque de place ==== [[https://askubuntu.com/a/317784|Source]] Lors de la mise à jour des paquets ''linux-image-*'', une erreur indiquant un manque de place peut apparaître. Cela vient le plus souvent de la partition de boot qui commence à être saturée des différentes versions du noyau Linux. Trouver les versions des paquets installées: <code bash> dpkg -l linux-headers-\* linux-image-\* | grep ^ii </code> Supprimer la plus ancienne version de ''linux-headers-*'': <code bash> sudo dpkg --remove linux-headers-4.9.0-11-amd64 linux-headers-4.9.0-11-common </code> Relancer l'installation: <code bash> sudo apt --fix-broken install </code> ==== Afficher le fichier source d'un paquet ==== <code bash> apt-cache showsrc <package> </code> ==== Afficher le changelog d'un paquet ==== [[https://serverfault.com/questions/174737/how-do-i-see-the-changelog-for-a-debian-ubuntu-deb-package|Source]] <code bash> apt changelog firefox-esr # fonctionne aussi sur les paquets non-installés zless /usr/share/doc/firefox-esr/changelog.Debian.gz </code> ==== Clés de signature ==== On peut lister les clés connues par APT avec : <code bash> apt-key list </code> ==== Installer les dépendances pour compiler un paquet ==== <code bash> apt build-dep <package> </code> ==== Marquer un paquet ==== Comme installé manuellement (permet de ne pas passer en autoremove des paquets installés comme dépendances d'un paquet qu'on souhaite désinstaller, [[https://www.reddit.com/r/debian/comments/amedim/trying_to_remove_ristretto_without_removing/efm3bzn?utm_source=share&utm_medium=web2x&context=3|source]]): <code bash> sudo apt-mark manual <paquet> </code> Marquer un paquet comme installé automatiquement: <code bash> sudo apt-mark auto <paquet> </code> Lister les paquets marqués comme installés manuellement: <code bash> apt-mark showmanual </code> Il est possible de marquer qu'il ne faut pas mettre à jour un paquet ([[https://debian-facile.org/doc:systeme:apt:apt-listbugs#alternative-non-recommandeegel-degel-de-paquet|source]]) : <code bash> apt-mark hold <paquet> apt-mark unhold <paquet> # démarquer apt-mark showhold # voir les paquets marqués "hold" </code> Le marquage des paquets est stocké dans le fichier ''/var/lib/dpkg/status''. ==== Lister toutes les versions d'un paquet dans toutes les suites ==== Avec ''rmadison'' du paquet ''devscripts''. ==== Apt-cacher-ng ==== Système de caches pour les paquets, utile pour économiser de la bande-passante si plusieurs machines du même réseau ou du même hôte (chroots, VMs, etc) vont souvent télécharger les mêmes paquets. * [[https://wiki.debian.org/AptCacherNg]] Installer le paquet ''apt-cacher-ng''. Changer le dossier où seront stockés les paquets en cache et les logs dans le fichier ''/etc/apt-cacher-ng/acng.conf'', en modifiant les clés ''CacheDir'' et ''LogDir''. Il faut aussi modifier le paramètre ''RequireMountsFor'' en [[linux:service#surcharger_un_service|surchargeant le fichier]] ''/lib/systemd/system/apt-cacher-ng.service''. Les dossiers utilisés par apt-cacher-ng doivent appartenir à son utilisateur. Relancer le programme pour prendre en compte la configuration : <code bash> sudo systemctl daemon-reload sudo service apt-cacher-ng restart </code> Créer le fichier ''/etc/apt/apt.conf'': <code> Acquire::http::Proxy::bugs.debian.org "DIRECT"; Acquire::http::Proxy "http://127.0.0.1:3142"; </code> La première ligne est nécessaire pour que apt-listbugs fonctionne correctement. Si des dépôts accédés en HTTPS posent problème, il faut les ajouter à l'expression régulière de la clé ''PassThroughPattern'' du fichier ''/etc/apt-cacher-ng/acng.conf''. Une page de statistiques et d'entretien est disponible à l'adresse http://localhost:3142/acng-report.html En cas de problème de signatures des dépôts, supprimer les dépôts qui posent problème, par exemple ([[https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1003865|source]]) : <code bash> rm -rf /var/cache/apt-cacher-ng/debrep/dists/bookworm </code> Sinon, sur la machine cliente, désactiver le proxy (?) et supprimer ''/var/lib/apt/*'' et ''/var/cache/apt/*''. linux/apt.txt Dernière modification : 2025/05/18 19:35de phsw