20170907 管理systemd(二)

  • CentOS 7引导顺序
  • unit文件格式
  • CentOS 7启动问题修复

一、CentOS 7引导顺序

  • UEFi或BIOS初始化,运行POST开机自检
  • 选择启动设备,引导bootloader程序grub2
  • 加载bootloader程序的配置文件:/boot/grub2/grub.cfg
  • 加载initramfs驱动模块
  • 加载内核选项
  • 内核初始化,centos7使用systemd代替init
  • 执行initrd.target所有单元,包括挂载/etc/fstab
  • 从initramfs根文件系统切换到磁盘根目录
  • systemd执行默认target配置,配置文件/etc/systemd/system/default.target
  • systemd执行sysinit.target初始化系统及basic.target准备操作系统
  • systemd启动multi-user.target下的本机与服务器服务
  • systemd执行multi-user.target下的/etc/rc.d/rc.local
  • systemd执行multi-user.target下的getty.target及登录服务
  • systemd执行graphical需要的服务

二、unit文件格式

  • unit文件路径:

    • /usr/lib/systemd/system:发行版打包者使用
    • /etc/systemd/system:系统管理员和用户使用,一般是指向/usr/lib/systemd/system的软链接
    • 注意:对于新创建的unit文件,或者修改了的unit文件,要通知systemd重载此配置文件systemctl daemon-reload
  • unit文件内容通常由三部分组成:

    • [Unit]:定义与Unit类型无关的通用选项;用于提供unit的描述信息、unit行为及依赖关系等
    • [Service]:与特定类型相关的专用选项;此处为Service类型
    • [Install]:定义由“systemctl enable”以及"systemctl disable“命令在实现服务启用或禁用时用到的一些选项
  • Unit段的常用选项:

    • Description:描述信息
    • After:定义unit的启动次序,表示当前unit应该晚于哪些unit启动,其功能与Before相反
    • Requires:依赖到的其它units,强依赖,被依赖的units无法激活时,当前unit也无法激活
    • Wants:依赖到的其它units,弱依赖
    • Conflicts:定义units间的冲突关系
  • Service段的常用选项:

    • Type:定义影响ExecStart及相关参数的功能的unit进程启动类型,包括:simple,
      forking, oneshot, dbus, notify, idle。默认为simple
    • EnvironmentFile:环境配置文件
    • ExecStart:指明启动unit要运行命令或脚本的绝对路径
    • ExecStartPre:ExecStart前运行
    • ExecStartPost:ExecStart后运行
    • ExecStop:指明停止unit要运行的命令或脚本
    • Restart:当设定Restart=1 时,则当此daemon服务意外终止后,会再次自动启动此服务
  • Install段的常用选项:

    • Alias:别名,可使用systemctl command Alias.service
    • RequiredBy:被哪些units所依赖,强依赖
    • WantedBy:被哪些units所依赖,弱依赖
    • Also:安装本服务的时候还要安装别的相关服务

三、CentOS 7启动问题修复

(一)CentOS 7内核启动参数设置

  • 启动时,在linux16行后添加systemd.unit=desired.target
    • systemd.unit=emergency.target
    • systemd.unit=rescue.target
    • rescue比emergency 支持更多的功能,例如日志等
  • 设置只生效一次,永久生效需要在/boot/grub2/grub.cfg设置

(二)破解CentOS 7的root口令

  • 方法一:

    • 启动时任意键暂停启动
    • 按e键进入编辑模式
    • 将光标移动linux16开始的行,添加内核参数rd.break
    • 按ctrl-x启动
    • mount -o remount,rw /sysroot
    • chroot /sysroot
    • passwd root
    • touch /.autorelabel
    • exit
    • reboot
  • 方法二:

    • 启动时任意键暂停启动
    • 按e键进入编辑模式
    • 将光标移动linux16开始的行,改为rw init=/sysroot/bin/sh
    • 按ctrl-x启动
    • chroot /sysroot
    • passwd root
    • touch /.autorelabel
    • exit
    • reboot

(三)修复grub2

  • 配置文件:

    • 主要配置文件:/boot/grub2/grub.cfg
    • 修复配置文件
      grub2-mkconfig > /boot/grub2/grub.cfg 或
      grub-mkconfig -o /boot/grub2/grub.cfg
  • 修复grub
    grub2-install /dev/sda BIOS环境
    grub2-install UEFI环境

  • 调整默认启动内核
    编辑文件/etc/default/grub的GRUB_DEFAULT值,从0开始算起

  • 实验:修复CentOS 7启动问题

实验1:删除grub2所有内容,修复系统

dd if=/dev/zero of=/dev/sda bs=1 count=446 删除bootloader
rm -rf /boot/grub* 删除所有grub2的stage2内容

(1)重启进入救援模式,先切根,执行grub2-install /dev/sda恢复grub2的文件

(2)执行grub-mkconfig恢复/boot/grub2/grub.cfg文件,重启成功进入系统

实验2:删除/boot目录下所有内容,修复系统

rm -rf /boot/* 删除/boot目录下的所有内容

(1)重启进入救援模式,先切根,挂载光盘,安装内核软件包

(2)之后内容与实验1类似,包括修复grub2文件,修复/boot/grub2/grub.cfg文件,重启成功进入系统

实验3:删除/boot/grub2/grub.cfg,重启

rm -f /boot/grub2/grub.cfg,重启后虽然grub2的stage2阶段能够进入,但由于缺失启动信息配置文件,grub2会提示输入启动信息,输入以下启动信息,boot回车后成功进入系统

grub> insmod xfs
grub> set root=(hd0,1)
grub> linux16 /vmlinuz-3.10.0-514.el7.x86_64 root=/dev/sda2 selinux=0
grub> inintrd16 /initramfs-3.10.0-514.el7.x86_64.img
grub> boot
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,911评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,014评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 142,129评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,283评论 1 264
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,159评论 4 357
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,161评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,565评论 3 382
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,251评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,531评论 1 292
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,619评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,383评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,255评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,624评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,916评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,199评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,553评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,756评论 2 335

推荐阅读更多精彩内容