Skip to main content

RockyLinux 9 伺服器升級及基本調校

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

基本升級

請先一次性針對整體系統進行套綿升級工作,在 RockyLinux 下我們會使用 yum 或是 dnf 的指令進行套件安裝或是升級工作,請搭配 sudo 指令進行系統更新作業。

$ sudo yum update

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

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

[sudo] password for ossii:

輸入正確的密碼後,就會以 Root 身份執行 yum update 的工作了,接下來會出現類似於以下的訊息,輸入「y」並按下 Enter 鍵,系統會接著執行。

Rocky Linux 9 - BaseOS                          2.8 MB/s | 2.3 MB     00:00
Rocky Linux 9 - AppStream                       6.2 MB/s | 8.4 MB     00:01
Rocky Linux 9 - Extras                           24 kB/s |  16 kB     00:00
Dependencies resolved.
================================================================================
 Package                   Arch   Version                       Repo       Size
================================================================================
Installing:
 kernel                    x86_64 5.14.0-503.40.1.el9_5         baseos    2.0 M
Upgrading:
 NetworkManager            x86_64 1:1.48.10-8.el9_5             baseos    2.3 M
 NetworkManager-libnm      x86_64 1:1.48.10-8.el9_5             baseos    1.8 M
 NetworkManager-team       x86_64 1:1.48.10-8.el9_5             baseos     38 k
 NetworkManager-tui        x86_64 1:1.48.10-8.el9_5             baseos    246 k
 bzip2-libs                x86_64 1.0.8-10.el9_5                baseos     39 k
 cronie                    x86_64 1.5.7-12.el9_5                baseos    115 k
 cronie-anacron            x86_64 1.5.7-12.el9_5                baseos     31 k
 dracut                    x86_64 057-80.git20250411.el9_5      baseos    376 k
 dracut-config-rescue      x86_64 057-80.git20250411.el9_5      baseos     12 k
 dracut-network            x86_64 057-80.git20250411.el9_5      baseos     68 k
 dracut-squash             x86_64 057-80.git20250411.el9_5      baseos     12 k
 e2fsprogs                 x86_64 1.46.5-6.el9_5                baseos    1.0 M
 e2fsprogs-libs            x86_64 1.46.5-6.el9_5                baseos    221 k
 expat                     x86_64 2.5.0-3.el9_5.3               baseos    115 k
 firewalld                 noarch 1.3.4-9.el9_5                 baseos    452 k
 firewalld-filesystem      noarch 1.3.4-9.el9_5                 baseos    8.6 k
 glibc                     x86_64 2.34-125.el9_5.8              baseos    1.9 M
 glibc-common              x86_64 2.34-125.el9_5.8              baseos    290 k
 glibc-gconv-extra         x86_64 2.34-125.el9_5.8              baseos    1.6 M
 glibc-langpack-en         x86_64 2.34-125.el9_5.8              baseos    546 k
 grub2-common              noarch 1:2.06-94.el9_5               baseos    903 k
 grub2-pc                  x86_64 1:2.06-94.el9_5               baseos     12 k
 grub2-pc-modules          noarch 1:2.06-94.el9_5               baseos    909 k
 grub2-tools               x86_64 1:2.06-94.el9_5               baseos    1.8 M
 grub2-tools-minimal       x86_64 1:2.06-94.el9_5               baseos    603 k
 ima-evm-utils             x86_64 1.5-2.el9.0.1                 baseos     68 k
 ipset                     x86_64 7.11-11.el9_5                 baseos     41 k
 ipset-libs                x86_64 7.11-11.el9_5                 baseos     68 k
 iptables-libs             x86_64 1.8.10-11.el9_5               baseos    397 k
 iptables-nft              x86_64 1.8.10-11.el9_5               baseos    187 k
 iputils                   x86_64 20210202-10.el9_5             baseos    168 k
 iwl100-firmware           noarch 39.31.5.1-146.5.el9_5         baseos    191 k
 iwl1000-firmware          noarch 1:39.31.5.1-146.5.el9_5       baseos    191 k
 iwl105-firmware           noarch 18.168.6.1-146.5.el9_5        baseos    270 k
 iwl135-firmware           noarch 18.168.6.1-146.5.el9_5        baseos    278 k
 iwl2000-firmware          noarch 18.168.6.1-146.5.el9_5        baseos    272 k
 iwl2030-firmware          noarch 18.168.6.1-146.5.el9_5        baseos    281 k
 iwl3160-firmware          noarch 1:25.30.13.0-146.5.el9_5      baseos    548 k
 iwl5000-firmware          noarch 8.83.5.1_1-146.5.el9_5        baseos    188 k
 iwl5150-firmware          noarch 8.24.2.2-146.5.el9_5          baseos    188 k
 iwl6000g2a-firmware       noarch 18.168.6.1-146.5.el9_5        baseos    256 k
 iwl6050-firmware          noarch 41.28.5.1-146.5.el9_5         baseos    213 k
 iwl7260-firmware          noarch 1:25.30.13.0-146.5.el9_5      baseos     61 M
 kernel-tools              x86_64 5.14.0-503.40.1.el9_5         baseos    2.3 M
 kernel-tools-libs         x86_64 5.14.0-503.40.1.el9_5         baseos    2.1 M
 libbrotli                 x86_64 1.0.9-7.el9_5                 baseos    312 k
 libcom_err                x86_64 1.46.5-6.el9_5                baseos     25 k
 libgcc                    x86_64 11.5.0-5.el9_5                baseos     84 k
 libgomp                   x86_64 11.5.0-5.el9_5                baseos    260 k
 libnfnetlink              x86_64 1.0.1-23.el9_5                baseos     28 k
 libsemanage               x86_64 3.6-2.1.el9_5                 baseos    116 k
 libss                     x86_64 1.46.5-6.el9_5                baseos     31 k
 libsss_certmap            x86_64 2.9.5-4.el9_5.4               baseos     90 k
 libsss_idmap              x86_64 2.9.5-4.el9_5.4               baseos     41 k
 libsss_nss_idmap          x86_64 2.9.5-4.el9_5.4               baseos     45 k
 libsss_sudo               x86_64 2.9.5-4.el9_5.4               baseos     35 k
 libstdc++                 x86_64 11.5.0-5.el9_5                baseos    731 k
 libxml2                   x86_64 2.9.13-6.el9_5.2              baseos    746 k
 linux-firmware            noarch 20250415-146.5.el9_5          baseos    475 M
 linux-firmware-whence     noarch 20250415-146.5.el9_5          baseos    112 k
 microcode_ctl             noarch 4:20240910-1.20250211.1.el9_5 baseos     10 M
 openssl                   x86_64 1:3.2.2-6.el9_5.1             baseos    1.3 M
 openssl-libs              x86_64 1:3.2.2-6.el9_5.1             baseos    2.4 M
 os-prober                 x86_64 1.77-12.el9_5                 baseos     43 k
 p11-kit                   x86_64 0.25.3-3.el9_5                baseos    510 k
 p11-kit-trust             x86_64 0.25.3-3.el9_5                baseos    141 k
 pam                       x86_64 1.5.1-22.el9_5                baseos    548 k
 pciutils-libs             x86_64 3.7.0-5.el9_5.1               baseos     40 k
 python-unversioned-command
                           noarch 3.9.21-1.el9_5                appstream 9.1 k
 python3                   x86_64 3.9.21-1.el9_5                baseos     26 k
 python3-firewall          noarch 1.3.4-9.el9_5                 baseos    355 k
 python3-libs              x86_64 3.9.21-1.el9_5                baseos    7.5 M
 rocky-gpg-keys            noarch 9.5-1.3.el9                   baseos     12 k
 rocky-release             noarch 9.5-1.3.el9                   baseos     22 k
 rocky-repos               noarch 9.5-1.3.el9                   baseos     12 k
 shadow-utils              x86_64 2:4.9-10.el9_5                baseos    1.1 M
 sssd-client               x86_64 2.9.5-4.el9_5.4               baseos    161 k
 sssd-common               x86_64 2.9.5-4.el9_5.4               baseos    1.6 M
 sssd-kcm                  x86_64 2.9.5-4.el9_5.4               baseos    109 k
 systemd                   x86_64 252-46.el9_5.3                baseos    4.0 M
 systemd-libs              x86_64 252-46.el9_5.3                baseos    671 k
 systemd-pam               x86_64 252-46.el9_5.3                baseos    278 k
 systemd-rpm-macros        noarch 252-46.el9_5.3                baseos     66 k
 systemd-udev              x86_64 252-46.el9_5.3                baseos    1.9 M
 tzdata                    noarch 2025b-1.el9                   baseos    430 k
