Backport Script

Smalltalk
Antworten
Chimerer
Beiträge: 514
Registriert: 28.01.2002 16:10:44

Backport Script

Beitrag von Chimerer » 07.11.2003 01:55:09

Für alle, die den Überblick über ihre installierten Backports verloren haben. ;)

http://www.debianforum.de/wiki/?page=Scripte ganz unten.

Benutzeravatar
Natas12
Beiträge: 1751
Registriert: 12.04.2002 20:59:12

Beitrag von Natas12 » 07.11.2003 11:52:59

danke! genau das brauche ich! :D

edit: uh-oh.... eine ganze menge backports... da kann ich ja mein system mit der nächsten stable gleich neu installieren...
"In den reichen Ländern hat die Freiheit gesiegt - mit all den schrecklichen Folgen, die das für die anderen mit sich bringt und noch bringen wird. Die Demokratie ist auf andere Epochen verschoben." (L. Canfora)

Chimerer
Beiträge: 514
Registriert: 28.01.2002 16:10:44

Beitrag von Chimerer » 07.11.2003 13:17:17

Bei mir sind es auch nicht gerade wenig: 101. :)

Benutzeravatar
Natas12
Beiträge: 1751
Registriert: 12.04.2002 20:59:12

Beitrag von Natas12 » 07.11.2003 13:30:33

ich habe 857 backports??!?!?!?!??? inklusive gnome und kde... au weia
"In den reichen Ländern hat die Freiheit gesiegt - mit all den schrecklichen Folgen, die das für die anderen mit sich bringt und noch bringen wird. Die Demokratie ist auf andere Epochen verschoben." (L. Canfora)

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

Beitrag von godsmacker » 07.11.2003 15:49:12

Nach dem Begriff 'debian.org' zu filtern ist vielleicht nicht wirklich gut.
Ich habe unter anderem auch Pakete von people.debian.org/~foobar u.ä. installiert..

Grüße,
Florian

Benutzeravatar
npi
Beiträge: 567
Registriert: 03.08.2003 17:52:10

Beitrag von npi » 07.11.2003 16:11:02

ich versteh das script nicht ganz, inwiefern hilft das einem? ich meine, die backports die ich benutze hab ich ja eh alle in der sources.list zusammengefasst. :?
was erreicht ihr mit diesem script, oder was ist das ziel?

npi

Benutzeravatar
Natas12
Beiträge: 1751
Registriert: 12.04.2002 20:59:12

Beitrag von Natas12 » 07.11.2003 16:23:19

bei einem nächsten stable-release werden die backports wohl vorher deinstalliert werden müssen, da sie gegen alte libs gebaut sind. denke ich mal...
"In den reichen Ländern hat die Freiheit gesiegt - mit all den schrecklichen Folgen, die das für die anderen mit sich bringt und noch bringen wird. Die Demokratie ist auf andere Epochen verschoben." (L. Canfora)

Benutzeravatar
zyta2k
Beiträge: 2446
Registriert: 14.03.2003 09:18:00
Kontaktdaten:

Beitrag von zyta2k » 07.11.2003 16:56:36

godsmacker hat geschrieben:Nach dem Begriff 'debian.org' zu filtern ist vielleicht nicht wirklich gut.
Ich habe unter anderem auch Pakete von people.debian.org/~foobar u.ä. installiert..
Stimmt.
Man müsste das Script anpassen.
Sonst zählt es die people.debian.org backports zu den offiziellen.
natas hat geschrieben: bei einem nächsten stable-release werden die backports wohl vorher deinstalliert werden müssen, da sie gegen alte libs gebaut sind. denke ich mal
Ne, Apt haut dir die Backports automatisch runter. Nur keine Panik :)

Chimerer
Beiträge: 514
Registriert: 28.01.2002 16:10:44

Beitrag von Chimerer » 07.11.2003 18:33:06

npi hat geschrieben:ich versteh das script nicht ganz, inwiefern hilft das einem? ich meine, die backports die ich benutze hab ich ja eh alle in der sources.list zusammengefasst. :?
was erreicht ihr mit diesem script, oder was ist das ziel?

npi
Schon. In der sources.list hast du aber nur die Server drin stehen und nicht jedes einzelne Packet, deshalb das Script, da es auch mal vorkommt, dass irgendwelche Libs mit installiert werden von denen man später nichts mehr weiß.

Hab das Script abgeändert.

Benutzeravatar
pdreker
Beiträge: 8298
Registriert: 29.07.2002 21:53:30
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nürnberg

