NixOS の nix-env が Killed とだけ表示されて終了してしまう
経緯
標準の nixos
box on Vagrant on VirtualBox に Ruby 処理系をインストールしようとしています。以下の Vagrantfile
があるディレクトリで作業しています。
# Vagrantfile
Vagrant.configure("2") do |config|
config.vm.box = "nixos/nixos-18.03-x86_64"
end
vagrant up
のあと vagrant ssh
で NixOS 上のシェルに接続しました。
そのあと nixpkgs から nix-env -i ruby
で Ruby をインストールしようとしたのですが、出力の最後に Killed
と出て中断されてしまいます。終了ステータスは 137
であり、異常終了でした。以下はそのログです。
$ vagrant ssh
Last login: Fri Jun 8 13:38:06 2018 from 10.0.2.2
[vagrant@nixbox:~]$ ruby
ruby: command not found
[vagrant@nixbox:~]$ nix-env -i ruby
installing 'ruby-2.5.0'
these paths will be fetched (3.61 MiB download, 17.82 MiB unpacked):
/nix/store/j9l2p2c1yhgb227cbr9n4yrd3x2h92gp-ruby-2.5.0
copying path '/nix/store/j9l2p2c1yhgb227cbr9n4yrd3x2h92gp-ruby-2.5.0' from 'https://cache.nixos.org'...
Killed
[vagrant@nixbox:~]$ echo $?
137
[vagrant@nixbox:~]$ ruby
ruby: command not found
NixOS に詳しくないため環境全体としておかしいのかもと思って試しに nix-env -i wget
としてみたのですが、こちらは正常終了し、wget
がインストールされました。
質問
- どうすれば正常に Ruby をインストールできるのでしょうか?
- なぜ
nix-env -i ruby
が中断されてしまうのでしょうか?- どこかにログが残っているでしたら知りたいです。簡単に探した程度では見つかりませんでした。
環境
- ホスト: Ubuntu 18.04 bionic, VirtualBox 5.2.12 r122591 (Qt5.9.5), Vagrant 2.1.1
- Vagrant box:
nixos/nixos-18.03-x86_64
Vagrant box 内の NixOS の情報:
[vagrant@nixbox:~]$ nixos-version 18.03.131807.489a14add9a (Impala) [vagrant@nixbox:~]$ nix-env --version nix-env (Nix) 2.0
追記: メモリについて
コメントでのご指摘を受け、メモリ不足かどうか確認するために2つの端末で vagrant ssh
し、片方で nix-env -i ruby
、他方で while sleep 1; do free -h; done
をしてみました。すると最初は下のような値だったものが、
[vagrant@nixbox:~]$ while sleep 1; do free -h; done
total used free shared buff/cache available
Mem: 993M 39M 914M 3.4M 39M 862M
Swap: 0B 0B 0B
だんだんと free が減っていき、最終的に下の値で止まりました。
total used free shared buff/cache available
Mem: 993M 904M 63M 3.4M 25M 4.4M
Swap: 0B 0B 0B
Killed
が表示されて nix-env
が終了すると元の値に戻ったため、確かに Vagrant/VirtualBox 内のメモリを使い果たしているようです。