apt:source.listを介して最新バージョンを使用できますが、なぜ古いバージョンのパッケージをインストールするのですか?

apt:source.listを介して最新バージョンを使用できますが、なぜ古いバージョンのパッケージをインストールするのですか?

もう一度やりました。クリーンブートliveISO。これはファイルからエントリを削除することを示します/etc/apt/preferences.d

Package: *
Pin: release o=linuxmint,c=upstream
Pin-Priority: 700

結果を変更します。したがって、/etc/apt/preferences.d結果からデフォルト設定ファイルを削除した後も、いくつかの追加要因が依然として初期の結果に影響を与えました。もっと掘りたいのにどこにいるのかわかりません。

長い話を短く

問題のパッケージには依存関係はありません(debスキームの/lib/apt/listsのファイル内容とdpkg -Iローカルfileスキームdebファイルのファイルの内容に応じて)。どちらも同じアーキテクチャ、同じソース、および同じ部品を持っています。

現時点では、インストールする古いバージョンを選択するために/preferencesで "make"の/etc/apt/preferences.dピンを見つけましたが、準備ができてファイル(保持されていない)を削除しましたが、それでも以前のバージョンを取得します。同じように。また何を試すことができますか?事前参照を読み直すコマンドがありますか?/etc/apt/preferencesapt/etc/apt/apt.confapt-get updateAPT

APT::Default-Release空です(いいえ、/etc/apt/apt.confそうですか?)。

ローカルアーカイブにファイルがありませんRelease(使用したことがなく、スキームがマークされていapt-secureますfiletrusted

これまでの進捗とman apt_preferences結果はapt-get install依然として謎です。

働く:

Web検索では関連リンクのみを取得できます。追加されたリポジトリ間に一種の検索順序がありますか?、注文に関する情報を表します。同じバージョン。

apt私はDebianアーカイブを設定する方法を学んでおり、マニュアルページ、、、、apt-getapt.conf参照していますsources.list。上記のQAリンクに記載されているもの以外に、注文に関する情報は表示されませんでした。

私の足跡。私は終わったapt-get updateなどliveISOブートPCからファイルをコピーし、Debianのアーカイブを設定し、2番目のステーションでそのタスクを実行しました。apt-get install -d package1package2debapt cacheapt-get install package1

ソースコードを完全に削除し、ローカルスキーム行のみをfile作成したとき/etc/apt/sources.list(次に)、12個のパッケージがすべてローカルで正常にインストールされました。apt-get update

ただし、元のスキームがまだ存在している間にローカルスキームと同じfile行を追加すると、1つのパッケージ(上記の段落で説明されているパッケージの1つ)に対して、aptがスキームからバージョンをダウンロードしてインストールしようとすることがわかります。量が少ない場合。最近、liveISOソースと同じアーカイブからファイルをダウンロードしたため、数値が小さいほど以前のバージョンを意味すると仮定します。/etc/apt/sources.listdeb/etc/apt/sources.list.ddebdebdeb

apt-get以前のバージョンを優先する理由は何ですか?

答え1

一般的に言えば、多くのパッケージは相互依存的です(つまり、他の個々のパッケージに依存することを意味します)。「A」は「B」と「C」によって異なります。。場合によっては、パッケージ(たとえば「B」)が、依存するパッケージ(「A」など)の1つを破損するように更新されることがあります。依存関係の変更に対応するために、すべての依存パッケージが独自に更新されるまで、依存関係を更新したくありません。

この例では、「A」は「B」と「C」によって異なります。ただし、「B」は「A」を破るように更新されます(たとえば、メソッドの1つが追加のパラメータを要求するように変更された場合など)。 「A」が「B」の新しいバージョンで動作するように更新されるまで、B「A」が壊れないようにするには、以前のバージョンに固定する必要があります。

これらの依存関係チェーンは非常に複雑になる可能性があるため、aptなどの高度な依存関係管理システムを必要とし、互換性のない完全な依存関係サブセットが共存できるようにするAnacondaなどの仮想環境が必要です。

関連情報