Parallels Desktop安装并配置Ubuntu

博观而约取 2024-10-03 11:37:01 阅读 67

目录

1. 安装环境

2. 安装系统

3. 可选配置

SSH访问

配置固定IP访问

允许root远程登录

配置阿里云镜像源


1. 安装环境

电脑配置:MacBook Pro 16英寸 M1 Pro

系统:macOS 14.4.1

Parallels版本:18.1.1

本文基于Parallels的安装助手直接安装Ubuntu22.04不适用于通过自定义镜像安装指定Ubuntu版本,如果通过自定义ISO安装指定版本的Ubuntu,请参考其它教程。

2. 安装步骤

1. 打开Parallels的安装助手,选择Ubuntu,点继续:

2. Parallels会自动匹配符合我们Mac系统的Ubuntu最新版本,点击下载:

3. 等待下载完成

4. 下载完成后系统会自动安装完成,并且会帮我们创建一个Parallels用户,点击该用户进入系统:

5. 第一次进入系统被要求强制修改用户密码

6. 密码必须符合规则(8个以上字符,不能是太简单的数字,如12345678这种),否则会报以下错误:

7. 两次输入新密码后即可进入系统:

8. 输入刚刚设置的密码安装Parallels Tools Installation Agent:

Parallels Tools是Parallels Desktop虚拟机中的一个关键组件,它提供了许多增强功能,包括更好的性能、更好的集成和更好的兼容性,以使Windows虚拟机与宿主Mac系统更紧密地集成。Parallels Tools Installation Agent负责确保Parallels Tools的正确安装和更新,以提供最佳的虚拟机体验。

9. 安装完成后点击restart:

10. 重启后输入密码进入系统,鼠标先点一下引导页面任意地方,然后右键右上角Welcome to Ubuntu,点击Quit退出系统引导。

以上就是Parallels安装Ubuntu的步骤,现在已经可以正常使用系统了,如果你需要一些额外的配置,请参考下面的步骤。

3. 可选配置

SSH访问

我们可以通过ssh连接进行更加方便的命令操作,一般通过Parallels直接安装Ubuntu,已经默认安装了openssh服务

1. 点击左下角,找到Terminal点击打开:

2. 查看ssh服务是否已经安装:

<code>sudo systemctl status ssh

3. 如果提示下面,表示已安装并运行

SSH未安装的情况请参考下面步骤

如果提示下面的错误,则表示ssh服务未安装

<code>Unit ssh.service could not be found.

更新apt包,输入密码后回车,等待更新完成

sudo apt update

sudo apt upgrade -y

安装ssh-server:

sudo apt install openssh-server -y

启用ssh服务并设置开机自启:

--now: 这个选项告诉systemctl立即启动服务。如果省略了--now,服务只会在下一次系统启动时自动启动,而不会立即启动

sudo systemctl enable --now ssh

 4. Parallels默认给虚拟机的网络设置的是共享网络,我们需要改为桥接网络以使用内网IP访问。首先右键右上角下拉Power Off,确认后输入密码后则可关闭虚拟机。

5. 打开Parallels控制中心,打开虚拟机设置 - 硬件 - 网络 - 选择默认适配器,关闭设置窗口,重新打开虚拟机。

6. 点击系统右下角找到终端打开,输入ip addr,查看动态分配的内网IP地址(一般以192.168开头)。

<code>ip addr

也可通过下面的命令直观的查看内网IP:

<code>hostname -I

parallels@ubuntu-linux-22-04-desktop:~$ hostname -I

192.168.9.93

7. 打开mac中的终端或者iterm,输入以下命令通过ssh从mac连接到虚拟机(ip替换为上一步运行的内网IP), 输入yes回车后输入密码即可连接到虚拟机。

ssh parallels@192.168.9.93

配置固定IP访问

配置桥接网络模式后,默认是从DHCP服务器动态的拿到一个内外IP,这个IP可能在路由器重启后被别的设备占用,如果我们需要配置固定IP访问虚拟机,可参考下面的步骤:

1. ssh到虚拟机,输入以下命令(Intel版的mac安装的ubuntu文件是/etc/netplan/01-network-manager-all.yaml,请注意区分):

sudo vi /etc/netplan/00-installer-config.yaml

/etc/netplan/00-installer-config.yaml是一个配置文件,用于配置网络接口和网络设置的Netplan工具。Netplan是用于配置Linux系统上的网络设置的工具,它允许用户使用简单的YAML语法定义网络接口、IP地址、网关、DNS服务器等网络配置。

