tune2fs

tune2fs允许系统管理员在Linux ext2、ext3或ext4文件系统上调整各种可调的文件系统参数。这些选项的当前值可以使用-l选项显示,也可以通过使用dumpe2fs (8)程序显示。

此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

1、语法

     tune2fs [选项]  device

     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 ]  [ -E extended-options ]  [ -L  volume-name  ]  [  -M last-mounted-directory  ]  [ -O [^]feature[,...]  ]  [ -T time-last-checked ]  [ -U UUID ]  device

 

2、选项列表

选项

说明

-l

显示设备的详细信息

-c max-mount-counts

检查文件系统之前,调整最大挂载次数。如果最大挂载计数为0或-1,e2fsck(8)和内核将忽略文件系统的挂载次数。如果对强制检查文件系统的挂载计数,将避免在使用日志文件系统时一次检查所有文件系统。

-C mount-count

设置文件系统的挂载次数,如果设置为比-c选项设置的max-mount-counts参数更大的值,e2fsck(8)将在下次重新启动时检查文件系统。

-e error-behavior

当检测到错误时,更改内核代码的行为。在任何情况下,文件系统错误都会导致e2fsck(8)在下一次引导时检查文件系统。错误行为可以是下列行为之一:

continue,继续执行正常执行。

remount-ro,重新以只读的方式挂载。

panic,产生kernel panic。

-E extended-options

为文件系统设置扩展选项。扩展选项是逗号分隔的,可以使用相等号(‘=’)符号进行参数化。支持下列扩展选项:

stride=stride-size,为RAID数组配置具有步长文件系统块的文件系统。这是在移动到下一个磁盘之前读取或写入磁盘的块数。这主要影响文件系统元数据(如位图)在mke2fs(2)时间的放置,以避免将它们放置在单个磁盘上,这可能会损害性能。它也可以被块分配器使用。

stripe_width=stripe-width,为RAID数组配置文件系统,每条带宽的文件系统块。这通常是stride-size *N,其中N是RAID中数据磁盘的数目(例如RAID 5 N+1,RAID 6 N+2)。这允许块分配器在写入数据时防止对RAID条中的奇偶性进行读-修改-写入(如果可能的话)。

hash_alg=hash-alg,设置用于具有散列b树目录的文件系统的默认哈希算法。接受的有效算法有:legacy、half_md4和tea。

mount_opts=mount_option_string,设置一组默认的挂载选项,这些选项将在挂载文件系统时使用。与使用-o选项指定的基于位掩码的默认挂载选项不同,mount_option_string是最大长度为63字节的任意字符串,存储在超级块中。ext 4文件系统驱动程序将首先应用基于位掩码的默认选项,然后在解析从mount (8)程序传递的挂载选项之前解析mount_option_string。此超级块设置仅在2.6.35以上内核中执行,而ext2和ext3文件系统驱动程序则完全不执行。

test_fs,在文件系统超级块中设置一个标志,指示可以使用试验性内核代码(如ext4dev文件系统)挂载它。

^test_fs,清除test_fs标志,指示仅使用production-level文件系统代码挂载文件系统。

-f

强制执行。当从具有外部日志的文件系统(或损坏到似乎有外部日志)而外部日志不可用的文件系统中删除Has_Journal文件系统特性时,此选项非常有用。

-g group

设置可以使用保留文件系统块的组。group参数可以是数值gid或组名。如果给定组名,则在将其存储在超级块之前,将其转换为数字gid。

-i  interval-between-checks[d|m|w]

调整两个文件系统检查之间的最大时间。没有后缀或d将数字间隔检查解释为天,m为月,w为周.值为零将禁用与时间相关的检查。强烈建议启用-c(mount-count-dependent)检查或-i(time-dependent)检查,以强制对文件系统进行定期完整的e2fsck(8)检查。如果不这样做,可能会导致文件系统损坏(由于磁盘、电缆、内存或内核错误)而忽略,最终导致数据丢失或损坏。

-j

向文件系统添加ext3日志,如果没有指定-J选项,则将使用默认日志参数来创建存储在文件系统中的适当大小的日志(给定文件系统的大小)。请注意,您必须使用具有ext3支持的内核才能实际使用日志。

如果此选项用于在已安装的文件系统上创建日志,则将在文件系统的顶层目录中创建一个不可变的文件,即日志,因为它是在安装文件系统时创建日志inode的唯一安全方法。虽然ext 3日志是可见的,但在安装文件系统时删除它或修改它是不安全的;因此,文件被标记为不可变。在检查未挂载的文件系统时,e2fsck(8)将自动将.Journal文件移动到不可见的保留日志inode。对于除根文件系统以外的所有文件系统,这应该在下一个重新启动周期中自动和自然地发生。由于根文件系统是只读安装的,因此必须从救援软盘上运行e2fsck(8)才能完成此转换。

-J journal-options

重写默认ext 3日志参数。日记选项是逗号分隔的,可以使用相等号(‘=’)符号进行参数化。支持下列日志选项:

