自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Linux基礎命令介紹十三:啟動流程

系統(tǒng) Linux
在上一篇中,我們提到另一種磁盤分區(qū)格式GTP也是UEFI標準的一部分。于是,當前計算機啟動中,出現(xiàn)了兩種不同的方式:BIOS/MBR和UEFI/GTP。在linux操作系統(tǒng)的世界中,同樣在經(jīng)歷著變革,系統(tǒng)初始化軟件sysvinit正逐漸被systemd取代。本文將主要講述傳統(tǒng)的BIOS/MBR-->sysvinit啟動方式,同時,也將簡述UEFI/GTP-->systemd的啟動方式。

固件(firmware)是指設備***層的,讓設備得以運行的程序代碼。簡單理解就是:固定在硬件上的軟件。計算機中的許多設備都擁有固件(如硬盤、鼠標、光驅(qū)、U盤等),在計算機啟動過程中,***讀取的就是位于主板上的固件,這個固件當前有兩種類型:傳統(tǒng)的BIOS和新的通用性更強的UEFI。

[[180016]]

在上一篇中,我們提到另一種磁盤分區(qū)格式GTP也是UEFI標準的一部分。于是,當前計算機啟動中,出現(xiàn)了兩種不同的方式:BIOS/MBR和UEFI/GTP。

在linux操作系統(tǒng)的世界中,同樣在經(jīng)歷著變革,系統(tǒng)初始化軟件sysvinit正逐漸被systemd取代。

本文將主要講述傳統(tǒng)的BIOS/MBR-->sysvinit啟動方式,同時,作為補充,也將簡述UEFI/GTP-->systemd的啟動方式。

BIOS/MBR-->sysvinit

1、BIOS階段

系統(tǒng)加電后會立即讀取BIOS中內(nèi)容并執(zhí)行,BIOS中程序的執(zhí)行包括兩個步驟:

1)加電自檢POST(power-on self test),主要負責檢測系統(tǒng)外圍設備(如CPU、內(nèi)存、顯卡、鍵盤鼠標等)是否正常。如果硬件出現(xiàn)問題,主板會發(fā)出不同含義的蜂鳴聲,啟動終止。如果沒有問題,屏幕就會顯示出CPU、內(nèi)存、硬盤等信息。

2)自檢完成后,BIOS會執(zhí)行一段程序來枚舉本地設備(如光盤、U盤、硬盤、網(wǎng)絡等,可以在BIOS中設置枚舉順序)尋找下一階段的啟動程序所在位置。BIOS會將控制權(quán)交給啟動順序(Boot Sequence)中排在***位的設備,此時,計算機讀取該設備中的最前面的512個字節(jié),如果這512個字節(jié)的***兩個字節(jié)是0x55和0xAA(Magic Number),表明這個設備可以用于啟動;如果不是,表明該設備不能用于啟動,控制權(quán)于是轉(zhuǎn)交給啟動順序中的下一個設備。如上一篇所述,硬盤中的最前面的512字節(jié)即為主引導記錄 MBR。

2、MBR階段

前一篇中我們描述過MBR的結(jié)構(gòu),其中包括446字節(jié)的Bootloader,64字節(jié)的DPT和2字節(jié)的Magic Number。

Bootloader(引導加載程序)中較常用的一種是grub,grub引導分為兩個階段(有些grub還定義了1.5階段):

1)BIOS將stage1載入內(nèi)存中的指定位置(0x7C00)并跳轉(zhuǎn)執(zhí)行,stage1的內(nèi)容即為MBR中起始的446字節(jié);此階段執(zhí)行作用主要是將硬盤0磁頭0磁道2扇區(qū)的內(nèi)容載入到內(nèi)存0x8000處并跳轉(zhuǎn)執(zhí)行。

1.5)由于stage2的代碼(較大)存放在文件系統(tǒng)下的/boot分區(qū)中(或者/boot沒有單獨分區(qū)的/etc/),因此識別stage2文件需要文件系統(tǒng)環(huán)境(此時還只能直接讀取硬盤指定位置的內(nèi)容,并不能識別文件系統(tǒng))。stage1.5的作用就是為stage2提供文件系統(tǒng)環(huán)境,使系統(tǒng)能夠找到位于文件系統(tǒng)中的stage2文件。

