Commande pour avoir une simple suite de noms de paquets

Le
Stéphane GARGOLY
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 s=
ont
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écutio=
n à 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///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 suiva=
nte 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 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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
raphael.poitevin
Le #26307358
Bonjour,
Stéphane GARGOLY
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/
Boiteux Frederic
Le #26307361
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/
Sébastien NOBILI
Le #26307384
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/
Stéphane GARGOLY
Le #26307420
Bonjour à tous les utilisateurs et développeurs de Debian :

Le lundi 8 septembre 2014 à 10:58, Sébastien NOBILI é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/
Publicité
Poster une réponse
Anonyme