Bagaimana cara memperbaiki "sudo: tidak dapat membuka ... sistem file Read-only"?

137

Judulnya mungkin tidak sejelas yang saya inginkan tetapi tidak bisa menghasilkan yang lebih baik.

Sistem file server saya masuk ke Read-only. Dan saya tidak mengerti mengapa ia melakukannya dan bagaimana menyelesaikannya.

Saya dapat SSH ke server dan ketika mencoba memulai apache2 misalnya saya mendapatkan yang berikut:

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.

Ketika saya mencoba me-restart server saya mendapatkan:

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

Setelah saya me-restart secara manual itu hanya memulai tanpa peringatan atau pesan yang mengatakan ada sesuatu yang salah.

Saya harap seseorang dapat mengarahkan saya ke arah yang benar untuk menyelesaikan masalah ini.

John
sumber
Saya merekomendasikan kepada @John untuk mengubah jawaban ke jawaban terakhir yang diposting oleh Bibhas karena ini benar-benar berfungsi di mana jawaban yang lain sebenarnya tidak membantu sama sekali.
Joshua Robison
Untuk MicroSD: askubuntu.com/questions/213889/…
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件
Semua orang, pertanyaan ini untuk server, bukan PC. Jika Anda memiliki masalah ini pada PC dual boot, Silakan periksa The **quick start** option can be found in **power options** in the control panel of Windows. Saya mengalami masalah yang sama dengan Ubuntu di AWS
vanduc1102

Jawaban:

66

Filesystem biasanya akan menjadi read-only ketika sistem sedang berjalan jika ada masalah konsistensi filesystem. Ini ditentukan fstabsebagai errors=remount-rodan akan terjadi ketika akses FS gagal atau remount read-only darurat diminta melalui Alt+ SysRq+ U. Anda dapat menjalankan:

sudo fsck -Af -M

untuk memaksa pemeriksaan semua sistem file. Seperti yang dinyatakan salah satu jawaban lainnya, melihat dmesgjuga sangat membantu.

Sunting: Jangan lupa -Mpada baris perintah.

CATATAN: Seperti yang disebutkan oleh Bibhas dalam jawabannya : Jika fsckmacet setelah spanduk versinya:

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

Anda mungkin ingin mencoba menggunakan fsck khusus EXT4

$ sudo fsck.ext4 -f /dev/sda1

Asalkan partisi yang dimaksud /dev/sda1adalah sistem file ext4.

ζ--
sumber
2
Saya pikir Anda tidak harus memaksa pemeriksaan filesystem pada filesystem lain yang dipasang r / w. Itu berpotensi merusak data Anda. Tambahkan -Mopsi untuk melewati filesystem yang terpasang. ( -M Do not check mounted filesystems and return an exit code of 0 for mounted filesystems.dari FSCK (8))
gertvdijk
35
Ini tidak membantu, saya hanya mendapatkan kesalahan yang sama ketika mencoba menjalankan perintah itu. sudo: unable to open /var/lib/sudo/kuplack/1: Read-only file system fsck from util-linux 2.20.1
Mark Kramer
1
Tapi ... -M akan melewati sistem file yang di-mount, termasuk / dev / sda1 (atau apa yang pernah di-mount drive termasuk / var / lib / sudo / ...). @MarkKramer: Saya sangat merekomendasikan selalu mengatur kata sandi root saat menginstal linux, dengan sudo su; passwd. Maka Anda bisa menggunakannya su -c fsck -Af -M.
naught101
1
Ya bagi saya, saya harus menghapus -M karena / dev / sda1 telah di-mount, dan untuk membuat hidup Anda lebih mudah, tambahkan -Afy (Y berarti menjawab ya untuk semua permintaan) ... Saya bermain cepat dan longgar dengan VM jadi saya ' Saya biasanya baik-baik saja dengan solusi jenis ini, tetapi jika hardware ini tidak diback-up, mungkin perlu pendekatan yang berbeda dan baca dmesg.
FreeSoftwareServers
2
@DarshanChaudhary -MBendera menyebabkan fsck untuk melewatkan filesystem yang terpasang. Lihat halaman fsck (8)manual.
ζ--
45

