Normalerweise sperre ich auf meinem Ubuntu 16.04 LTS Paketversionen mit APT-Pin-Funktionalität.
Wenn ich zum Beispiel meld
an Version 1.5.3-1ubuntu1 anheften möchte, erstelle ich die folgende Pin-Datei:
cat <<EOF | sudo tee /etc/apt/preferences.d/pin-meld
Package: meld
Pin: version 1.5.3-1ubuntu1
Pin-Priority: 1337
EOF
Diese Datei gilt Einstellungen systemweit: apt
, apt-get
, aptitude
und GUI - Tools wie synaptic
und muon
respektiert sie.
Ich kenne andere Mechanismen - apt-mark
. Angenommen. Mein Ausgangspunkt - Ich habe meld_1.5.3-1ubuntu1 manuell installiert , sein Pin wurde entfernt.
$ apt-mark showhold
$ apt-cache policy meld
meld:
Installed: 1.5.3-1ubuntu1
Candidate: 3.14.2-1
Version table:
3.14.2-1 500
500 http://archive.ubuntu.com/ubuntu xenial/universe amd64 Packages
500 http://archive.ubuntu.com/ubuntu xenial/universe i386 Packages
*** 1.5.3-1ubuntu1 100
100 /var/lib/dpkg/status
Dann halte ich die installierte Version.
$ sudo apt-mark hold meld
meld set on hold.
$ dpkg -l | grep meld
hi meld 1.5.3-1ubuntu1 all graphical tool to diff and merge files
Die APT-Markierung zeigt an, dass sie gehalten wird. Habe apt-cache policy meld
aber keine Änderungen
$ apt-cache policy meld
meld:
Installed: 1.5.3-1ubuntu1
Candidate: 3.14.2-1
Version table:
3.14.2-1 500
500 http://archive.ubuntu.com/ubuntu xenial/universe amd64 Packages
500 http://archive.ubuntu.com/ubuntu xenial/universe i386 Packages
*** 1.5.3-1ubuntu1 100
100 /var/lib/dpkg/status
apt-get upgrade
Berichte , die meld
sich zurückgehalten :
$ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages have been kept back:
meld
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
Aber wenn ich aptitude
im interaktiven Modus starte, habe ich meld
in Upgradable Packages :
Actions Undo Package Resolver Search Options Views Help
C-T: Menu ?: Help q: Quit u: Update g: Preview/Download/Install/Remove Pkgs
aptitude 0.7.4
--\ Upgradable Packages (1)
--\ gnome - The GNOME Desktop Environment (1)
--\ universe - Unsupported Free Software. (1)
ih meld 1.5.3-1ubuntu1 3.14.2-1
und wenn ich versehentlich Aktionen -> Ausstehende Aktionen abbrechen auswähle , wird das Halten entfernt.
Soweit ich verstehen kann, werden Markierungen synaptic
ignoriert. Die Funktionalität der Sperrversion funktioniert anders. wird hier als Installiert (aktualisierbar) aufgeführt . Die Schaltfläche Alle Upgrades markieren wählt sie nicht automatisch aus, aber das Paket wird möglicherweise versehentlich von Mark for Upgrade aktualisiert .apt-mark
meld
Muon arbeitet auf die gleiche Weise mit Paketen, die von gehalten werden apt-mark
. Aber was interessant ist seine Option Lock at Current Version schreibt Pin-Datei in /etc/apt/preferences.d/meld
.
Verstehe ich richtig, dass APT-Pin zuverlässiger ist als apt-mark
?