开源文件系统ext2/ext3/ext4管理工具e2progs包含的工具组件:
1、debugfs: ext2/ext3/ext4文件系统调试工具。debugfs是一个交互式的文件系统调试工具,可以用来检查ext2/ext3/ext4文件系统的状态和改变情况。
使用:
debugfs [ -DVwci ] [ -b blocksize ] [ -s superblock ] [ -f cmd_file ] [ -R request ] [ -d data_source_device ] [ device ]
上面的选项中device是一个特殊文件,关联包含文件系统的设备,比如 /dev/hdXX
2、e2fsck:检查ext2/ext3/ext4文件系统的状态和健康状况。对于ext3/ext4使用日志形式的情况,如果系统没有任何错误但是标志为不干净(uncleanly),正常情况下,在做了重放提交的日志和事务时文件系统应该标记为干净(clean)。因此,对于使用日志格式的文件系统,e2fsck正常情况下会重放(replay)日志然后退出,除非超级块信息中指明了需要做进一步的文件系统检查。
使用:
e2fsck [ -pacnyrdfkvtDFV ] [ -b superblock ] [ -B blocksize ] [ -l|-L bad_blocks_file ] [ -C fd ] [ -j external-journal ] [ -E extended_options ] device
Warnning(注意):
一般情况下,在挂在文件系统情况下执行e2fsck是不安全的。如果e2fsck提问你是否允许检查一个挂载的文件系统,正确选择是no。一般情况下只有文件系统专家知道执行yes后会发生什么情况。
3、resize2fs:ext2/ext3/ext4文件系统大小改变工具。resize2fs会改变文件系统ext2/ext3/ext4的大小,可以扩大或者缩小未挂载文件系统的大小。如果文件系统已经挂载且内核支持在线文件系统扩展,resize2fs扩大文件系统的大小(当前,内核2.6支持用ext2/ext3文件系统进行的挂载的在线扩大文件系统大小)
使用:
resize2fs [ -fFpPM ] [ -d debug-flags ] [ -S RAID-stride ] device [ size ]
4、dumpe2fs:打印ext2/ext3/ext4文件系统的信息。
使用:
dumpe2fs [ -bfhixV ] [ -o superblock=superblock ] [ -o blocksize=blocksize ] device
dumpe2fs打印在设备device上的超级块信息和块组信息
Note:
当使用dumpe2fs在一个已经挂载的文件系统之上打印文件系统信息,则会出现信息old和不一致的情况,因为内存已经包含文件系统的修改信息。所以dumpe2fs使用在一个未挂载的设备之上。
5、chattr:改变linux文件系统上文件的属性信息。
包含的属性及缩写:
append only(a)、compressed(c)、no dump(d)、extent format(e)、immutable(i)、data journalling(j)、secure deletion(s)等
6、e2image:保存文件系统ext2/ext3/ext4中的关键元数据信息到一个文件中去。
使用:
e2image [ -r|Q ] [ -fr ] device image-file
e2image保存文件系统ext2/ext3/ext4在设备device上的关键元数据信息到指定的文件image-file上。这个image-file可以用于debugfs和dumpe2fs使用,同时可以帮助文件系统专家恢复已经严重损坏的文件系统。
7、e4defrag:ext4文件系统的在线碎片整理程序。e2defrag是用来减少基于extent特性的文件系统中的碎片,extent是ext4文件系统特有的属性,用来支持大文件特性
extent参考资料:https://ext4.wiki.kernel.org/index.php/Ext4_Howto
8、mke2fs:创建一个ext2/ext3/ext4文件系统
使用:
mke2fs [ -c | -l filename ] [ -b block-size ] [ -D ] [ -f fragment-size ] [ -g blocks-per-group ] [ -G number-of-groups ] [ -i bytes-per-inode ] [
-I inode-size ] [ -j ] [ -J journal-options ] [ -N number-of-inodes ] [ -n ] [ -m reserved-blocks-percentage ] [ -o creator-os ] [ -O [^]fea‐
ture[,...] ] [ -q ] [ -r fs-revision-level ] [ -E extended-options ] [ -v ] [ -F ] [ -L volume-label ] [ -M last-mounted-directory ] [ -S ] [ -t
fs-type ] [ -T usage-type ] [ -U UUID ] [ -V ] device [ blocks-count ]
9、filefrag:报告一个文件的碎片情况。filefrag会汇报文件中的碎片情况程度到底有多糟糕。可以使用于ext2/ext3文件系统中的间接块,同时也可以使用于具体的文件
使用:
filefrag [ -bblocksize ] [ -BeksvxX ] [ files... ]
10、e2undo:重放(replay)ext文件系统中的日志。
上述是e2fsprogs管理工具,具体详细使用方式,可以查看manual
e2fsprogs下载地址:
sourceforge:http://e2fsprogs.sourceforge.net/
git方式下载:git.kernel.org中git://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git