東京エリア Debian 勉強会
資料

岩松 信洋 iwamatsu@debian.org
IRC nick: iwamatsu2010 年 04 月 17 日

設営準備にご協力ください勉強会の連絡事項

注意事項
飲食?

piuparts の使い方
upstart 再入門
debtags 入門
Debian JP Project
Leader からのありがたいお言葉前回の Debian 勉強会

株式会社朝日ネット
注意事項
飲食?

ニューラルネットワー
クで画像を分類してみたweka
libﬀtw
man-db 深追い
dpkg v3 quilt

Hack Cafe

最近ハックカフェしてますか?
毎週、新宿近辺で Debian Hack Cafe を行っているはずです。
http://twitter.com/debian_hackcafe

事前課題

事前課題

1

あなたの使っている init は？

2

あなたのパッケージ検索方法は？

原口秀康

1

デフォルトの 2 を使用しています。通常のインストールをしてそのまま使用しているからです。 2-5 全て同じなのに他のランレベルを使用する意味はわかっていません

2

apt-get apptitude、「 パッケージの内容を検索」を使用します。明確に名前が分かるものは apt-get や apptitude でこういうものがほしいと思うときは「 パッケージの内容を検索」を使います。キーワードが使われていないパッケージでも検索することが可能だからですキタハラ

1

デフォルトで組み込まれる「 init」、特に不都合がないため。

2

最近は、「 Google 先生」に尋ねる事のほうが多い。

yama1066

1

sysvinit まだ移行してないから。 upstart に移行するメリットが議論できればいいなと思います。

2dselect でひたすらゴリゴリ…、嘘です。 apt-cache search でほげほげ。

henrich1

sysvinit を使ってます。昔は initng を使ったこともありましたが…面倒を避けるため、ですかね。

koedoyoshida1

安定志向なので lenny 標準の init です。仕事で使ってるマシンはupstart や init が混在しています。
私は基本的に Linux はサーバ使用です。滅多に再起動しないのであまり恩恵を受けていません。
特にメーカー系のサーバ機は (再) 起動時に SAS,FC 等を含めた BIOSチェックだけで数分かかるのもざらなので、起動高速化のメリットは受けにくいというのが正直なところです。

init 以外を使用することによる、起動時以外のメリットが有れば知りたいです。

鈴木崇文

1sysvinit。特にスピードを求めようと思ったことがないことと、サービス起動が非同期だと何か問題が起きたときに調査しにくいイメージがあるため。とはいえ、 Ubuntu のマシンでは Upstart 使っているので、ただ流されているだけだと思います。

藤沢理聡 (risou)

1

今使用しているのは sysvinit です。理由は、 lenny のデフォルトになっているからです……。＃このあたり、違いがよくわかってないので、わざわざ変更してないです。

村田信人

1sysvinit。少し前に Squeeze をインストールしたらデフォルトだったから。

2

apt-cache search でざっくりと見当をつけてから apt-cache show で詳細を確認。

akedon1

sysvinit です。現在、デフォルトなのとメカニズムが単純なのでこれで良いかなと思っています。

2

aptitude search 〜 と apt-file search 〜 を使っています。

Hirotaka Kawata

1init。 Debian 標準の init (ふつうの init)

2

aptitude search ”keyword”

opentaka

1

デフォルトの init。デフォルトで入っていたので。

2

aptitude search ”package name”

松澤二郎

1

あまり意識していませんでしたが、デフォルトのものを使っています。 sysvinit?

2

aptitude search hoge

まえだこうへい1sysvinit。テスト環境とかでは upstart も試してますが、 MacBook のSid 環境とかでは切り替えるのまだ怖いですね。

2apt-cacheYasunori Higashiyama

1

sysvinit。特に困っていないのでそのまま。

2

web で検索か aptitude search

岩松 信洋1

sysvinit です。 Debian のデフォルトだからです。

2

aptitude で検索しています 。タグを使います。パッケージのインス
トールは apt ですが....。あとは、 iceweasel や Google Chrome の検索ボックスで検索することもあります。

google-account@rolf.leggewie.biz

今回もよろしくお願いします。

Debian 常識クイズ

Debian の常識、もちろん知ってますよね? 知らないなんて恥ずかしくて、知らないとは言えないあんなことやこんなこと、みんなで確認してみましょう。
今回の出題範囲は
debian-devel-announce@lists.debian.org に投稿された内容と Debian Project News からです。

