tune2fs简介 
tune2fs是调整和查看ext2/ext3文件系统的文件系统参数,Windows下面如果出现意外断电死机情况,下次开机一般都会出现系统自检。Linux系统下面也有文件系统自检,而且是可以通过tune2fs命令,自行定义自检周期及方式。
tune2fs用法 
tune2fs [ -l ] [ -c max-mount-counts ] [ -e errors-behavior ] [ -f ] [ -i interval-between-checks ] [ -j ] [ -J journal-options ] [ -m
reserved-blocks-percentage ] [ -o [^]mount-options[,...] ] [ -r reserved-blocks-count ] [ -s sparse-super-flag ] [ -u user ] [ -g
group ] [ -C mount-count ] [ -L volume-name ] [ -M last-mounted-directory ] [ -O [^]feature[,...] ] [ -T time-last-checked ] [ -U
UUID ] device
常用选项说明:
-l:查看文件系统信息
-c:max-mount-counts:设置强制自检的挂载次数,如果开启,每挂载一次mount conut就会加1,超过次数就会强制自检
-C:mount-count:设置文件系统挂载的次数,如果同时对一个文件系统指定了-c选项且-c参数的值大于-C,则将在下次启动时进行强制自检
-i:interval-between-checks[d|m|w] 设置强制自检的时间间隔[d天m月w周]
-m:reserved-blocks-percentage 保留块的百分比
-j:将ext2文件系统转换为ext3类型的文件系统,ext2可以转ext3 但不可以转回,转回数据丢失
-L:volume-label 类似e2label的功能,可以修改文件系统的标签
-r:reserved-blocks-count 调整系统保留空间
-o:[^]mount-option[,...] Set or clear the indicated default mount options in the filesystem. 设置或清除默认挂载的文件系统选项
-I:设置自检天数
-m:设置预留空间
-U:要设定 UUID 可以使用命令「tune2fs -U UUID 装置档案」,(要显示各储存装置的 UUID,可以使用命令
-e:error_behavior
下面列出3种发现错误后的行为:
continue:继续执行检测
remount-ro:重新以只读方式挂接
panic:产生一次系统崩溃(panic)
注意:默认情况下如果系统检测到文件系统有错误,会设置文件系统在下次启动的时候执行fsck检测。-c和-C参数可以用来设置文件系统在下次重启的时候强制继续执行fsck。-i和-c参数也可以同时设置在一个文件系统上。请注意,如果文件系统达成max_mount_counts或者check_interval的某一个条件,都会执行文件系统检查。

tune2fs -l的输出介绍

tune2fs -l /dev/ram3

档案系统 volume 名称 (Filesystem volume name):即是档案系统标签 (Filesystem label),用作简述该档案系统的用途或其储存数据。现时 GNU/Linux 都会用 USB /IEEE1394 硬盘等可移除储存装置的档案系统标签作为其挂载目录的名称,方便使用者识别。而个别 GNU/Linux distribution 如 Fedora、RHEL 和 CentOS 等亦在 fstab 取代传统装置档案名称 (即 /dev/sda1 和 /dev/hdc5 等) 的指定开机时要挂载的档案系统,避免偶然因为 BIOS 设定或插入次序的改变而引起的混乱。可以使用命令 e2label 或 tune2fs -L 改变。

上一次挂载于 (Last mounted on)' :上一次挂载档案系统的挂载点路径,此栏一般为空,很少使用。可以使用命令 tune2fs -M 设定。

档案系统 UUID (Filesystem UUID):一个一般由乱数产生的识别码,可以用来识别档案系统。个别 GNU/Linux distribution 如 Ubuntu] 等亦在 fstab 取代传统装置档案名称 (即 /dev/sda1 和 /dev/hdc5 等) 的指定开机时要挂载的档案系统,避免偶然因为 BIOS 设定或插入次序的改变而引起的混乱。可以使用命令 tune2fs -U 改变。

