Glide Note

glidenote's blog

CobblerでScientific Linux 6.1を導入

CobblerでScientific Linux 6.1を導入出来るようにしたのでメモ。 同僚の@tnmtの書いた情報を6.1用に書き換えて流用ですが。いつも有益な情報ありがとう!

利用したCobblerサーバはCentOS 5.7でCobblerのバージョンは1.6.6です。

Scientific Linux 6.1の必要ファイルのインポート

30~40分くらいかかります。

1
sudo cobbler import --path=rsync://ftp.jaist.ac.jp/pub/Linux/scientific/6.1/x86_64/os/ --name=SL6.1-x86_64

設定の確認

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
sudo cobbler distro report --name SL6.1-x86_64

distro               : SL6.1-x86_64
architecture         : x86_64
breed                : redhat
created              : Fri Feb  3 10:40:32 2012
comment              :
initrd               : /var/www/cobbler/ks_mirror/SL6.1-x86_64/images/pxeboot/initrd.img
kernel               : /var/www/cobbler/ks_mirror/SL6.1-x86_64/images/pxeboot/vmlinuz
kernel options       : {}
ks metadata          : {'tree': 'http://@@http_server@@/cblr/links/SL6.1-x86_64'}
tree build time      : Thu Jan  1 09:00:00 1970
modified             : Fri Feb  3 10:45:35 2012
mgmt classes         : []
os version           :
owners               : ['admin']
post kernel options  : {}
redhat mgmt key      : <<inherit>>
redhat mgmt server   : <<inherit>>
template files       : {}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
sudo cobbler profile report --name SL6.1-x86_64

profile              : SL6.1-x86_64
distro               : SL6.1-x86_64
comment              :
created              : Fri Feb  3 10:40:33 2012
dhcp tag             : default
enable menu          : True
kernel options       : {}
kickstart            : /var/lib/cobbler/kickstarts/default.ks
ks metadata          : {}
mgmt classes         : []
modified             : Fri Feb  3 10:40:33 2012
name servers         : []
name servers search  : []
owners               : ['admin']
post kernel options  : {}
redhat mgmt key      : <<inherit>>
redhat mgmt server   : <<inherit>>
repos                : []
server               : <<inherit>>
template_files       : {}
virt bridge          : xenbr0
virt cpus            : 1
virt file size       : 5
virt path            :
virt ram             : 512
virt type            : qemu

kickstartファイルの用意

/var/lib/cobbler/kickstarts/SL61-x86_64-basic.ksとかを適当に用意して、ksファイルをデフォルトの/var/lib/cobbler/kickstarts/default.ksから変更

1
sudo cobbler profile edit --name=SL6.1-x86_64 --kickstart=/var/lib/cobbler/kickstarts/SL61-x86_64-basic.ks

OSのインストール

とりあえず、cobbler system add 無しでサーバに電源投入。 下記のようにcobblerが走って、SL6.1を選べばOSインストール完了。

cobbler system add して事前にサーバの各種固有情報を登録しておけば電源投入するだけ。

ソーシャルブックマークのデータをPinboardに集約して一元管理

気になった情報をMac、iPhone、iPad、Androidと各種端末、 各種アプリのTwitter連携、ソーシャルブックマーク連携を使ってPostしていたら、 どこに何の情報があるか分からなくなってカオス化してきたので、 すべての情報が最終的に一つになるようにPinboardを利用し始めました。

そもそもMac、iPhoneとAndroidのRSSリーダ、Twitterクライアントなどはアプリごとで、連携出来るソーシャルサービスが違うので、 Deliciousに突っ込んだり、Twitterに投稿したり、じっくりKindleで読むようにInstapaperに送ったり適当に利用してたのが原因。

Pinboardの何が良いかまとめると

Pinboardの良い点

  • 動作がとにかく速い
  • 見た目がシンプル
  • DeliciousInstapaperReadabilityから新規に追加したデータを 自動インポートしてくれるので、各種端末、各種アプリのソーシャル連携機能はそのままの利用方法でOK。ブックマークレットとかも使い回し可。
  • Twitter連携機能。URL付きの自分のtweet、favoritesをブックマークに追加してくれる

Pinboardの自動インポート機能のおかげで、これまでと同じように、Deliciousに投げたり、Twitterに送ったりと、 使い方を特に意識しなくても最終的に全部Pinboardに同期集約されるのが素晴らしい。