Installing dependencies:
 freetype                  x86_64 2.10.4-10.el9_5               baseos    386 k
 graphite2                 x86_64 1.3.14-9.el9                  baseos     94 k
 grub2-tools-efi           x86_64 1:2.06-94.el9_5               baseos    539 k
 grub2-tools-extra         x86_64 1:2.06-94.el9_5               baseos    840 k
 harfbuzz                  x86_64 2.7.4-10.el9                  baseos    623 k
 kernel-core               x86_64 5.14.0-503.40.1.el9_5         baseos     18 M
 kernel-modules            x86_64 5.14.0-503.40.1.el9_5         baseos     36 M
 kernel-modules-core       x86_64 5.14.0-503.40.1.el9_5         baseos     30 M
 libpng                    x86_64 2:1.6.37-12.el9               baseos    116 k

Transaction Summary
================================================================================
Install  10 Packages
Upgrade  85 Packages

Total download size: 684 M
Is this ok [y/N]:y

接下來,第一次執行會要求你確認是否要匯入原始來源的 GPG Key,在確認後請輸入「y」鍵,並按下 Enter 鍵繼續,系統會接著執行。

Importing GPG key 0x350D275D:
 Userid     : "Rocky Enterprise Software Foundation - Release key 2022 <releng@r                                                                                                                                               ockylinux.org>"
 Fingerprint: 21CB 256A E16F C54C 6E65 2949 702D 426D 350D 275D
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
Is this ok [y/N]:y
Key imported successfully
...
...

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

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

