开机十步和进程管理 一、Linux启动十步流 二、进程管理 三、dd命令 四、忘记root密码与开机自启动chkconfig用法 五、系统故障修复

开机十步和进程管理
一、Linux启动十步流
二、进程管理
三、dd命令
四、忘记root密码与开机自启动chkconfig用法
五、系统故障修复

第一步:BIOS启动

BIOS的作用开机检测,主板检测(BIOS检测)

第二步:MBR引导程序

硬盘的引导程序启动

MBR硬盘引导程序(硬盘引导区前512K,主引导程序是1-446  64分区表一共4个区4*16,2个校验码)

第三步:GRUB菜单启动(操作系统的引导菜单)

grub菜单的配置文件:/boot/grub/grub.conf

快捷方式:/etc/grub.conf

第四步:kernel操作系统的内核,启动操作系统的核心

第五步:启动操作系统的主进程init

负责执行kernel的任务

进程用来执行计算结果

第六步:读取/etc/inittab配置文件

确定开机以哪一个模式启动

设定Linux开机时默认的启动模式

runlevel 看当前系统运行模式

第七步:执行/etc/rc.d/rc.sysinit初始化脚本

在临时目录生成刚开机时必须有的东西

/proc目录是临时存放内存数据的目录

/proc目录里既有目录也有文件,好多目录都是数字,那么这些数字目录到底是什么呢?都是进程

ps命令:直接显示进程 每个进程都有PID号的

ps -ef命令:看很多进程, PID号(进程号)从1开始 1是主进程

UID是用户;  GID是组的;

UUID是设备的,每个设备都有UUID号;UUID0是超级用户的

PID是进程的,每个进程都有PID号;

PPID是这个进程的上级进程。

如果只把眼光站在运维的角度看问题,那么你只能看到进程这个东西。

通常来说,站在运维的立场,进程到底是什么,进程就是程序。

但是,假如我们把眼光看的更深一些,其实进程里还有很多叫做线程的东西,然后真正干活的不是进程,而是线程。然而,对于运维来说,是看不到线程的。只有你做了开发人员才能看得到线程。

如果面试时,面试官问你,进程是什么,你说进程是程序,也可以。

如果面试的是开发,那么你一定要说,进程什么都不是,它只是一个目录,存放资源的目录,这些资源是提供给线程进程调用的资源,真正干活的是线程,因此,线程才是程序

第八步:执行/etc/rc.d/rc脚本

去某个目录执行文件

cd /etc/rc3.d/    ls 都是高权限文件

chkconfig 开机自启动

chkconfig | grep "3:on"

工作中chkconfig精简化配置,只开5个,其他特殊需要开启的在个人脚本里写

postfix关的话 rc3.d对应的文件是K打头

postfix开的话 rc3.d对应的文件是S打头

如果是K打头就改成S,如果是S打头就改成K

告诉Linux开机时候哪个服务需要启动

当启动模式是3模式,那么Linux进入/etc/rc3.d/目录下,就会执行里面所有以S开头的脚本。

所以,chkconfig这个命令所查看的内容,其实是即时生成的。然而并不是保存于某个文件里。

因此,我们是无法对chkconfig的启动下做备份的。

在运维工作中,我们并不建议以chkconfig的方式来管理Linux操作系统的开机自启动项,因为运维需要安全,安全就要备份。

正确做法是,只开启5个服务,其他在/etc/rc.d/rc.local/里写

/etc/fastab 开机自动挂载,我们也是不推荐的,我们推荐的是/etc/rc.local

其实,我们也可以通过命令的方式去启动服务,如果/etc/rc.local这个脚本每次开机都先启动的话,里面的命令也会被先执行,其实也就是开机自启动。

运维规则:就是有理由即可!!

第九步:执行/etc/rc.d/rc.local个人配置脚本

