Найти в Дзене
DUB1401

Установка предыдущей версии приложения Flatpak

Разработка ПО – это дикое сафари, во время которого иногда случаются неудачи. Некоторые релизы, оперативно упакованные в формат самодостаточных пакетов Flatpak, могут содержать ошибки, исправления которых ещё не были включены или вообще не планируются в данной версии. Но что делать, если вы уже обновились, столкнулись с проблемой, а кнопки для отката изменений не нашли? Весь процесс будет показан на примере самого популярного репозитория Flathub, но вы можете указать и иной источник в случае необходимости. Процесс отката Первым делом нужно понять, на какую версию приложения вы хотите вернуться. Проведите поиск в интернете на эту тему, после чего открывайте терминал Linux и выполняйте следующую команду: flatpak list Перед вами появился список всех установленных Flatpak-пакетов на вашем ПК. Здесь необходимо найти идентификатор целевого приложения, который будет выглядеть, скорее всего, как-то так: org.company.name. Скопируйте это значение. Теперь необходимо выполнить команду: flatpak re

Разработка ПО – это дикое сафари, во время которого иногда случаются неудачи. Некоторые релизы, оперативно упакованные в формат самодостаточных пакетов Flatpak, могут содержать ошибки, исправления которых ещё не были включены или вообще не планируются в данной версии. Но что делать, если вы уже обновились, столкнулись с проблемой, а кнопки для отката изменений не нашли?

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

Процесс отката

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

flatpak list

Перед вами появился список всех установленных Flatpak-пакетов на вашем ПК. Здесь необходимо найти идентификатор целевого приложения, который будет выглядеть, скорее всего, как-то так: org.company.name. Скопируйте это значение.

Теперь необходимо выполнить команду:

flatpak remote-info flathub --log {FLATPAK_ID}

Естественно, здесь и далее {FLATPAK_ID} нужно заменять на тот идентификатор, что необходим именно вам.

Мы видим список commit-ов, своеобразных релизов, которые доступны в этом репозитории. Обычно в графе Тема указывается версия пакета.

Информация о репозитории приложения
Информация о репозитории приложения

Ищем нужную нам версию (ориентироваться также можно по дате commit-а). Копируем значение, находящееся прямо напротив слова Коммит.

Далее используем команду ниже для того, чтобы обновить наше приложения до более старой версии, подставляя на место {COMMIT} скопированное ранее значение.

sudo flatpak update --commit={COMMIT} {FLATPAK_ID}

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

Доступные обновления
Доступные обновления

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

flatpak mask {FLATPAK_ID}

Она делает именно то, что и подразумевает её название, – маскирует наше приложение под обновлённое. Теперь можно не беспокоиться о случайном сбросе внесённых изменений.

Когда же мейнтейнеры пакета ПО исправят проблему, вам будет нужно снять маску командой:

flatpak mask --remove {FLATPAK_ID}

После этого обновления станут доступны в штатном режиме.