| 姓名:邱世华著 作者简介: 作品:《Linux操作系统之奥秘》《Linux系统架构与目录解析》 姓名:邱世华著著 作者简介: 作品:《Linux系统架构与目录解析》 |
| 插图: 除了fhs所定义的目录之外,每一家linux厂商都有额外自行建立的目录,供自行开发的应用程序使用,所以真正的目录结构还是要以用户实际使用的linux版本为依据,只是大部分目录不会脱离fhs所定义的标准。本书大多以fedora 7为例,这并不代表任何特殊含义,只是希望通过一个操作系统的版本(因为笔者比较常使用的操作系统是fedora7)去阐述每一个目录的意义与所要提供的功能,毕竟各linux版本的目录是大同小异的。 当然,笔者也并非万能,只能尽其所能地让读者对每一个目录有所了解,至于每一个目录涉及的深度,有可能会因为每一个目录的功能多少、文件数目、对系统的意义大小或笔者本身能力而有所差异。1.2根目录的建立 大家一般都会知道根目录的产生方式,就是系统使用mount指令,将系统所在的分区挂载,到目录中,这样便完成了所谓的根目录。但你是否想过,虽然看起来合理却有点诡异,因为根目录既然是linux的“根”,那没有根,哪来的mount指令?系统怎么可以使用呢?这正是要在这一节解释的部分。 讲到如何产生根目录,必须先知道根目录产生之前的一些基本系统运行动作(如图1.3所示),在开机管理程序启动操作系统,在加载kernel之后(也就是当用户在开机画面选择某系统选项按【enter】后),kernel会自行在内存中建立一块叫做rootfs的区域供本身使用,而里面的功能都是kernel本身所提供的,这也就是编译kernel时所赋予的能力,不过大部分kernel的能力都是在安装完操作系统后就已经定义好了的,除非是自行重新将kernel编译过。 而这一段kernel执行的过程,并不是产生根目录的阶段。也就是说,在kernel启动阶段,并没有使用到根目录,而根目录产生出来的时间点,是在kernel加载完成后,下一个initrd(initial ramdisk)加载模块期间。 这其实是因为在尚未加载initrd之前,如果操作系统是在网络或scsi接口上,必须要等到相关模块加载后才可以使用(除非是手动将该模块嵌入到kernel中),在这种情况下,如果kernel不支持该存储设备或功能(像san),如何能辨认及使用正确的根目录?所以。必须等到initrd加载正确的模块,并且正确地辨认出存储设备的硬件之后,才能将系统分割区准确地挂载到根目录上, 更多 |
| 索引 第1章 linux目录的基本概念 1.1 linux目录的定义 1.2 根目录的建立 1.3 根目录的意义 1.4 根目录中的目录清单 总结 第2章 不同启动模式的目录 2.1 本地启动【/boot】 2.1.1 /boot/grub 2.1.2 system.map文件 2.1.3 kemel及.initrd 2.2 远程启动【/tflpboot】 总结 第3章 kernel space与user space的桥梁——虚拟文件系统. 3.1 设备文件目录【/dev】 3.1.1 基本的设备文件 3.1.2 /dev/bus 3.1.3 /dev/disk 3.1.4 /dev/input 3.1.5 /dev/mapper 3.1.6 /dev/net 3.1.7 /dev/pts 3.1.8 /dev/shm 3.1.9 /dev/.udev 3.1.10 /dev/volgroup00 3.2 程序信息与系统设置目录[/proc] 3.2.1 基本程序文件 3.2.2 /proc/[number] 3.2.3 /proc/acpi 3.2.4 /proc/bus 3.2.5 /proc/driver 3.2.6 /proc/fs 3.2.7 /proc/irq 3.2.8 /proc/net 3.2.9 /proc/scsi 3.2.10 /proc/sys 3.2.11 /proc/sysvipc 3.2.12 /proc/tty 3.3 系统分类信息[/sys] 3.3.1 /sys/block 3.3.2 /sys/bus 3.3.3 /sys/class 3.3.4 /sys/devices 3.3.5 /sys/firmware &nbs 更多 |
商品评论(0条)