如何查詢某個套件安裝在系統上的所有檔案

前提

以下以「hello」這個套件為例。

方式一

執行

$ dpkg -L hello

或是

$ dpkg-query -L hello

會顯示

/.
/usr
/usr/bin
/usr/bin/hello
/usr/share
/usr/share/info
/usr/share/info/hello.info.gz
/usr/share/doc
/usr/share/doc/hello
/usr/share/doc/hello/NEWS
/usr/share/doc/hello/copyright
/usr/share/doc/hello/changelog.Debian.gz
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/hello.1.gz

方式二

執行

$ cat /var/lib/dpkg/info/hello.list

$ more /var/lib/dpkg/info/hello.list

$ less /var/lib/dpkg/info/hello.list

$ cat /var/lib/dpkg/info/hello.list | more

$ cat /var/lib/dpkg/info/hello.list | less

會顯示

/.
/usr
/usr/bin
/usr/bin/hello
/usr/share
/usr/share/info
/usr/share/info/hello.info.gz
/usr/share/doc
/usr/share/doc/hello
/usr/share/doc/hello/NEWS
/usr/share/doc/hello/copyright
/usr/share/doc/hello/changelog.Debian.gz
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/hello.1.gz

方式三

下載「hello」這個套件

$ apt-get download hello

然後執行

$ dpkg -c hello_2.8-4_amd64.deb

$ dpkg-deb -c hello_2.8-4_amd64.deb

會顯示

drwxr-xr-x root/root         0 2013-08-27 00:25 ./
drwxr-xr-x root/root         0 2013-08-27 00:25 ./usr/
drwxr-xr-x root/root         0 2013-08-27 00:25 ./usr/bin/
-rwxr-xr-x root/root     22984 2013-08-27 00:25 ./usr/bin/hello
drwxr-xr-x root/root         0 2013-08-27 00:25 ./usr/share/
drwxr-xr-x root/root         0 2013-08-27 00:25 ./usr/share/info/
-rw-r--r-- root/root     11729 2013-08-27 00:25 ./usr/share/info/hello.info.gz
drwxr-xr-x root/root         0 2013-08-27 00:25 ./usr/share/doc/
drwxr-xr-x root/root         0 2013-08-27 00:25 ./usr/share/doc/hello/
-rw-r--r-- root/root      3108 2012-04-19 21:51 ./usr/share/doc/hello/NEWS
-rw-r--r-- root/root      2251 2012-05-28 04:07 ./usr/share/doc/hello/copyright
-rw-r--r-- root/root      1180 2013-08-27 00:25 ./usr/share/doc/hello/changelog.Debian.gz
drwxr-xr-x root/root         0 2013-08-27 00:25 ./usr/share/man/
drwxr-xr-x root/root         0 2013-08-27 00:25 ./usr/share/man/man1/
-rw-r--r-- root/root       729 2013-08-27 00:25 ./usr/share/man/man1/hello.1.gz

方式四

下載「hello」這個套件

$ apt-get download hello

然後執行下面的指令解開套件

$ dpkg -x hello_2.8-4_amd64.deb hello

或是

$ dpkg-deb -x hello_2.8-4_amd64.deb hello

再來執行tree觀看

$ tree hello

就可以看到

hello
└── usr
    ├── bin
    │   └── hello
    └── share
        ├── doc
        │   └── hello
        │       ├── changelog.Debian.gz
        │       ├── copyright
        │       └── NEWS
        ├── info
        │   └── hello.info.gz
        └── man
            └── man1
                └── hello.1.gz

8 directories, 6 files

更多參考

額外一提

執行

$ whatis dpkg

$ man -f dpkg

會顯示

dpkg (1)             - package manager for Debian

執行

$ whatis dpkg-query

$ man -f dpkg-query

會顯示

dpkg-query (1)       - a tool to query the dpkg database

執行

$ whatis dpkg-deb

$ man -f dpkg-deb

會顯示

dpkg-deb (1)         - Debian package archive (.deb) manipulation tool