web-dev-qa-db-ja.com

dpkg-pre-dependencyのインストール方法?

Western Digital DL4100にaptパッケージをインストールする必要がありますNAS唯一のパッケージシステムがdpkgであるLinux DL4100ディストリビューションを実行しています。これを行うには、multiarch-supportをインストールする必要があります、libc6に依存するlibgcc1に依存します。ただし、libgcc1multiarch-supportに事前依存します。

yumpacmanaptaptitudeportagedselectemergeまたはzypp/var/lib/dpkg/usr/bin/dpkgにはdpkgしかありません。

1つのパッケージが最初のパッケージに事前依存している別のパッケージに依存している場合、これらのパッケージをインストールするにはどうすればよいですか?

# 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
+++-==============-==============
3
3b-fly

理論的には、dpkg- managedシステムでは、1回の操作で複数のパッケージをインストールできるはずです。これにより、依存関係ループのあるパッケージのインストールが可能になります。適切なパッケージがダウンロードされていると仮定します。

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

インストールされます libc6multiarch-supportおよびlibgcc1

Western Digitalの場合NASただし、オペレーティングシステムがDebianに基づいている場合でも(それがいくつかの兆候があります)、インストールされたソフトウェアはdpkgを使用して管理されていません。 NASにソフトウェアをインストールするには、 MyCloud で利用可能な機能を使用する必要があります。

dpkg- managedシステムでは、dpkg自体の依存関係であるため、上記のパッケージを強制的にインストールする必要がありますnever。)

4
Stephen Kitt
  1. Sudo dpkg --force-all -i <.deb filename>
  2. Sudo apt install -f

これら2つのコマンドは問題なく機能し、すべてのソフトウェアで機能します。

0
Prakash Lakhara

dpkgの一部の--force-...フラグを使用してパッケージをインストールしようとすることができます。それらをリストするには、--force-helpを使用します。究極の方法は--force-allフラグです。

一部のパッケージを手動で解凍して、インストールを再試行する必要がある場合があります。同じ問題を解決する必要があるdebootstrapを確認することも役立ちます。

0
jofel