Linux引导过程与服务控制
一:系统引导流程:
开机自检(BIOS)-->MBR引导-->GRUB菜单-->加载内核(kernel)-->init进程初始化
二:系统引导级别:
0 |
poweroff.target |
关机状态,使用该级别时将会关闭主机 |
1 |
rescue.target |
单用户模式,不需要密码验证即可登录系统,多用 于系统维护 |
2 |
multi-user.target |
用户定义/减特定运行级别。默认等同于3,但是不支持网络 |
3 |
multi-user.target |
字符界面的完整多用户模式,大多数服务器主机运行在此级别 |
4 |
multi-user.target |
用户定义/或特定运行级别,默认等同于3 |
5 |
graphical.target |
图形界面的多用户模式,提供了图形桌面操作环境 |
6 |
reboottarget |
重新启动,使用该级别时将会重启主机 |
三:Linux中服务的管理方式:
1、独立管理(门市房)
systemctl start dhcpd
systemctl stop dhepd
2、集中管理(商场)xinetd
vim /etc/xinetd.ditftp
disable = no
systemctl start tftp
四:修复文件系统:扫盘:
Ext4:fsck -y -t ext4 /dev/sdb1
Xfs: xfs_repair /dev/sdb1
五:服务控制及优化启动
1、系统服务控制
(1)常用方法:
·/etc/rc.d/init.d/ 服务名称 控制类型(/etc/init.d/ 是/etc/rc.d/init.d/的快捷方式)
【推荐使用上述方法】
·service 服务名称 控制类型
(2)常用控制类型
·start 启动
·stop 停止
·restart 重启
·reload 平滑重启,无需停止服务【常用】
·status 查看状态
五:优化启动过程:
(1)ntsysv 工具
·提供一个交互式、可视化窗口
·可以在字符终端运行
·便于集体管理多个服务
1>示例:ntsysv --level 35
六:系统服务控制
系统服务控制在CentOS系统中,各种系统服务的控制脚本默认放在(snib/systemd/system/自泉下,通过systemcti令工具可以实现对指定系统服务的控制语法格式如下systemcti控制类型服务名称service)
对于大多数系统服务来说常见的几种控制类型如下所述,
stant启动:运行指定的系统服务程序.实现服务功能。. stop(停止):终止指定的系统服务程序 .关闭相应的功能。
restat(重启) :先退出,再重新运行指定的系统服务程序。
reload (重载):不退出服务程序.只是刷新配置.在某些服务中与restat的操作相同。
status(查看状态):查看指定的系统服务的运行状态及相关信息,
查看当前系统中所已激活的系统服务:
Systemctl list-units -type=service
chkconfig工具使用方式:
chkconfig -list #列出所有服务的状态
chkconfg -list network #制出某 个服务的状态
chkconfg I-level 35]服务名称fonlof) #设置服务状态,默认2345级别
七:引导级别查看及切换
Linux 系统的运行级别
(1)查看运行级别:runlevel 命令
(2)临时切换运行级别:使用 init 命令结合 0-6 运行级别参数
八:MBR修复:
建立一个目录
挂载dev/sdb1到/backup
将MBR扇区备份
将mbr扇区毁坏
九:修复GRUB引导故障
boot/grub2/grub cfg配置文件说明:
menuentry :指定在启动菜单中显示的操作系统名称set root :指定包含内核等引导文件的/boot分区所在位置insmod :加载指定的模块到内核
linux16 :指定内核文件所在的位置,内核加载时权限为只读"ro”,并通过root=”指定根分区的设备文件位置。
initrd16 :指定启动内核所使用的临时系统镜像文件所在位置。
[root@localhost ~]# mkdir /abc
[root@localhost ~]# mount /dev/sdb1 /abc
[root@localhost ~]# dd if=/dev/sda of=/abc/sda-mbr-bak bs=512 count=1
记录了1+0 的读入
记录了1+0 的写出
512字节(512 B)已复制,0.000224936 秒,2.3 MB/秒
[root@localhost ~]#cp /boot/grub2/grub.cfg /abc/grub.cfg
进入急救模式
切换到root根目录下
方法一:重建grub.cfg文件
方法二:提前备份,然后复原
grub引导程序遭到破坏
方法一:备份恢复
方法二:重建
十:/boot目录误删除:
通过chroot sysimage 切换根目录
新建临时文件挂载点 /mnt/temp,并挂载光盘
rpm -ivh /mnt/temp/Packages/kernel-3.10--force
grub2-install /dev/sda
grub2-mkconfig > /boot/grub2/grub.cfg
Sync同步数据
十一、root密码修复
1、第一种方法:
重新启动reboot
2、第二种方法:
把里面的密文删掉(用x)
十二:文件系统修复 (扫盘)
十三、空间耗尽故障
添加一块硬盘,分区格式化,挂载
[root@localhost ~]# fdisk /dev/sdb
[root@localhost ~]# mkfs.ext4 /dev/sdb1
[root@localhost ~]# mkdir /disk
[root@localhost ~]# mount /dev/sdb1 /disk/
[root@localhost ~]# df –I
文件系统 Inode 已用(I) 可用(I) 已用(I)% 挂载点
/dev/sdb1 65536 10 65526 1% /disk
创建多个文件,耗尽容量
[root@localhost ~]# cd /disk/
[root@localhost disk]# touch {1..65526}
验证文件占用情况
[root@localhost ~]# df -i
文件系统 Inode 已用(I) 可用(I) 已用(I)% 挂载点
/dev/sdb1 65536 65536 0 100% /disk
尝试创建文件
[root@localhost disk]# touch q
touch: 无法创建"q": 设备上没有空间
查看磁盘剩余空间
[root@localhost ~]# df -hT /disk/
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/sdb1 ext4 976M 4.3M 905M 1% /disk
修复磁盘耗尽故障
寻找0字节的文件,并删除
[root@localhost maomao]# sudo find /maomao -type f -size 0 -exec rm {} \;
改变inode节点大小
[root@localhost ~]# mv 重要数据 /root
[root@localhost ~]#umount /dev/sdb1
[root@localhost ~]#mkfs.ext4 /dev/sdb1 -N 500000
[root@localhost ~]# df -i /dev/sdb1
文件系统 Inode 已用(I) 可用(I) 已用(I)% 挂载点
/dev/sdb1 501760 11 501749 1% /aa
[root@localhost ~]# mount /dev/sdb1 /disk/
[root@localhost ~]# mv重要数据 /disk
十四、磁盘坏道故障
磁盘坏道分为逻辑坏道和物理坏道两种
dmesg
当有硬盘坏道时,通常在dmesg输出的信息中会有 Buffer I/O Error,所以经常检查dmesg的输出可以及时发现是否存在硬盘问题。
badblocks
adblocks 可以用来检查硬盘是否有坏道,也可以修复坏道,但仅限于逻辑坏道,物理坏道只能更换硬盘。
检查命令:
[root@localhost ~]# badblocks -s -v -o /root/bb.log /dev/sda
检查 /home 是否有坏道,则命令如下:
[root@localhost ~]# badblocks -s -v -o /root/bb-home.log /dev/mapper/centos-home
逻辑坏道修复方式
下面是badblocks在/dev/mapper/ centos-home e分区检查出的坏道列表:
217874591
217874592
217874593
217874594
217874595
先备份数据
[root@localhost ~]# dd if=/dev/mapper/centos-home skip=217874591 of=/tmp/217874591-217874595.dat count=5
修复
[root@localhost ~]# umount /dev/mapper/ centos-home(umount可能出现"Device busy"的错误, 解决方法fuser -m /home //列出使用/home的进程ID fuser -m -v -i -k /home //列出PID并kill掉进程)
修复命令:
[root@localhost ~]# badblocks -s -w /dev/mapper/ centos-home 217874595 217874591
修复后检查
[root@localhost ~]# badblocks -s -v /dev/mapper/ centos-home 217874595 217874591
恢复数据(可选)
[root@localhost ~]# dd if=/tmp/217874591-217874595.dat of=/dev/mapper/ centos-home
重新分区检查
[root@localhost ~]# badblocks -s -v -o /root/bb-home.log /dev/mapper/ centos-home
若没有坏道说明修复已完成,若有坏道可以尝试重复以上方法。
完成后重新mount分区
[root@localhost ~]# mount /dev/mapper/ centos-home
Linux引导过程与服务控制的更多相关文章
- Linux引导过程和服务过程
目录 一.Linux操作系统引导过程 1.1.开机自检 1.2.MBR引导 1.3.GRUB菜单 1.4.加载Linux内核 1.5.init进程初始化 二.系统初始化进程 2.1.init进程 2. ...
- Linux系统——引导过程与服务控制
一.Linux开机启动原理(十步) (1)开机自检BIOS 开机检测,主板检测 (2)MBR引导 硬盘512字节 (3)GRUB菜单 操作系统菜单 (4)加载内核(kernel) 启动操作系统核心,根 ...
- Linux 系统管理——引导过程与服务控制
一. 系统引导流程 1.开机自检(BIOS)(基本的输入输出系统) 2.MBR引导1.2. MBRIS 当从本机硬盘中启动系统时,首先根据硬盘第一个扇区中MBR (Master Boot Record ...
- Linux 引导过程内幕
转载:http://www.ibm.com/developerworks/cn/linux/l-linuxboot/index.html 从主引导记录到第一个用户空间应用程序的指导 引导 Linu ...
- 【转】Linux 高级的视角来查看Linux引导过程
[原文]https://www.toutiao.com/i6594210975480545800/ 1.概述 图 1 是我们在20,000 英尺的高度看到的视图. 当系统首次引导时,或系统被重置时,处 ...
- Linux引导过程
早期时,启动一台计算机意味着要给计算机喂一条包含引导程序的纸带,或者手工使用前端面板地址/数据/控制开关来加载引导程序.尽管目前的计算机已经装备了很多工具来简化引导过程,但是这一切并没有对整个过程进行 ...
- Linux引导过程!(重点)
1.开机自检:服务器开机后,将根据主板BIOS (基本输入系统),中的设置对CPU .内存.显卡.键盘等设备进行初步检测,并初始化部分硬件. 2.MBR 引导:当从本机硬盘中启动系统时,首先根据硬盘中 ...
- Linux学习笔记之Linux启动引导过程
早期时,启动一台计算机意味着要给计算机喂一条包含引导程序的纸带,或者手工使用前端面板地址/数据/控制开关来加载引导程序.尽管目前的计算机已经装备了很多工具来简化引导过程,但是这一切并没有对整个过程进行 ...
- Linux学习笔记:系统启动引导过程
Linux系统启动引导过程 近期发现自己在仅仅是掌握上有几个比較硬的伤: 一.知识体系碎片,比方Linux,这学点那学点,结果没有成体系,串不起来: 二.记忆时间短暂,非常多的内容学了就忘,最后的结果 ...
随机推荐
- ubuntu串口连接linux车机设备
一.用到的命令或者程序 1.dmesg命令 2.minicom软件 二.开搞 1.安装minicom sudo apt-get install minicom 2.查看串口信息 dmesg | gre ...
- spring cloud hystrix dashboard 没有/actuator/hystrix.stream路径解决
首先我用的是spring boot Greenwich.SR2 在测试hystrix-dashboard监控服务时,发现访问localhost:9001/actuator/hystrix.stream ...
- markdown 希腊字母
字母名称 大写 markdown原文 小写 markdown原文alpha A A α \alphabeta B B β \betagamma Γ \Gamma γ \gammadelta Δ \De ...
- mysql-新增数据库
一.新增数据库 1.检查mysql 新增数据库之前,先检查是否安装了数据库,本次我们使用的是mysql数据库,检查是否安装mysql直接使用 mysql --version即可: 显示了mysql的版 ...
- Python之np.random.permutation()函数的使用
官网的解释是:Randomly permute a sequence, or return a permuted range. 即随机排列序列,或返回随机范围.我的理解就是返回一个乱序的序列.下面通过 ...
- 一个简单的利用 WebClient 异步下载的示例(三)
继续上一篇 一个简单的利用 WebClient 异步下载的示例(二) 后,继续优化它. 1. 直接贴代码了: DownloadEntry: public class DownloadEntry { p ...
- Python sorted 函数
Python sorted 函数 sorted 可以对所有可迭代的对象进行排序操作,sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作.从新排序列表. sorted 语法: ...
- 单独KafkaConsumer实例and多worker线程。
1.单独KafkaConsumer实例and多worker线程.将获取的消息和消息的处理解耦,将消息的处理放入单独的工作者线程中,即工作线程中,同时维护一个或者若各干consumer实例执行消息获取任 ...
- NET 判断是否为回文
比如: 12321,第一位等于第五位,第二位等于第四位 /// <summary> /// 判断是否为回文 /// 比如:12321,第一位等于第五位,第二位等于第四位 /// </ ...
- VMware——虚拟机的安装
VMware——虚拟机的安装 摘要:本文主要记录了虚拟机的安装过程. 下载 可以去官网或者其他可靠站点下载虚拟机的安装包. 这次用的版本是:VMware-workstation-full-14.1.7 ...