CentOS 6.5'teki ana bilgisayar adı nasıl değiştirilir?


49

CentOS 6.5 sunucumdaki ana bilgisayar adını değiştiremiyorum. Burada bulduğum talimatları takip ediyorum: http://www.rackspace.com/knowledge_center/article/centos-hostname-change

Ben de /etc/hostsböyle ayarlıyorum ...

    [root@mig-dev-006 ~]# cat /etc/hosts
    127.0.0.1   localhost localhost.localdomain 
    192.168.32.128  ost-dev-00.domain.com ost-dev-00
    192.168.32.129  ost-dev-01.domain.com ost-dev-01

... sonra da dosyamı /etc/sysconfig/networköyle yapar ...

    [root@mig-dev-006 ~]# cat /etc/sysconfig/network
    NETWORKING=yes
    HOSTNAME=ost-dev-00.domain.com
    NTPSERVERARGS=iburst

... sonra öyle koşuyorum hostname...

    [root@mig-dev-006 ~]# hostname ost-dev-00.domain.com

... ve sonra ben bash koşuyorum ve her şey iyi görünüyor ...

    [root@mig-dev-006 ~]# bash

... ancak ağımı yeniden başlattığımda eski ana bilgisayar adı geri dönüyor:

    [root@ost-dev-00 ~]# /etc/init.d/network restart
    Shutting down interface eth0:  Device state: 3 (disconnected)
                                                               [  OK  ]
    Shutting down loopback interface:                          [  OK  ]
    Bringing up loopback interface:                            [  OK  ]
    Bringing up interface eth0:  Active connection state: activating
    Active connection path: /org/freedesktop/NetworkManager/ActiveConnection/6
    state: activated
    Connection activated
                                                               [  OK  ]
    [root@ost-dev-00 ~]# bash
    [root@mig-dev-006 ~]# 

... çözemiyorum. Neyi yanlış yapıyorum burada.


1
/etc/hostnameDosyanızı düzenlediniz mi?
Anthon

Bir /etc/hostnamedosya yok. [root@smp-mig-dev-006 ~]# ls -l /etc/hostnameçıktılarls: cannot access /etc/hostname: No such file or directory
Red Cricket

Centos olayı olabilir. Manpage sayfanızın kalıcılığı hakkında kalıcı hostname somenamebir etkisi olduğu konusunda neler söylüyor ? (neden olmasın o aramayı yapardın?)
Anthon

3
Sanırım /etc/hostnameCentOS 7’de ama CentOS 6’da değil.
Pavel Šimerda

Bunun eski olduğunu fark ettim, ama iş yerinde NetworkManager kokusu alıyorum, ya bu ya HOSTNAME = ağdan başka bir dosyada ayarlanmış olabilir (yani, ağ komut dosyalarında). / Etc / hostname dosyası CentOS 6'da kullanılmaz (bu sistemd bir şey; bu da CentOS 7 ve üstü anlamına gelir). / Etc / sysconfig / network-scripts / ifcfg-eth0 dosyasının içeriğini kontrol edin; içinde ne var? Not: Redhat'ın if-script komutunu network-script'lerinde / / içine bakarsanız, set_hostname'nin "hostname $ HOSTNAME" komutunu çalıştırdığını göreceksiniz, burada HOSTNAME, ağ dosyasında veya ifcfg-eth0 dosyasında ayarlanan bir kabuk değişkenidir.
Mike S

Yanıtlar:


67

ana bilgisayar adını kalıcı olarak değiştirmek için iki yerde değiştirmeniz gerekir:

vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=newHostName

ve: ana bilgisayar adının IP'sini çözmesi gereken herhangi bir uygulamanız varsa, iyi bir fikir)

vi /etc/hosts 
127.0.0.1 newHostName
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

ve sonra

 rebooting the system

7
Bunun sonunda iki değişiklik eklemek hostname newHostName, bence yeniden başlatmak için gerekli değil
Edakos

4
/ Etc / hosts dosyasını düzenlemek gerekli görünmüyor
jgritty

2
Cevap kabul edildi, ancak önce /etc/hostsdeğişiklik, ana makinenin adını değiştirilebilmesi için değiştirilebilmesi için değiştirildi ve /etc/sysconfig/networkOP'dekiyle aynı görünüyor. Herhangi biri OP'nin çalışması için neyin değişmesi gerektiğini tam olarak açıklayabilir mi?
Pavel Šimerda

3
Bence doğru cevap, sorunun cevabı olarak çalışmalıdır. Sorudan veri tekrarlamak, cevabın OP tarafından doğru bir şekilde yapılandırıldığını ancak yeni yapılandırmayı yüklemek için gerekli işlemleri yapmadığını (örneğin, yeniden başlatma) söylediği sürece iyidir.
Pavel Šimerda,

2
Yeniden başlatma gerekli değil. Strace -f hostname blah edin. Çekirdek mesajı hemen alır. / etc / hosts, ana bilgisayarın adını değiştirmez, en az CentOS 6.5 (ve 7). Ve bu cevap, ana bilgisayar adının çekirdeğini bilgilendiren ana bilgisayar adı komutunun eksik olması nedeniyle yanlıştır.
Mike S

65

CentOS 7 için bir çözüm burada bulunabilir :

