Нормально то, что всегда обновляйте программные пакеты чтобы получить более свежие версии этих. Обычно разработчики стремятся к тому, чтобы с появлением новых версий они становились все лучше и лучше. Но так бывает не всегда. Иногда предыдущие версии пакета могут быть более стабильными, работать лучше по какой-то причине или даже из-за того, что пользователю больше нравится версия до обновления, потому что в ней есть что-то, что в новой версии больше не реализуется.
Если это ваш случай, в этом урок мы покажем вам, как вы можете перейти на более раннюю версию любого пакета, то есть откатить обновление и получить предыдущую версию, установленную в вашей системе. Таким образом, у вас не будет проблем, если новые версии вас подведут. Ну что ж, приступим!
Поскольку не существует общего метода для всех дистрибутивов, я покажу, как это можно сделать с помощью самые популярные менеджеры пакетов. Кстати, если вы используете другие методы, такие как YaST, Synaptic и т. Д., Процедуры также возможны, но графически и намного более интуитивно понятны. Здесь я объясню методы через консоль, которые вызывают наибольшую путаницу ...
apt-get: Debian / Ubuntu и производные
Для всех дистрибутивы на основе пакетов DEB а с помощью диспетчера пакетов apt-get вы можете легко перейти с более современной версии на более старую. Например, мы возьмем пакет firefox в качестве эталона, представив, что мы хотим вернуться от текущей версии к предыдущей. В этом случае вы можете выполнить следующие команды:
- Вы можете получить информация о пакете firefox (или что-то еще, вам просто нужно изменить имя на соответствующее в вашем случае), например, предыдущие установленные версии и т. д., вы можете использовать следующую команду:
sudo apt-cache showpkg firefox
- Как только вы хорошо знаете предыдущая версия, которую вы хотите установить, вы можете использовать следующую команду для установки нужного пакета. В нашем случае в предыдущей команде мы получили пакет с именем firefox = 57.3-build1-0ubuntu1, который мы хотим установить:
sudo apt-get install firefox=57.3-build1-0ubuntu1
- После этого у вас уже будет установлена предыдущая версия этой программы. Вы знаете, что если нет указать версию Используя APT, вы устанавливаете последнюю версию, доступную в репозитории этого пакета. В данном случае мы указали конкретную версию.
Помните, что возможно, что сосуществуют два разных пакета версий на GNU / Linux без проблем. Итак, если вы хотите иметь две разные версии одного и того же пакета, вы можете это сделать ...
pacman: Arch Linux и производные
Если у вас есть Arch Linux, то вам придется иметь дело с pacman как с менеджером пакетов. Этот инструмент также позволяет вам вернуться к предыдущей версии, если хотите. Способ сделать это немного другой, но такой же простой:
- Искать ев кеше пакета доступные версии, вы можете проверить запись. Чтобы отфильтровать результаты только для пакетов firefox в нашем случае (но вы уже знаете, что можете заменить имя пакета на то, которое хотите ...), вы можете использовать:
ls /var/cache/pacman/pkg/ | grep firefox
- Теперь, когда вы знаете, какая версия вам нужна, вы можете использовать следующую команду установить это:
sudo pacman -U /var/cache/pacman/pkg/firefox-57.3.pkg.tar.xz
zypper: SUSE / openSUSE и производные
В мире SUSE, вы можете использовать менеджер пакетов zypper. Это также простой способ получить пакет в предыдущей версии. В нашем случае с Mozilla Firefox это будет примерно так:
- Первым делом нужно обратиться к кешу пакетов аналогично тому, как мы это делали для Arch, с помощью следующей команды, чтобы узнать предыдущие версии пакета в наличии:
cat /var/log/zypp/history | grep firefox
- Как только предыдущая версия будет найдена, вы сможете установить эту версию используя zypper следующим образом:
sudo zypper -in -f firefox_57.3
dnf: Red Hat / CentOS / Fedora и производные
Наконец, в дистрибутивах на основе Fedora yum или dnf будут использоваться. Чтобы отменить обновление пакета и вернуться к предыдущей версии с пониженной версией, вы можете использовать следующие команды:
- В этом случае первым делом нужно будет увидеть предыдущие версии пакета, который вы пытаетесь установить в репозитории DNF. В нашем примере вы можете использовать эту команду для получения списка:
sudo dnf --showduplicates list firefox
- Теперь, когда вы внимательно посмотрите на имя версия, которую вы хотите установить, вам просто нужно скопировать его из данных, выданных в выводе предыдущей команды, и вставить в следующую. Например:
<pre>sudo dnf install firefox-57.3.fc28</pre>
Вы также можете использовать снимки или снимки вернуться к предыдущим версиям. Для этого вы можете использовать следующие команды, которые они будут делать, соответственно, получать историю, затем получать информацию о транзакции из истории с ее идентификатором (что вы хотите в вашем случае), а затем возвращаться к статусу этой транзакции с указанием идентификатора (в нашем примере 32):
sudo dnf history sudo dnf history info 32 sudo dnf history undo 32
Я надеюсь, что это руководство помогло вам решить проблемы, которые новая версия программного пакета вызвала у вас в вашем любимом дистрибутиве. Вы уже знаете, что можете оставить свой комментарии с вопросами или предложениями...
В gentoo версия пакета, которая больше не нужна, маскируется, новая - путем явного помещения ее в файл /etc/portage/package.mask/package.mask.
Например, если нам не нужен последний Firefox, то есть 69.0.1, мы можем указать это так:
= www-клиент / firefox-69.0.1
или если мы не хотим использовать более новую версию в будущих обновлениях
> = www-клиент / firefox-69.0.1
Тогда переход на более раннюю версию будет таким:
# emerge -av1 фаерфокс
Эти пакеты будут объединены в следующем порядке:
Расчет зависимостей… готов!
[ebuild UD] www-client / firefox-68.1.0
Хотели бы вы объединить эти пакеты? [Да / Нет] и
UD указывает на переход на более раннюю версию
Здравствуйте, большое спасибо за этот вклад. Я решил поставить эти дистрибутивы, потому что они наиболее часто используемые, но, очевидно, есть отличные дистрибутивы, такие как Slackware, Gentoo и другие, о которых я не говорил. Иногда бывает сложно выбрать одно или другое, и всегда приходится выбирать, а некоторые опускать ...
Приветик!
Есть ли способ сделать это со многими пакетами одновременно?