Sarebbe molto meglio esplorare l'esplorazione apt, vedi man apt_preferences
.
Supponiamo che tu sia su Oneiric e desideri ottenere quei pacchetti da Precise.
Se leggi il messaggio man
, vedrai che ho copiato / incollato le sezioni pertinenti e ho appena modificato il nome della versione
/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
Poi, ho copiato il mio /etc/apt/sources.list
a /etc/apt/sources.list.d/precise.list
e sostituito tutte le occorrenze di onirico con precisione. Quindi corse apt-get update
e infine 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)
Per qualche ragione, pccd e opensc non sono stati installati, probabilmente perché non è stato installato per cominciare, quindi non c'era nulla da aggiornare, nessun grosso problema, posso installare esattamente quella versione usando preciso come riferimento come questo.
apt-get install opensc pcscd -t precise
Prendi nota dell'uso di -t
, packagename/precise
funzionerebbe anche.
e ci sono i pacchetti che vuoi, dall'ultima versione, e solo quei pacchetti , verranno anch'essi aggiornati automaticamente. Se non li desideri più, elimina semplicemente le voci /etc/apt/preferences
e alla successiva esecuzione apt-get upgrade
verranno rimosse. Se rimuovi l'intero file prefs assicurati di eliminare anche quel precise.list
file sorgente, il nostro sistema proverà ad aggiornare all'ultima serie di pacchetti. Inoltre, se decidi di eseguire l'aggiornamento dist in seguito, dovrai rimuovere l'intero file prefs e sarebbe probabilmente una buona idea rimuovere le altre fonti. Elenca meno l'aggiornamento troverà, grazie alla priorità più alta, che ci sono nessun pacchetto da aggiornare.
Appuntare correttamente non è così difficile, devi solo scavare un po 'e sperimentare. Tutti i verbi per n=
ecc. Si trovano esaminando apt-cache policy
.
Questo è il motivo per cui gli amministratori esperti si lamentano di apt vs yum. È possibile aggiornare in modo conciso i servizi e mantenerli aggiornati in modo pulito, deterministico e mantenibile.
Niente più pacchetti di compilazione neanche.
Ti consiglio caldamente di leggere l'intera pagina man e di familiarizzare con il concetto e di leggere altre guide sull'appuntamento appropriato prima di continuare con questa proposta. Buona fortuna e buon divertimento!
https://help.ubuntu.com/community/PinningHowto