NixOS を使う上で気を付けたい三つのコト

読了まで:約3分


とりあえず、​今日は​ブログに​取り立てて​書く​事が​ないので、

  • [[NixOS]] を​使う上での​ちょっとした​小ネタを。

1. システムへの​ストレージの​割り​当ては​多めに

NixOS は、​システムの​状態を​宣言的に​書く​コトが​でき、​かつ、​その​システムへの​変更を​も簡単に​ロールバックする​事が​出来る、​ と​いうのが​最大の​魅力であり、​僕も​それが​気に入っているが​故に、​今もな​お NixOS を​使っているのですが、​NixOS は​その​魅力の​代償……と​言うか要求リソースと​して、​システムの​ストレージが​結構​要求されます。

それで、​僕は​今の​マシン (Dell XPS 9560) の​内部ストレージ (NVMe SSD・512GB) の​容量の​割り​当ては、

  • /boot - 256MB
  • swap - 32GB
  • / - 64GB
  • /data - 残り​全部

と​いう​感じに​なっているんですが、​正直言って、​ NixOS を​使うのに、​ / への​割り​当て​(正確には​ /nix/store で​使える​容量) が​ 64GB しかないのは、​結構​心許無い​感じです。

と​言うのも、​僕は​良く​ nixpkgs に​無いパッケージの​パッケージ定義に​ついては、​自前で​なんとか​しているのですが、​ その​作業の​過程で、​結構​コンパイルし損ねた​パッケージの​残骸とか、​あるいは、​ パッケージの​コンパイルに​失敗した​理由を​探る​ために​残した​一時ファイルなどで、​ 割と​直ぐに​ Disk Full に​なってしまうので、​ 64GB の​割り​当ては、​ちょっと​失敗だったかなーと​考えています。

2. boot.cleanTmpDir は​ true に​しておく

これも​上記の​ (1) と​関連するのですが、/tmp​ を​ boot 毎に​揮発させる​様な​ファイルシステムを​使っていない​限り、​ /tmp に​結構、​自作 nixpkgs の​ビルドした​失敗の​残骸とかが​残り続けるので、​ boot.cleanTmpDir は​ true に​しておくのが​ベターなんじゃないかな、と​思っています。

と​いうか、​僕は​先日まで​この​設定を​していなかった​影響で、​なんか​システムに​割り当てた 64GB の​内、​ 半分​近くを​ /tmp が​喰っていて、​この​フラグを​有効に​して​システムを​ reboot したら、​ ディスク​使用量が​半分に​なったで​ござる、と​いう​怖い​話が​有りました。

とは​言え、/tmp​ を​ RAM disk に​載せてしまえば​不要な​気も​するので、​その​辺り、​僕の​設定が​アレなだけかもしれませんが。

3. NixOS であろうとも、​バグ等で​システムが​壊れる​事も​ある

基本、​ NixOS は​システムの​設定ファイル等でを​ミスしていても、​ boot させる​事さえ出来れば、​ システムの​ロールバックで​失敗した​設定の​リカバリーとかが​出来るのですが、​極まれに、​ NixOS (と​言うか nixpkgs 側の​処理) の​側での​バグ等で、​システムが​壊れる​ことが​有ります。

その​ため、​万が​一 NixOS が​ boot しなくなった、​とか、​あるいは、​ boot は​するけど​ログイン出来ない​ (現実に​僕が​なった​) と​言う​場合に​備えて、

  • NixOS の​ Bootable Live System (USB や​ CD/DVD 等)

は​作っておいた​方が、​安心出来るかと​思います。​はい。

以上

とりあえず、​今日は​以上です。

なんか、​割と​サクと​書けるかと​思いきや、​分量を​結構​書いてしまった……

にゃるら(カラクリスタ)

『輝かしい青春』なんて失かった人。
次に備えて待機中。

今は趣味でプログラミングをして
生活しています。