亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux/Centos7系統管理之引導過程與服務控制

發布時間:2020-08-01 12:38:17 來源:網絡 閱讀:264 作者:wx5d8a17c45cb5b 欄目:系統運維

Linux/Centos7系統管理之引導過程與服務控制

  1. Linux系統引導的過程
  2. 解決常見的啟動類故障
  3. 控制Linux中的系統服務(核心)
  4. 優化Linux中的啟動任務

一、引導過程總覽(重要)——流程必要掌握

  1. 開機自檢——BIOS(Basic Input/Output System),先加電,檢查硬件(CPU、內存、顯卡、鍵盤等設備)是否沒有問題,沒有問題加載驅動

  2. MBR引導——微代碼找啟動盤

    CPU首先讀取位于CMOS中的BIOS程序,按照BIOS中設定的啟動次序(Boot Sequence)逐一查找可啟動設備,找到可啟動的設備后,去該設備的第一個扇區中讀取MBR(Master Boot Record,主引導記錄)。

    MBR存在于可啟動磁盤的0磁道0扇區,占用512字節,它主要用來告訴計算機從選定的可啟動設備的哪個分區來加載引導加載程序(Boot loader),MBR中存在如下內容:

    (1) Boot Loader 占用446字節,存儲有操作系統(OS)相關信息,如操作系統名稱,操作系統內核位置等,它的主要功能是加載內核到內存中運行。

    (2) Partition Table 分區表,占用64字節,每個主分區占用16字節(這就是為啥一塊硬盤只能有4個主分區

    (3)分區表有效性標記占用2字節,CPU將MBR讀取至內存,運行GRUB(Boot Loader常用的有GRUB和LILO兩種,現在常用的是GRUB),GRUB會把內核加載到內存去執行。

    如上所示,我們可查看/boot/grub2/grub.cfg文件的第100行的內容,就能看到是在該配置文件中對內核文件進行操作了。

  3. GRUB菜單——使用廣泛的多系統引導器程序,系統控制權傳遞給GRUB以后,將會顯示啟動菜單提供給用戶選擇,根據選擇或者默認項加載內核文件,然后將系統控制權轉交給內核。

  4. 加載內核(kernel)——/boot目錄下,Linux內核是預先編譯好的特殊二進制文件,介于各種硬件資源和系統程序之間,負責資源分配與調度。

    補充:下面的vmlinuz-3.10.0-693.el7.x86_64就是我們的內核文件了。在/boot目錄下

    [root@lokott ~]# ll /boot |grep "vmlinuz*"
    -rwxr-xr-x. 1 root root  5877760 10月 23 12:20 vmlinuz-0-rescue-f18b1b17cb2b477f8cb451fffad48550
    -rwxr-xr-x. 1 root root  5877760 8月  23 2017 vmlinuz-3.10.0-693.el7.x86_64
    
    [root@lokott ~]# head -100 /boot/grub2/grub.cfg |tail -1
    linux16 /vmlinuz-3.10.0-693.el7.x86_64 root=UUID=d0f8b702-0aa9-4857-9551-2e1283d2f5f9 ro crashkernel=auto rhgb quiet LANG=zh_CN.UTF-8
    
  5. init進程初始化——原來的緩存全部清空,加載必要進程之后,加載外部的第三方進程(應用軟件)(延時啟動)

    內核初始化作為PID1從initramfs執行/sbin/init。在Centos7中將其復制為systemd,systemd啟動initrd.target中的 所有單元,并且掛載根文件系統/sysroot

1.1init進程

由Linux內核加載運行/sbin/init程序,是系統中的第一個進程,PID號永遠為1

Systemd 單元類型

Linux/Centos7系統管理之引導過程與服務控制

運行級別所對應的systemd目標

Linux/Centos7系統管理之引導過程與服務控制

其中.service ——/lib/sysytemd/system

文件存儲兩個部分——元信息(狀態的信息)和內容

===========================================================================================

1.2修復MBR扇區故障

1.故障原因

病毒、***等造成的破壞

不正確的分區操作、磁盤讀寫誤操作

2.故障現象

找不到引導程序、啟動中斷

無法加載操作系統,開機后黑屏

3.解決思路

提前做好備份文件

以安裝光盤引導進入急救模式

從部分文件中恢復

實驗一——模擬修復MBR扇區故障實驗

流程如下

  1. 備份MBR扇區數據——加一塊硬盤做備份(一定需要先備份)

    (1)分區,格式化,掛載

    (2)備份mbr引導扇區到其它磁盤

    備份=dd if=/dev/sda of=/abc/sda.mbr.bak bs=512 count=1 (/abc是另一塊磁盤的掛載點)

  2. 模擬故障

    dd if=/dev/sda of=/abc/sda.mbr.bak bs=512 count=1

    重啟:reboot——> 啟用DHCP(找不到系統),從網上找有無可以加載的系統,但是是找不到的

    修復之前需要光盤鏡像需要連接使用

  3. 加載系統鏡像文件中的急救模式

    加載系統鏡像文件中的內核界面

    在讀條時按下ESC鍵(手速快點)——選擇CD-ROM Drive——選擇Troubleshooting——選擇Rescue a Centos system(補充:當然如果你的鏡像文件一直是連接狀態的話前面兩個步驟是可以省略的)

    4.把備份數據做恢復

具體實驗步驟和結果如下:

第一步:

[root@localhost ~]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   40G  0 disk 
├─sda1   8:1    0    6G  0 part /boot
├─sda2   8:2    0   20G  0 part /
├─sda3   8:3    0   10G  0 part /home
├─sda4   8:4    0    1K  0 part 
└─sda5   8:5    0    4G  0 part [SWAP]
sdb      8:16   0   20G  0 disk 
└─sdb1   8:17   0   20G  0 part 
sr0     11:0    1  4.2G  0 rom  /run/media/root/CentOS 7 x86_64
[root@localhost ~]# mkfs.xfs /dev/sdb1
meta-data=/dev/sdb1              isize=512    agcount=4, agsize=1310656 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=5242624, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@localhost ~]# mount /dev/sdb1 /mnt
[root@localhost ~]# df -hT | tail -1
/dev/sdb1      xfs        20G   33M   20G    1% /mnt
[root@localhost ~]# dd if=/dev/sda of=/mnt/sda.mbr.bak bs=512 count=1
記錄了1+0 的讀入
記錄了1+0 的寫出
512字節(512 B)已復制,0.000126274 秒,4.1 MB/秒
[root@localhost ~]# ls /mnt/
sda.mbr.bak

