---------------------------第四章--------------------------
/etc/rehat-release #
redhatuname
所有信息
内核版本
显示内核的发行号
显示主机名
内核名
显示
rpm -qa kerner\* #查看已安装的内核
yum list installed kernel* #查看已安装的内核
yum list kernel* #查看安装的内核包
runlevel #查看当前的运行级别
上次的运行级别和现在的运行级别
也可以查看运行级别
运行级别:
系统关机
单用户模式,用于修复系统用到,不需要认证登录
多用户模式,和
完全字符界面的正常模式
没有定义
图形化模式
重启
切换运行级别
s,S,single,1 #单用户读取 /etc/rc.d/rc.sysinit(系统初始化文件)
emergency: #救援模式,不读取/etc/rd.d/rc.sysinit
chkconfig --list #查看系统服务在运行级别下是否启动
chkconfig --level 2345 iptables off #在2345运行级别下关闭iptables服务
chkconfig iptables off #关闭iptables服务
ls /etc/init.d #所有系统服务的脚本
service ip6tables status #查看服务的运行状态,
/etc/init.d/ip6tables start #也可用绝对路径启动服务
ntsysv 文本窗口控制服务,默认一般控制当前级别下的服务
ntsysv --level 2345 #控制2345下的服务
系统引导过程
1 加电自检(检测bios)-根据设置(如硬盘启动,cdrom)查找MBR(主引导记录bootloader 定义了如何启动当前硬盘上的操作系统,查找分区表,找到内核)
中
加载内核 系统在这个时候会在
加载根分区 读取
5 加载/init进程的时候需要读取/etc/inittab配置文件 而/etc/inittab 下定义了init怎么工作 ,/etc/inittab定义了默认运行级别和系统的初始化用到的脚本/etc/rc.d/rc.sysinit
6 由/etc/rc.d/rc.sysinit最终实现系统的初始化
7 初始化后进入默认的级别需要的脚本/etc/rc.d/rc3.d (这个文件里所有脚本都是链接都指向/etc/init.d/*) (grub 启动时的 kernel 行给出的运行级别运行 /etc/rcN.d/ 下的脚本,先执行 K 开头的(按从低到高),再执行S开头的(从低到高))
8系统初始化结束的时候,执行服务文件并执行/etc/rc.d/rc.local
9 启动mingetty 启动一个虚拟终端,给你一个登陆界面
init
/etc/rc.d/rc.sysinit
init
脚本文件
init
脚本文件
rc
/boot/grub/grub.conf #grub配置文件
/etc/grub.conf menu.lst #都是链接到/boot/grub/grub.conf
配置文件
1 default=0 #默认启动第一个title
2 timeout #等待用户选择或者编辑时间
3 splashimage= #开机用的图片
4 hiddenmenu #隐藏菜单
5 title #显示在菜单中的名字,定义了不同的内核,和不同的操作系统
root(hd0,0) #定义grub查找的硬盘分区
kernel /vmlinuz-2.6.18-164... #加载内核
boot
boot
initrd 小的linux在/boot/initrd.2.6.18-e15.img
GRUB故障
一、手动指定启动所需要的文件使系统正常启动
root (hd0,0)
kernel /vmlinuz-
initrd /initrd-2.6.18.img
boot
二、boot分区里的文件全部删除,(不删boot分区,只删除里面文件)
rm -rf /boot/*
解决方法:
设置从光驱启动,进救援模式
输入
选择美式键盘
使用
查看
boot
6 mkdir /mnt/cdrom mount /dev/hdc /mnt/cdrom
安装
cd /mnt/cdrom/Server/
rpm -Uvh --force kernel-2.6.18-53.el5.i686.rpm
安装完成后内核和
Grub.conf
写完后保存连续推出二次就可以启动了
grub(重新安装)在系统启动的情况下
root(hd0,0)
setup(hd0)
quit
加密grub菜单
编辑grub.conf 给grub加密
使用grub-md5-crypt 生成一个加密的密码然后粘贴到配置文件中/boo/grub/grub.conf
vim /etc/grub.conf
password --md5 $2$/X%FKG^$%FL
default=0
..
系统服务
独立守护进程
非独立守护服务(超级守护进程)
存放了系统服务的脚本
重启
超级守护进程
grub-kernel(initrd)->init(/etc/inittab)/etc/inittab
默认运行级别
初始化系统
运行级别
提供
图形界面
一个内核 +initrd + 必备的模块(/etc/inittab) + init + bash环境 就可以组成一个linux并可以运行
内核一般是由内核、以及帮内核提供额外的驱动程序、内核模块组成
内核模块,驱动程序一般以
1000
内核是模块化设计
内核本身只提供了最核心的功能,
存放了内核版本号的目录,二进制模块,当需要的时候内核就加载模块
/lib/modules/2.6.18-164.e15/ #里面很多目录
目录下面存放了关于文件系统,体系结构,加密解密的,驱动的文件
/boot/vmlinuz-2.6.18-164.e15 #内核文件
lsmod #显示当前已加载的内核模块
modprobe 模块名字 #加载新模块
modprobe -r 模块名字 #卸载模块
lib
ldd /bin/ls #查看依赖关系,查看一个名字执行过程中需要用的库文件
本文转自 张玉坡 51CTO博客,原文链接:http://blog.51cto.com/fighter/475839