PVE系列-LVM安装MacOS的各个版本及VNC加密隧道访问

PVE系列-LVM安装MacOS的各个版本

    • 环境配置
    • 大概过程:
    • 详细步骤:
      • 1.建立安装环境和下载安装工具
      • 2. 重启后,执行osx-setup配置虚拟机
      • 3. 安装到硬盘,
      • 4.设定引导盘,以方便自动开机启动
      • 5.打开屏幕共享和系统VNC
      • 6.VNC加密的ssh隧道远程控制
      • 最后的结果

引子:
今天浏览网页发现macos运行在容器的两个方法
第一个方法docker:
https://hub.docker.com/r/sickcodes/docker-osx
今天主要介绍另一个方法:
github仓库OSX-PROXMOX用脚本把MACOSX导入到VM容器里的方法:
https://github.com/luchina-gabriel/OSX-PROXMOX

环境配置

PVE shell

/bin/bash -c "$(curl -fsSL https://install.osx-proxmox.com)" 
#restart
osx-setup

提示:虽然官网说支持os14,但是发现目前我pve8不能打开14的安装进度条,所以我只是安装了12作为演示,

大概过程:

命令行osx-setup下载dmg文件,根据引导建立vm虚拟机,启动虚拟机,选择安装os,打开安装界面,安装前把目标磁盘erase成apfs格式,进入安装程序选择这个分区了,第一次部署以后重启了4次以上,每次自动重启,分区一个是installer启动,最后一次变成了默认卷标,这时进入系统,才能完成初始化设置。可以试着把引导顺序里在安装盘dmg取消这样来默认进入目标硬盘公区所安装的系统。

详细步骤:

1.建立安装环境和下载安装工具

在pve的shell里运行这个脚本

. COPY & PASTE - in shell of Proxmox (for Install or Update this
solution)

/bin/bash -c "$(curl -fsSL https://install.osx-proxmox.com)" 

结束后会重启pve。提示重启后执行osx-setup

2. 重启后,执行osx-setup配置虚拟机

在这里插入图片描述
选择好虚拟机在配置后进入下载过程大约有800G在安装文件,然后提示虚拟机建立好,在pve的8006进行管理,开机就可执行安装。
选项7的os14会无法进入安装工具后,只有一个苹果,进度条不出,用以下命令强行关闭删除虚拟机,
qm stop 105zps aux | grep “/usr/bin/kvm -id 105”
kill -9 30091
qm stop 105
第二次选择5下载安装os 12.,引导安装盘一个白色苹果,下方是进度条。

3. 安装到硬盘,

在引导进度条结束后,第二个选项是开始安装,选择第四个选项硬盘分区工具,选择虚拟机最大的空白硬盘erase,格式apfs,执行格式化目标硬盘。关闭窗口,打开综合工具菜单第二个选项,installer or reinstall os 。选择了安装位置,就是上次在空白盘,有一个挺漫长在安装过程,走完进度大约半个多到1小时,根据机器性能而定,虚拟机默认q35处理器,可选择8核8G、64G硬盘或更高配置。

结束重启选择installer,不要选dmg安装盘,然后再4,5次进installer,最后才安装目标格式化用的卷标名。再开机才是进入了初始化配置界面,应该选择地区设置键盘密码ID等等的。

第一次进入系统后打开终端窗口
为了

For install EFI Package in macOS, first disable Gatekeeper
运行

sudo spctl --master-disable

运行EFI卷下在intsll-efi-for-virtual-…pkg
在这里插入图片描述
我猜测是为了引导。具体作用不明确

4.设定引导盘,以方便自动开机启动

关机状态下,取消安装盘引导,直接硬盘引导。这方便冷启动,和自动开机 。
在这里插入图片描述

5.打开屏幕共享和系统VNC

开机进入系统。打开系统偏好设置-共享,设定屏幕共享和VNC密码。
在这里插入图片描述

在这里插入图片描述
接下来就能用vnc客户端访问了。

6.VNC加密的ssh隧道远程控制

