sudoでPATHなどの環境変数を引き継ぐ

$ sudo visudo
#Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin
Defaults:admin !env_reset

Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin
をコメントアウトして、
Defaults:admin !env_reset
を追加する。(adminは、使用するユーザ名とする)

CentOS5では、上記ではうまくいかなかった。
その場合は、ユーザの ~/.bashrc に

alias sudo='sudo env PATH=$PATH'

を追加する。
ただし、その場合、sudo -i とかできなくなる。

rubyインストールしてあるのにsudoすると「/usr/bin/env: ruby: そのようなファイルやディレクトリはありません」と言われる - プログラマ 福重 伸太朗 〜基本へ帰ろう〜