目录
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服务是否已经安装:
sudo systemctl status ssh
3. 如果提示下面,表示已安装并运行
SSH未安装的情况请参考下面步骤
如果提示下面的错误,则表示ssh服务未安装
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开头)。
ip addr
也可通过下面的命令直观的查看内网IP:
hostname -I
parallels@ubuntu-linux-22-04-desktop:~$ hostname -I192.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