Dans un tutoriel précédent, je vous apprenais à utiliser Aptitude.
Mais cette commande puissance pour manipuler les paquets via APT propose de nombreuses options et paramètres.
Dans ce tutoriel, je vous montre plusieurs utilisations avancés d’Aptitude pour chercher, installer des paquets sur Linux.
10+ exemples d’utilisation avancé d’Aptitude
Rechercher des paquets par le nom du paquet ou la description
Pour faire correspondre des chaînes de caractères commençant par un nom de paquet, ajoutez un ^ devant ce nom.
aptitude search ~n^openoffice
Pour rechercher sur le nom complet :
aptitude search ^wget$
Pour chercher la description, utilisez le paramètre ~d :
aptitude search ~d^openoffice
Afficher tous les paquets dont le nom contient ‘firmware’ et dont la description contient également ‘wireless’ :
aptitude search 'firmware ~dwireless'
Rechercher des paquets sur plusieurs motifs
Vous pouvez combiner plusieurs motifs et critère à l’aide d’expression régulière sommaire.
Par exemple, pour trouver tous les paquets dont le nom commence par ‘ttf’ ou ‘font’ :
aptitude search '(^ttf|^font)'
(Note : il s’agit d’une solution de contournement pour un bogue dans aptitude, car l’expression rationnelle correcte de ‘^(ttf|font)’ ne fonctionne pas correctement — elle trouve les paquets dont les noms commencent par ‘ttf’ ou contiennent ‘font’).
Recherche les paquets cassés ou partiellement désinstallés
Pour afficher uniquement les paquets cassés sur le système, procédez comme suit. Ceci indique qu’il n’y a pas de paquets cassés sur ce système.
aptitude search '~b' | head
Pour trouver les paquets partiellement désinstallés, procédez comme suit :
# aptitude search '~c'
c yelp - Help browser for GNOME
Pour afficher les paquets maintenus, procédez comme suit :
aptitude search '~ahold'
ih python3 - interactive high-level object-oriented language (default python3 version)
Trouver les paquets recommandés
Utilisez le paramètre ~D pour chercher dans les recommandations.
Par exemple, pour montrer les paquets qui recommandent ‘gcc-multilib’ :
aptitude search '~DRecommends:gcc-multilib'
Lister les paquets sous une section
Pour dresser la liste des paquets d’une section particulière, procédez comme suit.
aptitude search '~sgnome
Lister les paquets installés
Pour afficher les paquets installés dans une section, procédez comme suit :
aptitude search '~i~sgnome'
Une autre façon de faire est de filtrer par grep :
aptitude search flash | grep ^i
Choisir les colonnes à afficher en sortie de recherche
Pour choisir les colonnes à afficher en sortie, utilisez l’option -F :
aptitude search <package> -F "%c %p %d %V"
%c
=statut (paquet installé ou non)%p
= Nom du paquet%d
= Description du paquet%V
= Version du paquet
Marquer un paquet avec le type d’installation
Il est possible de marquer immédiatement après l’installation des paquets soit comme automatique, soit comme manuel, en utilisant le spécificateur d’annulation, comme expliqué ci-dessous.
Pour marquer l’installation comme automatique, procédez comme suit
aptitude install package+M
aptitude install package&M
Pour définir la marque comme manuelle, procédez comme suit. Il s’agit de l’option par défaut.
aptitude install package&m
Cette option est principalement utilisée lorsque vous souhaitez obtenir une liste des paquets installés manuellement. La procédure suivante affiche le nombre de paquets installés automatiquement.
aptitude search '~M~i' | wc -l
Ce qui suit affiche le nombre total de paquets installés manuellement.
aptitude search '!~M~i' | wc -l
Les paquets doivent être listés après la commande “install” ; si le nom d’un paquet contient un caractère tilde (“~”) ou un point d’interrogation (” ?”), il est traité comme un motif de recherche et tous les paquets correspondant à ce motif sont installés.
Enfin utilisez + et – pour installer ou supprimer des paquets.
Dans cet exemple htop sera supprimé et grsync installé :
sudo aptitude remove grsync+ htop
Voici les autres options de la commande install :
package+ | Installer le paquet |
package+M | Installer le paquet et le marquer immédiatement comme étant automatiquement installé (notez que si rien ne dépend du paquet, celui-ci sera immédiatement supprimé). |
package– | Supprimer le paquet |
package_ | Purger le paquet : le supprimer ainsi que tous les fichiers de configuration et de données qui lui sont associés. |
package= | Mettre le paquet en attente : annuler toute installation, mise à niveau ou suppression en cours, et empêcher que ce paquet soit automatiquement mis à niveau à l’avenir. |
package: | Conserver le paquet dans sa version actuelle : annuler toute installation, suppression ou mise à niveau. Contrairement à “hold” (ci-dessus), cela n’empêche pas les mises à jour automatiques à l’avenir. |
package&M | Marquer le paquet comme ayant été automatiquement installé. |
package&m | Marquer le paquet comme ayant été installé manuellement. |
Afficher tous les paquets installés
Pour obtenir la liste de tous les paquets installés, utilisez l’option de recherche comme indiqué ci-dessous :
aptitude search '~i' | head
Utiliser l’option -t pour gérer plusieurs sources
Aptitude peut aussi gérer plusieurs sources configurées dans /etc/apt/sources.list.
Pour cela, utilisez l’option -t avec le nom de la source.
Par exemple pour installer vim via une source backports :
sudo aptitude -t backports install vim
Vous pouvez aussi l’utiliser avec l’option search.
Pour lister les mises à jour de backports disponibles, exécutez cette commande :
aptitude search -t $(lsb_release -sc)-backports '~U ~Abackports'
Mettre à jour sans installer de nouveaux paquets
Pour empêcher l’installation de nouveaux paquets, utilisez -no-new-installs comme indiqué ci-dessous :
sudo aptitude safe-upgrade --no-new-installs
Liste des drapeaux Aptitude
Long form | Short form | Description |
---|---|---|
?not( |
! |
Sélectionner tout paquet qui ne correspond pas au modèle |
?action( |
~aaction |
Sélectionne les paquets qui ont été marqués pour l’action donnée (par exemple, “installation” ou “mise à niveau”) |
?and( |
pattern1 pattern2 |
Sélectionnez tout paquet qui correspond à la fois au modèle 1 et au modèle 2 |
?any-version( |
Sélectionner les paquets dont au moins une version correspond au modèle | |
?architecture( |
~rarchitecture |
Sélectionne les paquets pour l’architecture donnée (comme “amd64” ou “all”). Valeurs spéciales : native et foreign. |
?archive( |
~A |
Sélectionner des paquets dans l’archive donnée (par exemple “unstable”). |
?automatic |
~M |
Sélectionnez les paquets qui ont été installés automatiquement. |
?bind( |
? |
Sélectionne n’importe quoi si la variable correspond au modèle. |
?broken |
~b |
Sélectionner les paquets dont la dépendance est rompue. |
?broken- |
~B |
Sélectionne les paquets qui ont une dépendance brisée du type depType donné. |
?broken- |
~DB[ |
Sélectionne les paquets qui ont une dépendance rompue avec le modèle de correspondance depType donné. |
?broken-reverse- |
~RB |
Sélectionner les paquets pour lesquels un modèle de correspondance de paquets déclare une dépendance brisée de type depType. |
?conflicts( |
~C |
Sélectionner les paquets qui sont en conflit avec un modèle de correspondance de paquets. |
?config-files |
~c |
Sélectionner les paquets qui ont été supprimés mais non purgés. |
? |
~D[ |
Fait correspondre les paquets qui déclarent une dépendance de type depType à un modèle de paquet correspondant. |
?description( |
~d |
Sélectionner les paquets dont la description correspond à la description. |
?essential |
~E |
Sélectionner les paquets essentiels, c’est-à-dire ceux dont le fichier de contrôle contient la mention Essential : yes. |
?exact-name( |
Sélectionner les paquets nommés. | |
?false |
~F |
Ne sélectionnez aucun paquet. |
?for |
Sélectionner les paquets qui correspondent au modèle avec une variable liée au paquet recherché. | |
?garbage |
~g |
Sélectionner les paquets qui ne sont pas requis par un paquet installé manuellement. |
?installed |
~i |
Sélectionner les paquets installés. |
?maintainer( |
~m |
Sélectionner les paquets maintenus par le responsable. |
?multiarch( |
Sélectionner les paquets ayant une capacité multiarch (c’est-à-dire “étranger”, “même”, “autorisé” ou “aucun”). | |
?narrow( |
~S |
Sélectionner les paquets pour lesquels une seule version correspond à la fois au filtre et au modèle. |
?name( |
~n ,
|
Sélectionner les paquets portant le nom donné. |
?new |
~N |
Sélectionner de nouveaux paquets. |
?obsolete |
~o |
Faire correspondre aux paquets installés qui ne peuvent pas être téléchargés. |
?or( |
|
Sélectionner les paquets qui correspondent au modèle 1, au modèle 2 ou aux deux. |
?origin( |
~O |
Sélectionner les paquets ayant l’origine donnée. |
?provides( |
~P |
Sélectionner les paquets qui fournissent un modèle de correspondance des paquets. |
?priority( |
~p |
Sélectionner les paquets avec la priorité donnée. |
?reverse- |
~R[ |
Sélectionner les paquets qui sont la cible d’une dépendance de type depType déclarée par un motif de correspondance de paquet. |
?reverse-broken- |
~RB |
Sélectionner les paquets qui sont la cible d’une dépendance brisée de type depType déclarée par un modèle de correspondance de paquets. |
?section( |
~s |
Sélectionner les paquets dans la section donnée. |
?source-package( |
~e |
Sélectionner les paquets dont le nom du paquet source correspond au nom de l’expression régulière. |
?source-version( |
Sélectionner les paquets dont la version source correspond à l’expression régulière version. | |
?tag( |
~G |
Sélectionner les paquets qui ont la balise debtags donnée. |
?term( |
Rechercher en texte intégral des paquets contenant le mot-clé donné. | |
?term-prefix( |
Rechercher en texte intégral des paquets contenant un mot-clé commençant par le mot-clé donné. | |
?true |
~T |
Sélectionner tous les paquets. |
?task( |
~t |
Sélectionner les paquets qui se trouvent dans la tâche donnée. |
?upgradable |
~U |
Sélectionner les paquets qui sont installés et qui peuvent être mis à niveau. |
?user-tag |
Sélectionner les paquets marqués d’une étiquette d’utilisateur correspondant à l’expression régulière user-tag. | |
?version( |
~V |
Sélectionner les paquets dont la version correspond à la version (valeurs spéciales : CURRENT, CANDIDATE et TARGET). |
?virtual |
~v |
Sélectionner les paquets virtuels. |
?widen( |
~W |
Sélectionner les versions pour lesquelles le modèle correspond à n’importe quelle version du paquet correspondant, en ignorant les restrictions de version locales. |
Liens
- Apt Linux : installer et mise à jour de package et distribution
- 13 commandes APT à connaitre sur Debian, Ubuntu, Mint, …
- /etc/apt/sources.list : fichier de configuration des sources APT
- Add Repository : Modifier /etc/apt/sources.list sur Debian ou Ubuntu
- L’authentification des paquets sur APT
- Comment ajouter des clés de signature au référentiel APT sur Debian, Ubuntu
- dpkg : gestionnaire de paquets pour Debian, Ubuntu ou Mint
- 13 exemples d’utilisation de la commande dpkg pour les distributions Linux basées sur Debian
- Aptitude Linux : comment l’utiliser pour gérer les paquets
- 10+ exemples d’utilisation avancé de la commande Aptitude sur Linux
- apt-file : chercher et lister des fichiers dans les paquets
- Ubuntu : mettre à jour les paquets et applications
- Ubuntu : activer les dépôts universe, multiverse, restricted
- Utiliser DNF/YUM sur Linux CentOS, Fedora, Redhat (REHL)
L’article 10+ exemples d’utilisation avancé de la commande Aptitude sur Linux est apparu en premier sur malekal.com.
0 Commentaires