ターンキーlinuxredmineを使用してVMをセットアップし、サーバーにSSHで接続してさらにいくつかのアイテムをインストールしようとしています。
sudoコマンドを認識していないようです。何かをsudoしようとすると、次のようなエラーが表示されます。
-bash: sudo: command not found
別の場所を読んで「whereissudo」と入力すると、出力は次のようになります。
sudo:
回答
http://www.turnkeylinux.org/redmine Redmineのように、Ubuntuとは異なり、デフォルトではsudoを使用しません。 SSHでSSH接続するために使用しているユーザー名は何ですか? root
の場合、RedmineシステムにSSHで接続したときに行うすべてのことは、sudo
を使用する必要はありません。 root
として実行されます。 admin
のように他の何かである場合は、su
コマンドを使用してコマンドをroot
として実行するシェル。
コメント
回答
たぶんインストールされていませんか?パッケージマネージャーを開き、 sudo パッケージをインストールします。
コメント
- 'がインストールされていません!ありがとう。私は' Linuxはかなり新しく、すべてのインストールにあると思っていました。 sudoパッケージまたはsudo-ldapも必要ですか?
- sudo-ldapパッケージは必要ありません'。 Sudoは私のコンピューターで正常に動作し、' sudo-ldapがインストールされていません。
回答
最初にrootアカウントにログインします。次に
$ apt-get install sudo
既存のユーザーをグループsudo
$ sudo adduser <user> sudo
次に、<user>
としてログインすると、sudo
コマンドが表示されます。
回答
フルパスを使用してみてください
/usr/bin/sudo
そのコマンドが機能する場合は、〜/ .bashrcの環境変数PATHに/ usr / bin /を含めます
echo "export PATH="$PATH:/usr/bin"" >> ~/.bashrc
うまくいけば..
コメント
- その'が問題になる可能性はほとんどありません。
/usr/bin
はほぼ確実にデフォルトのパスになります。他の回答やコメントで示されているように、問題はsudo
コマンドが'インストールされていないことです。
回答
コマンドラインから呼び出そうとしているバイナリが現在のユーザーのPATHの一部にすぎないため、エラーが発生します変数ですが、rootユーザーのPATHの一部ではありません。
これは、アクセスしようとしているバイナリのパスを見つけることで確認できます。私の場合、「bettercap-ng」と呼ぼうとしていました。だから私は走った、
$ which bettercap-ng
output: /home/user/work/bin/bettercap
Iこの場所がrootユーザーのPATHの一部であるかどうかを確認しました。
$ sudo env | grep ^PATH
出力:PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
したがって、sudoは、コマンドラインから呼び出そうとしているバイナリを見つけることができません。したがって、見つからないエラーコマンドを返します。
sudoに現在のユーザーを使用するように指示できます。 「以下のようなバイナリを呼び出すときのPATH。
$ sudo -E env "PATH=$PATH" [command] [arguments]
実際、それからエイリアスを作成できます。
$ alias mysudo="sudo -E env "PATH=$PATH""
元のsudoの代わりに、エイリアス自体にsudoという名前を付けることもできます。
参照してください。ステップバイステップのソリューションについては、このビデオへ
sudo
の方が適している場合があります