2)stage2被載入內(nèi)存并執(zhí)行,它首先會解析grub的配置文件menu.lst即/boot/grub/grub.conf,該文件中指定了系統(tǒng)內(nèi)核文件所處的位置,如果沒有找到該文件,就會執(zhí)行一個shell,等待用戶手動指定內(nèi)核文件的位置。此階段的最終狀態(tài)就是執(zhí)行boot命令,將內(nèi)核和initrd鏡像載入內(nèi)存,進而將控制權(quán)交給內(nèi)核。

grub.conf內(nèi)容(版本:GNU GRUB 0.97):

  1. # grub.conf generated by anaconda 
  2. # Note that you do not have to rerun grub after making changes to this file 
  3. # NOTICE:  You have a /boot partition.  This means that 
  4. #          all kernel and initrd paths are relative to /boot/, eg. 
  5. #          root (hd0,0) 
  6. #          kernel /vmlinuz-version ro root=/dev/sda3 
  7. #          initrd /initrd-version.img 
  8. #boot=/dev/sda 
  9. default=0 
  10. timeout=5 
  11. splashimage=(hd0,0)/grub/splash.xpm.gz 
  12. hiddenmenu 
  13. title CentOS (2.6.18-407.el5) 
  14.         root (hd0,0) 
  15.         kernel /vmlinuz-2.6.18-407.el5 ro root=LABEL=/ rhgb quiet 
  16.         initrd /initrd-2.6.18-407.el5.img 
  17. title CentOS (2.6.18-398.el5) 
  18.         root (hd0,0) 
  19.         kernel /vmlinuz-2.6.18-398.el5 ro root=LABEL=/ rhgb quiet 
  20.         initrd /initrd-2.6.18-398.el5.img  

文件中#開頭的行是注釋行,最重要的部分是兩個title下面指定的內(nèi)核位置及具體文件(kernel和initrd項)

3、內(nèi)核階段

grub的stage2將initrd文件加載到內(nèi)存中,內(nèi)核于是開始執(zhí)行initrd中的init文件,此文件是一個腳本,主要作用是加載各種存儲介質(zhì)相關(guān)的設備驅(qū)動程序。當所需的驅(qū)動程序加載完成后,會創(chuàng)建一個根設備,然后將根文件系統(tǒng)(rootfs)以只讀的方式掛載。這一步結(jié)束后,釋放未使用的內(nèi)存,轉(zhuǎn)換到真正的根文件系統(tǒng)中運行程序/sbin/init,啟動系統(tǒng)PID為1的進程。此后系統(tǒng)的控制權(quán)就交給/sbin/init進程了。

4、init階段

當init進程接管了系統(tǒng)的控制權(quán)之后,它首先會讀取/etc/inittab文件,此文件描述了在特定的運行級別(runlevel)下,init進程該如何初始化系統(tǒng)。

  1. linux中定義了7種運行級別: 
  2. 0 表示關(guān)機 
  3. 1 表示單用戶模式 
  4. 2 表示無網(wǎng)絡的多用戶模式 
  5. 3 表示多用戶模式 
  6. 4 未使用 
  7. 5 表示圖形界面模式 
  8. 6 表示重啟  

inittab文件中指定了系統(tǒng)的默認運行級別,如id:3:initdefault:表示默認運行級別為3(多用戶模式)。

init進程根據(jù)inittab文件,運行一系列指定的初始化腳本:

1)/etc/rc.d/rc.sysinit系統(tǒng)初始化腳本,它的作用包括設置主機名和默認網(wǎng)關(guān)、決定是否啟用SELinux、加載用戶自定義模塊、根據(jù)文件/etc/sysctl.conf設置內(nèi)核參數(shù)、設置raid及LVM等硬盤功能、重新以讀寫方式掛載根文件系統(tǒng)等等

