el-get on Debian

投稿者 okkez 2011-11-12 07:54:00 GMT

Debian GNU/Linux の sid で el-get と使ってみたのでそのまとめ。

あ、emacs23 を使っています。

$ sudo apt-get install el-get

標準のレシピは /usr/share/el-get/recipes/ 以下にあります。 今、数えたら420個くらいレシピがありました。

レシピの書き方は、それらのレシピを見たりすればなんとなくわかるんじゃな いかと思いますが、実際に一からレシピを書くことはそんなにありません。 既存のレシピがダメな場合にちょっと変更したりするくらいです。

自分の .emacs は https://github.com/okkez/dotfiles で公開しています。

https://github.com/okkez/dotfiles/blob/master/emacs-config/config-el-get.el にコメント入りで書いているのでよかったら参考にしてください。

自分の用途では既存のレシピでダメだったのは、依存関係が壊れてる (haml-mode, sass-mode)、アップストリームのリポジトリが移動しているのに 追従していない(yasnippet)、余計なことをしている(ruby-electric) でした。

el-get のいいところは、

  • いろいろな配布形式に対応している
  • レシピを書いて sync するようにしておけば、初回起動時に自動でインストールできる
  • 無理にレシピに設定を書かなくてもいい
    • 既存の資産を活かすことができる

でしょうか。 起動時に入ってなかったら自動でインストールしてくれる点が気にいってます。

el-get を使う前後で ELPA も検討してみたのですが、el-get が ELPA に対応 しているので emacs24 になっても el-get を使うようにしておけば、emacs24 になっても特に問題ないかなーと考えています。

カテゴリ ,  | タグ  | コメントなし | トラックバックなし

rabbit を新しいノートPCに入れてみた

投稿者 okkez 2011-07-14 15:09:00 GMT

RubyKaigi2011 に合わせて新しいノートPCを買ったので rabbit を入れてみた。 Debian sid に入れたんだけど、動くようになるまでちょっと苦労した。 インストールは gem i rabbit で出力されたエラーを解消するようにパッケージをひたすら入れるだけだった。

rabbit を起動しようとすると LoadError: can’t find theme: rabbit-images. が出力されてちゃんと動かなかった。 rvm を使っているのでたぶん $LOAD_PATH の設定が合わないんだと思った。

なのでコマンドのオプションに -I ~/.rvm/gems/ruby-1.9.2-p180/gems/rabbit-0.9.3/data/ を追加すればいい。

書いてから気付いたけど、普通に gem で入れたときでも同じなんじゃないかと思った。

一応、ちゃんと動いたので発表ができる。

カテゴリ ,  | コメントなし | トラックバックなし

Let'snote CF-Y4 with SSD

投稿者 okkez 2010-02-16 01:58:00 GMT

Debian を入れてもう5年ほど使っている Let’snote CF-Y4 がどうにも遅くなってきたのでSSDに換装する事にした。 使ったSSDはこれ。

この辺を参考にした。

Let’snote テンプレによると、今回使った Transcend の SSD は JMicron のコントローラを使っているので Let’snoteとは相性が悪いらしい。まあ、参考サイトの二番目のように動いている例もあるのだから大丈夫だろうと思って購入した。 結果的にはうまく動いていると思うが、なかなかに紆余曲折があった。

最初に換装した時には、そのままではBIOSレベルで認識しなかった。 で、色々調べて、SSD No1ピン プルアップ/Ochibi-net を見つけたので真似してみることにした。 しかし、電子工作に必要な工具類は全く持ってなかったので、友人に助けてもらった。 もちろん半田付けも友人にやってもらった。お礼兼夕食としてお寿司の出前を取った。

それでも認識しなかったので、SSDが生きていることを別のマシンにつないでチェックしてもらった。 ついでに、元のHDDに戻してもHDDを認識しなかった。

終電の時間だったので諦めて帰宅したのだけど、ふと思いついてSSDを接続しているコネクタをよく見てみたら、表裏どちらでも挿すことができる形状になっていた。「これは!」と思って裏表入れ替えて再接続して確認したらBIOSで認識した。

結論

Let’snote CF-Y4 を SSD に換装するのは可能だけど、ちゃんといろいろ確認して作業しないと思わぬトラブルになりますよ、と。

あと、Let’snote CF-Y4 の場合はプルアップ無しでもうまく動くかもしれません。

カテゴリ ,  | タグ  | コメントなし | トラックバックなし

grub2 で boot しなくなって焦った件

投稿者 okkez 2009-12-18 14:35:00 GMT

昨晩、メインマシンをなんとなく再起動したら以下のようなエラーメッセージが出て起動しなくなった。

error: you need to load the linux kernel first.

久しぶりにこんな状態になったのでテンパった。 さすが sid だ。油断してるとハマる。

LiveCD でなんとかしようとして KansaiRubyKaigi02 で使った LiveCD を使ったんだけど rescue モードで起動しても chroot できない。何でだろうと思ったら、アーキテクチャが違っていた。対象のマシンは x64 なのに LiveCD は x86 向け なのでした。

