Rocky Linux 8 基本安裝

Rocky Linux 8 基本安裝及調整說明~

下載 Rocky Linux 8 安裝 ISO 檔

1 官方 ISO 下載點

請先至 Rocky Linux 的官網下載最新的 ISO 檔案,因為後續是伺服器的應用,我們會下載 Minimal 的版本進行安裝示範工作。

Rocky Linux 的官網連結為:https://rockylinux.org/

下載網頁連結為:https://rockylinux.org/download

image-1653901006976.png

2 國內 ISO 下載點

目前最新的版本是 8.6 版,支援到 2029 年 5 月 31 日,對於很多追求伺服器穩定的朋友來說,應該是一種福音呀~目前 Rocky Linux 在國內也有 miror 載點,如下所示:

國家高速網路中心載點

開始安裝

1 準備好你的機器環境

基本上測試的環境只需要 32GB 的硬碟空間及 2GB 的記憶體就可以運作了,請依照你自己的實際環境,若是用 usb 開機安裝在實體機上的話,可參考這篇把 ISO 檔寫入 usb 隨身碟中,本篇說明是採用 PVE 虛擬機架構進行測試(如果對 PVE - Provmox VE 有興趣的朋友,可以先參考這裡)。

2 開機進行安裝流程

以虛擬機開機後會先出現以下畫面,請利用方向鍵往上切換至「Install Rocky Linux 8」,並按下 Enter 鍵繼續安裝流程,如果沒有在 60 秒內切換的話,系統會自動執行「Test this media & install Rocky Linux 8」這個選項。

image-1653902817346.png

畫面如果又出現一次請您按「Enter」鍵時,請等待或是直接再按一次「Enter」鍵即可繼續安裝。

3 選擇系統語系

安裝程式會經過一連串偵測硬體的過程,完成後會進入選擇語系的畫面,畫面左方請下拉並選擇「中文」,畫面右方請選擇「繁體中文(台灣)」,如下 圖所示,完成後按下「繼續」鍵。

image-1653903212467.png

4 分割硬碟

請先進行硬碟分割的設定,點選畫面中的「安裝目標位置」。

image-1653903340359.png

接下來的畫面中,請先點選「自訂」,再往上點選「完成」。 

image-1653903521941.png

先將分割格式指定為「標準分割區」再按下「+」繼續新增分割區。

image-1653903711738.png

安裝過程至少需新增 2 個分割區,說明如下:

SWAP 分割區

Linux 系統需要的記憶體暫存區,建議在此 demo 站中可以新增 4096MB 供系統使用,原則上可以使用實體記憶體 x 2 的模式來做為切割大小的基本參考原則,點擊「+」號後,系統會出現分割區設定的畫面如下所示,請指定「掛載點」為 swap,「容量」建議指定為 4096(或自行規劃)。

image-1653904091706.png

/ 系統主要分割區

系統主要分割區,剩下來的空間都全部分配到此處(欲使用容量設定為「空白」即表示分配其餘所有空間至此分割區中)畫面如下所示。

image-1653904211525.png

按下「新增掛載點」後,畫面會出現此分割區的詳細設定畫面,SWAP 的部 份不需要特別設定,但是在「/」的部份,需額外指定「檔案系統」的部份為「ext4」(系統預設為 xfs),如下圖所示,指定完成後按下畫面左上方的「完成」鍵。

image-1653904381759.png

系統會再次確認分割區的資訊,確認後請按下「接受變更」繼續。

image-1653904457173.png

5 設定網路

接下來會回到安裝主畫面,請點選畫面中的「網路與主機名稱」。

image-1653904634915.png

分別設定「主機名稱」(完成後先按下「套用」)、開啟乙太網路,最後按下「配置」鍵進行詳細的網路設定。

image-1653904784343.png

詳細的網路設定畫面如下,因為是伺服器環境,故建議使用固定 IP,請先點選畫面中的「IPV4 設定」,方法選擇「手動」,並按下畫面中的「新增」鍵後輸入固定的 IP 資訊,在輸入「DNS 伺服器」資訊後點選「儲存」即完成 網路設定。

image-1653905206980.png

