호스트 이름 : 이름 또는 서비스를 알 수없는 오류가 발생하는 이유는 무엇입니까?


23

다음을 통해 패키지를 설치할 때이 오류가 발생합니다 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)

왜 이런 일이 일어나고 있습니까?


나는 같은 문제가 있었는데, 문제는 DNS가 호스트 이름 입력에 도움이되지 않았다는 사실과 관련이 있으므로 FQDN을 사용할 수 없었습니다.

답변:


10

해결책:

(이러한 유형의 문제는 좋은 해결책이 없습니다.

먼저 터미널에서이 명령을 시도해야합니다.

sudo apt-get -f install

작동하지 않으면 해킹 솔루션으로 처리하십시오.

의 구성 스크립트를 임시로 이동해보십시오 ssmtp.

  1. 터미널을 열고이 명령을 실행하여 현재 디렉토리로 이동하십시오.

     sudo mv /var/lib/dpkg/info/ssmtp* .
    
  2. 그런 다음 사용해보십시오 apt-get

문제의 원인 :

이전 설치 또는 제거가 성공적으로 완료되지 않아 ssmtp패키지에 대한 일부 구성 단계가 수행 됩니다. dpkg는 먼저 단계를 완료하지 않으면 진행되지 않으므로 이후 사용은 apt-get해당 단계에서 중단됩니다.


18

운영 hostname --fqdn

오류가 발생하면 적절한 호스트 이름으로 / etc / hostname 및 / etc / hosts를 편집하십시오.

그런 다음 aptitude install ssmtp다시 설치하십시오.


13

모두가 알다시피, / etc / hosts의 편집은 etc./hostname이 server.exmaple.com과 똑같은 트릭을 만들었습니다.

그러나 호스트가 정확하지 않았습니다

127.0.0.1 localhost
127.0.0.1 server

이것을 다음과 같이 변경하십시오.

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

hostname -f 및 hostname --fqdn을 실행하고 다음을 얻었습니다.

server.example.com

모두가 알고 싶다고 생각했습니다.


5

인터넷 연결이 제대로 작동하지 않는 것 같습니다. 특히 귀하의 DNS가 제대로 해결되지 않는다고 생각합니다.

라인을 추가하려고

nameserver 80.80.80.80 

너의 ~에게 /etc/resolv.conf

이렇게하면 freenom DNS 서버가 일시적으로 추가됩니다 (다음 부팅까지).


생성 된 파일입니다. 어떻게 관리합니까?
chovy

@chovy 아직도 궁금한 점이 있다면 임시 DNS 문제를 해결하기 위해 sudoedit /etc/resolv.conf주소를 바꾸는 것이 안전 8.8.8.8합니다. 다음에 부팅 할 때 파일이 다시 생성되므로 재부팅이 옵션이 아닌 경우 여기에서 너무 재앙을 일으킬 수 없습니다.
Zanna

2

우분투 시스템의 홈 네트워크에서 네트워크에 DHCP와 DNS 서버를 결합한 라우터에서 동적으로 할당 된 IP 주소를 가진 메시지를 받았습니다.

메시지 hostname: Name or service not known는 순간적인 경우에만 이러한 장치가 다운되어 발생할 수 있습니다.

예를 들어 전원이 꺼질 때 홈 라우터를 재부팅하면 이런 일이 발생할 수 있습니다.

여기서 문제는 네트워크가 의존하는 DHCP 서비스가 할당 한 모든 IP 주소와 관련 도메인 이름을 잊어 버린다는 것입니다. 컴퓨터가 연결된 DNS 서버에서 자체 이름을 확인하면 서버에 더 이상 해당 서버가 없습니다. 일부 DHCP 서버는 디스크 나 플래시 메모리에 할당 한 내용을 기록하여 문제를 피할 수 있으므로 다시 시작할 때 아무것도 손실되지 않습니다.


서버는 일반적으로 시스템 DHCP 요청에서 컴퓨터 이름 을 가져 와서 컴퓨터 이름을 .local로 만들고 레코드에 저장하여 관련 DNS 서버에서 동시에 사용할 수 있도록합니다. 일반적으로 hostname -fqdnDNS 서버에서 네트워크를 통해 전체 도메인 이름을 요청하고 레코드가 있으면 해당 이름을 반환합니다. .local접미사 (정말 유효한 글로벌 도메인 이름은 아니지만) 유효한 정규화 된 도메인 이름처럼 보이게. 따라서 / etc / hosts 또는 / etc / hostname 파일에서 도메인 이름을 수동으로 지정하지 않아도됩니다.


DHCP 서버를 다시 시작하면 IP 주소가 여러 컴퓨터에 동시에 할당되어 일부는 통신 할 수 없으므로 추가 문제가 발생할 수 있습니다. 주소는 서버가 다시 시작되기 전에 한 번 할당 된 후 다시 할당됩니다.

DHCP 서버가 할당을 잊어 버린 경우 다시 시작할 때 제공되는 각 컴퓨터를 다시 연결해야합니다. 내가 잃어 버렸을 때 간단히 Wi-Fi 액세스 포인트에 연결을 끊었다가 다시 연결했습니다. 유선 네트워크에서 당신은 사용할 수 있습니다 ifdownifup하거나 분리 및 네트워크 케이블을 다시 연결합니다. 시스템을 다시 연결하면 자동으로 dhclient를 사용하여 새 주소를 얻습니다. 내 컴퓨터와 서버는 이제 내가 누구인지에 동의하고 더 이상 메시지가 나타나지 않습니다.

충분히 오래 기다리면 DHCP 임대 시간이 초과되고 시스템이 서버에서 새 임대를 요청하고 요청하여 문제를 해결합니다. 아마도 몇 시간 또는 며칠이 지나야합니다 (내 서버의 경우 하루입니다).

고정 IP 이름과 주소를 정의하고 DNS 역방향 조회 레코드가 올바른 경우 문제가 발생하지 않습니다.


1

오늘 아침 에이 오류가 발생하여에서 호스트 이름의 철자가 잘못되었습니다 /etc/hostname. 이를 수정하여 호스트 이름 철자에 동의 /etc/hosts하여 문제를 해결했습니다. hostname -b -F /etc/hostname부팅시 실행 분명히하지 않으면 완료 할 수 없습니다 것을 명령 /etc/hostname하고 /etc/hosts동의합니다.


이 답변은 나를 위해 해결되었습니다. 먼저 나는 확신 /etc/hosts하고 /etc/hostname동의했습니다. 그런 다음 -b플래그 없이 만 "부팅시 실행되는 명령"을 실행했습니다 (지정된 파일은 존재하지 않지만 여기에 있음). 그리고 bang : hostname --fqdn올바른 FQDN을 다시 반환합니다.
isync
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.