파생 상품을 만든 후 파생 상품의 크기를 계산할 수 있나요? 예를 들어 포스트에서 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
분명히 파생된 전이적 클로저의 크기는 크게 겹치므로(공유 라이브러리 등), 이러한 숫자는 항상 전체 공간 사용량을 초과하도록 증가합니다. 그래도 여전히 유용합니다.