내 컴퓨터 중 일부에서는 무인 업그레이드로 인해 재부팅해야 한다는 내용의 이메일이 다음과 같이 전송됩니다.
[reboot required] unattended-upgrades result for localhost: SUCCESS
다른 경우에는 localhost 대신 올바른 호스트 이름을 지정합니다. 호스트 이름을 올바르게 지정하려면 이를 어디에서 변경할 수 있습니까?
답변1
내가 아는 한 그것은 127.0.0.1
or를 사용한다.::1
/etc/hosts
다음과 같은 줄:
127.0.0.1 server.yourdomain.xx server localhost
::1 server.yourdomain.xx server localhost ip6-localhost ip6-loopback
server.yourdomain.xx
Tested in Debian 테스트를 통해 메시지를 출력 하도록 합니다.
답변2
/usr/bin/unattended-upgrade
우리 시스템에서는 python3 스크립트가 호스트 이름을 알아내려고 시도하는 방식의 차이로 인해 발생하는 것 같습니다 .
일부 머신(Ubuntu 18.04)에서는 다음이 수행됩니다.
import os
#...
def host():
# type: () -> str
return os.uname()[1]
...최신 머신(Ubuntu 22.04)에서는 다음과 같이 작동합니다.
import socket
#...
def host():
# type: () -> str
return socket.getfqdn()
host()
"localhost"
그것은 단지 후자 버전을 반환합니다 .socket.getfqdn()
매개변수 없이 반환.
스크립트 수정 사항 unattended-upgrade
은 다음과 같습니다.소개하다버전 간1.3
그리고1.4
.
이 요청에는 이미 일부 토론이 포함되어 있습니다.관찰된 localhost
회귀와 관련하여 작동하는 해결 방법도 암시합니다.
필수 호스트 이름을 다음과 같이 나열하는 대신 /etc/hosts
:
127.0.0.1 localhost
127.0.0.1 my-hostname
...다음과 같이 나열하세요.
127.0.0.1 localhost
127.0.1.1 my-hostname
...지금 나에게 필요한 것은 이해하는 것뿐이다왜127.0.1.1
대신 이 작업을 수행하는 데 사용하십시오 127.0.0.1
...
https://www.debian.org/doc/manuals/debian-reference/ch05.en.html#_the_hostname_solution이는 솔루션의 정확성에 대한 추가적인 신뢰성을 제공하지만, 나에게는 여전히 관련된 메커니즘과 이론적 근거에 대한 충분한 맥락을 제공하지 않습니다.
(1)의 맨페이지에는 hostname
FQDN 섹션이 있습니다.이는 이름 확인의 복잡성을 파악하는 데 도움이 됩니다.
/etc/hosts
FQDN을 설정하는 권장 방법은 DNS 또는 NIS를 사용하여 호스트 이름을 정규화된 이름의 별칭으로 만드는 것입니다. 예를 들어 호스트 이름이 " "인 경우 다음과 같은ursula
줄이 있을 수 있습니다./etc/hosts
127.0.1.1 ursula.example.com ursula
기술적으로 말하면 FQDN은
getaddrinfo
(3)에서 반환된 호스트 이름의 이름 입니다gethostname
. DNS 도메인 이름은 첫 번째 점 다음 부분입니다.
/etc/host.conf
따라서 이를 변경하는 방법은 파서의 구성(일반적으로 )에 따라 다릅니다 . 일반적으로 호스트 파일은 DNS 또는 NIS보다 먼저 확인되므로 변경이 가장 일반적입니다/etc/hosts
.
답변3
관련 파일의 내용을 변경합니다.etc/mailname
:
패키지가 로컬에서 생성된 나가는 뉴스 및 메일 메시지에 사용할 호스트 이름을 알아야 하는 경우 이 파일을 사용해야 합니다
/etc/mailname
. 여기에는 사용자 이름과 컴퓨터에서 사용자의 이메일 주소를 나타내는 @(at) 기호 뒤의 부분(뒤에 개행 문자가 옴)이 포함됩니다.
일반적으로 이는 FQDN 이름(긴다른 시스템에서 확인된 서버의 이름입니다.
단순화를 위해 관련 패키지를 재구성하면 됩니다. 데비안 10의 기본 설정4번출구가방은 사실exim4-config
:
dpkg-reconfigure -pcritical exim4-config
-pcritical
질문이 없는지 확인하십시오. 이를 무시하거나 낮추어 -plow
이러한 문제의 일부 또는 전부를 볼 수 있습니다.
OP가 사용하지 않았기 때문에4번출구하지만메일 전송 프로토콜, 이 경우 구성은 다음을 통해 트리거될 수 있습니다.
dpkg-reconfigure msmtp
이전에 이 작업을 수행한 적이 없다면 후속 질문을 받기 위해 첫 번째 질문( ) Create a system wide configuration file?
에 "예"라고 대답하는 것이 중요합니다 .
와도 관련이 있는 것 같다4번출구, 구성 스크립트(설치 후 /var/lib/dpkg/info/msmtp.config
)가 확인되지 않으므로 /etc/mailname
권장 Debian 정책을 따르지 않습니다.