Как понизить пакет через apt-get?

Как я могу понизить пакет до более старой версии через apt-get?

Другие инструменты также приемлемы, но apt-get предпочтительнее.

371
задан 30 June 2017 в 15:16

6 ответов

USE

apt-get install "pkg"="version"

OR

sudo aptitude install "pkg"="version"

Где "pkg" - имя пакета, а "version" - номер версии.

130
ответ дан 30 June 2017 в 15:16

Если вы имеют номер версии или целевой выпуск, apt-get поддерживает выбор конкретной версии или целевого выпуска. Более подробную информацию можно найти на странице руководства apt-get . К нему также можно получить доступ из терминала, набрав man apt-get

sudo apt-get install <имя-пакета> = <номер-версии-пакета> ИЛИ

sudo apt-get -t = <целевой выпуск> install <имя-пакета>

- это команда, которую нужно выполнить. Это можно использовать для понижения уровня пакета до определенной версии.

Обратите внимание, что при использовании целевого выпуска (параметр -t ) приоритет выпуска должен быть больше 1000, чтобы разрешить переход на более раннюю версию (см. man 5 apt_preferences ) в противном случае будет сохранена текущая установленная версия.

В комментариях было полезно указать, что

  • apt-cache showpkg перечисляет все доступные версии . (h / t Sparhawk )
  • apt-mark hold <имя-пакета> «удерживает» пакет в текущей версии, предотвращая автоматическое обновление. (ч / т Луис де Соуза )
335
ответ дан 30 June 2017 в 15:16

Для перехода на более раннюю версию вы должны ввести в своем терминале команду типа

 sudo apt-get install pkg_name=version

.

Вместо ] version поместите предыдущую версию, до которой вы хотите вернуться.

11
ответ дан 30 June 2017 в 15:16

На мой взгляд, вам следует сначала удалить или очистить пакет, например:

sudo apt-get remove <package>

или

sudo apt-get purge <package>

Затем вы можете загрузить версию, которую хотите установить, и сохранить ее в папке, например abc.deb в Загрузках. Откройте терминал, перейдите в папку с помощью команды cd и установите предыдущую версию с помощью dpkg :

sudo dpkg -i abc.deb

Или есть небольшая утилита под названием ppa-purge , если вы хотите перейти на более раннюю версию пакетов, обновленных через PPA.

См. Эту ветку: http://www.webupd8.org/2009/12/remove-ppa-repositories-via-command.html

10
ответ дан 30 June 2017 в 15:16

Этот вопрос старый, но Google привел меня сюда, и я не нашел простого решения, которое не требовало бы ручной передачи версии при понижении ряда пакетов до более ранней версии.

Итак. может быть, тот, кому это тоже нужно, найдет и мое решение полезным.

Есть инструмент под названием apt-show-versions , который показывает установленные версии. Чтобы установить его:

$ sudo apt install apt-show-versions

Убедитесь, что кеш APT обновлен:

$ sudo apt-show-versions -i

Вы можете легко понизить версию всех необходимых пакетов, настроив регулярное выражение, но вот оно:

$ sudo apt-get install $(apt-show-versions \
   | grep -P 'newer than version in archive' \
   | awk -F: '{print $1"/'$(lsb_release -cs)'"}')

У вас должен быть lsb-release , установленный для последнего.

3
ответ дан 30 June 2017 в 15:16

Если вы обновили программное обеспечение с помощью ppa, вы можете понизить его с помощью ppa-purge . Сначала вам нужно установить ppa-purge , используя этот код:

sudo apt-get install ppa-purge

Затем вы можете удалить ppa с помощью команды

sudo ppa-purge ppa: user / ppa-name

это автоматически понижает версию программного обеспечения до его исходной версии, которая поставляется с Ubuntu.

30
ответ дан 30 June 2017 в 15:16

Другие вопросы по тегам:

Похожие вопросы: