やりたいこと
Linux(Debian)にdig*1コマンドをインストールしたい。
$ dig www.mtioutput.com bash: dig: command not found
環境情報
$ cat /etc/os-release PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
やり方
Debian系のOSではaptを使ってパッケージ管理を行いますが
いきなりdigコマンドをインストールしようとすると該当パッケージがないと返されます。
$ apt-get install dig Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package dig
よってapt-cache search
で後続に入力した文字列を元にパッケージを検索できます。
ただしそのまま入力すると延々とパッケージが表示されるので
$ apt-cache search dig 4digits - guess-the-number game, aka Bulls and Cows a2ps - GNU a2ps - 'Anything to PostScript' converter and pretty-printer ....(膨大な量)...
grepを用いて絞り、今回はDNSに関連するコマンドということでgrep -i dns
として検索しました。
$ apt-cache search dig | grep -i dns dnsutils - Clients provided with BIND dns-browse - Front-ends to DNS search dnsvi - edit dynamic DNS zones using vi gresolver - graphical tool for performing DNS queries knot-dnsutils - Clients provided with Knot DNS (kdig, knslookup, knsupdate) ldnsutils - ldns library for DNS programming pdns-tools - Tools for DNS debugging by PowerDNS udns-utils - Several DNS-related utilities built on top of udns library
今回はこの中でも以下パッケージが対象です。
dnsutils - Clients provided with BIND
同パッケージをインストールすると
apt-get install -y dnsutils Reading package lists... Done ... Processing triggers for libc-bin (2.24-11+deb9u4) ...
インストールが完了しています。
$ which dig /usr/bin/dig
以下、補足です。
補足
インストールしたコマンドは確かに利用できました。
$ dig www.mtioutput.com ; <<>> DiG 9.10.3-P4-Debian <<>> www.mtioutput.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 52066 ;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 512 ;; QUESTION SECTION: ;www.mtioutput.com. IN A ;; ANSWER SECTION: www.mtioutput.com. 3599 IN CNAME hatenablog.com. hatenablog.com. 59 IN A 13.115.18.61 hatenablog.com. 59 IN A 13.230.115.161 ;; Query time: 199 msec ;; SERVER: 169.254.169.254#53(169.254.169.254) ;; WHEN: Fri Sep 06 02:18:19 UTC 2019 ;; MSG SIZE rcvd: 103
試しに本サイトのドメインを調査しましたがCNAMEレコードが確認できます。
CNAMEレコードはドメイン名のaliasを定義するもので、別のドメインへの転送アドレスのように設定が可能です。
試しに前のドメイン名に対してdigを行うと同じIPアドレスが確認できました。実体のサーバIPアドレスは変わらずに転送を行っていることが確認できます。
# dig mti.hatenablog.com ; <<>> DiG 9.10.3-P4-Debian <<>> mti.hatenablog.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 13628 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 512 ;; QUESTION SECTION: ;mti.hatenablog.com. IN A ;; ANSWER SECTION: mti.hatenablog.com. 59 IN A 13.230.115.161 mti.hatenablog.com. 59 IN A 13.115.18.61 ;; Query time: 30 msec ;; SERVER: 169.254.169.254#53(169.254.169.254) ;; WHEN: Fri Sep 06 02:21:15 UTC 2019 ;; MSG SIZE rcvd: 79
以上です。
*1:dig : domain information groper の略