リニューアルの際に、サイトで使用する ruby をビルドしようと考えたんですが……いろいろ試したものの「ログインシェルを bash に切り替える」事ができなかったというお話。

ことの始まり

「さくらのレンタルサーバ」を独自ドメイン込みで契約して15年以上。流石にユーザーディレクトリ内に色々ゴミが溜まってきていたんですが。
シェルを弄っていたら困ったことに気づいたんですね。サーバの ruby が 1.8.7 なんていう古いバージョンを使用している って事に。

# あ、ディレクトリの初期化処理を依頼したあとに確認したら 2.5.5 に差し替わったので、今は問題ないです。

とは言え、今日のニュースで最新バージョンが 2.6.5/2.5.7/2.4.9 にアップデートされているので、これらのバージョンのいずれかに差し替えたいところ。

ruby のインストールは最近では rbenv および ruby-build を使用するのが一般的のようなので、それに習おうと調べてみると……たいがいの解説サイトが「ログインシェルを bash に変えろ」と書かれている、と。
どうも rbenv のスクリプトが bash 前提になっているっぽいんですが……まぁ、コマンド一つでできるし、問題ないよね。

% chsh -s /usr/local/bin/bash
Password: 
chsh: Permission denied

おっやぁぁぁ!?
もちろん、zsh や他のシェルを試してもダメ、cat /etc/shells でチェックして指定パスに間違いないのも確認。ネットでいくら検索してもコマンドを使用して変更する、それに失敗したという情報は見つからず。
……Permission deniedって書いてあるんだから、普通に権限無しで蹴られたってことだよねぇ?

該当する情報は?

検索結果を見ても、結構な数の「chsh コマンドで一発変更」という内容が引っかかりますし、2番目のページなんて今年最初の方の記事です。となると半年くらいの間でサービスの内容に変更があったのかな、と。もしくはもっと前だが、規約変更前にシェル切り替えしている人はそのまま、とか。
実際、自分のディレクトリも初期化以来直後ぐらいまでは ruby のバージョンが古かったわけだし。

【さくらのレンタルサーバ】基本仕様 - さくらのサポート情報
csh(tcsh)のみという意味?

結局、サポート情報のこの記述を見る限り、「ログイン時の bash への変更は不可」という意味でFA?
本題は ruby その他のビルドとインストールなので、シェルが変えられないのは問題ないけど……

残りは改めて ruby をインストールする際にでも記事にします。


西 啓一朗

日々を適当に生きています。