web-dev-qa-db-ja.com

UbuntuとGIMP間のパッケージの競合を解決するにはどうすればよいですか?

Ubuntu 18.04(Cinnamon)では、パッケージcpp-7は、パッケージ7.3.0-27ubuntu1~18.04のバージョンgcc-7-baseに正確に依存します。

$ aptitude why gcc-7-base
i   cpp-7 Depends gcc-7-base (= 7.3.0-27ubuntu1~18.04)

一方、パッケージlibgfortran4は、同じパッケージ7.3.0-16ubuntu3のバージョンgcc-7-baseに正確に依存しています:

$ apt-cache show libgfortran4
Package: libgfortran4
...
Depends: gcc-7-base (= 7.3.0-16ubuntu3), libc6 (>= 2.27), libgcc1, libquadmath0

他のバージョンのパッケージがすでにインストールされている場合、libgfortran4はインストールされません。

$ Sudo apt-get install libgfortran4
...
The following packages have unmet dependencies:
 libgfortran4 : Depends: gcc-7-base (= 7.3.0-16ubuntu3) but 7.3.0-27ubuntu1~18.04 is to be installed
                Depends: libquadmath0 but it is not going to be installed

cpp-7は、ubuntu-desktopの依存関係グラフにあります。 libgfortran4は、gimpの依存関係グラフにあります。これは、Ubuntu 18.04のリポジトリからGIMPをインストールできないことを意味しないのですか?間違っている場合は修正してください。

問題をさらに厄介にするために、apt-cache showpkgは、gcc-7-baseの2つの異なるバージョンが同じリポジトリにあり、同じMD5ハッシュを持っていることを示しています。

$ apt-cache showpkg gcc-7-base
Package: gcc-7-base
Versions: 
7.3.0-27ubuntu1~18.04 (/var/lib/dpkg/status)
 Description Language: 
                 File: /var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_bionic_main_binary-AMD64_Packages
                  MD5: b6e93638a6d08ea7a18929d7cf078e5d
...
7.3.0-16ubuntu3 (/var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_bionic_main_binary-AMD64_Packages)
 Description Language: 
                 File: /var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_bionic_main_binary-AMD64_Packages
                  MD5: b6e93638a6d08ea7a18929d7cf078e5d

それらがまったく同じコードであることを意味します(私が間違っていれば私を修正してください)。したがって、ここでは実際の依存関係の競合はなく、ラベルの1つだけがあります。

これはどのように起こり、どうすれば修正できますか?たとえば、cpp-7またはlibgfortran4のいずれかに、まったく同じコードであるため、gcc-7-baseの他のバージョンを受け入れることを許可する方法はありますか?パッケージメンテナーを関与させる必要がありますか?

Edit:数日前、このトピックに question を投稿しました。現在の質問は、私がその間に行った作業の絞り込まれた結果です。

編集:これらは私のアクティブなソースです:

$ grep -Ev '(^#|^ *$|deb-src)' /etc/apt/sources.list /etc/apt/sources.list.d/*
/etc/apt/sources.list:deb http://us.archive.ubuntu.com/ubuntu/ bionic main restricted
/etc/apt/sources.list:deb http://us.archive.ubuntu.com/ubuntu/ bionic universe
/etc/apt/sources.list:deb http://us.archive.ubuntu.com/ubuntu/ bionic multiverse
/etc/apt/sources.list:deb [Arch=AMD64] https://packages.Microsoft.com/repos/vscode stable main
/etc/apt/sources.list.d/keybase.list:deb http://prerelease.keybase.io/deb stable main
/etc/apt/sources.list.d/keybase.list.save:deb http://prerelease.keybase.io/deb stable main
/etc/apt/sources.list.d/vscode.list~:deb [Arch=AMD64] http://packages.Microsoft.com/repos/vscode stable main

更新のためにコメントされたdeb-srcがあり、

# deb-src http://us.archive.ubuntu.com/ubuntu/ bionic-updates main restricted

ただdebの更新についてはコメントもコメントもされていません。行を追加する必要があります

deb http://us.archive.ubuntu.com/ubuntu/ bionic-updates main restricted

編集:追加

deb http://us.archive.ubuntu.com/ubuntu/ bionic-updates main restricted

/etc/apt/sources.listファイルに追加すると、$ Sudo apt-get updateが機能しました。 GIMPは$ Sudo apt-get install gimpで期待どおりにインストールされました。皆さん、ありがとうございました!

6
Darien Marks

この種の問題は通常、簡単なapt updateで修正されます。

使用可能な18.04バージョンのgcc-7-baseおよびlibgfortran4をmadisonデータベースに照会して、その理由を見てみましょう。

$ rmadison gcc-7-base
 gcc-7-base | 7.3.0-16ubuntu3       | bionic         | AMD64, arm64, armhf, i386, ppc64el, s390x
 gcc-7-base | 7.3.0-27ubuntu1~18.04 | bionic-updates | AMD64, arm64, armhf, i386, ppc64el, s390x

$ rmadison libgfortran4
 libgfortran4 | 7.3.0-16ubuntu3       | bionic         | AMD64, arm64, armhf, i386, ppc64el, s390x
 libgfortran4 | 7.3.0-27ubuntu1~18.04 | bionic-updates | AMD64, arm64, armhf, i386, ppc64el, s390x

libgfortran4はバイオニック(非更新)バージョンであり、バイオニック(非更新)依存関係があることがわかります。一方、gcc-7-baseは、より新しいbionic-updates依存関係を使用します。

ベースリポジトリとそれに対応する単一システム上の-updatesリポジトリとの間のこの種の非同期には、2つの一般的な理由があります。

  1. ユーザーが最近-updatesリポジトリを無効にしました。 /etc/apt/sources.listまたはソフトウェアとソースのコントロールパネルで確認および修正するのに十分簡単です。

  2. ユーザーは、しばらくの間apt updateを実行していないため、両方のソースから利用可能なパッケージのaptのローカルデータベースを更新します(pdate)。それも簡単な修正です。

ファイル/etc/apt/sources.listには、ミラーとソースのいくつかの組み合わせが含まれている必要があります。

deb [mirror URL] bionic main
deb [mirror URL] bionic-updates main
deb [mirror URL] bionic-security main

オプションのuniversemultiverse、およびrestrictedリポジトリを同じ行に含めることができます。

9
user535733

もう1つのオプションは、スナップ版のGIMPをインストールすることです。一部の人々はスナップを好まないことを理解していますが、これはカジュアルなLinuxユーザーにとってはより好ましいソリューションかもしれません。

Sudo snap install gimp
3
rkeating

受け入れられた答えに加えて:デフォルトのソースのみが有効で、最新のパッケージリスト(apt update)があり、gimpなどの基本パッケージでこのような競合が発生する場合は、バグを報告してください。これは何かであり、パッケージメンテナが修正すべきものであり、おそらく彼にとってはかなり簡単に修正できるものです。また、あなただけでなく、より多くの人々に影響を与える可能性があります。そのようなバグは時々発生しますが、メンテナーは知る必要があります。

もちろん、あなたの設定とパッケージのステータスが以前に問題になっていないことを確認する必要があります。サードパーティのリポジトリからgimp(またはその依存関係の一部)を取得している場合、ubuntuメンテナはあなたを助けることができません。

0
allo