平衡点


2013/02/26

_ Ruby 2.0 on Debian with ruby-build, rbenv[Computer] [Ruby] [Debian

日曜日の関西Debian勉強会でもお話ししましたが, Debian パッケージになっていない Ruby インタープリタを気軽に試すには ruby-build + rbenv が便利です.

というわけで, Ruby 2.0p0 を install してみました. 環境は Debian 7.0 (Wheezy) です. 以下, 6.0 Squeeze では動作未検証なのでご注意下さい.

ruby-build? rbenv?

ruby-buildrbenv も 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 を購入[Computer] [Debian

以前購入した 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開発の人.


2026/02/26

_ 仮想環境用の bridge を一つにまとめる. 1/n[Computer

似た様な事を既にやってた 鳥頭

そんな訳で、

  1. 手元で動かしていた systemd-resolved を止めて dnsmasq に移行。
  2. bridge を作成: vmbr0 とする
  3. ufw を弄って NAT を作成

という作業をやったり.

lxc はまあ bridge 指定すれば良いだけなので, あとは incus と podman かな. incus は元々は lxd なので、多分ブリッジを指定できそうな気もするが podman の pasta でどう指定するのかな(もしかしてできない?)

_ tDiary のプラグイン調整[Computer

はて, makerss が動かない訳ですが, これは一体なんだろう.

… 動いた. どうやら git-register.rb が途中で止まっていた模様.

8月あたりで更新が止まっていたのだけれど add_update_proc のどこかで止まった後に処理がスキップされてた?

うーん.

ああ, もしかして, untaint かな?

--- git-register.rb	2026-02-26 14:24:42.822258358 +0900
+++ git-register-custom.rb	2026-02-26 14:33:36.139830305 +0900
@@ -117,8 +117,8 @@
 			msg = "#{ENV['REMOTE_ADDR']} - #{ENV['REMOTE_HOST']}"
 			Dir.chdir("#{@repository_dir}") do
 				td2_file2 = @date.strftime("%Y%m/%Y%m%d.td2")
-				system("git add -- #{Shellwords.shellescape(td2_file2)}".untaint)
-				system("git commit -q -m \"#{msg}\" -- #{Shellwords.shellescape(td2_file2)}".untaint)
+				system("git add -- #{Shellwords.shellescape(td2_file2)}")
+				system("git commit -q -m \"#{msg}\" -- #{Shellwords.shellescape(td2_file2)}")
 			end
 		end

が原因で, データは指定ディレクトリに置かれる & 更新されるのに git addgit commit がされない状況だった.

とりあえず動いたのでヨシとする. テストのために, 過去の makerss のキャッシュを消してしまった.

つぎは RSS をパースしての「最近の日記一覧」の表示かな? Apache の Cache を有効にしたので, 下部の「最近の日記」は動的にしないと…


連絡先など

portrait

最近の日記

一覧

Back to Top ▲