桌面云虚拟机Ubuntu离线安装open-vm-tools

桌面云虚拟机Ubuntu离线安装open-vm-tools

  • 背景
  • 解决思路
  • 安装步骤
    • 1. 下载open-vm-tools及其依赖软件包
    • 2. 软件包转ISO文件
    • 3. 安装open-vm-tools

背景

公司办公在桌面云中进行开发,桌面云是无法访问外网的,然后又有安装虚拟机的需求,使用VMware自带的VMware-tools安装功能失败,报错也需要联网才能解决,如果不安装VMware-tools,则虚拟机无法使用共享文件夹功能以及与本机共享剪贴板功能,非常难受,故自己研究解决如何离线安装open-vm-tools(open-vm-tools 是 VMware Tools 的开源实施)

解决思路

在无法访问外网的情况下,没有安装open-vm-tools就无法访问本机文件,但无法访问本机文件Ubuntu就无法离线安装open-vm-tools,这似乎陷入了僵局。

由于VMware是通过ISO映像文件安装Ubuntu虚拟机的,在安装完成后,Ubuntu也可访问到ISO文件,故只要将open-vm-tools软件包转成ISO文件,即可暂时实现本机与虚拟机的文件交互。

安装步骤

1. 下载open-vm-tools及其依赖软件包

下载地址:阿里开源镜像站

本人安装的Ubuntu版本为64位的22.04.3,下载对应版本open-vm-tools和open-vm-tools-desktop的deb软件包,后续安装时发现还有依赖包没有安装,大家可根据自己安装报错来下载对应依赖软件包。

我下载的软件包版本为:

  • open-vm-tools_12.1.5-3~ubuntu0.22.04.4_amd64.deb
  • open-vm-tools-desktop_12.1.5-3~ubuntu0.22.04.4_amd64.deb

依赖包版本为:

  • libmspack0_0.10.1-2_amd64.deb
  • libxmlsec1-openssl_1.2.33-1build2_amd64.deb

2. 软件包转ISO文件

将所有软件包放进一个文件夹中,用文件夹转ISO文件工具(工具下载链接)生成ISO文件。

如下图,点击对应虚拟机,点击编辑虚拟机设置,点击CD/DVD(SATA),在右侧选中使用ISO映像文件(M),点击浏览选中刚生成的ISO文件。(已转好的ISO文件下载链接)
在这里插入图片描述

3. 安装open-vm-tools

打开Ubuntu,可以在文件中看到生成的ISO文件,点开,将四个软件包复制粘贴至桌面
在这里插入图片描述
从桌面打开终端,依次输入以下四个安装命令:

sudo dpkg -i libmspack0_0.10.1-2_amd64.deb
sudo dpkg -i libxmlsec1-openssl_1.2.33-1build2_amd64.deb
sudo dpkg -i open-vm-tools_12.1.5-3~ubuntu0.22.04.4_amd64.deb
sudo dpkg -i open-vm-tools-desktop_12.1.5-3~ubuntu0.22.04.4_amd64.deb

刚安装完成后,虚拟机是可以跟本机进行文件夹交互的,但是剪贴板并不能共用,重启一下虚拟机就可以了。

关于设置虚拟机与本机共享文件夹可参考这篇博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/319526.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Springboot中使用Filter过滤器

1、概述 springboot工程中使用Filter过滤器与其他地方使用基本相同,只是注入的方式不同。 2、创建Filter过滤器 实现Filter接口,重写doFilter方法 filterChain.doFilter(servletRequest,servletResponse);表示放行 public class MyFilter implement…

基于TCP的全双工网络编程实践

首先我们先了解一下什么是全双工通信? 全双工数据通信允许数据同时在两个方向上传输,因此,全双工通信相当于是两个单工通信方式的结合,它要求发送设备和接收设备都有独立的接收和发送能力。 TCP服务端代码: #includ…

STM32 定时器输入捕获2——捕获高电平时长

由上图我们可以知道,高电平时间t2-t1。在代码中,可以记录此时t1的时间然后再记录t2的时间,t2-t1,就是我们所想要的答案。 但是,还有更简单一点点的,当到达t1的时候,我们把定时器清零&#xff0c…

【前后端的那些事】解放后端!10min快速上手人人代码生成器(后端篇)

人人代码生成器【后端篇】 文章目录 人人代码生成器【后端篇】1. 克隆renren-generator2. 配置项目信息3. 配置数据库信息4. 启动项目5. 创建springboot项目5.1 pom.xml5.2 创建包结构5.3 编写application.yml5.4 将生成代码集成到项目中5.5 集成common模块5.6 启动项目 前言&a…

一键批量整理:将相同名称的文件归类至指定文件夹

随着电脑中的文件日益增多,文件管理成为了让人头疼的问题。相似的文件名,难以分类的内容,让你在寻找和整理时耗费大量时间。现在,有了我们的全新工具,这些烦恼全部消失。 第一步:进入文件批量改名高手主页面…

如何在海洋cms添加广告

1:下载广告代码,注意广告中的图片要放在自己的server上,图片地址要改为自己的实际图片地址,图片存放位置,存在模板的image里面 2在海洋cms后台添加广告管理,只需要广告index.html代码,转换成js代码 广告名…

