串行啓動: 一次一個,一個個啓動linux
並行啓動: 所有一塊兒啓動ios
②系統第1個進程(pid=1)爲initvim
③Init進程是全部進程的祖先,不可kill;大多數Linux發行版的init系統是和SystemV相兼容的,被稱爲sysvinit。centos
④表明系統:CentOS5bash
SysVinit運行很是良好,概念簡單清晰。它主要依賴於Shell腳本。服務器
① 啓動慢網絡
② 容易hang住 ,fatab於nfs掛載問題併發
CentOS6採用了Upstart技術代替sysvinit進行引導,Upstart對rc.sysinit腳本作了大量的優化,縮短了系統初始化時的啓動時間。可是CentOS6爲了簡便管理員的操做,upstart的不少特性並無凸顯或者直接不支持,所以在CentOS6中的服務啓動腳本仍是以原來SysV的形式提供的。ssh
But,一個應運而生的技術,卻由於競爭對手太強大,而被淘汰。socket
表明系統: CentOS6 ,Ubuntu14,從CentOS7,Ubuntu15開始使用systemd
克服init固有缺點,提升系統的啓動速度
pid爲1的進程 /usr/lib/systemd/systemd
[root@moban7 ~]# ps -ef | head -2
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 Dec24 ? 00:00:02 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
添加內核參數 讓網卡名稱變爲eth*
空格 輸入 net.ifnames=0 biosdevname=0 而後回車
yum install vim wget bash-completion lrzsz nmap nc tree htop iftop net-tools -y
eth0 與enp3s0
hostname mobantest -->臨時生效
編輯/etc/hostname -->主機名的配置文件變了。
hhostnamectl set-hostname mobantest ##->方法2,本質仍是改配置文件。
localectl set-locale LANG=zh_CN.UTF-8
vim /etc/locale.conf
cat /etc/redhat-release #查看系統版本號
cat /etc/os-release #全部支持systemd系統的統一發行版本名稱和版本號文件
C7開始不默認支持rc.local了。若有須要,請自行添加權限。
# Please note that you must run 'chmod +x /etc/rc.local' to ensure
# that this script will be executed during boot.
Runlevel
[root@moban7 ~]# cat /etc/inittab
# inittab is no longer used when using systemd.
當前啓動級別。
[root@moban7 ~]# systemctl get-default
multi-user.target
設置啓動級別
[root@moban7 ~]# systemctl set-default multi-user.target
查看從前的runlived變成了什麼樣。
ls -lh /usr/lib/systemd/system/runlevel*.target
全部可用的單元文件存放在/usr/lib/systemd/system/和/etc/system/system/目錄(後者優先級更高)
[root@moban7 ~]# ll -h /etc/systemd/system/default.target
lrwxrwxrwx. 1 root root 41 Dec 25 17:20 /etc/systemd/system/default.target -> /usr/lib/systemd/system/multi-user.target
[root@moban7 ~]# ls -lh /usr/lib/systemd/system/runlevel*.target
lrwxrwxrwx. 1 root root 15 Dec 24 18:16 /usr/lib/systemd/system/runlevel0.target -> poweroff.target
lrwxrwxrwx. 1 root root 13 Dec 24 18:16 /usr/lib/systemd/system/runlevel1.target -> rescue.target
lrwxrwxrwx. 1 root root 17 Dec 24 18:16 /usr/lib/systemd/system/runlevel2.target -> multi-user.target
lrwxrwxrwx. 1 root root 17 Dec 24 18:16 /usr/lib/systemd/system/runlevel3.target -> multi-user.target
lrwxrwxrwx. 1 root root 17 Dec 24 18:16 /usr/lib/systemd/system/runlevel4.target -> multi-user.target
lrwxrwxrwx. 1 root root 16 Dec 24 18:16 /usr/lib/systemd/system/runlevel5.target -> graphical.target
lrwxrwxrwx. 1 root root 13 Dec 24 18:16 /usr/lib/systemd/system/runlevel6.target -> reboot.target
ls /etc/systemd/system 系統
ls /usr/lib/systemd/system 用戶
chkconfig
service
/etc/init.d/
systemctl:融合service和chkconfig的功能於一體,兼容sysv和LSB的啓動腳本,並且夠在進程啓動過程當中更有效地引導加載服務。
sysvinit命令 | systemctl命令 | 備註 |
service crond start | systemctl start crond.service | 啓動服務 |
service crond stop | systemctl stop crond.service | 中止服務 |
service crond restart | systemctl restart crond.service | 重啓服務 |
service crond reload | systemctl reload crond.service | 當支持時,從新裝載配置文件而不中斷等待操做 |
service crond condrestart | systemctl condrestart crond.service | 若是服務正在運行,那麼重啓它 |
service crond status | systemctl status crond.service | 查看服務運行狀態 |
chkconfig --list | systemctl list-unit-files | 輸出在各個運行級別嚇服務的啓動和禁用狀況 |
chkconfig crond on | systemctl enable crond.service | 在下次啓動時或知足其餘觸發條件時設置服務爲啓動 |
chkconfig crond off | systemctl disable crond.service | 在下次啓動時或知足其餘觸發條件時設置服務爲禁用 |
chkconfig --list crond | systemctl is-enabled crond.service | 用來檢查一個服務在當前環境在被配置爲啓動仍是禁用 |
chkconfig --add crond | systemctl daemon-reload | 當建立新服務文件或者變動設置時使用 |
[root@moban7 ~]# systemctl list-unit-files | grep enabled
abrt-ccpp.service enabled x
abrt-oops.service enabled x
abrt-vmcore.service enabled x
abrt-xorg.service enabled x
abrtd.service enabled x # 調試相關服務
auditd.service enabled x # selinux 相關
crond.service enabled # 定時任務
dbus-org.fedoraproject.FirewallD1.service enabled # d-bus相關,系統服務
dbus-org.freedesktop.NetworkManager.service enabled # d-bus相關,系統服務
dbus-org.freedesktop.nm-dispatcher.service enabled # d-bus相關,系統服務
firewalld.service enabled x # 防火牆
getty@.service enabled # tty窗口
irqbalance.service enabled # 多核cpu調度
microcode.service enabled x # intel的CPU會提供一個外掛的微指令集提供系統運行
NetworkManager-dispatcher.service enabled # 網絡相關
NetworkManager.service enabled # 網絡相關
postfix.service enabled x # 系統郵件
rsyslog.service enabled # 系統日誌
sshd.service enabled # ssh服務
systemd-readahead-collect.service enabled # 系統服務
systemd-readahead-drop.service enabled # 系統服務
systemd-readahead-replay.service enabled # 系統服務
tuned.service enabled # 服務器能耗管理
default.target enabled
multi-user.target enabled
remote-fs.target enabled
systemctl list-unit-files
systemctl list-unit-files|grep enabled|wc -l
systemd-analyze time
systemd-analyze blame
systemd-analyze plot>bootime.svg # 導出圖片