image.png

安裝基礎套件

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

項次 套件名稱 說明
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 規則的工具。

安裝指令如下:

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

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

變更密碼

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

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

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

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

SELinux 是 Linux 的一種安全強化機制,用來限制程式對系統資源的存取,防止被入侵後進一步破壞系統。不過因為設定複雜、容易導致服務無法正常運作,很多人在實務上會先關閉或設為寬鬆模式,等系統穩定後再考慮啟用。

vim /etc/selinux/config

尋找 SELinux=enforcing 此行並將 enforcing 改為 disabled 或 permissive 並存檔離開,注意,要重新開機設定才會生效哦

基本防火牆設定
  • 直接關閉防火牆設定
     
    如果單位內已經有了對外的硬體防火牆設定,那麼可以考慮將本機的防火牆全數關閉,指令如下:
$ sudo systemctl disable firwalld
$ sudo systemctl stop firewalld
  • 開啟網站服務

有些資訊要求等級高的單位,可能還是需要開啟本機防火牆,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: yes
  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: yes
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

會發現已經開放了 http 及 https 的服務。

變更系統 IP

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

$ ifconfig
ens18: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.3.68  netmask 255.255.255.0  broadcast 192.168.3.255
        inet6 fe80::be24:11ff:fe47:908e  prefixlen 64  scopeid 0x20<link>
        ether bc:24:11:47:90:8e  txqueuelen 1000  (Ethernet)
        RX packets 14386  bytes 15570839 (14.8 MiB)
        RX errors 0  dropped 1  overruns 0  frame 0
        TX packets 3647  bytes 280008 (273.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

請使用 nmtui 來變更 RockyLinux 9 系統的網路資訊,指令如下:

$ sudo nmtui

image.png

請先選擇「Edit a connection」選項,並選擇要編譯哪一張網路,目前只有一張 ens18 的網卡,選擇完會顯示所有的網路資訊。

image.png

在這畫面中,你可以設定該網卡的所有網路資訊,設定完成後請將光標移動到右下角的「OK」並按下 Enter 鍵繼續,在下一個畫面,請將光標移動到右下角的「Back」,並按下 Enter 鍵跳出編譯區域。

image.png

最後在畫面中,請將光標移動到 Quit 後按下 Enter 鍵離開 nmtui 工具畫面。

image.png

設定完成後,後執行以下指令重新取得新的 IP 資訊。

$ sudo nmcli connection down ens18; sudo nmcli connection up ens18

如果你是遠端登入,可能會因此網路中斷,請務必確認你的設定是正確的才執行上述指令,不然就得從 console 端直接登入設定,重新再執行 ifconfig 指令查詢目前新的 IP:

$ ifconfig
ens18: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.3.69  netmask 255.255.255.0  broadcast 192.168.3.255
        inet6 fe80::be24:11ff:fe47:908e  prefixlen 64  scopeid 0x20<link>
        ether bc:24:11:47:90:8e  txqueuelen 1000  (Ethernet)
        RX packets 10820  bytes 1069297 (1.0 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 985  bytes 110314 (107.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

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

$ sudo vim /etc/NetworkManager/system-connections/ens18.nmconnection

內容如下:

[connection]
id=ens18
uuid=34e9d7c6-2b66-39e0-884b-873b9afe0b0d
type=ethernet
autoconnect-priority=-999
interface-name=ens18
timestamp=1747035985

[ethernet]

[ipv4]
address1=192.168.3.69/24,192.168.3.1
dns=8.8.8.8;
method=manual

[ipv6]
addr-gen-mode=eui64
method=auto

[proxy]

上面就 2 個參數,依照實際的網路環境變更即可。

  • address1 (本例先試改為 69,後續再修改回來)
  • dns (依照您實際的設定)

存檔後重新開機也可重新取得新的 IP 資訊。

調整系統時間

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

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

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

$ sudo timedatectl set-timezone Asia/Taipei
[ossii@nextcloud ~]$ date
Wed May 14 11:05:08 CST 2025

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

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

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