平衡点
2013/02/26
_ Ruby 2.0 on Debian with ruby-build, rbenv
日曜日の関西Debian勉強会でもお話ししましたが, Debian パッケージになっていない Ruby インタープリタを気軽に試すには ruby-build + rbenv が便利です.
というわけで, Ruby 2.0p0 を install してみました. 環境は Debian 7.0 (Wheezy) です. 以下, 6.0 Squeeze では動作未検証なのでご注意下さい.
ruby-build? rbenv?
ruby-build も rbenv も Debian 固有のモンではありませんので, ご存知の方もいらっしゃるかと.
というわけでここでは割愛. 上記リンク先を読んで下さい(手抜き).
インストール
いつも通り apt-get で.
% sudo apt-get install ruby-build rbenv
rbenv の初期設定
先ずは初期化
% rbenv init # Load rbenv automatically by adding # the following to ~/.zshrc: eval "$(rbenv init -)"
というわけで, お使いの shell のどこかに =eval "$(rbenv init -)"= と書いて, shell の設定ファイルを再読み込みしておきましょう.
この段階では rbenv は何も管理していません
% rbenv versions % rbenv version system (set by /home/uwabami/.rbenv/version)
Debian の rbenv には多少手が加えられていて, パッケージでインストールした MRI(Ruby1.8, Ruby1.9.3) も rbenv で管理できます.
% rbenv alternatives % rbenv versions 1.8.7-debian 1.9.3-debian
というわけで, パッケージでインストールした Ruby1.8.7, Ruby1.9.3 が rbenv で使えます.
% rbenv global 1.8.7-debian % ruby -v ruby 1.8.7 (2012-02-08 patchlevel 358) [x86_64-linux] % rbenv global 1.9.3-debian % ruby -v ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux]
ここまでで rbenv のお膳立ては御仕舞い.
ruby-build の注意
ruby-build パッケージの README.Debian には以下の様にあります.
While ruby-build is a great tool to build Ruby versions that are not available via APT, you should still use the Debian-packaged versions of Ruby whenever possible since they are tested and supported by the Debian community. Please do not report bugs you encounter while using your homebuilt Rubies to the Debian team; Rubies built by yourself are not supported.
というわけで, Debian に BTS にバグレポートを送ったりしないで下さいね.
ruby-build で Ruby 2.0p0 をインストール
Debian の提供している ruby-build の definitions は 2.0.0-dev までしかありません.
% ruby-build --definitions ...
というわけで usr/share/ruby-build 以下にある definitions を眺めて, 適当に修正します. 私はこんな感じにしてみました.
% cat ruby2.0.0p0 install_package "ruby-2.0.0-p0" "http://ftp.ruby-lang.org/pub/ruby/ruby-2.0.0-p0.tar.gz" autoconf standard
その後で build-dep でビルドに必要(そう)なパッケージを install して...
% sudo apt-get build-dep ruby1.9.1-dev
rbenv 管理化に ruby-build で install します
ruby-build --verbose ruby2.0.0p0 `echo $HOME`/.rbenv/versions/ruby-2.0.0p0 ...
多少時間かかります(10分ぐらい?)ので, 気長に待ちます. その後は
% rbenv versions 1.8.7-debian * 1.9.3-debian (set by /home/uwabami/.rbenv/version) ruby-2.0.0p0 % rbenv global ruby-2.0.0p0 % ruby -v ruby 2.0.0p0 (2013-02-24 revision 39474) [x86_64-linux]
やったね!
まとめ
多分, この手の記事は沢山出てくると思うのですが, とりあえず, ruby-build と rbenv を使うことで Wheezy 以降で Ruby 2.0p0 を動かすまで, のお話でした.
rbenv は local オプションを使うことで, 特定のアプリケーションでの動作を制御したり, Bundler と仲良くできたり, 大変便利です.
Ruby 2.0 自体は現在パッケージング作業中なので, そのうち unstable にも収録されると思います. 収録されたら即座に backports しようと思いますので, その際にはまたなんか書きます.
2016/02/26
_ OpenBlocks AX3 用の SSD 4G を購入
以前購入した OpenBlocks AX3で, mDNS での名前解決が必要になったため avahi 関連のパッケージを入れたら dbus も導入されて...とみるみると容量が足りなくなってしまった.
ログは別ホストに集約しているのでディスク容量はあまり必要ないのだけれど, とりあえず 4G 版を購入した. 発注して一日で届いたのでかなりびっくりしていたり.
バックアップ
先ず,現状のバックアップを取る.
ラベルが DEB_CONFIG となっている ext2/ext3/ext4 パーティションを作成した USB を挿す.
その後
% sudo flashcfg -B
とすると,該当 USB に userland がバックアップされる.
SSD 取り付け
…何気に一番しんどかった.
上記公式ドキュメントに従って作業すれば良いのだけれど
- 上蓋がなかなか開かない
- (ドキュメントにもあるけれど) SSD 用のネジ,小さい.
電源投入後
上記公式ドキュメントの p.26 にある通り.
- 接続した SSD にパーティションを作成.ラベルとして "DEBIAN" を付ける.
- 私は ext4 にして,おもむろに tune2fs -m 0 したり.
- バックアップした USB を挿す.
- 再起動
serial console 接続しながら画面を見ていると,起動時に "DEB_CONFIG" からバックアップした内容を展開しているのが見てとれた.df 等の出力も問題無し.
% df -h Filesystem Size Used Avail Use% Mounted on rootfs 155M 97M 51M 66% / /dev/root 155M 97M 51M 66% / tmpfs 102M 140K 101M 1% /run tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 10M 0 10M 0% /dev tmpfs 203M 0 203M 0% /run/shm /dev/sda1 3.7G 388M 3.3G 11% /.rw aufs 3.7G 388M 3.3G 11% /etc aufs 3.7G 388M 3.3G 11% /bin aufs 3.7G 388M 3.3G 11% /home aufs 3.7G 388M 3.3G 11% /lib aufs 3.7G 388M 3.3G 11% /sbin aufs 3.7G 388M 3.3G 11% /usr aufs 3.7G 388M 3.3G 11% /var aufs 3.7G 388M 3.3G 11% /root aufs 3.7G 388M 3.3G 11% /opt aufs 3.7G 388M 3.3G 11% /srv aufs 3.7G 388M 3.3G 11% /media
というわけで.
まとめ?
OpenBlocks AX3 に SSD 4G を搭載した.
ポートフォワードであれこれすれば,居室のサーバを外部にも公開できるし, 自分の用途では当分これで良いかな,と.
あと,
という話もあるので,超期待してます.> OpenBlocks開発の人.