.

.

東京エリア Debian 勉強会
資料.
上川 純一 dancer@debian.org
IRC nick: dancerj

2008 年 4 月 19 日.

.
..

設営準備にご協力くださいAgenda

注意事項
飲食禁止
政治/宗教/営利活
動禁止

quiz
最近の Debian 関連のイベント
前回

バイナリ一つだけのパッケージを作成してみるバージョン管理ツールを使い Debian パッ
ケージを管理する
Git 編
アップストリームのVCS と付き合う

Nexenta Core Platform
を使ってみる前回の Agenda
注意事項
撮影禁止
この部屋で話されたことはこの部屋の外には一歩も出ません
無線 LAN は ESSID
google-guest

quiz
最近の Debian 関連のイベント
前々回
前回 （OSC）

データだけの Debian
パッケージ

Debian でのライセンスの考え方

会場までの道のり

前回初めて参加して、前回の内容がよかったから今回も参加しているという人挙手Debian 常識クイズ

Debian の常識、もちろん知ってますよね? 知らないなんて恥ずかしくて、知らないとは言えないあんなことやこんなこと、みんなで確認してみましょう。
最近のアナウンス文書などから問題を出題しています。

問題 1. パッケージの品質確認に有用な次のツールのうち、lenny および sid から削除されたものは?

A lintian

B lindaC piuparts

問題 1. パッケージの品質確認に有用な次のツールのうち、lenny および sid から削除されたものは?
答えは:

A lintian

B lindaC piuparts

B

解説：

問題 2. リリースゴールの一つは、init.d スクリ
プトの実行順序を依存関係で決定できるようにすること。ところで、/etc/init.d に init スクリ
プトを持つパッケージの数は?

A 873

B 857

C 98

問題 2. リリースゴールの一つは、init.d スクリ
プトの実行順序を依存関係で決定できるようにすること。ところで、/etc/init.d に init スクリ
プトを持つパッケージの数は?
答えは:

A 873

B 857

C 98A

解説：

問題 3. 次のうち、Debian Installer Lenny Beta 1における改良点でないものは?

A NTP を用いた時刻合わせ

B volatile のサポートの追加
C Mac OS X からのインス
トーラ起動のサポート

問題 3. 次のうち、Debian Installer Lenny Beta 1における改良点でないものは?
答えは:

A NTP を用いた時刻合わせ

B volatile のサポートの追加
C Mac OS X からのインス
トーラ起動のサポート

C

解説：

問題 4. 新たな Debian プロジェクトリーダー(DPL) に選ばれた Steve McIntyre が目標の一つに掲げているものは?

A Communications within theproject

B Make Debian sexy again

C Welcoming people to theproject問題 4. 新たな Debian プロジェクトリーダー(DPL) に選ばれた Steve McIntyre が目標の一つに掲げているものは?
答えは:

A Communications within theproject

B Make Debian sexy again

C Welcoming people to theproject

A

解説：

問題 5. Debian Weekly News を復活させようというメールを debian-devel-announce に流したのは?

A Martin Schulze

B Joey Hess

C Alexander Schmehl

問題 5. Debian Weekly News を復活させようというメールを debian-devel-announce に流したのは?
答えは:A Martin Schulze

B Joey Hess

C Alexander Schmehl

C

解説：

問題 6. lenny のリリースに関する現況として正しくないものは?
A GCC 4.3 がデフォルトコンパイラとなり、それでコンパイルできないことが RC バグとなった
B lenny のリリースに向けて既に必須パッケージがフリーズされている
C デフォルトの syslog デーモンを rsyslog に変更することが決定した

問題 6. lenny のリリースに関する現況として正しくないものは?
A GCC 4.3 がデフォルトコンパイラとなり、それでコンパイルできないことが RC バグとなった
B lenny のリリースに向けて既に必須パッケージがフリーズされている
C デフォルトの syslog デーモ
ンを rsyslog に変更することが決定した

答えは:

C

解説：

問題 7. dpkg 1.14.18 で新たにいくつかのソースパッケージ形式がサポートされるようになったが、それらのうち次期デフォルトとされる「3.0 (quilt)」が持っていない機能は?
A ソースパッケージの upstream tarball として複数のファイルを使用できる
B ソースパッケージの diﬀ.gz
ファイルを、適切に複数のパッチに分けてくれる
C ソースパッケージに Debian固有のバイナリファイルを挿入できる問題 7. dpkg 1.14.18 で新たにいくつかのソースパッケージ形式がサポートされるようになったが、それらのうち次期デフォルトとされる「3.0 (quilt)」が持っていない機能は?
答えは:

