查找共享库的绝对路径

查找共享库的绝对路径

我是 Linux 新手,我正在尝试找到以下命令输出之一中列出的依赖项的绝对路径。

apt-cache showpkg "package name"
apt-cache depends "package name"

执行上述命令后,我得到了软件包所依赖的依赖项列表,但没有得到该依赖项的路径,我们可以使用该路径ldd进一步检查该软件包的共享依赖项。

我的问题是如何找到这些库在整个系统中的位置。我正在使用Ubuntu 16.4。出于某种原因,我必须找到apt-cache showpkg命令输出中提供的依赖项列表中的进一步共享依赖项。任何帮助都将不胜感激,并提前感谢您。

例如:

apt-cache depends lighttpd
lighttpd
  Depends: libattr1
  Depends: libbz2-1.0
  Depends: libc6
 |Depends: libgamin0
  Depends: libfam0
    libgamin0
  Depends: libldap-2.4-2
  Depends: libpcre3
  Depends: libssl1.0.0
  Depends: zlib1g
  Depends: init-system-helpers
  Depends: perl
 |Depends: lsb-base
  Depends: systemd
    systemd:i386
  Depends: mime-support
  Depends: libterm-readline-perl-perl
  Recommends: spawn-fcgi
  Suggests: openssl
  Suggests: rrdtool
  Suggests: apache2-utils
    apache2-utils:i386
  Suggests: ufw

答案1

抱歉回答迟了,回顾一下以前未回答的迁移问题:让我们更深入地了解一下软件包依赖关系和文件位置:

包是存货文件集合(如书中的目录 (TOC)),而文件位置是指向文件在磁盘上的位置的指针。

但是,您可以拥有目录而没有书籍(没有文件的软件包),并且可以拥有没有软件包依赖项的文件(例如独立脚本)

因此,如果您只想知道系统上安装的软件包的文件位置,您必须执行以下操作:

  • 列出所有包
  • 获取这些包中的文件列表
  • 然后locate --existing通过定位来运行该列表(最快,find但需要更长时间)你就会得到你需要的东西!
  • 知道您可能仍然没有包的文件和没有文件的包(元包)

相关内容