/etc/init.d/服务名 start/stop  当前立刻启动/关闭程序(能用TAB

reload(平滑重启) 让玩游戏的人不掉线,不是先开后关,很平滑

service postfix start/stop 启动/关闭程序(这个不能TAB不推荐)

第十步:启动mingetty进程

终端进程

二、进程管理

1SSHDsocket守护进程:

24小时不间断监听某个固定端口的进程

默认监听端口是22端口,我们Xshell连接默认的也是22端口

(用于远程连接)

当我们的xshell连接上Linux以后,sshd主进程会临时生成一个sshd子进程来接待我们所发起的远程连接。

sshd子进程,为了让我们友好的方式进行远程操作,sshd子进程会再生成一个bash的界面进程,其实我们命令模式所操作的界面就是bash这个界面。

2/proc目录:临时存放内存数据的目录

/proc目录是临时存放内存数据的目录

/proc目录里既有目录也有文件,好多目录都是数字,那么这些数字目录到底是什么呢?都是进程

3、系统中的bash

bash主要是用来解析命令,是人和机器交互的中介

bash再生成进程,也就是一个一个的命令,命令帮我们工作

4设置grub菜单密码及其配置文件位置

配置文件/etc/grub.conf(快捷方式)

/boot/grub/grub.conf  (原文件)

两者都能用

grub菜单设置密码:教案设置的第二层密码不对,passwd需要往下移,在移动到一个位置就对了

kerelroot之间

5、Linux操作系统中的两个特殊文件

/dev/null  /dev/zero文件

/dev/null 我们称作黑洞文件,不论什么文件内容被重定向到了这个文件里,内容就都消失了,所以也被称为垃圾箱文件

/dev/zero 我们称为无限数据流文件,不论要从文件里取多大的数据,都能取得出来,然而取出的数据没有任何内容显示,就是纯粹的占大小。

三、dd命令

1dd抽取命令

dd if=/dev/sda of=/backup/sda.mbr.bak bs=512 count=1(此命令在进行备份那512

/dev/sda系统盘查找数据,输出到根下的/backup叫做/sda.mbr.bak抽前512字节,抽count 1

把这个盘的前512字节备份出来,count几次 就是备份几次

(if从哪来, of到哪去)

2dd覆盖命令(破坏)

dd if=/dev/zero of=/dev/sda bs=512 count=1

从无限数据流文件,取出文件,输出到/dev/sda的前512字节文件里,相当于把这个文件覆盖了

这公司就倒闭了

3dd检测磁盘读写速度用法

dd if=/dev/zero of=/dev/sda bs=512 count=1

记录了1+0 的读入

记录了1+0 的写出

512字节已复制,0.000206154 秒, 2.5MB/

四、忘记root密码与开机自启动chkconfig用法

1如忘记root密码

清除Linux各种密码

方法一:

重启,读秒状态下,按Esc,按e 选第二个 e 空格 1 回车  再按b

进入1模式,可直接登录

# passwd

设置新密码

# reboot

方法二:

进入急救模式shell修改密码

执行passwd root命令,修改root密码即可

方法三:

修改/etc/shadow/文件

# vim /etc/shadow

删除密文,x!(强制保存退出)

2chkconfig用法和需自启动的五个服务

chkconfig查看开机自启动

一般和过滤一起用

chkconfig | grep post

chkconfig --list post 单一查找

chkconfig postfix on/off  默认2345模式下开启和关闭

chkconfig --level 3 postfix on   指定在3模式下开启

service 服务名  start|stop|restart(重启)|reload(平滑重启)|status(查看)

查看当前服务当前是否启动   

service postfix status    查看开启/关闭状态

is running....代表正在启动

is stopped....代表已经关闭了

service postfix stop  停止程序

service postfix start 启动程序(这个不能TAB不推荐

/etc/init.d/服务名 start  当前立刻/关闭启动程序这个推荐,能用TAB

虽然我们经常用这个方式来控制服务的当前启动状态;但是,假如我们忘记了postfix或者其他服务名字;这种方式TAB

那么我们用什么方式来控制服务呢??

利用一个路径/etc/init.d/

ls /etc/init.d/里面是一个一个的服务,这些是服务的启动脚本

/etc/init.d/TAB postfix就出来了

如果我们没记住服务的名字,还是用这个路径来启动或者关闭比较好。

五、系统故障修复

1修复MBR扇区故障

故障原因

病毒、木马等造成的破坏;不正确的分区操作,磁盘读写误操作

故障现象

找不到引导程序,启动中断,无法加载操作系统,开机后黑屏

解决思路

应提前做好备份文件,以安装光盘引导进入应急模式,从备份中恢复

eg:(提前对系统盘进行备份)

挂载/dev/sdb1/backup,MBR扇区备份至此,毁坏MBR扇区,重启

备份数据

# mkdir  /backup

# mount /dev/sdb1 /backup

# dd if=/dev/sda of=/backup/sda.mbr.bak bs=512 count=1

# ls /backup

(破坏数据)

# dd if=/dev/zero of=/dev/sda bs=512 count=1

(重启)

# reboot

开机十步和进程管理
一、Linux启动十步流
二、进程管理
三、dd命令
四、忘记root密码与开机自启动chkconfig用法
五、系统故障修复开机十步和进程管理
一、Linux启动十步流
二、进程管理
三、dd命令
四、忘记root密码与开机自启动chkconfig用法
五、系统故障修复开机十步和进程管理
一、Linux启动十步流
二、进程管理
三、dd命令
四、忘记root密码与开机自启动chkconfig用法
五、系统故障修复 

(进行故障修复)

进入安全模式

rescue installed system

(进入命令行)

# fdisk -l | grep "/dev/"

# mkdir /backup

# mount /dev/sdb1 /backup

# ls /backup

# dd if=/backup/sda.mbr.bak of=/dev/sda bs=512 count=1

# reboot

开机十步和进程管理
一、Linux启动十步流
二、进程管理
三、dd命令
四、忘记root密码与开机自启动chkconfig用法
五、系统故障修复 

开机十步和进程管理
一、Linux启动十步流
二、进程管理
三、dd命令
四、忘记root密码与开机自启动chkconfig用法
五、系统故障修复 

2、修复grub引导故障

开机十步和进程管理
一、Linux启动十步流
二、进程管理
三、dd命令
四、忘记root密码与开机自启动chkconfig用法
五、系统故障修复 

开机十步和进程管理
一、Linux启动十步流
二、进程管理
三、dd命令
四、忘记root密码与开机自启动chkconfig用法
五、系统故障修复 

开机十步和进程管理
一、Linux启动十步流
二、进程管理
三、dd命令
四、忘记root密码与开机自启动chkconfig用法
五、系统故障修复 

==============================================

3修复grub引导故障

故障原因

MBR中的grub引导程序遭到破坏;grub.conf文件丢失,引导配置有误

故障现象

系统引导停滞,显示grub>”提示符

解决思路

方法一:尝试手动输入

方法二:进入急救模式,重建grub程序

方法三:若无MBR备份,进入急救模式,重新安装grub程序

eg

方法一:手动输入(需记下内核的UUID或存储的绝对路径)

# cat /boot/grub/grub.conf

记下UUIDkernel的路径

grub.conf文件备份,重启

###########################

# mount /dev/sdb1 /backup

# cd /boot/grub

# cp grub.conf /backup

# mv grub.conf grub.conf.bak

# ls

# reboot

此时,出现grub>”提示符,手动输入

grub>root(hd0,0)

grub>kernel /vmlinuz-2.6.32-431.e16.x86-64 ro root=/dev/mapper/vg www-lv root

grub>initrd /initramfs-2.6.32-431.e16.x86-64.img

grub>boot

进入系统后修改grub.conf文件

# cd /boot/grub

# mv grub.conf.bak grub.conf

方法二:

进入急救模式,重建grub程序,需提前备份MBR446字节

(进行破坏)

# dd if=/dev/zero of=/dev/sda bs=446 count=1

# reboot

进入急救模式:okokshell start shellok

进入shell后,将根路径修改为/mnt/sysimage (chroot/mnt/sysimage)

bash-4.1# chroot /mnt/sysimage

bash-4.1# fdisk -l | grep "/dev/"

bash-4.1# mount /dev/sdb1/ /backup

bash-4.1# dd if=/backup/sda.mbr.bak of=/dev/sda bs=446 count=1

bash-4.1# exit

bash-4.1# reboot

至此,进入安全模式进行grub引导的修复完成

方法三:若无MBR备份,进入急救模式,重新安装grub程序

# dd if=/dev/zero of=/dev/sda bs=446 count=1(模拟破坏)

# reboot

进入安全模式shell 同方法三

改变磁盘根目录到/mnt/sysimage

重新安装grub引导程序

退出重启

bash-4.1# chroot /mnt/sysimage

bash-4.1# fdisk  -l /dev/sda

bash-4.1# grub -install /dev/sda

Disk /dev/mapper/vg-www-lv-root

sh-4.1# ls /boot/

initramfs-2.6.32-431.e16.x86-64.img

vimlinuz-2.6.32-431.e16.x86-64

sh-4.1# ls /boot/grub/

sh-4.1# vim /boot/grub/grub.conf (手动建立grub.conf文件)

末行输入

root hd0.0

kernel /vimlinuz-2.6.32-431.e16.x86-64 ro root=/dev/mapper/vg-www-lv-root rhgb quiet

initrd /initramfs-2.6.32-431.e16.x86-64.img

退出

sh-4.1# exit

bash-4.1# reboot

===============================================