Логотип

Как исправить ошибку Flatpak «No Such Ref in Remote Flathub» в Linux

Как исправить ошибку Flatpak «No Such Ref in Remote Flathub» в Linux

Если вы видите ошибки «Warning: Treating remote fetch error as non-fatal» или «No such ref in remote flathub» при запуске flatpak update или flatpak repair, ваш локальный репозиторий Flatpak не синхронизирован. Исправьте это в 4 шага:

  1. Очистить временные файлы: sudo rm -rf /var/lib/flatpak/repo/tmp/*
  2. Удалить кэшированные ссылки: sudo rm -rf /var/lib/flatpak/repo/refs/remotes/flathub
  3. Запустить восстановление системы: sudo flatpak repair --system
  4. Очистить неиспользуемые пакеты: 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».

Читать  Как исправить err_connection_timed_out

Хорошая новость: ваши приложения по-прежнему работают. Flatpak помечает их как ошибки, не приводящие к сбою, чтобы сохранить установленные приложения. Однако несоответствие метаданных препятствует корректному обновлению и должно быть устранено.

 

Почему я вижу так много предупреждений?

Если вы видите десятки предупреждений «No such ref» для таких пакетов, как Firefox, VLC, GIMP или LibreOffice, не паникуйте. Эти приложения используют общие среды выполнения платформы.

  • org.freedesktop.Platform
  • org.gnome.Platform
  • org.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

 

Показатели успеха:

  • Не появляется предупреждение «Нет такой ссылки»
  • Команда завершается со словами «Делать нечего» или показывает доступные обновления
  • Не появляется сообщение «Ошибка при удаленной выборке не является критической»
Читать  Правильный способ обработки ошибки блокировки Dpkg в Debian и Ubuntu

 

Вы также можете проверить удаленную конфигурацию:

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) указывают на конкретные коммиты в этой системе.

Распространенные сценарии, приводящие к несовпадению ссылок:

  1. Окончание поддержки среды выполнения: Flathub прекращает поддержку старых версий среды выполнения (например, GNOME 43, KDE 5.15), когда появляются стабильные новые версии. Ваша локальная система по-прежнему использует старую версию.
  2. Прерванные обновления: из-за неудачного или отмененного обновления локальные метаданные могут указывать на частично обновленные ссылки.
  3. Реорганизация репозитория: иногда разработчики Flathub реорганизуют ветки пакетов или переносят приложения в другие репозитории.
  4. Длительное бездействие: в системах, которые не обновлялись в течение нескольких месяцев, могут быть устаревшие локальные метаданные, ссылающиеся на устаревшие ветки.

 

Исправление заключается в очистке устаревших кэшированных данных и принуждении Flatpak к обновлению метаданных в соответствии с текущим состоянием удаленного сервера Flathub.

 

Распространенные ошибки, которые усугубляют проблему

  • Игнорирование предупреждений в течение нескольких месяцев: Старые среды выполнения накапливаются и тратят место на диске. Оперативно устраняйте предупреждения.
  • Удаление /var/lib/flatpak: При этом удаляются ВСЕ приложения. Никогда не делайте этого, если вы намеренно не стираете Flatpak.
  • Запускаем восстановление без sudo: вы увидите «assuming --dry-run«, и ничего не изменится. Всегда используйте права root.
  • Редактирование метаданных Flatpak вручную: Не редактируйте файлы вручную в /var/lib/flatpak/. Используйте официальные команды для восстановления.
  • Пропуск ‘flatpak uninstall --unused‘: Устаревшие среды выполнения остаются на диске. Всегда выполняйте очистку после восстановления.
Читать  Windows 11 просканирует память после экранов смерти BSOD

 

Когда НЕ следует использовать это исправление

Не используйте это решение, если:

  • Ошибки ввода-вывода на диске: в системных журналах отображаются сбои при чтении и записи на диск. В первую очередь проверьте оборудование для хранения данных.
  • Повреждение файловой системы: перед дальнейшими действиями запустите 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.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Редактор: AndreyEx

Рейтинг: 5 (1 голос)
Если статья понравилась, то поделитесь ей в социальных сетях:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Загрузка...

Спасибо!

Теперь редакторы в курсе.

Прокрутить страницу до начала