it-swarm-eu.dev

Jak získat název hostitele spolu s názvem domény?

V Unixu (Solaris) existuje nějaký příkaz, který vrací hostitelské jméno a doménové jméno dohromady?

Například:

hostname -> servername
domainname -> us.xyz.com

Potřebuji : servername.us.xyz.com

18
Vikas

Toto bude fungovat, pokud je vaše doména správně nastavena v resolv.conf. Můžete také použít příkaz název_domény, který ostatní uvedli, pokud je vaše doménové jméno NIS stejné jako vaše doména DNS.

echo `uname -n`.`awk '/^domain/ {print $2}' /etc/resolv.conf`
14
Nicholas

Příkaz

hostname --fqdn (or -f)

může také dělat to, co chcete nebo ne, protože v mém systému dostanu (none) když spustím domainname

13
Elwillow

Tohle mě už roky trápí. Prostě to obejdu říkáním

$(hostname).$(domainname)

Můžete definovat funkci Shell nebo alias:

fqdn () {
    echo $(hostname).$(domainname)
}
5
Alexios

check-hostname | awk '{print $ NF}'

4
ealgumby

Vím, že se jedná o starší vlákno, ale musel jsem ve skriptu táhnout zvlášť jméno hostitele a název domény.

odpověď ealgumby na použití check-hostname bylo něco, co jsem nikdy předtím neviděl, a tak jsem se pokusil o velký úspěch pro své potřeby. Označil bych to jako užitečné, ale očividně nemám zástupce, aby to udělal.

Doménu jsem nastavil následujícím způsobem, aby se točilo přes výstup z check-hostname.

domain=`check-hostname | nawk -F\. '{for(i=2; i<NF;i++){printf $i"."}printf $NF"\n"}'`
fqdn=`hostname`'.'${domain}
2
ASG

Udělal jsem trochu řešení pro hostname a Host:

$ Host $(hostname -i) | awk '{print $NF }'

(Používám Centos, ale mělo by to fungovat jinde)

Získání domény bez koncové tečky:

$ Host $(hostname -i) | awk '{print substr($NF, 1, length($NF)-1)}'
1
user1314742

Na Solaris mi to fungovalo dobře: omlouvám se za backtick, je to obrácený citát vedle čísla 1 na qwerty klávesnici nebo můžete použít $ (příkaz) v KSH

getent hosts (backtick) /usr/bin/hostname (backtick)

nebo

getent hosts $(/usr/bin/hostname)

příklad:

[email protected]:[/]# getent hosts $(/usr/bin/hostname)

10.4.19.241     melauto.sro.vic.gov.au melauto loghost
[email protected]:[/]# 

getent dotazuje mechanismus pro vyhledávání aktuálních jmen, jak je uvedeno v /etc/nsswitch.conf, a vrací informace, které odpovídají vyhledávání, zde vrací informace, které byly nalezeny v /etc/hosts. pokud hledáte informace o hostiteli pro jiného hostitele, který není v /etc/hosts, bude vypadat v DNS za předpokladu, že je to, co je definováno v /etc/nsswitch.conf

0
Blaise