web-dev-qa-db-fra.com

Installer les paquets de la nouvelle version sans construction (apt pinning)

J'ai besoin de ces paquets avec la dernière version en amont rétroportée pour 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

J'ai essayé de les construire à partir du source avec update mais cela a échoué. Je ne suis pas un expert en conditionnement et il y a tellement de tutoriels et de recettes sur le marché.

Connaissez-vous un bon tutoriel à jour sur la rétroportation des paquets Ubuntu?

Comment obtenir des paquets d'autres versions sans avoir à les construire moi-même?

34
Janning

Vous feriez bien mieux d’explorer l’épinglage, voir man apt_preferences.

Supposons que vous êtes sur Oneiric et que vous souhaitez obtenir ces packages auprès de Precise.

Si vous lisez le man, vous verrez que je copie/colle les sections pertinentes et que je viens de modifier le nom de la version.

/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

Ensuite, j'ai copié mon /etc/apt/sources.list dans /etc/apt/sources.list.d/precise.list et remplacé toutes les occurrences de oneiric par precise. Puis couru apt-get update et enfin 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) 

Pour une raison quelconque, pcscd et opensc ne se sont pas installés, probablement parce qu'ils ne l'étaient pas au début, il n'y avait donc rien à mettre à niveau, rien de grave, je peux installer exactement cette version en utilisant la référence précise comme celle-ci.

apt-get install opensc pcscd -t precise

Prenez note de l'utilisation de -t, packagename/precise fonctionnerait également.

et il y a les paquets que vous voulez, de la dernière version, et seulement ces paquets , ils seront également mis à jour automatiquement. Si vous n'en voulez plus, supprimez simplement les entrées de /etc/apt/preferences et la prochaine fois que vous exécuterez apt-get upgrade, elles seront supprimées. Si vous supprimez l'intégralité du fichier prefs, assurez-vous de supprimer ce fichier source precise.list, ainsi que votre système tentera de mettre à jour le dernier ensemble de packages. De plus, si vous décidez de procéder à une mise à niveau ultérieure, vous devrez supprimer le fichier de préférences dans son intégralité. Ce serait probablement une bonne idée de supprimer les autres sources.list moins la mise à niveau trouvera, grâce à la priorité plus élevée, qu'il y a pas de paquets à mettre à jour.

Bien épingler n'est pas si difficile, vous avez juste besoin de creuser un peu et d'expérimenter. Tous les verbes pour n= etc sont trouvés en examinant apt-cache policy.

C'est pourquoi les admins chevronnés s'emparent de propos d'apt vs yum. Vous pouvez mettre à jour vos services de manière concise et les maintenir à jour de manière propre, déterministe et maintenable.

Pas plus de paquets de compilation non plus.

Je vous suggère fortement de lire l'intégralité de la page de manuel et de vous familiariser avec le concept, ainsi que de lire d'autres guides sur l'ajout d'orthographe avant de poursuivre avec cette proposition. Bonne chance et amusez-vous bien!

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

36
ppetraki