Instalar paquetes de la versión más reciente sin compilar (fijación adecuada)

34

Necesito estos paquetes con la última versión ascendente compatible con ubuntu / natty

  • libccid_1.4.5-0ubuntu1_amd64.deb
  • libpcsclite1_1.8.1-0ubuntu1_amd64.deb
  • libpcsclite-dev_1.8.1-0ubuntu1_amd64.deb
  • libusb-1.0-0_1.0.9-0ubuntu1_amd64.deb
  • libusb-1.0-0-dev_1.0.9-0ubuntu1_amd64.deb
  • opensc_0.12.2-1ubuntu1ppa1 ~ natty1_amd64.deb
  • pcscd_1.8.1-0ubuntu1_amd64.deb pcsc-tools_1.4.18-0ubuntu1_amd64.deb

Traté de construirlos desde la fuente con la actualización, pero falló. No soy un experto en empaques y hay tantos tutoriales y recetas por ahí.

¿Conoces un tutorial bueno y actualizado para respaldar paquetes de Ubuntu?

¿Cómo obtengo paquetes de otras versiones sin tener que construirlos yo mismo?

Janning
fuente

Respuestas:

36

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

Supongamos que está en Oneiric y desea obtener esos paquetes de Precise.

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

/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

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.

$ 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) 

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

Tomar 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 upgradese eliminarán. Si elimina todo el archivo de preferencias, asegúrese de eliminar ese precise.listarchivo de fuentes y nuestro sistema intentará actualizar al último conjunto de paquetes. Además, si decide realizar una actualización posterior más adelante, deberá eliminar todo el archivo de preferencias y probablemente sería 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 critican 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 de manual y se sienta cómodo con el concepto y lea otras guías sobre cómo fijar anuncios antes de continuar con esta propuesta. ¡Buena suerte y diviertete!

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

ppetraki
fuente
Esta es una gran respuesta, pero no para mí. Ya sé fijar pero algunos paquetes no son la última versión precisa y algunos tienen errores (opensc). así que realmente quiero tener la última fuente.
Janning
Entonces realmente está en modo de desarrollo, consulte la guía UDD. Ver developer.ubuntu.com/packaging/html/getting-set-up.html . Una vez que tenga los paquetes compilados, puede enviar los parches y, finalmente, eliminar los compilados localmente. El uso de un PPA ayuda un poco, pero realmente necesita obtener los conceptos básicos del empaque primero o simplemente esperará 10 minutos para descubrir que ha cometido un error de compilación, elimine el deb del PPA, repita el enjuague. Aún puede usar la respuesta anterior cooperativa con un nuevo PPA para garantizar que esos paquetes tengan prioridad sobre la línea de base hasta que lleguen a las actualizaciones.
ppetraki
La guía de empaquetado de Ubuntu: developer.ubuntu.com/packaging/html/index.html
ppetraki
Con este método, ¿cómo prefiere las versiones amd64 e i386 del mismo paquete?
qed