Super článek! I pro nás amatéry, co známe DNS hlavně jenom z dig a getent
Bezne... aby vas to v praxi neprekvapilo:-) Nemusi resit vubec nic co se tyka dns. Jen dava pokyn "preloz mi tohle na jmeno/adresu jakkymkoliv zpusobem ktery mas nastaven".
Zalezi trebana vasi konfiguraci nsswitch. Muzete skrz ni resolving predat uplne jine knihovne ktera ma zase svoji konfiguraci a vubec nemusi resit dns.
Dig nebo treba stary nslookup resi pouze a jen dns.
To zalezi jak chapete semantiku veci nebo abstrakci k dane veci. getent znamena - get entry (get entries from administrative database). Ne get dns. Muzete ziskat zaznam kdeceho k cemu maji knihovny pristup dle toho co je zadefinovano v nsswitch. Uzivatele,skupiny, netgroupy, automounty, arp zaznamy atd.
Zatimco treba dig ci nslookup jsou jednoucelove nastroje pouze pro manipulaci s dns dotazy. Nedokazou resit treba hostfile, wins, neresi automounty nebo uzivatele.
Je to jako byste nekde psal ze databazove systemy resi ulozeni telefonniho seznamu. Take mj. mohou resit, ale je to jen jedno z mnoha specifickych pouziti. Ten nastroj vytvari moznost abstrakce a manipulace s jakkymikoliv daty.
To neni o slovickareni. To je o pochopeni abstrakce. System az na zaklade dotazu do knihovny nebo pomoci getent muze a nemusi sestavovat DNS query. Muze resit dotaz uplne nekam jinam nez do DNS.
Nsswitch konfigurace resi kde se budete v tech systemovych databazich ptat. Muzete mit system kde vam po getent host dotazu vypadne jen treba zaznam z hosts nebo vubec nic.
Dokonce muzete mit system sestaven i bez DNS resolveru, a presto tam treba getent bude - treba embedaci tohle radi delaji. Jenomze muzete argumentovat ze pak nebudete pouzivat ani glibc ani getent ze:-)