A ソースパッケージの upstream tarball として複数のファイルを使用できる
B ソースパッケージの diﬀ.gz
ファイルを、適切に複数のパッチに分けてくれる
C ソースパッケージに Debian固有のバイナリファイルを挿入できる

B

解説：

問題 8. 今年の DPL 選挙の投票率は?

A 62.248%

B 53.084%

C 37.302%

問題 8. 今年の DPL 選挙の投票率は?

答えは:A 62.248%

B 53.084%

C 37.302%

C

解説：

問題 9. etch の次期ポイントリリースは「etchand a half」になるとされているが、そこに含まれる予定の Linux カーネルのバージョンは?

A 2.6.18

B 2.6.24

C 2.6.25

問題 9. etch の次期ポイントリリースは「etchand a half」になるとされているが、そこに含まれる予定の Linux カーネルのバージョンは?
答えは:

A 2.6.18

B 2.6.24

C 2.6.25

B解説：

問題 10. 次の開発者のうち、新たに FTP マス
ターに任命されたのは?

A Sam Hocevar

B Joerg Jaspert

C James Troup問題 10. 次の開発者のうち、新たに FTP マスターに任命されたのは?
答えは:A Sam Hocevar

B Joerg Jaspert

C James Troup

B

解説：

問題 11. 次の開発者のうち、Debian Marketing
Team のメンバーに任命されていないのは?

A Sam Hocevar

B Andreas Schuldei

C Moritz Muehlenhoﬀ

問題 11. 次の開発者のうち、Debian Marketing
Team のメンバーに任命されていないのは?
答えは:A Sam Hocevar

B Andreas Schuldei

C Moritz Muehlenhoﬀ

A

解説：

問題 12. Joerg Jaspert が DAM に任命されたのは Sam Hocevar の任期の切れる何時間前か？

A 24 時間

B 2 時間C -1 時間

問題 12. Joerg Jaspert が DAM に任命されたのは Sam Hocevar の任期の切れる何時間前か？
答えは:

A 24 時間

B 2 時間C -1 時間B

解説：

問題 13. Software Design 2008 年 4 月号 155 ページの git-import-dsc の事例にのっているパッケー
ジ名は？

A ecasoundB pbuilder

C Windows Media Player

問題 13. Software Design 2008 年 4 月号 155 ページの git-import-dsc の事例にのっているパッケージ名は？
答えは:A ecasoundB pbuilder

C Windows Media PlayerA

解説：

問題 14. 昨日 Debian 勉強会の参加メンバーでDebian Developer になったのはだれか？

A 岩松

B 小林

C Charles Plessy問題 14. 昨日 Debian 勉強会の参加メンバーでDebian Developer になったのはだれか？
答えは:

A 岩松

B 小林

C Charles Plessy

C解説：

事前課題の紹介

事前課題問題... 「パッケージをつくってはまったこと」... 「作ってみたいパッケージ」... 「あなたはソースコードを管理しています。VCS を使123うことでメリットを得ているのですが、使っていない友人にどう説明しますか？『○○○を使ったおかげで○○○になりました。なぜなら・・・。だからあなたもつかったほうがよいですよ。』」

Hiroyuki Yamamoto「パッケージをつくってはまったこと・作ってみたいパッケージ」
パッケージをつくってはまったことパッケージ自体を作ることにはあまりはまったことはないですが、最近、locale は UTF-8 が主流になってきていますが、仮想ターミナルで動く EUC-JP なプログ
ラムを UTF-8 対応しようとした時、文字コードのバイト数が 2 バイト固定から 2-4 バイトに可変となっているため、コードを大幅にいじらないといけなくなっている場合があります。これからのユーザは UTF-8 でインストールするでしょうし、UTF-8 対応を無視もできなくて、困っています。あと、どうでも良いことですが、dh-make がポリシー 3.7.3 に対応したテンプレを吐くようになるのはいつになるのかな？

Hiroyuki Yamamoto

作ってみたいパッケージ
某巨大掲示板の専用ブラウザ kita2 をオフィシャルに上げようと思っています。アップストリームの作者には必要なファイルを入れてもらうよう交渉したところ。
次期リリース待ち。

Hiroyuki Yamamoto「あなたはソースコードを管理しています。VCS を使うことでメリットを得ているのですが、使っていない友人にどう説明しますか？『○○○を使ったおかげで○○○になりました。なぜなら・・・。だからあなたもつかったほうがよいですよ。』」
VCS は使っていません。是非、私にお薦めして下さい。

