/*********************************************************************
* Author : lile
* Modified : 2020年8月6日星期四 17:00:58
* Email : [email protected]
* HomePage : lile777.blog.csdn.net
* CopyRight : 该文章版权由lile所有。
* 保留原文出处链接和本声明的前提下,可在非商业目的下任意传播和复制。
* 对于商业目的下对本文的任何行为需经作者同意。
*********************************************************************/
通过samba服务访问TF卡内的文件,突然无法进行删除操作;
1,登陆终端,查看操作文件的权限,为 -rw-r–r--,说明其他用户无写权限;
2,使用root用户,对操作文件 chmod 666 修改权限;
3,再次查看操作文件的权限,为 -rw-r–r--,强制修改失败;
4,检查umask,为 0077,修改为0011;
5,使用root用户,对操作文件 chmod 666 修改权限;
6,再次查看操作文件的权限,为 -rw-r–r--,强制修改失败;
7,检查 目录粘滞位, 无异常; (Linux-粘滞位的使用: https://www.cnblogs.com/hanxiaoyu/p/5622036.html )
8,dmesg 查看系统日志, 发现 mmc error, 出现过 系统异常;
FAT-fs (mmcblk1p1): error, fat_free_clusters: deleting FAT entry beyond EOF
FAT-fs (mmcblk1p1): Filesystem has been set read-only
FAT-fs (mmcblk1p1): error, fat_get_cluster: invalid cluster chain (i_pos 2461865 76)
FAT-fs (mmcblk1p1): error, fat_get_cluster: invalid cluster chain (i_pos 2461865 76)
FAT-fs (mmcblk1p1): error, fat_get_cluster: invalid cluster chain (i_pos 2461865 76)
FAT-fs (mmcblk1p1): error, fat_get_cluster: invalid cluster chain (i_pos 2461865 76)
FAT-fs (mmcblk1p1): error, fat_get_cluster: invalid cluster chain (i_pos 2461865 76)
FAT-fs (mmcblk1p1): error, fat_get_cluster: invalid cluster chain (i_pos 2461865 76)
FAT-fs (mmcblk1p1): error, fat_get_cluster: invalid cluster chain (i_pos 2461865 76)
FAT-fs (mmcblk1p1): error, fat_get_cluster: invalid cluster chain (i_pos 2461865 76)
FAT-fs (mmcblk1p1): error, fat_get_cluster: invalid cluster chain (i_pos 2461865 76)
FAT-fs (mmcblk1p1): error, fat_get_cluster: invalid cluster chain (i_pos 2461865 76)
9,mount命令查看 TF卡挂载状态
/dev/mmcblk1p1 on /www/video type vfat (ro,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)
10,TF卡出错后自动挂载为 只读文件系统;
11,手动卸载 / 挂载 TF卡, 通过samba服务,可以正常删除文件;
TF异常 导致自动挂载为 只读文件系统, 临时使用可以手动重新挂载;
将TF卡 格式化为 linux系统专用的 ext4格式, 提高稳定性;
文件系统报错无法避免,只能通过mount参数规避,防止出现readonly问题
在挂载参数中修改errors处理
可以通过在文档中查看参数定义
linux-kernel/Documentation/filesystems/vfat.txt
errors取值: panic|continue|remount-ro (默认是rmount-ro)
mount时将参数指定为continue即可
如mount -t vfat /dev/sda /mnt/sda -o errors=continue
如何解决FAT文件系统出现readonly的问题: https://blog.csdn.net/dxt1107/article/details/106936862