2)執(zhí)行/etc/rc.d/rc文件,該文件確認由inittab指定的運行級別N,并啟動相應級別下的服務(通過執(zhí)行/etc/rc.d/rcN.d中的文件),例如運行級別為3時,則先執(zhí)行/etc/rc.d/rc3.d下以K開頭的文件,然后執(zhí)行以S開頭的文件。這些文件都是指向/etc/init.d下的符號鏈接。以K開頭的文件表示此運行級別下需要關(guān)閉的服務,以S開頭的文件表示此運行級別下需要開啟的服務。

3)在運行級別2、3、4、5中***一個執(zhí)行的文件均指向文件/etc/rc.local,用戶可以在此文件中自定義啟動內(nèi)容。

4)之后根據(jù)inittab中設置,運行6個終端,以便用戶登錄系統(tǒng),如果是運行級別5,則還會執(zhí)行/etc/X11/prefdm -nodaemon啟動相應的桌面環(huán)境。

5)然后執(zhí)行/bin/login程序用于接收和驗證來自mingetty的用戶名和密碼。

至此整個系統(tǒng)即啟動完畢了

UEFI/GTP-->systemd

UEFI的出現(xiàn)是為了代替BIOS,同樣,GTP和systemd也是為了彌補MBR和sysvinit的不足。和BIOS只負責POST和找到MBR不同,UEFI將貫穿系統(tǒng)加電到關(guān)機的整個過程。粗略劃分,UEFI系統(tǒng)啟動分為4個階段:

1、UEFI初始化階段

1)SEC(安全驗證):接收并處理系統(tǒng)啟動和重啟信號,初始化臨時存儲區(qū)域,傳遞系統(tǒng)參數(shù)給下一階段(即PEI)。

2)PEI(EFI前期初始化):為DXE準備執(zhí)行環(huán)境,將需要傳遞到DXE的信息組成HOB(Handoff Block)列表,最終將控制權(quán)轉(zhuǎn)交到DXE手中。

3)DXE(驅(qū)動執(zhí)行環(huán)境):根據(jù)HOB列表初始化系統(tǒng)服務,然后遍歷固件中的所有Driver,當驅(qū)動的依賴資源滿足時,調(diào)度Dirver到執(zhí)行隊列執(zhí)行,直到所有滿足條件的Dirver都被加載。

2、操作系統(tǒng)加載器作為UEFI應用程序運行階段

1)BDS(啟動設備選擇):初始化控制臺設備,加載必要的設備驅(qū)動,根據(jù)系統(tǒng)設置加載和執(zhí)行啟動項,用戶選中某個啟動項(或系統(tǒng)進入默認的啟動項)后,OS Loader啟動,系統(tǒng)進入TSL階段。

UEFI中程序能夠識別存儲介質(zhì)上的分區(qū)信息和文件系統(tǒng)(如:fat32),此時會將/EFI/boot/grub2.efi(位于GTP格式硬盤的一個分區(qū)ESP,安裝時自動生成)作為UEFI應用程序運行。

2)TSL(臨時系統(tǒng)加載):操作系統(tǒng)加載器(OS Loader也位于ESP分區(qū))執(zhí)行的***階段,在這一階段OS Loader作為一個UEFI應用程序運行,系統(tǒng)資源仍然由UEFI內(nèi)核控制。當啟動服務的ExitBootServices()服務被調(diào)用后,系統(tǒng)進入RT(Run Time)階段。

3、操作系統(tǒng)運行階段

RT(運行時):系統(tǒng)的控制權(quán)從UEFI內(nèi)核轉(zhuǎn)交到OS Loader手中,UEFI占用的各種資源被回收到OS Loader,僅有UEFI運行時服務保留給OS Loader和OS使用。隨著OS Loader的執(zhí)行,OS最終取得對系統(tǒng)的控制權(quán)。

在init作為系統(tǒng)初始化程序時,服務是通過/etc/rc.d/init.d中的腳本來管理并且是順序執(zhí)行的,當使用systemd作為系統(tǒng)初始化程序后,這些腳本被服務單元替換,并盡可能的并行啟動進程。

