官术网_书友最值得收藏!

2.3 第一次親密接觸

重啟CentOS后,會出現如圖2-27所示的黑框,提示我們登錄。這個登錄界面沒有出現任何圖形,因為我們沒有安裝與圖形相關的程序包。如果你想使用圖形界面,可以在進入系統后安裝圖形套件,然后切換到圖形界面就可以了。

圖2-27 登錄

在如圖2-27所示的黑框里單擊鼠標,在localhost login:后面輸入root并按回車,然后輸入先前設置的root密碼,進入CentOS系統,如圖2-28所示。

圖2-28 進入CentOS系統

由于在安裝系統時需要聯網下載安裝源,所以CentOS 8當前已經可以聯網了,只不過當前的IP地址是自動獲取到的。由于前面創建虛擬機時,我們已經將這臺機器設置成NAT網絡模式,因此后續的操作都是基于NAT模式,如果是橋接模式,則操作基本類似。

請運行如下命令:

# ip add

此時將返回如圖2-29所示的信息。

圖2-29 查看IP地址

ip add命令就是用來查看IP地址的。這里請大家注意英文字母的大小寫,因為Linux操作系統是區分大小寫的。從圖2-29中可以看出,這臺機器有兩個IP地址。第一個地址127.0.0.1是回環地址,網卡名字叫作lo,Windows操作系統也有該地址,用于自己和自己通信。第二個地址192.168.72.128就是它自動獲取到的IP地址,其中ens33就是網卡的名字。你獲取到的IP地址和阿銘的可能不一樣,這是因為VMware分配的地址段不一樣,請大家放心,這并不是你沒有配置對。另外,你的網卡名字也不一定是ens33,這個不一樣也是沒有關系的。下面阿銘教你怎么看VMware NAT網絡模式的網段是多少。

首先同時按下Ctrl和Alt這兩個鍵,釋放鼠標,然后單擊VMware虛擬機左上角菜單欄中的“編輯”,選擇“虛擬網絡編輯器”,此時會彈出如圖2-30所示的界面。

圖2-30 虛擬網絡編輯器

選中VMnet8(NAT模式),此時下面就可以看到子網IP為192.168.72.0,子網掩碼為255.255.255.0,我們獲取到的那個IP就在這個子網里面。然后單擊右側的“NAT設置”按鈕,此時會出現如圖2-31所示的界面。

圖2-31 NAT設置

在這個界面中,我們會看到網關IP為192.168.72.2。請大家記住這個網關地址,因為接下來還會用到它。

我們先來測試一下CentOS 8是否可以聯網。請大家注意,你的CentOS 8能聯網的前提是你的物理機可以聯網。輸入如下命令進行測試:

# ping -c 4 www.aminglinux.com

運行結果如圖2-32所示。

圖2-32 測試網絡

ping命令很多朋友用過,它是用來檢測網絡連通性的工具。圖2-32所示的結果表示本機是可以聯網的。如果你的結果和阿銘的不同,那說明你的設置很有可能有問題,請添加阿銘微信獲取幫助。

雖然CentOS 8已經可以聯網,但阿銘覺得這還不夠,因為你還不會手動給CentOS 8設置IP地址。在日常的運維工作中,我們是需要手動給Linux系統設置IP地址的。下面阿銘教你如何手動設置。輸入如下命令:

# vi  /etc/sysconfig/network-scripts/ifcfg-ens33

請大家注意,在Linux系統下,命令后面是需要帶空格的,這個命令里的vi是一個用來編輯文本的命令,第7章會詳細介紹它。它后面先是一個空格(當然跟多個空格也沒錯),再是一個文件的存儲路徑。這個文件是網卡的配置文件,要想修改IP地址,就得編輯它。你的網卡配置文件的名字和阿銘的(ifcfg-ens33)可能不一樣,這個主要由你的網卡名字決定。按回車后,進入如圖2-33所示的界面。

圖2-33 網卡配置文件

進入網卡配置文件后,可以使用上、下、左、右方向鍵去移動光標,但不能直接修改文件內容。要想修改文件內容,需按字母I鍵。我們需要修改的內容有,將BOOTPROTO="dhcp"改為BOOTPROTO="static",并增加如下幾行字符:

IPADDR=192.168.72.128
NETMASK=255.255.255.0
GATEWAY=192.168.72.2
DNS1=119.29.29.29

這里需要說明的是,BOOTPROTO用于設置網卡的啟動類型,其值為dhcp表示自動獲取IP地址,為static表示手動設置靜態IP地址。添加字符中的IPADDR指定IP地址(請不要設置和阿銘一樣的IP地址,因為你的IP地址取決于前面自動獲取到的地址),NETMASK指定子網掩碼,GATEWAY指定網關(這個網關就是剛剛阿銘讓大家記住的網關地址),DNS1指定上網用的DNS IP地址,這個119.29.29.29是國內DNSpod公司提供的一個公共DNS IP地址。完成以上修改后,按一下Esc鍵,緊接著輸入“:wq”并按回車,退出剛才的網卡配置文檔。然后重啟網卡,運行如下兩條命令:

# nmcli  c  reload  ens33
# nmcli  d  reapply ens33

其中,第一條命令的作用是重新加載網卡配置文件,但它并不會馬上生效,第二條命令的作用是使第一條命令馬上生效。然后查看一下IP地址:

# ip add

如果正確的話,你看到的結果依然如圖2-29所示。當然,還需要再測試一下網絡連通性,此時輸入如下命令進行測試:

# ping -c 4 www.aminglinux.com

在日常運維管理工作中,快捷鍵可以大大提高我們的工作效率。在Linux系統中,常用的快捷鍵如下。

  • Ctrl+C:結束(終止)當前命令。假如你輸入了一大串字符,但不想運行,則可以按Ctrl+C組合鍵,此時光標將跳入下一行,而剛剛的光標處會留下一個^C的標記,如圖2-34所示。

    圖2-34 結束命令

  • Tab:實現自動補全功能。這個鍵比較重要,使用頻率也很高。當你輸入命令、文件或目錄的前幾個字符時,它會自動幫你補全。比如,前面阿銘教大家編輯網卡配置文件時的文件路徑很長,這時結合Tab鍵就會很輕松。

  • Ctrl+D:退出當前終端。同樣,你也可以輸入命令exit實現該功能。
  • Ctrl+Z:暫停當前進程。這和Ctrl+C是有區別的,暫停后,使用fg命令恢復該進程,該知識點會在第10章中介紹到。
  • Ctrl+L:清屏,使光標移動到屏幕的第一行。當命令和顯示的結果占滿整個屏幕后,我們每再運行一個命令,都會顯示在最后一行,這樣看起來極不方便,此時就可以使用這個快捷鍵,讓光標移動到屏幕第一行,也就是所謂的清屏。
  • Ctrl+A:可以讓光標移動到命令的最前面。有時候一條命令很長,快敲完時發現前面某個字母不對,此時可以直接用這個快捷鍵把光標定位到行首,然后再用左右方向鍵微調光標的位置。
  • Ctrl+E:可以讓光標移動到命令的最后面,作用同上一個。

man命令用于查看命令的幫助文檔,其格式為“man [命令]”。例如,輸入如下命令:

# man ls

就可以查看ls命令的幫助文檔,如圖2-35所示。

圖2-35 man命令

如果屏幕不能完整顯示整個幫助文檔,可以按空格鍵下翻,或者按上下方向鍵前后移動文本。若想退出幫助文檔,則按字母鍵Q。當然,要想看明白這個文檔,還需要有一定的英文閱讀能力。man命令非常實用,尤其是對于初學者,在我們新學一個命令,總是記不住或記不清它的各個選項的用法時,隨手運行一下man命令,就可以找到了,非常方便!同時,阿銘相信經常查看英文的文檔也會提升你的英文閱讀能力。

