C プログラムをコンパイルすると、次のエラーが発生します。
/tmp/cc6sZ4kE.s に書き込み中: デバイスに空き容量がありません
これを修正するにはどうすればいいでしょうか?
答え1
「デバイスに空き容量がありません」は、ディスクがいっぱいであることを意味します。 を含むディスク (パーティション) /tmp
、より正確には を含むファイルシステムに空き容量を確保する必要があります/tmp
。
これはプログラムの内容とは何の関係もありません (数ギガバイトのバイナリにコンパイルされるプログラムを作成できた場合を除きます)。
どこに/tmp
あるのか、どれくらいのスペースがあるのかを確認します。
df /tmp
/tmp
独自のファイルシステムである場合( /tmp
「マウント先」列に表示されます)、スペースが使用されている場所を確認します。
du /tmp | sort -n
リストの最後にあるディレクトリを見てください。ディレクトリ内の最大のファイルを見るには、例えば以下を実行します。
ls -lrS /tmp
/tmp
がルートファイルシステム上にある場合(/
の出力の「Mounted on」列に表示されますdf /tmp
)、ディスクに空き領域を確保する必要があります。ディスク容量を占有しているものを把握するにはどうすればよいでしょうか?