어떻게 든 내 데비안은 루트 파일 시스템에서 읽기 전용이 되었습니다. 어떻게 이런 일이 일어났는지 모르겠습니다. 예를 들어, 폴더
에 있을 때 명령을 입력한 다음 키 를 눌러 해당 폴더에 있는 가능한 파일을 나열하면 다음 메시지가 표시됩니다./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)
다른 데비안 컴퓨터에도 동일한 항목이 있으므로 이것이 맞는 것 같습니다.
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 /
그러나 일반적으로 디스크 오류는 완전한 디스크 오류의 전조입니다. 이제 데이터 백업을 생성하거나 기존 백업의 상태를 확인할 차례입니다.