NixOS 安装以及 ova 文件转成 qcow2 格式

朋友说 NixOS 很好, 就去官网下载了 VirtualBox 用的 ova 格式。

# qemu-img -h|grep Supported
Supported formats: blkdebug blklogwrites blkreplay blkverify bochs cloop copy-on-read dmg file ftp ftps host_cdrom host_device http https iscsi iser luks nbd null-aio null-co nvme parallels qcow qcow2 qed quorum raw rbd replication sheepdog throttle vdi vhdx vmdk vpc vvfat

表示不支持 ova 格式, 我们只要 tar xvf 就可以解压出里面的三个文件:

nixos-19.03.173522.021d733ea3f-x86_64-linux-disk001.vmdk
nixos-19.03.173522.021d733ea3f-x86_64-linux.mf
nixos-19.03.173522.021d733ea3f-x86_64-linux.ovf

然后我们只要用 convert 命令就可以了:
# qemu-img convert -O qcow2 nixos-19.03.173522.021d733ea3f-x86_64-linux-disk001.vmdk nixos-19.03.qcow2

把虚拟机挂接起来, virt-manager 登录到 nixos 的 X-Windows(KDE),用 demo/demo 登录后, 就可以 nano /etc/nixos/configuration.nix 把 systemPackages 里的 wget vim 去掉注释, 把 openssh.enable 也去掉注释,

运行 nixos-rebuild test 没有问题后, nixos-rebuild build
然后 nixos-rebuild switch 然后 reboot , 就可以得到 ssh 和 vim 了。

由于网络问题,遇到 crash 的时候。可以运行:
# nixos-rebuild switch –repair
安装软件包: # nix-env -i pkgname

WiKI 页面有一个简单的介绍。服务的安装,以 Nginx 为例:

在 imports 里面添加一行: ./basic-webserver.nix 注意和前面的一行之间没有其他标点符号,是纯粹的一个新的行

然后在 /etc/nixos 下创建 basic-webserver.nix 文件:

尽管这个配置有点奇怪,但是,运行
nixos-rebuild build; nixos-rebuild switch 以后,我们通过浏览器访问 localhost 就可以看到 Web Document root 下的 html 了。

作者: 甬洁网络

--移动互联网&物联网技术提供商