「人の心に残るというのが大事」と言う話。
何か連絡がある場合はメールでどうぞ(過去の日記へのツッコミは基本的にみていません)
プレゼントは随時受け付けております :-)
ここ最近のツッコミ/トラックバックリスト。
最近、ちょっと興味を持ったのでパッケージを作ってみました(実は OSC でもセミナを聞こうかな、と思ったのだが寝坊ぎみで聞くことができなかった)。ここに tomoyo-ccstools という名前で置いてあります。upstream 作成の etch でのドキュメントがあるので、試してみたい人はそれを見て試せるわけですが、alien で作られたパッケージが個人的には嫌なので手直しをいろいろとしています (Makefile の見直しとか、policy の作成時で途中で出てくる鬱陶しいだけのエラー表示を消すとか、細々と)。
自動設定スクリプトの実行はパッケージを入れた時点で実行することにしました。このパスを通すところが別途やらなきゃならないのがどうにも嫌な感じだけど、今のところはしかたがないかな。
監査ログの取得準備も init スクリプトを…と思ったらちょっとハマり。start-stop-daemonがpid file を指定しても作る訳ではない(作るのは基本的に daemon の仕事)とかpid が start-stop-daemon の時点からはずれるもんだよね、とか。やすいさんの /bin/pidof でおけという情報は役立った。
あとハマったのが、init.d の雛形 (/usr/share/debhelper/dh_make/debian/init.d.lsb.ex) での処理がうまく動いてくれない。
running_pid() { # Check if a given process pid's cmdline matches a given name pid=$1 name=$2 [ -z "$pid" ] && return 1 [ ! -d /proc/$pid ] && return 1 cmd=`cat /proc/$pid/cmdline | tr "\000" "\n"|head -n 1 |cut -d : -f 1` # Is this the expected server [ "$cmd" != "$name" ] && return 1 return 0 }
[ "$cmd" != "$name" ] && return 1 で $cmd と $name が同じ値でもなぜか return 1 してしまうがな。
まぁ、何はともあれ自動設定スクリプトの実行と監査ログの取得準備はパッケージ側で面倒見るので、別に作業不要になります。さて、次はカーネルパッチか。
無事できた。ここに置いておく。
ちなみにパッケージ作成は基本的には難しい話ではなく、参考になるパッケージを見つけて真似すれば良いだけである。今回のやり方は apt-cache pkgnames kernel-patch として出てきたパッケージの一覧から適当なものを選んで apt-get source "package" して、それを参考にしただけ :-)
まぁ、簡単といいつつも1日ほどかかってるのは力量の問題です、はい。
ITP しようとしているが、upstream author の連絡先がいまいち判然としないのと、source package name か binary package name のどっちで出すのだったか不明なのでちょっとためらい。文章の雛形は出来たのでさらしておこう。おかしなところはやさしくツッコミよろしくね
Package name: kernel-patch-tomoyo Version: 1.5.0-20070920 Upstream Author: URL: http://tomoyo.sourceforge.jp/ License: GPL Description: Lightweight and easy-use Mandatory Access Control extension for Linux . TOMOYO Linux is Lightweight and Usable Mandatory Access Control for Linux with - "automatic policy configuring" feature by "LEARNING mode" - administrators friendly policy language - no need libselinux nor userland program modifications . TOMOYO Linux consists of patches to Linux kernel and administrative utilities, and this package contains kernel patch. . Homepage: http://tomoyo.sourceforge.jp/
追記。「うp、うp」という声を頂いたので、パッチを当てたカーネルパッケージ(2.6.22)も置いておきます。標準カーネルの構成だとビルドするのに3時間ぐらいかかるんですな。
うーん、ここのコメント、エントリと何の関係があるんだろう。 less のメンテナでも無い人にいきなり振る話題なんだろうか。お任せしますとかゆーてるが、お願いしますの間違いだろう、と思った。
私は別に自分がユーザじゃないパッケージのバグでも、それなりのフォーマットでしかるべき所になるべく送るようにしてます (というか、使ってもない Ubuntu や clamav のミラーサーバまで運用してますよ?:-) 人それぞれですな。
まぁ、あまりにも唐突な話題の振り方と周りには見えるんじゃないの?という話です(私の意見なので他の人は違う、というかもしれませんが)。もちろんバグ報告するのが悪い訳じゃないですね。
Software Design 11 月号を購入。羽鳥さんの slax な記事を見て、では試すかとやってみたものの
という感じでした。さてこれから実機でためしてみるかの (追記:無事起動した)。
console で jfbterm で有効にして uim-fep... あれ、Ctrl+J で日本語入力が有効になったが、無効にすることが出来ない orz
リリース直後で込みまくり。主要なのは終わったが、まだ完全にはミラーが終わらない。
で、Ubuntu のリリースアナウンスとか webサイトに Debian ベースなのが全然言及してないと開発者らが残念がっていて、バグとして登録された。 たまに変なかきこみがあるものの全体としては肯定的。Canonical (Mark Shuttleworth) 的には大賛成な方向らしい。
これでいい加減、「Ubuntu があれば Debian いらねぇじゃん」的な非常に萎える発言が減ると私としては嬉しいんだけど。
- で縮小はできるんだけど。
単に野菜煮込みという話もあるが。
セキュリティ問題があったので、新しいバージョンがリリースされていた(といっても8月のようだが)。debian-multimedia レポジトリを利用しているので、Christian Marillat さんに連絡。更新パッケージを用意してもらえた。
ファイル配置が変わるとパッチ全部直さんといかんのか。何か混乱してちょっと手間取ったが無事終わり。
いやもう、突っ込みどころ満載で、なんと言っていいのやら…。もう少しメディアとしての影響力とか考えて書いてほしいですね。ほーら「Debianって今はそういう問題抱えてたんだなぁ〜」なんてコメントまでついてる。トラックバック機能が無いのが残念。
これは従来のディストリビューションで数枚から十数枚にも及ぶことがあるインストールCDとは比較にならないシンプルさだ。あらかじめ推奨ソフトウェアが 1枚分にまとまっているという意味でも、これまでのLinuxディストリビューションとは「初心者への配慮」という面で違いが感じられる。
この点は同意ですね。でも…
私は Debianをインストールするたびに、数千項目にも及ぶパッケージリストを1時間とか2時間かけて斜め読みして、自分が使いたいソフトにチェックマークを付けたものだ。
いつの時代の話をしているんですか?(笑)
ともあれ、Debianでは究極の選択を迫られる。トラブルが少なく、セキュリティパッチも提供されている古いバージョンを使うか、それともトラブルが起こりえる最新開発版や不安定版と呼ばれるバージョンを使うのか――。サーバOSなら迷わず安定版を選ぶだろう。しかし進化の速いデスクトップ環境となると 1年とか2年の時間はあまりに長い。
この点は同意ですね。でも…
開発版を使えば、常に最新のソフトウェアが使えるが、リスクも大きい。個々のパッケージの品質にはかなり差があり、スクリプトにタイプミスが含まれたままリポジトリに登録されているパッケージもある。そうしたタイプミスのおかげでインストールスクリプトが途中で止まるのは珍しくない。私が最近聞いたいちばんひどい話は、あるパッケージに含まれていたバージョン番号のタイプミスのおかげで、システムの大半(GNOME環境全部)が吹っ飛んだという笑えないものだ。
えー「珍しくない」んですか?私は日々アップデートしてますが、インストールスクリプトが途中で止まることは「珍しい」ですよ。2,3年前などと比べても格段に少なくなっている。それに「システムの大半(GNOME環境全部)が吹っ飛んだという笑えないものだ」って、削除する前に削除しますか?って間違いなく聞かれてるんだと思うんですが…自分の選択の結果で削除しているんでしょうに。それに開発版(不安定版だと思うけど)は、何の目的で提供されているのか、「リリース前」のソフトウェアで動作がおかしい、というので「リスクが大きい」とか言われても「そうですね」としか言い様が無いわけで。
昨年(2006年)の夏、ThinkPad T60にDebian GNU/Linux(etch)をインストールしたのだが、諸々の設定をするのに1週間ほどかかった。シリアルATAサポートのために最新版のカーネルをダウンロードしなければならなかった。無線LANを使うためにカーネルにIEEE 802.11サブシステムのパッチを当て、さらにインテルのWebサイトから2種類必要だという無線LANドライバをダウンロードしてコンパイルした。 ATIのグラフィックドライバも自分でダウンロードした。標準で機能しなかったサスペンド機能の代わりに、別のサスペンドソフトをコンパイルして入れる必要もあった。ハードディスクへイメージを書き出すハイバネーションに対応するために、スワップパーティションを新たに作り直し、イメージ書き出し時に圧縮と暗号化を行うために、それらに対応するカーネルのシステムコールを有効してリコンパイルする必要もあった。
あれ? etch のリリースは 2007年4月ですよ??リリースされていないものを試してどう、っておかしいでしょ??大体「自分でダウンロード」ってほとんどしなくて済むんですが…?
それから、ここ。
しかし開発チームの1人とおぼしきメンバーは、時代遅れになった個別のドライバのバグために回避策を講じるほど開発リソースに余裕はない、とした。無理からぬこととはいえ、現段階でのデスクトップLinuxの限界を見た思いだ。
えー?何で「デスクトップLinuxの限界」なんて一般論にするの?リリース前に取捨選択を迫られるのはあらゆるソフトウェアプロダクトに共通している悩みじゃないですか。
そして最後に。
Ubuntuプロジェクト創始者のマーク・シャトルワース氏は2005年に、約10億ドル(約12億円)の私財をなげうってUbuntu財団を設立。
$1=1.2円って ;-)
$ grep 220.234.72.194 /var/log/apache2/ubuntu.mithril-linux.org-access.log|wc -l 6712 $ grep iso /var/log/apache2/ubuntu.mithril-linux.org-access.log|grep 220.234.72.194|wc -l 6712 $ grep iso /var/log/apache2/ubuntu.mithril-linux.org-access.log|grep 220.234.72.194|head 220.234.72.194 - - [21/Oct/2007:06:29:18 +0900] "GET /releases/gutsy/ubuntu-7.10-desktop-i386.iso HTTP/1.1" 200 729608192 "h" 220.234.72.194 - - [21/Oct/2007:06:29:21 +0900] "GET /releases/gutsy/ubuntu-7.10-desktop-i386.iso HTTP/1.1" 200 729608192 "h" 220.234.72.194 - - [21/Oct/2007:06:29:23 +0900] "GET /releases/gutsy/ubuntu-7.10-desktop-i386.iso HTTP/1.1" 200 729608192 "h" 220.234.72.194 - - [21/Oct/2007:06:29:25 +0900] "GET /releases/gutsy/ubuntu-7.10-desktop-i386.iso HTTP/1.1" 200 729608192 "h" 220.234.72.194 - - [21/Oct/2007:06:29:27 +0900] "GET /releases/gutsy/ubuntu-7.10-desktop-i386.iso HTTP/1.1" 200 729608192 "h" 220.234.72.194 - - [21/Oct/2007:06:29:29 +0900] "GET /releases/gutsy/ubuntu-7.10-desktop-i386.iso HTTP/1.1" 200 729608192 "h" 220.234.72.194 - - [21/Oct/2007:06:29:31 +0900] "GET /releases/gutsy/ubuntu-7.10-desktop-i386.iso HTTP/1.1" 200 729608192 "h" 220.234.72.194 - - [21/Oct/2007:06:29:34 +0900] "GET /releases/gutsy/ubuntu-7.10-desktop-i386.iso HTTP/1.1" 200 729608192 "h" 220.234.72.194 - - [21/Oct/2007:06:29:36 +0900] "GET /releases/gutsy/ubuntu-7.10-desktop-i386.iso HTTP/1.1" 200 729608192 "h" 220.234.72.194 - - [21/Oct/2007:06:29:38 +0900] "GET /releases/gutsy/ubuntu-7.10-desktop-i386.iso HTTP/1.1" 200 729608192 "h"
…。
ふ ざ け る な
deny 追加。
ファイルシステムが致命的におかしくなっていました。/lib/udev が謎のファイルになっていたり、ircbot の log ディレクトリがファイルになっていたり…
入れ直してようやく動きました。細かな点を修正する必要がありますが、大体完了。はまりどころがいくつか。
$ sudo aptitude update パスワード: sudo: pam_authenticate: 会話エラー
$ LANG=C sudo aptitude update Password: sudo: pam_authenticate: Conversation error
はて。
_ 池田 [僕自身lessユーザじゃないのでどうでもよかったのですが、一応日本語関係で動いている人の耳に入れておこうと思った次第..]