VMware虚拟机安装armbian24.5.1_minimal换国内源并使用教程

使用的Armbian版本:Armbian_24.5.1_Uefi-x86_bookworm_current_6.6.31-homeassistant_minimal

VMware:16.2.2 build-19200509

更换国内源

新版本25.1为:DEB822 格式(/etc/apt/sources.list.d/debian.sources)格式的源

#编辑``/etc/apt/sources.list文件; sudo nano /etc/apt/sources.list`打开文件;
删除或注释以前的内容,换成下面的源:(复制-vm菜单“编辑”-粘贴)

#deb http://mirrors.tuna.tsinghua.edu.cn/armbian/ buster main buster-utils buster-desktop
# 清华源
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free
#deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free

deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-free
#deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-free

deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-free
#deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-free

deb https://mirrors.tuna.tsinghua.edu.cn/debian-security/ bullseye-security main contrib non-free
#deb-src https://mirrors.tuna.tsinghua.edu.cn/debian-security/ bullseye-security main contrib non-free
# 阿里云源
deb http://mirrors.aliyun.com/debian/ bullseye main contrib non-free
#deb-src http://mirrors.aliyun.com/debian/ bullseye main contrib non-free

deb http://mirrors.aliyun.com/debian/ bullseye-updates main contrib non-free
#deb-src http://mirrors.aliyun.com/debian/ bullseye-updates main contrib non-free

deb http://mirrors.aliyun.com/debian/ bullseye-backports main contrib non-free
#deb-src http://mirrors.aliyun.com/debian/ bullseye-backports main contrib non-free

deb http://mirrors.aliyun.com/debian-security/ bullseye-security main contrib non-free
#deb-src http://mirrors.aliyun.com/debian-security/ bullseye-security main contrib non-free

修改/etc/apt/sources.list.d/armbian.list下的文件

deb [signed-by=/usr/share/keyrings/armbian.gpg] https://mirrors.tuna.tsinghua.edu.cn/armbian bookworm main bookworm-utils bookworm-desktop

可以参考清华大学开源软件镜像站用命令进行修改:

sed -i.bak 's#http://apt.armbian.com#https://mirrors.tuna.tsinghua.edu.cn/armbian#g' /etc/apt/sources.list.d/armbian.list
apt update

修改完成之后,使用Ctrl+O 然后按Enter键,Ctrl+X关闭文件;
也可以按ctrl+x ctrl+y Enter 保存退出文件修改:

当完成以上所有操作后,你的Armbian就换成了清华源,但是还需要执行下面的命令使之生效:

sudo apt-get update

这个命令会访问软件源列表里的每个网址,然后更新软件列表索引并保存在本地。如果在安装软件A的过程中用到了软件B,那么就会自动到软件列表里拉取。如果我们没有执行该命令,就可能会导致找不到相关的软件包而出错。所以在安装新的软件之前(宝塔、nginx、php、mysql等)都要先执行这个操作(不过也不用太频繁地执行该命令,一次安装多个软件,执行一次即可,太频繁了也没什么可以更新的)。执行完之后再装软件一般就不会报错了(当然,该出错的还是会错)。

换源后 就可以更新包了sudo apt update && apt upgrade

智能安装

使用 aptitude

aptitude 是一个更智能的包管理工具,可以自动解决依赖关系问题

安装 aptitude:sudo apt-get install aptitude

使用 aptitude 安装软件包:sudo aptitude install <packagename>

更新包遇到的tzdata_2025b-0+deb11u1_all.deb安装问题

dpkg: error processing archive /var/cache/apt/archives/tzdata_2025b-0+deb11u1_all.deb (--unpack):
unable to open '/usr/share/zoneinfo/posix/Africa/Abidjan.dpkg-new': No such file or directory
Errors were encountered while processing:
/var/cache/apt/archives/tzdata_2025b-0+deb11u1_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

检查 Debian 版本

首先确认您的系统版本是否为 armbina 12 (bookworm):

lsb_release -a

如果不是 armbina 12,请相应调整后续步骤。

修正 APT 软件源

确保 /etc/apt/sources.list 指向 armbina 12 的软件源,内容应类似:

deb http://deb.debian.org/debian bookworm main
deb http://deb.debian.org/debian bookworm-updates main
deb http://security.debian.org/debian-security bookworm-security main