仕方が無いので新しいネットワークインストールの CD を焼いて (もちろん amd64 の) rescue モードで chroot して grub-legacy を無理矢理インストールして一応起動するようにはできた。

その後、2ch の Debian スレなどを見てみると同じ問題でハマっている人がいて、その人が見つけてきた BTS があったので読んでみるとまったく同じ問題でした。

カテゴリ  | タグ  | 1 comment | トラックバックなし

Debian sid with nvidia

投稿者 okkez 2009-10-15 05:49:00 GMT

Debian sid を使っているとたまに Kernel を更新する必要がある。単純に Kernel を更新してしまうと X が起動しなくなってしまい困る。そのときの更新方法をいつも忘れるので自分用のメモとして書いておく。

# 更新後の kernel で起動する
$ sudo m-a auto-install nvidia
$ sudo aptitude update && sudo aptitude safe-upgrade # nvidia-glx を更新する
$ sudo shutdown -h -r now

手順自体は上記の通りいたって簡単。更新後の kernel で起動してからモジュールを入れ直すだけ。

カテゴリ ,  | タグ ,  | コメントなし | トラックバックなし

how to use nadoka with ssh port forwarding

投稿者 okkez 2009-07-03 05:42:00 GMT

nadoka さんを設定してみたのでメモ。

インストールは Rubyforge からソースコードをチェックアウトすればよい。(atdot.net のは SSL 対応が入ってないらしい)

設定はささださんとこのを見ながら適当に。 うちでは basicconfig を作って接続先ごとに server の設定だけ異なるサブクラスを作って継承させた設定ファイルを用意した。 接続先は社内 IRC と Ruby と Debian だけ。

で、うちでは自宅サーバに nadoka さんを常駐させているが port を開けていないので SSH port forwarding を利用して nadoka さんに接続することにした。

nadoka さんがいくつかのポートで待っているので以下のようにしてみた。

ssh -N -f -L 6661:localhost:6661 foo@example.com
ssh -N -f -L 6662:localhost:6662 foo@example.com
ssh -N -f -L 6663:localhost:6663 foo@example.com

一応、 nadoka さん起動 -> ssh 起動という順番で操作する必要があるっぽい。

いくつか気になった点。

  • /nadoka reload しても basicconfig の変更は反映されない?
  • pid ファイルを指定出来ないので終了がめんどい

後者については bitclust の standalone.rb を参考に適当にオプション追加してみた。

diff --git a/nadoka.rb b/nadoka.rb
index 2eeca7e..8627ee6 100644
--- a/nadoka.rb
+++ b/nadoka.rb
@@ -31,6 +31,7 @@ $stdout.sync=true
$NDK_Debug = false rcfile = nil
+pid_file = nil
optparse = OptionParser.new{|opts| opts.banner = "Usage: ruby #{$0} [options]"
@@ -53,6 +54,11 @@ optparse = OptionParser.new{|opts|
puts 'Enter Nadoka Debug mode' }
+ opts.on("-p PATH", "--pid-file=PATH",
+ "Write pid of the daemon to the specified file."){|path|
+ pid_file = path
+ }
+
opts.separator "" opts.separator "Common options:"
@@ -72,12 +78,25 @@ unless rcfile
puts optparse exit end
+if pid_file
+ if File.exist?(pid_file)
+ $stderr.puts "There is still #{pid_file}. Is another process running?"
+ exit 1
+ end
+ pid_file = File.expand_path(pid_file)
+ File.open(pid_file, 'w'){|f| f.write(Process.pid) }
+end
begin GC.start Nadoka::NDK_Server.new(rcfile).start rescue Nadoka::NDK_QuitProgram #
+ begin
+ File.unlink(pid_file) if pid_file
+ rescue Errno::ENOENT
+ # do nothing
+ end
rescue Nadoka::NDK_RestartProgram retry rescue Exception => e
@@ -85,6 +104,11 @@ rescue Exception => e
f.puts e f.puts e.backtrace.join("\n") }
+ begin
+ File.unlink(pid_file) if pid_file
+ rescue Errno::ENOENT
+ # do nothing
+ end
end end

追記

friendfeed 経由で knu さんに指摘してもらった。 ssh コネクションは一本でいけるそうだ。

ssh -N -f -L 6661:localhost:6661  \
                -L 6662:localhost:6662  \
                -L 6663:localhost:6663 foo@example.com

これでコネクション切るときも kill 一回で済むようになった。

カテゴリ , ,  | コメントなし | トラックバックなし

Let's note + Linux Kernel 2.6.29

投稿者 okkez 2009-03-30 15:28:00 GMT

Kernel を上げてから、ハイバネートとかできなくて不便だなぁと思って最新のドライバを入れようと思って上記サイトをチェックしたら、2.6.28 から Kernel のソースコードに入ったと書いてあった。

まあ、試してみたらいけたのでこれでいいのだと思う。

$ sudo modprobe panasonic-laptop

できるようになったのは以下。

  • 音量調整
  • ミュートの切り替え
  • サスペンド
  • ハイバネート

