[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-devel:13431] Packaging Pool FAQ



12月13日に debian-devel-announce で発表されたように
Debian のアーカイブの管理方法が従来のものから Packaging pool という
方式に変更されています。
 http://lists.debian.org/debian-devel-announce-0012/msg00004.html

いろいろ質問がでる前に Joey Hessによる Packaging Pool FAQを
ざっと訳してみました。

Debian Package Pools FAQ

Q: Now that Debian uses package pools, do I need to upgrade apt
   or modify sources.list before I can use package pools?
   Debian は package pool を使うようになりましたが、package pool を
   使うために apt をアップグレードしたり sources.list を修正したり
   する必要がありますか?

A: No, package pools are transparent to apt. You do not need to modify
   anything on your system, apt will begin pulling packages out of the pool
   directory automatically.
   いいえ、package poolは aptからみて変化があるように見えません。
   systemを何も変更する必要はありません。apt は poolディレクトリから
   自動的にパッケージをとってくるようになるでしょう。

Q: What is a package pool?
   package pool って何?

A: Package pools are a large change to the organization and management
   of the Debian archive. It involves a "pool" of packages, which can
   include many different versions of the a given package. These are kept
   track of and managed using a database and a new set of archive
   management tools. To create a version of Debian such as stable
   or unstable, packages are selected from the pool and a Packages file is
   created referencing those packages. This solves a number of nasty
   problems we have historically had with archive maintanence, and it makes
   it significantly easier to create special-purpose verisons of Debian
   such as "testing".
   package poolは Debianアーカイブの構成および管理手法をおおな変更です。
   パッケージの"pool"というのは、あるパッケージのいくつものバージョンを含む
   ことができるからです。それらはデータベースおよび新しいアーカイブ管理
   ツール一式を使って追跡管理されます。例えばstableやunstableといった
   あるバージョンのDebianを生成する時にはpoolからパッケージが選択され、
   それらのパッケージを参照するようなPackagesファイルが生成されます。
   これにより、我々がアーカイブの維持に関して昔からもっていたいくつもの
   問題を解決することができます。また、"testing"といった特別な目的のための
   Debianのバージョンを作るのをかなり簡単にすることができるようになります。

Q: How will pools change the layout of the Debian archive?
   poolによりDebianアーカイブの配置はどうかわるんですか?

A: Pools move packages out of the dists/unstable/main/binary-arch/section/
   tree and into a single pool/ directory that contains all the packages, no
   matter what version of debian or what architecture they are for (the 
   packages are actually in subdirectories using a two-level hash because
   of limitations of the ext2 partition format, and to make it all a little
   more maneagable -- so apache*.deb will be in pool/a/apache/).
   Poolはパッケージを dists/unstable/main/binary-arch/section/ から
   Debianのバージョンやアーキテクチャで分割することなくパッケージの全てを
   含む pool/ディレクトリに移動します。(パッケージは実際には、2段階の
   ハッシュを使ってサブディレクトリに分割されています。これは
   ext2パーティションフォーマットの限界のためと管理しやすくするためです。
   apache*.deb は pool/a/apache/ 以下におかれることになります。)

Q: You said apt will cope with this change. Will anything else break
   though?
   aptはこの変更にも対応するという話でしたが、それ以外のものも
   問題なく使い続けることができますか?

A: It is expected that some things will probably break. Some mirroring
   scripts will surely not cope properly with the pool and will have to be
   fixed (some pool-aware partial mirroring scripts have already been
   written). debian-cd will likewise probably need to be taught about pools
   before it can be used to create CD's of woody. Finally, if you're used
   to navigating the debian archive by hand, you will need to learn to look
   for packages in the new location.
   いくつかの問題がおこると思われます。ミラースクリプトによってはpool
   に対抗することができてないはずです。それらは直さないといけません。
   (poolに対応した一部をミラーするスクリプトは既に書かれています)
   woodyのCDを生成するのに使われる前にdebian-cdもおそらくpoolに対応する
   必要があるでしょう。最後に、もしDebianアーカイブを自分で見ているのなら
   新しい場所にあるパッケージを見ることを覚える必要があるでしょう。

Q: Where can I get a working partial mirror script?
   その一部をミラーするスクリプトはどこから入手できるんですか?

A: http://lists.debian.org/debian-devel-0011/msg01827.html contains one
   such script to mirror using rsync.
   http://lists.debian.org/debian-devel-0011/msg01827.html に
   rsyncをつかったそのようなミラーをするスクリプトの一例があります。

