RPM Deinstallation benötigter Pakete ???

Dieses Thema im Forum "SuSE / OpenSuSE" wurde erstellt von aspire_5652, 05.02.2008.

  1. #1 aspire_5652, 05.02.2008
    aspire_5652

    aspire_5652 Tripel-As

    Dabei seit:
    02.01.2008
    Beiträge:
    198
    Zustimmungen:
    0
    Folgendes Szenario:

    Ich möchte ein Paket A im RPM Format installieren (bsp über Yast), dieses Paket ist jedoch abhängig von Paket B,C und D. (zb. benötigte Libs)
    Paket D ist schon installiert, da ein weiteres Paket Z von ihm abhängig ist. Also wird bei der Installation von Paket A, Paket B und C hinzugefügt.

    Nach einer Weile möchte ich jedoch Paket A deinstallieren. Wie kann man RPM nun dazu bringen, dass die anfangs benötigten Pakete die zur Installation mit ausgewählt wurden auch mit deinstalliert werden? Mit Paket A soll auch Paket B und C deinstalliert werden, Paket D soll jedoch erhalten bleiben, da ein weiteres Paket Z von Ihm abhägig ist.

    Wäre doch schlecht wenn man die Übersicht verliert und man einige sinnlose Programmleichen installiert hat.
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. Jabo

    Jabo Aufgabe ohne Minister

    Dabei seit:
    12.10.2006
    Beiträge:
    1.322
    Zustimmungen:
    0
    Ort:
    Hamburg
    Es gibt zumindest ein Programm namens "rpmorphan", das folgendes tut:
    Du kannst auch mit einer Kommandozeile die Abhängigkeiten eines installierten Paketes sehen und diese mit deinstallieren. Haben diese dann aber selber noch Abhängigkeiten, kriegst du dafür eine Rückmeldung und wenn du die Deinstallation nicht erzwingst, bleiben die auch.

    Was anderes vermute ich mal macht rpmorphan auch nicht, nur noch mit Unterstützung durch eine Oberfläche.
     
  4. #3 aspire_5652, 05.02.2008
    aspire_5652

    aspire_5652 Tripel-As

    Dabei seit:
    02.01.2008
    Beiträge:
    198
    Zustimmungen:
    0
    Klingt genau nach dem was ich gesucht habe, Danke!
    Das würde micht mal interessieren, mit welchen Befehlen/Parametern das geht.
     
  5. Jabo

    Jabo Aufgabe ohne Minister

    Dabei seit:
    12.10.2006
    Beiträge:
    1.322
    Zustimmungen:
    0
    Ort:
    Hamburg
    Dann lies in einer ruhigen Minute (na gut, 10 ;) ) mal die manpage von rpm. Du kannst ein Paket befragen, woraus es besteht oder eine (von rpm installierte!) Datei, zu welchem Paket sie gehört.

    rpmorphan baut wohl daraus eine Logik zusammen und bietet dir die so gefundenen Pakete zur Deinstallation an.

    Ansonsten ist es denke ich mal eher die Philosophie, da Pakete ja als Abhängigkeit auftauchen können, aber daran nicht gebunden sind für sich (also einen eigenen Sinn haben), sie nicht ständig drauf und wieder runter zu bügeln. Wie gesagt, es ist verfolgbar, aber wenn du das Paket, das die Abhängigkeit hat, deinstallierst, macht das das als Abhängigkeit installierte Paket ja nicht wertlos. Es ist z.B. dann schon da, wenn ein drittes es bei seiner Installation braucht. Die rpm-Datenbank "weiß" dann, daß es da ist und die Abhängigkeit ist erfüllt, ohne es neu einbauen zu müssen. Oder man kann auch "solo" damit irgend was anstellen und rpm nimmt dir nicht einfach die Entscheidung ab, ob du das möchtest.

    Zu dieser "Politik" kann man stehen wie man will.... aber wie gesagt, es ist ja lösbar und sogar schon gelöst :)
     
  6. #5 devolo01, 05.02.2008
    devolo01

    devolo01 Tripel-As

    Dabei seit:
    04.09.2007
    Beiträge:
    150
    Zustimmungen:
    0
    Glaube es wahr

    Code:
    rpm -q --provides 
    
    Bin mir aber auch nicht 100 % sicher
     
  7. #6 Jabo, 05.02.2008
    Zuletzt bearbeitet: 05.02.2008
    Jabo

    Jabo Aufgabe ohne Minister

    Dabei seit:
    12.10.2006
    Beiträge:
    1.322
    Zustimmungen:
    0
    Ort:
    Hamburg
    Nein, "--provides" zeigt dir, was die rpm *mitbringt*. Mit -qR bzw. Langform -q --requires siehst du, was sie haben muß.

    Aber die manpage ist echt nicht uninteressant.

    Dann lies in einer ruhigen Minute (ok, 10 ;) ) mal die manpage von rpm....
     
  8. #7 devolo01, 05.02.2008
    devolo01

    devolo01 Tripel-As

    Dabei seit:
    04.09.2007
    Beiträge:
    150
    Zustimmungen:
    0
    ah dann sry,

    wie gesagt war mir da auch nicht so 100% mehr sicher, aber der einfachste weg ist doch Yast um die Nötigen Abhängikeiten anzeigen zu lassen.
     
  9. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  10. Jabo

    Jabo Aufgabe ohne Minister

    Dabei seit:
    12.10.2006
    Beiträge:
    1.322
    Zustimmungen:
    0
    Ort:
    Hamburg
    Aber das zeigt doch nur, wovon eine ausgewählte RPM abhägt, aber nicht, welche anderen von dieser abhängen? (Neuestes YaST habe ich gar nicht..) Aber das war ja das Problem: Wie merke ich D an, daß A von ihm abhängt, welches aber gar nicht mehr da ist und sonst auch keines mehr.
     
  11. #9 aspire_5652, 21.02.2008
    aspire_5652

    aspire_5652 Tripel-As

    Dabei seit:
    02.01.2008
    Beiträge:
    198
    Zustimmungen:
    0
    So, es gibt Neuigkeiten. Ich hab mich mit diesem Problem mal etwas intensiver auseinandergesetzt. Und habe die RPM Befehle logisch verknüpft und bekomme eine Ausgabe, welche Pakete von einen bestimmten benötigt werden.

    Hier der Code:
    Code:
    #!/bin/bash
    
    if [ -z $1 ]
    then
    	echo "missing argument, please enter your target-RPM and type: ./rpmcheck <RPM-package>"
    	exit 1
    fi
    
    PACKAGE=$1
    
    REQUIRED_RPMS=$(rpm -qf $(whereis $(rpm -qR ${PACKAGE} | awk -F "(" '{print $1}' | awk '{print $1}' | egrep -v 'rpmlib|/bin/sh|/bin/bash' | sort | uniq) | awk '{print $2}') | sort | uniq | grep -v ${PACKAGE})
    
    echo "-> required rpm's: "
    for RPM in ${REQUIRED_RPMS}
    do
    	echo ${RPM}
    done
    Ich frage nach den Dateien, die vom Paket A benötigt werden, suche dann ihren Speicherort und schaue dann in welchem weiteren Paket B...Z sie enthalten sind. Wichtige Sachen, die jedes Paket braucht habe ich außen vorgelassen: 'rpmlib|/bin/sh|/bin/bash'. Jedes Paket B...Z kommt auch nur einmal vor, zb wenn zwei verschiedene benötigte Dateien in einem Paket stecken.

    Nun hab eich also eine Liste, mit weiteren benötigten Paketen. Aber wie prüfe ich nun die Abhängikeiten von den gelisteten benötigten Paketen B...Z, das die se nur vom Paket A verwendet werden und daher entfernt werden können?
     
