第 75 回 東京エリア Debian 勉強会資料

2011 年 4 月 16 日

用活のgrobian.

e

特集.dstropk
1: bacitrani:2
特集

方い使のm-tools

第 75 回 東京エリア Debian 勉強会 2011 年 4 月

1 Introduction
上川 純一

今月の Debian 勉強会へようこそ。これから Debian ので出会える場を提供する。

– Debian の た め に な る こ と を 語 る 場 を 提 供

世界にあしを踏み入れるという方も、すでにどっぷりとつかっているという方も、月に一回 Debian について語りまする。

– Debian について語る場を提供する。

せんか？

Debian 勉強会の目的は下記です。

Debian の勉強会ということで究極的には参加者全員が• Debian Developer (開発者) の育成。

Debian Package をがりがりと作るスーパーハッ カーに• 日本語での「 開発に関する情報」を整理してまとなっ た姿を妄想しています。情報の共有・ 活用を通してDebian の今後の能動的な展開への土台として、「 場」とめ、アップデートする。

• 場 の提供。

しての空間を提供するのが目的です。

– 普段ばらばらな場所にいる人々が face-to-face1デビアン勉強会

最近の Debian 関連のミーティ

3

目次

ング報告

3.1

1

Introduction

1

2

事前課題

3

5

東京エリア Debian 勉強会 74
回目報告. . . . . . . . . . .

4

Debian Trivia Quiz

6

5

backports.debian.org

7
7

2.1

吉野 (yy y ja jp). . . . . .

3

2.2

henrich . . . . . . . . . . .

3

5.1

backports.debian.org とは . .

2.3dictoss(杉本 典充) . . . . .

3

5.2

backports.debian.org で提供

2.4

岩松 信洋

. . . . . . . . . .

3

2.5

野島 貴英

. . . . . . . . .

3

2.6

山田 . . . . . . . . . . . . .

3

2.7

村田信人 . . . . . . . . . . .

3

2.8

Kiwamu Okabe

32.9Osamu MATSUMOTO

2.10

yamamoto

2.11

まえだこうへい. . . . . .
. .

4. . . . . . . . .

4. . . . . . .

4

2

5

されているパッケージを使う .

5.3
5.4
6

7

7

backports.debian.org を使ったパッケージの提供方法 . . . .

9まとめ . . . . . . . . . . . . .

11

