Понижение версии пакетов

Revision as of 15:18, 14 December 2022 by Krotesk (talk | contribs) (Created page with "После понижения версии пакета вы должны увидеть сообщение, подобное этому: add firefox to IgnorePkg? [y/n]")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Other languages:
English • ‎Türkçe • ‎français • ‎русский
Warning
Понижение версии пакетов почти всегда приведет к тому, что Вы окажетесь в состоянии неподдерживаемого частичного обновления. Эти инструкции предназначены для опытных пользователей, понимающие последствия понижения версии пакетов

Введение

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


Простой способ - использование downgrade

downgrade - это приложение, помогающее автоматизировать процесс поиска и понижения версий пакетов.


Установка downgrade

Сначала необходимо установить downgrade, доступный в официальных репозиториях Manjaro. Это можно сделать с помощью следующей команды:

pamac install downgrade


Использование downgrade

Чтобы использовать downgrade - просто запустите команду, за которой следует имя пакета, версию которого вы хотите понизить. Например:

downgrade firefox

В результате вы получите результат, выглядящий следующим образом:

Доступные пакеты:
    1)  firefox    55.0.3  1  x86_64  (remote)
    2)  firefox    60.0.1  1  x86_64  (remote)
    3)  firefox    64.0.2  1  x86_64  (remote)
    4)  firefox    64.0.2  1  x86_64  (local)
    5)  firefox    65.0    1  x86_64  (remote)
    6)  firefox    65.0    2  x86_64  (remote)
    7)  firefox    65.0.1  1  x86_64  (remote)
    8)  firefox    65.0.2  1  x86_64  (remote)
-   9)  firefox    66.0    0  x86_64  (local)
   10)  firefox    66.0    1  x86_64  (remote)
   11)  firefox    66.0.1  1  x86_64  (remote)
   12)  firefox    66.0.2  1  x86_64  (remote)
   13)  firefox    66.0.3  1  x86_64  (remote)
   14)  firefox    66.0.4  1  x86_64  (remote)
+  15)  firefox    66.0.5  1  x86_64  (remote)
+  16)  firefox    66.0.5  1  x86_64  (local)

Записи, перечисленные как "local", являются версиями из вашего локального кэша пакетов. Записи, обозначенные как "remote" - доступны из архива Arch Linux Archive(ALA).


Warning
Установка пакетов из ALA по своей сути опасна, поскольку иногда Manjaro требуются пользовательские версии определенных пакетов. Это может привести к поломке системы. Поэтому по умолчанию в стабильной ветке понижение пакетов из ALA отключено. При необходимости вы можете включить его, установив переменную окружения
DOWNGRADE_FROM_ALA=1


Добавление пакетов в список игнорирования

После понижения версии пакета вы должны увидеть сообщение, подобное этому:

add firefox to IgnorePkg? [y/n]

Если вы ответите "y", пакет больше не будет обновляться в будущих обновлениях, пока вы вручную не удалите его из строки IgnorePkg в /etc/pacman.conf.


Понижение версий пакетов вручную

Каталог /var/cache/pacman/pkg содержит старые версии пакетов. Сначала найдите пакет, версию которого вы хотите понизить, в этом каталоге, затем используйте pacman -U для его установки. Например, это может выглядеть следующим образом:


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

sudo pacman -U /var/cache/pacman/pkg/firefox-64.0.2-1-x86_64.pkg.tar.xz


Обеспечение того, чтобы старые пакеты не были обновлены снова

Чтобы эти пакеты не обновлялись при следующем запуске обновлений - Вы можете добавить их в список игнорирования в /etc/pacman.conf. Найдите раздел, который выглядит следующим образом:

# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
# IgnorePkg =

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

# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
IgnorePkg = firefox

После этого пакет больше не будет обновляться в будущих обновлениях, пока вы вручную не удалите его из строки IgnorePkg в /etc/pacman.conf.