給Linux小白的CentOS8.1基本安裝說明


  寫在前面的話用過Linux的同學應該都會覺得Linux安裝是件非常簡單的事情,根本不值得用博客記下來!但是我發現,其實沒接觸過Linux的同學還真不一定會裝,就像在IT行業工作過幾年但一直用Windows系統的同學可能就不會裝Linux,這是正常的!畢竟不是誰都需要去安裝或配置Linux服務器!所以想了下,還是將Linux的基本安裝過程記一下流水賬,在流水賬最后講一下基本網絡環境的配置

 

  這里以使用Linux皇家血統Red Hat Enterprise Linux的源碼編譯而成的CentOS(Community Enterprise Operating System)為藍本進行流水賬的記錄!CentOS的具體版本號為:CentOS-8.1.1911-x86_64,建議到阿里雲CentOS鏡像庫下載,速度快嘛(可能你看這篇文章時已經有更新的版本了,但8.x的版本應該不會相差太多,多年后的小白如果發現8.x版本早已下架,那么可以關貼了)!

 

  為了講得足夠小白,我從虛擬機的創建開始一步一步記下去,基本上都是截圖標注+少量文字補充說明的方式(不要多說,一切都在酒中,一切都在圖中!希望博客園一直穩住,不要破圖了!),沒啥技術含量的,所以不是小白的同學也可以關貼了(也可以直接翻到文末看看)!小白就接着看吧!→♥

 

  先用VMware-workstation 15.5 創建虛擬機(VMware是收費的,別問我哪里搞到的,我是不會告訴你的,因為你懂的!):

CPU個數、核數以及內存大小要視自己的需要而定;比如Gitlab服務器一般都需要4G以上的內存。

網絡模式也要視自己的情況而定,比如我的路由器內置了DHCP功能的,能夠分配跟宿主機同級的IP地址並進行上網,這種情況我選擇橋接模式可能會更好些,讓宿主機與虛擬機處於相同級別,更像企業真實環境的局域網情況。關於這幾種網絡模式的區別,就自己去學了,將來有時間可能會再詳細出一篇文章講!現在繼續...

虛擬機的磁盤大小后期是可以更改的,所以這里不用緊張才20G,先按默認的大小創建!當然如果你確定會有很多數據,那一開始設置大一點也沒事!

選定好我們的CentOS8.1操作系統ISO文件作為后面的系統安裝介質(光盤),如果這一步忘了選定安裝介質ISO文件,下一步還能可能過“編輯虛擬機設置”進行選擇!

  首屏安裝界面默認選中的是第二項“Test this media & Install CentOS Linux 8”,即檢測安裝介質並安裝CentOS 8,檢測的目的是看看安裝包有沒有被別人篡改過,比如植入后門、病毒等,如果不是生產服務器的安裝,可以不用檢測安裝介質,直接上下方向鍵選擇上面的“Install CentOS Linux 8”,因為安裝介質檢測過程可能會花掉很長的時間,機器慢一點的半個小時以上都有可能!

  這是我建議的配置順序:先配網絡→再配日期時間(NTP服務器要用到前面的網絡)→再配磁盤分區和文件系統→再配操作系統支持的語言→最后配要安裝的軟件包,下面我將按這個順序來截圖記錄配置過程:

  如果你設置的密碼不夠強大,但你堅持要用,那得按兩次左上角的Done按鈕

  如果在軟件安裝包的選擇過程中選的是帶圖形界面的Server with GUI,那么啟動后還有幾個頁面步驟讓你做協議認可和初始化設置用的,這里就不切截圖了!

 

最后一些常見問題的解答:

問題1:橋接模式(自動)安裝完后,相同網段Linux主機ping宿主機的IP沒有效果?

可能原因:宿主機防火牆開啟狀態,並且沒有將ICMPv4協議配置成可以入站;

 

問題2:橋接模式(自動)安裝完后,相同網段宿主機ping Linux主機的IP沒有效果?

可能原因:Linux主機防火牆開啟狀態,並且沒有將ICMPv4協議配置成可以入站;

Linux允許ping設置:

1)      臨時允許ping的操作命令為:

# echo 0>/proc/sys/net/ipv4/icmp_echo_ignore_all

