【初心者向け】「sudo: command not found」の原因と対処法まとめ|Linux・Ubuntuでよくあるエラーの解決ガイド

Linux

LinuxやUbuntuを使い始めたばかりの方が、よくつまずくのがこのエラー:

sudo: command not found

「え、sudoって普通に使えるものじゃないの?」
「インストールしたばかりなのに何が足りないの?」

そんな不安を感じた方のために、この記事では「sudo: command not found」が出る原因とその対処法を、わかりやすく解説します。

スポンサーリンク

エラーの意味を理解しよう

sudo: command not found

このエラーメッセージは、システムにsudoというコマンドが存在しない(認識できない)という意味です。

シェル(bash/zshなど)は「sudo」という名前の実行ファイルを探したけど見つからなかった、という状態です。

通常、sudoは /usr/bin/sudo にあるはずですが、何らかの理由でそのファイルが見つからない、またはアクセスできない状況です。

そもそもsudoとは?

sudoは「スーパーユーザー権限でコマンドを実行するためのツール」です。

例:

sudo apt update

このように、sudoを使うことで「管理者(root)レベル」で操作を行うことができます。

Linuxではセキュリティ上の理由から、通常は一般ユーザーとしてログインし、管理者権限が必要な作業のときだけsudoを使います。

「sudo: command not found」が起きる主な原因

原因1:最小構成のLinuxでsudoがインストールされていない

  • Debian Minimal / Ubuntu Server Minimal などでは、sudoが初期状態で含まれていないことがあります。
  • 特に、最小限のパッケージだけを入れた環境では、管理者がsudoを必要に応じて追加する前提になっています。

原因2:PATHが通っていない

  • sudoはあるけど、環境変数$PATHにその場所が含まれていない可能性があります。
  • PATHは、コマンドを探す場所のリストを定義する環境変数です。

原因3:システムが壊れている・途中でインストール失敗している

  • 何らかの理由でsudoパッケージが破損・削除されている可能性があります。
  • システムアップデート中の中断や、誤った操作でsudoが削除された場合も。

原因4:環境設定の問題

  • ユーザーの設定ファイル(.bashrc.bash_profileなど)でPATHが誤って上書きされている。

対処法1:sudoを再インストール(rootログインが必要)

まず、sudoなしでは通常のユーザーにはインストール作業ができません。

そのため、rootユーザーに直接ログインする必要があります。

rootログインできる場合

su -

パスワードを入力してrootになったら、以下のコマンドでsudoを再インストールします:

Debian/Ubuntuの場合

apt update
apt install sudo

Red Hat/CentOS/Fedoraの場合

yum install sudo

または

dnf install sudo

対処法2:PATHの問題を解決する

PATHを確認

echo $PATH

通常、/usr/bin(sudoが置かれる場所)がPATHに含まれているはずです。

sudoの場所を確認(rootアクセスがある場合)

find / -name sudo 2>/dev/null

PATHを修正(一時的)

export PATH=$PATH:/usr/bin:/sbin:/usr/sbin

PATHを修正(永続的)

.bashrcファイルに上記のexportコマンドを追加します:

echo 'export PATH=$PATH:/usr/bin:/sbin:/usr/sbin' >> ~/.bashrc
source ~/.bashrc

対処法3:インストール時にroot権限のユーザーを作成しておく(再インストール時の教訓)

Ubuntu Desktopでは通常sudoが使えるユーザーが作られますが、Minimalインストールではそうでないことがあります

インストール時にrootアカウントの有効化や、sudo権限付きのユーザー作成を忘れずに!

Linuxをインストールする際は、以下の点に注意しましょう:

  • インストール時にrootパスワードを設定する
  • sudoグループに追加するユーザーを作成する
  • Minimalインストールの場合はsudoをインストールするオプションを選ぶ

sudoがどこにあるか確認するコマンド(補足)

which sudo

何も返ってこなければ、やはりシステム上に存在していないか、PATHが通っていません。

sudoが使えない場合の代替案

一時的な代替として、suでrootに昇格してから以下のように直接コマンドを実行します:

su
apt install sudo

その後、ユーザーをsudoグループに追加:

usermod -aG sudo ユーザー名

その後は通常ユーザーでsudoを使えるようになります。

ログアウトして再ログインすると、グループの変更が反映されます。

よくある質問

Q
Q: rootユーザーとsudoの違いは何ですか?
A

rootは完全な管理者アカウントで常に全権限を持ちますが、sudoは一般ユーザーが一時的に管理者権限を借りるイメージです。
sudoを使うことで、操作ログも残り、セキュリティ的にも安全です。

Q
rootのパスワードを忘れた場合はどうすればいいですか?
A

シングルユーザーモードやリカバリーモードで起動し、rootパスワードをリセットする必要があります。詳細なやり方はディストリビューションによって異なります。

Q
sudoを使うとき、パスワードを毎回入力するのは面倒です。回避できますか?
A

sudoersファイルを編集して、特定のコマンドをパスワードなしで実行できるように設定できますが、セキュリティリスクを理解した上で慎重に行うべきです。

まとめ

「sudo: command not found」は、初心者がLinuxに初めて触れるときによく出会うトラブルです。

原因と対策まとめ

原因対策
sudo未インストールrootでログイン → apt install sudo
PATHが通っていないexport PATH=$PATH:/usr/bin:/sbin:/usr/sbin で修正
インストール中のミスや不具合クリーンな再インストールやroot確認を検討
ユーザーがsudoグループにないusermod -aG sudo ユーザー名 でグループに追加

まずはsu -でrootに切り替えてから落ち着いて対処しましょう。このトラブルを乗り越えれば、Linuxへの理解が一段深まります!

Linuxを使いこなす旅はまだ始まったばかり。日々の小さなトラブル解決を通じて、少しずつスキルアップしていきましょう。

コメント

タイトルとURLをコピーしました