解决方案

解决方案

由于架构不同,我们在 Mac OS X 上使用 NixOps 时遇到了问题:

x86_64-darwin (vs.) x86_64-linux

我们根据本手册建立了主机设置:

问题。在 Linux 上,我会使用:strace -f -e execve nixops ...查看调用了哪些程序,或者至少查看调用这些程序时使用了哪些参数。如何找出返回了意外的文件结束错误?

错误。我们看到 nixops 想要使用 buildhost 并输出:

nixops deploy -d test -I nixpkgs=/Users/josh/.nix-defexpr/channels/nixos/ --show-trace
building all machine configurations...
using predefined remote systems file: /Users/josh/sample_clj/remote-systems.conf
these derivations will be built:
  /nix/store/85hnzp3jmrm34jd3lzjf5d7i8sqlvbd4-pam-environment.drv
  /nix/store/013p0nb0iynrz0sb1y9l6w25n8ydmjph-sudo.pam.drv
  /nix/store/03wzv8y1yv51nj119lgimfm44lffnvxl-unit-script.drv
  /nix/store/0712xdzwdf63cv63lycdx6sqd6j6x703-issue.drv
  /nix/store/9d0jrm4158i0dh157xdyjpjqlwb8z68r-unit-script.drv
  /nix/store/0753r878n6j5cw05bx8j7vvd2pqdzbax-unit-nixos-upgrade.service.drv
  /nix/store/0k232qxqgg5il6aigmyhw1s7wywlphfb-etc-subuid.drv
  /nix/store/0ps2s31si6c4rhfavnyr3x1k7dlfj4h4-sshd.pam.drv
  /nix/store/0ylsqnm11xk9hpq9jj3jbi34cw45v01g-etc-nsswitch.conf.drv
  /nix/store/1847n1wj39dzg4varrrrq8j8anq5q4vr-vconsole.conf.drv
  /nix/store/1qfl4qnlpqlr169hnfbfpwcgmq5y94vb-useradd.drv
  /nix/store/mfwd1cicw1lxmbqwn5din4zir9df0vsy-mdadm.conf.drv
  /nix/store/2a12n4csg37pbdasali7rvn0sqy5qi54-kernel-modules-shrunk.drv
  /nix/store/97c4jxy53qfqvw8k2v99nbkwdknz879v-initrd-fsinfo.drv
  /nix/store/mzxzgmrvxmf4cgffp9w7x49syzflknzw-stage-1-init.sh.drv
  /nix/store/1zsacaxbm80kn66cjc9nw5zpjkj5qw11-initrd.drv
  /nix/store/202fwmvli84z2r3zaks5shmc19xx6wp1-unit-network-interfaces.target.drv
  /nix/store/2c95r4imi9d2lxk675n4cb49g5qxy6jl-chsh.pam.drv
  /nix/store/2hxa9b8y73rplk1phyy71rkmqd13swyb-groupmod.pam.drv
  /nix/store/2i9lsv9y4nqs0yv0wyv6aa6dlg2c1d2w-unit-nixops-keys.service-disabled.drv
  /nix/store/2mk45g38gs8lwxdpvyx05r587z25f12h-i3lock.pam.drv
  /nix/store/34za8ycrgnymc4y98zyxlhv9d0jafalk-groupadd.pam.drv
  /nix/store/3df52px99lir5ssn30vh7c8a1nqydabz-unit-local-fs.target.drv
  /nix/store/cy3gcqvw40vbms7hs7lpdi4ywwnnffm8-unit-script.drv
  /nix/store/3f214dbvsqvcpdscgy3gbm25dywjxqn1-unit-nix-gc.service.drv
  /nix/store/3gfqbnfc0i87qy9kz2yw5x0vg2rb1w3g-su.pam.drv
  /nix/store/3kr5ckbxbm4ix7zx2fjazlzn72q22731-nixos.conf.drv
  /nix/store/3m43c4gpndgf1p19vah6090fg9q5lngn-groupdel.pam.drv
  /nix/store/4z4pmxva6ashgv4sr8gc1r2bv1pj0ypa-etc-logind.conf.drv
  /nix/store/3y21wvpq0x0wsaq43vrqpa5zmlpxg694-unit-systemd-logind.service.drv
  /nix/store/3yckn30pxrxmb6g84rgv8c1ll0mia1db-etc-nixos.conf.drv
  /nix/store/gv8rjhs71npjd6z4rfb7jm3v22zkizc0-dbus-catalog.xml.drv
  /nix/store/77cgrfksm4vcgv5fcxwcs71kbv9ppbzf-nixos-help.drv
  /nix/store/rpkh8y2fgnhxrc9550w98yx95fiwx6b2-system-path.drv
  /nix/store/3zl87lpm90771dwffdqrq7cvgqgll4v3-dbus-1.drv
  /nix/store/43i1wc857f7yvk1wya963fmhgr34ab5f-unit-systemd-modules-load.service.drv
  /nix/store/47j8wxgbb12j3jc1mlvxj336aclj5cld-cups.pam.drv
  /nix/store/nbahasdvgagky1bhhzhdjavgn455vr90-unit-script.drv
  /nix/store/4933il5r6hvil21vlh300294rvy58jfy-unit-network-local-commands.service.drv
  /nix/store/crnbwmh8vfrjyjahkds0xzanp55wp7ip-container-init.drv
  /nix/store/4ir2hk0adfn5zxmjlpb2s5nz5nzm6rvs-unit-script.drv
  /nix/store/822rhr0xrfq0ifqkkvzamiizgm5cpk35-unit-script.drv
  /nix/store/4nnxiizd8vljkcjyxc8wlcip1jfbzysy-unit-network-setup.service.drv
  /nix/store/4qnc2sh1gdw623p1xjav1rpysi09p9dn-unit-script.drv
  /nix/store/5mi8j6m0aj1ipdz2x4xxjp5zpvd2krk4-login.pam.drv
  /nix/store/5qgfzc91c8i4l5jhm361mb3h891zlrl8-userdel.pam.drv
  /nix/store/aicdqpqvhbwjfy5w3g9yxjljckmvpl8w-etc-hosts.drv
  /nix/store/j8vya3iy4dz7vkakczzgzjvw1qvjz9q9-unit-script.drv
  /nix/store/nlf2j2cl48hdrlv3jvm407xxx5830r2a-etc-nscd.conf.drv
  /nix/store/626sns8f8y897n67iby6b8p7swb8zyv0-unit-nscd.service.drv
  /nix/store/6iafaag8xnmmrc2xnz4hz7svff2m10bc-unit-acme-selfsigned-certificates.target.drv
  /nix/store/6lw6hi40sf3fzw0yvnd3kdq023ans1ia-etc-host.conf.drv
  /nix/store/7a0jqfk91akdgdbyd9qxdwfhf3prd8lj-etc-subgid.drv
  /nix/store/i5y57jcyngmakjx3axj9y26y5hldd18l-etc-journald.conf.drv
  /nix/store/7c5ad56ccy29bshqd0hnqjc5p3c28d50-unit-systemd-journald.service.drv
  /nix/store/82nc3xa0sbf36g0xkj97dxmhp333vh96-unit-script.drv
  /nix/store/nmm2bayl0889krn87zzhalj5gzk5z3q3-unit-script.drv
  /nix/store/qbgw7c8d45a1m0f0knyh9bc83axia5yh-unit-script.drv
  /nix/store/8ilviqpqjxk70nsh5nldawnvghwxkb2r-unit-acme-selfsigned-uberjar.nixcloud.it.service.drv
  /nix/store/8nm5vfyspnc8k281afypjc0fiixya75b-etc-user.conf.drv
  /nix/store/8slqlyyy0lvhm01qkjisf0ywwyq2myk3-etc-timesyncd.conf.drv
  /nix/store/8smx6mfykzs7far95qlqys0knczdqci5-unit-systemd-timesyncd.service.drv
  /nix/store/9bjcwbz4p9xwbykxr0c2bjb8kfidpm7j-polkit-1.pam.drv
  /nix/store/9fhdfylm8pc97wmxb6dw1ll4hx9w7lsj-unit-systemd-journal-flush.service.drv
  /nix/store/9mjc8vvyfjy4bhbi6kzzjblpz98yi78g-unit-systemd-fsck-.service.drv
  /nix/store/a8c6ygcc9v3803cyykvhcgv4gb4w7kil-unit-nix-daemon.service.drv
  /nix/store/a8kc7kffysc5nn8sv0gpbmgx1qh73pm0-chfn.pam.drv
  /nix/store/adad9izsdy86bbwha63p399z55ziirh8-unit-script.drv
  /nix/store/adkd93pxa3vsn9sih4ll8fkm77chv0v4-unit-console-getty.service-disabled.drv
  /nix/store/ay87p8yzq7gbkbcy8n2qnbyk52j8bsfy-grub-config.xml.drv
  /nix/store/b2vxkd8rccpjnaccbzsqwa7alg7nzw58-unit-dbus.socket.drv
  /nix/store/iy737gcqimhcbd3lqdqfr1c1sc6ik6jd-extra-hwdb-file.drv
  /nix/store/s0as5mqpqignfx7nblw296c54cwg7p9m-extra-udev-rules.drv
  /nix/store/bhwn2qlzg5akx4vkrspfapk39nznr0yb-udev-rules.drv
  /nix/store/d1fj1f31g1ad5vv6ya3zwmxxagmcgjw0-runuser.pam.drv
  /nix/store/dfk4w0rxb8qsszf1vs7i7khapj94g7cr-etc-system.conf.drv
  /nix/store/dvys5b1c9q6vzrshhh64ngj5z5741a8v-other.pam.drv
  /nix/store/f5j0dllyv54z207riwgscw2nm233qm5s-client.conf.drv
  /nix/store/frddp8arycx9mmrvjbd646ybwf3l1jd7-ftp.pam.drv
  /nix/store/gnh35blfq2asnk2d0g7lsi04z5yxbkjj-etc-os-release.drv
  /nix/store/h5mz9v1vj34mlxxnlldh8750fvccmpqi-etc-bashrc.drv
  /nix/store/hfcgf9p3v8g46n5d1vcka2aq1q582wdd-dhcpcd.exit-hook.drv
  /nix/store/hg0iybbbqp9wx1x3hpc8pgbm59rdi9bx-runuser-l.pam.drv
  /nix/store/hwch6qsjwrazdhxh70fabsy2xqlc4zbb-etc-sleep.conf.drv
  /nix/store/k0vby2vrgl4wy8m0ab211d0h8yak3mar-passwd.pam.drv
  /nix/store/ky6dwrqlxq0gbp7p4818vllnlg5xqvjf-usermod.pam.drv
  /nix/store/lz7d9l6rjpbd7csl9yx5hgyhah9izhwa-etc-nixos.conf.drv
  /nix/store/m6dckfj4fk182v0870a00hzw5i66i9pw-login.defs.drv
  /nix/store/mxlg8wgmjwm3nks2hzzaknb1ng8kzc8s-i3lock-color.pam.drv
  /nix/store/n5hb29ylzv9gd4fph4n1q0gqyiqn3ry6-chpasswd.pam.drv
  /nix/store/phmncd0dvasgf5sky519hdvx03i42gyg-vlock.pam.drv
  /nix/store/pjdavkgpk8487pbw7l1sd611lm5bdycf-screen.pam.drv
  /nix/store/pjz04gsmdpmwl3zdaj1z9v7zrb56yxa8-useradd.pam.drv
  /nix/store/r2w7fxajkmcjxsmygbfcnc4j3iscxkqg-set-environment.drv
  /nix/store/pz8bjvvww3vjigs0647ryi2fblsaab41-etc-profile.drv
  /nix/store/qa8641mf4wz3nlv2lnmpwaq42fc23hdk-groupmems.pam.drv
  /nix/store/qywrr89kv00ksk8drkfyb4vhck67b4cg-etc-shells.drv
  /nix/store/rccccbrbdz0dzaxyvpl79ciqia8x3bz9-etc-resolvconf.conf.drv
  /nix/store/rihqdbf8ylbqrsm4mrh0x0351jpq2kbi-locale.conf.drv
  /nix/store/rjpwi6b6572jddjzv6b7ddwc4bg6nqia-etc-fstab.drv
  /nix/store/rl7j4r6jn4v0byvgba0kmlx46zfyd7pc-etc-nixos.conf.drv
  /nix/store/rv8696qldwk7j5gcxigd25nq4yy874nw-xlock.pam.drv
  /nix/store/sai8jca953s3r9ji1r55xvaiy4mivwbr-root-authorized_keys.drv
  /nix/store/sgdhnyvnlf10nkv6lc8v6mx8mgr3ng4d-hwdb.bin.drv
  /nix/store/wcxf1m8s9lswhnkg85ym95da8mirspk5-etc-10-nixos.rules.drv
  /nix/store/wqb1fw1aqw1lj49317a2sc66if22psmy-etc-hostname.drv
  /nix/store/y537jpx8gkjxkkaywsh4cr7m331p3nfj-smb-dummy.conf.drv
  /nix/store/y8b2ab82qnj6m09micnhzmpx4sx8ipkv-etc-ssh_config.drv
  /nix/store/yc93g3ap02n0z04rcay2w6mcc15pz6cy-etc-ssh_known_hosts.drv
  /nix/store/crkhsck51zra793ncjr2vi0wpaif3m88-unit-pre-sleep.service.drv
  /nix/store/d9gdvbi7wp7vfb845999lnk85pr1x3ym-unit-encrypted-links.target.drv
  /nix/store/dsb2rfv49qrnzbqwrm2zqxs3n2nzqb8g-unit-save-hwclock.service.drv
  /nix/store/jwwrjnzni80547pa4i16kdsahr9rzph2-unit-script.drv
  /nix/store/zfq4ryh1c1zm0cqlszbg0pryhd2czdfc-nginx.conf.drv
  /nix/store/dwba30hgif2y4c4x2qd9nzmx03mksk16-unit-nginx.service.drv
  /nix/store/f2dfb82a9qn09jqw76mqiwmw7sn6jspp-unit-alsa-store.service.drv
  /nix/store/f44g7l4839na004d0yi947006qjnixic-unit-fs.target.drv
  /nix/store/fsqm324bv2246yl9qp36wkdbdajmjf4a-unit-systemd-random-seed.service.drv
  /nix/store/fx1jpwx9ixp3jkl9cyd0is0apr8i6hk6-unit-systemd-update-utmp.service.drv
  /nix/store/g3k6bsbsjf2gjj57qnlrf43cc3hx5pwp-unit-polkit.service.drv
  /nix/store/iijg4kpa9i5wa8ywffl30mpjldlp34n4-unit-script.drv
  /nix/store/g60g6kyrnjz3yna0gqlnq59map1zi67l-unit-post-resume.service.drv
  /nix/store/hq53j48l54rf66ff5vfxnvn3fwk9pg7q-dhcpcd.conf.drv
  /nix/store/gbszc2a075vxfhypbaxylrjjbq1pi1q4-unit-dhcpcd.service.drv
  /nix/store/gxn12wz0zg01f4vrkg6p9ap49lrl0sk4-unit-dbus.service.drv
  /nix/store/kfldq0r9cfkw5h9vxngf2c255six1b0d-firewall-stop.drv
  /nix/store/wy61vycij522w5wpa2ab510m0h4fy54j-firewall-start.drv
  /nix/store/x8nb9s63s0hbyrg2kb6ndqbjhlspqsp4-firewall-reload.drv
  /nix/store/h8hrx6ibkfmab6zlbxkmnvz2lpdz4c6d-unit-firewall.service.drv
  /nix/store/i26xpix8wcz3hgn0zmj43gj7b4sds6wi-unit-systemd-backlight-.service.drv
  /nix/store/gq5apjw6d8x2kd0y5kk18igcj0lsxc9i-unit-script.drv
  /nix/store/hgj26986g3qm8mxvb6dw6hmfbsyfwfga-reload-container.drv
  /nix/store/v7lf6qmwxxp7gpf7b86gqxmxiizcyk6c-unit-script.drv
  /nix/store/x6l3grvvar6812p63n20r3vhw9qynh5b-unit-script.drv
  /nix/store/i95ap7psd4sfh99y4g07pi0kw2yw21ry-unit-container-.service.drv
  /nix/store/ibbs60slmzvasnwlwlcbzjwd5wi57zgl-unit-systemd-binfmt.service.drv
  /nix/store/iimz1i0wd4v6nbxj1h1r6zsfxwxwr7gz-unit-nix-daemon.socket.drv
  /nix/store/kw3qn8fph3y5g20wys7r9qbfw9c0dpvb-audit-disable.drv
  /nix/store/w91gks3hvjqbnscq53yhzc7qy01d56r5-audit-stop.drv
  /nix/store/j0b85r1djmp09wqklmcs0mlx9z5liqf6-unit-audit.service.drv
  /nix/store/jwi6cw75n0nxql44b75jvg53xff3fb0r-unit-post-resume.target.drv
  /nix/store/jxf385r8x2h5l6ihn7ci4c3wk9bwshsj-unit-systemd-sysctl.service.drv
  /nix/store/izihsk2qll7lzhsygqiym3xfmm4g3igy-unit-script.drv
  /nix/store/qcc5f55741kp9x7dbvnlsn5h5phj2i79-unit-script.drv
  /nix/store/k59nf5h79nypg0jyg8bxlmw3sqvb3q7q-unit-acme-uberjar.nixcloud.it.service.drv
  /nix/store/fz4hpv264a0y4l35cv759hdl2gspdwim-unit-script.drv
  /nix/store/wq29gscr7r600k2xm34ria09hjszy00p-sshd_config.drv
  /nix/store/ka5vinvz7af74s7b2lg86vsk98m9idw0-unit-sshd.service.drv
  /nix/store/kh4j981jgik1lkqd9xrfx7ckynqrkmbp-unit-remote-fs.target.drv
  /nix/store/cwi7ql27v6qwhy20aswmax3ja8bsrzfg-unit-script.drv
  /nix/store/kscsdx5sk70yyj8d02blc01df9mqyzpg-unit-rethinkdb.service.drv
  /nix/store/l056y906a738ypmjj79n4im65z1sh6sx-unit-systemd-user-sessions.service.drv
  /nix/store/l2l9dv11gkn4xk1xjavxh6ryram0xyvd-unit-user-.service.drv
  /nix/store/l3zc3r8b6ilma821icypg0ljidlghc9f-unit-systemd-vconsole-setup.service.drv
  /nix/store/lha3mj9i2map4gcaih6qyy2l1mf6lb8y-unit-mdadm-shutdown.service.drv
  /nix/store/lmrvhzc4wzqxx92bb7gi1yz0752gqkaj-unit-acme-uberjar.nixcloud.it.timer.drv
  /nix/store/j4mdzsawfyw55p16cpl2f88szkkjmd1y-unit-script.drv
  /nix/store/ls611jjszj799sq328pc0k5hfg78q9jy-unit-prepare-kexec.service.drv
  /nix/store/mzbb4z4ldpgz7khq0zmy6bgp4yhgldg1-unit-udisks2.service.drv
  /nix/store/np5xmsj6dy6kh5bwfd8l9dn79kwiim8l-unit-nix-optimise.service.drv
  /nix/store/p4ijhjwg5402gxp81a09ggskvp7fhjqh-unit-mdmon-.service.drv
  /nix/store/q17lcfry9vf20njakynw2rkpn9adjsn5-unit-acme-certificates.target.drv
  /nix/store/rs34ljbmrrihkclypnp8fi08nmmf1q90-unit-container-getty-.service.drv
  /nix/store/sh5937bdvanx4ib9gnraj1h834g1c61x-unit-systemd-udevd.service.drv
  /nix/store/sw8q7jq7hnkb99xsvvlbqf3i6ln5clsp-unit-systemd-remount-fs.service.drv
  /nix/store/v95ppj13xn6gw21qm79rr447m4ym32s1-unit-mdadm-grow-continue-.service.drv
  /nix/store/vqr98pdib3bid45vypd8dx4yij03yc1n-unit-systemd-journal-gatewayd.socket.drv
  /nix/store/wgc2lzfasrsqz9vlcd409nrfz3i1mmyc-unit-getty-.service.drv
  /nix/store/jwvn4djf03mg6v6y19shs6qjxadpql6f-unit-script.drv
  /nix/store/y2jhrf1zwi1cx2sa73fyfz8a3avqjhf5-unit-script.drv
  /nix/store/wgmc8j5b8q3lzm04lnzwhpyw0pml3q1p-unit-network-addresses-enp0s3.service.drv
  /nix/store/wnaw22mzf1arr4hg7dk0dk3z5nl2ndz3-unit-cpufreq.service.drv
  /nix/store/x8hcf1ywaibyrkgyzhwclf640kfdi9b0-unit-network-online.target.drv
  /nix/store/yyslyh88bysmrk9pywpbbmnd2q3sjq1k-unit-serial-getty-.service.drv
  /nix/store/z7f7ab23shl6s9h1q3shr9avgdslargg-unit-keys.target.drv
  /nix/store/zy3l5k9i97i85c05if0xvqhwkp5i3y69-unit-network-link-enp0s3.service.drv
  /nix/store/zcc7j2lcjhs6px5ibj78xgbzlny8zx32-system-units.drv
  /nix/store/zpwszimkmrgdwimpgsa3m5j37si9ynji-xscreensaver.pam.drv
  /nix/store/qbpyf9bzd6j6g1nq41fijzlanwmvnw10-unit-ssh-agent.service.drv
  /nix/store/zqxi8mrficic5hlcsr0wga1g89ciq42l-user-units.drv
  /nix/store/zrkwjh24x5g782c1p03hi76p37g48f4x-systemd-user.pam.drv
  /nix/store/bia7ch5mfyrvbnfazbxs4464r1dfvix6-etc.drv
  /nix/store/f595klx7286cs3b37dyjjxj970c25pqb-users-groups.json.drv
  /nix/store/jz5d9lwg7sjb951p89gzqxdhvyc1ya4a-append-initrd-secrets.drv
  /nix/store/lc7frsag1qmdakxqipg760zdzli4lf5l-install-grub.sh.drv
  /nix/store/xh7j0za7sfmjyf8bnvh87k36iyqijg0l-nixos-system-uberjarServer-17.03.1395.9b948ea439.drv
  /nix/store/x270f41slfi7zy869qzdx1v1fm1y4vl8-nixops-machines.drv
