Re: Infos Paquets Deb

Top Page

Reply to this message
Author: Marc BERLIOUX
Date:  
To: guilde, Olivier Allard-Jacquin
Subject: Re: Infos Paquets Deb
Merci Olivier. J'aurais probablement fait un script qui ressemble à ce que tu me proposes, mais la ligne de commande que j'ai retenue dans mon dernier post, avec grep-status et tbl-dctrl me donne entière satisfaction. On peut même piper les fichiers /var/lib/apt/lists/*Packages directement dans tbl-dctrl pour par exemple récupérer les différentes sections disponibles.

Bonne soirée.


Le 22 mars 2018 21:47:33 GMT+01:00, Olivier Allard-Jacquin <olivieraj@???> a écrit :
>    Bonsoir,

>
>Le 22/03/2018 à 12:24, Marc a écrit :
>> Salut,
>>
>> La commande :
>> dpkg-deb -I paquet.deb | grep '^ Section'
>> permet de voir la Section (ou Catégorie..) d'un paquet individuel
>>
>> Je cherche une commande capable de fabriquer une liste CSV des
>paquets
>> installés sur une machine avec en deuxième champ la 'Section' du
>paquet.
>>
>> Je vais probablement devoir faire un petit script pour ça, mais il y
>a
>> peut-être quelque chose de presque tout fait ? Une idée ?
>
>    Il y a quelques temps, j'ai eu un besoin assez similaire (identifier
>dans ma Debian Testing, quelques paquets venaient de
>stable/testing/unstable/experiemntale).

>
>    J'ai trouvé dans /var/lib/apt/lists/*_Packages des infos plutôt utiles
>pour cela, et qui rejoignent ta demande.

>
>    Les 3 commandes si-dessous répondent à ta problématique :

>
>$ cat /var/lib/apt/lists/*_Packages|sed -e
>'/^\(Package\|Section\)/!d'|sed -e '$!N;s/\n/,/' | sort -u >
>/tmp/available.csv
>
>=> Affiche les nom & section de tous les paquets disponibles
>
>
>$ dpkg -l | grep "^[a-zA-Z][a-zA-Z] " | awk '{print $2}'|sed -e
>'s/:\(amd64\|i386\)//g'|sort -u > /tmp/installed.csv
>
>=> Extrait la liste des paquets installés, en supprimant la source
>(amd64/i386)
>
>$ (for I in `cat /tmp/installed.csv`; do grep "Package: $I,"
>/tmp/available.csv; done )>/tmp/result.csv
>
>=> vlookup/liaison entre les deux précédents fichiers
>
>$ cat /tmp/result.csv
>
>Package: accountsservice,Section: admin
>Package: accountwizard,Section: utils
>Package: acl,Section: utils
>Package: acpi,Section: utils
>Package: acpid,Section: admin
>Package: acpi-fakekey,Section: admin
>Package: acpi-support,Section: admin
>Package: acpi-support-base,Section: admin
>
>Si tu as besoin de supprimer les "Package: " / "Section: ", c'est
>trivial:
>
>$ cat /tmp/result.csv |sed -e 's/^Package: //g' -e 's/,Section: /,/g' >
>result2.csv
>
>$ cat /tmp/result2.csv
>ccountsservice,admin
>accountwizard,utils
>acl,utils
>acpi,utils
>acpid,admin
>acpi-fakekey,admin
>acpi-support,admin
>acpi-support-base,admin
>
>    Cordialement,

>
>                            Olivier


--
Marc
Debout sur la boule