четверг, 31 октября 2013 г.

Как установить пакет другой версии

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




APT всегда ставит более свежую версию пакета из доступных. И если у вас возникли проблемы при работе с новыми программами, установленными из стороннего репозитория, то в таких случаях хорошо спасает утилита ppa-purge, которая откатит все версии пакетов из стороннего репозитория на родные из официального репозитория.
Но бывает, когда нужно установить пакет или программу из стороннего репозитория ниже версии, чем в родном репозитории или у вас подключен репозиторий, в котором несколько программ, но вы хотите откатить только определенную программу. Как же быть?

Рассмотрим вариант с понижением версии Gimp.
Установлена версия 2.9.1.83 из стороннего репозитория, но  я хочу поставить версию  2.8.6.0, а в родном репозитории только версия  2.8.6.1, которая, к примеру, тоже плохо работает или не устраивает меня и т.д.
Для начала найдем и подключим репозиторий с нужной версией программы, а также убедимся, что версия программы доступна для вашей ОС. Для этого идем на сервис Launchpad.net и ищем доступные версии программы.
Подключаем репозиторий:
sudo add-apt-repository ppa:noobslab/ppa-gimp
sudo apt-get update

Теперь смотрим список доступных версий программ:
apt-cache policy gimp


Ага, нужная версия присутствует, значит движемся дальше.
Удалим пакет, версию которого мы хотим понизить, чтобы в будущем не мучиться с зависимостями и другими проблемами. Зависимости тоже удаляем:
sudo apt-get purge gimp
sudo apt-get autoremove

Пакеты удалены, приступим к установке нужной версии программы:
sudo apt-get install gimp=2.8.6~saucy~NoobsLab.com

А вот и подводные камни! Я не указал версии для пакетов зависимостей libgimp2.0 и gimp-data. Как я уже писал выше, APT всегда ставит более свежие версии пакетов, потому так и получилось.
Указываем вручную эти пакеты:
sudo apt-get install libgimp2.0=2.8.6~saucy~NoobsLab.com gimp-data=2.8.6~saucy~NoobsLab.com

Теперь пробуем заново ставить  нужный нам пакет:
sudo apt-get install gimp=2.8.6~saucy~NoobsLab.com

Все получилось! И мы с вами установили нужную версию программы.

Данный способ рекомендуется использовать только в крайних случаях и старайтесь ставить пакеты с родного репозитория Kubuntu. Но всякое бывает в жизни, как говорится: "Кто предупрежден, тот вооружен!"

2 комментария:

  1. Здорово, спасибо! Но как при обновлении пакетов не допустить переустановку его на ненужную новую версию?

    ОтветитьУдалить