サイトアイコン スグブログ

【Linux】CentOSで「コマンドが見つかりません」となった時の対処法

マスク
Linuxサーバーで悩んでいるエンジニア

Linuxサーバーを運用していてコマンドを打とうとしたら「コマンドが見つかりません」と表示されました。
インターネットで見る限りありそうなコマンドなのですが、なぜ私の環境だけコマンドがないと表示されるのでしょうか?

そういった疑問に現役エンジニアの筆者が答えます。

筆者はWindowsサーバーやLinuxサーバーの運用構築を11年間以上おこなってきました。その経験を元に知識を公開していきます!

コマンドがないので諦めていませんか?せっかくインターネットで調べたのにコマンドがなければ悲しいですよね。

しかし実際は何かをインストールするだけで、使用できるコマンドもありますので、この記事の方法を試してください。

コマンドをインストールして、インターネットで調べたコマンドを実行できます。

LinuxのCentOSで「コマンドが見つかりません」となった時の対処法

CentOSで「コマンドが見つかりません」となった時の対処法

今回はLinuxサーバーでインターネット接続できなくなった時に、DNSの確認の為のコマンドを実行しようとした際に「コマンドが見つかりません」と言われました。

[root@localhost ~]# dig www.google.co.jp
-bash: dig: コマンドが見つかりません

LinuxのCentOSで「コマンドが見つかりません」となった時の対処法コマンドは以下となります。

yum provides */コマンド名

yumでインストールしたいファイルをリポジトリから探してくれます。

実践:CentOSで「コマンドが見つかりません」となった時の対処法

今回は「dig」コマンドですので「yum provides */dig」とします。

[root@localhost ~]# yum provides */dig | more
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.jaist.ac.jp
 * epel: mirrors.xtom.hk
 * extras: ftp.jaist.ac.jp
 * updates: mirrors.nju.edu.cn
32:bind-utils-9.11.4-26.P2.el7.x86_64 : Utilities for querying DNS name servers
リポジトリー        : base
一致          :
ファイル名    : /usr/bin/dig

「dig」コマンドがある「usr/bin/dig」ファイルが「bind-utils-X.XX.X~」にある事がわかりました。

他のコマンドで「nslookup」コマンドも欲しいですが、同じく「コマンドが見つかりません」となりました。

[root@localhost ~]# nslookup www.google.co.jp
-bash: nslookup: コマンドが見つかりません

同じく「yum provides */nslookup」とします。

[root@localhost ~]# yum provides */nslookup
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.jaist.ac.jp
 * epel: mirrors.xtom.hk
 * extras: ftp.jaist.ac.jp
 * updates: mirrors.nju.edu.cn
1:bash-completion-extras-2.1-11.el7.noarch : Additional programmable completions for Bash
リポジトリー        : epel
一致          :
ファイル名    : /usr/share/bash-completion/completions/nslookup

32:bind-utils-9.11.4-26.P2.el7.x86_64 : Utilities for querying DNS name servers
リポジトリー        : base
一致          :
ファイル名    : /usr/bin/nslookup

「nslookup」コマンドがある「usr/bin/nslookup」ファイルが同じく「bind-utils-X.XX.X~」にある事がわかりました。

続いて「host」コマンドも欲しいですが、同じく「コマンドが見つかりません」となりました。

[root@localhost ~]# host www.google.co.jp
-bash: host: コマンドが見つかりません

同じく「yum provides */host」とします。

[root@localhost ~]# yum provides */host
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.jaist.ac.jp
 * epel: mirrors.xtom.hk
 * extras: ftp.jaist.ac.jp
 * updates: mirrors.nju.edu.cn
1:bash-completion-extras-2.1-11.el7.noarch : Additional programmable completions for Bash
リポジトリー        : epel
一致          :
ファイル名    : /usr/share/bash-completion/completions/host

32:bind-utils-9.11.4-26.P2.el7.x86_64 : Utilities for querying DNS name servers
リポジトリー        : base
一致          :
ファイル名    : /usr/bin/host

「host」コマンドがある「usr/bin/host」ファイルが同じく「bind-utils-X.XX.X~」にある事がわかりました。

3つのコマンド全てが「bind-utils-X.XX.X~」をインストールすれば使用出来る事がわかりました。

ではLinuxでインストールしてみます。

yum install bind-utils

インストールできたと思います。

インストールが出来ない場合は以下の記事を参照してください。

では先程のコマンドを実行してみます。

digコマンド実行結果

[root@localhost ~]# dig www.google.co.jp

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.15 <<>> www.google.co.jp
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 153
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.google.co.jp.              IN      A

;; ANSWER SECTION:
www.google.co.jp.       154     IN      A       172.217.25.163

;; Query time: 20 msec
;; SERVER: 192.168.0.1#53(192.168.0.1)
;; WHEN: 日  5月 05 16:26:50 JST 2024
;; MSG SIZE  rcvd: 61

digコマンドが実行できています。

nslookupコマンド実行結果

[root@localhost ~]# dig www.google.co.jp

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.15 <<>> www.google.co.jp
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 153
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.google.co.jp.              IN      A

;; ANSWER SECTION:
www.google.co.jp.       154     IN      A       172.217.25.163

;; Query time: 20 msec
;; SERVER: 192.168.0.1#53(192.168.0.1)
;; WHEN: 日  5月 05 16:26:50 JST 2024
;; MSG SIZE  rcvd: 61

[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]# nslookup www.google.co.jp
Server:         192.168.0.1
Address:        192.168.0.1#53

Non-authoritative answer:
Name:   www.google.co.jp
Address: 172.217.25.163
Name:   www.google.co.jp
Address: 2404:6800:400a:80a::2003

nslookupコマンドが実行出来ています。

hostコマンド実行結果

[root@localhost ~]# host www.google.co.jp
www.google.co.jp has address 172.217.25.163
www.google.co.jp has IPv6 address 2404:6800:400a:80a::2003

hostコマンドが実行出来ています。

機嫌のいいワンコ

LinuxのCentOSで「コマンドが見つかりません」となった時でも、該当コマンドをインストールして実行できました!

「yum provides */コマンド」が実行できない場合

「yum provides */コマンド」が実行できない場合や「コマンド「providers」が見つかりません。」となった場合はコマンドを確認してください。

[root@localhost ~]# yum providers */dig
読み込んだプラグイン:fastestmirror
コマンド「providers」が見つかりません。「/usr/bin/yum --help」を実行してください。

コマンドが間違えています。「providers」ではなく「provides」です。

管理人

よく間違えるのでコマンドをきちっと確認しましょう!

モバイルバージョンを終了