Wegen des Fehlers # 693758 möchte ich verhindern, dass der apt-get upgrade
Update Manager das Paket "libgtk2.0-0" aktualisiert.
Wie kann das erreicht werden?
Wegen des Fehlers # 693758 möchte ich verhindern, dass der apt-get upgrade
Update Manager das Paket "libgtk2.0-0" aktualisiert.
Wie kann das erreicht werden?
disable packages from the auto-update
Antworten:
Halten
Es gibt vier Möglichkeiten, Pakete zurückzuhalten: mit dpkg, apt, aptitude oder dselect.
dpkg
Paket zurückstellen:
Entfernen Sie den Laderaum:
Zeigen Sie den Status Ihrer Pakete an:
Zeigen Sie den Status eines einzelnen Pakets an:
geeignet
Halten Sie ein Paket:
Entfernen Sie den Laderaum:
Alle angehaltenen Pakete anzeigen:
dselect
Rufen Sie mit dselect den Bildschirm [S] elect auf, suchen Sie das Paket, das Sie in seinem aktuellen Zustand halten möchten, und drücken Sie =oder H. Die Änderungen werden sofort nach dem Verlassen des Auswahlbildschirms [S] wirksam.
Die folgenden Ansätze sind dahingehend eingeschränkt, dass das Sperren / Halten eines Pakets innerhalb von aptitude oder synaptic keinen Einfluss auf apt-get / apt hat.
Eignung
Halten Sie ein Paket:
Entfernen Sie den Laderaum:
Sperren mit dem Synaptic Package Manager
Gehen Sie zu Synaptic Package Manager (System> Administration> Synaptic Package Manager).
Klicken Sie auf die Suchschaltfläche und geben Sie den Paketnamen ein.
Wenn Sie das Paket gefunden haben, wählen Sie es aus und gehen Sie zum Menü Paket und wählen Sie Version sperren .
Dieses Paket wird jetzt nicht im Update-Manager angezeigt und nicht aktualisiert.
quelle
devscripts
werden viele Pakete als empfohlene Pakete abgerufen. Da ich keinen Mailserver (Postfix) benötige, kann ich die Installation deaktivieren, indem ich sieecho postfix hold | sudo dpkg --set-selections
vor der Ausführung ausführesudo apt-get install devscripts
. Diese Hold-Aktion bleibt nur für diese Installation bestehen. Nach der Installation werden die Einstellungen zurückgesetzt.apt-mark
nicht unterstützthold
in der Version 0.7.25 (Ubuntu Lucid)apt-mark hold fglrx fglrx-amdcccle fglrx-dev && aptitude hold fglrx fglrx-amdcccle fglrx-dev
.So stellen Sie ein Paket "foo" in die Warteschleife:
In Ihrem Fall werden wir den Wein auf Eis legen:
So entfernen Sie den Hold:
quelle
apt-get install wine=1.2.3
. In der Warteschleife zu sein, verhindert, dass diesapt-get (dist-)upgrade
geändert wird./var/cache/apt/archives
) unabhängig ist von hält und Upgrades & stuff, so dass alle Versionen , die Sie wird es heruntergeladen haben , bis Sie laufenapt-get [auto]clean
Ich habe das Gleiche gesucht und nach langem Nachforschen festgestellt, dass Sie mit der folgenden Syntax eine bestimmte Version verbieten und das nächste Update zulassen können:
Dies geht in die Datei / etc / apt / preferences.
quelle
Installieren Sie
synaptic
mitsudo apt-get install synaptic
.Führen Sie mit
gksudo synaptic
und im Suchfeld das Paket aus, das Sie sperren möchten, dh:gedit
Wählen Sie im Paketmenü die Option Version sperren :
Und das ist alles, die zum Zeitpunkt der Sperre aktuell installierte Version bleibt auch bei Upgrades installiert.
quelle
Das Verhindern der Installation eines Pakets wird als "Paketspeicherung" bezeichnet und ist ganz einfach:
... wobei * Paketname * der Name des Pakets ist, dessen Installation Sie verhindern möchten.
Hinweis: Der obige Befehl setzt root-Rechte voraus. Mit anderen Worten, Sie müssen wahrscheinlich etwas eingeben,
sudo su
bevor Sie es ausführen können.quelle
s/sudo su/sudo -s/g
(odersudo -i
). (-i
Wird eine Login-Shell geben,-s
wird nicht).Da einige Zeit
apt-get
durch ersetzt wirdapt
, möchte ich beispielsweise verhindern, dass Firefox auf eine Version über 56 aktualisiert wird, da viele Add-Ons wie "Tab Groups" mit dem neuen Firefox 57 nicht mehr funktionieren (siehe "WebExtensions") Aktualisieren").Es ist möglich, mehrere Pakete mit einem Befehl zu speichern und Platzhalter zu verwenden.
Verhindern Sie, dass Firefox aktualisiert wird
Wenn Sie sie später wieder freigeben möchten, ist dies der Befehl:
quelle
Ich bin mir nicht sicher, ob dies apt-get ändern wird, aber es wird definitiv den Update Manager stoppen.
Um ein Paket einzufrieren, wählen Sie es in Synaptic aus, öffnen Sie das Paketmenü und wählen Sie die Option zum Einfrieren der Version.
Hoffe das hilft
bearbeiten: Diese Frage 16668 befasst sich mit einer ähnlichen Situation
quelle
Alles, was Sie schon immer über das Speichern und Fixieren von Paketen für bestimmte Versionen wissen wollten: https://help.ubuntu.com/community/PinningHowto
quelle
Siehe Bugs # 75332 , # 158981 und # 72806 .
Die Zusammenfassung ist, dass das Halten auf apt-get / aptitude-Ebene nicht den Haltestatus in dpkg auslöst (siehe insbesondere Bug 72806) und der Update-Manager den Status von dpkg liest.
Die Problemumgehung wird als root ausgeführt:
echo "package hold" | dpkg --set-selections
quelle
Sie können bei Bedarf den "bestimmten Override" wie folgt verwenden:
Dies ist eine einmalige Verwendung von (nicht für zukünftige Neuinstallationen gespeichert), um alle Pakete in Ihrem System neu zu installieren, jedoch nicht von oracle-java8-jre.
Wenn Sie ein Keep-spezifisches Override verwenden, befindet sich das Paket momentan in einem Keep-Zustand und es wird nicht versucht, es zu installieren.
Eine sehr gute Sache, wenn Sie glauben, dass Ihr System irgendwie kompromittiert wurde.
quelle
Wenn Sie Synaptic installiert haben, können Sie das Paket auswählen und das Menü Paket -> Version sperren verwenden, um zu verhindern, dass es aktualisiert wird.
Sie können Synaptic mit sudo apt-get install synaptic installieren. Ich persönlich finde es nützlicher als das Software Center ... andererseits bin ich ziemlich altmodisch. :)
quelle
Gelegentlich möchte man vielleicht alle derzeit installierten Pakete zurückhalten . Hier ist wie.
Speichern Sie zuerst den aktuellen Status, damit Sie Folgendes rückgängig machen können:
So halten Sie alle Pakete zurück:
Zum Schluss, wenn Sie zum vorherigen Status zurückkehren möchten:
Ein Anwendungsfall hierfür ist möglicherweise die Erstellung eines VM- oder Amazon AMI-Snapshots für die Migration von einer QS- in eine Produktionsumgebung.
quelle
Hinzufügen von Details zu @sogers Kommentaren zu Ubuntu 16.04.
In Ubuntu 16.04 ist standardmäßig keine / etc / apt / preferences-Datei vorhanden. Wenn Sie derzeit keine haben, erstellen Sie einfach eine neue Datei und füllen Sie sie mit einer Zeilengruppe, wie oben von @soger beschrieben, um das angegebene Paket und seine Abhängigkeiten von Aktualisierungen auszuschließen.
Danach laufen
apt update
und du bist GTG. : 0)Zum Beispiel habe ich einen Ubuntu 16.04.5 LTS-Server mit eingebetteter Intel-Grafikkarte und einer NVidia-Karte. Die NVidia-Karte ist die einzige, die verwendet wird. Der Server verwendet auch CUDA-Treiber. Ich hatte ein Problem, auf dem ich
apt
immer wieder bestand(Intel-Treiber) erforderten ein Update, konnten jedoch nicht feststellen, welche Version installiert werden soll. Das hat mich verrückt gemacht, und ich brauchte sowieso keine Intel-Treiber. Ich habe diesen Text in die Einstellungsdatei eingegeben und apt gelöscht, Problem behoben.
quelle