将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。
以下为升级过程:
- 设置
release-upgrades
为lts
,编辑/etc/update-manager/release-upgrades
文件,确保选项为Prompt=lts
,如果不是,修改为Prompt=lts
保存退出
使用以下命令编辑文件:
1 | sudo nano /etc/update-manager/release-upgrades |
- 更新系统,确保系统为最新版本
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 | sudo do-release-upgrade |
升级过程中会有一些提示,按照提示进行操作即可。
- 升级完成后,检查系统版本
1 | lsb_release -a |
输出结果如下:
1 | No LSB modules are available. |
安装ROS2-Humble
基本按照官方的安装教程进行安装即可,以下为安装过程中遇到的问题及解决方法。
在执行以下命令时,可能会出现报错,这是因为 ros-humble-desktop
还没有被添加到 apt
的源中,需要手动添加。
1 | sudo apt install ros-humble-desktop |
报错信息如下:
1 | Reading package lists... |
解决方法如下:
卸载对应的 libgbm1
,然后重新安装 libgbm1
即可。
1 | sudo apt remove libgbm1 |
如果碰到其他类似,如 libegl-mesa0
,也可以按照上述方法进行处理。