4. Resources for Debian Members
In this chapter you will find a very brief roadmap of the Debian mailing lists, the Debian machines which may be available to you as a member, and all the other resources that are available to help you in your work.
4.1. メーリングリスト
Debian 開発者 (それにユーザ) の間で交わされるやり取りの大半は lists.debian.org
で提供されている広範囲に渡るメーリングリスト群で行われています。どうやって購読/解除するのか、どうやって投稿するか(あるいはしないのか)、どこで過去の投稿を見つけるのか、どうやって過去の投稿の中から探すのか、どうやってメーリングリスト管理者と連絡をとるのか、その他メーリングリストに関する様々な情報については https://iwawocd.cewmufwd.tk/MailingLists/ を参照してください。
4.1.1. 利用の基本ルール
メーリングリストのメッセージに返信する際には、大本の投稿者が特別に要求しない限り、同報メール (CC
) を送らないようにしてください。メーリングリストに投稿する人は必ず返信を見ているはずです。
クロスポスト (同じメッセージを複数のメーリングリストに投稿する) のはお止め下さい。いつものネット上と同じ様に、返信文では引用を削って下さい。概して投稿するメッセージについては、通常の慣習をしっかりと守ってください。
詳細については行動規範を参照してください。Debian コミュニティガイドラインも読むと良いでしょう。
4.1.2. 開発の中心となっているメーリングリスト
開発者が利用すべき 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/ を参照してください。
4.1.3. 特別なメーリングリスト
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 に関するメールをまとめた「福袋」として使われています。
4.2. IRC チャンネル
いくつもの 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/
で取得可能です。
There are other additional channels dedicated to specific subjects.
#debian-bugs
is used for coordinating bug squashing parties.
#debian-boot
is used to coordinate the work on the debian-installer.
#debian-doc
is occasionally used to talk about documentation, like
the document you are reading. Other channels are dedicated to an
architecture or a set of packages: #debian-kde
, #debian-dpkg
,
#debian-perl
, #debian-python
...
同様に非英語圏の開発者のチャンネルも存在しています。例えば #debian-devel-fr
は Debian の開発に興味があるフランス語を使う人々のためのチャンネルです。
Channels dedicated to Debian also exist on other IRC networks.
4.3. ドキュメント化
This document contains a lot of information which is useful to Debian developers, but it cannot contain everything. Most of the other interesting documents are linked from The Developers' Corner. Take the time to browse all the links; you will learn many more things.
4.4. 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
にも居ます。
システム管理に関連しない、特定のサービスについて問題がある場合 (アーカイブからパッケージを削除する、ウェブサイトの改善提案など) は、大抵の場合「擬似パッケージ」に対してバグを報告することになります。どうやってバグ報告をするかについては バグ報告 を参照してください。
中心となっているサーバのうち幾つかは利用が制限されていますが、そこにある情報は他のサーバへミラーされています。
4.4.1. バグ報告サーバ
bugs.debian.org
がバグ報告システム (BTS) の中心となっています。
Debian のバグについて定量的な分析や処理をするような計画がある場合、ここで行ってください。ですが、不要な作業の重複や処理時間の浪費を減らすため、何であれ実装する前に debian-devel@lists.debian.org
であなたの計画を説明してください。
4.4.2. ftp-master サーバ
The ftp-master.debian.org
server holds the canonical copy of the
Debian archive. Generally, packages uploaded to ftp.upload.debian.org
end up on this server; see パッケージをアップロードする.
このサーバの利用は制限されています。ミラーが mirror.ftp-master.debian.org
上で利用可能です。
Debian FTP アーカイブについて問題がある場合、通常 ftp.debian.org
擬似パッケージに対するバグ報告を行うか、ftpmaster@debian.org
へメールをする必要がありますが、パッケージの移動、削除、リネーム、放棄、引き取り、再導入にある手順も参照してください。
4.4.3. www-master サーバ
メインの web サーバが www-master.debian.org
です。公式 web ページを持ち、新たな参加者に対する Debian の顔となっています。
If you find a problem with the Debian web server, you should generally
submit a bug against the pseudo-package iwawocd.cewmufwd.tk
. Remember to
check whether or not someone else has already reported the problem to
the Bug Tracking System.
4.4.4. people ウェブサーバ
people.debian.org
は、開発者個人の何か Debian に関連するウェブページのために使われているサーバです。
ウェブに置きたい何か Debian 特有の情報を持っている場合、people.debian.org
上のホームディレクトリの public_html
以下にデータを置くことでこれが可能となっています。これには https://people.debian.org/~
your-user-id/
という URL でアクセス可能です。
他のホストではバックアップされないのに対して、ここではバックアップされるので、これを使うのは特定の位置づけのものだけにするべきです。
大抵の場合、他のホストを使う唯一の理由はアメリカの輸出制限に抵触する素材を公開する必要がある時です。その様な場合はアメリカ国外に位置する他のサーバのどれかを使えます。
何か質問がある場合は、debian-devel@lists.debian.org
にメールして下さい。
4.4.5. salsa.debian.org: Git repositories and collaborative development platform
If you want to use a git repository for any of your Debian work, you can use Debian's GitLab instance called Salsa for that purpose. Gitlab provides also the possibility to have merge requests, wiki pages, bug trackers among many other services as well as a fine-grained tuning of access permission, to help working on projects collaboratively.
For more information, please see the documentation at https://wiki.debian.org/Salsa/Doc.
Any Debian package hosted on Salsa has also access to the Salsa CI . The Salsa CI pipeline mimics the tests that are run after each upload to Debian, but instead of having to wait for results or risk the health of the Debian repositories, Salsa CI provides you with instant feedback about any problems the changes you made may have created or solved.
4.4.6. GitHub.com: Submitting pull requests to upstream repositories
If some upstream repository is hosted on GitHub.com, you can use the Debian organization to create repository forks and submit changed branches with pull requests to upstream maintainers.
The organization is open to all Debian Members. To request membership, open an issue in the Debian/.github meta repository.
4.4.7. 複数のディストリビューション利用のために chroot を使う
幾つかのマシン上では、異なったディストリビューション用の chroot が利用可能です。以下の様にして使うことが出来ます:
vore$ dchroot unstable
Executing shell in chroot: /org/vore.debian.org/chroots/user/unstable
全ての chroot 環境内で、一般ユーザの home ディレクトリが利用可能になっています。どの chroot が利用可能かについては https://db.debian.org/machines.cgi にて確認ができます。
4.5. 開発者データベース
The Developers Database, at https://db.debian.org/, is an LDAP
directory for managing Debian developer attributes. You can use this
resource to search the list of Debian developers. Part of this
information is also available through the finger service on Debian
servers; try finger
yourlogin@db.debian.org
to see what it reports.
開発者らは、以下に挙げるような自身に関する様々な情報を変更するためにデータベースにログインができます。
forwarding address for your debian.org email as well as spam handling. See https://db.debian.org/forward.html for a description of all the options.
debian-private の購読
休暇中かどうか
住所、国名、Debian 開発者世界地図で使われている住んでいる地域の緯度経度、電話・ファックス番号、IRC でのニックネーム、そしてウェブページのアドレスなどの個人情報
Debian プロジェクトのマシン上でのパスワードと優先的に指定するシェル
当然ですが、ほとんどの情報は外部からはアクセス可能にはなっていません。より詳細な情報については、https://db.debian.org/doc-general.htmlで参照できるオンラインドキュメントを読んでください。
開発者は公式 Debian マシンへの認証に使われる SSH 鍵を登録することもできますし、新たな *.debian.net の DNS エントリの追加すら可能です。これらの機能は https://db.debian.org/doc-mail.html に記述されています。
4.6. Debian アーカイブ
Debian ディストリビューションは大量のパッケージ (現在約 30000
個) と幾つかの追加ファイル (ドキュメントやインストール用ディスクイメージなど) から成り立っています。
以下が完全な 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/stable/non-free-firmware/
dists/stable/non-free-firmware/binary-amd64/
dists/stable/non-free-firmware/binary-armel/
dists/stable/non-free-firmware/binary-i386/
...
dists/stable/non-free-firmware/source/
dists/testing/
dists/testing/main/
...
dists/testing/contrib/
...
dists/testing/non-free/
...
dists/testing/non-free-firmware/
...
dists/unstable
dists/unstable/main/
...
dists/unstable/contrib/
...
dists/unstable/non-free/
...
dists/unstable/non-free-firmware/
...
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/d/
pool/non-free/d/doc-rfc/
...
pool/non-free-firmware/f/
pool/non-free-firmware/f/firmware-nonfree/
...
見て分かるように、一番上のディレクトリは dists/
と pool/
という 2 つのディレクトリを含んでいます。後者の “pool” はパッケージが実際に置かれており、アーカイブのメンテナンスデータベースと関連するプログラムによって利用されます。前者にはstable
、testing
、そして unstable
というディストリビューションが含まれます。ディストリビューションサブディレクトリ中の Packages
および Sources
ファイルは pool/
ディレクトリ中のファイルを参照しています。以下の各ディストリビューションのディレクトリツリーは全く同じ形式になっています。以下で stable
について述べていることは unstable
や testing
ディストリビューションにも同様に当てはまります。
dists/stable
は、main
、contrib
、non-free
、non-free-firmware
という名前の 4 つのディレクトリを含んでいます。
それぞれ、source パッケージ (source
) のディレクトリとサポートしている各アーキテクチャ (binary-i386
、binary-amd64
など) のディレクトリがあります。
main
は特定のアーキテクチャ (disks-i386
、disks-amd64
など)上で Debian ディストリビューションをインストールする際に必要となるディスクイメージと主要なドキュメントの基本部分が入っている追加ディレクトリを含んでいます。
4.6.1. セクション
Debian アーカイブの main
セクションは公式な Debian ディストリビューションを構成するものです。main
セクションが公式なのは、我々のガイドライン全てに合致するものであるからです。他の 2 つのセクションはそうではなく、合致は異なる程度となっています…つまり、Debian の公式な一部ではありません。
main セクションにある全てのパッケージは、Debian フリーソフトウェアガイドライン (DFSG) 及び Debian ポリシーマニュアルに記載されている他のポリシーの要求事項に完全に適合していなければなりません。DFSG は我々の定義する「フリーソフトウェア」です。詳細は Debian ポリシーマニュアルを確認してください。
contrib
セクションにあるパッケージは DFSG に適合している必要がありますが、他の要求事項を満たせてはいないことでしょう。例えば、non-free パッケージに依存している、などです。
DFSG を満たさないパッケージは non-free
か non-free-firmware
セクションに配置されます。これらのパッケージは Debian ディストリビューションの一部としては考えられてはいませんが、我々はこれらを利用できるようにしており、non-free ソフトウェアのパッケージについて (バグ追跡システムやメーリングリストなどの) インフラストラクチャを提供しています。
Debian ポリシーマニュアル は 4 つのセクションについてより正確な定義を含んでいます。上記の説明はほんの触りに過ぎません。
アーカイブの最上位階層で 4 つのセクションに別れていることは、インターネット上の FTP サーバ経由であれ、CD-ROM であれ、Debian を配布したいと考える人にとって大事なことです…その様な人は main
セクションと contrib
セクションのみを配布することで、法的なリスクを回避できます。例えば、non-free
セクションにあるパッケージのいくつかは商的な配布を許可していません。
その一方で、CD-ROMベンダは non-free
内のパッケージ群の個々のパッケージライセンスを簡単に確認でき、問題が無ければその多くを CD-ROM に含めることが出来ます。(これはベンダによって大いに異なるので、この作業は Debian 開発者にはできません)。
Note that the term section is also used to refer to categories which
simplify the organization and browsing of available packages: admin
,
net
, utils
, etc. Once upon a time, these sections (subsections,
rather) existed in the form of subdirectories within the Debian archive.
Nowadays, these exist only in the Section header fields of packages.
4.6.2. アーキテクチャ
はじめのうちは、Linux カーネルは Intel i386 (またはそれより新しい) プラットフォーム用のみが利用可能で、Debian も同様でした。しかし、Linux は日に日に広まり、カーネルも他のアーキテクチャへと移植され、そして Debian はそれらのサポートを始めました。そして、沢山のハードウェアをサポートするだけでは飽き足らず、Debian は hurd
や kfreebsd
のような他の Unix カーネルをベースにした移植版を作成することを決めました。
Debian GNU/Linux 1.3 was only available as i386
. Debian 2.0 shipped
for i386
and m68k
architectures. Debian 2.1 shipped for the
i386
, m68k
, alpha
, and sparc
architectures. Since then
Debian has grown hugely. Debian 9 supports a total of ten Linux
architectures (amd64
, arm64
, armel
, armhf
, i386
,
mips
, mips64el
, mipsel
, ppc64el
, and s390x
) and two
kFreeBSD architectures (kfreebsd-i386
and kfreebsd-amd64
).
特定の移植版についての開発者/ユーザへの情報は Debian 移植版のウェブページで入手可能です。
4.6.3. パッケージ
Debian パッケージには2種類あります。ソース
パッケージとバイナリ
パッケージです。
フォーマットに応じて、ソースパッケージは必須の .dsc
ファイルに加え、一つあるいはそれ以上のファイルから成り立ちます:
フォーマット ”1.0”では、
.tar.gz
ファイルか、.orig.tar.gz
ファイルと.diff.gz
ファイルの二つを持っています。フォーマット“3.0 (quilt)”では、必須となる開発元の tarball である
.orig.tar.{gz,bz2,xz}
、それからオプションで、開発元の追加 tarball である.orig-
component.tar.{gz,bz2,xz}
をいくつか、そして必須の debian tarball、debian.tar.{gz,bz2,xz}
です。フォーマット“3.0 (native)”では、単一の
.tar.{gz,bz2,xz}
tarball のみを持っています。
If a package is developed specially for Debian and is not distributed
outside of Debian, there is just one .tar.{gz,bz2,xz}
file, which
contains the sources of the program; it's called a “native” source
package. If a package is distributed elsewhere too, the
.orig.tar.{gz,bz2,xz}
file stores the so-called
upstream source code
, that is the source code that's distributed by
the upstream maintainer
(often the author of the software). In this
case, the .diff.gz
or the debian.tar.{gz,bz2,xz}
contains the
changes made by the Debian maintainer.
.dsc
ファイルはソースパッケージ中のすべてのファイルをチェックサム (md5sums
, sha1sums
および sha256sums
) と共にリストしたものと、パッケージ関連の追加情報 (メンテナ、バージョン、etc) を含んでいます。
4.6.4. ディストリビューション
The directory system described in the previous chapter is itself
contained within distribution directories
. Each distribution is
actually contained in the pool
directory in the top level of the
Debian archive itself.
簡単にまとめると、Debian アーカイブは FTP サーバのルートディレクトリを持っています。例えば、ミラーサイトでいうと ftp.us.debian.org
では Debian アーカイブそのものは /debian に含まれており、これは共通した配置となっています (他には /pub/debian
があります)。
ディストリビューションは Debian ソースパッケージとバイナリパッケージと、これに対応した Sources
と Packages
のインデックスファイル (これら全てのパッケージのヘッダ情報を含む) から構成されています。前者は pool/
ディレクトリに、そして後者はアーカイブの dists/
ディレクトリに含まれています (後方互換性のため)。
4.6.4.1. 安定版 (stable)、テスト版 (testing)、不安定版 (unstable)
常に 安定版 (stable
) (dists/stable
に属します)、テスト版 (testing)
(dists/testing
に属します)、不安定版 (unstable
) (dists/unstable
に属します) と呼ばれるディストリビューションが存在しています。これは Debian プロジェクトでの開発プロセスを反映しています。
活発な開発が不安定版 (unstable
) ディストリビューションで行われています (これが、何故このディストリビューションが``開発ディストリビューション``と呼ばれることがあるかという理由です)。全ての Debian 開発者は、このディストリビューション内の自分のパッケージを何時でも更新できます。つまり、このディストリビューションの内容は日々変化しているのです。このディストリビューションの全てが正しく動作するかを保証することについては特別な努力は払われていないので、時には文字通り不安定 (unstable) となります。
テスト版ディストリビューション ディストリビューションは、パッケージが特定の判定規準を満たした際に不安定版
から自動的に移動されることで生成されています。この判定規準はテスト版
に含まれるパッケージとして十分な品質であることを保証する必要があります。テスト版
への更新は、新しいパッケージがインストールされた後、毎日 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) と 旧安定版 (oldstable) ディストリビューションへアップロードするを参照してください。
Note that development in unstable
during the freeze should not be
continued as usual, as packages are still build in unstable
, before they
migrate to testing
, thus unstable
should only contain packages
meant for testing
. Thus only upload to unstable
during freezes, if
you are planning to request an unblock (or if the package is not in
testing
).
If you want to develop new stuff for after the freeze, upload to
experimental
instead.
4.6.4.2. テスト版ディストリビューションについてのさらなる情報
パッケージは通常、不安定版 (unstable
) におけるテスト版への移行基準を満たした後でテスト版 (testing
) ディストリビューションへとインストールされます。
より詳細については、テスト版ディストリビューションを参照してください。
4.6.4.3. 試験版 (experimental)
試験版 (experimental)
は特殊なディストリビューションです。これは、'安定版' や '不安定版' と同じ意味での完全なディストリビューションではありません。その代わり、ソフトウェアがシステムを破壊する可能性がある、あるいは不安定版
ディストリビューションに導入することですら不安定過ぎる (だが、それにもかかわらず、パッケージにする理由はある) ものであるような、とても実験的な要素を含むソフトウェアの一時的な置き場であることを意味しています。試験版 (experimental)
からパッケージをダウンロードしてインストールするユーザは、十分に注意を受けているのを期待されています。要するに、試験版 (experimental)
ディストリビューションを利用すると、どのようになるかは全くわからないということです。
以下が、試験版 (experimental)
用の sources.list 5です:
deb http://deb.debian.org/debian/ experimental main
deb-src http://deb.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 ページを使うことです。
4.6.5. リリースのコードネーム
Every released Debian distribution has a code name
: Debian
10 is called buster
;
Debian 11, bullseye
; Debian
12, bookworm
; the next release,
Debian 13, will be called trixie
and Debian 14 will be called
forky
. There is also a pseudo-distribution,
called sid
, which is the current unstable
distribution; since
packages are moved from unstable
to testing
as they approach
stability, sid
itself is never released. As well as the usual
contents of a Debian distribution, sid
contains packages for
architectures which are not yet officially supported or released by
Debian. These architectures are planned to be integrated into the
mainstream distribution at some future date. The codenames and versions
for older releases are listed on
the website.
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 であったかという理由です)。
従って、アーカイブ内のディストリビューションディレクトリの名前はリリースの状態ではなくコードネームで決定されます (例えば 'bookworm
' など)。これらの名称は開発期間中とリリース後も同じものであり続けます。そして、簡単に変更可能なシンボリックリンクによって、現在の安定版リリースディストリビューションを示すことになります。これが、stable
、testing
、unstable
へのシンボリックリンクがそれぞれ相応しいリリースディレクトリを指しているのに対して、実際のディストリビューションディレクトリではコードネーム
を使っている理由です。
4.7. Debian ミラーサーバ
各種ダウンロードアーカイブサイトおよびウェブサイトは、中央サーバを巨大なトラフィックから守るために複数ミラーが利用可能となっています。実際のところ、中央サーバのいくつかは公開アクセスが出来るようにはなっていません - 代わりに一次ミラーが負荷を捌いています。このようにして、ユーザは常にミラーにアクセスして利用可能になっており、Debian を多くのサーバやネットワーク越しに配布するのに必要な帯域が楽になり、ユーザが一次配布元に集中しすぎてサイトがダウンしてしまうのをおおよそ避けられるようになります。一次配布ミラーは内部サイトからのトリガーによって更新されるので、可能な限り最新になっている (我々はこれをプッシュミラーと呼んでいます)。
利用可能な公開 FTP/HTTP サーバのリストを含む、Debian ミラーサーバについての全ての情報が https://iwawocd.cewmufwd.tk/mirror/から入手可能です。この役立つページには、内部的なものであれ公開されるものであれ、自分のミラーを設定することに興味を持った場合に役立つ情報とツールも含まれています。
Note that mirrors are generally run by third parties who are interested in helping Debian. As such, developers generally do not have accounts on these machines.
4.8. Incoming システム
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 アーカイブに実際にインストールされるまで、パッケージはすぐに https://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
上で全ての開発者が利用できるようになっています。
4.9. パッケージ情報
4.9.1. ウェブ上から
パッケージはそれぞれ複数の目的別のウェブページを持っています。https://packages.debian.org/
package-name は各ディストリビューション中でそれぞれ利用可能なパッケージバージョンを表示します。バージョン毎のリンク先のページはパッケージの説明、依存関係、ダウンロードへのリンクを含んだ情報を提供しています。
バグ追跡システムは個々のパッケージのバグを記録していきます。https://bugs.debian.org/
package-name というような URL で与えたパッケージ名のバグを閲覧できます。
4.9.2. dak ls
ユーティリティ
dak ls
は dak ツールスイートの一部で、全ディストリビューションおよびアーキテクチャの中から利用可能なパッケージバージョンをリストアップします。dak
ツールは ftp-master.debian.org
上と、mirror.ftp-master.debian.org
上のミラーにて利用できます。パッケージ名に対して一つの引数を使います。実際に例を挙げた方が分かりやすいでしょう:
$ dak ls evince
evince | 3.22.1-3+deb11u2 | oldstable | source, amd64, arm64, armel, armhf, i386, mips, mips64el, mipsel, ppc64el, s390x
evince | 3.22.1-3+deb11u2 | oldstable-debug | source
evince | 3.30.2-3+deb12u1 | stable | source, amd64, arm64, armel, armhf, i386, mips, mips64el, mipsel, ppc64el, s390x
evince | 3.30.2-3+deb12u1 | stable-debug | source
evince | 3.38.2-1 | testing | source, amd64, arm64, armel, armhf, i386, mips64el, mipsel, ppc64el, s390x
evince | 3.38.2-1 | unstable | source, amd64, arm64, armel, armhf, i386, mips64el, mipsel, ppc64el, s390x
evince | 3.38.2-1 | unstable-debug | source
evince | 40.4-1 | buildd-experimental | source, amd64, arm64, armel, armhf, i386, mips64el, mipsel, ppc64el, s390x
evince | 40.4-1 | experimental | source, amd64, arm64, armel, armhf, i386, mips64el, mipsel, ppc64el, s390x
evince | 40.4-1 | experimental-debug | source
この例では、不安定版 (unstable
) でのバージョンは テスト版 (testing)
のバージョンと違っており、テスト版のパッケージは全アーキテクチャについて、binary-only NMU されたパッケージになっています。それぞれのバージョンのパッケージは、全アーキテクチャ上で再コンパイルされています。
4.10. Debian パッケージトラッカー
パッケージトラッカーは、ソースパッケージの動きを追いかけるメールおよびウェブベースのツールです。Debian パッケージトラッカーでパッケージに対して購読 (subscribe) を行うだけで、パッケージメンテナが受け取るメールとまったく同じものを受け取れます。
PTS は各ソースパッケージについての大量の情報をまとめたウェブインターフェイスを https://tracker.debian.org/に持っています。その機能はたくさんの有用なリンク (BTS、QA の状態、連絡先情報、DDTS の翻訳状態、buildd のログ) や様々な所からの情報 (最近の changelog エントリ30個、testing の状態など…)を集めたものです。特定のソースパッケージについて知りたい場合に非常に有用なツールです。さらに、一旦認証すれば、どのパッケージについてもクリックひとつで購読とキャンセルができます。
特定のソースパッケージに関しては https://tracker.debian.org/pkg/
sourcepackage のような URL で直接ウェブページに飛べます。
For more in-depth information, you should have a look at its documentation. Among other things, it explains you how to interact with it by email, how to filter the mails that it forwards, how to configure your VCS commit notifications, how to leverage its features for maintainer teams, etc.
4.11. Developer's packages overview
QA (quality assurance、品質保証) ウェブポータルが https://qa.debian.org/developer.phpから利用できます。これは、一人の開発者のすべてのパッケージの一覧表を表示します (集団で行っている場合は、共同メンテナとしてとして表示されます) 。この表は開発者のパッケージについてうまく要約された情報を与えてくれます: 重要度に応じたバグの数やそれぞれのディストリビューションで利用可能なバージョン番号、testing の状態やその他有用な情報源へのリンクなどを含んでいます。
open な状態のバグやどのパッケージに対して責任を持っているのかを忘れないため、定期的に自身のデータを見直すのは良い考えです。
4.12. Debian での FusionForge の導入例: Alioth
Until Alioth was deprecated and eventually turned off in June 2018, it was a Debian service based on a slightly modified version of the FusionForge software (which evolved from SourceForge and GForge). This software offered developers access to easy-to-use tools such as bug trackers, patch managers, project/task managers, file hosting services, mailing lists, VCS repositories, etc.
For many previously offered services replacements exist. This is important to know, as there are still many references to alioth which still need fixing. If you encounter such references please take the time to try fixing them, for example by filing bugs or when possible fixing the reference.
4.13. Goodies for Debian Members
Benefits available to Debian Members are documented on https://wiki.debian.org/MemberBenefits.