PATH に追加されたフォルダは sudo を使用しても見つかりません

PATH に追加されたフォルダは sudo を使用しても見つかりません

重複の可能性あり:
'sudo' で実行する場合の環境変数

パスに新しいフォルダーを追加しましたが、(そのフォルダー内の)プログラムを「sudo」で実行しても機能しません。

入力すると

sudo <command-name>

返される結果:

sudo: <command-name>: command not found

sudo で利用できるようにするにはどうすればいいですか?

答え1

それは奇妙ですね。とにかく私は

sudo /FULL_PATH/program_name

働くでしょう。

もう一つの良いアイデアは、/sbin/ディレクトリにシンボリックリンクを追加することです。

sudo ln -s /FULL_PATH/program_name /sbin

答え2

PATH は、~/.profile、~/.bashrc、または ~/.bash_profile ファイルにあります。このファイルは、あなたのアカウント専用に作成されます。

PATH を設定するときに、おそらく /home/yourname/.profile を編集したのではないでしょうか。Sudo は (おそらくそう思われるでしょうが) /home/yourname/ ではなく /root/.profile の PATH を使用するわけではなく、常に独自の PATH を使用するわけでもありません。

問題は、いくつかの変数が sudo によって上書きされることです。どの変数が上書きされるかはシステムによって異なります。root として、次を実行します。

sudo -V

PATH が使用されているかどうかがわかります。その後、sudo -E オプションを使用して、デフォルトの PATH の使用を上書きできます。/etc/sudoers ファイルに関するマニュアル ページの説明を参照してください。

関連情報