In unix (Solaris) c'è qualche comando che restituisce insieme il nome host e il nome dominio?
Per esempio:
hostname -> servername
domainname -> us.xyz.com
Ho bisogno : servername.us.xyz.com
In unix (Solaris) c'è qualche comando che restituisce insieme il nome host e il nome dominio?
Per esempio:
hostname -> servername
domainname -> us.xyz.com
Ho bisogno : servername.us.xyz.com
Risposte:
Il comando
hostname --fqdn (or -f)
potrebbe anche fare quello che vuoi o no dato che sul mio sistema ottengo (none)
quando corrodomainname
hostname(1)
su Solaris 10 (su sun4v) e tutte le versioni precedenti che ho usato, --fqdn
non sono disponibili. Cerca solo di impostare il nome host su --fqdn
. Se lo esegui come non superutente per sicurezza, dice "uname: errore nell'impostazione del nome: non proprietario". Questo è ovviamente lo stock Solaris hostname
. Il poster non indica se il set di strumenti GNU è installato o meno.
Anche questo mi infastidisce da anni. Ci lavoro solo dicendo
$(hostname).$(domainname)
È possibile definire una funzione di shell o alias:
fqdn () {
echo $(hostname).$(domainname)
}
domainnname
segnala effettivamente il tuo dominio NIS se stai eseguendo NIS. Questo non è necessariamente uguale al nome del tuo dominio DNS.
hostname --fqdn | cut -d. -f2-4
hostname --fqdn
imposta il nome host su '--fqdn', che è probabilmente una cattiva idea (quindi assicurati di non essere root se lo provi). :) È --fqdn
supportato su Solaris 11?
check-hostname | awk '{print $ NF}'
So che questo è un thread più vecchio ma avevo bisogno di estrarre separatamente il nome host e il nome di dominio in uno script.
La risposta di ealgumby all'utilizzo di check-hostname è stata una cosa che non avevo mai visto prima, quindi ho provato a ottenere un grande successo per le mie esigenze. Lo contrassegnerei come utile ma a quanto pare non ho il rappresentante per farlo.
Ho impostato il dominio come segue eseguendo il loop dell'output di check-hostname.
domain=`check-hostname | nawk -F\. '{for(i=2; i<NF;i++){printf $i"."}printf $NF"\n"}'`
fqdn=`hostname`'.'${domain}
Ho fatto un po 'di soluzione per hostname
e host
:
$ host $(hostname -i) | awk '{print $NF }'
(Sto usando Centos ma dovrebbe funzionare altrove)
Ottenere il dominio senza punto finale:
$ host $(hostname -i) | awk '{print substr($NF, 1, length($NF)-1)}'
hostname -i
stampa l'indirizzo IP corrispondente al nome host.
host
comando. Questo ti porterà qualcosa del genere: YOUR_IP.in-addr.arpa domain name pointer hostname.domainname.
con awk ottengo l'ultima colonna che èhostname.domainname
host $(hostname -i)
mi dai un elenco di 8 nome host, tutti con lo stesso IP e nessun nome host corrispondente ai miei host
host
comando? sembra che il tuo comando host
abbia un alias ahost -a
Su Solaris questo ha funzionato bene per me: scusate il backtick, è la citazione inversa accanto al numero 1 su una tastiera qwerty oppure potete usare $ (comando) in KSH
getent hosts (backtick) /usr/bin/hostname (backtick)
o
getent hosts $(/usr/bin/hostname)
esempio:
root@melauto:[/]# getent hosts $(/usr/bin/hostname)
10.4.19.241 melauto.sro.vic.gov.au melauto loghost
root@melauto:[/]#
getent interroga il meccanismo di ricerca del nome corrente come specificato in /etc/nsswitch.conf e restituisce le informazioni che corrispondono alla ricerca, qui restituisce le informazioni come trovate in /etc/hosts
. se cerchi le informazioni sull'host per un altro host che non si /etc/hosts
trova, cercherà nel DNS a condizione che sia definito in/etc/nsswitch.conf
In uno script Unix bash, in Sun Solaris 10, ho appena visualizzato il mio nome host per:
echo "Il mio nome host è $ (nome host)"
printf "%s" "$(hostname) $(domainname)"
funziona?