首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | 镜像站
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
搜索中心 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>编程开发>其他编程>正文

Linux文件系统ext4 相关知识大全

http://www.oklinux.cn  2008-07-07  linuxidc   会员收藏  游客收藏  【 】 
您查看的文章来源于http://www.oklinux.cn

除了内核模块之外,还要查看 e2fsprogs 的一个版本,它支持 ext4 文件系统的功能。您可以下载一个压缩文件(参考资料 一节提供了相关的链接)或使用 git,如清单 1 所示。

清单 1. 通过 git 获取最新版本的 e2fsprogs 的命令

$ git clone git://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
$ cd e2fsprogs
$ git checkout -b pu
Switched to a new branch "pu"
$ git branch
master
* pu
$ git pull git://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git pu

注意,您有可能需要使用发行版的包管理器安装 git。这些工具有待进一步测试,因此不推荐在生产系统中使用,并且就目前而言,并没有添加很多特别针对 ext4 的工具。因此,您可能更喜欢使用随发行版一起交付的 stock e2fsprogs 包。

e2fsprogs 的编译过程非常标准:将 cd 包解压缩到生成的目录,输入 ./configure,输入 make,并输入(作为 root)make install。 这个过程将覆盖发行版的常规 e2fsprogs 包,因此,只有确定要使用这些工具的最新(也可能是不稳定的)版本时,才执行此操作。

把 ext3 迁移到 ext4

当系统在 ext4 的支持下启动到内核时,您就可以使用新的文件系统了。为此,必须准备一个分区、独立磁盘的冗余阵列(RAID)设备或其他存储空间。然后就可以把它用作 ext4 文件系统并调整文件系统选项。

准备一个设备

如果希望从简单的入手,可以使用新版或旧版的 e2fsprogs 包(即 mkfs.ext3 或 mkfs.ext4)附带的工具格式化分区或其他设备。例如, mkfs.ext4 -j /dev/sda6 准备了 /dev/sda6 分区以供使用。使用 mkfs.ext4 可以产生一个文件系统,并激活了很多特定于 ext4 的功能。

目前,e2fsprogs 程序还没有完全跟上内核文件系统的步伐。幸运的是,大部分内核驱动程序的功能都不需要对 mkfs.ext4 或其他实用程序进行特殊准备。当挂载文件系统时,将激活 ext4 功能。如果要在大媒体上使用 ext4, 就必须进行大胆的探索,确保记录和报告所遇到的问题!

如果想把现有的 ext2 或 ext3 文件系统用作 ext4 文件系统,也不难实现。只需要按照随后描述的方法挂载设备即可。然而如果使用某些新的功能,如 extent,该文件系统就不能和 ext2 或 ext3 的驱动程序一起使用。

使用 ext4

要把一个设备用作 ext4 文件系统,就必须使用 ext4dev 文件系统类型代码挂载它(当 ext4 变得稳定时,文件系统类型代码将变为 ext4)。例如,mount -t ext4dev /dev/sda6 /mnt/point 在 /mnt/point 中把 /dev/sda6 挂载为 ext4 文件系统。这些都是 ext4 的基本用法。注意,默认的挂载选项启用了 extent,这会导致文件系统在作为 ext3 文件系统使用时变得不可用。如果您想尝试一下 ext4 同时可以返回到 ext3,则使用 -o noextents 选项禁用 extent 功能。

一旦挂载以后,可以像其他任何文件系统一样使用 ext4:复制文件、直接创建文件等等。 除了遇到 bug 或执行基准测试以外,您不会觉察到任何差别。

调整 ext4 性能选项

可以使用 tune2fs 程序调优 ext4 文件系统,与调优 ext2 或 ext3 文件系统的方式一样。目前, tune2fs 不提供任何特定于 ext4 的选项,但是可以使用标准的 -O 参数设置 ext4 选项,例如 extent。

当把文件系统挂载为 ext4 时,内核开始使用特定于文件系统的功能,如 extent。这样做的结果是不能再把文件系统挂载为 ext3 文件系统,至少会变得非常困难。

尽管把 ext3 文件系统挂载为 ext4 能够实现特定于 ext4 的功能,挂载本身并不把旧数据结构转换为新的格式。例如,现有文件保持块状方式分配, 而不是使用 extent 进行分配。因此,旧文件没有从新功能获得好处。然而,ext4 的开发人员已经考虑到这种情况并且提供了一种解决办法:可以使用(正处于 试验阶段的)e4defrag 工具(随后将介绍)转换分配方式来利用 extent 功能。另一个新工具(尚不可用)将改变 inode 的大小,使它变为新的格式。

维护 ext4 文件系统

可以使用标准的 e2fsprogs 工具来维护 ext4 文件系统,例如使用 tune2fs 在创建文件系统之后调整选项,使用 fsck.ext4 执行文件系统检查等等。这些程序在 ext4 与 ext3 之间没有很大的差别。但是,如前面提到的一样,ext4 包含一些能够提升 fsck 性能的增强功能。

除了这些工具以外,有一个新工具特别值得注意:e4defrag。该程序能够对已挂载的 ext4 文件系统进行磁盘碎片整理。这能够提高性能,尤其是文件系统空间快要用完的时候。同时,这也有利于将 ext2/3 样式的分配转换为基于 extent 的 ext4 样式的分配,因此能够提高曾经作为 ext3 文件系统的文件系统的性能。不幸的是,e4defrag 还不是标准的 e2fsprogs 包的一部分,因此需要单独下载(参考资料 小节提供了链接)。

共3页: 上一页 [1] [2] 3 下一页

上一篇:Linux厂商合并 Xandros收购Linspire   下一篇:Ubuntu 8.04开发环境设置的一些体会

收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·Ubuntu 8.04开发环境设置的一些体会
·Linux下对C代码的编译
·Linux2.6与2.4内核驱动程序的区别
·Linux终端不回显
·升级Linux内核错误解决
·C语言编写Linux下的守护进程
·避免Linux脚本多次运行
·学习Linux源码及实践
·Linux下创建和编译Qt项目
·Linux 下部署Java工程编码问题
·Linux启动时自动加载脚本
·Linux log路径/var/log系统级别log syslog openlog cl
·准备进行Linux设备驱动的开发了
·Ubuntu调用函数分析
·Linux下能不能替换运行中的程序
·在Linux系统中实现虚桩式内核模块
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·Linux终端不回显
·Linux2.6与2.4内核驱动程序的区别
·Linux下对C代码的编译
·Ubuntu 8.04开发环境设置的一些体会
·升级Linux内核错误解决
·C语言编写Linux下的守护进程
·避免Linux脚本多次运行
·学习Linux源码及实践
·Linux下创建和编译Qt项目
·Linux 下部署Java工程编码问题
·Linux启动时自动加载脚本
·Linux log路径/var/log系统级别log sys
  阅读排行
·开源空间 网络安全工具开发函数库Libne
·Linux下Qtopia Core 4.3(QT/E)交叉编译
·Linux socket编程实例:echo服务器程序
·Linux编程时获取当前时间实例解析
·Linux环境下OpenGL编程学习
·升级Redhat Linux 9.0内核有感
·GNU/Linux应用程序编程:用管道进行编
·Linux中断处理学习笔记
·Linux系统中限制用户进程CPU及内存占用
·解决Linux中Matlab中文乱码问题
·Linux环境下Wine的中文显示以及freetyp
·如何在Ubuntu 7.0上实现C/C++开发环境
·Linux下安装g77 fortran complier过程
·SUSE Linux中安装Quartus 7.2过程笔记
·Linux程序设计入门 系统进程的详细介绍
网摘收藏: