apt-cache 依赖对于离线安装,列表似乎不递归/不完整或无效

apt-cache 依赖对于离线安装,列表似乎不递归/不完整或无效

我如何确保依赖项列表是递归的,并且使用 apt(sudo apt-get download <package>)下载也是递归进行的?

我正在尝试下载本地文件夹中的每个 .deb 文件,但 sudo apt-get -download 无法有效下载给定的包及其依赖项。它只能下载特定的包。

所以,我正在做

sudo apt-cache depends doxygen

输出为:

  doxygen                                                                      
  Depends: libc6                                                               
  Depends: libclang1-3.6                                                           
  Depends: libgcc1                                                               
  Depends: libstdc++6                                                               
  Conflicts: graphviz                                                              
  Suggests: doxygen-latex                                                        
  Suggests: doxygen-doc                                                             
  Suggests: doxygen-gui                                      
  Suggests: graphviz                
    graphviz:i386

因此,

sudo apt-get download  < each dependency mentioned above >

sudo dpkg -i <each dependency mentioned above>

我收到错误libllvm,说其中一个依赖项未安装。

我如何确保依赖项列表是递归的,并且使用 apt 下载也是递归进行的?

答案1

apt-depends(或 16.04 及更高版本中的 aptdepends)有一个 --recurse 标志,但它并不像您想象的那么有用:

$ apt depends --recurse hello | grep Depends | wc -l

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

102003

您的整个系统由数千个相互依赖的软件包组成。您在系统上安装的应用程序可能仅依赖于少数软件包……但间接依赖于其中大多数软件包。

幸运的是,有更好、更简单的答案

确定已卸载依赖项的一个简单方法是使用 apt 的 --simulate 标志:

$ apt install --simulate doxygen

确定已卸载依赖项的另一种简单方法是使用 Synaptic 中的安装脚本功能。

相关内容