Installa una versione diversa di un pacchetto


9

Sto usando un server lucido e ho installato Tomcat. La versione installata è 6.0.24-2ubuntu1.6.

È questa la versione a cui sono legato? È possibile installare una versione più recente? Quello disponibile da Maverick è 6.0.28.

Forse posso aggiungere una fonte per fornire la mia installazione lucida con questa versione? Nell'interfaccia utente del gestore pacchetti posso "forzare la versione". È possibile forzare anche la versione da un'alternativa alla riga di comando?

Risposte:


6

Risposta breve:

Usando il pinning, puoi selezionare quali pacchetti provengono da Maverick, ottenere automaticamente le loro dipendenze e tenerli aggiornati tramite il tuo gestore pacchetti. https://help.ubuntu.com/community/PinningHowto

Risposta lunga copiata da https://askubuntu.com/a/103338/42024 :

Sarebbe molto meglio esplorare l'esplorazione di apt, vedi man apt_preferences.

Quindi supponiamo che tu sia su Oneiric e desideri ottenere quei pacchetti da Precise.

Se leggi l'uomo 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.lista /etc/apt/sources.list.d/precise.liste sostituito tutte le occorrenze di onirico con precisione. Quindi corse apt-get updatee infine apt-get upgrade.

# 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
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/precisefunzionerebbe anche.

e ci sono i pacchetti desiderati, dall'ultima versione, e solo quei pacchetti , anch'essi verranno aggiornati automaticamente. Se non li desideri più, elimina semplicemente le voci /etc/apt/preferencese alla successiva esecuzione apt-get upgrade verranno rimosse. Se rimuovi l'intero file prefs assicurati di eliminare quel file di fonti precise.list e 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.

Neanche più pacchetti di compilazione.

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


Ciò ha fornito una risposta più completa per me: askubuntu.com/questions/103320/…
François Beausoleil,

2

Puoi forzare una versione dalla riga di comando con apt-get install somepackage = someversion, ma non puoi chiedere una versione che non è nei repository di cui apt è a conoscenza, il che di solito significa la versione in cui ti trovi.

Puoi provare a scaricare manualmente il deb maverick dal launchpad e installarlo. A volte funziona, ma a volte dipende dalle versioni più recenti di varie librerie e quindi non si installa. L'altra opzione è scaricare l'ultima fonte e compilarla da soli.


grazie, proverò a prenderlo dal maverick ... potrebbe benissimo funzionare dato che non ha davvero dipendenze
Michael Wiles,

1

lucid ha solo 6.0.24 disponibile e che è improbabile che cambi. È raro eseguire il backport di software come Tomcat su una versione precedente.

Tuttavia, è possibile eseguire l'ultimo tomcat utilizzando i pacchetti binari tomcat. Lo sto usando.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.