我用尼克斯操作系统:
$ 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