
我用尼克斯作業系統:
$ nixos-version
16.03pre71289.7ae05ed (Emu)
$ nix-env --version
nix-env (Nix) 1.10
$ nix-channel --list
$ sudo nix-channel --list
nixos https://nixos.org/channels/nixos-unstable
nix-env
透過輸出資訊安裝某些東西,例如:
$ nix-env -i rogue
installing ‘rogue-5.4.4’
these paths will be fetched (0.09 MiB download, 0.28 MiB unpacked):
/nix/store/rvkjrq24fy510m9dwd12lhry1zkx57iy-rogue-5.4.4
fetching path ‘/nix/store/rvkjrq24fy510m9dwd12lhry1zkx57iy-rogue-5.4.4’...
*** Downloading ‘https://cache.nixos.org/nar/0jpxvn40r27zz9pz54kvfrsy2lwafysbpr6pkhkafizzxqgb2a0c.nar.xz’ (signed by ‘cache.nixos.org-1’) to ‘/nix/store/rvkjrq24fy510m9dwd12lhry1zkx57iy-rogue-5.4.4’...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 95184 100 95184 0 0 104k 0 --:--:-- --:--:-- --:--:-- 104k
building path(s) ‘/nix/store/y8z7yi655sslnmx4b7zb1vaqp49ac8i6-user-environment’
created 839 symlinks in user environment
閱讀尼克斯手冊建議的nix-store
命令,但我不知道如何使用它。
如何查看我曾經安裝過的日誌nix-env
?如何查看我曾經安裝過的日誌sudo nixos-rebuild switch
?
答案1
據我所知,nix 沒有日誌。我猜測排除 every-other-package-manager-ever 的此功能的原因是 nixos 是聲明性的而不是命令性的,因此它所經歷的將系統從一種狀態轉變為另一種狀態的過程應該無關緊要。
這讓我們想到了我懷疑你真正想知道的事:如何將當前一代與上一代進行比較?
我發現了nixos 腳本'diff-generations
命令對此非常有幫助。例如,如果您使用的是第 115 代,則可以透過以下方式取得已安裝軟體套件的差異:
nix-script diff-generations -s -n 114..115