問題 1. DPL 2010 に立候補しているのは誰？

A Yasuhiro Araki

B Charles Plessy

C Kurt Roeckx

問題 1. DPL 2010 に立候補しているのは誰？

答えは:A Yasuhiro Araki

B Charles Plessy

C Kurt Roeckx

B問題 1. DPL 2010 に立候補しているのは誰？

解説：問題 2. Debian policy 3.8.4.0 で追加された項目
は？

A /sys と /selinux の FHS に対する例外ポリシー
B kFreeBSD と Linux を共存するポリシー
C スーパ牛さんパワーに関するポリシー

問題 2. Debian policy 3.8.4.0 で追加された項目
は？
答えは:

A /sys と /selinux の FHS に対する例外ポリシー
B kFreeBSD と Linux を共存するポリシー
C スーパ牛さんパワーに関するポリシー

A問題 2. Debian policy 3.8.4.0 で追加された項目は？

解説：

問題 3. 最近ハードウェアトラブルがあったサーバは？

A rie.debian.org

B ries.debian.org

C rise.debian.org

問題 3. 最近ハードウェアトラブルがあったサーバは？
答えは:

A rie.debian.org

B ries.debian.org

C rise.debian.org

B問題 3. 最近ハードウェアトラブルがあったサーバは？

解説：

問題 4. buildd.debian.org のあるサーバが移動しました。どこに移動したでしょう。

A peri.debian.org

B cimarosa.debian.org

C grieg.debian.org

問題 4. buildd.debian.org のあるサーバが移動しました。どこに移動したでしょう。
答えは:A peri.debian.org

B cimarosa.debian.org

C grieg.debian.org

C問題 4. buildd.debian.org のあるサーバが移動しました。どこに移動したでしょう。

解説：問題 5. squeeze のインストーラで追加された機能
はA Recommends をインストールするようにします
B インストーラ上でパッケージがビルドできます
C クロスアーキテクチャインストール機能を追加しました問題 5. squeeze のインストーラで追加された機能は
答えは:

A Recommends をインストールするようにします
B インストーラ上でパッケージがビルドできます
C クロスアーキテクチャインストール機能を追加しましたA

問題 5. squeeze のインストーラで追加された機能は解説：

問題 6. 新しく mips 用 porterbox が追加されました。 CPU コア数はいくつでしょうか。

A 64

B 32

C 16

問題 6. 新しく mips 用 porterbox が追加されました。 CPU コア数はいくつでしょうか。
答えは:

A 64

B 32

C 16C

問題 6. 新しく mips 用 porterbox が追加されました。 CPU コア数はいくつでしょうか。

解説：piuparts の使い方

はじめにパッケージメンテナの簡易ワークフロー

パッケージ化/パッケージアップデート

ITP/RFP

ビルドチェック
pbuilder/cowbuilder
デバッグ

インストールチェック

バグ

新しいバージョン
インストール後のチェック

アンインストールのチェックパッケージのアップロード

忘れがちなテスト

忘れがちなテスト
アンインストールのチェック
クリーンインストールのチェック

piuparts

Piuparts
インストールのチェック
アンインストールのチェック
アップグレードのチェック

piuparts の使い方

