Ich wollte ein bestimmtes Paket in Gentoo deinstallieren und habe die Manpage von Emerge durchsucht. Ich habe die --unmerge
folgende Option gefunden:
WARNUNG: Diese Aktion kann wichtige Pakete entfernen!Entfernt alle passenden Pakete. Dabei werden keine Abhängigkeiten geprüft, daher werden möglicherweise Pakete entfernt, die für den ordnungsgemäßen Betrieb Ihres Systems erforderlich sind. Die Argumente können Atome oder Ebuilds sein. Für eine abhängigkeitsbewusste Version von --unmerge, verwenden--depcleanoder--prune.
Ich möchte jedoch, dass Emerge prüft, ob das Paket, das ich deinstallieren möchte, von einem anderen installierten Paket im System benötigt wird. --depclean
Und --prune
diese Funktionalität wird nicht bereitgestellt:
--depclean
entfernt Pakete, die als Abhängigkeiten installiert wurden, aber nicht mehr benötigt werden--prune
"entfernt alle installierten Versionen eines Pakets von Ihrem System außer der höchsten"
Gibt es keine Version von mit Abhängigkeitsprüfung --unmerge
?
Antwort1
Ich glaube nicht, depclean
dass es so funktioniert, wie Sie es beschrieben haben. Ohne Argumente funktioniert es, aber wenn Sie ihm einen Paketnamen übergeben, funktioniert es wie unmerge
mit einer zusätzlichen Abhängigkeitsprüfung. Von emerge(1)
:
Depclean dient als abhängigkeitsbewusste Version von
--unmerge
. Wenn ein oder mehrere Atome angegeben werden, werden übereinstimmende Pakete, die keine umgekehrten Abhängigkeiten haben, aufgehoben. Verwenden Sie es--depclean
zusammen mit--verbose
, um umgekehrte Abhängigkeiten anzuzeigen.
Ich verwende immer --depclean
( -c
), um einzelne Pakete aufzuheben. Das funktioniert gut.
Antwort2
Eine andere Möglichkeit, dasselbe Ergebnis zu erzielen (obwohl es sich nicht um einen Befehl handelt, der die Zusammenführung mit Abhängigkeitsprüfung aufhebt): emerge --deselect package
, wodurch das Paket aus der Weltdatei entfernt wird. Jetzt emerge --depclean
wird das Paket durch Ausführen entfernt, sofern es nicht von einem anderen Paket benötigt wird.
Antwort3
Gentoolkit kommt zu Hilfe:
equery d <atom>
Sie können zunächst die Abhängigkeiten prüfen und dann mit der Entfernung des Pakets fortfahren, nachdem Sie die Abhängigkeiten überprüft haben.
Antwort4
Manchmal emerge --unmerge
wird diese Warnmeldung angezeigt:
* This action can remove important packages! In order to be safer, use
* `emerge -pv --depclean <atom>` to check for reverse dependencies before
* removing packages.
Dies scheint die empfohlene Methode zur Überprüfung der Abhängigkeiten vor dem Aufheben der Zusammenführung eines Pakets zu sein. Ich hoffe jedoch, dass es eine bessere und automatisiertere Methode gibt, dies zu erreichen.