在systemd中,一個單元配置文件可以描述如下內(nèi)容之一:

  1. 系統(tǒng)服務(.service) 
  2. 掛載點(.mount) 
  3. 套接字(.sockets) 
  4. 系統(tǒng)設備(.device) 
  5. 交換分區(qū)(.swap) 
  6. 文件路徑(.path) 
  7. 啟動目標(.target) 
  8. 由systemd管理的計時器(.timer) 
  9. ....  

systemd為保持向下兼容性還保留了一些init命令和概念,但所對應的文件都是指向systemd對應命令或文件的符號鏈接:

  1. [root@centos7 temp]# ls -l /sbin/init  
  2. lrwxrwxrwx. 1 root root 22 1月  15 2016 /sbin/init -> ../lib/systemd/systemd 
  3. [root@centos7 temp]# ls -l /usr/lib/systemd/system/runlevel*.target 
  4. lrwxrwxrwx. 1 root root 15 1月  15 2016 /usr/lib/systemd/system/runlevel0.target -> poweroff.target 
  5. lrwxrwxrwx. 1 root root 13 1月  15 2016 /usr/lib/systemd/system/runlevel1.target -> rescue.target 
  6. lrwxrwxrwx. 1 root root 17 1月  15 2016 /usr/lib/systemd/system/runlevel2.target -> multi-user.target 
  7. lrwxrwxrwx. 1 root root 17 1月  15 2016 /usr/lib/systemd/system/runlevel3.target -> multi-user.target 
  8. lrwxrwxrwx. 1 root root 17 1月  15 2016 /usr/lib/systemd/system/runlevel4.target -> multi-user.target 
  9. lrwxrwxrwx. 1 root root 16 1月  15 2016 /usr/lib/systemd/system/runlevel5.target -> graphical.target 
  10. lrwxrwxrwx. 1 root root 13 1月  15 2016 /usr/lib/systemd/system/runlevel6.target -> reboot.target  

systemd啟動后執(zhí)行的***個目標是default.target,但實際上default.target是指向graphical.target的符號鏈接。

  1. [root@centos7 temp]# ls -l /usr/lib/systemd/system/default.target 
  2. lrwxrwxrwx. 1 root root 16 1月  15 2016 /usr/lib/systemd/system/default.target -> graphical.target 
  3. [root@centos7 temp]# cat /usr/lib/systemd/system/graphical.target 
  4. #  This file is part of systemd. 
  5. #  systemd is free software; you can redistribute it and/or modify it 
  6. #  under the terms of the GNU Lesser General Public License as published by 
  7. #  the Free Software Foundation; either version 2.1 of the License, or 
  8. #  (at your optionany later version. 
  9.  
  10. [Unit] 
  11. Description=Graphical Interface 
  12. Documentation=man:systemd.special(7) 
  13. Requires=multi-user.target 
  14. Wants=display-manager.service 
  15. Conflicts=rescue.service rescue.target 
  16. After=multi-user.target rescue.service rescue.target display-manager.service 
  17. AllowIsolate=yes  

其中Requires行指明了本單元的依賴關(guān)系(其他各項意義可以通過命令man systemd.unit查看),順著此文件,可以找到需要執(zhí)行的單元:multi-user.target、basic.target、sysinit.target、local-fs.target swap.target、local-fs-pre.target。

4、關(guān)機階段

AL(After-life):當系統(tǒng)硬件或操作系統(tǒng)出現(xiàn)嚴重錯誤不能繼續(xù)正常運行時,固件會嘗試修復錯誤,這時系統(tǒng)進入AL期。UEFI標準并沒有定義此階段的行為和規(guī)范。系統(tǒng)供應商可以自行定義。

相關(guān)命令

init

1、init

init除了在系統(tǒng)初始化時起的重要作用外,還可以用來執(zhí)行關(guān)機、重啟、切換運行級別的作用:

  1. #關(guān)機 
  2. init 0 
  3. #重啟 
  4. init 6 
  5. #切換到單用戶模式 
  6. init 1  

2、runlevel 顯示運行級別

  1. [root@centos7 temp]# runlevel  
  2. N 3 
  3. [root@centos7 temp]#   

