上川純
一
![]() |
今 回 の 事 前 課 題 は 「こ こ 最 近 Debian を 使 って い て ハ マ った こ と /ち ょっと 感 激 し た こと」 もしくは「apt の sources.list は こう書く」 というタイトルで 200-800 文字程度の文章を書いてください。 というものでした。 その課題に対して下記の内容を 提出いただきました。
あんまり Debian 特有ではないけど、 Gimpってかなり使える事が判明して、 結構感動しました。 元々 Mac で Adobe Photoshop/Illustrator を使っていたのですが、 メイン PC も Debian になったので、 Gimp を使ってみようとあれこれしてい るうちに Gimpってイイ!という事が判明。 かなり使えるやつです。 後普通の人は知ってて当り前かもしれないけど gnome-utils はなんかお得感一杯 (でもないけど) なパッケージでこういうのは結構小さな感動があったりし ます。
開発環境を用意しようと、 家に転がっていた PentiumII のマシンに sarge をインストールしたのが、 Debian との出会いです。 本番環境も当然 Debian を使おうと思って、 DELL の SC430 を購入した後に、 etch が登場したばかりで、 安定的に SC430 上で動作する Debian が無いことに気づき、 仕方なく CentOS を利用することにしました。 その時 から、 開発環境は Debian、 本番環境 (SC430) は CentOS で運用しています。 CentOS マシンが増えてしま い、 etch に全面移行することに踏み切れないため、 CentOS をいじっている時間が長いですが、 Debian マシ ンに戻る度に、 あるべきところにあるべきファイルがある、 通っているべきパスが通っていることに感動し ま す 。
最近自宅にオレオレ apt レポジトリを作った事でお気に入りの環境が素早く構築できるようになってちょこっと感動しま した。
あと libdwarf-dev というライブラリのパッケージが sarge まであったのに etch から無くなっていて悔しい思いをしたので すが、 今日 libdw-dev という同等のライブラリを見つけてマジで感激しました。
% m4 -DDIST=etch /etc/apt/sources.list.m4 > /etc/apt/sources.list
|
などと細かく分けた apt-line をその都度生成したり、 symlink で切り替えたりしていました。 もっとカッコイイ方法があるん じゃないかと確信しています。
テストではまって、 家サーバをいまだに Sarge から Etch に移行できていません。 orz 久々に時間ができたので、 Etch で構築 した OpenBlocks266 で、 下記のように移行しようと、 Etch で環境作りました。
現状: Sarge
Apache 2.0 + mod_php + PHP4 + PukiWiki + mod_security 1.8
移行後の予定: Etch
Apache 2.2 + mod_fcgid + PHP5 + PukiWiki + mod_security 2.0
んで、 phpinfo() はちゃんと結果を返すのに、 PukiWiki で index.php にアクセスすると、 failed fopen でこけてしまうので、 困ってしまったなぁと。 パッケージをそのまま使うのなら aptitude update;aptitude dist-upgrade でも良いのかもしれません が、 カスタマイズしている部分があるので、 時間を割いて検証してみます。 (いつだ?) 他のサーバも Web サーバ が終わらないと検証できないので、 Pending…。 臆病者なので、 いきなりアップグレードだなんてできませ ん。 w
ところで、 PukiWikiってなぜパッケージないんでしょうね。 別に必要はありませんけど。
他は、 クライアントとして Sid を使っていてアップデートによって環境がおかしくなってしまっても、 そのまま使っていたら 結構馴れてしまうんだということに気がつきました。 ダメ人間です。
とくにないです。 通常と違うのは、 自宅の Hobbit monitor のサーバ&エージェントや、 自宅鯖を運用するの に共通で使っているスクリプトを配布するのに、 自宅の LAN で立てているリポジトリを追加している程度 です。
deb http://cdn.debian.or.jp.nyud.net:8090/debian/ sid main
|
と書くことがたまにあります。 cdn.debian.or.jp を他に変えても日本では速くないので意味がありませ んね。 。
日本にいるときは
deb http://cdn.debian.or.jp/debian/ sid main
deb-src http://cdn.debian.or.jp/debian/ sid main |
ですね。 etch までは java がなかったので行追加していましたが、 現在は変なツールをいれてないのでこれで十分 です。
久しぶりに新規インストールしたら、 /etc/default/localeがあるのに気が付かずはまりました。 また少し前ですが、 teTeX から TeXLive へ大きな問題なく移行できたのには感心しました。
うまく書けないので best practice を知りたいところです。
普通に使っているだけなのに日々ハマっていますね。 うーむ。
nano ではなく vi で…じゃなくて、 sources.list 自体には cdn.debian.or.jp だけ書いています。 他のものについて は、 /etc/apt/sources.list.d/ 以下に用途に分けて書いてます。 で、 必要なくなったら(official に入った、 配布を取りやめたな どの場合) コメントアウトしたり消したりしています。
deb http://www.debian-multimedia.org sid main
|
ぐらいかなぁ、 追加してるのは。
使用 OS は、 Debian etch stable です。 最初に参考文献の紹介です。 以下のページを参考にしました。
最適なミラーを探し出すのに、 apt-spy と netselect-apt を使用しました。 最初に、 apt-spy です。
$ sudo apt-spy update $ sudo apt-spy -d etch -s JP |
これにより、 以下の行が自動的に sources.list に書き込まれていました。 既存の sources.list は sources.list.bak に退避され ました。
# sources.list generated by apt-spy v3.1
deb http://ftp.jp.debian.org/debian/ etch main deb-src http://ftp.jp.debian.org/debian/ etch main #deb http://security.debian.org/ stable/updates main |
次に netselect-apt です。
$ sudo netselect-apt
|
これにより、 以下の行が自動的に sources.list に書き込まれていました。 既存の sources.list は sources.list.orig に退避され ました。
# the main Debian packages.
deb http://ftp.dti.ad.jp/pub/Linux/debian/ stable main contrib # Uncomment the deb-src line if you want ’apt-get source’ # to work with most packages. # deb-src http://ftp.dti.ad.jp/pub/Linux/debian/ stable main contrib # uncommenting the following line will enable security updates #deb http://security.debian.org/ stable/updates main contrib |
上記に加えて、 以下の行も推奨ということで追加しておきました。
deb http://cdn.debian.or.jp/debian etch main contrib non-free
deb http://ftp.debian.or.jp/debian-security etch/updates main contrib non-free deb http://security.debian.org/ etch/updates main contrib non-free |
初めて apt-get を使った時、 すごく感動した(全然最近じゃないけど、 それ以外に debian で特別感動した事って無いよ うな、 、 、
sarge → etch の upgrade で kacpid が暴走してハマったのは 5 月に話したし、
samba を install した時、 Windows からマシンのアイコンは見えているのに、 「ネットワークパスが見つかりません」 と出 て繋げなくてハマったのは CentOS の話だし、 、 、
そ う 言 え ば 、 こ の 時 、 CentOS のパッケージには cfdisk と w3m が見当たらなくて、 「やっぱり debian ってパッケージ多い んだなあ」 と改めて思いました(ちょっと感動) 。
あと「ハマった」 のとはちょっと違うけれど、 数ヶ月前、 tDiary に脆弱性が見つかった時、 package がなかな か update されなかったので、 結局、 package は uninstall して自分で手動で入れ直したとゆー事がありま した。
debian はまった OR ハマった OR はまって OR ハマってに一致する日本語のページ約 57,200 件中 1 - 50 件目 (0.19 秒)
debian 感動の検索結果約 311,000 件中 1 - 50 件目 (0.20 秒)
debian でハマった人に対して、 感動した人は 5 倍程度いるようです。 めでたしめでたし。
#先月と同じネタですいません。
DELL の PowerEdge SC440 にネットワークインストールの CD からインストールしたところ、 すっきりさっぱり、 どこにも ハマらずにインストール出来てしまったことにちょっと感激しました。 後の様々な設定 (web サーバや postfix、 などなど) も aptitude のおかげで楽々インストール。 当たり前の用に woody の頃から使ってましたが、 これは感激していいことなんだろう な、 と思います。
デフォルトのまま使っています。 逆に、 どのように書くのがスマートなのか、 勉強させていただきたいと思い ます。
第 5 回関西 Debian 勉強会の時に、 講師の方から頂いた資料に対して、 勉強会の表紙を作ろうと思い作ったのだが、 pdf で配布資料と結合する際に pdftk がインストールを試みると、 libgcj の関係でインストール出来なかっ た。 時間がなかったので、 依存関係の解決だけだったので、 snapshot.debian.net からパッケージを持ってき てインストールを行ったが、 やはり、 このようなサービスが有志によって提供されているって素晴らしいで すね。
実は今まで Debian はちょっと敷居が高いな、 と思っていました。 ですが、 先日オープンソースカンファレンス.db で HP の サーバーが当たってしまったので、 思い切って amd64 版の etch を入れました。 (目録は Geeko のぬいぐるみだったの に……) 噂には聞いていましたが、 Debian のパッケージは豊富ですね。 お題どおり「ちょっと感激」 しまし た。 気がつけば sid + experimental にしてデスクトップ PC として常用しつつあります。 (サーバー用 PC な のに……)
これまで sarge でがんばっていたのですが、 今回のお題をみて、 「これは etch を入れにゃーあかんな」 ということで入れ て み ま し た 。
sarge の時は、 日本語入力の設定やサウンド出力で苦労しましたが、 etch ではあっさり使用できるようになって、 YouTube もクリック一発で Flash のプラグインが組み込まれ、 あっさり動画が再生されました!(おぉ、 感動!)
噂の GUI インストーラも試してみましたが、 なかなかよさげで、 人に勧める時に良い感じ。 (個人的には動作がキビキ ビしている CUI で十分だが)
apt による依存関係の自動解決・ソフトウェアのコマンド一発インストール・ソースコードのコマンド一発取得が当たり前にな りすぎて、 Debian を使っていても感激しないのですが、 他の OS を使っているとしょっちゅう Debian のすごさに感激します。 他の OS にはもう戻れません。
昔は色々 unofficial なパッケージのためのエントリを加えていましたが、 最近では official なものだけで事足りるので (素晴らし い!!) 特に改変していません。 以前は testing には unstable 経由でしかセキュリティサポートが入りませんでしたが、 最近では security.debian.org の lenny/updates 経由でも入るようになったので、 それは取り込めるようにしてい ます。
Debian だからいいかな。
ハマる前の段階ですが、 Debian GNU/Hurd のインストールができてません。 最初のインストールは出来て再起動後の設定 がよく分からず、 ドキュメント読んでも進まず。 MAKEDEV で何作ればいいの? fstab は? 使わないかも知れないけど、 とり あえずインストールしてみたい。 いつの間にか楽なインストールや設定に慣れてしまった私。 勉強会までできるかどう か...
普通の sources.list です。
deb http://ftp.riken.go.jp/pub/Linux/debian/debian/ unstable main
contrib non-free deb-src http://ftp.riken.go.jp/pub/Linux/debian/debian/ unstable main contrib non-free deb http://www.debian-multimedia.org sid main deb-src http://www.debian-multimedia.org sid main deb http://ftp.debian-unofficial.org/debian sid main contrib non-free restricted deb-src http://ftp.debian-unofficial.org/debian sid main contrib non-free restricted ##deb http://www.mithril-linux.org/~henrich/debian/package/ ./ |
仕事で設定ファイルをパッケージにまとめたかったなと思ってやってみたら cdbs で意外に簡単で感動しました。 以前 cdbs 等 のツールについてお話しがあったと思いますが誰でもできることはあまり示されなかったかもしれないので、 こんなような作っ たと紹介したいです。
”/”ファイルシステムのようなディレクトリ階層を作成。
設定ファイルをそこで管理する。 例えば /project/shorewall-basic-settings だったらそこに etc/shorewall ディレクトリを
作って設定ファイルを格納。 僕のプロジェクトは以下の感じ、
$ find ~/project/shorewall-basic-settings . ./etc ./etc/shorewall ./etc/shorewall/interfaces ./etc/shorewall/policy ./etc/shorewall/rules ./etc/shorewall/zones ./etc/default/shorewall |
そのディレクトリに debian ディレクトリを作成、 以下のファイルを記入
==./debian/rules==
#!/usr/bin/make -f DH_ALWAYS_EXCLUDE".svn" include /usr/share/cdbs/1/rules/debhelper.mk ==./debian/install== etc/shorewall/* etc/default/shorewall ==./debian/changelog== dds-shorewall-basic-settings (1.0) unstable; urgency=low * Initial release of shorewall settings package. -- David Smith <davidsmith@acm.org> Thu, 16 Aug 2007 14:12:45 +0900 ==./debian/control== Source: dds-shorewall-basic-settings Section: misc Priority: extra Build-Depends: debhelper (>= 5), cdbs Maintainer: David Smith <davidsmith@acm.org> Standards-Version: 3.7.2 Package: dds-shorewall-basic-settings Architecture: all Depends: shorewall, ${misc:Depends} Description: Customized basic shorewall configuration for my servers These settings set up shorewall to run allowing basic services that all hosts should support. It blocks everything except ping, ssh, and UDP traceroute from the outside world. ==./debian/copyright== Copyright 2007 David Smith <davidsmith@acm.org>. Public Domain. |
終わりに
debian ディレクトリは changelog 以外ほとんど変更しないので管理しやすくて明瞭だと思います。
最近 sources.list を空っぽにして sources.list.d に stable.list、 testing.list、 security.list などで分別してみました。 目的として は cron-apt で security.list だけに指したり自作パッケージで専用レポジトリを追加削除したりしたかったのですが、 結局 libapt のバグらしくて sources.list.d を使っているなら Dir::Etc::SourcesList を設定しても効かないみたい だったから止めてしまって新規インストールのような綺麗にまとまった sources.list を書くことにしちゃいま した。
Debian はもっぱらサーバーとして利用しています。 メールサーバー兼 web サーバーが一台、 開発ようのサーバーを 2 台動作さ せています。 現在 PHP によるサービスを開発していまして、 その際の設定で躓いたことを報告します。 開発自体は Windows で行っていまして、 IDE として PDT という Zend が提供している eclipse プラグインを使用して います。 サーバーへのデプロイとブレークポイントを設定してのデバッグができるのですが、 軽くはまっと きました。 デプロイ自体は samba 経由で設定できたのですが、 デバッグがなかなかうまくできませんでし た。 ZendDebugger を php.ini に設定するさいに Windows と Linux で書式が違うことに気がつかずはまりま した。
zend_extension_ts="c:\php\ZendDebugger.so"
|
zend_extension="/usr/local/lib/ZendDebugger.so"
|
上記のように設定しなければいけない所を Debian で Windows の設定をしていたため動作しなかったので した。
第
31 回東京エリア Debian 勉強会 2007 年 8 月
____________________________________________________________________________________________