[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
apt-howto
あっかんB
apt-howto を更新してみますた。
#1.7.6はCVSにありません。
#cvs.doのdiffも古いrevは壊れています。
--
victory
http://debian.rsz.jp/
don't include my addresses in mail body...
----------------------------------------------------------------
Index: apt-howto.ja.sgml
===================================================================
RCS file: /cvs/debian-doc/ddp/manuals.sgml/apt-howto/apt-howto.ja.sgml,v
retrieving revision 1.6
diff -u -r1.6 apt-howto.ja.sgml
--- apt-howto.ja.sgml 10 Aug 2005 22:46:31 -0000 1.6
+++ apt-howto.ja.sgml 5 Feb 2007 11:28:19 -0000
@@ -1,4 +1,5 @@
<!doctype debiandoc system>
+<debiandoc>
<book>
@@ -8,7 +9,7 @@
<name>Gustavo Noronha Silva</name> <email>kov@debian.org</email>
</author>
-<version>1.7.6 - 2002 年 1 月</version>
+<version>1.8.11 - 2005 年 8 月</version>
<abstract>
この文書は、Debian のパッケージ管理ユーティリティである APT の働きについて、
@@ -68,6 +69,9 @@
<p>
本マニュアルでは、Conectiva による APT の移植である apt-rpm には触れません。
しかしその目的の為の本文書への "パッチ" は歓迎します。
+
+<p>
+このマニュアルは現在の Debian リリース、<tt>Sarge</tt> を元にしています。
</chapt>
<chapt id="basico">基本的な設定
@@ -80,11 +84,13 @@
<p>
このファイルには通常、以下のようなエントリがあります。
+<p>
<example>
deb http://host/debian distribution section1 section2 section3
deb-src http://host/debian distribution section1 section2 section3
</example>
+<p>
もちろん、上記は架空のものであって、そのままでは使えません。
各行の冒頭にある <tt>deb</tt> と <tt>deb-src</tt> は、アーカイブの種類を
示しています。つまり、通常使うコンパイル済のパッケージであるバイナリ
@@ -96,8 +102,9 @@
<p>
Debian のデフォルトの sources.list は次のようになっています。
+<p>
<example>
-# See sources.list(5) for more information, especialy
+# See sources.list(5) for more information, especially
# Remember that you can only use http, ftp or file URIs
# CDROMs are managed through the apt-cdrom tool.
deb http://http.us.debian.org/debian stable main contrib non-free
@@ -109,6 +116,7 @@
#deb-src http://non-us.debian.org/debian-non-US stable/non-US main contrib non-free
</example>
+<p>
以上は Debian の基本インストールに必要な行です。最初の <tt>deb</tt> 行は、
オフィシャルのアーカイブを示しています。2 行目は non-US アーカイブ、
3 行目は Debian セキュリティアップグレードのアーカイブです。
@@ -124,6 +132,10 @@
できます。APT は <tt>http</tt>, <tt>ftp</tt>, <tt>file</tt> (ローカル
ファイル、たとえばマウントされた ISO9660 ファイルシステム中のディレクトリ
など), <tt>ssh</tt> など、異なる種類のアーカイブにも対応できます。
+<p>
+<tt>/etc/apt/sources.list</tt> を変更したら <tt>apt-get update</tt>
+を忘れずに実行してください。指定したソースからパッケージリストを取得するためには、
+これを実行しなければなりません。
</sect>
<sect id="dpkg-scanpackages">ローカルでの APT の使い方
@@ -135,62 +147,68 @@
そのためには .deb ファイルを収めるディレクトリを作ってください。
例えば:
+<p>
<example>
-mkdir /root/debs
-</example>
-
-次に /root ディレクトリ内に入って、空のファイルを作ってください。
-名前は何でも構いません。これは、APT のレポジトリが "override" という
-名で知られるファイルを必要とするからです。これは空でも構いませんが、
-存在はしていなければなりません。この種のファイルを作るのには、次の
-コマンドが利用できます。
-
-<example>
-touch file
+# mkdir /root/debs
</example>
+<p>
+リポジトリにおけるパッケージの制御ファイルの定義を、<tt>override</tt>
+ファイルを使って直接変更することができます。
このファイルの中で、パッケージに付いてくるオプションを上書きするための
オプションを定義することもできます。例は以下の通り:
+<p>
<example>
package priority section
</example>
+<p>
例の中で、package はパッケージ名、priority は low, medium, high の
-いずれか、section はそのパッケージが属するジャンルです。そのファイルは
-空のままでも構いません。
+いずれか、section はそのパッケージが属するジャンルです。
+ファイル名はどうでもよく、後で <prgn>dpkg-scanpackages</prgn>
+の引数として渡さなければなりません。<tt>override</tt>
+ファイルを書きたくない場合は、<prgn>dpkg-scanpackages</prgn>
+を呼び出すときに <file>/dev/null</file> を使用してください。
<p>
さらに /root ディレクトリ内で次のコマンドを実行してください:
+<p>
<example>
dpkg-scanpackages debs file | gzip > debs/Packages.gz
</example>
+<p>
上記の例中、file は "override" ファイルを指定してください。
上記コマンドは、debs/Packages.gz という名のパッケージに関する
各種情報を含んだファイルを生成します。このファイルが APT に
使われます。最後に、パッケージを使用するため sources.list に
以下の行を追加してください。
+<p>
<example>
deb file:/root debs/
</example>
+<p>
この後は、普段通りに APT のコマンドを使うだけです。ソースのレポジトリも
-生成することができます。そのための手順は同じですが、<tt>.orig.tar.gz</tt>
-と <tt>.diff.gz</tt> ファイルがなければならず、生成されるファイルも
-Packages.gz の代わりに Sources.gz となります。生成用のプログラムも異なり
+生成することができます。そのための手順は同じですが、<tt>.orig.tar.gz</tt>,
+<tt>.dsc</tt>, <tt>.diff.gz</tt> ファイルがなければならず、生成されるファイルも
+<tt>Packages.gz</tt> の代わりに <tt>Sources.gz</tt> となります。生成用のプログラムも異なり
ます。<prgn>dpkg-scansources</prgn> です。コマンドラインは次のように
なります。
+<p>
<example>
-dpkg-scansources debs | gzip > debs/Sources.gz
+# dpkg-scansources debs | gzip > debs/Sources.gz
</example>
-<prgn>dpkg-scansources</prgn> には "override" ファイルが不要であることに
+<p>
+<prgn>dpkg-scansources</prgn> には <tt>override</tt> ファイルが不要であることに
注意してください。sources.list の記述は次のようになります。
+<p>
<example>
deb-src file:/root debs/
</example>
@@ -208,10 +226,12 @@
<p>
netselect のインストールは、いつものようにするだけです:
+<p>
<example>
-apt-get install netselect
+# apt-get install netselect
</example>
+<p>
パラメータ無しで実行すると、ヘルプが表示されます。スペースで区切った
ホスト (ミラー) のリストを付けて実行すると、一つのホストとそのスコアを
返します。このスコアは、推定 ping 時間と hops 数 (接続要求が目的地に到達
@@ -220,12 +240,14 @@
最少のスコアとなった 1 つだけです (-vv オプションを付ければ、全候補の
スコアが出力されます)。以下の例を参照してください:
+<p>
<example>
-bash$ netselect ftp.debian.org http.us.debian.org ftp.at.debian.org download.unesp.br ftp.debian.org.br
+# netselect ftp.debian.org http.us.debian.org ftp.at.debian.org download.unesp.br ftp.debian.org.br
365 ftp.debian.org.br
-bash$
+#
</example>
+<p>
上記の意味は、netselect のパラメータとして渡したミラーの中で、
<tt>ftp.debian.org.br</tt> が最適であり、スコアは 365 であるということ
です (注意してください!! これは私のコンピュータで実行したものであり、
@@ -244,24 +266,27 @@
見れば、いつでもわかります。
<p>
-バージョン 0.3 から、netselect パッケージには <strong>netselect-apt
-</strong> というスクリプトが含まれるようになりました。これは上記の
+バージョン 0.3.ds1 から、netselect ソースパッケージには
+<strong>netselect-apt</strong> のバイナリパッケージが含まれるようになりました。
+これは上記の
プロセスを自動的に行なってくれるものです。ディストリビューションの
種類 (デフォルトは stable) をパラメータとして実行するだけで、最適な
main と non-US のミラーが記述された <tt>sources.list</tt> が生成され、
今いるディレクトリ内に配置されます。以下は、stable ディストリ
ビューション用の sources.list を生成する例です。
+<p>
<example>
-bash$ ls sources.list
+# ls sources.list
ls: sources.list: File or directory not found
-bash$ netselect-apt stable
+# netselect-apt stable
(...)
-bash$ ls -l sources.list
+# ls -l sources.list
sources.list
-bash$
+#
</example>
+<p>
<strong>注記:</strong> <tt>sources.list</tt> ファイルは、コマンドを
実行したディレクトリ内に生成されます。その後、<tt>/etc/apt/</tt>
ディレクトリに移動しなければなりません。
@@ -278,15 +303,18 @@
に記述することができます。そのためには、以下の例のように
<prgn>apt-cdrom</prgn> プログラムを使用してください。
+<p>
<example>
apt-cdrom add
-</example>
+# </example>
+<p>
ドライブに Debian の CD-ROM を入れておいてください。プログラムは
CD-ROM をマウントし、ちゃんとした Debian の CD であればパッケージに
関する情報を探します。CD-ROM の設定がやや変わっている場合でも、以下の
オプションを使うことができます。
+<p>
<example>
-h - ヘルプを表示
-d directory - CD-ROM のマウント位置
@@ -296,18 +324,23 @@
-a - 厳密スキャンモード
</example>
+<p>
例えば次のように:
+<p>
<example>
-apt-cdrom -d /home/kov/mycdrom add
+# apt-cdrom -d /home/kov/mycdrom add
</example>
+<p>
sources.list に追加することなしに、CD-ROM を識別させることもできます。
+<p>
<example>
-apt-cdrom ident
+# apt-cdrom ident
</example>
+<p>
このプログラムは CD-ROM が <tt>/etc/fstab</tt> 内で適切に設定
されている場合のみ動作することに注意してください。
</sect>
@@ -343,18 +376,21 @@
利用可能なパッケージの一覧を更新したら、欲しいパッケージをインストール
するには <tt>apt-get</tt> を実行するだけです。例えば次のように:
+<p>
<example>
-apt-get install xchat
+# apt-get install xchat
</example>
+<p>
APT は指定されたパッケージの最新バージョンをデータベース中に探し、
<tt>sources.list</tt> に記載された対応するアーカイブから抽出します。
指定されたパッケージが他のパッケージに依存している場合 -- 以下の例のように
-- 、APT は依存関係をチェックして必要なパッケージをインストールします。
以下の例を参照してください:
+<p>
<example>
-[root]@[/] # apt-get install nautilus
+# apt-get install nautilus
Reading Package Lists... Done
Building Dependency Tree... Done
The following extra packages will be installed:
@@ -366,6 +402,7 @@
Do you want to continue? [Y/n]
</example>
+<p>
<package>nautilus</package> パッケージは、上記に引用された共有ライブラリに
依存しています。そのため、APT はそれらをアーカイブからダウンロードします。
<tt>apt-get</tt> のコマンドラインにそれらのライブラリ名が指定されていれば、
@@ -380,6 +417,7 @@
<p>
ap-get には以下のオプションが使えます。
+<p>
<example>
-h ヘルプを表示
-d ダウンロードのみ - インストールやアーカイブの解凍は行ないません
@@ -389,6 +427,7 @@
-u アップグレードされるパッケージの一覧を表示します
</example>
+<p>
インストールすべき複数のパッケージを 1 行中に指定できます。
ネットワークからダウンロードされたファイルは
<tt>/var/cache/apt/archives/</tt> ディレクトリに置かれ、
@@ -398,8 +437,9 @@
同じコマンドライン内に、削除すベきパッケージも指定することができます。以下の
例のように、削除したいパッケージ名の直後に '-' を付けるだけです:
+<p>
<example>
-[root]@[/] # apt-get install nautilus gnome-panel-
+# apt-get install nautilus gnome-panel-
Reading Package Lists... Done
Building Dependency Tree... Done
The following extra packages will be installed:
@@ -413,62 +453,33 @@
Do you want to continue? [Y/n]
</example>
+<p>
パッケージの削除に関する詳細は <ref id="remove"> を参照してください。
<p>
-インストール済のパッケージが一部壊れてしまったり、同じバージョンの
-パッケージ中にあるファイルを再インストールしたいだけなら、以下の例の
-ように <tt>--resinstall</tt> オプションを使えます。
+インストール済のパッケージが一部壊れてしまったり、利用可能な
+最新バージョンのパッケージ中にあるファイルを再インストールしたいだけなら、
+以下の例のように <tt>--reinstall</tt> オプションを使えます。
<example>
-[root]@[/] # apt-get --reinstall install gdm
+# apt-get --reinstall install gdm
Reading Package Lists... Done
Building Dependency Tree... Done
0 packages upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 1 not upgraded.
Need to get 0B/182kB of archives. After unpacking 0B will be used.
Do you want to continue? [Y/n]
</example>
-
-本マニュアル執筆時点で使った APT のバージョンは 0.5.3 であり、これは
-Debian の 'unstable' (<tt>sid</tt>) の最新版でした。このバージョンが
-インストールされていれば、追加機能を使うこともできます。特定の
-ディストリビューション内のパッケージをインストールするのに
-<tt>apt-get install package/distribution</tt> としたり、
-<tt>apt-get install package=version</tt> のようなコマンドラインを
-使えます。例えば:
-
-<example>
-apt-get install nautilus/unstable
-</example>
-
-この例では、あなたが 'stable' を使っていても 'unstable' ディストリ
-ビューション内の nautilus をインストールします。
-'ディストリビューション' として指定できるのは <tt>stable</tt>,
- <tt>testing</tt>, <tt>unstable</tt> の 3 つです。
-
-
-<p>
-<em>重要</em>: Debian の 'unstable' 版は、Debian パッケージが最初に
-アップロードされる最新版です。このディストリビューションは、パッケージに
-加えられたあらゆる変更を、些細なものから多数のパッケージやシステム全体に
-影響を及ぼす大掛かりなものまで受け付けます。このため、経験の浅いユーザや
-確固たる安定性が必要な人は、使用するべきでは<em>ありません</em>。
-
-<p>
-'testing' ディストリビューションは、安定性という点では 'unstable' よりも
-わずかに優れていますが、業務上のシステムには 'stable' ディストリビューション
-を使うべきです。
</sect>
-<sect id="remove">パッケージの削除
-
+<sect id="remove">Removing packages
<p>
あるパッケージをもはや使いたくないのなら、APT を使ってシステムから
取り除くことができます。そのためには <tt>apt-get remove package</tt> と
タイプするだけです。例えば:
+<p>
<example>
-[root]@[/] # apt-get remove gnome-panel
+# apt-get remove gnome-panel
Reading Package Lists... Done
Building Dependency Tree... Done
The following packages will be REMOVED:
@@ -478,17 +489,19 @@
Do you want to continue? [Y/n]
</example>
+<p>
上記の例でわかるように、APT は削除を要求したパッケージに依存している他の
パッケージも削除するようにしてくれます。依存している他のパッケージを削除
せずに、あるパッケージを削除することは、APT には不可能です。
<p>
上記のように <prgn>apt-get</prgn> を使うとパッケージは削除されますが、
-そのパッケージの設定ファイルがあれば完全な形でシステム内に残ります。
+そのパッケージの設定ファイルは、あれば完全な形でシステム内に残ります。
パッケージを完全に削除するには、次のようにしてください:
+<p>
<example>
-[root]@[/] # apt-get --purge remove gnome-panel
+# apt-get --purge remove gnome-panel
Reading Package Lists... Done
Building Dependency Tree... Done
The following packages will be REMOVED:
@@ -498,17 +511,17 @@
Do you want to continue? [Y/n]
</example>
+<p>
パッケージ名の後の '*' に注意してください。これは各パッケージの設定
ファイルも併せて削除されることを示しています。
-
<p>
-<tt>install</tt> 指定を行なった時のように、特定のパッケージに対する指示を
-<tt>remove</tt> と逆転させるための記号を使えます。削除の際に、<tt>'+'</tt> を
-パッケージ名の直後に付ければ、そのパッケージは削除の代わりにインストール
-されます。
+<tt>install</tt> 指定を行なったときのように、特定のパッケージに対する指示を
+<tt>remove</tt> と逆転させるための記号を使えます。削除の際に、<tt>'+'</tt>
+をパッケージ名の直後に付ければ、そのパッケージは削除ではなくインストールされます。
+<p>
<example>
-[root]@[/] # apt-get --purge remove gnome-panel nautilus+
+# apt-get --purge remove gnome-panel nautilus+
Reading Package Lists... Done
Building Dependency Tree... Done
The following extra packages will be installed:
@@ -522,6 +535,7 @@
Do you want to continue? [Y/n]
</example>
+<p>
<prgn>apt-get</prgn> の表示が、追加でインストールされるパッケージ (つまり、
インストールを要求したパッケージを適切に機能させるためにインストール
しなければならないパッケージ)、削除されるパッケージ、インストールされる
@@ -529,7 +543,6 @@
</sect>
<sect id="upgrade">パッケージのアップグレード
-
<p>
パッケージのアップグレードは、APT システムの偉大な成果です。
たった一つのコマンド - <tt>apt-get upgrade</tt> で実施可能です。この
@@ -538,7 +551,6 @@
使えます。ですが後者の場合は <tt>apt-get dist-upgrade</tt> コマンドを
使用したほうがよいでしょう。詳細については <ref id="dist-upgrade"> を
参照してください。
-
<p>
このコマンドには <tt>-u</tt> オプションを付けて実行されると便利です。
このオプションにより、APT はアップグレードされる全パッケージの一覧を
@@ -548,8 +560,9 @@
前に、必ず <tt>apt-get update</tt> を実行しておくことが重要です。
<ref id="update"> を参照してください。以下は例です:
+<p>
<example>
-[root]@[/] # apt-get -u upgrade
+# apt-get -u upgrade
Reading Package Lists... Done
Building Dependency Tree... Done
The following packages have been kept back
@@ -564,13 +577,13 @@
Do you want to continue? [Y/n]
</example>
+<p>
プロセスは非常に単純です。最初の 2, 3 行で、<tt>apt-get</tt> がいくつかの
パッケージを<tt>kept back (保持) </tt>すると言っていることに注意して
ください。これは、何らかの理由でインストールされない新バージョンのパッケージ
があることを意味しています。考えられる理由としては、壊れた依存関係
(依存先のパッケージの適正バージョンがダウンロードできない) や、
-新たな依存関係 (依存するパッケージが新たに登場した) などがあります。
-
+新たな依存関係 (新たに依存するパッケージが登場した) などがあります。
<p>
最初のケースを手際よく解決する方法はありません。2 番目のケースに対しては、
問題となっているパッケージに対して <tt>apt-get install</tt> を実行するだけで
@@ -580,10 +593,9 @@
</sect>
<sect id="dist-upgrade">新リリースへのアップグレード
-
<p>
APT の本機能により、インターネットあるいは新 CD (購入したものか、ISO イメージと
-してダウンロードしたもの) を使って、全 Debian システムを一度にアップグレード
+してダウンロードしたもの) を使って、Debian システム全体を一度にアップグレード
することができます。
<p>
@@ -610,7 +622,7 @@
<tt>dist-upgrade</tt> によって解決できます。
<example>
-[root]@[/] # apt-get -u dist-upgrade
+# apt-get -u dist-upgrade
Reading Package Lists... Done
Building Dependency Tree... Done
Calculating Upgrade... Done
@@ -630,14 +642,16 @@
Do you want to continue? [Y/n]
</example>
-パッケージがアップグレードされると共に、新たなパッケージが (パッケージ間の
+<p>
+パッケージがアップグレードされるとともに、新たなパッケージが (パッケージ間の
新たな依存関係に応じて) インストールされていることに注意してください。
さらに、lilo が依然として <tt>kept back</tt> されていることにも注意して
ください。これはおそらく、新たな依存関係を超える深刻な問題があるからで
しょう。次の例によって原因がわかります:
+<p>
<example>
-[root]@[/] # apt-get -u install lilo
+# apt-get -u install lilo
Reading Package Lists... Done
Building Dependency Tree... Done
The following extra packages will be installed:
@@ -655,9 +669,103 @@
Do you want to continue? [Y/n]
</example>
+<p>
上記に示されているように、lilo には <package>debconf-tiny</package> パッ
-ケージと新たに衝突しています。この事は、debconf-tiny を除去しなければ
+ケージと新たな衝突があります。このことは、debconf-tiny を除去しなければ
lilo をインストール (あるいはアップグレード) できないことを意味しています。
+<p>
+保持される、あるいは削除されるパッケージを確認するには、次のようにします:
+
+<p>
+<example>
+# apt-get -o Debug::pkgProblemResolver=yes dist-upgrade
+Reading Package Lists... Done
+Building Dependency Tree... Done
+Calculating Upgrade... Starting
+Starting 2
+Investigating python1.5
+Package python1.5 has broken dep on python1.5-base
+ Considering python1.5-base 0 as a solution to python1.5 0
+ Holding Back python1.5 rather than change python1.5-base
+Investigating python1.5-dev
+Package python1.5-dev has broken dep on python1.5
+ Considering python1.5 0 as a solution to python1.5-dev 0
+ Holding Back python1.5-dev rather than change python1.5
+ Try to Re-Instate python1.5-dev
+Done
+Done
+The following packages have been kept back
+ gs python1.5-dev
+0 packages upgraded, 0 newly installed, 0 to remove and 2 not upgraded.
+</example>
+
+<p>
+このようにすることで、python1.5 への依存を満たせないために python1.5-dev
+パッケージのインストールができないということが簡単にわかります。
+</sect>
+
+<sect id="clean">使用しないパッケージファイルの削除: apt-get clean and autoclean
+<p>
+パッケージのインストールにあたって、APT は必要なファイルを
+/etc/apt/sources.list にリストされたホストから取得してローカルリポジトリ
+(<file>/var/cache/apt/archives/</file>) に保存し、
+それからインストールに取りかかります。
+これについては <ref id="install"> を参照してください。
+<p>
+時間とともにローカルリポジトリは増大し、大量のディスク領域を占有するようになります。
+幸い、APT にはこのローカルリポジトリを管理するツールが提供されています。
+<prgn>apt-get</prgn> の <tt>clean</tt> 及び <tt>autoclean</tt> オプションです。
+<p>
+<prgn>apt-get clean</prgn> を実行すると、<file>/var/cache/apt/archives/</file>
+及び <file>/var/cache/apt/archives/partial/</file>
+からロックファイル以外をすべて削除します。したがって、
+パッケージを再インストールするときには APT はそれを再び取得することになります。
+<p>
+<prgn>apt-get autoclean</prgn> を実行すると、
+すでにダウンロード不可能になっているパッケージファイルだけを削除します。
+<p>
+次の例では apt-get autoclean がどのように働くのかを示します:
+
+<p>
+<example>
+# ls /var/cache/apt/archives/logrotate* /var/cache/apt/archives/gpm*
+logrotate_3.5.9-7_i386.deb
+logrotate_3.5.9-8_i386.deb
+gpm_1.19.6-11_i386.deb
+</example>
+
+<p>
+/var/cache/apt/archives 内に <package>logrotate</package> 及び
+<package>gpm</package> のパッケージファイルがあります。
+
+<p>
+<example>
+# apt-show-versions -p logrotate
+logrotate/stable uptodate 3.5.9-8
+# apt-show-versions -p gpm
+gpm/stable upgradeable from 1.19.6-11 to 1.19.6-12
+</example>
+
+<p>
+<prgn>apt-show-versions</prgn> は <file>logrotate_3.5.9-8_i386.deb</file>
+が <package>logrotate</package> の最新版であることを示しているので、
+<file>logrotate_3.5.9-7_i386.deb</file> は無意味です。
+また、<file>gpm_1.19.6-11_i386.deb</file>
+も、もっと新しいバージョンのパッケージが取得できるため無意味です。
+
+<p>
+<example>
+# apt-get autoclean
+Reading Package Lists... Done
+Building Dependency Tree... Done
+Del gpm 1.19.6-11 [145kB]
+Del logrotate 3.5.9-7 [26.5kB]
+</example>
+
+<p>
+最後に、<tt>apt-get autoclean</tt> は古いファイルだけを削除します。
+apt-show-versions についてのさらなる情報については、
+<ref id="apt-show-versions"> を参照してください。
</sect>
<sect id="dselect-upgrade">APT を dselect と一緒に使う
@@ -692,7 +800,7 @@
すると以下の例のようになります:
<example>
-[root]@[/] # apt-get -u dselect-upgrade
+# apt-get -u dselect-upgrade
Reading Package Lists... Done
Building Dependency Tree... Done
The following packages will be REMOVED:
@@ -713,7 +821,7 @@
同じシステムで apt-get dist-upgrade を実行した場合と比べてみてください。
<example>
-[root]@[/] # apt-get -u dist-upgrade
+# apt-get -u dist-upgrade
Reading Package Lists... Done
Building Dependency Tree... Done
Calculating Upgrade... Done
@@ -724,13 +832,82 @@
Do you want to continue? [Y/n]
</example>
-他のパッケージが "suggested" したり "recommended" している多くのパッケージが
+他のパッケージにより "suggested" あるいは "recommended" されている多くのパッケージが
インストールされようとしていることに注意してください。他のパッケージは、
dselect の一覧表示を通じて選択したパッケージ毎にインストールされたり
削除 (lbxproxy の場合など) されたりしようとしています。APT と組み合わせて
使用すると、dselect は強力なツールとなるのです。
</sect>
+<sect id="default-version">混在したシステムの保守方法
+<p>
+Debian の、あるバージョンをシステムの基本のディストリビューションとし、
+他のブランチから一部のパッケージを使用したいことがあります。
+
+<p>
+Debian の基本のバージョンほ設定するには、<file>/etc/apt/apt.conf</file>
+(通常存在しません。その場合は作成してください。) を編集し、
+以下の行を記述します。
+<p>
+<example>
+APT::Default-Release "<var>version</var>";
+</example>
+<p>
+<var>version</var> には基本のディストリビューションとして使用したい
+Debian のバージョンが入ります。このバージョンに使用できるのは
+<tt>stable</tt>, <tt>testing</tt> 及び <tt>unstable</tt> です。
+そして、他のバージョンのパッケージをインストールするには、
+APT を次のように使用します:
+
+<p>
+<example>
+# apt-get -t <var>distribution</var> install <var>package</var>
+</example>
+<p>
+これが働くためには、<file>/etc/apt/sources.list</file>
+に、欲しいパッケージのディストリビューションの APT ソース行が最低でも 1
+つ、また、そのソースにパッケージが存在していなければなりません。
+<p>
+次の方法で特定のバージョンのパッケージを要求することもできます:
+
+<example>
+# apt-get install <var>package</var>=<var>version</var>
+</example>
+
+<p>
+例えば、次の行を実行すると <package>nautilus</package>
+パッケージのバージョン <tt>2.2.4-1</tt> がインストールされます:
+
+<example>
+# apt-get install nautilus=2.2.4-1
+</example>
+
+<p>
+<em>重要</em>: Debian の 'unstable' 版は、Debian パッケージが最初に
+アップロードされる最新版です。このディストリビューションは、パッケージに
+加えられたあらゆる変更を、些細なものから多数のパッケージやシステム全体に
+影響を及ぼす大掛かりなものまで受け付けます。このため、経験の浅いユーザや
+確固たる安定性が必要な人は、使用するべきでは<em>ありません</em>。
+<p>
+'testing' ディストリビューションは、安定性という点では 'unstable'
+よりもわずかに優れていますが、サーバその他の業務上のシステムには
+'stable' ディストリビューションを使うべきです。
+</sect>
+
+<sect id="apt-show-versions">パッケージを特定バージョンの Debian からアップグレードする方法
+<p>
+<prgn>apt-show-versions</prgn> は、
+混在したディストリビューションのユーザが安定性の低いディストリビューションを
+意図した以上に取得しないようにシステムをアップグレードする、
+安全な方法を提供します。例えば、<package>apt-show-versions</package>
+パッケージをインストールしてから以下を実行することで、
+unstable (不安定版) パッケージだけをアップグレードすることが可能です:
+<p>
+<example>
+# apt-get install `apt-show-versions -u -b | grep unstable | cut -d ' ' -f 1`
+</example>
+</sect>
+
<sect id="pin">インストール済パッケージを特定バージョンのまま保持する方法
<p>
@@ -755,10 +932,12 @@
</example>
<p>
-例えば <package>sylpheed</package> パッケージのバージョン 0.4.99 に
-"reply-to-list" を使うように修正して、それを保持するためには、次のように
-します。
+各エントリはそれぞれ空行で分けなければなりません。例えば
+<package>sylpheed</package> パッケージのバージョン 0.4.99 に
+"reply-to-list" を使うように修正して、それを保持するためには、
+次のようにします。
+<p>
<example>
Package: sylpheed
Pin: version 0.4.99*
@@ -774,46 +953,54 @@
このような動作を望まないでしょう。
<p>
-<tt>Pin-Priority</tt> フィールドはオプションです。特に指定がなければ、
-デフォルト値は 989 となります。
-
-<p>
-Pin-Priority がどのように働くかを見てみましょう。値が 0 未満の場合、
-そのパッケージは絶対にインストールされません。値が 0 以上 100 未満だと、
-パッケージはインストールされておらず利用可能なバージョンもありません。これらのパッケージ
-はバージョン選択プロセスにも現れません。100 の値は、インストール済の
-パッケージに当てはめられます - 他のバージョンによって置き換え可能であり、
-置き換える側の値は 101 以上でなければなりません。
-
-<p>
-101 以上の値は、そのパッケージがインストールされるべきであることを
-示しています。よくあるのは、あるパッケージのインストール済バージョンが
-より進んだバージョンにのみアップグレードされる場合です。100 以上
-1000 以下のあらゆる値は、この典型的な動作をすることを示しています。
-このような値を持つパッケージは、利用可能であっても古いバージョンには
-ダウングレードされません。例えば sylpheed 0.5.3 をインストーしてから、
-sylpheed 0.4.99 の priority 値を 999 に設定しても、0.4.99 は
-その設定によってインストールされ<em>ません</em>。あるパッケージを
-ダウングレード可能にするには、値を 1001 以上に設定しなければなりません。
-
-<p>
-このダウングレードという概念により、強力な応用が可能となります。
-たとえば Debian の <tt>stable</tt> 版を <tt>testing</tt> 版にアップグレード
-したものの、それを取りやめたくなったと想像してください - たぶん、
-<tt>testing</tt> はあなたに合うほどにはテストされていなかったのでしょう。
-そこでパッケージ名にワイルドカードを用いてピン設定をすることにより、
-stable に戻ることができます。例えば:
-
-<example>
-Package: *
-Pin: release a=stable
-Pin-Priority: 1001
-</example>
-
+pin priority は高い優先度を指定するとそれにマッチするパッケージが
+インストールされるというやり方で "Packages:" 及び "Pin:"
+行にマッチするパッケージをインストールするかしないかの決定を補助します。
+優先度に関する完全な議論については <manref name="apt_preferences" section="7">
+で参照できますが、いくつか例があれば基本的な概念はつかめるでしょう。
+以下では上で挙げた sylpheed を例にとって、
+優先度に異なる値を与えた場合の効果について説明します。
+</p>
<p>
-上記のように設定したあとで、<tt>apt-get -u dist-upgrade</tt> とすれば、
-stable 版にシステムをダウングレードすることができます。
-
+<taglist>
+<tag>1001</tag>
+<item>
+ Sylpheed のバージョン 0.4.99 を apt が置き換えることはありません。
+ これよりも高いバージョンがインストール済みでそれを置き換えることになっても、
+ もしこれが利用可能であれば apt はバージョン 0.4.99 をインストールします。
+ 1000 よりも高い優先度のパッケージだけが既存のパッケージをダウングレードします。
+</item>
+<tag>1000</tag>
+<item>
+効果は 1001 と同じです。唯一異なるのは、インストールされているバージョンから
+0.4.99 へのダウングレードを apt が拒否することです。
+</item>
+<tag>990</tag>
+<item>
+バージョン 0.4.99 は "APT::Default-Release" 変数 (上記の
+<ref id="default-version"> 参照)
+によってこれより好ましいと指定されたリリースから
+以降のバージョンが利用可能になった場合にのみ置き換えられます。
+</item>
+<tag>500</tag>
+<item>
+0.4.99 よりも高いあらゆるバージョンの sylpheed のあらゆるリリースが
+バージョン 0.4.99 よりも優先されますが、それよりも低いバージョンよりも
+0.4.99 が優先されます。
+</item>
+<tag>100</tag>
+<item>
+0.4.99 よりも高いあらゆるバージョンの sylpheed のあらゆるリリースが、
+バージョン 0.4.99 よりも優先されます。
+インストールされている高いバージョンの slypheed についても同様です。
+したがって、0.4.99 はまだどのバージョンもインストールされていない場合にのみ、
+インストールされます。これはインストールされているパッケージの優先度です。
+</item>
+<tag>-1</tag>
+<item>
+優先度には負の数も指定できます。0.4.99 はどんな場合でもインストールされません。
+</item>
+</taglist>
<p>
このピンの設定は、パッケージの <tt>version</tt>, <tt>release</tt>,
<tt>origin</tt> に対して行なうことができます。
@@ -822,6 +1009,7 @@
<tt>version</tt> に対するピン設定は、上記の例のように、ワイルドカードを
使って複数バージョンを一度に指定することも、特定のバージョンだけを
指定することもできます。
+<!-- what's available? standard shell globs? ?*[] or more? -->
<p>
<tt>release</tt> オプションは、CD 内にある APT レポジトリのリリース
@@ -835,12 +1023,14 @@
<p>
以下は例です:
+<p>
<example>
Package: *
Pin: release v=2.2*,a=stable,c=main,o=Debian,l=Debian
Pin-Priority: 1001
</example>
+<p>
この例では、Debian バージョン 2.2* (2.2r2 や 2.2r3 が対象となります --
これは "ポイントリリース" のことで、セキュリティフィックスや他の極めて重要な
アップデートを含む際によく使われます) で、<tt>stable</tt> レポジトリ、
@@ -850,6 +1040,7 @@
例えば Debian は Debian 自体であり、Progeny は Progeny Debian を意味します。
リリースファイルの例を以下に示します:
+<p>
<example>
$ cat /var/lib/apt/lists/ftp.debian.org.br_debian_dists_potato_main_binary-i386_Release
Archive: stable
@@ -868,11 +1059,12 @@
<p>
Debian パッケージ化されていない、ソースコードのみ利用可能な特定バージョンの
-プログラムのを使いたい場合があるでしょう。しかし、これをやるとパッケージング
+プログラムを使いたい場合があるでしょう。しかし、これをやるとパッケージング
システムがトラブルを起こすことがあります。電子メールサーバの新バージョンを
-コンパイルしたいと想像してみてください。全てうまくいきましたが、Debian の
-多くのパッケージは MTA に依存しています。自分でコンパイルしたものをインス
-トールしても、パッケージシステムはその事に気づいてくれません。
+コンパイルしたいと想像してみてください。全てうまくいきましたが、
+Debian の多くのパッケージは MTA (メール転送エージェント) に依存しています。
+自分でコンパイルしたものをインストールしても、
+パッケージシステムはその事に気づいてくれません。
<p>
ここで <package>equivs</package> が登場する番です。使うには、同名の
@@ -888,7 +1080,6 @@
<ref id="sourcehandling"> のセクションを参照してください。
<p>
-
MTA を例にして話を続けましょう。あなたは新たにコンパイルした postfix を
インストールしたばかりで、今度は <package>mutt</package> をインストール
しようとしています。突然、<package>mutt</package> が他の MTA をインス
@@ -899,13 +1090,16 @@
(たとえば <file>/tmp</file> などの) ディレクトリへ移って、次のように
実行してください:
+<p>
<example>
# equivs-control <var>name</var>
</example>
+<p>
<var>name</var> の箇所は、生成したいコントロールファイル名で置き換えて
ください。以下のようにファイルが生成されるでしょう:
+<p>
<example>
Section: misc
Priority: optional
@@ -923,17 +1117,19 @@
Copyright: <copyright file; defaults to GPL2>
Changelog: <changelog file; defaults to a generic changelog>
Readme: <README.Debian file; defaults to a generic one>
-Extra-Files: <additional files for the doc directory, comma separated>
+Extra-Files: <additional files for the doc directory, comma-separated>
Description: <short description; defaults to some wise words>
long description and info
.
second paragraph
</example>
+<p>
これを望む通りに修正する必要があるだけです。フィールドのフォーマットと、
その説明を眺めてください。各々について、ここで説明する必要はないでしょう。
さあ、必要なことをやってしまいましょう。
+<p>
<example>
Section: misc
Priority: optional
@@ -943,6 +1139,7 @@
Provides: mail-transport-agent
</example>
+<p>
そう、これで終わりです。<package>mutt</package> は
<tt>mailt-transport-agent</tt> に依存しており、これはあらゆる MTA によって
提供される仮想パッケージです。単純にパッケージ名を
@@ -952,6 +1149,7 @@
<p>
あとはパッケージを構築するだけです:
+<p>
<example>
# equivs-build <var>name</var>
dh_testdir
@@ -977,13 +1175,14 @@
Attention, the package has been created in the current directory,
</example>
-そして、出来あがった <tt>.deb</tt> をインストールしてください。
+<p>
+そして、出来上がった <tt>.deb</tt> をインストールしてください。
<p>
お判りのように、<prgn>equivs</prgn> には様々な使用法があります。たとえば、
-あなたがいつもインストールするプログラムに依存する <tt>my-favorites</tt> パッケージを
-生成することさえ可能です。自由に想像力の翼を拡げてかまいませんが、用心は
-してください。
+あなたがいつもインストールするプログラムに依存する <tt>my-favorites</tt>
+パッケージを生成することさえ可能です。自由に想像力の翼を拡げてかまいませんが、
+用心はしてください。
<p>
<file>/usr/share/doc/equivs/examples</file> 内にコントロールファイルの見本が
@@ -993,9 +1192,9 @@
<sect id="localepurge">使用されていない locale ファイルを削除: localepurge
<p>
-多くの Debian ユーザは、たった 1 種類の locale しか使っていません。たとえば
-ブラジルの Debian ユーザなら、普段は常に <tt>pt_BR</tt> という locale を
-使うでしょう。
+多くの Debian ユーザは、たった 1 種類の locale しか使っていません。
+たとえばブラジルの Debian ユーザなら、普段は常に <tt>pt_BR</tt> という
+locale を使い、<tt>es</tt> については気にも留めません。
<p>
<package>localepurge</package> は、これらのユーザにとって非常に役に立つ
@@ -1008,13 +1207,29 @@
ものも含めて全ての locale ファイルが削除されるかもしれません。ファイルを復活
させる手段は、それらを提供するパッケージを再インストールするしかありません。
</sect>
+
+<sect id="helper-show-versions">どのパッケージがアップグレードされるのかを確認する方法
+<p>
+<prgn>apt-show-versions</prgn> は、
+システムにあるどのパッケージがアップグレードされるのか、
+それといくらか有用な情報を表示するプログラムです。<tt>-u</tt>
+オプションを付けるとアップグレード可能なパッケージのリストを表示します:
+
+<p>
+<example>
+$ apt-show-versions -u
+libeel0/unstable upgradeable from 1.0.2-5 to 1.0.2-7
+libeel-data/unstable upgradeable from 1.0.2-5 to 1.0.2-7
+</example>
+</sect>
+
</chapt>
<chapt id="search">パッケージ情報の入手
<p>
APT システムには、パッケージが属しているセクションや重要度、その
-内容説明などを見るためのフロンとエンドプログラムと同様に、インストール
+内容説明などを見るためのフロントエンドプログラムと同様に、インストール
可能かあるいはインストール済のパッケージ一覧をきわめて容易に入手する
ためのフロントエンドプログラムがいくつかあります。
@@ -1035,8 +1250,9 @@
APT を使って Atari エミュレータをインストールし、いくつかのゲームを
ダウンロードできます。次のようにしてください:
+<p>
<example>
-[root]@[/] # apt-cache search atari
+# apt-cache search atari
atari-fdisk-cross - Partition editor for Atari (running on non-Atari)
circuslinux - The clowns are trying to pop balloons to score points!
madbomber - A Kaboom! clone
@@ -1046,12 +1262,14 @@
xmess-x - X binaries for Multi-Emulator Super System
</example>
+<p>
探しているものに関連するいくつかのパッケージと、その簡単な説明が表示
されています。特定のパッケージに関するさらに詳しい情報を得るには、
次のようにしてください:
+<p>
<example>
-[root]@[/] # apt-cache show stella
+# apt-cache show stella
Package: stella
Priority: extra
Section: non-free/otherosfs
@@ -1059,7 +1277,7 @@
Maintainer: Tom Lear <tom@xxxxxxxxxxxxxxxxx>
Architecture: i386
Version: 1.1-2
-Depends: libc6 (>= 2.1), libstdc++2.10, xlib6g (>= 3.3.5-1)
+Depends: libc6 (>= 2.1), libstdc++2.10, xlib6g (>= 3.3.5-1)
Filename: dists/potato/non-free/binary-i386/otherosfs/stella_1.1-2.deb
Size: 483430
MD5sum: 11b3e86a41a60fa1c4b334dd96c1d4b5
@@ -1070,13 +1288,15 @@
http://www4.ncsu.edu/~bwmott/2600
</example>
+<p>
上記の出力から、インストールしたい (あるいはしたくない) パッケージの
-詳細が得ることができ、そのパッケージの完全な説明文もあります。
+詳細が得られ、そのパッケージの完全な説明文もあります。
そのパッケージがインストール済で、しかも新バージョンが利用可能なら、
両バージョンの情報が表示されます。例えば:
+<p>
<example>
-[root]@[/] # apt-cache show lilo
+# apt-cache show lilo
Package: lilo
Priority: important
Section: base
@@ -1084,9 +1304,9 @@
Maintainer: Russell Coker <russell@xxxxxxxxxxxx>
Architecture: i386
Version: 1:21.7-3
-Depends: libc6 (>= 2.2.1-2), debconf (>=0.2.26), logrotate
+Depends: libc6 (>= 2.2.1-2), debconf (>=0.2.26), logrotate
Suggests: lilo-doc
-Conflicts: manpages (<<1.29-3)
+Conflicts: manpages (<<1.29-3)
Filename: pool/main/l/lilo/lilo_21.7-3_i386.deb
Size: 143052
MD5sum: 63fe29b5317fe34ed8ec3ae955f8270e
@@ -1104,7 +1324,7 @@
Installed-Size: 190
Maintainer: Vincent Renardias <vincent@debian.org>
Version: 1:21.4.3-2
-Depends: libc6 (>= 2.1.2)
+Depends: libc6 (>= 2.1.2)
Recommends: mbr
Suggests: lilo-doc
Description: LInux LOader - The Classic OS loader can load Linux and others
@@ -1115,12 +1335,14 @@
or call Lilo from other Boot-Loaders to jump-start the Linux kernel.
</example>
+<p>
最初のものが利用可能なパッケージのもので、二番目がインストール済の
ものであることに注意してください。パッケージに関する一般的な情報を得るには、
次のようにしてください:
+<p>
<example>
-[root]@[/] # apt-cache showpkg penguin-command
+# apt-cache showpkg penguin-command
Package: penguin-command
Versions:
1.4.5-1(/var/lib/apt/lists/download.sourceforge.net_debian_dists_unstable_main_binary-i386_Packages)(/var/lib/dpkg/status)
@@ -1133,10 +1355,12 @@
Reverse Provides:
</example>
+<p>
さらにどのパッケージに依存しているのかを見るには:
+<p>
<example>
-[root]@[/] # apt-cache depends penguin-command
+# apt-cache depends penguin-command
penguin-command
Depends: libc6
Depends: libpng2
@@ -1145,6 +1369,7 @@
Depends: zlib1g
</example>
+<p>
まとめると、我々は欲しいパッケージ名を探すのに使える多様な武器を持って
いることになります。
</sect>
@@ -1156,41 +1381,50 @@
知っている場合があります。例えば、特定の <tt>".h"</tt> ファイルがないと
コンパイルできない場合、次のようにしてください。
+<p>
<example>
-[root]@[/] # dpkg -S stdio.h
+# dpkg -S stdio.h
libc6-dev: /usr/include/stdio.h
libc6-dev: /usr/include/bits/stdio.h
perl: /usr/lib/perl/5.6.0/CORE/nostdio.h
</example>
+<p>
あるいは:
+<p>
<example>
-[root]@[/] # dpkg -S /usr/include/stdio.h
+# dpkg -S /usr/include/stdio.h
libc6-dev: /usr/include/stdio.h
</example>
+<p>
システムにインストール済のパッケージ名を探す時も、便利です。例えば、
ハードディスクを掃除したいなら次のようにしてください。
+<p>
<example>
-[root]@[/] # dpkg -l | grep mozilla
+# dpkg -l | grep mozilla
ii mozilla-browse 0.9.6-7 Mozilla Web Browser
</example>
+<p>
このコマンドの問題点は、パッケージ名が "途切れて" しまうことです。
上記の例だと、パッケージの本当の名前は <tt>mozilla-browser</tt> です。
これに対処するには、次のように環境変数 <tt>COLUMNS</tt> を使うことができます:
+<p>
<example>
[kov]@[couve] $ COLUMNS=132 dpkg -l | grep mozilla
ii mozilla-browser 0.9.6-7 Mozilla Web Browser - core and browser
</example>
+<p>
あるいは次のように、description かその一部を使うこともできます:
+<p>
<example>
-[root]@[/] # apt-cache search "Mozilla Web Browser"
+# apt-cache search "Mozilla Web Browser"
mozilla-browser - Mozilla Web Browser
</example>
</sect>
@@ -1207,17 +1441,21 @@
<p>
基本的には、次のように実行してください:
+<p>
<example>
-auto-apt run command
+# auto-apt run command
</example>
+<p>
'command' の個所には、実行するのに必要なファイルが無いコマンドを
指定してください。例えば:
+<p>
<example>
-auto-apt run ./configure
+# auto-apt run ./configure
</example>
+<p>
必要なパッケージをインストールするかどうかを尋ねてきて、自動的に
apt-get を呼び出します。X の実行中であれば、デフォルトのテキスト
インターフェイスに代わってグラフィカルインターフェイスが使われ
@@ -1229,6 +1467,51 @@
<tt>auto-apt update-local</tt> などのコマンドを使います。
</sect>
+<sect id="apt-file">ファイルがどのパッケージに属するのか確認する方法
+<p>
+パッケージをインストールしたいけれども <prgn>apt-cache</prgn>
+で検索しても何というパッケージなのかわからない、というとき、
+プログラム自体、あるいはそのパッケージに属するファイルの名前がわかっていれば、
+<prgn>apt-file</prgn> を使ってパッケージ名を調べることができます。
+このようにします:
+
+<p>
+<example>
+$ apt-file search <var>filename</var>
+</example>
+
+<p>
+これは<tt>dpkg -S</tt> と同じように働きますが、
+そのファイルの属するパッケージがアンインストールされていても表示されます。
+プログラムのコンパイルにあたって欠けている必要なインクルードファイルが、
+どのパッケージに含まれているのかを探すのにも使えますが、
+その用途には <prgn>auto-apt</prgn> の方がはるかに適しています。
+<ref id="auto-apt"> を参照してください。
+<p>
+次のようにすることで、パッケージの内容を確認することもできます:
+
+<p>
+<example>
+$ apt-file list <var>packagename</var>
+</example>
+
+<p>
+<prgn>apt-file</prgn> は全パッケージにどのファイルが含まれるのかを、
+auto-apt と同様にデータベースに保存します。
+また、これは最新である必要があります。
+これは次の行を実行することで更新されます:
+
+<p>
+<example>
+# apt-file update
+</example>
+
+<p>
+デフォルトで、<prgn>apt-file</prgn> は <prgn>auto-apt</prgn>
+と同じデータベースを使用します。<ref id="auto-apt"> を読んでください。
+
+</sect>
+
<sect id="apt-listchanges">パッケージの変更点を常に知らせる方法
<p>
@@ -1236,23 +1519,23 @@
(<tt>/usr/share/doc/packagename</tt>) に、<tt>changelog.Debian.gz</tt> という
ファイルをインストールします。このファイルは、前回のバージョンからの変更点一覧を
含んでいます。こういったファイルは、'<tt>zless</tt>' などの助けを借りて読むこと
-ができますが、全システムをアップグレードした後などは、アップグレードされた
+ができますが、システム全体をアップグレードした後などは、アップグレードされた
各パッケージの changelog を探すのに骨が折れます。
<p>
<prgn>apt-listchanges</prgn> というツールを使って、この作業を自動化できます。
まずは <package>apt-listchanges</package> パッケージをインストールする必要が
-あります。インストール中に、Debconf が設定を行ないます。質問に対して、
-あなたの希望するように答えてください。
+あります。インストール中に、Debconf が設定を行ないます。
+Debconf の優先度設定によっては聞かれない質問があります。
+質問に対して、あなたの希望するように答えてください。
<p>
-"Should apt-listchanges be automatically run by apt?" というオプションは、
-アップグレード途中で apt によってインストールされようとしている各パッケージの
-変更点一覧を表示し、作業を続ける前にその内容を確認できるので、役に立ちます。
-"Should apt-listchanges prompt for confirmation after displaying changes?" と
-いうオプションは、変更点一覧を読んだ後で、インストールを続けるかどうかを問い
-問い合わせてくれるので役に立ちます。継続を望まないと答えれば、apt-listchanges は
-エラーを返し、apt はインストールを取り止めます。
+最初の質問は変更点を apt-listchanges が通知する方法です。
+メールさせることもでき、これは自動アップグレードに良いでしょう。
+あるいは、<prgn>less</prgn> のようなページャを使って
+アップグレードを続行させる前に変更点を調べることもできます。
+アップグレードにあたって <prgn>apt-listchanges</prgn>
+を自動的に実行させたくない場合は、<tt>none</tt> と答えてください。
<p>
apt-listchanges がインストールされればすぐに、その後ダウンロードされた (あるい
@@ -1288,16 +1571,17 @@
<p>
ソースパッケージをダウンロードするには、以下のコマンドを使ってください:
+<p>
<example>
$ apt-get source packagename
</example>
+<p>
これにより 3 つのファイルがダウンロードされます: <tt>.orig.tar.gz</tt>,
<tt>.dsc</tt>, <tt>.diff.gz</tt> です。Debian 専用に作られたパッケージの
場合、3 番目のファイルはダウンロードされず、最初のものもファイル名中に
<tt>"org"</tt> と付きません。
-
<p>
<tt>.dsc</tt> ファイルは、dpkg-source がソースパッケージを
<var>packagename-version</var> のディレクトリに展開するために
@@ -1309,19 +1593,28 @@
ダウンロードしたパッケージを自動的にビルドするには、次の例のよう
に <tt>-b</tt> をコマンドラインに付加します:
+<p>
<example>
$ apt-get -b source packagename
</example>
+<p>
ダウンロード時に .deb を作らないのなら、次のようにすることで後から
作ることもできます。
+<p>
<example>
$ dpkg-buildpackage -rfakeroot -uc -b
</example>
+<p>
上記のコマンドは、ダウンロードされたパッケージがあるディレクトリ内で
-実行してください。
+実行してください。上のコマンドでビルドされたパッケージのインストールには、
+次のようにパッケージマネージャを直接使用しなければなりません:
+<p>
+<example>
+# dpkg -i <var>file.deb</var>
+</example>
<p>
<prgn>apt-get</prgn> の <tt>source</tt> 指定と他の指定とでは違いがあります。
@@ -1344,8 +1637,9 @@
<tt>apt-get build-dep package</tt> を実行するだけです。'package' の箇所
は、ビルドしたいパッケージの名前です。例えば:
+<p>
<example>
-[root]@[/] # apt-get build-dep gmc
+# apt-get build-dep gmc
Reading Package Lists... Done
Building Dependency Tree... Done
The following NEW packages will be installed:
@@ -1356,10 +1650,21 @@
Do you want to continue? [Y/n]
</example>
+<p>
インストールされるのは、<package>gmc</package> を正確にビルドするために
必要なパッケージです。このコマンドは、ビルドされるプログラムのソース
パッケージを探さないことに注意してください。したがって、それを入手する
のに別途 <tt>apt-get source</tt> を実行する必要があります。
+
+<p>
+任意のパッケージのビルドにどのパッケージが必要なのかを確認したいだけなら、
+<tt>apt-cache show</tt> コマンド (<ref id="search"> 参照)
+から派生して、<tt>Build-Depends</tt> 行の情報も表示するものがあります。
+
+<p>
+<example>
+# apt-cache showsrc <var>package</var>
+</example>
</sect>
</chapt>
@@ -1375,6 +1680,7 @@
<tt>apt-get install package</tt> を実行した際に、以下のような
メッセージを受け取ったら...
+<p>
<example>
Reading Package Lists... Done
Building Dependency Tree... Done
@@ -1383,17 +1689,20 @@
E: Couldn't find package penguineyes
</example>
+<p>
最後に <tt>/etc/apt/sources.list</tt> ファイルを修正した後で、
<tt>apt-get update</tt> を実行するのを忘れているのでしょう。
<p>
以下のエラーの場合は:
+<p>
<example>
E: Could not open lock file /var/lib/dpkg/lock - open (13 Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
</example>
+<p>
<tt>source</tt> 以外の <prgn>apt-get</prgn> 指示を行なう場合は、
root 許可がなければなりません。つまり、一般ユーザとして実行して
しまったのです。
@@ -1409,14 +1718,24 @@
することも削除もできなくなった場合、次の 2 つのコマンドを実行してみて
ください。
+<p>
<example>
# apt-get -f install
# dpkg --configure -a
</example>
+<p>
その後で、もう一度試してください。上記の例中の 2 番目のコマンドは、
繰返し実行する必要があるかもしれません。これは 'unstable' を使う
冒険家にとって、重要な教えです。
+<p>
+<tt>apt-get update</tt> を実行したときに "E: Dynamic MMap ran out of room"
+というエラーに遭った場合は、以下を <file>/etc/apt/apt.conf</file> に追加してください:
+
+<example>
+APT::Cache-Limit 10000000;
+</example>
+
</sect>
<sect id="help">ヘルプはどこにありますか?
@@ -1454,6 +1773,8 @@
- APT で rpm を使えるように移植した、最初のディストリビューションです。
<p>
+Libranet (<url id="http://www.libranet.com" name="http://www.libranet.com">)
+<p>
Mandrake (<url id="http://www.mandrake.com" name="http://www.mandrake.com">)
<p>
PLD (<url id="http://www.pld.org.pl" name="http://pld.org.pl">)
@@ -1461,6 +1782,17 @@
Vine (<url id="http://www.vinelinux.org" name="http://www.vinelinux.org">)
<p>
APT4RPM (<url id="http://apt4rpm.sf.net" name="http://apt4rpm.sf.net">)
+<p>
+Alt Linux (<url id="http://www.altlinux.ru/" name="http://www.altlinux.ru/">)
+<p>
+Red Hat (<url id="http://www.redhat.com/" name="http://www.redhat.com/">)
+<p>
+Sun Solaris (<url id="http://www.sun.com/" name="http://www.sun.com/">)
+<p>
+SuSE (<url id="http://www.suse.de/" name="http://www.suse.de/">)
+<p>
+Yellow Dog Linux (<url id="http://www.yellowdoglinux.com/"
+name="http://www.yellowdoglinux.com/">)
</chapt>
<chapt id="agradecimentos">クレジット
@@ -1476,43 +1808,36 @@
<p>
以下の方には特に謝意を表します。
-
<p>
-Yooseong Yang <yooseong@debian.org> - 本マニュアルを韓国語に翻訳して
-くれました。
-
+Yooseong Yang <yooseong@debian.org>
<p>
-Michael Bramer <grisu@debian.org> - 特定バージョンの保持の節を含める
-ように提案してくれました。
-
+Michael Bramer <grisu@debian.org>
<p>
-Bryan <Stillwell bryan@xxxxxxxxxx> - 各種パッチや修正などを私に
-送ってくれました。
-
+Bryan Stillwell <bryan@xxxxxxxxxx>
<p>
-Pawel Tecza <pawel.tecza@xxxxxxxxxx> - 各種修正を送ってくれ、また
-ポーランド語に翻訳してくれました。
-
+Pawel Tecza <pawel.tecza@xxxxxxxxx>
<p>
-Pablo Lorenzzoni <spectra@debian.org> - netselect に関する節を
-執筆してくれました。
-
+Hugo Mora <h.mora@xxxxxxxxxxxx>
<p>
-Steve Langasek <vorlon@xxxxxxxxxxxxxx> - 本マニュアルを英語に
-翻訳してくれました。
-
+Luca Monducci <luca.mo@xxxxxxxxxx>
<p>
-Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxxxxx> - 現在 APT を
-含んでいるディストリビューション - Mandrake, PLD, Vine - をリストに
-追加してくれました。
-
+Tomohiro KUBOTA <kubota@debian.org>
<p>
-Erik Rossen <rossen@xxxxxxxxxxx> - dpkg -l での COLUMNS の使用という
-tips を提供してくれました。
-
+Pablo Lorenzzoni <spectra@debian.org>
+<p>
+Steve Langasek <vorlon@xxxxxxxxxxxxxx>
+<p>
+Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxxxxx>
+<p>
+Erik Rossen <rossen@xxxxxxxxxxx>
+<p>
+Ross Boylan <RossBoylan@xxxxxxxxxxxxxxxxxx>
+<p>
+Matt Kraai <kraai@debian.org>
+<p>
+Aaron M. Ucko <ucko@debian.org>
<p>
-Ross Boylan <RossBoylan@xxxxxxxxxxxxxxxxxx> -
--o Debug::pkgProblemResolver=yes の使用という tips を提供してくれました。
+Jon Åslund <d98-jas@xxxxxxxxxxx>
</chapt>
<chapt id="novas">このチュートリアルの新バージョン
@@ -1523,9 +1848,10 @@
よって作成されました。
<p>
-最新バージョンは、プロジェクトのホームページから入手可能です:
-<url id="http://debian-br.cipsga.org.br/suporte/documentacao.html"
-name="http://debian-br.cipsga.org.br/suporte/documentacao.html">.
+最新バージョンは、Debian
+Documentation プロジェクトのホームページから入手可能です:
+<url id="http://www.debian.org/doc/ddp"
+name="http://www.debian.org/doc/ddp">.
<p>
コメントや批判は、私 <email>kov@debian.org</email> 宛に直接メール
@@ -1533,3 +1859,4 @@
</chapt>
</book>
+</debiandoc>
----------------------------------------------------------------