輸出中N表示當前運行級別,如果系統(tǒng)啟動后切換過運行級別,則輸出類似于3 5表示之前運行級別為3,現(xiàn)在的運行級別為5。

3、halt reboot poweroff shutdown

  1. #立即關(guān)機 
  2. shutdown -h now 
  3. #在11:50分執(zhí)行關(guān)機 
  4. shutdown -h 11:50 
  5. #如果要取消指定時間的關(guān)機,則在另一個終端中執(zhí)行: 
  6. shutdown -c 
  7. #過30分鐘之后重啟系統(tǒng),并且重啟時不進行磁盤檢測 
  8. shutdown -fr +30  

4、chkconfig 更新或查詢服務的運行級別信息

  1. #列出服務(還會列出xinetd管理的服務) 
  2. chkconfig --list 
  3. #增加一個服務 
  4. chkconfig --add httpd 
  5. #使服務在運行級別2、3、5時自啟動 
  6. chkconfig --level 235 httpd on  

5、service 運行服務腳本(服務腳本位于/etc/init.d內(nèi),service本身也是腳本,位于/sbin內(nèi))

  1. #列出所有服務狀態(tài) 
  2. service --status-all 
  3. #列出單個服務狀態(tài) 
  4. service nginx status 
  5. #啟動服務 
  6. service nginx start 
  7. #停止服務 
  8. service nginx stop 
  9. #重啟服務 
  10. service nginx restart 
  11. #重新加載配置文件 
  12. service nginx reload  

systemd

systemd并不是一個命令,而是一組命令,涉及到系統(tǒng)管理的方方面面。

1、systemctl 控制systemd系統(tǒng)和管理服務

  1. systemctl [OPTIONS...] COMMAND [NAME...] 

如切換運行級別或開關(guān)機:

  1. #重啟(將執(zhí)行reboot.target) 
  2. systemctl reboot 
  3. #暫停(將執(zhí)行suspend.target) 
  4. systemctl suspend 
  5. #休眠(將執(zhí)行hibernate.target) 
  6. systemctl hibernate 
  7. #切換至救援模式(單用戶,將執(zhí)行rescue.target) 
  8. systemctl rescue 
  9. #列出運行級別 
  10. systemctl get-default 
  11. #切換到運行級別5,即圖形模式 
  12. systemctl isolate graphical.target  

系統(tǒng)服務單元相關(guān):

  1. #列出正在運行的 Unit 
  2. systemctl list-units 
  3. #列出所有的 Unit 
  4. systemctl list-units --all 
  5. #列出所有加載失敗的 Unit 
  6. systemctl list-units --failed 
  7. #列出Unit時指定類型 
  8. systemctl list-units --type=socket 

系統(tǒng)和服務管理:

  1. #系統(tǒng)狀態(tài) 
  2. systemctl status 
  3. #服務狀態(tài)(.service可以省略) 
  4. systemctl status nginx.service 
  5. #啟動服務 
  6. systemctl start nginx 
  7. #停止服務 
  8. systemctl stop nginx 
  9. #重啟服務 
  10. systemctl restart nginx 
  11. #重新加載配置文件 
  12. systemctl reload nginx 
  13. #設置服務開機啟動 
  14. systemctl enable nginx 
  15. #列出所有安裝的服務 
  16. systemctl list-unit-files 
  17. #指定類型 
  18. systemctl list-unit-files --type=target  

還有許多其他選項,這里就不一一列舉了。

2、systemd-analyze 查看啟動用時

  1. [root@centos7 ~]# systemd-analyze  
  2. Startup finished in 730ms (kernel) + 1.904s (initrd) + 9.909s (userspace) = 12.544s  

輸出顯示了系統(tǒng)啟動過程中各部分耗時

  1. #各服務初始化用時 
  2. [root@centos7 ~]# systemd-analyze blame 
  3.           5.424s NetworkManager-wait-online.service 
  4.           1.830s dev-mapper-centos\x2droot.device 
  5.           1.055s firewalld.service 
  6.            980ms kdump.service 
  7.            549ms network.service 
  8.            .... 
  9. #輸出各服務用時細節(jié)并寫入文件(該文件可以用瀏覽器或圖片查看器打開) 
  10. [root@centos7 ~]# systemd-analyze plot > file.svg 
  11. #序列化輸出各服務詳細完整的狀態(tài)信息(輸出內(nèi)容很多,略) 
  12. [root@centos7 ~]# systemd-analyze dump  

