Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Commande pour avoir une simple suite de noms de paquets

4 réponses
Avatar
Stéphane GARGOLY
Bonjour =E0 tous les utilisateurs et d=E9veloppeurs de Debian :

[J'utilise la version stable Wheezy (de Debian GNU/Linux) mais je pense que=
=20
ceci est anecdotique par rapport =E0 la question que je vous soumets.]

Avec la commande "aptitude search '~sadmin~Rpredepends:(~i)(~i)'" (par=20
exemple), j'ai la liste des paquets install=E9s de la section 'admin' qui s=
ont=20
des pr=E9-d=E9pendances (voir note a) telle que se pr=E9sente de la fa=E7on=
suivante :
"i debconf - Syst=E8me de gestion de configuration Debian =
=20
i dpkg - syst=E8me de gestion des paquets Debian =
=20
i initscripts - scripts pour initialiser et arr=EAter le syst=E8=
me =20
i libpam-modules - modules enfichables d'authentification pour PAM =
=20
i libpam-modules-bin - modules enfichables d'authentification pour PAM =
=2D pro
i libpam-runtime - Binaires pour la biblioth=E8que PAM =
=20
i sysv-rc - m=E9canisme de changement de niveau d'ex=E9cutio=
n =E0 la=20
i sysvinit-utils - Utilitaires =E0 la system-V".

Note a : de je ne sais quels autres paquets install=E9s mais, dans mon cas,=
ceci=20
n'a pas d'importance.

Or ce que je souhaite, c'est une simple suite de noms de paquets telle que=
=20
"debconf dpkg initscripts libpam-modules libpam-modules-bin libpam-runtime=
=20
sysv-rc sysvinit-utils".

Donc, pour y parvenir, j'ai =E9labor=E9 une commande un peu plus complexe :=
=20
"aptitude search '~sadmin~Rpredepends:(~i)(~i)' | sed 's/^i [ A] //g' | sed=
=20
's/ .*$/ /' | sed ':a;N;$!ba;s/\n//g'".

Cette commande me donne le r=E9sultat souhait=E9 mais comme vous pouvez le=
=20
constater, =E0 trois reprises, j'ai d=FB utiliser :
- de l'injection du r=E9sultat de la commande pr=E9c=E9dente pour la suiva=
nte en=20
tant qu'argument =E0 l'aide d'un tube ("|") et
- de la commande 'sed'.

Bien que je passe de fa=E7on r=E9guli=E8re par la ligne de commande, je me =
garderai=20
bien de pr=E9tendre savoir l'utiliser de fa=E7on optimale. ;-)

Aussi, je me demande s'il n'existe pas une variante ou une alternative plus=
=20
simple ou plus courte (=E0 la commande pr=E9c=E9dente).

Qu'en pensez-vous ?

Je vous remercie d'avance de votre attention.

Cordialement et =E0 bient=F4t,

St=E9phane.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Archive: https://lists.debian.org/201409080515.06652.stephane.gargoly@gmail.com

4 réponses

Avatar
raphael.poitevin
Bonjour,
Stéphane GARGOLY writes:
Avec la commande "aptitude search '~sadmin~Rpredepends:(~i)(~i)'" (par
exemple), j'ai la liste des paquets installés de la section 'admin' qui sont
des pré-dépendances (voir note a) telle que se présente de la façon suivante :
"i debconf - Système de gestion de configuration Debia n
i dpkg - système de gestion des paquets Debian
i initscripts - scripts pour initialiser et arrêter le sy stème
i libpam-modules - modules enfichables d'authentification pour PA M
i libpam-modules-bin - modules enfichables d'authentification pour PA M - pro
i libpam-runtime - Binaires pour la bibliothèque PAM
i sysv-rc - mécanisme de changement de niveau d'exà ©cution à la
i sysvinit-utils - Utilitaires à la system-V".

Note a : de je ne sais quels autres paquets installés mais, dans mon cas, ceci
n'a pas d'importance.

Or ce que je souhaite, c'est une simple suite de noms de paquets telle qu e
"debconf dpkg initscripts libpam-modules libpam-modules-bin libpam-runtim e
sysv-rc sysvinit-utils".



aptitude search '~sadmin~Rpredepends:(~i)(~i)' | cut -d' ' -f4
--
Raphaël
« Tout chercheur plongé dans la science subit une poussée de bas en haut susceptible de lui remonter le moral. »
Monsieur Cyclopède

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
Avatar
Boiteux Frederic
Bonjour,

Tu peux utiliser l'option « -F » d'aptitude pour formater la sortie des résultats d'aptitude. Pour ton problème, un simple « -F%p » t'affichera uniquement les noms des paquets :

$ aptitude search '~sadmin~Rpredepends:(~i)(~i)' -F%p
adduser
debconf
dpkg
initscripts
libpam-modules
libpam-modules-bin
libpam-runtime
sysv-rc
sysvinit-utils


Cdlt,
Fred.

-----Message d'origine-----
De : Stéphane GARGOLY [mailto:]
Envoyé : lundi 8 septembre 2014 07:15
À :
Objet : Commande pour avoir une simple suite de noms de paquets

