Gentoo LinuxむけのJubatusパッケージ書いたよ
PCを買い替えたので環境構築してます。 Jubatusのoverlayがあったのですが、古かったので新しくJubatusのoverlay作成しました。
インストール
これは、以下のコマンドでインストールができます。
# curl https://raw.githubusercontent.com/katsyoshi/overlay/master/profiles/layman.xml > /etc/layman/overlays/katsyoshi.xml
# layman -f -a katsyoshi
# eix-sync
# emerge -av jubatus
でいけるとおもいます。
未実装
- jubatus_coreのオプションがはたらいてない(ハズ)
- jubatus_msgpack-rpcの依存パッケージにdev-libs/msgpackをいれていない
- jubatusのオプションを確認していない
などなどあるので、PRまってます。
まとめ
よくみたら必要なライブラリのパッケージもあったのでこれのバージョンとjubatus_core追加するだけでよかったかも。
ちゃんちゃん
Gentoo Install Battle Part III
これまでの流れで準備が整ったので、Installを始めます。
インストール
これはGentoo Wikiを見ながらで大丈夫です。
嵌ったところ
音が鳴らないという問題が発生しました。理由は簡単でしたのですぐに設定しました。
つぎにネットワークの設定をnetmountからNetworkManagerに変更しました。 設定はここで行なえばよいです。
最後にibus-mozcをインストールして終りです。
mikutter
GentooInstallBattleはmikutterをインストールしてtweetすることなのでmikutterをインストールします。 ここではrbenvを利用してmikutterのインストールします。 まずはrbenvとruby-buildをインストールします。
$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
$ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
つぎにrbenvの設定を行います。以下の設定を~/.bashrcあたりに追記してください
export PATH=~/.rbenv/bin:$PATH
eval "$(rbenv init -)"
Rubyのインストールはrbenv install 2.1.2でインストールします。
最後にmikutterをダウンロードし、環境を構築します。
$ git clone https://github.com/mikutter/mikutter.git ~/mikutter
$ cd ~/mikutter
$ bundle install
$ bundle exec ruby mikutter.rb
でインストール終了!! これで快適なmikutterライフがておくれますね。

Gentoo Install Battle Part II
X240の準備は終ったので、インストールします。基本的にはこの流れです。
USBブート
作成したUSBメモリをX240に差して起動します。 起動したら、まずパーティションの設定を行います。
$ gpart /dev/sda
で不要なパーティションを削除し、必要なパーティションを作成します。
無線LAN
ネットワークを接続しますが、今回は無線LANを利用してインストールを行います。
まず、どこか適当な位置にリンク先のファイルを作成してください。
次に以下のコマンドを実行します。
$ wpa_supplicant -Dnl80211 -ieth0 -c/path/to/supplicant.config
実行したら、接続されているのでATL + F2とかでコンソールの表示を変更してください。
おわり
有線のLANケーブルがなかったからはまった。 続きは明日以降に…
Gentoo Install Battle Part I
ここにThinkPad X240があります。これの中身を Gentoo/Linux にします。
準備
準備として、Gentoo/LinuxのLiveCDを作成、Bootの設定を行います。
イメージ作成
まずLiveCDイメージをダウンロードしUSBフラッシュメモリにコピーします。
$ wget ftp://ftp.iij.ad.jp/pub/linux/gentoo/releases/amd64/autobuilds/current-iso/install-amd64-minimal-20140814.iso
$ dd of=/path/to/disk if=install-amd64-minimal-20140814.iso bs=4m
でイメージの作成終了です。 次に、X240の設定を行います。
X240の起動準備
Windowsを起動し、Shift押しながら再起動します。 再起動したら、以下の順番でBIOSを起動させます。
トラブルシューティング -> 詳細オプション -> UEFIファームウェアの設定 -> 再起動
でBIOSがたちあがるので、Secure BootとUEFI BootとBoot順の設定を変更します。
Seucre BootではSecurety -> Secure Boot -> Secure Boot [Enable]を[Disable]に変更
UEFI BootではStartup -> UEFI/Legacy Boot [UEFI only]を[Both]に変更
Boot順の設定では、Startup -> BootでBootさせたい順番に変更
BIOSを変更したらRestartします。
まとめ
とりあえず今日はここで終りです。インストールは明日以降にします。
good-bye elasticsearch and jenkins
この環境では慢性的にメモリが足りなかったのでメモリを大量に使ってるElasticsearchを削除しました。 Jenkinsについては利用していなかったので停止してます。ついでに12.04から14.04にupgradeしました。
削除とUpgrade
削除する前にMackerelを導入したので、fluentd + Elasticsearch + Kibanaな構成にする必要がなくなりました。 Elasticsearchの削除とJenkinsの停止は以下のコマンドで行ないます。
$ sudo apt-get purge elasticsearch
$ sudo update-rc.d jenkins disable
つぎに14.04へupgradeを行ないます。
$ sudo do-release-upgrade -d
これで14.04になってます。
環境
- Machine: さくらVPS
- CPU: Intel Xeon E312xx (SandyBridge) * 2
- MEM: 1GB
- HDD: 100GB
- OS: Ubuntu Linux 12.04
インストール済ソフトウェア(一部)
- Elasticsearch
- fluentd
- Jenkins
- Jubatus
- Norikra
- Nginx
秘境でハッカソンがあったので行ってきた
7月19日〜7月21日まで秋山郷のかたくりの宿という場所でHackathonがあったので行ってきました。
1日目
1日目は仕事があったので仕事を終えてから新幹線で越後湯沢まで出て、@m_asamaさんと合流して秋山郷へ。
途中、最短経路が土砂に埋もれて通行できないので迂回して行きました。途中の道は狹く、えっここ通るの?って感じの道を通りました。宿に着いたらもう午後6時ですぐに食事の時間となりました。
夕飯は山菜づくしな夕飯でした。
夕飯終ってハックタイムでしたが、食堂を利用する予定だったので、食堂が空くまで部屋でだべってました。 午後9時頃からハックタイムが始まりました。その日はとても眠かったので@kotatu_miに絡んですぐに寝ました。
2日目
2日目は宿の人に起こされて起きました。朝食はこんなかんじでした。