waiting for locks or build slots...
copying 73 missing paths (0.19 MiB) to ‘root@nix-build-server’...
error: unexpected end-of-file
copying 57 missing paths (0.14 MiB) to ‘root@nix-build-server’...
error: unexpected end-of-file
copying 57 missing paths (0.13 MiB) to ‘root@nix-build-server’...
error: unexpected end-of-file
copying 57 missing paths (0.13 MiB) to ‘root@nix-build-server’...
error: unexpected end-of-file
copying 278 missing paths (0.63 MiB) to ‘root@nix-build-server’...
cannot build derivation ‘/nix/store/xh7j0za7sfmjyf8bnvh87k36iyqijg0l-nixos-system-uberjarServer-17.03.1395.9b948ea439.drv’: 1 dependencies couldn't be built
cannot build derivation ‘/nix/store/x270f41slfi7zy869qzdx1v1fm1y4vl8-nixops-machines.drv’: 1 dependencies couldn't be built
error: build of ‘/nix/store/x270f41slfi7zy869qzdx1v1fm1y4vl8-nixops-machines.drv’ failed
error: unable to build all machine configurations

答案1

解决方案

暂时不要直接从 Mac 机器上使用 nixops!这看起来很诱人,但我们尝试了几个小时都没有成功!使用https:// functional-orbitz.blogspot.de/2013/05/setting-up-nixops-on-mac-os-x-with.html对我们根本不起作用。事实上,那是巨大的时间浪费。

相反:将 nixos 安装到 VirtualBox 中并从那里进行 nixops 部署!

未来的解决方案

这方面最有前途的项目似乎是 hyperkit 中的 nixos:

https://github.com/puffnfresh/nixpkgs/blob/feature/hyperkit-builder/pkgs/build-support/vm/hyperkit/default.nix

但他们还没有到达那里。然后他们将从 x86_64-darwin 机器透明地构建 x86_64-linux 代码。

因此,一旦 hyperkit-builder 更加稳定,我就会切换到该工具链,而不是使用带有 nixos guest 的 VirtualBox。

相关内容