init 进程
Systemd
单元类型 | 扩展名 | 说明 |
---|---|---|
Service | . service | 描述一个系统服务 |
Socket | .socket | 描述一个进程间通信的套接字 |
Device | .device | 描述一个内核识别的设备文件 |
Mount | .mount | 描述一个文件系统的挂载点 |
utomount | .automount | 描述一个文件系统的自动挂载点 |
Swap | .swap | 描述一个内存交换设备或交换文件 |
Path | .path | 描述一个文件系统中文件或目录 |
Timer | .timer | 描述一个定时器(用于实现类似cron的调度任务) |
Snapshot | .snapshot | 用于保存一个systemd的状态 |
Scope | .scope | 使用systemd的总线接口以编程的方式创建外部进程 |
Slice | .slice | 描述居于Cgroup的一-组通过层次组织的管理系统进程 |
Target | .target | 描述一组systemd的单元 |
运行级别 | Systemd的target | 说明 |
---|---|---|
0 | target | 关机状态,使用该级别时将会关闭主机 |
1 | rescue.target | 单用户模式,不需要密码验证即可登录系统,多用于系统维护 |
2 | multi-user.target | 用户定义/域特定运行级别。默认等同于3 |
3 | multi-user.target | 字符界面的完整多用户模式,大多数服务器主机运行在此级别 |
4 | multi-user.target | 用户定义/域特定运行级别。默认等同于3 |
5 | graphical.target | 图形界面的多用户模式,提供了图形桌面操作环境 |
6 | reboot.target | 重新启动,使用该级别时将会重启主机 |
添加新硬盘并进行分区、格式化然后挂载。
具体步骤可以参考此篇博客第三段:磁盘管理的检测并确认新硬盘
对磁盘进行分区格式化:
新建目录,挂载磁盘并查看
备份MBR扇区数据到其他磁盘
模拟破损的MBR引导扇区
引导界面进入急救模式,恢复MBR扇区数据
重启后发现无法正常进入系统了,选择第三项进入急救模式
/boot/grub2/grup.cfg
grub >
提示符在页面中的grub >
后面输入下列引导命令即可。
grub> insmod xfs
grub> linux16 /vmlinuz-0-rescue-73d7ede256a74b0e975e69f22d862090 root=UUID=d069b243-6623-4983-8d61-3ec6956a4f2b ro rhgb quiet
grub> initrd16 /initramfs-0-rescue-73d7ede256a74b0e975e69f22d862090.img
grub> boot
MBR位于第一块硬盘( /dev/sda)的第一个物理扇区处,总共512字节, 前446字节是主引导记录,分区表保存在MBR扇区中的第447-510字节中。
此方法跟修复MBR基本一致,只是备份的数据只需要446字节就可以,将bs=512
修改为bs=446
即可,这里我写一下大致步骤,就不详细贴图了。
1.创建新目录用以挂载备份磁盘,备份GRUB引导程序
[root@cheng0307 ~]# mkdir /bak
[root@cheng0307 ~]# mount /dev/sdb1 /bak/
[root@cheng0307 ~]# dd if=/dev/sda of=/bak/grup.bak bs=446 count=1
2.模拟对MBR中的GRUB引导程序的破坏,但不破坏分区表
[root@cheng0307 ~]# dd if=/dev/zero of=/dev/sda bs=446 count=1
3.引导界面进入急救模式,从备份文件中恢复GRUB引导程序
sh-4.2# mkdir /backupdir
sh-4.2# mount /dev/sdb1 /backupdir
sh-4.2# dd if=backupdir/grup.bak of=/dev/sda bs=446 count=1
sh-4.2# exit
模拟GRUB菜单配置文件丢失情况;
进入急救模式,加载光盘镜像,切换到系统根目录;
进入急救模式的方式一:
进入急救模式的方式二(修改启动项后记得修改回来):
选择1 继续执行下一步
重新将GRUB引导程序安装到第一块磁盘/dev/sda
的MBR扇区,如果多个分区可忽略;然后重新构建GRUB菜单的配置文件;
重新修改系统启动项为硬盘后重启即可
第一步:重新虚拟机进入急救模式
第二步:选择1 继续执行下一步
第三步:重新新密码
Systemctl 控制类型 服务名称
只能查看切换运行级别与当前运行级别(N代表没有切换过运行级别)
systemctl get-default
可以查看到默认的运行级别
init命令参数是运行级别所对应的数字。
systemctl的命令参数是具体的target。
systemctl set-default multi-user.target
ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
systemctl常用命令:
1.查看系统服务的启动状态
[root@cheng0307 ~]# systemctl set-default multi-user.target
2.设置系统服务的启动状态
[root@cheng0307 ~]# systemctl disable firewalld.service #关闭自启动
[root@cheng0307 ~]# systemctl enable firewalld.service #开启自启动
chkconfig常用命令:
1. 显示当前服务
[root@cheng0307 ~]# chkconfig --list
2. 添加服务
[root@cheng0307 ~]# chkconfig --add nginx
现把该程序主要代码贴下,供大家需要的时候参考下: %@page import="java.util.*, ...
超越单行的 awk 脚本,学习如何做邮件合并和字数统计。 awk 是 Unix 和 Linux 用...
大致介绍 经过前面的学习,已经建立了版本库,并上传了文件,这次来学习对这些文...
任何Web开发人员需要必备的技巧主要有以下这些技术。 开发Web应用程序的技术已经...
文章目录 前言 一、修改之前 1.登录 2.登录之后读取 二、解决方案 三、修改之后 ...
找了好久终于找到一个jsp上能用的…… 分享!! 复制代码 代码如下: %@ page lan...
写在前面的话 很多人有这样的需求,就是统计网站访问IP以及在线的人数。今天我们...
一直在做php的开发工作.在开发的过程中老早就听说了“伪静态”这一说。但是一直...
前言 大家应该都知道,对于传统的.NET Framework项目而言, System.Runtime.Cach...
比如我在别的方法想使用getTree执行后的到的值 var data=getTree( ); 然后我发现...