问题标签 [smartos]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
smartos - Illumos kernel preprocessor macro
I can't find any info on what macro to use in an ifdef to determine the illumos kernel. I use __linux to catch Linux.
Filler for stackoverflow grammar check filler filler filler filler.
smartos - 不支持使用品牌 Joyent 配置数据集 - smartos
今天我正在尝试使用 smartos 创建一个虚拟机。
我构建了这个配置文件(称为router.json
):
运行此命令:
但是当我尝试创建虚拟机时仍然出现错误:
有人有想法吗?非常感谢。
zfs - 接收克隆和覆盖源的增量 ZFS 流
tldr; 我正在尝试接收一个 ZFS 流,该流-R
已从克隆的文件系统创建为复制 ()。使用zfs recv -o origin=[clone-origin]
只是给出cannot receive: local origin for clone [...] does not exist
.
前提
我有一个 SmartOS 区域 ZFS 文件系统,它是从特定映像克隆的。(IMAGE
-uuid 和ZONE
-uuid 已被替换以提高可读性)
区域文件系统有多个快照:
关于基础镜像,SmartOS(更好vmadm
)为新创建的区域创建镜像快照。区域根目录创建为基于此快照的克隆(此处使用 guid 11194422825011190557
)。
备份
为了创建我的区域根目录的备份,我创建了一个快照和一个复制流。
检查它zstreamdump
显示预期的来源。它是十六进制的,0x9b5a943fae511b1d
但是11194422825011190557
:
恢复
为了恢复灾难,我使用vmadm create
vm 描述的备份来重新创建区域(ZONE
保留 -uuid)。vmadm
拉取映像并zones/[IMAGE]
使用快照创建相应的 zfs 文件系统,作为重新创建的区域文件系统的克隆源zones/[ZONE]
。
所以结构和崩溃前一样:
然而,图像快照(由 创建)的 guidvmadm
是不同的 - 正如预期的那样。流期望0x9b5a943fae511b1d
(或11194422825011190557
),但实际上是12464070312561851369
:
这就是 - 我想 --o origin=
参数的zfs recv
来源。
问题
通过接收 zfs 流恢复实际数据,最终会出现错误:
(SNAP0
备份文件系统的第一个快照在哪里,请参阅上面的“前提条件”)
这是意料之中的,因为指南发生了变化。因此,我使用新的 guid ( ) 将原点强制为图像快照12464070312561851369
,但错误仍然存在:
问题
我对-o origin=
-parameter 的解释是否正确?
为什么没有按预期工作?
如果这是错误的方法,我该如何创建备份并恢复克隆的 zfs 文件系统?
非常感谢阅读和帮助!
macos - macOS 上 Rust 程序的类 DTrace 函数追踪
我有一个使用 C FFI 的 Rust 程序,我想在任何时候调用该 C FFI 中的函数并将参数传递给它。
我在 macOS 上开发,看起来 DTrace 很合适,但是在启用 macOS SIP 的情况下,DTrace 不能很好地工作。我不想禁用 SIP。
我正在考虑使用这个 DTrace 提供程序:
pid$target:::entry
问题:
有没有更好的方法在 macOS/Rust 上执行此操作?
为了在我的 Rust 程序上使用 DTrace/eBPF,作为 VM 运行的最佳操作系统是什么?
c++ - xy::isfinite 可在 Linux、BSD 和 Windows 上编译,但不能在 SmartOS 上编译
我正在尝试将Quadlods 移植到 SmartOS。它在 Linux 和 DragonFly BSD 上编译和运行。我还没有尝试在 Windows 上运行它,但是使用 xy 类和 isfinite 方法的其他程序可以在 Windows 上编译和运行。但是,在 SmartOS 上编译它,我得到这个错误:
定义宏的文件,导致这个奇怪的错误,是 /usr/include/iso/math_c99.h:
头文件中的类定义是
是否可以在不重命名方法的情况下在 SmartOS 上进行编译?我想过取消定义 isfinite 宏,但是在另一个程序(不是 Quadlods,其头文件只有 quadlods.h)中,xy 类位于库的头文件中。此外,isfinite 方法调用 std::isfinite。