Каким-то образом мой 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 /?
/var/log/messages
. Если ваша файловая система повреждена, вы должны увидеть это в ранних сообщениях ядра во время загрузки. Также попробуйтеmount -o remount,rw /dev/mapper/debian-root
и сообщите нам, если он выдает ошибку.df
Ответы:
Поведение по умолчанию для большинства файловых систем Linux - защита ваших данных. Когда ядро обнаруживает ошибку в подсистеме хранения, оно делает файловую систему доступной только для чтения, чтобы предотвратить (дальнейшее) повреждение данных.
Вы можете настроить это с помощью опции монтирования,
errors={continue|remount-ro|panic}
которая описана в системном руководстве (man mount
).Когда ваша корневая файловая система сталкивается с такой ошибкой, большую часть времени ошибка не будет записываться в ваши лог-файлы, поскольку теперь они также будут доступны только для чтения. К счастью, поскольку это действие ядра, исходное сообщение об ошибке записывается сначала в память, в кольцевой буфер ядра. Если вы уже не извлечены из памяти, вы можете отобразить содержимое кольцевого буфера с помощью
dmesg
команды. ,Большинство реальных жестких дисков поддерживают SMART, и вы можете использовать их
smartctl
для диагностики состояния диска.В зависимости от сообщений об ошибках вы можете решить, что по-прежнему безопасно использовать файловую систему и вернуть ее для чтения-записи с помощью
mount -o remount,rw /
Тем не менее, в целом, ошибки на диске являются предвестником полного отказа диска. Сейчас самое время создать резервную копию ваших данных или подтвердить статус существующих резервных копий.
источник