0%

升级WSL2系统并安装ROS2-Humble

将WSL系统从Ubuntu 20.04升级到Ubuntu 22.04,并安装ROS2-Humble。记录遇到的部分问题及解决方法。

背景

目前使用的是Win11+WSL2+Ubuntu 20.04的开发环境,其中ROS2版本为Galactic。由于需要使用ROS2-Humble,需要将WSL系统升级到Ubuntu 22.04,并安装ROS2-Humble。

升级WSL系统

需要使用Ubuntu 22.04,有两种解决方案,一种是再开一个Ubuntu 22.04的发行版,另一种是将原有的Ubuntu 20.04升级到Ubuntu 22.04。由于硬盘空间有限,而且WSL2占用空间不算小,所以选择升级原有的Ubuntu 22.04。

以下为升级过程:

  1. 设置 release-upgradeslts,编辑 /etc/update-manager/release-upgrades 文件,确保选项为 Prompt=lts ,如果不是,修改为 Prompt=lts 保存退出

使用以下命令编辑文件:

1
sudo nano /etc/update-manager/release-upgrades
  1. 更新系统,确保系统为最新版本
1
sudo apt update && sudo apt upgrade

如果出现类似以下的 WARNING,需要进行处理,否则升级过程中可能会卡出来

1
GPG error: https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64  InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY A4B469963BF863CC

可以选择将 /etc/apt/sources.list.d/ 目录下对应的 .list 文件内容全部注释掉,然后再执行 sudo apt update,确保没有 WARNING 信息。笔者把网上的解决 GPG error 的方法基本都试了一遍,暂时还没找到正解,如果有的话可以在评论区留言。

  1. 升级系统
1
sudo do-release-upgrade

升级过程中会有一些提示,按照提示进行操作即可。

  1. 升级完成后,检查系统版本
1
lsb_release -a

输出结果如下:

1
2
3
4
5
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.3 LTS
Release: 22.04
Codename: jammy

安装ROS2-Humble

基本按照官方的安装教程进行安装即可,以下为安装过程中遇到的问题及解决方法。

在执行以下命令时,可能会出现报错,这是因为 ros-humble-desktop 还没有被添加到 apt 的源中,需要手动添加。

1
sudo apt install ros-humble-desktop

报错信息如下:

1
2
3
4
5
6
7
8
9
Reading package lists... 
Done Building dependency tree...
Done Reading state information...
Done Some packages could not be installed.
This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
libgbm-dev : Depends: libgbm1 (= 23.0.4-0ubuntu1~22.04.1) but 23.2.1~kisak2~f is to be installed
E: Unable to correct problems, you have held broken packages.

解决方法如下:

卸载对应的 libgbm1,然后重新安装 libgbm1 即可。

1
2
sudo apt remove libgbm1
sudo apt install libgbm1

如果碰到其他类似,如 libegl-mesa0,也可以按照上述方法进行处理。

欢迎关注我的其它发布渠道