วิธีรับชื่อคอมพิวเตอร์ (ไม่ใช่ชื่อโฮสต์)


19

ผลลัพธ์ทั้งหมดของการค้นหาของฉันมีบางสิ่งที่เกี่ยวข้องกับhostnameหรือuname -nหรือฉันค้นหาคู่มือสำหรับทั้งคู่มองหาตัวเลือกลับ ๆ ล่อ ๆ แต่ก็ไม่มีโชค

ฉันพยายามค้นหาสิ่งที่เทียบเท่ากับ OSX scutil --get ComputerNameบนระบบ Linux บน Mac OS X ชื่อคอมพิวเตอร์ถูกใช้เป็นตัวบ่งชี้ที่มนุษย์สามารถอ่านได้สำหรับคอมพิวเตอร์ โดยจะแสดงในหน้าจอการจัดการต่างๆ ( เช่นการจัดการสินค้าคงคลังการเข้าถึงระยะไกลบนพื้นฐานของ Bonjour, ... ) และทำหน้าที่เป็นชื่อโฮสต์เริ่มต้น (หลังจากการกรองเพื่อจัดการช่องว่าง ฯลฯ )


ฉันอาจจะผิด แต่การกำหนดชื่อของคอมพิวเตอร์เป็นชื่อเครือข่ายหมายความว่ามันไม่มีชื่อที่แน่นอนใช่มั้ย เมื่อคุณติดตั้ง Linux หรือ OSX บนเครื่องคุณมักจะเลือกชื่อสำหรับคอมพิวเตอร์เครื่องนั้น (ซึ่งเป็นชื่อเครือข่ายเริ่มต้นที่ฉันสมมติ) เช่นแล็ปท็อปของฉันอาจมีชื่อว่า "FooBar" แต่เมื่อฉันเชื่อมต่อกับเครือข่ายที่ทำงานฉันจะได้รับชื่อโฮสต์เช่น "machine42.work.localnetwork"
Sheljohn

@StephenKitt ตรงนี้มีชื่ออื่นในระบบ Linux หรือไม่?
Sheljohn

4
@ Sh3ljohn osu ให้บริการเพื่ออะไร ฉันไม่คิดว่ามันจะมีอะไรเทียบเท่าในระบบ linux
Bibek_G

คุณให้ชื่ออื่นที่ไม่ใช่ชื่อโฮสต์เมื่อติดตั้งคอมพิวเตอร์เครื่องนั้นหรือไม่? ลองค้นหาชื่อนั้นใน / etc:grep -ri 'name' /etc
ptman

@Bibek_G ฉันต้องการใช้เพื่อระบุเครื่องที่ฉันเรียกใช้จากซอฟต์แวร์ของฉัน UUID ไม่เพียงพอเนื่องจากอาจมีการติดตั้งระบบปฏิบัติการหลายระบบในดิสก์เดียวกันซึ่งจะเปิดใช้งานบนเครื่องเดียวกัน
Sheljohn

คำตอบ:


31

ชื่อเทียบเท่าที่ใกล้เคียงที่สุดกับชื่อที่มนุษย์อ่านได้ (และมนุษย์เลือก) สำหรับคอมพิวเตอร์ที่ใช้ Linux เป็นชื่อโฮสต์เริ่มต้นที่จัดเก็บไว้ /etc/hostnameเป็นชื่อโฮสต์เริ่มต้นที่เก็บไว้ใน ในการกระจาย Linux บางตัว (ไม่ใช่ทั้งหมด) ชื่อนี้จะถูกป้อนระหว่างการติดตั้งเป็นชื่อคอมพิวเตอร์ (แต่มีข้อ จำกัด ชื่อโฮสต์เครือข่ายซึ่งแตกต่างจากชื่อคอมพิวเตอร์ของ Mac OS X)


แต่ไฟล์นี้มักจะใช้ในการตั้งค่าhostnameและuname -nและ @ Sh3ljohn ต้องการที่จะหลีกเลี่ยงการส่งออกของทั้งสองคำสั่งอย่างชัดเจน
roaima