沖中「パッケージをつくってはまったこと・作ってみたいパッケージ」
今まで本格的にパッケージを作ったことがないので、はまったことはないです。強いて言うなら、どこから手をつけていいか分かっていないところとか、Makeﬁle が分からないってことでしょうか。既存のパッケージを参考にしようとしたのですが、何をやっているのか分からず、とても難解に見えます。Makeﬁle の記法を覚えるところから始めようと思っています。
私の作ってみたいパッケージは、探せば誰かが作っていたりするので、これはぜひ私が!というものはないです・・・。
更新が頻繁にされて、パッケージかが追いついていないものを自前で作成する時がほとんどです。あとは、自作のソフトくらいでしょうか。

akedo「パッケージをつくってはまったこと・作ってみたいパッケージ」
パッケージを作った事は無いので、作ってみたいパッケージと言う事で考えてみました。インターネット公開サーバを個人で管理してたりすると、あるとちょっと安心なのがkrﬁlter です。これは iptables でフィルタするための IP アドレスのリスト (設定スクリプト付き) です。韓国 (kr) だけでなく中国 (cn) や台湾 (tw) もあり、個人的にはこれに .br とか .th も要りそうな気がしてます。本格的なサーバにはRBL(DNSBL) の方が良いかも知れません。

山本琢

「あなたはソースコードを管理しています。VCS を使うことでメリットを得ているのですが、使っていない友人にどう説明しますか？」
思いつくのは cvs ですが、過去のソースコードを呼び出せる（個人での世代バックアップが不要）
変更履歴が参照できる (cvs log)
書いたソースとバージョンとの紐付けができるやまね「パッケージをつくってはまったこと」ライセンス調整が大変
開発元にお伺いを立てて変更を依頼したり、物によっては日本語ライセンスのみで英訳が必要だったりします。 ライセンス解釈の問題があったりすることもありますし、non-free と扱われて reject を食らうことも。

pbuilder で build しないでアップロードしたら依存関係が変
自分のマシンだと experimental が混じっているので、依存関係の問題が出たことが数回。
「作ってみたいパッケージ」
すでに作りかけのパッケージがいくつも…。

前田「パッケージをつくってはまったこと」
技術的な話ではないのですが、ライセンスのとこで悩みます。GPL を採用していると謳っているソフトウェアでも、下記のような感じで書き換えていないのものがあると、本当に GPL 採用しているのかと困ってしまいます。
> one line to give the program’s name and an idea of what it does.
> Copyright (C) yyyy name of author

パッケージをつくっても、自分で使う為だけにしかやらないのはそういうところが、面倒だからなんだと思います。
きっと。

本庄

パッケージをつくってはまったことはまったわけではないですが、debian/control などの debian/以下をどのように書くべきか、いつも悩みます。
作ってみたいパッケージHTML::DOMbo という CPAN モ
ジュールが便利なのですが、CPAN モジュールということ、名前がちょっと怪しいということで微妙です。

堀内寛己

勉強会/懇親会には欠席の予定ですが、課題だけ。
「あなたはソースコードを管理しています。VCS を使うことでメリットを得ているのですが、使っていない友人にどう説明しますか？」
もう語りつくされたことだと思いますが、CVS 以上の VCS
なら、「いつどこでバグが入りこんだか突き止めやすい」ということでしょうか。たとえテスト駆動開発をしていたとしても、回帰テストをすり抜けるバグというのもありうるわけで、その点でも、いつまでも重要なメリットだと思います。

濱野パッケージをつくってはまったこと・作ってみたいパッケージ
LD_PRELOAD を使うようなパッケージを作ろうとした時に、共有ライブラリにバージョンが付いているからダメというような lintian の警告ではまりました。これに限らず、lintian には良く解らない理由で何度も何度も怒られました。
ポリシーを理解していないからなので自業自得のような気がします。

濱野「あなたはソースコードを管理しています。VCS を使うことでメリットを得ているのですが、使っていない友人にどう説明しますか？」今頃になって CVS で管理していたいろいろなモノを git に移行しています。git を使ったおかげでディレクトリの移動が簡単に出来るようになりました。遠慮せずにローカルレポジトリにガシガシコミットすることも出来ます。でも時々、更新されない CVS のキーワード$Id:$ などを見るたび物悲しくなります。

日比野 啓パッケージをつくってはまったことあるライブラリをパッケージ化したときに、ちょっとパッチを当てる必要があって修正を行ないました。そのライブラ
リの Makeﬁle ではコンパイル単位のソースファイルがいくつかのディレクトリに分散して置けるようになっていて、Makeﬁle はそのディレクトリを順番にソースファイルを探しにいくように (GNU make の vpath) なっていたのです。修正前のファイルをたまたま vpath の手前にあるディレクトリに置きっぱなしにしていたためにコンパイルしなおしても修正が反映されない原因がわからなくてハマりました。