Beitrag von pdreker » 07.11.2003 19:36:03

Das Skript zählt aber z.B. auch alle Pakete, die man von einem Mirror installiert hat (freenet.de z.B.) als Backports, weil in dessen URLs nicht unbedingt debian.org vorkommt. Da das aber offizielle Mirrors sind, ist die Information natürlich falsch...

Wahrscheinlich wäre es besser, den Suchbegriff nicht hartzukodieren, sondern in dem Skript ein Array anzulegen, in die man die Backport Server eintragen kann. Arrays in der Shell sind mir zwar unbekannt, aber im Zweifelsfall einfach das Skript so umbauene, dass man einen Server als Parameter auf der Kommandozeile angeben kann, und das Skript zeigt einem alle Pakete, deren Server den Suchbegriff enthält... Damit ist das Skript sogar noch flexibler...

Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de

Chimerer
Beiträge: 514
Registriert: 28.01.2002 16:10:44

Beitrag von Chimerer » 08.11.2003 00:53:16

So... um einen Backport-Server nun kenntlich zu machen muss man in die sources.list hinter die Zeile mit dem Server ein "# b-server" einfügen.

Auf die Art und Weise, kann kein Server mehr durch das Netz schlüpfen.

Alternativ kann man die Server auch als Parameter übergeben.

Code: Alles auswählen

#!/bin/sh

export COLUMNS=175

if [ ! -z "$1" ]
then
	for v in $*
	do
		list="$list $v"
	done
else
	for v in `cat /etc/apt/sources.list | awk '($0 ~ "b-server") { print $2 }' | awk -F "/" '{ print $1 "//" $3 }'`
	do
		list="$list $v"
	done
fi

for p in `dpkg -l | awk '($0 ~ "^ii") { print $2 }'`
do

        server=`apt-cache policy $p | grep -A 1 "\*" | awk '{ print $2 }'`
	server=`echo $server | awk '{ print $2 }'`

	for l in $list
	do
	       if [ "$server" = "$l" ]
	       then
		       echo $p $server 
	       fi
	done
done

Benutzeravatar
pdreker
Beiträge: 8298
Registriert: 29.07.2002 21:53:30
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nürnberg

Beitrag von pdreker » 08.11.2003 01:15:57

Code: Alles auswählen

         server=`apt-cache policy $p | grep -A 1 "\*" | awk '{ print $2 }'` 
    server=`echo $server | awk '{ print $2 }'` 
Du weist 2mal hintereinander der gleichen Variable einen Wert zu... Entgeht mir da was?

Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de

Benutzeravatar
spiffi
Beiträge: 1128
Registriert: 09.08.2003 19:02:27

Beitrag von spiffi » 08.11.2003 02:56:33

pdreker hat geschrieben:Du weist 2mal hintereinander der gleichen Variable einen Wert zu... Entgeht mir da was?
Ja... :wink:
server=`apt-cache policy $p | grep -A 1 "\*" | awk '{ print $2 }'`
server=`echo $server | awk '{ print $2 }'`

Benutzeravatar
Natas12
Beiträge: 1751
Registriert: 12.04.2002 20:59:12

Beitrag von Natas12 » 08.11.2003 10:40:40

zyta2k hat geschrieben:Ne, Apt haut dir die Backports automatisch runter. Nur keine Panik :)
puuh... da bin ich aber beruhigt.... freue mich doch so über mein solides system, dass ich es ungerne neu aufsetzen wollte...
"In den reichen Ländern hat die Freiheit gesiegt - mit all den schrecklichen Folgen, die das für die anderen mit sich bringt und noch bringen wird. Die Demokratie ist auf andere Epochen verschoben." (L. Canfora)

Chimerer
Beiträge: 514
Registriert: 28.01.2002 16:10:44

Beitrag von Chimerer » 08.11.2003 11:32:52

spiffi hat geschrieben:
pdreker hat geschrieben:Du weist 2mal hintereinander der gleichen Variable einen Wert zu... Entgeht mir da was?
Ja... :wink:
server=`apt-cache policy $p | grep -A 1 "\*" | awk '{ print $2 }'`
server=`echo $server | awk '{ print $2 }'`
Das war ein Problem, dass ich gestern Nacht nicht anders lösen konnte. Kurz vorm Einschlafen ist mir allerdings noch die sehr simple Lösung eingefallen.

Die 2. Zuweisung fällt hierbei weg.

Code: Alles auswählen

...
server=`apt-cache policy $p | grep -A 1 "\*" | awk '($0 ~ ":/") { print $2 }'`
...

Antworten