Anzeigen aller installierten contrib, non-free, non-US Paket

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
simtin
Beiträge: 122
Registriert: 05.11.2003 21:58:54

Anzeigen aller installierten contrib, non-free, non-US Paket

Beitrag von simtin » 01.04.2004 15:58:58

Hallo,

ich wollte rein interessehalber mal wissen, welcher Pakete ich aus den oben genannten Sections ich verwende. Dazu habe ich ein kleines Shell-Script geschrieben:

Code: Alles auswählen

#!/bin/sh

for pack in `COLUMNS=160 dpkg -l | grep "^ii" | cut -f3 -d" "` ; do
        info=`dpkg -p $pack 2>&1`;
        
        echo $info | grep "Section: non-free" > /dev/null;
        if [ $? -eq 0 ]; then
                echo $pack is non-free;
        fi
        
        echo $info | grep "Section: contrib" > /dev/null;
        if [ $? -eq 0 ]; then
                echo $pack is contrib;
        fi

        echo $info | grep "Section: non-US" > /dev/null;
        if [ $? -eq 0 ]; then
                echo $pack is non-US;
        fi
done
wobei das Ergebnis folgendes ist:

Code: Alles auswählen

./listnonfree.sh 
3270-common is non-free
flashplugin-nonfree is contrib
giflib-bin is non-free
giflib3g is non-free
gnupg is non-US
httperf is non-US
lha is non-free
liblwres1 is non-US
libssl-dev is non-US
libssl0.9.6 is non-US
nessus is non-US
nessus-plugins is non-US
nessusd is non-US
openoffice.org is contrib
openoffice.org-bin is contrib
openoffice.org-debian-files is contrib
openoffice.org-l10n-en is contrib
openssl is non-US
partimage is non-US
partimage-server is non-US
rar is non-free
rdesktop is non-US
ssh is non-US
sslwrap is contrib
stunnel is non-US
telnet-ssl is non-US
unarj is non-free
unp is non-US
unrar is non-free
unzip is non-US
x3270 is non-free
Das Skript ist leider ziemlich langsam, was mich insofern etwas verwundert, als apt- und dpkg-Aktionen normalerweise relativ schnell von statten gehen. Schon klar, dass das lange dauert, weil alle installierten Pakete durchlaufen werden (938, laut dpkg -l | wc -l), trotzdem wuerde ich wissen, ob mir jemand Tipps geben kann, wie ich die Suche optimieren koennte. Oder gibt es generell bessere Loesungen hierfuer?

Mit Dank.

Ciao

Benutzeravatar
godsmacker
Beiträge: 902
Registriert: 16.03.2003 21:50:26
Lizenz eigener Beiträge: Artistic Lizenz
Wohnort: Chemnitz
Kontaktdaten:

Beitrag von godsmacker » 01.04.2004 16:26:22

Vielleicht bist Du schneller, wenn Du die Listen in /var/lib/apt/lists verwendest. Da hast Du auch schon aufgeteilt in welcher Section ein Paket ist.

Antworten