Linux学习笔记(五)——Linux系统管理

来源:岁月联盟 编辑:exp 时间:2012-03-27

一、         启动关机的流程与加载程序 1.      Linux启动流程 a)      加载BIOS的硬件信息,并获取第一个启动设备的代号 b)      读取第一个启动设备的MBR的引导加载程序的启动信息 c)      加载核心操作系统的核心信息,核心开始解压缩,并且尝试驱动所有硬件设备 d)      核心执行init程序并获取运行信息(/etc/inittab) e)      init执行/etc/rc.d/rc.sysinit文件(各个版本都不相同,如/etc/init.d/boot和/etc/init.d/rc) f)       启动核心的外挂模块(/etc/modprobe.conf) g)      init执行运行的各个批处理文件 h)      init执行/etc/rc.d/rc.local文件 i)       执行/bin/login程序,等待用户登录 j)       登陆之后开始以Shell控制主机 2.      用户自定义引导启动程序(/etc/rc.d/rc.local) 3.      关于模块的配置/etc/modprobe.conf启动过程中,读取的服务相关设置文件都记录在/etc/sysconfig目录下 核心放在/lib/modules/`uname-r`/kernel中,/etc/modules/`uname -r`/modules.dep文件记录了在核心支持的模块的各项依赖性,可以使用depmod命令建立该文件。 核心模块的观察:lsmod、modinfo 核心模块的加载与删除:modprobe(先解决模块的依赖性,推荐)、insmod、rmmod 4.      引导加载程序(例如Grub)有两种加载方式: 直接指定并取用核心文件,加载到主存储器中 将加载程序的控制权移交给下一个加载程序,链式加载程序(chain loader)的方式 5.      解决启动过程中的问题可能用到chroot,比如先启动一个Linux系统,然后再chroot到另外一个不能正常启动的Linux系统进行修复。
 二、         函数库管理1.      ldconfig与/etc/ld.so.conf,将动态函数库加载到内存(高速缓存,cache)中,这样就可以提高动态函数库的读取速度。将动态函数库加载到高速缓存(cache)中的过程如下: a) 在/etc/ld.so.conf中写下“想要读入高速缓存中的动态函数库所在的目录” b)利用ldconfig将/etc/ld.so.conf的数据读入到高速缓存中 c) 同时在/etc/ld.so.cache文件中记录数据 2.      ldd可以判断某个可执行的二进制文件有什么动态函数库 ldd [-vdr] [filename] 三、         系统守护程序 1.      根据守护程序的启动与管理方式,可以将守护程序分为可独立启动的独立启动守护程序,以及通过统一安全机制管理的超级守护程序。 superdeamon(超级守护程序)通过统一的守护程序(xinet)来负责唤起服务。Xinet的启动脚本写在/etc/init.d/xinet.d里,挂在这个守护程序里面的服务设置项目写在/etc/xinet.d.conf与/etc/xinet.d/*目录的任何文件中。 2.      整个服务开机就能启动的地方有两处,一处是在守护程序启动(/etc/rc.d/rc[0-6].d/*)目录下,另一处是/etc/rc.d/rc.local。 使用chkconfig管理开机启动的相关服务。语法: chkconfig --list chkconfig [--add|--del][service_name] chkconfig --level [0123456][service_name] [on|off] 3.      如何将自己建立的服务加入chkconfig的管理中呢?只要将该服务加入init可管理的脚本中,即/etc/init.d中。    作者 hopezhangbo