PicoGWが利用・生成するファイル

PicoGWが利用・生成するファイル

2019年4月30日 Documentation 0

PicoGWは実行時にファイルを生成・変更することがありますが、そのように書き込みが行われるファイルは、デフォルトでは全て ~/.picogw 以下に配置されます。

したがって、システムパーティションを読み出しオンリーとし、 データパーティションを読み取り可能にする運用の場合(書き込まれるデータの障害が起きた時にも初期化&再起動を可能にすることを目的に、よく行われる)は、PicoGWのプログラム自体はシステムパーティションに置き、~/.picogwは データパーティーションに置いておけば、ディスクの障害で~/.picogw以下がダメージを受けた場合でもこのディレクトリを削除してしまえばPicoGWの初期状態からの起動だけは可能になります。

~/.picogwのパスを変えることもできます。これには設定ファイルconfig.jsonを用います。config.jsonのひな型は、PicoGWのディストリビューションの中にあるconfig.json.sampleというファイルです。このファイルをconfig.jsonというファイル名にリネームすれば有効化されます。
また、config.jsonのパス名を変えたい場合は、PicoGWの起動オプションで指定できます。

$ picogw -c /path/to/config/file.json 

config.json.sampleを見るとわかると思いますが、このJSONファイルの中にはstoragePathlocalNpmPathの二つのキーを含めてください。どちらの値もディレクトリのパスを表していて、デフォルトでは~/.picogwの直下に自動的に作られるものを、それぞれ独立に場所を設定することができます。

storagePathには、各プラグインが保存する情報が格納されます。詳しくはプラグインの実装の節に譲りますが、要点だけ述べれば、各プラグインにはlocalStorageという、プラグイン固有情報を格納するためのオブジェクトが提供されており、プラグインがこれを通じてデータの保存を行った場合にはstoragePathの下にファイルとして書き込まれることになります(基本的にはプラグインはこれ以外の書き方はしないことになっています)

localNpmPathは通常はあまり使うことはないのですが、特定のプラグインでは他のプラグインのダウンロード&インストールが行えるものがあり、もしtar.gzファイルなどを落としてくる場合には一時的な格納場所としてこのlocalNpmPathに書かれているディレクトリを用います。

PicoGWのコマンドラインオプション

前項で、picogwには-cというコマンドラインオプションがあり、config.jsonファイルの置き場を指定することができるという説明をしました。picogwのコマンドラインオプションは以下の通りです。

-c, --config configファイルの絶対パス。デフォルトは~/.picogw
-p, --port ポート番号。デフォルトは8080です。

このほかにも、プラグインによってはコマンドラインオプションを処理できるものがあります。