web-dev-qa-db-ja.com

Debianでパッケージを確実に「保持」するにはどうすればよいですか?

手動でパッチが適用されたDebianのパッケージがあります(理想的ではありません)。アップグレードによってパッチが適用された変更が上書きされないように、現在のバージョンで保持する必要があります(セキュリティ更新を手動で検査して適用します)。私が理解しているように、これにアプローチする方法はいくつかあります。

  • apt-pinning(apt_preferences(5)を参照)
  • aptitude hold
  • dpkg --set-selections
  • dselectで設定しますか?

ある保留が別の保留に影響を与えないことを読みました(たとえば、aptitude holdを使用しても、apt-getまたはdselectがパッケージをアップグレードするのを防ぐことはできません)。保留を解除しない限り、Debianのツールがパッケージをアップグレードしないようにするために何をする必要がありますか?

15
jrdioko

aptitudedpkgには別々のhold関数があり、残念ながらお互いを尊重しません。したがって、両方のツールを使用する場合は、両方を設定する必要があります。

apt/dpkg:echo $PACKETNAME hold | dpkg --set-selections

適性:aptitude hold $PACKETNAME

8
scai

この特定の場合(パッチが適用されたパッケージ)のより良いアプローチは、パッチが適用されたバージョンを/usr/localにインストールすることです。 Debianはそれに触れません。

3
daniel kullmann

私の知る限りでは、 aptitude hold <package>は、明示的にアップグレードを注文しない限り、他のユーザーに尊重されます(たとえば、カーソルが適切な「アップグレード可能なパッケージ」フィールドにあるときに+を押すなど)。

0
Shadur