Встановіть пакети з новішої версії без створення (влучне закріплення)


34

Мені потрібні ці пакети з останньою версією upstream, підтримуваною для 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?

Як отримати пакунки з інших випусків, не будучи їх самостійно створювати?

Відповіді:


36

Вам було б набагато краще вивчити вдале закріплення man apt_preferences.

Припустимо, ви перебуваєте на Oneiric, і ви хочете отримати ці пакунки від Precision.

Якщо ви прочитаєте, 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джерельний файл, а наша система спробує оновити до останнього набору пакетів. Крім того, якщо ви вирішите пізніше оновити оновлення, вам потрібно буде видалити весь файл prefs, і, ймовірно, було б добре видалити інші джерела. відсутні пакети для оновлення.

Швидке закріплення не так вже й складно, потрібно просто трохи покопати і поекспериментувати. Усі дієслова для n=тощо знаходять, вивчаючи apt-cache policy.

Ось чому досвідчені адміністратори гніваються і вболівають за сприятливість проти. Ви можете коротко оновлювати послуги та постійно оновлювати їх у чистому, детермінованому та ремонтопридатному вигляді.

Немає й більше компілюючих пакетів.

Я настійно пропоную вам прочитати всю сторінку man і отримати задоволення від концепції та прочитати інші посібники щодо влучного закріплення, перш ніж продовжувати цю пропозицію. Хай щастить!

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


це чудова відповідь, але не для мене. Я вже знаю закріплення, але деякі пакети не є останньою версією в точній версії, а в деяких є помилки (opensc). тому я дуже хочу мати останнє джерело.
Джанінг

Тоді ви справді перебуваєте в режимі розробки, дивіться посібник з UDD. Див. Розробник.ubuntu.com/ packaging/html/ getting- set- up.html . Після створення пакунків ви можете надіслати патчі та врешті-решт уникнути локальних вбудованих. Використання свого роду PPA допомагає, але вам потрібно спочатку знизити основи упаковки, або ви просто будете чекати 10 хвилин, щоб дізнатися, що ви зробили помилку в побудові, видаліть дебют з PPA, повторіть промивання. Ви все ще можете скористатися попередньою кооперативою відповіді з новим PPA, щоб гарантувати, що ці пакети отримують пріоритет над базовою лінією, поки вони не знайдуть шлях до оновлення.
ппетракі

Посібник з упаковки Ubuntu: developer.ubuntu.com/packaging/html/index.html
ppetraki

Як ви користуєтесь цим методом, як ви віддаєте перевагу і amd64, і i386 версіям одного пакету?
qed
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.