Установить пакеты из более новой версии без сборки (подходящее закрепление)

34

Мне нужны эти пакеты с последней версией обратного потока, перенесенной для 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

Я пытался собрать их из источника с обновлением, но это не удалось. Я не являюсь экспертом в области упаковки, и существует множество учебных пособий и рецептов.

Знаете ли вы хороший и актуальный учебник по бэкпорту пакетов Ubuntu?

Как получить пакеты из других выпусков без необходимости их сборки?

Janning
источник

Ответы:

36

Тебе было бы намного лучше исследовать подходящее пиннинг, понимаешь man apt_preferences.

Давайте предположим, что вы находитесь на Oneiric и хотите получить эти пакеты от Precise.

Если вы прочитаете, manто увидите, что я скопировал / вставил соответствующие разделы и просто изменил название релиза.

/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

Затем я скопировал /etc/apt/sources.listк /etc/apt/sources.list.d/precise.listи заменить все вхождения Oneiric с точным. Потом побежал apt-get updateи наконец 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) 

По какой-то причине pcscd и opensc не были установлены, возможно потому, что они не были установлены с самого начала, поэтому не было ничего для обновления, нет ничего сложного, я могу установить именно эту версию, используя точную ссылку.

apt-get install opensc pcscd -t precise

Принять к сведению использование -t, packagename/preciseтакже будет работать.

и есть пакеты, которые вы хотите, из последнего выпуска, и только те пакеты , они также будут обновляться автоматически. Если они вам больше не нужны, просто удалите записи, /etc/apt/preferencesи при следующем запуске apt-get upgradeони будут удалены. Если вы удалите весь файл prefs, обязательно удалите этот precise.listисходный файл, и ваша система попытается обновить его до последней версии. Кроме того, если вы решите выполнить dist-upgrade позже, вам нужно будет удалить весь файл prefs, и, вероятно, было бы неплохо удалить другие источники. Список, который меньше будет найдено для обновления, благодаря более высокому приоритету, означает, что нет пакетов для обновления.

Удачное закрепление не так сложно, вам просто нужно немного покопаться и поэкспериментировать. Все глаголы для и n=т. Д. Найдены путем изучения apt-cache policy.

Вот почему опытные админы разглагольствуют и бредят по поводу apt vs yum. Вы можете кратко обновлять сервисы и поддерживать их в актуальном состоянии.

Больше не нужно компилировать пакеты.

Я настоятельно рекомендую вам прочесть всю справочную страницу, освоиться с концепцией и прочитать другие руководства по точному закреплению, прежде чем продолжить это предложение. Удачи и приятного времяпровождения!

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

ppetraki
источник
это отличный ответ, но не для меня. Я уже знаю закрепление, но некоторые пакеты не являются последней версией в точности, а некоторые имеют ошибки (opensc). так что я действительно хочу иметь последний источник.
Январь
Тогда вы действительно находитесь в режиме разработки, см. Руководство UDD. См. Developer.ubuntu.com/packaging/html/getting-set-up.html . После того, как вы собрали пакеты, вы можете отправить патчи и в конечном итоге отказаться от ваших локально собранных. Использование PPA вроде помогает, но вам действительно нужно сначала разобраться с основами упаковки, или вы просто будете ждать 10 минут, чтобы узнать, что сделали ошибку сборки, удалите дебат из PPA, повторите промывку. Вы все еще можете использовать предыдущий совместный ответ с новым PPA, чтобы гарантировать, что эти пакеты получат приоритет над базовой линией, пока они не найдут свой путь в -updates.
Ппетраки
Руководство по
сборке
С этим методом, как вы предпочитаете обе версии amd64 и i386 одного и того же пакета?
Qed