อ่านระบบไฟล์รูทเท่านั้น


25

เดเบียนของฉันไปอ่านในระบบไฟล์รูทเท่านั้น ฉันไม่รู้ว่าจะเกิดอะไรขึ้น
ตัวอย่างเช่นเมื่อฉันอยู่ใน/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 /?


2
มองหาสตริง "ext4" และ "/ dev / mapper / เดเบียนราก" /var/log/messagesใน หากระบบไฟล์ของคุณเสียหายคุณควรเห็นมันในข้อความเคอร์เนลก่อนระหว่างการบูต ลองmount -o remount,rw /dev/mapper/debian-rootและแจ้งให้เราทราบหากมันทำให้คุณเกิดข้อผิดพลาด
lgeorget

คุณยังมีพื้นที่เหลืออยู่อะไรให้คำสั่งกับคุณdf
Kiwy

คุณสามารถบูทเข้าสู่ 'โหมดการกู้คืน' จากด้วงได้หรือไม่? อีกวิธีหนึ่งคือแก้ไขตัวเลือกเคอร์เนลด้วงและเพิ่มคำเดี่ยวลงในส่วนท้ายและบูต คุณควรจบลงด้วยรูทเชลล์ซึ่งคุณสามารถใช้เครื่องมือต่าง ๆ เพื่อตรวจสอบและซ่อมแซมดิสก์ของคุณ
garethTheRed

การรีเซ็ต "เครื่อง VM" แก้ปัญหาของฉันได้อย่างไร (กรณี - Ubuntu กำลังทำงานบน Virtual Box)
parasrish

คำตอบ:


29

พฤติกรรมเริ่มต้นสำหรับระบบไฟล์ Linux ส่วนใหญ่คือการปกป้องข้อมูลของคุณ เมื่อเคอร์เนลตรวจพบข้อผิดพลาดในระบบย่อยที่เก็บข้อมูลมันจะทำให้ระบบไฟล์เป็นแบบอ่านอย่างเดียวเพื่อป้องกันความเสียหายของข้อมูล (เพิ่มเติม)

คุณสามารถปรับแต่งสิ่งนี้ได้ด้วยตัวเลือกการเมานท์errors={continue|remount-ro|panic}ซึ่งบันทึกไว้ในคู่มือระบบ ( man mount)

เมื่อระบบไฟล์รูทของคุณพบข้อผิดพลาดส่วนใหญ่เวลาที่ข้อผิดพลาดจะไม่ถูกบันทึกในไฟล์บันทึกของคุณเนื่องจากพวกเขาจะเป็นแบบอ่านอย่างเดียว โชคดีเนื่องจากเป็นการกระทำของเคอร์เนลข้อความแสดงข้อผิดพลาดดั้งเดิมจะถูกบันทึกไว้ในหน่วยความจำก่อนในบัฟเฟอร์วงแหวนเคอร์เนล คุณสามารถแสดงเนื้อหาของริงบัฟเฟอร์ด้วยdmesgคำสั่ง .

ฮาร์ดดิสก์จริงส่วนใหญ่รองรับสมาร์และคุณสามารถใช้smartctlเพื่อลองและวิเคราะห์ความสมบูรณ์ของดิสก์

คุณสามารถตัดสินใจได้ว่าจะยังคงปลอดภัยในการใช้ระบบไฟล์และส่งคืนเงื่อนไขการอ่าน - เขียนด้วย mount -o remount,rw /

แม้ว่าโดยทั่วไปแล้วข้อผิดพลาดของดิสก์จะเป็นตัวตั้งต้นที่ทำให้ดิสก์ล้มเหลว ตอนนี้เป็นเวลาที่จะสร้างการสำรองข้อมูลของคุณหรือเพื่อยืนยันสถานะการสำรองข้อมูลที่มีอยู่ของคุณ


ใช่ฉันมีข้อมูลสำรอง กรุณาตอบคำถามของฉันอีกครั้ง ฉันพบบางสิ่งใน dmesg และทำการแก้ไขเล็กน้อยในคำถามของฉัน
s1c

โดยทั่วไปฉันคาดหวังว่าข้อผิดพลาด ext4 เหล่านั้นจะถูกล้อมรอบด้วยข้อผิดพลาดที่เกี่ยวข้องกับ IO หรืออุปกรณ์ที่เป็นไปได้มากที่สุดปัญหาไม่ได้เป็นระบบแฟ้มเช่นนี้ แต่ดิสก์พื้นฐาน ดูตัวอย่างaskubuntu.com/questions/141862/…
HBruijn

อีกหนึ่งคำถาม อาจเป็นเพราะพาร์ติชันที่ติดตั้ง (ที่เก็บ SAN / NAS) หรือไม่ ฉันมีพวกเขาแน่นอนในไฟล์ fstab ของฉันกำหนดไว้
s1c

จากประสบการณ์ของฉันเฉพาะระบบไฟล์ที่ประสบข้อผิดพลาดของ IO ที่ได้รับการเมานท์แบบอ่านอย่างเดียวพาร์ติชั่นอื่นหรือการแชร์ระยะไกลไม่ควรได้รับการติดตั้งใหม่แบบอ่านอย่างเดียว
HBruijn

เราได้เมานต์ -o เพื่อนับใหม่ rw / จากนั้น chmod ไปยังไฟล์ที่ทำงานให้เรา เมื่อเสร็จสิ้นการเปลี่ยนแปลงให้ทำการเมานต์ -o ใหม่เมาท์ / เพื่อนำระบบไฟล์กลับไปเป็นแบบอ่านอย่างเดียว
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.