参见:https://khalidabuhakmeh.com/tunneling-vnc-through-ssh-on-macos、、

  1. 设置受控端MacOS: 在MacOS的偏好设置-共享-原程访问,默认开启了ssh-server,下面有允许访问的用户,同样端口是默认22。经过以上的配置已经打开了vnc的默认端口5900。受控端的这两个服务可以单独进行测试,并且用正确的管理密码访问,就算完成这一侧了。
  2. 设置受控端:根据参考文章,主控端也就是发起访问的地方,需要具备1,ssh命令。2,realVNC viewer选择自己用的平台合适的软件, 受控端打开控制台然后运行
    ssh -L 5900:localhost:5900 user@remote-host -p 22
  • -L 是指进行远程映射
  • 第一个5900是远程vnc端口,
  • 第二个5900是本地地址和本地端口,用于写入vnc-view的连接主机配置。
  • user是ssh-server所用的用户,执行命令后需要输入它的合法密码
  • remote-host可以是各种内网穿透后的地址和域名,用于抵达ssh服务,
  • -p 是远程主机的22端口,因为经过透传,所以需要灵活指定

执行后后有密码提示并且登入控制台,保持窗口打开,以便vnc客户端使用其打开的locahost:5900
至此连接就完成了。
基本过程就这些,可能比docker繁琐,好处是用起来稳定一些,维护还方便点。

最后的结果

在这里插入图片描述

这个系统可以xcode开发,连接手机,关联声卡。还有其他用途,有需要的人请拿来测试。

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

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

相关文章

ArkTS语言难吗?鸿蒙指南

HarmonyOS的开发语言是ArkTS、JS(JavaScript)。 ArkTS简介 ArkTS是HarmonyOS优选的主力应用开发语言。ArkTS围绕应用开发在TypeScript(简称TS)生态基础上做了进一步扩展,继承了TS的所有特性,是TS的超集。因此,在学习…

C语言精选——选择题Day39

第一题 1. 有下面的定义,则 sizeof(s) 为多少? char *s "\ta\017bc"; A:9 B:5 C:6 D:7 答案及解析 C 本题涉及到了转义字符 \t 是水平制表符,算一个字节 \017 是表示八进制数&#…

面试总被问高并发负载测试,你真的会么?

