GNU/Linux >> Linux の 問題 >  >> Linux

[修正]bash:sudo:コマンドが見つかりません

sudo 、Linuxの最も便利なコマンドは、いくつかのLinuxディストリビューション、特にdockerコンテナーと軽量Linuxディストリビューションから欠落している場合があります。

sudo ユーザーがrootを使用してコマンドを実行できるようにするユーティリティです。 アクセス。これは最も役立つコマンドであり、ほとんどすべての主要なLinuxディストリビューションに含まれています。はい、ほとんどすべてです。いくつかのLinuxディストリビューション、特にDockerイメージは、sudoを出荷していません。 デフォルトでパッケージ。エラーbash: sudo: command not foundが表示された場合 それは単にsudoを意味します インストールされていません。

bash:sudo:コマンドが見つかりません

ほとんどの場合、パッケージマネージャーを起動してsudoをインストールします。 十分になります。ただし、新しいパッケージをインストールするには、rootを使用する必要があります 機能。 rootユーザーとしてログインし、sudoをインストールします 。

Ubuntuまたはその派生物の場合

$ apt install sudo

Fedoraまたはその派生物の場合

$ dnf install sudo

RHELまたはその派生物の場合

$ yum install sudo

ArchLinuxまたはその派生物の場合

$ pacman install sudo

Dockerイメージの場合

ただし、多数のDockerイメージの場合のように、rootアカウントがない場合、これは不可能な場合があります。 DockerイメージからDockerコンテナーを作成する場合、イメージにはroot ユーザー。その場合、sudoを使用してカスタムイメージを作成する必要があります プリインストールされています。心配しないでください。簡単です。

カスタムDockerイメージを作成する

カスタムDockerイメージを構築するには、Dockerfileが必要です。 Dockerfileは特定の構文ですべてを定義するために使用され、dockerbuildコマンドはそこからイメージを生成するために使用されます。 たとえば、DockerでホストされているDockerイメージを使用してDockerコンテナを作成する場合ハブでは、Dockerfileでそのイメージをベースイメージとして指定し、コマンドを渡して追加のツール(この場合はsudo)をインストールできます。

Dockerfileを作成する

touch Dockerfile

お気に入りのテキストエディタでDockerfileを開きます。

nano Dockerfile or gedit Dockerfile
# This is the base image we will use to create our custom docker image
FROM ubuntu:latest
 
#
# the maintainer of an image
LABEL maintainer="[email protected]"
 
#
# Install the tools (sudo)
RUN apt-get update && apt-get upgrade -y && apt install sudo tasksel -y

3番目の部分で「ツールのインストール」とマークされたRUNラベルを使用しました。実行後のコマンドは、カスタムイメージを生成する前に実行されます。したがって、ここにコマンドを入力することで、必要なパッケージをインストールできます。コマンドを書き続けると、サーバー全体を起動することもできます。

Dockerfileの詳細については、Dockerの公式ドキュメントを参照してください。

Dockerfileを保存して閉じます。ここで、コマンドラインを開き、Dockerfileを含むディレクトリに移動して、次のコマンドを実行します–

sudo docker build -t image-name:tag .
image-name:tagを変更します 好きな名前とタグを付けてください。

docker buildコマンドはディレクトリのみを受け入れ、Dockerfileは受け入れないことに注意してください。コマンドでDockerfileを指定すると、エラーが発生します– unable to prepare context: context must be a directory: /home/sandy/Dockerfile 。したがって、Dockerfileを含むディレクトリ内にいて、を使用する必要があります。現在のディレクトリまたはDockerfileを含むディレクトリへのフルパスを指定します。

以上です。 docker build コマンドの作成を開始します。数秒かかります。完了すると、カスタムDockerイメージがローカルイメージキャッシュに保存されます。これで、image-name:tagを使用して、sudoがプリインストールされたDockerコンテナを作成できます。


Linux
  1. Bashでコマンドが見つかりません修正されました

  2. 更新-代替コマンドが見つかりませんか?

  3. bash:netstat:コマンドが見つかりません。

  1. visudo:コマンドが見つかりません

  2. sudoedit:コマンドが見つかりません

  3. sudo:コマンドが見つかりません

  1. 須藤:コマンドが見つかりませんか?

  2. sudo:python:コマンドが見つかりません

  3. sudo の使用時にコマンドが見つからない