![如何解决由于 yum 更新中断而导致的重复包](https://linux22.com/image/9281/%E5%A6%82%E4%BD%95%E8%A7%A3%E5%86%B3%E7%94%B1%E4%BA%8E%20yum%20%E6%9B%B4%E6%96%B0%E4%B8%AD%E6%96%AD%E8%80%8C%E5%AF%BC%E8%87%B4%E7%9A%84%E9%87%8D%E5%A4%8D%E5%8C%85.png)
今天早上我在 CentOS6 服务器上使用 yum 将 gitlab-ce 从 8.8.4 更新到 8.8.5。
不幸的是,在两个 gitlab-ce 软件包安装步骤的第一个步骤进行到一半时,我不小心按下了键盘上的暂停键。结果就是 yum 停止了。
我尝试了几件事 - 作为一个 *nix 业余爱好者,我首先重试 yum 命令,yum update gitlab-ce
- 这告诉我 yum 已被锁定。所以我找到了 yum PID 并尝试了kill
没有报告任何内容的命令,但是当我查询时 yum 仍在运行ps
。
我发现fg
再次将百胜工作放在前台。但在完成两个升级步骤中的第一个后,它停止了。
我以为我已经解决了问题,用yum-complete-transaction --cleanup-only
它来清理交易日志。
但现在,尝试yum update gitlab-ce
说 8.8.4 将更新,8.8.5 将更新,但后续事务检查发现 8.8.5 已安装,然后停止。我还没有看到它执行两个更新步骤中的第二个。
Apackage-cleanup --dupes
列出 8.8.5和8.8.4. gitlab控制面板仍然显示8.8.4,我需要更新。但是一个gitlab-rake gitlab:env:info
命令显示gitlab是8.8.5 >_<
我现在不确定 gitlab 是否更新。如何找出安装状态并完成安装?
答案1
尝试从 rpmdb 中清除 8.8.5。用于rpm -q gitlab-ce
获取确切的包名称并将其插入到下面的命令中。
rpm -e --justdb ${exact_package}
应该看起来像这样
rpm -e --justdb gitlab-ce-8.8.5