第二步:

[root@localhost ~]# dd if=/dev/zero of=/dev/sda bs=512 count=1//垃圾填充覆蓋第一個扇區內容(模擬破壞)
記錄了1+0 的讀入
記錄了1+0 的寫出
512字節(512 B)已復制,0.000139415 秒,3.7 MB/秒
[root@localhost ~]# reboot                                      //重啟

第三步:

一直是連接著系統鏡像文件的情況下啊,重啟之后操作如下:

(1)選擇Troubleshooting——回車

Linux/Centos7系統管理之引導過程與服務控制

(2)選擇Rescue a CentOS system——回車

Linux/Centos7系統管理之引導過程與服務控制

(3)進入加載界面,稍等

Linux/Centos7系統管理之引導過程與服務控制

(4)進入急救界面準備進行修復MBR,輸入1,回車,彈出下面的對話后再次回車

Linux/Centos7系統管理之引導過程與服務控制

(5)進行修復扇區的命令輸入

Linux/Centos7系統管理之引導過程與服務控制

===========================================================================================

1.3修復GRUB引導故障

1.故障原因

MBR中的GRUB弓|導程序遭到破壞
grub.conf文件丟失、引導配置有誤

2.故障現象
系統引導停滯,顯示"grub>” 提示符

3.解決思路
嘗試手動輸入引導命令
進入急救模式,重寫或者從備份中恢復grub.conf
向MBR扇區中重建grub程序

實驗二——模擬修復GRUB引導故障實驗

流程如下:

  1. 使用系統急救模式進入命令字符界面

  2. 加載鏡像中的系統進入bash環境

    chroot /mnt/sysimage

  3. 重新構建GRUB菜單系統

    grub2-install /dev/sda

    grub2-mkconfig -o /boot/grub2/grub.cfg

    exit

    reboot

實驗操作過程與結果如下:

[root@localhost ~]# ll /boot/
總用量 136460
-rw-r--r--. 1 root root   140894 8月  23 2017 config-3.10.0-693.el7.x86_64
drwxr-xr-x. 3 root root       17 11月 14 11:37 efi
drwxr-xr-x. 2 root root       27 11月 14 11:38 grub
drwx------. 5 root root       97 11月 14 11:42 grub2
-rw-------. 1 root root 69272056 11月 14 11:41 initramfs-0-rescue-a33ccb7775134b0e83e04555d56fedb7.img
-rw-------. 1 root root 28281283 11月 14 11:42 initramfs-3.10.0-693.el7.x86_64.img
-rw-------. 1 root root 16565979 11月 14 11:43 initramfs-3.10.0-693.el7.x86_64kdump.img
-rw-r--r--. 1 root root 10181954 11月 14 11:41 initrd-plymouth.img
-rw-r--r--. 1 root root   293027 8月  23 2017 symvers-3.10.0-693.el7.x86_64.gz
-rw-------. 1 root root  3228420 8月  23 2017 System.map-3.10.0-693.el7.x86_64
-rwxr-xr-x. 1 root root  5877760 11月 14 11:41 vmlinuz-0-rescue-a33ccb7775134b0e83e04555d56fedb7
-rwxr-xr-x. 1 root root  5877760 8月  23 2017 vmlinuz-3.10.0-693.el7.x86_64
[root@localhost ~]# ll /boot/grub2
總用量 32
-rw-r--r--. 1 root root   84 11月 14 11:42 device.map
drwxr-xr-x. 2 root root   25 11月 14 11:42 fonts
-rw-r--r--. 1 root root 4235 11月 14 11:42 grub.cfg
-rw-r--r--. 1 root root 1024 11月 14 11:42 grubenv
drwxr-xr-x. 2 root root 8192 11月 14 11:42 i386-pc
drwxr-xr-x. 2 root root 4096 11月 14 11:42 locale

解釋說明一下:如上所示其中/boot目錄下的grub目錄存放的是啟動菜單的背景圖片及樣式,而grub2中存放的才是配置文件。

(1)先刪除該配置文件來模擬整個過程

[root@localhost grub2]# cd /boot/grub2/
[root@localhost grub2]# ls
device.map  fonts  grub.cfg  grubenv  i386-pc  locale
[root@localhost grub2]# rm -rf grub.cfg 
[root@localhost grub2]# init 6

重啟之后的界面如下:(此時無法正常登錄)

Linux/Centos7系統管理之引導過程與服務控制

(2)引導急救模式,加載系統鏡像:在讀條時(手速快點)按下ESC進入選擇菜單——選擇3.CD-ROM Drive——選擇Troubleshooting——選擇Rescue a Centos system,最終進入如下界面進行操作

Linux/Centos7系統管理之引導過程與服務控制

之后就可以正常登錄了。

===========================================================================================

1.4破解root密碼

1.故障原因

遺忘root用戶密碼

2.故障現象

無法進行需要root權限的管理操作

沒有其他可用賬號,將無法登錄系統

3.解決思路

進入急救模式,重新設置密碼

實驗三——遺忘root用戶密碼

流程如下:

  1. 加載鏡像系統
  2. 直接改密碼

實驗操作過程與結果如下:

(1)先將鏡像文件選擇為已連接

Linux/Centos7系統管理之引導過程與服務控制

(2)重啟本地虛擬機

在讀條時(手速快點)按下ESC進入選擇菜單——選擇3.CD-ROM Drive——選擇Troubleshooting——選擇Rescue a Centos system

Linux/Centos7系統管理之引導過程與服務控制

Linux/Centos7系統管理之引導過程與服務控制

Linux/Centos7系統管理之引導過程與服務控制

(3)使用chroot命令和passwd root來設置root密碼;之后exit、reboot就可以正常登錄root用戶了

Linux/Centos7系統管理之引導過程與服務控制

