web-dev-qa-db-ja.com

ターゲットリリースから単一のパッケージをアップグレードする

Debian Squeezeでは、debian-backportsからpackageXをインストールしました。

Q1:私がapt-get dist-upgradeまたはaptitude full-upgrade、packageXのアップデートについてどのリリースがチェックされますか? debian-backportsまたはdebian-stable?

Q2:コマンドを使用して特定のリリースから単一のパッケージを更新できますか?たとえば、aptitude -t full-upgrade packageX有効なコマンド?私は試した aptitude -st full-upgrade packageXしかし、出力は役に立ちませんでした。

Q3:完全を期すために、RPMベースのディストリビューションの同等の答えは何ですか?

3
alxs

Q1:これは現在の優先順位によって異なります。 _apt-cache policy_コマンドで優先順位を表示できます。出力からの数行の例を次に示します。

_ 500 http://security.debian.org/ stable/updates/main AMD64 Packages
     release v=6.0,o=Debian,a=stable,n=squeeze,l=Debian-Security,c=main
     Origin security.debian.org

 100 http://backports.debian.org/debian-backports/ squeeze-backports/main AMD64 Packages
     release o=Debian Backports,a=squeeze-backports,n=squeeze-backports,l=Debian Backports,c=main
     Origin backports.debian.org
_

単一のパッケージで_apt-cache policy_を使用することもできます。

_$ apt-cache policy linux-image-2.6-AMD64 
linux-image-2.6-AMD64:
  Installed: (none)
  Candidate: 2.6.32+29
  Version table:
     3.2+46~bpo60+1 0
        100 http://backports.debian.org/debian-backports/ squeeze-backports/main AMD64 Packages
     2.6.32+29 0
        500 http://apt.magazines.com/debian/ stable/main AMD64 Packages
_

優先順位はapt_preferences(5)で説明されています。

_   P > 1000
       causes a version to be installed even if this constitutes a downgrade of the package

   990 < P <=1000
       causes a version to be installed even if it does not come from the target release, unless the installed version is more recent

   500 < P <=990
       causes a version to be installed unless there is a version available belonging to the target release or the installed version is more recent

   100 < P <=500
       causes a version to be installed unless there is a version available belonging to some other distribution or the installed version is more recent

   0 < P <=100
       causes a version to be installed only if there is no installed version of the package

   P < 0
       prevents the version from being installed
_

この例では、これは、指定されたパッケージがすでにバックポートからインストールされている場合、バックポートからアップグレードされることを意味します。バックポートからインストールされていない場合、バックポートリポジトリは使用されません。

Q2installコマンドは、単一のパッケージをアップグレードするために使用されます。 installが指定されたときにパッケージがすでにインストールされている場合、アップグレードが利用可能であればパッケージはアップグレードされます。

_apt-get install packageX
aptitude install packageX
_

Q:RPMベースのディストリビューションの場合、ディストリビューションによって異なります。 yumrpmに関連付けられているのと同じように、aptdpkgに関連付けられていません。アップグレードとリモート管理に使用されるツールは、ディストリビューションによって異なります。 yum(RHEL)およびzypper(SLES)コマンドが最も一般的です。

2
jordanm

Re Q3: RPM自体にはリポジトリなどの概念がなく、指示された方法でのみファイルをフェッチおよびインストールできます。 yumパッケージマネージャーは複数のリポジトリーを使用するように構成できますが、少なくともFedoraでは、ディストリビューションのバージョンのパッケージセットのRHELとクローンが多かれ少なかれ結び付けられており、RHEL 5(またはその逆)にRHEL6パッケージをインストールしようとしています。災害の確実なレシピです(依存関係が利用可能な場合でも)。しかし、それはRPMやyum(または今日のdnf)とは何の関係もありません。それは、ほとんどの場合、ディストリビューションのパッケージ化/リポジトリ管理ポリシーです。

0
vonbrand