2026年8月16日(日)掲載 3,609本日 42
HN233

Zshの履歴が消える?データ紛失バグの原因を徹底解明してみた

Tracking down a Zsh history data loss bug

ingve約11時間前

議論

4
1aclindsa約9時間前

いい仕事だね!zshの履歴が消えたかもって思ったことはあったけど、実際に調べたことはなかったな。

2mmh0000約9時間前

自分はもう10年近くzshの履歴を溜め込んでる。記事を読んで、過去にそのバグを踏んでた可能性があることに気づいたよ。しかも読み進めてたら、著者がうっかりHISTFILE[1]をエクスポートしてたって話が出てきて、ゾッとしてPCに駆け寄った。ずっとやってたミスに気づいたんだ…。このブログを読んだことに、喜びと悲しみが両方入り混じってるよ。

[1] https://github.com/stapelberg/configfiles/commit/32dcda0f49ab619592068bf911ffbecc391c8b34

3TZubiri約9時間前

zshってデフォルトでコマンド数2000の制限があるの?そんな初期設定のシステムには期待できないよ。伝統は尊重するけど、コマンド履歴をシステムに依存するならbash_historyを読み込むような仕組みじゃダメだね。インクリメンタルな改善じゃなくて、革命が必要だよ。

追伸:自分はサイズも行数も無制限にしてるけど、これはフォレンジックレベルの監査ログじゃないからね。OSレベルかsshコマンドロガーが必要だし、できれば外部ディスクに書き出すのがいい。少なくともroot管理下のファイルであるべきで、ユーザー所有のファイルにしておくべきじゃない。セキュリティは攻撃者から守るだけじゃなくてバグからも守るためのものだから、ユーザーが自分の履歴を削除できないようにすべきなんだ。そうじゃないなら、慣性と怠慢で引きずっている誤ったアーキテクチャだよ。