特定のDebianパッケージのすべてのコマンドを一覧表示

特定のDebianパッケージのすべてのコマンドを一覧表示

特定の Debian パッケージがどのコマンドを提供するかを知りたいです。

たとえば、というパッケージをインストールしたとしますx.deb。このパッケージには、私が使用できるいくつかのコマンドが確実に含まれています。

これらのコマンドをリストする方法。

compgenbashコマンドを使用してシステムで利用可能なすべてのコマンドのリストを生成できることを知っていますが、必要なのは特定のパッケージだけです。

私は解決を試みた:

dpkg -L postgresql-9.3 | egrep '(bin|games)/'
/usr/lib/postgresql/9.3/bin/pg_upgrade
/usr/lib/postgresql/9.3/bin/pg_ctl
/usr/lib/postgresql/9.3/bin/pg_resetxlog
/usr/lib/postgresql/9.3/bin/postgres
/usr/lib/postgresql/9.3/bin/pg_xlogdump
/usr/lib/postgresql/9.3/bin/initdb
/usr/lib/postgresql/9.3/bin/pg_controldata
/usr/lib/postgresql/9.3/bin/postmaster

私はコマンドを試しましたpostgres

user@userPc:~$ postgres
No command 'postgres' found, did you mean:
 Command 'postgrey' from package 'postgrey' (universe)
postgres: command not found

ベストアンサー1

これを使用dpkg -L pkgnameし、grepコマンドでパイプしてbin/andを検索しますgames/

$ dpkg -L bash | grep -E '/(s?bin|games)/'
/bin/bash
/usr/bin/bashbug
/usr/bin/clear_console
/bin/rbash

すべてのバイナリが含まれているかどうかを確認するには、$PATH次のbash機能を試してください。

find_binaries (){
    dpkg -L "$@" | while read -r; do
        [ -f "$REPLY" -a -x "$REPLY" ] && echo "$REPLY"
    done
}

次のように呼び出します。

$ find_binaries postfix
...SNIP...
/usr/lib/postfix/postfix-files
/usr/lib/postfix/pipe
/usr/lib/postfix/proxymap
/usr/lib/postfix/local
/usr/lib/postfix/discard
...SNIP...

おすすめ記事