Filemote を最新に保つ

どのインストールも起動時に一度、その後は 1 日に一度更新を確認します。そのあと何が起きるかは プラットフォームによって違います。制約が本当に異なるからです。Windows には尋ねるための ウィンドウがあり、Linux サーバーにはありません。

Windows:設定ツールが尋ねる

Windows では更新を設定ツールが担当し、エージェントは意図的に黙っています。おかげで確認が 2 つ出たり、インストーラーが同時に 2 つ動いたりすることはありません。

新しいバージョンがあると、2 つの選択肢を持つダイアログが出ます:

  • インストールは進捗バー付きでリリースをダウンロードし、その後アプリケーションを終了します。 そうしなければロックされたままのファイルをインストーラーが置き換えられるようにするためです。 あとはインストーラーが引き受けます。
  • スキップはそのバージョンだけを記憶し、以後それについては尋ねません。より新しいバージョンが 出れば再び確認します。

Linux と macOS:エージェント自身が行う

尋ねるウィンドウが無いため、エージェントが自分で更新をダウンロードして適用します。

作業の邪魔はしません。ファイル転送が進行中のあいだは transfers in progress — deferring to the next check とログに記し、更新は次の周期に回します。

何かを置き換える前に、エージェントは十分な空きディスク容量があるかを確認し、ダウンロードの SHA-256 を検証します。バイナリを置き換えたあとは新しいものを --version で実行して出力を比較し、 このスモークテストに失敗した場合は元のバイナリを戻して更新を中止します。

インストール先が root 所有の場合

エージェントはあなたのユーザーとして動きますが /opt/filemote は root のものなので、そこには インストールできません。判定は実際にファイルを書いてみることで行います——読み取り専用マウントや コンテナでは、パーミッションのビットが嘘をつくことが十分にあるからです——書き込めないと分かると、 更新をダウンロードして検証し、/tmp/.filemote-update に展開したうえで、仕上げに必要な 1 行の コマンドをログに残します:

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

スクリプトを再実行しても、設定とダウンロード済みのモデルは保たれます。

更新が置き換えるもの

2 つだけです。エージェントのバイナリと AI サービスのソースです。この規則は除外リストではなく 許可リストとして作られているため、アーカイブの構成が将来どう変わっても、ほかのものを黙って 上書きし始めることはありません。

更新が決して触れないもの:

  • app_settings.json —— ログイン情報、ペアリング済みトークン、共有フォルダー;
  • models —— ダウンロード済みの AI モデル。最も高くつく部分です;
  • knowledge_base —— インデックス化したものすべて;
  • どの Python 依存関係が入っているかを記録するマーカー。

Windows でも同じ保証が別の理由で成り立ちます。上書きアップグレードはアンインストーラーを決して 実行しないため、専用の Python、モデル、設定はすべて残ります。

新しいバージョンで Python の要件が変わっていた場合、AI サービスはそれに気づき、次に AI を起動する ときに入れ直します。

ポータブル版と ClickOnce

  • ポータブル版に更新機能はありません。新しいアーカイブを ダウンロードしてフォルダーを入れ替えてください。
  • ClickOnce 版は起動のたびに自身を更新します——それこそが この版の存在理由です。

更新確認をやめる

app_settings.json の UpdateCheckEnabled を false にすると確認そのものを止められます。 UpdateChannel は stable と beta を切り替えます。どちらの項目も エージェントを手動で設定するで説明しています。

まれに、サポート下限を下回るとしてマークされるリリースがあります。それらは「できるだけ早く インストールしてください」としてログに残ります——たいていはセキュリティ修正です——普段は更新を 先延ばしにしている場合でも、対応する価値があります。

2026-07-31 に更新

解決しない場合はサポートへ