Ten błąd pojawia się, gdy instaluję jakiekolwiek pakiety za pośrednictwem 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)
Dlaczego tak się dzieje?
12.04
command-line
dpkg
ordynans
źródło
źródło
Odpowiedzi:
Rozwiązanie:
(Tego rodzaju problemy nie mają dobrych rozwiązań. Ale tylko niektóre hakowanie)
Najpierw wypróbuj to polecenie w terminalu:
Jeśli to nie zadziała, wykonaj procedurę przy użyciu hakującego rozwiązania.
Spróbuj tymczasowo przenieść skrypt konfiguracji
ssmtp
.Otwórz terminal i wykonaj to polecenie, aby przenieść je do bieżącego katalogu
Następnie spróbuj użyć
apt-get
Przyczyna problemu:
Poprzednia instalacja lub usunięcie może się nie powieść, pozostawiając krok konfiguracji dla
ssmtp
pakietu. Ponieważ dpkg nie będzie się rozwijał bez uprzedniego ukończenia kroków, kolejne użycieapt-get
teraz utknie na tym kroku.źródło
biegać
hostname --fqdn
Jeśli pojawi się błąd, edytuj / etc / hostname i / etc / hosts z poprawną nazwą hosta.
Następnie
aptitude install ssmtp
ponownie, aby zainstalować.źródło
Wszyscy wiedzą, że edycja pliku / etc / hosts rozwiązała problem, jeśli nazwa pliku etc / host była odpowiednia dla server.exmaple.com
jednak gospodarze nie byli poprawni
zmień to na:
Uruchomiłem nazwę hosta -f i nazwę hosta --fqdn i otrzymałem następujące informacje.
Pomyślałem, że każdy chciałby wiedzieć.
źródło
Najprawdopodobniej twoje połączenie internetowe nie działa poprawnie. W szczególności uważam, że twój DNS nie rozwiązuje się poprawnie.
spróbuj dodać linię
dla Twojej
/etc/resolv.conf
Spowoduje to tymczasowe dodanie serwera DNS Freenom (do następnego uruchomienia)
źródło
sudoedit /etc/resolv.conf
zastąpić dowolny adres,8.8.8.8
aby rozwiązać tymczasowe problemy z DNS. Plik zostanie zregenerowany przy następnym uruchomieniu, więc nie możesz zrobić nic katastrofalnego, chyba że ponowne uruchomienie nie jest możliweOtrzymałem wiadomość w mojej sieci domowej w systemie Ubuntu z dynamicznie przypisywanym adresem IP z routera zapewniającego połączony serwer DHCP i DNS dla mojej sieci.
Komunikat:
hostname: Name or service not known
może być spowodowany awarią takiego urządzenia, choćby na chwilę.Może się to na przykład zdarzyć, jeśli mój domowy router zostanie zrestartowany, gdy wyłączy się zasilanie.
Problem polega na tym, że usługa DHCP, na której polega sieć, zapomina o wszystkich przypisanych adresach IP i powiązanych nazwach domen. Gdy komputer sprawdza, czy powiązany serwer dns ma własną nazwę, serwer już go nie ma. Niektóre serwery DHCP mogą uniknąć problemów, zapisując przypisania na dysku lub pamięci flash, aby nic nie zostało utracone po ponownym uruchomieniu.
Serwer może zwykle pobrać twoją nazwę komputera z twojego systemowego żądania DHCP, ustawić ją na nazwę komputera .local i zapisać ją w swoich rekordach, udostępniając ją jednocześnie na powiązanym serwerze DNS. Zwykle
hostname -fqdn
żąda pełnej nazwy domeny przez serwer DNS i jeśli ma rekord, zwróci tę nazwę..local
Przyrostek sprawia, że wyglądają jak ważny w pełni kwalifikowanej nazwy domeny (choć nie jest to prawidłowa nazwa domeny globalne). Dlatego może nie być konieczne ręczne określenie nazwy domeny w plikach / etc / hosts lub / etc / hostname.Ponowne uruchomienie serwera DHCP może powodować dalsze problemy, ponieważ adresy IP mogą być przypisywane do wielu komputerów jednocześnie, powodując, że niektóre nie będą w stanie się komunikować. Adres jest przypisywany jeden raz przed ponownym uruchomieniem serwera i ponownie po tym.
Jeśli serwer DHCP zapomni przypisania, bezpieczną rzeczą jest ponowne podłączenie każdego obsługiwanego komputera po ponownym uruchomieniu. Kiedy straciłem swoją, po prostu odłączyłem się i ponownie połączyłem z punktem dostępowym Wi-Fi. W sieci przewodowej możesz używać
ifdown
i /ifup
lub po prostu odłączyć i ponownie podłączyć kabel sieciowy. Po ponownym połączeniu mój system automatycznie używa dhclient, aby uzyskać nowy adres - mój komputer i serwer zgadzają się teraz, kim jestem, i komunikat nie jest już wyświetlany.Jeśli zaczekasz wystarczająco długo, dzierżawa DHCP przekroczy limit czasu, a system poprosi o nową dzierżawę i dostanie nową od serwera - rozwiązując problem. Będzie to prawdopodobnie kilka godzin lub dni później (dla mojego serwera to jeden dzień).
Jeśli zdefiniowałeś statyczną nazwę IP i adres, a rekordy wyszukiwania wstecznego DNS są prawidłowe, problem nie powinien wystąpić.
źródło
Tego ranka natknąłem się na ten błąd i okazało się, że nazwa hosta została wpisana niepoprawnie
/etc/hostname
. Poprawienie tego, aby zgadzało się z pisownią nazwy hosta,/etc/hosts
rozwiązało problem.hostname -b -F /etc/hostname
Komenda, która biegnie w czasie startu najwyraźniej nie może ukończyć chyba/etc/hostname
i/etc/hosts
zgadzają.źródło
/etc/hosts
i/etc/hostname
zgodziłem się. Następnie uruchomiłem „polecenie, które uruchamia się w czasie uruchamiania”, tylko bez-b
flagi (ponieważ po prostu pozwala, aby określony plik nie istniał, ale jest tutaj). I bang:hostname --fqdn
ponownie zwraca poprawną nazwę FQDN.