web-dev-qa-db-ja.com

パッケージがyumにインストールされているかどうかを正確に確認するにはどうすればよいですか?

私は次のような答えを得続けます:

yum list installed | grep bind

または

rpm -qa | grep bind

しかし、私はこれらのような他のいくつかのバインドパッケージのリストを取得しているため、正確ではありません。

bind-utils-9.8.2-0.17.rc1.el6_4.5.x86_64
rpcbind-0.2.0-11.el6.x86_64
bind-libs-9.8.2-0.17.rc1.el6_4.5.x86_64
samba-winbind-3.6.9-151.el6.x86_64
samba-winbind-clients-3.6.9-151.el6.x86_64
ypbind-1.20.4-30.el6.x86_64

それは私が欲しかったことではありません。代わりに、バインドコアパッケージがインストールされているかどうかを正確に確認したいと思います。例えば。 bind.x86_64 32:9.8.2-0.17.rc1.el6_4.6

私は次のようなものを望んでいました:

yum check installed bind

しかし、うまくいけば、誰かが光を当てることができました。

62
checksum

これを試しましたか?

$ yum list installed bind
71
plasmid87

このクエリを発行するはるかに簡単な方法があります:rpm -qa | grep bindまたはrpm -q bind。前者は、パッケージ名が完全にわからない場合に最適です。

16
John

このコマンドの結果を解析することが最も完全な答えです。正確なパッケージ名を知る必要があります。

yum info bind

Loaded plugins: refresh-packagekit, rhnplugin
This system is receiving updates from RHN Classic or RHN Satellite.
Installed Packages
Name        : bind
Arch        : x86_64
Epoch       : 32
Version     : 9.8.2
Release     : 0.17.rc1.el6_4.6
Size        : 7.3 M
Repo        : installed
From repo   : rhel-x86_64-workstation-6
Summary     : The Berkeley Internet Name Domain (BIND) DNS (Domain Name System) server
URL         : http://www.isc.org/products/BIND/
License     : ISC
Description : BIND (Berkeley Internet Name Domain) is an implementation of the DNS
        : (Domain Name System) protocols. BIND includes a DNS server (named),
        : which resolves Host names to IP addresses; a resolver library
        : (routines for applications to use when interfacing with DNS); and
        : tools for verifying that the DNS server is operating properly.

これを行うために私が考え出した最高の1つのライナーは(スクリプトですばやく使用するのに最適です)です。

yum info <package_name> | grep Repo | awk '{ print $3 }'

例:現在gitをインストールしている場合:

yum info git | grep Repo | awk '{ print $3 }'

これはinstalledを返します

現在しないでくださいgitをインストールしている場合、同じ前のコマンドがbase/7/x86_64を返します。これは、gitで現在利用可能なインストールです。

1
domdambrogia