二、系統服務控制

2.1系統服務控制命令systemctl

控制類型 (選項參數)

  • start: 啟動
  • stop: 停止
  • restart: 重新啟動(會中斷服務,相當于先stop,后start)
  • reload: 重新加載(會重新加載配置文件,不會中斷)
  • status: 查看服務狀態

實例:

[root@localhost ~]# systemctl stop network     //停止網絡連接
[root@localhost ~]# ifconfig | head            //查看ip信息
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether 00:0c:29:56:d3:4a  txqueuelen 1000  (Ethernet)
        RX packets 374  bytes 28991 (28.3 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 50  bytes 6529 (6.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:71:37:09  txqueuelen 1000  (Ethernet)
[root@localhost ~]# systemctl start network     //啟動網絡連接
[root@localhost ~]# ifconfig | head 
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.68.130  netmask 255.255.255.0  broadcast 192.168.68.255
        inet6 fe80::7eb1:2dde:8a54:6927  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:56:d3:4a  txqueuelen 1000  (Ethernet)
        RX packets 379  bytes 29759 (29.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 75  bytes 10116 (9.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536

2.2Linux系統的運行級別

查看運行級別

  • runlevel命令
  • systemctl工具

臨時切換運行級別

  • init命令
  • systemctl工具

2.3優化啟動過程

系統服務管理工具

  • ntsysv工具(偽圖像化界面)

    • 提供一個交互式、可視化窗口
    • 可以在字符終端運行
    • 便于集中管理多個服務
  • systemctl 工具

    • 不提供交互式、可視化窗口
    • 管理單個服務效率更高

    結合下面的實例來進一步介紹systemctl命令

    [root@localhost ~]# rpm -q httpd
    httpd-2.4.6-90.el7.centos.x86_64
    [root@localhost ~]# netstat  顯示網絡連接,路由表,接口狀態,偽裝連接,網絡鏈路信息和組播成員組。^C
    [root@localhost ~]# netstat -ntap | grep 80
    [root@localhost ~]# systemctl start httpd
    [root@localhost ~]# netstat -ntap | grep 80
    tcp6       0      0 :::80                   :::*                    LISTEN      14793/httpd         
    [root@localhost ~]# systemctl stop httpd
    [root@localhost ~]# netstat -ntap | grep 80
    [root@localhost ~]# systemctl enable httpd
    Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
    [root@localhost ~]# systemctl is-enabled httpd
    enabled
    

    systemctl enable httpd 是開機自啟動,is-enabled是顯示其狀態,關閉自啟動是disable 上面輸入reboot后使用netstat查看80端口是否有httpd服務自啟動。具體操作如下所示。

    [root@localhost ~]# netstat -ntap | grep 80
    tcp6       0      0 :::80                   :::*                    LISTEN      953/httpd           
    [root@localhost ~]# systemctl disable httpd
    Removed symlink /etc/systemd/system/multi-user.target.wants/httpd.service.
    [root@localhost ~]# systemctl is-enabled httpd
    disabled
    [root@localhost ~]# 
    

    三、總結

    本文主要是對Linux系統管理中系統引導過程和服務控制及優化的講解,涉及如下命令:

    exit、reboot、chroot、grub2-install、grub2-mkconfig、passwd、runlevel、ntsysv、systemctl、netstat等。主要是對系統啟動引導過程中的一些問題進行解決,強制破解root密碼(實質上是強行更換),最后講述的是服務控制命令操作和簡單的一些優化操作。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

南安市| 朝阳县| 新邵县| 鹤山市| 镇安县| 阿坝县| 崇义县| 朝阳县| 清丰县| 肃南| 高尔夫| 儋州市| 瓦房店市| 久治县| 沅陵县| 荥阳市| 盘山县| 康马县| 呼图壁县| 石楼县| 灌南县| 南乐县| 武陟县| 调兵山市| 白水县| 冕宁县| 阿合奇县| 青冈县| 桑植县| 铁力市| 阿拉善左旗| 东平县| 玉屏| 安化县| 额济纳旗| 秀山| 桃源县| 喀喇| 青浦区| 梁河县| 长岭县|