Inilah perintah yang memecahkan masalah saya:

mount -o remount /

lebih baik daripada reboot atau sudo fsck -Af

Sulliwane
sumber
21
Tidak lebih baik jika OS membuat disk Anda hanya-baca untuk mencegah kemungkinan korupsi.
Drew Noakes
5
Tidak hanya itu - hanya root yang dapat me-remount sistem file dan sudotidak akan berfungsi jika sistem file hanya-baca.
Nathan Osman
11
Tidak membantu, saya hanya mendapatkan pesan yang sama: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
3
o ya yang ini berhasil.
RT
2
mount: cannot remount /dev/sda8 read-write, is write-protected
Rishabh Agrahari
42

Jawaban dengan hexafraction tidak berhasil untuk saya. Setiap kali saya mencoba menjalankannya sudo fsck -Af -Mhanya menunjukkan

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

dan tidak ada lagi. Tidak ada kesalahan atau apa pun. Bagi saya, mem-boot ke disk langsung dan menjalankannya berhasil -

sudo fsck.ext4 -f /dev/sda1

Asalkan partisi yang dimaksud /dev/sda1adalah sistem file ext4.

Bibha
sumber
4
Terima kasih atas jawaban ini. Ini adalah satu-satunya hal yang benar-benar berhasil
Joshua Robison
5
-M berarti tidak melakukan filesystem yang di-mount. Filesystem / dev / sda1 Anda sudah di-mount (saya menebak /). Jadi itu dilewati.
dalore
3
sudo fsck.ext4 -f /dev/sda1bekerja. Masih perlu restart.
efkan
1
Ini bekerja untuk saya di ubuntu 16.04.3 Terima kasih
Rosário Pereira Fernandes
13

Coba jalankan dmesg | grep "EXT4-fs error"untuk melihat apakah Anda memiliki masalah yang terkait dengan sistem file / sistem penjurnalan itu sendiri. Saya akan merekomendasikan Anda untuk me-restart sistem Anda. Juga, sudo fsck -Afjawaban oleh ObsessiveSSOℲ tidak akan sakit.

Thiago Perrotta
sumber
10

Jika Anda ingin memaksa sistem file root Anda untuk melakukan remount sebagai rw, Anda dapat melakukan hal berikut.

mount -o remount,rw /
Johnboiles
sumber
ini telah menyelesaikan masalah saya, saya menggunakan cloud hetzner dengan 160GB ssd, tidak pernah mengalami kesalahan seperti itu sebelumnya
Fathur Rohim
9

Perhatikan bahwa kadang-kadang hal ini dapat disebabkan oleh komputer yang lupa waktu sistem - pemeriksaan disk gagal karena tanggal dalam jurnal ada di MASA DEPAN!

Mengatur waktu BIOS (dan memeriksa baterai BIOS) memperbaiki masalah ini untuk saya, tanpa harus melakukan pemulihan disk.

Tony Cook
sumber
Selamat Datang di Tanya Ubuntu! Saya sarankan untuk mengedit jawaban ini untuk meluaskannya dengan detail spesifik tentang bagaimana melakukan ini. (Lihat juga Bagaimana cara saya menulis jawaban yang bagus? Untuk saran umum tentang jawaban seperti apa yang dianggap paling berharga di Ask Ubuntu.)
David Foerster
Saya cukup yakin ini sedang terjadi pada saya sekarang, mengingat komputer saya mengatakan kepada saya lupa waktu pagi ini.
nomen
2

Biasanya linux menempatkan filesystem Anda hanya pada saat kesalahan terjadi, terutama kesalahan pada disk atau filesystem itu sendiri, kesalahan seperti entri jurnal yang salah misalnya.

Anda sebaiknya memeriksa dmesgkesalahan terkait disk.

