새 마더보드, CPU를 구입하고 컴퓨터 이름을 바꿨습니다. 이전 컴퓨터 이름은 bulldozer
이고 새 컴퓨터 이름은 입니다 skylake
. 나는 사용했다hostnamectrl --static
~에 따르면Fedora 21에서 호스트 이름을 영구적으로 변경하는 방법머신이 Fedora 25이기 때문입니다.
머신이 부팅되면 systemd
이전 이름이 계속 사용됩니다.
skylake:~$ sudo dmesg | grep bulldozer
[ 1.085387] systemd[1]: Set hostname to <bulldozer>.
skylake:~$ hostname
skylake
~에 따르면honamectrl
매뉴얼 페이지--static
, 그렇게 해야 할 것 같습니다 :"...부팅 시 커널 호스트 이름을 초기화하는 데 사용되는 정적 호스트 이름...".
Grepping은 /etc
이전 이름과 일치하는 항목을 표시하지 않습니다.
skylake:~$ sudo grep -R bulldozer /etc/ 2>/dev/null
skylake:~$
나는 /sbin/sysctl -q -w kernel.hostname=skylake
또한호스트 이름을 올바르게 설정하기 - Amazon EC2의 Fedora 20. 그러나 그것도 작동하지 않았습니다.
호스트 이름을 변경하는 방법은 무엇입니까 systemd
?
답변1
~에 따르면이 기사, 원하는 호스트 이름이 hostnamectl set-hostname name
어디에 있는지 실행해야 합니다 . name
루트로 실행해야 한다고 생각합니다.
답변2
이것은 좋지 않은 답변이지만 완전성을 위해 제공됩니다. 오늘 커널을 업데이트했습니다. 4.9.13-200.fc25.x86_64
이전 Fedora 커널은 입니다 4.9.13-201.fc25.x86_64
.
/boot
커널 업데이트 후 이전 커널의 사용을 수동으로 제거합니다 rm
. 이것은 Linux에서의 표준 절차입니다(저는 항상 필요하지 않은 항목을 제거하기 위해 이 작업을 수행합니다). 이 경우에는 다음을 실행했습니다.
su -
cd /boot
rm -rf *4.9.13-200*
rm -rf .*4.9.13-200*
수동 제거 후 Grub 메뉴를 다시 생성하고 재부팅했습니다. 이것은 Linux에서의 표준 프로세스이기도 합니다.
grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg
재부팅 후에는 이전 이름이 더 이상 존재하지 않습니다.
$ dmesg | egrep -i '(bulldozer|skylake)'
[ 0.065941] Performance Events: PEBS fmt3+, Skylake events, 32-deep LBR, full-width counters, Intel PMU driver.
[ 1.096957] systemd[1]: Set hostname to <skylake>.
따라서 systemd에서 사용하는 호스트 이름에 뭔가 영향을 미치고 있지만 그것이 무엇인지 잘 모르겠습니다.
이전에 재생을 시도한 적이 있어서 grub.cfg
이것이 답인지 확신할 수 없습니다. 특정 패키지가 수정 사항을 촉발한 것으로 추측했고, 재부팅한 후 상황이 예상한 대로 진행되는 것을 확인했습니다.
답변3
이 방법은 현재 버전의 systemd에서는 더 이상 사용되지 않지만 일부 의견에 대한 참조용으로 여기에 보관합니다.
가장 빠른 방법은
sudo echo -e "bulldozer" > /etc/hostname
재부팅하는 것입니다.Systemd의 네트워크 스택은 이를 선택하여 시작 시 적용해야 합니다.
텍스트 편집기를 사용하여
/etc/hostname
수동으로 생성/편집할 수도 있습니다. (권장nano
하지만 먼저 fedora에 수동으로 설치해야 합니다)
오늘날 Systemd가 hostnamectl
이를 달성하는 방법이 되어야 할 것 같습니다.