Встановіть іншу версію пакета


9

Я запускаю серверний сервер і встановив tomcat. Встановлена ​​ним версія - 6.0.24-2ubuntu1.6.

Це версія, до якої я прив’язаний? Чи можливо встановити більш нову версію? Доступний у Maverick - це 6.0.28.

Можливо, я можу додати джерело, щоб забезпечити свою чітку установку з цією версією? У користувальницькому інтерфейсі менеджера пакунків я можу "примусити версію". Чи можливо також застосувати версію з альтернативного командного рядка?

Відповіді:


6

Коротка відповідь:

За допомогою закріплення ви можете вибрати, які пакунки походять від Maverick, і автоматично отримати їх залежності та постійно оновлювати їх через менеджер пакунків. https://help.ubuntu.com/community/PinningHowto

Довга відповідь скопійована з https://askubuntu.com/a/103338/42024 :

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

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

Якщо ви прочитаєте людину, то побачите, що я копіюю / вставляю відповідні розділи та просто змінюю ім’я випуску

/ etc / apt / налаштування

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.

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

Чомусь pcscd і opensc не встановились, мабуть, тому, що він не був встановлений для початку, тому не було нічого, щоб оновити, нічого великого, я можу встановити саме таку версію, використовуючи точну як таку посилання.

$ apt-get install opensc pcscd -t precise

Взяти до відома використання -t , packagename/preciseтакож буде працювати.

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

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

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

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

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

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


Це дало більш повну відповідь для мене: askubuntu.com/questions/103320/…
Франсуа Босолей

2

Ви можете примусити версію в командному рядку за допомогою apt-get install somepackage = someversion, але ви не можете запитувати версію, яка не знаходиться в сховищах, про яку знає apt, що зазвичай означає реліз, на якому ви знаходитесь.

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


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

1

lucid має лише 6.0.24, і це навряд чи зміниться. Рідко можна повернути таке програмне забезпечення, як tomcat, на старіший випуск.

Але все ж ви можете запустити найновіший tomcat, скориставшись бінарними пакунками tomcat. Я цим користуюся.

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