Wie erhalte ich eine Liste der installierten Pakete, die vom Upgrade zurückgehalten wurden?

39

Vor kurzem musste ich eine Liste der Pakete abrufen, die auf meinem Ubuntu-System installiert waren und die auch für ein Upgrade angehalten wurden.

Der Status 'hold' für ein Paket bedeutet, dass das Installationsprogramm beim Upgrade des Betriebssystems auch diese Pakete nicht aktualisiert, sofern dies nicht ausdrücklich in den Optionen angegeben ist.

Ich suche nach einer Befehlszeilenlösung, verstehe aber, dass dies möglicherweise auch über die GUI möglich ist.

Parag
quelle

Antworten:

46

Sie können verwenden apt-mark:

apt-mark showhold

Dies zeigt die Pakete an, die im "Hold" -Zustand gehalten werden, so dass der Pacakge-Manager die Pakete nicht automatisch aktualisiert.

Von man apt-mark:

showhold
           showhold is used to print a list of packages on hold
heemayl
quelle
9

Verwenden Sie dpkg

dpkg -l | grep "^hi"

Die -lMöglichkeit, alle Pakete aufzulisten, die dann an grep weitergeleitet werden.

Der reguläre Ausdruck "^hi"bedeutet, nach allen Zeilen zu suchen, die mit "hi" beginnen und die Initialen für "hold" und "installed" sind.

Standardmäßig dpkg -lwerden Status, Paketname, Version, Architektur und eine kurze Beschreibung aufgelistet.

Parag
quelle
Diese Methode funktioniert auf Debian-Systemen, unabhängig davon, welcher übergeordnete Paket-Wrapper verwendet wird. Sie ist daher allgemeiner.
uDude