linux系统文件只读怎么解决

linux系统文件只读怎么解决,第1张

1、mount:

用于查看哪个模块输入只读,一般显示为:

/dev/hda1 on / type ext3 (rw)

none on /proc type proc (rw)

usbdevfs on /proc/bus/usb type usbdevfs (rw)

none on /dev/pts type devpts (rw,gid=5,mode=620)

/dev/hda5 on /home type ext3 (rw)

none on /dev/shm type tmpfs (rw)

/dev/hda2 on /usr/local type ext3 (rw)

/dev/nb1 on /EarthView/RAW type ext3 (ro)(变为只读了)

2、如果发现有ro,就重新mount,或者umount以后再remount

3、umount /dev/nb1

如果发现有提示“device is busy”,找到是什么进程使得他busy

fuser -m /mnt/data 将会显示使用这个模块的pid

fuser -mk /mnt/data 将会直接kill那个pid

然后重新mount即可。

4、还有一种方法是直接remount,命令为

mount -o rw,remount /mnt/data

具体深入的做法,情况不同可以自行选择:

服务器/var/log/messages报错 :

end_request: I/O error, dev sda, sector 122194293 Buffer I/O error on device sda1, logical block 446493 lost page write due to I/O error on sda1

下面是整个处理全过程

[root@php5 ~]# fdisk -lu #第一步 :找出本地扇片所在的分区

Disk /dev/sda: 73.4 GB, 73407868928 bytes

255 heads, 63 sectors/track, 8924 cylinders, total 143374744 sectors

Units = sectors of 1 * 512 = 512 bytes

Device Boot Start End Blocks Id System

/dev/sda1 * 63 4096574 2048256 83 Linux

/dev/sda2 4096575 75778604 35841015 83 Linux

/dev/sda3 75778605 129034079 26627737+ 83 Linux

/dev/sda4 129034080 143364059 7164990 5 Extended

/dev/sda5 129034143 139267484 5116671 83 Linux

/dev/sda6 139267548 143364059 2048256 82 Linux swap

[root@php5 ~]# tune2fs -l /dev/sda3 |grep "Block size" #找到block大小。

Block size: 4096

(122194293-75778605)*512/4096 =528691 利用公式算出逻辑块地址

b = (int)((L-S)*512/B)

[root@php5 ~]# debugfs

debugfs 1.35 (28-Feb-2004)

debugfs: open /deb/sda3

/deb/sda3: No such file or directory while opening filesystem

debugfs: open /dev/sda3

debugfs: icheck 582391

Block Inode number

582391 277584

debugfs: ncheck 277584

Inode Pathname

277584 /users/inn.net.cn/data/upload/download/innshow004.rar

debugfs: quit

[root@php5 ~]#dd if=/dev/zero of=/dev/sda1 bs=4096 count=1 seek=582391 #找到这个快的文件之后,需要做好备份,我们强制把它设置为0字节。

[root@php5 ~]# sync

linux下修改文件夹权限提示chmod: 更改xx 的权限: 只读文件系统是设置错误造成的,解决方法为:

1、打开只读文件目录了显示-r--r--r--代表着文件只读,如图。

2、如果一个文件具有所有权限就设置成777,7代表的4+2+1,如图。

3、运行chmod 777 文件名按下回车键没有任何信息,但是确认已经完成文件权限修改了,如图。

4、在ll命令就可以看到文件夹列表同时也会显示出文件的权限,上一步设置的文件权限就是-rwxrwxrwx,如图。

5、一般不建议设置所有权限设置个644就可以了,如图,这里说明下- rw-  r--  r-- 代表的意思是-owner权限-group权限-others权限-。

解决办法

1.重启看是否可以修复(很多机器可以)

2.使用用fsck – y 来修复文件系统

3.若,在进行修复的时候有的分区会报错,重新启动系统问题依旧

查看下分区结构

[root@localhost mobile]# more /etc/fstab

[root@localhost ~]# more /proc/mounts

[root@localhost ~]# mount

/dev/sda3 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/sda1 on /boot type ext3 (ro)

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)

查看ro挂载的分区,如果发现有ro,就重新mount

umount /dev/sda1

mount /dev/sda1 /boot

如果发现有提示“device is busy”,找到是什么进程使得他busy

fuser -m /boot 将会显示使用这个模块的pid

fuser -mk /boot 将会直接kill那个pid

然后重新mount即可。

4.直接remount,命令为

[root@localhost ~]# mount -o rw,remount /boot


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/8369860.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-15
下一篇 2023-04-15

发表评论

登录后才能评论

评论列表(0条)

保存