Ich erhalte diesen Fehler, wenn ich Pakete installiere über 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)
Warum passiert das?
12.04
command-line
dpkg
Batman
quelle
quelle
Antworten:
Lösung:
(Diese Art von Problemen hat keine guten Lösungen. Aber nur ein paar Probleme.)
Sie sollten diesen Befehl zuerst in einem Terminal versuchen:
Wenn es nicht funktioniert, verarbeiten Sie mit haking-ish Lösung.
Versuchen Sie, das Konfigurationsskript von vorübergehend zu verschieben
ssmtp
.Öffnen Sie ein Terminal und führen Sie diesen Befehl aus, um sie in das aktuelle Verzeichnis zu verschieben
Dann versuchen Sie es mit
apt-get
Die Ursache des Problems:
Die vorherige Installation oder Deinstallation wurde möglicherweise nicht erfolgreich abgeschlossen, sodass einige Konfigurationsschritte für das
ssmtp
Paket ausgeführt werden müssen. Da dpkg erst nach Abschluss der Schritte fortschreitet, bleibt die nachfolgende Verwendung vonapt-get
now bei diesem Schritt hängen.quelle
Lauf
hostname --fqdn
Wenn Sie eine Fehlermeldung erhalten, bearbeiten Sie / etc / hostname und / etc / hosts mit einem korrekten Hostnamen.
Dann
aptitude install ssmtp
nochmal um es zu installieren.quelle
Nur damit jeder weiß, hat die Bearbeitung von / etc / hosts den Trick ausgeführt, dass der etc / hostname mit server.exmaple.com richtig war
Die Gastgeber waren jedoch nicht korrekt
ändere es so:
Ich habe hostname -f und hostname --fqdn ausgeführt und Folgendes erhalten.
Ich dachte, jeder würde es gerne wissen.
quelle
Höchstwahrscheinlich funktioniert Ihre Internetverbindung nicht richtig. Insbesondere denke ich, dass Ihr DNS nicht richtig aufgelöst wird.
Versuchen Sie, die Zeile hinzuzufügen
zu deinem
/etc/resolv.conf
Dadurch wird der Freenom-DNS-Server vorübergehend hinzugefügt (bis zum nächsten Start).
quelle
sudoedit /etc/resolv.conf
die vorhandene Adresse ersetzen8.8.8.8
, um temporäre DNS-Probleme zu beheben. Die Datei wird beim nächsten Start neu generiert, sodass Sie hier nichts Unheilvolles anrichten können, es sei denn, ein Neustart ist nicht möglichIch habe die Nachricht in meinem Heimnetzwerk auf einem Ubuntu-System mit einer dynamisch zugewiesenen IP-Adresse von einem Router erhalten, der einen kombinierten DHCP- und DNS-Server für mein Netzwerk bereitstellt.
Die Nachricht:
hostname: Name or service not known
Kann durch einen Ausfall eines solchen Geräts verursacht werden, wenn auch nur für einen Moment.Dies kann zum Beispiel passieren, wenn mein Heimrouter nach einem Stromausfall neu gestartet wird.
Das Problem hierbei ist, dass der DHCP-Dienst, auf den sich Ihr Netzwerk stützt, alle zugewiesenen IP-Adressen und die zugehörigen Domänennamen vergisst. Wenn Ihr Computer den zugehörigen DNS-Server auf seinen eigenen Namen überprüft, verfügt er nicht mehr über diesen. Einige DHCP-Server können Probleme vermeiden, indem sie die vorgenommenen Zuweisungen auf die Festplatte oder den Flash-Speicher schreiben, sodass beim Neustart nichts verloren geht.
Der Server nimmt normalerweise Ihren Computernamen von der DHCP-Anforderung Ihres Systems, macht ihn zum Computernamen .local und speichert ihn in seinen Datensätzen, sodass er gleichzeitig auf dem zugeordneten DNS-Server verfügbar ist. Fordert normalerweise
hostname -fqdn
den vollständigen Domänennamen über Ihr Netzwerk von Ihrem DNS-Server an. Wenn der Eintrag vorhanden ist, wird dieser Name zurückgegeben. Das.local
Suffix lässt es wie einen gültigen, vollständig qualifizierten Domainnamen aussehen (obwohl es sich nicht wirklich um einen gültigen globalen Domainnamen handelt). Aus diesem Grund müssen Sie möglicherweise keinen Domänennamen manuell in den Dateien / etc / hosts oder / etc / hostname angeben.Der Neustart des DHCP-Servers kann weitere Probleme verursachen, da IP-Adressen möglicherweise mehreren Computern gleichzeitig zugewiesen werden und einige nicht kommunizieren können. Die Adresse wird vor dem Neustart des Servers und danach einmal vergeben.
Wenn Ihr DHCP-Server seine Zuweisungen vergisst, ist es sicher, jeden Computer, den er bedient, beim Neustart erneut anzuschließen. Als ich meine verlor, habe ich einfach die Verbindung zu meinem WLAN-Zugangspunkt getrennt und wieder hergestellt. In einem kabelgebundenen Netzwerk können Sie das Netzwerkkabel verwenden
ifdown
und /ifup
oder einfach trennen und wieder anschließen. Beim erneuten Herstellen der Verbindung verwendet mein System automatisch dhclient, um eine neue Adresse abzurufen. Mein Computer und der Server stimmen nun überein, wer ich bin, und die Meldung wird nicht mehr angezeigt.Wenn Sie lange genug warten, tritt beim DHCP-Lease eine Zeitüberschreitung auf, und Ihr System fordert einen neuen Lease vom Server an, um das Problem zu beheben. Dies wird wahrscheinlich Stunden oder Tage später sein (für meinen Server ist es ein Tag).
Wenn Sie einen statischen IP-Namen und eine statische IP-Adresse definiert haben und die DNS-Reverse-Lookup-Einträge korrekt sind, sollte das Problem nicht auftreten.
quelle
Ich bin heute Morgen auf diesen Fehler gestoßen, und es stellte sich heraus, dass der Hostname falsch geschrieben wurde
/etc/hostname
. Das Korrigieren, so dass es mit der Schreibweise des Hostnamens übereinstimmt,/etc/hosts
behebt das Problem. Derhostname -b -F /etc/hostname
Befehl, läuft beim Booten offenbar nicht , es sei denn abschließen kann/etc/hostname
und/etc/hosts
zustimmen.quelle
/etc/hosts
und/etc/hostname
bin einverstanden. Dann habe ich den "Befehl, der beim Booten ausgeführt wird" ausgeführt, nur ohne das-b
Flag (da die angegebene Datei nur nicht vorhanden sein kann, aber hier ist sie). Und bang:hostname --fqdn
Gibt wieder den richtigen FQDN zurück.