gpt4 book ai didi

java - VMWare guest 工具 (vixtools) API 未找到 system/tmp 目录

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:07:32 26 4
gpt4 key购买 nike

我正在开发一个 Java 类,它使用 Java API 访问 VCenter 上的 VMWare 虚拟机。

Java API 允许我们连接到 VCenter,访问 guest 虚拟机 (CentOS7) 并列出目录中的文件,除了/tmp 目录之外没有任何问题。

使用引用:文件:GuestFileManager

// filePathToCheck = "/tmp/some-file-to-find.txt
ManagedObjectReference fileManager = ...; // GuestFileManager
ManagedObjectReference vmGuest = ...; // VirtualMachine
String fileToCheckName = FilenameUtils.getName(filePathToCheck); // -> some-file-to-find.txt
String guestDirectory = filePathToCheck.replace(fileToCheckName,""); // -> /tmp/
guestFiles = vimPort.listFilesInGuest(fileManager, vmGuest, auth, guestDirectory, null, null, null);

我正在使用 GuestFileManager.listFilesInGuest() 并发现对于/tmp 以外的任何目录,我都可以完全按照它们在 ssh session 中出现的方式列出目录中的文件。

使用 listFilesInGuest() 查看路径“/tmp”目录,我得到一个列表:

.
..
vmware-root (directory)

即使我的 ssh session 显示:

.
..
finishedinstall
.font-unix
.ICE-unix
systemd-private-f2b5415058d14dbfa4306235d53fed88-vmtoolsd.service-QN0Muw
.Test-unix
.X11-unix
.XIM-unix

我在 vmware-root 上找到了它,它出现在

/tmp/systemd-private-f2b5415058d14dbfa4306235d53fed88-vmtoolsd.service-QN0Muw/tmp/vmware-root

导航到该文件夹​​显示在 listFilesInGuest() 中找到的文件:

.
..
vmware-root

如果我们在真空中操作,这很好,但是程序需要从其他使用“the”/tmp 目录而不是 VMWare 隐藏位置的程序安装程序和界面读取、修改或执行临时目录中的文件。

我找不到任何关于重新配置 VMWare 工具的方法的文档,也找不到使用 API 进入/tmp 目录的方法,我希望 SO 中的某个人会遇到并为此找到成功的途径VMWare 功能。

编辑:通过进一步测试,我发现这个“特殊”tmp 目录只出现在 posix 中,Windows 上的 VMWareTools API 导航正如我在所有操作系统中所期望的那样。

最佳答案

尝试禁用私有(private) tmp 目录。 vmtoolsd 服务应该有一些设置文件。例如:apache

事实证明(见评论),这样的设置可以在:/usr/lib/systemd/system/vmtoolsd.service

关于java - VMWare guest 工具 (vixtools) API 未找到 system/tmp 目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43597373/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com