Як підтримувати Filemote в актуальному стані
Будь-яке встановлення перевіряє оновлення один раз під час старту, а потім раз на добу. Що відбувається далі, залежить від платформи, бо умови в них справді різні: у Windows є вікно, щоб запитати вас, а в сервера на Linux — немає.
Windows: запитує конфігуратор
У Windows оновленнями керує конфігуратор, а агент навмисно мовчить, щоб ви не отримали два запити чи два установники, що працюють водночас.
Коли з'являється новіша версія, ви отримуєте діалог із двома варіантами:
- Встановити — завантажує випуск з індикатором поступу, потім закриває застосунок, щоб установник міг замінити файли, які інакше заблоковані. Далі все робить установник.
- Пропустити — запам'ятовує саме цю версію й перестає про неї запитувати. Пізніша версія запитає знову.
Linux і macOS: цим займається агент
Запитувати ніде, тому агент завантажує й застосовує оновлення сам.
Він не заважатиме вам: поки триває передавання файлів, він пише в журнал transfers in progress — deferring to the next check і лишає оновлення до наступного циклу.
Перш ніж щось замінити, агент перевіряє, чи вистачає вільного місця на диску, і звіряє
SHA-256 завантаженого файлу. Замінивши бінарник, він запускає новий із --version і
порівнює вивід; якщо ця перевірка не проходить, повертається попередній бінарник, а
оновлення скасовується.
Коли каталог встановлення належить root
Агент працює від вашого користувача, а /opt/filemote належить root, тому туди він
встановити не може. Перевіряє він це, реально намагаючись записати файл — біти прав досить
часто брешуть на змонтованих лише для читання розділах і в контейнерах, — і коли каталог
недоступний для запису, завантажує й перевіряє оновлення, розпаковує його в
/tmp/.filemote-update і записує в журнал єдину команду, яка доводить справу до кінця:
sudo /opt/filemote/apply-update.sh /tmp/.filemote-update
Цей скрипт зупиняє службу, зберігає старий бінарник, доки новий не пройде перевірку запуском, відкочується, якщо той її не пройшов, оновлює джерела AI-сервісу і знову запускає службу.
В архівах аж до 1.11.0 включно apply-update.sh був відсутній, тому на тих
встановленнях команда вище вказує на неіснуючий файл. Доки ви не перейшли на новішу збірку,
оновлюйтесь повторним запуском скрипта встановлення з нового архіву:
tar xzf filemote-<нова-версія>-linux-x64.tar.gz
cd filemote-<нова-версія>-linux-x64
sudo ./install.sh
Повторний запуск скрипта зберігає ваші налаштування та завантажені моделі.
Що замінює оновлення
Лише дві речі: бінарник агента та джерела AI-сервісу. Правило влаштоване як список дозволеного, а не список винятків, тому жодна майбутня зміна структури архіву не зможе непомітно почати перезаписувати щось інше.
Оновлення ніколи не чіпає:
app_settings.json— ваш вхід, прив'язаний токен і відкриті теки;models— завантажені AI-моделі, найдорожчу частину;knowledge_base— усе, що ви проіндексували;- маркер, який фіксує, які Python-залежності встановлено.
У Windows та сама гарантія працює з іншої причини: оновлення на місці ніколи не запускає деінсталятор, тому приватний Python, моделі та налаштування лишаються на місці.
Якщо нова версія змінила вимоги до Python, AI-сервіс помітить це й перевстановить залежності під час наступного запуску AI.
Портативна збірка та ClickOnce
- Портативна збірка не має механізму оновлення. Завантажте новий архів і замініть теку.
- Збірка ClickOnce оновлює себе під час кожного запуску — заради цього вона й існує.
Як це вимкнути
Встановіть UpdateCheckEnabled у false в app_settings.json, щоб узагалі перестати
перевіряти, або перемикайте UpdateChannel між stable і beta. Обидва поля описані у
статті налаштування агента вручну.
Зрідка випуск позначається як такий, що перебуває нижче підтримуваного порогу. Такі записуються в журнал із поміткою «встановіть якнайшвидше» — зазвичай це виправлення безпеки — і їх варто ставити, навіть якщо зазвичай ви оновлення відкладаєте.
Оновлено 2026-07-31