size=journal-size,创建一个存储在文件系统中的日志,大小journal-size。日志的大小必须至少为1024个文件系统块(如果使用1k块,则为1MB;如果使用4k块,则为4MB)。并且可能不超过102,400个文件系统块。文件系统中必须有足够的空闲空间来创建这样大小的日志。

device=external-journal,将文件系统附加到位于外部日志上的日志块设备上。外部日志必须已使用以下命令创建“mke2fs  -O  journal_dev  external-journal”。注意,外部日志必须与将要使用的文件系统以相同的块大小进行格式化。此外,虽然支持将多个文件系统附加到单个外部日志,但Linux内核和e2fsck(8)目前还不支持共享外部日志。除了直接指定设备名称之外,还可以通过LABEL=label或UUID=UUID指定外部日志,以便通过存储在日志开头的ext2超级块中的卷标签或UUID来定位外部日志。使用dupe2fs(8)显示日志设备的卷标签和UUID。

size和device只能有一个。

-L volume-label

设置文件系统卷标。ext2文件系统标签最多可以长达16个字符;如果卷标签超过16个字符,tune2fs将截断它并打印警告。卷标签可由mount(8)、fsck(8)和/etc/fstab(5)(可能还有其他)使用,方法是指定LABEL=volume_label,而不是/dev/hda 5这样的块特殊设备名。

-m  reserved-blocks-percentage

