Wie kann ein Paket aufgehoben werden?

49

Ich habe synaptic verwendet, um die Version von zu sperren. pidgin-dataWie kann ich den Status von " holdZurück" auf "Normal" ändern , damit er ordnungsgemäß aktualisiert wird?

Das PinningHowto besagt, dass beim Ausführen eines das entfernt werden apt-get install packagenamesollte, beim holdAusführen dpkg -l | grep ^hwird es jedoch weiterhin als angehalten angezeigt :

hi  pidgin-data                                                 1:2.10.6-0ubuntu1+pidgin1.12.04                            multi-protocol instant messaging client - data files

Wie kann ich den holdStatus richtig rückgängig machen ?

David Fraser
quelle

Antworten:

59

Sie können verwenden sudo apt-mark unhold package_name. Das Paket ist unheld und es gibt eine Bestätigung: Canceled hold on package_name..

DrA7
quelle
1
Dein sudoProblem liegt wahrscheinlich daran, dass Du gerade geschrieben hast sudo echo "package_name install"|dpkg --set-selections. Dies gibt die echofolgende Pipe wieder, daher der Zugriffsfehler. Versuchen Sie stattdessen: sudo -E -- sh -c 'echo "package_name install"|dpkg --set-selections'. Dies gibt eine Unter-Shell aus, deren Befehlszeile lautet echo "package_name install"|dpkg --set-selections.
Urhixidur
1
Meine Antwort hatte etwas mit der unbearbeiteten Version der Antwort hier unten zu tun , die zuvor genau den Befehl enthielt, auf den ich mich bezog. Die Frage dient jedoch speziell apt-getals Beispiel und deshalb habe ich mit apt-markdem im apt- Paket enthaltenen beantwortet . Es ist jedoch sehr hilfreich, genau zu wissen, warum die dpkg-Befehle nicht funktionierten.
DrA7
@ DrA7 Paketname wurde bereits nicht gehalten. Was sollte ich jetzt tun?
Dr.jacky
13

Der richtige Weg, um den Hold zu entfernen, sollte sein:

echo "package_name install"|sudo dpkg --set-selections
Jasmin
quelle
2

Enthalte ein einzelnes Paket mit dem Namen $ package_name:

echo $package_name install | dpkg --set-selections

Heben Sie alle derzeit gehaltenen Pakete auf:

dpkg --get-selections | grep hold | awk '{ print $1, "install" }' | dpkg --set-selections
Earl Ruby
quelle
1

Ausführen echo pidgin-data install | dpkg --set-selections(durch pidgin-dataden angehaltenen Paketnamen ersetzen ) - Dadurch wird der Paketstatus auf installanstatt auf geändert hold.

David Fraser
quelle
1

Sie können alle APT-Pakete aufheben mit:

apt-mark showhold | awk '{ print $1, "install" }' | dpkg --set-selections
panticz.de
quelle