1.linux啟動流程流程
centos6 : 內(nèi)核引導(dǎo)? 運行init? 系統(tǒng)初始化? 建立終端 用戶登錄系統(tǒng)
上面為centos 7 的啟動流程
2.運行級別:就是操作系統(tǒng)當(dāng)前正在運行的功能級別
System V init運行級別systemd目標名稱作用
0runlevel0.target, poweroff.target關(guān)機
1runlevel1.target, rescue.target單用戶模式
2runlevel2.target, multi-user.target
3runlevel3.target, multi-user.target多用戶的文本界面
4runlevel4.target, multi-user.target
5runlevel5.target, graphical.target多用戶的圖形界面
6runlevel6.target, reboot.target重啟
如何調(diào)整系統(tǒng)啟動的運行級別?systemd使用targets而不是runlevels 默認情況下有倆個主要目標
multi-user.target:類似于運行級別3
graphical.target: 類似于運行級別5
查看當(dāng)前系統(tǒng)默認的運行級別
root@student ~]# systemctl get-default
要設(shè)置默認目標 請輸入命令運行
root@student ~]# systemctl set-default TARGET.target
3..systemd的由來Linux一直以來都是采用init進程作為祖宗進程慷彤,但是init有兩個缺點:1、啟動時間長。Init進程是串行啟動如孝,只有前一個進程啟動完宪哩,才會啟動下一個進程。2第晰、啟動腳本復(fù)雜锁孟,初始化完成后系統(tǒng)會加載很多腳本,腳本都會處理各自的情況茁瘦,這會讓腳本多而復(fù)雜品抽。Centos5 是啟動速度最慢的,串行啟動過程甜熔,無論進程相互之間有無依賴關(guān)系圆恤。Centos6 相對啟動速度有所改進。有依賴的進程之間依次啟動而其他與之沒有依賴關(guān)系的則并行同步啟動腔稀。Centos7 所有進程無論有無依賴關(guān)系則都是并行啟動(當(dāng)然很多時候進程沒有真正啟動而是只有一個信號或者說是標記而已盆昙,在真正利用的時候才會真正啟動。)
2.什么是systemdsystemd即為system daemon守護進程焊虏,systemd主要解決上文的問題而誕生淡喜,systemd的目標是,為系統(tǒng)的啟動和管理提供一套完整的解決方案诵闭。
3.systemd的優(yōu)勢 1炼团、最新系統(tǒng)都采用systemd管理(RedHat7,CentOS7,Ubuntu15等)2、Centos7支持開機并行啟動服務(wù)疏尿,顯著提高開機啟動效率瘟芝。3、Centos7關(guān)機只關(guān)閉正在運行的服務(wù)褥琐,而Centos6全部都關(guān)閉一次模狭。4、Centos7服務(wù)的啟動與停止不在使用腳本進行管理踩衩,也就是/etc/init.d下不在有腳本嚼鹉。5贩汉、Centos7使用systemd解決原有模式缺陷,比如原有service不會關(guān)閉程序產(chǎn)生的子進程锚赤。
3.systemd相關(guān)配置文件/usr/lib/systemd/system/ #類似Centos6系統(tǒng)的啟動腳本匹舞,/etc/init.d//etc/systemd/system/ #類似Centos6系統(tǒng)的/etc/rc.d/rcN.d//etc/systemd/system/multi-user.target.wants/
4.systemd管理服務(wù)相關(guān)命令systemctl管理服務(wù)的啟動、重啟线脚、停止赐稽、重載、查看狀態(tài)等常用命令
systemctl命令作用
systemctl start crond.service啟動服務(wù)
systemctl stop crond.service停止服務(wù)
systemctl restart crond.service重啟服務(wù)
systemctl reload crond.service重新加載配置
systemctl status crond.servre查看服務(wù)運行狀態(tài)
systemctl is-active sshd.service查看服務(wù)是否在運行中
systemctl mask crond.servre禁止服務(wù)運行
systemctl unmask crond.servre取消禁止服務(wù)運行
當(dāng)我們使用systemctl啟動一個守護進程后浑侥,可以通過sysytemctl status查看此守護進程的狀態(tài)
狀態(tài)描述
loaded服務(wù)單元的配置文件已經(jīng)被處理
active(running)服務(wù)持續(xù)運行
active(exited)服務(wù)成功完成一次的配置
active(waiting)服務(wù)已經(jīng)運行但在等待某個事件
inactive服務(wù)沒有在運行
enabled服務(wù)設(shè)定為開機運行
disabled服務(wù)設(shè)定為開機不運行
static服務(wù)開機不啟動姊舵,但可以被其他服務(wù)調(diào)用啟動
systemctl 設(shè)置服務(wù)開機啟動、不啟動寓落、查看各級別下服務(wù)啟動狀態(tài)等常用命令
systemctl命令(7系統(tǒng))作用
systemctl enable crond.service開機自動啟動
systemctl disable crond.service開機不自動啟動
systemctl list-unit-files查看各個級別下服務(wù)的啟動與禁用
systemctl is-enabled crond.service查看特定服務(wù)是否為開機自啟動
systemctl daemon-reload創(chuàng)建新服務(wù)文件需要重載變更
CentOS7系統(tǒng), 管理員可以使用 systemctl 命令來管理服務(wù)器啟動與停止
開機 systemctl poweroff? ? 重啟 systemctl reboot? 重啟
單用戶模式;
能正常進入系統(tǒng)? ? 配置文件錯誤導(dǎo)致無法啟動? 忘記root密碼 快照 |? 單用戶修改
忘記root密碼 進入單用戶模式 直接修改密碼選內(nèi)核的時候括丁,摁e進行一個黑框找到內(nèi)核加載 的內(nèi)容 在后面添加? 在linux16這行的后面添加enforcing=0 init=/bin/bash,然后按下Ctrl + X組合鍵來運行修改過的內(nèi)核程序第3步:大約5秒過后伶选,進入到系統(tǒng)的單用戶模式史飞,依次輸入命令,進入后默認對系統(tǒng)是只讀 因為要修改密碼 驅(qū)動/etc/下文件 所以改為 讀寫權(quán)限mount -o rw仰税,remount /? ? 默認是只讀构资,重新掛載為讀寫 使用非交互方式修改密碼? echo? “132”| passwd --stdin root執(zhí)行 exec? /sbin/init? 重新引導(dǎo)系統(tǒng)等待系統(tǒng)重啟操作完畢,然后就可以使用新密碼來登錄Linux系
救援模式:
沒有內(nèi)核文件? 只能救援模式將/boot/(存放系統(tǒng)啟用相關(guān)的文件)下的linux內(nèi)核文件移動到別的目錄下? /tmp? ? ? 重啟進不來? 塞光盤? 重啟 調(diào)整啟動順序? 打開啟動時的固件 就是bios? 在 boot下 +號 將 cd 移上去? 調(diào)整順序? ? f10 保存? ? 選擇救救援模式? ? ? ? ? 然后進入選擇第二個救援模式? 因為系統(tǒng)起不來陨簇,所以選擇第二個? 然后 輸入 1 continue 繼續(xù) 進入的是光盤的系統(tǒng)然后chroot /mnt/sysimage 執(zhí)行然后執(zhí)行最上面拷貝移動的操作? mv /tmp/tab補全? /boot/ 下然后exit? reboot 重啟進入troubleshooting進入boot from local drive