Linux понизить версию пакета

Обновлено: 04.07.2024

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

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

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

sudo apt-get install <package-name>=<package-version-number> ИЛИ ЖЕ

sudo apt-get -t=<target release> install <package-name>

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

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

  • apt-cache showpkg <package-name> перечисляет все доступные версии. (ч / т Sparhawk )
  • apt-mark hold <package-name> «держит» пакет в текущей версии, предотвращая автоматическое обновление. (ч / т Луис де Соуза )
Также используйте apt-cache showpkg <package-name> список доступных версий. И после этого вы также можете запустить: apt-mark hold <package-name> чтобы избежать автоматических обновлений. Я обнаружил, что aptitude понизил зависимости лучше, чем apt-get . apt-cache policy <package-name> показывает только установленные и доступные версии А что, если showpkg не показывает интересующую вас версию?

ИСПОЛЬЗОВАНИЕ

apt-get install «pkg»=«version»

ИЛИ ЖЕ

sudo aptitude install «pkg»=«version»

Где «pkg» - это название пакета, а «version» - номер версии.

когда я apt-get install pkg=version набираю apt-get, предложения удаляют почти половину всех установленных пакетов, что, конечно, не то, что я хочу сделать Как указано в (иначе идентичном) ответе с большим количеством голосов, это, кажется, один из ключевых случаев, когда работа aptitude намного лучше, чем apt-get . В моем случае apt-get категорически отклонил запрос на понижение версии, тогда как aptitude указал, что существуют другие pkgs, которые зависят от более новой версии (и, следовательно, требуют понижения в то же время).

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

sudo apt-get установить ppa-purge

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

sudo ppa-purge ppa: пользователь / имя ppa

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

Это решение не имеет себе равных в случае, если пакет имеет зависимости, которые также должны быть понижены. Спасибо! Да, это решение, которое лучше всего подействовало на меня для понижения рабочего стола KDE / Plasma с kubuntu-ppa / backports - одна вещь, которую я заметил, это то, что в файле .list PPA не должно быть закомментировано deb, поэтому ppa-purge может ссылаться на все файлы что нужно убрать для чистки. Мне потребовалась минута, чтобы понять, почему сначала это не сработало. Надеюсь, что это помогает другим людям!

Чтобы понизить рейтинг, вы должны выполнить команду вроде

в вашем терминале.

Вместо того, чтобы version поставить предыдущую версию вы хотите понизить до.

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

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

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

Удаление пакета может удалить много зависимых, что приведет к непригодности системы. ppapurge звучит интересно, хотя. Можете ли вы объяснить, почему вы считаете, что мы должны сначала удалить пакеты (как отдельный шаг) перед установкой старых версий? @temoto эта ссылка для понижения версий unstable -> testing -> stable чтобы не понижать версии отдельных пакетов.

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

Так что, возможно, кому-то, кому это тоже нужно, тоже пригодится мое решение.

Существует инструмент под названием, apt-show-versions который показывает установленные версии.

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

Вместо этого jessie вы можете использовать buster / xenial / etc в зависимости от ваших потребностей.

Favorite

Добавить в избранное

Главное меню » RHEL » Как откатить или понизить версию установленных пакетов в Linux (RHEL/CentOS)

Как откатить или понизить версию установленных пакетов в Linux (RHEL/CentOS)

П редположим, мы должны обновить существующий пакет PHP до его более высокой версии. Если что-то пойдет не так, какой вариант сейчас? Итак, у нас есть опция в Linux, где мы можем откатить пакет до его предыдущей версии. Давайте посмотрим, как выполнить откат и понижение версии обновления или пакета с помощью команды yum history undo в Linux.

В демонстрации мы установим версию PHP 5.4, которая является версией по умолчанию в репозитории Linux, и позже мы обновим ее до более поздней версии.

Давайте начнем установку:

Мы установим PHP для нашего эксперимента и запустим следующие команды, чтобы установить PHP 5.4.

Вы можете проверить версию.

Обновите PHP 5.4 до PHP 7.3:

Перед установкой нам нужно будет добавить репозиторий Remi для PHP 7.3 в Linux с помощью следующих команд.

вы увидите репозиторий Remi, установленный внутри этого каталога /etc/yum.repos.d

Теперь вам нужно включить репозиторий PHP7.3 и попытаться установить с помощью тех же команд. Как только это будет сделано, проверьте установленную версию. Это обновит предыдущую версию.

Предположим, что ваше приложение перестало работать, потому что оно совместимо с версией 7.3 и сейчас не работает. В этом случае мы откатим предыдущую версию 5.4.

ОТКАТ PHP 7.3 ДО PHP 5.4:

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

Когда вы должны проверить, что мы установили. Таким образом, вы можете видеть, что есть идентификатор. мы можем использовать этот идентификатор, чтобы проверить, что мы установили. мы установили PHP.

Если вам нужно проверить историю ID 6, мы можем использовать следующие команды.

Как вы можете видеть, предыдущая версия была обновлена до новой. Теперь мы должны понизить или откатить его до более низкой версии.

Вы можете версию, используя любой список:

Мы будем использовать две разные команды для понижения версии пакета, обе работают одинаково.

1. используя команды понижения:

2. используя команды истории yum. Синтаксис yum история отмена ID

Как мы видим, мы успешно понизили предыдущую версию. Приведенная выше команда удалит текущую версию и установит предыдущую.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Диспетчер обновлений сохраняет пакеты в последней версии, но иногда новая версия пакета может работать не так, как ожидается, или работать неправильно. Как понизить версию установленного пакета и заблокировать его в определенной версии, чтобы предотвратить его обновление? Как я могу сделать это с помощью графического интерфейса или терминала?

