問題現象
Linux操作系統云主機刪除或者修改文件的時候會提示文件系統:Read-only file system,最終導致操作失敗。
問題分析
造成這個問題的原因大多數是因為非正常關機后導致文件系統受損引起的,在系統重啟之后,受損分區就會被Linux自動掛載為只讀。解決的方法是通過fsck來修復文件系統,然后重啟即可。報錯read-only file system的原因是所在的分區只有讀權限,沒有寫權限(如下圖)。

解決方法
使用fsck手動修復,具體操作如下:
重啟系統后使用root進入單用戶模式,運行。
fsck.ext3 -y /dev/vda3
說明ext3的文件系統使用fsck.ext3,ext4文件系統使用fsck.etx4。/dev/vda3是系統/根分區。運行完畢后,reboot重啟系統就恢復正常。fsck.ext3開始進入掃描、修正文件系統,這個過程有時很快,有時比較長,中間有數次停頓的過程,只需等待即可,千萬不要以為死機而重啟服務器。修正完文件系統后,如果沒有提示重啟系統,也需要reboot來重啟系統。
附fsck參數詳解:
使用方法:fsck [參數] 設備名
參數:
-t : 給定檔案系統的型式,若在/etc/fstab中已有定義或kernel 本身已支援的則不需加上此參數。
-s : 依序一個一個地執行fsck 的指令來檢查。
-A : 對/etc/fstab 中所有列出來的partition做檢查。
-C : 顯示完整的檢查進度。
-d : 列印e2fsck的debug 結果。
-p : 同時有-A 條件時,同時有多個fsck的檢查一起執行。
-R : 同時有-A 條件時,省略/ 不檢查。
-V : 詳細顯示模式。
-a : 如果檢查有錯則自動修復,所以你不用一直按y 鍵。
-y: 與-a類似,但是某些文件系統僅支持-y 這個參數,所以也可以用-y。
-r : 如果檢查有錯則由使用者回答是否修復。