如何在 solaris 11 中生成 uuid?

How to generate uuid in solaris 11?

如何在solaris 11中生成UUID?

在 Solaris 10 中,我使用 makeuuid 命令生成。

我在 solaris 11 中找不到它,而它根据 oracle 文档存在 https://docs.oracle.com/cd/E23824_01/html/821-1462/makeuuid-1m.html

但是找不到,也找不到容器包。

正在所有 Solaris 11 软件包中搜索 makeuuid

# pkg search -flr makeuuid
INDEX      ACTION VALUE            PACKAGE
basename   file   usr/bin/makeuuid pkg:/system/management/product-registry@0.5.11-0.151.0.1

好的,那个包裹呢?

# pkg info -r pkg:/system/management/product-registry
          Name: system/management/product-registry
       Summary: 
         State: Not installed (Obsolete)
     Publisher: solaris
       Version: 0.5.11
 Build Release: 5.11
        Branch: 0.171
Packaging Date: August  1, 2011 04:48:45 PM 
          Size: 5.45 kB
          FMRI: pkg://solaris/system/management/product-registry@0.5.11,5.11-0.171:20110801T164845Z

请注意,该软件包已过时。您可以尝试 force-installing,但 Solaris 11 软件包系统可能会在您下次更新时删除它。

我不确定为什么它已过时,但您链接的手册页是 DCE/RPC OpenGroup specification from 1997 的一部分。版本字符串 0.5.11-0.151.0.1 似乎表示一个旧的 OpenSolaris/Nevada 包,可能来自 SNV 版本 151.

请注意 makeuuid 不在 Solaris 11.3 man pages section 1M 中。

如果您确实需要 makeuuid 二进制文件,您应该能够按照以下过程在本地下载该软件包:https://serverfault.com/a/348265/283415 在您的本地系统上安装该软件包后,您应该能够将其拆开并取出 makeuuid 二进制文件。请注意,从包中获取二进制文件不会安装任何依赖项,并且来自旧包的 makeuuid 二进制文件可能无法工作,或者在您以后的系统上可能无法正常工作。

您也可以使用下面的非常小的 Python 程序。这会有帮助吗?

$ cat bin/uuidgen.py
#!/usr/bin/python
import uuid
print(uuid.uuid4())
$ uuidgen.py
c4f248e9-c398-4054-9208-6badd366f857