双系统Ubuntu18.04升级22.04,安装docker进行openclaw安装

双系统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安装了

建议Ubuntu版本低的直接升级能省很多时间!!!!!!!!!!!!

不然一堆版本不匹配或者报错的问题,我电脑不在身边,没办法远程重装双系统Ubuntu,只能乱整了

相关推荐
木卫二号Coding2 小时前
打包容器有两种方式
docker
杨充2 小时前
1.1 数据编码设计原理
linux·运维·网络·底层原理·数据编码
一只鹿鹿鹿2 小时前
信息化项目管理规范(参考Word文件)
java·大数据·运维·开发语言·数据库
wanhengidc2 小时前
双线服务器有哪些优点?
运维·服务器
蜀道山老天师2 小时前
Docker Compose 多容器编排实战:LNMP、Tomcat 集群、云桌面、Portainer、Zabbix 一键部署
运维·docker·容器·tomcat·zabbix
jscxy52063 小时前
ospf综合实验
运维·服务器·网络
apcipot_rain3 小时前
计科八股20260529——连接协议连接线程池、模块拆解模块通信、WebSocket
运维·服务器·网络·八股
GIS数据转换器3 小时前
智慧能源管理平台
java·大数据·运维·人工智能·无人机
“码”力全开3 小时前
解构企业级安防中台:基于Docker容器化与GB28181/RTSP多协议汇聚的边缘计算AI视频管理平台(全量源码交付)
人工智能·docker·边缘计算