แม้ว่า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 สด) แต่จากประสบการณ์ของฉันนั่นไม่จำเป็น สิ่งเลวร้ายอาจเกิดขึ้น แต่สิ่งที่ไม่ดีที่เกิดขึ้นได้รับการแก้ไขโดยการรีบูตอย่างไรก็ตาม