Перейти до змісту

12. Встановлюємо StudioFS на Linux

Work in progress

На Linux StudioFS підключає сховище через FUSE3. Цей компонент дозволяє програмі показати файли із S3 як звичайну папку: монтажна програма бачить шлях до матеріалів, а StudioFS займається їхнім отриманням і збереженням.

У цій главі підготуємо систему, завантажимо StudioFS і перевіримо запуск. Створення тому та справжнє підключення сховища залишимо наступним главам. Папка для майбутнього диска поки що буде порожньою — це нормально, матеріали ще не приїхали.

Який Linux підійде?

StudioFS тестували на Ubuntu 24.04 і Rocky Linux 9.4. На інших дистрибутивах Linux він має працювати, але ми їх не перевіряли; набір і назви системних пакунків можуть відрізнятися.

Для встановлення системних пакунків потрібні права адміністратора. Сам StudioFS працюватиме від звичайного користувача.

Встановлюємо системні залежності

Ubuntu 24.04

Відкрийте термінал і виконайте:

sudo apt-get update
sudo apt-get install -y fuse3 libfuse3-3

Це системні бібліотеки й утиліти, потрібні для запуску програми та підключення FUSE3.

Rocky Linux 9.4

Потрібні пакунки надходять зі стандартних репозиторіїв Rocky Linux; EPEL та CRB не потрібні.

sudo dnf install -y fuse3 fuse3-libs

Якщо пакунок не знаходиться, спочатку перевірте доступність репозиторіїв і версію системи. Не замінюйте FUSE3 на старий FUSE2: StudioFS використовує саме третю версію.

Індикатор робочого столу у 0.2.1

Трей Linux використовує KSNI/StatusNotifierItem через сеансову шину D-Bus; бібліотеки GTK3, GLib, libxdo та AppIndicator більше не потрібні StudioFS. Іконку показує сумісне середовище, наприклад KDE Plasma. У GNOME увімкніть розширення AppIndicator/KStatusNotifierItem; спливні підказки можуть не відображатися. Якщо watcher запускається пізніше або перезапускається на тій самій шині, бекенд реєструється знову. Без сумісного хоста або сеансової шини підключення працює без трею. Якщо процес трею зависає в D-Bus, після двосекундного очікування завершення його примусово зупиняють; результат монтування зберігається. Відсутність іконки не підтверджує завершення синхронізації. Старі збірки 0.2.0 зберігають вимоги до GTK/AppIndicator.

Перевіряємо FUSE3

Для обох систем перевірка однакова:

fusermount3 --version
ls -l /dev/fuse

Перша команда перевіряє, що утиліта fusermount3 доступна. Друга показує пристрій ядра, через який відбувається підключення.

Якщо /dev/fuse відсутній на звичайній Linux-системі, адміністратор може спробувати завантажити модуль:

sudo modprobe fuse

Після цього повторіть перевірку пристрою. У контейнері або обмеженому середовищі одного встановлення пакунків недостатньо: хост має надати доступ до /dev/fuse і дозволити підключення FUSE. Якщо це керований сервер, таку зміну має зробити його адміністратор.

Завантажуємо StudioFS

Відкрийте сторінку випусків StudioFS і завантажте збірку для своєї системи та архітектури. Якщо файл упаковано в архів, розпакуйте його. У команді install замініть /path/to/studiofs на шлях до завантаженого виконуваного файла:

mkdir -p "$HOME/.local/bin"
install -m 755 "/path/to/studiofs" "$HOME/.local/bin/studiofs"
export PATH="$HOME/.local/bin:$PATH"
studiofs --version
studiofs --help

Команда export діє в поточному терміналі. Щоб шлях зберігся після його закриття, додайте цей рядок до файлу налаштувань своєї оболонки, якщо такого запису там ще немає. Для Bash це зазвичай ~/.bashrc. Потім відкрийте новий термінал і повторіть studiofs --version.

Якщо раніше вже встановлювали StudioFS, перевірте, який файл запускається:

command -v studiofs

У цьому прикладі очікуємо шлях до studiofs у вашій папці .local/bin. Інший шлях може означати, що термінал знаходить попередню копію раніше за нову.

Готуємо папку для підключення

Створіть каталог /mnt/StudioFS і передайте його у власність свого користувача, щоб StudioFS міг створювати в ньому точки монтування:

sudo mkdir -p /mnt/StudioFS
sudo chown "$(id -un):$(id -gn)" /mnt/StudioFS
ls -ld /mnt/StudioFS

Для тому studio фактична точка монтування буде /mnt/StudioFS/studio: StudioFS додає назву тому до вказаного каталогу. Не складайте в неї матеріали до підключення: звичайні локальні файли не стануть файлами тому автоматично, а після підключення вміст папки буде приховано за змонтованою файловою системою.

Запускайте StudioFS від того самого користувача, який працюватиме з матеріалами. Не потрібно робити папку доступною всім через chmod 777 або запускати програму через sudo, щоб обійти незрозумілу помилку доступу. Спочатку перевірте власника папки та доступ до /dev/fuse. Ці приклади готують підключення для вашого користувача; доступ інших облікових записів потребує окремої перевірки прав.

Якщо щось не запускається

  • Повідомлення про відсутню системну бібліотеку. Переконайтеся, що встановлені системні пакунки з розділу вище.
  • studiofs: command not found. Запустіть файл за повним шляхом "$HOME/.local/bin/studiofs" --version і перевірте налаштування PATH.
  • Помилка доступу до FUSE. Перевірте наявність /dev/fuse, права на нього та обмеження середовища. У контейнері це часто питання налаштування хоста.

Успішні --version і --help означають, що консольна програма запускається. Вони ще не перевіряють підключення файлової системи, PostgreSQL чи S3. Ці перевірки зробимо під час створення та підключення першого тому.

Що далі?

Тепер є програма, FUSE3 та місце для майбутнього диска. У наступній главі створимо перший том командою studiofs init і з’єднаємо підготовлені раніше PostgreSQL та S3 в одне робоче сховище.


Зміст · English · ← Попередня · Наступна →