【转】服务管理/磁盘引导区恢复笔记
0赞Linux运行级别:
- 单人模式:提供系统维护、找回root密码;
- 纯文字的多人网络模式;
- 图形界面模式;
系统服务:提供某些常驻性功能的运行程式。这些程式运行时常驻在内存。服务名称后都有一个d字母。
独立服务和非独立服务?
独立服务:服务是独立启动的,并常驻于内存,运行速度快。
非独立服务:xinted管理程序提供的socket或port对应的管理。它会根据用户要求启动相应的服务程序,请求结束就会关闭此程序。
早期的服务启动: SysV的init脚本程序管理特点。
所有服务的启动脚本都在/etc/init.d下,都是bash shell script脚本。
/etc/init.d/daemon start
/etc/init.d/daemon stop
/etc/init.d/daemon restart
/etc/init.d/daemon status
- 服务之间没有依赖性;
可以根据使用者自定义的执行等级来启动服务。
- 各执行等级的启动脚本是透过/etc/rc.d/rc[0-6]/SXXdaemon关连到/etc/init.d/damenon。S为启动该服务,XX为数字代表启动的顺序。
设置启动的方法:
chkconfig [--level levels] name
预设开启|关闭|重设 服务,level参数设置某个级别。 chkconfig –list [name] 显示所有(或某个)服务的运行状态
执行等级的切换:
- init 5:切换到5等级(图形界面);
- runlevel:查看当前等 级。
INIT进程:/sbin/init程序,是系统第一个进程,PID(进程标记)永远为1;
配置默认执行等 级:
其他系统初始化文件:
/etc/rc.d/rc.sysinit
•由init进程调用执行
•完成设置网络、主机名、加载文件系统等初始化工作
/etc/rc.d/rc脚本文件
•由init进程调用执行
•根据挃定的运行级别, 加载或终止相应的系统服务
/etc/rc.local脚本文件
•由rc脚本调用执行
•保存用户定义的需开机后自动执行的命令
CentOS 7.X的新启动服务管理机制systemd:
- 所有服务并行启动,加速开机流程;
- on-demand启动模式:systemd搭配systemctl命令处理,任何要求on-demand要求都能立即处理daemon后续服务;
- 具有服务依赖性检查:如果B服务依赖A服务,则手动启动B服务时,systemd会自动启动A服务;
- 以功能分类各种服务:以服务单位(unit)区分为service,socket,target,path,snapshot,timer等不同类型(type);
- 将多个deamon集合成一个群组:兼容runlevel的设计;
- 向下兼容基本的init服务脚本。
systemd的设定文件目录:
- /usr/lib/systemd/system:各服务的启动脚本文件,类似于/etc/init.d;
- /run/systemd/system:系统执行过程中产生的服务脚本,优先执行顺序比/usr/lib/systemd/system要早;
- /etc/systemd/system:各服务的启动链接文件,类似于/etc/rc.d/rc5.d/Sxx。
service restart和reload的区别?
常看进程信息的几个常用命令:
ps:
ps aux :显示所有当前的进程信息;
top:显示当前所有进程的动态信息。(按e可查看多核CPU,按q退出信息显示)
preg:查看进程终端号(进程ID)。
pstree –aup:显示进程树,显示进程的子进程(名称和ID)。
nice:调整进程的优先级。root用户下调整的优先级在-20至20之间,普通用户只限于0-20之间。
renice:动态调整进程优先级。(示例中的-5为要调整的优先级,-p为调整的进程ID)
后台运行程序,并如何将后台程序调到前台:
Ctrl+Z组合键:将当前进程挂起,即调入后台并停止执行;
jobs:查看后台运行的命令;
fg:将后台的进程恢复到前台运行,需指定任务序号;
sleep:将目前动作延迟到一段时间,时间长度,后面可接s\m\h\d(秒、分钟、小时、天数)。
终止进程的进行:
Ctrl+C
kill:
killall:
pkill:将某个登录用户踢出。
计划任务管理:
at:一次性执行任务。
例:
at 12:30 //设置12点半关机
at>shut down –h now
at>
查看和删除一次性任务:
crontab任务:
格式: 分钟 小时 日 月 星期 <执行命令>
时间数值的特殊表示方法:
*:访范围的任意时间
,:表示间隔多个不连续的时间点
-:表示一个连续的时间点
/:指定间隔的时间频率
示例:
crontab –e: root编辑任务模式
crontab –e –u admin: 以admin用户来编辑执行任务
crontabl –l:root用户查看自己的计划任务列表
crontabl –l –u admin:查看和删除admin用户设置的计划任务
限制使用crontabl的用户:
备份MBR引导区:
模拟破坏MBR引导区:
用centos光盘进入恢复模式,在shell下挂载备份盘,恢复MBR并重启:
如何恢复grub引导配置文件:
(1)模拟破坏grub配置:
(2)重启后在grub提示符下键入引导命令进入系统:
(3)再把grub.conf文件恢复过来即可。
第二种方式:(使用光盘引导)
(1)进入光盘引导的shell界面下,使用chroot将sda1的boot目录挂载:
(2)挂载备份盘,并将grub.conf文件恢复:
(3)退出shell,再重启:
如何恢复被破坏的grub程序:
- 提前备份:
(2)模拟破坏:
(3)光盘引导:
(4)从备份中恢复:
假设没有备份的情况下,用在光盘启动后用如下方式修复:
忘记root密码的情况:
在启动菜单中按"e"键,进入如下菜单选项:
选择第2项kernel这一项,再按"e"编辑菜单项:
在编辑模式下,在命令后输入空格+1:
退回到菜单项,按b键重启动,进入单用户模式:
直接修改root密码,并重启即可:
假设菜单加密的情况下:
grub –crypt形成加密字串:
编辑grub.conf,加入加密字串:
重启后,e键已失去作用:
使用光盘启动,在shell下清除root密码:
重启进入系统即可。
因某些故障导致无法向分区写入或读取内容:
- 挂载一磁盘分区进行模拟:
模拟分区已经破坏:
- 重启:
开机过程中提示文件系统有错:
fsck命令修复:
重启即可。
如果磁盘的i文件节点用完的情况下:
挂载磁盘,模拟i节点占用:
查询挂载的磁盘的空闲i节点数。
使用一脚本,占用所有的i节点:
i节点用完,但仍有剩余的空间:
这时必须删除细小的无用文件,才能恢复空闲的i节点。
检查磁盘坏道: