แม้ว่าsystemd-machine-id-setup
และsystemd-firstboot
ดีสำหรับระบบที่ใช้ systemd แต่/etc/machine-id
ไม่ใช่ไฟล์ systemd แม้จะมีแท็ก มันยังใช้กับระบบที่ไม่ได้ใช้ systemd เพื่อเป็นทางเลือกคุณสามารถใช้dbus-uuidgen
เครื่องมือนี้:
rm -f /etc/machine-id
แล้ว
dbus-uuidgen --ensure=/etc/machine-id
ดังที่สตีเฟ่นคิตต์กล่าวถึงระบบ Debian อาจมีทั้งไฟล์/etc/machine-id
และ/var/lib/dbus/machine-id
ไฟล์ หากทั้งคู่มีอยู่เป็นไฟล์ปกติเนื้อหาควรตรงกันดังนั้นจึงลบด้วย/var/lib/dbus/machine-id
:
rm /var/lib/dbus/machine-id
และสร้างใหม่อีกครั้ง:
dbus-uuidgen --ensure
คำสั่งสุดท้ายนี้ใช้/var/lib/dbus/machine-id
เป็นชื่อไฟล์โดยนัยและจะคัดลอกหมายเลขเครื่องจากเครื่องที่สร้างขึ้นใหม่/etc/machine-id
แล้ว
การdbus-uuidgen
เรียกใช้อาจเป็นหรือไม่ได้เป็นส่วนหนึ่งของลำดับการบูตปกติ หากเป็นส่วนหนึ่งของลำดับการบู๊ตการลบไฟล์และการรีบูตควรเพียงพอ หากคุณต้องการเรียกใช้dbus-uuidgen
ด้วยตนเองให้ใส่ใจกับคำเตือนในหน้า man:
หากคุณพยายามเปลี่ยนรหัสเครื่องที่มีอยู่ในระบบที่ใช้งานอยู่อาจจะส่งผลให้เกิดสิ่งเลวร้ายได้ อย่าพยายามเปลี่ยนไฟล์นี้ นอกจากนี้อย่าทำให้เหมือนกันในสองระบบที่แตกต่างกัน มันจะต้องมีความแตกต่างกันทุกครั้งที่มีเมล็ดที่แตกต่างกันสองตัวที่ทำงานอยู่
ดังนั้นหลังจากทำเช่นนี้อย่าใช้ระบบโดยไม่ต้องรีบูตเครื่อง เพื่อเป็นการป้องกันไว้ล่วงหน้าคุณสามารถรีบูทก่อนเข้าสู่โหมดช่วยเหลือ (หรือตามที่คุณแนะนำบูตจากแท่ง USB สด) แต่จากประสบการณ์ของฉันนั่นไม่จำเป็น สิ่งเลวร้ายอาจเกิดขึ้น แต่สิ่งที่ไม่ดีที่เกิดขึ้นได้รับการแก้ไขโดยการรีบูตอย่างไรก็ตาม