View previous topic :: View next topic |
Author |
Message |
Finswimmer Bodhisattva
Joined: 02 Sep 2004 Posts: 5467 Location: Langen (Hessen), Germany
|
Posted: Sat Aug 05, 2006 4:36 pm Post subject: World Datei aufräumen |
|
|
Hi!
Ich stell mir das so vor:
Von jedem Paket wird überprüft, ob ein anderes von ihm abhängt, wenn ja, dann kann es raus, ansonsten bleibt es drinnen.
Gibt es da schon etwas, oder will ich oder jemand anderes daran versuchen?
Tobi |
|
Back to top |
|
|
Finswimmer Bodhisattva
Joined: 02 Sep 2004 Posts: 5467 Location: Langen (Hessen), Germany
|
Posted: Sat Aug 05, 2006 5:48 pm Post subject: |
|
|
Code: | #!/bin/bash
rm /tmp/rdp1
rm /tmp/world-fertig
gesamt=`cat /var/lib/portage/world|wc -l`
d=1
for i in `cat /var/lib/portage/world`; do
equery d $i >> /tmp/rdp1
echo $i "bearbeitet:" $d "von" $gesamt
d=$[$d+1] ; done
for i in `cat /var/lib/portage/world`; do
if `grep $i /tmp/rdp1 > /dev/null` ;then echo $i "kann weg"; else echo $i >> /tmp/world-fertig ;fi
|
Am Ende kommt /tmp/world-fertig raus, die eine kleinere World Datei enthalten soll.
Aber irgendwo ist da ein Denkfehler mit equery drin, denke ich...
Sagt mir jemand, wo?
Tobi
Last edited by Finswimmer on Sun Aug 06, 2006 9:23 pm; edited 1 time in total |
|
Back to top |
|
|
think4urs11 Bodhisattva
Joined: 25 Jun 2003 Posts: 6659 Location: above the cloud
|
Posted: Sat Aug 05, 2006 5:51 pm Post subject: |
|
|
hast du das schon gesehen? https://forums.gentoo.org/viewtopic-t-142475.html
sollte doch genau das sein was du möchtest oder? _________________ Nothing is secure / Security is always a trade-off with usability / Do not assume anything / Trust no-one, nothing / Paranoia is your friend / Think for yourself |
|
Back to top |
|
|
Finswimmer Bodhisattva
Joined: 02 Sep 2004 Posts: 5467 Location: Langen (Hessen), Germany
|
Posted: Sat Aug 05, 2006 6:06 pm Post subject: |
|
|
Hmm scheint genauso lahm zu sein, wie meins...
Schaust du mal drüber, wo mein Logikfehler ist?
Danke, Tobi |
|
Back to top |
|
|
Fauli l33t
Joined: 24 Apr 2004 Posts: 760 Location: Moers, Germany
|
Posted: Sun Aug 06, 2006 4:45 pm Post subject: |
|
|
"equery depends PAKET" liefert ja die Pakete, die von PAKET abhängen. Du brauchst aber doch die Pakete, von denen PAKET abhängt. _________________ Do your part to beautify the web! Turn off link underlining! |
|
Back to top |
|
|
firefly Watchman
Joined: 31 Oct 2002 Posts: 5329
|
Posted: Sun Aug 06, 2006 6:07 pm Post subject: |
|
|
Fauli wrote: | "equery depends PAKET" liefert ja die Pakete, die von PAKET abhängen. Du brauchst aber doch die Pakete, von denen PAKET abhängt. |
er möchte die paket aus dem world entfernen, von denen kein anderes paket abhängig ist . Und dafür ist depends schon das richtige _________________ Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn. |
|
Back to top |
|
|
Finswimmer Bodhisattva
Joined: 02 Sep 2004 Posts: 5467 Location: Langen (Hessen), Germany
|
Posted: Sun Aug 06, 2006 9:09 pm Post subject: |
|
|
firefly wrote: | Fauli wrote: | "equery depends PAKET" liefert ja die Pakete, die von PAKET abhängen. Du brauchst aber doch die Pakete, von denen PAKET abhängt. |
er möchte die paket aus dem world entfernen, von denen kein anderes paket abhängig ist . Und dafür ist depends schon das richtige |
Gell, und warum gehts nun nicht? *quengel*
Tobi |
|
Back to top |
|
|
Fabiolla Apprentice
Joined: 04 Mar 2004 Posts: 277 Location: somewhere
|
Posted: Mon Aug 07, 2006 6:30 pm Post subject: |
|
|
Hallo,
hab mir mal vor einiger Zeit ein Script geschrieben, welches auch mit equery arbeitet.
Precondition:
Bevor man anfängt die world-Datei zu bereinigen, empfiehlt es sich:
a) Die orginal world-Datei zu sichern
b) ein emerge -pv --depclean auszuführen damit man einen Ausgangszustand hat.
-> wenn der Datenbestand korrekt ist, dürfen vor und nach der Bereinigung der world-Datei keine Pakete deinstalliert werden.
Code: |
while read INPUT; do
QUERY=`equery d $INPUT | grep -v "Searching"`
if [ -n "$QUERY" ]; then
echo "---> kann raus: "$INPUT
echo $QUERY | tr " " "\n"
fi
done < $WORLDFILE
|
Erklärung:
Die equery Abfrage liefert, wenn es zu einem Eintrag in der world-Datei Abhängigkeiten gibt den Eintrag und alle Abhängigkeiten zu diesem Eintrag auf.
Bemerkung:
Beim Ausführen des Scripts sind mir 2 Punkte aufgefallen:
a) Es gibt in der world-Datei Einträge, welche in die Menge 'system' fallen (z.B wenn man vim als Standard-Editor eingestellt hat ist vim in der world-Datei vorhanden). 'system' ist eine Teilmenge von 'world' -> daher stellt sich die Frage/Überlegung 'system' Pakete in der world-Datei enthalten sein sollen.
b) Beim modularen xorg dürfte es entweder vom portage oder von --depclean einen Fehler geben.
Die equery Abfrage zeigt an, das x11-base/xorg-x11 Abhängigkeiten hat. Wenn man den Eintrag für x11-base/xorg-x11 aus der world-Datei entfernt 'ist emerge -pv --depclean der Meinung' dass alle abhängigen Pakete von x11-base/xorg-x11 deinstalliert werden können -> dies ist jedoch definitiv falsch.
lg |
|
Back to top |
|
|
|