2008年11月28日金曜日

今日はじめてDebian以外のdistroも便利だな,と思いました

仕事でもつかうマイナーなtoolであるsip-testerというパッケージ名でsippを自分がDebianにメンテナでいれています.

これは大変に便利なtoolなのですが,とある事情でUbuntuの上で今は開発をしています.そして今日になってテストすっかーという段階になりました.はて,sippあったっけか? とおもいつつ(Ubuntuをsetupしたのが遥か昔なので記憶の彼方..)タイプしてみると,sip-testerをいれやがれ,という表示が.

slで再現するとこんなわけ.

プログラム 'sl' はまだインストールされていません。  次のように入力することでインストールできます:
sudo apt-get install sl
-bash: sl: command not found

あたりまえですがubuntuがdebian派生なんだよなあ,と認識した日でした.

そろそろ安定してきたのでsip-testerもver3系にしないとな.それにしても他に誰か使っているんだろうか(w

2008年11月19日水曜日

sshd_configを設定しまくり

実は正直なんでcbcではだめなのか理解に至っていないのだが,ctrを使うようにサーバのsshd_configを設定しまくった.

OpenSSH情報 - SSHプロトコルに平文を回復できる脆弱性 という記事がでてて,その中で,こんなことがかかれている.
デフォルトのCiphersの設定は以下の通りです[ssh_config(5)より].

aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour128,arcfour256,arcfour,aes192-cbc,aes256-cbc,aes128-ctr,aes192-ctr,aes256-ctr

以下のように ~/.ssh/config に設定することで, AESをCTRモードで用いる暗号法のみが利用されます.

Ciphers aes256-ctr,aes192-ctr,aes128-ctr


自分のssh接続が読まれないようにするならこれでいいのであるが,守るべきサーバがあるなら,そっちのsshd_configにCiphersを追記すべきだよなあとおもったので,追加.

2008年11月18日火曜日

railsの実装速度をあげる方法でMac買えという話があるのだがそんな気がしない 件

Speeding Up Rails Development | Ruby on Rails というところでいろんな方法が紹介されているが,そのなかでMacかえという話.
Seriously, Just Buy a Fucking Mac

Just do it. Stop making excuses. I was a Windows user for about ten years but mainly because I didn’t know any better. I now work full time on a mac, both at home and at work, and there’s not a thing you could do to make me go back to Windows.

Windows simply won’t do a lot of things that you’ll want to do. Background jobs? Not a chance. Git? oh yeah, you can use msysgit but who the fuck wants to open up a separate program just to use git? Fuck off Windows. You’re slow and you suck.

Why get a mac? Rails runs faster. You can use the best text editor around, TextMate. You can install all those gems and plugins that all say: “This won’t work on Windows”.

Think getting a mac is too expensive? Get a low spec mac mini for $599. That’s what I started using and even though it’s low spec I never had a problem with it. You can use your USB keyboard, mouse and your monitor from your Windows machine. Still think it’s too much? Have a look on Amazon… Preowned Mac Mini for $350
  • まあわからなくはないのだが,railsで開発するような人でもLinuxやBSD使うのはむずかしいのか? それなら金もかからんうえに,もっと自然に使えると思うのだが..
  • TextMateもいいけど,日本語入力に難があるような..
まあなんにせよmacも安くなってきたのはいいのか.
rubypondのsemantic_form_builderはいいかんじそうなので使ってみよう.

2008年11月12日水曜日

ipswich二日目

朝からいろんな人にメールしていたら,庭の散歩に行くという誘いに乗れなかった.惜しいことをしたかも.

水曜の本番のために今日はデモをsetup.ひとつトラブルがあったけど修正はすぐ終了.まあいろいろ練習ぎみというか雑談ぎみで午後は終了.BT labの食堂のコーヒースタンドに14:13に行ったら14:15までの営業なので終了,というなかなかすごいことにでくわした.結局その場にいた人がクレームつけまくってコーヒーはのめたのだが.

そのあと15,6人でディナーへ.BT labの人がLinuxのdistributionの話をはじめたので,ubuntu, debian, RHEL, Fedoraの比較などていたら,いつしかdebianのssh問題がネタに.
ukでは退役軍人の日ではないのだが,みんなが胸につけてるワッペンはなんだと聞いたらそういうことだった.

ホテルにもどったのは22時.24時前に猛烈にねむくなったので就寝.

2008年11月1日土曜日

ssh-copy-idがmacにないの不便だなあ,と一瞬おもったのでcopyしてくる

ssh-copy-idないの不便だなあ,とつぶやいたら,yaegashi師がcopyしてくりゃ使えるよ,と教えてくれたので,確認したらシェルスクリプトだったし,早速etchからコピーしてきた.

まずはdebianからcopyしてきて

 ssh-copy-id remotehost

してみたら,remotehostの.ssh/authorized_keysに

 $ ssh-add -L

の出力であるところの

 The agent has no identities.

が追加されていた.

ちゃんと設定されるはずらしい(yaegashi師)のだがわからん.

勝手にpub keyをssh-add -Lしたりして探してくれるらしいのだが,失敗したときは.ssh/identity.pubをデフォで選ぶらしい.

自分の場合はid_rsa.pubだったのでまったくひっかからなかったようだ.

とりあえずここのあたりはよくわからないのだが

 ssh-copy-id -i .ssh/id_rsa.pub remotehost

として回避した.

2008年10月30日木曜日

OOo survey

参加したのはいいのだが,最後のsubmitの後が..

404 Not Found
The requested URL /user/thankyou.php was not found on this server.

2008年10月21日火曜日

MonetDBをdebianに

geos-configはlibgeos-devにはいっているのでそれだけapt-getして,あとはひたすらコンパイル.
./monetdb-install.sh  --enable-sql --enable-xquery --enable-geom --prefix=/usr/local

Successfully installed MonetDB in /usr/local/bin
You can start using MonetDB/SQL by starting
 /usr/local/bin/merovingian

はて.書き込み権限とかもちゃんとチェックしているようなので sudo でやる.

monetdb_adapter_0.9.1.tar.gzもってきて中をみると,swigが必要だと気がつく.

> swig MapiLib.ruby.i
> ruby extconf.rb
>
> make
> make install (you should typically have superuser rights for this one)

との要求が.要求どおりやってみると,
MapiLib.ruby_wrap.c:122:17: error: tcl.h:

でおこらられたので,apt-get install tcl-devして,さらにinclude行を tcl/tcl.hに修正.

2008年10月19日日曜日

cdn.debian.netインターナル第二版

というわけで,cdn.debian.netの最新状況を含めてupdateの発表を,Debian関西勉強会でやってきました.配布資料はそのうち出るだろうから,プレゼンを晒してみます.

今回はlogの解析もしてみたので結果に興味のある人はそこをよく見てほしい.
  • 2.5万アクセス/day
  • DNSのうち有効なのは約半分.(CNAMEが多いとおもわれる)
  • 利用実績をみるとクライアントのホスト,クライアントの国ともにパレートの法則が.
  • Top7は日米加韓中芬台なので,このへんの国は大陸別じゃなくて国別のミラーサーバの詳細設定を将来的には加えたい.
配布資料にない話もまあいろいろ出ましたが,中でも「現状のdebian.or.jpのサーバ,ネットワークがどうなっているのか関西にわかる人がいない」ということがわかりました.聞かれれば答えるつもりでいる人ばかりなので,整理したいですね..むしろ知りたい意欲がある人が聞きだしてまとめてほしいところです.


[googleapps domain="docs" dir="EmbedSlideshow" query="docid=dhmbcn2n_1267995qcb" width="410" height="342" /]

2008年10月3日金曜日

技能五輪にDebianがある件

競技職種一覧 ITPCネットワークサポート(pdf)を見るとわかるのだが,
与えられた「競技課題」を読んで、下記の作業を行う。
 
A.ハードウェアパフォーマンスの最適化のためのBIOS設定等
B.LANケーブルの製作
C.Linux(Debian)によるサーバ構築作業およびネットワーク構築作業
D.MS-Windows 2003 Serverによるサーバ構築作業
E.ネットワーク機器の設定(Linuxサーバもルータとして使用する可能性あり)

ちょっとすごいですよ.これ.
というか http://www.javada.or.jp/jigyou/gino/zenkoku/zenkoku.html にぜんぶあるけど,どれもこれもすごい課題です.硬派だ.一度見にいくか.

2008年7月15日火曜日

macosx debian vistaでファイル共有をする

まあこれもまたこんなの簡単だろう,とおもっていたらはまっていたのでメモ.

先日はmacはありがたいことにrsyncがデフォではいっているので簡単にmac->linuxはできたなどと書いていたが,実はそんなに簡単じゃなくて,rsync 3.0 にして --iconvをつかえばokそうだ,とも書いたののまとめ.

基本的には
  • mac<->debianはrsync3.0.3でsync
  • debian<->vistaはsynctoy2.0を使う.
  • mac portsでrsync3.0.3にする.いれたrsync3.0.3にPATHをちゃんと通しておく.
  • iconv --listをして UTF-8-MACがあるのを確認する.
  • debianで使うfile名のencodingを決める.UTF-8でいいだろう.
  • rsync --iconv=LOCAL,REMOTEと指定するので,--iconv=UTF-8-MAC,UTF-8 にすればいい
  • macでつかうtimemachineとかのfileは除外

そんなわけで

macからdebian

rsync --iconv=UTF-8-MAC,UTF-8 -u -a --progress ~/Documents/{work,private} debian:Documents --backup-dir=~/tmp --delete --exclude ".DS_Store" --exclude ".com.apple.timemachine.supported" --exclude "SyncToy_*.dat"

debianからmac

rsync --iconv=UTF8-MAC,UTF8 -u -a --progress loon3:Documents/{work,private} ~/Documents --delete --exclude ".DS_Store" --exclude ".com.apple.timemachine.supported" --exclude "SyncToy_*.dat"

2008年6月22日日曜日

OpenVZで移行準備

環境はetch上のvzctl(3.0.11-13).これがやってみたらえらい簡単で拍子ぬけした次第.というわけで今その他の作業をしているのだが忘れるまえにメモ

etchにminimalからイメージをつくる

$ sudo vzctl create 1002 --ostemplate debian-4.0-i386-minimal --hostname araki2
Creating VPS private area: /var/lib/vz/private/1002
Performing postcreate actions
VPS private area was created

IPアドレスを設定.bridgeを手で用意したりトンネル設定する必要もない.



$ sudo vzctl set 1002 --ipadd 210.157.x.y --nameserver 210.157.x.z --save

おわったら vzctl start 1002して,vzctrl enter 1002ではいり,apt-get update.(sshが例の穴いりのやつなので..)

/homeをmountする.
vzctl start 1002時に/homeがmountされるように,/etc/vz/conf/1002.mountを

 
#!/bin/sh
mount --bind /home /var/lib/vz/root/1002/home

とする.おわったらこれに+xをしておく.

uid,gidをvipwとvigwしてhostにあわせた.



/etc/vz/conf/1002.umountも用意してみたんだが,どうもいらんようであります.

2008年6月17日火曜日

rails2.0.2+ruby1.8.7でtestを通らなくなった.

donrailsがうごいてるdonrails.araki.netではruby1.8.5で動いているので問題ないのだが,ノートの上のsidではrubyが1.8.7にあがったようで,rails2.0.2+ruby1.8.7でtestを通らなくなった.

まずひとつ目はtruncate(/var/lib/gems/1.8/gems/actionpack-2.0.2/lib/action_view/helpers/text_helper.rb)を見てみる.

      def truncate(text, length = 30, truncate_string = "...")
if text.nil? then return end
l = length - truncate_string.chars.length
(text.chars.length > length ? text.chars[0...l] + truncate_string : text).to_s
end

どうやらtext.chars.lengthというのを中で使っていて,ruby1.8.7ではtext.chars.lengthがつかえない.これはので,text.chars.to_a.lengthとすれば回避できた.1.8.7で,Enumerable::Enumerator を返すようになったのが問題なのかな.

irb(main):001:0> "hoge".chars.length
NoMethodError: undefined method `length' for #<enumerable::enumerator:0xb7be8c70>
from (irb):1
irb(main):002:0> "hoge".chars.to_a.length
=> 4
irb(main):003:0> "hoge".length
=> 4

というかんじ.はて.etchではどうかとおもったが,

irb(main):001:0> "hoge".chars.length
NoMethodError: undefined method `chars' for "hoge":String
from (irb):1
irb(main):002:0> "hoge".chars.to_a.length
NoMethodError: undefined method `chars' for "hoge":String
from (irb):2
from :0
irb(main):003:0> "hoge".length
=> 4
irb(main):004:0> RUBY_VERSION
=> "1.8.5"

あれれ.しかしどっちにしろ"hoge".lengthですむのになんでString.charsなってんだろ.国際化対応のせいなのかなあ..よーわからん.世にはこんなパッチを出している人もいるようで. http://www.ruby-mine.de/assets/2007/12/31/ruby-19-on-rails-fixes.diff

手元ではrails2.1.0 + ruby1.8.7でやる時期がきたのかもしれない.

debian etchにdb2をいれる話update

こないだのDebian etchにdb2をいれる話をちょいとupdate.
  • libstdc++.so.5がないと動かないので,apt-get install libstdc++5 した.
  • ibaio.so.1がないとうごかないので apt-get install libaio-dev
  • javaはわざわざいれなくてもinstallerは動いた.
  • いい記事があった.

2008年6月8日日曜日

DB2をDebian etchにインストールする

今回は古いLets note CF-T1にいれてみた.

Debian Etchのインストール

こいつはUSB bootとかしないし,専用のCDROMドライブじゃないとbootしてくれないので,今回はPXEブートさせることにした.
今回はじめてwindowsにtftpdサーバおいてみたけど異様に簡単だった.とりあえずdebian etchをnetinstallしたのでそのzipをおいとく.これを展開して起動するだけ.この設定だと192.168.100.ほげほげ のIPを取得してインストールするので,必要なら設定する.

Java入れ.

Software/Java - Debian GNU/Linux スレッドテンプレを見てやった.
non-free の apt-line を追加した後で、
etch の場合は

# aptitude install sun-java5-jdk sun-java5-demo sun-java5-source sun-java5-doc sun-java5-plugin sun-java5-fonts
Sunにつないでdocをとってくるのが微妙に面倒ではある.

IBMからdb2をとってくる.
  • db2exc_950_LNX_x86.tar.gz
  • db2_v95_linuxia32_nlpack.tar.gz
うしろのをとってこないと日本語がナニなことになる(未確認)ようだ.で,展開したら,nlpackとexpというdirの下にfileがわらわらできる.
とりあえず
export LANG=C をしてから expの下で sudo ./db2setup.
Installation Prerequisites > DB2 Disk and Memory Requirementsを見ようとしたら
Cannot display the web page, because a supported web browser cannot be found.

Ensure that one of the following browsers is installed and located in a directory in the PATH environment variable:
- firefox
- mozilla
- opera
ということでEpiphanyでは見れないようだ.まああんまりなので,
/usr/local/bin/firefox -> /usr/bin/epiphany
という設定をしこむ.

log抜粋.
New instances:
Instance name: db2inst1
Start instance on reboot: Yes
TCP/IP configuration:
Service name: db2c_db2inst1
Port number: 50000
Instance user information:
User name: db2inst1
Group name: db2iadm1
Home directory: /home/db2inst1
Fenced user information:
User name: db2fenc1
Group name: db2fadm1
Home directory: /home/db2fenc1

DB2 Administration server:
Instance user information:
User name: dasusr1
Group name: dasadm1
Home directory: /home/dasusr1



Contact specification:
New contacts:
Name: db2inst1
Instance: db2inst1
E-mail address: db2inst1@cft1
E-mail address is for a pager: No


Response file name: /root/db2exp.rsp

Command to be run: "cd /opt/ibm/db2/V9.5/;/opt/ibm/db2/V9.5/instance/db2icrt -a server -s wse -u db2fenc1 -p db2c_db2inst1 db2inst1".
The instance "db2inst1" has been created successfully.

こんどは nlpack下で db2setup
さてどうなるか.あっさりいった.
db2インストール

2008年5月22日木曜日

今日は大学でmeeting2本

ひとつはいつものGMでちょっとばかりDebian OpenSSH事件の話をする.
B4にubuntu使いもいたようなのが収穫か.そしてやはり他OSに波及する件は知られていなかった.
[googleapps domain="docs" dir="EmbedSlideshow" query="docid=dhmbcn2n_1hb8sndfm" width="410" height="342" /]
もうひとつは正直まとまりないがインターネットアーキテクチャ話といいつついろんな話.23時ちょい前に池ノ上を出る電車で帰る.

2008年5月18日日曜日

土曜の夜は勉強会に参加していた

東京エリアDebian勉強会報告からは落ちているけど(宴会君にいれなかったせいだなきっと),参加してました.
吉藤さんに会うのは実は大学を出て以来はじめてでありました.

2008年5月13日火曜日

rubygems 1.1.1-1の謎

noteとdesktop両方にsidいれてて,desktopは今朝apt-get dist-upgradeしたわけです.

そしてそのdesktopでgem list をしてみると 何もインストールされていない,と出ます.
/var/lib/gems/1.8/gems にはいっぱいインストールされているのに.

noteのほうは快調に/var/lib/gems/1.8/gems 以下にあるものを表示しています.

はいっている rubygemsとlibgems-ruby1.8はどちらも1.1.1-1なんだがな..

まあどこかで何かがおこったようで,そのおかしいほうであらためて gem install railsとかしてみると,
/usr/lib/ruby/gems/1.8/gems以下に展開されるようになっていました.

まあ何がただしいのかわからないので単なる記録でした.


とおもってたら田郷さんのアドバイスをもらっていろいろ見てみたら,rubygems/default.rbにそのpathはハードコードされている,という話をいただいた.locateしてみたらなんと /usr/local/lib/site_ruby/1.8/rubygems/defaults.rb が存在していたので,,消してみた.

うまくいきました... ゴミには注意しましょう.動いていたために気がつかなかった.

2008年4月26日土曜日

debianのSHA-256に移行について考えてみる.

結論:用意はできている.しかしまだ広く守る段階にはない.そしてあと2年で対応しなければならない.

ふとこんな記事をみたのでした.
神田氏によれば、「2004年以降、ハッシュ関数が相次いで破られたため」に、米国政府は次世代暗号への移行を決意したという。まず、2004年8 月、中国の研究者グループにより「MD5」などが破られた。それを受けてNISTでは、SHA-1も破られることを予想してか、SHA-1の運用は 2010年までに中止し、SHA-2に移行する計画であることを同月に表明した。

 そして予想通り、2005年2月にSHA-1も事実上破られ、同月、NISTは移行計画の実行を宣言。ハッシュ関数だけではなく、共通鍵暗号や公開鍵暗号も含めた大規模な世代交代を予告した。これによって生じるのが「2010年問題」である。


まあus政府になんか使われなくたって構いやしないよ,という声もあるかもしれないが,いちおうdebのばあいはMD5, SHA1(160),SHA256のhash値と共に配布している.
他はどうだろう.gnupgはSHA256,384,512も使える(1.4以降でつかえる)のだが,DebianのMLに流れる署名が全てSHA256以降というわけではない.
というかSHA1は見るけどそれ以降がついたのは見たためしがない.(このあたりの規約はあったかわからない..)
GnuPG のデジタル署名で RSA と SHA-256, SHA-384, SHA-512 を使う方法というpageでDSA鍵の限界とかいろいろ説明してある.

もっと詳しく知っている人がいたらぜひ教えてほしい.

2008年2月21日木曜日

cdn.debian.netのミラーホストが正常に動作チェックを厳しくしなければいかん か

sugiさんのレポートにより.cdn.d.oの北大エントリは削りました.九大はずすのをわすれたことに今気がついたが..

本当の原因は噂に聞くにとどまるので,こわれたことをなんとか感知して排除する方法を考えないとあかんわけですが,

ファイルサイズ、タイムスタンプ、ヘッダは同じなんですが。

ということなので,中みてmd5なりsha1なりしないといかんのですが,全部が壊れているわけじゃないでしょうし,どう保証したらいいものか.

直近のrsyncしたfilelistがproject/traceみたいなかんじでとれるわけではないようなので,どうしたらいいものか.とおもったけど,http://hanzubon.jp/debian/project/experimental/main/binary-i386/Packages.diff/2008-02-21-0809.38.gzとかをみると

29806,29810c
Filename: pool/main/s/spip/spip_1.9.3~svn11152-1_all.deb
Size: 2935190
MD5sum: 29f308f82ea809f51b4f8498ba32d993
SHA1: fd2b94ba8f7bdc48907fc22225348acf4bc71002
SHA256: 62c4e1a68a3be1943ba2b53ddf4e9fa0fe61e12a502b588dd036c01adaa44c50
.
29803,29804c
Version: 1.9.3~svn11152-1
Depends: apache2 | httpd, debconf (>= 0.5) | debconf-2.0, php-html-safe, php5, php5-mysql
.
29800c
Installed-Size: 12949
.

とかなっているわけでこの値とずれてないかチェックするようにすりゃいいのかと思ったわけです.さて,実装はいつかな.まあそのうちやります.

2008年2月17日日曜日

cdn.debian.net

5日くらいから仕込んでバッチリ動作していたcdn.debian.netを今日アナウンスしました.詳しい話はそっちを見てくれと.

deb http://cdn.debian.net/debian/ sid main
deb-src http://cdn.debian.net/debian/ sid main

を指定しておけば世界中のdebian userが幸せになれるようDDみんなが参加できるようにがんばりますのでご支援のほどよろしくおねがいします.