Установка пакета из более новой версии Ubuntu

June 18, 2011 aptitude Ubuntu

Бывает такое, что версия определенной библиотеки, включенной в состав репозитариев Ubuntu, обладает определенным багом. А исправленная версия этой библиотеки уже не попадает в данную версию системы, и, следовательно, ее невозможно обновить традиционным способом. Иногда мейнтейнеры Ubuntu включают исправления из новых версий, но обычно это касается только критических ошибок.

Обновление Ubuntu до новой версии – процесс рискованный и, как правило, требует доводки руками. Не вариант. Да что там, даже apt-get upgrade на сервере делать страшно (кроме того, что в данном случе это не поможет).

Можно пересобрать библиотеку. Можно даже установить ее с помощью checkinstall, чтоб соблюсти структурность.

Можно скачать deb-пакет вручную – это работает, но если у пакета есть неразрешенные зависимости, то придется скачивать и их.

Излагаю более простой способ, которым мне уже два раза пришлось пользоваться. Один раз – для установки исправленной версии Vim, другой – для починки nokogiri на этом самом блоге.

Предупреждаю! Это может отключить последующие обновления некоторых программ из исходной версии системы.

Способ заключается во временной подмене репозитариев.

  1. Убеждаемся, что искомая версия искомого пакета действительно есть в определенной версии Ubuntu. Для этого существует сайт packages.ubuntu.com

  2. Открываем /etc/apt/sources.list (я бы описал, как это делать вимом, но ты все равно откроешь его в nano, или даже в gEdit).

  3. Заменяем все вхождения текущей версии системы на новую: например, если установлен Ubuntu 10.04 Lucid, а нужен Ubuntu 11.04 Natty, заменяем lucid на natty.

  4. Сохраняем файл.

  5. apt-get update обновит каталог пакетов Aptitude новыми пакетами.

  6. apt-get install somepackage – устанавливаем нужный пакет, причем в новой версии, вместе с его зависимостями.

  7. Важно! Откатываем изменения в sources.list.

  8. Важно! Снова делаем apt-get update, чтоб вернуться к изначальному каталогу пакетов.

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

Buy Me a Coffee at ko-fi.com