dnf update できないってどういうこと?
普段はUbuntuで立てているGCE、今回は何を思ったのかRocky Linuxで立てて見たのだが、初っ端で躓く
sudo dnf update
Google Compute Engine 5.1 kB/s | 1.4 kB 00:00
Google Cloud SDK 7.0 kB/s | 1.4 kB 00:00
Killed
なんで?と思ったが、どうやら google-cloud-sdkパッケージが巨大すぎてメモリが不足してしまっている 模様。
Swap領域を作成して解決
原因がわかれば解決は簡単
sudo dd if=/dev/zero of=/swapfile bs=1M count=2048
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
これで updateが通るようになる
ただし、かなり時間がかかった(30分近く)
スワップ領域の設定を変えればもうちょっと早くなるのか?
あとがき
ググればある程度推測できるが、1記事で解決できるものがなかったので作成した。
参考リンクでgoogle-cloud-sdkパッケージのアップデートを止めているものもあるが、止めてしまうのはちょっと怖いので生かしたままアップデートできるようにした。
正直Ubuntuで立てたほうが楽。
参考
・gcp上のCentOSでdnfがkilledされる
・[computer] GCPで、CentOS Stream8 とRocky Linux8
・GCE(GCPのIaaS)無料インスタンスをWebサーバとして利用する方法 (低メモリサーバの活用方法)