最新vimのインストールの手間に終止符を打つべく1コマンドvimインストールできる「vimbuild」を作ってやったぜ!

vimの光をあまねく世界に!

みなさん、vim最新版つかってますかー?
え、使ってない?いやー、いけませんね。それはいけませんね。凄くイケません。むしろ、イケてません。
yumに7.2しかない?そうですよねー、そういうこと多いですよねー。
そのたびに、ソースダウンロードしてパッチを当てて、makeとか面倒ですよね?

そんな皆さんに朗報です!
コマンド一つで、指定バージョンのvimをパッチも全て当ててbuildしてくれる「vimbuild」の登場です!

こんな感じ。

$ git clone https://github.com/roadman/vimbuild.git
$ cd vimbuild
$ ./vim-install 7.4
$ echo 'export PATH="$HOME/vimbuild/build/7.4/vim74/src/:$PATH"' >> $HOME/.bashrc

実際のところ最新版を入れるだけならヴァージョン番号もいりません。コマンド名だけでよろしいです。
.bashrcへの追加は、超リスペクトしているxbuildばりに自分で追加してください。

Continue reading «最新vimのインストールの手間に終止符を打つべく1コマンドvimインストールできる「vimbuild」を作ってやったぜ!»

 

さくらVPSのCentOS6.4にDockerをインストールして使ってみる

 最近話題のDoker

 Dockerが何かということについては「lxcによるコンテナ型仮想化とaufsによる差分保存を組み合わせたソフトウェアである。」というような説明がよくあって分かる人には分かるんだろうけど、わからない人にはちんぷんかんぷんなわけで。lxc(linux Containers)とは、1つのホスト上で隔離されたOSシステムを動かす技術で2.6.29から搭載された。

 重要なのは“1つのコントロールホスト上で”という部分。この技術はvmwareやvirtualboxのような独立した仮装マシンが動くわけではないため、ベースとなるOSと同じカーネルで隔離された環境が作られる。そのためコントロールホストと同じOS(カーネル)しか利用できない。centosをホストとしてubuntuを動かすとかは無理ということ。そこは制限となるわけだが、反面、1つのカーネル上で動作しているため非常に高速かつ軽量。FreeBSDのjailを知っている人ならイメージしやすいと思う。

 さて、Dockerだが今までは使う時はcoreosとかubuntuとかをコントロールホストとして用意するのが便利だった(使いやすかったというだけだけど)わけだが、2013年末ぐらいにepelリポジトリに入ったらしく、yumで簡単に入るようになった。まあ、例によって最新版ではない(2014年2月上旬現在、epelでは0.7.6。dockerの公式最新版は0.8)のだけど、割と新しいので使いやすい。

# yum install docker-io
============================================================================================================================================================================================================
Package Arch Version Repository Size
============================================================================================================================================================================================================
Installing:
 docker-io   x86_64     0.7.6-2.el6           epel       3.4 M
Installing for dependencies:
 libcgroup  x86_64      0.40.rc1-5.el6_5.1    updates    125 k
 lxc        x86_64      0.9.0-2.el6           epel        78 k
 lxc-libs   x86_64      0.9.0-2.el6           epel       116 k
 
Transaction Summary
============================================================================================================================================================================================================
Install 4 Package(s)
 
Total download size: 3.8 M
Installed size: 19 M

 yum一発で入る。便利。
 他にもlxc(linux containers)とか、lxcが依存しているlibcgroupも一緒に入る。

$ docker -v
Docker version 0.7.6, build bc3b2ec/0.7.6

 こんな感じで入ってる。  さっそくdocker runしてコンテナを起動してみよう。

Continue reading «さくらVPSのCentOS6.4にDockerをインストールして使ってみる»

 

amazon web service使ってみての雑感

 先日、会社で担当していたサービスを一挙にaws(amazon web service)に移管し、EC2、ELB、VPC等々、サービス運用に必要なソリューションを一通り使ってみたのでなんとなく雑感的な物を共有しておこうかと。
 細かい技術的な部分は、また別途記事にしますので、今回はどっちかというと非エンジニアの人にも分かりやすく。


Continue reading «amazon web service使ってみての雑感»

 

Microsoft Wedge Mobile Keyboard U2R-00022(bluetooth)で快適モバイル生活

androidタブレットnexus7 Wifi32GBを購入して、かなり快適にあ動作環境だったのでこれでテキスト書いたりsshでサーバ繋いだりしてサーバ設定行ったりできないかと思ってキーボードを購入。

モバイルbluetoothキーボードはいろいろ出ているんですが、デザイン・機能性・打鍵感を高度に両立しているキーボードがなかなか個人的になく、満足いくものが見つからなかったんですが、またまたMicrosoftさんがやってくれました。

わりと近頃出たキーボードなんですが、これ。
マイクロソフト ブルートゥース キーボード Wedge Mobile Keyboard U6R-00022
マイクロソフト ブルートゥース キーボード Wedge Mobile Keyboard U6R-00022

Continue reading «Microsoft Wedge Mobile Keyboard U2R-00022(bluetooth)で快適モバイル生活»

 

opensslコマンドとかmcryptとか

des3の暗号化・復号化ロジックをCで書く必要があって書いたのだけれど、結果のチェックがしたかったのでopensslコマンドとかmcryptコマンドとかで同じ値を暗号化してみたので、コマンドの使い方についてメモ。

opensslコマンドの場合。暗号化ロジックはdes3(tripledes)のcfb。今回は2keyモードなので「des-ede-cfb」。3keyモードの場合は「des3-ede-cfb」らしい。そのまま出すとバイナリ出力されてしまうので、-base64つけてbase64エンコードする。key(-K)とiv(-iv)は適当です。

$ echo -n "100" | openssl enc -e -des-ede-cfb -K 20202020202020202020202020202020 -iv 2020202020202020 -p -base64 -nosalt -nopad
key=20202020202020202020202020202020
iv =2020202020202020
KZnl

mcryptコマンドでも同じようにやろうと思ったら、なんかman見てもivの指定方法がよく分からなかったので、手を抜いてphpのmcrypt関数でやった。libmcrypt使ってるからphp-mcryptでもmcryptコマンドと結果は同じはずだ。

$ php -r "echo base64_encode(mcrypt_encrypt(MCRYPT_3DES,hex2bin('20202020202020202020202020202020'), '100', MCRYPT_MODE_CFB,hex2bin('2020202020202020')));"
/hvr
$ php -v
PHP 5.4.7 (cli) (built: Oct  1 2012 15:23:25) 
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies

…けど、結果がopensslと一致しないのはなんでだろうね。padingの関係とかか?でも最初のほうから違うし。よーわからん。
phpが5.4なのはremi-testに上がってたから。俺、phpは便利ツールとしてしか利用しなくて運用には使わないので、最新版いれて便利な関数だけ使ってるのよ。hex2binは5.4かららしいので5.4入れないと使えないよ。

 

fluentdをmacにインストールしてみた!

Fluentd meetup in Japan #2 #fluentd on Zusaar
来週ぐらいから弊社でもfluentdの運用が始まるというのに、概要知っているだけで実はまともに触ったことがなかったfluentd。
fluentd meetup #2にも参加して、これではいかん!と、急遽会場でfluentdインストールして取り急ぎ遊んでみたのでそのログを残します。
なんか会場のwifi環境が(最初)あれだったので、ローカルのmacbookairに環境を作った見たよ。loggerはfluent-logger-nodeで。

Continue reading «fluentdをmacにインストールしてみた!»

 

centos6へのepel, remi, rpmforgeリポジトリ登録

centos6セットアップ時の各種yumリポジトリの登録用rpmをメモ。

# rpmforge設定
rpm -Uvh http://ftp.tsukuba.wide.ad.jp/Linux/fedora/epel/6/x86_64/epel-release-6-7.noarch.rpm
# remi設定
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
# rpmforge設定
rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm

今まで手動で書いてたりした。

 

Seiji Ochiai Digital Sandbox Web Site.