web-dev-qa-db-ja.com

ArchLinuxは依存関係の競合をどのように処理しますか?

従来のリリースモデルでは、リリース内のすべてのパッケージは、同じバージョンのライブラリに対して同じバージョンのコンパイラでコンパイルされ、リリースチームは、競合を避けるために、一緒にうまく機能するソフトウェアバージョンを慎重に選択します。

Gentooのようなローリングリリースソースディストリビューションでは、システムにインストールされているライブラリバージョンに対して各パッケージを自分でビルドします。2つのパッケージが同じライブラリの異なるバージョンに依存している場合は、これらの異なるバージョンを異なるスロットにインストールできます。したがって、競合を回避するための適切なメカニズムがあります。

最近、ローリングリリースモデルを備えた別のディストリビューションであるArchLinuxを発見しました。これは、バイナリパッケージに基づいています。また、スロットをサポートしていないようです。

今、私は困惑しています。 ArchLinuxで、インストールしたものとは異なるバージョンのライブラリに依存するパッケージをインストールしようとするとどうなりますか?ライブラリをアップグレードする必要がありますか?しかし、2つのパッケージが異なるバージョンのライブラリに依存している場合はどうなりますか?

パックマンでさまざまなArchLinuxWikiページを調べましたが、舞台裏の説明は見つかりませんでした。

6
Gary Chang

Archでは、明示的なバージョンとの依存関係はまれです。ほとんどのパッケージは、依存関係の最新バージョンがインストールされることを単に期待しています。 (ユーザーは選択的なアップグレードを実行することは想定されていませんが、allインストールされたパッケージを最新バージョンに維持することになっています。)

まれに、ABIが異なる2つのバージョンが必要な場合、古いバージョンを異なる名前のパッケージとして提供できます。たとえば、libpng(最新)、libpng14(1.4)、libpng12(1.2)。

3
user1686