再按一下「配置」,請點選「一般」並勾選「自動連線,優先順序」如下圖所示,點選「儲存」即完成網路設定。

image-1653905330022.png

設定完成後會回到上一個畫面,請確認相關的設定是否正確,確認後按下畫面左上方的「完成」鍵再回到安裝主畫面。

image-1653905480346.png

6 設定 Root 密碼

接下來會回到安裝主畫面,請點選畫面中的「設定 Root 密碼」。

image-1653905713932.png

設定畫面如下,請輸入二次 Root 密碼,並按下「完成」鍵完成設定。

image-1653905840777.png

7 建立使用者

設定完 Root 密碼後,接下來會回到安裝主畫面,請點選畫面中的「建立使用者」。

image-1653905966600.png

進到建立使用者的畫面後,如圖請填入使用者姓名及密碼,重點是若要使用一 般使用者管理系統,請記得勾選「讓這位使用者成為管理員」,如下圖所示。

image-1653906082203.png

同時要點選「完成」,才會跳回系統安裝主畫面,當安裝完成後,畫面右下角會出現「開始安裝」的按鍵,按下後系統就會開始正式進行安裝作業。

image-1653906235772.png

8 重新開機

系統正式進行安裝,完成安裝後的畫面如下,畫面右下角會出現「重新開機」的按鍵,即代表已完成 安裝作業,重新開機就可以啟動基本的系統了。

image-1653907642950.png

重新開機後的畫面如下所示(Kernel 後的數字可能會有所不同)。

image-1653907778339.png

 

進行第一次系統升級、調校及安裝基礎套件

1 基本升級

在安裝完基礎系統後,需進行基本的升級工作,建議使用安裝過程式的用戶名稱登入,並使用 sudo 指令進行系統更新作業。

$ sudo yum update -y

然後在這個連線階段第一次會出現以下的訊息:

我們相信您已經從本機系統管理員取得
日常注意事項。注意事項通常可以歸結為三件事情:

    #1) 尊重他人隱私。
    #2) 輸入指令前先三思。
    #3) 權力越大則責任越大。

[sudo] kevin 的密碼:

輸入正確的密碼後,就會以 Root 身份執行 yum update 的工作了,接下來會出現類似於以下的訊息,系統會接著執行到完成。

上次中介資料過期檢查:3:01:20 前,時間點為西元2022年05月30日 (週一) 17時48分58秒。
依賴關係解析完畢。
==============================================================================================================================================================================================================
 軟體包                                                 架構                                       版本                                                   軟體庫                                         大小
==============================================================================================================================================================================================================
升級:
 libipa_hbac                                            x86_64                                     2.6.2-4.el8_6                                          baseos                                        118 k
 libsss_autofs                                          x86_64                                     2.6.2-4.el8_6                                          baseos                                        120 k
 libsss_certmap                                         x86_64                                     2.6.2-4.el8_6                                          baseos                                        163 k
 libsss_idmap                                           x86_64                                     2.6.2-4.el8_6                                          baseos                                        122 k
 libsss_nss_idmap                                       x86_64                                     2.6.2-4.el8_6                                          baseos                                        129 k
 libsss_sudo                                            x86_64                                     2.6.2-4.el8_6                                          baseos                                        118 k
 python3-sssdconfig                                     noarch                                     2.6.2-4.el8_6                                          baseos                                        143 k
 rocky-gpg-keys                                         noarch                                     8.6-3.el8                                              baseos                                         12 k
 rocky-release                                          noarch                                     8.6-3.el8                                              baseos                                         21 k
 rocky-repos                                            noarch                                     8.6-3.el8                                              baseos                                         14 k
 rsync                                                  x86_64                                     3.1.3-14.el8_6.2                                       baseos                                        404 k
 sos                                                    noarch                                     4.2-19.el8_6                                           baseos                                        776 k
 sssd                                                   x86_64                                     2.6.2-4.el8_6                                          baseos                                        109 k
 sssd-ad                                                x86_64                                     2.6.2-4.el8_6                                          baseos                                        293 k
 sssd-client                                            x86_64                                     2.6.2-4.el8_6                                          baseos                                        226 k
 sssd-common                                            x86_64                                     2.6.2-4.el8_6                                          baseos                                        1.6 M
 sssd-common-pac                                        x86_64                                     2.6.2-4.el8_6                                          baseos                                        181 k
 sssd-ipa                                               x86_64                                     2.6.2-4.el8_6                                          baseos                                        360 k
 sssd-kcm                                               x86_64                                     2.6.2-4.el8_6                                          baseos                                        251 k
 sssd-krb5                                              x86_64                                     2.6.2-4.el8_6                                          baseos                                        161 k
 sssd-krb5-common                                       x86_64                                     2.6.2-4.el8_6                                          baseos                                        188 k
 sssd-ldap                                              x86_64                                     2.6.2-4.el8_6                                          baseos                                        237 k
 sssd-nfs-idmap                                         x86_64                                     2.6.2-4.el8_6                                          baseos                                        119 k
 sssd-proxy                                             x86_64                                     2.6.2-4.el8_6                                          baseos                                        150 k