登錄Linux系統后,在當前命令窗口下輸入如下命令:

# ls /

此時將會出現如圖2-36所示的界面。

圖2-36 列出根目錄

你的結果可能和阿銘的有所不同,不要緊,目前我們探討的不是差異,而是相同的地方。其中,ls是list的縮寫,該命令用于列出指定目錄或者文件。/是Linux操作系統里面最核心的一個目錄,所有的文件和目錄全部在它下面,所以稱它為“根目錄”。前面講磁盤分區時,阿銘也是單獨給它分了一個區的。大家要逐漸適應Linux系統的特性,畢竟它和Windows有太多的差異。

通過2.3.4節中提到的命令man ls,可以了解ls命令的具體用法。對于ls這個最常用的命令,阿銘在這里舉幾個簡單的例子幫你快速掌握其用法:

# ls
anaconda-ks.cfg

# ls  -a
.  ..  anaconda-ks.cfg  .bash_logout  .bash_profile  .bashrc  .cshrc  .tcshrcy

# ls  -l
總用量 4
-rw-------. 1 root root 1435 12月 26 08:10 anaconda-ks.cfg

# ls   anaconda-ks.cfg
anaconda-ks.cfg

# ls   /var/
adm    crash  empty  games   kerberos  local  log   nis  preserve  spool  yp
cache  db     ftp    gopher  lib       lock   mail  opt  run       tmp

說明 其中以#開頭的行都是運行的命令,#下面的內容是命令運行后的結果。你的結果可能和阿銘的有所不同,但不要緊,這是因為你的系統和阿銘的系統是存在一些差異的。如果有任何異議,請聯系阿銘獲取幫助。下面阿銘來講解一下以上幾個小案例的含義。

  • 后面不加任何選項也不跟目錄名或者文件名:會列出當前目錄下的文件和目錄,不包含隱藏文件。
  • 后面加-a選項、不加目錄名或者文件名:會列出當前目錄下所有文件和目錄,含有隱藏文件。
  • 后面加-l選項、不加目錄名或者文件名:會列出當前目錄下除隱藏文件外的所有文件和目錄的詳細信息,包含其權限、所屬主、所屬組以及文件創建日期和時間。
  • 后面不加選項、只跟文件名:會列出該文件,通常在使用時都會加上-l選項,以查看該文件的詳細信息。
  • 后面不加選項、只跟目錄名:會列出指定目錄下的文件和目錄。

其實,ls命令的可用項還有很多,阿銘只是介紹了最常用的選項。因為在日常工作和學習中,這些已經足夠。如果實在遇到不懂的選項,可以用man命令來查看幫助文檔。