本文将介绍使用50K并发用户测试轻松运行负载测试所需的步骤(以及最多200万用户的更大测试)。 ❶ 写你的剧本 ❷ 使用JMeter在本地测试 ❸ BlazeMeter SandBox测试 ❹ 使用一个控制台和一个引擎设置每引擎用户数量 ❺ 设置和测试群集(一个…

Python 数据分析:日期型数据的玩转之道

更多资料获取 📚 个人网站:ipengtao.com 在数据分析的领域中,处理日期型数据是至关重要的一环。Python 提供了丰富的工具和库,使得对日期进行分析、处理、可视化变得更加轻松。本文将深入探讨 Python 中如何玩转日期型数据&#…

智能优化算法应用:基于猎食者算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于猎食者算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于猎食者算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.猎食者算法4.实验参数设定5.算法结果6.参考文献7.…

Unity中Batching优化的静态合批

文章目录 前言一、静态合批的规则1、模型使用同一个材质2、勾选静态合批3、对于静态合批后的Mesh顶点总数,不超过2^16^即可以使用同一批次,超过则会开启一个新的批次4、对与使用同一材质的不同模型间,纹理贴图的问题,我们可以通过…

腾讯云CODING全面支持云平台开发者生态

前言: 在技术革新迅速的当下,国内云厂商也意识到要打造拥抱开发者的云平台。如何以发展的眼光建设开发者产品与服务、或者说在软件工程领域如何演进?是值得思考的课题 正文: -----------------------云厂商向服务开发者转型---…

备份至关重要!如何解决iCloud的上次备份无法完成的问题

将iPhone和iPad备份到iCloud对于在设备发生故障或丢失时确保数据安全至关重要。但iOS用户有时会收到一条令人不安的消息,“上次备份无法完成。”下面我们来看看可能导致此问题的原因,如何解决此问题,并使你的iCloud备份再次顺利运行。 这些故…

【踩坑记录】from natten import NeighborhoodAttention1D

在配置forecast-mae环境的时候。 ./forecast-mae/src/model/layers/agent_embedding.py文件中 导入包的时候from natten import NeighborhoodAttention1D 报错, 解决办法,默认安装的是__version__ "0.14.2"版本的 出现这个问题可能是包损坏…

深入了解Java 8日期时间新玩法之Year、YearMonth、MonthDay、DayOfWeek

推荐语 在这篇文章中,我们将深入探讨Java 8中Year、YearMonth、MonthDay和DayOfWeek类的功能和使用方法。这些类是在Java 8中引入的新的日期时间API的一部分,它们为我们提供了更灵活、更易用的日期和时间处理能力。 尽管这些类在Java 8中已经出现&…

MuJoCo机器人动力学仿真平台安装与教程

MuJoCo是一个机器人动力学仿真平台,它包括一系列的物理引擎、可视化工具和机器人模拟器等工具,用于研究和模拟机器人的运动和动力学特性。以下是MuJoCo的安装教程: 下载和安装MuJoCo Pro。可以从MuJoCo的官方网站上下载最新版本的安装包。根…

VUE学习一、环境的安装

1.node.js安装 node.js是前端依赖的环境, 类似于java中的jdk 下载地址 node.js 下载 msi文件 下完就是一顿嘎嘎安装 , 安装后可以cmd看看node和npm的版本 1.2 yarn的安装 Yarn是Facebook最近发布的一款依赖包安装工具。Yarn是一个新的快速安全可信赖的可以替代NPM的依赖管…

POJ 3735 Training little cats 动态规划(矩阵的幂)

一、题目大意 我们有N只猫&#xff0c;每次循环进行K次操作&#xff08;N<100&#xff0c;K<100&#xff09;&#xff0c;每次操作可有以下三种选择&#xff1a; 1、g i 给第i只猫1个食物 2、e i 让第i只猫吃完它所有的食物 3、s i j 交换第i和j只猫的食物。 求出M次…

2024年江苏省职业院校技能大赛信息安全管理与评估 第二阶段学生组(样卷)

2024年江苏省职业院校技能大赛信息安全管理与评估 第二阶段学生组&#xff08;样卷&#xff09; 竞赛项目赛题 本文件为信息安全管理与评估项目竞赛-第二阶段样题&#xff0c;内容包括&#xff1a;网络安全事件响应、数字取证调查、应用程序安全。 本次比赛时间为180分钟。 …

104. 二叉树的最大深度(Java)

目录 解法&#xff1a; 官方解答&#xff1a; 方法一&#xff1a;深度优先搜索 方法二&#xff1a;广度优先搜索 思路与算法 复杂度分析 时间复杂度&#xff1a; 空间复杂度&#xff1a; 给定一个二叉树 root &#xff0c;返回其最大深度。 二叉树的 最大深度 是指从根…

N卡、A卡能合体了,双卡“交火”游戏帧率暴涨200%

如果你混迹 PC 圈有些年头&#xff0c;一定听说过显卡「交火」这个直觉上很猛的操作。 双卡、三卡、四卡…有几张就「叠加」几倍的效果可比单张升级更让人兴奋。 然而&#xff0c;不管是 NVIDIA SLI 还是 AMD CrossFire 这几年都在了大众视野消失了。 原因很简单&#xff0c;…

611.有效的三角形个数

1.题目解析 给定一个包含非负整数的数组 nums &#xff0c;返回其中可以组成三角形三条边的三元组个数。 补充&#xff1a; 1.三角形的判断&#xff1a;假设有三条边按大小排序&#xff1a; 2.题目示例 示例 1: 输入: nums [2,2,3,4] 输出: 3 解释:有效的组合是: 2,3,4 (使用…

os.walk()遍历文件夹/文件

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…

xcode ——Instrumets(网络连接调试)使用

环境&#xff1a; instruments 使用只能在真机调试时使用&#xff0c;且真机系统必须ios15 点击debug 按钮——Network——Profile in Instruments 然后就可以看到如下面板 展开运行的项目&#xff0c;点击session下的域名&#xff0c;下方回出现该域名下的网络请求。点击Deve…

使用 GROUP BY 进行数据库分析:以图书销售数据库为例

让我们通过一个简单但实用的例子来理解 GROUP BY 的使用。我们将以一个图书销售数据库为例。这个数据库包含两张表&#xff1a;一张是图书信息表 (books)&#xff0c;另一张是销售记录表 (sales)。我们会先创建这两张表&#xff0c;然后插入一些数据&#xff0c;并展示如何使用…