[Tomoyo-dev 858] Re: apt レポジトリ

Zurück zum Archiv-Index

Hideki Yamane henri****@debia*****
2008年 7月 26日 (土) 18:45:05 JST


On Fri, 25 Jul 2008 20:04:20 +0900
Tetsuo Handa <from-****@I-lov*****> wrote:

 Debian/Ubuntu specific な話ですね。
 私が理解している範疇で答えます。嘘混じってる可能性もあるので、最終的には
 英語で debia****@lists***** で質問するのが一番確実ではあります :)


>  rpm ファイルの場合は rpm ファイルを作成後に rpm --addsign で
> 署名を追加できるようになっていますが、 deb ファイルの場合は
> どのタイミングで署名を追加するのでしょう?

 この件は2つの話に分けて考えなくてはいけません。
 ・deb パッケージとしての GPG 署名
 ・apt repository としての GPG 署名

 パッケージの場合ですが、ccspatch-1.6.3-20080715-1 というものを作ったと
 しましょう。その場合、debuild コマンドなどでビルドした際に 
 ccspatch_1.6.3-20080715-1.dsc と ccspatch_1.6.3-20080715-1_i386.changes 
 というファイルが作成され、そこにGPG 署名が要求されます。

 バイナリの deb パッケージそのものではなく、debian パッケージを生成して
 いるソースコードおよび repository アップロードに使うためのファイルに
 対しての署名がされているわけです。ソースコードの方に署名している理由は、
 実際 Debian でビルドされるパッケージはソースコードをアップロードした後、
 自動的に buildd と呼ばれる build マシン群が行うため、パッケージ自体に
 署名しても他のアーキテクチャでどうすんのよ、となるのを防ぐためです。 

 もう一つの chanses ファイルは repository アップロードの際に「こいつホント
 にパッケージアップロードしていいの?」のチェックに利用されるわけです。
 (dput/dupload コマンドなどで利用)


 ちなみに APT repository としての GPG 署名の場合は、通常は distribution 
 側が用意している dak (Debian Archive Kit) が処理しているのでパッケージ
 開発者が意識をすることはほとんどありません。dak はいわゆる「黒魔術」系
 なもの(準備/設定が大変で、使う人がほとんどいないのでアンドキュメンテ
 ッドなことが多い)なので、私も把握はしていません。パッケージなどにもな
 ってはいません。

 #武藤さんとかだと分かるとは思うのですが、今お仕事がかなり忙しそうなので
  あまり負担をかけたくないです ;-)


 配布者側は、多分手作業で repository としての署名を作って、パッケージが
 変わるごとにサインし直し…なのかなぁ。やったことないのでこの辺は分かり
 ません。単純に署名しないで repository 作って配布ならやってますが。

 利用者側は、repository としての GPG 署名をしているキーを自分でコマンドで
 追加が必要ですね(1回だけだけど)。Official repository は Debian 開発者
 の Keyring パッケージがあってそちらで管理しているので、その辺も考えなくて
 済むようになっています。


 #長めの話で読む方も疲れたかと思いますが、まぁこんな感じです。

-- 
Regards,

 Hideki Yamane     henri****@debia*****/iijmio-mail.jp
 http://wiki.debian.org/HidekiYamane




tomoyo-dev メーリングリストの案内
Zurück zum Archiv-Index