2025-02-27

為何建議CentOS7更換為AlmaLinux? 與AlmaLinux基本套件安裝步驟

為何建議CentOS7更換為AlmaLinux?

一、CentOS 7 與 AlmaLinux 比較

CentOS 7

  • 基礎與版本:CentOS 7 基於 RHEL 7,發行時間較早,適合較舊的系統環境。
  • 支援狀態:雖然 CentOS 7 仍有安全更新,但隨著 CentOS 轉型為 CentOS Stream,其穩定性與長期支援策略上已不再是最佳選擇。
  • 生態系統:社群資源豐富,但隨著新專案的出現,部分工具與套件更新也逐漸偏向新版系統。

AlmaLinux

  • 基礎與版本:AlmaLinux 為 1:1 與 RHEL 二進位相容的發行版,目前通常以 RHEL 8 為基底,擁有較新的軟體包與核心技術。
  • 社群與支援:由社群及企業共同推動,提供長期穩定的支援,特別適用於企業生產環境。
  • 安全與更新:定期安全更新,並且在 CentOS 改變策略後,成為企業與使用者轉換的熱門選擇。

為何建議改用 AlmaLinux?

  1. 穩定與安全:AlmaLinux 具有與 RHEL 相同的穩定性與安全更新機制,能夠持續獲得補丁及改進。
  2. 長期支援:提供更長期的維護與更新,相較於 CentOS 7 未來可能逐漸被邊緣化,AlmaLinux 更適合作為企業生產環境的替代方案。
  3. 社群活躍:社群與企業共同投入,讓套件更新及相關文件更為完整,遷移過程也有較多參考資源。

二、AlmaLinux 常用套件安裝與設定步驟

1. 校時設定與時區設定為台北

AlmaLinux 預設使用 chrony 進行時間同步,若未安裝可依需求安裝:

sudo dnf install chrony -y

啟動並設定開機自動啟動:

sudo systemctl start chronyd
sudo systemctl enable chronyd

設定系統時區為 Asia/Taipei

sudo timedatectl set-timezone Asia/Taipei

檢查時區設定是否成功:

timedatectl

2. 修改 SSH Port 為 12345 與 SELinux 調整

(1) 修改 SSH 連線埠號

編輯 SSH 服務設定檔 /etc/ssh/sshd_config,將預設的 22 埠改為 12345:

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
sudo vim /etc/ssh/sshd_config

在檔案中尋找 #Port 22(或已有設定 Port 22)並修改為:

Port 12345

儲存後,重啟 SSH 服務:

sudo systemctl restart sshd

(2) 調整 SELinux 設定,允許 SSH 使用 12345 埠

若系統尚未安裝 policycoreutils-python-utils(提供 semanage 指令),先安裝:

sudo dnf install policycoreutils-python-utils -y

接著新增或修改埠號設定:

sudo semanage port -a -t ssh_port_t -p tcp 12345
sudo semanage port -m -t ssh_port_t -p tcp 12345

確認 SELinux 設定:

semanage port -l | grep ssh

3. 安裝與設定防火牆 iptables,開啟 12345 埠

(1) 安裝 iptables-services

sudo dnf install iptables-services -y

(2) 停用 firewalld 並啟用 iptables 服務

sudo systemctl stop firewalld
sudo systemctl disable firewalld
sudo systemctl start iptables
sudo systemctl enable iptables

(3) 開啟 12345 埠號

sudo iptables -I INPUT -p tcp --dport 12345 -j ACCEPT

儲存規則:

sudo /usr/libexec/iptables/iptables.init save

重啟 iptables 服務:

sudo systemctl restart iptables

4. 額外推薦安裝的常用套件

  • vim(文字編輯器):
    sudo dnf install vim -y
  • wget(下載工具):
    sudo dnf install wget -y
  • curl(資料傳輸工具):
    sudo dnf install curl -y
  • net-tools(包含 ifconfig 等網路工具):
    sudo dnf install net-tools -y
  • htop(進程監控工具):
    sudo dnf install htop -y