จะเปลี่ยนชื่อโฮสต์ของ distro based RHEL ได้อย่างไร?


19

ฉันเข้าสู่ระบบเป็นครั้งแรกเปิดเทอร์มินัลและพิมพ์ใน 'ชื่อโฮสต์' ส่งคืน 'localhost.localdomain.com' จากนั้นฉันเข้าสู่ระบบในฐานะผู้ใช้รูทในเทอร์มินัลโดยใช้คำสั่ง 'su -' ให้รหัสผ่านสำหรับผู้ใช้รูทและใช้คำสั่ง 'ชื่อโฮสต์ etest' โดยที่ etest เป็นชื่อโฮสต์ที่ฉันต้องการให้เครื่องของฉัน เพื่อทดสอบว่าฉันเปลี่ยนชื่อโฮสต์ถูกต้องฉันพิมพ์ 'ชื่อโฮสต์' อีกครั้งที่เทอร์มินัลและส่งคืน etest

อย่างไรก็ตามเมื่อฉันรีสตาร์ทเครื่องชื่อโฮสต์จะเปลี่ยนกลับเป็น 'localhost.localdomain.com'

นี่คือชุดคำสั่งทั้งหมดที่ฉันใช้ในเทอร์มินัล

    [thomasm@localhost ~]$ hostname  
    localhost.localdomain  
    [thomasm@localhost ~]$ su -  
    Password:   
    [root@localhost ~]# hostname etest  
    [root@localhost ~]# hostname  
    etest

ฉันพบปัญหาเดียวกันเมื่อตั้งค่า RHEL และ Ubuntu OS ด้วย VMPlayer


@ ฉันเป็นมือใหม่ที่มีระบบปฏิบัติการ Linux หากต้องการรายละเอียดเพิ่มเติมโปรดแจ้งให้เราทราบ
โทมัส

คำตอบ:


28

บน RHEL และอนุพันธ์เช่น CentOS คุณต้องแก้ไขสองไฟล์เพื่อเปลี่ยนชื่อโฮสต์

ระบบตั้งค่าชื่อโฮสต์ที่บูตเครื่องขึ้นอยู่กับสายในHOSTNAME แก้ไขข้อความที่มีการติดตั้งโดยเริ่มต้นใน RHEL และอนุพันธ์ของตนและการใช้งานที่เป็นตัวเองชัดเจน:/etc/sysconfig/networknano

# nano /etc/sysconfig/network

คุณต้องเปลี่ยนชื่อใน/etc/hostsไฟล์ หากคุณทำไม่ได้คำสั่งบางอย่างก็จะเริ่มทำงานได้นานขึ้น พวกเขาพยายามค้นหาโลคัลโฮสต์ IP จากชื่อโฮสต์และหากไม่มีรายการใน/etc/hostsนั้นจะต้องผ่านกระบวนการค้นหาชื่อเครือข่ายแบบเต็มก่อนจึงจะสามารถดำเนินการต่อได้ ทั้งนี้ขึ้นอยู่กับการตั้งค่า DNS ของคุณอาจหมายถึงความล่าช้าหนึ่งนาทีหรือมากกว่านั้น!

หลังจากเปลี่ยนไฟล์ทั้งสองนี้แล้วคุณสามารถเรียกใช้hostnameคำสั่งเพื่อเปลี่ยนสำเนาของชื่อโฮสต์ (ซึ่งถูกตั้งค่าอีกครั้งจาก/etc/sysconfig/network) หรือเพียงแค่รีบูต

/etc/hostnameอูบุนตูที่แตกต่างกันในสำเนาคงที่ของชื่อโฮสต์ถูกเก็บไว้ใน สำหรับเรื่องนั้นการกำหนดค่าเครือข่ายหลายด้านถูกเก็บไว้ในที่ต่าง ๆ และมีรูปแบบไฟล์ต่าง ๆ บน Ubuntu เมื่อเทียบกับ RHEL


ขอบคุณสำหรับตำแหน่งของไฟล์ ฉันไม่รู้อะไรเลยเกี่ยวกับ linux หรือการใช้เทอร์มินัลดังนั้นฉันต้องการขั้นตอนอย่างละเอียดเพื่อใช้เท็กซ์เอดิเตอร์ในเทอร์มินัล ดังนั้นคำตอบของฉันโพสต์ด้านล่าง แต่ขอบคุณสำหรับตำแหน่งของไฟล์ที่ฉันต้องการแก้ไข
โทมัส

4

คุณสามารถใช้ hostnamectl

1. ตั้งชื่อโฮสต์ด้วย:

# hostnamectl set-hostname etest

หรือ

# hostnamectl set-hostname etest.something

2. ออกจากระบบและกลับเข้ามาใหม่

3. (ไม่บังคับ) หากต้องการดูตัวเลือกเพิ่มเติม:

man hostnamectl

... hostnamectl ใช้ได้เฉพาะใน RHEL 7 และ CentOS 7 เท่านั้น
Dale Anderson

2

นี่คือขั้นตอนในการเปลี่ยนชื่อโฮสต์ของเครื่อง CentOS (หรืออนุพันธ์ RHEL อื่น ๆ ) โดยใช้เทอร์มินัล

เปิด Terminal พิมพ์ su -, เพื่อเข้าสู่ระบบในฐานะรูท หลังจากระบุรหัสผ่านพิมพ์ vi / etc / sysconfig / network วิธีนี้จะเปิดไฟล์ 'เครือข่าย' โดยใช้โปรแกรมแก้ไขข้อความ vi ในโหมดคำสั่ง พิมพ์ 'i' เพื่อเข้าสู่โหมดแทรกของ vi นำทางไปยังส่วนชื่อโฮสต์ของไฟล์และแทนที่ localhost.localdomain ด้วย etest (หรือชื่อโฮสต์ที่ต้องการ) กด 'Esc' เพื่อออกจากโหมดแทรกและกลับไปที่โหมดคำสั่ง ในโหมดคำสั่งพิมพ์: wq เพื่อบันทึกการเปลี่ยนแปลงและออกจาก vi

ในกรณีที่คุณต้องการออกโดยไม่บันทึกให้พิมพ์: q! ในโหมดคำสั่ง

สามารถทำตามขั้นตอนที่คล้ายกันเพื่อแก้ไขไฟล์ / etc / hosts หากจำเป็น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.