Установите другую версию пакета

9

Я использую lucid сервер и установил tomcat. Установленная версия - 6.0.24-2ubuntu1.6.

Это версия, к которой я привязан? Можно ли установить более свежую версию? Тот, доступный от Мэверика, является 6.0.28.

Может быть, я могу добавить источник, чтобы обеспечить мою установку lucid с этой версией? В пользовательском интерфейсе менеджера пакетов я могу «принудительно установить версию». Можно ли принудительно установить версию из альтернативы командной строки?

Майкл Уайлс
источник

Ответы:

6

Короткий ответ:

Используя закрепление, вы можете выбрать, какие пакеты поступают от maverick, и автоматически получить их зависимости, и поддерживать их в актуальном состоянии через менеджер пакетов. https://help.ubuntu.com/community/PinningHowto

Длинный ответ скопирован с https://askubuntu.com/a/103338/42024 :

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

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

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

/ и т.д. / 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, убедитесь, что вы удалили и этот файл sources.list, и ваша система попытается обновить его до последней версии. Кроме того, если вы решите выполнить dist-upgrade позже, вам нужно будет удалить весь файл prefs, и, вероятно, было бы неплохо удалить другие источники. Список меньше, чем будет найдено обновление, благодаря более высокому приоритету, что есть нет пакетов для обновления.

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

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

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

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

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

Jayen
источник
Это дало мне более полный ответ: askubuntu.com/questions/103320/…
Франсуа Босолей
2

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

Вы можете попытаться вручную загрузить Maverick Deb с панели запуска и установить его. Иногда это работает, но иногда это зависит от более новых версий различных библиотек и поэтому не будет устанавливаться. Другой вариант - загрузить последний исходный код и скомпилировать его самостоятельно.

psusi
источник
спасибо, я постараюсь получить его от maverick ... это вполне может сработать, поскольку на самом деле у него нет никаких зависимостей
Майкл Уайлс
1

У lucid есть только 6.0.24, и это вряд ли изменится. Редко сообщать о программном обеспечении, таком как Tomcat, к более старому выпуску.

Но все же вы можете запустить последнюю версию tomcat, используя двоичные пакеты tomcat. Я использую это.

aneeshep
источник