国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

Linux系統啟動與服務管理的辦法是什么

2024-08-27 23:55:02
字體:
來源:轉載
供稿:網友
  今天小編給大家分享一下Linux系統啟動與服務管理的方法是什么的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
 
  Linux系統啟動與服務管理的方法是什么
 
  1. 前言
    服務器在正常的運行過程中,一般很少重啟,但是如果發生了未知故障或者遇到了人為誤操作的情況,可能就會出現啟動異常的狀況。雖然 Linux 系統啟動流程是比較底層的知識了,但是為了加深對 Linux 系統的理解,總結了這篇文章。
 
  2. Linux 系統啟動過程
  Linux系統啟動與服務管理的方法是什么
 
  2.1 開機自檢
    服務器主機開機以后,將根據主板 BIOS 中的設置對 CPU、內存、顯卡、硬盤等設備進行初步檢測,檢測成功后根據預設的啟動順序移交系統控制權,大多時候會移交給本機硬盤。
 
  2.2 MBR 引導
    當從本機硬盤中啟動系統時,首先根據硬盤第一個扇區中 MBR (主引導記錄)的設置,將系統控制權傳遞給包含操作系統引導文件的分區;或者直接根據 MBR 記錄中的引導信息調用啟動菜單(如GRUB) 。
 
  2.3 GRUB 菜單
    對于Linux操作系統來說,GRUB (統一啟動加載器)是使用最為廣泛的多系統引導器程序。系統控制權傳遞給 GRUB 以后,將會顯示啟動菜單給用戶選擇,并根據所選項(或采用默認值)加載 Linux 內核文件,然后將系統控制權轉交給內核。需要注意的是,Centos7 采用的是 GRUB2 啟動引導器。
 
  2.4 加載 Linux 內核
    Linux 內核是一個預先編譯好的特殊二進制文件,介于各種硬件資源與系統程序之間, 負責資源分配與調度。內核接過系統控制權以后,將完全掌控整個 Linux 操作系統的運行過程。
  在CentoS 系統中,默認的內核文件位于"/boot/vmlinuz-3.10.0-514.el7.x86_64"。
 
  2.5 init 進程初始化
    為了完成進一步的系統引導過程,Linux 內核首先將系統中的 “/sbin/init” 程序加載到內存中運行,init 進程負責完成一系列的系統初始化過程,最后等待用戶進行登錄。
 
  2.6 系統啟動過程總結
  檢測出第一個能夠引導系統的設備比如硬盤或光驅
  運行放在 MBR 扇區里的啟動 GRUB 引導程序
  GRUB 引導程序通過讀取 GRUB 配置文件 /boot/grub2/grub.cfg 來獲取內核和鏡像文件系統的設置以及路徑位置
  把內核和鏡像文件系統加載到內存中
  加載硬件驅動程序,內核把 init 進程加載到內存中運行
  3. init 進程與 systemd
  3.1 init 進程
  由 Linux 內核加載運行 /sbin/init 程序
  init 進程是系統中第一個進程
  init 進程的 PID 號永遠為 1
  [root@c7-1 ~]#ll /sbin/initlrwxrwxrwx. 1 root root 22 8月  13 21:44 /sbin/init -> ../lib/systemd/systemd
  3.2 Centos5/6/7 init 進程對比
  Linux系統啟動與服務管理的方法是什么
 
  3.3 systemd
  systemd 是 Linux 操作系統的一種 init 軟件
  CentOS7 中采用全新的 systemd 啟動方式,取代傳統的 SysVinit
  CentOS7 中運行的第一個 init 進程是 /lib/systemd/systemd
  [root@c7-1 ~]#ps -ef
  UID         PID   PPID  C STIME TTY          TIME CMD
  root          1      0  0 8月15 ?       00:00:31 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
  root          2      0  0 8月15 ?       00:00:00 [kthreadd]
  root          4      2  0 8月15 ?       00:00:00 [kworker/0:0H]
  root          6      2  0 8月15 ?       00:00:00 [ksoftirqd/0]
  root          7      2  0 8月15 ?       00:00:00 [migration/0]
  ......
  3.4 systemd 單元類型
  單元類型 擴展名 說明
  Service .service 描述一個系統服務
  Socket .socket 描述一個進程間通信的套接字
  Device .device 描述一個內核識別的設備文件
  Mount .mount 描述一個文件系統的掛載點
  Automount .automount 描述一個文件系統的自動掛載點
  Swap .swap 描述一個內存交換設備或交換文件
  Path .path 描述一個文件系統中文件或目錄
  Timer .timer 描述一個定時器(用于實現類似 cron 的調度任務)
  Snapshot .snapshot 用于保存一個 systemd 的狀態
  Scope .scope 使用 systemd 的總線接口以編程的方式創建外部進程
  Slice .slice 描述居于 Cgroup 的一組通過層次組織的管理系統進程
  Target .target 描述一組 systemd 的單元
  3.5 運行級別對應的 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 重新啟動,使用該級別時將會重啟主機
  3.6 systemd 管理命令 systemctl
  格式:
 
  systemctl COMMAND name.service #.service 也可以省略
  Sysvinit 和 Systemd 命令對比
 
  Sysvinit命令 Systemd命令 含義
  service name start systemctl start name 啟動服務
  service name stop systemctl stop name 關閉服務
  service name restart systemctl restart name 重啟服務不管當前是啟動還是關閉狀態
  service name reload systemctl reload name 重新載入服務配置信息而不中斷服務
  service name condrestart systemctl condrestart name 運行狀態的服務可以重啟,不在運行狀態無法重啟
  service name status systemctl status name 查看服務的運行狀態
  chkconfig name on systemctl enable name 設置服務為開機自啟動
  chkconfig name off systemctl disable name 設置服務為開機關閉
  chkconfig name systemctl is-enabled name 檢查服務是否開機自啟
  chkconfig name --add systemctl daemon-reload 創建一個新服務文件,或者變更配置的時候使用
  示例:
 
  #啟動 httpd 服務
  systemctl start httpd
  #停止 httpd 服務
  systemctl stop httpd
  #重啟 httpd 服務
  systemctl restart httpd
  #查看 httpd 服務狀態
  systemctl status httpd
  #禁止自動和手動啟動服務(可以關閉運行的服務)
  systemctl mask name.service
  #取消禁止
  systemctl unmask name.service
  #查看某服務當前是否正在運行
  systemctl is-active name.service
  #查看所有服務
  systemctl list-unit-files --type=service
  #查看所有已經激活的服務
  systemctl list-unit-files --type=service | grep enabled
  #列出啟動失敗的服務
  systemctl --failed --type=service
  或
  systemctl list-units --state failed
  或
  systemctl list-unit-files --state=failed
  #開啟 httpd 服務并設置開機自啟
  systemctl enable --now httpd.service
  #關閉 httpd 服務并關閉開機自啟
  systemctl disable --now httpd.service
  #查看服務的依賴關系
  systemctl list-dependencies name.service
  #殺掉進程
  systemctl kill unitname

(編輯:武林網)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 旬邑县| 平山县| 随州市| 临安市| 枞阳县| 内江市| 于田县| 和田市| 兴隆县| 浏阳市| 镇远县| 寿阳县| 济源市| 开江县| 临海市| 曲阜市| 贵港市| 安阳县| 淳化县| 仙桃市| 陵川县| 旌德县| 泸州市| 九江县| 修文县| 昌图县| 新宾| 鸡东县| 宣汉县| 江北区| 江西省| 五河县| 龙海市| 邵武市| 科尔| 丰镇市| 昆山市| 莒南县| 阜宁县| 城口县| 昂仁县|