(O+P)ut

OutPut Log by SE in SIer



(O+P)ut

Output Log by SE

【Debian入門】digコマンドのインストールと試し打ち

スポンサーリンク

やりたいこと

以下のDebian機に

$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 9 (stretch)"

dig*1コマンドをインストールしたい

$ dig www.mtioutput.com
bash: dig: command not found

インストールの流れ

以下にもあるように、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

終わりに

Debian系のインストールは cache search であたりをつけて get install が基本の流れです。
コマンド一つでできることがどんどん増えるLinux、本当に便利です。

*1:dig : domain information groper の略


他の記事を読む