下面我們接著來討論Linux的目錄結構。

  • /bin:bin是Binary的縮寫,該目錄下存放的是最常用的命令。
  • /boot:該目錄下存放的是啟動Linux時使用的一些核心文件,包括一些連接文件以及鏡像文件。
  • /dev:dev是Device(設備)的縮寫。該目錄下存放的是Linux的外部設備。在Linux中,訪問設備的方式和訪問文件的方式是相同的。
  • /etc:該目錄下存放的是所有系統管理所需要的配置文件和子目錄。
  • /home:這是用戶的家目錄。在Linux中,每個用戶都有一個自己的目錄,一般該目錄名是以用戶的賬號命名的。
  • /lib和/lib64:這兩個目錄下存放的是系統最基本的動態鏈接共享庫,其作用類似于Windows里的DLL文件,幾乎所有的應用程序都需要用到這些共享庫。其中 /lib64為64位的軟件包的庫文件所在目錄。
  • /media:系統會自動識別一些設備(如U盤、光驅等),當識別后,Linux會把識別的設備掛載到該目錄下。
  • /mnt:系統提供該目錄是為了讓用戶臨時掛載別的文件系統。我們可以將光驅掛載到 /mnt/ 上,然后進入該目錄查看光驅里的內容。
  • /opt:這是給主機額外安裝軟件所設置的目錄,該目錄默認為空。比如,你要安裝一個Oracle數據庫,可以放到該目錄下。
  • /proc:該目錄是一個虛擬目錄,是系統內存的映射,可以直接訪問它來獲取系統信息。該目錄的內容在內存里,我們可以直接修改里面的某些文件。比如可以通過下面的命令來屏蔽主機的ping命令,使其他人無法ping你的機器。在日常工作中,你會經常用到類似的用法:

    # echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all`
  • /root:該目錄是系統管理員的用戶家目錄。
  • /run:這個目錄和/var/run其實是同一個目錄,里面存放的是一些服務的pid。一個服務啟動完后,是有一個pid文件的。至于為什么說是同一個目錄,Linux是如何做到的,4.9節會詳細介紹。
  • /sbin:s就是Super User(超級用戶)的意思,該目錄存放的是系統管理員使用的系統管理程序。
  • /srv:該目錄存放的是一些服務啟動之后需要提取的數據。
  • /sys:該目錄存放的是與硬件驅動程序相關的信息。
  • /tmp:該目錄用來存放一些臨時文件。
  • /usr:這是一個非常重要的目錄,類似于Windows下的Program Files目錄,用戶的很多應用程序和文件存放在該目錄下。在后面的章節中,我們會多次用到這個目錄。
  • /usr/bin:該目錄存放的是系統用戶使用的應用程序。
  • /usr/sbin:該目錄存放的是Super User使用的比較高級的管理程序和系統守護程序。
  • /usr/src :該目錄是內核源代碼的默認放置目錄。
  • /var:該目錄存放的是不斷擴充且經常修改的目錄,包括各種日志文件或者pid文件,剛剛提到的/var/run就在這個目錄下面。

這些目錄中有幾個重要的需要大家注意,不要誤刪除或者隨意更改其內部文件。下面阿銘再簡單對它們總結一下。

  • /etc目錄下是系統的配置文件,如果更改了該目錄下的某個文件,可能會導致系統無法正常啟動。
  • /bin、/sbin、/usr/bin和/usr/sbin目錄是系統預設的執行文件的放置目錄,其中/bin和/usr/bin目錄下是供系統用戶(除root外的通用賬戶)使用的命令,而/sbin和/usr/sbin目錄下則是供root用戶使用的命令。比如,ls命令就存放在/bin/目錄下。
  • /var也是一個非常重要的目錄,系統上運行各個程序時所產生的日志都被記錄在該目錄下(即/var/log目錄中)。另外,mail命令的預設也放置在這里。

Linux主要用在服務器領域,而在服務器上執行一項服務是永無止境的,除非遇到特殊情況,否則不會關機。和Windows不同,在Linux系統下,很多進程是在后臺執行的。在屏幕背后,可能有很多人同時在工作。如果直接按下電源開關關機,其他人的數據可能就此中斷。更嚴重的是,若不正常關機,嚴重時可能會造成文件系統損壞,從而導致數據丟失。

