「依存関係が満たされていない」ため、libssl1.0.0:i386 をインストールできません。

「依存関係が満たされていない」ため、libssl1.0.0:i386 をインストールできません。

私は以下のアドバイスを読んで従いましたこの質問無駄でした。14.04libssl1.0.0:i386ボックス (amd64) にインストールしようとしていますが、APT 経由でこれを実行しようとすると、次のエラー メッセージが表示されます。

nathan@nathan-desktop:~$ sudo apt-get install libssl1.0.0:i386
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help resolve the situation:

The following packages have unmet dependencies:
 default-jre-headless : Depends: openjdk-7-jre-headless (>= 7~u3-2.1.1) but it is not going to be installed
 openjdk-7-jre : Depends: openjdk-7-jre-headless (= 7u55-2.4.7-1ubuntu1) but it is not going to be installed
                 Recommends: libgnome2-0 but it is not going to be installed
                 Recommends: libgnomevfs2-0 but it is not going to be installed
 openssh-client : Depends: libssl1.0.0 (>= 1.0.1) but it is not going to be installed
 openssh-server : Depends: libssl1.0.0 (>= 1.0.1) but it is not going to be installed
                  Depends: openssh-sftp-server but it is not going to be installed
                  Recommends: ssh-import-id but it is not going to be installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.

最新のアップデートをすべてインストールしました。 を実行しましたapt-get -f install。ソフトウェア ソースですべてのリポジトリが有効になっていることを確認しました。

何が原因なのでしょうか?


アップデート:

の内容は次のとおりですapt-cache policy libssl1.0.0

libssl1.0.0:
  Installed: 1.0.1g-1ppa1~trusty1
  Candidate: 1.0.1g-1ppa1~trusty1
  Version table:
 *** 1.0.1g-1ppa1~trusty1 0
        100 /var/lib/dpkg/status
     1.0.1f-1ubuntu2.1 0
        500 http://ca.archive.ubuntu.com/ubuntu/ trusty-updates/main amd64 Packages
        500 http://security.ubuntu.com/ubuntu/ trusty-security/main amd64 Packages
     1.0.1f-1ubuntu2 0
        500 http://ca.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages

...そしてapt-cache policy libssl1.0.0:i386

libssl1.0.0:i386:
  Installed: (none)
  Candidate: 1.0.1f-1ubuntu2.1
  Version table:
     1.0.1f-1ubuntu2.1 0
        500 http://ca.archive.ubuntu.com/ubuntu/ trusty-updates/main i386 Packages
        500 http://security.ubuntu.com/ubuntu/ trusty-security/main i386 Packages
     1.0.1f-1ubuntu2 0
        500 http://ca.archive.ubuntu.com/ubuntu/ trusty/main i386 Packages

答え1

私は Ubuntu 20.04 を使用していますが、以下の手順がうまくいきます:

18.04のメインリポジトリを追加するには

echo "deb http://security.ubuntu.com/ubuntu bionic-security main" | sudo tee -a /etc/apt/sources.list.d/bionic.list

リポジトリ キャッシュを更新し、libssl1.0-dev が利用可能かどうかを確認します。

sudo apt update
apt-cache policy libssl1.0-dev

libssl1.0-dev をインストールします。

sudo apt-get install libssl1.0-dev 

答え2

この種のエラーメッセージは通常、インストールされている他のパッケージと競合するパッケージがインストールされており、他の依存パッケージが強制的に削除されることを示しています。複数のアーキテクチャに同じパッケージを同時にインストールする場合(マルチアーチ)、amd64このi386場合、インストールするパッケージのバージョンが一致している必要があります。その通り

この場合に起こったと思われることは(コメントでの議論で確認されていますが)、libssl1.0.0Ubuntu リポジトリから入手できるどのバージョンよりも新しい PPA バージョンにアップグレードされたことです。PPA が後で無効にされたり構成解除されたりした場合、通常は新しいパッケージがインストールされたままになります。この質問PPA を無効にすることと削除することの違いについては、こちらをご覧ください。ただし、apt 構成からすでに PPA を削除している場合は、以前に PPA からアップグレードされたパッケージを手動でダウングレードする必要があります。

をインストールするには、リポジトリから のlibssl1.0.0:i386同じバージョンがインストールされている必要があります。また、ソース パッケージは複数の関連バイナリ パッケージをビルドするため、そのすべてのパッケージも同じバージョンであることを確認する必要があります。ダウングレードするすべてのパッケージを指定しないと、apt はダウングレードではなくアンインストールを優先します。この場合、PPA から、、 がインストールされている場合は、libssl1.0.0:amd64openssllibssl1.0.0libssl-devopenssl

sudo apt-get install libssl1.0.0/trusty libssl-dev/trusty openssl/trusty

パッケージのダウングレードに関するプロンプトに「はい」と答えます。これで、リポジトリからパッケージをapt-getインストールできるはずです。libssl1.0.0:i386

答え3

これはWebソケットライブラリがインストールされていないためです。

sudo apt-get install libwebsockets-dev

走る前に

sudo apt-get install mosquitto

答え4

私は Debian 9 Stretch に公式の mongodb-org をインストールしようとしてここにたどり着きました。しかし、私はあなたと同じようなエラーに直面しました:

user@debian:~/folder$ sudo apt-get install -y mongodb-org
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 mongodb-org : Depends: mongodb-org-shell but it is not going to be installed
               Depends: mongodb-org-server but it is not going to be installed
               Depends: mongodb-org-mongos but it is not going to be installed
               Depends: mongodb-org-tools but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

パッケージを1つずつインストールしようとしています:

user@debian:~/folder$ sudo apt-get install -y mongodb-org-tools 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 mongodb-org-tools : Depends: libssl1.0.0 (>= 1.0.1) but it is not installable
E: Unable to correct problems, you have held broken packages.

そして、次の記事で解決策を見つけました: https://linuxconfig.org/how-to-install-spotify-on-debian-9-stretch-linux

次のようにして古い SSL パッケージのみをインストールします。

$ wget http://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.0.0_1.0.1t-1+deb8u6_amd64.deb
$ sudo dpkg -i libssl1.0.0_1.0.1t-1+deb8u6_amd64.deb

これを実行すると、mongodb-org が正常にインストールされました。お役に立てば幸いです。

関連情報