できないのは以下。

  • 明るさ調整

いい時代になったもんです。

カテゴリ ,  | タグ  | コメントなし | トラックバックなし

update backend of doc.okkez.net (webrick -> mongrel)

投稿者 okkez 2009-03-15 07:32:00 GMT

doc.okkez.net のバックエンドを更新しました。 今回の更新内容は以下のとおり。

  • 以前、znz さんが Rack 対応にしてくれたのでそれを使用して Rack 対応にしてみました。
  • AP サーバは Mongrel 一個
  • 静的なファイルは nginx から返すようにしたつもり。(といっても CSS くらいしか無いですが。。。)

速くなってるといいんですが、遅いようなら thin cluster か mongrel cluster にしてみる予定。

カテゴリ ,  | タグ ,  | コメントなし | トラックバックなし

zen x-fi with Debian

投稿者 okkez 2008-12-25 23:35:00 GMT

どうせ簡単に動くだろうとタカをくくって買ったら意外と苦労したのでメモ。

以下をインストール。

  • libmtp7
  • gnomad2
  • mtpfs
  • mtp-tools
  • libnjb5
  • mencoder

udev の設定ファイルを編集。自分の場合は以下のとおり

/etc/udev/libnjb.rules
# Creative Zen X-fi SYSFS{idVendor}=="041e", SYSFS{idProduct}=="4162", GROUP="plugdev", MODE="0770"
/etc/udev/libmtp7.rules
# Creative Zen X-fi ATTR{idVendor}=="041e", ATTR{idProduct}=="4162", SYMLINK+="libmtp-%k", MODE="770", GROUP="audio"

これで gnomad2 を起動してから zen x-fi を接続すれば認識するはず。 ただし、自分の環境では動画を一つコピーしたあと gnomad2 がフリーズした。

動画を見るには、必ず 320x240 に変換する必要がある(はず)。 YouTube から DL した動画は変換が必要だった。以下の方法ではリストに動画の時間が表示されなかった。

$ mencoder input.avi -o output.avi \
                -vf scale=320:240 -oac mp3lame -ovc xvid -xvidencopts bitrate=800

ffmpeg でも同じようにすれば出来るはずだけど、まだ試していないのでわからない。

あと mtpfs を使ってもほぼ同じようにファイルのコピーは出来る。

$ mkdir zen
$ sudo mtpfs -o allow_other ./zen
$ ls zen
$ cp sample.avi ./zen/Video/

これを活用して英語の勉強をしたい。

参考

カテゴリ  | タグ  | コメントなし | トラックバックなし

Debian と最新ハードウェア事情

投稿者 okkez 2008-12-09 02:16:00 GMT

主に、自分が以前組んだマシンについて。Debian の sid 前提で。

上記で組んだマシンはサーバーにしてしまったので X も入れてないのですが、LiveCD でブートしてみたら ちゃんと X も動いた。 SATA HDD なんて私の記憶では 6 年くらい前から Debian で動いてたはず。(ASUS の K8V SE Deluxe あたりで組んだときに確認) なので、M/B に SATA コネクタがあれば問題無し。拡張ボードでどうかは試してないのでわからない。(メジャーなチップを載せているものなら動く可能性はすごく高いと思う) nVidia なら最新のグラフィックボードも対応してるはず。少し前の世代ならほぼ確実に対応してる。(これは調べればすぐにわかる)

プリンタは正直言ってよくわからないんだけど、多分、変なプリンタじゃなければ普通に使えると思う。 印刷コストの安いプリンタは欲しいと思っているので、なんかいいの無いかなぁと思ってる。

Debian のインストーラもすごいよ。(以下は lenny のインストーラで作業したはず) 最近、機会があっていろいろなマシンにインストールしたけど、インストールでのトラブルは全くなかった。

  • 上記の自作機 (lenny -> sid)
  • 別の自作機(HW構成は上のとは異なる) (lenny)
  • 某 BTO メーカのノートPC1 (lenny -> sid)
  • 某 BTO メーカのノートPC2 (lenny)

三つ目のマシンでは、特になにも設定していないのに compiz を入れてコマンドをちょっと叩くだけで 3D デスクトップまで 可能だった。以下三つ目のマシンで設定無しで出来たこと。

  • GTK ベースの GUI インストーラがトラブル無く動いた
  • 日本語入力 -> OK (uim-anthy を入れた気がする。デフォルトは scim-anthy)
  • ネットワーク -> DHCP で OK (設定してない。無線LANも設定無しでいけた気がする)
  • 自動アップデート -> 無効にしてたが、アップデートマネージャが教えてくれた
  • タッチパッドやらトラックポイントなんかも無設定で動いた
  • USBキーボード、USBマウス の自動認識
  • USB メモリの自動認識と自動マウント
  • プリンタは試してない
  • 暗号化LVM がインストーラで選択可能とか。

こんな感じ。 ついカッとなって書いた。公開しようと思う。

カテゴリ  | タグ  | コメントなし | トラックバックなし