.\" Title: apt_preferences .\" Author: APT team .\" Generator: DocBook XSL Stylesheets v1.73.2 .\" Date: 29 February 2004 .\" Manual: .\" Source: Linux .\" .TH "APT_PREFERENCES" "5" "29 February 2004" "Linux" "" .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .SH "NAME" apt_preferences \- APT 設定制御ファイル .SH "説明" .PP APT 設定ファイル \fI/etc/apt/preferences\fR は、 インストールするパッケージのバージョン選択を制御するのに使用します。 .PP \fBsources.list\fR(5) ファイルに複数のディストリビューション (stable と testing など) が指定されていて、 パッケージに対し複数のバージョンがインストールできることがあります。 このとき APT は、利用できるバージョンごとに優先度を割り当てます。 依存関係規則を条件として、\fBapt\-get\fR は、 最も高い優先度を持つバージョンをインストールするよう選択します。 APT 設定ファイルは、APT がデフォルトで割り当てた、 パッケージのバージョンの優先度を上書きします。 その結果、インストールするものの選択を、ユーザが選択できるようになります。 .PP \fBsources.list\fR(5) ファイルに複数の参照が書かれている場合、 パッケージの同じバージョンのインスタンスが複数利用できる可能性があります。 この場合、\fBapt\-get\fR は \fBsources.list\fR(5) ファイルの初めの方に指定されているところからダウンロードします。 APT 設定ファイルは、バージョンの選択にのみ影響し、 インスタンスの選択には影響しません。 .SS "APT のデフォルト優先度の割り当て" .PP 設定ファイルがなかったり、 設定ファイルに、特定のパッケージを割り当てるエントリがない場合、 そのバージョンの優先度は、 そのバージョンが属しているディストリビューションの優先度となります。 デフォルトで他のディストリビューションより高い優先度を持つ、 特定のディストリビューションを「ターゲットリリース」としておくのは可能です。 ターゲットリリースは、\fBapt\-get\fR のコマンドラインで設定したり、 APT 設定ファイル \fI/etc/apt/apt\&.conf\fR で設定したりできます。 例えば以下のようになります。 .sp .RS 4 .nf \fBapt\-get install \-t testing \fR\fB\fIsome\-package\fR\fR .fi .RE .sp .sp .RS 4 .nf APT::Default\-Release "stable"; .fi .RE .PP ターゲットリリースが指定されると、APT は以下のアルゴリズムで、 パッケージのバージョンの優先度を設定します。このように割り当てます。 .PP 優先度 100 .RS 4 (あるならば) 既にインストールされているバージョン。 .RE .PP 優先度 500 .RS 4 インストールされておらず、ターゲットリリースに含まれないバージョン。 .RE .PP 優先度 990 .RS 4 インストールされておらず、ターゲットリリースに含まれるバージョン。 .RE .PP ターゲットリリースが指定されていなければ、 APT は単純にインストールしているパッケージのバージョンには 100 を、 インストールしていないパッケージのバージョンには 500 を割り当てます。 .PP APT は、インストールするパッケージのバージョンを決定するために、 以下のルールを上から順番に適用します。 .sp .RS 4 \h'-04'\(bu\h'+03'有効なバージョンの優先度が 1000 を越えない場合、 決してダウングレードしません。 (「ダウングレード」は、現在のパッケージのバージョンよりも、 小さいバージョンのものをインストールします。 APT のデフォルト優先度が 1000 を越えないことに注意してください。 そのような優先度は設定ファイルでのみ設定できます。 また、パッケージのダウングレードは危険であることにも注意してください) .RE .sp .RS 4 \h'-04'\(bu\h'+03'最も高い優先度のバージョンをインストールします。 .RE .sp .RS 4 \h'-04'\(bu\h'+03'同じ優先度のバージョンが複数存在する場合、 最も新しいもの (最もバージョン番号が高いもの) をインストールします。 .RE .sp .RS 4 \h'-04'\(bu\h'+03'優先度・バージョン番号が同じものが複数存在し、 そのパッケージのメタデータが異なるか \-\-reinstall オプションが与えられている場合、 インストールされていないものをインストールします。 .RE .sp .RE .PP よくある状況として、 あるインストールされているパッケージのバージョン (優先度 100) が、 \fBsources.list\fR(5) ファイルのリストから得られるバージョン (優先度 500 か 990) よりも新しくないということがあります。この場合、 \fBapt\-get install \fR\fB\fIsome\-package\fR\fR や \fBapt\-get upgrade\fR を実行するとパッケージが更新されます。 .PP まれに、インストールされているパッケージのバージョンが、 \fI他の有効なバージョンよりも\fR新しい場合があります。 この時 \fBapt\-get install \fR\fB\fIsome\-package\fR\fR や \fBapt\-get upgrade\fR を実行しても、 ダウングレードしません。 .PP 時々、インストールしているパッケージのバージョンが、 ターゲットリリースに属するバージョンよりも新しく、 他のディストリビューションよりも古い場合があります。 そのようなパッケージに対して \fBapt\-get install \fR\fB\fIsome\-package\fR\fR や \fBapt\-get upgrade\fR を実行すると、 パッケージは更新されます。 この場合、インストールされているバージョンよりも、 少なくとも\fIひとつ\fRは、 高い優先度を持つ有効なパッケージがあるからです。 .SS "APT 設定の効果" .PP APT 設定ファイルを使うと、 システム管理者が優先度を割り当てられるようになります。 ファイルは、空白行で区切られた、複数行からなるレコードで構成されています。 レコードは特定形式か、汎用形式のどちらかの形式をとります。 .sp .RS 4 \h'-04'\(bu\h'+03'特定形式は、優先度 ("Pin\-Priority") を、 指定したパッケージの指定したバージョン (範囲) について割り当てます。 例えば以下のレコードは、 "5\&.8" で始まる \fIperl\fR パッケージを、 高い優先度に設定します。 .sp .RS 4 .nf Package: perl Pin: version 5\&.8* Pin\-Priority: 1001 .fi .RE .RE .sp .RS 4 \h'-04'\(bu\h'+03'汎用形式は、与えられたディストリビューションにある、 すべてのパッケージ (\fIRelease\fR ファイルに列挙したパッケージ) の優先度や、FQDNで指定した、 特定のインターネットサイトから取得するパッケージの優先度を割り当てます。 .sp APT 設定ファイルに書かれている汎用形式のエントリは、 パッケージのグループについてのみ適用されます。 例えば以下のレコードは、ローカルサイトにある全パッケージについて、 高い優先度を割り当てます。 .sp .RS 4 .nf Package: * Pin: origin "" Pin\-Priority: 999 .fi .RE .sp 注: ここで使用しているキーワードは "origin" です。 \fIRelease\fR ファイルに指定されたような、 ディストリビューションの Origin と混同しないようにしてください。 \fIRelease\fR ファイルにある "Origin:" タグは、 インターネットアドレスではなく、 "Debian" や "Ximian" といった作者やベンダ名です。 .sp 以下のレコードは、アーカイブ名が "unstable" となっているディストリビューションに属するパッケージを、 すべて低い優先度に割り当てます。 .sp .RS 4 .nf Package: * Pin: release a=unstable Pin\-Priority: 50 .fi .RE .sp 以下のレコードは、アーカイブ名が "stable" で、 リリースバージョン番号が "3\&.0" となっているリリースに属するパッケージを、 すべて高い優先度に割り当てます。 .sp .RS 4 .nf Package: * Pin: release a=stable, v=3\&.0 Pin\-Priority: 500 .fi .RE .RE .sp .RE .SS "APT が優先度に割り込む方法" .PP APT 設定ファイルで割り当てた優先度 (P) は、正負の整数でなくてはなりません。 これは (おおざっぱにいうと) 以下のように解釈されます。 .PP P > 1000 .RS 4 パッケージがダウングレードしても、このバージョンのパッケージをインストールします。 .RE .PP 990 < P <=1000 .RS 4 インストールされているバージョンの方が新しいことを除き、 ターゲットリリースに含まれなくても、 このバージョンのパッケージをインストールします。 .RE .PP 500 < P <=990 .RS 4 ターゲットリリースに属するバージョンがあったり、 インストールされているバージョンの方が新しいのでなければ、 このバージョンのパッケージをインストールします。 .RE .PP 100 < P <=500 .RS 4 他のディストリビューションに属するバージョンがあったり、 インストールされているバージョンの方が新しいのでなければ、 このバージョンのパッケージをインストールします。 .RE .PP 0 < P <=100 .RS 4 このパッケージがインストールされていない場合、 このバージョンのパッケージをインストールします。 .RE .PP P < 0 .RS 4 このバージョンがインストールされないようにします。 .RE .PP 特定形式のレコードが利用可能パッケージバージョンに一致した場合、 最初のレコードが、パッケージバージョンの優先度を決定します。 失敗して、汎用形式のレコードが利用可能パッケージバージョンに一致した場合、 最初のレコードが、パッケージバージョンの優先度を決定します。 .PP 例えば、APT 設定ファイルの上の方に、 以下のレコードが書かれていると仮定してください。 .sp .RS 4 .nf Package: perl Pin: version 5\&.8* Pin\-Priority: 1001 Package: * Pin: origin "" Pin\-Priority: 999 Package: * Pin: release unstable Pin\-Priority: 50 .fi .RE .PP すると、 .sp .RS 4 \h'-04'\(bu\h'+03'バージョン番号が "5\&.8" で始まっていれば、 perl の最新の利用可能パッケージがインストールされます。 バージョン 5\&.8* が利用可能で、バージョン 5\&.9* がインストールされている場合、 perl はダウングレードされます。 .RE .sp .RS 4 \h'-04'\(bu\h'+03'ローカルシステムで有効な、 perl 以外のどんなパッケージでも、 他のバージョンより (たとえターゲットリリースに属していても) 優先度が高くなります。 .RE .sp .RS 4 \h'-04'\(bu\h'+03'ローカルシステムにはなくても \fBsources.list\fR(5) に列挙されたサイトにあるバージョンで、 unstable ディストリビューションに属しているパッケージは、 インストールするよう選択され、 既にインストールされているバージョンがない場合にのみインストールされます。 .RE .sp .RE .SS "パッケージのバージョンとディストリビューションプロパティの決定" .PP \fBsources.list\fR(5) ファイルに列挙した場所では、 その場所で利用できるパッケージを記述した、 \fIPackages\fR ファイルや \fIRelease\fR ファイルを提供します。 .PP \fIPackages\fR ファイルは通常 \fI\&.\&.\&./dists/\fR\fI\fIdist\-name\fR\fR\fI/\fR\fI\fIcomponent\fR\fR\fI/\fR\fI\fIarch\fR\fR ディレクトリにあります。 例えば、\fI\&.\&.\&./dists/stable/main/binary\-i386/Packages\fR です。 これは、ディレクトリにある利用可能パッケージごとに、 複数行のレコードからできています。 APT 優先度の設定は、レコードごとに以下の 2 行だけです。 .PP Package: 行 .RS 4 パッケージ名を与えます。 .RE .PP Version: 行 .RS 4 その名前のパッケージのバージョン番号を与えます。 .RE .PP \fIRelease\fR ファイルは、通常 \fI\&.\&.\&./dists/\fR\fI\fIdist\-name\fR\fR にあります。例えば、 \fI\&.\&.\&./dists/stable/Release\fR, \fI\&.\&.\&./dists/woody/Release\fR です。 これは、このディレクトリ以下にある\fI全\fRパッケージに適用する、 複数行のレコード 1 つから成っています。 \fIPackages\fR と違い \fIRelease\fR ファイルは、 ほとんどの行が APT 優先度の設定に関連します。 .PP Archive: 行 .RS 4 このディレクトリツリーに属する全パッケージのアーカイブ名。 例えば、 "Archive: stable" という行は、\fIRelease\fR ファイルの親ディレクトリツリー以下にある全パッケージが、 stable アーカイブだと指定します。 APT 設定ファイルでこの値を指定するには、以下の行が必要になります。 .sp .RS 4 .nf Pin: release a=stable .fi .RE .RE .PP Version: 行 .RS 4 リリースバージョン名。 例えば、このツリーのパッケージが、 GNU/Linux リリースバージョン 3\&.0 に属するとします。 通常 testing ディストリビューションや unstable ディストリビューションには、 まだリリースされていないので、バージョン番号が付きません。 APT 設定ファイルでこれを指定するには、以下の行のいずれかが必要になります。 .sp .RS 4 .nf Pin: release v=3\&.0 Pin: release a=stable, v=3\&.0 Pin: release 3\&.0 .fi .RE .RE .PP Component: 行 .RS 4 \fIRelease\fR ファイルの、 ディレクトリツリーにあるパッケージのライセンスコンポーネント名。 例えば、"Component: main" という行は、このディレクトリ以下の全ファイルが、 main コンポーネント (Debian フリーソフトウェアガイドラインの元でライセンスされている) であることを表します。 APT 設定ファイルでこのコンポーネントを指定するには、以下の行が必要になります。 .sp .RS 4 .nf Pin: release c=main .fi .RE .RE .PP Origin: 行 .RS 4 \fIRelease\fR ファイルのディレクトリツリーにあるパッケージの提供者名。 ほとんど共通で、Debian です。 APT 設定ファイルでこの提供者を指定するには、以下の行が必要になります。 .sp .RS 4 .nf Pin: release o=Debian .fi .RE .RE .PP Label: 行 .RS 4 \fIRelease\fR ファイルのディレクトリツリーにあるパッケージのラベル名。 ほとんど共通で Debian です。 APT 設定ファイルでこのラベルを指定するには、以下の行が必要になります。 .sp .RS 4 .nf Pin: release l=Debian .fi .RE .RE .PP \fBsources.list\fR(5) ファイルに列挙された場所から取得した \fIPackages\fR ファイルや \fIRelease\fR ファイルはすべて、 \fI/var/lib/apt/lists\fR ディレクトリや、 \fIapt\&.conf\fR ファイルの Dir::State::Lists 変数で指定した場所に取得されます。例えば、 \fIdebian\&.lcs\&.mit\&.edu_debian_dists_unstable_contrib_binary\-i386_Release\fR ファイルは、 debian\&.lcs\&.mit\&.edu から取得した、 unstable ディストリビューションで、 contrib コンポーネントな、 binary\-i386 アーキテクチャ用の \fIRelease\fR ファイルを含んでいます。 .SS "APT 設定レコードのオプション行" .PP APT 設定ファイルのレコードごとに、 任意で Explanation: で始まる行を持てます。 これは、コメント用の場所を確保します。 .PP APT 設定レコードの Pin\-Priority: 行は任意です。 省略すると、Pin\-Priority: release \&.\&.\&. で始まる行で指示した最後の値 (少なくとも1つ) を優先度に割り当てます。 .SH "サンプル" .SS "安定版を追跡" .PP 以下の APT 設定ファイルは、stable ディストリビューションに属する全てのパッケージのバージョンに、 デフォルト (500) より高い優先度を割り当て、 他の Debian ディストリビューションのパッケージのバージョンには、 低くてインストールできないような優先度を割り当てます。 .sp .RS 4 .nf Explanation: Uninstall or do not install any Debian\-originated Explanation: package versions other than those in the stable distro Package: * Pin: release a=stable Pin\-Priority: 900 Package: * Pin: release o=Debian Pin\-Priority: \-10 .fi .RE .PP 適切な \fBsources.list\fR(5) ファイルと上記の設定ファイルにより、 以下のコマンドで最新の stable バージョンにアップグレードできます。 .sp .RS 4 .nf apt\-get install \fIpackage\-name\fR apt\-get upgrade apt\-get dist\-upgrade .fi .RE .PP 以下のコマンドで、指定したパッケージを testing ディストリビューションの最新バージョンにアップグレードします。 このパッケージは、再度このコマンドを発行しないとアップグレードされません。 .sp .RS 4 .nf apt\-get install \fIpackage\fR/testing .fi .RE .sp .SS "テスト版や不安定版を追跡" .PP 以下の APT 設定ファイルは、testing ディストリビューションのパッケージのバージョンに高い優先度を割り当て、 unstable ディストリビューションのパッケージのバージョンには低い優先度を割り当てます。 また他の Debian ディストリビューションのパッケージのバージョンには、 低くてインストールできないような優先度を割り当てます。 .sp .RS 4 .nf Package: * Pin: release a=testing Pin\-Priority: 900 Package: * Pin: release a=unstable Pin\-Priority: 800 Package: * Pin: release o=Debian Pin\-Priority: \-10 .fi .RE .PP 適切な \fBsources.list\fR(5) ファイルと上記の設定ファイルにより、 以下のコマンドで最新の testing バージョンにアップグレードできます。 .sp .RS 4 .nf apt\-get install \fIpackage\-name\fR apt\-get upgrade apt\-get dist\-upgrade .fi .RE .PP 以下のコマンドで、指定したパッケージを unstable ディストリビューションの最新バージョンにアップグレードします。 それ以降、\fBapt\-get upgrade\fR は testing バージョンのパッケージが更新されていれば testing の最新版に、 unstable バージョンのパッケージが更新されていれば unstableの最新版にアップグレードします。 .sp .RS 4 .nf apt\-get install \fIpackage\fR/unstable .fi .RE .sp .SH "関連項目" .PP \fBapt-get\fR(8) \fBapt-cache\fR(8) \fBapt.conf\fR(5) \fBsources.list\fR(5) .SH "バグ" .PP \fIAPT バグページ\fR\&[1]を ご覧ください。 APT のバグを報告する場合は、 \fI/usr/share/doc/debian/bug\-reporting\&.txt\fR や \fBreportbug\fR(1) コマンドをご覧ください。 .SH "訳者" .PP 倉澤 望 (2003\-2006), Debian JP Documentation ML .SH "AUTHOR" .PP \fBAPT team\fR .sp -1n .IP "" 4 Author. .SH "NOTES" .IP " 1." 4 APT バグページ .RS 4 \%http://bugs.debian.org/src:apt .RE