2)      永久允許ping的配置方法為:在 /etc/sysctl.conf系統控制配置文件中增加一行 net.ipv4.icmp_echo_ignore_all=0  修改完成保存后,執行sysctl -p使新配置生效:

# vim /etc/sysctl.conf
# systctl -p
net.ipv4.icmp_echo_ignore_all=0

此時可以嘗試再從宿主機ping一下Linux主機,如果還沒效果,可以嘗試臨時停止一下防火牆:

使用# systemctl stop firewalld.service 命令或 # service iptables stop 命令來停止防火牆:

# systemctl stop firewalld.service
# service iptables stop

然后可以再次嘗試再從宿主機ping一下Linux主機,如果能通,那說明之前不能通是防火牆在阻止,配置防火牆允許ping通過:

# iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
# iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT

 

生產服務器上一般是不允許ping的,如何禁掉之前開啟的ping功能呢?

系統參數配置層面禁止ping

1)      臨時禁止ping的操作命令為:

# echo 1>/proc/sys/net/ipv4/icmp_echo_ignore_all

2)      永久禁止ping的配置方法為:在 /etc/sysctl.conf系統控制配置文件中增加一行(原來有的話直接修改) net.ipv4.icmp_echo_ignore_all=1 修改完成后執行sysctl -p使新配置生效

# vim /etc/sysctl.conf
# systctl -p
net.ipv4.icmp_echo_ignore_all=1

防火牆層面禁止ping

# iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -j DROP 

如果上述禁用ping的設置都沒有起作用,可以通過 # iptables -L 查看一下是不是還有其他的icmp防火牆設置在起作用,例如可能還有

# iptables -A INPUT -p icmp -j ACCEPT
# iptables -A OUTPUT -p icmp -j ACCEPT

這樣的設置在起作用,將它們DROP掉就行了:

# iptables -A INPUT -p icmp -j DROP
# iptables -A OUTPUT -p icmp -j DROP

 

問題3:使命令如何設置服務器靜態網絡信息,如IP?

RHEL 8/CentOS 8版本開始network.service默認沒有安裝,默認只使用NetworkManager作為網絡管理工具,而且RedHat官方指出在后續的版本中會徹底不支持network.service!!!

首先通過命令:# nmcli connection show 查看服務器網卡信息(nmcli→NetworkManager Client):

# nmcli connection show
NAME   UUID                                  TYPE      DEVICE 
ens33  d041f8bf-dfef-45e9-8055-466170b5c09f  ethernet  ens33 

然后到Linux的網卡配置目錄 /etc/sysconfig/network-scripts/ 找到相應網卡的配置文件並用vi或vim打開,例如:

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

將BOOTPROTO的值由dhcp改為static,即靜態分配;

在文檔最后新起一行添加IPADDR={你的IP地址},例如IPADDR=”192.168.0.104”

在文檔最后新起一行添加PREFIX={你的子網掩碼前綴},例如PREFIX=”24”

在文檔最后新起一行添加GATEWAY={你的網關地址},例如GATEWAY=”192.168.0.1“

 

保存配置變更,通過下面命令重啟網卡(其中ens33為網卡設備名稱):

# nmcli con up ens33   
# systemctl restart NetworkManager

重啟完后,可以通地下面命令查看網卡信息:

# ifconfig

 

問題4:使用命令怎么設置DNS地址?

同樣在Linux的網卡配置目錄 /etc/sysconfig/network-scripts/ 下找到網卡配置文件並用vi或vim打開,在最后新起行來添加你的DNS配置即可:

# vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="d041f8bf-dfef-45e9-8055-466170b5c09f"
DEVICE="ens33"
ONBOOT="yes" DNS1="192.168.1.3" DNS2="192.168.10.105"

  我們行末加了兩個DNS服務器地址配置,保存退出后,使用# systemctl restart NetworkManager 重啟一下網絡:

# systemctl restart NetworkManager

  最后使用vi或vim查看一下NetworkManager最終生成的DNS解析配置文件:

# cat /etc/resolv.conf 
# Generated by NetworkManager
search DHCP HOST
nameserver 10.198.1.1
nameserver 114.114.114.114
nameserver 192.168.1.3
# NOTE: the libc resolver may not support more than 3 nameservers.
# The nameservers listed below may not be recognized.
nameserver 192.168.10.105

  可以看到NetworkManager最終生成了4條DNS服務器配置,其中前兩條是我們系統安裝時指定的,后面兩條是剛才在網卡配置文件末尾添加的,但有個提示說 libc解析器不支持超過3個域名服務器,因此第4條DNS配置可能無法識別,也就是無效咯!search DHCP HOST 表示域名查詢順序為先搜DHCP服務器,再搜本地HOST本地配置。

  提醒下:不要試圖通過直接修改 /etc/resolv.conf 文件來變更DNS的配置,你會失望的,它不會生效!NetworkManager重啟或系統重啟后又會被NetworkManager生成的最終配置信息覆蓋

 

問題 5:圖形界面的Linux能不能啟動成只有命令行的?

答案是可以的啊!從CentOS 7開始系統一共有5個啟動級別或叫運行級別(CentOS7之前有7個):

  • shutdown.target:系統停機狀態,系統默認運行級別不能設為0,否則不能正常啟動
  • emergency.target:緊急維護單用戶狀態,root權限,用於系統維護,禁止遠程登陸
  • rescue.target:多用戶狀態(沒有NFS)
  • multi-user.target:完全的多用戶狀態(有NFS),登陸后進入控制台命令行模式(軟件安裝包選擇過程中選擇無圖形界面的Server就是這個級別)
  • graphical.target:X11控制台,登陸后進入圖形GUI模式(軟件安裝包選擇過程中選擇帶圖形界面的Server with GUI就是這個級別)

  一般正常情況下我們只會用到multi-user.target和graphical.target,特殊維護場景才會打到emergency.target級別,那么如何切換運行級別呢?在終端界面(即命令行界面)運行 # systemctl isolate XXX 就可以了(XXX就是運行級別):

# systemctl isolate graphical.target

  接着查看一下當前運行級別(運行級別新舊對照表見文末):

# runlevel
3 5

 

注意1:如果軟件安裝包選擇的是Server(即運行級別為multi-user.target),那么你 # systemctl isolate graphical.target 是沒有效果的,因為沒有裝圖形界面相着的組件包!你強行systemctl isolate graphical.target  不會報錯,但也不會有效果

注意2:上述命令 # systemctl isolate XXX 只是臨時將運行級別打到XXX級,你下次重啟系統后,它還是會運行到安裝配置時所選定的級別!如果要永久更改啟動級別,需要通下面的命令修改默認啟動級別 :

# systemctl set-default graphical.target
Removed /etc/systemd/system/default.target.
Created symlink /etc/systemd/system/default.target → /usr/lib/systemd/system/graphical.target.

  可以看到上述命令是通過重建軟鏈接文件 /etc/systemd/system/default.target 所指向的目標運行級別配置文件來達到配置變更的

  接着查看一下默認運行級別:

# systemctl get-default
graphical.target

 

  另外要說明一下,舊版的 /etc/inittab 配置文件在CentOS 8中已經不起作用了,廢棄了

# cat /etc/inittab 
# inittab is no longer used.
#
# ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
#
# Ctrl-Alt-Delete is handled by /usr/lib/systemd/system/ctrl-alt-del.target
#
# systemd uses 'targets' instead of runlevels. By default, there are two main targets:
#
# multi-user.target: analogous to runlevel 3
# graphical.target: analogous to runlevel 5
#
# To view current default target, run:
# systemctl get-default
#
# To set a default target, run:
# systemctl set-default TARGET.target

  最后放一下CentOS 7之前的init runlevels與CentOS 7之后的systemctl targets的對照表:

init runlevels systemctl targets 說明
0 shutdown.target 系統停機狀態,系統默認運行級別不能設為0,否則不能正常啟動
1 emergency.target 緊急維護單用戶狀態,root權限,用於系統維護,禁止遠程登陸
2 rescue.target 多用戶狀態(沒有NFS)
3 multi-user.target 完全的多用戶狀態(有NFS),登陸后進入控制台命令行模式(軟件安裝包選擇過程中選擇無圖形界面的Server就是這個級別)
4 系統未使用,保留
5 graphical.target X11控制台,登陸后進入圖形GUI模式(軟件安裝包選擇過程中選擇帶圖形界面的Server with GUI就是這個級別)
6 系統正常關閉並重啟,默認運行級別不能設為6,否則不能正常啟動


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM