Instalar una versión diferente de un paquete

9

Estoy ejecutando un servidor lúcido y he instalado tomcat. La versión que instaló es 6.0.24-2ubuntu1.6.

¿Es esta la versión a la que estoy atado? ¿Es posible instalar una versión más reciente? El disponible de Maverick es 6.0.28.

¿Quizás pueda agregar una fuente para proporcionar mi instalación lúcida con esta versión? En la interfaz de usuario del administrador de paquetes puedo "forzar la versión". ¿Es posible forzar la versión desde la línea de comando alternativa también?

Michael Wiles
fuente

Respuestas:

6

Respuesta corta:

Mediante la fijación, puede seleccionar qué paquetes provienen de Maverick, y obtener automáticamente sus dependencias, y mantenerlos actualizados a través de su administrador de paquetes. https://help.ubuntu.com/community/PinningHowto

Respuesta larga copiada de https://askubuntu.com/a/103338/42024 :

Sería mucho mejor explorar la fijación adecuada, ver man apt_preferences.

Así que supongamos que está en Oneiric y desea obtener esos paquetes de Precise.

Si lees al hombre, verás que copié / pegué las secciones relevantes y acabo de modificar el nombre de la versión

/ etc / apt / preferencias

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

Entonces, he copiado mi /etc/apt/sources.lista /etc/apt/sources.list.d/precise.list, y sustituye todas las apariciones de onírico con precisión. Luego corrió apt-get updatey finalmente 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) 

Por alguna razón, pcscd y opensc no se instalaron, probablemente porque no se instaló para comenzar, así que no había nada que actualizar, no es gran cosa, puedo instalar exactamente esa versión usando la referencia precisa como esta.

$ apt-get install opensc pcscd -t precise

Tome nota del uso de -t , packagename/precisetambién funcionaría.

y están los paquetes que desea, de la última versión, y solo esos paquetes , también se actualizarán automáticamente. Si ya no los quiere, simplemente elimine las entradas /etc/apt/preferencesy, la próxima vez que ejecute apt-get upgrade , se eliminarán. Si elimina todo el archivo de preferencias, asegúrese de eliminar ese archivo de fuentes preciso.list y nuestro sistema intentará actualizar al último conjunto de paquetes. Además, si decide realizar una actualización posterior más tarde, deberá eliminar todo el archivo de preferencias y probablemente sea una buena idea eliminar las otras fuentes. No hay paquetes para actualizar.

La fijación de aptos no es tan difícil, solo necesita profundizar un poco y experimentar. Todos los verbos para n=etc se encuentran examinando apt-cache policy.

Esta es la razón por la cual los administradores experimentados deliran y deliran sobre apt vs yum. Puede actualizar de manera concisa los servicios y mantenerlos actualizados de manera limpia, determinista y fácil de mantener.

No más paquetes de compilación tampoco.

Le sugiero encarecidamente que lea toda la página del manual y se sienta cómodo con el concepto y lea otras guías sobre la fijación adecuada antes de continuar con esta propuesta. ¡Buena suerte y diviertete!

https://help.ubuntu.com/community/PinningHowto

Jayen
fuente
Esto me proporcionó una respuesta más completa: askubuntu.com/questions/103320/…
François Beausoleil
2

Puede forzar una versión en la línea de comandos con apt-get install somepackage = someversion, pero no puede solicitar una versión que no esté en los repositorios que conoce apt, lo que generalmente significa la versión en la que se encuentra.

Puede intentar descargar manualmente el deb Maverick desde la plataforma de lanzamiento e instalarlo. A veces esto funciona, pero a veces depende de las versiones más recientes de varias bibliotecas y, por lo tanto, no se instalará. La otra opción es descargar la última fuente y compilarla usted mismo.

psusi
fuente
Gracias, voy a tratar de conseguir que Maverick ... bien podría trabajo, ya que en realidad no tiene ninguna dependencia
Michael Wiles
1

lucid solo tiene 6.0.24 disponible y es poco probable que cambie. Es raro hacer backport de software como tomcat a una versión anterior.

Pero aún puede ejecutar el último tomcat utilizando los paquetes binarios de tomcat. Estoy usando eso

aneeshep
fuente