明確な原因のないエラーは、対処するのが最も厄介な問題です。 Linux は通常、具体的なエラー メッセージを表示しますが、これは、Linux がボールを落とす数少ないケースの 1 つです。
「デバイスに空き領域がありません」エラーが表示されても、特にドライブがいっぱいではない場合はほとんど意味がありません。このエラー メッセージが表示されるのはなぜですか?ディスク上に十分なスペースがあるにもかかわらず、新しいファイルを作成できないのはなぜですか?そして最も重要なのは、それをどうやって修正するかということです。
調べてみましょう。
ハードドライブには実際に十分なスペースがありますか?
急いで修正を見つける前に、まず問題があることを確認してください。結局のところ、実際にシステムのディスク容量が足りなくなったとしても、パニックになる必要はありません。不要なデータを削除するだけで、より多くのスペースを解放できます。
ディスク容量に関する情報を取得するための Linux システム コマンドは、du と df の 2 つです。 du コマンドはディスク領域の使用量を推定し、df コマンドはディスク上の空き領域を分析します。これらを 須藤 と組み合わせて使用すると、ディスク上で実際に使用可能なスペースの正確なレポートが得られます。
次に、df を使用して、利用可能な空き領域がどのくらいあるかを確認します。 df コマンドは、マウントされたファイルシステムとその使用統計のみを表示するため、使用が非常に簡単です。もう一度、-h フラグを使用して、出力を人間が読める形式にします。
sudo df -h .
目的は、du および df コマンドの結果を集計することです。不一致がある場合は、ファイルやフォルダによって使用されていないにもかかわらず、自由に利用できないディスク容量があることを示しています。
Linux で「デバイスに空き領域がありません」と表示されるのはなぜですか?
ディスク上に十分な空き領域があるにもかかわらず、「デバイスに空き領域がありません」というエラー メッセージが表示される場合は、ハードウェアに問題があるわけではありません。エラーの正確な原因を特定するには、トラブルシューティングに少し時間がかかる場合があります。
解決策 1: 削除されたファイルを使用してプロセスを再起動する
「デバイスに空き領域がありません」エラーの最も考えられる原因は、プロセスが削除されたファイルをまだ使用していることです。ありがたいことに、このエラーを修正するのは簡単です。予約されたストレージを解放するには、プロセスを再起動する するだけです。
この後、プロセスによって保持されていたストレージ スペースが再び利用可能になり、エラーが発生することなくファイルを書き込むことができるようになります。
解決策 2: i ノードを確認する
各ドライブには多数の i ノードがありますが、その数は有限です。また、システムに膨大な数のファイルが散乱している場合は、ドライブのストレージ容量を使い果たす前にこの制限に達する可能性があります。このため、小さなファイルが多すぎるよりも、大きなファイルがあったほうが良いのです。
df コマンドで -i フラグを使用すると、inode の可用性を簡単に確認できます。このように:
sudo df -i
これにより、ファイルシステム内に存在する i ノードの合計数と、現在使用されているノードの数が明確にわかります。システムに空き i ノードが残っていない場合、これが「デバイスに空き領域がありません」エラーの原因です。
i ノードは最初にドライブをフォーマットするときにのみ作成されるため、さらに i ノードを生成する方法はありません。できることは、不要なファイルを削除して、今後のファイルのために i ノードを解放することだけです。
解決策 3: 不良ブロックをマークする
データの破損は、ハード ドライブにとって避けられない運命です。新しいドライブではこの問題は発生しませんが、古いハードディスクは徐々に「劣化」し始めます。
これは、ファイルシステムがまだ機能していると認識しているにもかかわらず、ハードドライブの一部が使用できなくなることを意味します。これらの不良ブロックは、実際にはファイルを書き込むことができないにもかかわらず、ドライブ上の見かけ上の空き領域を誤って増大させます。これにより、オペレーティング システムがこれらの場所にデータを保存しようとしても失敗するため、「デバイスに空き領域がありません」というエラーが発生します。
不良セクタはハードドライブの物理的な磨耗の結果であるため、この問題を解決する実際的な方法はありません。できることは、不良セクタにマークを付けて、ファイル システムから参照されないようにすることだけです。.
実行中のドライブ内ではファイル システム チェックを実行できないため、これを行うには ライブCD から起動する必要があります。それが完了したら、次のコマンドを使用するだけです。
sudo fsck -vcck /dev/sda
これにより、/dev/sda が修復するドライブのパスに置き換えられます。これにより、ドライブ上のすべての不良ブロックが自動的に検出され、使用不可としてマークされます。ただし、追加のストレージ容量が得られるわけではないため、不要なファイルをクリーンアップしてドライブのスペースを空ける準備をしてください。
「デバイスに空き領域がありません」エラーを修正する最善の方法は何ですか?
Ubuntu またはその他の Linux ディストリビューションで「デバイスに空き領域がありません」エラーが表示される通常の理由は、削除されたファイルが実行中のプロセスでまだ使用されているためです。これにより、ファイルによって占有されていたストレージが予約され、他の操作がそのスペースにデータを書き込むことができなくなります。
この問題の解決も、問題のプロセスを再起動するだけなので最も簡単です。ただし、エラーの他の原因を解決するのはそれほど簡単ではありません。
ドライブが不良データ ブロックに悩まされているか、i ノードが不足しているかにかかわらず、これらの問題を解決する直接的な方法はありません。新しいデータを書き込むためのスペースを確保するには、既存のファイルを削除する必要があります。
.