Ubuntuリポジトリが現在保持しているものよりも新しいバージョンのパッケージを提供できるように、独自のリポジトリを作成しました。インストール時にバージョンを指定する必要があることを除いて、すべてが正常に機能します。
Sudo apt-get install package=1.2.1
バージョンを指定しない場合は、Ubuntuのリポジトリからインストールされます。
リポジトリをsources.list
の上部に配置しようとしましたが、違いはありません。
だから、常にリポジトリを優先する.deb
パッケージをビルドするときにフラグがあるかどうか疑問に思っていますか?または実際のリポジトリのフラグ?優先度を設定するためにユーザーに/etc/apt/preferences
を変更してもらいたくない、またはapt-get -t repo
を使用したくない。
与えられたTor
ブラウザをインストールしようとしましたこの手順は、カスタムから最新バージョンをインストールしますレポ。私は彼らが何をしているのか分かりませんが、彼らがリストしたステップでのみ機能します。
パッケージのバージョンの前に1:
を付けると、1:1.2.1
になり、常により高いバージョンとして表示されます。これは、独自に変更したパッケージをビルドし、Ubuntuアップグレードに置き換えたくない場合に非常に便利です。
2つのバージョン番号を比較する場合、最初にそれぞれのエポックが比較され、次にエポックが等しい場合はアップストリームバージョン、次にアップストリームバージョンも等しい場合はデビアンリビジョンが比較されます。エポックは数値的に比較されます。
出典: https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Version
特定のパッケージのAptPreferencesを設定するには、/etc/apt/preferences.d/
に新しいファイルを追加します。
Sudo gedit /etc/apt/preferences.d/my-package-pin
そのファイルに次の行を追加します。
Package: my_package
Pin: release o=Ubuntu
Pin-Priority: -10
Ubuntuリポジトリのバージョンが、ローカルリポジトリによって提供されるバージョンに置き換わることを防ぎます。
パッケージピンバージョンが実行されているかどうかを確認するには:
Sudo apt-cache policy my_package