デリバティブを作成した後、デリバティブのサイズを計算できますか?たとえば、ポストでnixos-rebuild
新しい派生が占める空間はどれくらいになるのか、以前のビルドによるストレージの節約を除外しますか?
答え1
欲しいかもしれませんnix path-info
(例えばemacsの場合):
$ nix-build -A emacs '<nixpkgs>'
$ nix path-info -Sh ./result
/nix/store/3l9lddwxz1mayaxvw8iy50ygzzfh1s1b-emacs-27.2 470.4M
~からニックス修正情報履歴:
nix path-info
保存パスに関する情報を表示しますnix-store -q
。便利な機能はオプション--closure-size
(-S
)です。たとえば、次のコマンドは、現在のNixOSシステムクロージャの各パスのクロージャサイズをサイズでソートして表示します。nix path-info -rS /run/current-system | sort -nk2
また見てくださいニックス設置マニュアル。
答え2
この試み:
nix-store -q --requisites `nix-build --no-out-link '<nixpkgs>' -A vim` | sort -uf | xargs du -ch | tail -1
私も次のことを見たいです。
for p in /nix/var/nix/profiles/system* /nix/var/nix/profiles/per-user/$USER/profile*
do
echo -n $p" ⇒ "
nix-store -q --requisites $p | sort -uf | xargs du -ch | tail -1
done
明らかに派生した転移的クロージャーのサイズは大きく重なるため(共有ライブラリなど)、これらの数は常に全体のスペース使用量を超えるように増加します。それでもまだ便利です。