yum history回滾誤刪操作(推薦,需歷史記錄啟用)yum history是yum內置的事務管理工具,可查看并撤銷之前的卸載/安裝操作,是最便捷的恢復方式(需確保yum歷史記錄功能未被禁用)。
yum history,輸出會顯示所有歷史操作的ID、開始時間、操作類型(如remove卸載)及涉及的軟件包數量。重點關注State列(Complete表示已完成),找到誤刪操作對應的ID。yum history info [ID]查看該次操作的具體內容,包括被移除的軟件包名稱(如package-name),確認是否為目標操作。yum history undo [ID]撤銷該次操作,yum會自動重新安裝被移除的軟件包,并恢復其依賴關系。執行后會提示確認,輸入y繼續即可。rm -f /var/lib/yum/history/*清理(謹慎操作,清理后將無法回滾);yum update更新軟件包索引后再試。yum reinstall重新安裝誤刪軟件若知道誤刪軟件的準確名稱,可直接通過yum reinstall命令重新安裝,該方法無需依賴歷史記錄,適用于明確軟件名的場景。
yum search 關鍵詞搜索(如yum search apache),找到目標軟件包。sudo yum reinstall package-name(如sudo yum reinstall httpd),yum會從配置的倉庫中下載并重新安裝該軟件包,同時修復依賴關系。--skip-broken選項跳過有問題的包(不推薦頻繁使用,需后續手動解決)。若僅誤刪了軟件的配置文件或部分文件(而非整個軟件包),可嘗試從yum緩存中恢復:
/var/cache/yum目錄(如/var/cache/yum/x86_64/7/,具體路徑取決于系統版本和倉庫)。ls或find命令查找誤刪的文件(如find /var/cache/yum -name "lost-file.conf"),找到后復制到原路徑(如cp /var/cache/yum/x86_64/7/httpd-2.4.6-90.el7.centos.x86_64.rpm /tmp/,再提取或安裝)。若定期進行了系統備份(如使用rsync、tar或第三方工具如Bacula),可從備份介質中恢復整個軟件包或相關文件:
/backup/system-20250910.tar.gz)。tar或rsync命令恢復(如tar -zxvf /backup/system-20250910.tar.gz -C /恢復整個系統,或rsync -avz /backup/usr/bin/ /usr/bin/恢復特定目錄)。yum-utils(yum install yum-utils),其中的package-cleanup命令可清理損壞的軟件包或修復依賴關系(如package-cleanup --problems查看問題,package-cleanup --dupes查找重復包)。rpm -ivh package-name.rpm手動安裝。提示:恢復前建議備份重要數據,避免操作失誤導致二次損失。若以上方法均無效,可考慮從同版本系統中復制軟件包或尋求社區支持。