curl -fsSL https://deb.nodesource.com/setup_24.x | sudo -E bash
apt list nodejs
apt install -y nodejs
node -v
npm -v
npm install -g openclaw@latest
openclaw onboard –install-daemon
个人使用请勿留言
curl -fsSL https://deb.nodesource.com/setup_24.x | sudo -E bash
apt list nodejs
apt install -y nodejs
node -v
npm -v
npm install -g openclaw@latest
openclaw onboard –install-daemon
当 docker-compose.yml 没变,但镜像有新版本:
docker-compose pull
docker-compose up -d
👉 等价于:
比如改了端口、环境变量、volume:
docker-compose up -d
如果你想强制重建(推荐在不确定时用):
docker-compose up -d --build
比如只更新 web:
docker-compose pull web
docker-compose up -d web
防止磁盘越用越满 🧹
docker-compose down
docker-compose up -d
或只清理不用的镜像:
docker image prune
Rocm7.2已经出了但是不兼容AI-MAX 395,下面是安装Rocm7.1.1和对应的rocm/pytorch
apt update
apt install vim wget gpg curl git -y
apt upgrade -y
wget https://repo.radeon.com/amdgpu-install/7.1.1/ubuntu/noble/amdgpu-install_7.1.1.70101-1_all.deb
apt install ./amdgpu-install_7.1.1.70101-1_all.deb
apt update
apt install python3-setuptools python3-wheel libjpeg-dev python3-dev python3-pip
groupadd render
usermod -a -G render,video ubuntu
apt install rocm
apt update
apt install “linux-headers-$(uname -r)” “linux-modules-extra-$(uname -r)”
apt install amdgpu-dkms
docker pull rocm/pytorch:rocm7.1.1_ubuntu24.04_py3.12_pytorch_release_2.9.1
https://docs.docker.com/engine/install/ubuntu
Run the following command to uninstall all conflicting packages:
sudo apt remove $(dpkg --get-selections docker.io docker-compose docker-compose-v2 docker-doc podman-docker containerd runc | cut -f1)
sudo apt update
sudo apt install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo “${UBUNTU_CODENAME:-$VERSION_CODENAME}”)
Components: stable
Signed-By: /etc/apt/keyrings/docker.asc
EOF
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
df -h # 找出满的分区
ubuntu默认使用lv卷管理磁盘你的磁盘可能有1TB,但是你可以看到比如
/dev/mapper/ubuntu–vg-ubuntu–lv: 100 GiB,
你看到类似下面的信息:
/dev/mapper/ubuntu--vg-ubuntu--lv 100G
但你明确知道磁盘是 1TB。
👉 这说明:
磁盘 = 1TB
物理卷(PV) / 卷组(VG) / 逻辑卷(LV) 只分配了 100G 给根分区
Linux 并不会自动把整块磁盘都给 /,尤其在 Ubuntu + LVM 场景下,这是正常现象。
LVM 的结构是:
磁盘(1TB)
└─ 物理卷 PV
└─ 卷组 VG(ubuntu-vg)
├─ 逻辑卷 LV(ubuntu-lv) ← 你现在只有 100G
└─ 剩余空间(还没用!)
👉 重点:剩下的 900G 还在 VG 里,没分给 LV
lsblk
你应该能看到类似:
sda 1T
└─sda3 1T
└─ubuntu--vg-ubuntu--lv 100G /
vgdisplay
关注这两行:
VG Size <1.00 TiB
Free PE / Size 900.00 GiB
👉 如果 Free 很大,说明空间还没用
lvdisplay
你会看到:
LV Size 100.00 GiB
/(最常见需求)⚠️ 下面操作是安全的,但建议生产环境先确认或快照
lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv
或者:
lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv
xfs_growfs /
df -h
你应该能看到:
/dev/mapper/ubuntu--vg-ubuntu--lv ~1.0T
timedatectl
sudo timedatectl set-timezone Asia/Shanghai
无需重启,立刻生效 ✅
修改后使用 timedatectl 命令确认
/etc/localtimesudo ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
维持一个长久运行的容器以供调试,加sleep infinity
容器停止后,自动删除这个容器 –rm
例子
docker run -dit – -device=/dev/kfd – -device=/dev/dri – -group-add video – -runtime=runc – -name ubuntu-alwayson qinzhen/comfyui-rocm:0.9.1 sleep infinity
之后使用 docker exec -it ubuntu-alwayson bash 进入,在宿主机使用docker restart ubuntu-alwayson 重启
AMD Rocm&Pytorch easy install
在容器内做了修改之后可以使用一下命令提交变更
docker commit “运行中的容器ID” “镜像名,如:qinzhen/xxxx”
做一个正式镜像
目录里建立Dockerfile文件,里面写上配置
docker build -t “镜像名” . (不要忘记有.)
docker push “镜像名”
清除Docker build的缓存
docker builder prune / docker builder prune -f / docker builder prune -af
改名
# Tag the existing image with a new name
docker tag old_image_name:latest new_image_name:latest
# Optionally, remove the old tag
docker rmi old_image_name:latest
Docker image 删除之后空间没有释放
这是 Docker 非常经典、但也很容易误解的问题。先给你一句结论:
删除 docker image ≠ 立刻释放磁盘空间
真正占空间的,往往是 容器、匿名 volume、build cache、overlay 层。
下面一步一步帮你把空间真正清干净,并告诉你每一步在清什么。
先跑这条:
docker system df
你会看到类似:
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 12 0 45GB 45GB (100%)
Containers 8 0 10GB 10GB (100%)
Local Volumes 15 2 80GB 60GB (75%)
Build Cache 23 0 35GB 35GB
👉 关键看 RECLAIMABLE,不是 SIZE
👉 这一步是“指路牌”,决定你下一步该删什么
dnf remove -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
dnf install -y moby-engine moby-cli moby-compose
Get-CimInstance Win32_OperatingSystem | Select-Object LastBootUpTime
返回类似:
LastBootUpTime
--------------
2025-01-12T03:41:22.123456+08:00
(Get-Date) - (gcim Win32_OperatingSystem).LastBootUpTime
返回类似:
Days : 2
Hours : 5
Minutes : 18
Seconds : 47
系统重启事件对应 Event ID 6006(正常关闭) 或 6008(异常关闭)。
Get-EventLog -LogName System -InstanceId 6006 -Newest 1
或 WMILog:
Get-WinEvent -FilterHashtable @{LogName='System'; Id=6006} -MaxEvents 1
相关网站1,https://www.jetson-ai-lab.com/
相关网站2,https://developer.nvidia.com/embedded/jetpack/downloads
Json Nano需要使用6.2.1 https://developer.nvidia.com/embedded/jetpack-sdk-621
Roadmap https://developer.nvidia.com/embedded/develop/roadmap
终于可以摆脱使用愚蠢的 NVIDIA SDK Manager将系统安装到SSD了
推荐使用 Etcher 作为Image的写卡工具 https://etcher.balena.io/
将SD Card Image写入你的Nvme SSD

打开任意可以编辑Linux分区文件的工具,比如Disk Genius
下载/boot/extlinux/extlinux.conf 文件并使用合适工具编辑
找到以下位置
APPEND ${cbootargs} root=/dev/nvme1n1p1 rw rootwait rootfstype=ext4 mminit_loglevel=4 console=ttyTCU0,115200 firmware_class.path=/etc/firmware fbcon=map:0 video=efifb:off console=tty0
root=/dev/nvme1n1p1 ,将dev后面的设备从mmcblk0p1改为对应的nvme, 2280 是nvme0n1p1, 2230是nvme1n1p1 保存,上传并覆盖源文件。安装好ssd并开机。