版权所有IBM公司2010,2016商标学习Linux,101:创建分区和文件系统第1页,共23学习Linux,101:创建分区和文件系统对磁盘空间分而治之IanShieldsLinux作家Freelance2016年4月25日(最初于2010年7月12日)学习如何在磁盘驱动器上创建分区,如何格式化它们以在Linux系统上用作交换或数据空间.
您可以使用本教程中的资料来为LinuxProfessionalInstituteLPIC-1:Linux服务器专业认证考试101备考,或者仅为了自己的使用而了解分区和Linux文件系统.
查看本系列更多内容概述在本教程中,学习磁盘分区和Linux文件系统相关内容,包括学习如何:使用fdisk、gdisk和parted创建和修改MBR和GPT分区使用mkfs命令设置ext2、ext3、ext4、xfs和vfat文件系统创建和管理交换空间划分磁盘空间本教程首先将复习块设备和分区,然后进一步介绍fdisk、gdisk和parted命令,这些命令用于在块设备上创建、修改或删除分区.
您还将学习mkfs命令的各种形式(mkfs表示创建文件系统);mkfs命令用于将分区格式化为特定的文件系统类型.
备注:除了LPI考试中需要的工具和文件系统之外,您可能还会遇到或需要其他工具和文件系统.
在其他工具和文件系统中查阅其他一些可用工具的简介.
关于本系列本教程系列帮助学习Linux系统管理任务.
也可使用这些教程中的资料来对LinuxProfessionalInstitute的LPIC-1:Linux服务器专业认证考试.
请参阅我们的学习Linux,101:LPIC-1学习路线图,查看本系列中每部教程的描述和链接.
这个路线图仍在开发中,目前反映的最新内容是在以下日期更新的4.
0版LPIC-1考试目标.
2015年4月15日.
一旦完成这些教程后,我们会将它们添加到路线图中.
本教程可以帮助您针对LinuxServerProfessional(LPIC-1)考试101的主题104中的目标104.
1进行应考准备.
该目标的权重为2.
developerWorksibm.
com/developerWorks/cn/学习Linux,101:创建分区和文件系统第2页,共23前提条件要从本系列教程中获得最大收获,您应该拥有Linux的基本知识和一个正常工作的Linux系统,您可以在这个系统上实践本教程中涵盖的命令.
有时一个程序的不同版本会以不同方式格式化输出,所以您的结果可能并不总是与此处所示的清单和图像相同.
您还应该熟悉我们的教程"学习Linux101:硬盘布局"中的资料.
本教程中的示例来自一些不同的系统和Linux发行版.
一些系统使用相对较小的16GBUSB闪存驱动器作为重新格式化整个磁盘的轻松方式,且不会严重损失数据.
您在其他Linux系统上的结果可能有所不同.
您的硬件也会附加不同的磁盘,所以这里的示例仅用于演示.
在每个清单中的第一个命令上(如果我们使用不同的发行版来演示,则是在多个命令上),我们以注释的方式表明了实际使用的Linux发行版.
块设备和分区我们的教程"学习Linux101:硬盘布局"介绍了硬盘驱动器布局、分区,以及使用fdisk和gdisk命令来查看分区信息的一些基本用法.
您学习了主引导记录(MBR)、分区表、分区,包括主、扩展和逻辑分区.
我们还介绍了GUID分区表(GPT),一种用于解决MBR布局中的内在大小限制的新格式.
最后还了解到,一个Linux文件系统包含以目录形式排列在磁盘上或其他块存储设备上的文件.
与许多其他系统一样,Linux系统上的目录可以包含其他称为子目录的目录.
该教程还探讨了指导您做出分区相关选择的考虑因素.
本教程将重点介绍与使用MBR布局执行分区的fdisk命令和使用GPT布局执行分区的gdisk命令相关的LPI需求.
块设备块设备是一个表示任何可格式化为固定大小的块的存储设备的抽象层;各个块可与其他块地址独立地存取.
这种存取通常称为随机存取.
可随机存取的固定大小块的抽象层允许程序使用这些块设备,而不必担忧底层设备是硬盘驱动器、软盘、CD、固态硬盘、网络驱动器还是某种虚拟设备,比如内存型文件系统.
块设备的示例包括您的系统上的第一个IDE或SATA硬盘驱动器(/dev/sda或/dev/hda)或第二个SCSI、IDE或USB驱动器(/dev/sdb).
可使用ls-l命令显示/dev条目.
每个输出行上的第一个字符是b,表示块设备,比如软盘、CD驱动器、IDE硬盘驱动器或SCSI硬盘驱动器;c表示字符设备,比如终端(tty)或空(null)设备.
请参见清单1中的示例.
清单1.
Linux块和字符设备[ian@attic-f21resent]$ls-l/dev/null/dev/sd[ab]/dev/sr0/dev/tty0#Fedora21crw-rw-rw-.
1rootroot1,3Jul2720:38/dev/nullbrw-rw----.
1rootdisk8,0Jul3007:46/dev/sdabrw-rw----.
1rootdisk8,16Jul3007:46/dev/sdbbrw-rw----+1rootcdrom11,0Jul2720:38/dev/sr0crw--w----.
1roottty4,0Jul2720:38/dev/tty0分区对于一些块设备,比如软盘和CD或DVD光盘,通常会将完整的介质用作单个文件系统.
但是,对于大型硬盘驱动器,甚至对于USB闪存盘,将可用空间划分或分区为多个不同的分区更常见一些.
ibm.
com/developerWorks/cn/developerWorks学习Linux,101:创建分区和文件系统第3页,共23分区可具有不同的大小,不同的分区之上可包含不同的文件系统,所以一个磁盘可用于许多用途,包括在多个操作系统之间共享它.
例如,我使用的测试系统包含多个不同的Linux发行版,有时还包含一个Windows系统,它们共享一个或两个硬盘驱动器.
回顾一下教程"学习Linux,101:硬盘布局",硬盘驱动器有一种使用柱面、磁头和扇区来定义的几何结构.
尽管现代驱动器使用了逻辑块寻址(LBA),它呈现出几乎毫无关联的几何结构,但用于MBR分区用途的基础分配单元通常仍是柱面.
显示分区信息分区信息存储在磁盘上的分区表上.
该表列出了每个分区的起点和终点的信息、它的类型信息,以及它是否标记为可引导.
要创建和删除分区,可以使用一个专为该工作而设计的程序来编辑分区表.
对于LPI考试,您需要了解fdisk、gdisk和parted分区,所以这里将介绍这些程序,但您也可以使用其他一些工具.
本教程最后会提到一些工具.
使用fdisk显示MBR分区信息带-l选项的fdisk命令用于列出分区.
如果您希望查看一个特定驱动器上的分区,可以添加一个设备名称,比如/dev/sda.
请记住分区工具需要根访问权限.
清单2显示了我的两个系统的主硬盘驱动器上的分区.
清单2.
使用fdisk列出MBR分区ian@Z61t-u14:~$sudofdisk-l/dev/sda#Ubuntu14Disk/dev/sda:500.
1GB,500107862016bytes255heads,63sectors/track,60801cylinders,total976773168sectorsUnits=sectorsof1*512=512bytesSectorsize(logical/physical):512bytes/512bytesI/Osize(minimum/optimal):512bytes/512bytesDiskidentifier:0xed1f86f7DeviceBootStartEndBlocksIdSystem/dev/sda1*6318591551992957728+7HPFS/NTFS/exFAT/dev/sda2185915520195365519472500012Compaqdiagnostics/dev/sda31953669109767731193907031055Extended/dev/sda51953669122930216954882739283Linux/dev/sda6293023744312553471976486482Linuxswap/Solaris/dev/sda73125555203330355191024000083Linux[root@atticf20~]#fdisk-l/dev/sda#Fedora22Disk/dev/sda:596.
2GiB,640135028736bytes,1250263728sectorsUnits:sectorsof1*512=512bytesSectorsize(logical/physical):512bytes/512bytesI/Osize(minimum/optimal):512bytes/512bytesDisklabeltype:dosDiskidentifier:0x00064a1aDeviceBootStartEndSectorsSizeIdType/dev/sda16320402542040192996.
2M83Linux/dev/sda2204025522523129204828759.
8G82Linuxswap/Solaris/dev/sda42252319112502586241227735434585.
4G5Extended/dev/sda52252319316739729914487410769.
1G83Linux/dev/sda616739736331076135914336399768.
4G83Linux/dev/sda7*31076142345544274914468132769G83Linux/dev/sda845544281360009200914464919769G83Linux/dev/sda960009207374443603414434396268.
8G83Linux/dev/sda1074443609891843993517400383883G83LinuxdeveloperWorksibm.
com/developerWorks/cn/学习Linux,101:创建分区和文件系统第4页,共23/dev/sda11918441984107904409516060211276.
6G83Linux/dev/sda121079053983125025862417120464281.
7G83Linux备注:1.
标头信息显示了磁盘大小和几何结构.
使用LBA的最大磁盘拥有每个柱面255个磁头和每个磁道63个扇区,总计16065个扇区或每个柱面8225280个字节.
2.
在第二个示例中,一个逻辑分区(/dev/sda7)被标记为可引导(或活动).
该标志通常使标准DOSPC主引导记录能够引导该分区.
但是,加载程序只能引导主分区.
此标志对于LILO或GRUB引导加载程序没有意义.
两个示例现在都使用GRUB2作为引导加载程序,而且/dev/sda7被标记为可引导的事实可能是我过去使用这个驱动器的一个意外结果.
3.
Start和End列显示了每个分区的开始和结束柱面.
这些柱面不得重叠,一般都是连续的,没有其他空间介于中间.
4.
Blocks列显示分区中的1K(1024字节)块数.
对于编写本教程时使用的大部分磁盘,扇区大小都为512字节,所以一个分区中的最大块数是柱面数(End+1-Start)与每个柱面的扇区数的乘积的一半.
末尾的+符号表示不是该分区中的所有扇区都被使用.
一些磁盘现在可使用更大的扇区来格式化.
5.
Id字段表示该分区的目标用途.
类型82是一个Linux交换分区,类型83是一个Linux数据分区.
定义了大约100个不同的分区类型.
第二个磁盘在多个操作系统之间共享,包括Windows/XP,因此存在WindowsNTFS(可能还有FAT32)分区.
使用gdisk显示GPT分区信息像用于MBR格式磁盘的fdisk命令一样,带-l选项的gdisk用于列出GPT格式磁盘的分区.
如果希望查看一个特定驱动器上的分区,可以添加一个设备名称,比如/dev/sda.
和fdisk一样,gdisk也需要根访问权限.
清单3显示了包含我的许多系统的GPT格式硬盘驱动器的分区,其中该分区占据了几乎一半的可用磁盘.
清单3.
使用gdisk列出GPT分区[root@attic-f21~]##Fedora21[root@attic-f21~]#gdisk-l/dev/sdcGPTfdisk(gdisk)version1.
0.
0Partitiontablescan:MBR:protectiveBSD:notpresentAPM:notpresentGPT:presentFoundvalidGPTwithprotectiveMBR;usingGPT.
Disk/dev/sdc:1953525168sectors,931.
5GiBLogicalsectorsize:512bytesDiskidentifier(GUID):E5D8C34A-33BF-49EA-8800-AE195E292F1DPartitiontableholdsupto128entriesFirstusablesectoris34,lastusablesectoris1953525134Partitionswillbealignedon2048-sectorboundariesTotalfreespaceis1004111213sectors(478.
8GiB)NumberStart(sector)End(sector)SizeCodeName12048949415935452.
7GiB0700您可能注意到有一个保护性MBR.
这使无法识别GPT格式的程序能够将该磁盘视为好像整个磁盘都被单个分区占用.
目前的fdisk版本能够识别GPT格式,还将显示GPT格式磁盘上的分区.
ibm.
com/developerWorks/cn/developerWorks学习Linux,101:创建分区和文件系统第5页,共23使用parted显示分区信息parted命令是一个enquiry编辑器,将同时适用于MBR和GPT格式磁盘.
清单4显示了来自清单2的第二个磁盘和来自清单3的磁盘.
清单4.
使用parted列出MBR和GPT分区[root@attic-f21~]##Fedora21[root@attic-f21~]#parted/dev/sdapModel:ATAWDCWD6401AALS-0(scsi)Disk/dev/sda:640GBSectorsize(logical/physical):512B/512BPartitionTable:msdosDiskFlags:NumberStartEndSizeTypeFilesystemFlags132.
3kB1045MB1045MBprimaryext321045MB11.
5GB10.
5GBprimarylinux-swap(v1)411.
5GB640GB629GBextended511.
5GB85.
7GB74.
2GBlogicalext4685.
7GB159GB73.
4GBlogicalext47159GB233GB74.
1GBlogicalext4boot8233GB307GB74.
1GBlogicalext39307GB381GB73.
9GBlogicalext310381GB470GB89.
1GBlogicalext411470GB552GB82.
2GBlogicalext312552GB640GB87.
7GBlogicalext4[root@attic-f21~]#parted/dev/sdcpModel:ATAWDCWD1003FZEX-0(scsi)Disk/dev/sdc:1000GBSectorsize(logical/physical):512B/4096BPartitionTable:gptDiskFlags:NumberStartEndSizeFilesystemNameFlags11049kB486GB486GBext4msftdata请注意两个磁盘上不同的物理扇区大小.
对一个磁盘进行分区您已看到如何使用fdisk、gdisk和parted命令显示分区信息.
这些命令还提供了一个菜单驱动的环境来编辑分区表,以便创建或删除分区.
警告开始修改分区之前,需要记住一些重要的事项.
如果没有遵循这些准则,您可能丢失现有的数据.
1.
开始之前备份重要的数据,像任何可能导致数据丢失的操作一样.
2.
不要更改正在使用的分区.
计划您的操作并小心执行它们.
从CD、DVD或USB引导一个活动的发行版,这是确保没有硬盘驱动器分区正在使用的一个不错方法.
3.
了解您的工具.
fdisk命令在您告诉它之前不会将任何更改提交到磁盘.
其他工具(包括parted)可能不断提交更改.
4.
如果犯错,则停止操作.
分区工具会写入分区表.
除非您使用的工具还包含移动、调整、格式化或将数据写入磁盘的数据区域的能力,否则分区工具不会接触您的数据.
如果您犯了一个错误,请尽快停止操作并寻求帮助.
您可能仍然能够还原以前的分区表定义,从而恢复您的分区和数据.
developerWorksibm.
com/developerWorks/cn/学习Linux,101:创建分区和文件系统第6页,共23使用fdisk分区MBR磁盘如果需要更改在正常使用的分区,您可能希望从一个活动CD或USB闪存盘来操作.
对于我们使用fdisk添加分区的第一个示例,我将使用Knoppix7.
4.
2活动DVD.
要在交互式模式下启动fdisk,可以提供一个磁盘的名称(比如/dev/sda或/dev/sdb)作为参数.
您需要具有根用户权限,并会看到类似清单5的输出.
清单5.
启动交互式fdiskknoppix@Microknoppix:~$su-root@Microknoppix:~#fdisk/dev/sdaCommand(mforhelp):对于拥有超过1024个柱面的磁盘,旧的fdisk版本会提供警告.
如果您的BIOS非常老,不支持从超过1024个柱面的磁盘进行引导,那么这个版本可能适合您,但如今的大部分系统都不会受此限制影响,而且fdisk的现代版本不再显示该警告.
您可能还会发现您的版本有一个-c选项,用于关闭DOS兼容性模式.
一般情况下会推荐这么做,这样还会禁止一些警告.
可以键入m来显示可用的单字母命令列表,如清单6所示.
清单6.
fdisk中的帮助Command(mforhelp):mCommandactionatoggleabootableflagbeditbsddisklabelctogglethedoscompatibilityflagddeleteapartitionllistknownpartitiontypesmprintthismenunaddanewpartitionocreateanewemptyDOSpartitiontablepprintthepartitiontableqquitwithoutsavingchangesscreateanewemptySundisklabeltchangeapartition'ssystemiduchangedisplay/entryunitsvverifythepartitiontablewwritetabletodiskandexitxextrafunctionality(expertsonly)Command(mforhelp):可以使用p命令显示此磁盘上的现有分区.
清单7显示了输出.
清单7.
显示现有分区表Command(mforhelp):pDisk/dev/sda:640.
1GB,640135028736bytes255heads,63sectors/track,77825cylinders,total1250263728sectorsUnits=sectorsof1*512=512bytesSectorsize(logical/physical):512bytes/512bytesI/Osize(minimum/optimal):512bytes/512bytesDiskidentifier:0x00064a1aibm.
com/developerWorks/cn/developerWorks学习Linux,101:创建分区和文件系统第7页,共23DeviceBootStartEndBlocksIdSystem/dev/sda1632040254102009683Linux/dev/sda220402552252312910241437+82Linuxswap/Solaris/dev/sda42252319112502586246138677175Extended/dev/sda52252319316739729972437053+83Linux/dev/sda616739736331076135971681998+83Linux/dev/sda7*31076142345544274972340663+83Linux/dev/sda845544281360009200972324598+83Linux/dev/sda96000920737444360347217198183Linux/dev/sda107444360989184399358700191983Linux/dev/sda1191844198410790440958030105683Linux/dev/sda12107905398312502586248560232183LinuxCommand(mforhelp):这个特定的磁盘是一个640GB磁盘,包含两个主分区/dev/sda1和/dev/sda2,一个扩展分区/dev/sda4(其中包含8个逻辑分区).
有一个Linux交换分区.
使用fdisk添加分区我们现在使用磁盘末尾非常少量的空闲空间的一部分来添加一个主分区,我们最终将它格式化为FAT32.
首先使用n命令创建一个新分区;请参见清单8.
清单8.
创建我们的第一个分区Command(mforhelp):nPartitiontype:pprimary(2primary,1extended,1free)llogical(numberedfrom5)Select(defaultp):pSelectedpartition3Firstsector(22523130-1250263727,default22523130):1250258625Lastsector,+sectorsor+size{K,M,G}(1250258625-1250263727,default1250263727):Usingdefaultvalue1250263727Command(mforhelp):pDisk/dev/sda:640.
1GB,640135028736bytes255heads,63sectors/track,77825cylinders,total1250263728sectorsUnits=sectorsof1*512=512bytesSectorsize(logical/physical):512bytes/512bytesI/Osize(minimum/optimal):512bytes/512bytesDiskidentifier:0x00064a1aDeviceBootStartEndBlocksIdSystem/dev/sda1632040254102009683Linux/dev/sda220402552252312910241437+82Linuxswap/Solaris/dev/sda3125025862512502637272551+83Linux/dev/sda42252319112502586246138677175Extended/dev/sda52252319316739729972437053+83Linux/dev/sda616739736331076135971681998+83Linux/dev/sda7*31076142345544274972340663+83Linux/dev/sda845544281360009200972324598+83Linux/dev/sda96000920737444360347217198183Linux/dev/sda107444360989184399358700191983Linux/dev/sda1191844198410790440958030105683Linux/dev/sda12107905398312502586248560232183LinuxPartitiontableentriesarenotindiskorderCommand(mforhelp):developerWorksibm.
com/developerWorks/cn/学习Linux,101:创建分区和文件系统第8页,共23主分区必须使用1到4来编号,所以选择p作为分区类型后,我们唯一的分区编号选择使用是3,因为该磁盘已使用了1、2和4.
我们指定了1250258625作为开始扇区,因为它是为/dev/sda12使用的最后一个扇区之后的扇区.
我们使用磁盘上的最后一个扇作为结束扇区的默认设置.
新的/dev/sda3分区有2551个1K块,所以它确实非常小.
一个不错的主意是顺序分配分区编号;如果没有这么做,一些工具会抗议,fdisk会提醒我们分区表条目不再与磁盘顺序相同.
另请注意,我们的新分区分配了一个类型83,表示Linux数据分区.
可以使用它向操作系统表明该分区的目标用途.
最终的用途应与它相匹配,但在目前,我们甚至没有格式化该分区,更不用说在该分区上放入数据了.
我们稍后将更改分区类型.
您可能已经注意到,在我们输入n子命令来创建新分区时,唯一的选择是表示逻辑分区的'l'和表示主分区的'p'.
您只会看到可以创建的可能分区类型的选项.
如果驱动器还没有扩展分区,那么您会看到表示扩展分区的'e'.
另请注意,我们的扩展分区(/dev/sda4)为类型5.
使用fdisk更改分区类型离开fdisk之前,我们将更改新分区的分区类型.
为此,我们使用t子命令来设置分区类型.
我们将/dev/sda3设置为类型b(W95FAT32).
如果希望看到受支持类型的完整列表,可以输入L,就像在清单9中看到的一样.
清单9.
更改分区类型Command(mforhelp):tPartitionnumber(1-12):3Hexcode(typeLtolistcodes):bChangedsystemtypeofpartition3tob(W95FAT32)Command(mforhelp):保存我们的分区表目前为止,我们仅对一个分区表执行了内存中编辑.
我们可以使用q命令来退出而不保存更改.
如果某个结果不是您想要的,可以使用d命令删除一个或多个分区,以便重新定义它们.
如果对设置满意,可以使用v命令验证您的设置,然后使用w命令写入新分区表和fdisk的退出点.
参见清单10.
如果再次运行fdisk-l,您会看到Linux现在能够识别这些新分区.
与一些操作系统中不同,并不总是需要重新引导才能让更改生效.
举例而言,如果因为删除了原始的/dev/hda2让/dev/hda3变成了/dev/hda2,可能需要进行重新引导.
如果需要重新引导,fdisk会告诉您执行该操作.
清单10.
保存分区表Command(mforhelp):vRemaining12367unallocated512-bytesectorsCommand(mforhelp):wThepartitiontablehasbeenaltered!
Callingioctl()tore-readpartitiontable.
WARNING:IfyouhavecreatedormodifiedanyDOS6.
xpartitions,pleaseseethefdiskmanualpageforadditionalinformation.
Syncingdisks.
ibm.
com/developerWorks/cn/developerWorks学习Linux,101:创建分区和文件系统第9页,共23fdisk的更多信息LILO和GRUB都没有使用可引导标志.
如果它们中的一个已安装在MBR中,那么它可以引导任何分区,无论是主分区还是逻辑分区.
如果需要的话,还可以使用fdisk修复分区表中的分区顺序.
这通常会更改分区编号,所以您可能需要执行其他操作来将系统还原为正常工作的系统.
要执行此更改,可以使用f子命令切换到导出模式,然后使用f子命令修复分区顺序,如清单11中所示.
如果只想查看新分区顺序而不更改它,可以使用q子命令退出,就像我们在这个示例中所做的一样,而不将更新的分区表写入磁盘.
清单11.
修复分区表顺序root@Microknoppix:~#fdisk/dev/sdaCommand(mforhelp):pDisk/dev/sda:640.
1GB,640135028736bytes255heads,63sectors/track,77825cylinders,total1250263728sectorsUnits=sectorsof1*512=512bytesSectorsize(logical/physical):512bytes/512bytesI/Osize(minimum/optimal):512bytes/512bytesDiskidentifier:0x00064a1aDeviceBootStartEndBlocksIdSystem/dev/sda1632040254102009683Linux/dev/sda220402552252312910241437+82Linuxswap/Solaris/dev/sda3125025862512502637272551+bW95FAT32/dev/sda42252319112502586246138677175Extended/dev/sda52252319316739729972437053+83Linux/dev/sda616739736331076135971681998+83Linux/dev/sda7*31076142345544274972340663+83Linux/dev/sda845544281360009200972324598+83Linux/dev/sda96000920737444360347217198183Linux/dev/sda107444360989184399358700191983Linux/dev/sda1191844198410790440958030105683Linux/dev/sda12107905398312502586248560232183LinuxPartitiontableentriesarenotindiskorderCommand(mforhelp):xExpertcommand(mforhelp):mCommandactionbmovebeginningofdatainapartitioncchangenumberofcylindersdprinttherawdatainthepartitiontableelistextendedpartitionsffixpartitionordergcreateanIRIX(SGI)partitiontablehchangenumberofheadsichangethediskidentifiermprintthismenupprintthepartitiontableqquitwithoutsavingchangesrreturntomainmenuschangenumberofsectors/trackvverifythepartitiontablewwritetabletodiskandexitExpertcommand(mforhelp):fDone.
Expertcommand(mforhelp):pdeveloperWorksibm.
com/developerWorks/cn/学习Linux,101:创建分区和文件系统第10页,共23Disk/dev/sda:255heads,63sectors,77825cylindersNrAFHdSecCylHdSecCylStartSizeID100110254631266320401928320001127254631023204025520482875823002546310232546310232252319112277354340540001180631125025862551030b500254631023254631023214487410783600254631023254631023631433639978378025463102325463102363144681327838002546310232546310236314464919783900254631023254631023631443439628310002546310232546310236317400383883110025463102325463102320481606021128312002546310232546310236317120464283Expertcommand(mforhelp):q从导出命令的菜单可以看到,许多命令不大可能被使用,只有在知道它们的用途后才会使用它们.
另请注意,分区的打印输出在导出模式下具有不同的格式.
使用gdisk分区GPT磁盘我们现在来查看如何使用gdisk命令将分区添加到GPT格式磁盘.
我们将添加一个4GB交换分区和一个40GB数据分区.
本节中的示例使用了一个CentOS6系统.
警告:如果在MBR格式磁盘上使用gdisk,则会将磁盘转换为GPT格式.
这可能销毁磁盘上的数据,所以在尝试此命令之前,请确保做好备份.
清单12显示gdisk首先使用我们上面使用的MBR磁盘(/dev/sda),然后使用一个GPT格式磁盘(/dev/sdc).
我们将使用/dev/sdc作为我们的两个新分区.
清单12.
在交互式模式下启动gdisk[root@attic4-cent~]#gdisk/dev/sdaGPTfdisk(gdisk)version0.
8.
10Partitiontablescan:MBR:MBRonlyBSD:notpresentAPM:notpresentGPT:notpresentFoundinvalidGPTandvalidMBR;convertingMBRtoGPTformatinmemory.
THISOPERATIONISPOTENTIALLYDESTRUCTIVE!
Exitbytyping'q'ifyoudon'twanttoconvertyourMBRpartitionstoGPTformat!
Warning!
Secondarypartitiontableoverlapsthelastpartitionby33blocks!
Youwillneedtodeletethispartitionorresizeitinanotherutility.
Command(forhelp):q[root@attic4-cent~]#gdisk/dev/sdcGPTfdisk(gdisk)version0.
8.
10Partitiontablescan:ibm.
com/developerWorks/cn/developerWorks学习Linux,101:创建分区和文件系统第11页,共23MBR:protectiveBSD:notpresentAPM:notpresentGPT:presentFoundvalidGPTwithprotectiveMBR;usingGPT.
Command(forhelp):与fdisk一样,您可以获取帮助.
可使用子命令获得帮助,如清单13中所示.
清单13.
获取启动gdisk的帮助Command(forhelp):bbackupGPTdatatoafilecchangeapartition'snameddeleteapartitionishowdetailedinformationonapartitionllistknownpartitiontypesnaddanewpartitionocreateanewemptyGUIDpartitiontable(GPT)pprintthepartitiontableqquitwithoutsavingchangesrrecoveryandtransformationoptions(expertsonly)ssortpartitionstchangeapartition'stypecodevverifydiskwwritetabletodiskandexitxextrafunctionality(expertsonly)printthismenuCommand(forhelp):清单14展示了如何添加我们的两个分区.
最初,这两个分区都默认为Linux数据分区(类型为8300).
您可以注意到,我们使用了+4G和+40G来指定分区的最后一个扇区.
清单14.
使用gdisk添加分区Command(forhelp):nPartitionnumber(2-128,default2):Firstsector(34-1953525134,default=949415936)or{+-}size{KMGTP}:Lastsector(949415936-1953525134,default=1953525134)or{+-}size{KMGTP}:+4GCurrenttypeis'Linuxfilesystem'HexcodeorGUID(Ltoshowcodes,Enter=8300):Changedtypeofpartitionto'Linuxfilesystem'Command(forhelp):nPartitionnumber(3-128,default3):Firstsector(34-1953525134,default=957804544)or{+-}size{KMGTP}:Lastsector(957804544-1953525134,default=1953525134)or{+-}size{KMGTP}:+40GCurrenttypeis'Linuxfilesystem'HexcodeorGUID(Ltoshowcodes,Enter=8300):Changedtypeofpartitionto'Linuxfilesystem'Command(forhelp):现在我们将/dev/sdc2的分区类型更改为Linux交换分区.
清单15显示了可用的类型和如何更改/dev/sdc2.
我们还给出了结果分区表,包括已在磁盘上的第一个分区.
清单15.
使用gdisk更改分区类型Command(forhelp):ldeveloperWorksibm.
com/developerWorks/cn/学习Linux,101:创建分区和文件系统第12页,共230700Microsoftbasicdata0c01Microsoftreserved2700WindowsRE3000ONIEboot3001ONIEconfig4100PowerPCPRePboot4200WindowsLDMdata4201WindowsLDMmetadata7501IBMGPFS7f00ChromeOSkernel7f01ChromeOSroot7f02ChromeOSreserved8200Linuxswap8300Linuxfilesystem8301Linuxreserved8302Linux/home8400IntelRapidStart8e00LinuxLVMa500FreeBSDdisklabela501FreeBSDboota502FreeBSDswapa503FreeBSDUFSa504FreeBSDZFSa505FreeBSDVinum/RAIDa580MidnightBSDdataa581MidnightBSDboota582MidnightBSDswapa583MidnightBSDUFSa584MidnightBSDZFSa585MidnightBSDVinuma800AppleUFSa901NetBSDswapa902NetBSDFFSa903NetBSDLFSa904NetBSDconcatenateda905NetBSDencrypteda906NetBSDRAIDab00Applebootaf00AppleHFS/HFS+af01AppleRAIDaf02AppleRAIDofflineaf03Applelabelaf04AppleTVrecoveryaf05AppleCoreStoragebe00Solarisbootbf00Solarisrootbf01Solaris/usr&MacZbf02Solarisswapbf03Solarisbackupbf04Solaris/varbf05Solaris/homebf06Solarisalternatesebf07SolarisReserved1bf08SolarisReserved2bf09SolarisReserved3bf0aSolarisReserved4bf0bSolarisReserved5c001HP-UXdatac002HP-UXserviceea00Freedesktop$BOOTeb00HaikuBFSed00Sonysystempartitioed01LenovosystempartitPressthekeytoseemorecodes:ef00EFISystemef01MBRpartitionschemeef02BIOSbootpartitionfb00VMWareVMFSfb01VMWarereservedfc00VMWarekcorecrashpfd00LinuxRAIDCommand(forhelp):tPartitionnumber(1-3):2Currenttypeis'Linuxfilesystem'HexcodeorGUID(Ltoshowcodes,Enter=8300):8200Changedtypeofpartitionto'Linuxswap'Command(forhelp):pDisk/dev/sdc:1953525168sectors,931.
5GiBLogicalsectorsize:512bytesDiskidentifier(GUID):E5D8C34A-33BF-49EA-8800-AE195E292F1DPartitiontableholdsupto128entriesFirstusablesectoris34,lastusablesectoris1953525134Partitionswillbealignedon2048-sectorboundariesTotalfreespaceis911836525sectors(434.
8GiB)NumberStart(sector)End(sector)SizeCodeName12048949415935452.
7GiB070029494159369578045434.
0GiB8200Linuxswap3957804544104169062340.
0GiB8300LinuxfilesystemCommand(forhelp):i请注意,/dev/sdc1具有分区类型0700,表示Microsoft基本数据.
该分区被实际格式化为Linuxext4文件系统.
一些分区类型(比如Microsoft基本数据)对一些操作系统很重要.
其他类型(像这个例子中一样)对操作系统只有提示作用.
我们的最后一项任务是验证分区表并写入它.
我们在清单16中给出了使用的命令.
ibm.
com/developerWorks/cn/developerWorks学习Linux,101:创建分区和文件系统第13页,共23清单16.
使用gdisk验证和写入分区表Command(forhelp):vNoproblemsfound.
911836525freesectors(434.
8GiB)availablein2segments,thelargestofwhichis911834511(434.
8GiB)insize.
Command(forhelp):wFinalcheckscomplete.
AbouttowriteGPTdata.
THISWILLOVERWRITEEXISTINGPARTITIONS!
!
Doyouwanttoproceed(Y/N):yOK;writingnewGUIDpartitiontable(GPT)to/dev/sdc.
Warning:Thekernelisstillusingtheoldpartitiontable.
Thenewtablewillbeusedatthenextreboot.
Theoperationhascompletedsuccessfully.
最后一条有关需要重新引导的警告是因为我们挂载了/dev/sdc1.
我们之前说过,在磁盘没有挂载文件系统时,通常最好对它进行重新分区.
使用parted进行分区目前为止,您可能对还可以在交互式模式下使用parted并不感到奇怪.
您可以将它用于MBR或GPT格式磁盘.
parted与fdisk或gdisk之间的一个重大区别是,parted立即执行它的子命令并不断更新分区表.
清单17展示了如何启动parted来更新/dev/sdc.
您可以获得一个命令列表和各个命令的帮助.
我们演示了mklabel命令的个别帮助.
可以缩短命令,将其缩写为最简短的唯一缩写形式,所以我们可以使用hmklabel代替helpmklabel.
我们还打印了分区表,您可以确认/dev/sdc1是唯一的格式化分区,而且它被格式化为ext4.
清单17.
启动parted来更新/dev/sdc[root@attic4-cent~]#parted/dev/sdcGNUParted2.
1Using/dev/sdcWelcometoGNUParted!
Type'help'toviewalistofcommands.
(parted)helpalign-checkTYPENcheckpartitionNforTYPE(min|opt)alignmentcheckNUMBERdoasimplecheckonthefilesystemcp[FROM-DEVICE]FROM-NUMBERTO-NUMBERcopyfilesystemtoanotherpartitionhelp[COMMAND]printgeneralhelp,orhelponCOMMANDmklabel,mktableLABEL-TYPEcreateanewdisklabel(partitiontable)mkfsNUMBERFS-TYPEmakeaFS-TYPEfilesystemonpartitionNUMBERmkpartPART-TYPE[FS-TYPE]STARTENDmakeapartitionmkpartfsPART-TYPEFS-TYPESTARTENDmakeapartitionwithafilesystemmoveNUMBERSTARTENDmovepartitionNUMBERnameNUMBERNAMEnamepartitionNUMBERasNAMEprint[devices|free|list,all|NUMBER]displaythepartitiontable,availabledevices,freespace,allfoundpartitions,oraparticularpartitionquitexitprogramrescueSTARTENDrescuealostpartitionnearSTARTandENDresizeNUMBERSTARTENDresizepartitionNUMBERanditsfilesystemrmNUMBERdeletepartitionNUMBERdeveloperWorksibm.
com/developerWorks/cn/学习Linux,101:创建分区和文件系统第14页,共23selectDEVICEchoosethedevicetoeditsetNUMBERFLAGSTATEchangetheFLAGonpartitionNUMBERtoggle[NUMBER[FLAG]]togglethestateofFLAGonpartitionNUMBERunitUNITsetthedefaultunittoUNITversiondisplaytheversionnumberandcopyrightinformationofGNUParted(parted)helpmklabelmklabel,mktableLABEL-TYPEcreateanewdisklabel(partitiontable)LABEL-TYPEisoneof:aix,amiga,bsd,dvh,gpt,mac,msdos,pc98,sun,loop(parted)pModel:ATAWDCWD1003FZEX-0(scsi)Disk/dev/sdc:1000GBSectorsize(logical/physical):512B/4096BPartitionTable:gptNumberStartEndSizeFilesystemNameFlags11049kB486GB486GBext42486GB490GB4295MBLinuxswap3490GB533GB42.
9GBLinuxfilesystem(parted)请注意,parted使用了10的倍数而不是2的倍数来表示MB、GB等,所以gdisk添加的40GB分区现在使用parted显示为42.
9GB.
我们现在将使用mkpart子命令添加另外两个Linux文件系统分区.
您可以使用mkpartfs命令来创建分区并将其格式化,但parted推荐使用我们稍后将遇到的更可靠的分区格式化工具,所以我们将使用mkpart,如清单18中所示.
清单18.
使用mkpart添加两个Linux文件系统分区(parted)mkpartPartitionname[]"Linuxfilesystem"Filesystemtype[ext2]xfsStart533GBEnd573GBPartitionname[]"Linuxfilesystem"Filesystemtype[ext2]Start573GBEnd613GB(parted)pModel:ATAWDCWD1003FZEX-0(scsi)Disk/dev/sdc:1000GBSectorsize(logical/physical):512B/4096BPartitionTable:gptNumberStartEndSizeFilesystemNameFlags11049kB486GB486GBext42486GB490GB4295MBLinuxswap3490GB533GB42.
9GBLinuxfilesystem4533GB573GB39.
7GBLinuxfilesystem5573GB613GB40.
0GBLinuxfilesystem(parted)您可能已经注意到,parted向我们询问文件系统类型而不是分区类型编码.
我们为一个分区指定了xfs,让第二个分区使用默认的ext2.
从理论上讲,parted使用目标文件系统类型来确定正确的分区类型.
清单19使用gdisk来显示parted分配给我们的新分区的类型.
ibm.
com/developerWorks/cn/developerWorks学习Linux,101:创建分区和文件系统第15页,共23清单19.
使用gdisk显示parted所创建的分区类型[root@attic4-cent~]#gdisk-l/dev/sdcGPTfdisk(gdisk)version0.
8.
10Partitiontablescan:MBR:protectiveBSD:notpresentAPM:notpresentGPT:presentFoundvalidGPTwithprotectiveMBR;usingGPT.
Disk/dev/sdc:1953525168sectors,931.
5GiBLogicalsectorsize:512bytesDiskidentifier(GUID):E5D8C34A-33BF-49EA-8800-AE195E292F1DPartitiontableholdsupto128entriesFirstusablesectoris34,lastusablesectoris1953525134Partitionswillbealignedon2048-sectorboundariesTotalfreespaceis756262253sectors(360.
6GiB)NumberStart(sector)End(sector)SizeCodeName12048949415935452.
7GiB070029494159369578045434.
0GiB8200Linuxswap3957804544104169062340.
0GiB8300Linuxfilesystem41041690624111913983936.
9GiB0700Linuxfilesystem51119139840119726489537.
3GiB0700Linuxfilesystem/dev/sdc1可能是使用parted或gparted创建的.
您现在已经了解了向Linux工作站添加分区的多种方法.
本教程后面将介绍可以添加到工具箱中的其他一些工具.
可能影响您的文件系统选择的考虑因素已在教程"学习Linux,101:查找和放置系统文件"中介绍.
文件系统类型Linux支持多种不同的文件系统.
每种文件系统都有其优点和缺点,以及它们自己的一组性能特征.
文件系统的一个重要属性是日志,它有助于在发生系统崩溃后更快地恢复.
一般而言,在选择时,日志文件系统优先于非日志文件系统.
您可能还希望考虑您选择的文件系统是否支持安全增强Linux(或SELinux).
两种较新的文件系统ZFS和btrfs都使用了一种称为CopyonWrite(写时复制)的技术来改进数据完整性和解决大型存储需求.
以下是应对LPI考试您需要知道的文件系统类型的简介.
请参见参考资料,获取额外的背景信息.
ext2文件系统ext2文件系统(也称为第二个扩展文件系统)被开发用来补充早期Linux版本中使用的Minix文件系统中的不足之处.
多年以来,它被广泛用于Linux之上.
ext2中没有日志,它在很大程度上已被ext3和最新的ext4所取代.
ext3文件系统ext3文件系统向标准的ext2文件系统添加了日志功能,因此是一个非常稳定的文件系统的一次革命性改进.
它在大部分条件下都提供了合理的性能,而且仍在不断改进.
因为它在成熟的ext2文件系统上添加了日志,所以可以将现有的ext2文件系统转换为ext3,甚至可以在需要时再次转换回来.
developerWorksibm.
com/developerWorks/cn/学习Linux,101:创建分区和文件系统第16页,共23ext4文件系统最初是ext3的扩展,它通过增加存储限制和提高性能来满足更大的文件系统的需求.
为了保留ext3的稳定性,2006年6月决定将这些扩展分支到一个新文件系统中,也就是ext4.
ext4文件系统于2008年12月发布,包含在2.
6.
28内核中.
对ext3的一些更改包括:文件系统最大为1EB,可包含最大16TB的文件使用盘区来取代块映射,以此作为提高性能的一种途径使用日志校验和提高可靠性因为在检查期间会跳过未分配的块,所以文件系统检查更快.
延迟的分配和多块分配器提高了性能并减少了文件碎片.
时间戳更改提供了更细的粒度,增加了一个新的创建日期(需要最终更新许多库和实用程序才能完全发挥作用).
一项进一步的时间戳更改解决了将时间戳存储为有符号32位整数所导致的2038年问题.
XFS文件系统XFS是一种包含日志功能的文件系统.
它拥有可靠的功能并针对可伸缩性进行了优化.
XFS大胆地将传输中的数据缓存在RAM中,所以在使用XFS时,推荐使用不会中断的电源.
交换文件系统交换空间必须格式化才能用作交换空间,但它一般不会被视为文件系统.
vfat文件系统此文件系统(也称为FAT32)没有日志功能,缺少完整的Linux文件系统实现所需的许多功能.
它对在Windows与Linux系统之间交换数据很有用,因为它可以同时被Windows和Linux读取.
不要将此文件系统用于Linux,除非用该文件系统在Windows和Linux之间共享数据.
如果将Linux存档文件解压到vfat磁盘上,您将失去一些权限,比如执行权限,而且您将失去可能存储在该存档文件中的所有符号链接.
ReiserFS文件系统ReiserFS是一种基于B树的文件系统,它具有非常好的整体性能,尤其对于大量小文件.
ReiserFS还具有良好的扩展性能并具有日志功能.
它没有再得到积极开发,不支持SELinux,在很大程度上已被Reiser4取代,而后者的未来并不明朗.
btrfs文件系统btrfs(B树文件系统)最初由Oracle开发,可根据GPL许可来获得(参见参考资料).
它是一种用于Linux的新的写时复制文件系统,旨在实现高级功能,同时专注于容错、修复和轻松的管理.
Btrfs文件系统代码自2009年的2.
6.
29版开始已加入主线内核中.
具体地讲,该文件系统旨在高效地处理大型文件,处理贯穿多个设备的文件系统.
一些设计目标包括:很大的文件大小(高达2^64字节)数据和元数据的校验和集成了对多个设备的支持SSD感知高效的增量备份数据完整性写时复制不会重写数据,所以硬件故障不会让数据处于不一致状态ibm.
com/developerWorks/cn/developerWorks学习Linux,101:创建分区和文件系统第17页,共23像大部分新文件系统一样,该系统花了很长时间才获得了足够的稳定性,以供用户向其提交重要的数据,所以它还不是大多数Linux发行版的主要文件系统.
ext3文件系统已发展成熟,被用作许多发行版上的默认文件系统.
从RedHatEnterpriseLinux6等发行版开始,ext4文件系统现在正在取代它成为一些发行版上的默认文件系统.
Fedora17和Ubuntu12.
10.
ReiserFS文件系统多年来被用作一些发行版上的默认文件系统,包括SUSE,但目前未被广泛使用.
创建文件系统Linux使用mkfs命令创建文件系统,使用mkswap命令创建交换空间.
mkfs命令实际上是一些特定于文件系统的命令的前端,比如用于ext3的mkfs.
ext3,用于ext4的mkfs.
ext4和用于btrfs的mkfs.
btrfs.
您的系统上已安装了哪些文件系统支持功能可以使用ls/sbin/mk*命令进行查看.
一个示例如清单20中所示.
清单20.
文件系统创建命令[[ian@attic4-cent~]$ls/sbin/mk*/sbin/mkdosfs/sbin/mkfs.
cramfs/sbin/mkfs.
msdos/sbin/mksquashfs/sbin/mkdumprd/sbin/mkfs.
ext2/sbin/mkfs.
vfat/sbin/mkswap/sbin/mke2fs/sbin/mkfs.
ext3/sbin/mkfs.
xfs/sbin/mkfs/sbin/mkfs.
ext4/sbin/mkhomedir_helper/sbin/mkfs.
btrfs/sbin/mkfs.
ext4dev/sbin/mkinitrd您将注意到一些命令的各种形式.
例如,您通常会发现文件mke2fs、mkfs.
ext2和mkfs.
ext3是同一个文件,而mkfs.
msdos和mkfs.
vfat通常是mkdosfs的符号链接.
引导该系统所需的文件系统通常会使用硬链接为同一个文件提供不同的名称.
无法用于Linux中的/文件系统的文件系统(比如vfat或msdos)可使用符号链接代替.
教程"学习Linux,101:创建和更改硬链接和符号链接"将帮助您了解这些不同类型的链接.
所有mkfs命令都有一些常用的选项.
基于-type选项中指定的文件系统类型,特定于所创建的文件系统类型的选项会传递给合适的创建命令.
我们的示例使用了mkfs-type,但您可以直接使用其他具有相同效果的形式.
例如,您可以使用mkfs-typeext2、mk2fs或mkfs.
ext2.
要查看特定文件系统的手册页,可以使用适当的mkfs命令作为名称,例如manmkfs.
ext3.
下面的输出示例中显示的许多值可通过mkfs的选项进行控制.
现在我们已创建了所有分区,我们将重新引导CentOS系统并使用天来格式化文件系统,而不使用某个更慢的活动KnoppixDVD.
当然,如果您愿意的话,还可以继续使用活动系统.
请记住,您需要获得根用户权限来创建文件系统.
创建ext3文件系统我们使用mkfs命令将/dev/sdc3分区格式化为ext3,如清单21中所示.
清单21.
创建ext3文件系统[root@attic4-cent~]#mkfs-text3/dev/sdc3mke2fs1.
41.
12(17-May-2010)Filesystemlabel=OStype:LinuxdeveloperWorksibm.
com/developerWorks/cn/学习Linux,101:创建分区和文件系统第18页,共23Blocksize=4096(log=2)Fragmentsize=4096(log=2)Stride=1blocks,Stripewidth=0blocks2621440inodes,10485760blocks524288blocks(5.
00%)reservedforthesuperuserFirstdatablock=0Maximumfilesystemblocks=4294967296320blockgroups32768blockspergroup,32768fragmentspergroup8192inodespergroupSuperblockbackupsstoredonblocks:32768,98304,163840,229376,294912,819200,884736,1605632,2654208,4096000,7962624Writinginodetables:doneCreatingjournal(32768blocks):doneWritingsuperblocksandfilesystemaccountinginformation:doneThisfilesystemwillbeautomaticallycheckedevery32mountsor180days,whichevercomesfirst.
Usetune2fs-cor-itooverride.
您可以注意到,ext3创建了一个日志.
如果您希望向现有的ext2系统添加日志,可以使用tune2fs命令和-j选项.
针对ext2、ext3和ext4文件系统的一个有用选项是-L选项和一个名称,它会向分区分配一个标签.
在挂载文件系统时可以使用它代替设备名称;它提供了与可能需要在各种控制文件中反映出来的更改的一定水平的隔离.
要显示或设置一个现有ext2、ext3或ext3文件系统的标签,可以使用e2label命令.
标签被限制为最大16个字符.
最近的一项改进是使用一个通用唯一标识符或UUID,而不使用标签.
一个UUID是一个128位标识符,通常显示为8个一组的32个十六进制数,每组使用4个连字符分开.
大部分Linux文件系统都会在格式化该文件系统时自动生成一个UUID.
可使用blkid命令(它不需要根权限)(如清单22中所示)来查看我们格式化的分区的UUID.
UUID比标签很有可能是唯一的,而且对于USB驱动器等热插拔设备特别有用.
清单22.
使用blkid显示UUID[ian@attic4-cent~]$blkid/dev/sdc3/dev/sdc3:UUID="05efd400-c689-4205-a53a-e8b009eb5a55"SEC_TYPE="ext2"TYPE="ext3"创建ext4文件系统现在让我们在新分区/dev/sdc4上创建一个ext4文件系统.
使用mkfs的-L选项标记该分区,并使用blkid命令显示GUID,就像我们上面对ext3分区所做的那样.
清单23演示了此过程.
清单23.
创建ext4分区[root@attic4-cent~]#mkfs-text4-LIAN-GPT-EXT4/dev/sdc4mke2fs1.
41.
12(17-May-2010)Filesystemlabel=IAN-GPT-EXT4OStype:LinuxBlocksize=4096(log=2)Fragmentsize=4096(log=2)Stride=1blocks,Stripewidth=0blocks2424832inodes,9681152blocks484057blocks(5.
00%)reservedforthesuperuserFirstdatablock=0Maximumfilesystemblocks=4294967296ibm.
com/developerWorks/cn/developerWorks学习Linux,101:创建分区和文件系统第19页,共23296blockgroups32768blockspergroup,32768fragmentspergroup8192inodespergroupSuperblockbackupsstoredonblocks:32768,98304,163840,229376,294912,819200,884736,1605632,2654208,4096000,7962624Writinginodetables:doneCreatingjournal(32768blocks):doneWritingsuperblocksandfilesystemaccountinginformation:doneThisfilesystemwillbeautomaticallycheckedevery23mountsor180days,whichevercomesfirst.
Usetune2fs-cor-itooverride.
[root@attic4-cent~]#blkid/dev/sdc4/dev/sdc4:LABEL="IAN-GPT-EXT4"UUID="f69e0b28-beda-4255-ad5a-4d73672ac9e4"TYPE="ext4"请注意,mkfs输出的第一行确认了创建ext3和ext4文件系统的工作是由mke2fs完成的.
要查看可在创建ext4分区时指定的所有分区,请参阅mkfs.
ext4的手册页.
创建XFS文件系统我们现在使用XFS文件系统来格式化/dev/sdc3,刚才已将该分区格式化为ext3.
如果使用SELinux(安全增强Linux)和XFS,则应使用-i参数指定比默认的256更大的inode.
推荐采用的值为512.
这是因为256字节的默认大小对SELinuxXATTR而言不够用,它需要存储在一个单独的节点中.
请注意,如果XFS格式化器找到一个已在分区上的识别的文件系统,它会通知您.
另请注意,UUID被重新分配为XFS格式.
清单24.
创建XFS文件系统[root@attic4-cent~]#mkfs-txfs-isize=512/dev/sdc3mkfs.
xfs:/dev/sdc3appearstocontainanexistingfilesystem(ext3).
mkfs.
xfs:Usethe-foptiontoforceoverwrite.
[root@attic4-cent~]#mkfs-txfs-isize=512-f/dev/sdc3meta-data=/dev/sdc3isize=512agcount=16,agsize=655360blks=sectsz=4096attr=2,projid32bit=0data=bsize=4096blocks=10485760,imaxpct=25=sunit=0swidth=0blksnaming=version2bsize=4096ascii-ci=0log=internallogbsize=4096blocks=5120,version=2=sectsz=4096sunit=1blks,lazy-count=1realtime=noneextsz=4096blocks=0,rtextents=0[root@attic4-cent~]#blkid/dev/sdc3/dev/sdc3:UUID="16df203e-7ee8-4604-b65f-1a490e9a2f8c"TYPE="xfs"可以使用-L选项和一个名称来标记XFS系统.
或者可以使用xfs_admin命令和-L选项来向现有XFS文件系统添加一个标签.
可以使用xfs_admin的-l选项显示一个标签.
不同于ext2、ext3和ReiserFS,XFS标签的最大长度是12个字符.
清单25.
创建vfat文件系统[root@attic4-cent~]#mkfs-tvfat/dev/sda3mkfs.
vfat3.
0.
9(31Jan2010)[root@attic4-cent~]#blkid/dev/sda3/dev/sda3:SEC_TYPE="msdos"UUID="8856-9AA8"TYPE="vfat"vfat文件系统的UUID比正常的UUID更短,因此更不可能是唯一的.
如果想要一个标签,可以使用dosfslabel命令.
DOS分区的标签限制为11个字符长.
developerWorksibm.
com/developerWorks/cn/学习Linux,101:创建分区和文件系统第20页,共23对于我们的最后一个文件系统,我们将使用btrfs文件系统格式化GPT分区/dev/sdc5,如清单26中所示.
清单26.
创建btrfs文件系统[root@attic4-cent~]#mkfs-tbtrfs/dev/sdc5WARNING!
-BtrfsBtrfsv0.
20-rc1ISEXPERIMENTALWARNING!
-seehttp://btrfs.
wiki.
kernel.
orgbeforeusingfscreatedlabel(null)on/dev/sdc5nodesize4096leafsize4096sectorsize4096size37.
25GBBtrfsBtrfsv0.
20-rc1目前为止,您已经学习了如何查阅mkfs.
btrfs的手册页来进一步了解可用的选项.
创建交换空间现在让我们使用mkswap命令在/dev/sdc2分区上创建一个交换空间,如清单27中所示.
清单27.
创建交换空间[root@attic4-cent~]#mkswap/dev/sdc2Settingupswapspaceversion1,size=4194300KiBnolabel,UUID=34ec5a36-08a4-458f-bb6e-a62800716211请注意,最新的mkswap版本会显示生成的UUID.
不同于常规文件系统,交换分区未挂载.
它们可以使用swapon命令来启用.
您的Linux系统的启动脚本通常会负责自动启用交换分区.
其他工具和文件系统以下工具和文件系统未包含在本考试的LPI目标中.
这篇非常简短的概述介绍了您可能遇到的一些工具和文件系统.
分区工具许多Linux发行版包含cfdisk或sfdisk命令,以及它们的与GPT类似的命令cgdisk和sgdisk.
cfdisk命令提供了比fdisk更加图形化的界面,使用ncurses库函数,如图1中所示.
sfdisk命令适合程序员使用,可以脚本化.
请仅在您知道该命令的原理时使用它.
ibm.
com/developerWorks/cn/developerWorks学习Linux,101:创建分区和文件系统第21页,共23图1.
使用cfdiskgparted工具是另一个图形分区工具,是为GNOME桌面设计的.
它使用GTK+GUI库,如图2中所示.
(参见参考资料)您可能需要安装gparted,因为它可能未包含在默认安装中.
图2.
使用gparted许多发行版允许对磁盘进行分区,而且有时会在安装过程中缩减现有的WindowsNTFS或FAT32分区.
请查阅您的发行版的安装文档.
逻辑卷管理器Linux的逻辑卷管理器(或LVM)允许将多个物理存储设备组合到单个卷组中.
例如,您可以将一个分区添加到现有的卷组中,而不需要为目标文件系统获取足够大的连续空间.
教程"学习Linux101:硬盘布局"介绍了更多信息和使用LVM创建文件系统的示例.
请注意,btrfs也支持多个卷.
developerWorksibm.
com/developerWorks/cn/学习Linux,101:创建分区和文件系统第22页,共23RAIDRAID(独立磁盘冗余阵列)是一种使用低成本磁盘提供可靠的数据存储的技术,这些磁盘比高端系统中使用的磁盘便宜得多.
有多种不同类型的RAID,RAID可在硬件或软件中实现.
Linux同时支持硬件和软件RAID.
更多文件系统您可能会遇到上述文件系统以外的文件系统.
IBM的日志文件系统(JFS)(目前用在IBM企业服务器)中是为高吞吐量服务器环境而设计的.
它可用于Linux,包含在多个发行版中.
还有一个旨在容纳64位内核和更大的文件的新的增强型日志文件系统(JFS2).
它是在IBM的AIX5.
1操作系统中引入的.
最初的JFS目前有时被称为JFS1.
要创建JFS文件系统,可使用mkfs.
jfs命令.
您可能需要安装jfsutils包来获得JFS支持.
还有其他一些文件系统,比如cramfs文件系统通常用在嵌入式设备上.
本文对创建分区和文件系统的介绍到此结束了.
ibm.
com/developerWorks/cn/developerWorks学习Linux,101:创建分区和文件系统第23页,共23关于作者IanShieldsIanShields是一位自由Linux作家.
他已从位于北卡罗来纳州的IBM三角研究园退休.
Ian于1973年在澳大利亚堪培拉作为系统工程师加入IBM,他在加拿大蒙特利尔和北卡罗莱拉州RTP从事过系统工程和软件开发工作.
从上世纪90年代开始,他开始使用、开发Linux和进行相关的写作工作.
他从澳大利亚国立大学获得了纯数学和相关专业的学士学位.
他还拥有北卡罗来纳州立大学计算机科学方向的理科硕士和哲学博士学位.
他喜欢定向赛跑和旅行.
版权所有IBM公司2010,2016(www.
ibm.
com/legal/copytrade.
shtml)商标(www.
ibm.
com/developerworks/cn/ibm/trademarks/)
香港服务器多少钱一个月?香港服务器租用配置价格一个月多少,现在很多中小型企业在建站时都会租用香港服务器,租用香港服务器可以使网站访问更流畅、稳定性更好,安全性会更高等等。香港服务器的租用和其他地区的服务器租用配置元素都是一样的,那么为什么香港服务器那么受欢迎呢,香港云服务器最便宜价格多少钱一个月呢?阿里云轻量应用服务器最便宜的是1核1G峰值带宽30Mbps,24元/月,288元/年。不过我们一般选...
对于Megalayer云服务器提供商在之前也有对于他们家的美国服务器和香港服务器进行过评测和介绍,但是对于大部分网友来说需要独立服务器和站群服务器并不是特别的普及,我们很多网友使用较多的还是云服务器或者VPS主机比较多。在前面也有在"Megalayer新增香港VPS主机 1GB内存 50GB SSD 2M带宽 月59元"文章中有介绍到Megalayer商家有新增香港CN2优化VPS主机。那时候看这...
10GBIZ服务商经常有看到隔壁的一些博客分享内容,我翻看网站看之前有记录过一篇,只不过由于服务商是2020年新成立的所以分享内容比较谨慎。这不至今已经有将近两年的服务商而且云服务产品也比较丰富,目前有看到10GBIZ服务商有提供香港、美国洛杉矶等多机房的云服务器、独立服务器和站群服务器。其中比较吸引到我们用户的是亚洲节点的包括香港、日本等七星级网络服务。具体我们看看相关的配置和线路产品。第一、香...
linux格式化命令为你推荐
u盘无法读取U盘为什么不能显示站长故事部队里什么是站长?最低是什么级别?都有哪些级别啊?1433端口如何打开SQL1433端口xp系统停止服务Windowsxp系统为什么停止服务ejb开发什么是ejb?mate8价格华为麦特八多少价格宽带接入服务器目前常见宽带接入的方式有哪几种网站推广外链我是新手SEO,请问网站怎样做外链推广王炳坤nike男子跑步鞋42码的对应同款女子跑步鞋是多少码?中国杀毒软件排行榜中国杀毒软件排行
中文域名 vps推荐 美国在线代理服务器 万网空间购买 免费mysql数据库 空间首页登陆 512mb 域名与空间 网页提速 带宽租赁 linode支付宝 注册阿里云邮箱 免费php空间 .htaccess websitepanel 百度新闻源申请 alexa搜 美国西雅图独立 winscpiphone 免费空间申请 更多