EC2でrbenvをインストールしたい
mac OS バージョン11.6
解決したいこと
EC2でrbenv install
できるようにしたいです。
https://zenn.dev/naoki_mochizuki/books/1471ce20222227
上記のサイトを見ながら勉強しているAWS初心者です。インスタンスを作成し、ターミナルでssh接続できたのはいいのですが、その後$ rbenv install -v 3.1.0
をしても最後まで読み込みができず何度やり直しても途中で完全に止まってしまいます。
それどころかその状態でctr+cで止めようとしてもものすごく動きが遅くなってclient_loop: send disconnect: Broken pipe
となります。
また、そうなってしまうとssh接続しようとしても
% ssh tester
ssh: connect to host **.**.**.** port 22: Operation timed out
とエラーが出ます。インスタンスを確認したら「インスタンスの接続性チェックに失敗しました」と出ていて、一度インスタンスを停止して再度開始したらまたssh接続できるようになります。($ rbenv install
はまた一からのスタートです)
ディスク容量が少ないからかと思い、容量を8G→16でインスタンスを作成し直して何度かトライするも毎回同じ結果になります。
ちなみにgitやgccなどは問題なくインストールできています。
発生している問題・エラー
$ rbenv install -v 3.1.0
linking static-library libruby-static.a
/usr/bin/ar: unable to copy file 'libruby-static.a'; reason: No space left on device
make: *** [Makefile:300: libruby-static.a] Error 1
reason: No space left on device
ディスクが不足しているとのこと。
$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs 477M 0 477M 0% /dev/shm
tmpfs 191M 2.8M 188M 2% /run
/dev/xvda1 8.0G 1.8G 6.2G 23% /
tmpfs 477M 387M 90M 82% /tmp
tmpfs 96M 0 96M 0% /run/user/1001
上記は8Gでやっていたときのですが、/tmp
がカツカツです。ちなみに16Gに増やすと/dev/xvda1
が 16G まるまる使っていて/tmp
の値は増えてませんでした。(ここらへんは私の知識不足だと思います)
とりあえずこのエラーを解決しようと思い色々調べた結果、一時ファイルシステムである tmpfs
を /tmp
マウントポイントに1Gマウントしてみました。
$ sudo mount -o size=1G,rw,nodev,nosuid -t tmpfs tmpfs /tmp
[sudo] password for tester:
$ df -hT
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs tmpfs 477M 0 477M 0% /dev/shm
tmpfs tmpfs 191M 2.8M 188M 2% /run
/dev/xvda1 xfs 16G 1.8G 15G 12% /
tmpfs tmpfs 1.0G 0 1.0G 0% /tmp
tmpfs tmpfs 96M 0 96M 0% /run/user/1001
その後$ rbenv install -v 3.1.0
してみましたが
reason: No space left on device
エラーは出なかったのですが、やはり途中で完全に止まってインストールできませんでした。(ほっとくと1時間以上ずっとそのまま→止めてもインスタンスの接続性チェックに失敗しましたのループ)
PCの再起動なども試しましたが変わりませんでした。
ちなみにrbenv install
が途中で止まる位置はだいたいいつも同じ所です。
ずっとここから抜け出せない状態なので、解決方法を教えていただけるとうれしいです。