將安裝依賴項目:
 bind-libs                                              x86_64                                     32:9.11.36-3.el8                                       appstream                                     174 k
 bind-libs-lite                                         x86_64                                     32:9.11.36-3.el8                                       appstream                                     1.2 M
 bind-license                                           noarch                                     32:9.11.36-3.el8                                       appstream                                     102 k
 fstrm                                                  x86_64                                     0.6.1-2.el8                                            appstream                                      28 k
 libmaxminddb                                           x86_64                                     1.2.0-10.el8                                           appstream                                      32 k
 protobuf-c                                             x86_64                                     1.3.0-6.el8                                            appstream                                      36 k
 python3-bind                                           noarch                                     32:9.11.36-3.el8                                       appstream                                     149 k
 python3-ply                                            noarch                                     3.9-9.el8                                              baseos                                        110 k
 python3-ptyprocess                                     noarch                                     0.5.2-4.el8                                            appstream                                      30 k
將安裝弱依賴項目:
 bind-utils                                             x86_64                                     32:9.11.36-3.el8                                       appstream                                     451 k
 geolite2-city                                          noarch                                     20180605-1.el8                                         appstream                                      19 M
 geolite2-country                                       noarch                                     20180605-1.el8                                         appstream                                     1.0 M
 python3-pexpect                                        noarch                                     4.3.1-3.el8                                            appstream                                     137 k

處理事項摘要
==============================================================================================================================================================================================================
安裝  13 軟體包
升級  24 軟體包

當看到「完成!」出現時,第一次因為有升級到 Kernel,所以建議要重新開機,記得下 reboot 重新開機,然後開機成功後應該就可以看到新的核心版本號了。

$ sudo reboot -> 這個連線階段的第 2 次執行,就不會問你密碼了。
Connection to 192.168.3.194 closed by remote host.
Connection to 192.168.3.194 closed.

image-1653958544838.png

2 安裝基礎套件

基本上會建議安裝以下常用的基本套件,這樣在之後的管理工作上會比較簡單,這份清單會隨著時間更新,列表及說明如下:

項次 套件名稱 說明
1 vim 提供更多 vi 編輯器效果的延伸套件,讓你編輯純文字文件時不再只是單調的畫面。
2 wget 下載網路連結檔案的工具,常常會在安裝其它非 RPM Base 的工具中用到。
3 net-tools 基本網路查詢工具,在確認網路或是服務狀態時會常常用上。
4 yum-utils 套件升級工具的進階小指令。
5 unzip 解壓縮工具。
6 network-scripts 啟用舊式 systemctl restart network.service 指令的套件。
7 policycoreutils-python-utils 用來設定 SELinux 規則的工具。
8 network-scripts 重新啟動網路的 scripts。

安裝指令如下:

$ sudo yum install vim wget net-tools yum-utils unzip policycoreutils-python-utils network-scripts -y

一樣在輸入 Root 密碼後,系統即會自動安裝完成。

3 基本調校工作

如果您想要變更用戶密碼,可以使用「passwd」指令,變更 root 密碼的操作方式如下:

$ sudo passwd root
更改使用者 root 的密碼。
新 密碼:
再次輸入新的 密碼:
passwd:所有核對代符都已成功更新。

