回答:
apt-cache policy <package name>
dpkg -s
ただし:askubuntu.com/a/1108801/52975
私は常にコマンドラインからこれを使用しています:
dpkg -l | grep mysql
上記の例では、dpkgにインストールされているすべてのパッケージをリストするように要求し、mysqlが名前に含まれるパッケージのみをgrepします。
dpkg -l "*mysql*"
これも機能し、出力の説明行を非表示にしません。
dpkg -l "*mysql*"
(またはdpkg -l '*mysql*'
)ターミナルウィンドウの1行に各パッケージを収めるために、出力の特別なフォーマットを作成します(grepはしません)。このフォームでは、ワイルドカード形式(プレフィックスまたはサフィックス)を選択し、ワイルドカードを使用するかどうか(grepと比較して)を選択できます。しかし、grepは素晴らしい色を与えます。)))
今回はaptitudeを使用したもう1つのバリアント:
aptitude show <package>
ここでもタブ補完が機能します。
がインストールされていないdpkg-query -s <package> 2>/dev/null | grep -q ^"Status: install ok installed"$
場合は終了コード1を返し<package>
、<package>
インストールされている場合は0を返すため、スクリプトで使用できます。
dpkg -s
返される場合0
、パッケージが完全に/正しくインストールされていることを必ずしも意味しません。パッケージが状態にあるか状態にある場合にdpkg -s
も返されます(また、にあると思いますが、私はそれを確認しませんでした)。[のmanページを参照してください(manpages.ubuntu.com/manpages/oneiric/man1/dpkg.1.htmlさらに「不完全」状態のために)。0
half-configured
config-files
half-installed
dpkg
より簡単なソリューション:
apt list
インストールされたパッケージをリストするコマンドがあります。また、特定のパッケージを検索することもできます
apt list <package>
詳細についてはman apt
、を参照してください。
apt show
詳細は
dpkg -s
プログラムによる使用
私は好きdpkg -s
それがステータスで終了して1
パッケージのいずれかがインストールされていない場合は、それを自動化することが容易になり、:
pkgs='qemu-user pandoc'
if ! dpkg -s $pkgs >/dev/null 2>&1; then
sudo apt-get install $pkgs
fi
こちらもご覧ください:
Ubuntu 18.10。でテスト済み。
次のdpkg -l
例で出力されるステータスを確認する必要があります。
$ dpkg -l firefox-esr vim winff
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-====================================-=======================-=======================-=============================================================================
hi firefox-esr 52.9.0esr+build2-0ubunt amd64 Safe and easy web browser from Mozilla
ii vim 2:8.1.1198-0york0~14.04 amd64 Vi IMproved - enhanced vi editor
rc winff 1.5.3-3 all graphical video and audio batch converter using ffmpeg or avconv
ここでは両方vim
とfirefox-esr
インストールされている、したがって、次のように入力します。
$ dpkg -l firefox-esr | grep -q ^.i && echo This package is installed. || echo This package is NOT installed.
This package is installed.
$ dpkg -l vim | grep -q ^.i && echo This package is installed. || echo This package is NOT installed.
This package is installed.
$ dpkg -l winff | grep -q ^.i && echo This package is installed. || echo This package is NOT installed.
This package is NOT installed.