🐧 Linux 常見錯誤與排查全攻略
使用 Linux 系統時,即使是熟練的管理員,也難免遇上服務啟動錯誤、網路不通、權限不足或 SELinux 阻擋等狀況。 本文整理出最常見的 10 種錯誤類型 與實際排查指令,幫助你快速定位問題來源,恢復系統運作。
1️⃣ 權限錯誤(Permission Denied)
最常見於存取系統檔案、執行指令或自動化腳本時。
sudo chown -R user:user /path/to/file
sudo chmod 755 /usr/local/bin/script.sh
getenforce # 查看 SELinux 狀態
sudo restorecon -Rv /var/www/html
排查方向: 檢查檔案擁有者、權限模式與 SELinux 標籤。
2️⃣ systemd 服務啟動失敗
若啟動服務顯示 failed,可用以下指令分析:
sudo systemctl status nginx
sudo journalctl -xeu nginx
多數情況為設定檔錯誤、執行權限不足或缺少依賴。
3️⃣ 網路連線異常
當 ping 或 curl 無法通時,請依序確認:
ip a
sudo systemctl restart NetworkManager
curl -I https://example.com
ss -tulnp | grep 80
4️⃣ 防火牆阻擋(Firewalld / UFW)
常見於伺服器開啟服務後卻仍無法連線:
# CentOS / Rocky Linux
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --reload
# Ubuntu / Debian
sudo ufw allow 80/tcp
sudo ufw reload
5️⃣ 套件相依性錯誤(Dependencies Issue)
sudo dnf clean all && sudo dnf makecache
sudo apt --fix-broken install
若仍失敗,檢查來源庫設定或嘗試 dnf repoquery 找出缺漏套件。
6️⃣ 磁碟空間不足(No Space Left on Device)
df -h
du -sh /* | sort -h
清理 /var/log 或使用 journalctl --vacuum-time=7d 刪除舊日誌。
7️⃣ 記憶體不足(Out of Memory)
服務被系統強制中止時可新增 Swap 空間:
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
8️⃣ SSH 登入失敗
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
sudo systemctl restart sshd
確保伺服器 /etc/ssh/sshd_config 中已啟用 PubkeyAuthentication yes。
9️⃣ 系統更新失敗
常見錯誤如 GPG key error 或來源失效:
sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
sudo dnf update -y
Ubuntu 則可檢查 /etc/apt/sources.list 是否含正確鏡像網址。
🔟 自動啟動問題
sudo systemctl enable squid
sudo systemctl is-enabled squid
sudo systemctl list-dependencies multi-user.target
若依賴順序錯誤,請在 Unit 檔中設定 After=network.target。
📘 結語
Linux 系統穩定但極度靈活,錯誤訊息往往是最好的線索。
學會善用 systemctl、journalctl、firewall-cmd 與 ss/netstat 等工具,
即可大幅縮短排查時間,讓你從「卡關」進階到「快速復原」。
🔗 延伸閱讀
- 🐧🧱 Linux Proxy Server 建置教學(Squid 安裝與設定指南)
- 🐧 Linux systemd 深入解析與啟動流程管理
- 🔥 Linux Firewall + Fail2Ban 安全防護實作
— WWFandy・系統與網路筆記
沒有留言: