Вопрос Как исправить «sudo: невозможно открыть ... Файловая система только для чтения»?


Название может быть не таким наглядным, как хотелось бы, но не могло быть лучшего.

Файловая система моего сервера перешла в режим «Только для чтения». И я не понимаю, почему он это делает и как его решить.

Я могу использовать SSH на сервере и, например, при попытке запустить apache2, я получаю следующее:

username@srv1:~$ sudo service apache2 start
[sudo] password for username:
sudo: unable to open /var/lib/sudo/username/1: Read-only file system
 * Starting web server apache2                                                                                                                                                                                                               (30)Read-only file system: apache2: could not open error log file /var/log/apache2/error.log.
Unable to open logs
Action 'start' failed.
The Apache error log may have more information.

Когда я пытаюсь перезагрузить сервер, я получаю:

username@srv1:~$ sudo shutdown -r now
[sudo] password for username:
sudo: unable to open /var/lib/sudo/username/1: Read-only file system

Как только я перезапущу его вручную, он просто запускается без предупреждения или сообщения о том, что что-то не так.

Надеюсь, кто-то может указать мне в правильном направлении, чтобы решить эту проблему.


112
2017-10-07 15:41


происхождения


Я рекомендую @John изменить ответ на последний опубликованный ответ Bibhas, поскольку он фактически работает там, где другие ответы вообще не помогают. - Joshua Robison
Для MicroSD: askubuntu.com/questions/213889/... - Ciro Santilli 新疆改造中心 六四事件 法轮功
Все, этот вопрос для сервера, а не для ПК. Если у вас есть эта проблема на вашем компьютере с двойной загрузкой, проверьте The **quick start** option can be found in **power options** in the control panel of Windows, У меня такая же проблема с Ubuntu на AWS - vanduc1102


ответы:


Файловая система обычно переходит в режим «только для чтения», когда система работает, если есть проблема согласованности файловой системы. Это указано в fstab в виде errors=remount-ro и произойдет, когда сбой доступа к FS приведет к сбою, или требуется перезагрузка с помощью только для чтения Alt+SysRq+U, Вы можете запустить:

sudo fsck -Af -M

для принудительной проверки всех файловых систем. Как говорится в одном из других ответов, глядя на dmesg также очень полезно.

Изменить: не забывайте -M в командной строке.


51
2017-10-07 15:58



Я думаю, вы не должны сила проверка файловой системы на других r / w смонтированных файловых системах. Это потенциально повредит ваши данные. Добавить -M возможность пропустить смонтированные файловые системы. (-M Do not check mounted filesystems and return an exit code of 0 for mounted filesystems. от FSCK (8)) - gertvdijk
Это не помогает, я просто получаю ту же ошибку при попытке запустить эту команду. sudo: unable to open /var/lib/sudo/kuplack/1: Read-only file system  fsck from util-linux 2.20.1 - Mark Kramer
Но ... -M будет пропускать смонтированные файловые системы, включая / dev / sda1 (или то, что когда-либо монтировалось на диске, включает / var / lib / sudo / ...). @MarkKramer: Я настоятельно рекомендую всегда устанавливать пароль root при установке linux, с sudo su; passwd, Затем вы можете использовать su -c fsck -Af -M, - naught101
Да, для меня мне нужно было удалить -M, так как / dev / sda1 был смонтирован, и чтобы сделать вашу жизнь проще, добавьте -Afy («y» ответит «да» на все подсказки) ... Я быстро и свободно играю с VM, m обычно нормально с этим типом решения, но если это неохраняемое аппаратное обеспечение, может возникнуть другой подход и прочитать dmesg. - FreeSoftwareServers
@DarshanChaudhary -M flag заставляет fsck пропускать смонтированные файловые системы. См. fsck (8) страница руководства. - hexafraction


Вот команда, которая решила мою проблему:

mount -o remount /

лучше, чем перезагружать или sudo fsck -Af 


40
2018-01-30 16:23



