3
Juni
2026
Работа с Flatpak или APT через прокси-сервер
18:49

Работа с Flatpak или APT через прокси-сервер

3 Juni 2026 18:49

Мой Интернет-провайдер стал блокировать сайт магазина приложений FlatHub и систему установки пакетов Flatpak.

Введение

Flathub - это магазин приложений Linux в формате Flatpak, опубликованных разработчиками. Некоторые приложения, не входящие в состав основного дистрибутива Linux, можно установить только из Flatpak или Snap.

В последнюю неделю сайт Flathub.org у меня на работе "тормозит", работает очень медленно. Поэтому не получается скачать с него файл .flatpakref для установки приложения командой "flatpak install package.flatpakref". А сама команда "flatpak install" также "отваливается" по таймауту.

Также, на рабочем ПК происходит сбой подключения к сайту dl.flathub.org при выполнении команды добавления репозитория Flatpak при его установке переустановке:
"flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo"

F: Loading https://flathub.org/repo/flathub.flatpakrepo using libsoup
F: Should retry request (remaining: 5 retries), due to transient error:
Превышено время ожидания ввода-вывода сокета

I. Решение проблемы Flatpak - включение прокси-сервера

Необходимо подключаться к flathub во flatpak через прокси-сервер.

Как использовать Flatpak через прокси-сервер

1) Найдите в Интернет прокси сервер типа "http" (например, здесь) и проверьте его на сайте checker.net.

2) Переменные окружения (environment), которые используются flatpak:

http\_proxy - укажите прокси и порт.

2.1) Для временного (на данную сессию) использования прокси-сервера:

export http_proxy=server:port


2.2) Для постоянного использования прокси-сервера:
Отредактируйте файл /etc/environment (для всех пользователей) или ~/.profile (только для текущего пользователя):

sudo nano /etc/environment

или

nano ~/.profile

или создайте .sh - скрипт в каталоге /etc/profile.d/ для установки переменной окружения.

Добавьте в его конец файла строку

export http_proxy=http://server:port

где вместо "server" - укажите IP адрес прокси-сервера,
вместо "port" - укажите порт прокси-сервера.

3) Запустите установку приложения Flatpak. Чтобы видеть на экране диагностические сообщения в процессе установки, можно добавить ключ "-v" - от слова "verbose" - многословный.

Например:

flatpak -v install de.haeckerfelix.Shortwave.flatpakref 

Где de.haeckerfelix.Shortwave.flatpakref - ранее скачанный .flatpakref-файл.

Также, можно установить приложение по его ID:

flatpak -v install de.haeckerfelix.Shortwave

Теперь программа установилась быстро.

Решение проблемы с медленной работой магазина приложений FlatHub - работа через прокси-сервер

1) Должен быть установлен Flatpak.

Как установить или обновить Flatpak

sudo add-apt-repository ppa:flatpak/stable
sudo apt update
sudo apt install flatpak

2) Для включения прокси-сервера, как написано выше, нужно добавить переменную окружения "http_proxy".
В командной строке выполните команду

export http_proxy="http://server:port"

где вместо "server" - укажите IP адрес прокси-сервера,
вместо "port" - укажите порт прокси-сервера.

Или решите вопрос способом, указанном в пункте 2.2.

3) Добавляем в Flatpak репозиторий Flathub, если он не был добавлен раньше:

flatpak -v remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

Результат:

flatpak -v remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
F: Opening system flatpak installation at path /var/lib/flatpak
F: Loading https://flathub.org/repo/flathub.flatpakrepo using curl
F: Received 4040 bytes

4) Производим поиск приложения из командной строки

Перед запуском следующей команды, разверните окно Терминала во весь экран.

flatpak search application

где вместо application пишем интересующий нас пакет, например, по ключевому слову "notes" (заметки).

flatpak search notes

или

flatpak search shortwave

Результат поиска будет также в текстовом виде:
notes

ИД прилжения приведен в третьей колонке. Например, "com.vargary.focal" или "de.haeckerfelix.Shortwave".

5) Установите интересующее приложение.

flatpak install flathub app_id

где app_id - идентификатор приложения Flatpak.

Например:

flatpak install flathub com.vargary.focal

или

flatpak install de.haeckerfelix.Shortwave

Результат:

flatpak install flathub com.vargary.focal
Поиск совпадений…

Разрешения com.vargary.focal:
    ipc    network    fallback-x11    wayland    x11    dri    tags [1]

    [1] proprietary

        ID                          Ветвь            Оп           Удалённый репозиторий           Загрузка
 1. [✓] com.vargary.focal           stable           i            flathub                         16,0 МБ / 18,0 МБ

Установка завершена.

Мы установили приложение Flatpak с использованием прокси-сервера!

6) Запустите требуемое приложение Flatpak:

flatpak run app_id

где app_id - идентификтор приложения Flathub. Например, com.vargary.focal.

Здесь переменная окружения http_proxy применяется неявно.

Результат:
focal

Как при вызове команды flatpak run явно указать прокси-сервер?

Ответ: нужно использовать ключ --env. "(Из справки: Установите переменную среды в приложении. Она переопределяет раздел «Контекст» из метаданных приложения. Этот параметр можно использовать несколько раз.)"

flatpak run --env=http_proxy="http://server:port" app_id

где вместо "server" - укажите IP адрес прокси-сервера,
вместо "port" - укажите порт прокси-сервера,
app_id - идентификатор приложения Flatpak.

II. Решение проблемы APT - включение прокси-сервера

Утилиты Linux для командной строки apt-get и apt также умеют работать через прокси-сервер.
Но указывается прокси-сервер одним из способов:

  • отредактируйте файл /etc/apt/apt.conf.d/01proxy или
  • отредактируйте файл /etc/apt/apt.conf.

    sudo nano /etc/apt/apt.conf

Добавьте в него строки:

Acquire::http::Proxy "http://proxy.example.com:8080";
Acquire::https::Proxy "http://proxy.example.com:8080";

где вместо "server" - укажите IP адрес прокси сервера,
вместо "port" - укажите порт прокси.

Использование прокси-сервера с именем пользователя и паролем

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

"http://username:password@server:port";

где username - имя пользователя, password - пароль,
вместо "server" - укажите IP адрес прокси-сервера,
вместо "port" - укажите порт прокси-сервера.


Источники:



Verwandte Veröffentlichungen