私はこの問題を解決するのに時間がかかりすぎたので、この質問をします。文書にはいくつかの重要な注意事項がありません。
複数のアーキテクチャに対して特定のパッケージバージョンを優先する方法は?具体的には、複数のアーキテクチャに対してダウンロードしたいさまざまなパッケージがあり、バージョンの優先順位を指定して明示的に提供されていない場合は、aptが任意の要件に一致するバージョンを取得しようとします(私の場合は現在のgitブランチ名)develop
。バージョンにロールバックします。
例えば。パッケージをダウンロードし、スキーマを指定しmy-package
ます。i386
amd64
my-git-branch-name
develop
答え1
公式文書はここ。
複数のアーキテクチャをサポートするために、すべてのパッケージが修正されました。〜しなければならないそのスキーマを指定し、各スキーマに1つのエントリが必要です。指定されたアーキテクチャなしでパッケージ名を固定すると、デフォルト(プラットフォーム)アーキテクチャにのみ影響します。
Package: my-package Pin: version /your regex here/ Pin-Priority: 1001
項目は空白に敏感ですが、空白があってもエラーは報告されません。次の修正は自動的に無視されます。
Package: my-package:amd64 Pin: version /your regex here/ Pin-Priority: 1001
apt update
〜しなければならない~と呼ばれる後ろに尊重されるように設定ファイルを更新し、後ろに追加スキーマの使用を追加する(例:)dpkg --add-architecture i386
次の抜粋は
/etc/apt/preferences
上記の問題を扱っています。Package: my-package:amd64 Pin: version /-my-git-branch-name-/ Pin-Priority: 1001 Package: my-package:i386 Pin: version /-my-git-branch-name-/ Pin-Priority: 1001 Package: my-package:amd64 Pin: version /-develop-/ Pin-Priority: 900 Package: my-package:i386 Pin: version /-develop-/ Pin-Priority: 900