Sicheres Deinstallieren eines Pakets in Gentoo

Sicheres Deinstallieren eines Pakets in Gentoo

Ich wollte ein bestimmtes Paket in Gentoo deinstallieren und habe die Manpage von Emerge durchsucht. Ich habe die --unmergefolgende 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. --depcleanUnd --prunediese Funktionalität wird nicht bereitgestellt:

  • --depcleanentfernt 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, depcleandass es so funktioniert, wie Sie es beschrieben haben. Ohne Argumente funktioniert es, aber wenn Sie ihm einen Paketnamen übergeben, funktioniert es wie unmergemit 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 --depcleanzusammen 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 --depcleanwird 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 --unmergewird 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.

verwandte Informationen