在Ubuntu系统中,00-installer-config.yaml通常是由安装程序自动生成的初始网络配置文件。这个文件通常包含了基本的网络设置,比如配置系统使用的网络接口、IP地址分配方式(静态或动态)、IP地址、网关、DNS服务器等信息。

默认的内容是:

# This is the network config written by 'subiquity'

network:

ethernets:

enp0s5:

dhcp4: true

version: 2

2.  我们需要改为以下配置,比如这里我想指定使用192.168.9.93为虚拟机的固定IP,路由器的网关是192.168.9.1,实际的内网IP和网关以你本地网络为准。dhcp4要设置为no

# This is the network config written by 'subiquity'

network:

ethernets:

enp0s5:

dhcp4: no

addresses:

- 192.168.9.93/24

gateway4: 192.168.9.1

nameservers:

addresses: [8.8.8.8, 114.114.114.114]

version: 2

3. 编辑完文件后:wq保存退出,然后输入以下命令应用网络配置: 

sudo netplan apply

允许root远程登录

ubuntu系统默认基于安全考虑是不允许root用户远程登录,如果你只是本地运行虚拟机简单学习,并且想操作便捷,可以打开root远程ssh登录。

1. 首先我们需要切换到root用户:

sudo -i

2. 运行passwd命令修改root用户密码:

passwd

3. 修改ssh配置文件,使用sed命令在配置文件最后添加PermitRootLogin yes 

sudo sed -i.bak '$ a\PermitRootLogin yes' /etc/ssh/sshd_config

sudo用于以超级用户权限执行命令,因为编辑/etc/ssh/sshd_config需要管理员权限。

-i.bak: 这个选项告诉sed在编辑文件时直接修改文件内容,并在修改前创建一个备份文件,备份文件的扩展名为.bak。这样做是为了确保在修改文件内容之前有一个原始文件的备份,以防意外发生。

$指示sed命令应该在文件的最后一行执行操作。

a\PermitRootLogin yes表示在找到的最后一行后追加PermitRootLogin yes文本。

4. 重启ssh服务后就能以root用户ssh到虚拟机

service sshd restart

配置阿里云镜像源

1. 获取最新的软件包信息并更新(可选):

sudo apt update

sudo apt upgrade -y

2. 备份/etc/apt/sources.list,如果下面的sed命令使用了-i.bak参数也可跳过此步骤

cp /etc/apt/sources.list{,.bak}

3. Ubuntu Ports更换成阿里云镜像源

M芯片mac

如果你是M芯片的mac,默认的镜像源地址是:http://ports.ubuntu.com/ubuntu-ports/,Ubuntu Ports 是 arm64平台的 Ubuntu 软件仓库,我们需要将在 /etc/apt/sources.list 文件中,将软件源的地址改为阿里云的镜像地址:https://mirrors.aliyun.com/ubuntu-ports/

sudo sed -i.bak 's#http://ports.ubuntu.com/ubuntu-ports/#https://mirrors.aliyun.com/ubuntu-ports/#g' /etc/apt/sources.list

解释一下这个命令的每个部分:

sudo: 使用管理员权限执行命令,因为修改 /etc/apt/sources.list 需要管理员权限。

sed: 文本编辑器,用于对文件进行流式文本处理。

-i.bak: 这个选项告诉sed在编辑文件时直接修改文件内容,并在修改前创建一个备份文件,备份文件的扩展名为.bak。这样做是为了确保在修改文件内容之前有一个原始文件的备份,以防意外发生。

's#http://ports.ubuntu.com/ubuntu-ports/#https://mirrors.aliyun.com/ubuntu-ports/#g': 这是 sed 命令的替换模式。它的格式是 s/old_text/new_text/g,其中 old_text 是要替换的原始文本,new_text 是替换后的新文本,g 表示全局替换所有匹配。

/etc/apt/sources.list: 要修改的目标文件路径。

#被用作分隔符,因为URL中含有斜杠(/)。

这条命令将会批量将 /etc/apt/sources.list 文件中所有包含 http://ports.ubuntu.com/ubuntu-ports/ 的行替换为 https://mirrors.aliyun.com/ubuntu-ports/。

Intel芯片mac 

如果你是Intel芯片的mac,请运行下面的命令替换

sudo sed -i.bak 's#http://us.archive.ubuntu.com/ubuntu/#http://mirrors.aliyun.com/ubuntu/#g; s#http://security.ubuntu.com/ubuntu#http://mirrors.aliyun.com/ubuntu/#g' /etc/apt/sources.list

3.  再次更新软件包列表以应用镜像源更新

sudo apt update



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。