朝食後、近くの橋まで散歩しました。軽い散歩だと思ってたら、山道で辛かった。

そのまま帰るのはもったいないと思って反対側を登りました。登りきったら、近くにcool wind holeがあるらしいのでそこまで行ってみました。

帰りは山道がつらいしつかれたので、周って帰りました。
昼飯は小赤沢まで温泉と熊らーめんを食べました。

宿に戻ってからはしばらくはハックタイムでした。夕食後、星を見に外出たらすごく星が綺麗でした。

星見に行ったあとにハックタイムがあり、mikutterでDockerのコントロールをしようとしてました。
3日目
午前中は夜の続きをやってました。
帰りは切明温泉にたちより、長野回りで帰りました。
今回の成果
成果です
SPDYをさくっと動かしてみた
NGINXでSPDY3.1がサポートされているようなので動かしてみた。
準備
SPDYはSSL必須のようなのでとりあえずOpenSSLで野良証明書を作成します。
$ cd /path/to/cert/dir
$ openssl genrsa -des3 -out server.key 2048
$ openssl req -new -key server.key -out server.csr
$ openssl rsa -in server.key.org -out server.key
$ openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
NGINXの設定
とりあえずNGINXの設定ファイルを作成します。
server {
listen 443 ssl spdy;
ssl_certificate server.crt;
ssl_certificate_key server.key;
}
と設定したらNGINXを再起動します。 これでSPDYで動いてます。わいわい。

オレオレ証明書なのでそのうちちゃんとした証明書を使いたいですね。
野良Gitサーバにuploadできなかった話
今日もろくでもない理由で嵌った。
嵌った理由
野良Gitサーバを立てているのでそこに新しいリポジトリを作成した。
で、リモートを追加し、ブランチを追加しようとすると
$ git remote add master ssh://myhost/my_project.git
$ git push origin master -f
error: src refspec master does not match any.
error: failed to push some refs to 'ssh://myhost/my_project.git'
というようなエラーが出てきてアップロードできなかった。 そのため理由を探ってたら同じ理由があった。
そこで git log としたら何もでてこなかったので
$ git add .
$ git commit -m 'first commit'
$ git push -u origin master
リモートリポジトリに追加できました。 ちゃんちゃん
docker on OS Xで嵌ったおはなし
MacOS XでDockerを動かしてたら嵌ったのでメモ
Docker on OS X
OS XでもDockerが動かせるようになりました。 インストールはこことかを参考にしてください。
で嵌ったところ
Docker上で動いているアプリケーションとどうしても通信ができない。どうやらDockerとアプリケーションは起動はしてるようなんだが、 どうしても通信できないということがわかりました。
$ docker run -p 9199:9199 hogehoge
$ netstat -a | grep 9199
でも見えない。なんでかなあと思ってたらこんなことやこんなことがわかりました。
解決策
VirtualBoxからboot2docker-vmのポートフォワードを設定すればいいです。
$ netstat -a | grep 9199
tcp4 0 0 localhost.9199 *.* LISTEN
ちゃんちゃん。
今日の夕飯
今日は昨日ビールを飲んだので、日本酒を飲みに行ってきた。

ほんとは、天麩羅食べたかったのだが、天麩羅もうなくなってたらしいので、 日本酒とそばを食べた。そばを石臼で引いた。

親父さんが江戸っこらしく、「そこのしろいテーブルに座って」っていわれてなんだ?
っておもったら、広いテーブルだった。

あと、githubにある使ってないリポジトリの整理を行った。