关闭

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

标签: linuxservicecache脚本shell存储
453人阅读 评论(0) 收藏 举报
分类:

一、         启动关机的流程与加载程序

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中。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:269077次
    • 积分:4811
    • 等级:
    • 排名:第5937名
    • 原创:201篇
    • 转载:19篇
    • 译文:2篇
    • 评论:33条
    文章分类
    最新评论