VirtualBoxインストールした。chshでハマった。

VirtualBoxというMacで動くフリーな仮想環境があることを知って、早速ダウンロードしてDebianをネットワークインストールした。

何故Debianかというと、一番最小構成っぽいインストールができそうなイメージと、aptに慣れているから。深い意味はない。

sudoも入ってない最小環境なのだが、NATというやつで何も設定しなくても最初からネットに接続できるのがVirtualBoxのすごいところだ。

まあホストOSからゲストOSへの接続はまた設定し直さないといけないみたいなので、後ですることにする。


とりあえず環境を整えようと思って、Emacszshをaptでインストール。

apt-getするときに毎回インストールCDを入れろと言われるのがウザい。これはDebianのNetwork Installation版だからなのか、VirtualBoxだからなのかわからない。しかしかなりウザい。

ブートに使ったのはCDのイメージのISOファイルなのだが、これを簡単にゲストOSのシステムにマウント出来るのもVirtualBoxのいいところだ。メニューのDevicesから何回かクリックするだけでOK。

chshでハマった

で、zshをデフォルトのシェルにしようと思って

$ su
# chsh -s zsh
# exit

と思わずやってしまったら、次からルートでログイン出来なくなってしまった。

cannot execute zsh : no such file or directory

とかいうエラーが出てしまう (エラーメッセージうろ覚え)。

これはもちろん、/etc/shells にあるように /bin/zsh と書かなくてはいけないのだが、単に zsh としか書かなかったため。

仕方なく、VirtualBoxのほうでゲストOSにShutdownシグナルを送って再起動してから、シングルユーザーモードでログイン。

このとき、先程マウントしたISOイメージはVirtualBoxのほうで切り離しておかないと、またそちらから起動してブートスクリーンになってしまうので注意。

シングルユーザーモード

# chsh -s /bin/zsh

とすればいいのかなーと思ってやったのだけど、なんかエラーが出て (忘れた) 出来なかったので、/etc/passwd を書き変えてなんとか処理した。

ついでに、今回みたいなことがあったらいけないと思って、sudoもインストールし、/etc/sudoer に自分を加えておいた。


この手の情報はネットで調べても日本語圏からは有用な情報が得られなかったので、一応ここに書き残しておく。

(その割にはエラーメッセージをよく覚えていないので後で検索に引っ掛からないかも、というツッコミは無し)


環境