LINUX.ORG.RU
ФорумAdmin

dnf history rollback — бесполезный инструмент без задач?

 , , , ,


0

1

Некоторое время назад у меня в Fedora случилось апдейтов накачали (виноват сам, в общем-то, вины Fedora тут не было).

Попробовав применить dnf history rollback я обнаружил неприятную вещь: в репах Федоры хранится только самая последняя версия пакета, т.е. даже если попробовать даунгрейднуть сразу после апгрейда, будет показано сообщение, что таких пакетов в репах нет.

Этот конфуз заставил меня даже создать локальный репозиторий с помощью плагина dnf-plugin-local. Радостно предполагая, что теперь-то я ГОТОВ – я расслабился.

Продолжая эксперименты, я установил AlmaLinux и Oracle в Virtualbox и решил попробовать этот инструмент в них, т.к. там хранятся все версии пакетов и таких проблем как Федоре быть не должно.

Каково же было мое удивление, когда dnf history undo last так же выдало мне ошибку, но уже другую:

Problem: The operation would result in removing the following protected packages: kernel-uek-core etc.

https://files.catbox.moe/imvenn.png

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

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

Буду продолжать эксперименты по построению Unbreakable Linux :)



Последнее исправление: MoldAndLimeHoney (всего исправлений: 1)

Т.е. даунгрейднуть нельзя, если в обновлении было ядро.

Problem: The operation would result in removing the following protected packages: kernel-uek-core

По идее ошибка говорит не о том, что он не хочет даунгрейдить ядро, а что не хочет удолять kernel-uek-core

goingUp ★★★★★
()

Вполне себе полезный инструмент, если тебе надо сделать пакетным менеджером ыть, и тут же вернуть обратно. И то мне однажды так libc даунгрейднуло и скриптлетом систему в нерабочий вид привело. А ты вздумал долгосрочное обновление откатить. RPM-based для такого не предназначены.

t184256 ★★★★★
()
Последнее исправление: t184256 (всего исправлений: 1)

У Альмы даунгрейд бесполезен как и в федоре, а вот в оракле полезен, см. репы. Этот инструмент по-настоящему работает в шапке, такие дела.

Впрочем, ты можешь использовать разные архивные репозитории в клонах, делать свои, а также в elrepo держат предыдущие ядра, но не долго, потом опять в архивные репы сдают. Так что номинально фича работает везде, но на практике — нет.

papin-aziat ★★★★★
()

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

О каких конкретно пакетах ты пишешь?

4 дня назад cделал dnf downgrade mesa* c 23.1.3 на 23.0.1. Все в наличии.

nvl ★★★★
()
Ответ на: комментарий от MoldAndLimeHoney

В шапке откатывает без проблем (я откатывал, работает ничтяк). В elrepo можешь попробовать, но я не пробовал, не было нужды. Из локальных, предыдущих минорных и архивных откатывает без проблем, я так делал.

Про оракль говорю умозрительно, мне просто показали репы, где всё лежит, а значит должен работать даунгрейд.

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

papin-aziat ★★★★★
()
Ответ на: комментарий от nvl

Я чёт не помню на самом деле держат ли федорасты предыдущие пакеты, но кажется нет. Может предыдущая меса из основной репы, а новая из updates? Поэтому есть откуда даунгрейдить.

А, ещё кэш, возможно у тебя в кэше были пакеты локально.

papin-aziat ★★★★★
()
Ответ на: комментарий от papin-aziat
Установленные пакеты
Имя          : mesa-libGL
Версия       : 23.1.3
Выпуск       : 1.fc38
Архитектура  : i686
Репозиторий  : @System
Из репозитор : updates
-----------
dnf downgrade mesa*
Последняя проверка окончания срока действия метаданных: 0:50:01 назад, Вс 16 июл 2023 20:54:45.
Пакет mesa-libGLU самой старой версии уже установлен, нельзя произвести откат.
Зависимости разрешены.
============================================================================================================================================
 Пакет                                    Архитектура                 Версия                              Репозиторий                 Размер
============================================================================================================================================
Откат версии:
 mesa-dri-drivers                         x86_64                      23.0.1-2.fc38                       fedora                       18 M
 mesa-filesystem                          x86_64                      23.0.1-2.fc38                       fedora                       18 k
 mesa-libEGL                              x86_64                      23.0.1-2.fc38                       fedora                      130 k
 mesa-libGL                               x86_64                      23.0.1-2.fc38                       fedora                      173 k
 mesa-libOSMesa                           x86_64                      23.0.1-2.fc38                       fedora                      3.1 M
 mesa-libgbm                              x86_64                      23.0.1-2.fc38                       fedora                       44 k
 mesa-libgbm-devel                        x86_64                      23.0.1-2.fc38                       fedora                       21 k
 mesa-libglapi                            x86_64                      23.0.1-2.fc38                       fedora                       54 k
 mesa-libxatracker                        x86_64                      23.0.1-2.fc38                       fedora                      2.1 M
 mesa-vdpau-drivers                       x86_64                      23.0.1-2.fc38                       fedora                      3.5 M
 mesa-vulkan-drivers                      x86_64                      23.0.1-2.fc38                       fedora                      9.0 M

Результат транзакции
============================================================================================================================================
Откат версии  11 Пакетов

Объем загрузки: 37 M
Продолжить? [д/Н]: 

Это на другом компе. Откатывал тот, что на радеоне в связи: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9315

nvl ★★★★
()
Последнее исправление: nvl (всего исправлений: 2)
Ответ на: комментарий от nvl

В шапке можешь даунгрейдить ядро хоть до того самого, которое было при выпуске мажорного релиза, все доступны. Зачем так, ведь три хранятся настройками в dnf.conf?! Вариантов потерять любимое ядро дофига, если не исправишь настройку на 0.

Например, у меня было хорошее ядро из шапки, его залочил (остальные где-то год мне было не пригодны), а походу ещё постоянно тестил новые, а так же из elrepo и copr. Вот даже в этом моём реальном случае было очень удобно, что все старые ядра были доступны.

А в федоре на фоне тех же событий с говноядрами, старое годное мне пришлось скачать с koji и держать на диске, чтобы каждый раз не качать, когда улетит из-за настроек dnf.conf или сам удалю.

papin-aziat ★★★★★
()
Ответ на: комментарий от nvl

Ох, дела минувших дней. Длинная история. Шапка показала интелу фак и перестала делать работу за них, и мой хасвелл превратился в говно на где-то десять минорных релизов ядра. Началось с 5.8 в федоре и потом бэкпортировали эту срань в шапку.

papin-aziat ★★★★★
()
Ответ на: комментарий от nvl

Кстати, до сих пор аукается — из-за этого не могу на альме-8 юзать стабильное ядро 5.15, так что сижу на шестом свежачке-ml (они в elrepo стабильное 6.1 только для девятки делают), но это из-за настройки ядра i915.mitigations, она доступна начиная с, емнип, 5.15. Поэтому официальный стейбл 4.19 и стейбл 5.4 из elrepo мне не подходят.

papin-aziat ★★★★★
()