最近使用Ubuntu安装docker,想尝试一下podman,官方描述说性能更强,更节约资源,关键是rootless,更安全,并推荐使用5.x版本的podman,但是本人的WSL ubuntu是24.04,仓库里自带的podman版本是4.x,于是大模型里搜了一圈,试了提供的各种办法都不行,真是无语...
最后还是用传统搜索找到一个链接解决了这个问题,
https://github.com/podman-container-tools/podman/discussions/25582
解决办法
分为2步,
- 打开/etc/apt/sources.list.d/ubuntu.sources,然后添加plucky

- 添加文件/etc/apt/preferences.d/podman.pref,用来锁定 Podman 及其依赖项与相关组件的软件包版本
bash
Package: podman buildah golang-github-containers-common crun libgpgme11t64 libgpg-error0 golang-github-containers-image catatonit conmon containers-storage
Pin: release n=plucky
Pin-Priority: 991
Package: libsubid4 netavark passt aardvark-dns containernetworking-plugins libslirp0 slirp4netns
Pin: release n=plucky
Pin-Priority: 991
Package: *
Pin: release n=plucky
Pin-Priority: 400
最后执行sudo apt update,执行完毕后再执行apt-cache policy podman来查看提供的podman版本

可以看到5.x版本已经就绪,接着执行sudo apt install podman即可
安装tun内核模块
有时安装完运行还有问题,提示没有tun文件,这是podman依赖的底层网络模块,
bash
echo "tun" | sudo tee /etc/modules-load.d/tun
然后重启即可
如果还是提示没有/dev/net/tun,可以手动创建tun文件
bash
sudo mkdir -p /dev/net
sudo mknod /dev/net/tun c 10 200
sudo chmod 666 /dev/net/tun