Fedora 21에서 호스트 이름을 영구적으로 변경하는 방법


35

새 버전의 fedora에서 호스트 이름을 변경하는 것은 hostnamectl명령으로 수행된다고 들었습니다 . 또한 최근 에이 방법으로 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수동으로.

나는 이것이 완전히 주식 페도라 임을 주목해야한다 . 핵심 앱을 아직 설치하지 않았습니다.


:이 비슷한뿐만 아니라 문제에 대한 정보를 가지고 ask.fedoraproject.org/en/question/37413/... : &이 dbaora.com/install-fedora-20
SLM

실제로 이것은 내 출처 중 하나입니다. 그러나 그 페이지에서 추출 할 수있는 솔루션 중 아무것도 작동하지 않았습니다 ...
PythonNut

최근에이 시스템을 설치 / 설정 한 적이 있습니까? 설치 후 문제가 있었습니까? 해당 hostnamectl명령에 오류가 있습니까? 무언가가 게시 된 bugzilla 버그에 대한 링크는 최고의 리드처럼 보입니다.
slm

나는 14 년 1 월 1 일에 설치했으며 그 이후로 hostnamectl명령이 작동하지 않았지만 지금은 작동합니다.
PythonNut

수용된 솔루션에 링크 된 버그는 유감스러운 타이밍이었습니다. 그들은 그것을 업스트림으로 수정했으며 앞으로의 사용자를 위해 나아갈 것입니다.
slm

답변:


39

호스트 이름을 설정하는 명령은 확실히 hostnamectl입니다.

root ~ # hostnamectl set-hostname --static "YOUR-HOSTNAME-HERE"

: 여기에 제목, 좀 더이 기능을 설명하는 추가 소스의 페도라 20 아마존 EC2에 - 올바르게 호스트 이름을 설정 .

또한에 대한 맨 페이지 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.

Fedora 21에는 SELinux가 hostnamectl 액세스를 차단하는 버그가 있습니다 ( 버그 1133368-SELinux는 systemd-hostnam이 hostname 파일의 '링크 해제'액세스를 방해하고 있습니다) .

이 버그는 관련이있는 것 같습니다. /etc/hostname설치시 SELinux 컨텍스트가 파일 에 제대로 적용되지 않는 문제가 있습니다 . 이것은 도구 hostnamectl에서 파일을 조작 할 수 없다는 것을 나타냅니다 /etc/hostname. 동일한 스레드가이 해결 방법을 제공했습니다.

$sudo restorecon -v /etc/hostname

참고 : 이 패치는 Anaconda (설치 도구)에 적용되어 향후 새로운 사용자에게이 문제가 해결 될 것입니다.


3

이것의 가능한 원인은 dhcp 클라이언트입니다. 일반적인 dhcpcd를 사용하는 경우 해결책은 다음 행을 추가하는 것입니다 /etc/dhcpcd.conf.

nohook hostname

이렇게하면 dhcpcd가 시스템 호스트 이름을 변경하는 스크립트를 호출하지 못하게됩니다.

기본적으로 dhcpcd는 존재하는 모든 후크를 실행합니다 /lib/dhcpcd/dhcpcd-run-hooks(시스템에 따라 경로가 다를 수 있음). 를 사용 nohook하면 특정 기능을 비활성화합니다.


1
21 및 rawhide 설치 모두 /etc/dhcpd.conf존재하지 않습니다. 또한 systemctl status dhcpcd반환not-found (Reason: No such file or directory)
PythonNut
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.