月 刊「 え?月 刊 な の?(わ ら 」

PPC64 ポーティング

12

索引

14

第 75 回 東京エリア Debian 勉強会 2011 年 4 月

2 事前課題上川 純一

今回の事前課題は以下です:1. 今回の震災で Debian をどのように活用してますか。
この課題に対して提出いただいた内容は以下です。
な USB メモリを持ち歩いていたりします。自由な使い方

2.1

できる自分の環境をポケットにしのばせて持ち歩けるのは吉野 (yy y ja jp)よいかも。地震あったときはこの USB を胸ポケットに入れて避難しました。
（ たまたま入っていたともいう。でも普段通りデスクトップ環境として使ってます．

自分の環境はここにあるからとちょっ と安心できたのは確か。）

2.2henrich※別に debian でなくてもよいじゃんというツッコミはナシの方向で。

活用は特段していません。停電のために家サーバと知人の会社に置いてあるサーバの両方が止まって難儀しました。

2.6
2.3

dictoss(杉本 典充)

震災関係だとあまり活躍していないです…
今回は PC を持って被災したもののほとんど出番がなく、携帯• 停電で PC を起動できないときもあり、むしろ Debian電話だけが活躍しました。

を使えないときもありました。

そういうわけで、早急に Android 携帯に Debian/Ubuntu を• 使い方はメールしたり、 Web ブラウズをしたりと普段と入れたいと思います（ iDroid で通話できるのだろうか？ ）。

変わらない感じです。

2.4

2.7

岩松 信洋

村田信人

震災に対して直接は活用できていません。ただ、 Sahana
Eden の日本チームの Launchpad, Bazaar に対する疑問に答• chromium の拡張プログラムを書いて、地震が来たらウィンドウを出すようなプログラムを書いてみました。

• 停電用に VPS を契約して、 Debian にした。
• Debian 上で OSM をいじったりした。

えることで間接的に貢献できればと。

2.8
2.5

山田

野島 貴英

Kiwamu Okabesakura VPS 上に Debian をインストールしています。仕事でNetBSD を使った開発をしているのですがネットワークが止まってもメンバーが開発継続できるように公式 cvs リポジトリの tar

震災で大変な中、非常につまらない例で恥ずかしいのですが、

1. 震災情報集めは主に debain+ephipany の組み合わせが多いです

玉を取るようにしました。

2. 震災に関する諸々の情報集めで NIKKEINET(有料）を利用する際は debian+iceweasel ばかりです。
3. USB ブート可能なパソコンさえあれば有事の際どこでも対応できるように自分の debian 環境を入れたブート可能

netbsd cvs =rsync=> sakura vps(debian) =tar 玉=> 会社のメンツ PC

http://www.masterq.net/files/ 毎朝 4 時ごろ更新しています。

32.9• 地震の当日、ヨメとディ ズニーシーから帰れなく、翌日帰宅するまでこまめが心配で仕方なかったので、 OpenBlockS 600 に Web カメラをつけて、こまちゃん監視シ

Osamu MATSUMOTO

ステムを作りました。普段の様子や、停電の確認、大きな未定だったので回答なしで。もう 10 年ぐらい Debian 使って余震があった際の自宅の様子を見てます。

ばかりなので、貢献したいと思っている。

2.10• 一方、 OpenBlockS 266 でハードディ スクで稼働していた普通のサーバたち (Web, DNS, CouchDB, Git リ
モートリポジトリ用, 監視など) は、停電に備えすべて停yamamoto止しました。

今回の震災で帰宅時間が早くなった分、マシンへのお触りが増• 地震の直後はしばらく MacBook の使用は控えて、 iPadや Android 使ってました。
• 今後は外に出せるサーバやデータは、基本クラウドサービ
スを利用して、 OpenBlockS 等はディスクレス化して、えました。今もおいらの横でウンウン唸っています。

2.11

まえだこうへいセンサーでの監視専用にしていく予定です。

我が家の Debian マシンたち。

4

第 75 回 東京エリア Debian 勉強会 2011 年 4 月

3 最近の Debian 関連のミーティング報告上川純一

3.1 東京エリア Debian 勉強会 74 回目報告
三月は OSC 2011 Tokyo/Spring でのセミナー、およびブース展示を行いました。午前中に GPG/CACert キーサイ
ンパーティ、午後は山田さん中心で CACert 公式トレーニングも開催されました。

5

第 75 回 東京エリア Debian 勉強会 2011 年 4 月

4 Debian Trivia Quiz
上川 純一

ところで、みなさん Debian 関連の話題においついていますか？ Debian 関連の話題はメーリングリストをよんでいると追跡できます。ただよんでいるだけでははりあいがないので、理解度のテストをします。特に一人だけでは意味がわからないところもあるかも知れません。みんなで一緒に読んでみましょう。
今回の出題範囲は debian-devel-announce@lists.debian.org や debian-devel@lists.debian.org に投稿された内容と Debian Project News からです。
問題 1. 2011 年度 Debian JP 会長は誰でしょうか？
□ A 前田 耕平
問題 4. DebConf chairs に指名されたのは誰？

□ B 岩松 信洋□ A Gunnar Wolf

□ C 荒木 靖宏□ B Maeda Kouhei□ C Junichi Uekawa

問題 2. 2011 年度 DPL は誰でしょうか？
□ A Kurt Roeckx

問題 5. ries.debian.org で取得できるようになったデータ□ B Kenshi Mutoは？

□ C Stefano Zacchiroli□ A debian.org の稼働状況データ問題 3. Debian Policy 3.9.2 で追加されていない項目はど□ B debian.org の ML データを gzip で固めた物

れか□ C dak のデータ

□ A Debian アカウントをメンテナアドレスに追加する必問題 6. /run が消された理由は？

要があります。
□ B ア ー キ テ ク チャ 依 存 の ラ イ ブ ラ リ 等 は

DEB HOST MULTIARCH で取得した値を利用する必□ A /go のほうがよくね？ という人が現れた。
□ B initscripts がまだサポートしてない！
□ C /run を入れたのはパッケージングミスです。

要があります。
□ C 全てのパッ ケージは VCS で管理する必要があります。

6

第 75 回 東京エリア Debian 勉強会 2011 年 4 月

5 backports.debian.org
岩松 信洋

2010 の 9 月、正式に debian.org インフラの一部になった backports.debian.org(以下、 bpo) ですが、実際にどのように使えばいいのかわからないところがあります。今回はユーザと開発者側からの視点で情報をまとめました。

5.1 backports.debian.org とはbackports.debian.org は testing や unstable で提供されているパッケージを既にリリースされた stable（ 執筆時点
では squeeze）および old-stable（ 執筆時点では lenny） にバックポートしたパッケージを提供するプロジェクトです。
バックポートされることによって、 stable で提供されているパッケージより新しいバージョンを使うことができるようになります。

アップロードされるパッケージには、元のバージョンに bpo{Debian リリース番号 }+{ ビルド番号 } というバージョンが付加されます。これによって、どのバージョンをどの Debian リリースにバックポートしたのかわかります。
また、セキュリティアップデートにも対応しています。この場合、 DSA（ Debian Security Announce）ではなくBSA（ Backports Security Announce）となります。また、 DSA とは連動していない点に注意が必要です。

5.2 backports.debian.org で提供されているパッケージを使う
まずは、 backports.debian.org で提供されているパッケージの使い方について説明します。

5.2.1 どのようなパッケージが提供されているのか
現 在 backports.debian.org で 提 供 さ れ て い る パッ ケ ー ジ は http://backports.debian.org/changes/

squeeze-backports.html から参照できます。

7

5.2.2 /etc/apat/sources.list に apt-line を追加する/etc/apat/sources.list に backports.debian.org の apt-line を追加します。 squeeze 向けには以下のように設定します。
deb http://backports.debian.org/debian-backports squeeze-backports main

contrib や non-free も提供しているので、有効にしたい場合には apt-line に追加できます。
追加したらリポジトリ情報を更新します。
$ sudo apt-get updateまたは$ sudo aptitude update

5.2.3 パッケージをインストールする
backports.debian.org で提供されているパッケージをインストールするには、 apt や aptitude の -t オプションを使って ディストリビューションを指定します。例えば、 postgresql-9.0 パッケージをインストールするには以下のように実行します。
$ sudo apt-get -t squeeze-backports install postgresql-9.0
または$ sudo aptitude -t squeeze-backports install postgresql-9.0

5.2.4 パッケージを更新する
backports.debian.org で提供されているパッケージに更新があった場合、 apt-get update ; apt-get upgradeを実行しても、パッケージは更新されません。これは Pin-Priority の値が 100（ 指定すればインストールできるが、アップグレードの対象にはならない）に設定されているためで、更新するには、 apt の preferences を使って、パッケージのプライオリティを設定する必要があります。
例えば、 /etc/apt/preferences に以下のような設定をしておくと、 backports.debian.org で提供されているパッケージが更新された場合、 apt-get update ; apt-get upgrade で更新されるようになります。これは、セキュリティアップデートをこのコマンドで行いたい場合に必要な設定でもあります。
Package: *Pin: release a=squeeze-backports
Pin-Priority: 200

また、常に backports.debian.org で提供されているパッケージを利用するようには、 Pin-Priority の値を 500に設定しておくとよいでしょう。

5.2.5 セキュリティアップデート
backports.debian.org で提供されているパッ ケージのセキュ リティ アッ プデートは DSA では行われません。
BSA として行われ 誰かが 修正してアッ プロードします。（ backports チームがチェッ ク していると思われる）
パッ ケージアッ プデートのアナウンスは backports-announce メーリングリスト（ http://lists.debian.org/debian-backports-announce）で行われます。 backports.debian.org を使っている人はメーリングリストに登録しましょう。

5.2.6 バグレポート
今のところ、 backports.debian.org で提供されているパッ ケージは Debian BTS（ http://bugs.debian.

org） にバグレポートしてはいけないことになっています。なにか問題があった場合には、 backports メーリングリスト（ http://lists.debian.org/debian-backports）に投稿しましょう。 backports.debian.org は Debianの正式なインフラなので、 Debian BTS に統合される可能性もあります。その場合には、 reportbug パッケージからもバグレポートできるようになるかもしれません。

8

表 1 Pin-Priority の値と意味

Pin-Priority

意味<0

インストールしない

1

NotAutomatic アーカイブ (experimental や backports 等) の優先値

1-100

指定すればインストールできるが、アップグレードの対象にはならない

100

現在インストールされているパッケージの 優先値

101-500

通常のアーカイブよりも優先度が低いが、指定してインストールしたものはアップグレードの対象になる

500

ターゲットリリースに指定されていない通常のアーカイブの優先値

501-990

ターゲットリリース指定のアーカイブよりも優先度が低いが、アップグレードの対象になる

990

ターゲットリリースに指定したアーカイブの優先値

991-1000

現在インストールされているパッケージよりも新しければターゲットリリー
ス指定に関係なくインストールされる> 1000

ダウングレードしてでも、そのパッケージをインストールさせる*1

5.2.7 欲しいパッケージがない場合
自分の欲しい機能がまだ stable で提供されているパッ ケージにはなく、 unstable にあるパッ ケージで提供されているといっ たことはよくあります。このような場合、自分でビルドして使う方法もありますが、 back-ports.debian.org で提供してもらうように依頼する方法もあります。まずはパッ ケージメンテナに直接依頼するのがよいのですが、パッ ケージメンテナが乗る気ではない場合、 backpoorts メーリングリスト（ http://lists.

debian.org/debian-backports/）で依頼するという方法もあります。

5.3 backports.debian.org を使ったパッケージの提供方法
backports.debian.org は誰でも利用可能です。といっ ても、パッ ケージをアッ プロードするには、 DebianDeveloper（ 以下、 DD）である必要があります。 Debian Maintainer もパッケージをアップロードおよび更新はできません。よって DD 以外はスポンサーアップロードをしてもらう必要があります。また、自分がメンテナンスしているパッケージ以外でもアップロードできます。ここでは、パッケージアップロードまでの流れと注意すべき点について説明します。

5.3.1 backports.debian.org キーリングへの登録先では DD だとアッ プロードできると説明しましたが、すぐにアッ プロードできるわけではありません。 Debian

Developer キーリングと同じ鍵を backports.debian.org キーリングへの登録してもらうように申請する必要があります。この申請はリクエストトラッカー（ https://rt.debian.org/Ticket/Create.html?Queue=20）を使います。
申請すると、数日後にキーリングに追加されます（ リクエストトラッカーから連絡メールが来ます）。

5.3.2 アップロードするパッケージについて
backports.debian.org にアップロードするパッケージは testing や unstable にあるパッケージをリビルドしてアップロードするのではなく、パッケージそのものに手を加える必要があります。また、いくつか注意する点もあります。

• ディストリビューションを コードネーム-backports に変更する。

9debian/changelog では、ディ ストリビュ ーショ ンに stable や unstable を設定しますが、 backports.debian.org にアップロードするパッケージのディストリビューションには コードネーム-backports を指定する必要があります。例えば、 squeeze へバックポートしたい場合には、 squeeze-backports とします。

• Debian バージョンに bpo{Debian リリース番号 }+{ ビルド番号 } を付加する。
最初に説明したように、 backports.debian.org にアップロードされるパッケージには他のディストリビューションとの違いが分かるように Debian バージョンに bpo{Debian リリース番号 }+{ ビルド番号 } というバージョンを付加する必要があります。例えば、 unstable にある パッケージ foo の 1.2.3-4 をアップロー
ドし squeeze-backports にアップロードしたい場合には、 1.2.3-4 bpo60+1 とします。 60 は squeezeのリリース番号（ 6.0）です。もし、アップロードしたパッケージ問題があり、再アップロードしたい場合には、

1.2.3-4 bpo60+2 とし、ビルド番号をインクリメントします。
• backports だけの修正を行わない。
特定のバージョンで発生するのはバグなので、 unstable 等で修正して、それを backports.debian.org にバックポートするようにしましょう。

• squeeze および backports の環境でパッケージがビルドできるか確認する。
backports.debian.org では、 buildd と同様に複数のアーキテクチャ向けにパッケージがビルドされます。もし、 stable および backports の環境でパッケージがビルドできない場合、 FTBFS（ Fail To Build FromSource）になるため、注意が必要です。また、 ABI の問題があるため、動作確認は慎重に行う必要があります。
pbuilder*2 や cowbuilder*3 を使って、クリーンルームからのビルドチェックを行いましょう。
• インストールとアップデートの確認をする。
パッケージができても、インストールとアップデートがうまく動作しない場合があります。これは、 piuparts*4を使って確認できます。

5.3.3 パッケージのアップロード先
通常、パッ ケージは ftp.upload.debian.org にアッ プロードされます。しかし、 backports.debian.org の場合には、 backports-master.debian.org にアッ プロードする必要があります。通常、アッ プロードする時にはdupload や dput というパッケージをアップロードするツールを使います。各アプリケーションの設定ファイルに以下のような設定を加えておきます。

• dupload の場合$cfg{’bpo’} = {fqdn => ‘‘backports-master.debian.org’’,incoming => ‘‘/pub/UploadQueue/’’,};• dput の場合[bpo]
fqdn = backports-master.debian.org
incoming = /pub/UploadQueue/
method = ftp
login = anonymous
allow_dcut = 1

5.3.4 セキュリティアップロードをする
backports-master.debian.org にセキュリティアップロードを行う場合には BSA 番号を割り振ってもらう必要があります。この番号は backports チームで管理しているので、 team@backports.debian.org に問い合せます。

*2 http://packages.qa.debian.org/p/pbuilder.html*3 http://packages.qa.debian.org/c/cowdancer.html*4 http://packages.qa.debian.org/p/piuparts.html

10

また、セキュ リティ アッ プロードの内容を PGP/GPG でサインして、 backports-announce メーリングリスト（ http://lists.debian.org/debian-backports-announce）にアナウンスします。
アナウンスする内容のテンプレートは以下のようになります。
Subject: [BSA-XXX] Security Update for <packagename><Uploader> uploaded new packages for <packagename> which fixed thefollowing security problems:
CVE-XXXX or whatever ID if existantshort description...
CVE-....
....
For the squeeze-backports distribution the problems have been fixed inversion <packageversion>.
<other distributions if any>

5.3.5 backports.debian.org の動作
backports.debian.org の動作は buildd network と同じです。アップロード先やパッケージリポジトリが異なるだけで、 buildd network を利用したパッケージのビルドを行っています。

5.4 まとめ
ユーザが backports.debian.org を使う場合、新しいバージョンを使えるというメリットがあるので使ったほうが良いと思います。先に書いたように BTS 等はうまく連動していないのと、パッケージメンテナではなくてもアップロードできてしまうので、問題があった場合には調整が必要になることがありそうです。このような場合には debian-backports
メーリングリストをうまく活用していく必要があると思います。また、 apt の pin の設定を正しくしておかないと、うまくアップデートしなかったりするので、注意が必要です。
開発者の場合には、メンテナンスコストが増えるだけであまりメリットがあるようには思えません。しかしユーザからの依頼があった場合には考慮する必要があるので、仕組みだけは知っておくとよいと思います。もう少し使いやすくするには他の Debian インフラとの連携が密になる必要があるでしょう。

11

第 75 回 東京エリア Debian 勉強会 2011 年 4 月

6 月刊「 え?月刊なの?(わら」 PPC64 ポーティ
ング
山本 浩之

ppc64 porting は、 2005 年頃に amd64 porting に貢献した Andreas Jochens によって alioth を使って行われていたのですが、 ppc64 は amd64 と比較してネイティブサポートのメリットがそれほど大きくないとの結論に達し、 2007 年頃、一度捨てられたプロジェクトです。
メリットが少ないとの結論に達したのには、• PowerPC32 から PowerPC64 へは、 amd64 と違い、レジスタ数が変わっていない• PowerPC の命令は、 PowerPC32 も PowerPC64 も、共に 32 bit の固定長のままであるという理由があります。
特に問題になったのが 32 bit の固定長命令で、以下のようになっています。
-------------------------------------------------------------------------|
opcode| src register | dest register |immediate value||
6 bits|5 bits|5 bits|
16 bits|--------------------------------------------------------------------------

この中で即値が使えるのは「 immediate value」である下位 16 bit だけです。
そのため、 PowerPC32 では 32 bit の即値をレジスタにロードするためには、16 bit 送る → 16 bit 送るの 2 つの命令だけでした。
しかし PowerPC64 では、 64 bit GPR の上位ワードに直接ロードするための命令が無いため、 64 bit の即値をレジスタにロードするのに、下位に 16 bit 送る → 下位に 16 bit 送る → 下位ワードを上位ワードにシフト → 下位に 16 bit 送る → 下位に 16 bit 送ると、少なくとも 5 命令が必要です。
このため、通常だと、パフォーマンスが低くなることがあっても高くなることは無いのではないか、ということになり、プロジェクトは破棄されました。まあこれを趣味で拾ったのが私でして、なんとか根本的にパフォーマンスを上げていかなければならないという宿命を背負っています。
現在のところ、 64 bit を使える CPU は PowerPC 970、 POWER4、 POWER5、 POWER6、POWER7、 Cell、 PX などがあります。 32 bit 専用の CPU より新しいため、 POWER4 と POWER5 を除き、全て VMX (IBM & モトローラ) または AltiVec (モトローラ) と言うベクトル演算ユニットを備えており、それぞれを動かす命令は、同一な VMX 命令セットとして、完全に互換性があります。
さらに POWER6、 POWER7、 Cell、 PX では VMX を拡張し、レジスタを 128 本とした VMX-128 ユニットが搭載されていますが、現在の gcc では、 VMX-128 ユニットを使いこなすオプションはまだありません。

12

着手してかれこれ 1 年なんですが、とりあえず VMX ユニットを持たない POWER4 と POWER5 は、既に公式にある powerpc port を使ってもらうとして、 ppc64 port ではこの VMX 命令をサポートする方向で、パフォーマンスが上がらないかと試しています。
ちなみに VMX 命令は、 powerpcspe port でサポートされている、 SPE 命令と全く同じところにデザインされていて、完全に排他的になっています。

13

第 75 回 東京エリア Debian 勉強会 2011 年 4 月

7 索引

backports.debian.org, 7

ppc64, 1214

Debian 勉強会資料
2011 年 4 月 16 日
初版第 1 刷発行
東京エリア Debian 勉強会（ 編集・ 印刷・ 発行）

15