Perché ottengo nome host: errore di nome o servizio sconosciuto?

20

Ricevo questo errore ogni volta che installo pacchetti tramite apt-get :

hostname: Name or service not known
dpkg: error processing ssmtp (--configure):
 subprocess installed post-installation script returned error exit status 1
Setting up libt1-5 (5.1.2-3.4ubuntu1) ...
Setting up php5-gd (5.3.10-1ubuntu3.2) ...
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place
Errors were encountered while processing:
 ssmtp
E: Sub-process /usr/bin/dpkg returned an error code (1)

Perché questo sta succedendo?

    
posta batman 07.09.2012 - 12:53
fonte

6 risposte

10

Soluzione:

(Questi tipi di problemi non hanno buone soluzioni, ma solo alcuni haking-ish)

Dovresti prima provare questo comando in un terminale:

sudo apt-get -f install

Se non funziona, procedi con la soluzione haking-ish .

Prova a spostare temporaneamente lo script di configurazione di ssmtp .

  1. Apri un terminale ed esegui questo comando per spostarli nella directory corrente

     sudo mv /var/lib/dpkg/info/ssmtp* .
    
  2. Quindi prova a usare apt-get

La causa del problema:

La precedente installazione o rimozione potrebbe non essere completata con successo, lasciando un po 'di configurazione per il pacchetto ssmtp . Dato che dpkg non avanza senza prima aver completato i passaggi, l'uso successivo di apt-get ora si blocca su quel passaggio.

    
risposta data Anwar 07.09.2012 - 13:38
fonte
17

Esegui hostname --fqdn

Se ricevi un errore, modifica / etc / hostname e / etc / hosts con un nome host appropriato.

Quindi aptitude install ssmtp di nuovo per farlo installare.

    
risposta data croaker___ 17.11.2012 - 15:18
fonte
12

Solo così tutti sanno, la modifica di / etc / hosts ha fatto il trucco ecc. / hostname era corretto con server.exmaple.com

tuttavia gli host non erano corretti

127.0.0.1 localhost
127.0.0.1 server

cambialo in questo modo:

127.0.0.1 localhost.localdomain  localhost
192.168.xxx.xxx  server.example.com   server

Ho eseguito hostname -f e hostname --fqdn e ho ottenuto quanto segue.

server.example.com

Ho pensato che tutti vorrebbero saperlo.

    
risposta data nexusguy59 20.11.2012 - 04:04
fonte
2

Molto probabilmente la tua connessione Internet non funziona correttamente. In particolare, penso che il tuo DNS non si risolva correttamente.

prova ad aggiungere la linea

nameserver 80.80.80.80 

al tuo /etc/resolv.conf

Questo aggiungerà temporaneamente il server DNS di freenom (fino al prossimo avvio)

    
risposta data user61664 07.09.2012 - 13:29
fonte
1

Ho ricevuto il messaggio sulla mia rete domestica su un sistema Ubuntu con un indirizzo IP assegnato dinamicamente da un router che fornisce un server DHCP e DNS combinato per la mia rete.

Il messaggio: hostname: Name or service not known può essere causato da un dispositivo simile che scende, anche se solo per un istante.

Ad esempio questo può accadere se il mio router di casa viene riavviato quando la mia alimentazione si spegne.

Il problema qui è che il servizio DHCP su cui si basa la rete dimentica tutti gli indirizzi IP assegnati e i nomi di dominio associati. Quando il tuo computer controlla il server DNS associato per il proprio nome, il server non lo ha più. Alcuni server DHCP possono evitare problemi scrivendo le assegnazioni che hanno fatto sul loro disco o sulla memoria flash in modo da non perdere nulla quando si riavviano.

Il server può normalmente prendere il nomecomputer dalla richiesta DHCP del sistema, renderlo nomecomputer .local e memorizzarlo nei suoi record, rendendolo disponibile nel suo server DNS associato contemporaneamente. Di solito hostname -fqdn richiede il nome completo del dominio sulla tua rete dal tuo server DNS e se ha il record restituirà quel nome. Il suffisso .local lo rende simile a un nome di dominio valido completo (sebbene non sia realmente un nome di dominio globale valido). Questo è il motivo per cui potresti non dover specificare manualmente un nome di dominio in / etc / hosts o in file / etc / hostname.

Il riavvio del server DHCP può causare ulteriori problemi in quanto gli indirizzi IP possono essere assegnati a più computer contemporaneamente, causando alcuni non essere in grado di comunicare. L'indirizzo viene assegnato una volta prima del riavvio del server e di nuovo dopo.

Se il tuo server DHCP dimentica i suoi compiti, la cosa sicura da fare è ricollegare ogni computer che serve al riavvio. Quando ho perso il mio, ho semplicemente disconnesso e riconnesso al mio punto di accesso wifi. Su una rete cablata puoi utilizzare ifdown e ifup o semplicemente disconnettere e riconnettere il cavo di rete. Quando ricollegamento il mio sistema utilizza automaticamente dhclient per ottenere un nuovo indirizzo: il mio computer e il server ora sono d'accordo su chi sono e il messaggio non appare più.

Se si attende abbastanza a lungo il lease DHCP scadrà e il sistema chiederà e riceverà un nuovo lease dal server, eliminando il problema. Probabilmente saranno ore o giorni dopo (per il mio server è un giorno).

Se hai definito un nome e un indirizzo IP statici e se i record di ricerca inversa DNS sono corretti, il problema non dovrebbe verificarsi.

    
risposta data John S Gruber 29.09.2013 - 20:42
fonte
1

Mi sono imbattuto in questo errore questa mattina e ho scoperto che il nome host era errato in /etc/hostname . Correggere questo in modo concordato con l'ortografia del nome host in /etc/hosts chiarito il problema. Il comando hostname -b -F /etc/hostname che viene eseguito al momento dell'avvio apparentemente non può essere completato a meno che /etc/hostname e /etc/hosts siano d'accordo.

    
risposta data Michael Merideth 07.02.2017 - 21:13
fonte

Leggi altre domande sui tag