如果要關機,必須要保證當前系統中沒有其他用戶在登錄系統。可以使用who命令查看當前是否還有其他人在登錄,或者使用命令ps -aux查看是否還有后臺進程在運行。shutdownhaltpoweroff都為關機的命令,我們可以使用命令man shutdown查看其幫助文檔。例如,可以運行如下命令關機(//符號后面的內容為注釋):

# shutdown -h 10  // 計算機將在10分鐘后關機,且會顯示在登錄用戶的當前屏幕中
# shutdown -h now  // 立即關機
# shutdown -h 20:25  // 系統會在20:25關機
# shutdown -h +10  // 10分鐘后關機
# shutdown -r now  // 立即重啟
# shutdown -r +10  // 10分鐘后重啟
# reboot  // 重啟,等同于shutdown -r now
# halt  // 關閉系統,等同于shutdown -h now和poweroff

不管是重啟系統還是關閉系統,首先要運行sync命令,該命令可以把當前內存中的數據寫入磁盤中,防止數據丟失。

再來總結一下,關機的命令有shutdown -h nowhaltpoweroffinit 0,重啟系統的命令有shutdown -r nowrebootinit 6

以前阿銘忘記了Windows的管理員密碼,當時不會用光盤清除密碼,最后只能重裝系統。現在想來那是多么愚笨的一件事情。同樣,如果你忘記了Linux系統的root密碼,該怎么辦呢?重新安裝系統嗎?當然不用!你只需要進入緊急模式(emergency mode)更改root密碼即可。在CentOS 6中,我們是進入單用戶模式修改root密碼的,但在CentOS 7和CentOS 8中已經沒有單用戶模式了,而是這個緊急模式,具體操作步驟如下。

  1. 重啟系統

    按3秒鐘向下的方向鍵,目的是不讓它進入系統,而是停留在開機界面,如圖2-37所示。

    圖2-37 開機界面

    按方向鍵移動光標,定位在第一行,按字母E鍵編輯它,然后進入另外一個界面,此時會出來很多字符,這些是CentOS 8啟動選項,那么這些字符有什么用呢?我們暫時先放一放,不用太過關心。移動向下的方向鍵,把光標定位到linux開頭的行。
     

  2. 進入緊急模式

    按向右的方向鍵,將光標移動到ro這里,把ro改成rw init=/sysroot/bin/sh,如圖2-38所示。

    圖2-38 修改ro

    然后同時按Ctrl和X這兩個鍵,系統就會進入如圖2-39所示的界面,這樣就正式進入了緊急模式。

    圖2-39 緊急模式
     

  3. 修改root密碼

    首先切換到原始系統,然后修改密碼,操作過程如圖2-40所示。

    圖2-40 修改密碼

    其中chroot命令用來切換系統,后面的 /sysroot目錄就是原始系統(也就是我們的CentOS 8系統),在這個下面才可以修改root密碼。passwd命令就是修改root密碼的命令,5.3.1節還會介紹它。但運行命令后,返回的結果很奇怪,出現了很多小方塊,俗稱亂碼。其實這些小方塊本來是漢字,但是VMware并不支持中文。如果大家知道passwd命令的用法,此時連續輸入兩次新密碼就可以了。但作為新用戶,第一次看到亂碼肯定會不知所措,請跟著阿銘一起輸入LANG=en,這個命令就是把當前終端的語言設置為英文。再次運行passwd命令,就可以正常顯示字符了。

    密碼雖然修改完了,但是還需要一個額外的操作,相關命令如下:

    # touch /.autorelabel

    注意,這個文件名字一定要寫對,否則修改的密碼將不能生效。執行這一步的作用是讓SELinux生效,如果不執行,則之前修改的密碼是不會生效的。也就是說,即使你之后輸對了密碼,也無法登錄系統。至于SELinux是什么,13.4.1節會詳細介紹。執行完touch命令后,同時按Ctrl和D這兩個鍵,再輸入命令reboot,這樣系統會重啟,等待幾秒后,出現登錄界面,此時使用我們新設置的密碼登錄即可。

救援模式即rescue模式,這個模式主要應用于無法進入系統的情況,比如grub損壞或者某一個配置文件修改出錯。那么,如何使用救援模式呢?具體的操作方法如下。

  1. 啟動光驅

    首先檢查你的光驅是否是開機啟動。具體方法是把鼠標挪到VMware右下角的小光盤圖標處,單擊它,此時會出現兩個選項,選擇“設置”選項,會彈出“虛擬機設置”對話框,看一下右側的“設備狀態”,要保證這兩個對鉤都是打上的,如圖2-41所示。

    圖2-41 設備狀態

    但此時,重啟系統并不會進入光驅啟動界面,這還需要我們設置一個VMware的BIOS。由于VMware啟動很快,往往我們還沒有來得及按F2鍵(要進入BIOS,需要按F2鍵),它就已經進入系統的啟動界面了。這里有一個技巧,首先把CentOS 8關機,然后在VMware左側選中這臺虛擬機并右擊,從中選擇“電源”→“啟動時進入固件”,如圖2-42所示。

    圖2-42 進入BIOS

    進入BIOS后,按向右方向鍵,選擇Boot,然后按“-”或者“+”鍵調節各個啟動對象,其中有硬盤、光驅、網卡等,總之結果是要讓CD-ROM Drive在最前面,也就是讓它第一個啟動。最終的結果如圖2-43所示。

    圖2-43 BIOS

    設置完這步之后,直接按F10鍵保存設置并退出。
     

  2. 進入救援模式

    隨后進入光驅啟動界面,使用上下方向鍵選擇Troubleshooting,如圖2-44所示。

    圖2-44 選擇Troubleshooting

    按回車后,又出現如圖2-45所示的界面,使用向下方向鍵選擇Rescue a CentOS Linux system。

    圖2-45 選擇Rescue a CentOS Linux system

    按回車后,會出現如圖2-46所示的界面。

    圖2-46 救援選項

    圖2-47中有一些提示,它告訴我們,初始系統在/mnt/sysimage目錄下面,其實這和上一節的/sysroot類似。這里有4個選項:選擇第1) 項,將會繼續往下走;選擇第2) 項,將會把初始的系統掛載為只讀模式,我們不能寫磁盤,也就意味著不能再修改配置文件,也不能修改root密碼;選擇第3) 項,會直接出現一個shell;而選擇第4) 項,則會重啟。

    這里選擇第1) 項,所以輸入數字1并回車,如圖2-47所示。它又告訴我們:初始系統已經掛載到了 /mnt/sysimage目錄下面,要想進入初始系統下面,需要執行chroot /mnt/sysimage命令,請再次按回車獲取到shell。

    圖2-47 獲取shell

    進入初始系統后,執行修改root密碼的命令passwd,如圖2-48所示。

    圖2-48 修改root密碼

    其實,執行完chroot命令之后,會發現命令行的前后有一處變化,即原來的sh-4.4變成了bash-4.4,這就是因為環境變量發生了變化,第10章再討論這個知識點。當然,救援模式并非只有修改root密碼這么簡單的作用,我們還可以在救援模式下處理一些故障、修復數據等。要想退出救援模式,也很簡單,先使用Ctrl+D組合鍵退出原始系統,然后執行reboot命令即可。但是重啟后你會發現,它進入的依然是光驅啟動界面。所以,我們還需要再設置一遍BIOS,讓硬盤第一個啟動。這里還有一種方法,設置VMware,關閉光驅即可。

2.4 課后習題

(1) 32位和64位操作系統有什么區別?什么時候安裝32位或64位操作系統?如何查看Linux系統是32位的還是64位的?

(2) swap分區的作用是什么?如何決定swap分區的大小?

(3) 查資料了解bootloader、grub的概念,并理解它們的作用。

(4) 如何在安裝系統時給grub設置密碼?

(5) 在安裝Linux時,你是如何分區的?


主站蜘蛛池模板: 湟源县| 花垣县| 阳城县| 六枝特区| 都江堰市| 诸暨市| 香格里拉县| 郴州市| 万载县| 金寨县| 通河县| 大宁县| 格尔木市| 苏尼特右旗| 天峨县| 孝义市| 河间市| 丰都县| 神农架林区| 蓝山县| 曲沃县| 贵港市| 右玉县| 观塘区| 呼和浩特市| 潜江市| 浮山县| 沐川县| 滨州市| 子洲县| 全南县| 信丰县| 景泰县| 达尔| SHOW| 青铜峡市| 高陵县| 同江市| 皮山县| 石棉县| 洞头县|