Установка пакета из более новой версии Ubuntu
June 18, 2011 in SoftwareБывает такое, что версия определенной библиотеки, включенной в состав репозитариев Ubuntu, обладает определенным багом. А исправленная версия этой библиотеки уже не попадает в данную версию системы, и, следовательно, ее невозможно обновить традиционным способом. Иногда мейнтейнеры Ubuntu включают исправления из новых версий, но обычно это касается только критических ошибок.
Обновление Ubuntu до новой версии – процесс рискованный и, как правило, требует доводки руками. Не вариант. Да что там, даже apt-get upgrade
на сервере делать страшно (кроме того, что в данном случе это не поможет).
Можно пересобрать библиотеку. Можно даже установить ее с помощью checkinstall, чтоб соблюсти структурность.
Можно скачать deb-пакет вручную – это работает, но если у пакета есть неразрешенные зависимости, то придется скачивать и их.
Излагаю более простой способ, которым мне уже два раза пришлось пользоваться. Один раз – для установки исправленной версии Vim, другой – для починки nokogiri на этом самом блоге.
Предупреждаю! Это может отключить последующие обновления некоторых программ из исходной версии системы.
Способ заключается во временной подмене репозитариев.
-
Убеждаемся, что искомая версия искомого пакета действительно есть в определенной версии Ubuntu. Для этого существует сайт packages.ubuntu.com
-
Открываем
/etc/apt/sources.list
(я бы описал, как это делать вимом, но ты все равно откроешь его вnano
, или даже вgEdit
). -
Заменяем все вхождения текущей версии системы на новую: например, если установлен Ubuntu 10.04 Lucid, а нужен Ubuntu 11.04 Natty, заменяем
lucid
наnatty
. -
Сохраняем файл.
-
apt-get update
обновит каталог пакетов Aptitude новыми пакетами. -
apt-get install somepackage
– устанавливаем нужный пакет, причем в новой версии, вместе с его зависимостями. -
Важно! Откатываем изменения в
sources.list
. -
Важно! Снова делаем
apt-get update
, чтоб вернуться к изначальному каталогу пакетов.
Вот таким нехитрым способом избегается пересборка нужной библиотеки вручную.
Понравился пост? Купи мне кофе