目次
この章では、Debian メーリングリストについてのおおよその概略、開発者であるあなたが利用できるであろう Debian マシン、メンテナとしての作業で役立つその他全ての利用可能なリソースを確認します。
Debian 開発者 (それにユーザ) の間で交わされるやり取りの大半は lists.debian.org
で提供されている広範囲に渡るメーリングリスト群で行われています。どうやって購読/解除するのか、どうやって投稿するか(あるいはしないのか)、どこで過去の投稿を見つけるのか、どうやって過去の投稿の中から探すのか、どうやってメーリングリスト管理者と連絡をとるのか、その他メーリングリストに関する様々な情報については
https://www.debian.org/MailingLists/ を参照してください。
メーリングリストのメッセージに返信する際には、大本の投稿者が特別に要求しない限り、同報メール (CC
)
を送らないようにしてください。メーリングリストに投稿する人は必ず返信を見ているはずです。
クロスポスト (同じメッセージを複数のメーリングリストに投稿する) のはお止め下さい。いつものネット上と同じ様に、返信文では引用を削って下さい。概して投稿するメッセージについては、通常の慣習をしっかりと守ってください。
詳細については行動規範を参照してください。Debian コミュニティガイドラインも読むと良いでしょう。
開発者が利用すべき Debian の中核メーリングリスト:
<debian-devel-announce@lists.debian.org>
は開発者に重要な事を伝える際に使われます。全開発者がこのメーリングリストを購読する事が望まれます。
<debian-devel@lists.debian.org>
は様々な技術関連の事柄を話し合うのに使われます。
<debian-policy@lists.debian.org>
は Debian ポリシーについて話し合い、それに対して投票を行うのに使われます。
<debian-project@lists.debian.org>
はプロジェクトに関する様々な非技術関連の事柄を話し合うのに使われます。
他にも様々な事柄に特化したメーリングリストが利用できます。一覧については https://lists.debian.org/ を参照してください。
<debian-private@lists.debian.org>
は Debian
開発者間でのプライベートな話し合い用に使う特別なメーリングリストです。つまり、理由がなんであれここに投稿された文章は公開するべきではないものであることを意味しています。このため、これは流量が少ないメーリングリストで、ユーザは本当に必要でない限りは
<debian-private@lists.debian.org>
を使わないように勧められています。さらに、このメーリングリストから誰かへメールを転送してはいけません。様々な理由からこのメーリングリストのアーカイブはウェブから見ることはできませんが、master.debian.org
上のシェルアカウントを使って ~debian/archive/debian-private/
ディレクトリを参照することで確認できます。
<debian-email@lists.debian.org>
は、特別なメーリングリストです。ライセンス、バグ、その他について upstream
の作者にコンタクトを取る、他の人とプロジェクトについて議論した内容をアーカイブしておくのに役立つ Debian
に関するメールをまとめた「福袋」として使われています。
いくつもの IRC チャンネルが Debian の開発のために用意されています。チャンネルは主に Open and free technology community (OFTC)
のネットワーク上にホストされています。irc.debian.org
の DNS エントリは
irc.oftc.net
へのエイリアスです。
Debian 用のメインのチャンネルは一般的にいって #debian
になります。これは巨大な、多目的のチャンネルで、ユーザがトピックやボットによって提供される最近のニュースを見つけることができる場所です。#debian
は英語を話す人たち用のもので、他の言語を話す人達のために同様なものには
#debian.de
、#debian-fr
、#debian-br
など他にも似通った名前のチャンネルがあります。
Debian 開発での中心のチャンネルは #debian-devel
です。これはとてもアクティブなチャンネルで、大抵 150 人以上が常にログインしています。このチャンネルは Debian
で作業する人達のためのチャンネルであって、サポート用のチャンネルではありません (そのためには #debian
があります)。このチャンネルは、こっそり覗いてみたい (そして学びたい)
人に対してもオープンでもあります。このチャンネルのトピックは、開発者にとって興味深い情報に溢れています。
#debian-devel
は公開チャンネルなので、<debian-private@lists.debian.org>
で話されている話題について触れるべきではありません。この目的の為には、#debian-private
という鍵で守られた他のチャンネルがあります。この鍵は
master.debian.org:~debian/archive/debian-private/
で取得可能です。
他にも、特定の話題について専用のチャンネルがあります。#debian-bugs
は、バグ潰しパーティ (BSP)
を開催するために使われます。#debian-boot
は、debian-installer
の作業を調整するのに利用されています。#debian-doc
は、今あなたが読んでいるような文章のドキュメント化について話すために時折使われています。アーキテクチャやパッケージ群について話すため、他にも専用チャンネルがあります:#debian-kde
、#debian-dpkg
、#debian-jr
、#debian-edu
、#debian-oo
(OpenOffice.org パッケージ) など…
同様に非英語圏の開発者のチャンネルも存在しています。例えば #debian-devel-fr
は Debian
の開発に興味があるフランス語を使う人々のためのチャンネルです。
Debian 専用のチャンネルが他の IRC ネットワーク上にもあります。特に freenode IRC ネットワークは、2006 年 6 月 4 日まで
irc.debian.org
のエイリアスでした。
freenode でクローク担当に手助けしてもらうには、Jörg Jaspert <joerg@debian.org> さんに対して、利用する nick (ニックネーム) を書いて GPG 署名したメールを送ります。メールの Subject: ヘッダのどこかに cloak の文字を入れてください。nick は登録をする必要があります:ニックネームの設定の仕方を書いたページを参照下さい。メールは Debian keyring にある鍵でサインされている必要があります。クローク担当についての詳細は Freenode のドキュメント を参照してください。
このドキュメントは Debian 開発者にとって有用な情報をたくさん含んでいますが、全てを含めることは出来ていません。他の有用なドキュメントが開発者のコーナーからリンクされています。時間を取ってリンクを全部眺めれば、より多くの事柄を学べるでしょう。
Debian ではサーバとして動いている複数のコンピュータがあり、この多くは Debian プロジェクトにおいて重要な役割を果たしています。マシンの大半は移植作業に利用されており、全てインターネットに常時接続されています。
マシンのうち幾つかは、Debian マシン利用ポリシーで定められたルールに従う限り、個々の開発者の利用が可能となっています。
とにかく、これらのマシンをあなたが Debian 関連の目的に合うと思ったことに利用できます。システム管理者には丁寧に接し、システム管理者からの許可を最初に得ることなく、非常に大量のディスク容量/ネットワーク帯域/CPU を消費しないようにしてください。大抵これらのマシンはボランティアによって運用されています。
Debian で利用しているパスワードと Debian のマシンにインストールしてある SSH 鍵を保護することに注意してください。ログインやアップロードの際にパスワードをインターネット越しに平文で送るような Telnet や FTP や POP などの利用方法は避けてください。
あなたが管理者でも無い限り、Debian サーバ上には Debian に関連しないものを一切置かないようにしてください。
Debian のマシン一覧は https://db.debian.org/machines.cgi で確認可能です。このウェブページはマシン名、管理者の連絡先、誰がログイン可能か、SSH 鍵などの情報を含んでいます。
Debian サーバでの作業について問題があり、システム管理者らに知らせる必要があると考えた場合は、https://rt.debian.org/
にあるリクエストトラッカーの DSA (Debian System Administration)
チームのキュー一覧でオープンになっている問題の一覧を確認できます (ユーザー名: "debian" と
master.debian.org:~debian/misc/rt-password
にあるパスワードでログインできます)。新たな問題を報告するには、単に <admin@rt.debian.org>
にメールを送ってください。"Debian RT"
をサブジェクトのどこかに入れるのを忘れずに。DSA チームに連絡を取るには、プライベートな情報あるいはその他の秘密にしておくべき情報を含む場合には
<dsa@debian.org>
を、それ以外の場合は
<debian-admin@lists.debian.org>
へメールしてください。DSA チームは OFTC の IRC
チャンネル #debian-admin
にも居ます。
システム管理に関連しない、特定のサービスについて問題がある場合 (アーカイブからパッケージを削除する、ウェブサイトの改善提案など) は、大抵の場合「擬似パッケージ」に対してバグを報告することになります。どうやってバグ報告をするかについては 「バグ報告」 を参照してください。
中心となっているサーバのうち幾つかは利用が制限されていますが、そこにある情報は他のサーバへミラーされています。
bugs.debian.org
がバグ報告システム (BTS) の中心となっています。
Debian
のバグについて定量的な分析や処理をするような計画がある場合、ここで行ってください。ですが、不要な作業の重複や処理時間の浪費を減らすため、何であれ実装する前に
<debian-devel@lists.debian.org>
であなたの計画を説明してください。
ftp-master.debian.org
サーバは、Debian
アーカイブのコピーの中心位置を占めています。通常、ftp.upload.debian.org
へアップロードされたパッケージは最終的にはこのサーバにあります。「パッケージをアップロードする」 を参照してください。
このサーバの利用は制限されています。ミラーが mirror.ftp-master.debian.org
上で利用可能です。
Debian FTP アーカイブについて問題がある場合、通常 ftp.debian.org
擬似パッケージに対するバグ報告を行うか、<ftpmaster@debian.org>
へメールをする必要がありますが、「パッケージの移動、削除、リネーム、放棄、引き取り、再導入」にある手順も参照してください。
メインの web サーバが www-master.debian.org
です。公式 web
ページを持ち、新たな参加者に対する Debian の顔となっています。
Debian のウェブサーバについて問題を見つけた場合、大抵の場合は擬似パッケージ www.debian.org
に対してバグを報告する必要があります。誰か他の人が既にバグ追跡システムに問題を報告していないかどうかチェックするのを忘れないようにしてください。
people.debian.org
は、開発者個人の何か Debian
に関連するウェブページのために使われているサーバです。
ウェブに置きたい何か Debian 特有の情報を持っている場合、people.debian.org
上のホームディレクトリの public_html
以下にデータを置くことでこれが可能となっています。これには
https://people.debian.org/~
という URL でアクセス可能です。
your-user-id
/
他のホストではバックアップされないのに対して、ここではバックアップされるので、これを使うのは特定の位置づけのものだけにするべきです。
大抵の場合、他のホストを使う唯一の理由はアメリカの輸出制限に抵触する素材を公開する必要がある時です。その様な場合はアメリカ国外に位置する他のサーバのどれかを使えます。
何か質問がある場合は、<debian-devel@lists.debian.org>
にメールして下さい。
あなたが行っている Debian に関連する作業にバージョン管理システムが必要であれば、Alioth にホストされている既存のリポジトリを使うことも新しいプロジェクトを作って、それにあなたが選んだ VCS のリポジトリを要求することも可能です。Alioth は CVS (cvs.alioth.debian.org/cvs.debian.org)、Subversion (svn.debian.org)、Arch (tla/baz、共に arch.debian.org 上)、Bazaar (bzr.debian.org)、Darcs (darcs.debian.org)、Mercurial (hg.debian.org) そして Git (git.debian.org)をサポートしています。パッケージを VCS リポジトリ上でメンテナンスする予定であれば、https://wiki.debian.org/Alioth/PackagingProject を確認してください。Alioth で提供されているサービスについての詳細は 「Debian での FusionForge の導入例: Alioth」 を参照してください。
幾つかのマシン上では、異なったディストリビューション用の chroot が利用可能です。以下の様にして使うことが出来ます:
vore$ dchroot unstable Executing shell in chroot: /org/vore.debian.org/chroots/user/unstable
全ての chroot 環境内で、一般ユーザの home ディレクトリが利用可能になっています。どの chroot が利用可能かについては https://db.debian.org/machines.cgi にて確認ができます。
https://db.debian.org/ にある開発者データベースは、Debian 開発者のアトリビュートを操作する LDAP ディレクトリです。このリソースはDebian 開発者リストの検索に使えます。この情報の一部は Debian サーバの finger サービスを通じても利用可能になっています。finger yourlogin@db.debian.org として何が返ってくるかを確認してみてください。
開発者らは、以下に挙げるような自身に関する様々な情報を変更するためにデータベースにログインができます。
debian.org アドレス宛のメールを転送するアドレス
debian-private の購読
休暇中かどうか
住所、国名、Debian 開発者世界地図で使われている住んでいる地域の緯度経度、電話・ファックス番号、IRC でのニックネーム、そしてウェブページのアドレスなどの個人情報
Debian プロジェクトのマシン上でのパスワードと優先的に指定するシェル
当然ですが、ほとんどの情報は外部からはアクセス可能にはなっていません。より詳細な情報については、https://db.debian.org/doc-general.html で参照できるオンラインドキュメントを読んでください。
開発者は公式 Debian マシンへの認証に使われる SSH 鍵を登録することもできますし、新たな *.debian.net の DNS エントリの追加すら可能です。これらの機能は https://db.debian.org/doc-mail.html に記述されています。
Debian ディストリビューションは大量のパッケージ (現在約 15000 個) と幾つかの追加ファイル (ドキュメントやインストール用ディスクイメージなど) から成り立っています。
以下が完全な Debian アーカイブのディレクトリツリーの例です:
dists/stable/main/ dists/stable/main/binary-amd64/ dists/stable/main/binary-armel/ dists/stable/main/binary-i386/ ... dists/stable/main/source/ ... dists/stable/main/disks-amd64/ dists/stable/main/disks-armel/ dists/stable/main/disks-i386/ ... dists/stable/contrib/ dists/stable/contrib/binary-amd64/ dists/stable/contrib/binary-armel/ dists/stable/contrib/binary-i386/ ... dists/stable/contrib/source/ dists/stable/non-free/ dists/stable/non-free/binary-amd64/ dists/stable/non-free/binary-armel/ dists/stable/non-free/binary-i386/ ... dists/stable/non-free/source/ dists/testing/ dists/testing/main/ ... dists/testing/contrib/ ... dists/testing/non-free/ ... dists/unstable dists/unstable/main/ ... dists/unstable/contrib/ ... dists/unstable/non-free/ ... pool/ pool/main/a/ pool/main/a/apt/ ... pool/main/b/ pool/main/b/bash/ ... pool/main/liba/ pool/main/liba/libalias-perl/ ... pool/main/m/ pool/main/m/mailx/ ... pool/non-free/f/ pool/non-free/f/firmware-nonfree/ ...
見て分かるように、一番上のディレクトリは dists/
と
pool/
という 2 つのディレクトリを含んでいます。後者の “pool”
はパッケージが実際に置かれており、アーカイブのメンテナンスデータベースと関連するプログラムによって利用されます。前者にはstable
、testing
、そして
unstable
というディストリビューションが含まれます。ディストリビューションサブディレクトリ中の
Packages
および Sources
ファイルは
pool/
ディレクトリ中のファイルを参照しています。以下の各ディストリビューションのディレクトリツリーは全く同じ形式になっています。以下で
stable
について述べていることは unstable
や
testing
ディストリビューションにも同様に当てはまります。
dists/stable
は、main
、contrib
、non-free
という名前の 3 つのディレクトリを含んでいます。
それぞれ、source パッケージ (source
) のディレクトリとサポートしている各アーキテクチャ
(binary-i386
、binary-amd64
など)
のディレクトリがあります。
main
は特定のアーキテクチャ
(disks-i386
、disks-amd64
など)上で
Debian
ディストリビューションをインストールする際に必要となるディスクイメージと主要なドキュメントの基本部分が入っている追加ディレクトリを含んでいます。
Debian アーカイブの main
セクションは公式な
Debian ディストリビューションを構成するものです。main
セクションが公式なのは、我々のガイドライン全てに合致するものであるからです。他の 2
つのセクションはそうではなく、合致は異なる程度となっています…つまり、Debian の公式な一部ではありません。
main セクションにある全てのパッケージは、Debian フリーソフトウェアガイドライン (DFSG) 及び Debian ポリシーマニュアルに記載されている他のポリシーの要求事項に完全に適合していなければなりません。DFSG は我々の定義する「フリーソフトウェア」です。詳細は Debian ポリシーマニュアルを確認してください。
contrib
セクションにあるパッケージは DFSG
に適合している必要がありますが、他の要求事項を満たせてはいないことでしょう。例えば、non-free パッケージに依存している、などです。
DFSG を満たさないパッケージは non-free
セクションに配置されます。これらのパッケージは Debian
ディストリビューションの一部としては考えられてはいませんが、我々はこれらを利用できるようにしており、non-free ソフトウェアのパッケージについて
(バグ追跡システムやメーリングリストなどの) インフラストラクチャを提供しています。
Debian ポリシーマニュアル は 3 つのセクションについてより正確な定義を含んでいます。上記の説明はほんの触りに過ぎません。
アーカイブの最上位階層で 3 つのセクションに別れていることは、インターネット上の FTP サーバ経由であれ、CD-ROM であれ、Debian
を配布したいと考える人にとって大事なことです…その様な人は main
セクションと
contrib
セクションのみを配布することで、法的なリスクを回避できます。例えば、non-free
セクションにあるパッケージのいくつかは商的な配布を許可していません。
その一方で、CD-ROMベンダは non-free
内のパッケージ群の個々のパッケージライセンスを簡単に確認でき、問題が無ければその多くを CD-ROM
に含めることが出来ます。(これはベンダによって大いに異なるので、この作業は Debian 開発者にはできません)。
セクションという用語は、利用可能なパッケージの構成や参照を簡単にしているカテゴリを指すことにも使われている点に注意ください。例えば、admin
、net
、utils
などです。昔々、これらのセクション (むしろサブセクション) はDebian
アーカイブ内のサブディレクトリとして存在していました。最近では、これらはパッケージのセクションヘッダにのみ存在しています。
はじめのうちは、Linux カーネルは Intel i386 (またはそれより新しい) プラットフォーム用のみが利用可能で、Debian
も同様でした。しかし、Linux は日に日に広まり、カーネルも他のアーキテクチャへと移植され、そして Debian
はそれらのサポートを始めました。そして、沢山のハードウェアをサポートするだけでは飽き足らず、Debian は
hurd
や kfreebsd
のような他の Unix
カーネルをベースにした移植版を作成することを決めました。
Debian GNU/Linux 1.3 では i386
のみが利用可能でした。Debian 2.0
では、i386
と m68k
アーキテクチャがリリースされました。Debian 2.1
では、i386
、m68k
、alpha
、そして
sparc
アーキテクチャがリリースされました。そして、Debian は巨大に成長しました。Debian 6
は、合計 9 個の Linux アーキテクチャ (amd64
, armel
,
i386
, ia64
, mips
,
mipsel
, powerpc
,
s390
, sparc
、そして 2 つの kFreeBSD アーキテクチャ
(kfreebsd-i386
および kfreebsd-amd64
)
をサポートしています。
特定の移植版についての開発者/ユーザへの情報は Debian 移植版のウェブページで入手可能です。
Debian
パッケージには2種類あります。ソース
パッケージとバイナリ
パッケージです。
フォーマットに応じて、ソースパッケージは必須の .dsc
ファイルに加え、一つあるいはそれ以上のファイルから成り立ちます:
フォーマット ”1.0”では、.tar.gz
ファイルか、.orig.tar.gz
ファイルと .diff.gz
ファイルの二つを持っています。
フォーマット“3.0 (quilt)”では、必須となる開発元の tarball である
.orig.tar.{gz,bz2,xz}
、それからオプションで、開発元の追加 tarball である
.orig-
をいくつか、そして必須の debian tarball、component
.tar.{gz,bz2,xz}debian.tar.{gz,bz2,xz}
です。
フォーマット“3.0 (native)”では、単一の .tar.{gz,bz2,xz}
tarball
のみを持っています。
パッケージが特に Debian 用に作られていて Debian 以外で利用されていない場合は、プログラムのソースを含んだ単純な 1 つの
.tar.{gz,bz2,xz}
ファイルがあるだけで、“native”ソースパッケージと呼ばれます。パッケージが他でも配布されている場合は、.orig.tar.{gz,bz2,xz}
は upstream ソースコード
と呼ばれるものを保持しています (訳注: upstream =
開発元)。upstream ソースコード
は upstream メンテナ
(大抵の場合はソフトウェアの作者) によって配布されているソースコードです。この場合、.diff.gz
やdebian.tar.{gz,bz2,xz}
は、Debian
パッケージメンテナによって加えられた変更を含んでいます。
.dsc
ファイルはソースパッケージ中のすべてのファイルをチェックサム
(md5sums, sha1sums および
sha256sums) と共にリストしたものと、パッケージ関連の追加情報 (メンテナ、バージョン、etc)
を含んでいます。
前章で説明したディレクトリシステムは、それ自体がディストリビューションディレクトリ
内に含まれています。それぞれのディストリビューションは、実際には
Debian アーカイブ自体の最上位階層の pool
ディレクトリに含まれています。
簡単にまとめると、Debian アーカイブは FTP サーバのルートディレクトリを持っています。例えば、ミラーサイトでいうと
ftp.us.debian.org
では Debian アーカイブそのものは /debian
に含まれており、これは共通した配置となっています (他には /pub/debian
があります)。
ディストリビューションは Debian ソースパッケージとバイナリパッケージと、これに対応した Sources
と Packages
のインデックスファイル (これら全てのパッケージのヘッダ情報を含む)
から構成されています。前者は pool/
ディレクトリに、そして後者はアーカイブの
dists/
ディレクトリに含まれています (後方互換性のため)。
常に 安定版 (stable)
(dists/stable
に属します)、テスト晩 (testing)
(dists/testing
に属します)、不安定版 (unstable)
(dists/unstable
に属します) と呼ばれるディストリビューションが存在しています。これは
Debian プロジェクトでの開発プロセスを反映しています。
活発な開発が不安定版 (unstable)
ディストリビューションで行われています
(これが、何故このディストリビューションが開発ディストリビューション
と呼ばれることがあるかという理由です)。全ての
Debian
開発者は、このディストリビューション内の自分のパッケージを何時でも更新できます。つまり、このディストリビューションの内容は日々変化しているのです。このディストリビューションの全てが正しく動作するかを保証することについては特別な努力は払われていないので、時には文字通り不安定
(unstable) となります。
テスト版 (testing)
ディストリビューションは、パッケージが特定の判定規準を満たした際に不安定版
から自動的に移動されることで生成されています。この判定規準はテスト版
に含まれるパッケージとして十分な品質であることを保証する必要があります。テスト版
への更新は、新しいパッケージがインストールされた後、毎日
2 回実施されています。「テスト版ディストリビューション」 を参照してください。
一定の開発期間後、リリースマネージャが適当であると決定すると、テスト版 (testing)
ディストリビューションはフリーズされます。これは、不安定版 (unstable)
からテスト版
(testing)
へのパッケージ移動をどのように行うかのポリシーがきつくなることを意味しています。バグが多すぎるパッケージは削除されます。バグ修正以外の変更がテスト版
(testing)
に入ることは許可されません。いくらかの時間経過後、進行状況に応じてテスト版
(testing)
ディストリビューションはより一層フリーズされます。テスト版ディストリビューションの取扱い詳細については
debian-devel-announce
にてリリースチームが発表します。リリースチームが満足する程度に残っていた問題が修正された後、ディストリビューションがリリースされます。リリースは、テスト版
(testing)
が安定版 (stable)
へとリネームされる事を意味しており、テスト版 (testing)
用の新しいコピーが作成され、以前の安定版 (stable)
は旧安定版
(oldstable)
にリネームされ、最終的にアーカイブされるまで存在しています。アーカイブ作業では、コンテンツは
archive.debian.org
へと移動されます。
この開発サイクルは、不安定版 (unstable)
ディストリビューションが、一定期間テスト版
(testing)
を過ごした後で安定版
(stable)
になる仮定に基づいています。一旦ディストリビューションが安定したと考えられたとしても、必然的にいくつかのバグは残っています
—
これが安定版ディストリビューションが時折更新されている理由です。しかし、これらの更新はとても注意深くテストされており、新たなバグを招き入れるリスクを避けるためにそれぞれ個々にアーカイブに収録されるようになっています。安定版
(stable)
への追加提案は、proposed-updates
ディレクトリにて参照可能です。proposed-updates
にある合格したこれらのパッケージは、定期的にまとめて安定版ディストリビューションに移動され、安定版ディストリビューションのリビジョンレベルが 1
つ増えることになります (例: ‘6.0’ が ‘6.0.1’ に、‘5.0’ が ‘5.0.8’ に、以下同様)。詳細に付いては、安定版 (stable)
ディストリビューションへのアップロードを参照してください。
不安定版
(unstable)
での開発はフリーズ期間中も続けられていることに注意してください。不安定版
(unstable)
ディストリビューションはテスト版 (testing)
とは平行した状態でありつづけているからです。
パッケージは通常、不安定版 (unstable)
におけるテスト版への移行基準を満たした後でテスト版 (testing)
ディストリビューションへとインストールされます。
より詳細については、テスト版ディストリビューションについての情報を参照してください。
試験版 (experimental)
は特殊なディストリビューションです。これは、`安定版' や `不安定版'
と同じ意味での完全なディストリビューションではありません。その代わり、ソフトウェアがシステムを破壊する可能性がある、あるいは不安定版
ディストリビューションに導入することですら不安定過ぎる
(だが、それにもかかわらず、パッケージにする理由はある)
ものであるような、とても実験的な要素を含むソフトウェアの一時的な置き場であることを意味しています。試験版
(experimental)
からパッケージをダウンロードしてインストールするユーザは、十分に注意を受けているのを期待されています。要するに、試験版
(experimental)
ディストリビューションを利用すると、どのようになるかは全くわからないということです。
以下が、試験版 (experimental)
用の sources.list(5)です:
deb http://ftp.xy
.debian.org/debian/ experimental main deb-src http://ftp.xy
.debian.org/debian/ experimental main
ソフトウェアがシステムに多大なダメージを与える可能性がある場合、試験版 (experimental)
へ配置する方が良いでしょう。例えば、実験的な圧縮ファイルシステムは恐らく試験版 (experimental)
に行くことになるでしょう。
パッケージの新しい上流バージョンが新しい機能を導入するが多くの古い機能を壊してしまう場合であれば、アップロードしないでおくか試験版
(experimental)
へアップロードするかしましょう。新しいバージョン、ベータ版などで、利用する設定が完全に変わっているソフトウェアは、メンテナの配慮に従って試験版
(experimental)
へ入れることができます。もしも非互換性や複雑なアップグレード対応について作業している場合などは、試験版
(experimental)
をステージングエリアとして利用することができるのです。その結果、テストユーザは早期に新しいバージョンの利用が可能になります。
試験版 (experimental) のソフトウェアは不安定版 (unstable)
へ説明文に幾つかの警告を加えた上で入れることも可能ではありますが、お勧めはできません。それは、不安定版
(unstable)
のパッケージはテスト版 (testing)
へ移行し、そして安定版 (stable)
になることが期待されているからです。試験版
(experimental)
を使うのをためらうべきではありません。何故なら ftpmaster には何の苦痛も与えませんし、試験版
(experimental) のパッケージは一旦不安定版 (unstable)
により大きなバージョン番号でアップロードされると定期的に削除されるからです。
システムにダメージを与えないような新しいソフトウェアは直接不安定版 (unstable)
へ入れることが可能です。
試験版 (experimental)
の代わりとなる方法は、people.debian.org
上の個人的な web ページを使うことです。
リリースされた Debian ディストリビューションは全てコードネーム
を持っています: Debian
6.0 は squeeze
、Debian
7 は wheezy
、Debian
8 は jessie
、次期リリースの Debian
9 は stretch
、そして Debian
10 はbuster
と呼ばれます。sid
と呼ばれる「擬似ディストリビューション」もあり、これは現在の
unstable
ディストリビューションを指します。パッケージは安定に近づくと
unstable
から testing
へと移動されるので、sid
そのものは決してリリースされません。通常の Debian
ディストリビューションの内容同様に、sid
は Debian
ではまだ公式にサポートあるいはリリースされていないアーキテクチャのパッケージを含んでいます。これらのアーキテクチャは、いつか主流ディストリビューションに統合される予定です。過去のコードネームとバージョンはウェブサイトに掲載されています。
Debian はオープンな開発体制 (つまり、誰もが開発について参加/追いかけが可能) となっており、不安定版
(unstable)
および テスト版 (testing)
ディストリビューションすら
Debian の FTP および HTTP
サーバネットワークを通じてインターネットへ提供されています。従って、リリース候補版を含むディレクトリをテスト版
(testing)
と呼んだ場合、このバージョンがリリースされる際に安定版 (stable)
へとリネームする必要があるということを意味しており、すべての FTP ミラーがディストリビューションすべて (とても巨大です)
を再回収することになります。
一方、最初からディストリビューションディレクトリを Debian-x.y
と呼んでいた場合、皆 Debian
リリース x.y
が利用可能になっていると考えるでしょう。(これは過去にあったことで、CD-ROM ベンダが
Debian 1.0 の CD-ROM を pre-1.0 開発版を元に作成したことによります。これが。何故最初の公式 Debian のリリース版が
1.0 ではなく 1.1 であったかという理由です)。
従って、アーカイブ内のディストリビューションディレクトリの名前はリリースの状態ではなくコードネームで決定されます (例えば
`jessie'
など)。これらの名称は開発期間中とリリース後も同じものであり続けます。そして、簡単に変更可能なシンボリックリンクによって、現在の安定版リリースディストリビューションを示すことになります。これが、stable
、testing
、unstable
へのシンボリックリンクがそれぞれ相応しいリリースディレクトリを指しているのに対して、実際のディストリビューションディレクトリではコードネーム
を使っている理由です。
各種ダウンロードアーカイブサイトおよびウェブサイトは、中央サーバを巨大なトラフィックから守るために複数ミラーが利用可能となっています。実際のところ、中央サーバのいくつかは公開アクセスが出来るようにはなっていません - 代わりに一次ミラーが負荷を捌いています。このようにして、ユーザは常にミラーにアクセスして利用可能になっており、Debian を多くのサーバやネットワーク越しに配布するのに必要な帯域が楽になり、ユーザが一次配布元に集中しすぎてサイトがダウンしてしまうのをおおよそ避けられるようになります。一次配布ミラーは内部サイトからのトリガーによって更新されるので、可能な限り最新になっている (我々はこれをプッシュミラーと呼んでいます)。
利用可能な公開 FTP/HTTP サーバのリストを含む、Debian ミラーサーバについての全ての情報が https://www.debian.org/mirror/ から入手可能です。この役立つページには、内部的なものであれ公開されるものであれ、自分のミラーを設定することに興味を持った場合に役立つ情報とツールも含まれています。
注意してほしいのは、ミラーは大抵 Debian の支援に興味を抱いてくれた第三者によって運用されていることです。そのため、開発者は通常これらのマシン上にはアカウントを持ってはいません。
Incoming システムは、更新されたパッケージを集めて Debian アーカイブにインストールする役割を果たしています。これは
ftp-master.debian.org
上にインストールされたディレクトリとスクリプトの集合体です。
全てのメンテナによってアップロードされたパッケージは UploadQueue
というディレクトリに置かれます。このディレクトリは、毎分 queued
と呼ばれるデーモンによってスキャンされ、*.command
ファイルが実行されて、そのまま正しく署名された
*.changes
ファイルが対応するファイルと共に
unchecked
ディレクトリに移動されます。このディレクトリは ftp-master
の様に制限されており、ほとんどの開発者には見えるようにはなっていません。ディレクトリはアップロードされたパッケージと暗号署名の完全性を照合する
dak process-upload
スクリプトによって15分毎にスキャンされます。パッケージがインストール可能であると判断されると、done
ディレクトリに移動されます。これがパッケージの初アップロードの場合 (あるいは新たなバイナリパッケージを含んでいる場合)、ftpmaster
による許可を待つ場所である new
ディレクトリに移動されます。パッケージが ftpmaster
によって手動でインストールされるファイルを含む場合は byhand
ディレクトリ
に移動します。それ以外の場合は、エラーが検出されるとパッケージは拒否されて reject
ディレクトリへと移動されます。
パッケージが受け入れられると、システムは確認のメールをメンテナに送り、アップロードの際に修正済みとされたバグをクローズし、auto-builder
がパッケージのリコンパイルを始めます。Debian アーカイブに実際にインストールされるまで、パッケージはすぐに http://incoming.debian.org/ にてアクセス可能になります。この作業は 1 日に 4 回行われます (様々な経緯から
`dinstall run' とも呼ばれています)。そしてパッケージは incoming から削除され、他のパッケージ全てと共に pool
にインストールされます。他のすべての更新 (例えば Packages
インデックスファイルや
Sources
インデックスファイル)
が作成されると、一次ミラー全てを更新する特別なスクリプトが呼び出されます。
アーカイブメンテナンスのソフトウェアは、あなたがアップロードした OpenPGP/GnuPG で署名された
.changes
ファイルも適切なメーリングリストへと送信します。パッケージの
Distribution
がstable
に設定されてリリースされた場合、案内は <debian-changes@lists.debian.org>
に送られます。パッケージの
Distribution
として unstable
や
experimental
が設定されている場合、案内は代わりに
<debian-devel-changes@lists.debian.org>
や <debian-experimental-changes@lists.debian.org>
へと投稿されます。
ftp-master は利用が制限されているサーバなので、インストールされたもののコピーは
mirror.ftp-master.debian.org
上で全ての開発者が利用できるようになっています。
パッケージはそれぞれ複数の目的別のウェブページを持っています。https://packages.debian.org/
は各ディストリビューション中でそれぞれ利用可能なパッケージバージョンを表示します。バージョン毎のリンク先のページはパッケージの説明、依存関係、ダウンロードへのリンクを含んだ情報を提供しています。
package-name
バグ追跡システムは個々のパッケージのバグを記録していきます。https://bugs.debian.org/
というような URL で与えたパッケージ名のバグを閲覧できます。
package-name
dak ls は dak
ツールスイートの一部で、全ディストリビューションおよびアーキテクチャの中から利用可能なパッケージバージョンをリストアップします。dak
ツールは ftp-master.debian.org
上と、mirror.ftp-master.debian.org
上のミラーにて利用できます。パッケージ名に対して一つの引数を使います。実際に例を挙げた方が分かりやすいでしょう:
$ dak ls evince evince | 0.1.5-2sarge1 | oldstable | source, alpha, arm, hppa, i386, ia64, m68k, mips, mipsel, powerpc, s390, sparc evince | 0.4.0-5 | etch-m68k | source, m68k evince | 0.4.0-5 | stable | source, alpha, amd64, arm, hppa, i386, ia64, mips, mipsel, powerpc, s390, sparc evince | 2.20.2-1 | testing | source evince | 2.20.2-1+b1 | testing | alpha, amd64, arm, armel, hppa, i386, ia64, mips, mipsel, powerpc, s390, sparc evince | 2.22.2-1 | unstable | source, alpha, amd64, arm, armel, hppa, i386, ia64, m68k, mips, mipsel, powerpc, s390, sparc
この例では、不安定版 (unstable)
でのバージョンは テスト版
(testing)
のバージョンと違っており、テスト版のパッケージは全アーキテクチャについて、binary-only NMU
されたパッケージになっています。それぞれのバージョンのパッケージは、全アーキテクチャ上で再コンパイルされています。
パッケージトラッカーは、ソースパッケージの動きを追いかけるメールおよびウェブベースのツールです。Debian パッケージトラッカーでパッケージに対して購読 (subscribe) を行うだけで、パッケージメンテナが受け取るメールとまったく同じものを受け取れます。
パッケージトラッカーから送られるメールは、以下のキーワードリストのうち一つに分類されます。これによって、受け取りたいメールを選別できます。
デフォルトで受け取るもの:
bts
バグ報告とそれに続くディスカッション全て。
bts-control
バグ報告の状態変更について、<control@bugs.debian.org>
からのメール通知。
upload-source
アップロードされたソースパッケージが受理された際の dak からのメール通知。
archive
dak からの他の警告/エラーメール (セクション (section) や優先度 (priority) フィールドの相違の上書きなど)。パッケージの削除通知も含みます。
build
ビルド失敗の通知はビルドデーモンのネットワークによって送信されます。この通知には分析のためのビルドログへのポインタが含まれています。
default
自動ではない、パッケージの購読者にコンタクトしたい人によってパッケージトラッカーに送られるメール。これは、dispatch+
にメールすることで可能になります。spam メールを防ぐため、このアドレスに送られるメッセージは全て空の値の
sourcepackage
@tracker.debian.orgX-Distro-Tracker-Approved
ヘッダを含む必要があります。
contact
*@packages.debian.org のメールエイリアスを通じてメンテナに送信されたメール。
summary
testing
への移行を含む、パッケージの状態についての定期的なメールでのサマリ。理想的には、開発元の新しいバージョンの通知やパッケージが削除あるいは放棄
(orphaned) された情報などを含みます (…が、まだそうなってはいません)。
受け取るかどうかを決められる追加情報:
upload-binary
バイナリパッケージが受け入れられた際に dak から送られる通知メールです。言い換えると、あなたのパッケージがビルドデーモンや他のアーキテクチャについて移植者によってアップロードされた場合は、どの様に全アーキテクチャに対してリコンパイルされているかを追跡するためのメールを受け取れるということです。
vcs
パッケージが VCS リポジトリを持っていて、メンテナがコミット通知をパッケージトラッカーに転送するように設定している場合の VCS コミット通知です。
translation
Debian Description 翻訳プロジェクトに投稿された descriptions の翻訳や debconf テンプレート。
derivatives
派生ディストリビューションでのパッケージに加えられた変更の情報 (例 Ubuntu)。
derivatives-bugs
派生ディストリビューションでのバグレポートやコメント (例 Ubuntu)。
パッケージトラッカーの購読管理は <control@tracker.debian.org>
へ様々なコマンドを送信することで可能です。
subscribe <sourcepackage> [<email>]
email
を対応するソースパッケージ
sourcepackage
への連絡先として登録します。二番目の引数が存在しない場合には送信者アドレスが使われます。sourcepackage
が正しくないソースパッケージである場合は、警告メールが送付されます。正しいバイナリパッケージである場合には、パッケージトラッカーは対応するソースパッケージの購読者として登録します。
unsubscribe <sourcepackage> [<email>]
指定されたメールアドレス、あるいは二番目の引数が空の場合は送信者のアドレスを利用して、ソースパッケージ
sourcepackage
に対するそれまでの購読を取り消します。
unsubscribeall [<email>]
指定されたメールアドレス、あるいは二つ目の引数が空白の場合は送信者アドレスのすべての購読を停止します。
which [<email>]
送信者あるいは追加で指定したメールアドレスに対する全購読リストを確認する。
keyword [<email>]
キーワードは利用したいものを入れてください。キーワードの説明は、上記を確認してください。
keyword <sourcepackage> [<email>]
前の項目同様ですが、指定したソースパッケージについて、それぞれのソースパッケージに異なったキーワードをしたい場合に利用します。
keyword [<email>] {+|-|=} <list of keywords>
指定したキーワードで、メールが許可 (+) あるいは拒否 (-) に分類されます。許可するキーワードのリストを定義 (=) してください。これはユーザが許可したデフォルトのキーワードリストを変更します。
keywordall [<email>] {+|-|=} <list of
keywords>
指定したキーワードで、メールが許可 (+) あるいは拒否 (-) に分類されます。許可するキーワードのリストを定義 (=) してください。これは現在購読しているユーザによって許可されているデフォルトのキーワードリストを変更します。
keyword <sourcepackage> [<email>] {+|-|=} <list of
keywords>
上の項目と同じですが、指定したソースパッケージのキーワードリストを上書きします。
quit | thanks | --
コマンド処理を終了します。これ以下の全ての行は bot からは無視されます。
pts-subscribe コマンドラインユーティリティ (devscripts
パッケージに含まれています) は、例えば non-maintainer
アップロードが行われた後など、手動でパッケージの一時的な購読が行えます。
パッケージの購読を行うと、パッケージトラッカーから転送されるメールを受けとるようになります。このメールは (例えば
procmail を使って)
別のメールボックスへとフィルタできるように特別なヘッダがされています。追加されるヘッダは X-Loop
,
X-Distro-Tracker-Package
,
X-Distro-Tracker-Keyword
,
X-Debian-Package
, X-Debian
,
List-Id
and List-Unsubscribe
です。
以下は dpkg
パッケージに対するソースアップロードについて付加されるヘッダの例です:
X-Loop: dispatch@tracker.debian.org X-Distro-Tracker-Package: dpkg X-Distro-Tracker-Keyword: upload-source X-Debian-Package: dpkg X-Debian: tracker.debian.org List-Id: <dpkg.tracker.debian.org> List-Unsubscribe: <mailto:control@tracker.debian.org?body=unsubscribe%20dpkg>
Debian パッケージのメンテナンスに公開 VCS リポジトリを使っている場合、パッケージトラッカーにコミット通知を転送することで、購読者 (や共同メンテナら) がパッケージの変更をすぐに知ることができます。
コミット通知を生成するように VCS リポジトリを設定したら、dispatch@tracker.debian.org
または
dispatch+
宛でこのメールのコピーがパッケージトラッカーへ送付されているのを確認する必要があります。前者の場合、パッケージトラッカーがソースパッケージと適切なキーワードを認識できるようになっていることを確認する必要があります。この場合、sourcepackage
_vcs@tracker.debian.orgX-Distro-Tracker-Package:
と、sourcepackage
X-Distro-Tracker-Keyword: vcs
というヘッダを追加するか、パッケージトラッカーが
X-Git-Repo
ヘッダーを認識して、git
リポジトリの名前はソースパッケージに一致すると仮定する事実に基づくことになります。
Subversion のリポジトリは、svnmailer の利用が推奨されています。どの様に行うかは https://wiki.debian.org/Alioth/PackagingProject を参照してください。
PTS は各ソースパッケージについての大量の情報をまとめたウェブインターフェイスを https://tracker.debian.org/ に持っています。その機能はたくさんの有用なリンク (BTS、QA の状態、連絡先情報、DDTS の翻訳状態、buildd のログ) や様々な所からの情報 (最近の changelog エントリ30個、testing の状態など…)を集めたものです。特定のソースパッケージについて知りたい場合に非常に有用なツールです。さらに、一旦認証すれば、どのパッケージについてもクリックひとつで購読とキャンセルができます。
特定のソースパッケージに関しては
https://tracker.debian.org/pkg/
のような URL で直接ウェブページに飛べます。
sourcepackage
ウェブインターフェイスは容易に拡張可能で、有用なデータを統合するのは大歓迎です。貢献したい場合は、https://tracker.debian.org/docs/contributing.html を参照して下さい。
QA (quality assurance、品質保証) ウェブポータルが https://qa.debian.org/developer.php から利用できます。これは、一人の開発者のすべてのパッケージの一覧表を表示します (集団で行っている場合は、共同メンテナとしてとして表示されます) 。この表は開発者のパッケージについてうまく要約された情報を与えてくれます: 重要度に応じたバグの数やそれぞれのディストリビューションで利用可能なバージョン番号、testing の状態やその他有用な情報源へのリンクなどを含んでいます。
open な状態のバグやどのパッケージに対して責任を持っているのかを忘れないため、定期的に自身のデータを見直すのは良い考えです。
Alioth は FusionForge (SourceForge と GForge から派生したソフトウェア) に多少変更を加えたものを基にした Debian のサービスです。このソフトは開発者が容易に使えるバグトラッキングシステム、パッチ管理、プロジェクト/タスク管理、ファイルのアップロード、メーリングリスト、VCS リポジトリなどのツールを提供します。これらの機能全てはウェブインターフェイスから管理します。
Debian がバックアップする、あるいは Debian が中心となっているフリーソフトウェアプロジェクトに対して支援を提供、外部の開発者からの支援協力を Debian によって始められたプロジェクトを与えたり、Debian やその派生ディストリビューションのプロモーションが目的であるプロジェクトを支援する機能を提供するためにあります。多くの Debian チームに非常によく利用されており、あらゆる種類の VCS リポジトリを提供しています。
全ての Debian 開発者は自動的に Alioth のアカウントを持ちます。Debian 開発者は、パスワード復旧機能を使ってアカウントを有効にすることができます。他の開発者は Alioth 上でゲストアカウントを発行してもらえます。
詳細な情報については、以下のリンクを参照下さい:
Debian 開発者および Debian メンテナが利用可能な特典は https://wiki.debian.org/MemberBenefits に記載されています。