どういうわけか、私のDebianはルートファイルシステムで読み取り専用になりました。どうやってこれが起こったのかわかりません。たとえば、フォルダ
内にあるときにコマンドを入力し、キーを押してそのフォルダ内の可能なファイルを一覧表示すると、次のメッセージが表示されます。/root
nano
Tab
root@debian:~# nano -bash: cannot create temp file for here-document: Read-only file system
cd
cd /home
パスを一覧表示するために入力してキーを押すときのコマンドも同じですTab。
root@debian:~# cd /home -bash: cannot create temp file for here-document: Read-only file system
私もこのようなソフトウェアに問題がありましたapt
。更新を適切に受け取ることもできません。次のエラーがたくさんあります。
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 / を使用しても安全ですか?
答え1
ほとんどのLinuxファイルシステムのデフォルトの動作は、データを保護することです。カーネルがストレージサブシステムでエラーを検出した場合(追加)、データの破損を防ぐためにファイルシステムを読み取り専用にします。
errors={continue|remount-ro|panic}
システムマニュアル()に記載されているインストールオプションを使用して、これを調整することができますman mount
。
ルートファイルシステムでこれらのエラーが発生すると、ログファイルも読み取り専用になり、ほとんどの場合、そのエラーはログファイルに書き込まれません。幸いなことに、これはカーネル操作なので、元のエラーメッセージが最初にメモリのカーネルリングバッファに書き込まれます。このコマンドを使用すると、リングバッファがメモリからフラッシュされていない場合にリングバッファの内容を表示できますdmesg
。 。
ほとんどの物理ハードドライブのサポート賢いこれを使用してsmartctl
ディスクの状態を診断できます。
エラーメッセージに基づいて、ファイルシステムがまだ安全に使用されていることを確認し、読み取りおよび書き込み条件を返すことができます。mount -o remount,rw /
しかし、一般に、ディスクエラーは完全なディスクエラーの前兆です。これで、データバックアップを作成するか、既存のバックアップの状態を確認します。