生成式AI如何重塑开发流程和开发工具:引领科技革命的未来

随着人工智能技术的飞速发展,生成式AI正以前所未有的速度改变着世界。在软件开发领域,生成式AI已经开始重塑开发流程和开发工具,为软件开发人员带来前所未有的便利和创新。本文将深入探讨生成式AI如何重塑开发流程和开发工具,以及…

手写springBoot启动器

提示:springboot原理,手写springboot启动器,手写模拟SpringBoot启动过程、手写模拟SpringBoot自动配置功能 文章目录 前言一、本文内容1、手写模拟SpringBoot启动过程2、手写模拟SpringBoot自动配置功能 二、项目总体介绍三、代码实现(手写模…

C#,史密斯数(Smith Number)的计算方法与源代码

一、关于史密斯数的传说 1、关于理海大学Lehigh University 理海大学(Lehigh University),位于宾夕法尼亚州(Pennsylvania)伯利恒(Bethlehem),由富有爱国情怀与民族精神的实业家艾萨…

计算机毕业设计 | SpringBoot+vue的图书馆管理系统(附源码)

1,绪论 1.1 课题背景 随着现在科学技术的进步,人类社会正逐渐走向信息化,图书馆拥有丰富的文献信息资源,是社会系统的重要组成部分,在信息社会中作用越来越重要,在我国图书馆计算机等 信息技术的应用起步…

SqlAlchemy使用教程(三) CoreAPI访问与操作数据库详解

SqlAlchemy使用教程(一) 原理与环境搭建SqlAlchemy使用教程(二) 入门示例及编程步骤 三、使用Core API访问与操作数据库 Sqlalchemy 的Core部分集成了DB API, 事务管理,schema描述等功能,ORM构筑于其上。本章介绍创建 Engine对象,使用基本的…

代码随想录 Leetcode707. 设计链表

题目: 代码(首刷看解析 2024年1月11日): class MyLinkedList { private:struct ListNode{int val;ListNode* next;ListNode(int val):val(val),next(nullptr){}};int size;ListNode* dummyHead; public:MyLinkedList() {dummyHead new List…

Jenkins-执行脚本案例-初步认识JenKins的使用

环境搭建 docker pull jenkins/jenkins:2.440 docker run -d -p 10240:8080 -p 10241:50000 -v /env/liyong/data/docker/jenkins_mount:/var/jenkins_home -v /etc/localtime:/etc/localtime --name jenkins jenkins/jenkins:2.440 #在挂载的目录下去修改仓库地址 vim hudson…

杨中科 .NETCORE EFCORE 第一部分 基本使用

一 、什么是EF Core 什么是ORM 1、说明: 本课程需要你有数据库、SOL等基础知识。 2、ORM: ObjectRelational Mapping。让开发者用对象操作的形式操作关系数据库 比如插入: User user new User(Name"admin"Password"123”; orm.Save(user);比如查询: Book b…

Python字符串验证与正则表达式【第23篇—python基础】

文章目录 引言方法1:使用 isalpha() 方法方法2:使用正则表达式方法3:遍历字符检查应用场景示例与比较优化与扩展方法4:考虑空格和其他字符应用场景扩展 示例与比较优化与扩展方法4:考虑空格和其他字符方法5&#xff1a…

深入 Move 生态,探秘铭文热潮背后的思考

Move 语言是 Meta(Facebook)在 2018 年开发的新一代智能合约编程语言。回顾过去的一年,Aptos 与 Sui 主网上线,为整个 Web3 开启了下一个十亿用户服务的新征程。Rooch、Initia、MoveMent 等多条使用 Move 语言的区块链网络涌现&am…

React全局状态管理

redux是一个状态管理框架,它可以帮助我们清晰定义state和处理函数,提高可读性,并且redux中的状态是全局共享,规避组件间通过props传递状态等操作。 快速使用 在React应用的根节点,需要借助React的Context机制存放整个…

【Linux技术专题】「夯实基本功系列」带你一同学习和实践操作Linux服务器必学的Shell指令(文件处理指令-下)

文件处理指令-下 背景前言专栏介绍面向对象重点内容文件处理命令mv作用格式[options] 主要参数应用实例将文件cjh.txt重命名为wjz.txt ls作用格式options主要参数应用举例 diff作用diff 的基本语法如下:[options] 是可选的参数 实际案例cmp格式options主要参数 cat格…

ssm基于Java的药店药品信息管理系统的设计与实现论文

摘 要 传统信息的管理大部分依赖于管理人员的手工登记与管理,然而,随着近些年信息技术的迅猛发展,让许多比较老套的信息管理模式进行了更新迭代,药品信息因为其管理内容繁杂,管理数量繁多导致手工进行处理不能满足广大…

AI辅助编程:同义千问挑战力扣

大家好我是在看,记录普通人学习探索AI之路。 今天我们来聊一聊如何使用AI进行辅助编程。 ChatGPT对于各行各业都带来了工作效率的提升,尤其是程序员这一行。因为ChatGPT可以帮助程序员来生成各种各样的程序代码。 我们先来看一个简单的例子&#xff0c…