dd: '/ dev / null'を書き込んでいます:デバイスにスペースが残っていません


9

/ dev / nullに550MBのファイルを読み込んでいます。

dd: writing '/dev/null': No space left on device

私はびっくりしました。/ dev / nullは、あなたが好きなだけ送信できるブラックホールだと思いました(仮想fsのため)。

はい、このエラーが発生すると、ディスクがほぼいっぱいになります。ディスクからコンテンツを削除する以外に何ができますか?

 ls -l /dev/null
 -rw-r--r--    1 root     root             0 July 7 21:58 /dev/null

の代わりに

 crw-rw-rw-    1 root     root        1,   3 July 7 02:58 /dev/null

私が使用しているコマンド:

time sh -c "dd if=$filename of=/dev/null"

3
出力を提供できますかls -l /dev/null
Patrick

@Patrickがls -lを追加
Agarwal

1
実行中のddコマンドもコピー/貼り付けできますか?
forcefsck

2
これは確かに奇妙です。to /dev/nullを書き込んでも、実際には何も書き込まれないため、このエラーはトリガーされません。なしでも同じ効果が得られtimeますか?strace dd if=$filename of=/dev/null機密情報を含まないファイルで実行してください)、またはエラーのトリガーに必要なstrace dd if=$filename of=/dev/null場合timeは、出力を投稿してください。
Gilles「SO-邪悪なことをやめよう」

1
@Gilles問題は、私の/ dev / nullがキャラクタースペシャルファイルではないことでした。上記の質問を更新しました。
Ankur Agarwal

回答:


17

/dev/nullキャラクターデバイスタイプのスペシャルファイルです。そのキャラクターデバイスのドライバーは、デバイスに書き込もうとするものをすべて無視し、書き込みは常に成功します。への書き込みが/dev/null失敗した場合は、なんとかして適切な/dev/nullファイルを削除し、通常のファイルに置き換えることができたことを意味します。誤って削除した可能性があり/dev/nullます。その後、次… >/dev/nullは通常のファイルとして再作成されます。

実行ls -l /dev/nullして、行が次のようになっていることを確認します

crw-rw-rw- 1 root root 1, 3 Sep 13  2011 /dev/null

キャラクターデバイスの場合は、crw-rw-rw-cで始まる必要があり、誰もが読み書きできるようにする権限が必要です。ファイルはrootが所有する必要がありますが、それほど重要ではありません。所有者とグループの後の2つの番号は、デバイスを識別します(メジャーおよびマイナーデバイス番号)。上記では、Linuxでの値を示しています。異なるUNIXバリアントには異なる値があります。日付は通常、システムがインストールされた日付または最後の再起動の日付のいずれかであり、重要ではありません。

ファイルを再作成する必要がある場合、システムによってはMAKEDEV、ルートのPATHまたはにコマンドを提供し/devます。などを実行cd /dev; ./MAKEDEV stdして、などの標準的な基本デバイスを再作成し/dev/nullます。または、正しいデバイス番号を指定して、デバイスを手動で作成します。Linuxでは、それは

mknod -m 666 /dev/null c 1 3

1
うわー!あなたは命の恩人です。ありがとう、これは本当に役立ちます。nullを削除したことはありませんが、nullはありませんでした。手動で作成しました。
Fr0zenFyr 2013年

1
Fr0zenFyrあなたはおそらく、スクリプトが削除されることにrootとして実行している@ /dev/nullのように、おそらくいくつかの状況では、何かtmp_file=$(mktemp); … … … if [ "$mode" = "quiet" ]; then tmp_file=/dev/null; done; … … … rm "$tmp_file"
ジル「SO-停止されて悪」

スクリプトを確認する必要があります。これがtrueの場合、nullが再び削除される可能性があります。この状況を特定(解決)できない場合は、また戻ってきます。ヘッドアップをありがとう。乾杯!!:)
Fr0zenFyr 2013年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.