我如何知道哪些 rpm 是在 yum 之外管理的?

我如何知道哪些 rpm 是在 yum 之外管理的?

我继承了一个 Centos 5 盒子,我想了解一下 yum 之外安装了哪些 rpm。

奖励:如何审核使用 yum 安装的 RPM 以确保它们没有损坏。

答案1

如果未使用 yum 安装软件包,则yum info缺少From repo字段。

这是从存储库安装的包:

Installed Packages
Name        : java-1.6.0-openjdk
Arch        : x86_64
Epoch       : 1
Version     : 1.6.0.0
Release     : 61.1.10.4.fc16
Size        : 81 M
Repo        : installed
From repo   : updates
Summary     : OpenJDK Runtime Environment
---8<---snip---8<---

这是一个使用命令安装的包rpm

Installed Packages
Name        : jre
Arch        : x86_64
Version     : 1.7.0
Release     : fcs
Size        : 46 M
Repo        : installed
Summary     : Java(TM) Platform Standard Edition Runtime Environment
---8<---snip---8<---

尝试

for each in `rpm -qa`; do yum info $each | egrep "^(Name|Repo|From repo)"; echo; done >/tmp/packages.txt

然后查看/tmp/packages.txt哪些包缺少From repo行。

答案2

yum 安装/更新的 rpm 记录在 /var/log/yum.log 中。所有其他的 rpm 都是在 centos 安装过程中或使用 rpm 命令安装的。

相关内容