Nix
複製建構器程序:使用 Nix(Linux 下)更新通道時不允許操作
我使用 Arch Linux
4.19.15-1-lts #1 SMP Sun Jan 13 13:53:52 CET 2019 x86_64 GNU/Linux
。我也安裝了 Nixnix-env (Nix) 2.2
:.在最近更新 version 之前,我從來沒有遇到過任何問題
2.2
。我總是通過以下兩個步驟進行升級/更新:$ nix-channel --update ... $ nix-env --upgrade ...
…但是在最近的
2.2
更新之後,我再也找不到nix-channel --update
工作的方法了。我總是收到這些錯誤:error: cloning builder process: Operation not permitted error: unable to start build process error: program '/nix/store/876x7a35qbn3q062b6zcz6va88m0990d-nix-2.2/bin/nix-env' failed with exit code 1
…即使我回滾以前的操作:
$ nix-channel --update unpacking channels... error: cloning builder process: Operation not permitted error: unable to start build process error: program '/nix/store/876x7a35qbn3q062b6zcz6va88m0990d-nix-2.2/bin/nix-env' failed with exit code 1 $ nix-channel --rollback switching from generation 40 to 39 $ nix-channel --update unpacking channels... error: cloning builder process: Operation not permitted error: unable to start build process error: program '/nix/store/876x7a35qbn3q062b6zcz6va88m0990d-nix-2.2/bin/nix-env' failed with exit code 1
這是我在更新列表中的內容:
$ nix-channel --list nixpkgs https://nixos.org/channels/nixpkgs-unstable
…最終我什至無法刪除它:
$ nix-channel --remove nixpkgs uninstalling 'nixpkgs-19.03pre165281.7d864c6bd63' error: cloning builder process: Operation not permitted error: unable to start build process error: program '/nix/store/876x7a35qbn3q062b6zcz6va88m0990d-nix-2.2/bin/nix-env' failed with exit code 1
我想避免重新安裝。
更新
我等不及了!哦:)
我繼續刪除了目前的安裝……當我進行全新安裝時,我基本上得到了相同的結果:
$ sh <(curl https://nixos.org/nix/install) --no-daemon % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 2476 100 2476 0 0 5417 0 --:--:-- --:--:-- --:--:-- 5406 downloading Nix 2.2.1 binary tarball for x86_64-linux from 'https://nixos.org/releases/nix/nix-2.2.1/nix-2.2.1-x86_64-linux.tar.bz2' to '/tmp/nix-binary-tarball-unpack.n5vqvsi4Uq'... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 22.5M 100 22.5M 0 0 4016k 0 0:00:05 0:00:05 --:--:-- 4377k Note: a multi-user installation is possible. See https://nixos.org/nix/manual/#sect-multi-user-installation performing a single-user installation of Nix... directory /nix does not exist; creating it by running 'mkdir -m 0755 /nix && chown x80486 /nix' using sudo [sudo] password for x80486: copying Nix to /nix/store................................. initialising Nix database... Nix: creating /home/x80486/.nix-profile installing 'nix-2.2.1' error: cloning builder process: Operation not permitted error: unable to start build process /tmp/nix-binary-tarball-unpack.n5vqvsi4Uq/unpack/nix-2.2.1-x86_64-linux/install: unable to install Nix into your default profile
…所以看起來,一般來說,Linux(或特別是使用的發行版)和 Nix 發生了一些事情。
遵循此評論中的建議可以解決問題:
sysctl kernel.unprivileged_userns_clone=1
Nix 為 clone 使用了很多標誌,主要是為了分離一些 linux 命名空間。我希望您的系統不支持其中一些非特權程序。IIRC 一些發行版出於安全考慮選擇了它。