Linux で「sudo: コマンドが見つかりません」エラーを修正する方法
これは、Linux を使い始めたばかりの新規ユーザーにとってよくある、イライラする問題です。
この記事では、このエラーの意味と、さまざまな方法を使用して Linux でこのエラーを修正する方法を説明します。
Sudo コマンドとは何ですか?
まず、 sudo が何であるかを理解しましょう。このコマンドは、 superuser dosudo
の略で、特別なスーパーユーザー (または root) 権限を必要とするタスクを実行できます。
Linux では、偶発的なシステム損傷を防ぐために、通常のユーザー アカウントの権限は制限されています。特定のファイルにアクセスしたり、重要なタスクを実行したりすることはできません。一方、root ユーザーにはそのような制限はなく、システム上で何でも実行できます。
コマンドの前にを使用するとsudo
、一時的に権限が昇格されます。これにより、通常は制限されるコマンドを実行できるようになります。たとえば、ソフトウェアをインストールしたり、システム ファイルを変更したりする必要がある場合、sudo によって必要な権限が与えられます。
sudo を使用すると、誤ってシステムを壊してしまうリスクが軽減されるため、root ユーザーとしてログインするよりも優れたオプションです。sudo を使用してコマンドを実行すると、ユーザー パスワード (root パスワードではありません) の入力が求められ、ID が検証されます。これにより、セキュリティがさらに強化され、許可されたユーザーだけが機密操作を実行できるようになります。
さらに、パスワードなしで sudo を使用する方法もあります。
「Sudo: コマンドが見つかりません」の意味
sudo: コマンドが見つからないというエラーは、Linux システムに sudo パッケージがないことを意味します。ほとんどの Linux システムには sudo がプリインストールされていますが、Arch や Gentoo Linux など、インストールされていないシステムもいくつかあります。
ただし、システムに sudo がインストールされているにもかかわらず、エラーが表示されることがあります。その場合は、PATH 変数に sudo がインストールされているディレクトリが含まれていないことが原因の可能性があります。PATH 変数は、リストされているディレクトリを検索してシステムがコマンドを見つけるのに役立ちます。
最後に、ユーザーに適切な権限がないか、PATH が適切に設定されていない場合にこのエラーが表示されることがあります。また、sudo のスペルが正しいことを確認してください。
Sudo: コマンドが見つからないエラーを修正する方法
Linux で sudo: コマンドが見つからないというエラーを修正するには、sudo をインストールするか、ユーザーを sudo グループに追加するか、sudo 実行可能ファイルのパスを PATH 変数に追加する必要があります。
sudoのインストール
まず、システムに sudo パッケージがあるかどうかを確認しましょう。バージョン番号を照会することで簡単に確認できます。バージョン番号が表示されれば、システムに sudo がインストールされていることがわかります。
Linux システムに sudo がインストールされていない場合は、エラーを解決するためにインストールする必要があります。そのためには、ユーザー アカウントからログアウトし、root ユーザーとしてログインする必要があります。
それを実行するには、次のコマンドを入力するだけです。
これで、ルート ユーザーになった後、デフォルトのパッケージ マネージャーを使用して Linux ディストリビューションに sudo パッケージをインストールできます。
たとえば、Ubuntu/Debian ベースのディストリビューションでは、次のコマンドを使用して sudo をインストールできますapt
。
CentOS/Fedora または RHEL ベースのディストリビューションに sudo をインストールするには、次のコマンドを実行します。
Arch Linux に sudo パッケージをインストールするには、次のコマンドを使用します。
Sudo グループにユーザーを追加する
sudo をインストールしたら、非 root ユーザーを sudo グループに追加して、スーパーユーザーの root アクセスを有効にします。たとえば、Ubuntu または Debian システムで次のコマンドを使用して、ユーザーを sudo グループに追加できます。
Fedora/CentOS またはその他の RHEL ベースのディストリビューションでは、wheel グループにユーザーを追加してみてください。
さらに、以下のコマンドを実行すると、ユーザーがグループに追加されたかどうかを確認できます。
確認後、次のコマンドに続けてユーザー名を入力し、ルートから非ルート ユーザーに戻りますsu
。
これで完了です。これで、sudo を使用してスーパーユーザーとしてすべてのコマンドを簡単に実行できます。たとえば、次のコマンドを使用して Linux システムのパッケージを更新することで、sudo のインストールを確認できます。
パス変数にSudoのディレクトリを追加する
システムに sudo がインストールされているにもかかわらず、sudo: command not found エラーが引き続き発生する場合は、PATH 変数をチェックして、sudo がインストールされているディレクトリが含まれていることを確認してください。
まず、実行可能パスを返して sudo コマンドの場所を特定します。
次に、echo コマンドを使用して、PATH 変数にこのディレクトリ (/usr/bin/) が含まれているかどうかを確認します。
ここでは、コロンで区切られた多数のディレクトリのリストが表示されます。リスト内で「/usr/bin」または「/bin」を探す必要があります。これらは sudo の最も一般的な場所だからです。
PATH に「/usr/bin」ディレクトリがない場合は、次のコマンドで含めることができます。
さらに、「/usr/bin」を、sudo 実行ファイルが含まれる実際のディレクトリに置き換えます。
このコマンドを実行すると、PATH 変数が一時的に更新され、システムが sudo ディレクトリを見つけて Linux の bash エラーを解決できるようになります。ただし、この変更は一時的なものであり、ターミナル セッションを終了すると消えます。
この変更をすべてのユーザーに対して永続的にするには、システム全体の PATH 変数に sudo ディレクトリを追加する必要があります。そのためには、まず root ユーザーになります。
「/etc/profile」ファイルを開きます。
変数パス行を検索し、「/usr/bin」ディレクトリを PATH 変数に追加します。
Ctrl最後に、 +を押してファイルを保存しO、エディターを閉じます。これで、エラーなしで sudo コマンドを実行できるようになります。
まとめ
sudo をインストールし、ユーザーを sudo グループに追加し、PATH 変数に sudo 実行可能パスを含めることで、sudo: コマンドが見つからないというエラーが正常に修正されました。
さらに、sudo -s、su、sudo su、sudo -i の違いを調べることもできます。また、sudo の優れた代替手段となる新しい権限昇格プログラムである Run0 を試してみるのもよいでしょう。
画像クレジット: Haroon Javed
コメントを残す