複数のLinuxボックスをSSH経由でリモートで管理していますが、最近はそのボックスの1つがディスクスペースをいっぱいにしてログインした人は誰でもコマンドをまったく実行できず、トラブルシューティング担当者もSSH経由でログインすらできませんでした。です。
幸い、ディスクが完全に満たされる前に以前の状態に戻って作業することができました。
ボックスに対する責任は私ではないので、笑いは他の方が見ていただきますが、技術的な説明を要請された方がいらっしゃいました。なぜこれが起こるのですか? lsやrmなどの単純なコマンドも実行されません。私はこれがコマンドを処理するための一時的なスペースが必要なことに関連していると思いますが、あなたが提供できる洞察に興味があるでしょう。
ベストアンサー1
私はそれがrm
失敗すると疑う。実行すると、一時ファイル使用量は表示されませrm
ん。strace
しかし、多くのシェルスクリプトでは問題が発生します。たとえば、ここでドキュメントに/tmp
書き込むことができない場合(スペース不足のため)は実行できません。これにより、SSHログインの試行が失敗する可能性があります。
未来のために
このようなことが再発した場合:
- 何が起こっているのかをよりよく理解するには、次のことを
rm
実行するのが面白いかもしれません。strace
strace rm file
- スペースを解放するためにファイルを削除したり、外部コマンドを呼び出す必要はありません。
rm file
シェルでこれを行うことができます: >file
。これにより、ファイルサイズがゼロに減少します。しかし、inodeを解放するわけではありません。