Lepiej byłoby odkryć trafne przypinanie, patrz man apt_preferences
.
Załóżmy, że korzystasz z Oneiric i chcesz uzyskać te pakiety od Precise.
Jeśli przeczytasz man
, zobaczysz, że skopiowałem / wkleiłem odpowiednie sekcje i właśnie zmodyfikowałem nazwę wydania
/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
Potem skopiował moje /etc/apt/sources.list
się /etc/apt/sources.list.d/precise.list
i zastępuje wszystkie wystąpienia sid z precyzyjne. Potem pobiegł apt-get update
i wreszcie 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)
Z jakiegoś powodu, pccd i opensc nie zostały zainstalowane, prawdopodobnie dlatego, że nie zostały zainstalowane na początku, więc nie było nic do uaktualnienia, nic wielkiego, mogę zainstalować dokładnie tę wersję, używając dokładnych takich referencji.
apt-get install opensc pcscd -t precise
Zwróć uwagę na użycie -t
, packagename/precise
również by działało.
i są pakiety, które chcesz, z najnowszej wersji, i tylko te pakiety , będą one również aktualizowane automatycznie. Jeśli nie chcesz ich więcej, po prostu usuń wpisy z, /etc/apt/preferences
a przy następnym uruchomieniu apt-get upgrade
zostaną usunięte. Jeśli usuniesz cały plik prefs, pamiętaj, aby usunąć również ten precise.list
plik źródłowy, a nasz system spróbuje zaktualizować do najnowszego zestawu pakietów. Również, jeśli zdecydujesz się na późniejszą aktualizację, będziesz musiał usunąć cały plik prefs i prawdopodobnie dobrym pomysłem byłoby usunięcie innych źródeł. Lista mniej uaktualnienia znajdzie, dzięki wyższemu priorytetowi, że istnieją brak pakietów do aktualizacji.
Apt pinowanie nie jest takie trudne, wystarczy trochę wkopać i poeksperymentować. Wszystkie czasowniki dla n=
etc można znaleźć, sprawdzając apt-cache policy
.
Dlatego doświadczeni administratorzy rant i rave o apt vs yum. Możesz zwięźle aktualizować usługi i utrzymywać je na bieżąco w czysty, deterministyczny i łatwy do utrzymania sposób.
Nigdy więcej kompilacji pakietów.
Zdecydowanie zalecamy przeczytanie całej strony podręcznika man i zapoznanie się z tą koncepcją oraz przeczytanie innych przewodników na temat trafnego przypinania przed kontynuowaniem tej propozycji. Powodzenia i miłej zabawy!
https://help.ubuntu.com/community/PinningHowto