open-vm-tools est un ensemble de services et de modules qui activent plusieurs fonctionnalités des produits VMware pour une meilleure gestion et des interactions utilisateur transparentes avec les invités. Il comprend des modules de noyau pour améliorer les performances des machines virtuelles exécutant Linux ou d'autres systèmes d'exploitation Unix pris en charge par VMware, comme les systèmes d'exploitation invités.
open-vm-tools active les fonctionnalités suivantes dans les produits VMware :
Exécution gracieuse des opérations d'alimentation (redémarrage et arrêt) dans l'invité.
Exécution de scripts intégrés ou configurés par l'utilisateur dans l'invité lors de diverses opérations d'alimentation.
Exécution de programmes, de commandes et d'opérations du système de fichiers dans l'invité pour améliorer l'automatisation de l'invité.
Authentification pour les opérations invité.
Génération de battements de cœur de l'invité à l'hôte pour la solution vSphere HA afin de déterminer la disponibilité de l'invité.
Synchronisation de l'horloge entre l'invité et l'hôte.
Mettre au repos les systèmes de fichiers invités pour permettre à l’hôte de capturer un instantané invité cohérent avec le système de fichiers.
Exécution de scripts de pré-gel et de post-dégel tout en mettant au repos les systèmes de fichiers invités.
Personnalisation de l'invité immédiatement après la mise sous tension.
Collecte périodique d'informations sur l'utilisation du réseau, du disque et de la mémoire auprès de l'invité.
Redimensionner l'écran du bureau graphique de l'invité.
Opérations de dossiers partagés entre les systèmes de fichiers hôte et invité sur VMware Workstation et VMware Fusion.
Copier et coller du texte, des graphiques et des fichiers entre les bureaux invité et hôte ou client.
Glisser et déposer des fichiers entre l'interface utilisateur de l'invité et de l'hôte.
Collection périodique des applications, services et conteneurs en cours d’exécution dans l’invité.
Accéder au contenu de GuestStore.
Publication de données sur Guest Data Publisher.
Gestion de l'état souhaité de Salt-Minion spécifié dans une variable invité.
Les composants suivants ont été publiés en tant que logiciels open source :
Pilotes Linux, Solaris et FreeBSD pour divers périphériques et accès au système de fichiers.
Le plugin PowerOps pour effectuer des opérations d'alimentation gracieuses et exécuter des scripts d'alimentation.
Le plugin VIX pour exécuter des programmes et des commandes, et effectuer des opérations sur le système de fichiers en mode invité.
Le plugin GuestInfo pour collecter périodiquement diverses statistiques des invités.
Le plugin TimeSync pour effectuer la synchronisation de l'heure.
Le plugin dndcp pour prendre en charge les opérations de glisser-déposer et de copier/coller de texte et de fichiers.
Le plugin ResolutionSet pour ajuster automatiquement les résolutions de l'écran des invités en fonction de la taille des fenêtres.
Le plugin vmbackup pour prendre en charge l'opération d'instantané mis au repos.
Le plugin GuestStore pour prendre en charge le fonctionnement de GuestStore.
Le plugin gdp pour prendre en charge l'opération de publication de données invité.
Le plugin AppInfo pour collecter périodiquement des informations sur les applications.
Le plugin ServiceDiscovery pour collecter périodiquement des informations sur le service.
Le plugin ContainerInfo pour collecter périodiquement des informations sur les conteneurs.
Le plugin ComponentMgr pour gérer les opérations d'état souhaitées.
Le service d'authentification des invités.
La commande de la boîte à outils pour effectuer l'effacement et la réduction du disque, gérer les scripts d'alimentation et la synchronisation de l'heure.
Les bibliothèques du SDK invité pour fournir des informations sur la machine virtuelle à l'invité.
Client et serveur pour la prise en charge des dossiers partagés.
Prise en charge de plusieurs moniteurs.
Autres utilitaires.
Oui. Les packages open-vm-tools pour les composants de l'espace utilisateur sont disponibles avec les nouvelles versions des principales distributions Linux et sont installés dans le cadre de l'installation du système d'exploitation dans plusieurs cas. Veuillez vous référer à l'article de la base de connaissances VMware http://kb.vmware.com/kb/2073803 pour plus de détails. Tous les principaux fournisseurs Linux prennent en charge les outils open-vm et les regroupent avec leurs produits. Pour plus d'informations sur la compatibilité du système d'exploitation pour open-vm-tools, consultez le Guide de compatibilité VMware à l'adresse http://www.vmware.com/resources/compatibility L'installation automatique d'open-vm-tools avec l'installation du système d'exploitation élimine le besoin d'installer séparément open-vm-tools dans les invités. Si open-vm-tools n'est pas installé automatiquement, vous pourrez peut-être l'installer manuellement à partir du référentiel public du fournisseur du système d'exploitation invité. L'installation d'open-vm-tools à partir du référentiel du fournisseur Linux réduit les temps d'arrêt des machines virtuelles, car les futures mises à jour d'open-vm-tools sont incluses avec les correctifs et mises à jour de maintenance du système d'exploitation. REMARQUE : La plupart des distributions Linux fournissent au moins deux packages open-vm-tools. "open-vm-tools" est le package principal sans aucune dépendance sur les bibliothèques X et "open-vm-tools-desktop" est un package supplémentaire avec des dépendances sur le package principal "open-vm-tools" et les bibliothèques X. Le package "open-vm-tools-sdmp" contient un plugin pour Service Discovery. Il peut y avoir des packages supplémentaires, veuillez vous référer à la documentation du fournisseur du système d'exploitation. Notez que les packages open-vm-tools disponibles avec les distributions Linux n'incluent pas de pilotes Linux car les pilotes Linux sont disponibles dans le cadre du noyau Linux lui-même. Les versions 3.10 et ultérieures du noyau Linux incluent tous les pilotes Linux présents dans open-vm-tools, à l'exception du pilote vmhgfs. Le pilote vmhgfs était requis pour activer la fonctionnalité de dossiers partagés, mais est remplacé par vmhgfs-fuse qui ne nécessite pas de pilote de noyau.
VMware Tools continuera d'être disponible sous une licence commerciale. Il est recommandé d'utiliser open-vm-tools pour les distributions Linux où open-vm-tools est disponible. VMware ne fournira pas d'OSP pour les systèmes d'exploitation sur lesquels open-vm-tools est disponible.
Selon les termes de la GPL, les membres de la communauté open source peuvent utiliser le code open-vm-tools pour développer leurs propres applications, les étendre et contribuer à la communauté. Ils peuvent également intégrer tout ou partie du code dans leurs projets, à condition de respecter les termes de la GPL.
Le code est publié sous licences compatibles GPL v2 et GPL v2. Pour être plus précis, les modules du noyau Linux sont publiés sous GPL v2, tandis que presque tous les composants de niveau utilisateur sont publiés sous LGPL v2.1. Les pilotes SVGA et de souris sont disponibles sous licence X11 depuis un certain temps. Il existe certains composants tiers publiés sous des licences de style BSD, auxquels VMware a dans certains cas contribué et continueront à être distribués avec open-vm-tools.
Nous avons choisi la GPL v2 pour les composants du noyau afin d'être cohérents avec la licence du noyau Linux. Nous avons choisi la LGPL v2.1 pour les composants de niveau utilisateur car une partie du code est implémentée en tant que bibliothèques partagées et nous ne souhaitons pas empêcher le code propriétaire d'être lié à ces bibliothèques. Par souci de cohérence, nous avons décidé de concéder également sous licence le reste du code de niveau utilisateur sous LGPL v2.1.
Chacune de ces licences a des obligations différentes. Pour les questions sur les licences GPL, LGPL, la page FAQ GPL de la Free Software Foundation fournit de nombreuses informations utiles. Pour les questions sur les autres licences comme les licences X11, BSD, l'Open Source Initiative dispose de nombreuses ressources utiles, notamment des listes de diffusion. Le Software Freedom Law Center fournit une expertise et des conseils juridiques aux développeurs de logiciels libres et open source (FOSS).
Différentes licences open source ont des exigences différentes concernant la publication du code source. Étant donné que le code est publié sous diverses licences open source, vous devrez vous conformer aux termes des licences correspondantes.
Non, vous n'êtes pas obligé d'apporter les modifications que vous apportez au projet open-vm-tools. Cependant, nous vous encourageons à le faire.
Oui, à condition de respecter la ou les licences appropriées.
Oui! S'il vous plaît, faites-le.
Notre objectif est de travailler à rendre la version open source aussi proche que possible de la version commerciale. Cependant, nous utilisons actuellement certains composants sous licence de tiers ainsi que des composants d'autres produits VMware qui ne sont disponibles que sous forme binaire.
Non, puisque votre projet/produit n'est pas un projet/produit VMware.
open-vm-tools utilise l'outil GNU Automake pour générer des Makefiles afin de créer toutes les sources. Plus d'informations sur Automake peuvent être trouvées ici : http://www.gnu.org/software/automake/
Les étapes suivantes fonctionneront sur les distributions Linux les plus récentes :
autoreconf -i ./configure make sudo make install sudo ldconfig
Pour créer le plugin sdmp (Service Discovery) facultatif, utilisez l'option --enable-servicediscovery
pour appeler le script de configuration :
./configure --enable-servicediscovery
Configuration des Minions de sel
Plugin du gestionnaire de composants
Plugin ContainerInfo (facultatif)
La prise en charge de Salt sous Linux consiste en un seul script bash pour configurer Salt Minion sur les machines virtuelles VMware. Le script nécessite que les commandes "curl" et "awk" soient disponibles sur le système.
Il est recommandé aux fournisseurs Linux fournissant des packages open-vm-tools de fournir la prise en charge de Salt Minion dans un package facultatif distinct : "open-vm-tools-salt-minion".
Pour inclure la configuration de Salt Minion dans la version open-vm-tools, utilisez l'option --enable-salt-minion
lors de l'appel du script de configuration.
./configure --enable-salt-minion
Le gestionnaire de composants gère un ensemble préconfiguré de composants disponibles à partir de VMware qui peuvent être mis à disposition sur l'invité Linux. Actuellement, le seul composant pouvant être géré est la configuration de Salt Minion.
Le plugin facultatif containersInfo récupère une liste des conteneurs exécutés sur un invité Linux et publie la liste dans la variable invité « guestinfo.vmtools.containerinfo » au format JSON. Le plugin containersInfo communique avec le démon containersd à l'aide de gRPC pour récupérer les informations souhaitées. Pour les conteneurs gérés par Docker, le plugin utilise libcurl pour communiquer avec le démon Docker et obtenir les noms des conteneurs.
Étant donné que ce plugin nécessite des dépendances de construction et d'exécution supplémentaires, il est recommandé aux fournisseurs Linux de le publier dans un package facultatif distinct - "open-vm-tools-containerinfo". Cela évite les dépendances inutiles pour les clients n'utilisant pas la fonctionnalité.
Construire des dépendances | Durée d'exécution |
---|---|
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 |
Construire des dépendances | Durée d'exécution |
---|---|
libcurl-devel | curl |
protobuf-compiler | protobuf |
protobuf-devel | grpc-cpp |
grpc-plugins | |
grpc-devel | |
containerd-devel |
Le script de configuration génère par défaut ContainerInfo lorsque toutes les dépendances nécessaires sont disponibles. ContainerInfo ne sera pas construit s'il manque des dépendances. Invoquez le script de configuration avec --enable-containerinfo=no
pour empêcher explicitement la création du plugin.
./configure --enable-containerinfo=no
Si le script de configuration reçoit l'option --enable-containerinfo=yes
et qu'aucune dépendance nécessaire n'est disponible, le script de configuration se terminera avec une erreur.
./configure --enable-containerinfo=yes
Si vous recherchez de l'aide ou des paramètres supplémentaires pour la construction de ce projet, la commande configure suivante affichera une liste d'options d'aide :
./configure --help
Lorsque vous utilisez configure dans les étapes ci-dessus, il n'est nécessaire d'appeler ./configure qu'une seule fois, sauf en cas de problème après le premier appel.
Vous pouvez vous impliquer aujourd’hui de plusieurs manières différentes :
Commencez à utiliser open-vm-tools dès aujourd'hui et faites-nous part de vos commentaires.
Suggérer des améliorations de fonctionnalités.
Identifiez et soumettez les bogues dans la section Problèmes : https://github.com/vmware/open-vm-tools/issues
Commencez à porter le code sur d’autres systèmes d’exploitation. Voici la liste des systèmes d'exploitation avec open-vm-tools :
Red Hat Enterprise Linux 7.0 et versions ultérieures
SUSE Linux Enterprise 12 et versions ultérieures
Ubuntu 14.04 et versions ultérieures
CentOS 7 et versions ultérieures
Debian 7.x et versions ultérieures
Oracle Linux 7 et versions ultérieures
Fedora 19 et versions ultérieures
openSUSE 11.x et versions ultérieures
Flatcar Container Linux, toutes les versions
Rocky 8 et versions ultérieures
AlmaLinux OS 8 et versions ultérieures
Oui. Dans un premier temps, les ingénieurs VMware seront les seuls à s'engager. Au fur et à mesure que nous déployons notre infrastructure de développement, nous chercherons également à ajouter des contributeurs externes au projet.
Dans un premier temps, vous pouvez soumettre des corrections de bogues, des correctifs et de nouvelles fonctionnalités à la liste de diffusion de développement de projet sous forme de pièces jointes à des e-mails ou à des rapports de bogues. Pour contribuer au code source, vous devrez remplir un formulaire d'accord de contribution dans le cadre du processus de soumission. Nous aurons prochainement plus de détails sur ce processus.
La feuille de route des fonctionnalités et les calendriers du projet open-vm-tools continueront d'être définis par VMware. Dans un premier temps, les ingénieurs VMware seront les seuls committers approuvés. Nous examinerons les soumissions reçues pour déterminer si elles peuvent être fusionnées dans le projet. Nous chercherons à ajouter des acteurs communautaires au projet en fonction de leurs contributions démontrées au projet. Enfin, nous prévoyons également de mettre en place un processus de propositions d'amélioration, d'établissement de sous-projets, etc.
Les contributions acceptées dans l'arborescence source principale du projet open-vm-tools feront probablement partie de VMware Tools. Nous reconnaissons également la valeur de l’attribution et valorisons vos contributions. Par conséquent, nous reconnaîtrons les contributions de la communauté distribuées avec les produits VMware.
Oui. Nous avons un accord de contribution standard qui couvre toutes les contributions apportées au projet. Il confère à VMware et à vous des droits d'auteur communs sur le code auquel vous contribuez. L'accord donne également à VMware une flexibilité en matière de licences et permet également d'éviter tout problème lié aux droits d'auteur/licence qui pourrait survenir à l'avenir. Afin que nous puissions inclure votre contribution dans notre arbre source, nous vous demandons de nous envoyer une copie signée de l'accord. Vous pouvez le faire de deux manières : Faxez-le au +1.650.427.5003, à l'attention de : Product & Technology Law Group Numérisez-le et envoyez-le par courrier électronique à oss-queries_at_vmware.com Accord : http://open-vm-tools.sourceforge.net/ fichiers/vca.pdf
La source open-vm-tools contient un tableau mappant le nom de la distribution invitée au nom court officiellement reconnu. Veuillez ne pas soumettre de demandes d'extraction modifiant cette table et le code associé. Toute modification ici doit être accompagnée de modifications supplémentaires dans l'hôte VMware. Les valeurs qui ne sont pas reconnues par l'hôte VMware seront ignorées.
Utilisez la désignation Linux générique appropriée lors de la configuration d'une machine virtuelle pour votre version Linux. La sélection disponible varie selon la version du matériel virtuel utilisée.
Autre Linux 5.x ou version ultérieure (64 bits)
Autre Linux 5.x ou version ultérieure (32 bits)
Autre Linux 4.x (64 bits)
Autre Linux 4.x (32 bits)
Autre Linux 3.x (64 bits)
Autre Linux 3.x (32 bits)
Autre Linux (64 bits)
Autre Linux (32 bits)
La matrice de prise en charge de la personnalisation du système d'exploitation invité fournit des détails sur les systèmes d'exploitation invités pris en charge pour la personnalisation.
La matrice d'interopérabilité des produits VMware fournit des détails sur la compatibilité des différentes versions de VMware Tools (y compris open-vm-tools) et d'autres produits VMware.
open-vm-tools prend en charge les langages suivants :
Anglais
Français
Allemand
Espagnol
italien
japonais
coréen
Chinois simplifié
Chinois traditionnel
Veuillez envoyer un e-mail à l'une de ces listes de diffusion en fonction de la nature de votre question.
Questions liées au développement : [email protected]
Questions diverses : [email protected]
Annonces générales du projet : [email protected]