Linux mount topology, visible path resolution and namespace snapshot deltas
node moonmount.cjs --help
node moonmount.cjs import fixtures/stacked.mountinfo synthetic before.json
node moonmount.cjs show before.json
node moonmount.cjs query before.json /work/hidden/file
node moonmount.cjs compare before.json before.jsonnode moonmount.cjs capture before.json
node moonmount.cjs show before.json
node moonmount.cjs query before.json /proc/self/mountinfo
node moonmount.cjs capture after.json
node moonmount.cjs compare before.json after.json| 命令 | 用途 |
|---|---|
| capture NEW_SNAPSHOT | 在 Linux 保存当前挂载快照 |
| import RAW_FILE NAMESPACE NEW_SNAPSHOT | 把外部 mountinfo 转成携带标识的快照 |
| show SNAPSHOT | 列出保存的挂载 |
| query SNAPSHOT /absolute/path | 离线解释路径归属 |
| compare BEFORE AFTER | 自动检查 namespace,输出摘要和详情 |
| live [/absolute/path] | 在 Linux 直接查看,不保存 |
moon run examples/replay --target wasm-gc
moon run cmd/main --target js -- resolve fixtures/stacked.mountinfo synthetic /work/hidden/filemoon run cmd/main --target js -- live
moon run cmd/main --target js -- live /proc/self/mountinfomoon add trail-it/moonmount@0.2.0let snapshot = @mount.parse(text, namespace_id="same-namespace-lifetime")
let result = snapshot.resolve("/work/main.mbt")
let changes = snapshot.diff(newer)
let peers = snapshot.peers(7)moon run cmd/main --target js -- inspect FILE NAMESPACE
moon run cmd/main --target js -- resolve FILE NAMESPACE /absolute/path
moon run cmd/main --target js -- diff OLD_FILE NEW_FILE SAME_NAMESPACEpython scripts/verify.py
python scripts/verify_oracle.py
python scripts/verify_package.py
python scripts/verify_cli_workflow.py
python scripts/build_cli.py
# Linux 上另外执行
python3 scripts/verify_linux.py
# 在支持 user namespace 的 Linux 上,执行真实挂载场景
unshare --user --map-root-user --mount --propagation private env MOONMOUNT_DISPOSABLE_NAMESPACE=1 python3 scripts/verify_mount_namespace.py