设置只能由特权进程分配的文件系统百分比。保留一些文件系统块以供特权进程使用是为了避免文件系统碎片,并允许系统守护进程(如syAdd.1-d(8)在非特权进程被阻止写入文件系统之后继续正确运行。通常,保留块的默认百分比是5%。

-M last-mounted-directory

设置最后的挂载目录

-o [^]mount-option[,...]

在文件系统中设置或清除指定的默认挂载选项。默认的挂载选项可以被“/etc/fstab”(5)中指定的挂载选项覆盖,也可以在命令行参数上覆盖mount(8)。旧内核可能不支持此特性;特别是,在2.4.20之前的内核几乎肯定会忽略超级块中的默认挂载选项字段。可以通过用逗号分隔功能来清除或设置多个挂载选项。以插入字符(‘^’)为前缀的挂载选项将在文件系统的超级块中清除;没有前缀字符的挂载选项或以‘+’作为前缀的挂载选项将添加到文件系统中。可以使用tune2fs设置或清除下列挂载选项:

debug,bsdgroups,user_xattr,acl,uid16,journal_data,journal_data_ordered,journal_data_writeback,nobarrier,block_validity,discard,nodelalloc

-O[^]feature[,...]

设置或清除文件系统中指定的文件系统特性(选项)。多个文件系统特性可以通过用逗号分隔特性来清除或设置。以插入字符(‘^’)为前缀的文件系统特性将在文件系统的超级块中清除;没有前缀字符或前缀为‘+’的文件系统特性将添加到文件系统中。可以使用tune2fs设置或清除下列文件系统特性:dir_index,filetype,flex_bg,has_journal,large_file,resize_inode,sparse_super,uninit_bg。

-r reserved-blocks-count

设置保留文件系统块的数目

-T time-last-checked

使用e2fsck设置上次检查文件系统的时间。时间使用当前(本地)时区进行解释。这在使用逻辑卷管理器对文件系统进行一致快照的脚本中很有用,然后在空闲时间检查文件系统,以确保它没有因为硬件问题而损坏,等等。如果文件系统是干净的,那么这个选项可以用来设置原始文件系统上的最后一次检查时间。最后一次检查的格式是国际日期格式,有一个可选的时间说明符,即YYYYMMDD[HH[MM[SS]。关键字Now也被接受,在这种情况下,上一次检查时间将设置为当前时间。

-u user

设置可以使用保留文件系统块的用户。用户可以是uid或用户名。如果给定用户名,则将其转换为数字uid,然后将其存储在超级块中。

-U UUID

将文件系统的通用唯一标识符(UUID)设置UUID。UUID的格式是由连字符分隔的一系列十六进制数字,如“c1b9d5a2-f162-11cf-9ece-0020afc76f16”。UUID参数也可能是以下内容之一:

clear,清除UUID。

random,产生一个随机的UUID。

time,产生一个基于时间的UUID。

 

3、实例

1)查看sdb4的详细信息

[root@localhost ~]# tune2fs -l /dev/sdb4

tune2fs 1.41.12 (17-May-2010)

Filesystem volume name:   hello

Last mounted on:          <not available>

Filesystem UUID:          e2a0cb30-f3ca-47de-92b8-780296960d93

First inode:              11

Inode size:             128

Default directory hash:   half_md4

Directory Hash Seed:     4930bf0f-771e-4940-9255-bee40d138079

2)设置最大挂载次数

[root@localhost ~]# tune2fs -c 30 /dev/sdb4       //设置最大挂载次数

tune2fs 1.41.12 (17-May-2010)

Setting maximal mount count to 30

You have new mail in /var/spool/mail/root

[root@localhost ~]# tune2fs -l /dev/sdb4         //查看详细信息

tune2fs 1.41.12 (17-May-2010)

Filesystem volume name:   hello

Maximum mount count:      30                         //最大挂载次数已经修改为30

Directory Hash Seed:     4930bf0f-771e-4940-9255-bee40d138079

[root@localhost ~]#       

Linux基础命令---tune2fs的更多相关文章

  1. 第四节,Linux基础命令

    第四节,Linux基础命令 命令是系统操作员对系统传入的指令,传入指令后回车,系统接收到指令做出相应的行为 1.查看用户位于系统什么位置 [pmd]检查操作用户位于系统的什么位置 命令         ...

  2. 【Python之路】第一篇--Linux基础命令

    pwd 命令 查看”当前工作目录“的完整路径 pwd -P # 显示出实际路径,而非使用连接(link)路径:pwd显示的是连接路径 .   表示当前目录 ..  表示上级目录 /  表示根目录 ls ...

  3. linux基础命令学习笔记(二)

    linux基础命令学习笔记(二) 1.kill :终止进程  kill pid (唯一标示一个进程) kill -9  强制终止  kill -15 命令未结束不能终止 # ps aux 查看所有进程 ...

  4. 2.Linux基础命令

    linux内一切皆文件,没有文件夹只有目录,目录也是一种文件 1.一些常用按键: 将鼠标的光标从虚拟机里切换回来:Ctrl+Alt 拖动Ubuntu内的对话框:Alt键+鼠标左键拖动 清屏:Ctrl+ ...

  5. linux基础命令一

    linux基础命令一 1.date命令 date命令介绍:显示或者设置系统日期 date命令的语法: 显示日期:date  [options...]  [+FORMAT] FORMAT:为显示日期的格 ...

  6. linux基础命令:

    linux基础命令: 显示 echo 输出我写的内容 ls 查看当前目录的文件 pwd 查看当前目录 ifconfig 查看网卡信息 grep 过滤 -v 取反 -n man 查看命令的帮助信息 md ...

  7. 常用的linux基础命令

    常用的linux基础命令 1.ls 显示目录属性 -l:(也可以简写成ll),列表显示权限等属性 -a:显示所有文件包括隐藏文件等 -d:只列出目录本身 2.chgrp 改变档案所属群组 eg:chg ...

  8. Linux基础命令-文件与目录

    Linux基础命令-文件与目录 参考:<鸟哥linux私房菜>五-七章,17/12/5复习,18/01/15复习 文件权限 rwx421:用户,用户组,其他 umask查看默认权限:000 ...

  9. Linux基础命令回顾

    前言 说到linux基础命令,网上一搜一箩筐,想学也有很多教程,如果你不幸看到此篇文章,想看就认真看完,毕竟你点进来了不是嘛? 我每次写的文章都是为了分享自己的学习成果或重要知识点,希望能帮助更多的人 ...

随机推荐

  1. node项目部署相关问题

    process.env process.env属性返回一个对象,包含了当前Shell的所有环境变量. 通常的做法是,新建一个环境变量NODE_ENV,用它确定当前所处的开发阶段,生产阶段设为produ ...

  2. python获取windows所有com口

    import serial import serial.tools.list_ports port_list = list(serial.tools.list_ports.comports()) po ...

  3. thinkCMF----导航高亮显示

    导航高亮显示,有多种方法,这里给出一个简单的表示下: <a href="__ROOT__"> <span class="text db"> ...

  4. POJ 3280 - Cheapest Palindrome - [区间DP]

    题目链接:http://poj.org/problem?id=3280 Time Limit: 2000MS Memory Limit: 65536K Description Keeping trac ...

  5. python中super的使用方法

    说白了,super的使用就是要子类要调用父类的方法,我们就用super,那你要有调用的规范,我们明白这个规范就可以了. 在python2和python3中,调用方法不同,注意就是了.Python3.x ...

  6. MySQL在linux上的source code安装方法(configure)

    1.建立操作系统用户和组 [root@faspdev ~]# groupadd mysql [root@faspdev ~]# useradd -g mysql mysql 2.解压安装文件,进入解压 ...

  7. 查看mobileprovision信息

    security cms -D -i ***********.mobileprovision

  8. iOS-绘图之CoreGraphics框架

    第一步:先科普一下基础知识: Core Graphics是基于C的API,可以用于一切绘图操作 Core Graphics 和Quartz 2D的区别 quartz是一个通用的术语,用于描述在iOS和 ...

  9. php Only variables can be passed by reference

    最近做项目,发现了一个报错  Only variables can be passed by reference,  意思是"只有变量能通过'引用'" 就是在代码中 使用了一个方法 ...

  10. 【Git 使用笔记】第二部分:基本命令 和 单分支开发

    git 基本命令 git add . git commit -am "请填写你NB的备注" git fetch --all git fetch -p  //如果远程分支删除了,本地 ...