Bonjour à tous les utilisateurs et développeurs de Debian :

[J'utilise la version stable Wheezy (de Debian GNU/Linux) mais je pense que ceci est anecdotique par rapport à la question que je vous soumets.]

Avec la commande "aptitude search '~sadmin~Rpredepends:(~i)(~i)'" (par exemple), j'ai la liste des paquets installés de la section 'admin' qui sont des pré-dépendances (voir note a) telle que se présente de la façon suivante :
"i debconf - Système de gestion de configuration Debian
i dpkg - système de gestion des paquets Debian
i initscripts - scripts pour initialiser et arrêter le système
i libpam-modules - modules enfichables d'authentification pour PAM
i libpam-modules-bin - modules enfichables d'authentification pour PAM - pro
i libpam-runtime - Binaires pour la bibliothèque PAM
i sysv-rc - mécanisme de changement de niveau d'exécution à la
i sysvinit-utils - Utilitaires à la system-V".

Note a : de je ne sais quels autres paquets installés mais, dans mon cas, ceci n'a pas d'importance.

Or ce que je souhaite, c'est une simple suite de noms de paquets telle que "debconf dpkg initscripts libpam-modules libpam-modules-bin libpam-runtime sysv-rc sysvinit-utils".

Donc, pour y parvenir, j'ai élaboré une commande un peu plus complexe :
"aptitude search '~sadmin~Rpredepends:(~i)(~i)' | sed 's/^i [ A] //g' | sed 's/ .*$/ /' | sed ':a;N;$!ba;s/n//g'".

Cette commande me donne le résultat souhaité mais comme vous pouvez le constater, à trois reprises, j'ai dû utiliser :
- de l'injection du résultat de la commande précédente pour la suivante en tant qu'argument à l'aide d'un tube ("|") et
- de la commande 'sed'.

Bien que je passe de façon régulière par la ligne de commande, je me garderai bien de prétendre savoir l'utiliser de façon optimale. ;-)

Aussi, je me demande s'il n'existe pas une variante ou une alternative plus simple ou plus courte (à la commande précédente).

Qu'en pensez-vous ?

Je vous remercie d'avance de votre attention.

Cordialement et à bientôt,

Stéphane.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
Avatar
Sébastien NOBILI
Bonjour,

Le lundi 08 septembre 2014 à 5:15, Stéphane GARGOLY a écrit :
Or ce que je souhaite, c'est une simple suite de noms de paquets telle que
"debconf dpkg initscripts libpam-modules libpam-modules-bin libpam-runtime
sysv-rc sysvinit-utils".



Pour compléter les réponses qui t'ont déjà été données et qui te renvoient le
nom du paquet, un par ligne, tu peux envoyer ça dans xargs pour l'avoir sur une
seule ligne :

aptitude search '~sadmin~Rpredepends:(~i)(~i)' | cut -d' ' -f4 | xargs
ou
aptitude search '~sadmin~Rpredepends:(~i)(~i)' -F%p | xargs

xargs te permettra également de les envoyer à une commande, par exemple si ton
objectif (ce dont je doute fort) est de purger ces paquets :

aptitude search '~sadmin~Rpredepends:(~i)(~i)' -F%p | xargs sudo aptitude purge

Seb

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
Avatar
Stéphane GARGOLY
Bonjour à tous les utilisateurs et développeurs de Debian :

Le lundi 8 septembre 2014 à 10:58, Sébastien NOBILI <sebnewslette a
écrit :
Pour compléter les réponses qui t'ont déjà étà © données et qui te renvoient
le nom du paquet, un par ligne, tu peux envoyer ça dans xargs pour l 'avoir
sur une seule ligne :

aptitude search '~sadmin~Rpredepends:(~i)(~i)' | cut -d' ' -f4 | xargs
ou
aptitude search '~sadmin~Rpredepends:(~i)(~i)' -F%p | xargs



D'abord, un grand merci à Raphaël, à Frederic et à Sà ©bastien pour leurs
réponses. :-)

Les deux solutions qui m'ont été proposées donnent le rà ©sultat souhaité.
Néanmoins, je vais choisir la seconde car elle est - un peu plus - con cise que
la première.

Je profite de cette occasion pour jeter un coup d'œil aux pages de man uel des
commandes 'cut', 'xargs' et 'aptitude' ainsi que la documentation incluse d ans
le paquet 'aptitude-fr' (voir note a), en particulier la section
"Personnaliser la liste des paquets" qui présente beaucoup d'inté rêts.

Note a : on peut la trouver également à la page
http://aptitude.alioth.debian.org/doc/fr/ .

xargs te permettra également de les envoyer à une commande, par exemple si
ton objectif (ce dont je doute fort) est de purger ces paquets :

aptitude search '~sadmin~Rpredepends:(~i)(~i)' -F%p | xargs sudo
aptitude purge



En effet, ce que je fais n'a rien d'autres objectifs qu'informatif (voire
statistique), d'autant plus que j'ajoute à la commande "aptitude searc h..."
une redirection vers un fichier pour conserver le résultat.

Cordialement et à bientôt,

Stéphane.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/