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> |
---|
20 | <refpurpose>APT 設定制御ファイル</refpurpose> |
---|
21 | </refnamediv> |
---|
22 | |
---|
23 | <RefSect1> |
---|
24 | <Title>説明</Title> |
---|
25 | <para> |
---|
26 | APT 設定ファイル <filename>/etc/apt/preferences</filename> は、インストールするパッケージのバージョン選択を制御するのに使用します。 |
---|
27 | </para> |
---|
28 | |
---|
29 | <para> |
---|
30 | &sources-list; ファイルに複数のディストリビューション (例 <literal>stable</literal> と <literal>testing</literal>) が指定されていて、パッケージに対し複数のバージョンがインストールできることがあります。 |
---|
31 | このとき APT は、利用できるバージョンごとに優先度を割り当てます。 |
---|
32 | 依存関係規則を条件として、<command>apt-get</command> は、最も高い優先度を持つバージョンをインストールするよう選択します。 |
---|
33 | APT 設定ファイルは、APT がデフォルトで割り当てた、パッケージのバージョンの優先度を上書きします。 |
---|
34 | その結果、インストールするものの選択を、ユーザが選択できるようになります。 |
---|
35 | </para> |
---|
36 | <para> |
---|
37 | &sources-list; ファイルに複数のダウンロードサイトが書かれている場合、パッケージの同じバージョンのファイルが複数利用できる可能性があります。 |
---|
38 | この場合、<command>apt-get</command> は &sources-list; ファイルの初めの方に指定されているところからダウンロードします。 |
---|
39 | APT 設定ファイルは、バージョンの選択にのみ影響し、ダウンロードサイトの選択には影響しません。 |
---|
40 | </para> |
---|
41 | |
---|
42 | |
---|
43 | <RefSect2><Title>APT のデフォルト優先度の割り当て</Title> |
---|
44 | |
---|
45 | <para> |
---|
46 | 設定ファイルがなかったり、設定ファイルに、特定のパッケージを割り当てるエントリがない場合、そのバージョンの優先度は、そのバージョンが属しているディストリビューションの優先度となります。 |
---|
47 | デフォルトで他のディストリビューションより高い優先度を持つ、特定のディストリビューションを「ターゲットリリース」としておくのは可能です。 |
---|
48 | ターゲットリリースは、<command>apt-get</command> のコマンドラインで設定したり、APT 設定ファイル <filename>/etc/apt/apt.conf</filename> で設定したりできます。 |
---|
49 | 例えば以下のようになります。 |
---|
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> |
---|
59 | ターゲットリリースが指定されると、APT は以下のアルゴリズムで、パッケージのバージョンの優先度を設定します。 |
---|
60 | このように割り当てます。 |
---|
61 | <variablelist> |
---|
62 | <varlistentry> |
---|
63 | <term>優先度(priority) 100</term> |
---|
64 | <listitem><simpara>(あるならば) 既にインストールされているバージョン。(RPM Database)</simpara></listitem> |
---|
65 | </varlistentry> |
---|
66 | <varlistentry> |
---|
67 | <term>優先度 500</term> |
---|
68 | <listitem><simpara>インストールされておらず、ターゲットリリースに含まれないバージョン。</simpara></listitem> |
---|
69 | </varlistentry> |
---|
70 | <varlistentry> |
---|
71 | <term>優先度 990</term> |
---|
72 | <listitem><simpara>インストールされておらず、ターゲットリリースに含まれるバージョン。</simpara></listitem> |
---|
73 | </varlistentry> |
---|
74 | </variablelist> |
---|
75 | </para> |
---|
76 | |
---|
77 | <para> |
---|
78 | ターゲットリリースが指定されていなければ、APT は単純にインストールしているパッケージのバージョンには 100 を、インストールしていないパッケージのバージョンには 500 を割り当てます。</para> |
---|
79 | |
---|
80 | <para> |
---|
81 | APT は、インストールするパッケージのバージョンを決定するために、 以下のルールを上から順番に適用します。 |
---|
82 | <itemizedlist> |
---|
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> |
---|
88 | </itemizedlist> |
---|
89 | </para> |
---|
90 | |
---|
91 | <para> |
---|
92 | よくある状況として、あるインストールされているパッケージのバージョン (優先度 100) が、&sources-list; ファイルのリストから得られるバージョン (優先度 500 か 990) よりも新しくないということがあります。 |
---|
93 | この場合、<command>apt-get install <replaceable>some-package</replaceable></command> や <command>apt-get upgrade</command> を実行するとパッケージが更新されます。 |
---|
94 | </para> |
---|
95 | |
---|
96 | <para> |
---|
97 | まれに、インストールされているパッケージのバージョンが、<emphasis>他の有効なバージョンよりも新しい</emphasis>場合があります。 |
---|
98 | この時 <command>apt-get install <replaceable>some-package</replaceable></command> や <command>apt-get upgrade</command> を実行しても、ダウングレードしません。 |
---|
99 | </para> |
---|
100 | |
---|
101 | <para> |
---|
102 | 時々、インストールしているパッケージのバージョンが、ターゲットリリースに属するバージョンよりも新しく、他のディストリビューションよりも古い場合があります。 |
---|
103 | そのようなパッケージに対して <command>apt-get install <replaceable>some-package</replaceable></command> や <command>apt-get upgrade</command> を実行すると、パッケージは更新されます。 |
---|
104 | |
---|
105 | この場合、インストールされているバージョンよりも、少なくとも<emphasis>ひとつ</emphasis>は、高い優先度を持つ有効なパッケージがあるからです。 |
---|
106 | </para> |
---|
107 | |
---|
108 | </RefSect2> |
---|
109 | |
---|
110 | <RefSect2> |
---|
111 | <Title>パッケージのバージョンとディストリビューションプロパティの決定</Title> |
---|
112 | <para> |
---|
113 | &sources-list; ファイルに列挙した場所では、その場所で利用できるパッケージを記述した、<filename>release</filename> ファイル、<filename>release.<replaceable>component</replaceable></filename> ファイル、<filename>pkglist.<replaceable>component</replaceable>.bz2</filename> ファイルなどを提供します。</para> |
---|
114 | <para> |
---|
115 | これらのファイルについては、&genbasedir; コマンドのマニュアルでも説明していますので参照してください。 |
---|
116 | </para> |
---|
117 | |
---|
118 | <para> |
---|
119 | これらのファイルは通常 <filename><replaceable>baseuri</replaceable>/<replaceable>distribution</replaceable>/<architecture>/base</filename> ディレクトリにあります。 |
---|
120 | </para> |
---|
121 | <para> |
---|
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> のようなディレクトリもあります。 |
---|
124 | </para> |
---|
125 | <para> |
---|
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 | にあります。 |
---|
129 | </para> |
---|
130 | |
---|
131 | <para> |
---|
132 | <filename>release</filename> ファイルは、どのようなコンポーネントがあるか、また、<filename>release.<replaceable>component</replaceable></filename> ファイルや <filename>pkglist.<replaceable>component</replaceable>.bz2</filename> ファイルの具体的なファイル名の情報などを含んでいます。 |
---|
133 | </para> |
---|
134 | <para> |
---|
135 | この情報をもとに、<filename>release.<replaceable>component</replaceable></filename> や、<filename>pkglist.<replaceable>component</replaceable>.bz2</filename> といったファイルを取得します。 |
---|
136 | </para> |
---|
137 | |
---|
138 | <para> |
---|
139 | <filename>pkglist.<replaceable>component</replaceable>.bz2</filename> ファイルは、<filename><replaceable>baseuri</replaceable>/<replaceable>distribution</replaceable>/<architecture>/RPMS.<replaceable>component</replaceable></filename> ディレクトリにある利用可能パッケージごとに、パッケージ名、パッケージのバージョン番号、依存情報など様々な情報を含んでいます。(このファイルは純粋なテキストファイルではありません。) |
---|
140 | </para> |
---|
141 | <para> |
---|
142 | <filename>pkglist.<replaceable>component</replaceable>.bz2</filename> ファイルからは、<literal>パッケージ名</literal> と <literal>パッケージのバージョン番号</literal> といった情報が利用されます。 |
---|
143 | </para> |
---|
144 | |
---|
145 | <para> |
---|
146 | <filename>release.<replaceable>component</replaceable></filename> ファイルは、ディレクトリ <filename><replaceable>baseuri</replaceable>/<replaceable>distribution</replaceable>/<architecture>/RPMS.<replaceable>component</replaceable></filename> 以下にある<emphasis>全パッケージ</emphasis>(コンポーネントの全パッケージ)に適用する、複数行のレコードから成っています。 |
---|
147 | </para> |
---|
148 | |
---|
149 | <para> |
---|
150 | <filename>release.<replaceable>component</replaceable></filename> ファイルは、ほとんどの行が APT 優先度の設定に関連します。 |
---|
151 | </para> |
---|
152 | |
---|
153 | <para> |
---|
154 | <filename>release.<replaceable>component</replaceable></filename> ファイルの内容は、<command>apt-cache policy</command> コマンドでは、次のように出力されます。 |
---|
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 | |
---|
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> |
---|
161 | |
---|
162 | <variablelist> |
---|
163 | <varlistentry> |
---|
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> |
---|
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 | |
---|
177 | <simpara>二つ目では、a=stable, v=&Vine-linux-release-version; のように、Version だけではなく Archive も指定しています。複数指定する場合には、このように "<literal>,</literal>" を利用して記述します。</simpara> |
---|
178 | </listitem> |
---|
179 | </varlistentry> |
---|
180 | |
---|
181 | <varlistentry> |
---|
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 設定ファイルでこの提供者を指定するには、以下の行が必要になります。 |
---|
187 | </simpara> |
---|
188 | <programlisting> |
---|
189 | Pin: release o=Project Vine |
---|
190 | </programlisting> |
---|
191 | <simpara>なお、<literal>Project Vine</literal> という文字列は t と V の間にスペース(空白)を一つ含んでいますが、<emphasis>" " は不要</emphasis>です。 |
---|
192 | <literal>Pin: release o="Project Vine"</literal> のように、<literal>"</literal> をつけると <literal>"</literal> も文字として認識されてしまい、正しく処理されません。 |
---|
193 | </simpara> |
---|
194 | </listitem> |
---|
195 | </varlistentry> |
---|
196 | |
---|
197 | <varlistentry> |
---|
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> |
---|
203 | <programlisting> |
---|
204 | Pin: release a=stable |
---|
205 | </programlisting> |
---|
206 | </listitem> |
---|
207 | </varlistentry> |
---|
208 | |
---|
209 | <varlistentry> |
---|
210 | <term><literal>Label:</literal> 行</term> |
---|
211 | <listitem><simpara> |
---|
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> |
---|
216 | <programlisting> |
---|
217 | Pin: release l=Vine Linux |
---|
218 | </programlisting> |
---|
219 | </listitem> |
---|
220 | </varlistentry> |
---|
221 | |
---|
222 | <varlistentry> |
---|
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> |
---|
228 | <programlisting> |
---|
229 | Pin: release c=main |
---|
230 | </programlisting> |
---|
231 | </listitem> |
---|
232 | </varlistentry> |
---|
233 | |
---|
234 | </variablelist> |
---|
235 | |
---|
236 | <para> |
---|
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> |
---|
240 | |
---|
241 | </RefSect2> |
---|
242 | |
---|
243 | |
---|
244 | <RefSect2><Title>APT 設定の効果</Title> |
---|
245 | |
---|
246 | <para> |
---|
247 | APT 設定ファイルを使うと、システム管理者が優先度を割り当てられるようになります。 |
---|
248 | ファイルは、空白行で区切られた、複数行からなるレコードで構成されています。 |
---|
249 | レコードは特定形式か、汎用形式のどちらかの形式をとります。 |
---|
250 | <itemizedlist> |
---|
251 | <listitem> |
---|
252 | <simpara> |
---|
253 | 特定形式は、優先度 ("Pin-Priority") を、指定したパッケージの指定したバージョン (範囲) について割り当てます。 |
---|
254 | 例えば以下のレコードは、"<literal>5.8</literal>" で始まる <filename>perl</filename> パッケージを、高い優先度に設定します。 |
---|
255 | </simpara> |
---|
256 | |
---|
257 | <programlisting>Package: perl |
---|
258 | Pin: version 5.8* |
---|
259 | Pin-Priority: 1001 |
---|
260 | </programlisting> |
---|
261 | </listitem> |
---|
262 | |
---|
263 | <listitem><simpara> |
---|
264 | 汎用形式は、与えられたディストリビューションにある、すべてのパッケージ (<filename>release</filename> ファイルに列挙したパッケージ) の優先度や、FQDN(Fully Qualified Domain Name)で指定した、特定のインターネットサイトから取得するパッケージの優先度を割り当てます。 |
---|
265 | </simpara> |
---|
266 | |
---|
267 | <simpara> |
---|
268 | APT 設定ファイルに書かれている汎用形式のエントリは、パッケージのグループについてのみ適用されます。 |
---|
269 | 例えば以下のレコードは、ローカルサイトにある全パッケージについて、高い優先度を割り当てます。 |
---|
270 | </simpara> |
---|
271 | |
---|
272 | <programlisting>Package: * |
---|
273 | Pin: origin "" |
---|
274 | Pin-Priority: 999 |
---|
275 | </programlisting> |
---|
276 | |
---|
277 | <simpara> |
---|
278 | 注: ここで使用しているキーワードは "<literal>origin</literal>" です。 |
---|
279 | origin には updates.vinelinux.org のような URL を書きます。"" のようにすると、ローカルサイトを示すことになります。 |
---|
280 | <filename>release</filename> ファイルに指定されたような、ディストリビューションの Origin と混同しないようにしてください。 |
---|
281 | <filename>release</filename> ファイルにある "Origin:" タグは、インターネットアドレスではなく、"Project Vine" や "Debian" といった作者やベンダ名です。 |
---|
282 | </simpara> |
---|
283 | |
---|
284 | <simpara> |
---|
285 | 以下のレコードは、アーカイブ名が "<literal>unstable</literal>" となっているディストリビューションに属するパッケージを、すべて低い優先度に割り当てます。 |
---|
286 | </simpara> |
---|
287 | |
---|
288 | <programlisting>Package: * |
---|
289 | Pin: release a=unstable |
---|
290 | Pin-Priority: 50 |
---|
291 | </programlisting> |
---|
292 | |
---|
293 | <simpara> |
---|
294 | 以下のレコードは、アーカイブ名が "<literal>stable</literal>" で、リリースバージョン番号が "<literal>3.0</literal>" となっているリリースに属するパッケージを、すべて高い優先度に割り当てます。 |
---|
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> |
---|
308 | <Title>APT が優先度に割り込む方法</Title> |
---|
309 | |
---|
310 | <para> |
---|
311 | APT 設定ファイルで割り当てた優先度 (P) は、正負の整数でなくてはなりません。 |
---|
312 | これは (おおざっぱにいうと) 以下のように解釈されます。 |
---|
313 | |
---|
314 | <variablelist> |
---|
315 | <varlistentry> |
---|
316 | <term>P > 1000</term> |
---|
317 | <listitem><simpara>パッケージがダウングレードしても、このバージョンのパッケージをインストールします。</simpara></listitem> |
---|
318 | </varlistentry> |
---|
319 | <varlistentry> |
---|
320 | <term>990 < P <=1000</term> |
---|
321 | <listitem><simpara>インストールされているバージョンの方が新しいことを除き、ターゲットリリースに含まれなくても、このバージョンのパッケージをインストールします。</simpara></listitem> |
---|
322 | </varlistentry> |
---|
323 | <varlistentry> |
---|
324 | <term>500 < P <=990</term> |
---|
325 | <listitem><simpara>ターゲットリリースに属するバージョンがあったり、インストールされているバージョンの方が新しいのでなければ、このバージョンのパッケージをインストールします。</simpara></listitem> |
---|
326 | </varlistentry> |
---|
327 | <varlistentry> |
---|
328 | <term>100 < P <=500</term> |
---|
329 | <listitem><simpara>他のディストリビューションに属するバージョンがあったり、インストールされているバージョンの方が新しいのでなければ、このバージョンのパッケージをインストールします。</simpara></listitem> |
---|
330 | </varlistentry> |
---|
331 | <varlistentry> |
---|
332 | <term>0 < P <=100</term> |
---|
333 | <listitem><simpara>このパッケージがインストールされていない場合、このバージョンのパッケージをインストールします。</simpara></listitem> |
---|
334 | </varlistentry> |
---|
335 | <varlistentry> |
---|
336 | <term>P < 0</term> |
---|
337 | <listitem><simpara>このバージョンがインストールされないようにします。</simpara></listitem> |
---|
338 | </varlistentry> |
---|
339 | </variablelist> |
---|
340 | </para> |
---|
341 | |
---|
342 | <para> |
---|
343 | 特定形式のレコードが利用可能パッケージバージョンに一致した場合、最初のレコードが、パッケージバージョンの優先度を決定します。 |
---|
344 | 失敗して、汎用形式のレコードが利用可能パッケージバージョンに一致した場合、最初のレコードが、パッケージバージョンの優先度を決定します。 |
---|
345 | </para> |
---|
346 | |
---|
347 | <para> |
---|
348 | 例えば、APT 設定ファイルの上の方に、以下の 3つのレコードが書かれていると仮定してください。 |
---|
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 | |
---|
363 | すると |
---|
364 | |
---|
365 | <itemizedlist> |
---|
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> |
---|
369 | |
---|
370 | <listitem><simpara>2番目のレコードで、 <literal>origin ""</literal> とあり、ローカルシステムの優先度が指定されています。 |
---|
371 | ローカルシステムで入手可能な、<literal>perl</literal> 以外のどんなパッケージでも、他のバージョンより (たとえターゲットリリースに属していても) 優先度が高くなります。</simpara></listitem> |
---|
372 | |
---|
373 | <listitem><simpara>3番目のレコードで、ローカルシステムにはなくても &sources-list; に列挙されたサイトにあるバージョンで、<literal>unstable</literal> ディストリビューションに属しているパッケージは、インストールするよう選択され、既にインストールされているバージョンがない場合にのみインストールされます。</simpara></listitem> |
---|
374 | </itemizedlist> |
---|
375 | </para> |
---|
376 | </RefSect2> |
---|
377 | |
---|
378 | |
---|
379 | <RefSect2> |
---|
380 | <Title>APT 設定レコードのオプション行</Title> |
---|
381 | |
---|
382 | <para> |
---|
383 | APT 設定ファイルのレコードごとに、任意で <literal>Explanation:</literal> で始まる行を持てます。 |
---|
384 | これは、コメント用の場所を確保します。 |
---|
385 | </para> |
---|
386 | |
---|
387 | <para> |
---|
388 | APT 設定レコードの <literal>Pin-Priority:</literal> 行は任意です。 |
---|
389 | 省略すると、<literal>Pin-Priority: release ...</literal> で始まる行で指示した最後の値 (少なくとも1つ) を優先度に割り当てます。 |
---|
390 | </para> |
---|
391 | </RefSect2> |
---|
392 | </RefSect1> |
---|
393 | |
---|
394 | <RefSect1> |
---|
395 | <Title>サンプル</Title> |
---|
396 | <RefSect2> |
---|
397 | <Title>安定版(Stable)を追跡</Title> |
---|
398 | |
---|
399 | <para> |
---|
400 | 以下の APT 設定ファイルは、<literal>stable</literal> ディストリビューションに属する全てのパッケージのバージョンに、 デフォルト (500) より高い優先度を割り当て、 他の <literal>Project Vine</literal> ディストリビューションのパッケージのバージョンには、低くてインストールできないような優先度を割り当てます。 |
---|
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> |
---|
416 | 適切な &sources-list; ファイルと上記の設定ファイルにより、 |
---|
417 | 以下のコマンドで最新の <literal>stable</literal> バージョンにアップグレードできます。 |
---|
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> |
---|
427 | 以下のコマンドで、指定したパッケージを <literal>testing</literal> ディストリビューションの最新バージョンにアップグレードします。 |
---|
428 | このパッケージは、再度このコマンドを発行しないとアップグレードされません。 |
---|
429 | |
---|
430 | <programlisting> |
---|
431 | apt-get install <replaceable>package</replaceable>/testing |
---|
432 | </programlisting> |
---|
433 | </para> |
---|
434 | </RefSect2> |
---|
435 | |
---|
436 | <RefSect2> |
---|
437 | <Title>テスト版(Testing)や不安定版(Unstable)を追跡</Title> |
---|
438 | |
---|
439 | <para> |
---|
440 | 以下の APT 設定ファイルは、<literal>testing</literal> ディストリビューションのパッケージのバージョンに高い優先度を割り当て、<literal>unstable</literal> ディストリビューションのパッケージのバージョンには低い優先度を割り当てます。 |
---|
441 | また他の <literal>Project Vine</literal> ディストリビューションのパッケージのバージョンには、低くてインストールできないような優先度を割り当てます。 |
---|
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> |
---|
459 | 適切な &sources-list; ファイルと上記の設定ファイルにより、以下のコマンドで最新の <literal>testing</literal> バージョンにアップグレードできます。 |
---|
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 | |
---|
468 | <para>以下のコマンドで、指定したパッケージを <literal>unstable</literal> ディストリビューションの最新バージョンにアップグレードします。 |
---|
469 | それ以降、<command>apt-get upgrade</command> は <literal>testing</literal> バージョンのパッケージが更新されていれば <literal>testing</literal> の最新版に、<literal>unstable</literal> バージョンのパッケージが更新されていれば <literal>unstable</literal> の最新版にアップグレードします。 |
---|
470 | |
---|
471 | <programlisting> |
---|
472 | apt-get install <replaceable>package</replaceable>/unstable |
---|
473 | </programlisting> |
---|
474 | </para> |
---|
475 | |
---|
476 | </RefSect2> |
---|
477 | |
---|
478 | <RefSect2> |
---|
479 | <Title>Project Vine のパッケージにもどす</Title> |
---|
480 | |
---|
481 | <para> |
---|
482 | 以下の APT 設定ファイルは、<literal>Project Vine</literal> ディストリビューションに属する全てのパッケージのバージョンに、ダウングレードも認める 1000 より大きな優先度を割り当てます。 |
---|
483 | ローカルで Patch を当てるなどしてテストパッケージを作りインストールしていた場合などに、公式に配布されているパッケージのバージョンに戻すことができます。 |
---|
484 | |
---|
485 | <programlisting> |
---|
486 | Package: * |
---|
487 | Pin: release o=Project Vine |
---|
488 | Pin-Priority: 1001 |
---|
489 | </programlisting> |
---|
490 | </para> |
---|
491 | |
---|
492 | <para> |
---|
493 | 適切な &sources-list; ファイルと上記の設定ファイルにより、 |
---|
494 | 以下のコマンドで最新の <literal>stable</literal> バージョンにアップグレードできます。 |
---|
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> |
---|
504 | 以下のコマンドで、指定したパッケージを <literal>testing</literal> ディストリビューションの最新バージョンにアップグレードします。 |
---|
505 | このパッケージは、再度このコマンドを発行しないとアップグレードされません。 |
---|
506 | |
---|
507 | <programlisting> |
---|
508 | apt-get install <replaceable>package</replaceable>/testing |
---|
509 | </programlisting> |
---|
510 | </para> |
---|
511 | </RefSect2> |
---|
512 | |
---|
513 | </RefSect1> |
---|
514 | |
---|
515 | <RefSect1> |
---|
516 | <Title>関連項目</Title> |
---|
517 | <para> |
---|
518 | &apt-get; &apt-cache; &apt-conf; &sources-list; |
---|
519 | </para> |
---|
520 | </RefSect1> |
---|
521 | |
---|
522 | &manbugs; |
---|
523 | <RefSect1><Title>著者</Title> |
---|
524 | <para> |
---|
525 | APT は Debian APT team によって作成され、その後 Conectiva(現 Mandriva) により rpm へ移植され apt-rpm となり、現在は Panu Matilainen さん(http://laiskiainen.org/) たちによって、http://apt-rpm.org/ でメンテナンスされています。 |
---|
526 | APT に対して貢献された方々については、&docdir;AUTHORS* 等も参照してください。 |
---|
527 | </para> |
---|
528 | <para> |
---|
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/ 等を通じて報告してください。 |
---|
531 | </para> |
---|
532 | </RefSect1> |
---|
533 | |
---|
534 | </refentry> |
---|
535 | |
---|
536 | <!-- |
---|
537 | Local Variables: |
---|
538 | mode: nxml |
---|
539 | End: |
---|
540 | --> |
---|