我需要在运行 Linux DL4100 发行版的 Western Digital DL4100 NAS 上安装 apt 软件包,其中唯一的软件包系统是dpkg
。为此,我必须安装 multiarch-support,这取决于libc6
哪个取决于libgcc1
.但libgcc1
预取决于multiarch-support
.
光盘上没有名称中包含yum
、pacman
、apt
、aptitude
、portage
、 、dselect
或emerge
的文件。我只在和中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-support
和libgcc1
.
然而,在 Western Digital NAS 上,即使操作系统基于 Debian(有一些迹象表明它是基于 Debian),已安装的软件也不是使用 进行管理的dpkg
,并且修复该问题非常困难,而且很可能会进一步破坏您的系统下线。要在 NAS 上安装软件,您应该使用 MyCloud 中提供的功能。
(Adpkg
受管理的系统应该绝不需要强制安装上述软件包,因为它们是dpkg
其自身的依赖项。)
答案2
--force-...
您可以尝试使用的一些标志来安装软件包dpkg
,使用--force-help
来列出它们。最终的方法是--force-all
旗帜。
您可能需要手动解压某些软件包,然后再次尝试安装。看一下debootstrap
,它需要解决同样的问题,也会有帮助。
答案3
sudo dpkg --force-all -i <.deb filename>
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