CentOS 系統管理技巧

    版本為 20:31, 20 Nov 2024

    到這個版本。

    返回到 版本存檔.

    查閱目前版本

    線上教學:

    強制重設 root 密碼

    For GRUB Bootloader)
    系統重開機 -> 進入開機選單

    1. Select the kernel
    2. Press the e key to edit the entry
    3. Select second line (the line starting with the word kernel)
    4. Press the e key to edit kernel entry so that you can append single user mode
    5. Append the letter S (or word Single) to the end of the (kernel) line
    6. Press ENTER key
    7. Now press the b key to boot the Linux kernel into single user mode
    8. At prompt type passwd command to reset password:
    # mount -t proc proc /proc
    # mount -o remount,rw /
    # passwd
    # sync
    # reboot
    

    Grub2

    設定檔:

    • /etc/default/grub,通用設定
    • /etc/grub.d/40_custom,自訂內容

     

    產生開機用的設定檔(請勿手動編輯)

    #> grub2-mkconfig -o /boot/grub2/grub.cfg
    
    如果是 EFI 開機,改用這行
    #> grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg

    修改預設的開機選項
    預設的項目是透過 /etc/default/grub 檔內的 GRUB_DEFAULT 行來定義。不過,要是 GRUB_DEFAULT 行被設定為 saved,這個選項便儲存在 /boot/grub2/grubenv 檔內。你可以這樣檢視它:

    列出目前所有開機選項
    #> awk -F\' '$1=="menuentry " {print $2}' /boot/grub2/grub.cfg
    或
    #> grep "^menuentry" /boot/grub2/grub.cfg | cut -d "'" -f2
    
    目前預設的開機
    #> grub2-editenv list
    saved_entry=CentOS Linux (3.10.0-229.14.1.el7.x86_64) 7 (Core)
    
    調整預設開機
    #> grub2-set-default 2               NOTE: 開機選項清單的第一項編號是 0
    

    沒有 Setup 指令

    CentOS 5:

    yum install setuptool system-config-network* system-config-firewall* system-config-securitylevel-tui system-config-keyboard ntsysv
    

    CentOS 6:

    yum install setuptool
    yum install system-config-network*
    yum install system-config-securitylevel-tui
    yum install system-config-keyboard
    

    CentOS 7:

    網路設定改用 NetworkManger 服務

    yum install NetworkManager-tui
    nmcli d
    nmtui 
    

    安裝 CentOS 6/7 後的重要設定

    CentOS 6:
    預設會啟用 NetworkManager 管理網路,建議關閉

    service NetworkManager stop
    chkconfig NetworkManager off 
    

    移除 SELinux

    在 6.4 之前版本,套件有 bug,當使用 yum 安裝套件時,會卡在 SELinux 套件升級,並且重開機後會造成 kernel panic 無法開機。

    yum remove selinux*
    

    防火牆指令

    關閉防火牆服務

    // CentOS 7
    #> systemctl stop firewalld.service
    #> systemctl disable firewalld.service 
    #> firewall-cmd --state
    

    新增服務通訊埠

    firewall-cmd --permanent --zone=public --add-service={http,https}
    firewall-cmd --permanent --zone=public --add-port=5060-5061/udp
    firewall-cmd --permanent --zone=public --add-port=10000-20000/udp
    

    網路設定新指令

    // CetOS 7
    #> nmcli d
    #> nmtui 
    

    F.A.Q

    [CentOS 6.7] 開機出現錯誤

    Starting cgdcbxd: /usr/sbin/cgdcbxd: libcgroup initialization failed: Cgroup is not mounted
    cgdcbxd: libcgroup initialization failed: Cgroup is not mounted   [FAILED]

    解決:

    檢查 cgconfig 是否啟用自動啟動
    chkconfig cgconfig on
    chkconfig --list cgconfig 
    
    NOTE: 如果是 CentOS 6.7 以前版本,檢查 cgconfig 開機啟動順序是否在 cgdcbxd 之前。
    
    [CentOS 6.7] 磁區的警告訊息

    Partition 1 does not start on physical sector boundary.

    原因:由於比較新 model 的硬碟使用 Advanced Format 這是 4096 bytes/sector 取代舊式的 512 bytes/sector 。雖然新式硬碟仍然支援舊格式,以舊格式建立磁區就會出現這訊息,可能影響使用的效能。

    解決:要修復這問題,必須重新建立磁區,不適合有資料的舊磁區。

    以 fdisk 為例,進入 fdisk 模式後,先執行 u (將預設單位 cylinder 改成 sector) 然後開始新增磁區。

    Powered by MindTouch Core