sudo: command not found が出るときの原因と対処

  • URLをコピーしました!

Linux や Unix 系 OS でコマンド実行時に

sudo: command not found

と表示されることがあります。
普段は root 権限でコマンドを実行するために使う sudo が使えないと、システムの操作が大幅に制限されてしまいます。

本記事では、sudo: command not found が出る主な原因とその解決方法を解説します。

目次

1. PATH の設定ミス

原因

sudo は通常 /usr/bin/sudo に配置されています。
環境変数 PATH/usr/bin が含まれていないと、シェルは sudo を見つけられず command not found エラーになります。

確認方法

echo $PATH
which sudo

which sudo で何も表示されなければ、PATH に問題があるか、そもそもインストールされていません。

解決方法

一時的に PATH を通す場合:

export PATH=$PATH:/usr/bin

恒久的に設定する場合は、~/.bashrc~/.zshrc に追記しましょう。

2. sudo が未インストール

原因

軽量なディストリビューション(例:CentOS Minimal / Debian Minimal / Alpine Linux)では、sudo が標準でインストールされていないことがあります。

確認方法

root でログインできるなら以下を実行して確認します。

ls -l /usr/bin/sudo

存在しなければ未インストールです。

解決方法

root 権限でインストールします。

  • Debian / Ubuntu 系 su - apt update apt install sudo
  • CentOS / RHEL 系 su - yum install sudo
  • Alpine Linux su - apk add sudo

3. root シェルで代用する方法

もし sudo が使えずインストールもできない場合、一時的に root アカウント で直接操作する方法があります。

root に切り替える

su -

パスワード入力後、プロンプトが # になれば root です。
その状態で必要な操作(yum install sudo など)を行い、exit で元のユーザーに戻ります。

⚠️ 注意: root で作業するとシステムを壊すリスクがあるため、基本的には sudo を利用するのが推奨です。

4. まとめ

sudo: command not found が出るときは以下の順序で確認しましょう。

  1. PATH の設定ミスecho $PATH / which sudo で確認
  2. sudo 未インストール → root で aptyum を使ってインストール
  3. 代替手段su - で root に切り替えて作業
目次