open-vm-tools 是一組服務和模組,可啟用 VMware 產品中的多項功能,以便更好地管理來賓以及與來賓的無縫用戶互動。它包含用於增強運行 Linux 或其他 VMware 支援的 Unix 類別客戶作業系統的虛擬機器效能的核心模組。
open-vm-tools 在 VMware 產品中啟用下列功能:
在來賓中正常執行電源操作(重新啟動和關閉)。
在各種電源操作期間,在來賓中執行內建或使用者配置的腳本。
在來賓中執行程式、命令和檔案系統操作以增強來賓自動化。
訪客操作的身份驗證。
為 vSphere HA 解決方案產生從來賓到主機的偵測訊號,以確定來賓的可用性。
訪客和主機之間的時鐘同步。
靜默來賓檔案系統以允許主機擷取檔案系統一致的來賓快照。
在靜默來賓檔案系統時執行預凍結和解凍後腳本。
開機後立即客製化。
定期從來賓收集網路、磁碟和記憶體使用資訊。
調整訪客圖形桌面螢幕的大小。
VMware Workstation 和 VMware Fusion 上的主機和來賓檔案系統之間的共用資料夾操作。
在來賓和主機或用戶端桌面之間複製和貼上文字、圖形和檔案。
在來賓和主機 UI 之間拖放檔案。
定期收集來賓中正在運行的應用程式、服務和容器。
從 GuestStore 存取內容。
將資料發佈到 Guest Data Publisher。
管理來賓變數中指定的 Salt-Minion 所需狀態。
以下元件已作為開源軟體發布:
用於各種裝置和檔案系統存取的 Linux、Solaris 和 FreeBSD 驅動程式。
PowerOps 外掛程式用於執行優雅的電源操作並執行電源腳本。
VIX 外掛程式用於在來賓中執行程式和命令以及執行檔案系統操作。
GuestInfo 外掛程式會定期收集訪客的各種統計資料。
TimeSync 外掛程式用於執行時間同步。
dndcp 外掛程式支援拖放以及文字和檔案複製/貼上操作。
ResolutionSet 外掛程式可根據視窗大小自動調整訪客螢幕解析度。
vmbackup 外掛程式支援靜默快照操作。
GuestStore插件支援GuestStore操作。
gdp插件支援訪客資料發布操作。
AppInfo插件會定期收集應用程式資訊。
ServiceDiscovery外掛程式定期收集服務資訊。
ContainerInfo 外掛程式會定期收集容器資訊。
用於處理所需狀態操作的 ComponentMgr 插件。
訪客身份驗證服務。
用於執行磁碟擦除和收縮、管理電源腳本和時間同步的工具箱命令。
來賓 SDK 庫向來賓提供有關虛擬機器的資訊。
共享資料夾支援的客戶端和伺服器。
多顯示器支援。
其他公用事業。
是的。主要 Linux 發行版的新版本提供了用於用戶空間元件的 open-vm-tools 軟體包,並且在某些情況下作為作業系統安裝的一部分進行安裝。有關詳細信息,請參閱 VMware 知識庫文章 http://kb.vmware.com/kb/2073803。所有領先的 Linux 供應商都支援 open-vm-tools 並將其與他們的產品捆綁在一起。有關open-vm-tools 作業系統相容性的信息,請參閱《VMware 相容性指南》,網址為http://www.vmware.com/resources/compatibility open-vm-tools 與作業系統一起自動安裝,無需單獨安裝在來賓中開啟虛擬機器工具。如果 open-vm-tools 未自動安裝,您可以從來賓作業系統供應商的公共儲存庫手動安裝它。從 Linux 供應商的儲存庫安裝 open-vm-tools 可以減少虛擬機器停機時間,因為未來對 open-vm-tools 的更新包含在作業系統維護修補程式和更新中。注意:大多數 Linux 發行版都附帶兩個或更多 open-vm-tools 軟體套件。 「open-vm-tools」是不依賴 X 函式庫的核心包,「open-vm-tools-desktop」是依賴於「open-vm-tools」核心包和 X 函式庫的附加套件。 “open-vm-tools-sdmp”套件包含一個用於服務發現的外掛程式。可能還有其他軟體包,請參閱作業系統供應商的文件。請注意,Linux 發行版提供的 open-vm-tools 軟體包不包含 Linux 驅動程序,因為 Linux 驅動程式是作為 Linux 核心本身的一部分提供。 Linux 核心版本 3.10 及更高版本包含 open-vm-tools 中除 vmhgfs 驅動程式之外的所有 Linux 驅動程式。啟用共用資料夾功能需要 vmhgfs 驅動程序,但已被不需要核心驅動程式的 vmhgfs-fuse 取代。
VMware Tools 將繼續以商業許可提供。建議在支援 open-vm-tools 的 Linux 發行版中使用 open-vm-tools。 VMware 不會為支援 open-vm-tools 的作業系統提供 OSP。
根據 GPL 條款,開源社群成員可以使用 open-vm-tools 程式碼來開發自己的應用程式、擴展它並為社群做出貢獻。他們還可以將部分或全部程式碼合併到他們的專案中,前提是他們遵守 GPL 的條款。
該程式碼是在 GPL v2 和 GPL v2 相容授權下發布的。更具體地說,Linux 核心模組是在 GPL v2 下發布的,而幾乎所有用戶級元件都是在 LGPL v2.1 下發布的。 SVGA 和滑鼠驅動程式已經在 X11 許可證下可用一段時間了。有些第三方元件是根據 BSD 樣式授權發布的,VMware 在某些情況下對此做出了貢獻,並將繼續與 open-vm-tools 一起分發。
我們為核心元件選擇了GPL v2,以與Linux核心的授權保持一致。我們為用戶級元件選擇 LGPL v2.1,因為某些程式碼是作為共享庫實現的,並且我們不希望限制專有程式碼與這些庫的連結。為了保持一致性,我們決定也根據 LGPL v2.1 授權其餘的使用者級代碼。
每個許可證都有不同的義務。對於 GPL、LGPL 授權的問題,自由軟體基金會的 GPL FAQ 頁面提供了大量有用的信息。對於有關 X11、BSD 許可證等其他許可證的問題,開源促進會提供了大量有用的資源,包括郵件清單。軟體自由法律中心為自由和開源軟體 (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(服務發現)插件,請使用--enable-servicediscovery
選項呼叫設定腳本:
./configure --enable-servicediscovery
Salt Minion 設置
元件管理器插件
ContainerInfo 外掛程式(可選)
Linux 上的 Salt 支援包含一個用於在 VMware 虛擬機器上設定 Salt Minion 的 bash 腳本。 該腳本要求“curl”和“awk”命令在系統上可用。
建議提供 open-vm-tools 軟體包的 Linux 提供者在單獨的可選軟體包「open-vm-tools-salt-minion」中提供 Salt Minion 支援。
要在 open-vm-tools 建置中包含 Salt Minion 設置,請在呼叫配置腳本時使用--enable-salt-minion
選項。
./configure --enable-salt-minion
元件管理器管理 VMware 提供的一組預先配置元件,這些元件可在 Linux 用戶端上使用。 目前唯一可以管理的元件是 Salt Minion 設定。
可選的containerInfo插件會檢索在Linux guest虛擬機器上執行的容器列表,並將該列表以JSON格式發佈到guest變數「 guestinfo.vmtools.containerinfo 」。 containerInfo 外掛程式使用 gRPC 與 containerd 守護程序通訊以檢索所需的資訊。 對於 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 --help
在上述步驟中使用 configure 時,只需呼叫 ./configure 一次,除非第一次呼叫後出現問題。
今天您可以透過多種不同的方式參與其中:
立即開始使用 open-vm-tools 並向我們提供回饋。
建議功能增強。
在問題部分識別並提交錯誤:https://github.com/vmware/open-vm-tools/issues
開始將程式碼移植到其他作業系統。 以下是帶有 open-vm-tools 的作業系統清單:
紅帽企業 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,收件者:Product & Technology Law Group 掃描並透過電子郵件傳送至 oss-queries_at_vmware.com 協定:http://open-vm -tools.sourceforge.net/檔案/vca.pdf
open-vm-tools 來源包含一個將來賓發行版名稱對應到官方認可的短名稱的表。請不要提交更改此表和關聯代碼的拉取請求。此處的任何變更都必須伴隨 VMware 主機中的其他變更。 VMware 主機無法辨識的值將被忽略。
為您的 Linux 版本配置 VM 時,請使用適當的通用 Linux 名稱。 可用的選擇將根據所使用的虛擬硬體版本而有所不同。
其他 5.x 或更高版本的 Linux(64 位元)
其他 5.x 或更高版本的 Linux(32 位元)
其他 4.x Linux(64 位元)
其他 4.x Linux(32 位元)
其他 3.x Linux(64 位元)
其他 3.x Linux(32 位元)
其他 Linux(64 位元)
其他 Linux(32 位元)
來賓作業系統自訂支援表提供了支援自訂的來賓作業系統的詳細資訊。
VMware 產品互通性清單提供了不同版本的 VMware Tools(包括 open-vm-tools)和其他 VMware 產品的兼容性的詳細資訊。
open-vm-tools 支援以下語言:
英語
法語
德文
西班牙語
義大利語
日本人
韓國人
簡體中文
繁體中文
請根據您問題的性質向這些郵件清單之一發送電子郵件。
開發相關問題:[email protected]
其他問題:[email protected]
一般專案公告:[email protected]