Thema:

RPM Deinstallation benötigter Pakete ???

Die Seite wird geladen...

RPM Deinstallation benötigter Pakete ??? - Ähnliche Themen

  1. Nach Ati Treiber deinstallation bootet die Grafische Oberfläche nicht mehr

    Nach Ati Treiber deinstallation bootet die Grafische Oberfläche nicht mehr: Hallo, da ich heute mit PlayOnLinux Starcraft 2 installiert habe und sofort nach dem starten immense Grafikfehler hatte habe ich den...
  2. openSUSE 11.0 Installer Deinstallation unter XP?

    openSUSE 11.0 Installer Deinstallation unter XP?: Hallo, Ich habe es geschafft eine Freundin von openSuse zu überzeugen. :)) Allerdings hatte ich Suse parallel zu xp installiert. Soweit so...
  3. DeInstallation net-snmp

    DeInstallation net-snmp: Hallo! Mal ne kleine Frage. Und zwar wollte ich meine alte "net-snmp" Version (5.3) durch eine aktuelle 5.4 ersetzen. Bei der Deinstallation...
  4. apt installations/deinstallations Problem

    apt installations/deinstallations Problem: Hi, ich hab folgendes Problem, habe vor ein paar Tagen amule-daemon installiert. Nun möchte ich es gerne wieder deinstallieren, leider spielt...
  5. OpenSUSE 10.2 Wlan treiber "deinstallation"

    OpenSUSE 10.2 Wlan treiber "deinstallation": Ich habe auf meinem IBM Thinkpad T23 opensuse 10.2 installiert. da das aber kein Wlan hat habe ich eine pcmcia karte installiert (netgear wg511...