open-vm-tools ist eine Reihe von Diensten und Modulen, die verschiedene Funktionen in VMware-Produkten für eine bessere Verwaltung und nahtlose Benutzerinteraktionen mit Gästen ermöglichen. Es enthält Kernelmodule zur Verbesserung der Leistung virtueller Maschinen, auf denen Linux oder andere von VMware unterstützte Unix-wie Gastbetriebssysteme ausgeführt werden.
open-vm-tools ermöglicht die folgenden Funktionen in VMware-Produkten:
Ordentliche Ausführung von Energievorgängen (Neustart und Herunterfahren) im Gast.
Ausführung integrierter oder vom Benutzer konfigurierter Skripts im Gast während verschiedener Stromversorgungsvorgänge.
Ausführen von Programmen, Befehlen und Dateisystemvorgängen im Gast, um die Gastautomatisierung zu verbessern.
Authentifizierung für Gastbetrieb.
Generierung eines Heartbeats vom Gast zum Host für die vSphere HA-Lösung, um die Verfügbarkeit des Gastes zu ermitteln.
Uhrensynchronisation zwischen Gast und Host.
Gastdateisysteme werden in den Ruhezustand versetzt, damit der Host dateisystemkonsistente Gast-Snapshots erfassen kann.
Ausführung von Pre-Freeze- und Post-Thaw-Skripten bei gleichzeitiger Stilllegung von Gastdateisystemen.
Anpassung des Gastes direkt nach dem Einschalten.
Regelmäßige Erfassung von Netzwerk-, Festplatten- und Speichernutzungsinformationen vom Gast.
Ändern der Größe des grafischen Desktop-Bildschirms des Gastes.
Vorgänge für freigegebene Ordner zwischen Host- und Gastdateisystemen auf VMware Workstation und VMware Fusion.
Kopieren und Einfügen von Text, Grafiken und Dateien zwischen Gast- und Host- oder Client-Desktops.
Ziehen und Ablegen von Dateien zwischen Gast- und Host-Benutzeroberfläche.
Regelmäßige Erfassung laufender Anwendungen, Dienste und Container im Gast.
Zugriff auf Inhalte von GuestStore.
Veröffentlichen von Daten im Guest Data Publisher.
Verwalten des gewünschten Salt-Minion-Zustands, der in einer Gastvariablen angegeben ist.
Die folgenden Komponenten wurden als Open-Source-Software veröffentlicht:
Linux-, Solaris- und FreeBSD-Treiber für verschiedene Geräte und Dateisystemzugriff.
Das PowerOps-Plugin zur Durchführung eines ordnungsgemäßen Energiebetriebs und zur Ausführung von Energieskripten.
Das VIX-Plugin zum Ausführen von Programmen und Befehlen sowie zum Ausführen von Dateisystemvorgängen im Gast.
Das GuestInfo-Plugin zum regelmäßigen Sammeln verschiedener Statistiken von Gästen.
Das TimeSync-Plugin zur Durchführung der Zeitsynchronisierung.
Das dndcp-Plugin zur Unterstützung von Drag-and-Drop sowie Text- und Dateikopier-/-einfügevorgängen.
Das ResolutionSet-Plugin zum automatischen Anpassen der Gastbildschirmauflösungen basierend auf der Fenstergröße.
Das vmbackup-Plugin zur Unterstützung des stillgelegten Snapshot-Vorgangs.
Das GuestStore-Plugin zur Unterstützung des GuestStore-Betriebs.
Das GDP-Plugin zur Unterstützung der Veröffentlichung von Gastdaten.
Das AppInfo-Plugin zum regelmäßigen Sammeln von Anwendungsinformationen.
Das ServiceDiscovery-Plugin zum regelmäßigen Sammeln von Serviceinformationen.
Das ContainerInfo-Plugin zum regelmäßigen Sammeln von Containerinformationen.
Das ComponentMgr-Plugin zur Verarbeitung gewünschter Statusoperationen.
Der Gastauthentifizierungsdienst.
Der Toolbox-Befehl zum Löschen und Verkleinern von Datenträgern, zum Verwalten von Energieskripts und zur Zeitsynchronisierung.
Die Gast-SDK-Bibliotheken stellen dem Gast Informationen über die virtuelle Maschine bereit.
Client und Server für freigegebene Ordnerunterstützung.
Unterstützung mehrerer Monitore.
Andere Dienstprogramme.
Ja. open-vm-tools-Pakete für User-Space-Komponenten sind mit neuen Versionen der wichtigsten Linux-Distributionen verfügbar und werden in mehreren Fällen als Teil der Betriebssysteminstallation installiert. Weitere Informationen finden Sie im VMware KB-Artikel http://kb.vmware.com/kb/2073803. Alle führenden Linux-Anbieter unterstützen Open-VM-Tools und bündeln es mit ihren Produkten. Informationen zur Betriebssystemkompatibilität für open-vm-tools finden Sie im VMware-Kompatibilitätshandbuch unter http://www.vmware.com/resources/compatibility. Durch die automatische Installation von open-vm-tools zusammen mit der Betriebssysteminstallation ist keine separate Installation erforderlich open-vm-tools in Gästen. Wenn open-vm-tools nicht automatisch installiert wird, können Sie es möglicherweise manuell aus dem öffentlichen Repository des Gastbetriebssystemanbieters installieren. Die Installation von open-vm-tools aus dem Repository des Linux-Anbieters reduziert die Ausfallzeit virtueller Maschinen, da zukünftige Updates für open-vm-tools in den Wartungspatches und Updates des Betriebssystems enthalten sind. HINWEIS : Die meisten Linux-Distributionen enthalten zwei oder mehr Open-VM-Tools-Pakete. „open-vm-tools“ ist das Kernpaket ohne Abhängigkeiten von X-Bibliotheken und „open-vm-tools-desktop“ ist ein zusätzliches Paket mit Abhängigkeiten vom Kernpaket „open-vm-tools“ und X-Bibliotheken. Das Paket „open-vm-tools-sdmp“ enthält ein Plugin für Service Discovery. Möglicherweise gibt es zusätzliche Pakete. Weitere Informationen finden Sie in der Dokumentation des Betriebssystemherstellers. Beachten Sie, dass die mit Linux-Distributionen verfügbaren Open-VM-Tools-Pakete keine Linux-Treiber enthalten, da Linux-Treiber als Teil des Linux-Kernels selbst verfügbar sind. Die Linux-Kernelversionen 3.10 und höher enthalten alle in open-vm-tools vorhandenen Linux-Treiber mit Ausnahme des vmhgfs-Treibers. Der vmhgfs-Treiber war zum Aktivieren der Funktion für freigegebene Ordner erforderlich, wird jedoch durch vmhgfs-fuse ersetzt, für den kein Kernel-Treiber erforderlich ist.
VMware Tools werden weiterhin unter einer kommerziellen Lizenz verfügbar sein. Es wird empfohlen, open-vm-tools für die Linux-Distributionen zu verwenden, in denen open-vm-tools verfügbar ist. VMware stellt keine OSPs für Betriebssysteme bereit, auf denen Open-VM-Tools verfügbar sind.
Gemäß den Bedingungen der GPL können Mitglieder der Open-Source-Community den Open-VM-Tools-Code verwenden, um ihre eigenen Anwendungen zu entwickeln, zu erweitern und einen Beitrag zur Community zu leisten. Sie können den Code auch teilweise oder vollständig in ihre Projekte integrieren, sofern sie die Bedingungen der GPL einhalten.
Der Code wird unter GPL v2- und GPL v2-kompatiblen Lizenzen veröffentlicht. Genauer gesagt werden die Linux-Kernelmodule unter der GPL v2 veröffentlicht, während fast alle Benutzerebenenkomponenten unter der LGPL v2.1 veröffentlicht werden. Die SVGA- und Maustreiber sind schon seit längerem unter der X11-Lizenz verfügbar. Es gibt bestimmte Komponenten von Drittanbietern, die unter BSD-ähnlichen Lizenzen veröffentlicht wurden, zu denen VMware in einigen Fällen beigetragen hat und die sie weiterhin mit Open-VM-Tools vertreiben werden.
Wir haben die GPL v2 für die Kernel-Komponenten gewählt, um mit der Linux-Kernel-Lizenz konsistent zu sein. Wir haben uns für die LGPL v2.1 für die Komponenten auf Benutzerebene entschieden, da ein Teil des Codes als gemeinsam genutzte Bibliotheken implementiert ist und wir proprietären Code nicht daran hindern möchten, mit diesen Bibliotheken zu verknüpfen. Aus Gründen der Konsistenz haben wir uns entschieden, auch den Rest des Userlevel-Codes unter der LGPL v2.1 zu lizenzieren.
Für jede dieser Lizenzen gelten unterschiedliche Verpflichtungen. Bei Fragen zu den GPL- und LGPL-Lizenzen bietet die GPL-FAQ-Seite der Free Software Foundation viele nützliche Informationen. Bei Fragen zu den anderen Lizenzen wie den X11- und BSD-Lizenzen bietet die Open Source Initiative zahlreiche nützliche Ressourcen, darunter Mailinglisten. Das Software Freedom Law Center bietet juristisches Fachwissen und Beratung für Entwickler freier und Open-Source-Software (FOSS).
Unterschiedliche Open-Source-Lizenzen stellen unterschiedliche Anforderungen an die Veröffentlichung des Quellcodes. Da der Code unter verschiedenen Open-Source-Lizenzen veröffentlicht wird, müssen Sie die Bedingungen der entsprechenden Lizenzen einhalten.
Nein, Sie sind nicht verpflichtet, die von Ihnen vorgenommenen Änderungen wieder in das open-vm-tools-Projekt einzubringen. Wir empfehlen Ihnen jedoch, dies zu tun.
Ja, solange Sie die entsprechende(n) Lizenz(en) einhalten.
Ja! Bitte.
Unser Ziel ist es, darauf hinzuarbeiten, dass die Open-Source-Version der kommerziellen Version so nahe wie möglich kommt. Derzeit nutzen wir jedoch bestimmte von Dritten lizenzierte Komponenten sowie Komponenten aus anderen VMware-Produkten, die nur in binärer Form verfügbar sind.
Nein, da Ihr Projekt/Produkt kein VMware-Projekt/Produkt ist.
open-vm-tools verwendet das GNU Automake-Tool zum Generieren von Makefiles zum Erstellen aller Quellen. Weitere Informationen zu Automake finden Sie hier: http://www.gnu.org/software/automake/
Die folgenden Schritte funktionieren auf den neuesten Linux-Distributionen:
autoreconf -i ./configure make sudo make install sudo ldconfig
Um das optionale sdmp-Plugin (Service Discovery) zu erstellen, verwenden Sie die Option --enable-servicediscovery
um das Konfigurationsskript aufzurufen:
./configure --enable-servicediscovery
Salt Minion-Setup
Komponentenmanager-Plugin
ContainerInfo-Plugin (optional)
Die Salt-Unterstützung unter Linux besteht aus einem einzigen Bash-Skript zum Einrichten von Salt Minion auf virtuellen VMware-Maschinen. Das Skript erfordert, dass die Befehle „curl“ und „awk“ auf dem System verfügbar sind.
Linux-Anbietern, die open-vm-tools-Pakete bereitstellen, wird empfohlen, Salt Minion-Unterstützung in einem separaten optionalen Paket bereitzustellen – „open-vm-tools-salt-minion“.
Um das Salt Minion-Setup in den open-vm-tools-Build einzubinden, verwenden Sie beim Aufrufen des Konfigurationsskripts die Option --enable-salt-minion
.
./configure --enable-salt-minion
Der Komponentenmanager verwaltet einen vorkonfigurierten Satz von Komponenten, die von VMware verfügbar sind und auf dem Linux-Gast verfügbar gemacht werden können. Derzeit ist die einzige Komponente, die verwaltet werden kann, das Salt Minion Setup.
Das optionale ContainerInfo-Plugin ruft eine Liste der Container ab, die auf einem Linux-Gast ausgeführt werden, und veröffentlicht die Liste im JSON-Format in der Gastvariablen „ guestinfo.vmtools.containerinfo “. Das ContainerInfo-Plugin kommuniziert über gRPC mit dem Containerd-Daemon, um die gewünschten Informationen abzurufen. Für Container, die von Docker verwaltet werden, verwendet das Plugin libcurl, um mit dem Docker-Daemon zu kommunizieren und die Namen der Container abzurufen.
Da dieses Plugin zusätzliche Build- und Laufzeitabhängigkeiten erfordert, wird Linux-Anbietern empfohlen, es in einem separaten, optionalen Paket zu veröffentlichen – „open-vm-tools-containerinfo“. Dadurch werden unnötige Abhängigkeiten für Kunden vermieden, die die Funktion nicht nutzen.
Erstellen Sie Abhängigkeiten | Laufzeit |
---|---|
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 |
Erstellen Sie Abhängigkeiten | Laufzeit |
---|---|
libcurl-devel | curl |
protobuf-compiler | protobuf |
protobuf-devel | grpc-cpp |
grpc-plugins | |
grpc-devel | |
containerd-devel |
Das Konfigurationsskript erstellt standardmäßig die ContainerInfo, wenn alle erforderlichen Abhängigkeiten verfügbar sind. ContainerInfo wird nicht erstellt, wenn Abhängigkeiten fehlen. Rufen Sie das Konfigurationsskript mit --enable-containerinfo=no
auf, um die Erstellung des Plugins explizit zu verhindern.
./configure --enable-containerinfo=no
Wenn dem Konfigurationsskript die Option --enable-containerinfo=yes
zugewiesen wird und eine erforderliche Abhängigkeit nicht verfügbar ist, wird das Konfigurationsskript mit einem Fehler beendet.
./configure --enable-containerinfo=yes
Wenn Sie Hilfe oder zusätzliche Einstellungen für die Erstellung dieses Projekts suchen, zeigt der folgende Konfigurationsbefehl eine Liste mit Hilfeoptionen an:
./configure --help
Wenn Sie configure in den obigen Schritten verwenden, ist es nur notwendig, ./configure einmal aufzurufen, es sei denn, nach dem ersten Aufruf ist ein Problem aufgetreten.
Sie können sich heute auf verschiedene Arten engagieren:
Beginnen Sie noch heute mit der Nutzung von open-vm-tools und geben Sie uns Feedback.
Schlagen Sie Funktionserweiterungen vor.
Identifizieren und melden Sie Fehler im Abschnitt „Probleme“: https://github.com/vmware/open-vm-tools/issues
Beginnen Sie mit der Portierung des Codes auf andere Betriebssysteme. Hier ist die Liste der Betriebssysteme mit open-vm-tools:
Red Hat Enterprise Linux 7.0 und spätere Versionen
SUSE Linux Enterprise 12 und spätere Versionen
Ubuntu 14.04 und spätere Versionen
CentOS 7 und spätere Versionen
Debian 7.x und spätere Versionen
Oracle Linux 7 und höher
Fedora 19 und spätere Versionen
openSUSE 11.x und spätere Versionen
Flatcar Container Linux, alle Versionen
Rocky 8 und spätere Versionen
AlmaLinux OS 8 und spätere Versionen
Ja. Zunächst werden VMware-Ingenieure die einzigen Committer sein. Während wir unsere Entwicklungsinfrastruktur einführen, werden wir versuchen, dem Projekt auch externe Committer hinzuzufügen.
Zunächst können Sie Fehlerbehebungen, Patches und neue Funktionen als Anhänge zu E-Mails oder Fehlerberichten an die Mailingliste für Projektentwicklung senden. Um Quellcode beizutragen, müssen Sie im Rahmen des Einreichungsprozesses ein Beitragsvereinbarungsformular ausfüllen. Wir werden in Kürze weitere Details zu diesem Prozess bekannt geben.
Die Feature-Roadmap und Zeitpläne für das Open-VM-Tools-Projekt werden weiterhin von VMware definiert. Zunächst werden VMware-Ingenieure die einzigen zugelassenen Committer sein. Wir prüfen eingehende Einreichungen auf ihre Eignung für die Einbindung in das Projekt. Wir werden versuchen, Community-Committee auf der Grundlage ihrer nachgewiesenen Beiträge zum Projekt zum Projekt hinzuzufügen. Schließlich planen wir auch die Einrichtung eines Prozesses für Verbesserungsvorschläge, die Einrichtung von Teilprojekten usw.
Beiträge, die in den Hauptquellenbaum des Open-VM-Tools-Projekts aufgenommen werden, werden wahrscheinlich Teil von VMware Tools sein. Wir erkennen auch den Wert der Namensnennung an und schätzen Ihre Beiträge. Daher würdigen wir Beiträge der Community, die mit den Produkten von VMware verbreitet werden.
Ja. Wir haben eine Standard-Beitragsvereinbarung, die alle Beiträge zum Projekt abdeckt. Dadurch erhalten VMware und Sie gemeinsame Urheberrechtsrechte an dem Code, den Sie beisteuern. Die Vereinbarung gibt VMware außerdem Flexibilität bei der Lizenzierung und trägt dazu bei, künftig möglicherweise auftretende Urheberrechts-/Lizenzprobleme zu vermeiden. Damit wir Ihren Beitrag in unseren Quellbaum aufnehmen können, bitten wir Sie, uns eine unterzeichnete Kopie der Vereinbarung zuzusenden. Sie können dies auf zwei Arten tun: Faxen Sie an +1.650.427.5003, z. Hd.: Product & Technology Law Group. Scannen Sie es und senden Sie es per E-Mail an oss-queries_at_vmware.com. Vereinbarung: http://open-vm-tools.sourceforge.net/ files/vca.pdf
Die Open-VM-Tools-Quelle enthält eine Tabelle, die den Namen der Gastdistribution dem offiziell anerkannten Kurznamen zuordnet. Bitte senden Sie keine Pull-Anfragen, die diese Tabelle und den zugehörigen Code ändern. Alle Änderungen hier müssen mit zusätzlichen Änderungen im VMware-Host einhergehen. Werte, die vom VMware-Host nicht erkannt werden, werden ignoriert.
Verwenden Sie die entsprechende generische Linux-Bezeichnung, wenn Sie eine VM für Ihre Linux-Version konfigurieren. Die verfügbare Auswahl variiert je nach verwendeter virtueller Hardwareversion.
Anderes 5.x oder höher Linux (64-Bit)
Anderes 5.x oder höher Linux (32-Bit)
Anderes 4.x Linux (64-Bit)
Anderes 4.x Linux (32-Bit)
Andere 3.x Linux (64-Bit)
Andere 3.x Linux (32-Bit)
Anderes Linux (64-Bit)
Anderes Linux (32-Bit)
Die Unterstützungsmatrix für die Gastbetriebssystem-Anpassung bietet Details zu den Gastbetriebssystemen, die für die Anpassung unterstützt werden.
Die VMware Product Interoperability Matrix bietet Details zur Kompatibilität verschiedener Versionen von VMware Tools (einschließlich open-vm-tools) und anderen VMware-Produkten.
open-vm-tools unterstützt die folgenden Sprachen:
Englisch
Französisch
Deutsch
Spanisch
Italienisch
japanisch
Koreanisch
Vereinfachtes Chinesisch
Traditionelles Chinesisch
Bitte senden Sie je nach Art Ihrer Frage eine E-Mail an eine dieser Mailinglisten.
Fragen zur Entwicklung: [email protected]
Sonstige Fragen: [email protected]
Allgemeine Projektankündigungen: [email protected]