Как я могу понизить пакет до более старой версии через apt-get
?
Другие инструменты также приемлемы, но apt-get
предпочтительнее.
USE
apt-get install "pkg"="version"
OR
sudo aptitude install "pkg"="version"
Где "pkg" - имя пакета, а "version" - номер версии.
Если вы имеют номер версии или целевой выпуск, 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 <имя-пакета>
«удерживает» пакет в текущей версии, предотвращая автоматическое обновление. (ч / т Луис де Соуза ) Для перехода на более раннюю версию вы должны ввести в своем терминале команду типа
sudo apt-get install pkg_name=version
.
Вместо ] version
поместите предыдущую версию, до которой вы хотите вернуться.
На мой взгляд, вам следует сначала удалить или очистить пакет, например:
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
Этот вопрос старый, но 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
, установленный для последнего.
Если вы обновили программное обеспечение с помощью ppa, вы можете понизить его с помощью ppa-purge
. Сначала вам нужно установить ppa-purge
, используя этот код:
sudo apt-get install ppa-purge
Затем вы можете удалить ppa с помощью команды
sudo ppa-purge ppa: user / ppa-name
это автоматически понижает версию программного обеспечения до его исходной версии, которая поставляется с Ubuntu.