Google penuh dengan diskusi tentang ini dan Anda dapat memilih yang lebih dekat dengan konfigurasi Anda, tetapi melihat dmesgbiasanya sudah cukup.

sumbu
sumber
Apa yang harus dilihat / grepdalam dmesgoutput?
isomorphismes
Sayangnya, jika Anda memilih untuk mengenkripsi folder rumah Anda, dmesgpasti akan penuh dengan kesalahan yang tidak berguna ecryptfs.
Nathan Osman
2

Bagi saya, Menjalankan ulang sistem menyelesaikan masalah ini

sudo reboot

seperti yang dia sebutkan tentang itu.

Zaman Oof
sumber
2

(Jawaban sebelumnya dihapus)

Sunting: Masalah utama ada di sisi windows. Setelah memperbarui Windows 10 saya, opsi 'mulai cepat' secara otomatis diaktifkan. Pada menonaktifkan opsi itu lagi, dan kemudian kembali menghidupkan mesin, masalahnya hilang. Windows 10 memberi saya sakit kepala berat selama berhari-hari :(

Opsi 'mulai cepat' dapat ditemukan di 'opsi daya' di panel kontrol. Nonaktifkan itu !!! :)

sarthak-sopho
sumber
Hanya satu yang berhasil. Dengan biaya kecepatan startup.
NelsonGon
2

Jika Anda dual boot mesin Anda dengan Ubuntu dan Windows bersama-sama dan masalah ini terjadi, itu karena Windows mengubah sistem file, dalam hal ini ini mungkin melakukan trik. Coba nonaktifkan startup cepat

Panel Kontrol> Perangkat Keras dan Suara> Opsi Daya> (di sebelah kiri) Pilih fungsi tutupnya> Ubah pengaturan yang saat ini tidak tersedia> Hapus centang 'Nyalakan startup cepat'

Sekarang boot ke Ubuntu akan menyelesaikan masalah. Semoga ini membantu!

https://youtu.be/KJ-0KPZhAFo

Joyy
sumber
1

Jika Anda berada dalam situasi yang tidak dapat menggunakan disk langsung, mis. Anda ssh dari jarak jauh ke dalam sistem Anda, Anda masih bisa menggunakan perintah yang telah dijawab @Bibhas:

sudo fsck.ext4 -f /current/filesystem/mount/point

Ini akan meminta untuk memperbaiki kesalahan sistem file Anda. Anda juga perlu me-reboot sistem Anda dari jarak jauh.

allenyllee
sumber
0

Dalam kasus saya itu ke RAID 1 menstabilkan setelah instalasi awal. Saya memiliki / boot dan / pada s / w RAID1. Setelah meninggalkan sistem semalaman dan reboot, semuanya bekerja dengan baik. Richard

Richard Moore
sumber
0

Periksa apakah Anda memiliki perangkat keras yang salah. Saya mendapatkan kesalahan ini karena hardisk melonggarkan. Jalankan mount -o remount, rw / dan berfungsi dengan baik.

Mwongera808
sumber
-1

Ini pengaturan boot yang salah konfigurasi (coba pasang /sebagai ext2) bukan drive atau kesalahan fisik partisi.

dmesg | grep "error" memberi saya:

ext3-fs (sda2): error: couldn't mount because of unsupported optional features (240) 
ext2-fs (sda1): error: couldn't mount because of unsupported optional features (240) 
ext4-fs (sda2): mounted file system with ordered data mode: opts: (null)

Itu dipasang /sebagai baca hanya karena error=mount-roarahan fstab .

misiagogo
sumber
-1

Saya menggunakan rilis 18,04 LTS dan apa yang saya lakukan adalah, pertama saya melepas drive yang rusak kemudian saya masuk ke aplikasi "Disk" dengan mencari di dasbor. Dari sana saya memilih drive yang rusak. Pastikan itu tidak di-mount lagi kalau tidak akan berfungsi. Dalam menu opsi (bentuk roda gigi kecil), dan klik "perbaikan file sistem". Ledakan! Bekerja seperti pesona.

Cdadgy71
sumber