我正在尝试查找安装的文件libboost-all-dev
使用dpkg
,但它不起作用。首先,表明我已经安装了该包:
$ find /usr/lib/ -name '*boost*sys*'
/usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.67.0
/usr/lib/x86_64-linux-gnu/libboost_filesystem.a
/usr/lib/x86_64-linux-gnu/libboost_filesystem.so
/usr/lib/x86_64-linux-gnu/libboost_system.so.1.67.0
/usr/lib/x86_64-linux-gnu/libboost_system.a
/usr/lib/x86_64-linux-gnu/libboost_system.so
現在運行:
$ dpkg -l boost
dpkg-query: no packages found matching boost
$ dpkg -L libboost-all-dev
/.
/usr
/usr/share
/usr/share/doc
/usr/share/doc/libboost-all-dev
/usr/share/doc/libboost-all-dev/copyright
/usr/share/doc/libboost-all-dev/changelog.gz
所以它只显示两个文件:copyright
和changelog.gz
。所有库和头文件都丢失了。奇怪的是dpkg -l
根本找不到任何东西:
$ dpkg -l a
dpkg-query: no packages found matching a
答案1
基本上,这个包只是一个元包,依赖于一堆其他包裹。
例如这里有一个依赖链:
libboost-all-dev --> libboost-system-dev --> libboost-system1.67-dev
/usr/lib/x86_64-linux-gnu/libboost_system.so
源自何处。
您可以使用dpkg -S PATH
来查找哪个包创建了相应的文件。