[6623] | 1 | <!-- -*- mode: sgml; mode: fold -*- --> |
---|
| 2 | <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [ |
---|
| 3 | |
---|
| 4 | <!ENTITY % aptent SYSTEM "apt.ent.ja"> |
---|
| 5 | %aptent; |
---|
| 6 | |
---|
| 7 | ]> |
---|
| 8 | |
---|
| 9 | <refentry> |
---|
| 10 | &apt-docinfo; |
---|
| 11 | |
---|
| 12 | <refmeta> |
---|
| 13 | <refentrytitle>apt_preferences</refentrytitle> |
---|
| 14 | <manvolnum>5</manvolnum> |
---|
| 15 | </refmeta> |
---|
| 16 | |
---|
| 17 | <!-- Man page title --> |
---|
| 18 | <refnamediv> |
---|
| 19 | <refname>apt_preferences</refname> |
---|
[6625] | 20 | <refpurpose>APT 設定制御ファイル</refpurpose> |
---|
[6623] | 21 | </refnamediv> |
---|
| 22 | |
---|
| 23 | <RefSect1> |
---|
[6625] | 24 | <Title>説明</Title> |
---|
[6623] | 25 | <para> |
---|
[6625] | 26 | APT 設定ファイル <filename>/etc/apt/preferences</filename> は、インストールするパッケージのバージョン選択を制御するのに使用します。 |
---|
[6623] | 27 | </para> |
---|
| 28 | |
---|
| 29 | <para> |
---|
[6625] | 30 | &sources-list; ファイルに複数のディストリビューション (例 <literal>stable</literal> と <literal>testing</literal>) が指定されていて、パッケージに対し複数のバージョンがインストールできることがあります。 |
---|
| 31 | このとき APT は、利用できるバージョンごとに優先度を割り当てます。 |
---|
| 32 | 依存関係規則を条件として、<command>apt-get</command> は、最も高い優先度を持つバージョンをインストールするよう選択します。 |
---|
| 33 | APT 設定ファイルは、APT がデフォルトで割り当てた、パッケージのバージョンの優先度を上書きします。 |
---|
| 34 | その結果、インストールするものの選択を、ユーザが選択できるようになります。 |
---|
[6623] | 35 | </para> |
---|
| 36 | <para> |
---|
[6625] | 37 | &sources-list; ファイルに複数のダウンロードサイトが書かれている場合、パッケージの同じバージョンのファイルが複数利用できる可能性があります。 |
---|
| 38 | この場合、<command>apt-get</command> は &sources-list; ファイルの初めの方に指定されているところからダウンロードします。 |
---|
| 39 | APT 設定ファイルは、バージョンの選択にのみ影響し、ダウンロードサイトの選択には影響しません。 |
---|
[6623] | 40 | </para> |
---|
| 41 | |
---|
| 42 | |
---|
[6625] | 43 | <RefSect2><Title>APT のデフォルト優先度の割り当て</Title> |
---|
[6623] | 44 | |
---|
| 45 | <para> |
---|
[6625] | 46 | 設定ファイルがなかったり、設定ファイルに、特定のパッケージを割り当てるエントリがない場合、そのバージョンの優先度は、そのバージョンが属しているディストリビューションの優先度となります。 |
---|
| 47 | デフォルトで他のディストリビューションより高い優先度を持つ、特定のディストリビューションを「ターゲットリリース」としておくのは可能です。 |
---|
| 48 | ターゲットリリースは、<command>apt-get</command> のコマンドラインで設定したり、APT 設定ファイル <filename>/etc/apt/apt.conf</filename> で設定したりできます。 |
---|
| 49 | 例えば以下のようになります。 |
---|
[6623] | 50 | <programlisting> |
---|
| 51 | <command>apt-get install -t testing <replaceable>some-package</replaceable></command> |
---|
| 52 | </programlisting> |
---|
| 53 | <programlisting> |
---|
| 54 | APT::Default-Release "stable"; |
---|
| 55 | </programlisting> |
---|
| 56 | </para> |
---|
| 57 | |
---|
| 58 | <para> |
---|
[6625] | 59 | ターゲットリリースが指定されると、APT は以下のアルゴリズムで、パッケージのバージョンの優先度を設定します。 |
---|
| 60 | このように割り当てます。 |
---|
[6623] | 61 | <variablelist> |
---|
| 62 | <varlistentry> |
---|
[6625] | 63 | <term>優先度(priority) 100</term> |
---|
| 64 | <listitem><simpara>(あるならば) 既にインストールされているバージョン。(RPM Database)</simpara></listitem> |
---|
[6623] | 65 | </varlistentry> |
---|
| 66 | <varlistentry> |
---|
[6625] | 67 | <term>優先度 500</term> |
---|
| 68 | <listitem><simpara>インストールされておらず、ターゲットリリースに含まれないバージョン。</simpara></listitem> |
---|
[6623] | 69 | </varlistentry> |
---|
| 70 | <varlistentry> |
---|
[6625] | 71 | <term>優先度 990</term> |
---|
| 72 | <listitem><simpara>インストールされておらず、ターゲットリリースに含まれるバージョン。</simpara></listitem> |
---|
[6623] | 73 | </varlistentry> |
---|
| 74 | </variablelist> |
---|
| 75 | </para> |
---|
| 76 | |
---|
| 77 | <para> |
---|
[6625] | 78 | ターゲットリリースが指定されていなければ、APT は単純にインストールしているパッケージのバージョンには 100 を、インストールしていないパッケージのバージョンには 500 を割り当てます。</para> |
---|
[6623] | 79 | |
---|
| 80 | <para> |
---|
[6625] | 81 | APT は、インストールするパッケージのバージョンを決定するために、 以下のルールを上から順番に適用します。 |
---|
[6623] | 82 | <itemizedlist> |
---|
[6625] | 83 | <listitem><simpara>有効なバージョンの優先度が 1000 を越えない場合、決してダウングレードしません。 |
---|
| 84 | (「ダウングレード」は、現在のパッケージのバージョンよりも、小さいバージョンのものをインストールします。APT のデフォルト優先度が 1000 を越えないことに注意してください。そのような優先度は設定ファイルでのみ設定できます。また、パッケージのダウングレードは危険であることにも注意してください)</simpara></listitem> |
---|
| 85 | <listitem><simpara>最も高い優先度のバージョンをインストールします。</simpara></listitem> |
---|
| 86 | <listitem><simpara>同じ優先度のバージョンが複数存在する場合、最も新しいもの (最もバージョン番号が高いもの) をインストールします。</simpara></listitem> |
---|
| 87 | <listitem><simpara>優先度・バージョン番号が同じものが複数存在し、そのパッケージのメタデータが異なるか <literal>--reinstall</literal> オプションが与えられている場合、インストールされていないものをインストールします。</simpara></listitem> |
---|
[6623] | 88 | </itemizedlist> |
---|
| 89 | </para> |
---|
| 90 | |
---|
| 91 | <para> |
---|
[6625] | 92 | よくある状況として、あるインストールされているパッケージのバージョン (優先度 100) が、&sources-list; ファイルのリストから得られるバージョン (優先度 500 か 990) よりも新しくないということがあります。 |
---|
| 93 | この場合、<command>apt-get install <replaceable>some-package</replaceable></command> や <command>apt-get upgrade</command> を実行するとパッケージが更新されます。 |
---|
[6623] | 94 | </para> |
---|
| 95 | |
---|
| 96 | <para> |
---|
[6625] | 97 | まれに、インストールされているパッケージのバージョンが、<emphasis>他の有効なバージョンよりも新しい</emphasis>場合があります。 |
---|
| 98 | この時 <command>apt-get install <replaceable>some-package</replaceable></command> や <command>apt-get upgrade</command> を実行しても、ダウングレードしません。 |
---|
[6623] | 99 | </para> |
---|
| 100 | |
---|
| 101 | <para> |
---|
[6625] | 102 | 時々、インストールしているパッケージのバージョンが、ターゲットリリースに属するバージョンよりも新しく、他のディストリビューションよりも古い場合があります。 |
---|
| 103 | そのようなパッケージに対して <command>apt-get install <replaceable>some-package</replaceable></command> や <command>apt-get upgrade</command> を実行すると、パッケージは更新されます。 |
---|
[6623] | 104 | |
---|
[6625] | 105 | この場合、インストールされているバージョンよりも、少なくとも<emphasis>ひとつ</emphasis>は、高い優先度を持つ有効なパッケージがあるからです。 |
---|
[6623] | 106 | </para> |
---|
| 107 | |
---|
| 108 | </RefSect2> |
---|
| 109 | |
---|
| 110 | <RefSect2> |
---|
[6625] | 111 | <Title>パッケージのバージョンとディストリビューションプロパティの決定</Title> |
---|
[6623] | 112 | <para> |
---|
[6625] | 113 | &sources-list; ファイルに列挙した場所では、その場所で利用できるパッケージを記述した、<filename>release</filename> ファイル、<filename>release.<replaceable>component</replaceable></filename> ファイル、<filename>pkglist.<replaceable>component</replaceable>.bz2</filename> ファイルなどを提供します。</para> |
---|
[6623] | 114 | <para> |
---|
[6625] | 115 | これらのファイルについては、&genbasedir; コマンドのマニュアルでも説明していますので参照してください。 |
---|
[6623] | 116 | </para> |
---|
| 117 | |
---|
| 118 | <para> |
---|
[6625] | 119 | これらのファイルは通常 <filename><replaceable>baseuri</replaceable>/<replaceable>distribution</replaceable>/<architecture>/base</filename> ディレクトリにあります。 |
---|
[6623] | 120 | </para> |
---|
| 121 | <para> |
---|
[6625] | 122 | また、パッケージは、通常 <filename><replaceable>baseuri</replaceable>/<replaceable>distribution</replaceable>/<architecture>/RPMS.<replaceable>component</replaceable></filename> ディレクトリにあります。 |
---|
| 123 | 複数のコンポーネントがある場合、<filename><replaceable>baseuri</replaceable>/<replaceable>distribution</replaceable>/<architecture>/RPMS.<replaceable>component2</replaceable></filename> のようなディレクトリもあります。 |
---|
[6623] | 124 | </para> |
---|
| 125 | <para> |
---|
[6625] | 126 | それぞれ、具体的な例を挙げれば |
---|
| 127 | <filename>release</filename>ファイルなどは、<literal>http://updates.vinelinux.org/apt/&Vine-linux-release-version;/i386/base/</literal>に、パッケージは、<literal>http://updates.vinelinux.org/apt/&Vine-linux-release-version;/i386/RPMS.main/</literal> |
---|
| 128 | にあります。 |
---|
[6623] | 129 | </para> |
---|
| 130 | |
---|
| 131 | <para> |
---|
[6625] | 132 | <filename>release</filename> ファイルは、どのようなコンポーネントがあるか、また、<filename>release.<replaceable>component</replaceable></filename> ファイルや <filename>pkglist.<replaceable>component</replaceable>.bz2</filename> ファイルの具体的なファイル名の情報などを含んでいます。 |
---|
[6623] | 133 | </para> |
---|
| 134 | <para> |
---|
[6625] | 135 | この情報をもとに、<filename>release.<replaceable>component</replaceable></filename> や、<filename>pkglist.<replaceable>component</replaceable>.bz2</filename> といったファイルを取得します。 |
---|
[6623] | 136 | </para> |
---|
| 137 | |
---|
| 138 | <para> |
---|
[6625] | 139 | <filename>pkglist.<replaceable>component</replaceable>.bz2</filename> ファイルは、<filename><replaceable>baseuri</replaceable>/<replaceable>distribution</replaceable>/<architecture>/RPMS.<replaceable>component</replaceable></filename> ディレクトリにある利用可能パッケージごとに、パッケージ名、パッケージのバージョン番号、依存情報など様々な情報を含んでいます。(このファイルは純粋なテキストファイルではありません。) |
---|
[6623] | 140 | </para> |
---|
| 141 | <para> |
---|
[6625] | 142 | <filename>pkglist.<replaceable>component</replaceable>.bz2</filename> ファイルからは、<literal>パッケージ名</literal> と <literal>パッケージのバージョン番号</literal> といった情報が利用されます。 |
---|
[6623] | 143 | </para> |
---|
| 144 | |
---|
| 145 | <para> |
---|
[6625] | 146 | <filename>release.<replaceable>component</replaceable></filename> ファイルは、ディレクトリ <filename><replaceable>baseuri</replaceable>/<replaceable>distribution</replaceable>/<architecture>/RPMS.<replaceable>component</replaceable></filename> 以下にある<emphasis>全パッケージ</emphasis>(コンポーネントの全パッケージ)に適用する、複数行のレコードから成っています。 |
---|
[6623] | 147 | </para> |
---|
| 148 | |
---|
| 149 | <para> |
---|
[6625] | 150 | <filename>release.<replaceable>component</replaceable></filename> ファイルは、ほとんどの行が APT 優先度の設定に関連します。 |
---|
[6623] | 151 | </para> |
---|
| 152 | |
---|
| 153 | <para> |
---|
[6625] | 154 | <filename>release.<replaceable>component</replaceable></filename> ファイルの内容は、<command>apt-cache policy</command> コマンドでは、次のように出力されます。 |
---|
[6623] | 155 | <informalexample><programlisting> 500 http://updates.vinelinux.org &Vine-linux-release-version;/i386/main pkglist |
---|
| 156 | <emphasis>release v=&Vine-linux-release-version;,o=Project Vine,a=stable,l=Vine Linux,c=main</emphasis> |
---|
| 157 | origin updates.vinelinux.org</programlisting></informalexample> |
---|
| 158 | </para> |
---|
| 159 | |
---|
[6625] | 160 | <para>release と書かれた行の、<literal>v=</literal>, <literal>o=</literal>, <literal>a=</literal>, <literal>l=</literal>, <literal>c=</literal> の部分が <filename>release.<replaceable>component</replaceable></filename> ファイルのそれぞれ次の部分と対応しています。</para> |
---|
[6623] | 161 | |
---|
| 162 | <variablelist> |
---|
| 163 | <varlistentry> |
---|
[6625] | 164 | <term><literal>Version:</literal> 行</term> |
---|
| 165 | <listitem><simpara>リリースバージョン名。 |
---|
| 166 | <command>apt-cache policy</command> コマンドの出力の <literal>v=</literal> の部分に対応します。 |
---|
| 167 | 例えば、このツリーのパッケージが、Vine Linux リリースバージョン &Vine-linux-release-version; に属するとします。 |
---|
| 168 | 通常 <literal>testing</literal> ディストリビューションや <literal>unstable</literal> ディストリビューションには、まだリリースされていないので、バージョン番号が付きません。 |
---|
| 169 | APT 設定ファイルでこれを指定するには、以下の行のいずれかが必要になります。</simpara> |
---|
[6623] | 170 | |
---|
| 171 | <programlisting> |
---|
| 172 | Pin: release v=&Vine-linux-release-version; |
---|
| 173 | Pin: release a=stable, v=&Vine-linux-release-version; |
---|
| 174 | Pin: release &Vine-linux-release-version; |
---|
| 175 | </programlisting> |
---|
| 176 | |
---|
[6625] | 177 | <simpara>二つ目では、a=stable, v=&Vine-linux-release-version; のように、Version だけではなく Archive も指定しています。複数指定する場合には、このように "<literal>,</literal>" を利用して記述します。</simpara> |
---|
[6623] | 178 | </listitem> |
---|
| 179 | </varlistentry> |
---|
| 180 | |
---|
| 181 | <varlistentry> |
---|
[6625] | 182 | <term><literal>Origin:</literal> 行</term> |
---|
| 183 | <listitem><simpara><filename>release.<replaceable>component</replaceable></filename> ファイルのディレクトリツリーにあるパッケージの提供者名。 |
---|
| 184 | <command>apt-cache policy</command> コマンドの出力の <literal>o=</literal> の部分に対応します。 |
---|
| 185 | ほとんど共通で、<literal>Project Vine</literal> です。 |
---|
| 186 | APT 設定ファイルでこの提供者を指定するには、以下の行が必要になります。 |
---|
[6623] | 187 | </simpara> |
---|
| 188 | <programlisting> |
---|
| 189 | Pin: release o=Project Vine |
---|
| 190 | </programlisting> |
---|
[6625] | 191 | <simpara>なお、<literal>Project Vine</literal> という文字列は t と V の間にスペース(空白)を一つ含んでいますが、<emphasis>" " は不要</emphasis>です。 |
---|
| 192 | <literal>Pin: release o="Project Vine"</literal> のように、<literal>"</literal> をつけると <literal>"</literal> も文字として認識されてしまい、正しく処理されません。 |
---|
[6623] | 193 | </simpara> |
---|
| 194 | </listitem> |
---|
| 195 | </varlistentry> |
---|
| 196 | |
---|
| 197 | <varlistentry> |
---|
[6625] | 198 | <term><literal>Archive:</literal> 行</term> |
---|
| 199 | <listitem><simpara>このディレクトリツリーに属する全パッケージのアーカイブ名。 |
---|
| 200 | <command>apt-cache policy</command> コマンドの出力の <literal>a=</literal> の部分に対応します。 |
---|
| 201 | 例えば、"Archive: stable" という行は、<filename>release.<replaceable>component</replaceable></filename> ファイルの親ディレクトリツリー以下にある全パッケージが、<literal>stable</literal> アーカイブだと指定します。 |
---|
| 202 | APT 設定ファイルでこの値を指定するには、以下の行が必要になります。</simpara> |
---|
[6623] | 203 | <programlisting> |
---|
| 204 | Pin: release a=stable |
---|
| 205 | </programlisting> |
---|
| 206 | </listitem> |
---|
| 207 | </varlistentry> |
---|
| 208 | |
---|
| 209 | <varlistentry> |
---|
[6625] | 210 | <term><literal>Label:</literal> 行</term> |
---|
[6623] | 211 | <listitem><simpara> |
---|
[6625] | 212 | <filename>release.<replaceable>component</replaceable></filename> ファイルのディレクトリツリーにあるパッケージのラベル名。 |
---|
| 213 | <command>apt-cache policy</command> コマンドの出力の <literal>l=</literal> の部分に対応します。 |
---|
| 214 | <literal>Vine Linux</literal> や <literal>Vine Linux - コンポーネント名</literal> が用いられます。 |
---|
| 215 | APT 設定ファイルでこのラベルを指定するには、以下の行が必要になります。</simpara> |
---|
[6623] | 216 | <programlisting> |
---|
| 217 | Pin: release l=Vine Linux |
---|
| 218 | </programlisting> |
---|
| 219 | </listitem> |
---|
| 220 | </varlistentry> |
---|
| 221 | |
---|
| 222 | <varlistentry> |
---|
[6625] | 223 | <term><literal>Component:</literal> 行</term> |
---|
| 224 | <listitem><simpara><filename>release.<replaceable>component</replaceable></filename> ファイルの、ディレクトリツリーにあるパッケージのライセンスコンポーネント名。 |
---|
| 225 | <command>apt-cache policy</command> コマンドの出力の <literal>c=</literal> の部分に対応します。 |
---|
| 226 | 例えば、"Component: main" という行は、このディレクトリ以下の全ファイルが、<literal>main</literal> コンポーネント(Eratta発行の対象となるパッケージ)であることを表します。 |
---|
| 227 | APT 設定ファイルでこのコンポーネントを指定するには、以下の行が必要になります。</simpara> |
---|
[6623] | 228 | <programlisting> |
---|
| 229 | Pin: release c=main |
---|
| 230 | </programlisting> |
---|
| 231 | </listitem> |
---|
| 232 | </varlistentry> |
---|
| 233 | |
---|
| 234 | </variablelist> |
---|
| 235 | |
---|
| 236 | <para> |
---|
[6625] | 237 | &sources-list; ファイルに列挙された場所から取得した <filename>release.<replaceable>component</replaceable></filename> ファイルや <filename>release</filename> ファイルはすべて、<filename>/var/state/apt/lists</filename> ディレクトリや、<filename>apt.conf</filename> ファイルの設定項目 <literal>Dir::State::lists</literal> で指定した場所に取得されます。 |
---|
| 238 | 例えば、<filename><literal>updates.vinelinux.org</literal>_apt_<literal>&Vine-linux-release-version;</literal>_<literal>i386</literal>_base_<literal>release</literal>.<literal>main</literal></filename> |
---|
| 239 | ファイルは、<literal>updates.vinelinux.org</literal> から取得した、<literal>&Vine-linux-release-version;</literal> ディストリビューションで、<literal>main</literal> コンポーネントな、<literal>i386</literal> アーキテクチャ用の <filename>release</filename> ファイルを含んでいます。</para> |
---|
[6623] | 240 | |
---|
| 241 | </RefSect2> |
---|
| 242 | |
---|
| 243 | |
---|
[6625] | 244 | <RefSect2><Title>APT 設定の効果</Title> |
---|
[6623] | 245 | |
---|
| 246 | <para> |
---|
[6625] | 247 | APT 設定ファイルを使うと、システム管理者が優先度を割り当てられるようになります。 |
---|
| 248 | ファイルは、空白行で区切られた、複数行からなるレコードで構成されています。 |
---|
| 249 | レコードは特定形式か、汎用形式のどちらかの形式をとります。 |
---|
[6623] | 250 | <itemizedlist> |
---|
| 251 | <listitem> |
---|
| 252 | <simpara> |
---|
[6625] | 253 | 特定形式は、優先度 ("Pin-Priority") を、指定したパッケージの指定したバージョン (範囲) について割り当てます。 |
---|
| 254 | 例えば以下のレコードは、"<literal>5.8</literal>" で始まる <filename>perl</filename> パッケージを、高い優先度に設定します。 |
---|
[6623] | 255 | </simpara> |
---|
| 256 | |
---|
| 257 | <programlisting>Package: perl |
---|
| 258 | Pin: version 5.8* |
---|
| 259 | Pin-Priority: 1001 |
---|
| 260 | </programlisting> |
---|
| 261 | </listitem> |
---|
| 262 | |
---|
| 263 | <listitem><simpara> |
---|
[6625] | 264 | 汎用形式は、与えられたディストリビューションにある、すべてのパッケージ (<filename>release</filename> ファイルに列挙したパッケージ) の優先度や、FQDN(Fully Qualified Domain Name)で指定した、特定のインターネットサイトから取得するパッケージの優先度を割り当てます。 |
---|
[6623] | 265 | </simpara> |
---|
| 266 | |
---|
| 267 | <simpara> |
---|
[6625] | 268 | APT 設定ファイルに書かれている汎用形式のエントリは、パッケージのグループについてのみ適用されます。 |
---|
| 269 | 例えば以下のレコードは、ローカルサイトにある全パッケージについて、高い優先度を割り当てます。 |
---|
[6623] | 270 | </simpara> |
---|
| 271 | |
---|
| 272 | <programlisting>Package: * |
---|
| 273 | Pin: origin "" |
---|
| 274 | Pin-Priority: 999 |
---|
| 275 | </programlisting> |
---|
| 276 | |
---|
| 277 | <simpara> |
---|
[6625] | 278 | 注: ここで使用しているキーワードは "<literal>origin</literal>" です。 |
---|
| 279 | origin には updates.vinelinux.org のような URL を書きます。"" のようにすると、ローカルサイトを示すことになります。 |
---|
| 280 | <filename>release</filename> ファイルに指定されたような、ディストリビューションの Origin と混同しないようにしてください。 |
---|
| 281 | <filename>release</filename> ファイルにある "Origin:" タグは、インターネットアドレスではなく、"Project Vine" や "Debian" といった作者やベンダ名です。 |
---|
[6623] | 282 | </simpara> |
---|
| 283 | |
---|
| 284 | <simpara> |
---|
[6625] | 285 | 以下のレコードは、アーカイブ名が "<literal>unstable</literal>" となっているディストリビューションに属するパッケージを、すべて低い優先度に割り当てます。 |
---|
[6623] | 286 | </simpara> |
---|
| 287 | |
---|
| 288 | <programlisting>Package: * |
---|
| 289 | Pin: release a=unstable |
---|
| 290 | Pin-Priority: 50 |
---|
| 291 | </programlisting> |
---|
| 292 | |
---|
| 293 | <simpara> |
---|
[6625] | 294 | 以下のレコードは、アーカイブ名が "<literal>stable</literal>" で、リリースバージョン番号が "<literal>3.0</literal>" となっているリリースに属するパッケージを、すべて高い優先度に割り当てます。 |
---|
[6623] | 295 | </simpara> |
---|
| 296 | |
---|
| 297 | <programlisting>Package: * |
---|
| 298 | Pin: release a=unstable, v=3.0 |
---|
| 299 | Pin-Priority: 50 |
---|
| 300 | </programlisting> |
---|
| 301 | </listitem> |
---|
| 302 | </itemizedlist> |
---|
| 303 | </para> |
---|
| 304 | |
---|
| 305 | </RefSect2> |
---|
| 306 | |
---|
| 307 | <RefSect2> |
---|
[6625] | 308 | <Title>APT が優先度に割り込む方法</Title> |
---|
[6623] | 309 | |
---|
| 310 | <para> |
---|
[6625] | 311 | APT 設定ファイルで割り当てた優先度 (P) は、正負の整数でなくてはなりません。 |
---|
| 312 | これは (おおざっぱにいうと) 以下のように解釈されます。 |
---|
[6623] | 313 | |
---|
| 314 | <variablelist> |
---|
| 315 | <varlistentry> |
---|
| 316 | <term>P > 1000</term> |
---|
[6625] | 317 | <listitem><simpara>パッケージがダウングレードしても、このバージョンのパッケージをインストールします。</simpara></listitem> |
---|
[6623] | 318 | </varlistentry> |
---|
| 319 | <varlistentry> |
---|
| 320 | <term>990 < P <=1000</term> |
---|
[6625] | 321 | <listitem><simpara>インストールされているバージョンの方が新しいことを除き、ターゲットリリースに含まれなくても、このバージョンのパッケージをインストールします。</simpara></listitem> |
---|
[6623] | 322 | </varlistentry> |
---|
| 323 | <varlistentry> |
---|
| 324 | <term>500 < P <=990</term> |
---|
[6625] | 325 | <listitem><simpara>ターゲットリリースに属するバージョンがあったり、インストールされているバージョンの方が新しいのでなければ、このバージョンのパッケージをインストールします。</simpara></listitem> |
---|
[6623] | 326 | </varlistentry> |
---|
| 327 | <varlistentry> |
---|
| 328 | <term>100 < P <=500</term> |
---|
[6625] | 329 | <listitem><simpara>他のディストリビューションに属するバージョンがあったり、インストールされているバージョンの方が新しいのでなければ、このバージョンのパッケージをインストールします。</simpara></listitem> |
---|
[6623] | 330 | </varlistentry> |
---|
| 331 | <varlistentry> |
---|
| 332 | <term>0 < P <=100</term> |
---|
[6625] | 333 | <listitem><simpara>このパッケージがインストールされていない場合、このバージョンのパッケージをインストールします。</simpara></listitem> |
---|
[6623] | 334 | </varlistentry> |
---|
| 335 | <varlistentry> |
---|
| 336 | <term>P < 0</term> |
---|
[6625] | 337 | <listitem><simpara>このバージョンがインストールされないようにします。</simpara></listitem> |
---|
[6623] | 338 | </varlistentry> |
---|
| 339 | </variablelist> |
---|
| 340 | </para> |
---|
| 341 | |
---|
| 342 | <para> |
---|
[6625] | 343 | 特定形式のレコードが利用可能パッケージバージョンに一致した場合、最初のレコードが、パッケージバージョンの優先度を決定します。 |
---|
| 344 | 失敗して、汎用形式のレコードが利用可能パッケージバージョンに一致した場合、最初のレコードが、パッケージバージョンの優先度を決定します。 |
---|
[6623] | 345 | </para> |
---|
| 346 | |
---|
| 347 | <para> |
---|
[6625] | 348 | 例えば、APT 設定ファイルの上の方に、以下の 3つのレコードが書かれていると仮定してください。 |
---|
[6623] | 349 | <programlisting> |
---|
| 350 | Package: perl |
---|
| 351 | Pin: version 5.8* |
---|
| 352 | Pin-Priority: 1001 |
---|
| 353 | |
---|
| 354 | Package: * |
---|
| 355 | Pin: origin "" |
---|
| 356 | Pin-Priority: 999 |
---|
| 357 | |
---|
| 358 | Package: * |
---|
| 359 | Pin: release unstable |
---|
| 360 | Pin-Priority: 50 |
---|
| 361 | </programlisting> |
---|
| 362 | |
---|
[6625] | 363 | すると |
---|
[6623] | 364 | |
---|
| 365 | <itemizedlist> |
---|
[6625] | 366 | <listitem><simpara>1番目のレコードで、<literal>perl</literal> のパッケージについて記述されています。 |
---|
| 367 | バージョン番号が "<literal>5.8</literal>" で始まっていれば、<literal>perl</literal> の最新の利用可能パッケージがインストールされます。 |
---|
| 368 | <literal>perl</literal> の <emphasis>バージョン 5.8* が利用可能</emphasis>で、バージョン 5.9* がインストールされている場合、<literal>perl</literal> はダウングレードされます。</simpara></listitem> |
---|
[6623] | 369 | |
---|
[6625] | 370 | <listitem><simpara>2番目のレコードで、 <literal>origin ""</literal> とあり、ローカルシステムの優先度が指定されています。 |
---|
| 371 | ローカルシステムで入手可能な、<literal>perl</literal> 以外のどんなパッケージでも、他のバージョンより (たとえターゲットリリースに属していても) 優先度が高くなります。</simpara></listitem> |
---|
[6623] | 372 | |
---|
[6625] | 373 | <listitem><simpara>3番目のレコードで、ローカルシステムにはなくても &sources-list; に列挙されたサイトにあるバージョンで、<literal>unstable</literal> ディストリビューションに属しているパッケージは、インストールするよう選択され、既にインストールされているバージョンがない場合にのみインストールされます。</simpara></listitem> |
---|
[6623] | 374 | </itemizedlist> |
---|
| 375 | </para> |
---|
| 376 | </RefSect2> |
---|
| 377 | |
---|
| 378 | |
---|
| 379 | <RefSect2> |
---|
[6625] | 380 | <Title>APT 設定レコードのオプション行</Title> |
---|
[6623] | 381 | |
---|
| 382 | <para> |
---|
[6625] | 383 | APT 設定ファイルのレコードごとに、任意で <literal>Explanation:</literal> で始まる行を持てます。 |
---|
| 384 | これは、コメント用の場所を確保します。 |
---|
[6623] | 385 | </para> |
---|
| 386 | |
---|
| 387 | <para> |
---|
[6625] | 388 | APT 設定レコードの <literal>Pin-Priority:</literal> 行は任意です。 |
---|
| 389 | 省略すると、<literal>Pin-Priority: release ...</literal> で始まる行で指示した最後の値 (少なくとも1つ) を優先度に割り当てます。 |
---|
[6623] | 390 | </para> |
---|
| 391 | </RefSect2> |
---|
| 392 | </RefSect1> |
---|
| 393 | |
---|
| 394 | <RefSect1> |
---|
[6625] | 395 | <Title>サンプル</Title> |
---|
[6623] | 396 | <RefSect2> |
---|
[6625] | 397 | <Title>安定版(Stable)を追跡</Title> |
---|
[6623] | 398 | |
---|
| 399 | <para> |
---|
[6625] | 400 | 以下の APT 設定ファイルは、<literal>stable</literal> ディストリビューションに属する全てのパッケージのバージョンに、 デフォルト (500) より高い優先度を割り当て、 他の <literal>Project Vine</literal> ディストリビューションのパッケージのバージョンには、低くてインストールできないような優先度を割り当てます。 |
---|
[6623] | 401 | |
---|
| 402 | <programlisting> |
---|
| 403 | Explanation: Uninstall or do not install any Project Vine-originated |
---|
| 404 | Explanation: package versions other than those in the stable distro |
---|
| 405 | Package: * |
---|
| 406 | Pin: release a=stable |
---|
| 407 | Pin-Priority: 900 |
---|
| 408 | |
---|
| 409 | Package: * |
---|
| 410 | Pin: release o=Project Vine |
---|
| 411 | Pin-Priority: -10 |
---|
| 412 | </programlisting> |
---|
| 413 | </para> |
---|
| 414 | |
---|
| 415 | <para> |
---|
[6625] | 416 | 適切な &sources-list; ファイルと上記の設定ファイルにより、 |
---|
| 417 | 以下のコマンドで最新の <literal>stable</literal> バージョンにアップグレードできます。 |
---|
[6623] | 418 | |
---|
| 419 | <programlisting> |
---|
| 420 | apt-get install <replaceable>package-name</replaceable> |
---|
| 421 | apt-get upgrade |
---|
| 422 | apt-get dist-upgrade |
---|
| 423 | </programlisting> |
---|
| 424 | </para> |
---|
| 425 | |
---|
| 426 | <para> |
---|
[6625] | 427 | 以下のコマンドで、指定したパッケージを <literal>testing</literal> ディストリビューションの最新バージョンにアップグレードします。 |
---|
| 428 | このパッケージは、再度このコマンドを発行しないとアップグレードされません。 |
---|
[6623] | 429 | |
---|
| 430 | <programlisting> |
---|
| 431 | apt-get install <replaceable>package</replaceable>/testing |
---|
| 432 | </programlisting> |
---|
| 433 | </para> |
---|
| 434 | </RefSect2> |
---|
| 435 | |
---|
| 436 | <RefSect2> |
---|
[6625] | 437 | <Title>テスト版(Testing)や不安定版(Unstable)を追跡</Title> |
---|
[6623] | 438 | |
---|
| 439 | <para> |
---|
[6625] | 440 | 以下の APT 設定ファイルは、<literal>testing</literal> ディストリビューションのパッケージのバージョンに高い優先度を割り当て、<literal>unstable</literal> ディストリビューションのパッケージのバージョンには低い優先度を割り当てます。 |
---|
| 441 | また他の <literal>Project Vine</literal> ディストリビューションのパッケージのバージョンには、低くてインストールできないような優先度を割り当てます。 |
---|
[6623] | 442 | |
---|
| 443 | <programlisting> |
---|
| 444 | Package: * |
---|
| 445 | Pin: release a=testing |
---|
| 446 | Pin-Priority: 900 |
---|
| 447 | |
---|
| 448 | Package: * |
---|
| 449 | Pin: release a=unstable |
---|
| 450 | Pin-Priority: 800 |
---|
| 451 | |
---|
| 452 | Package: * |
---|
| 453 | Pin: release o=Project Vine |
---|
| 454 | Pin-Priority: -10 |
---|
| 455 | </programlisting> |
---|
| 456 | </para> |
---|
| 457 | |
---|
| 458 | <para> |
---|
[6625] | 459 | 適切な &sources-list; ファイルと上記の設定ファイルにより、以下のコマンドで最新の <literal>testing</literal> バージョンにアップグレードできます。 |
---|
[6623] | 460 | |
---|
| 461 | <programlisting> |
---|
| 462 | apt-get install <replaceable>package-name</replaceable> |
---|
| 463 | apt-get upgrade |
---|
| 464 | apt-get dist-upgrade |
---|
| 465 | </programlisting> |
---|
| 466 | </para> |
---|
| 467 | |
---|
[6625] | 468 | <para>以下のコマンドで、指定したパッケージを <literal>unstable</literal> ディストリビューションの最新バージョンにアップグレードします。 |
---|
| 469 | それ以降、<command>apt-get upgrade</command> は <literal>testing</literal> バージョンのパッケージが更新されていれば <literal>testing</literal> の最新版に、<literal>unstable</literal> バージョンのパッケージが更新されていれば <literal>unstable</literal> の最新版にアップグレードします。 |
---|
[6623] | 470 | |
---|
| 471 | <programlisting> |
---|
| 472 | apt-get install <replaceable>package</replaceable>/unstable |
---|
| 473 | </programlisting> |
---|
| 474 | </para> |
---|
| 475 | |
---|
| 476 | </RefSect2> |
---|
| 477 | |
---|
| 478 | <RefSect2> |
---|
[6625] | 479 | <Title>Project Vine のパッケージにもどす</Title> |
---|
[6623] | 480 | |
---|
| 481 | <para> |
---|
[6625] | 482 | 以下の APT 設定ファイルは、<literal>Project Vine</literal> ディストリビューションに属する全てのパッケージのバージョンに、ダウングレードも認める 1000 より大きな優先度を割り当てます。 |
---|
| 483 | ローカルで Patch を当てるなどしてテストパッケージを作りインストールしていた場合などに、公式に配布されているパッケージのバージョンに戻すことができます。 |
---|
[6623] | 484 | |
---|
| 485 | <programlisting> |
---|
| 486 | Package: * |
---|
| 487 | Pin: release o=Project Vine |
---|
| 488 | Pin-Priority: 1001 |
---|
| 489 | </programlisting> |
---|
| 490 | </para> |
---|
| 491 | |
---|
| 492 | <para> |
---|
[6625] | 493 | 適切な &sources-list; ファイルと上記の設定ファイルにより、 |
---|
| 494 | 以下のコマンドで最新の <literal>stable</literal> バージョンにアップグレードできます。 |
---|
[6623] | 495 | |
---|
| 496 | <programlisting> |
---|
| 497 | apt-get install <replaceable>package-name</replaceable> |
---|
| 498 | apt-get upgrade |
---|
| 499 | apt-get dist-upgrade |
---|
| 500 | </programlisting> |
---|
| 501 | </para> |
---|
| 502 | |
---|
| 503 | <para> |
---|
[6625] | 504 | 以下のコマンドで、指定したパッケージを <literal>testing</literal> ディストリビューションの最新バージョンにアップグレードします。 |
---|
| 505 | このパッケージは、再度このコマンドを発行しないとアップグレードされません。 |
---|
[6623] | 506 | |
---|
| 507 | <programlisting> |
---|
| 508 | apt-get install <replaceable>package</replaceable>/testing |
---|
| 509 | </programlisting> |
---|
| 510 | </para> |
---|
| 511 | </RefSect2> |
---|
| 512 | |
---|
| 513 | </RefSect1> |
---|
| 514 | |
---|
| 515 | <RefSect1> |
---|
[6625] | 516 | <Title>関連項目</Title> |
---|
[6623] | 517 | <para> |
---|
| 518 | &apt-get; &apt-cache; &apt-conf; &sources-list; |
---|
| 519 | </para> |
---|
| 520 | </RefSect1> |
---|
| 521 | |
---|
| 522 | &manbugs; |
---|
[6625] | 523 | <RefSect1><Title>著者</Title> |
---|
[6623] | 524 | <para> |
---|
[6625] | 525 | APT は Debian APT team によって作成され、その後 Conectiva(現 Mandriva) により rpm へ移植され apt-rpm となり、現在は Panu Matilainen さん(http://laiskiainen.org/) たちによって、http://apt-rpm.org/ でメンテナンスされています。 |
---|
| 526 | APT に対して貢献された方々については、&docdir;AUTHORS* 等も参照してください。 |
---|
[6623] | 527 | </para> |
---|
| 528 | <para> |
---|
[6625] | 529 | 注) この日本語マニュアルは 倉澤 望さん、喜瀬 浩さん、岡 充さんなど、Debian JP Documentation ML の人たちによって日本語訳された Debian GNU/Linux のオンラインマニュアル、および、APT HOWTO (http://www.debian.org/doc/manuals/apt-howto/ch-apt-get.ja.html) の内容をもとに、2007年 7月に Vine Linux の環境にあわせて Vine Linux ドキュメントチーム 小林が修正しています。 |
---|
| 530 | オリジナルの英語のマニュアルとは異なる部分が多数あります。この日本語マニュアルの間違いを発見した場合は Vine Linux バグトラッキングセンター http://bts.vinelinux.org/ 等を通じて報告してください。 |
---|
[6623] | 531 | </para> |
---|
| 532 | </RefSect1> |
---|
| 533 | |
---|
| 534 | </refentry> |
---|
| 535 | |
---|
| 536 | <!-- |
---|
| 537 | Local Variables: |
---|
| 538 | mode: nxml |
---|
| 539 | End: |
---|
| 540 | --> |
---|