3、systemd-cgls 遞歸顯示控制組(Cgroups)信息

linux內(nèi)核從版本2.6.24開始,引入了一個叫做控制組(control groups)的特性,是用于限制、記錄、隔離進程組(process groups)所使用的物理資源(如:cpu,memory,IO等等)的機制。關(guān)于Cgroups的內(nèi)容本文不再展開。

  1. [root@centos7 ~]# systemd-cgls  
  2. ├─1 /usr/lib/systemd/systemd --switched-root --system --deserialize 21 
  3. ├─user.slice 
  4. │ └─user-0.slice 
  5. │   ├─session-182.scope 
  6. │   │ ├─5165 sshd: root@pts/1     
  7. │   │ ├─5167 -bash 
  8. │   │ ├─5409 systemd-cgls 
  9. .... 
  10. ....  

4、systemd-cgtop 顯示各控制組的使用量(CPU,內(nèi)存,IO)

顯示效果類似命令top

  1. [root@centos7 ~]# systemd-cgtop 
  2. Path                                                Tasks   %CPU   Memory  Input/s Output/s 
  3.  
  4. /                                                   161    0.2   400.5M        -        - 
  5. /system.slice/NetworkManager.service                  1      -        -        -        - 
  6. /system.slice/auditd.service                          1      -        -        -        - 
  7. /system.slice/crond.service                           1      -        -        -        - 
  8. /system.slice/dbus.service                            1      -        -        -        - 
  9. /system.slice/firewalld.service                       1      -        -        -        - 
  10. ....  

5、systemd-loginctl 控制systemd登錄管理

此命令是命令loginctl的符號鏈接 

  1. #列出當前會話 
  2. [root@centos7 ~]# systemd-loginctl list-sessions 
  3.    SESSION        UID USER             SEAT             
  4.        182          0 root                              
  5.        154          0 root                              
  6.  
  7. 2 sessions listed. 
  8. #列出當前登錄用戶 
  9. [root@centos7 ~]# loginctl list-users 
  10.        UID USER             
  11.          0 root             
  12.  
  13. 1 users listed. 
  14. #列出顯示指定用戶的信息 
  15. [root@centos7 ~]# loginctl show-user root 
  16. UID=0 
  17. GID=0 
  18. Name=root 
  19. Timestamp=三 2016-12-21 08:38:54 CST 
  20. TimestampMonotonic=77015538361 
  21. RuntimePath=/run/user/0 
  22. Slice=user-0.slice 
  23. Display=154 
  24. State=active 
  25. Sessions=182 154 
  26. IdleHint=no 
  27. IdleSinceHint=0 
  28. IdleSinceHintMonotonic=0 
  29. Linger=no 
  30. [root@centos7 ~]#  

6、timedatectl 系統(tǒng)時間和日期控制

  1. [root@centos7 ~]# timedatectl  
  2.       Local time: 三 2016-12-21 13:47:31 CST 
  3.   Universal time: 三 2016-12-21 05:47:31 UTC 
  4.         RTC time: 三 2016-12-21 05:47:31 
  5.        Time zone: Asia/Shanghai (CST, +0800) 
  6.      NTP enabled: n/a 
  7. NTP synchronized: no 
  8.  RTC in local TZ: no 
  9.       DST active: n/a 
  10. #設置時間 
  11. [root@centos7 ~]# timedatectl set-time "2012-10-30 18:17:16" 
  12. #列出時區(qū) 
  13. [root@centos7 ~]# timedatectl list-timezones 
  14. Africa/Abidjan 
  15. Africa/Accra 
  16. Africa/Addis_Ababa 
  17. Africa/Algiers 
  18. Africa/Asmara 
  19. .... 
  20. #設置時區(qū) 
  21. [root@centos7 ~]# timedatectl set-timezone America/New_York  

