Статьи → Настройки хоста → Как вернуть старые версии пакетов
Настройки хоста Актуальная

Как вернуть старые версии пакетов

Andrew ⚡ Администратор
(обновлено 24.06.2026)
858 v1.0
В данной статье я покажу один из случаев, когда сторонний скрипт обновил версии пакетов и перестала работать корректно графическое окружение AstraLinux.

У меня система версии 1.8.4, а уже есть 1.8.5 и пакеты обновились из репозитория 1.8.5. Плюс данные пакеты конфликтуют с fly окружением от Astra.

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

Итог, что сломалось: 

  • fly работает некорректно;
  • fly-fm был полностью удален.

В скрипте была строка:

apt install qml-module-org-kde-qqc2desktopstyle qml-module-qtquick-controls2 qml-module-org-kde-kirigami2

Окружение рабочего стола Fly в Astra Linux построено на фреймворке Qt 5, но оно сильно кастомизировано разработчиками Astra и не имеет ничего общего с KDE Plasma.

Когда скрипт установил qml-module-org-kde-qqc2desktopstyle и qml-module-org-kde-kirigami2, то добавил в системные пути компоненты KDE Frameworks. Пакет qqc2desktopstyle специально предназначен для того, чтобы применять KDE-шные стили (отрисовку кнопок, меню, скроллбаров) ко всем приложениям на Qt Quick. Из-за этого родные элементы интерфейса Fly начали конфликтовать с KDE-стилями: Fly ожидает свои QML-компоненты, а система подсовывает ему KDE-шные, что приводит к глюкам, пропаданию панелей, нечитаемым шрифтам или падениям.

При попытке снести эти пакеты

sudo apt purge qml-module-org-kde-qqc2desktopstyle qml-module-org-kde-kirigami2

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

Следующие пакеты будут УДАЛЕНЫ:
  astra-kcm-security-monitor* astra-kcm-security-settings* astra-systemsettings* fly-admin-mouse* fly-admin-screen* fly-admin-touchpad* fly-gallery* fly-kcm-about-astra* fly-start-menu* kcm-fly-search* kcm-fly-start-menu* kcm-mouse*
  kcm-touchpad* kinfocenter* kscreen* qml-module-org-kde-kcm* qml-module-org-kde-kirigami2* qml-module-org-kde-newstuff* qml-module-org-kde-qqc2desktopstyle*

Отменяем удаление N

Нам этот вариант не подходит. Значит нужно вернуть версии которые были до.

Пакеты уже обновлены с репозитория 1.8.5, значит у нас последняя надежда на старые .deb в кэше.

Ищем старые .deb файлы в кэше

Когда apt скачивает пакеты, он сохраняет их в /var/cache/apt/archives/. Проверим, остались ли там старые версии:

ls -l /var/cache/apt/archives/libqt5quickcontrols2-5*.deb
ls -l /var/cache/apt/archives/libqt5quicktemplates2-5*.deb
ls -l /var/cache/apt/archives/qml-module-qtquick-controls2*.deb
ls -l /var/cache/apt/archives/qml-module-qtquick-templates2*.deb

ищем старые .deb в кэше

В моем случаем мне повезло, у меня остались пакет от 30 октября 2025 года, хотя на дворе июнь 2026.

Перейдем в директорию с кэшем.

cd /var/cache/apt/archives/

Запустим локальную установку старых версий, тем самым понизив с новой версии до родной 2025 года.

sudo dpkg -i libqt5quickcontrols2-5_5.15.8+dfsg-2.astra1_amd64.deb libqt5quicktemplates2-5_5.15.8+dfsg-2.astra1_amd64.deb qml-module-qtquick-controls2_5.15.8+dfsg-2.astra1_amd64.deb qml-module-qtquick-templates2_5.15.8+dfsg-2.astra1_amd64.deb

После отката версий обязательно нужно перезагрузиться.

После перезагрузки стало лучше, но fly-fm все еще не работает.

fly-fm - это файловый менеджер (аналог проводника на Windows).

Нехитрым методом узнаем из терминала, что его вообще нету.

❯ fly-fm
zsh: command not found: fly-fm
❯ /usr/bin/fly-fm
zsh: Нет такого файла или каталога: /usr/bin/fly-fm
❯ apt list fly-fm
Вывод списка… Готово
fly-fm/stable 1.7.173 amd64

Запустим его установку.

sudo apt update
sudo apt install fly-fm

Затем обязательная перезагрузка.

sudo /sbin/reboot

После перезагрузки, все работает в штатном режиме.

Данным примером я хотел показать:

1) Не нужно паниковать и пытаться выполнить 1001 команду в терминале в попытке что-то починить. Нужно спокойной найти причину или предположением в чем прична и пытаться хирургическим методом все восстановить. В 90% случаев проблемы от действий пользователей, как и в моем, а значит если мы знаем что делали, то и причина 90% в том что мы делали. Значит нужно откатиться по-шагам назад и вернуть все изменения, что мы сделали.

2) Я продемонстрировал как можно вернуть старые версии пакетов из кэша. Можно было бы выйти из ситуации загрузив репозиторий 1.8.4 и подкинуть его как локальную директорию в /etc/apt/source.list и вернуть версии именно этой версии, но это сложнее и дольше (но реально). Либо обновиться до новой версии дистрибутива или же восстановить с кэша. (благо я не любитель очищать кэш командами apt clean итд).

0
Andrew

DevOps Engineer

1 50 статей
Комментарии (0)
Войдите, чтобы оставить комментарий

Пока нет комментариев. Будьте первым!