ローカル PC にあるパッケージをチェックする
パッケージメンテナが使う
既に Debian にインストールされているパッケージをチェックする
piuparts.debian.org で使う事が多い実行結果$ sudo piuparts libcv4_2.0.0-4_i386.deb -l /tmp/libcv4_2.0.0-4_0m0.0s INFO: -------------------------------------------------0m0.0s INFO: To quickly glance what went wrong, scroll down to0m0.0s INFO: FAQ available at http://wiki.debian.org/piuparts/F
0m0.0s INFO: -------------------------------------------------0m0.0s INFO: piuparts version 0.38 starting up.
0m0.0s INFO: Command line arguments: /usr/sbin/piuparts libcv4_
0m0.0s INFO: Running on: Linux chimagu 2.6.31-1-686 #1
SMP Sun Nov 15 20:39:33 UTC 2009 i686
0m0.0s DEBUG: Starting command: [’dpkg’, ’--info’, ’libcv4_2.0.
0m0.2s DUMP:.... 省略 .....
6m32.6s DEBUG: Starting command: [’chroot’,’/tmp/tmplunhrZ’, ’umount’, ’/proc’]
6m32.6s DEBUG: Command ok: [’chroot’,’/tmp/tmplunhrZ’, ’umount’, ’/proc’]
6m33.0s DEBUG: Removed directory tree at /tmp/tmplunhrZ
6m33.0s INFO: PASS: All tests.
6m33.0s INFO: piuparts run ends.

piuparts の動作
インストールチェック
開始chroot環境を構築

パッケージをインストールアップグレードチェック
古いパッケージをインストール

パッケージの依存関係などをチェック

指定したパッケージをインストール

結果出力

結果出力

アンインストールチェック

アップグレード後のアンインストールチェック

パッケージをアンインストール

パッケージのアンインストール

インストール前とアンインストール後のchoot内の差分をチェックする

インストール前とアンインストール後のchoot内の差分をチェックする

結果出力

結果出力

終了

ログの見方1

コマンド実行 (DEBUG: Starting command:)2

実行開始タグ (DUMP:)

3

実行時のログ4

コマンド結果 (ERROR: or DEBUG: Command ok)

5

テスト結果

テストが正常に終了した場合..... 省略.....
6m13.7s INFO: PASS: Installation and purging test.
..... 省略.....
6m32.6s INFO: PASS: Installation, upgrade and purging tests.
..... 省略.....
6m33.0s INFO: PASS: All tests.
6m33.0s INFO: piuparts run ends.

エラーがある場合

0m6.0s DEBUG: Starting command: [’chroot’, \’/org/piuparts.debian.org/tmp/tmpZ-SX9D’,\’apt-get’, ’-y’, ’install’, ’upstart’]
0m6.3s DUMP:
Reading package lists...
Building dependency tree...
The following extra packages will be installed:
libdbus-1-3
Recommended packages:
dbus
The following packages will be REMOVED:
sysvinit
The following NEW packages will be installed:
libdbus-1-3 upstart
WARNING: The following essential packages will be removed.
This should NOT be done unless you know exactly what you aresysvinit
0 upgraded, 2 newly installed, 1 to remove and 0 not upgraded
Need to get 636kB of archives.
After this operation, 1196kB of additional disk space will be
E: There are problems and -y was used without --force-yes
0m6.3s ERROR: Command failed (status=100): [’chroot’, \piuparts のオプション

-p オプション

pbuilder の base.tgz を piuparts で利用する$ sudo piuparts -p libcv4_2.0.0-4_i386.deb

-d オプション

テストするディストリビューションの指定$ sudo piuparts -d sid -d squeeze libcv4_2.0.0-4_i386.deb.....

- -apt オプション

debian にインストールされているパッケージのテスト$ sudo piuparts --apt -d squeeze libcv4

- -mirror オプション

ミラーサーバの指定$ sudo piuparts -p libcv4_2.0.0-4_i386.deb --mirror http://debm

依存するパッケージの回避方法

パッケージの指定で回避する方法
依存するパッケージを一緒に指定する$ sudo piuparts -p libcv-dev_2.0.0-4_i386.deb libcv4_2.0.0*.changes ファイルを指定する方法$ sudo piuparts -p opencv_2.0.0-4_i386.changes

piuparts.debian.org

パッケージメンテナがインストール、アンインストール、アップグレードのチェックしないパッケージ作成時はチェックしたが、環境の変化のよるエラーをトラッキングできていない

QA チームで piuparts.debian.org としてサービスを立ち上げた

現在チェックエラーになっているパッケージ

タグ : piuparts
ユーザタグ : debian-qa@lists.debian.org
以下でチェック可能
http://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=piuparts;users=debian-qa@lists.debian.org

現在の問題点

けっこう安定して動作している。
チェック結果が適切ではない
マニュアル不備$ piuparts --help.... 中略 ....
-B FILE, --end-meta=FILE
XXX

まとめ

ログは見にくいが、パターンを見ればわかる。

piuparts をテストパターンに組み込みこんで、テストしましょう。
v2 を開発中。開発は bzr 上。
http://code.liw.fi/piuparts2/bzr/trunk/upstart 再入門

debtags 入門

Debian JPProjectLeader からのありがたいお言葉次回の勉強会2010 年 5 月 21 日: 筑波大学
筑波大学 Linux User Group (つくらぐ) さんと合同開催です。