apt install f fait quoi. Système de gestion de paquets APT

Il arrive parfois que vous ayez besoin de savoir quels packages sont installés sur le système. Cela peut être nécessaire si vous voulez sauvegarde packages installés, vérifier leur intégrité, transférer tous les packages vers un autre système et pour de nombreuses autres tâches. Sur Debian, plusieurs méthodes peuvent être utilisées pour cela.

Dans l'article d'aujourd'hui, nous verrons comment répertorier les packages Debian installés à l'aide du terminal, de l'interface curses et également de l'interface graphique. Ces listes peuvent être utilisées non seulement pour Réserver une copie, mais aussi simplement itérer et supprimer programmes inutiles, dégageant ainsi le système des débris.

La toute première façon de voir les paquets Debian installés est avec l'utilitaire dpkg. Il peut être utilisé non seulement dans Debian, mais dans toutes les distributions basées sur celle-ci :

dpkg --get-selections | grep -v désinstaller

dpkg --get-selections | grep -v désinstaller > maliste.txt

Vous pouvez également supprimer toutes les informations inutiles et ne conserver que les noms des packages :

dpkg-l | grep ^ii | awk "(print $2)" > maliste.txt

La prochaine façon d'accomplir cette tâche consiste à utiliser l'utilitaire dpkg-query. Il est similaire à la version précédente, mais un peu plus simple. Cette commande listera tous les packages installés avec des informations à leur sujet :

Ici aussi, vous ne pouvez sélectionner que des noms de packages avec l'option -f :

dpkg-query -f "$(binary:Package)\n" -W

La troisième méthode est l'utilitaire apt que nous avons l'habitude d'utiliser pour installer des applications, il a une commande list :

liste apt --installé

liste apt --installé | grep python

Nous avons couvert apt plus en détail dans l'article. Une autre fonctionnalité intéressante d'apt est de voir quels packages ont été installés manuellement. Pour ce faire, tapez :

apt-mark showmanuel

Et une autre option utilisant apt :

noms de paquet apt-cache

L'outil de gestion de packages aptitude vous permet également de lister les packages installés :

recherche d'aptitude "~i!~M"

De plus, aptitude peut fonctionner en mode curses, ce qui est très pratique :

La dernière façon de voir la liste des packages installés est dans le fichier /var/lib/apt/extended_states. Il s'agit d'une base de données contenant programmes installés debian dans ce format :

Paquet : nom_du_paquet
Architecture : architecture
Auto-installé : 0_ou_1

cat /var/lib/apt/extended_states

Restauration de la liste des packages installés

De nombreux utilisateurs créent une liste de packages non seulement à consulter, mais pour une récupération future. Si vous avez créé une liste à l'aide de dpkg, elle peut être très facilement restaurée sur le système à l'aide d'une commande similaire :

sudo dpkg --clear-selections
$ sudo dpkg --set-selections< mylist.txt

Tout est très simple. Pour installer des packages après les avoir ajoutés à la liste, utilisez la commande :

sudo apt dselect-upgrade

Si vous n'avez qu'une liste de noms de packages, vous devez la restaurer un peu différemment. Passez simplement tous ces noms à la commande apt pour installer :

xarg< mylist.txt apt install -y

conclusions

Dans cet article, nous avons vu comment répertorier les packages Debian installés. Cela peut être très utile et est assez facile à faire. J'espère que ces informations vous ont été utiles.

