Если вы видите ошибки «Warning: Treating remote fetch error as non-fatal» или «No such ref in remote flathub» при запуске flatpak update или flatpak repair, ваш локальный репозиторий Flatpak не синхронизирован. Исправьте это в 4 шага:
- Очистить временные файлы:
sudo rm -rf /var/lib/flatpak/repo/tmp/* - Удалить кэшированные ссылки:
sudo rm -rf /var/lib/flatpak/repo/refs/remotes/flathub - Запустить восстановление системы:
sudo flatpak repair --system - Очистить неиспользуемые пакеты:
flatpak update && flatpak uninstall --unused
Это исправление работает для всех дистрибутивов Linux, включая Arch Linux, Debian, Fedora, Linux Mint, Manjaro, Pop!_OS и Ubuntu.
Что означает сообщение «Нет такого репозитория в удаленном Flathub»?
При выполнении команды flatpak update в Linux могут появляться сообщения об ошибках, например:
[...] F: Warning: Treating remote fetch error as non-fatal since runtime/app.devsuite.Ptyxis.Locale/x86_64/stable is already installed: No such ref 'runtime/app.devsuite.Ptyxis.Locale/x86_64/stable' in remote flathub F: Warning: Treating remote fetch error as non-fatal since app/org.videolan.VLC/x86_64/stable is already installed: No such ref 'app/org.videolan.VLC/x86_64/stable' in remote flathub F: Warning: Treating remote fetch error as non-fatal since app/org.upscayl.Upscayl/x86_64/stable is already installed: No such ref 'app/org.upscayl.Upscayl/x86_64/stable' in remote flathub F: Warning: Treating remote fetch error as non-fatal since app/org.mozilla.firefox/x86_64/stable is already installed: No such ref 'app/org.mozilla.firefox/x86_64/stable' in remote flathub F: Warning: Treating remote fetch error as non-fatal since app/org.localsend.localsend_app/x86_64/stable is already installed: No such ref 'app/org.localsend.localsend_app/x86_64/stable' in remote flathub F: Warning: Treating remote fetch error as non-fatal since app/org.gimp.GIMP/x86_64/stable is already installed: No such ref 'app/org.gimp.GIMP/x86_64/stable' in remote flathub F: Warning: Treating remote fetch error as non-fatal since app/net.trowell.typesetter/x86_64/stable is already installed: No such ref 'app/net.trowell.typesetter/x86_64/stable' in remote flathub .......
Эта ошибка означает, что ваши локальные метаданные Flatpak указывают на ссылку (ref), которая больше не существует в удаленном репозитории Flathub. Распространенные причины:
- Версии среды выполнения, срок поддержки которых истекает (EOL)
- Устаревшие ветки удалены из Flathub
- Прерванные процессы обновления
- Поврежденные локальные метаданные
Сегодня мы столкнулись с этой проблемой (предупреждение «Ошибка при удаленной загрузке не является критической»). в своей настольной системе Debian Linux. Мы не могли скачать новые программы и обновить те, что у нас уже есть. Мы постоянно получаем предупреждение: «Treating remote fetch error as non-fatal».
Хорошая новость: ваши приложения по-прежнему работают. Flatpak помечает их как ошибки, не приводящие к сбою, чтобы сохранить установленные приложения. Однако несоответствие метаданных препятствует корректному обновлению и должно быть устранено.
Почему я вижу так много предупреждений?
Если вы видите десятки предупреждений «No such ref» для таких пакетов, как Firefox, VLC, GIMP или LibreOffice, не паникуйте. Эти приложения используют общие среды выполнения платформы.
org.freedesktop.Platformorg.gnome.Platformorg.kde.Platform
Если одна из веток среды выполнения устарела, каждое использующее ее приложение выдает предупреждение. Одна устаревшая среда выполнения = несколько предупреждений. Их количество вызывает тревогу, но, как правило, указывает на одну основную проблему.
Как исправить ошибки Flatpak «НNo Such Ref» (4 шага)
Шаг 1. Очистка файлов временного репозитория
Сначала удалите все устаревшие или незавершенные загрузки из временного каталога:
sudo rm -rf /var/lib/flatpak/repo/tmp/*
Это позволяет очистить частичные загрузки, которые могут вызывать конфликты при синхронизации метаданных.
Шаг 2. Удалите кэшированные удаленные ссылки
Удалите кэшированные удаленные ссылки Flathub, чтобы выполнить полную перестройку:
sudo rm -rf /var/lib/flatpak/repo/refs/remotes/flathub
Это вынуждает Flatpak повторно загрузить текущие метаданные с Flathub, удалив ссылки на устаревшие ветки.
Важное предупреждение
НИКОГДА не удаляйте эти каталоги:
/var/lib/flatpak~/.local/share/flatpak
При удалении этих каталогов будут удалены ВСЕ установленные приложения и данные Flatpak. Удаляйте только те пути, которые указаны в шагах 1 и 2.
Шаг 3. Запустите восстановление системы Flatpak
Выполните команду восстановления с правами суперпользователя:
sudo flatpak repair --system
Почему требуется sudo: Без sudo Flatpak выполняет только пробную проверку и выводит сообщение «assuming —dry-run» без внесения изменений. При наличии прав суперпользователя команда восстановления выполнит:
- Проверьте контрольные суммы всех установленных объектов
- Перестройте внутренние справочные метаданные
- Удалите неиспользуемые и недействительные ссылки
- Синхронизируйте локальное состояние с текущим состоянием на удаленном сервере
Дождитесь завершения процесса восстановления. Это может занять несколько минут в зависимости от количества установленных приложений.
Пример вывода:
Working on the system installation at /var/lib/flatpak Checking remotes... Pruning objects Erasing .removed Reinstalling removed refs Installing runtime/app.devsuite.Ptyxis.Locale/x86_64/stable Installing app/app.devsuite.Ptyxis/x86_64/stable Installing runtime/be.alexandervanhee.gradia.Locale/x86_64/stable Installing app/be.alexandervanhee.gradia/x86_64/stable...
Шаг 4. Обновите и удалите неиспользуемые пакеты
Наконец, обновите все приложения и удалите устаревшие среды выполнения.
flatpak update flatpak uninstall --unused
Команда flatpak uninstall --unused удаляет старые версии среды выполнения, которые больше не нужны установленным приложениям. Это позволяет освободить место на диске и устранить устаревшие ссылки, вызывающие ошибки.
Как убедиться, что исправление сработало
После выполнения всех шагов запустите:
flatpak update
Показатели успеха:
- Не появляется предупреждение «Нет такой ссылки»
- Команда завершается со словами «Делать нечего» или показывает доступные обновления
- Не появляется сообщение «Ошибка при удаленной выборке не является критической»
Вы также можете проверить удаленную конфигурацию:
flatpak remotes --show-details
Убедитесь, что flathub отображает URL-адрес https://dl.flathub.org/repo/
Name Title URL Collection ID Subset Filter Priority Options … … Homepage Icon flathub Flathub https://dl.flathub.org/repo/ - - - 1 system … … https://flathub.org/ https://dl.flathub.org/repo/logo.svg
Устранение неполадок: если исправление не помогло
Проблема: после восстановления по-прежнему возникают ошибки
Решение: возможно, неправильно настроен удаленный сервер Flathub. Удалите его и добавьте заново:
sudo flatpak remote-delete flathub sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
Затем повторите шаги 3 и 4 из основного руководства по устранению неполадок.
Проблема: появляется сообщение «Предполагается использование параметра —dry-run».
Решение: Вы забыли sudo. Запустите:
sudo flatpak repair --system
Без прав суперпользователя Flatpak не может вносить изменения на системном уровне.
Проблема: ошибки в сетевом или SSL-сертификате
Решение: обновите сертификаты центра сертификации вашей системы:
Debian / Ubuntu / Linux Mint / Pop_!OS
sudo apt update && sudo apt install ca-certificates
Fedora / RHEL / AlmaLinux / Rocky Linux
sudo dnf update ca-certificates
Arch Linux / Endeavour OS / Manjaro
sudo pacman -Sy ca-certificates
Затем повторите попытку восстановления Flatpak.
Почему возникает эта ошибка?
Flatpak использует OSTree — систему хранения с адресацией по содержимому, в которой каждое приложение и среда выполнения имеют уникальную контрольную сумму. Ссылки (refs) указывают на конкретные коммиты в этой системе.
Распространенные сценарии, приводящие к несовпадению ссылок:
- Окончание поддержки среды выполнения: Flathub прекращает поддержку старых версий среды выполнения (например, GNOME 43, KDE 5.15), когда появляются стабильные новые версии. Ваша локальная система по-прежнему использует старую версию.
- Прерванные обновления: из-за неудачного или отмененного обновления локальные метаданные могут указывать на частично обновленные ссылки.
- Реорганизация репозитория: иногда разработчики Flathub реорганизуют ветки пакетов или переносят приложения в другие репозитории.
- Длительное бездействие: в системах, которые не обновлялись в течение нескольких месяцев, могут быть устаревшие локальные метаданные, ссылающиеся на устаревшие ветки.
Исправление заключается в очистке устаревших кэшированных данных и принуждении Flatpak к обновлению метаданных в соответствии с текущим состоянием удаленного сервера Flathub.
Распространенные ошибки, которые усугубляют проблему
- Игнорирование предупреждений в течение нескольких месяцев: Старые среды выполнения накапливаются и тратят место на диске. Оперативно устраняйте предупреждения.
- Удаление
/var/lib/flatpak: При этом удаляются ВСЕ приложения. Никогда не делайте этого, если вы намеренно не стираете Flatpak. - Запускаем восстановление без sudo: вы увидите «
assuming --dry-run«, и ничего не изменится. Всегда используйте права root. - Редактирование метаданных Flatpak вручную: Не редактируйте файлы вручную в
/var/lib/flatpak/. Используйте официальные команды для восстановления. - Пропуск ‘
flatpak uninstall --unused‘: Устаревшие среды выполнения остаются на диске. Всегда выполняйте очистку после восстановления.
Когда НЕ следует использовать это исправление
Не используйте это решение, если:
- Ошибки ввода-вывода на диске: в системных журналах отображаются сбои при чтении и записи на диск. В первую очередь проверьте оборудование для хранения данных.
- Повреждение файловой системы: перед дальнейшими действиями запустите
fsckдля проверки целостности файловой системы. - Неисправное оборудование для хранения данных: проверьте данные SMART с помощью
smartctl. Замените неисправные диски. - Полная нестабильность системы: если неисправны несколько компонентов, может потребоваться переустановка ОС.
Сначала проверьте системные журналы:
sudo journalctl -xe | grep -i error sudo dmesg | grep -i 'I/O error'
Если вы видите ошибки на диске, устраните неполадки на аппаратном уровне, прежде чем пытаться восстановить Flatpak.
Часто задаваемые вопросы
Q: Удалит ли это исправление мои приложения?
A: Нет. Эти команды только очищают кэш метаданных и удаляют неиспользуемые среды выполнения. Установленные приложения остаются нетронутыми и продолжают работать.
Q: Нужно ли мне выполнять эти команды при каждом обновлении?
A: Нет. Это разовое решение проблемы несоответствия метаданных. После устранения проблемы обычные flatpak update команды должны работать без ошибок.
Q: Можно ли использовать это исправление в Ubuntu/Debian/Fedora/Arch?
A: Да. Это решение работает во всех дистрибутивах Linux, использующих Flatpak, включая Ubuntu, Debian, Fedora, openSUSE, Arch, Manjaro, Pop!_OS, Linux Mint и другие.
Q: Что делать, если я вижу ошибки в приложениях, установленных пользователем (~/.local/share/flatpak)?
A: Выполните те же команды, но замените --system на --user и скорректируйте пути:
rm -rf ~/.local/share/flatpak/repo/tmp/* rm -rf ~/.local/share/flatpak/repo/refs/remotes/flathub flatpak repair --user
Вопрос: сколько места на диске я освобожу?
A: Зависит от того, сколько у вас старых версий среды выполнения. Удаление неиспользуемых версий среды выполнения может освободить от 100 МБ до нескольких ГБ. Проверьте до и после выполнения следующей команды:
du -sh /var/lib/flatpak
Заключение
Ошибка «Нет такой ссылки в удаленном репозитории Flatpak» выглядит пугающе, но обычно она связана с простой проблемой синхронизации метаданных. Очистив кэш ссылок и выполнив надлежащее восстановление системы, вы восстановите согласованность между локальным репозиторием Flatpak и удаленным состоянием Flathub.
Ключевые рекомендации на вынос:
- Ошибка не является критичной и не приводит к сбоям в работе приложений
- Четыре простые команды помогут безопасно устранить проблему
- Всегда используйте sudo для команд восстановления
- Никогда не удаляйте
/var/lib/flatpakили~/.local/share/flatpakкаталоги - Удалите неиспользуемые среды выполнения, чтобы освободить место на диске
Если после выполнения этого руководства вы по-прежнему сталкиваетесь с ошибками, прежде чем двигаться дальше, проверьте системные журналы на наличие проблем с оборудованием.
Чтобы сообщить об ошибках Flatpak или проблемах с конкретными приложениями, посетите репозиторий Flatpak на GitHub или соответствующую систему отслеживания проблем в Flathub.