Алиса говорит: Установка Flatpak в Linux с переносом программ на другой диск (для пользователя и системы).

В Linux Flatpak по умолчанию устанавливает программы в:

  • Системные приложения/var/lib/flatpak
  • Пользовательские приложения~/.local/share/flatpak

Если нужно перенести их на другой диск (например, /mnt/название_диска), выполните следующие шаги.

!!! Резервное копирование: Перед любыми изменениями (особенно системными) сделайте резервную копию важных данных. Если что-то пойдет не так, вам будет проще восстановить систему.


1. Установка Flatpak (если ещё не установлен)

ALT Linux:

su-
apt-get install flatpak

Debian/Ubuntu/Mint:

sudo apt update 
sudo apt install flatpak

Fedora:

sudo dnf install flatpak

Arch Linux/Manjaro:

sudo pacman -S flatpak

openSUSE:

sudo zypper install flatpak

Другие дистрибутивы: Инструкции для других дистрибутивов можно найти на официальном сайте Flatpak: https://flatpak.org/setup/

Добавление репозитория Flathub

Flathub — это популярный репозиторий приложений для Flatpak.

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

2. Перенос системных Flatpak-приложений (для root)

Вариант 1: Симлинк (рекомендуется)

  1. Смонтируйте нужный раздел (например, /mnt/data).
  2. Создайте папку для Flatpak и скопируйте данные:
   sudo mkdir -p /mnt/название_диска/flatpak-system
   sudo cp -r /var/lib/flatpak/* /mnt/название_диска/flatpak-system/
  1. Удалите старую папку и создайте симлинк:
   sudo rm -rf /var/lib/flatpak
   sudo ln -s /mnt/название_диска/flatpak-system /var/lib/flatpak
  1. Проверьте права:
   sudo chown -R root:root /mnt/название_диска/flatpak-system
   sudo chmod -R 755 /mnt/название_диска/flatpak-system

Вариант 2: Изменение переменной окружения (если не хотите симлинк)

sudo flatpak config --set system-installation-path /mnt/название_диска/flatpak-system

(Но не все версии Flatpak поддерживают это.)


3. Перенос пользовательских Flatpak-приложений

Вариант 1: Симлинк (лучший способ)

  1. Создайте папку на другом диске:
   mkdir -p /mnt/название_диска/flatpak-user
   cp -r ~/.local/share/flatpak/* /mnt/название_диска/flatpak-user/
  1. Удалите старую папку и создайте симлинк:
   rm -rf ~/.local/share/flatpak
   ln -s /mnt/название_диска/flatpak-user ~/.local/share/flatpak
  1. Проверьте права:
   chown -R $USER:$USER /mnt/название_диска/flatpak-user
   chmod -R 700 /mnt/название_диска/flatpak-user

Вариант 2: Изменение переменной окружения (для пользователя)

flatpak config --set installation-path /mnt/название_диска/flatpak-user

(Но не все программы корректно работают с этим.)


4. Проверка, что всё работает

  1. Установите тестовое приложение (например, GIMP):
   flatpak install flathub org.gimp.GIMP
  1. Проверьте, куда оно установилось:
   flatpak list --app --columns=application,installation
  • Если путь /var/lib/flatpak → системные приложения.
  • Если путь ~/.local/share/flatpak → пользовательские.

5. Автомонтирование диска (если нужно)

Способ 1: Используйте программу Диски(gnome-disk-utility) в ней:

  • выбираете диск
  • заходите в настройки диска(шестеренки)
  • изменяете параметры монтирования выключив параметры по умолчанию
  • перезагружаете компьютер

Способ 2. Чтобы при перезагрузке раздел автоматически подключался, добавьте его в /etc/fstab:

  1. Узнайте UUID диска:
   lsblk -o NAME,UUID,MOUNTPOINT
  1. Добавьте запись в /etc/fstab:
   UUID=ваш-uuid /mnt/название_диска ext4 (или другая FS) defaults 0 2
  1. Примените:
   sudo mount -a

6. Возможные проблемы и решения

Если Flatpak не видит папку:

sudo chmod -R 755 /mnt/data/flatpak-system  # для системных
chmod -R 700 /mnt/data/flatpak-user         # для пользователя

Приложения не запускаются

Проверьте, что библиотеки на месте:

flatpak repair
flatpak update

Не хватает места

Удалите старые версии:

flatpak uninstall --unused

  • Симлинки (ln -s) — самый надёжный способ переноса.
  • Изменение installation-path работает не всегда.
  • Проверяйте права (chown, chmod).

Теперь Flatpak будет устанавливать программы на выбранный диск! 🚀