Sie sind viel besser dran, wenn Sie sich mit dem richtigen Anheften befassen man apt_preferences
.
Nehmen wir an, Sie sind auf Oneiric und möchten diese Pakete von Precise beziehen.
Wenn Sie das lesen, werden man
Sie sehen, dass ich die relevanten Abschnitte kopiert / eingefügt und nur den Release-Namen geändert habe
/etc/apt/preferences
:
Package: libccid
Pin: release n=precise
Pin-Priority: 990
Package: libpcsclite*
Pin: release n=precise
Pin-Priority: 990
Package: libusb*
Pin: release n=precise
Pin-Priority: 990
Package: opensc
Pin: release n=precise
Pin-Priority: 990
Package: pcscd
Pin: release n=precise
Pin-Priority: 990
Explanation: Uninstall or do not install any Ubuntu-originated
Explanation: package versions other than those in the oneiric release
Package: *
Pin: release n=oneiric
Pin-Priority: 900
Package: *
Pin: release o=Ubuntu
Pin-Priority: -10
Dann kopierte ich meine /etc/apt/sources.list
auf /etc/apt/sources.list.d/precise.list
und ersetzt alle Vorkommen von precise mit präziser. Dann lief apt-get update
und endlich apt-get upgrade
.
$ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be upgraded:
libpcsclite1 libusb-0.1-4 libusb-1.0-0 libusbmuxd1
4 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 86.0 kB of archives.
After this operation, 88.1 kB disk space will be freed.
Do you want to continue [Y/n]? y
Get:1 http://us.archive.ubuntu.com/ubuntu/ precise/main libusb-0.1-4 amd64 2:0.1.12-20 [17.6 kB]
Get:2 http://us.archive.ubuntu.com/ubuntu/ precise/main libusb-1.0-0 amd64 2:1.0.9~rc3-2 [30.9 kB]
Get:3 http://us.archive.ubuntu.com/ubuntu/ precise/main libpcsclite1 amd64 1.7.4-2ubuntu1 [23.5 kB]
Get:4 http://us.archive.ubuntu.com/ubuntu/ precise/main libusbmuxd1 amd64 1.0.7-2 [14.1 kB]
Fetched 86.0 kB in 0s (124 kB/s)
Aus irgendeinem Grund wurden pcscd und opensc nicht installiert, wahrscheinlich, weil es anfangs nicht installiert war, also gab es nichts zu aktualisieren, keine große Sache, ich kann genau diese Version installieren, indem ich präzise als Referenz wie diese verwende.
apt-get install opensc pcscd -t precise
Beachten Sie die Verwendung von -t
, packagename/precise
würde auch funktionieren.
und es gibt die gewünschten Pakete aus der neuesten Version und nur diese Pakete , sie werden auch automatisch aktualisiert. Wenn Sie sie nicht mehr möchten, löschen Sie einfach die Einträge aus /etc/apt/preferences
und beim nächsten Start werden apt-get upgrade
sie entfernt. Wenn Sie die gesamte Prefs-Datei entfernen, müssen Sie sicherstellen, dass auch diese Quelldatei gelöscht wird. precise.list
Ihr System wird versuchen, auf die neuesten Pakete zu aktualisieren. Auch wenn Sie sich für ein späteres Dist-Upgrade entscheiden, müssen Sie die gesamte Prefs-Datei entfernen, und es wäre wahrscheinlich eine gute Idee, die andere sources.list zu entfernen, wenn das Upgrade aufgrund der höheren Priorität keine findet Keine zu aktualisierenden Pakete.
Das richtige Anheften ist nicht so schwer, Sie müssen nur ein wenig recherchieren und experimentieren. Alle Verben für n=
usw. werden durch Untersuchen gefunden apt-cache policy
.
Deshalb toben und schwärmen erfahrene Admins von apt vs yum. Sie können Services präzise aktualisieren und auf saubere, deterministische und wartbare Weise auf dem neuesten Stand halten.
Keine weiteren Kompilierungspakete.
Ich empfehle dringend, dass Sie die gesamte Manpage lesen, sich mit dem Konzept vertraut machen und andere Leitfäden zum Thema Apt Pinning lesen, bevor Sie mit diesem Vorschlag fortfahren. Viel Glück und hab Spaß!
https://help.ubuntu.com/community/PinningHowto