1.Linux所有东西都是以文件形式存在 , 硬件也不例外
/dev 目录下的硬件存在
装置 | 装置文件名 |
---|---|
IDE 硬盘 | /dev/hd[ a-d ] |
SCSI / SATA / USB 硬盘 | /dev/sd [ a-p ] |
软驱 | /dev/fd [ 0-1] |
打印机 | 25针: /dev/lp[ 0-2 ] USB: /dev/usb/lp[ 0-15] |
鼠标 | USB: /dev/usb/mouse[ 0-15] PS2: /dev/psaux |
当前 CDROM / DVDROM | /dev/cdrom |
当前的鼠标 | /dev/mouse |
注意 : 硬盘的 a-d , a-p 是指第几个设备 , 例如 sda 代表第一个 scsi硬盘 , sdb 代表第二个 scsi硬盘 , 数字带表的是第几个分区
例如 sda2 , 代表第一个硬盘的第2个主分区或者扩展分区 . ( linux 最多支持 3 个主分区和一个扩展分区 , 扩展分区又包括
若干个逻辑分区 P + P + P + E ( E 由若干个逻辑分区组成 ) , 当然也可以是 P + E 等等 .
Linux有保留前边未使用的名称的功能,例如 :
P1 : /dev/hda1 P2 : /dev/hda2 L1: /dev/hda5 L2: /dev/hda6 L3:/dev/hda7
hda/3 , hda/4 这两个名称被保留了 , 按照顺序应该是 hda3 是第3个 P , hda4 是第一个扩展分区 ( 扩展分区不需要真正分配空间 )
所以逻辑分区第一个的名称就应该是 hda5 ( P : hda1, hda2 , hda3 E : hda4 )
2.磁盘的第一个扇区 ( 512 bytes )
磁盘的第一个扇区特别重要 , MBR ( 446 bytes ) partition table ( 64 bytes )
MBR 开机时主动读取的区块 , 然后才会加载操作系统 ( 即便有多个硬盘也只有一个 MBR , 因为开机时主动读取的区块只有一个 )
partition table ( 分区表 ) 硬盘的分区信息 , 上边的分区 ( P , E ) 都记录在此 . ( 分割槽的最小单位是磁拄 ) , 例如 从第 1 个磁柱 ~ 第 10 个柱子 为 第 一分区 .
扇区 , 磁道 , 磁拄
扇区 : 单层 , 一小段 , 最小单位 512 bytes
磁道 : 单层 , 一圈 , 是一个环 , 多个扇区组成 .
磁柱 : 多层 , 一圈 , 是一排环 , 组成了一个环柱体 . ( 立体的,如下的图 是平面的 )
分驱的目的 : a. 数据安全( 例如 windows c 盘重做系统 , 不会影响其他盘 )
b.系统效能( 查找数据快 , 直接找到对应磁柱 )
3.Linux中的磁盘分区
Linux 中的必要分区是 / 和 swap ( swap 是内存交换区 , 一般设置为物理内存的 1.5 ~ 2 倍 .)
Linux的磁盘分区跟目录树结构是息息相关的 , 并且跟用途也是有关系的 ( WEB服务器 , FTP服务器等等 )
挂载 :就是利用一个目录当成进入点,将磁盘分区槽的数据放置在该目录下;也就是说,进入该目录就可以读取该分割槽的意思.那个进入点的目录我们称为挂载点.
目录树是逻辑关系,实际的物理关系要看挂载.
注意: 是将分割槽挂载 , 而不是将磁盘挂载 , ( 例如 将 hda1挂载 / 根目录 , 将 hda2 挂载 boot 目录 , 这两个驱是一个磁盘上的两个驱 )
目录树结构 : ( FHS 标准 , 3 个目录下 , 放置标准 /目录 root , /usr unix softwart resource , /var variable )
4.FHS标准
( / , /usr , /var ) 如上在这三个目录的结构给出标准/ 根目录所在分割槽应该越小越好 , 且应用程序所安装的软件最好不要与根目录放在同一个分割槽内 . 根目录下应该存放的次目录,如下:
/bin ( 放指令的地方 , 特殊: /bin放置的单人维护模式下还能够被操作的指令. )
/boot ( 开机使用档案 , 包括Linux核心档案及开机选单与开机所需配置文件 )
/dev ( 设备与接口设备 档案 )
/etc ( 系统主要配置文件几乎都放置在这个目录内 )
/home ( 用户家目录 )
/lib ( 开机时系统用到的函数库 , 以及在/bin或/sbin底下的指令使用到的函数库 )
/media ( 可移除的装置 , 软盘 , 光盘 , DVD 等都暂时挂载于此 )
/mnt ( 暂时挂载某些额外的东西 )
/opt ( 第三方软件放置目录 , 比如你自己安装的软件 )
/root ( 管理员的家目录 , 当单人维护模式仅挂载根目录时,可以使用,所以我们希望root的家目录与根目录放置在同一个分割槽 )
/sbin ( /sbin底下的为开机过程中需要的指令 )
/srv ( 类似一些网络服务启动之后 , 这些服务所需要取用的数据目录 )
/tmp ( 类似 程序中的 temp 目录 , 暂时存放一些东西 )
[ 不是 FHS 建议的根目录下包含的目录 ]
/lost+found ( ext2/ext3文件格式下 , 当系统发生错误时 , 将一些遗失的片段放置到这个目录下 )
/proc ( 这个目录本身是个虚拟文件系统 , 它放置的数据都是在内存中 , 本身不占磁盘空间 )
/sys ( 类似 /proc目录 , 记录与核心相关的东西 , 不占用磁盘空间 )
注意 : 开机过程中仅有根目录会被挂载 , 其他分割槽在开机之后持续的进行挂载 , 因此根目录与开机过程有关的目录 , 就不能与根目录
放到不同的分割槽去 , 包括 ( /etc , /bin , /dev , /lib , /sbin )
/usr的结构 ( 类似 windows 中 c:\windows + c:\program files ) 安装时占用较大磁盘空间
/X11R6 ( X Window System 重要数据所放置的目录 )
/bin ( 绝大部分用户指令 )
/include ( c / c++ 等程序语言的头文件等放置处 )
/lib ( 应用软件的函数库 , 目标档案 ( object file ) )
/local ( 系统管理员在本机自行安装自己下载的软件 )
/sbin ( 非系统正常运做所需要的系统指令 )
/share ( 放置共享文件的地方 , 几乎都是文本文件 )
/src ( 原始代码 ( 核心代码放置在 /src/linux目录下 )
/var的结构 运行后占用磁盘较大空间 ( /var目录主要针对常态性变动档案 )
/cache ( 应用程序本身运作过程中产生的一些暂存档 )
/lib ( 程序执行过程中 , 使用到的数据文件放置目录 , 各自软件各自目录 , 如 : /var/lib/mysql )
/lock ( 某些装置或者是档案资源一次只能被一个应用程序所使用 , 该装置上锁( lock ) 如: 光盘刻录 )
/log ( 登陆文件放置目录 , 重要 )
/mail ( 电子邮件目录 )
/run ( 某些程序或者服务启动后 , 会将他们的 PID 放置在这个目录下 )
/spool ( 放置队列数据 , 这些数据被使用后通常都会被删除 )
5.结合以上,分驱小例子
分割方式是先分析这部主机的未来用途 , 然后根据用途去分析需要较大容量的目录 , 以及读写较为频繁的目录 , 将这些重要的目录分别独立
出来而不与根目录放在一起 , 那当这些读写频繁的磁盘分区槽有问题时 , 至少不会影响到根目录的系统数据 , 那挽救方面就比较容易 ,
默认的 CentOS环境中 , 如下目录是比较符合容量大且读写频繁的目录 :
/ , /usr , /home , /var , Swap
分配方法 : ( Swap 为 3 G ( 2G内存 , 内存的 1.5倍 )
/usr ( 5 GB )
/var ( 10 GB )
/home ( 酌情处理 数个 GB )
/ ( 1 GB )
6.建议分区方法
/
/boot
/usr
/home
/var
注意要分配合理的空间, 否则如果空间不够就麻烦了.