(Filesystem magic number):用来识别此档案系统为 Ext2/Ext3/Ext4 的签名,位置在档案系统的 0x0438 - 0x0439 (Superblock 的 0x38-0x39),现时必定是 0xEF53。

档案系统版本编号 (Filesystem revision #) - 档案系统微版本编号,只可以在格式化时使用 mke2fs -r 设定。现在只支持:
    0 - 原始格式,Linux 1.2 或以前只支援此格式[2]
    1 (dymanic) - V2 格式支援动态 inode 大小 (现时一般都使用此版本)

档案系统功能 (Filesystem features):开启了的档案系统功能,可以使用合令 tune2fs -O 改变。现在可以有以下功能:
    has_journal - 有日志 (journal),亦代表此档案系统必为 Ext3 或 Ext4
    ext_attr - 支援 extended attribute
    resize_inode - resize2fs 可以加大档案系统大小
    dir_index - 支援目录索引,可以加快在大目录中搜索档案。
    filetype - 目录项目为否记录档案类型
    needs_recovery - e2fsck 检查 Ext3/Ext4 档案系统时用来决定是否需要完成日志纪录中未完成的工作,快速自动修复档案系统
    extent - 支援 Ext4 extent 功能,可以加快档案系系效能和减少 external fragmentation
    flex_bg
    sparse_super - 只有少数 superblock 备份,而不是每个区块组都有 superblock 备份,节省空间。
    large_file - 支援大于 2GiB 的档案
    huge_file
    uninit_bg
    dir_nlink
    extra_isize

档案系统旗号 (Filesystem flags):signed_directory_hash

缺省挂载选项 (Default mount options):挂载此档案系统缺省会使用的选项

档案系统状态 (Filesystem state):可以为 clean (档案系统已成功地被卸载)、not-clean (表示档案系统挂载成读写模式后,仍未被卸载) 或 erroneous (档案系统被发现有问题)

错误处理方案 (Errors behavior):档案系统发生问题时的处理方案,可以为 continue (继续正常运作) 、remount-ro (重新挂载成只读模式) 或 panic (即时当掉系统)。可以使用 tune2fs -e 改变。
作业系统类型 (Filesystem OS type):建立档案系统的作业系统,可以为 Linux/Hurd/MASIX/FreeBSD/Lites[1]

Inode 数目 (Inode count):档案系统的总 inode 数目,亦是整个档案系统所可能拥有档案数目的上限

区块数目 (Block count):档案系统的总区块数目

保留区块数目 (Reserved block count):保留给系统管理员工作之用的区块数目

未使用区块数目 (Free blocks):未使用区块数目

未使用 inode 数目 (Free inodes):未使用 inode 数目

第一个区块编数 (First block):Superblock 或第一个区块组开始的区块编数。此值在 1 KiB 区块大小的档案系统为 1,大于1 KiB 区块大小的档案系统为 0。(Superblock/第一个区块组一般都在档案系统 0x0400 (1024) 开始)

区块大小 (Block size) - 区块大小,可以为 1024, 2048 或 4096 字节 (Compaq Alpha 系统可以使用 8192 字节的区块)

Fragment 大小 (Fragment size):实际上 Ext2/Ext3/Ext4 未有支援 Fragment,所以此值一般和区块大小一样

保留 GDT 区块数目 (Reserved GDT blocks) - 保留作在线 (online) 改变档案系统大小的区块数目。若此值为 0,只可以先卸载才可脱机改变档案系统大小

区块/组 (Blocks per group):每个区块组的区块数目

Fragments/组 (Fragments per group):每个区块组的 fragment 数目,亦用来计算每个区块组中 block bitmap 的大小

Inodes/组 (Inodes per group):每个区块组的 inode 数目

Inode 区块/组 (Inode blocks per group):每个区块组的 inode 区块数目

(Flex block group size):16
档案系统建立时间 (Filesystem created):格式化此档案系统的时间

最后挂载时间 (Last mount time):上一次挂载此档案系统的时间

最后改动时间 (Last write time):上一次改变此档案系统内容的时间

挂载次数 (Mount count):距上一次作完整档案系统检查后档案系统被挂载的次数,让 fsck 决定是否应进行另一次完整档案系统检查

最大挂载次数 (Maximum mount count):档案系统进行另一次完整检查可以被挂载的次数,若挂载次数 (Mount count) 大于此值,fsck 会进行另一次完整档案系统检查

最后检查时间 (Last checked):上一次档案系统作完整检查的时间

检查间距 (Check interval):档案系统应该进行另一次完整检查的最大时间距

下次检查时间 (Next check after):下一次档案系统应该进行另一次完整检查的时间

保留区块使用者识别码 (Reserved blocks uid):0 (user root)

保留区块群组识别码 (Reserved blocks gid):0 (group root)

第一个 inode (First inode):第一个可以用作存放正常档案属性的 inode 编号,在原格式此值一定为 11, V2 格式亦可以改变此值

Inode 大小 (Inode size):Inode 大小,传统为 128 字节,新系统会使用 256 字节的 inode 令扩充功能更方便

(Required extra isize):28

(Desired extra isize):28

日志 inode (Journal inode):日志档案的 inode 编号

缺省目录 hash 算法 (Default directory hash):half_md4

目录 hash 种子 (Directory Hash Seed):17e9c71d-5a16-47ad-b478-7c6bc3178f1d

日志备份 (Journal backup):inode blocks

日志大小 (Journal size):日志档案的大小

使用示例

设置强制检查前文件系统可以挂载的次数

tune2fs -c 30 /dev/hda1

关闭强制检查挂载次数限制
tune2fs -c -l /dev/hda1

10天后检查
tune2fs -i 10 /dev/hda1

1天后检查
tune2fs -i 1d /dev/hda1

3周后检查
tune2fs -i 3w /dev/hda1

半年后检查
tune2fs -i 6m /dev/hda1

禁用时间检查
tune2fs -i 0 /dev/hda1 
添加日志功能,将ext2转换成ext3文件系统
tune2fs -j /dev/hda1 
调整/dev/hda1分区的保留空间为40000个磁盘块
tune2fs -r 40000 /dev/hda1 
调整/dev/hda1分区的保留空间为10%
tune2fs -m 10 /dev/hda1

设置/dev/hda1挂载选项,启用Posix Access Control Lists和用户指定的扩展属性
tune2fs -o acl,user_xattr /dev/hda1 
开机取消自检
tune2fs -l /dev/sdb1 | grep -E 'Maximum mount count:|Check interval'
tune2fs -i 0 -c 0 /dev/sdb1

更改设备为指定的uuid
tune2fs -U 51f7e9a4-5154-4e29-a7a6-208417290b85 /dev/sda1 
-U 的参数如果为 random 表示直接产生一个随意的新 UUID:
tune2fs -U random /dev/sda1 
-U 的参数如果为 time 表示直接依当前时间产生一个新的 UUID:
tune2fs -U time /dev/sda1 
-U 的参数如果为 clear 表示清除档案系统的 UUID:
tune2fs -U clear /dev/sda1

缩小保留空间已扩大使用容量

#tune2fs -l /dev/sdd12|grep -i 'reserved block count'
Reserved block count:     7984
# df -Th
Filesystem    Type    Size  Used Avail Use% Mounted on
/dev/sda1     ext3    289G  5.6G  268G   3% /
tmpfs        tmpfs    633M     0  633M   0% /dev/shm
/dev/sdd12    ext3     38M  4.5M   26M  15% /mnt
# tune2fs -m 1 /dev/sdd12
tune2fs 1.39 (29-May-2006)
Setting reserved blocks percentage to 1% (399 blocks)
# df -Th
Filesystem    Type    Size  Used Avail Use% Mounted on
/dev/sda1     ext3    289G  5.6G  268G   3% /
tmpfs        tmpfs    633M     0  633M   0% /dev/shm
/dev/sdd12    ext3     38M  4.5M   33M  13% /mnt

每日命令:(14)tune2fs的更多相关文章

  1. linux每日命令(14):less命令

    less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大.less 的用法比起 more 更加的有弹性.在 more 的时候,我们并没有办法向前面翻 ...

  2. linux每日命令(26):Linux文件属性详解

    Linux 文件或目录的属性主要包括:文件或目录的节点.种类.权限模式.链接数量.所归属的用户和用户组.最近访问或修改的时间等内容.具体情况如下: 命令: ls -lih 输出: [root@loca ...

  3. linux每日命令(6):rm命令

    rm是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除.对于链接文件,只是删除了链接,原有文件均保持不变. rm是一个危险的命令,使用的 ...

  4. linux每日命令(15):tail命令

    tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不断刷新, ...

  5. linux每日命令(20):find命令概览

    Linux下find命令在目录结构中搜索文件,并执行指定的操作.Linux下find命令提供了相当多的查找条件,功能很强大.由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时 ...

  6. linux每日命令(21):find命令之exec

    find是我们很常用的一个Linux命令,但是我们一般查找出来的并不仅仅是看看而已,还会有进一步的操作,这个时候exec的作用就显现出来了. 一. exec参数说明: -exec 参数后面跟的是com ...

  7. linux每日命令(23):find命令之xargs

    在使用 find命令的-exec选项处理匹配到的文件时, find命令将所有匹配到的文件一起传递给exec执行.但有些系统对能够传递给exec的命令长度有限制,这样在find命令运行几分钟之后,就会出 ...

  8. linux每日命令(30):Linux 用户及用户组相关文件、命令详解

    一. 用户.用户组概念及其文件结构详解 Linux用户只有两个等级:root及非root.Linux中还有一部分用户,如:apache.mysql.nobody.ftp等,这些也都是非root用户,即 ...

  9. linux每日命令(34):ps命令和pstree命令

    Linux中的ps命令是Process Status的缩写.ps命令用来列出系统中当前运行的那些进程.ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信 ...

随机推荐

  1. Cg(C for Graphic)语言语义词与语义绑定详述 (转)

    摘抄“GPU Programming And Cg Language Primer 1rd Edition” 中文名“GPU编程与CG语言之阳春白雪下里巴人” 语义词( Semantic )与语义绑定 ...

  2. 微信小程序红包开发 小程序发红包 开发过程中遇到的坑 微信小程序红包接口的

    微信小程序红包开发 小程序发红包 开发过程中遇到的坑 微信小程序红包接口的   最近公司在开发一个小程序红包系统,客户抢到红包需要提现.也就是通过小程序来给用户发红包. 小程序如何来发红包呢?于是我想 ...

  3. hdu1068 Girls and Boys 基础匈牙利

    #include <cstdio> #include <cstring> #include <algorithm> #include <cstdlib> ...

  4. 【Codeforces1139D_CF1139D】Steps to One (Mobius_DP)

    Problem: Codeforces 1139D Analysis: After ACing E, I gave up D and spent the left 30 minutes chattin ...

  5. [洛谷P4185] [USACO18JAN]MooTube

    题目链接: 传送门 题意: 给定一颗N个节点的树,定义两点距离为他们之间路径中边权最小值. Q次询问K,V,询问到V距离>=K的点有多少(不含V) 呃呃呃呃考试的时候直奔了T3,结果公式推挂了( ...

  6. Codeforces Round #322 (Div. 2)

    水 A - Vasya the Hipster /************************************************ * Author :Running_Time * C ...

  7. H5图片预览功能

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...

  8. UVa OJ 494

     Kindergarten Counting Game  Everybody sit down in a circle. Ok. Listen to me carefully. ``Woooooo, ...

  9. subprocess模块详解2

    1.call() 和run功能类似,都是接受一个列表里的参数. >>> import subprocess >>> a = subprocess.call([&qu ...

  10. CF779C(round 402 div.2 C) Dishonest Sellers

    题意: Igor found out discounts in a shop and decided to buy n items. Discounts at the store will last ...