Не лучше, если ОС сделала ваш диск доступным только для чтения, чтобы предотвратить возможное повреждение. - Drew Noakes
Мало того, что только root сможет перемонтировать файловую систему и sudo не будет работать, если файловая система доступна только для чтения. - Nathan Osman
Не помогает, я получаю одно и то же сообщение: sudo: unable to open /var/lib/sudo/kuplack/1: Read-only file system  mount: cannot remount block device /dev/sda2 read-write, is write-protected - Mark Kramer
o да, это работало. - R T
Aaaaw Да! Спасибо тоннелю! - shramee


Ответ на гексафракцию не помог мне. Каждый раз, когда я пытался выполнить sudo fsck -Af -M он просто показал

$ sudo fsck -Af -M
fsck from util-linux 2.20.1

и ничего больше. Нет ошибки или чего-то еще. Для меня загрузка на живой диск и выполнение этой работы -

sudo fsck.ext4 -f /dev/sda1

При условии, что раздел /dev/sda1 была файловой системой ext4.


32
2018-02-17 15:44



Спасибо за этот ответ. Это единственное, что на самом деле сработало - Joshua Robison
-M означает не создавать смонтированные файловые системы. Ваша файловая система / dev / sda1 смонтирована (я предполагаю в /). Так что это было пропущено. - dalore
sudo fsck.ext4 -f /dev/sda1 работает. Все еще требуется перезагрузка. - efkan
Это сработало для меня на ubuntu 16.04.3 Спасибо - Rosário Pereira Fernandes


Попробуйте запустить dmesg | grep "EXT4-fs error" чтобы узнать, есть ли у вас какие-либо проблемы, связанные с самой файловой системой / системой ведения журнала. Тогда я бы рекомендовал вам перезагрузить систему. Также, sudo fsck -Af ответ ObsessiveSSOℲ не повредит.


10
2018-06-24 18:17





Если вы хотите принудительно перезагрузить корневую файловую систему в качестве rw, вы можете сделать следующее.

mount -o remount,rw /

9
2018-06-01 05:07





Обратите внимание, что иногда это может быть вызвано тем, что компьютер забыл системное время - проверка диска завершилась неудачно, потому что даты в журнале находятся в БУДУЩЕЕ!

Установка времени BIOS (и проверка батареи BIOS) исправила эту проблему для меня, не требуя восстановления диска.


6
2018-02-23 02:15



Добро пожаловать в Ask Ubuntu! я рекомендую редактироватьчтобы ответить на этот вопрос, чтобы подробно рассказать о том, как это сделать. (Смотрите также Как написать хороший ответ? для общих советов о том, какие ответы наиболее ценны для Ask Ubuntu.) - David Foerster
Я вполне уверен, что это происходит со мной прямо сейчас, учитывая, что мой компьютер сказал мне, что забыл свое время этим утром. - nomen


Обычно linux помещает ваши файловые системы в режим чтения только тогда, когда возникают ошибки, особенно ошибки с диском или самой файловой системой, например ошибки, например неправильная запись в журнале.

Лучше проверьте свои dmesg для ошибок, связанных с диском.

Google полна дискуссии об этом и вы можете выбрать те, которые ближе к вашей конфигурации, но посмотрите на dmesg обычно достаточно.


1
2017-10-07 15:58



Что нужно смотреть / grep за dmesg вывод? - isomorphismes
К сожалению, если вы решили зашифровать домашнюю папку, dmesg обязана быть полна бесполезных ошибок из ecryptfs, - Nathan Osman


(Удален предыдущий ответ)

Изменить: Основная проблема была на стороне окна. После обновления моей Windows 10 автоматически включается опция быстрого запуска. При повторном отключении этого параметра, а затем снова перезапуске машины проблема исчезла. Windows 10 дала мне сильную головную боль в течение нескольких дней :(

Опцию «быстрого запуска» можно найти в разделе «Параметры питания» на панели управления. Отключить это !!! :)


1
2017-12-23 08:18