拓冰建站拓冰建站
首页 / 资讯中心 / 正文

Armbian常用命令手册:ARM开发板系统管理与运维实战指南

1. 项目概述为什么你需要一份Armbian常用命令手册如果你正在折腾一台基于Arm架构的开发板比如从网心云、电视盒子刷机而来的设备或者像Rockchip RK3318、RK3128这类硬件那么Armbian几乎是你绕不开的系统。它把成熟的Debian/Ubuntu体验带到了这些小巧、廉价但潜力巨大的ARM设备上让我们能用极低的成本搭建家庭服务器、软路由、下载机甚至轻量级开发环境。但问题也随之而来。当你第一次通过SSH或串口登录进那个熟悉的rootarmbian:~#提示符后面对的是一个“既熟悉又陌生”的Linux世界。熟悉的是它是Debian陌生的是它运行在资源受限的ARM平台上硬件驱动、软件源、性能调优都和x86服务器有微妙差别。网上一搜教程五花八门命令七零八落你可能会在“apt update失败”、“磁盘挂载不了”、“服务启动报错”这些问题上浪费大量时间。这就是我整理这份“Armbian常用命令手册”的初衷。它不是一个冰冷的Linux命令大全而是专门针对Armbian这个特定环境从系统初始化、网络配置、硬件调试到日常维护梳理出的实战操作清单。我会结合自己给H96 Max、玩客云等各种设备刷Armbian以及部署应用时踩过的坑告诉你每个命令在Armbian下的典型使用场景、常见参数和必须注意的细节。无论你是刚刷好系统一脸茫然的新手还是想优化现有服务的老手这份持续更新的手册都能成为你手边的速查工具和避坑指南。2. Armbian系统初始化与基础信息查看刚拿到一个刷好的Armbian系统别急着装软件。先摸清家底了解你设备的硬件配置和系统状态这是后续所有稳定操作的基础。2.1 系统与内核信息核查刷机包众多首先得确认你刷入的Armbian版本是否与硬件完美匹配。# 查看系统版本、发行版信息 cat /etc/os-release lsb_release -acat /etc/os-release会给出最详细的系统ID、版本号如VERSION_ID22.04和名称。而lsb_release -a输出更规整但某些极简镜像可能未安装lsb-release包需要先apt install lsb-release。注意对于从安卓电视盒子刷机而来的设备如玩客云、各种RK3318盒子务必关注内核版本是否包含了必要的硬件驱动特别是Wi-Fi、蓝牙、GPU和视频解码。这是Armbian相比通用Linux的特殊之处。# 查看内核版本和架构 uname -a输出类似Linux armbian 5.15.93-rockchip64 #23.02.2 SMP PREEMPT Wed Feb 15 00:20:13 UTC 2023 aarch64 GNU/Linux。这里关键信息是5.15.93-rockchip64: 内核版本及变体rockchip64说明这是针对Rockchip平台的特殊构建包含了相关芯片的驱动和优化。aarch64: 系统架构确认是64位ARM。如果是armv7l则是32位ARM。实操心得如果uname -a显示的是通用内核如5.15.93-generic在ARM开发板上可能会遇到性能问题或驱动缺失。优先选择Armbian官网提供的、针对你芯片型号如rockchip64,sunxi等的专用镜像。2.2 硬件资源监控与性能基线ARM设备内存和CPU资源通常比较紧张建立性能基线很重要。# 查看内存与交换空间使用情况推荐使用 -h 参数人类可读 free -h重点关注available列这才是真正可供程序使用的内存。如果available长期很低而buff/cache很高这通常是Linux正常的内存利用机制无需过分担心除非开始频繁使用swap。# 动态监控系统资源类似任务管理器 htop如果系统没有预装htop用apt install htop安装。它比传统的top命令直观太多。在htop里你可以按F2进入设置调整显示列。按F3搜索进程。按F4过滤进程。直接按F9再按Enter结束选中的进程比kill命令直观安全。观察每个CPU核心的负载ARM核心多但频率低均衡负载很重要。# 查看磁盘使用情况 df -h # 查看指定目录的磁盘占用详情 du -sh /path/to/directorydf -h查看所有挂载点的空间。对于刷机设备经常需要挂载额外的USB硬盘或SD卡作为存储盘这里能一目了然。du -sh *可以快速查看当前目录下所有文件和文件夹的大小找出占用空间的“元凶”。常见问题排查如果你发现根目录/快满了但df -h显示的空间总和不对可能是日志文件暴增。使用journalctl --disk-usage查看系统日志大小或用du -sh /var/log/检查。可以使用logrotate配置或手动清理rm来释放空间但清理前最好确认日志内容。3. 网络配置与诊断实战网络是ARM小服务器的生命线。无论是作为下载机需要稳定连接还是作为服务器需要固定IP网络配置都是关键。3.1 网络接口管理与静态IP设置Armbian通常使用NetworkManager或传统的netplan/network-interfaces来管理网络。新版本Debian 11/Bullseye 及以后倾向于使用netplan。# 查看所有网络接口及其状态 ip addr show # 或使用传统命令 ifconfig -aip addr显示的信息更现代。找到你的有线网卡通常是eth0或en*和无线网卡wlan0或wl*。state UP表示接口已启用。设置静态IP以netplan为例找到配置文件通常在/etc/netplan/目录下文件名如01-netcfg.yaml。编辑该文件nano /etc/netplan/01-netcfg.yaml修改内容示例将eth0设置为静态IPnetwork: version: 2 renderer: networkd ethernets: eth0: dhcp4: no addresses: [192.168.1.100/24] gateway4: 192.168.1.1 nameservers: addresses: [192.168.1.1, 8.8.8.8]addresses: IP地址和子网掩码CIDR格式/24对应255.255.255.0。gateway4: 网关地址。nameservers: DNS服务器。应用配置netplan apply如果配置有误导致断网可以用netplan --debug apply查看详细错误或者重启系统回退。重要提示在远程SSH连接下修改网络配置是危险操作务必确保你有另一种访问设备的方式如串口控制台、直接连接显示器键盘或者先在配置中设置一个与你当前网络同网段的静态IP避免应用配置后失去连接。3.2 网络连通性测试与诊断工具配置好了还得测试通不通。# 测试到网关或外网的通畅性 ping -c 4 192.168.1.1 ping -c 4 8.8.8.8-c 4表示发送4个包后停止。如果ping网关通但ping外网不通问题可能在网关或DNS。# 追踪数据包路径查看在哪个节点丢失 traceroute 8.8.8.8 # 或使用更现代的 tracepath tracepath 8.8.8.8# 查看当前系统的路由表 ip route show # 或 route -n确认默认路由default via ...是否正确指向你的网关。DNS解析测试# 使用系统配置的DNS进行解析 nslookup google.com # 或使用 dig 命令需安装 dnsutils dig google.com如果nslookup失败但ping 8.8.8.8成功那基本就是DNS配置问题。可以临时修改/etc/resolv.conf文件但注意它可能被网络管理服务覆盖。最稳妥的方法还是在netplan或NetworkManager配置中指定DNS。网络测速与下载测试# 安装 speedtest-cli 进行网速测试 apt install speedtest-cli speedtest# 使用 curl 测试下载速度并观察进度 curl -L -o /dev/null --limit-rate 500k https://example.com/largefile.zip--limit-rate 500k将下载速度限制在500KB/s可以用来测试稳定性避免占满带宽。4. 软件包管理与系统更新Armbian基于Debian使用apt包管理器。但ARM架构的软件源有时会有些“小脾气”。4.1 APT源配置与基础操作首先确保你的软件源是正确且最新的。# 更新软件包列表从源服务器获取最新软件信息 apt update这个命令不会升级任何已安装的软件它只更新本地的软件包索引。如果这一步很慢或出错问题通常出在软件源。# 升级所有可升级的软件包 apt upgrade它会列出所有将要升级的包并询问是否继续。这是安全升级不会删除旧包或安装新包。# 进行完整的系统升级可能会涉及内核、系统组件的重大更新 apt full-upgrade # 或 apt dist-upgrade这个命令更“激进”会处理升级过程中可能出现的依赖关系变化有时会安装新包或删除旧包。在Armbian上特别是使用自定义内核的设备执行此命令前请三思因为它可能会用通用内核覆盖你设备专用的内核导致驱动失效。通常对于稳定的服务器环境apt upgrade足矣。实操心得很多ARM开发板的软件源需要特定的配置。Armbian系统通常已经配置好了合适的源如deb.armbian.com。如果你更换了国内镜像源如清华、阿里云务必确认该镜像支持aarch64或armhf架构。编辑源列表文件nano /etc/apt/sources.list以及可能的额外源文件nano /etc/apt/sources.list.d/armbian.list4.2 软件的安装、卸载与查询# 安装一个软件包 apt install package_name # 例如安装网络诊断工具 apt install net-tools dnsutils curl wget# 卸载软件包保留配置文件 apt remove package_name # 彻底卸载软件包同时删除配置文件 apt purge package_name# 搜索软件包 apt search keyword # 例如搜索与ffmpeg相关的包 apt search ffmpeg# 查看软件包的详细信息 apt show package_name # 查看一个软件包是否已安装 dpkg -l | grep package_name常见问题apt install时出现“无法定位软件包”错误。首先运行apt update。如果问题依旧可能是软件源不对或软件包名错误。对于某些较新的软件可能需要添加第三方PPA个人软件包存档但在ARM架构上很多PPA并不提供ARM构建添加前需谨慎。4.3 编译安装与特殊软件获取有些软件在ARM源里没有或者你需要特定版本就需要编译安装。# 安装编译依赖 apt install build-essential git cmake automake autoconf libtool pkg-config基本流程是git clone或wget下载源代码。cd进入源码目录。阅读README.md或INSTALL文件按照指示操作。通常步骤是./configure make -j$(nproc) # 使用所有CPU核心并行编译加快速度 make install./configure可能会检查并报错缺少某些库你需要根据错误信息用apt install安装对应的-dev包如libssl-dev。注意事项编译安装的软件通常安装在/usr/local/目录下。卸载它没有apt remove那么简单可能需要手动删除或者在编译时使用./configure --prefix/opt/mysoftware指定一个独立目录方便管理。5. 文件与磁盘操作精讲在Armbian上外接USB硬盘或SD卡扩展存储是常态因此文件管理和磁盘操作尤为重要。5.1 文件操作与权限管理# 递归复制目录 cp -r source_dir destination_dir # 交互式复制覆盖前询问 cp -i source_file destination# 移动或重命名文件/目录 mv old_name new_name mv file /path/to/destination/# 删除文件或空目录 rm file # 递归强制删除目录及其下所有内容危险 rm -rf directory警告rm -rf /是毁灭性的命令会删除根目录下所有文件。永远不要在生产环境或没有备份的情况下使用通配符进行递归删除如rm -rf ./*在错误目录下执行也可能酿成大祸。一个安全习惯是先pwd确认当前目录再执行删除。# 查看文件权限 ls -l file # 修改文件权限 chmod 755 script.sh # 所有者可读可写可执行组和其他用户可读可执行 chmod x script.sh # 为所有用户添加执行权限 # 修改文件所有者和所属组 chown user:group file5.2 磁盘挂载、格式化与扩容这是Armbian上的高频操作尤其是使用电视盒子时eMMC存储小必须挂载大容量USB硬盘。查看磁盘和分区# 查看所有块设备磁盘、分区 lsblk -f这个命令会以树状结构显示设备如sda,mmcblk0、分区如sda1及其文件系统类型、挂载点、UUID。UUID是唯一标识符比设备名/dev/sda1更稳定推荐在配置文件中使用。挂载一个分区# 创建挂载点目录 mkdir -p /mnt/myhdd # 临时挂载重启失效 mount /dev/sda1 /mnt/myhdd # 使用UUID挂载更可靠 mount UUIDyour-uuid-here /mnt/myhdd实现开机自动挂载 编辑/etc/fstab文件nano /etc/fstab添加一行例如UUIDyour-uuid-here /mnt/myhdd ext4 defaults,nofail 0 0defaults: 使用默认挂载选项rw, suid, dev, exec, auto, nouser, async。nofail: 非常重要如果系统启动时此磁盘不存在比如USB硬盘未插入系统不会因此卡住等待而是跳过继续启动。对于可移动存储务必加上此选项。最后的两个0是dump和fsck顺序一般设为0 0。格式化一个新磁盘# 首先用 lsblk 或 fdisk -l 确认要格式化的设备名千万别选错 # 使用 fdisk 或 cfdisk 进行分区假设是 /dev/sdb fdisk /dev/sdb # 在 fdisk 交互界面里按 n 新建分区按 w 保存退出。 # 然后格式化分区为 ext4 文件系统推荐用于Linux mkfs.ext4 /dev/sdb1扩容根分区如果你刷入的Armbian镜像使用了全盘镜像根分区可能只占用了SD卡或eMMC的一部分空间。可以使用armbian-config工具如果预装进行图形化扩容或者使用fdisk和resize2fs命令手动操作但这有一定风险操作前务必备份重要数据。6. 进程管理与服务控制让应用在后台稳定运行是Armbian作为服务器的核心任务。6.1 进程的查看、控制与后台运行# 查看当前进程快照 ps aux # 查看特定进程 ps aux | grep nginxps aux输出中%CPU和%MEM列很直观。STAT列表示进程状态如S睡眠R运行Z僵尸。# 动态查看进程和资源占用 top # 或使用更强大的 htop需安装结束进程# 先尝试友好地结束进程发送 SIGTERM 信号 kill PID # 如果进程不响应强制结束发送 SIGKILL 信号 kill -9 PID # 结束所有名为“myapp”的进程 pkill myappkill -9是最后手段因为它不给进程清理现场的机会可能导致数据丢失或状态不一致。让命令在后台运行# 在命令末尾加上 使其在后台运行并返回作业号和PID python3 my_script.py # 将后台运行的作业调回前台 fg %1 # 查看后台作业 jobs # 如果退出终端后还想让进程继续运行需要使用 nohup nohup python3 my_script.py output.log 21 nohup配合和输出重定向是让服务在SSH断开后持续运行的经典方法。6.2 使用Systemd管理服务现代Armbian系统使用systemd作为初始化系统和服务管理器。这是管理自启动服务的标准方式。# 启动一个服务 systemctl start service_name # 停止一个服务 systemctl stop service_name # 重启服务 systemctl restart service_name # 查看服务状态 systemctl status service_namesystemctl status的输出非常有用它会显示服务是否活跃active、运行日志片段以及最近的错误信息。# 设置服务开机自启 systemctl enable service_name # 禁止服务开机自启 systemctl disable service_name # 查看服务是否启用 systemctl is-enabled service_name查看所有服务# 列出所有已加载的服务单元 systemctl list-units --typeservice # 列出所有单元文件包括未加载的 systemctl list-unit-files查看和分析日志# 查看指定服务的日志 journalctl -u service_name # 查看实时滚动的日志 journalctl -f # 查看特定时间段的日志 journalctl --since 2023-10-01 --until 2023-10-02 # 查看内核日志 dmesg | tail -20journalctl是systemd的日志工具功能强大。-u指定服务单元-f跟随实时查看-e跳转到日志末尾。创建自定义系统服务 如果你想让自己写的脚本或程序以服务方式运行需要创建一个服务单元文件。nano /etc/systemd/system/my-custom-service.service内容示例[Unit] DescriptionMy Custom Service Afternetwork.target [Service] Typesimple Userroot WorkingDirectory/opt/myapp ExecStart/usr/bin/python3 /opt/myapp/app.py Restarton-failure RestartSec5s [Install] WantedBymulti-user.target保存后运行systemctl daemon-reload # 重新加载systemd配置 systemctl start my-custom-service systemctl enable my-custom-service这样你的应用就能像系统服务一样被管理了。Restarton-failure确保了服务崩溃后会自动重启非常适合用于部署在Armbian上的各种自研应用。
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门