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~」にある事がわかりました。
では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」です。
よく間違えるのでコマンドをきちっと確認しましょう!