从 python 创建 /etc/machine-id 的正确方法
Correct way to create /etc/machine-id from python
我想从 python 脚本而不是使用 systemd-machine-id-setup
创建 systemd 的 /etc/machine-id
。我正在准备一个 rootfs,我不想依赖主机上安装的 systemd。
我当前的代码如下所示:
from uuid import uuid4
f = open("machine-id", "w")
f.write(uuid4().hex + "\n")
f.close()
这是正确的做法吗?它是正确的字节顺序吗?我错过了什么吗?
如果需要,请提供正确的代码 and/or 参考。
是的。参见Documentation。它是一个文本文件,因此字节顺序与此处无关。
另请参阅 handles/generates 的代码:
make_v4_uuid
函数及其在第 221 行的调用位置
https://github.com/systemd/systemd/blob/master/src/libsystemd/sd-id128/sd-id128.c
尽管我个人会成功:
from uuid import uuid4
with open("machine-id", "w") as f:
f.write(uuid4().hex + "\n")
我想从 python 脚本而不是使用 systemd-machine-id-setup
创建 systemd 的 /etc/machine-id
。我正在准备一个 rootfs,我不想依赖主机上安装的 systemd。
我当前的代码如下所示:
from uuid import uuid4
f = open("machine-id", "w")
f.write(uuid4().hex + "\n")
f.close()
这是正确的做法吗?它是正确的字节顺序吗?我错过了什么吗?
如果需要,请提供正确的代码 and/or 参考。
是的。参见Documentation。它是一个文本文件,因此字节顺序与此处无关。
另请参阅 handles/generates 的代码:
make_v4_uuid
函数及其在第 221 行的调用位置
https://github.com/systemd/systemd/blob/master/src/libsystemd/sd-id128/sd-id128.c
尽管我个人会成功:
from uuid import uuid4
with open("machine-id", "w") as f:
f.write(uuid4().hex + "\n")