1. 购买腾讯云服务器

https://cloud.tencent.com/product/gpu?Is=sdk-topnav
然后依次点击“登录”和“立即选购”按钮。(注册和缴费可以在VX小程序上完成)

  • 来到“云服务器 CVM”页面,然后选择“自定义配置”->
  • “按量计费”->“亚太和中东”->“首尔”->“全部CPU”、“全部内存”、“全部架构”、“全部实例族”->
  • 选择“4核32GiB”的实例、镜像选择为“Ubuntu”、版本为"Ubuntu Server 22.04 LTS 64位"->
  • 点击“下一步:设置网络和主机”->
  • 选择“新建安全组”、登录方式选择“设置密码”、记住登录名和密码->点击:“下一步:配置确认信息”
  • 同意协议之后选择开通
  • 等到实例创建完成之后点击“登录”按钮
  • 输入用户名和密码登录

2. Linux 环境硬件配置检查

# 检查基础信息
$ homenamectl # 或者 uname -a

# 检查内存、硬盘
$ sudo fdisk -l
$ free -h
# 检查显卡
$ nvidia-smi

3. 安装 Docker

常见的 docker 命令移步至此:常见的 docker 命令

仅需要依次执行下面两个命令就可以了:

# 下载安装脚本
$ curl -fsSL https://get.docker.com -o get-docker.sh
# 执行安装脚本
$ sudo sh get-docker.sh

安装完成之后,尝试运行 docker pull hello-world, 此时应该会提示没有权限,改为执行如下指令:sudo docker pull hello-world 或者将当前用户添加到权限组中去,具体做法为:

# 1. 创建 docker 组(如果不存在)
sudo groupadd docker

# 2. 将当前用户添加到 docker 组
sudo usermod -aG docker $USER

# 3. 或者添加特定用户(推荐)
sudo usermod -aG docker your-username

# 4. 重新登录使组生效
newgrp docker

# 或者完全注销后重新登录
# logout  # 然后重新登录

# 检查用户是否在 docker 组中
groups $USER | grep docker

# 检查 docker.sock 权限
ls -la /var/run/docker.sock

pull 下来的 image 可以通过如下命令查看:docker images 或者 docker images | grep hello-world 或者通过命令:sudo docker run --rm my-hello:latest 运行

  • 尝试创建一个 docker 镜像,如下链接所示:创建空白 docker 镜像
  • 离线迁移一个镜像的过程如下所示:
# ---------- 在源电脑上 ----------
# 1. 保存镜像为 tar 文件
docker save -o my-image.tar my-image:tag

# 2. 复制到 U 盘
cp my-image.tar /media/usb/

# ---------- 在目标电脑上 ----------
# 3. 从 U 盘复制到电脑
cp /media/usb/my-image.tar .

# 4. 加载镜像
docker load -i my-image.tar

# 5. 验证
docker images | grep my-image

4. 安装 Conda

在 Ubuntu 环境中安装 miniconda3

https://blog.csdn.net/weixin_42019995/article/details/155260768
使用 conda-pack 完成环境的迁移
https://blog.csdn.net/weixin_42019995/article/details/155273860

5. 安装 ROS2

https://blog.csdn.net/m0_73745340/article/details/135281023

参考上述连接然后执行两次下面的指令:

$ cd ~
$ wget http://fishros.com/install -O fishros && . fishros
  • 第一次执行时,依次选项为:5->2->1->1->1
  • 第二次执行时,依次选项为:1->2->国内或者国外源(根据云服务器的位置)

6. 在 Windows 环境中使用 Linux

WSL(Windows Subsystem for Linux) 是微软在 Windows 10/11 中内置的 Linux 兼容层,允许你在 Windows 上直接运行原生 Linux 命令行工具和应用程序,无需虚拟机或双系统。

https://blog.csdn.net/qq_16775293/article/details/154520974

  1. 按下 Win + R 键,输入 optionalfeatures.exe 并回车。
  2. 在弹出的窗口中,勾选以下选项:
    ✅ Hyper-V
    ✅ 适用于 Linux 的 Windows 子系统
    ✅ 虚拟机平台(WSL 2 依赖此组件,Windows 10 需手动勾选,Windows 11 可能默认包含)
  3. 点击“确定”,等待组件安装完成后,重启电脑。
    在这里插入图片描述

在这里插入图片描述
如果失败,需要检查 Bios 是否开启虚拟机:

  • 检查方法:重启电脑,在启动时按指定键(通常是 F2、Del、F10 或 F12)进入BIOS/UEFI设置。在 “Advanced”(高级) 或 “Security”(安全) 等选项卡下,找到名为 “Intel Virtualization Technology”、“Intel VT-x”、“AMD-V” 或 “SVM Mode” 的选项,将其设置为 “Enabled”(启用)。
  • 重启验证:保存设置并重启。重新尝试启用Windows功能。
  1. 以管理员身份打开 PowerShell,如下图所示找到 PowerShell 后右键,以管理员身份打开,依次运行下面的命令:
# 升级 WSL 到最新版本
$ wsl --update
# 上面的命令执行不下去可以尝试 wsl --update --web-download
# 在 powershell 中设置 WSL 默认版本,这里使用 WSL 2,其基于 Hyper-V 虚拟机技术,性能优于 WSL 1,且支持 ROS 图形化工具
$ wsl --set-default-version 2
# 查看 WSL 支持的 Linux 发行版
$ wsl --list --online
# 安装 Ubuntu 22.04
$ wsl --install -d Ubuntu-22.04
# 启动 linux 环境
$ wsl -d Ubuntu-22.04
# 运行 docker ros2 等安装
# 退出环境
$ exit
$ wsl --shutdown

说明:wsl 启动的 ubuntu 虚拟机中也可以开启多个终端,做法是:使用快捷键 ctrl+shift+d 打开多个 ps 页签,然后在每一个页签中都通过 wsl -d Ubuntu-20.04 进入到 ubuntu 20.04 中去。

打开多个 ps 终端然后进入到同一个 ubuntu 中去,然后进行通讯

7. WSL 环境的导入和导出

7.1 导出当前发行版

将指定发行版导出为一个压缩的 .tar 或 .vhdx 文件。

mkdir -p D:\backups
# 语法:wsl --export <发行版名称> <导出文件路径>
wsl --export Ubuntu-22.04 D:\backups\my_ubuntu_backup.tar
# 或导出为 .vhdx 虚拟磁盘格式(WSL2推荐,便于后续挂载)
wsl --export Ubuntu-22.04 D:\backups\my_ubuntu.vhdx

关键参数:

  • –export:导出命令。
  • Ubuntu-22.04:要导出的发行版名称(通过 wsl -l -v 查看)。
  • 路径:建议放在NTFS分区(如D盘),文件大小约1-3GB(取决于系统使用量)。

7.2 导入为新的发行版

将导出的文件导入,创建一个全新的、独立的WSL实例。

# 语法:wsl --import <新发行版名称> <安装目录> <导出文件路径> [选项]
wsl --import Ubuntu-Backup D:\backups\Instances D:\backups\my_ubuntu_backup.tar

# 导入时指定为WSL2(默认是WSL2,除非你更改过全局设置)
# wsl --import Ubuntu-Backup D:\backups\Instances --version 2 D:\backups\my_ubuntu_backup.tar

关键参数:

  • –import:导入命令。
  • Ubuntu-Backup:新实例的自定义名称。
  • C:\WSL…:存储虚拟磁盘文件的Windows目录(会占用相应空间)。
  • 最后是之前导出的备份文件路径。
Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