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手动安装。提示:恢复前建议备份重要数据,避免操作失误导致二次损失。若以上方法均无效,可考虑从同版本系统中复制软件包或寻求社区支持。