在开发过程遇见了一个问题,特此记录:mkdir:无法创建目录“x“:只读文件系统
创建文件的命令为:
touch xx.txt
mkdir /xx
原因:可能磁盘写保护,文件系统错误,挂载问题,文件权限不够,没有切换管理员用户。
方法一:
第一步:df -h 确定文件夹对应的磁盘。如果文件系统已满,可能会导致只读模式。解决方法是清理不必要的文件或扩展文件系统的大小
第二步:mount ro为只读,rw为可读可写
可以用mount命令看看ro的分区
如果发现有ro,就重新mount,如:
umount /dev/sda1
mount /dev/sda1 /boot
如果发现有提示“device is busy”。
fuser -m /boot 将会显示使用这个模块的pid
fuser -mk /boot 将会直接kill那个pid
然后重新mount即可。
当然也可以直接remount,命令为
mount -o rw,remount /boot
方法二:
检查文件系统错误:
可能是由于文件系统错误导致的只读模式。可以尝试使用 `fsck` 命令检查和修复文件系统:
使用用 fsck -y /dev/sda1 (/dev/sda1指你需要修复的分区) 来修复文件系统
方法三:
检查文件系统是否正确挂载为读写模式。可以通过 `mount` 命令查看挂载信息,并确保文件系统挂载选项中包含 `rw`(读写)。
使用命令:
mount –o remount,rw /sys 将/sys 文件系统修改为读写属性
方法四:
可能是没有切换管理员用户
使用su命令实现用户属性的转换
su root
root用户切换到普通用户: su "普通用户名"
方法五:重启查看是否可以修复(很多问题可以)
重启命令:reboot
综上:
1.检查文件系统是否已满:
使用 `df -h` 命令检查文件系统的使用情况。如果文件系统已满,可能会导致只读模式。解决方法是清理不必要的文件或扩展文件系统的大小。
2.检查文件系统错误:
可能是由于文件系统错误导致的只读模式。可以尝试使用 `fsck` 命令检查和修复文件系统:
fsck -f /dev/sdXX
其中 `/dev/sdXX` 是你的文件系统所在的设备。
3.挂载问题:
检查文件系统是否正确挂载为读写模式。可以通过 `mount` 命令查看挂载信息,并确保文件系统挂载选项中包含 `rw`(读写)。
4.文件系统损坏:
如果文件系统损坏且无法修复,可能需要备份数据并重新格式化文件系统。
5.权限问题:
确保你有足够的权限在所需位置创建目录。有时只读文件系统会阻止普通用户创建新文件或目录。
在处理这些问题时,务必小心操作,特别是在执行文件系统检查和修复时。最好在进行任何关键操作之前备份重要数据!
附加知识:恢复文件命令
使用 xfsrestore 命令恢复文件
方法:xfsrestore -f 恢复文件的位置 存放恢复后文件的位置