2 ответа

В GUI - с помощью Synaptic

Упрощенный интерфейс Ubuntu Software Center не дает возможности понизить версию пакетов. Synaptic, более продвинутый графический интерфейс менеджера пакетов, который Ubuntu использовал для включения, предлагает эту опцию. Чтобы графически понизить версию пакета, сначала установите приложение Synaptic:

Ubuntu Software Center

После этого откройте диспетчер пакетов Synaptic из Dash:

synaptis

Найдите пакет, для которого вы хотите установить более старую версию в Synaptic, выберите его и используйте опцию Пакет > Принудительная версия:

Принудительная версия

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

Выберите версию

Применять

После понижения версии пакета выберите его и используйте параметр " Пакет" > " Заблокировать версию". Если вы этого не сделаете, Ubuntu попытается обновить установленный пакет при следующем обновлении установленных пакетов:

Заблокировать версию

В Терминале - используя apt-get

Вы можете установить конкретную версию пакета с apt-get в Терминале. Сначала определите доступные версии, которые вы можете установить, с помощью следующей команды (используйте для packagename название программы, которую вы хотите понизить):

Затем запустите команду apt-get install и укажите версию пакета, который вы хотите установить (используйте для версии номер версии, ранее определенный для программы, которую вы хотите понизить):

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

Пакет для понижения версии в Linux

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

Если это ваш случай, в этом урок мы покажем вам, как вы можете перейти на более раннюю версию любого пакета, то есть откатить обновление и получить предыдущую версию, установленную в вашей системе. Таким образом, у вас не будет проблем, если новые версии вас подведут. Ну что ж, приступим!

Поскольку не существует общего метода для всех дистрибутивов, я покажу, как это можно сделать с помощью самые популярные менеджеры пакетов. Кстати, если вы используете другие методы, такие как YaST, Synaptic и т. Д., Процедуры также возможны, но графически и намного более интуитивно понятны. Здесь я объясню методы через консоль, которые вызывают наибольшую путаницу .

apt-get: Debian / Ubuntu и производные

Для всех дистрибутивы на основе пакетов DEB а с помощью диспетчера пакетов apt-get вы можете легко перейти с более современной версии на более старую. Например, мы возьмем пакет firefox в качестве эталона, представив, что мы хотим вернуться от текущей версии к предыдущей. В этом случае вы можете выполнить следующие команды:

  • Вы можете получить информация о пакете firefox (или что-то еще, вам просто нужно изменить имя на соответствующее в вашем случае), например, предыдущие установленные версии и т. д., вы можете использовать следующую команду:
  • Как только вы хорошо знаете предыдущая версия, которую вы хотите установить, вы можете использовать следующую команду для установки нужного пакета. В нашем случае в предыдущей команде мы получили пакет с именем firefox = 57.3-build1-0ubuntu1, который мы хотим установить:
  • После этого у вас уже будет установлена ​​предыдущая версия этой программы. Вы знаете, что если нет указать версию Используя APT, вы устанавливаете последнюю версию, доступную в репозитории этого пакета. В данном случае мы указали конкретную версию.

Помните, что возможно, что сосуществуют два разных пакета версий на GNU / Linux без проблем. Итак, если вы хотите иметь две разные версии одного и того же пакета, вы можете это сделать .

pacman: Arch Linux и производные

Если у вас есть Arch Linux, то вам придется иметь дело с pacman как с менеджером пакетов. Этот инструмент также позволяет вам вернуться к предыдущей версии, если хотите. Способ сделать это немного другой, но такой же простой:

  • Искать ев кеше пакета доступные версии, вы можете проверить запись. Чтобы отфильтровать результаты только для пакетов firefox в нашем случае (но вы уже знаете, что можете заменить имя пакета на то, которое хотите . ), вы можете использовать:
  • Теперь, когда вы знаете, какая версия вам нужна, вы можете использовать следующую команду установить это:

zypper: SUSE / openSUSE и производные

В мире SUSE, вы можете использовать менеджер пакетов zypper. Это также простой способ получить пакет в предыдущей версии. В нашем случае с Mozilla Firefox это будет примерно так:

  • Первым делом нужно обратиться к кешу пакетов аналогично тому, как мы это делали для Arch, с помощью следующей команды, чтобы узнать предыдущие версии пакета в наличии:
  • Как только предыдущая версия будет найдена, вы сможете установить эту версию используя zypper следующим образом:

dnf: Red Hat / CentOS / Fedora и производные

Наконец, в дистрибутивах на основе Fedora yum или dnf будут использоваться. Чтобы отменить обновление пакета и вернуться к предыдущей версии с пониженной версией, вы можете использовать следующие команды:

  • В этом случае первым делом нужно будет увидеть предыдущие версии пакета, который вы пытаетесь установить в репозитории DNF. В нашем примере вы можете использовать эту команду для получения списка:
  • Теперь, когда вы внимательно посмотрите на имя версия, которую вы хотите установить, вам просто нужно скопировать его из данных, выданных в выводе предыдущей команды, и вставить в следующую. Например:

Вы также можете использовать снимки или снимки вернуться к предыдущим версиям. Для этого вы можете использовать следующие команды, которые они будут делать, соответственно, получать историю, затем получать информацию о транзакции из истории с ее идентификатором (что вы хотите в вашем случае), а затем возвращаться к статусу этой транзакции с указанием идентификатора (в нашем примере 32):

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

Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.

Полный путь к статье: Любители Linux » Общие » Программное обеспечение Linux » Переход на более раннюю версию: возврат к предыдущей версии программного пакета.

Читайте также: