Fedora의 새 버전에서 호스트 이름을 변경하는 작업은 명령. 또한 최근에이 방법으로 Arch Linux에서 호스트 이름을 성공적으로 변경했습니다. 그러나 실행할 때 :
[root@localhost ~]# hostnamectl set-hostname --static paragon.localdomain [root@localhost ~]# hostnamectl set-hostname --transient paragon.localdomain [root@localhost ~]# hostnamectl set-hostname --pretty paragon.localdomain
재부팅 후에 변경 사항이 보존되지 않습니다 (많은 사람들의 주장과 달리). 무엇이 잘못 되었나요?
- 정말
/etc/hostname
수동으로 수정하고 싶지 않습니다.
또한 이것이 완전히 스톡 페도라라는 점에 유의해야합니다. 아직 핵심 앱을 설치하지도 않았습니다.
댓글
답변
호스트 이름을 설정하는 명령은 확실히 hostnamectl
입니다.
root ~ # hostnamectl set-hostname --static "YOUR-HOSTNAME-HERE"
다음은이 기능을 좀 더 설명하는 추가 소스입니다. 제목은 올바른 호스트 이름 설정-Amazon EC2에서 Fedora 20 입니다.
추가적으로 hostnamectl
의 맨 페이지 :
HOSTNAMECTL(1) hostnamectl HOSTNAMECTL(1) NAME hostnamectl - Control the system hostname SYNOPSIS hostnamectl [OPTIONS...] {COMMAND} DESCRIPTION hostnamectl may be used to query and change the system hostname and related settings. This tool distinguishes three different hostnames: the high-level "pretty" hostname which might include all kinds of special characters (e.g. "Lennart"s Laptop"), the static hostname which is used to initialize the kernel hostname at boot (e.g. "lennarts-laptop"), and the transient hostname which is a default received from network configuration. If a static hostname is set, and is valid (something other than localhost), then the transient hostname is not used. Note that the pretty hostname has little restrictions on the characters used, while the static and transient hostnames are limited to the usually accepted characters of Internet domain names. The static hostname is stored in /etc/hostname, see hostname(5) for more information. The pretty hostname, chassis type, and icon name are stored in /etc/machine-info, see machine-info(5). Use systemd-firstboot(1) to initialize the system host name for mounted (but not booted) system images.
SELinux가 hostnamectl 액세스를 차단하는 Fedora 21에 버그가 있습니다. , 제목 : Bug 1133368-SELinux는 systemd-hostnam이 파일 호스트 이름에 대한 액세스를 “연결 해제”하는 것을 방지합니다 .
이 버그 관련이있는 것 같습니다. SELinux 컨텍스트가 설치시 /etc/hostname
파일에 제대로 적용되지 않는 문제가 있습니다. 이는 hostnamectl
도구에서 /etc/hostname
파일을 조작 할 수 없음을 나타냅니다. 동일한 스레드에서이 해결 방법을 제공했습니다.
$sudo restorecon -v /etc/hostname
참고 : 해당 패치는 Anaconda (설치 도구)에 적용되어 향후 신규 사용자를 위해이 문제가 해결 될 것입니다.
Answer
이에 대한 가능한 원인은 DHCP 클라이언트입니다. 일반적인 dhcpcd를 사용하는 경우 해결책은 /etc/dhcpcd.conf
에 다음 줄을 추가하는 것입니다.
nohook hostname
이렇게하면 dhcpcd가 시스템 호스트 이름을 변경하는 스크립트를 호출하지 않습니다.
기본적으로 dhcpcd는 존재하는 모든 후크를 실행합니다. /lib/dhcpcd/dhcpcd-run-hooks
(경로가 다를 수 있음) 시스템에서). nohook
를 사용하면 특정 항목이 비활성화됩니다.
댓글
- 21 및 rawhide 설치,
/etc/dhcpd.conf
가 존재하지 않습니다. 또한systemctl status dhcpcd
는not-found (Reason: No such file or directory)
li를 반환합니다. >
hostnamectl
명령에 오류가 있습니까? 뭔가 게시 된 버그질라 버그에 대한 링크가 최선의 단서 인 것 같습니다.hostnamectl
명령이 실행되지 않았습니다. 작동하지만 이제는 작동합니다.