开o2o网站需要什么手续,网站建设中搜索引擎,企业公司简介模板,seo搜索引擎优化就业指导文章目录 一、Linux操作系统引导过程1、开机启动的完整过程1.1 开机自检#xff08;BIOS#xff09;1.2 MBR引导1.3 GRUB菜单1.4 加载内核#xff08;kernel#xff09;1.5 init进程初始化 2、系统初始化进程2.1 init进程2.2 systemdinit与systemd区别 3、Systemd单元类型4… 文章目录 一、Linux操作系统引导过程1、开机启动的完整过程1.1 开机自检BIOS1.2 MBR引导1.3 GRUB菜单1.4 加载内核kernel1.5 init进程初始化 2、系统初始化进程2.1 init进程2.2 systemdinit与systemd区别 3、Systemd单元类型4、运行级别所对应的Systemd目标 二、故障处理1、service unit文件格式1.1 unit 格式说明1.2 service unit file文件通常由三部分组成1.3 Unit段的常用选项1.4 Service段的常用选项1.5 Install段的常用选项1.6 编译安装nginx-systemctl编译安装nginx然后用systemctl管理图文详解 2、修复MBR扇区故障2.1 故障原因2.2 故障现象2.3 解决思路2.4 故障模拟及处理过程修复MBR扇区故障图文详解 3、修复GRUB引导故障3.1 故障原因3.2 故障现象3.3 解决思路3.4 故障模拟及处理过程修复GRUB引导故障图文详解 4、遗忘root用户密码4.1 故障原因4.2 故障现象4.3 解决思路4.4 故障模拟及处理过程修改root用户密码图文详解 三、Linux系统服务控制1、系统服务控制1.1 格式systemctl 控制类型 服务名称1.2 控制类型 四、Linux系统运行级别切换1、查看运行级别1.1 runlevel命令runlevel只能查看切换运行级别与当前运行级别1.2 systemctl工具 2、临时切换运行级别2.1 init命令2.2 systemctl工具2.3 init与systemctl对应表 3、查看系统默认级别4、设置临时运行级别格式chkconfig --list [服务名称] 5、设置永久运行级别 五、优化开机自动加载服务1、优化启动过程1.1 ntsysv工具1.2 systemctl/chkconfig工具 2、系统服务的启动和控制2.1 ntsysv系统服务管理工具 3、命令补充 一、Linux操作系统引导过程
1、开机启动的完整过程
BIOS加电自检 ---- MBR — GRUB — 加载内核文件 — 启动进程
加电后BIOS程序会自检硬件硬件无故障后会根据第一启动项去找内核一般来说第一启动项是硬盘找到硬盘后会根据MBR的指引找到完整的GRUB程序再根据grub的配置文件找到内核文件的具体位置然后将内核文件加载到内存中运行内存加载好后会启动第一个程序
BIOS检测硬件是否正常然后根据BIOS中的启动项设置去找内核文件
1.1 开机自检BIOS
服务器主机开机以后将根据主板BIOS中的设置对CPU、内存、显卡、键盘等设备进行初步检测检测成功后根据预设的启动顺序移交系统控制权大多时候会移交给本机硬盘
总结检测出第一个能够引导系统的设备比如硬盘或者光驱
1.2 MBR引导
指引硬件找到内核文件
当从本机硬盘中启动系统时首先根据硬盘第一个扇区中MBR主引导记录的设置将系统控制权传递给包含操作系统引导文件的分区或者直接根据MBR记录中的引导信息调用启动菜单如GRUB
总结运行放在MBR扇区里的启动GRUB引导程序因为grub程序启动太大第一个扇区存不下所有的grub程序所以分为两部分
1.3 GRUB菜单
根据grub配置文件grub.cfg中记录的位置去找到内核文件
对于Linux操作系统来说GRUB统一启动加载器是使用最为广泛的多系统引导器程序。系统控制权传递给GRUB以后将会显示启动菜单给用户选择并根据所选项或采用默认值加载Linux内核文件然后将系统控制权移交给内核。
CentOS 7采用的是GRUB2启动引导器。
总结GRUB引导程序通过读取GRUB配置文件/boot/grub2/grub.cfg,来获取内核和镜像文件系统的设置和路径位置
1.4 加载内核kernel
Linux内核是一个预先编译号的特殊二进制文件介于各种硬件资源与系统程序之间负责资源分配与调度。内核接过系统控制权以后将完全掌控整个Linux操作系统的运行过程
CentOS 7系统中默认的内核文件位于“/boot/vmlinuz-3.10.0-514.e17.x86_64”
总结把内核和镜像文件系统加载到内存中
1.5 init进程初始化
为了完成进一步的系统引导过程Linux内核首先将系统中的额“/sbin/init”程序加载到内核中运行运行中的程序称为进程init集成负责完成整个系统的初始化最后等待用户进行登录
总结加载硬件驱动程序内核把init进程加载到内存中运行
2、系统初始化进程
2.1 init进程
①、由Linux内核加载运行/sin/init程序
②、init进程是系统中第一个进程是所有进程的父程序
③、init进程的PID进程标记号永远为1
2.2 systemd
systemd是系统的级程序代为管理系统上的程序
①、systemd是Linux操作系统的一种init软件
②、CentOS 7中采用全新的Systemd启动方式取代传统的SysVinit
③、CentOS 7中运行的第一个init进程是/lib/systemd/systemd
注传统SysVinit依赖于串行执行Shell脚本启动服务导致效率低下系统启动速度较慢systemd能够将更多的服务进程并行启动并且具有提供按需启动服务的能力使得启动更少进程从而提高系统启动速度。 centos6启动init串行启动后续程序一个一个按顺序启动 centos7启动systemd并行启动程序全部一起启动 init与systemd区别 init串行启动后续程序一个一个按顺序启动systemd并行启动程序全部一起启动
systemd方便管理程序将程序按照特定的功能分成了很多特定的单元如服务单元文件路径单元挂载单元等
yum以及rpm安装的软件可以直接使用systemd去启动、关闭、重启、开机自启等功能编译安装不可以直接使用systemctl命令去管理程序需要手写一个配置文件
3、Systemd单元类型 4、运行级别所对应的Systemd目标
0—关机1—单用户类似于windows的急救模式2—字符界面少一些功能3—字符界面默认4—字符界面没有使用5—图形界面6—重启 runlevel #查看当前运行级别systemctl get-default #查看默认的运行级别systemctl set-default #设置默认的级别target #关机rescue.target #单用户multi-user.target #字符界面graphical.target #图形界面reboot.target #重新启动二、故障处理
1、service unit文件格式
1.1 unit 格式说明
以 “#” 开头的行后面的内容会被认为是注释相关布尔值1、yes、on、true 都是开启0、no、off、false 都是关闭时间单位默认是秒所以要用毫秒ms分钟m等须显式说明
1.2 service unit file文件通常由三部分组成
[Unit]定义与Unit类型无关的通用选项用于提供unit的描述信息、unit行为及依赖关系等[Service]与特定类型相关的专用选项此处为Service类型[Install]定义由“systemctl enable”以及systemctl disable“命令在实现服务启用或禁用时用到的一些选项
1.3 Unit段的常用选项
Description描述信息After定义unit的启动次序表示当前unit应该晚于哪些unit启动其功能与Before相反Requires依赖到的其它units强依赖被依赖的units无法激活时当前unit也无法激活Wants依赖到的其它units弱依赖Conflicts定义units间的冲突关系
1.4 Service段的常用选项 Type定义影响ExecStart及相关参数的功能的unit进程启动类型 simple默认值这个daemon主要由ExecStart接的指令串来启动启动后常驻于内存中forking由ExecStart启动的程序透过spawns延伸出其他子程序来作为此daemon的主要服务。原生父程序在启动结束后就会终止oneshot与simple类似不过这个程序在工作完毕后就结束了不会常驻在内存中dbus与simple类似但这个daemon必须要在取得一个D-Bus的名称后才会继续运作.因此通常也要同时设定BusNname 才行notify在启动完成后会发送一个通知消息。还需要配合 NotifyAccess 来让 Systemd 接收消息idle与simple类似要执行这个daemon必须要所有的工作都顺利执行完毕后才会执行。这类的daemon通常是开机到最后才执行即可的服务 EnvironmentFile环境配置文件 ExecStart指明启动unit要运行命令或脚本的绝对路径 ExecStartPre ExecStart前运行 ExecStartPost ExecStart后运行 ExecStop指明停止unit要运行的命令或脚本 Restart当设定Restart1 时则当次daemon服务意外终止后会再次自动启动此服务 RestartSec: 设置在重启服务( Restart )前暂停多长时间。 默认值是100毫秒(100ms)。 如果未指 定时间单位那么将视为以秒为单位。 例如设为20等价于设为20s。 PrivateTmp设定为yes时会在生成/tmp/systemd-private-UUID-NAME.service-XXXXX/tmp/目录
1.5 Install段的常用选项
Alias别名可使用systemctl command Alias.service
RequiredBy被哪些units所依赖强依赖
WantedBy被哪些units所依赖弱依赖
Also安装本服务的时候还要安装别的相关服务
1.6 编译安装nginx-systemctl
cd /opt
wget http://nginx.org/download/nginx-1.18.0.tar.gz
tar xf nginx-1.18.0.tar.gz
cd nginx-1.18.0
yum -y install gcc pcre-devel openssl-devel zlib-devel openssl openssl-devel mkdir /data/nginx -p
./configure --prefix/data/nginx
make
make installln -s /data/nginx/sbin/nginx /usr/sbin/nginx
#做软链接 可以补全 vim /usr/lib/systemd/system/nginx.service[Unit]
DescriptionThe nginx HTTP and reverse proxy server #描述软件的功能[Service]
PIDFile/data/nginx/logs/nginx.pid # 方便使用pid号进行操作指明进程的pid号
ExecStart/data/nginx/sbin/nginx #使用绝对路径启动
ExecStop/usr/bin/kill -s TERM $MAINPID #杀死进程
ExecReload/data/nginx/sbin/nginx -s reload #重新加载[Install]
WantedBymulti-user.target #安装字符界面systemctl daemon-reload #重新加载服务的配置文件systemctl start nginx #开启systemctl status nginx #查看状态编译安装nginx然后用systemctl管理图文详解 2、修复MBR扇区故障
2.1 故障原因
病毒、木马等造成的破坏不正确的分区操作、磁盘读写误操作
2.2 故障现象 找不到引导程序启动中断 无法加载操作系统开机后黑屏
2.3 解决思路 应提前做好备份文件 以安装光盘引导进入急救模式 从备份文件中恢复
2.4 故障模拟及处理过程
MBR位于第一块硬盘/dev/sda的第一个物理扇区处总共512字节
①、备份MBR扇区数据到其他磁盘(/dev/sdb1)
mkdir /backupmount /dev/sdb /backupdd if/dev/sda of/backup/mbr.bak bs512 count1②、模拟破坏MR引导扇区 dd if/dev/zero of/dev/sda bs512 count1③、应道界面进入急救模式从备份文件中国灰度MBR扇区数据
先加载好光盘镜像重启操作系统当出现安装向导界面时选择“Troubleshooting”选项再选择“Rescue a CentOS system”选项进入急救模式
1111
选择“1”选择Continue并按Enter键继续在此按Enter键后将进入带“sh-4.2#”提示符的Bash Shell环境sh-4.2# mkdir /backupdirsh-4.2# mount/dev/sdb /backupdir #挂载带有备份文件的分区sh-4.2# dd if/backupdir/mbr.bak of/dev/sda #恢复备份数据sh-4.2# hexdump -C -n 512 /dev/sda #查看字节字节恢复正常后重新启动系统即可恢复修复MBR扇区故障图文详解 3、修复GRUB引导故障
3.1 故障原因
①、MBR中的GRUB引导程序遭到破坏
②、grub.conf文件丢失、引导配置有误
3.2 故障现象
系统引导停滞显示“grub”提示符
3.3 解决思路
①、尝试手动输入引导命令
②、进入急救模式重写或者从备份中恢复grub.conf
③、向MBR扇区中重建grub程序
3.4 故障模拟及处理过程
/boot/grub/目录下的包是用于启动菜单的背景图片及样式
/boot/grub2/grub.cfg #GRUB配置文件
方法一手动输入引导命令笨拙繁琐不建议使用
grub insmod xfs #加载指定的模块到内核grub linux16 /vmlinuz-3.10.0-693.e17.x86_64 rootUUID8fd74986-ae66-4ffd-b7d8-a19f2eca7b6f ro rhgb quite LANGzh_CN.UTF-8 #内核的名字及位置等信息grub initrd16 /initramfs-3.10.0..693.e17.x86_64.img #镜像系统文件grub boot #引导boot方法二进入急救模式恢复GRUB引导程序
MBR位于第一块硬盘/dev/sda的第一个物理扇区处总共512字节前446字节是主引导记录分区保存在MBR扇区中的第447-510字节中
①、备份数据到其他磁盘中
mkdir /bakmonut /dev/sdb1 /bakdd if/dev/sda of/bak/grub.bak bs446 count1②、模拟对MBR中的GRUB引导程序的破坏但并不破坏分区表 dd if/dev/zero of/dev/sda bs446 count1③ 引导界面进入急救模式从备份文件中恢复GRUB引导程序
sh-4.2# mkdir /backupdirsh-4.2# mount/dev/sdb1 /backupdir #挂载带有备份文件的分区sh-4.2# dd if/backupdir/grub.bak of/dev/sda #恢复备份数据sh-4.2# exit #执行exit命令退出临时Shell环境系统将会自动重启方法三引导界面进入急救模式重建GRUB菜单配置文件
mv /boot/grub2/grub.cfg /opt #先模拟破坏grub.cfg配置文件重启进入急救模式 321sh-4.2# chroot /mnt/sysimage #先切换根从光盘的根切换到系统的根bash-4.2# grub2-install /dev/sda #重新将GRUB引导程序安装到第一块硬盘/sev/sda的MBR扇区如果有多个分区可省略bash-4.2# grub2-mkconfig -o /boot/grub2/grub.cfg #重新生成GRUB菜单的配置文件bash-4.2# exit #退出chroot环境sh-4.2# reboot #重启修复GRUB引导故障图文详解 4、遗忘root用户密码
4.1 故障原因
遗忘root用户的密码
4.2 故障现象 无法进行需要root权限的管理操作 若没有其他可用账号将无法登陆系统
4.3 解决思路
进入急救模式重设密码
4.4 故障模拟及处理过程
有光驱
chroot /mnt/sysimage #切换根目录
passwd #修改密码
exit #退出chroot环境
reboot #重启无光驱
进入系统在选择内核界面选择第一个选项按e将光标移动到linux开头行的最后(按end键添加rd.break 然后按ctrlx 运行
进入单用户mount -o remount,rw /sysroot #重新挂载,添加读写权限chroot /sysroot #切换到真正的根passwd #修改密码touch /.autorelabel #如果你开启了selinux需要重新打上标记修改root用户密码图文详解 三、Linux系统服务控制
1、系统服务控制
服务程序
一旦运行一直运行不会退出一般是后台运行不会影响前台的操作
1.1 格式systemctl 控制类型 服务名称
1.2 控制类型
①、start—启动
②、stop—停止
③、restart—重新启动
④、reload—重新加载配置文件
⑤、status—查看服务状态
centos6 —— chkconfig
service 服务程序 start #开启service 服务程序 stop #关闭service 服务程序 status #查看状态service 服务程序 reload #重新加载配置文件service 服务程序 restart #重启chkconfig --level 35 服务程序 on #开机自启chkconfig --level 35 服务程序 off #关闭开机自启centos7 —— systemd
systemctl start 服务名 #开启systemctl stop 服务名 #关闭systemctl status 服务名 #查看状态systemctl reload 服务名 #重新加载配置文件systemctl restart 服务名 #重启systemctl enable 服务名 #开机自启systemctl disable 服务名 #开机不自启systemctl enable --now 服务名 #开机自启并立即启动systemctl disable --now 服务名 #开机不自启并立即关闭四、Linux系统运行级别切换
1、查看运行级别
1.1 runlevel命令runlevel只能查看切换运行级别与当前运行级别
1.2 systemctl工具
systemctl 时能查看默认的运行级别
2、临时切换运行级别
2.1 init命令
init命令参数是运行级别所对应的的数字
2.2 systemctl工具
systemctl的命令参数是具体的target
2.3 init与systemctl对应表 3、查看系统默认级别
systemctl get-default
4、设置临时运行级别
格式chkconfig --list [服务名称]
chkconfig --add 服务名称
chkconfig --level 级别列表 服务名 on/off
chkconfig --add httpdchkconfig --level 35 httpd on #开机自启chkconfig --level 35 httpd off #关闭开机自启5、设置永久运行级别
ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.targetsystemctl set-default multi-user.target五、优化开机自动加载服务
1、优化启动过程
1.1 ntsysv工具
提供一个交换式、可视化窗口可以在字符终端运行便于集中管理多个服务用于控制服务是否开机自启动
1.2 systemctl/chkconfig工具
不提供交互式、可视化窗口管理单个服务效率更高
2、系统服务的启动和控制
2.1 ntsysv系统服务管理工具
输入ntsysv命令进入设置界面按空格键标志服务选项*为自启项按↑、↓键切换服务选项按tab切换光标
常用命令
sysemctl is-enabled 服务名称 #查看系统服务的启动状态systemctl enable 服务名称 # 开启开机自启动syatemctl disable 服务名称 # 关闭开机自启动3、命令补充
hostnamectl set-hostname 新主机名 #永久修改主机名hostnamectl status #查看主机名的状态localect set-locale LANGzh_CN.utf8 #设置系统语言为中文localectl [status] #查看当前系统使用的语言systemdanalyze #查看系统启动耗时