ext2
、ext4
和squashfs
是Linux系统中常见的几种文件系统类型,每种文件系统都有其特点和用途:
-
ext2 (Second Extended Filesystem)
- 是Linux中较早使用的文件系统。
- 它不支持日志功能,因此在系统意外崩溃或断电后的恢复时间可能会比较长,因为它需要检查整个文件系统。
- 通常用于USB驱动器或其它移动媒体,因为它没有写入时间戳这样的功能,可以减少对驱动器的写入次数。
-
ext4 (Fourth Extended Filesystem)
- 是ext2的后续版本,添加了对日志的支持(即journaling),能够更快地恢复意外崩溃或断电后的文件系统状态。
- 支持更大的文件系统和文件尺寸,比ext2有更好的性能和更多的特性(例如,延迟分配、扩展属性、目录索引等)。
- 是当前Linux系统中最常用的文件系统类型之一。
-
squashfs
- 是一个只读的压缩文件系统,通常用于嵌入式系统和Live CD/DVD。
- 因为是压缩的,它可以将文件系统的内容压缩存储,以节省空间。
- 只读的特性意味着一旦创建,就无法修改文件系统中的文件。要更新系统,通常需要替换整个文件系统映像。
- 由于其只读和压缩的特性,squashfs在读取时通常需要解压,这可能会对性能产生影响,但对于只需读取数据的应用场合,它是一个很好的选择。
根据不同的需求和使用情况,选择合适的文件系统是很重要的。例如:
- 对于需要高可靠性和较好的错误恢复机制的应用,如桌面或服务器使用,
ext4
是一个很好的选择。 - 对于需要减少写操作,或是在媒体上只读取数据的应用,如用于分发软件或操作系统映像,
squashfs
可能更合适。 - 对简单的存储需求,不需要journaling功能,且对文件系统大小和性能要求不那么高的情况,
ext2
仍然可以使用。
df -h查看/dev/root只有114M,与rootfs实际大小2048M不符合:
root@RV1126_RV1109:/# fdisk -l
Found valid GPT with protective MBR; using GPT
Disk /dev/mmcblk0: 15269888 sectors, 3360M
Logical sector size: 512
Disk identifier (GUID): ee6d0000-0000-4842-8000-705b00001e8b
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 15269854
Number Start (sector) End (sector) Size Name
1 16384 24575 4096K uboot
2 24576 32767 4096K misc
3 32768 98303 32.0M boot
4 98304 229375 64.0M recovery
5 229376 294911 32.0M backup
6 294912 4489215 2048M rootfs
7 4489216 4882431 192M oem
8 4882432 6979583 1024M userdata
9 6979584 15269854 4047M media
Disk /dev/mmcblk2: 59 GB, 63831015424 bytes, 124669952 sectors
7760 cylinders, 255 heads, 63 sectors/track
Units: sectors of 1 * 512 = 512 bytes
Device Boot StartCHS EndCHS StartLBA EndLBA Sectors Size Id Type
/dev/mmcblk2p1 2,10,9 1023,254,63 32768 124669951 124637184 59.4G 83 Linux
root@RV1126_RV1109:/#
root@RV1126_RV1109:/#
root@RV1126_RV1109:/#
root@RV1126_RV1109:/# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 114M 114M 0 100% /
devtmpfs 444M 0 444M 0% /dev
tmpfs 445M 196K 445M 1% /tmp
tmpfs 445M 432K 445M 1% /run
tmpfs 445M 0 445M 0% /dev/shm
/dev/mmcblk2p1 59G 35G 22G 63% /mnt/sdcard
/dev/mmcblk0p7 184M 51M 122M 30% /oem
/dev/mmcblk0p8 1023M 35M 964M 4% /userdata
解决方案:
squashfs改为ext4解决:
同时,只读文件系统也改为了读写文件系统: