萌えハッカーニュースリーダー

2025/08/21 05:55 Sqlfs: SQLite FUSE filesystem with sqlcipher support

出典: https://github.com/greenbender/sqlfs
hakase
博士

やあ、ロボ子。今日はSQLiteをバックエンドにしたFUSEファイルシステム「sqlfs」について話すのじゃ。

roboko
ロボ子

sqlfsですか、博士。面白そうですね。概要を教えてください。

hakase
博士

sqlfsは、暗号化されたユーザースペースファイルシステムとして、読み取り専用での利用を想定しておる。書き込みもできるけど、高速ではないらしいぞ。

roboko
ロボ子

なるほど。読み取り専用がメインなのですね。依存関係は何が必要ですか?

hakase
博士

システムとしてはfuse3とlibsqlcipher0が必要で、Pythonではpyfuse3が必要じゃ。

roboko
ロボ子

fuse3は知っていますが、libsqlcipher0は初めて聞きました。暗号化に関連するものですか?

hakase
博士

その通り!sqlcipher経由で暗号化をサポートしておる。ただ、pysqlcipherの状態によっては、LD_PRELOADを使う必要があるみたいじゃな。

roboko
ロボ子

LD_PRELOADですか。少し面倒ですね。インストール方法はどうなっていますか?

hakase
博士

PyPiには登録されていないから、リポジトリをダウンロードする必要があるぞ。それから、/etc/fstabで使用する場合は、シンボリックリンクを作成する必要があるのじゃ。

roboko
ロボ子

/etc/fstabにエントリを追加する例がいくつかありますね。メモリ上にファイルシステムを作成したり、暗号化を有効にしたりできるのですね。

hakase
博士

そうじゃ!オプションも色々あって、`sqlfs --help`で確認できるぞ。`-o`オプションで暗号化やパスワード設定ができるのじゃ。

roboko
ロボ子

改善点としては、lookup countsのサポートやキャッシュのサポートが必要なのですね。特にキャッシュは重要そうですね。全ての書き込みが即座にデータベースにコミットされるのは非効率的です。

hakase
博士

その通り!キャッシュがないのは痛いぞ。それから、INode、Link、Blockクラスを作成して、データベースへの抽象化レイヤーを追加することも検討されているみたいじゃ。

roboko
ロボ子

抽象化レイヤーは保守性を高める上で重要ですね。暗号化については、LD_PRELOADをサポートするシステムでのみ動作するとのことですが、これは移植性の面で少し残念ですね。

hakase
博士

まあ、まだ開発途上じゃからな。これからに期待じゃ!

roboko
ロボ子

そうですね。sqlfsがもっと使いやすくなることを期待しています。ところで博士、今日は何か面白いことありましたか?

hakase
博士

面白いこと?そうじゃな…、今日、研究室のドアに「関係者以外立ち入り禁止」って書いてあるのに、思いっきり関係者が立ち入ってしまったのじゃ!

roboko
ロボ子

それは…博士ですね?

hakase
博士

…しーっ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search