#経緯
Capistrano導入後、久々にローカルでデプロイbundle exec cap production deploy
するとNo space left on deviceのエラーが発生しました。
解決までの経緯を紹介します。
#環境
macOS:Catalina 10.15.7
ハードディスクサイズ 8GB
#【エラー文】
Net::SCP::Error: scp: /tmp/git-ssh-.sh: No space left on device
「デバイスにスペースがない」
いろいろ調べてみましたが、要は上の通りスペースがないのが原因でした。
#結論
ファイルを削除し、再度作成しました。
#対応
何にどれくらい使ってるか調査します。
df -h
ファイルシス サイズ 使用 残り 使用% マウント位置
devtmpfs 482M 0 482M 0% /dev
tmpfs 492M 0 492M 0% /dev/shm
tmpfs 492M 6.6M 486M 2% /run
tmpfs 492M 0 492M 0% /sys/fs/cgroup
/dev/xvda1 8.0G 8.0G 20K 100% / ⇦これが大きい
tmpfs 99M 0 99M 0% /run/user/1000
最大容量が8Gに対して/dev/xvda1
で既に8.0G使ってる事わかりました。
/dev/xvda1
内のもっと詳細を調査しました。
sudo du -sh /*
.
.
.
.
.
0 /proc
28K /root
448K /run
0 /sbin
0 /srv
512M /swapfile1
0 /sys
8.5M /tmp
1.5G /usr
5.7G /var
どうやら以下の2つのディレクトリ内に大きファイルがあるようでした。
1.5G /usr
5.7G /var
どのファイルか特定します。
cd /var
sudo du -sm ./* | sort -rn | head -5
118891 ./www
2541 ./lib
124 ./log
84 ./cache
14 ./tmp
118891 ./www
が半端なく大きにのでこれを削除します。
sudo rm -rf /var/www
確認します。
df -h
ファイルシス サイズ 使用 残り 使用% マウント位置
devtmpfs 482M 0 482M 0% /dev
tmpfs 492M 0 492M 0% /dev/shm
tmpfs 492M 416K 492M 1% /run
tmpfs 492M 0 492M 0% /sys/fs/cgroup
/dev/xvda1 8.0G 3.4G 4.7G 42% / #⇦減ってる
tmpfs 99M 0 99M 0% /run/user/1000
8GBが3.4Gとだいぶ小さくなりってます。
最後新しい入れ物を作ります。
[ec2-user@xxxxxxxxxx ~]$ cd
[ec2-user@xxxxxxxxxx ~]$ sudo mkdir /var/www/
[ec2-user@xxxxxxxxxx ~]$ sudo chown ec2-user /var/www/
[ec2-user@xxxxxxxxxx ~]$ cd /var/www/
[ec2-user@xxxxxxxxxx www]$ git clone https://github.com/アカウント名/デポジトリ名.git
[ec2-user@xxxxxxxxxx www]$ cd /var/www/デポジトリ名
[ec2-user@xxxxxxxxxx デポジトリ名]$ bundle install
bundle exec cap production deploy
うまく行きました!!