日比野 啓

作ってみたいパッケージ
OCaml 言語のネイティブコンパイラに動的ライブラリをビルドする機能がマージされたのですが、その機能が入ったコンパイラおよび、ライブラリ一式を Debian 化して使えるようにしたいです。リリース版のバージョンに入るにはもうしばらくかかりそうなので。

藤沢理聡
VCS を使うことでメリットを得ているが、使っていない友人にどう説明するか研究室で大きなシステムを組むことになったとき、VCSは欠かせません。実際に作成するシステムのプログラム群の管理はもちろんのこと、ドキュメントなどの関係者全員で共有したいデータの管理にも有効です。特に研究室などでは、メンバーが集まる時間がなかなか合わなかったり、人によってはリモートアクセスで開発等を行ったりするため、データが更新されるタイミングがわかりづらいこともあります。そのような場合に、VCS を用いることで最近変更された箇所などを把握しやすいことは、システム開発を進める上で大きな利点です。

jitsukata

パッケージをつくってはまったことはまったのとは少し違いますが、パッケージを作成するのに複数のスタイルがあることに混乱しました。debhelper、CDBS、dpatch、dbs、quilt、yada の使い分け、関連性がよ
く分かりません。それぞれメリット・デメリットがあると思いますが、複数のスタイルがあることで、何を使えば良いのか分かりにくいと感じました。

キタハラ「パッケージをつくってはまったこと・作ってみたいパッケージ」
debian のパッケージに関しては、今年の３月１日に試みたのが初めてで、講義の速度についていけず、未完に終わったという恥ずかしい経験しかないもので、何を書いてよいのやら・・・。
無難に「自作のプログラムをパッケージにしてみたい」と書こうと思ったが、最近プログラムを書いていなかった。
（某ＯＳ上ではマクロとかスクリプトとかを山ほど書いては捨てているのですが・・・）

2008
計画

年

2008 年計画..1. 新年会「気合を入れる」..2. Open Source Conference Tokyo (3/1)..3. データだけのパッケージを作成してみる、ライセンスの考え方 (David Smith)(吉田@板橋)..4. バイナリ一つのパッケージを作成してみるバージョン管理ツールを使い Debian パッケージを管理する (git)アップストリームの扱い (svn/git/cvs)(岩松 信洋さん)(前田さん)..5. バイナリの分けたパッケージの作成。
バイナリの分け方の考え方、アップグレードなどの運用とか。
(dpatch/debhelper で作成するパッケージ)(小林儀匡さん)..6. パッケージ作成
man の書き方 (roﬀ or docbook)(でんさん)..7. パッケージ作成 (kernel patch、kernel module) 、Debconf 発表練習..8. Debconf アルゼンチン、共有ライブラリパッケージ作成
Source Conference Tokyo/Fall、デーモン系のパッケージの作成、latex、..9. Openemacs-lisp、フォントパッケージ
パッケージの cross-compile の方法、amd64 上で i386 のパッケージとか、..10. OSC-Fall
報告会、Debconf 報告会..11. 国際化 po-debconf / po 化 / DDTP..12. 忘年会

バイナリ一つだけのパッケージを作成してみるバージョン
管理ツー
ルを使い
Debian パッ
ケージを管理するGit 編

アップストリームのVCS と付き合うNexenta
Core Platform を使ってみる

Nexenta Core Platform

OpenSolaris http://www.opensolaris.org/os/
Nexenta http://www.nexenta.org/os: Debian
GNU/Linux のパッケージングシステムを OpenSolarisに移植
Nexenta Core Platform が 2008 年 2 月にリリース

起動コマンド$ qemu-system-x86_64 -hda nexenta.cow \-cdrom nexenta-core-platform_1.0-b82_x86.iso \-boot d \-m 512

Nexenta 画面写真

Nexenta 画面写真

Nexenta 画面写真

Nexenta 画面写真

Nexenta 画面写真

Nexenta 画面写真

Nexenta 画面写真

Nexenta 画面写真

Nexenta 画面写真

Nexenta 画面写真

Nexenta 画面写真

Nexenta 画面写真

Nexenta 画面写真

Nexenta 画面写真

Nexenta 画面写真

Nexenta 画面写真

Nexenta 画面写真

Nexenta 画面写真

Nexenta 画面写真

Nexenta 画面写真

Nexenta 画面写真

Nexenta 画面写真

Nexenta 画面写真

宴会場所

宴会場所
本日の宴会は「駒忠」です。
参加者は B1F に集合し、全員で移動しましょう。
片付け
部屋を片付けるのにご協力ください。