hostnamectl set-hostname <new hostname>

3
"hostnamectl" CentOS benim için tek çalışan çözüm 1511/07/02 serbest oldu
AJN

..ve benim açımdan yeniden başlat.
WesternGun

Sadece yeniden işe başlamanız gerektiğini yeniden başlatmanız gerektiğini sanmıyorum
FearlessHyena

5
Soru CentOS 6.5 ile ilgili. CentOS 7 tamamen farklı bir canavardır ve bu cevap buraya ait değildir.
Harald

15

Ana bilgisayar adınızı tek bir komutla değiştirebilirsiniz.

  • Komut: hostname- bu eski ana bilgisayar adını görüntüler
  • Komut: hostname <new name>-this yeni hostname belirler

Örnek

$ hostname mynewhost

Yeni ana bilgisayar adını yeniden başlatma sırasında kalıcı olarak

/ etc / sysconfig / network dosyasını aşağıda görünecek şekilde düzenleyin

NETWORKING=yes
HOSTNAME=myhostanme

Video yardımı için


Bunun en doğru cevap olduğuna inanıyorum. Bu çalışan eklemeye değer: man hostname; güzel, geçici, statik vb. ayarlar için daha fazla seçenek gösterir
ekerner

Yeniden başlatmada ısrarcı olmak için yeterli olmadığını düşünüyorum. Ayrıca / etc / sysconfig / network dosyasını da değiştirmeniz gerekir.
Pozinux

6

CentOS 6.5 için daha önce verilmiş olan cevaplar dışında,

CentOS 7 ayrıca, Ağ Yöneticisinin bir parçası olan ana bilgisayar adını ( ve diğer ağ ayarlarını ) değiştirmek için metin tabanlı bir kullanıcı arayüzü aracına sahiptir :

nmtui

bu kullanıcı arayüzünü başlatır:

görüntü tanımını buraya girin

için bir seçenek var Set system hostname.

NetworkManager'ın metin kullanıcı arayüzü, varsayılan olarak CentOS-7-x86_64-DVD-1511.iso görüntüsünde, temel kurulumda kuruludur. Sizde değilse, aşağıdaki komutu kullanarak yükleyebilirsiniz:

yum install NetworkManager-tui

2

Bunu bir sürü makine için yapmak zorunda kaldım. İşte size yardımcı olacak basit bir python betiği. Yeni ana bilgisayarın adını komut dosyasının ilk argümanı olarak belirtmeniz yeterlidir.

Örneğin: Eğer changeHost.py betiğini adlandırırsanız, sonra çalıştırın

changeHost.py [NewHostName]

NewHostName istediğiniz ana bilgisayar adıdır.

Ayrıca bu betiği root olarak çalıştırdığınızdan emin olun.



#!/usr/bin/env python
import os

from sys import argv
script, newHostName = argv

print "Modifying network file..."
target = open("/etc/sysconfig/network","w")
target.truncate()
target.write("NETWORKING=yes\n")
target.write("HOSTNAME=")
target.write(newHostName)
target.write("\n")
target.close()

print "Modifying hosts file..."
target = open("/etc/hosts","w")
target.truncate()
target.write("127.0.0.1 ")
target.write(newHostName)
target.write(" localhost.localdomain localhosts\n")
target.close()

print "Set new hostname to %r" % newHostName
os.system('/bin/hostname ' + newHostName)

2
Hmm çirkin bir senaryo. Kukla, ana bilgisayar adı ile başa çıkmak için daha iyi bir araç olup olmadığını merak ediyorum.
Kırmızı Kriket,


4
Bu komut dosyası, olması gerektiği sürece yaklaşık 3 defadır. Python iş için yanlış bir araçtır. Bir bash betiği çok daha kısa, daha okunaklı ve daha sürdürülebilir olacaktır.
Mike S

2

CentOS 6.5'teki ana bilgisayar adını değiştirmek için yeniden başlatma gerekmez.

Aşağıdaki komut yeni ana bilgisayar adının çekirdeğini bildirir:

# hostname new_hostname

Aşağıdaki komut, ana bilgisayar adının yeniden başlatma sırasında kalıcı olması için:

# sed -i "s/^HOSTNAME=.*/HOSTNAME=new_hostname/g" /etc/sysconfig/network

2

Centos 7.x üzerinde iseniz Aşağıdaki komutu ekleyin.

nmtui

Sistem ana bilgisayar adı ayarlama seçeneği olacaktır . Üzerinde Enter tuşuna basın.

Ana bilgisayar adınızı yazın.

Tamam'ı tıklayın.

Şimdi, ana bilgisayar adı komutuyla kontrol edin .

Kayıtlı ana bilgisayar adınıza sahip olacaktır.


1

Maalesef, giriş yaparak, ana bilgisayar adını değiştiremedim:

/ Etc / sysconfig / ağ

ve

/ etc / hosts dosyası

Ancak, ana bilgisayar adını aşağıdaki dosyayı düzenleyerek değiştirebildim:

vi /etc/hostname
server01

Ana bilgisayar adını şu şekilde yeniden başlatın ve test edin:

hostname

2
OP’nin /etc/hostnameCentOS 7’de var olduğunu belirten , ancak CentOS 6’da bulunmadığına dair yorumuna dikkat edin
Fox
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.