同じパッケージが複数のリポジトリで利用可能な場合、Ubuntuはどのリポジトリからパッケージをダウンロードしますか?パッケージAが最初にリポジトリXからインストールされ、後でパッケージAを持つリポジトリYを追加したとします。パッケージを更新するためにどのリポジトリが選択されますか?また、このパッケージを完全に削除して再インストールしようとすると、Ubuntuがパッケージをインストールするのにどのリポジトリが優先されますか?
デフォルトでは、どのリポジトリに由来するかに関係なく、バージョン番号が最も大きいパッケージがインストールされますunlessバージョン番号が現在インストールされているバージョンよりも小さい場合パッケージの(これは、たとえば、.deb
パッケージとして上位バージョンをダウンロードし、手動でインストールした場合に発生する可能性があります)。複数のリポジトリが同じ(最高)バージョンのパッケージを持っているという非常にまれなケースでは、パッケージはsources.list
ファイルで最初に現れるものからインストールされます。
ただし、さまざまな基準に基づいて一部のパッケージに異なるpriorityを割り当てることで、これを変更できます。デフォルトではすべてのパッケージの優先度が500であるため、前の段落はデフォルト設定に該当します。ただし、パッケージの異なるバージョンが異なる優先度を持っている場合、最も高い優先度のバージョンがインストールされ、バージョン番号はタイとしてのみ使用されます複数のバージョンの優先度が同じ(最高)の場合、ブレーカー。また、優先度が最も高いパッケージに少なくとも1000の優先度がある場合、そのバージョンが現在インストールされているバージョンよりも低い場合でもインストールされます。
優先度は/etc/apt/preferences
で管理され、man apt_preferences
で文書化されます。それらの使用方法の例については、私の答え here を参照してください。