如果是變更自己的密碼,只需直接下 passwd 指令即可,但是要先輸入一次原先的密碼。

$ passwd
更改使用者 kevin 的密碼。
Current password:
新 密碼:
再次輸入新的 密碼:
passwd:所有核對代符都已成功更新。

先查詢看看目前的 IP 及網卡資訊為何,我們可以使用 ifconfig 指令:

$ ifconfig
ens18: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.3.194  netmask 255.255.255.0  broadcast 192.168.3.255
        inet6 fe80::f872:86ff:fe29:1587  prefixlen 64  scopeid 0x20<link>
        ether fa:72:86:29:15:87  txqueuelen 1000  (Ethernet)
        RX packets 34083  bytes 21446563 (20.4 MiB)
        RX errors 0  dropped 6  overruns 0  frame 0
        TX packets 5232  bytes 404374 (394.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

所以會看到,網路卡是 ens18,IP 則是 192.168.3.194,如果我們要變更網路資訊的話,請用 vim 指令(vim 指令教學)編輯網路設定檔,本例如下:

$ sudo vim /etc/sysconfig/network-scripts/ifcfg-ens18

內容如下:

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=ens18
UUID=6b412bfd-da98-4545-a791-fe6e62bf816c
DEVICE=ens18
ONBOOT=yes
IPADDR=192.168.3.198
PREFIX=24
GATEWAY=192.168.3.1
DNS1=8.8.8.8

上面 3 行就依照實際的網路環境變更即可,存檔後執行以下的指令重新取得新的 IP 資訊。

$ sudo nmcli networking off; sudo nmcli networking on
$ ifconfig
ens18: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.3.198  netmask 255.255.255.0  broadcast 192.168.3.255
        inet6 fe80::f872:86ff:fe29:1587  prefixlen 64  scopeid 0x20<link>
        ether fa:72:86:29:15:87  txqueuelen 1000  (Ethernet)
        RX packets 11107  bytes 1100107 (1.0 MiB)
        RX errors 0  dropped 1  overruns 0  frame 0
        TX packets 501  bytes 62526 (61.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

當然你也可以用原本的指令,不過因為會斷線,所以建議採用以上的指令重設網路~

$ sudo systemctl restart network.service

在 CentOS 8 / Rock Linux 8 後,預設就會使用 chrony 套件進行網路校時的工作,服務也是啟動的狀態,所以網路若是通的,基本上就可以更新時間資訊,但是透過 date 的指令,你可能會發現時區的設定是錯的。

$ date
一  5月 30 23:51:10 NDT 2022

若要調整時區,請使用 timedatectl 指令來設定,若是 Asia/Taipei 時區,請使用下以下指令:

$ sudo timedatectl set-timezone Asia/Taipei
$ date
二  5月 31 10:23:06 CST 2022

這樣子就完成了時間的調校工作,如果想要列出所有時區的名稱,可以使用以下指令:

$ timedatectl list-timezones
Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
Africa/Asmara
Africa/Bamako
Africa/Bangui
...
...

如此就完成了基本的主機調整工作啦~

基本防火牆設定

1 直接關閉防火牆設定

如果單位內已經有了對外的硬體防火牆設定,那麼可以考慮將本機的防火牆全數關閉,指令如下:

$ sudo systemctl disable firwalld
$ sudo systemctl stop firewalld
2 開啟網站服務

有些資訊要求等級高的單位,可能還是需要開啟本機防火牆,Rocky Linux 預設會啟用防火牆規則,一開始只會開放 SSH 的服務,可使用以下指令查詢:

$ sudo firewall-cmd --zone=public --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens18
  sources:
  services: cockpit dhcpv6-client ssh
  ports:
  protocols:
  forward: no
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

如果要開啟網站服務(http、https)的話,可以使用以下指令開啟。

$ sudo firewall-cmd --zone=public --permanent --add-service=http 
$ sudo firewall-cmd --zone=public --permanent --add-service=https
$ sudo systemctl restart firewalld

再查詢一次防火牆的狀態:

$ sudo firewall-cmd --zone=public --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens18
  sources:
  services: cockpit dhcpv6-client http https ssh
  ports:
  protocols:
  forward: no
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

完成設定。