2つの適切なパッケージが同じパッケージの2つの異なるバージョンに依存している場合はどうなりますか?

2つの適切なパッケージが同じパッケージの2つの異なるバージョンに依存している場合はどうなりますか?

MyPackage.debこれは2.20で廃止された機能に基づいているため、GTK 2.19に依存すると仮定されます。apt-get install TheirProgramORが必要dpkg -i TheirProgram.debで、GTK 2.21+が必須の依存関係である場合はどうなりますか?このような状況ではどうすればよいですか?

ベストアンサー1

通常、古いバージョンとの非互換性を導入する新しいバージョンのライブラリは名前を変更する必要があります。新しいパッケージ名の生成ランタイムライブラリの場合(例えばGTK+libgtk2.0-0およびlibgtk2.1-0/または適切なすべての場合)。この規則に従わずにメジャーバージョンのアップグレードを導入することは通常、重大なエラーと見なされます。

つまり、ほとんどの場合、ランタイムライブラリと依存パッケージを同時にインストールできます。つまり、MyPackage.deb古いライブラリをインポートしてTheirProgram.deb新しいライブラリをインポートします。これはDebianライブラリの変換中に使用されます。古いバージョンと互換性のない新しいライブラリバージョンをアップロードすると、実施起動後、すべての依存パッケージが再構築されるまで、ライブラリの両方のバージョンをアーカイブで使用できます。

もちろん、通常、ディストリビューションは一度に1つのライブラリバージョンのみを渡そうとするので、古いライブラリはアーカイブから消えますが、インストールされている限り動作し続けるMyPackage必要があります。ただし、以前のバージョンのライブラリではセキュリティサポートを受けられず、引き続き機能する保証はありません(または他のパッケージがそれを損なわないという保証もありません)。したがって、長期的には問題を解決する方が良いでしょう。MyPackageGTK+で使用される最新バージョンで動作します。

GTK+の新しいバージョンが以前のバージョンと互換性がある場合、パッケージ名は変更されませんが(バグを除く)、ランタイムライブラリは引き続きMyPackage機能します。したがって、インストール時にTheirProgramGTK +のアップグレードが強制されますが、MyPackage影響を受けてはいけません。 (実行中にさらにサポート中止警告が表示されることがあります。)

おすすめ記事