APTE (Outil d'emballage avancé) est un utilitaire dans DebianName-comme les systèmes qui installent, mettent à jour les packages et gardent une trace de leurs dépendances. Le but de la création du programme était d'automatiser le processus de gestion des packages, en particulier la mise à jour et la maintenance des dépendances, qui, dans le cas d'un travail direct avec le gestionnaire dpkg, s'effectuaient manuellement. Les packages sont directement manipulés à l'aide du programme apt-get, les principales commandes avec lesquelles travailler seront décrites ci-dessous.

Structure générale de la commande apt-get

apt-get [options] commande package1 package2 ... packageN

Les options suivantes peuvent être utiles lorsque vous travaillez avec apt-get:

Mise à jour de la liste des packages disponibles pour l'installation

Cette action est effectuée à l'aide de la commande :

apt-obtenir la mise à jour

La mise à jour de la liste est particulièrement importante si vous souhaitez installer la version la plus récente et la plus stable d'un paquet. Lorsque cette commande est exécutée, le programme scanne les archives spécifiées dans le fichier /etc/apt/sources.list.

Installation du paquet

Pour installer un package, utilisez la commande :

apt-get nom du package d'installation

Par conséquent, APTE recherchera la dernière version du package spécifié et vérifiera s'il a des dépendances. S'il y a des dépendances, une liste de celles-ci et une suggestion d'installation seront affichées.

[courriel protégé]:~# apt-get install aee Lecture des listes de packages... Terminé Construction de l'arborescence des dépendances Lecture des informations d'état... Terminé Les packages supplémentaires suivants seront installés : libx11-6 libx11-data libxau6 libxcb1 libxdmcp6 Les NOUVEAUX packages suivants seront installés : aee libx11-6 libx11-data libxau6 libxcb1 libxdmcp6 0 mis à jour, 6 nouvellement installés, 0 à supprimer et 44 non mis à jour. Besoin d'obtenir 181 Ko/1297 Ko d'archives. Après cette opération, 4366 ko d'espace disque supplémentaire seront utilisés. Voulez-vous continuer?

S'il n'y a pas de dépendances, le processus d'installation se déroulera automatiquement sans aucune invite.

De plus, au moment de saisir la commande d'installation des packages, vous pouvez spécifier les noms des packages à supprimer. Pour cela, ajoutez un trait d'union à la fin du nom du package à supprimer. Un exemple d'une telle méthode d'installation/désinstallation est illustré ci-dessous :

[courriel protégé]:~# apt-get install aee htop- Lecture des listes de packages... Terminé Construction de l'arborescence des dépendances Lecture des informations d'état... Terminé Les packages supplémentaires suivants seront installés : libx11-6 libx11-data libxau6 libxcb1 libxdmcp6 Les packages suivants seront SUPPRIMÉS : htop Les NOUVEAUX packages suivants seront installés : aee libx11-6 libx11-data libxau6 libxcb1 libxdmcp6 0 mis à jour, 6 nouvellement installés, 1 à supprimer et 43 non mis à jour. Besoin d'obtenir 1297 Ko d'archives. Après cette opération, 4157 ko d'espace disque supplémentaire seront utilisés. Voulez-vous continuer?

Comme vous pouvez le voir dans l'exemple, le package aee est préparé pour l'installation, tandis que le package htop est prêt pour la suppression.

Réinstaller un paquet

S'il devient nécessaire de réinstaller le paquet (fichier corrompu, plus nouvelle version), cela peut être fait avec la commande suivante :

apt-get --reinstall nom du paquet d'installation

Suppression d'un paquet

Il existe deux options pour supprimer des packages :

  • Suppression du package à l'exception des fichiers de configuration (le cas échéant).

En règle générale, cette option peut être requise si vous envisagez de réinstaller ce package ultérieurement. Cette méthode de suppression est effectuée par la commande :

apt-get supprime le nom du paquet

Il convient également de noter que si le paquet en cours de suppression a des dépendances, il sera supprimé avec elles.

  • Suppression complète d'un paquet

Contrairement à la première méthode, tous les fichiers liés au package en cours de suppression seront supprimés, y compris les fichiers de configuration. Dans ce cas, la commande est utilisée :

apt-get --purge supprime le nom du paquet

Les packages marqués pour une suppression complète ont un "*" à la fin de leur nom.

  • Désinstaller et installer en une seule commande

De plus, lors de la désinstallation, vous pouvez marquer la liste des packages à installer. Pour ce faire, vous devez spécifier " + ” à la fin du nom du package. Un exemple d'une telle commande est illustré ci-dessous :

[courriel protégé]:~# apt-get --purge remove aee screen+ Lecture des listes de packages... Terminé Construction de l'arborescence des dépendances Lecture des informations d'état... Terminé Les packages suivants seront SUPPRIMÉS : aee* Les NOUVEAUX packages suivants seront installés : screen 0 upgraded, 1 nouvellement installé, 1 à supprimer et 43 non mis à jour. Besoin d'obtenir 624 Ko d'archives. Après cette opération, 975 ko d'espace disque supplémentaire seront utilisés. Voulez-vous continuer?

Mise à jour des packages

apt-obtenir la mise à jour

Cela mettra à jour les informations sur les packages disponibles et leurs versions. Après avoir exécuté cette commande, vous pouvez procéder directement à la mise à jour des packages installés sur le système. Cela se fait avec la commande :

apt-get -u mise à jour

Paramètre spécifié -u est utilisé pour obtenir une liste complète des packages qui seront préparés pour la mise à jour.

Mise à jour de la version de distribution

Si une nouvelle version du système d'exploitation que vous avez installé apparaît, vous pouvez "mettre à niveau" l'ensemble du système à l'aide de la commande.

L'utilitaire apt-get est un puissant programme de console gratuit utilisé et fonctionnant avec la bibliothèque APT (Advanced Packaging Tool) pour installer de nouveaux packages logiciels, supprimer ceux existants, mettre à niveau ceux installés et mettre à niveau l'ensemble du système d'exploitation.

L'utilitaire de console apt-cache est utilisé pour rechercher dans le cache les packages logiciels APT. en parlant en mots simples, cet outil est utilisé pour rechercher des packages, collecter des informations sur les packages et trouver des packages disponibles pour l'installation dans systèmes d'exploitation basé sur Debian ou Ubuntu.

Comment puis-je obtenir une liste de tous les packages disponibles ?

Pour voir tous les packages disponibles, exécutez la commande suivante :

noms de paquet apt-cache

Comment puis-je trouver le nom et la description du package.

Pour trouver le nom et la description du package avant l'installation, utilisez le drapeau "rechercher". L'utilisation de "rechercher" avec apt-cache affichera une liste des packages correspondants avec brève description. Par exemple, si vous voulez trouver la description du package vsftpd : pour ce faire, la commande serait :

recherche apt-cache vsftpd

Pour rechercher et lister tous les packages dont le nom commence par vsftpd , vous pouvez utiliser la commande suivante :

apt-cache noms de paquet vsftpd

Comment puis-je afficher les informations sur le package ?

Par exemple, si vous souhaitez voir des informations sur un paquet, avec une courte description indiquant le numéro de version, les sommes de contrôle, la taille, la taille après l'installation, les catégories, etc., vous pouvez utiliser la sous-commande "show", comme indiqué ci-dessous :

apt-cache afficher netcat

Comment puis-je vérifier les dépendances d'un paquet ?

Pour vérifier les dépendances d'un package particulier, vous pouvez utiliser la sous-commande showpkg pour voir si ces dépendances sont installées ou non. Par exemple, utilisez la commande showpkg avec le nom du package.

apt-cache showpkg vsftpd

Comment puis-je afficher les statistiques du cache ?

La sous-commande stats affichera des statistiques complètes sur le cache, telles que le nombre total de packages trouvés dans le cache. Utilisez cette commande :

statistiques apt-cache

Comment mettre à jour la liste des packages dans le système ?

La commande update est utilisée pour synchroniser et mettre à jour les fichiers d'index des packages. La synchronisation se produit avec les sources spécifiées dans le fichier /etc/apt/sources.list. Cette commande peut être utilisée, par exemple, pour suivre les mises à jour importantes des packages.

Sudo apt-obtenir la mise à jour

Comment mettre à jour les packages dans le système ?

La commande de mise à niveau est utilisée pour mettre à niveau tous les logiciels actuellement installés sur votre système. Parfois, il peut arriver qu'une mise à jour ne puisse pas être installée en raison d'un autre package nécessitant une version plus ancienne.

sudo apt-get upgrade

Mais si vous souhaitez mettre à niveau quelles que soient les exigences du package, utilisez la sous-commande dist-upgrade :

sudo apt-get dist-upgrade

Comment puis-je installer ou mettre à jour un package spécifique ?

La sous-commande install est utilisée pour installer ou mettre à niveau un package.

sudo apt-get install netcat

Comment puis-je installer plusieurs packages à la fois ?

Vous pouvez entrer les noms de plusieurs packages pour les installer en même temps. Par exemple, pour installer les packages nethogs et goaccess, vous pouvez exécuter la commande suivante :

sudo apt-get install nethogs goaccess

Comment installer plusieurs packages par nom de "masque"

Avec les expressions régulières, vous pouvez ajouter plusieurs packages à l'aide de caractères spéciaux. Par exemple, vous pouvez utiliser un astérisque pour installer tous les packages contenant la chaîne "name" dans leur nom :

sudo apt-get install *nom*

Comment installer des packages sans mise à jour.

L'utilisation de l'indicateur --no-upgrade empêchera les packages déjà installés d'être mis à niveau.

sudo apt-get install packageName --no-upgrade

Comment ne mettre à jour que certains packages ?

L'indicateur --only-upgrade n'installera pas de nouveaux packages, il ne mettra à jour que ceux qui existent déjà.

sudo apt-get install packagename --only-upgrade

Comment puis-je installer une version spécifique d'un package ?

Imaginons que vous deviez installer une version spécifique d'un package, utilisez simplement un signe égal avec le nom du package et attribuez la version souhaitée.

sudo apt-get install vsftpd=2.3.5-3ubuntu1

Comment supprimer des packages sans supprimer les paramètres ?

Pour supprimer des packages logiciels sans supprimer leurs fichiers de configuration (pour une utilisation ultérieure), utilisez la commande remove comme indiqué.

sudo apt-get supprimer vsftpd

Comment supprimer complètement les packages ?

Pour supprimer un package avec ses fichiers de configuration, utilisez la sous-commande purge comme indiqué ci-dessous.

sudo apt-get purge vsftpd

Ou vous pouvez combiner les deux commandes, comme ceci :

sudo apt-get remove --purge vsftpd

Comment puis-je libérer de l'espace disque ?

La commande clean est utilisée pour libérer de l'espace disque en supprimant les fichiers .deb du package résultant dans votre référentiel local.

sudo apt-get clean

Dès le téléchargement source emballer?

Pour télécharger uniquement le code source d'un package, vous pouvez utiliser l'option source --download-only avec le nom du package, comme ceci :

sudo apt-get --download-only source vsftpd

Comment puis-je télécharger et décompresser un package ?

Pour télécharger et décompresser le code source d'un package dans un répertoire spécial, exécutez la commande suivante :

sudo apt-get source vsftpd

Comment puis-je télécharger, décompresser et compiler le code source d'un package ?

Vous pouvez également télécharger, décompresser et compiler la source du paquet en utilisant l'option '--compile', comme indiqué ci-dessous :

sudo apt-get --compile source goaccess

Comment télécharger un package sans installation

En utilisant l'option "télécharger", vous pouvez télécharger n'importe quel package sans l'installer. Par exemple, la commande suivante téléchargera uniquement le package nethogs dans le répertoire de travail actuel.

sudo apt-get télécharger nethogs

Comment puis-je voir le journal des modifications d'un paquet ?

L'indicateur de journal des modifications télécharge le journal des modifications du package et affiche la version du package, s'il est installé.

sudo apt-get changelog vsftpd

Comment réparer les dépendances brisées ?

La commande "check" est un outil de diagnostic, elle est utilisée pour mettre à jour le cache du package et vérifier les dépendances brisées.

Sudo apt-get check

Comment puis-je trouver et créer des dépendances ?

La commande build-dep recherche et installe les dépendances construites du package requis. Si le package n'est pas dans le référentiel local, vous obtiendrez une erreur.

sudo apt-get build-dep netcat

Comment puis-je vider automatiquement le cache Apt-Get ?

La commande autoclean supprime tous les fichiers .deb de /var/cache/apt/archives pour libérer de l'espace sur votre disque dur.

sudo apt-get nettoyage automatique

Comment puis-je supprimer automatiquement les packages inutiles ?

La sous-commande autoremove est utilisée pour supprimer automatiquement les packages qui ont été installés en tant que dépendances d'autres mais qui ne sont plus nécessaires. Par exemple, la commande suivante supprimera un package installé ainsi que ses dépendances.

sudo apt-get suppression automatique vsftpd

Informations fournies par le site. Merci.

Outil d'emballage avancé- un ensemble d'utilitaires pour gérer les packages logiciels dans les systèmes d'exploitation basés sur Debian. APT fournit un module complémentaire convivial à DPKG et vous permet de :

    Installer, supprimer et mettre à niveau des packages

    Résoudre les dépendances

    Rechercher des forfaits selon des critères spécifiés

    Parcourir des informations détaillées sur le paquet

    Manipuler les clés des référentiels

APT est l'un des programmes de base et inclus avec Ubuntu.

Paramètres

Tous les fichiers de configuration APT sont stockés dans le répertoire /etc/apt.

apt.conf

/etc/apt/apt.conf est le fichier de configuration principal utilisé par tous les outils APT. Une description de tous les paramètres et options possibles se trouve dans la documentation correspondante :

manapt.conf

apt.conf.d

Répertoire contenant des fichiers de configuration de syntaxe similaire. À l'aide de ce répertoire, vous pouvez manipuler rapidement et facilement les paramètres APT en ajoutant ou en supprimant des fichiers préparés avec des paramètres.

auth.conf

sources.list

sources.list.d

Répertoire avec les fichiers du référentiel, sur rendez-vous similaire à sources.list. Chaque référentiel est décrit dans un fichier séparé.

Usage

APT comprend plusieurs utilitaires qui effectuent des tâches distinctes.

À partir d'Ubuntu 16.04, un nouvel utilitaire apt est disponible qui contient les commandes les plus couramment utilisées de apt-get et apt-cache . L'utilitaire apt est destiné aux utilisateurs, tandis qu'apt-get peut être considéré comme un outil de niveau inférieur.

apt-get

apt-get c'est un utilitaire de gestion de paquets. apt-get nécessite des droits de superutilisateur pour fonctionner.

Commandes de base :

    Mettre à jour - Mettre à jour les informations sur les packages contenus dans les référentiels.

    Installer foo - Installer le paquet foo. Le téléchargement, l'installation et la configuration se font automatiquement. Si plus d'informations sont nécessaires pour configurer le paquet foo, une invite sera affichée à l'utilisateur.

    Mettre à niveau - Mettre à niveau les packages pour lesquels de nouvelles versions sont disponibles dans le référentiel.

    Dist-upgrade - Mettre à niveau les packages qui nécessitent une résolution de dépendance (installer des packages supplémentaires ou supprimer des packages en conflit).

    Supprimer foo - Supprimer le paquet foo du système.

    Purge foo - Supprimez le paquet foo et purgez le système de ses fichiers de configuration. Fichiers de paramètres dans les répertoires d'accueil des utilisateurs ne sera pas supprimé.

    Suppression automatique - Supprimez un paquet qui n'est plus nécessaire dans le système. Utilisé pour nettoyer le système des paquets inutiles. Le fait qu'un paquet ne soit plus nécessaire est défini comme suit : si un paquet n'a pas été installé seul, mais en tant que dépendance d'un autre paquet qui a été supprimé par la suite, alors ce paquet n'est plus nécessaire dans le système.

    Source foo - Obtention code source paquet foo.

Pendant longtemps, j'ai été rongé par l'ignorance de la façon de faire certaines choses élémentaires dans les gestionnaires de paquets Debian, mais, comme cela arrive souvent, il n'y avait personne à proximité à qui demander, et mes mains n'ont pas atteint l'écriture quelque part. Et finalement, les questions ont mûri et j'ai écrit ma question à la liste de diffusion Debian. Naturellement, il s'est avéré que j'ai raté quelque chose d'évident, mais j'ai aussi appris beaucoup d'utilité non évidente, alors j'ai décidé d'esquisser une feuille de triche, peut-être que quelqu'un sera utile.

Brève aide de l'administrateur Debian

Basique et connu
Obtenir des informations sur les packages nouveaux / mis à jour
mise à jour d'aptitude sudo
Mise à jour
sudo aptitude safe-upgrade
Rechercher un package par nom de package
mot-clé de recherche d'aptitude
Rechercher un package par nom exact
recherche d'aptitude "^nom$"
Rechercher par descriptif
recherche d'aptitude "?description("mot_clé")"
Informations sur le paquet
aptitude show package_name
Installation
sudo aptitude install nom_du_paquet
Suppression
sudo aptitude supprime le nom_du_paquet
Suppression complète (avec les configurations)
sudo aptitude purge nom_paquet
Effacer le cache des packages téléchargés (libérer de l'espace)
aptitude autoclean # ne supprimera que les paquets obsolètes aptitude clean # effacera tout le cache
Installation d'un package téléchargé / créé séparément (pour créer un package à partir de sources tierces, vous devez utiliser l'utilitaire checkinstall avec l'indicateur -D)
sudo dpkg -i /chemin/vers/paquet.deb
Pour plus d'informations
man aptitude sudo aptitude installer aptitude-doc-fr
et regardez la documentation (/usr/share/doc/aptitude/html/en/index.html), pour une aide rapide sur les modèles de recherche, allez ici - /usr/share/doc/aptitude/html/en/ch02s04.html . Si vous êtes trop paresseux pour mettre le dock, alors c'est sur le réseau.
Présentation du wiki Debian : wiki.debian.org/Aptitude
Et maintenant quelque chose qui n'est pas évident ou qui nécessite une lecture complète de la documentation
1. Comment puis-je voir quels packages seront mis à jour après la mise à jour ?
recherche d'aptitude ?
vous pouvez également utiliser (si vous mettez)
daptup sudo
mais après l'avoir installé, la mise à jour habituelle se comportera de la même manière

2. Comment puis-je savoir ce qui a changé dans les packages qui seront mis à jour ?
Tu peux essayer
sudo aptitude changelog package_name
pour chaque colis.
Mais il est préférable d'installer apt-listchanges, puis avant toute installation de mise à jour une liste des modifications sera affichée, les paramètres par défaut ne sont pas très pratiques, il est donc préférable de reconfigurer par vous-même, par exemple, sélectionnez le format de sortie (alors que j'utilise du texte , le téléavertisseur est probablement préférable pour les mises à jour importantes), n'envoyez pas d'e-mails, demandez une confirmation, affichez toutes les informations. Pour ce faire, vous devez exécuter
sudo dpkg-reconfigure apt-listchanges
3. Que dois-je faire si la mise à jour casse quelque chose et doit être annulée ?
Il n'y a pas de restauration, vous pouvez essayer de trouver la version précédente du package
sudo aptitude version nom_paquet
et installez-le
sudo aptitude install package_name=version
4. Comment trouver tous les packages installés manuellement ?
il existe une variante de la commande (aptitude search "~i!~M"), mais malheureusement elle ne donne pas le résultat souhaité, donc la question reste ouverte, il y a pas mal de moyens basés sur l'analyse des logs
/var/log/aptitude (+ morceaux tournés) /var/log/installer/initial-status.gz /var/log/dpkg.log (+ morceaux tournés)
mais il n'y a pas de solution simple et toute faite, oui, des informations peuvent théoriquement se perdre lors des rotations, il faut configurer

5. Comment afficher la liste des fichiers d'un package ?
si le paquet est installé
dpkg -L nom_paquet
pour tous les packages, mettez apt-file et
liste de fichiers apt nom_paquet
6. Comment puis-je voir à quel paquet appartient un fichier ?
dpkg -S nom_fichier
7. Comment supprimer tous les packages dont le nom contient une clé ?
sudo aptitude purge ~ikey
8. Comment supprimer les configurations restantes des packages supprimés ?
sudo aptitude purger ~c
9. Comment trouver le package contenant le fichier lib.so :
recherche de fichier apt lib.so
10. Comment convertir le package rpm en deb ?
alien --to-deb /chemin/vers/fichier.rpm
11. Comment trouver la liste des noyaux installés ?
dpkg --list linux-* | grep ii
12. Comment installer un paquet depuis testing ou experimental ?
Vous devez écrire sur ce sujet séparément (par exemple, comme ceci), mais en bref, il existe des commandes pour cela
sudo aptitude -t test nom_paquet
ou
sudo aptitude nom_paquet/test
13. Comment puis-je supprimer un métapaquet tout en conservant l'une des dépendances ?
vous devrez lire la documentation sur la clé unmarkauto ou regarder ici.

14. Comment savoir ce qui est horrible système de fichiers passé le système de gestion des paquets ?
Il existe un utilitaire grossier, bien que la question de l'interprétation des résultats (fichier de rapport) soit toujours ouverte
sudo cruft -d / -r report --ignore /home --ignore /var --ignore /tmp
15. Quels sont les référentiels supplémentaires ?
Debian - wiki.debian.org/UnofficialRepositories
Ubuntu - beaucoup de choses

mob_info