dpkg - 如何安装预依赖项?

dpkg - 如何安装预依赖项?

我需要在运行 Linux DL4100 发行版的 Western Digital DL4100 NAS 上安装 apt 软件包,其中唯一的软件包系统是dpkg。为此,我必须安装 multiarch-support,这取决于libc6哪个取决于libgcc1.但libgcc1预取决于multiarch-support.

光盘上没有名称中包含yumpacmanaptaptitudeportage、 、dselectemerge的文件。我只在和中zypp找到过。dpkg/var/lib/dpkg/usr/bin/dpkg

如何安装这些软件包,其中一个软件包依赖于另一个软件包,而另一个软件包预先依赖于第一个软件包?

# dpkg -i /path/to/libc6.deb /path/to/multiarch-support.deb /path/to/libgcc1.deb

回报

dpkg: package libgcc1 pre-depends on multiarch-support, which is not installed or flagged to be installed

dpkg下没有安装包:

# dpkg -l
    Name           Version
+++-==============-==============

答案1

理论上,在dpkg托管系统上,您应该能够在一次操作中安装多个软件包;这将允许安装具有依赖循环的软件包。假设您已经下载了适当的软件包:

dpkg -i libc6_*deb multiarch-support_*deb libgcc1_*deb

将安装libc6,multiarch-supportlibgcc1.

然而,在 Western Digital NAS 上,即使操作系统基于 Debian(有一些迹象表明它是基于 Debian),已安装的软件也不是使用 进行管理的dpkg,并且修复该问题非常困难,而且很可能会进一步破坏您的系统下线。要在 NAS 上安装软件,您应该使用 MyCloud 中提供的功能

(Adpkg受管理的系统应该绝不需要强制安装上述软件包,因为它们是dpkg其自身的依赖项。)

答案2

--force-...您可以尝试使用的一些标志来安装软件包dpkg,使用--force-help来列出它们。最终的方法是--force-all旗帜。

您可能需要手动解压某些软件包,然后再次尝试安装。看一下debootstrap,它需要解决同样的问题,也会有帮助。

答案3

  1. sudo dpkg --force-all -i <.deb filename>
  2. sudo apt install -f

这两个命令完美运行并且适用于所有软件。

答案4

找到安装了的机器apt-get并运行以下命令:

apt-get --print-uris --yes install YourTargetPackage | grep ^\' | cut -d\' -f2 | xargs wget

它将把所有依赖项下载到您的计算机上。

然后,您可以在计算机上复制此依赖项dpkg-only并下载所有依赖项:

dpkg -i pathToFolderWithDeps/*

然后安装您的应用程序:

dpkg -i YourTargetPackage.deb

相关内容