Q: What about dpkg -BORGiE? 
   dpkg -BORGiE はどうなります?

Q: I use <ancient pre-apt dselect access method> ...
   apt以前のdselectメソッドアクセスを使っていたんだけど…

A: dpkg -BORGiE will continue to work for stable only (because there will be
   links from the old stable tree into the pool as necessary). Other ancient
   pre-apt dselect access methods may break on poolized unstable as well. If
   you're still using this stuff, it's past time to take a look at apt.
   The dpkg-ftp access method should continue to work, and none of this stuff
   has had much testing -- you may luck out and find some of it continues to 
   work.
   dpkg -BORGiE は stable だけで使うことができるでしょう。
   (古いstableツリーからpoolへ必要に応じてリンクされるからです)
   他の apt以前のdselectアクセスメソッドは pool化されたunstableで使うことが
   できないかもしれません。もしまだそんなものを使ってるのなら、aptに注目する
   のは過去のことだといっておきましょう。dpkg-ftpアクセスメソッドはまだ
   使えるはずですが、ほとんどテストされてません。うまくいくかもしれませんが
   それらが動き続く方法をみつけないといけないでしょう。

Q: I don't see <package> in the pool directory yet.
   poolディレクトリに <package> がまだないようですが。

A: To prevent a massive hit on the Debian mirror network, we are not moving
   packages over to the pool all in one go. Instead, as each new or updated 
   package is installed from Incoming, it will be placed in the pool.
   Eventually we will begin moving other packages over to the pool in small
   groups each day, until eventually everything will be in the pool.
   Debianミラーネットワークの影響をおさえるために、パッケージのpoolへの移動を
   一気にはしませんでした。そのかわりに新規および更新されたパッケージが
   Incomingからインストールされる時に pool ディレクトリにおかれることに
   なります。そのうちに 全てのパッケージがpoolに移動するまで、毎日
   小さなグループにわけてパッケージをpoolに移動していくと思います。

Q: How does apt cope with pools automatically, anyhow?
   aptはどうやってpoolに自動的に対応してるの?

A: Apt uses the Filename: field of a Packages file to tell it what .deb to
   download. Before pools, this field contained something like 
   "dists/unstable/main/binary-i386/web/apache.deb". Once the package moves
   into the pool, the value is changed to "pool/main/a/apache/apache.deb",
   and apt happily downloads the deb from the new location. Similar changes
   in the Sources file keep apt-get source working too. The Packages files
   remain in the same directory they have always been in, so apt continues 
   to find them.
   aptは どの.debをダウンロードすべきかという情報を Packagesファイルの
   Filename: フィールドを使っています。pool以前は、このフィールドは
   "dists/unstable/main/binary-i386/web/apache.deb" といったかんじでした。
   パッケージがpoolに移動すると、その値は "pool/main/a/apache/apache.deb"
   になります。で、apt は新しい場所からdebをダウンロードできるわけです。
   Sourcesファイルの同じような変更も apt-get source で問題なく使いつづける
   ことができます。Packagesファイルは今まであった場所にあり続けるので
   apt はそれらを見つけることができます。

Q: I uploaded a package and it was rejected because of a file overwrite
   problem.
   パッケージをアップロードしたら file overwriteの問題でリジェクトされました。

A: You probably built your package with dpkg-buildpackage -sa, asking for 
   a new copy of the source tarball to be installed. The design and
   implementation of pools does not allow a file to be replaced with
   another file of the same name. This has its advantages -- it prevents
   Debian from inaverdently violating the GPL, and it makes implementation
   easier and more robust. But it breaks -sa. The only fix currently is
   to increase the upstream version number of your package.
   たぶんパッケージを新しい source tarball をインストールされるように
   するために dpkg-buildpackage -sa とかでパッケージをビルドしたのでしょう。
   poolの設計と実装は同じ名前で別の内容におきかえることを許していません。
   これは次のような利点があります。DebianがまちがってGPL違反したりしないように
   できます。その実装をより簡単でしっかりしたものにすることができます。
   しかし -sa がうまくいかなくなります。現在の対処方法としては
   パッケージのupstreamバージョンを上げることです。

-- Joey Hess <joeyh@debian.org>
-- Fumitoshi UKAI <ukai@debian.or.jp> 日本語訳

# JPのアーカイブはいつ pool方式にしましょうかねぇ…
-- 
鵜飼文敏