これは、Ubuntu、Debian、LinuxMintで特定のパッケージやaptリポジトリの優先度を設定する方法を示す簡単なチュートリアルです。
Ubuntuでは、Ubuntuユニバースリポジトリ(Ubuntuソフトウェアを使用)、Ubuntu PPA(LibreOffice、Kodi、GIMPなど)、アプリ独自のaptリポジトリ(Chrome、VirtualBox、Operaなど)など、さまざまなソースからソフトウェアパッケージをインストールします。など)。
他のLinuxディストリビューションからアプリをインストールすることもできます。たとえば、Linux MintのIPTVプレーヤー、Web App Mananger、Chromium Browser(deb形式)をUbuntuにインストールできます。
優先度を設定する理由:
ただし、混合ソフトウェアソースからインストールすると、次の質問が発生する可能性があります。
- 指定されたバージョンでパッケージをロックします。
- 複数のリポジトリに同じパッケージがありますが、特定のリポジトリからパッケージの更新をインストールまたは受信したい場合。
- リポジトリから1つまたは2つのパッケージのみをインストールしますが、他のすべてのパッケージは拒否します。
パッケージの優先度を作成および設定します:
/etc/apt/preferences.d/ディレクトリの下にルールファイルを追加し、優先度を固定すると、問題が修正されます。
システムアプリランチャーからターミナルを開き、コマンドを実行して構成ファイルを作成および編集します(他のシステムのgeditを置き換えます):
sudo gedit /etc/apt/preferences.d/99mint-repository
この場合、99mint-repository
を作成しました ファイルと次の行を追加しました:
# Allow upgrading only webapp-manager from Ulyssa repository Package: webapp-manager Pin: release n=ulyana Pin-Priority: 500 # Also allow upgrading chromium (Added by another post). Package: chromium Pin: release n=ulyana Pin-Priority: 500 # Never prefer other packages from the Ulyssa repository Package: * Pin: release n=ulyana Pin-Priority: 1
ご覧のとおり、各エントリには3行あり(先頭の#で始まる説明行を除く)、空白行で区切られています。
Packageで始まる3行:最初にパッケージを指定しました:「webapp-manager」、「chromium」、および「*」(すべて)。
「ピン:」行について:
2行目は、ピンの定義を指定します。ピン:バージョン1.0.99 *、「*」は「ワイルドカード」であり、1.0.99で始まるすべてのバージョンのパッケージを示します。
指定されたパッケージソースに対してリリースまたはオリジンを使用することもできます。例:
Pin: release o=LP-PPA-team-xbmc
Pin: release l=linuxmint
Pin: origin packages.linuxmint.com
リリースのパラメーターは、a(アーカイブ)、c(コンポーネント)、v(バージョン)、o(オリジン)、l(ラベル)です。
そして、コマンドを実行することで、リリースとオリジンの値を見つけることができます:
apt-cache policy |more
ピン優先の数について:
3行目の値は次のように設定できます:
- 1000以上。インストールされているパッケージをより高いバージョンに置き換える(ダウングレードする)場合でも、ターゲットリリースのバージョンをインストールします。
- 990〜999。インストールされているバージョンが最新でない限り、ターゲットリリースからのものではない場合でも、バージョンをインストールします。
- 500〜899。ターゲットリリースに属する利用可能なバージョンがない場合、またはインストールされたバージョンがより新しい場合を除いて、バージョンをインストールします。
- 100〜499。他のディストリビューションに属する利用可能なバージョンがない場合、またはインストールされたバージョンがより新しい場合を除いて、バージョンをインストールします。
- 1から99。パッケージのインストール済みバージョンがない場合にのみバージョンをインストールします。
- -1以下。バージョンがインストールされないようにする
構成ファイルを設定した後、sudo apt update
を使用してシステムパッケージキャッシュを更新します コマンドと完了。
元の記事