双系统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,只能乱整了

相关推荐
bigbig_ben20 小时前
yearning安装docker
运维·docker·容器
日常筹谋记1 天前
工业厂房 TPO 防水卷材:技术需求如何传导到配方层面?
运维·网络·html
Linux_cy1 天前
服务器管理工具哪个好用?我用了七八个
运维·服务器·javascript·python·ssh·面板·gmssh
发量惊人的中年网工1 天前
抗DDoS服务哪家比较靠谱?选DDoS防护服务重点看哪几点?
运维·ddos
Meta Luo1 天前
页面改版后自动化用例大量失败,应该怎么维护?
运维·功能测试·测试工具·自动化
爱和冰阔落1 天前
【Linux】线程安全进阶:单例模式、可重入函数与死锁排查
linux·运维·安全·单例模式
dk_tjy1 天前
迪康网络运维故障自愈的自动化闭环技术路径分析
运维·网络·自动化
吉普赛的歌1 天前
如何设置服务器固定时间点自动重启一次
运维·服务器
帷幕落秋1 天前
SSH远程管理服务
运维·ssh