パッケージからインストール済みファイルのリストを取得するにはどうすればよいですか?


401

パッケージマネージャーを使用してUbuntuにインストールしたときに、インストールしたアプリケーションの場所を知りたいです。

RabbitMQをインストールして実行locate rabbitmqすると、次の結果が得られました。

/home/anupamg/.m2/repository/com/rabbitmq
/home/anupamg/.m2/repository/com/rabbitmq/amqp-client
/home/anupamg/.m2/repository/com/rabbitmq/amqp-client/1.7.2
/home/anupamg/.m2/repository/com/rabbitmq/amqp-client/1.7.2/_maven.repositories
/home/anupamg/.m2/repository/com/rabbitmq/amqp-client/1.7.2/amqp-client-1.7.2.jar
/home/anupamg/.m2/repository/com/rabbitmq/amqp-client/1.7.2/amqp-client-1.7.2.jar.lastUpdated
/home/anupamg/.m2/repository/com/rabbitmq/amqp-client/1.7.2/amqp-client-1.7.2.jar.sha1
/home/anupamg/.m2/repository/com/rabbitmq/amqp-client/1.7.2/amqp-client-1.7.2.pom
/home/anupamg/.m2/repository/com/rabbitmq/amqp-client/1.7.2/amqp-client-1.7.2.pom.lastUpdated
/home/anupamg/.m2/repository/com/rabbitmq/amqp-client/1.7.2/amqp-client-1.7.2.pom.sha1
/home/anupamg/Downloads/rabbitmq-server-generic-unix-2.4.0.tar.gz

どのアプリケーションですか?コマンドラインからアクセスできるものもあれば、アプリケーションメニューにきれいなアイコンが表示されるものもあります。具体的に。
-Ragnar123

実行可能ファイルと構成ファイルの場所を知りたいですか、それとも実行したいのかわかりませんか?

OK!!!私は実際にWindowsのようにアプリケーションをインストールすると、インストールされたアプリケーションの場所をubuntuでプログラムファイルで見ることができることを知りたい...私はRabbitMqをインストールしただけで、その実行を設定する必要がある場所を知りたい.SHファイル

@ das_weezul: -はい私はSynapticパッケージマネージャからインストール]をクリックします...私はUbuntuの上で初心者ですとき...私のボックスに行われますので、任意のリンクは歓迎されているすべてのものを知りたい

1
答えの1つは、次のdpkg-query -c <package_name.deb>ことを示唆しています。debファイルに対してはできません。私は、ポスターが期待どおりにファイルをリストするdpkg-deb同じparams dpkg-deb -c <filename.deb>Which と共に使用することを意図していたと思います。
gazhay

回答:


600

パッケージがシステムにインストールされたすべてのファイルを表示するには、次を実行します。

dpkg-query -L <package_name>

ファイルを表示するには、.debファイルがインストールされます

dpkg-deb -c <package_name.deb>

インストールされていないパッケージに含まれるファイルを表示するには、一度これを行います(apt-fileをまだインストールしていない場合:

sudo apt-get install apt-file
sudo apt-file update

それから

apt-file list <package_name>

詳しくはこの質問をご覧ください


2
gazhayが上記でコメントしたように、dpkg-query -c foo.deb失敗します。しかし、dpkg-deb -c foo.deb動作します。
カミーユグドゥセヌ

4
更新apt-fileは苦痛です。
sjsam

1
dpkg -L除外された可能性のあるファイルは考慮しないことに注意してください--path-exclude=。それらがインストールされていなくても、それらをリストします。
スティーブ

24

@drysdam dpkg -L <package_name>は当面の問題には最適かもしれませんが、ファイルシステムのさまざまなタイプのファイルの場所を説明するFilesystem Hierarchy Standardを読むことをお勧めします。

決定的なものではありません。それは物事の「大部分」がどうであるかを単に説明するアカウントです。

Ubuntuにさらに具体的なものは、Ubuntu Server Guideです。これは、すべてを十分に詳細に説明しています。(他の多くのガイドでは、あまりにも多くの詳細を説明していますが、これはより良いはずです。)


13

単一のインストール済みパッケージが必要な場合は、パッケージ名を見つけることができます

$ apt-cache search rabbitmq
...
librabbitmq-dev
...

次に、dpkg --listfilesを使用します

$ dpkg --listfiles librabbitmq-dev
/usr/lib/x86-64/librabbit... 
. . . 

バージョンに依存するかもしれませんが、私は使用する必要がありましたdpkg -L <package>
-JimB

dpkg -Lインストールされたパッケージでのみ動作します。
ケノーブ

11

@Gillesの回答は非常に便利です(実際、回答は時間とともに改善されました)。

さらに、補助パッケージ(のようなapt-file)をインストールしたくない場合のためのヒントがあります。

  • 行くhttp://packages.ubuntu.com/
  • [ パッケージディレクトリ検索]セッションに移動します。
  • [ キーワード]フィールドにパッケージ名を挿入し、[ 完全一致のみを表示]を選択します。
  • ディストリビューションを選択して、[ 検索 ]ボタンをクリックします。
  • 次の画面で目的のパッケージを選択します。
  • ページの最後で、アーキテクチャ名の横にあるファイルリストのリンクをクリックします。
  • 次のページには、パッケージのファイルのリストが表示されます。

例として:http : //packages.ubuntu.com/trusty/amd64/multipath-tools/filelist


1
curl -s https://packages.ubuntu.com/$(lsb_release -cs)/$(dpkg --print-architecture)/<<PACKAGE NAME>>/filelist | sed '1,/pfilelist/d;/<\/div>/,$d' :-)
ニコラスミー

0

これは、まだインストールしていないパッケージに対して行う方法の1つです。ファイルのリストを取得しようとしているパッケージについて、以下の「autoconf」を変更するだけです。

mkdir tmp
cd tmp
apt-get download autoconf
ar x *.deb
tar tf data.*
cd ..
rm -r tmp

0

以下を使用しsynaptic-package-managerます。

ここに画像の説明を入力してください

autotools-devパッケージのファイルを検索したい場合、「クイックフィルター」の下にautotools-devと入力して検索します。autotools-devパッケージが自動的に表示されます。それをクリックして選択し、「プロパティ」を押します。表示されるダイアログで、「インストール済みファイル」タブを選択します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.