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
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」這個選項。
畫面如果又出現一次請您按「Enter」鍵時,請等待或是直接再按一次「Enter」鍵即可繼續安裝。
3 選擇系統語系
安裝程式會經過一連串偵測硬體的過程,完成後會進入選擇語系的畫面,畫面左方請下拉並選擇「中文」,畫面右方請選擇「繁體中文(台灣)」,如下 圖所示,完成後按下「繼續」鍵。
4 分割硬碟
請先進行硬碟分割的設定,點選畫面中的「安裝目標位置」。
接下來的畫面中,請先點選「自訂」,再往上點選「完成」。
先將分割格式指定為「標準分割區」再按下「+」繼續新增分割區。
安裝過程至少需新增 2 個分割區,說明如下:
SWAP 分割區
Linux 系統需要的記憶體暫存區,建議在此 demo 站中可以新增 4096MB 供系統使用,原則上可以使用實體記憶體 x 2 的模式來做為切割大小的基本參考原則,點擊「+」號後,系統會出現分割區設定的畫面如下所示,請指定「掛載點」為 swap,「容量」建議指定為 4096(或自行規劃)。
/ 系統主要分割區
系統主要分割區,剩下來的空間都全部分配到此處(欲使用容量設定為「空白」即表示分配其餘所有空間至此分割區中)畫面如下所示。
按下「新增掛載點」後,畫面會出現此分割區的詳細設定畫面,SWAP 的部 份不需要特別設定,但是在「/」的部份,需額外指定「檔案系統」的部份為「ext4」(系統預設為 xfs),如下圖所示,指定完成後按下畫面左上方的「完成」鍵。
系統會再次確認分割區的資訊,確認後請按下「接受變更」繼續。
5 設定網路
接下來會回到安裝主畫面,請點選畫面中的「網路與主機名稱」。
分別設定「主機名稱」(完成後先按下「套用」)、開啟乙太網路,最後按下「配置」鍵進行詳細的網路設定。
詳細的網路設定畫面如下,因為是伺服器環境,故建議使用固定 IP,請先點選畫面中的「IPV4 設定」,方法選擇「手動」,並按下畫面中的「新增」鍵後輸入固定的 IP 資訊,在輸入「DNS 伺服器」資訊後點選「儲存」即完成 網路設定。
再按一下「配置」,請點選「一般」並勾選「自動連線,優先順序」如下圖所示,點選「儲存」即完成網路設定。
設定完成後會回到上一個畫面,請確認相關的設定是否正確,確認後按下畫面左上方的「完成」鍵再回到安裝主畫面。
6 設定 Root 密碼
接下來會回到安裝主畫面,請點選畫面中的「設定 Root 密碼」。
設定畫面如下,請輸入二次 Root 密碼,並按下「完成」鍵完成設定。
7 建立使用者
設定完 Root 密碼後,接下來會回到安裝主畫面,請點選畫面中的「建立使用者」。
進到建立使用者的畫面後,如圖請填入使用者姓名及密碼,重點是若要使用一 般使用者管理系統,請記得勾選「讓這位使用者成為管理員」,如下圖所示。
同時要點選「完成」,才會跳回系統安裝主畫面,當安裝完成後,畫面右下角會出現「開始安裝」的按鍵,按下後系統就會開始正式進行安裝作業。
8 重新開機
系統正式進行安裝,完成安裝後的畫面如下,畫面右下角會出現「重新開機」的按鍵,即代表已完成 安裝作業,重新開機就可以啟動基本的系統了。
重新開機後的畫面如下所示(Kernel 後的數字可能會有所不同)。
進行第一次系統升級、調校及安裝基礎套件
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.
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
先查詢看看目前的 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:
完成設定。