0x01Linux分区简介
主分区vs扩充分区
硬碟分区表中最多能储存四个分区,但我们实际使用时通常只分为两个分区,一个是主分区(PrimaryPartion)一个是扩充分区(extendedpartition),主分区可以马上被使用但不能再分区linux分区挂载,扩充分区必须再进行分区后就能使用,也就是说它必须还要进行二次分区。这么由扩充分区再分下去的是哪些呢?它就是逻辑分区(LogicalPartion),逻辑分区没有数目上限制。驱动器标识的涵义
对Linux用户来说无论有几个分区,都得分给目录使用,它归根结底就只有一个根目录,一个独立且惟一的文件结构。Linux中每位分区都是拿来组成整个文件系统的一部份,由于它采用了一种叫“挂载点”的处理方式,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系上去。这时要载入的一个分区就在linux的储存空间的某个目录下获得。
对于IDE硬碟,驱动器标示符为“hdx1”,其中“hd”表明分区所在设备的类型,这儿是指IDE硬碟了。“x”为盘号(a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘),“1”代表分区,前四个分区用数字1到4表示,它们是主分区或扩充分区qq linux,从5开始就是逻辑分区。例,hda3表示为第一个IDE硬碟上的第三个主分区或扩充分区,hdb2表示为第二个IDE硬碟上的第二个主分区或扩充分区。对于SCSI硬碟则标示为“sdx1”,SCSI硬碟是用“sd”来表示分区所在设备的类型的,其余则和IDE硬碟的表示方式一样。
里面可以看见,Linux的分区是不同于其它操作系统分区的,它的分区格式常用的有Ext3和Swap两种,Ext3用于储存系统文件,Swap则作为Linux的交换分区(相当于windows中的虚拟显存文件)。这么如今我们就可以晓得Linux起码须要两个专门的分区(LinuxNative(本地)和LinuxSwap(交换))。因为不能将Linux安装在Dos/Windows分区。通常来说我们将Linux安装一个或多个类型为“LinuxNative”的硬碟分区,然而在Linux的每一个分区都必需要指定一个“MountPoint”(挂载点),告诉Linux在启动时,这个目录要给那个分区使用。对“Swap”分区来说,通常也定义一个,且它何必要定义载入点。
下边我们先对“LinuxNative”和“LinuxSwap”有个初步的了解。
SWAP分区是LINUX暂时储存数据的交换分区,它主要是把主显存上暂时不用得数据存上去,在须要的时侯再调进显存内,且作为SWAP使用的分区不用指定“MoutPoint”(载入点),既然它作为交换分区,我们理所其实应给它指定大小,它起码要等于系统上实际显存的量,通常来说它的大小是显存的一至两倍。另外你也可以创建和使用一个以上的交换分区,最多16个。
LinuxNative是储存系统文件的地方,通常用EXT4的分区类型,对Linux来说,有了较大的选择余地,可以把系统文件分几个区来装(必需要说明挂载点),也可以就装在同一个分区中(挂载点是“/”)。为何要自定义多个分区
a.在不损失数据的情况下重装系统,例如独立设置/home挂载点,重装系统的时侯直接标记回/home,数据不会有任何损失。
b.针对不同挂载点的特点分配合适的文件系统以合理发挥性能,例如对/var使用reiserfs,对/home使用xfs,对/使用ext4。
c.针对不同的挂载点开启不同的挂载选项,如是否须要即时同步,是否开启日志,是否启用压缩。
d.大硬碟搜索范围大,效率低
e.c盘配额只能对分区做设定
f./home、/var、/usr/local常常是单独分区,由于时常会操作,容易形成碎片
0x02挂载点目录简介
常见的挂载目录结构
目录结构
常见的挂载目录说明
/根目录,储存系统命令和用户数据等(假如下边挂载点没有单独的分区,它们都将在根目录的分区中)
/bootbootloader的静态链接文件linux文本编辑器,储存与Linux启动相关的程序
/home用户目录,储存普通用户的数据
/tmp临时文件
/usr是Linux系统储存软件的地方,如有可能应将最大空间分给它
/usr/local自已安装程序安装在此
/var不断变化的数据,服务器的一些服务、日志置于下边
/opt(Option可选的)附加的应用程序软件包
/bin基本命令执行文
/dev设备文件
/etc主机特定的系统配置
/lib基本共享库以及内核模块
/media用于联通介质的挂载点
/mnt用于临时挂载文件系统或则别的硬件设备(如硬盘、软驱)
/proc系统信息的虚拟目录(2.4和2.6内核),这种信息是在显存中,由系统自己形成的
/rootroot用户的目录
/sbin基本系统命令执行文件
/sys系统信息的虚拟目录(2.6内核)
/srv系统提供的用于service的数据
/usr/X1186X-Windows目录,储存一些X-Windows的配置文件
/usr/include系统头文件,储存一些C语言的头文件
/usr/srcLinux内核源代码,Linux系统所安装的内核源代码都保存在此
/usr/bin对/bin目录的一些补充
/usr/sbin对/sbin目录的一些补充
/lost+found这个目录在大多数情况下都是空的。而且假如你正在工作忽然停水,或是没有用正常方法死机,在你重新启动机器的时侯,有些文件才会找不到应当储存的地方,对于那些文件,系统将她们置于这个目录下为何linux的分区须要有挂载这个动作呢
由于linux下一切皆文件!换句说法就是linux操作系统将系统中的一切都作为文件来管理。在windows中我们常见的硬件设备(复印机、网卡、声卡...)、磁盘分区等,在linux军统统都被视作文件,对设备、分区的访问就是读写对应的文件。
0x03实战分区挂载
临时挂载
$ mount /dev/sda3 /data ##sda3分区挂载在data目录下
$ umount /data ##卸载data目录下分区
永久挂载:开机手动挂载
须要更改/etc/fstab
LABEL=/data /data ext3 defaults 1 2
修改为:
/dev/sda3 /data ext3 defaults 1 2
PS:fstab是文件系统分配表的配置文件,该文件有着严格的句型格式限制,类似crontab一样,保存时也会对你的输入格式进行校准,请谨慎使用,否则会有意想不到的问题发生。其二共有6个数组,空格分隔。
添加硬碟&分区&挂载
参考之前写的文摘《Centos下c盘分区及挂载》
0x04通过fstab设置开机挂载的问题
Linux在启动的时侯通过fstab中的信息挂载各个分区,一个典型的分区条目如同这样:
/dev/sda3 /data ext3 defaults 1 2
/dev/sda3为须要挂载的分区,sda3是Linux检查硬碟时按次序给分区的命名,通常来讲,这个名称并不会变化,而且假如你有多块硬碟linux分区挂载,硬碟在笔记本中的次序变化的时侯,相同的名称可能代表着不同的硬碟分区。这样的话里面设置的开机手动挂载都会出现找不到分区里面的文件情况
这个时侯UUID就派上用场了,UUID全称是UniversallyUniqueIdentifier,也就是说,每位分区有一个惟一的UUID值,这样就不会发生分区辨识混乱的问题了。
在fstab中用UUID挂载分区格式如下:
UUID=7cc82613-5be2-4e58-b359-0920613f9509 /data ext3 defaults 1 2
可以通过下边命令得到分区的UUID
$ ls -l /dev/disk/by-uuid/
0x05FAQ
a.挂载点必须是一个目录
b.一个分区挂载在一个已存在的目录上,这个目录可以不为空,但挂载后这个目录下曾经的内容将不可用。对于其他操作系统构建的文件系统的挂载也是这样,卸载后,目录曾经的文件都还在,不会有任何遗失
c.目录只占c盘里的一个inode,储存文件属性等信息
d.任何一个分区都必须挂载到某个目录上
e.目录是逻辑上的分辨。分区是化学上的分辨
f.c盘Linux分区都必须挂载到目录树中的某个具体的目录上能够进行读写操作
g.根目录是所有Linux的文件和目录所在的地方,须要挂载上一个c盘分区
h.一个分区可以挂在多个目录,但反过来一个目录只能是一个分区的挂载点
博客地址: