API гостевых инструментов VMWare (vixtools) не находит каталог system /tmp

Я работаю над классом Java, который обращается к виртуальным машинам VMWare в VCenter с помощью API Java.

Java API позволяет нам подключаться к VCenter, получать доступ к гостевой виртуальной машине (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 из других программ установки и интерфейсов программы, которые используют каталог "/tmp", а не скрытое местоположение VMWare.

Мне не удалось найти какую-либо документацию о каком-либо способе переконфигурирования VMWare Tools или способе доступа к каталогу /tmp с помощью API, и я надеюсь, что кто-то в SO встретится и найдет победный путь для этой функции VMWare.

РЕДАКТИРОВАТЬ: При дальнейшем тестировании я обнаружил, что этот "специальный" каталог tmp происходит только в posix, API-интерфейс VMWareTools в Windows перемещается, как я и ожидал во всех ОС.

1 ответ

Решение

Попробуйте отключить частный каталог tmp. Там должен быть какой-то файл настроек для службы vmtoolsd. Например: apache

Как оказалось (см. Комментарии), такую ​​настройку можно найти в: /usr/lib/systemd/system/vmtoolsd.service

Другие вопросы по тегам