armbian 笔记

网心云oec turbo armbian使用

apt update

安装docker

curl -x http://192.168.0.122:7890 -fsSL https://get.docker.com/ | sh

UFW防火墙

安装

apt install ufw -y

自用规则

ufw allow https
ufw allow from 172.17.0.0/16
ufw allow in on docker0
ufw allow out on docker0
ufw allow from 192.168.0.0/24

关闭/开启USB启动方法

(仅适用于此镜像)
首次运行时,执行以下命令

apt update
apt-mark unhold armbian-bsp-cli-odroidn2-current
apt remove u-boot-tools
apt install u-boot-tools
apt install armbian-bsp-cli-odroidn2-current
apt-mark hold armbian-bsp-cli-odroidn2-current

之后 只要运行fw_setenv enabled_usbboot '0' 就能关闭开机的USB启动
要再打开USB启动,用fw_setenv enabled_usbboot '1'

挂载sata

格式化的是 /dev/sda 整块盘

✅ 1. 删除 sda 上所有旧分区(清空分区表)

wipefs -a /dev/sda
parted /dev/sda mklabel gpt

✅ 2. 创建一个新分区占满整个盘

parted -a opt /dev/sda mkpart primary ext4 0% 100%

执行完后会生成 /dev/sda1


✅ 3. 格式化为 EXT4

mkfs.ext4 /dev/sda1

✅ 4. 创建挂载目录

mkdir -p /mnt/data

✅ 5. 获取 sda1 的 UUID

blkid /dev/sda1

输出类似:

UUID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"

✅ 6. 写入 /etc/fstab 实现开机自动挂载

打开 fstab:

nano /etc/fstab

添加这一行(把 UUID= 后面替换成你实际的 UUID):

UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx  /mnt/data  ext4  defaults,noatime  0  2

保存退出:

Ctrl+O
Ctrl+X

✅ 7. 测试 fstab 是否正确(非常重要)

mount -a

如果没有报错,说明配置正确。


⭕ 8. 查看是否成功挂载

df -h | grep data

应该看到 /dev/sda1 已挂载到 /mnt/data

sudo chmod -R 777 /mnt/data /media/data

Docker数据迁移

把 Docker 的数据目录迁移到 /mnt/data/docker

目标:
Docker data-root → /mnt/data/docker
containerd 数据也一起走


⚠️ 迁移前确认(重要)

  1. /mnt/data 已开机自动挂载(你前面已完成 ✅)

  2. Docker 当前可以停机

  3. /mnt/data 空间充足


✅ 一、停止 Docker & containerd

systemctl stop docker
systemctl stop containerd

确认已停止:

systemctl status docker containerd

应为 inactive


✅ 二、创建新的 Docker 目录

mkdir -p /mnt/data/docker

✅ 三、迁移原有数据(非常重要)

默认原路径:

  • Docker:/var/lib/docker

  • containerd:/var/lib/containerd

1️⃣ 迁移 Docker 数据

rsync -aHAX --progress /var/lib/docker/ /mnt/data/docker/

2️⃣ (可选但推荐)迁移 containerd

rsync -aHAX --progress /var/lib/containerd/ /mnt/data/docker/containerd/

✅ 四、修改 Docker 配置(data-root)

编辑 Docker 配置文件:

nano /etc/docker/daemon.json

写成这样(如果文件不存在就新建):

{
  "data-root": "/mnt/data/docker"
}

⚠️ 注意:

  • JSON 不能多逗号

  • 之前有内容就合并,不要覆盖


✅ 五、修改 containerd 数据目录

编辑 containerd 配置:

containerd config default > /etc/containerd/config.toml
nano /etc/containerd/config.toml

找到并修改(只改这一项):

root = "/mnt/data/docker/containerd"

确认目录存在:

mkdir -p /mnt/data/docker/containerd

✅ 六、重载 systemd 并启动

systemctl daemon-reload
systemctl start containerd
systemctl start docker

✅ 七、验证是否生效

1️⃣ Docker 数据目录

docker info | grep "Docker Root Dir"

应显示:

Docker Root Dir: /mnt/data/docker

2️⃣ containerd 目录

mount | grep docker
ls /mnt/data/docker

✅ 八、确认容器和镜像是否正常

docker ps
docker images

全部正常 = 迁移成功 🎉


🧹 九、确认无误后清理旧目录(最后一步!)

确认跑一段时间没问题再删

rm -rf /var/lib/docker
rm -rf /var/lib/containerd

🔐 强烈推荐再做一件事(防翻车)

让 Docker /mnt/data 挂载完成再启动

mkdir -p /etc/systemd/system/docker.service.d
nano /etc/systemd/system/docker.service.d/override.conf

写入:

[Unit]
RequiresMountsFor=/mnt/data

保存后:

systemctl daemon-reload
systemctl restart docker

🎯 你现在的结构应该是

/mnt/data/
└── docker/
    ├── overlay2
    ├── containers
    ├── volumes
    └── containerd

使用服务器代理本地armbian

✅ 正确用法

在你本地机器执行:

ssh -p 9527 -N -D 22 root@<ip>

如果你不想占着终端:

ssh -p 9527 -f -N -D 22 root@<ip>

🔍 每个参数是什么意思(简单版)

参数

含义

-p 9527

SSH 端口(你的服务器)

-D 7890

本地开启 SOCKS5 代理

-N

不执行远程命令

-f

后台运行


🧪 测试是否真的走了服务器

export ALL_PROXY="socks5h://127.0.0.1:7890"
curl https://ipinfo.io

看到 IP 是服务器 <IP> 就成功了 ✅

保持 SOCKS5,然后在本地做转换(推荐)

你可以用 privoxyredsocks 把 SOCKS5 转成 HTTP 代理:

1️⃣ 安装 Privoxy(在本地 Armbian)

sudo apt update
sudo apt install privoxy -y

2️⃣ 配置 Privoxy 转发到 SOCKS5

编辑 /etc/privoxy/config,加一行:

forward-socks5   /               127.0.0.1:7891 .

3️⃣ 启动 Privoxy

sudo systemctl restart privoxy

默认 HTTP 代理端口是 8118

4️⃣ 使用 HTTP 代理

export http_proxy="http://127.0.0.1:8118"
export https_proxy="http://127.0.0.1:8118"
curl https://ipinfo.io

✅ 输出应该是你的香港 VPS IP

好处:很多程序只认 HTTP 代理,Privoxy 做了转换

  1. 编辑 /etc/privoxy/config,找到:

listen-address  127.0.0.1:8118

改为:

listen-address  0.0.0.0:8118
  1. 重启 Privoxy

sudo systemctl restart privoxy
  1. 容器里就可以通过宿主机 IP 访问:

http://192.168.0.168:8118

⚠️ 风险:暴露到整个局域网,不要直接开公网访问

消息盒子

# 暂无消息 #

只显示最新10条未读和已读信息