双系统Ubuntu18.04升级22.04
一、
bash
sudo apt update

二、
bash
sudo apt upgrade

三、
bash
sudo apt dist-upgrade

四、如果未安装 update-manager-core,请安装它。通常,这个软件包在标准 Ubuntu 安装中已经包含了。
bash
sudo apt install update-manager-core

五、确认 /etc/update-manager/release-upgrades 文件中的 Prompt 选项设置为 lts,以便升级到下一个长期支持版本(22.04)。使用文本编辑器打开此文件,例如:
bash
sudo nano /etc/update-manager/release-upgrades
Make sure the file contains:
Prompt=lts

六、开始升级过程
sudo do-release-upgrade
在 Ubuntu 18.04 中,这通常会引导直接升级到最新的 LTS 版本 ,即 22.04。(26年最新版本可能不是22.04了根据具体版本来看)

以上参考文章:https://blog.51cto.com/u_13171517/9023334
但是针对目前我的Ubuntu系统行不通,我现在需要高版本的Ubuntu系统安装open claw,因为open claw要求node.js 版本
OpenClaw 现在硬性要求:
Node.js ≥ 22
GLIBC ≥ 2.31
内核推荐 ≥ 5.4
而 Ubuntu 18.04 原生:
GLIBC = 2.27(差太多)
官方源最高 Node 只能到 v12
内核默认 4.15
所以想别的办法安装open claw
先安装Docker然后在Docker中安装openclaw
安装docker
bash
sudo apt install -y docker.io
sudo systemctl enable --now docker
docker --version
bash
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com"
]
}
EOF
避免典型权限问题
bash
sudo usermod -aG docker $USER
newgrp docker
bash
随后再执行
bash
docker ps
newgrp docker 是即时刷新用户组,当前终端立刻生效;新开终端也会自动生效。
如果后续还是提示权限不足,重启一下终端 / 系统即可。
之后正常执行 docker pull/docker run/docker exec 都不用加 sudo。
安装docker-compose
bash
sudo curl -L https://github.com/docker/compose/releases/download/1.29.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

赋予权限
bash
sudo chmod +x /usr/local/bin/docker-compose
执行./scripts/docker/setup.sh时出现

把脚本里所有的 docker compose替换成 docker-compose
sed -i 's/docker compose/docker-compose/g' ./scripts/docker/setup.sh
随后./scripts/docker/setup.sh脚本可以执行拉取镜像
镜像拉取出现问题

运行
bash
nano /home/uriky/openclaw/docker-compose.yml
找到 openclaw-cli 和 openclaw-gateway 两个服务里的 env_file 配置。
env_file:
path: .env
required: false
docker-compose 1.29.2 不认识这种写法把上面那三行,直接改成下面这一行:
env_file: .env
只保留 env_file: .env 这一行
两个服务(openclaw-cli 和 openclaw-gateway)里的这两段都要改。


上述还是不行,又全部改成(v1/v2 都兼容):
bash
env_file:
- .env
还是拉取镜像之后报错
再次输入命令
bash
./scripts/docker/setup.sh
显示
./scripts/docker/setup.sh: 行 93: /home/uriky/openclaw/.env: 权限不够
./scripts/docker/setup.sh: 行 454: /home/uriky/openclaw/.env: 权限不够
赋权限
bash
chmod 644 /home/uriky/openclaw/.env
出现 mv 询问时,输入 y 回车确认,随后输入命令
bash
./scripts/docker/setup.sh
还是报错PermissionError: Errno 13 Permission denied: '/usr/local/bin/docker' 24607 Failed to execute script docker-compose
1. 修复 docker 命令软链接与权限
bash
sudo ln -sf /usr/bin/docker /usr/local/bin/docker
sudo chmod +x /usr/bin/docker /usr/local/bin/docker
2. 修复当前用户 .docker 目录权限
bash
sudo chown -R $USER:$USER ~/.docker
chmod -R u+rw ~/.docker
3. 重新加载用户组(免 sudo 操作 docker)
bash
newgrp docker
4. 清理旧容器,重新执行脚本
bash
docker-compose down
./scripts/docker/setup.sh

接下来可以顺利进行openclaw安装了