移除所有对 bullseye (Debian 11) 的引用。

更新软件包列表

apt-get update

清理部分安装

apt-get clean
rm -rf /var/lib/apt/lists/*

重新配置 tzdata 及其依赖

apt-get install -f
dpkg --configure -a

安装正确的 tzdata 版本

apt-get install tzdata

这将确保安装适用于 Debian 12 的正确软件包,解决文件路径冲突问题。 如果问题仍然存在,可以手动删除有问题的文件/目录(确保备份后操作),但这种情况很少需要。

更新包遇到的files list file for package ‘xxx’ missing; assuming package has no files currently installed问题

currently installed
dpkg: warning: files list file for package 'login' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'cron-daemon-common' missing; assuming package has no files
#后面还有好多。

将终端的命令内容输出到文件:
 sudo apt reinstall sl > dpkg-warning.txtsudo apt upgrade sl > dpkg-warning.txt
这2个命令都可以。

root目录下创建一 个fix.sh文件,将以下代码输入其中:

 #!/bin/bash
set -e
# Clean out /var/cache/apt/archives
apt-get clean
# Fill it with all the .debs we need
apt-get --reinstall -dy install $(dpkg --get-selections | grep '[[:space:]]install' | cut -f1)

DIR=$(mktemp -d -t info-XXXXXX)
for deb in /var/cache/apt/archives/*.deb
do
# Move to working directory
cd "$DIR"
# Create DEBIAN directory
mkdir -p DEBIAN
# Extract control files
dpkg-deb -e "$deb"
# Extract file list, fixing up the leading ./ and turning / into /.
dpkg-deb -c "$deb" | awk '{print $NF}' | cut -c2- | sed -e 's/^\/$/\/./' > DEBIAN/list
# Figure out binary package name
DEB=$(basename "$deb" | cut -d_ -f1)
# Copy each control file into place
cd DEBIAN
for file in *
do
cp -a "$file" /var/lib/dpkg/info/"$DEB"."$file"
done
# Clean up
cd ..
rm -rf DEBIAN
done
rmdir "$DIR"

运行chmod +x pi.sh && ./pi.sh proxy 对警告文件进行修复。

解决 dpkg 被中断的问题

当你在更新包时,突然有事,中断包的更新以后,会遇到 dpkg was interrupted, you must manually run ‘sudo dpkg –configure -a’ to correct the problem. 错误,表示在使用 dpkg 进行软件包管理时出现了中断,需要手动修复。

sudo dpkg –configure -a

步骤

  1. 运行修复命令

首先,按照提示运行以下命令来修复问题:

sudo dpkg –configure -a

  1. 检查锁文件

如果上述命令未能解决问题,可能是因为存在锁文件。你可以通过以下步骤来解决:

查看锁文件

sudo lsof /var/lib/dpkg/lock-frontend

杀死相关进程 找到占用锁文件的进程ID,然后使用以下命令杀死该进程:

sudo kill -9

删除锁文件

sudo rm /var/lib/dpkg/lock-frontend

  1. 再次运行修复命令

删除锁文件后,再次运行以下命令:

sudo dpkg –configure -a

通过以上步骤,你应该能够成功解决 dpkg 被中断的问题,并恢复正常的软件包管理功能。

安装armbian-config设置面板

Armbian24.5本身没有自带armbian—config设置面板,需要自行安装,这个也可以不安装。
apt install armbian-config

项目处理脚本

Armbian提供了丰富的自定义脚本能力,例如自动化更新和配置脚本。

#!/bin/bash

# 更新软件包列表
sudo apt-get update

# 升级所有软件包至最新
sudo apt-get upgrade -y

# 清理不再使用的依赖
sudo apt-get autoremove -y

# 清理缓存
sudo apt-get clean

将此脚本保存为``update-system.sh,并给予执行权限:chmod +x update-system.sh`

运行脚本以自动完成系统升级过程:./update-system.sh

File Browser 安装

安装并启动文件管理器FileBrowser
wget -qO pi.sh https://cafe.cpolar.top/wkdaily/zero3/raw/branch/main/zero3/pi.sh && chmod +x pi.sh && ./pi.sh3进行安装

请输入选项的序号(输入q退出): 3
[INFO] 正在下载文件管理器(linux/amd64) 请稍等...
################################################################################################################################################# 100.0%
[INFO] 下载完成 正在解压...
[NOTICE] 不依赖于docker的 文件管理器安装成功
[INFO] 设置文件管理器的端口为: 38080
[INFO] 启动 filebrowser 文件管理器...
[INFO] filebrowser 文件管理器已启动,可以通过 http://192.168.50.205:38080 访问
[INFO] 登录用户名:admin
[INFO] 默认密码:admin(请尽快修改密码)
Created symlink /etc/systemd/system/multi-user.target.wants/filebrowser.service → /etc/systemd/system/filebrowser.service.

  • 将filebrowser加入到开机启动中 sudo systemctl enable filebrowser.service
  • 至此配置完成,然后我们启动filebrowser:sudo systemctl start filebrowser.service
  • 附带查看filebrowser状态和停止命令:
    sudo systemctl status filebrowser.service
    sudo systemctl stop filebrowser.service

IPanel面板

在**1Panel 文档文档的2安装部署中选择Debian**,复制在线安装命令:
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && bash quick_start.sh

root@uefi-x86:~# curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && bash quick_start.sh
开始下载 1Panel v1.10.29-lts 版本在线安装包
安装包下载地址: https://resource.fit2cloud.com/1panel/package/stable/v1.10.29-lts/release/1panel-v1.10.29-lts-linux-amd64.tar.gz
...................
1panel-v1.10.29-lts-linux-amd64/1panel
Select a language:
1. English
2. Chinese 中文(简体)
3. Persian
4. Português (Brasil)
5. Русский
Enter the number corresponding to your language choice: 2
You selected: Chinese 中文(简体)
[1Panel 2025-05-01 13:35:51 install Log]: ======================= 开始安装 =======================
设置1Panel安装目录 (默认为/opt):
[1Panel 2025-05-01 13:35:57 install Log]: 您选择的安装路径是 /opt
是否要配置镜像加速 [y/n]: y
[1Panel 2025-05-01 13:36:04 install Log]: 配置文件已存在,我们将备份现有的配置文件到: /etc/docker/daemon.json.1panel_bak.
[1Panel 2025-05-01 13:36:04 install Log]: 创建新配置文件 /etc/docker/daemon.json...
[1Panel 2025-05-01 13:36:04 install Log]: 已添加镜像加速配置。
[1Panel 2025-05-01 13:36:04 install Log]: 正在重启Docker服务...
[1Panel 2025-05-01 13:36:05 install Log]: Docker服务已成功重启。
[1Panel 2025-05-01 13:36:05 install Log]: ... 在线安装Docker Compose
..............
[1Panel 2025-05-01 13:36:21 install Log]: Docker Compose安装成功
设置1Panel端口 (默认是 34437):
设置1Panel端口 (默认是 34437): 10086
[1Panel 2025-05-01 13:39:28 install Log]: 您设置的端口是: 10086
设置1Panel安全入口 (默认是 616ec2a4e3): 1111
[1Panel 2025-05-01 13:39:49 install Log]: 您设置的面板安全入口是 1111
设置1Panel面板用户 (默认是 9a44be5776): admin
[1Panel 2025-05-01 13:40:06 install Log]: 您设置的面板用户是 admin
[1Panel 2025-05-01 13:40:06 install Log]: 设置1Panel面板密码,设置后按回车键继续 (默认是 bd684e733b):
***** 'admin'
[1Panel 2025-05-01 13:40:24 install Log]: 错误: 面板密码仅支持字母、数字、特殊字符(!@#$%*_,.?),长度为8-30个字符
[1Panel 2025-05-01 13:40:24 install Log]: 设置1Panel面板密码,设置后按回车键继续 (默认是 bd684e733b):
******** 'admin26'
[1Panel 2025-05-01 13:40:49 install Log]: 正在配置1Panel服务
Created symlink /etc/systemd/system/multi-user.target.wants/1panel.service → /etc/systemd/system/1panel.service.
[1Panel 2025-05-01 13:40:50 install Log]: 正在启动1Panel服务
切换成功!已切换至监听 tcp6 [::]
重启 1Panel 服务 成功
=================感谢您的耐心等待,安装已完成==================
[1Panel 2025-05-01 13:40:51 install Log]:
[1Panel 2025-05-01 13:40:51 install Log]: 请使用您的浏览器访问面板:
[1Panel 2025-05-01 13:40:51 install Log]: 外部地址: http://[240e:385:8d0:8d00:56d6:4aa4:4b7c:c941]:10086/1111
[1Panel 2025-05-01 13:40:51 install Log]: 内部地址: http://192.168.50.86:10086/1111
[1Panel 2025-05-01 13:40:51 install Log]: 面板用户: admin
[1Panel 2025-05-01 13:40:51 install Log]: 面板密码: jw26
[1Panel 2025-05-01 13:40:51 install Log]:
[1Panel 2025-05-01 13:40:51 install Log]: 官方网站: https://1panel.cn
[1Panel 2025-05-01 13:40:51 install Log]: 项目文档: https://1panel.cn/docs
[1Panel 2025-05-01 13:40:51 install Log]: 代码仓库: https://github.com/1Panel-dev/1Panel
[1Panel 2025-05-01 13:40:51 install Log]: 前往 1Panel 官方论坛获取帮助: https://bbs.fit2cloud.com/c/1p/7
[1Panel 2025-05-01 13:40:51 install Log]:
[1Panel 2025-05-01 13:40:51 install Log]: 如果您使用的是云服务器,请在安全组中打开端口 10086
[1Panel 2025-05-01 13:40:51 install Log]:
[1Panel 2025-05-01 13:40:51 install Log]: 为了您的服务器安全,离开此屏幕后您将无法再次看到您的密码,请记住您的密码。
[1Panel 2025-05-01 13:40:51 install Log]:
[1Panel 2025-05-01 13:40:51 install Log]: ================================================================ 一次安装成功

1panl卸载

停止服务‌:首先确保1Panel服务已停止运行,可以使用以下命令:
sudo systemctl stop 1panel

卸载服务‌:使用1Panel自带的命令行工具1pctl卸载服务:sudo 1pctl uninstall

清理残留文件‌:卸载后,还需要清理残留的配置文件和数据文件:
sudo rm -rf /var/lib/1panel /etc/1panel /usr/local/bin/1pctl

清除日志文件‌:清除与1Panel相关的日志文件:sudo journalctl --vacuum-time=3d

验证卸载‌:确认1Panel是否已完全卸载,可以使用以下命令:
sudo systemctl list-unit-files | grep 1panel

如果在卸载过程中遇到数据库损坏的问题,可以通过以下步骤解决: 进入1panel的数据库文件位置,通常为/opt/1panel/db。

docker容器

安装Docker

我用的这个版本包含了docker,可以用命令docker info查看版本信息。

如果你过去安装过 docker,先删掉:
sudo apt-get remove docker docker-engine docker.io

更新源 sudo apt-get update

安装依赖: 安装包允许 apt-get 通过 https 使用仓库
sudo apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common

信任 Docker 的 GPG 公钥: 添加 docker 官方 GPG key

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

通过SSH连接到您的Armbian系统。在命令行中输入以下命令来安装Docker:

sudo apt update
sudo apt install docker.io

系统会提示您确认安装,输入y并按下回车键。安装过程可能需要一些时间,请耐心等待直到安装完成。

安装完成后,您可以通过输入以下命令来验证Docker是否成功安装:docker --version
如果安装成功,您将看到Docker的版本信息。您还可以使用以下命令来查看Docker的帮助内容:docker --help
这将显示Docker的可用命令和选项。

在Armbian系统上,Docker通常会在系统启动时自动启动。如果您需要手动启动Docker,可以使用以下命令:
sudo systemctl start docker

如果您希望Docker在系统启动时自动启动,可以使用以下命令:sudo systemctl enable docker

现在,您已经成功在Armbian系统上安装了Docker,可以开始使用它来构建、运行和管理容器了。您可以参考Docker的官方文档或其他教程来了解如何使用Docker。

解决Docker镜像无法拉取问题

  1. 修改Docker /etc/docker/daemon.json下的配置文件,打开后添加以下内容:

    #  "https://registry.docker-cn.com",  //这是原版的地址
    {
    "registry-mirrors": [
    "https://2a6bf1988cb6428c877f723ec7530dbc.mirror.swr.myhuaweicloud.com",
    "https://docker.1ms.run",
    "https://docker.1panel.live/",
    "http://hub-mirror.c.163.com",
    "https://docker.mirrors.ustc.edu.cn",
    "https://cr.console.aliyun.com",
    "https://mirror.ccs.tencentyun.com",
    "https://registry.cn-beijing.aliyuncs.com",
    "https://docker.m.daocloud.io",
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com",
    "https://dockerhub.icu",
    "https://docker.registry.cyou",
    "https://docker-cf.registry.cyou",
    "https://dockercf.jsdelivr.fyi",
    "https://docker.jsdelivr.fyi",
    "https://dockertest.jsdelivr.fyi",
    "https://mirror.aliyuncs.com",
    "https://dockerproxy.com",
    "https://mirror.baidubce.com",
    "https://docker.m.daocloud.io",
    "https://docker.nju.edu.cn",
    "https://docker.mirrors.sjtug.sjtu.edu.cn",
    "https://docker.mirrors.ustc.edu.cn",
    "https://mirror.iscas.ac.cn",
    "https://docker.rainbond.cc",
    "https://docker.1panel.live"
    ],
    "dns": ["8.8.8.8","8.8.4.4"]
    }
  2. 重新加载 Docker 配置并重启 Docker 服务

    sudo systemctl daemon-reload
    sudo systemctl restart docker
  3. 查看配置是否成功:docker info

    Insecure Registries:
    ::1/128
    127.0.0.0/8
    Registry Mirrors:
    https://docker.1ms.run/
    https://docker.1panel.live/
    http://hub-mirror.c.163.com/
    https://docker.mirrors.ustc.edu.cn/
    https://cr.console.aliyun.com/
    https://mirror.ccs.tencentyun.com/
    https://registry.cn-beijing.aliyuncs.com/
    Live Restore Enabled: false

docker安装镜像

安装drpy-node项目示例

  1. 拉取docker镜像(如果不设置上面的源,拉取是非常慢)docker pull eulac/my-drpys:latest

  2. 克隆项目到本地(记住项目目录, 可用pwd查看):
    git clone https://github.com/hjdhnx/drpy-node.git

  3. 启动项目:自己确认映射路径 -v 本地目录:容器目录[固定为/root/drpy-node]
    docker run -d --name drpyS -p 5757:5757 -v /drpy-node:/root/drpy-node eulac/my-drpys:latest

    • docker run:用于创建并启动一个新的容器。
    • -d :表示以“分离模式”(detached mode)运行容器,即在后台运行。
    • –name drpyS:为容器指定一个名称drpyS,方便后续管理(如启动、停止、删除等)。
    • -p 5757:5757:端口映射,格式为主机端口:容器端口。主机的5757端口会映射到容器的5757端口,允许外部通过主机的5757端口访问容器内的服务。
    • -v /drpy-node:/root/drpy-node:卷(volume)挂载,格式为主机目录:容器目录。将主机的/drpy-node目录挂载到容器的/root/drpy-node目录,实现数据持久化或文件共享。
    • eulac/my-drpys:latest:指定使用的Docker镜像名称及标签。``eulac/my-drpys是镜像名称,latest`是标签(表示最新版本)。eulac/my-drpys是用户eulac构建的镜像。
  4. 手动更新项目:

  • 进入项目目录([可选]自己确认目录, 如果已经在目录下可忽略): cd drpy-node
  • 更新代码(网络不佳自己使用代理, 优先使用普通拉取提示文件冲突再使用强制拉取)
    普通拉取:git pull
    强制拉取:git fetch --all && git reset --hard origin/main
  • 更新依赖(根据自己需要选择更新依赖方式)
    通过普通更新([推荐]自己确认容器名):docker exec -it drpyS npm install
    通过镜像更新: docker pull eulac/my-drpys:latest
  • 重启服务(自己确认容器名): docker rm -f drpyS; docker restart drpyS
  1. 容器命令:

    • 查看容器日志:docker logs drpyS
    • 进入容器终端:docker exec -it drpyS /bin/bash
    • 停止/启动容器:docker stop drpyS docker start drpyS`
    • 删除容器:docker rm drpyS