现在的位置: 首页 > 综合 > 正文

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

2013年03月11日 ⁄ 综合 ⁄ 共 2097字 ⁄ 字号 评论关闭

一、         启动关机的流程与加载程序
         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中。

抱歉!评论已关闭.