web-dev-qa-db-ja.com

apt-getパッケージに含まれているプログラムを知るにはどうすればよいですか?

特定のpackageが何をインストールするかを知りたい。たとえば、ncursesをインストールするとき、 TAB キーが展開されます:

Sudo apt-get install ncurses-

表示する:

ncurses-base      ncurses-doc       ncurses-hexedit
ncurses-bin       ncurses-examples  ncurses-term

たとえば、ncurses-termがインストールされていることを知るにはどうすればよいですか?主にプログラムに興味がありますが、ライブラリやその他のファイルタイプも有用です。

コマンドラインメソッドは、可能であれば、推奨されます(その他も受け入れられます)。

17

ここにいくつかのオプションがあります。これらはパッケージによってインストールされたファイルをリストしますall

A.パッケージに含まれるすべてのファイルのリスト

  1. インストール済みパッケージの場合

    dpkg -L ncurses-term
    
  2. すべてのパッケージについて、インストールされているかどうかに関係なく

    apt-file -F list ncurses-term
    

    -Fはパターンマッチングを有効にして、exact名前が一致するパッケージのみが返されるようにします。 apt-fileSudo apt-get install apt-fileをインストールしてから、Sudo apt-file updateでデータベースを更新する必要がある場合があります。

B.パッケージに含まれる実行可能ファイルのみをリストする

  1. インストール済みパッケージの場合

    dlocateSudo apt-get dlocate)をインストールして実行するだけです:

    dlocate -lsbin ncurses-term 
    

    man dlocateで説明されているように:

    -lsbinパッケージ内の実行可能ファイル(存在する場合)のフルパス/ファイル名を一覧表示します

    追加のパッケージをインストールしたくない場合は、手動でインストールできます。ファイルのリストを収集し、実行可能ビットが設定されているファイルを見つけます。

    apt-file -F list ncurses-term | cut -d ' ' -f 2 | 
        while read file; do [[ -x $file && -f $file ]] && echo "$file"; done
    

    上記の小さなスクリプトレットはパスのみを出力し(cut -d ' ' -f 2)、ファイルが実行可能かどうかを確認するwhileループを通過し(-x $file)、通常のファイルである場合、ディレクトリまたはシンボリックリンク(-f $file)はなく、両方のテストに合格した場合にのみその名前を出力します。

  2. すべてのパッケージについて、インストールされているかどうかに関係なく

    アンインストールしたパッケージに含まれる実行可能ファイルのみをリストする方法はありません。ただし、ほとんどの実行可能ファイルはbinディレクトリにインストールされるため、出力を解析することでそれらのほとんどを取得できます。

     apt-file -F list ncurses-term | grep -Ew "bin|sbin"
    

    -wオプションは単語全体に一致するため、たとえばtrashbinなどにインストールされません。


NOTE:上記のコマンドはいずれもncurses-termの出力を生成しませんが、これはこのパッケージが実行可能ファイルをインストールしないためです。それでもコマンドは機能します。別のパッケージで試してください。

20
terdon

Apt-fileを使用できます。

Sudo apt-file update        
apt-file list package_name
4
Sylvain Pineau

ブラウザを使用する可能性があります(したがって、APTシステムへのアクセスは必要ありません)。たとえば、パッケージ「ncurses-term」のファイルの内容を一覧表示するには、単に入力します

https://packages.debian.org/wheezy/all/ncurses-term/filelist

debianのブラウザのアドレスバー(必要に応じて「wheezy」を置き換えます)または

http://packages.ubuntu.com/saucy/all/ncurses-term/filelist

ubuntuの場合(必要に応じて「saucy」を置き換えます)。

3
Michael Kremser