RH131-第4章总结-阿里云开发者社区

开发者社区> 开发与运维> 正文

RH131-第4章总结

简介:

   ---------------------------第四章--------------------------

/etc/rehat-release  #

redhat

uname 

所有信息

内核版本

显示内核的发行号

显示主机名

内核名

显示

rpm -qa kerner\*              #查看已安装的内核

yum list installed kernel*  #查看已安装的内核

yum list kernel*               #查看安装的内核包

runlevel                          #查看当前的运行级别 

上次的运行级别和现在的运行级别 

也可以查看运行级别

运行级别:

系统关机

单用户模式,用于修复系统用到,不需要认证登录

多用户模式,和

完全字符界面的正常模式

没有定义

图形化模式

重启 

切换运行级别

sSsingle,                 #单用户读取 /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下的服务

 

                                      系统引导过程

加电自检(检测bios)-根据设置(如硬盘启动,cdrom)查找MBR(主引导记录bootloader 定义了如何启动当前硬盘上的操作系统,查找分区表,找到内核)

加载内核 系统在这个时候会在

加载根分区 读取

加载/init进程的时候需要读取/etc/inittab配置文件 而/etc/inittab 下定义了init怎么工作 /etc/inittab定义了默认运行级别和系统的初始化用到的脚/etc/rc.d/rc.sysinit

/etc/rc.d/rc.sysinit最终实现系统的初始化

7 初始化后进入默认的级别需要的脚本/etc/rc.d/rc3.d (这个文件里所有脚本都是链接都指向/etc/init.d/*) (grub 启动时的 kernel 行给出的运行级别运行 /etc/rcN.d/ 下的脚本,先执行 开头的(按从低到高),再执行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


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章