利用するのに登録料$9.63がかかりますが、情報が一元管理出来てスッキリです。 iftttを活用すれば他にも情報をPinboardに集約できそうです。

参考

Githubで利用されているボットシステムHUBOTを動かしてみた

Githubで利用されているらしいボットシステムHUBOTを触ってみました。 HUBOTを動かすのに、node.jsとnpmが必要なので先に導入。導入環境はScientific Linux6.1です

node.jsの導入

node.jsから最新版0.6.8(2012年1月23日現在)を導入。

1
2
3
4
5
6
7
8
mkdir ~/src
cd ~/src
wget http://nodejs.org/dist/v0.6.8/node-v0.6.8.tar.gz
tar zxvf node-v0.6.8.tar.gz
cd node-v0.6.8
./configure
make
sudo make install

npmの導入

1
2
3
sudo -s
curl http://npmjs.org/install.sh | sh
exit

依存ライブラリの導入

1
2
3
4
cd ~
git clone git://github.com/github/hubot.git
cd hubot
npm install

HUBOTの起動

このままだとcoffee-scriptのpathが見つけられないので、exportで一時的にpathを通す。

1
export PATH="node_modules/.bin:$PATH"

HUBOTを起動

1
bin/hubot

hubot help を打ってみると下記のような感じ

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
$ bin/hubot
[Tue, 24 Jan 2012 09:47:47 GMT] INFO Loading scripts from /home/akira/src/node-v0.6.8/hubot/scripts
[Tue, 24 Jan 2012 09:47:47 GMT] INFO Loading scripts from /home/akira/src/node-v0.6.8/hubot/src/scripts
Hubot> hubot help
Hubot> <user> is a badass guitarist - assign a role to a user
<user> is not a badass guitarist - remove a role from a user
animate me <query>  - The same thing as `image me`, except adds a few
convert me <expression> to <units> - Convert expression to given units.
help - Displays all of the help commands that Hubot knows about.
help <query> - Displays all help commands that match <query>.
image me <query>    - The Original. Queries Google Images for <query> and
map me <query> - Returns a map view of the area returned by `query`.
math me <expression> - Calculate the given expression.
mustache me <query> - Searches Google Images for the specified query and
mustache me <url>   - Adds a mustache to the specified URL.
pug bomb N - get N pugs
pug me - Receive a pug
show storage - Display the contents that are persisted in redis
show users - Display all users that hubot knows about
translate me <phrase> - Searches for a translation for the <phrase> and then
translate me from <source> into <target> <phrase> - Translates <phrase> from <source> into <target>. Both <source> and <target> are optional
who is <user> - see what roles a user has
youtube me <query> - Searches YouTube for the query and returns the video

渋谷の地図を聞いてみると

1
2
3
Hubot> hubot map me shibuya
Hubot> http://maps.google.com/maps/api/staticmap?markers=shibuya&size=400x400&maptype=roadmap&sensor=false&format=png
Hubot> http://maps.google.com/maps?q=shibuya&hl=en&sll=37.0625,-95.677068&sspn=73.579623,100.371094&vpsrc=0&hnear=shibuya&t=m&z=11

とりあえず動かすのは簡単にできた。
CoffeeScriptで機能拡張するようなので勉強しよう

ERROR Invalid kernel: xc_dom_find_loader: no loader found

オフィスが入ってるビルの法令停電の関係で、開発サーバのXen母艦のサーバを再起動したら、ゲストOSが起動しなくなって少しハマったのでメモ。

自動起動にしているVMが起動していなかったので、試しにxm create hogehogeとかやったら

1
Error: (2, 'Invalid kernel', 'xc_dom_find_loader: no loader found\n')

続けて、xm create mogemogeと別のVMを起動しても

1
Error: (1, 'Internal error', 'xc_dom_do_gunzip: inflate failed (rc=-5)\n')

とエラーが出て起動しなかった、いろいろググってみて対応してみるも現象変わらず。

xenのログをよく見返してみたら、上のエラーに埋もれて

1
IOError: [Errno 28] No space left on device

が出ており、dfを打ってみたら/varが100%になっていたので、 /var配下の不要なファイルを削除し、xm create hogehogeを再度実行したら正常に起動。

単なる容量不足のエラーなんですが、表示が紛らわしい。

先週の法令停電では問題無かったので、甘く見ててハマりました。
早めに出社して、始業前に解決したので良かった