CentOS清理軟件包的步驟
包管理器(yum/dnf)會緩存下載的軟件包和元數據,占用磁盤空間。清理命令如下:
sudo yum clean allsudo dnf clean all/var/cache/yum(yum)或/var/cache/dnf(dnf)目錄下的所有緩存文件。當軟件包被卸載后,其不再被其他軟件需要的依賴包會殘留。使用以下命令自動清理:
sudo yum autoremovesudo dnf autoremove若需移除某個具體軟件包(如httpd),可使用以下命令:
sudo yum remove httpdsudo dnf remove httpdyum-utils(CentOS 7及以下)或dnf-utils(CentOS 8及以上)包含package-cleanup等實用工具,用于更精細的包管理:
# CentOS 7及以下
sudo yum install yum-utils
# CentOS 8及以上
sudo dnf install dnf-utils
使用package-cleanup命令列出系統中無用的依賴包(未被任何軟件包依賴),然后手動刪除:
# 列出無用依賴(不刪除)
sudo package-cleanup --leaves
# 刪除所有無用依賴(謹慎操作,建議先確認列表)
sudo package-cleanup --leaves | xargs sudo yum remove -y # CentOS 7及以下
sudo package-cleanup --leaves | xargs sudo dnf remove -y # CentOS 8及以上
舊內核版本會占用大量磁盤空間,可使用以下命令保留最新1個內核,刪除其余舊內核:
# CentOS 7及以下
sudo package-cleanup --oldkernels --count=1
# CentOS 8及以上(結合dnf)
sudo dnf remove $(dnf list installed kernel | grep -v $(uname -r) | awk '{print $1}')
若自動清理未完全移除軟件包的殘留文件(如配置文件、數據文件),可手動查找并刪除:
find命令搜索軟件包相關文件(如/etc/、/usr/share/、/var/lib/目錄),例如:sudo find / -name "*httpd*" -type f # 查找與httpd相關的文件
rm -rf命令刪除(務必謹慎,避免誤刪系統文件):sudo rm -rf /etc/httpd/ # 示例:刪除httpd配置目錄
yum info <package_name>(CentOS 7及以下)或dnf info <package_name>(CentOS 8及以上)查看軟件包用途,避免移除系統必需組件。--assumeno選項模擬刪除過程,確認無誤后再執行實際刪除(如sudo yum remove --assumeno <package_name>)。