7、hostnamectl 系統(tǒng)主機名控制 

  1. #狀態(tài) 
  2. [root@centos7 ~]# hostnamectl status 
  3.    Static hostname: centos7 
  4.          Icon name: computer-vm 
  5.            Chassis: vm 
  6.         Machine ID: 956ab824a02d489d85b079cb442d5442 
  7.            Boot ID: 9016d7627d8148ecb7fb77afaa89aeab 
  8.     Virtualization: vmware 
  9.   Operating System: CentOS Linux 7 (Core) 
  10.        CPE OS Name: cpe:/o:centos:centos:7 
  11.             Kernel: Linux 3.10.0-327.el7.x86_64 
  12.       Architecture: x86-64 
  13. #設置主機名(內(nèi)核參數(shù)/proc/sys/kernel/hostname和文件/etc/hostname中都立即更新) 
  14. [root@centos7 ~]# hostnamectl set-hostname MYHOST 
  15. #重新登錄后主機名即變?yōu)閙yhost(靜態(tài)主機名) 
  16. [root@centos7 ~]# hostnamectl 
  17.    Static hostname: myhost 
  18.    Pretty hostname: MYHOST 
  19.          Icon name: computer-vm 
  20.            Chassis: vm 
  21.         Machine ID: 956ab824a02d489d85b079cb442d5442 
  22.            Boot ID: 9016d7627d8148ecb7fb77afaa89aeab 
  23.     Virtualization: vmware 
  24.   Operating System: CentOS Linux 7 (Core) 
  25.        CPE OS Name: cpe:/o:centos:centos:7 
  26.             Kernel: Linux 3.10.0-327.el7.x86_64 
  27.       Architecture: x86-64  

以上systemd相關(guān)所有命令(除systemd-cgls和systemd-cgtop外),都可以使用選項-H指定遠程基于systemd的主機(使用ssh協(xié)議):

  1. [root@centos7 ~]# hostnamectl -H 10.0.1.252 
  2.    Static hostname: idc-v-71252 
  3.          Icon name: computer-vm 
  4.            Chassis: vm 
  5.         Machine ID: 956ab824a02d489d85b079cb442d5442 
  6.            Boot ID: 9016d7627d8148ecb7fb77afaa89aeab 
  7.     Virtualization: vmware 
  8.   Operating System: CentOS Linux 7 (Core) 
  9.        CPE OS Name: cpe:/o:centos:centos:7 
  10.             Kernel: Linux 4.4.4-1.el7.elrepo.x86_64 
  11.       Architecture: x86-64  

systemd功能強大,使用方便,但也比較復雜,體系龐大。本文只介紹一點相關(guān)命令,更多內(nèi)容就不在此展開了。

本文簡述了傳統(tǒng)的BIOS和新的UEFI啟動流程,介紹了init和systemd部分相關(guān)命令。

責任編輯:龐桂玉 來源: segmentfault
相關(guān)推薦

2016-12-08 22:26:28

2016-12-29 11:13:30

shellbashlinux

2016-12-27 19:29:14

Linux命令定時任務

2016-12-07 18:22:23

shelllinuxgrep

2016-12-23 12:46:41

Linux命令進程與內(nèi)存

2021-11-05 11:57:07

網(wǎng)絡流程Window

2016-12-14 19:24:41

2016-12-27 10:34:57

Linux命令軟件包管理

2016-12-23 13:07:11

shelllinuxsed

2016-12-23 10:56:34

linuxshellawk

2016-11-15 15:50:22

linux基礎命令vim

2016-12-27 10:48:59

Linux命令磁盤與文件系統(tǒng)

2020-01-07 09:20:58

Linuxuseradd 命令

2017-01-13 15:39:29

Linux進程基礎介紹

2010-06-22 17:45:34

Linux Autom

2010-06-22 09:28:31

Linux at命令

2010-03-18 16:34:33

Linux命令

2010-06-21 15:44:17

Linux apt命令

2010-06-17 10:13:28

Grub命令啟動Ubu

2021-02-09 08:23:02

Linux操作系統(tǒng)
點贊
收藏

51CTO技術(shù)棧公眾號