如何查詢某個套件安裝在系統上的所有檔案
前提
以下以「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