VMWare来宾工具(vixtools)API未找到system / tmp目录

时间:2017-04-24 20:42:15

标签: java linux unix vmware-tools vix

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

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

用于参考: Doc: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会话中的显示列出目录中的文件。

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

.
..
vmware-root (directory)

即使我的ssh会话显示:

.
..
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

我们在真空中操作会很好,但是程序需要从其他程序安装程序和接口读取,修改或执行temp目录中的文件,这些程序安装程序和接口使用“the”/ tmp目录而不是VMWare的埋藏位置。 / p>

我无法找到任何关于重新配置VMWare Tools的方法的文档,也没有找到使用API​​访问/ tmp目录的方法,我希望有人会遇到SO并找到胜利之路VMWare功能。

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

1 个答案:

答案 0 :(得分:2)

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

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