GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntuでパッケージ、PPA、Aptリポジトリの優先度を設定する方法

これは、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. 複数のリポジトリに同じパッケージがありますが、特定のリポジトリからパッケージの更新をインストールまたは受信したい場合。
  3. リポジトリから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を使用してシステムパッケージキャッシュを更新します コマンドと完了。

元の記事


Ubuntu
  1. Ubuntu 20.04、18.04でAptリポジトリを介してPowerShell7.1.0をインストールする方法

  2. UbuntuとDebianでAptリポジトリを追加する方法

  3. Ubuntuに最新バージョンのNitroshareをインストールする方法は?

  1. UbuntuLinuxでaptパッケージマネージャーを使用する方法

  2. UbuntuでAPTパッケージマネージャーにIPv4を使用させる方法

  3. Ubuntu で PPA リポジトリを安全に削除する方法

  1. Ubuntuのバージョンを確認する方法

  2. UbuntuでAptリポジトリを追加する方法

  3. Ubuntu20.04でローカルAPTリポジトリサーバーをセットアップする方法