リニューアルの際に、サイトで使用する 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 のバージョンが古かったわけだし。
結局、サポート情報のこの記述を見る限り、「ログイン時の bash への変更は不可」という意味でFA?
本題は ruby その他のビルドとインストールなので、シェルが変えられないのは問題ないけど……
残りは改めて ruby をインストールする際にでも記事にします。