open-vm-tools — это набор сервисов и модулей, которые реализуют ряд функций продуктов VMware для лучшего управления гостями и беспрепятственного взаимодействия пользователей с ними. Он включает модули ядра для повышения производительности виртуальных машин под управлением Linux или других Unix, поддерживаемых VMware, например гостевых операционных систем.
open-vm-tools обеспечивает следующие функции в продуктах VMware:
Грациозное выполнение операций питания (перезагрузка и выключение) в гостевой системе.
Выполнение встроенных или пользовательских сценариев в гостевой системе при различных операциях с питанием.
Запуск программ, команд и операций с файловой системой в гостевой системе для повышения автоматизации гостевой системы.
Аутентификация для гостевых операций.
Генерация контрольного сигнала от гостя к хосту для решения vSphere HA для определения доступности гостя.
Синхронизация часов между гостем и хостом.
Замораживание гостевых файловых систем, чтобы позволить хосту сделать гостевой снимок, согласованный с файловой системой.
Выполнение сценариев предварительного замораживания и последующего размораживания при стабилизации гостевых файловых систем.
Настройка гостя сразу после включения.
Периодический сбор информации об использовании сети, диска и памяти от гостя.
Изменение размера графического экрана рабочего стола гостя.
Операции с общими папками между хостовой и гостевой файловыми системами на VMware Workstation и VMware Fusion.
Копирование и вставка текста, графики и файлов между гостевыми и хостовыми или клиентскими рабочими столами.
Перетаскивание файлов между гостевым и хост-интерфейсом.
Периодический сбор запущенных приложений, служб и контейнеров в гостевой системе.
Доступ к контенту из GuestStore.
Публикация данных в Guest Data Publisher.
Управление желаемым состоянием Salt-Minion, указанным в гостевой переменной.
Следующие компоненты были выпущены как программное обеспечение с открытым исходным кодом:
Драйверы Linux, Solaris и FreeBSD для доступа к различным устройствам и файловой системе.
Плагин PowerOps для плавного управления питанием и запуска сценариев питания.
Плагин VIX для запуска программ и команд, а также выполнения операций с файловой системой в гостевом режиме.
Плагин GuestInfo для периодического сбора различной статистики от гостя.
Плагин TimeSync для синхронизации времени.
Плагин dndcp для поддержки операций перетаскивания, а также копирования/вставки текста и файлов.
Плагин «ResolverSet» для автоматической настройки разрешения экрана гостя в зависимости от размеров окон.
Плагин vmbackup для поддержки операции стабилизированного моментального снимка.
Плагин GuestStore для поддержки работы GuestStore.
Плагин gdp для поддержки операции публикации гостевых данных.
Плагин AppInfo для периодического сбора информации о приложении.
Плагин ServiceDiscovery для периодического сбора служебной информации.
Плагин ContainerInfo для периодического сбора информации о контейнере.
Плагин ComponentMgr для обработки операций с желаемым состоянием.
Служба аутентификации гостей.
Команда панели инструментов для очистки и сжатия диска, управления сценариями питания и синхронизации времени.
Гостевые библиотеки SDK для предоставления гостю информации о виртуальной машине.
Клиент и сервер для поддержки общих папок.
Поддержка нескольких мониторов.
Прочие утилиты.
Да. Пакеты open-vm-tools для компонентов пользовательского пространства доступны в новых версиях основных дистрибутивов Linux и в некоторых случаях устанавливаются как часть установки ОС. Подробную информацию можно найти в статье базы знаний VMware http://kb.vmware.com/kb/2073803. Все ведущие поставщики Linux поддерживают инструменты open-VM и включают их в свои продукты. Информацию о совместимости ОС для инструментов open-vm-tools см. в Руководстве по совместимости VMware по адресу http://www.vmware.com/resources/compatibility. Автоматическая установка open-vm-tools вместе с установкой ОС исключает необходимость отдельной установки. open-vm-tools в гостях. Если open-vm-tools не устанавливается автоматически, вы можете установить его вручную из общедоступного репозитория поставщика гостевой ОС. Установка инструментов open-vm из репозитория поставщика Linux сокращает время простоя виртуальной машины, поскольку будущие обновления инструментов open-vm включены в исправления и обновления для обслуживания ОС. ПРИМЕЧАНИЕ . Большинство дистрибутивов Linux поставляются с двумя или более пакетами open-vm-tools. «open-vm-tools» — это основной пакет без каких-либо зависимостей от X-библиотек, а «open-vm-tools-desktop» — это дополнительный пакет с зависимостями от основного пакета «open-vm-tools» и X-библиотек. Пакет «open-vm-tools-sdmp» содержит плагин для обнаружения служб. Могут быть дополнительные пакеты, обратитесь к документации производителя ОС. Обратите внимание, что пакеты open-vm-tools, доступные в дистрибутивах Linux, не включают драйверы Linux, поскольку драйверы Linux доступны как часть самого ядра Linux. Ядро Linux версии 3.10 и более поздних включает все драйверы Linux, присутствующие в open-vm-tools, за исключением драйвера vmhgfs. Драйвер vmhgfs требовался для включения функции общих папок, но его заменяет vmhgfs-fuse, для которого не требуется драйвер ядра.
VMware Tools по-прежнему будет доступен по коммерческой лицензии. Рекомендуется использовать open-vm-tools для дистрибутивов Linux, где доступны open-vm-tools. VMware не будет предоставлять OSP для операционных систем, в которых доступны инструменты open-VM.
По условиям GPL члены сообщества открытого исходного кода могут использовать код open-vm-tools для разработки своих собственных приложений, его расширения и внесения вклада в сообщество. Они также могут включать часть или весь код в свои проекты при условии, что они соответствуют условиям GPL.
Код выпускается под лицензиями GPL v2 и совместимыми с GPL v2 лицензиями. Точнее, модули ядра Linux выпускаются под лицензией GPL v2, тогда как почти все компоненты пользовательского уровня выпускаются под лицензией LGPL v2.1. Драйверы SVGA и мыши уже довольно давно доступны по лицензии X11. Существуют определенные компоненты сторонних производителей, выпущенные по лицензиям типа BSD, в разработку которых в некоторых случаях внесла свой вклад VMware, и они будут продолжать распространяться вместе с инструментами open-vm.
Мы выбрали GPL v2 для компонентов ядра, чтобы они соответствовали лицензии ядра Linux. Мы выбрали LGPL v2.1 для компонентов пользовательского уровня, поскольку некоторая часть кода реализована в виде общих библиотек, и мы не хотим ограничивать возможность связывания проприетарного кода с этими библиотеками. Для обеспечения единообразия мы решили также лицензировать остальную часть кода пользовательского уровня по лицензии LGPL v2.1.
Каждая из этих лицензий имеет разные обязательства. По вопросам о лицензиях GPL и LGPL можно найти много полезной информации на странице часто задаваемых вопросов по GPL Фонда свободного программного обеспечения. Для вопросов о других лицензиях, таких как лицензии X11 и BSD, Open Source Initiative предлагает множество полезных ресурсов, включая списки рассылки. Юридический центр свободы программного обеспечения предоставляет юридическую экспертизу и консультации для разработчиков бесплатного программного обеспечения и программного обеспечения с открытым исходным кодом (FOSS).
Различные лицензии с открытым исходным кодом предъявляют разные требования к выпуску исходного кода. Поскольку код выпускается под различными лицензиями с открытым исходным кодом, вам необходимо будет соблюдать условия соответствующих лицензий.
Нет, от вас не требуется вносить какие-либо изменения, которые вы вносите обратно в проект open-vm-tools. Тем не менее, мы призываем вас сделать это.
Да, при условии, что вы соблюдаете соответствующие лицензии.
Да! Пожалуйста, сделайте это.
Наша цель — сделать версию с открытым исходным кодом максимально приближенной к коммерческой версии. Однако в настоящее время мы используем некоторые компоненты, лицензированные у третьих сторон, а также компоненты других продуктов VMware, которые доступны только в двоичной форме.
Нет, поскольку ваш проект/продукт не является проектом/продуктом VMware.
open-vm-tools использует инструмент GNU Automake для создания файлов Makefile для сборки всех исходных кодов. Дополнительную информацию об Automake можно найти здесь: http://www.gnu.org/software/automake/.
Следующие шаги будут работать в самых последних дистрибутивах Linux:
autoreconf -i ./configure make sudo make install sudo ldconfig
Чтобы создать дополнительный плагин sdmp (Service Discovery), используйте параметр --enable-servicediscovery
для вызова сценария настройки:
./configure --enable-servicediscovery
Настройка соляного миньона
Плагин диспетчера компонентов
Плагин ContainerInfo (необязательно)
Поддержка Salt в Linux состоит из одного сценария bash для настройки Salt Minion на виртуальных машинах VMware. Скрипт требует, чтобы в системе были доступны команды «curl» и «awk».
Поставщикам Linux, поставляющим пакеты open-vm-tools, рекомендуется обеспечить поддержку Salt Minion в отдельном дополнительном пакете — «open-vm-tools-salt-minion».
Чтобы включить установку Salt Minion в сборку open-vm-tools, используйте параметр --enable-salt-minion
при вызове сценария настройки.
./configure --enable-salt-minion
Диспетчер компонентов управляет предварительно настроенным набором компонентов, доступных в VMware, которые можно сделать доступными в гостевой системе Linux. В настоящее время единственным компонентом, которым можно управлять, является установка Salt Minion.
Дополнительный плагинContainerInfo извлекает список контейнеров, работающих в гостевой системе Linux, и публикует его в гостевой переменной « Guestinfo.vmtools.containerinfo » в формате JSON. ПлагинContainerInfo взаимодействует с демономContainerd, используя gRPC, для получения необходимой информации. Для контейнеров, управляемых Docker, плагин использует libcurl для связи с демоном Docker и получения имен контейнеров.
Поскольку этот плагин требует дополнительных зависимостей сборки и времени выполнения, поставщикам Linux рекомендуется выпустить его в отдельном дополнительном пакете — «open-vm-tools-containerinfo». Это позволяет избежать ненужных зависимостей для клиентов, не использующих эту функцию.
Создание зависимостей | Время выполнения |
---|---|
libcurl4-openssl-dev | curl |
protobuf-compiler | protobuf |
libprotobuf-dev | grpc++ |
protobuf-compiler-grpc | |
libgrpc++-dev | |
golang-github-containerd-containerd-dev | |
golang-github-gogo-protobuf-dev |
Создание зависимостей | Время выполнения |
---|---|
libcurl-devel | curl |
protobuf-compiler | protobuf |
protobuf-devel | grpc-cpp |
grpc-plugins | |
grpc-devel | |
containerd-devel |
Сценарий настройки по умолчанию создает ContainerInfo, когда доступны все необходимые зависимости. ContainerInfo не будет построен, если отсутствуют зависимости. Вызовите сценарий настройки с --enable-containerinfo=no
, чтобы явно запретить сборку плагина.
./configure --enable-containerinfo=no
Если сценарию настройки задана опция --enable-containerinfo=yes
и какая-либо необходимая зависимость недоступна, сценарий настройки завершится с ошибкой.
./configure --enable-containerinfo=yes
Если вам нужна помощь или дополнительные настройки для сборки этого проекта, следующая команда configure отобразит список параметров справки:
./configure --help
При использовании configure в описанных выше шагах необходимо вызывать ./configure только один раз, если только после первого вызова не возникла проблема.
Вы можете принять участие сегодня несколькими способами:
Начните использовать инструменты open-VM сегодня и оставьте нам отзыв.
Предложите улучшения функций.
Выявляйте и сообщайте об ошибках в разделе «Проблемы»: https://github.com/vmware/open-vm-tools/issues.
Начните портировать код на другие операционные системы. Вот список операционных систем с open-vm-tools:
Red Hat Enterprise Linux 7.0 и более поздние версии
SUSE Linux Enterprise 12 и более поздние версии
Ubuntu 14.04 и более поздние версии
CentOS 7 и более поздние версии
Debian 7.x и более поздние версии
Oracle Linux 7 и более поздние версии
Fedora 19 и более поздние версии
openSUSE 11.x и более поздние версии
Flatcar Container Linux, все выпуски
Rocky 8 и более поздние выпуски
AlmaLinux OS 8 и более поздние версии
Да. Первоначально коммиттерами будут только инженеры VMware. По мере развертывания нашей инфраструктуры разработки мы также будем стремиться привлечь к проекту внешних коммиттеров.
Первоначально вы можете отправлять исправления ошибок, исправления и новые функции в список рассылки разработчиков проекта в виде вложений к электронным письмам или отчетам об ошибках. Чтобы предоставить исходный код, вам необходимо будет заполнить форму соглашения о вкладе в рамках процесса подачи. В ближайшее время мы сообщим более подробную информацию об этом процессе.
Дорожная карта функций и графики реализации проекта open-vm-tools по-прежнему будут определяться VMware. Первоначально инженеры VMware будут единственными одобренными коммиттерами. Мы проверим поступающие заявки на пригодность для включения в проект. Мы будем стремиться привлечь к проекту коммиттеров сообщества на основе их продемонстрированного вклада в проект. Наконец, мы также планируем организовать процесс подачи предложений по улучшению, создания подпроектов и так далее.
Вклады, принятые в основное дерево исходного кода проекта open-vm-tools, скорее всего, будут частью VMware Tools. Мы также признаем ценность авторства и ценим ваш вклад. Следовательно, мы признаем вклад сообщества, распространяемый вместе с продуктами VMware.
Да. У нас есть стандартное соглашение о вкладах, которое охватывает все вклады, внесенные в проект. Это дает VMware и вам совместные права на авторские права на вносимый вами код. Соглашение также дает VMware гибкость при лицензировании, а также помогает избежать любых проблем, связанных с авторским правом/лицензированием, которые могут возникнуть в будущем. Чтобы мы могли включить ваш вклад в наше дерево исходного кода, мы просим вас прислать нам подписанную копию соглашения. Вы можете сделать это одним из двух способов: Отправьте по факсу +1.650.427.5003, Attn: Группа по законодательству о продуктах и технологиях. Отсканируйте и отправьте его по электронной почте на адрес oss-queries_at_vmware.com. Соглашение: http://open-vm-tools.sourceforge.net/. файлы/vca.pdf
Исходный код open-vm-tools содержит таблицу, сопоставляющую имя гостевого дистрибутива с официально признанным коротким именем. Пожалуйста, не отправляйте запросы на включение, изменяющие эту таблицу и связанный с ней код. Любые изменения здесь должны сопровождаться дополнительными изменениями в хосте VMware. Значения, которые не распознаются хостом VMware, будут игнорироваться.
Используйте соответствующее общее обозначение Linux при настройке виртуальной машины для вашей версии Linux. Доступный выбор зависит от используемой версии виртуального оборудования.
Другой Linux 5.x или новее (64-разрядная версия)
Другой Linux 5.x или новее (32-разрядная версия)
Другой Linux 4.x (64-разрядная версия)
Другой Linux 4.x (32-разрядный)
Другой Linux 3.x (64-разрядная версия)
Другой Linux 3.x (32-разрядный)
Другой Linux (64-разрядный)
Другой Linux (32-разрядный)
Матрица поддержки настройки гостевой ОС содержит подробную информацию о гостевых операционных системах, поддерживаемых для настройки.
Матрица совместимости продуктов VMware содержит подробную информацию о совместимости различных версий VMware Tools (включая инструменты open-vm) и других продуктов VMware.
open-vm-tools поддерживает следующие языки:
Английский
Французский
немецкий
испанский
итальянский
японский
корейский
Упрощенный китайский
Традиционный китайский
Пожалуйста, отправьте электронное письмо в один из этих списков рассылки в зависимости от характера вашего вопроса.
Вопросы, связанные с разработкой: [email protected].
Разные вопросы: [email protected].
Общие анонсы проектов: [email protected]