CentOS5.3がシャットダウンできない

インストールしたCentOSGNOMEでシャットダウンのコマンドを打ってもエラーが出てしまって、シャットダウンできませんでした。どうやらデフォルトでは/usr/sbin にPathが通っていないことが原因でした。

ところでこれまで.bashrcと.bash_profileの違いがよく分かっていなかったので、以下に示しておきます。

 各ユーザーごとの設定は,エイリアスなどについては「.bashrc」ファイルに,環境変数と起動プログラムは「.bash_profile」ファイルに記述される。このほか,ログアウト時にのみ実行される「.bash_logout」ファイルと,コマンド履歴を記録する「.bash_history」ファイルも存在する。

 システムへのログイン時には,.bash_profileと/etc/profileが読み出される。その後,例えばGNOME端末などのシェルを起動するたびに,.bashrcが読み込まれる。しかし,.bash_profileは読み込まれない。従って,ログイン直後に1度だけ実行させたいプログラムは.bash_profileに記述するべきである。

http://goo.gl/GRoV

というわけで、.bash_profileを以下のように編集して、ログインし直して解決しました。

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs
PATH=$PATH:$HOME/bin:/usr/sbin
export PATH

shutdown コマンドはこれでも実現できませんでした。shutdownコマンドを使うには/usr/sbin/shutdownにパスを通すか、rootになるとき

$ su -

になってコマンドを実行します。単に$suでは前ユーザー情報を引き継ぐのですが、こうすることで引継ぎをなくすことができます。