どういうわけか私のDebianはルートファイルシステムでのみ読み取りに行きました。これがどうして起こったのか、私にはわかりません。
たとえば、私が/root
フォルダにいて、コマンドnano
を入力した後、 Tab そのフォルダーにある可能性のあるファイルをリストするには、次のメッセージが表示されます。
root@debian:~# nano -bash: cannot create temp file for here-document: Read-only file system
cd /home
と入力してを押すと、cd
コマンドでも同じ Tab 私が持っているパスをリストするには:
root@debian:~# cd /home -bash: cannot create temp file for here-document: Read-only file system
apt
などのソフトウェアにも問題があります。 apt-get updateもできません。私はこのような多くのエラーがあります:
Err http ://ftp.de.debian.org wheezy-updates/main Sources
406 Not Acceptable
W: Not using locking for read only lock file /var/lib/apt/lists/lock
W: Failed to fetch http ://ftp.de.debian.org/debian/dists/wheezy/Release rename failed, Read-only file system (/var/lib/apt/lists/ftp.de.debian.org_debian_dists_wheezy_Release -> /var/lib/apt/lists/ftp.de.debian.org_debian_dists_wheezy_Release).
W: Failed to fetch http ://security.debian.org/dists/wheezy/updates/main/source/Sources 404 Not Found
W: Failed to fetch http ://security.debian.org/dists/wheezy/updates/main/binary-AMD64/Packages 404 Not Found
W: Failed to fetch http ://ftp.de.debian.org/debian/dists/wheezy-updates/main/source/Sources 406 Not Acceptable
E: Some index files failed to download. They have been ignored, or old ones used instead.
W: Not using locking for read only lock file /var/lib/dpkg/lock
システムに多くの問題があります。それを修正することは可能ですか?何が起こったか確認するにはどうすればよいですか?ログで何を探す必要がありますか?
/etc/fstab
ファイルの行が原因である可能性があります。
/dev/mapper/debian-root / ext4 errors=remount-ro 0 1
しかし、問題は何ですか?何も見つからないか、どこを見ればよいのかわかりません。
編集:
私はメッセージログを検索し、これだけを見つけました:
kernel: [ 5.709326] EXT4-fs (dm-0): re-mounted. Opts: (null)
kernel: [ 5.977131] EXT4-fs (dm-0): re-mounted. Opts: errors=remount-ro
kernel: [ 7.174856] EXT4-fs (dm-2): mounted filesystem with ordered data mode. Opts: (null)
他のdebianマシンでも同じエントリがあるので、私はそれが正しいと思います。
私はdmesgで何かを見つけました(私は多くの標準的なext4のものだったので、その出力を少しカットしました)
root@gs3-svn:/# dmesg |grep ext4
EXT4-fs error (device dm-0) in ext4_reserve_inode_write:4507: Journal has aborted
EXT4-fs error (device dm-0) in ext4_reserve_inode_write:4507: Journal has aborted
EXT4-fs error (device dm-0) in ext4_dirty_inode:4634: Journal has aborted
EXT4-fs error (device dm-0): ext4_discard_preallocations:3894: comm rsyslogd: Error loading buddy information for 1
EXT4-fs warning (device dm-0): ext4_end_bio:250: I/O error -5 writing to inode 133130 (offset 132726784 size 8192 starting block 159380)
EXT4-fs error (device dm-0): ext4_journal_start_sb:327: Detected aborted journal
5つのエラーと1つの警告。何か案は? mount -o remount、rw /を使用しても安全ですか?
ほとんどのLinuxファイルシステムのデフォルトの動作は、データを保護することです。カーネルは、ストレージサブシステムでエラーを検出すると、ファイルシステムを読み取り専用にして、(さらに)データの破損を防ぎます。
これは、システムマニュアル(errors={continue|remount-ro|panic}
)に記載されているマウントオプションman mount
で多少調整できます。
ルートファイルシステムでこのようなエラーが発生すると、ほとんどの場合、ログファイルも読み取り専用になるため、エラーはログファイルに記録されません。幸い、これはカーネルアクションであるため、元のエラーメッセージは最初にメモリのカーネルリングバッファに記録されます。すでにメモリからフラッシュされていない限り、dmesg
コマンドを使用してリングバッファの内容を表示できます。 。
ほとんどの実際のハードディスクは [〜#〜] smart [〜#〜] をサポートしており、smartctl
を使用してディスクの状態を診断できます。
エラーメッセージによっては、ファイルシステムを使用しても安全で、mount -o remount,rw /
ただし、一般に、ディスクエラーは完全なディスク障害の前兆です。ここで、データのバックアップを作成するか、既存のバックアップのステータスを確認します。