
루트 파일 시스템은 압착 상태에서 잘 마운트되었고 wheezy로 업그레이드한 후에는 가능했습니다. 조금 안고 살아서 정확히는 모르겠지만 wheezy에 대한 dist-upgrade를 하고 나서 시작된 것 같은데 우연일 수도 있습니다. 기기는 Lenovo T400 FWIW입니다.
부팅 화면 사진1읽기 전용 파일 시스템에 대한 첫 번째 경고를 표시합니다. 분명히 아무것도 기록되지 않았습니다
fsck는 아무런 문제도 발견하지 못했습니다2
mount -o remount,rw /
위는 잘 작동합니다
(그러나 사용 가능한 시스템을 얻으려면 network-manager와 gdm3을 다시 시작해야 합니다. 관련이 있는지는 확실하지 않지만 localhost에서 실행되는 서비스(예: python -m SimpleHTTPServer 8080 및 다른 서비스)에 연결할 수 없는 것 같습니다. 터미널 w3m이 로컬 호스트 포트 8080에 대한 요청을 보내는 데 시간이 초과되었습니다.
fstab에서는 아무 문제도 발견되지 않았습니다
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
# / was on /dev/sda1 during installation
UUID=2934c627-6f1a-438b-a877-1544108c7418 / ext3 errors=remount-ro 0 1
# swap was on /dev/sda5 during installation
UUID=39b1f59e-6193-4c46-8b4d-80b183f0b19c none swap sw 0 0
/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto 0 0
/dev/sdb1 /media/usb0 auto rw,user,noauto 0 0
어떤 조언이라도 주시면 감사하겠습니다. 분명히 잘못되었고 고칠 수 있는 일을 하고 있기를 바라지만 디버깅 방법에 대한 힌트가 없다면 어떻게 될까요?
...
tune2fs -l /dev/sda1
출력
tune2fs 1.42.2 (27-Mar-2012)
Filesystem volume name: <none>
Last mounted on: <not available>
Filesystem UUID: 2934c627-6f1a-438b-a877-1544108c7418
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery sparse_super large_file
Filesystem flags: signed_directory_hash
Default mount options: (none)
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 14893056
Block count: 59547904
Reserved block count: 2977395
Free blocks: 50391869
Free inodes: 14576981
First block: 0
Block size: 4096
Fragment size: 4096
Reserved GDT blocks: 1009
Blocks per group: 32768
Fragments per group: 32768
Inodes per group: 8192
Inode blocks per group: 512
Filesystem created: Tue May 3 01:44:56 2011
Last mount time: Wed Apr 18 13:11:25 2012
Last write time: Tue Apr 17 23:51:46 2012
Mount count: 5
Maximum mount count: 25
Last checked: Tue Apr 17 23:51:46 2012
Check interval: 15552000 (6 months)
Next check after: Sun Oct 14 23:51:46 2012
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 256
Required extra isize: 28
Desired extra isize: 28
Journal inode: 8
First orphan inode: 9145036
Default directory hash: half_md4
Directory Hash Seed: af8ca7f0-bcad-49f3-98c0-9b19a531a885
Journal backup: inode blocks
...
/etc/init.d/checkroot.sh는 부팅 시 실행되지 않는 것으로 보이며 이는 최종적으로 루트를 rw로 다시 마운트하는 스크립트입니다(부팅 후에 실행하면 정확히 그렇게 됩니다). 저는 데비안 테스팅/wheezy를 사용하고 있습니다. /etc/init.d 파일에 종속성 주석이 있지만 그 이상으로 init 시스템에 대해 더 자세히 설명하는 방법을 잘 모르겠습니다.
...
수정되었지만 어떻게 발생했는지 또는 수정이 시스템이 정확히 어떻게 되어야 하는지 알 수 없습니다. /etc/rcS.d에서 checkfs와 mtab을 발견했지만 checkroot가 없으므로 추가했습니다.
cd /etc/rcS.d
ln -s ../init.d/checkroot.sh S06checkroot.sh
두 번 재부팅한 후(처음에는 혼란스러울 수 있지만 그 사이에 checkroot.sh에 몇 가지 추가 도구를 추가했습니다) 부팅 시 rw로 백업됩니다(그리고 localhost에서 수신/요청하는 문제가 사라졌으므로 관련이 있었던 것 같아요).
(압착 시스템에서 S07checkroot.sh에 액세스할 수 있는 것을 확인했습니다. 아마도 거의 가까웠을 것입니다.)
답변1
/root 파일 시스템에 오류가 있으며 fstab은 /root를 읽기 전용으로 다시 마운트합니다.
fstab의 줄
UUID=2934c627-6f1a-438b-a877-1544108c7418 / ext3 errors=remount-ro 0 1
/root가 읽기 전용으로 마운트되는 원인입니다.
mount (8)
매뉴얼 페이지 에서
errors={continue|remount-ro|panic}
Define the behaviour when an error is encountered. (Either ignore errors
and just mark the filesystem erroneous and continue, or remount the
filesystem read-only, or panic and halt the system.) The default is set in
the filesystem superblock, and can be changed using tune2fs(8).
궁극적으로 /root 파일 시스템에 어떤 문제가 있는지 알아내야 합니다. 복구 디스크로 쉽게 부팅하고 /root에서 fsck를 실행할 수 있습니다. 잠재적인 오류를 무시하기로 선택한 경우 fstab의 줄을 errors=continue
.
답변2
이 문제가 발생했는데 이는 /etc/fstab에 설정된 루트 FS에 대한 잘못된 UUID로 인해 발생했습니다. 일부 업그레이드에서 자동으로 감지하여 잘못된 것 같습니다.
/ 파티션 rw를 다시 마운트하여 blkid
올바른 UUID를 얻고 /etc/fstab에서 교체하여 문제를 해결했습니다.
답변3
루트 파일 시스템은 지시하지 않았기 때문에 읽기/쓰기로 마운트되지 않습니다.
UUID=2934c627-6f1a-438b-a877-1544108c7418 / ext3 errors=remount-ro 0 1
마운트 옵션은 이며 errors=remount-ro
읽기/쓰기에 대한 내용은 없습니다. 표준 관행은 defaults
마운트 옵션을 포함하는 것입니다. defaults
여러 가지 다른 마운트 옵션을 제공하며 그 중 하나는 rw
읽기/쓰기 기능을 제공합니다.
따라서 fstab의 옵션 필드에 defaults
또는 중 하나를 추가해야 합니다 .rw
편집하다:
그것에 대해 좀 더 생각해 보면(그리고 아래 설명의 토론에서) defaults
및 rw
옵션이 문제를 해결하지 못할 수도 있습니다. 그 이유는 다시 마운트 동작이 배포판의 초기화 스크립트에 전적으로 의존하기 때문입니다. 배포판이 부팅 시 fstab에서 마운트 설정을 가져오는 것을 보았지만 init 스크립트가 루트를 다시 마운트할 때 fstab 옵션을 완전히 무시하고 스크립트에서 일부 하드 코딩된 설정을 사용할 수도 있습니다.