
내 컴퓨터 중 일부에서는 무인 업그레이드가 재부팅이 필요하다는 이메일을 보내며 다음과 같이 말합니다.
[reboot required] unattended-upgrades result for localhost: SUCCESS
다른 경우에는 localhost 대신 올바른 호스트 이름을 지정합니다. 호스트 이름을 올바르게 지정하려면 이것을 어디에서 변경할 수 있습니까?
답변1
내가 알 수 있는 한, 이는 127.0.0.1
또는 ::1
in 을 사용합니다 /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 on 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
getaddrinfo
기술적으로: FQDN은 (2) 에서 반환된 호스트 이름에 대해 반환된 이름(3)입니다gethostname
. DNS 도메인 이름은 첫 번째 점 다음 부분입니다.
/etc/host.conf
따라서 변경 방법은 확인자(일반적으로 )의 구성에 따라 달라집니다 . 일반적으로 호스트 파일은 DNS 또는 NIS보다 먼저 구문 분석되므로/etc/hosts
.
답변3
관련 파일의 내용을 변경합니다.etc/mailname
:
패키지가 로컬에서 생성되는 나가는 뉴스 및 메일 메시지에 사용할 호스트 이름을 알아야 하는 경우 파일을 사용해야 합니다
/etc/mailname
. 여기에는 시스템 사용자의 이메일 주소에 대한 사용자 이름 및 @(at) 기호 뒤의 부분이 포함됩니다(뒤에 줄바꿈이 옵니다).
일반적으로 이는 FQDN 이름입니다(긴이름)은 다른 시스템에서 확인된 서버의 이름입니다.
작업을 간단하게 하려면 관련 패키지를 재구성하면 됩니다. Debian 10의 기본값엑심4패키지는 실제로exim4-config
:
dpkg-reconfigure -pcritical exim4-config
-pcritical
아마도 질문이 없을 것입니다. 생략하거나 까지 낮추어 -plow
이러한 질문의 일부 또는 전부를 볼 수 있습니다.
OP는 사용하지 않기 때문에엑심4하지만msmtp, 이 경우 다음을 사용하여 구성을 트리거할 수 있습니다.
dpkg-reconfigure msmtp
이것이 이전에 수행된 적이 없다면 Create a system wide configuration file?
후속 질문을 얻기 위해 첫 번째 질문의 ( ) 대답이 예라는 것이 중요합니다.
또한 반대되는 것처럼 보입니다.엑심4, 구성 스크립트(일단 설치되면 /var/lib/dpkg/info/msmtp.config
)는 을 확인하지 않으므로 /etc/mailname
권장되는 Debian 정책을 따르지 않습니다.