ayucat.ch 2015-16

id:ayucatのぶろぐ (Nexus 5 (2015) / iPhone 6s / Galaxy S6 edge / iOS 9 / Ubuntu Trusty / Android 6.0 Marshmallow / Thunderbird / AWS / クラブ / 祭り / 花火 / 海 / 野外フェス)

Ubuntu 14.04 LTSのでき(完成度)とRuby 2.0についての不安感

Ubuntu 14.04 LTS (Trusty Tahr)が今年の春にリリースされました。

デフォルトで入るRubyはRuby 1.9.3 (ruby1.9.1パッケージ)なので、以下のようなワークアラウンドを使っている人も多いようです。

Victor Costan: Restoring Ruby 2.0 on Ubuntu 14.04

sudo rm /usr/bin/ruby /usr/bin/gem /usr/bin/irb /usr/bin/rdoc /usr/bin/erb
sudo ln -s /usr/bin/ruby2.0 /usr/bin/ruby
sudo ln -s /usr/bin/gem2.0 /usr/bin/gem
sudo ln -s /usr/bin/irb2.0 /usr/bin/irb
sudo ln -s /usr/bin/rdoc2.0 /usr/bin/rdoc
sudo ln -s /usr/bin/erb2.0 /usr/bin/erb
sudo gem update --system
sudo gem pristine --all

これは過激なやり方なのと

$ dpkg -L ruby2.0
/.
/usr
/usr/bin
/usr/bin/erb2.0
/usr/bin/gem2.0
/usr/bin/testrb2.0
/usr/bin/irb2.0
/usr/bin/rake2.0
/usr/bin/ruby2.0
/usr/bin/ri2.0
/usr/bin/rdoc2.0
/usr/share
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/erb2.0.1.gz
/usr/share/man/man1/irb2.0.1.gz
/usr/share/man/man1/ri2.0.1.gz
/usr/share/man/man1/rake2.0.1.gz
/usr/share/man/man1/ruby2.0.1.gz
/usr/share/lintian
/usr/share/lintian/overrides
/usr/share/lintian/overrides/ruby2.0
/usr/share/doc
/usr/share/doc/ruby2.0
/usr/share/doc/ruby2.0/NEWS.gz
/usr/share/doc/ruby2.0/copyright
/usr/share/doc/ruby2.0/README.EXT.gz
/usr/share/doc/ruby2.0/README.EXT.ja.gz
/usr/share/doc/ruby2.0/README.gz
/usr/share/doc/ruby2.0/TODO.Debian
/usr/share/doc/ruby2.0/README.ja.gz
/usr/share/doc/ruby2.0/changelog.Debian.gz

であることを考えて、

for prog in /usr/bin/{erb,gem,testrb,irb,rake,ruby,ri,rdoc}; do sudo ln -sf ${prog}2.0 $prog; done
sudo gem update --system
sudo gem pristine --all

としておくことにしました。

trustyではruby-switchも廃止され、update-alternativeも使えなくなっている状況だとLTSとしてはどうなんでしょうかね。。。rubyを使っていくようなサービスはAmazon Linuxを使っていく流れになっていき、Ubuntuはインフラができる人材が確保できた場合のみ使われる運命になるのかもしれないですね。

Ubuntu 16.04 LTSこそはこんなワークアラウンドをしなくてもいいように、適切なパッケージが入るといいなと願うばかりです。