17

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

เหตุผลว่าทำไมคอมพิวเตอร์ของคุณมีสายที่แตกต่างกันใน/etc/hostname, /etc/hostsและuname -nเป็นที่โปรโตคอล DHCP มีสิ่งอำนวยความสะดวกเพื่อให้ชื่อโฮสต์พร้อมกับที่อยู่ IP ไปยังพื้นที่ใหม่ "machine42.work.localnetwork" ดูเหมือนชื่อเซิร์ฟเวอร์ DHCP ที่จะเลือก สตริงนี้จะถูกบันทึกและส่งคืนโดยการgethostnameโทร

ดูสิ่งนี้ด้วย:

ฉันจะเปลี่ยนชื่อคอมพิวเตอร์ได้อย่างไร (tl; dr echo computername > /etc/hostname) - นั่นคือสิ่งที่เกิดขึ้นเมื่อคุณเลือกชื่อระหว่างการติดตั้ง

ฉันจะเปลี่ยนชื่อโฮสต์โดยไม่ต้องรีสตาร์ทได้อย่างไร (tl; dr hostname computername) - นั่นคือสิ่งที่เกิดขึ้นเมื่อคุณได้รับ DHCP lease พร้อมชื่อโฮสต์


"พูดอย่างเคร่งครัดไม่มีสิ่งเช่นชื่อคอมพิวเตอร์" ที่ไม่เกี่ยวข้องกับเครือข่ายใน Linux " - มันไม่ได้ขึ้นอยู่กับบริการหรือไม่ ตัวอย่างเช่นฉันคิดว่า Windows ที่เทียบเท่าคือชื่อ NetBIOS ชื่อที่จำง่ายซึ่งไม่มีส่วนโดเมนและอาจแตกต่างจากส่วนโฮสต์ของชื่อโดเมน (ผ่านการรับรองโดยสมบูรณ์หรือไม่)

ชื่อ NetBIOS ยังคงเป็นชื่อเครือข่ายแม้ว่าจะแตกต่างจากชื่อโดเมนก็ตาม
Dmitry Grigoryev

16

คุณสามารถใช้sudo dmidecode | grep -A3 '^System Information'คำสั่ง คำสั่งนี้อ่านข้อมูลจาก BIOS และฮาร์ดแวร์ ตัวอย่างจากเครื่องของฉัน:

System Information
    Manufacturer: LENOVO
    Product Name: 20BHA06YGB
    Version: ThinkPad W540

แหล่งที่มา: [1]


ฉันไม่คิดว่านี่คือสิ่งที่ฉันกำลังมองหา สิ่งนี้ต้องการสิทธิ์ผู้ดูแลระบบและให้ข้อมูลเกี่ยวกับฮาร์ดแวร์ไม่ใช่ชื่อที่ผู้ใช้เลือกในเวลาที่คุณติดตั้งระบบปฏิบัติการบนเครื่องนั้น
Sheljohn

13
ชื่อที่ผู้ใช้เลือก? ฟังดูเหมือนชื่อโฮสต์กับฉัน
Bibek_G

2
ขออภัยฉันทำผิดนั้น ฉันจะออกคำตอบต่อไป ผู้ใช้ชื่อเดียวที่เลือกโดยใช้ดิสทริบิวชันดิสทริบิวชั่นที่ฉันรู้จักคือชื่อโฮสต์
jschlichtholz

@Bibek_G นี่คือเหตุผลที่ฉันไม่สามารถหาคำตอบสำหรับคำถามของฉันบน OSX เหล่านี้เป็นสองสิ่งที่แตกต่างกัน ฉันกำลังมองหาชื่อที่ฉันป้อนเมื่อฉันติดตั้ง Linux บนเครื่องนั้นซึ่งฉันถือว่าเป็นชื่อเครือข่ายเริ่มต้น
Sheljohn

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