Debian 便利ワザ集 佐野武俊 / Taketoshi Sano, (sano@debian.org) $Date: 1999/12/15 07:22:42 $, $Revision: 1.4 $ Debian システムを使う上で、知っていると便利そうなちょっとした「ワザ」 を Debian JP の debian-users ML に流れた話題などからまとめたものです。 内容の修正・追加・削除、また 文書の構成などについての御意見をお待ちし ております。 1. まず最初に - 知っておくと便利なワザ 1.1. ファイル XXX がどのパッケージにあるか知りたいのですが ? 1.1.1. *** zcat Contents-*.gz|grep *** Contents-*.gz (Linux i386 なら Contents-i386.gz) というファイルを grep で検索するのが早いです。このファイルはネットワーク上なら例えば ftp サ イトの debian/dists/stable/ 以下にあります。また JP Package に含まれて いるファイルのリストは debian-jp/dists/stable-jp/ 以下にあります。一方 CD-ROM の場合は、まずその CD-ROM をマウントします。マウント先が/cdrom だとすると、 find /cdrom/ -name 'Contents*' を実行します。その CD-ROM の中に該当するファイルがあれば、表示されるは ずです。 さて、この Contents-*.gz を入手したら次に検索を実行します。 例えば、「ppxp のパッケージはどこにあるのかな ?」と調べる場合 zcat Contents-i386.gz | grep ppxp としてみましょう。何か出てきましたか ? 実は ppxp パッケージは (slink では) まだ Debian Project に提供されてお らず、 slink-jp のほうに置かれています。ですので、 debian/dists/stable 以下の Contents-i386.gz で検索した場合は「何も出てこない」で正解です。 (開発中の potato では 1999年 10 月 6 日現在、ppxp のパッケージが main/binary-i386/net/ppxp_0.99072807-2.deb として含まれています。これ は JP Package ではなく Debian Package です) もう一度、今度は JP Package の Contents-i386.gz で上記のように検索して みてください。 すると、たくさん (wc で数えたら 187 行) 出てきます。左側が各パッケージ 中の個々のファイル名、右側がパッケージの分類、セクション、名前を示しま す。 ところで 187 行だと多すぎてここでは紹介できないので、 "ppxp" というコ マンドの含まれるパッケージを調べることにします。 一般的に、「コマンド」の置き場所は **bin/ というディレクトリ (管理者用 のコマンドは /sbin, /usr/sbin など、一般アカウント用のコマンドは /bin, /usr/bin など) にあることが多いので、 (例外は /usr/bin/mh 以下にある mh 関連コマンドとか) とりあえず zcat Contents-i386.gz | grep bin/ppxp を実行してみましょう。いかがですか ? usr/bin/ppxp contrib/net/ppxp usr/sbin/ppxpd contrib/net/ppxp こういう結果が表示されたと思います。これによって "/usr/bin/ppxp" とい うコマンドが分類 "contrib" の "net" セクションにある "ppxp" パッケージ に含まれていることがわかります。 「分類」というのは説明すると長くなるので、この節の最後にまとめておきま す。 「セクション」というのは各ソフトウェアを利用分野によって大きくまとめた もので、現在 o admin (管理者用) o comm (通信用) o devel (開発用), o doc (manpage などの参考資料) o editors (エディタ), o electronics (電子工学) o games (ゲーム), o graphics (グラフィック) o hamradio (アマチュア無線), o interpreters (各種スクリプト言語) o libs (ライブラリ), o mail (メールソフトなど) o math (数学), o misc (その他), o net (ネットワーク) o news (ネットニュース), o oldlibs (古いバイナリを実行させるための古いライブラリ), o otherosfs (他の OS のファイルを読み書きするためのツール), o shells (シェル) o sound (サウンド) o tex (TeX), o text (テキストファイルを扱うツール), o utils (あると便利なもの) o web (ウェブ), o x11 (X ウィンドウシステム) などのセクションがあります。これは binary-i386 などのアーキテクチャ毎 のディレクトリのサブディレクトリとしての区別でもあり、パッケージを探す 時はセクションに対応するサブディレクトリの中を見ることになります。 以上のように、 contrib/net/ppxp という結果から、 debian-jp/dists/stable-jp/contrib/binary-i386/net/ppxp*.deb というパッケージファイルを探せば良い、ということがわかります。 さらに grep の正規表現を使えば検索条件の絞り込みもできます。例えば "ppxp" という名前を忘れてしまって、「 pp 何とか p という名前で、何とか のところに一文字」と覚えていた場合は zcat Contents-i386.gz | grep 'pp.p' としてみましょう。もちろん先程のように 'bin/pp.p' としても良いです。 「何とかのところに何文字だったかもわからない」場合は上の 'pp.p' の代わ りに 'pp.*p' を使います。実際にいろいろ試してみると、動作がわかって面 白いでしょう。 1.1.2. *** dpkg -S *** 既に該当するパッケージをインストール済みの場合は、 dpkg -S ``file_name'' コマンドも使えます。 こちらは検索条件としてシェルと同様の正規表現を使えます。例えばこんな感 じです。 $ dpkg -S 'X*/bin/*term' rxvt: /usr/X11R6/bin/rxvt-xterm kterm: /usr/X11R6/bin/kterm xterm: /usr/X11R6/bin/xterm $ dpkg -S 'X*/bin/*vt' rxvt-ml: /usr/X11R6/bin/crxvt rxvt: /usr/X11R6/bin/rxvt-xpm rxvt-ml: /usr/X11R6/bin/krxvt rxvt: /usr/X11R6/bin/rxvt-xterm rxvt-ml: /usr/X11R6/bin/grxvt 1.1.3. *** grep /var/lib/dpkg/info/.list *** 同じく、インストール済みのパッケージの場合は、 /var/lib/dpkg/info/.list にパッケージに含まれるファイル 名がリストされているので、これらのファイルに grep をかけることで検索で きます。 1.1.4. *** Web 上での検索 *** 最近 Debian JP の debian-users ML で教えてもらったのですが、あるファイ ルがどのパッケージに含まれているかを Webで調べることもできます。 パッケージ一覧 のページか ら「最新リリースの内容を検索」 "Search the Contents of the Latest Release" を選択してファイル名を (できるだけディレクトリ名なども付けた 形で) 検索してみるとよいでしょう。 1.2. パッケージをインストールした時のメッセージを調べるには ? 設定の必要なパッケージが、インストール時に質問してくるメッセージなどは /var/lib/dpkg/info/.preinst および /var/lib/dpkg/info/.postinst という shell script の実行 によって表示されています。これらのシェルスクリプトを読んでみましょう。 1.3. dselect で一覧表示される、各パッケージの詳細を検索したい /var/lib/dpkg/available を検索してみましょう。 1.4. dpkg の使い方をマスターしたい dpkg --help を印刷して (しなくても良いけど) じっくり読んでみることをお 勧めします。 最低限、 o --info 指定されたパッケージファイルの説明を表示 o --contents 指定されたパッケージファイルの中身 (パッ ケージに含まれるファイルの一覧) をリスト o -l (--list) インストール済みのパッケージをリスト o -s (--status) (インストールされていれば) 指定された パッケージの説明を表示 o -L (--listfiles) (インストールされていれば) 指定され たパッケージに含まれるファイル (一覧) をリスト o -S (--search) 指定されたパターンに従って 該当するファイルを含むパッケージをインストール済みのパッケージの中 から検索。 この 6 種類くらい覚えていれば (あと、インストールする時に使う -i を追 加して 7 種類) たいていの用は足りると思います。 1.5. パッケージファイルの中身を調べたい 上に書いた dpkg --info (-I) や dpkg --contents (-c) を使いましょう。ま た ar コマンドで中身 (data.tar.gz, control.tar.gz, debian-binary) を取 り出すこともできます。 data.tar.gz が実際のアーカイブの中身、 control.tar.gz には preinst, postinst などパッケージのインストール時 (あるいはアンインストール時) に実行されるスクリプトなどが収容されてい ます。 man dpkg-deb を見るのも良いでしょう。--field (-f) や --extract (-x) な どのオプションが役に立つかもしれません。 さらに debview パッケージをインストールすると、emacs からアーカイブの 中にあるファイルの内容を見ることができるようです。興味のある方は調べて みると良いでしょう。 (ただし私の場合はこれがうまく動作しないみたいで、 アーカイブの中身が途中までしか表示されませんでした。) 1.6. カーネル再構築について Debian でカーネル再構築をする場合には、 .deb パッケージにしてしまうの が便利です。まずは kernel-package という名前のパッケージをインストール しましょう。これには make-kpkg というコマンドが含まれています。 あとは一般的なカーネル再構築の手順で、必要なもの (コンパイラ、ライブラ リなどの開発用パッケージ。もちろんカーネルソースも) を用意して、 make {menuconfig,xconfig} などによってカーネルの構成を設定します。 よく "bin86" パッケージのインストールを忘れて make に失敗する人がいま す。これは i386 アーキテクチャでのみ必要とされるもので、他のアーキテク チャでは不要なため依存関係の情報 (Depends: など) には入っていません。 "kernel-package" の附属資料である /usr/doc/kernel-package/README.gz に は Firstly, you will need gcc, the libc development package (libc5-dev or libc6-dev at the time of writing), and, on Intel platforms, bin86. [If you use the menuconfig target of make, you will need ncursesX.X-dev, and make xconfig also requires tkX.X-dev, and other packages these depend on] # まず gcc と libc の開発パッケージ (今なら libc6-dev) それに # Intel i386 上で make するなら bin86 が必要ですね。 # (もし menuconfig を使うなら、これに加えて ncursesX.X-dev が必要だし # make xconfig を使うなら tkX.X-dev も必要。もちろんこれらのパッケージ # が必要とするものはすべて依存関係に従ってインストールすること) # (英文には libc5-dev が入ってますが、hamm 以降は通常 libc6-dev です。 # libc5-dev は bo 以前の場合ですね) The packages suggested are: devel: gcc, libc5-dev/libc6-dev, binutils, make, and, for intel x86 platforms, bin86 (non-Intel platforms don't need this). interpreters: awk, which is contained in either the mawk or gawk packages base: gzip, shellutils, and grep. # インストールしておくべきパッケージ (セクション: パッケージ名) # devel: gcc, libc6-dev, binutils, make # Intel x86 上では、これに加えて bin86 # (他の CPU (alpha, sparc など) では bin86 は不要) # interpreters: awk (これは mawk や gawk をインストールすれば良い) # base: gzip, shellutils, grep Some of these packages are marked essential, and hence are going to be present on your machine already. Others you have to check and install. # これらのパッケージのうちいくつかは "essential" (必要不可欠) な # パッケージなので、既にお持ちのシステムには含まれているはず。 # だが、そうではないパッケージもあるので、上のリストをチェックして # 不足しているものがあればインストールすること。 Of course, pretty GUI front ends to kernel configuration require more packages, but they are not strictly essential (though quite nice really). # もちろん、カーネル設定用のしゃれた GUI なフロントエンドは # より多くのパッケージを必要とするが、それらのパッケージが # カーネルの make に必須ってわけじゃないんだ。 # (あるとすごく便利だけどね) と書かれています。抜けの無いように注意しましょう。 カーネルソースは Debian パッケージから入れたものでも、自分でオリジナル のソースコードを持ってきて独自にパッチを当てたものでも OK です。 Debian のカーネルソースパッケージは、以前の流儀では、インストールする と /usr/src/linux/ 以下に展開された形でインストール (実際には /usr/src/kernel-source-version 以下に展開され、そこから /usr/src/linux にシンボリックリンク) されていましたが、現在は /usr/src/kernel-source- version.tar.gz として tar+gzip アーカイブのままで置かれるようになりま した。 これはカーネルソースが巨大になってきて、/usr/src/ 以下で展開・make す ると /usr パーティションが圧迫されてしまう可能性が高くなってきた (/usr を別パーティションにして使っている人もいます) ために、別の場所でカーネ ルを make できるようにするための処置です。 Debian Package のカーネルソースをインストールしたら、もし /usr/src 以 下で展開・make しても問題無いようなら cd /usr/src tar -xvzf kernel-source-version.tar.gz rm -f linux ln -s kernel-source-version linux を実行すると良いでしょう。なお "tar -xvzf" は tar+gzip なアーカイブを 展開するためのコマンド、 "rm -f linux" は、linux が既に別の場所へのシ ンボリックリンクとして存在する場合にあらかじめ削除しておくためのコマン ド、 "ln -s" はシンボリックリンクを作成するコマンドです。 なお上記の kernel-source-version は、実際には version の部分に例えば 2.0.36 や 2.2.10 などのカーネルバージョンが入ります。それから /usr/doc/kernel-source-version/debian.README.gz には "Unpacking kernel sources" としてこのあたりの説明がちょこっと書いてあります。 カーネルソースツリーを展開して、/usr/src/linux をそこへのシンボリック リンクとして作成したら、次に "make-kpkg clean" コマンドを実行していっ たん make-kpkg コマンドが使用する制御情報ファイルを初期化します。 そして "make-kpkg --revision=local1 kernel-image" でカーネル本体とモ ジュールの含まれたパッケージを作成し、 "dpkg -i kernel-image-.deb" でインストールします。 後で紹介する ``topics-ML'' にも、また後述の各書籍にも関連する説明があ ります。それから make-kpkg コマンドの使い方は man make-kpkg で調べるこ とができます。特に "--revisin=" で指定するレビジョンには必ず数字を含ま なければいけないこと、数字およびアルファベット以外は "." と "+" (ビリ オドとプラス) しか使えない (ハイフンやアンダーラインはダメ) ことに注意 してください。 1.7. 「分類」について 「分類」というのは正式な用語ではなくて、ここで便宜的に使っている言葉で すが、 Debian システム用の deb パッケージとして配布されているものに は、現在 "main", "non-free", "contrib" "non-us" の 4 つの「分類」があります。あまりつっこむとボロが出るのでここでは簡 単に紹介します。 まず "main" は正式に Debian システムの一部として認められるパッケージに よって構成されるものです。これらは デビアン・フリーソフトウェア・ガイドライン (Debian Free Software Guideline, よく DFSG と省略して呼ばれる) に沿っ たパッケージであり、商用・非商用、学術・非学術などの目的や分野、また利 用者・団体などによらず、「100 % 自由」な利用を保証しています。ただし、 ここで言う「自由」とは「何でも好き勝手をして良い」ということではありま せん。 特に配布ライセンスとして GPL を採用しているソフトウェアは「将来に渡っ てソフトウェア改変の自由を保証するため」に商用配布の場合などについて、 ソースコード供給の義務を課しています。 (詳細は GPL の 3.a および 3.b を参照してください。) 次に "non-free" は何らかの点で上記の "Debian フリーソフトウェア・ガイ ドライン" を満たしていないソフトウェアが含まれています。これらのパッケ ージは正式には Debian システムの一部ではありませんが、利用者の便宜のた めに ftp サイトに置かれています。ここに含まれるパッケージの配布に関す るライセンスは個別に異なり、商用 CD-ROM などに収録する際にはそれぞれの 権利保持者に問い合わせるなどの作業が必要です。 一方 "contrib" には、実際にそれを利用する場合 "non-free" に含まれる パッケージを必要とするが、それ自身としては "Debian フリーソフトウェ ア・ガイドライン" に反していない (従って "non-free" に依存しないように なれば "main" への収録が可能なもの) が含まれます。 最後の "non-us" はアメリカ合衆国の暗号輸出規制による制限に関連するもの です。例えば、アメリカ国民以外の Debian ユーザーが PGP を使おうと思っ た場合、ここに含まれている pgp-i や pgp5i などのパッケージを ftp サイ トの debian/dists/non-US/ 以下から入手して利用することになります。 2. もっと詳しく - 参考資料はどこにある ? 2.1. Debian Project Web Site Debian プロジェクトのウェブサイト には Debian Project 自体の概要や Debian システムについての説明、また "Debian フリーソフトウェア・ガイドライン" や "社会契約" の説明などがあ ります。 Debian を使うなら、是非一度御覧になることをお勧めします。 なお、このページは現在かなりの部分を日本語で読めるようになってきていま す。これは Deiban JP の www-ML で活躍されている遠藤さんを始めとした人 々の作業の結果です。 しかし、英語でしか表示されないページもまだまだあります。ちょっとした翻 訳ができれば誰でも参加することができますので、もし興味があれば以下のペ ージを御覧ください。 2.2. Debian JP Project Web Site Debian JP プロジェクトのウェブサイト には日本国内で入手できる Debian の CD-ROM に関する情報や Debian に関す る話題が日本語で読めるメーリングリストの案内とそのアーカイブと検索のペ ージ、また (後で紹介しますが) 「プロジェクト日誌」のページなどがありま す。 そして、 Debian JP Project: 文書 のページには、Debian に関連したさまざまな文書の情報がまとめて紹介されています。これらの情報 は、Debian を使っていく上で、きっと参考になることでしょう。 2.3. 鵜飼さんの "Topics-ML" Debian JP 独自の資料として、鵜飼さんが作成して下さった「Debian GNU Linux に関する Q & A」があります。 この文書は Debian JP のウェブページ から 「メーリングリスト」のページにジャンプして「 MLで流れた記事から作成し た Debian GNU/Linux に関する Q & A」というタイトルを選択することで読む ことができます。 これには機種別の情報などもあるし、また日本語キーボードの設定や日本語入 力、また日本語を含む文書の印刷についての情報などもあるので、特に日本の Debian ユーザーにとっては非常に役に立つ情報源だと思います。 tar+gzip なものも用意して下さっているので、手元に置いて grep で検索し たり、lynx で参照したりという使い方でお世話になっている Debian ユーザ ーも多いです。 また関連 ML の検索ページ から、この 文書も検索できます。このページは Debian JP のウェブページ にある「メーリングリスト(検索)」から辿れま す。 なお、この文書を改訂・内容拡充しようという "dejavu" 計画がメーリングリ スト で進行中です。興味のある方は是非作業に 参加してください。 2.4. Debian JP Project 「プロジェクト日誌」 これも Debian JP 独自の資料ですが、プロジェクトメンバーの有志が作成し ている「プロジェクト日誌」 というもの があります。これも Debian JP のウェブページ から辿ることができます。新しく追加されたパッケージの情報や、最近の開発 動向などいろいろな情報を得ることができます。 2.5. Debian FAQ Debian JP の doc-debian-ja パッケージをインストールすると /usr/doc/debian-ja/FAQ 以下に Debian Project が作成している ``The Debian GNU/Linux FAQ'' の日本語訳が置かれます。 またこの日本語訳文書の html 版は Debian JP Project: 文書 ページの「総合/FAQ」 で ``Debian GNU/Linux FAQ'' としてリンクされています。 2.6. Debian Policy Manual Debian ポリシーマニュアル から Debian プロジェクトの方針に関する文書を読むことができま す。またすこし古いバージョンをベースにしていますが、日本語訳を Debian JP Project: 文書 ペ ージの「パッケージ開発」にある「Debian ポリシーマニュアル」から読むこ とができます。英文のオリジナルでは slink 版のバージョンが 2.5.0.0 に対 し、現在の日本語訳は 2.2.0.0 ベースとなっていますが、そのまま参考にで きる部分も多いと思います。日本語訳で概略の内容をつかんで詳細は英語の原 文を参照する、という使い方をすると良いでしょう。 これはパッケージ作成の際に参考とするために Debian プロジェクトとしての 方針・規約を説明したものですが、この中にパッケージの構成などについての 情報も含まれているので、利用者としての立場で読んでも参考になると思いま す。 特にパッケージをそのまま使うのでなく、ちょっとカスタマイズして使おうと したり、自分で上流ソースコード (upstream sources) を持ってきてパッケー ジ化しようとする際などには是非一度読んでみましょう。 例えば、 (この「便利ワザ集」では便宜上「分類」という呼び方で先に説明し ましたが) 「ディストリビューション」 (原語でも "distribution" です) と 呼ばれるパッケージの種類分けについての説明や、セクションや優先度 (priority、ここでは説明を省略します) などについての説明があります。 この文書は "main/binary-all/debian-policy" パッケージに含まれている /usr/doc/debian-policy/policy.html/ というディレクトリの html ファイル を翻訳したものです。 /usr/doc/fsstnd/ というディレクトリには FSSTND (File System Standard) についての解説である FSSTND-FAQ.gz および fsstnd-1.2.txt.gz というファ イルもありますので、(英文ですが) 読んでおくと参考になります。また開発 中の potato 版では fhs/ というディレクトリに FSSTND の後継である FHS 2.0 (Filesystem Hierarchy Standard -- Version 2.0) の文書も収録されて います。 potato では部分的に FHS への移行が始まっていますが、おそらく potato の次にリリースされる Debian は FHS へ完全移行すると思われます。 今のうちから調べておいて将来に備えるというのも良いでしょう。 2.7. Debian パッケージ作成入門 (Debian New Maintainers' Guide) Debian パッケージ作成入門 から Debian パッケージの作成方法などを具体的な例を挙げて説明した文書を 読むことができます。またこの文書は "maint-guide" という名前のパッケー ジにも含まれています。 この文書の日本語訳をベースに Debian JP 用に編集した文書が Debian JP Project: 文書 ページ の「パッケージ開発」に「Debian パッケージ作成入門 Debian JP 版」にリン クされています。 パッケージの作成に興味のある方は一度目を通しておくと参考になるでしょ う。 2.8. Debian Packaging Manual Debian JP Project: 文書 ページの「パッケージ 開発」に「パッケージングマニュアル日本語版」がリンクされています。英文 のオリジナル slink 版のバージョン 2.4.1.0 をベースにした翻訳は既にリリ ースされ、現在開発中の potato 版であるバージョン 3.0.1.1 に対する翻訳 作業が進められています。 なおパッケージングマニュアル から最新のオリジナル (英語) 文書を読むことが できます。 この文書は "main/binary-all/doc/packaging-manual" パッケージに含まれて いる /usr/doc/packaging-manual/packaging.html/ ディレクトリの中の html ファイルを翻訳したものです。 「Debian ポリシーマニュアル」が Debian プロジェクトとしての方針につい て述べているのに対し、この文書では主に技術的な内容、つまり dpkg や dselect などのコマンドの動作や「パッケージ管理情報ファイル」の記述につ いて説明しています。 既存のパッケージをカスタマイズしたり、また自分で新しいパッケージを作成 する際に、[Debian パッケージ作成入門」だけでは解決できない疑問が生じた 場合に読んでみると、きっと参考になるでしょう。 2.9. Debian デベロッパーズリファレンス デベロッパーズリファレンス から読めま す。debian/dists/stable/main/binary-all/doc/developers-reference に パッケージもあります。 Debian プロジェクトのメンテナー (maintainer) として知っておくべき知識 をまとめたものです。 ここに含まれる内容には o メンテナーになるための手続き、 o 新しいパッケージをアップロードする手順、 o ノン・メンテナーズ・アップロード (NMU) の説明、 o パッケージの移動、削除、改名、引き継ぎ、放棄の手順、 o バグレポートへの対処方法 などがあります。 なお、現状ではまだ日本語訳は校正前のためパッケージ化されていませんが、 もし作業が間に合えば、potato に日本語訳を入れることができるかもしれま せん。現状の日本語β版を読みたい場合は Debian JP の Web サイトを経由し てリンクを辿ってください。 Debian JP Project: 文書 ページの「パッケージ 開発」に「Debian デベロッパーズリファレンス」の日本語β版がリンクされ ています。 3. たまには活字でも - お勧めの本 3.1. 「一歩本」 ソフトバンクから Debian JP 2.0 (hamm-jp) オフィシャル CD-ROM 付きで最 初に出版 (1998.12/8) された「Debian GNU/Linux / 一歩進んだフリー Linux システム」 (ISBN4-7973-0754-4) です。著者は Debian JP Project でもおな じみの方々で、最初のほうの Debian プロジェクトや Linux 自体についての 説明など、なるほどと思わせるものがあります。インストールや設定の説明に ついては、複数人で執筆されたせいか、一部に不具合点や内容の矛盾などもあ りますが、全体的には参考となる内容を含んだ良い本です。もし見かけたこと が無ければ、一度捜してみましょう。 3.2. 「徹底入門」 翔泳社から CD-ROM 4枚付きで出版 (1999. 1 月初版) された「Debian GNU/Linux 徹底入門」(ISBN 4-88135-711-5) です。 この本の附属 CD-ROM には他の書籍ではまず含まれていない Netscape などの "non-free" に分類されるパッケージも収録されています。また、著者である 武藤さん (ちなみに Debian JP Project のメンバーです) がサポートページ において正誤表の公開や「談話室」の開設、一部のノート PC など標準の起動 ディスクではうまく起動できない機種への対応などをされています。他の本に 比べるとすこし高価 (4,800 円 + 税) ですが、ネットワーク経由でパッケー ジを取得するのがツライ環境に居る人には有難い本でしょう。 なお、この本は WebMasters (www.linux.or.jp 管理チーム) のブックレビュ ーコーナーに献本されました。寄せられた書評は で見ることができます。 3.3. 「今日から Debian」 (株)オーム社から出版 (1999.2.25) された「今日から Debian GNU/Linux」 (ISBN 4-274-06300-3) です。この本の著者の芳尾さんも Debian JP Project で以前から活動されてこられた方で、また他の方々と一緒に Debian Packaging Manual の翻訳をまとめられた方でもあります。なお、芳尾さんも 個人ページでこの本の正誤訂正などのサポートをされています。 ここにある「Debian Linux 本書評」のコーナーなど、読んでおくと参考にな るかもしれません。一度御覧になると良いでしょう。 なお、この本も WebMasters (www.linux.or.jp 管理チーム) のブックレビュ ーコーナーに献本されています。寄せられた書評は で見ることができます。 4. お勧めのパッケージ ここにはまだ少ししか書いてありませんが、他にも「これはお勧め」という パッケージがあれば是非パッケージ名と分類/セクション、それに簡単な説明 を付けて教えてください。適当なものがあればどんどん追加していきたいと 思っています。 4.1. debian-jp/dists/stable-jp/main/binary-all/misc/user-ja 一般ユーザーが emacs や shell などで必要となる各種の設定ファイルを標準 的な環境にあわせて整備してくれる便利なユーティリティツールです。特に emacs の日本語表示設定で苦労されている方にはオススメでしょう。 なお emacs の設定関係では stable-jp/main/binary-all/doc にも "emacs- manual-ja" や "emacs-lisp-intro-ja", "elisp-manual-ja" などのパッケー ジがあります。 (開発中の potato ではすべて Debian Package に収録されて います) 4.2. debian/dists/stable/main/binary-all/doc/manpages-ja オンラインマニュアル manpages の日本語訳です。JM による翻訳をベースと しています。 4.3. debian-jp/dists/stable-jp/main/binary-i386/x11/xmanpages-ja オンラインマニュアル manpages のうち、 X11 関連部分の日本語訳で す。xjman による翻訳をベースとしています。 4.4. debian-jp/dists/stable-jp/main/binary-all/doc/doc-debian-ja 上で紹介していますが、Debian FAQ の日本語訳などが含まれたパッケージで す。 4.5. debian/dists/stable/main/binary-all/doc/doc-linux-ja Debian に限らず、Linux 関連の資料を集めたパッケージで日本語訳は JF に よる翻訳をベースとしているようです。 4.6. debian/dists/stable/main/binary-all/doc/debian-policy Debian パッケージ作成上の規約についての説明です。パッケージの構造など 技術的な内容は次の "Packaging-Manual" にあります。 なお、現状ではまだ日本語訳はパッケージ化されていませんので、日本語で読 みたい場合は Debian JP の Web サイトを経由してリンクを辿る必要がありま す。また日本語訳は原文のバージョンにまだ追いついていないので注意が必要 です。 Debian JP Project: 文書 ページの「パッケージ 開発」に日本語訳された「Debian ポリシーマニュアル」がリンクされていま す。 4.7. debian/dists/stable/main/binary-all/doc/maint-guide Debian パッケージの作成についての入門編的な説明です。Web から Debian パッケージ作成入門 で読む こともできます。 この文書の日本語訳をベースに Debian JP Project 固有の情報を入れて編集 した文書が JP Package の maint-guide-ja にあります。また Debian JP の Web サイトから Debian JP Project: 文書 ページの「パッケージ 開発」に「Debian パッケージ作成入門 Debian JP 版」をいうリンクを辿って 読むこともできます。 4.8. debian/dists/stable/main/binary-all/doc/packaging-manual Debian パッケージの構造など技術的な説明です。「パッケージ作成入門」よ り量も多く、詳細に説明しています。 なお、現状ではまだ日本語訳はパッケージ化されていませんので、日本語で読 みたい場合は Debian JP の Web サイトを経由してリンクを辿る必要がありま す。 Debian JP Project: 文書 ページの「パッケージ 開発」に「パッケージングマニュアル日本語版」がリンクされています。 4.9. debian/dists/stable/main/binary-all/doc/developers-reference Debian プロジェクトのメンテナー (maintainer) として知っておくべき知識 をまとめたものです。 なお、現状ではまだ日本語訳はパッケージ化されていませんので、日本語で読 みたい場合は Debian JP の Web サイトを経由してリンクを辿る必要がありま す。 Debian JP Project: 文書 ページの「パッケージ 開発」に「Debian デベロッパーズリファレンス」がリンクされています。 5. とりあえずやってみよう - カスタムパッケージ作成 まずは、パッケージ作成の参考文書から。既に紹介した「Debian ポリシーマ ニュアル」と「Debian パッケージ作成入門」はとりあえず目を通しておきま しょう。余裕があれば「パッケージングマニュアル」や「デベロッパーズリ ファレンス」を読んでおくとさらに良いです。 5.1. カスタムパッケージの作り方 以下は ``topics-ML'' にある説明文をほとんどそのまま写したものです。 Debian 標準のパッケージからコンパイルオプションを変更したバイナリパッ ケージを作成したい場合は、以下の手順で実行します。 まず dpkg-dev, cpp, gcc, make などのパッケージをインストールし、 *.dsc, *.orig.tar.gz, *.diff.gz をとってきて dpkg-source -x パッケージ名.dsc を実行します。 するとパッケージ名と同じ名前のディレクトリが作成されるので、そのディレ クトリに移動し、必要な修正をします。 debchange -v として、debian/changelog ファイルくらいは直しておく。 (revision をあげて、変更の内容を記述。Maintainer の名前と E-mail アド レスは自分のものにしておく) そして rootになって ./debian/rules build を実行するか、 dpkg-buildpackage -ppgp -rsudo を実行する。 まだ pgp を使えるようになっていない人は dpkg-buildpackage -rsudo -us -uc としてみて、ちゃんと作成されるかどうか確認してみると良いかもしれませ ん。 以上の操作によって .deb ファイルが作成されるので、 それを普通のパッケ ージをインストールするのと同じように dpkg --install でインストールすれ ばよいです。 5.2. パッケージソースの構成 Debian Package のソースは、 .dsc, .diff.gz, .orig.tar.gz の 3 つから構 成されます。 (古いパッケージでは違うものもあります)。 基本的に Debian 固有の変更はすべて .diff.gz に入れることになっているた め、 .orig.tar.gz に相当するものが既に手元にある場合は、 \ .dsc と .diff.gz だけ入手すればパッケージを作成できます。 \ .orig.tar.gz に含まれるものが、どこから持ってきたものか、という情報 は \ .diff.gz の中にある debian/copyright ファイルに記載されることに なっています。 6. おわりに 6.1. お願い ここまで、とりあえず書けた部分だけでまとめてみましたが、まだまだ不足し ている情報があるはずです。「これも追加して欲しい」という意見をお持ちの 方は是非教えて下さい。よろしくお願いします。 6.2. 謝辞 この「Debian Tips ( Debian 便利技集)」は Debian JP の users ML で見か けたアイデアがもとになって誕生しました。特に名前を挙げませんが、アイデ アを提供して下さった方々にこの場を借りてお礼を差し上げます。 また、この文書でも参照している「 Q & A」をまとめられた鵜飼さんや Debian の Web Site 日本語訳に貢献されている遠藤さんを始め、パッケージ の開発、文書 や Web の整備、ftp サイトの管理などに活躍されている Debian JP プロジェクトの方々、それにこの素晴しいシステムを作り出した Debian プロジェクトの方々、そしてまた Linus 氏と RMS 氏にも感謝を捧げ ます。 6.3. この文書の配布について copyrighted (c) 1999 Taketoshi Sano この文書は GNU パブリックライセンス (GPL) バージョン 2 かそれ以降の条 件、あるいは標準的な Linux ドキュメントプロジェクト (LDP) の条件に基づ いた配布ならば自由にしていただいてかまいません。これらのライセンスはこ のドキュメントが入手できるようなサイトから入手できます。LDP の条件は (翻訳をのぞく) いかなる修正も許可していません。修正されたバージョンは GPL の基でのみ配布されるものとすることが可能です。