首先,重啟看看能否解決,如果不行再嘗試下面兩種方法:
造成這個問題的原因大多數是因為非正常關機后導致文件系統受損引起的,在系統重啟之后,受損分區就會被Linux自動掛載為只讀。解決的方法是通過fsck來修復文件系統,然后重啟即可,以下是以針對/dev/xvde1分區,ext4文件系統分區的一個操作案例:
fsck.ext4 -y /dev/xvde1
本文只着重強調一點:要針對出問題的分區進行操作,在掛載了多個硬盤的機器上要仔細分辨一下。
報錯read-only file system的原因是你所在的分區只有讀權限, 沒有寫權限
mount為掛載分區命令,mount -o remount -w 重新掛載分區並增加寫權限,增加讀寫權限即為 -rw
問題:
push 某個文件到目標板(比如/data目錄下)時,提示其目錄是只讀的;可通過如下命令,將目標目錄臨時變更為可讀寫模式:
解決方法:
mount -o remount -rw /data
【擴展:】
重新掛載為已經掛載了的文件系統(以讀寫權限掛載),需要注意的是,掛載點必須是一個已經存在的目錄,這個目錄可以不為空。一般用於此目錄下的文件為ro權限,需要臨時變更為可修改權限。
參數:
-o <選項> 指定掛載文件系統時的選項,有些也可寫到在 /etc/fstab 中。常用的有:
defaults 使用所有選項的默認值(auto、nouser、rw、suid)
auto/noauto 允許/不允許以 –a選項進行安裝
dev/nodev 對/不對文件系統上的特殊設備進行解釋
exec/noexec 允許/不允許執行二進制代碼
suid/nosuid 確認/不確認suid和sgid位
user/nouser 允許/不允許一般用戶掛載
codepage=XXX 代碼頁
iocharset=XXX 字符集
ro 以只讀方式掛載
rw 以讀寫方式掛載
remount 重新安裝已經安裝了的文件系統
loop 掛載“回旋設備”以及“ISO鏡像文件”
1、mount:
用於查看哪個模塊輸入只讀,一般顯示為:
[root@localhost ~]# mount
/dev/cciss/c0d0p2 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/cciss/c0d0p7 on /home type ext3 (rw)
/dev/cciss/c0d0p6 on /var type ext3 (rw)
/dev/cciss/c0d0p3 on /usr type ext3 (rw)
/dev/cciss/c0d0p1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
/dev/dm-0 on /home/book/upload/BookFile1 type ext3 (rw)
/dev/dm-1 on /home/book/upload/BookFile2 type ext3 (rw)
/dev/dm-2 on /backup type ext3 (rw)
/dev/dm-3 on /home/book/upload/BookFile3 type ext3 (ro)
2、如果發現有ro,就重新mount,或者umount以后再remount
3、umount /dev/dm-3
如果發現有提示“device is busy”,找到是什么進程使得他busy
fuser -m /mnt/data 將會顯示使用這個模塊的pid
fuser -mk /mnt/data 將會直接kill那個pid
然后重新mount即可。
4、還有一種方法是直接remount,命令為
mount -o rw,remount /mnt/data。