活动公告

系统通知
05-18 21:22
系统通知
通知:本站资源由网友上传分享,如有违规等问题请到版务模块进行投诉,资源失效请在帖子内回复要求补档,会尽快处理!
10-23 09:31

Arch Linux ARM系统管理必备命令集锦助你轻松驾驭嵌入式设备

SunJu_FaceMall

3万

主题

2860

科技点

3万

积分

白金月票

碾压王

积分
32872

塔罗立华奏

<font color=白金月票" /> 发表于 2025-9-12 19:50:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
引言

Arch Linux ARM是Arch Linux的ARM架构移植版本,专为嵌入式设备设计。它继承了Arch Linux的简洁、轻量和高度可定制的特点,使其成为树莓派、BeagleBone等开发板的理想操作系统。本文将详细介绍Arch Linux ARM系统管理中的必备命令,帮助您高效管理和维护嵌入式设备。

系统基本信息查看命令

了解系统的基本信息是进行系统管理的第一步。以下命令可以帮助您快速获取系统状态:

查看系统信息
  1. # 查看内核版本和系统信息
  2. uname -a
  3. # 查看系统发行版信息
  4. cat /etc/os-release
  5. # 查看系统运行时间和负载
  6. uptime
  7. # 查看系统已启动时间
  8. systemd-analyze
复制代码

查看硬件信息
  1. # 查看CPU信息
  2. cat /proc/cpuinfo
  3. # 查看内存信息
  4. cat /proc/meminfo
  5. free -h
  6. # 查看磁盘分区信息
  7. fdisk -l
  8. lsblk
  9. # 查看USB设备
  10. lsusb
  11. # 查看PCI设备
  12. lspci
复制代码

查看系统资源使用情况
  1. # 查看实时进程状态
  2. top
  3. htop  # 需要先安装: pacman -S htop
  4. # 查看磁盘使用情况
  5. df -h
  6. # 查看目录大小
  7. du -sh /path/to/directory
  8. # 查看系统日志
  9. journalctl
复制代码

包管理命令

Arch Linux ARM使用pacman作为其包管理工具,以下是常用的包管理命令:

基本包管理操作
  1. # 同步软件包数据库
  2. pacman -Sy
  3. # 更新系统
  4. pacman -Syu
  5. # 安装软件包
  6. pacman -S package_name
  7. # 删除软件包
  8. pacman -R package_name
  9. # 删除软件包及其依赖
  10. pacman -Rs package_name
  11. # 搜索软件包
  12. pacman -Ss search_term
  13. # 查看软件包信息
  14. pacman -Si package_name
  15. # 列出已安装的软件包
  16. pacman -Q
  17. # 查找某个文件属于哪个软件包
  18. pacman -Qo /path/to/file
  19. # 清理包缓存
  20. pacman -Scc
复制代码

AUR (Arch User Repository) 支持

虽然Arch Linux ARM官方不直接支持AUR,但您可以使用以下方法安装AUR包:
  1. # 安装yay (AUR助手)
  2. git clone https://aur.archlinux.org/yay.git
  3. cd yay
  4. makepkg -si
  5. # 使用yay安装AUR包
  6. yay -S aur_package_name
复制代码

系统服务管理命令

Arch Linux ARM使用systemd作为其初始化系统和服务管理器:

基本服务管理
  1. # 启动服务
  2. systemctl start service_name
  3. # 停止服务
  4. systemctl stop service_name
  5. # 重启服务
  6. systemctl restart service_name
  7. # 重新加载服务配置
  8. systemctl reload service_name
  9. # 启用服务开机自启
  10. systemctl enable service_name
  11. # 禁用服务开机自启
  12. systemctl disable service_name
  13. # 查看服务状态
  14. systemctl status service_name
  15. # 查看所有已启用的服务
  16. systemctl list-unit-files --state=enabled
  17. # 查看正在运行的服务
  18. systemctl list-units --type=service --state=running
复制代码

系统目标管理
  1. # 查看当前目标
  2. systemctl get-default
  3. # 设置默认目标
  4. systemctl set-default multi-user.target  # 命令行模式
  5. systemctl set-default graphical.target   # 图形模式
  6. # 立即切换到不同目标
  7. systemctl isolate multi-user.target
  8. systemctl isolate graphical.target
  9. # 关闭系统
  10. systemctl poweroff
  11. # 重启系统
  12. systemctl reboot
复制代码

网络配置与管理命令

网络管理是嵌入式设备系统管理的重要部分:

基本网络配置
  1. # 查看网络接口
  2. ip addr show
  3. ifconfig
  4. # 启用/禁用网络接口
  5. ip link set eth0 up
  6. ip link set eth0 down
  7. # 配置IP地址
  8. ip addr add 192.168.1.100/24 dev eth0
  9. # 添加默认路由
  10. ip route add default via 192.168.1.1
  11. # 查看路由表
  12. ip route show
  13. # 查看网络连接
  14. netstat -tuln
  15. ss -tuln
复制代码

无线网络配置
  1. # 安装无线网络工具
  2. pacman -S iw wpa_supplicant dialog
  3. # 扫描无线网络
  4. iw dev wlan0 scan
  5. # 连接到WPA/WPA2加密的无线网络
  6. wpa_passphrase "SSID" "password" > /etc/wpa_supplicant/wpa_supplicant.conf
  7. wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
  8. dhcpcd wlan0
复制代码

网络管理工具
  1. # 安装NetworkManager (适用于桌面环境)
  2. pacman -S networkmanager
  3. # 启用NetworkManager服务
  4. systemctl enable NetworkManager
  5. systemctl start NetworkManager
  6. # 使用nmcli命令行工具管理网络
  7. nmcli device wifi list
  8. nmcli device wifi connect "SSID" password "password"
  9. # 安装netctl (适用于命令行)
  10. pacman -S netctl
  11. # 使用netctl配置网络
  12. cp /etc/netctl/examples/wireless-wpa /etc/netctl/
  13. 编辑配置文件
  14. netctl enable profile_name
  15. netctl start profile_name
复制代码

存储管理命令

嵌入式设备通常需要高效的存储管理:

磁盘分区与格式化
  1. # 创建分区表
  2. fdisk /dev/sda
  3. # 格式化分区为ext4
  4. mkfs.ext4 /dev/sda1
  5. # 格式化分区为FAT32
  6. mkfs.vfat -F32 /dev/sda1
  7. # 检查文件系统
  8. fsck /dev/sda1
复制代码

挂载与卸载
  1. # 挂载分区
  2. mount /dev/sda1 /mnt
  3. # 卸载分区
  4. umount /mnt
  5. # 查看挂载信息
  6. mount
  7. df -h
  8. # 自动挂载配置
  9. echo "/dev/sda1 /mnt/data ext4 defaults 0 0" >> /etc/fstab
复制代码

逻辑卷管理 (LVM)
  1. # 安装LVM工具
  2. pacman -S lvm2
  3. # 创建物理卷
  4. pvcreate /dev/sda1
  5. # 创建卷组
  6. vgcreate vg0 /dev/sda1
  7. # 创建逻辑卷
  8. lvcreate -L 10G -n lv0 vg0
  9. # 格式化逻辑卷
  10. mkfs.ext4 /dev/vg0/lv0
  11. # 挂载逻辑卷
  12. mount /dev/vg0/lv0 /mnt
复制代码

系统性能监控命令

嵌入式设备资源有限,性能监控尤为重要:

CPU和内存监控
  1. # 实时监控进程
  2. top
  3. htop
  4. # 查看内存使用情况
  5. free -h
  6. # 查看CPU使用率
  7. mpstat 1 5
  8. # 查看平均负载
  9. uptime
  10. # 查看进程树
  11. pstree
复制代码

磁盘I/O监控
  1. # 安装iotop
  2. pacman -S iotop
  3. # 监控磁盘I/O
  4. iotop
  5. # 查看磁盘活动
  6. iostat -xz 1
  7. # 监控文件系统活动
  8. dstat -d
复制代码

网络监控
  1. # 安装nethogs
  2. pacman -S nethogs
  3. # 监控网络带宽使用
  4. nethogs
  5. # 监控网络连接
  6. netstat -an
  7. ss -tuln
  8. # 监控网络流量
  9. iftop
  10. nload
复制代码

安全管理命令

嵌入式设备的安全性同样重要:

防火墙配置
  1. # 安装ufw (Uncomplicated Firewall)
  2. pacman -S ufw
  3. # 启用防火墙
  4. ufw enable
  5. # 允许特定端口
  6. ufw allow 22/tcp
  7. ufw allow 80/tcp
  8. # 查看防火墙状态
  9. ufw status
  10. # 安装firewalld
  11. pacman -S firewalld
  12. # 启用firewalld
  13. systemctl enable firewalld
  14. systemctl start firewalld
  15. # 配置firewalld
  16. firewall-cmd --add-service=ssh --permanent
  17. firewall-cmd --reload
复制代码

用户和权限管理
  1. # 创建用户
  2. useradd -m -G wheel username
  3. # 设置用户密码
  4. passwd username
  5. # 修改用户权限
  6. usermod -aG wheel username
  7. # 切换用户
  8. su - username
  9. # 使用sudo
  10. pacman -S sudo
  11. visudo  # 编辑sudoers文件
  12. # 修改文件权限
  13. chmod 755 /path/to/file
  14. # 修改文件所有者
  15. chown user:group /path/to/file
复制代码

系统安全加固
  1. # 更新系统
  2. pacman -Syu
  3. # 安装安全工具
  4. pacman -S fail2ban rkhunter clamav
  5. # 配置fail2ban
  6. systemctl enable fail2ban
  7. systemctl start fail2ban
  8. # 扫描恶意软件
  9. freshclam  # 更新病毒数据库
  10. clamscan -r /  # 扫描系统
  11. # 系统安全检查
  12. rkhunter --checkall
复制代码

系统备份与恢复命令

定期备份是防止数据丢失的关键:

文件系统备份
  1. # 使用rsync备份
  2. rsync -aAXv / --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} /path/to/backup/
  3. # 使用tar备份
  4. tar -czpvf backup.tar.gz --exclude=/dev --exclude=/proc --exclude=/sys --exclude=/tmp --exclude=/run --exclude=/mnt --exclude=/media /
  5. # 使用dd创建磁盘镜像
  6. dd if=/dev/sda of=/path/to/disk_image.img bs=4M status=progress
复制代码

系统快照
  1. # 安装timeshift (需要AUR)
  2. yay -S timeshift
  3. # 创建系统快照
  4. timeshift --create --comments "Backup before system update"
  5. # 恢复系统快照
  6. timeshift --restore
复制代码

SD卡备份与恢复 (适用于树莓派等设备)
  1. # 备份SD卡
  2. dd if=/dev/sdb of=raspbian_backup.img bs=4M status=progress
  3. # 压缩备份
  4. gzip raspbian_backup.img
  5. # 恢复SD卡
  6. gunzip raspbian_backup.img.gz
  7. dd if=raspbian_backup.img of=/dev/sdb bs=4M status=progress
复制代码

常见问题与故障排除命令

嵌入式设备可能会遇到各种问题,以下是一些常见的故障排除命令:

系统启动问题
  1. # 查看启动日志
  2. journalctl -b
  3. # 查看内核消息
  4. dmesg
  5. # 检查文件系统
  6. fsck /dev/sda1
  7. # 修复GRUB引导
  8. pacman -S grub
  9. grub-install /dev/sda
  10. grub-mkconfig -o /boot/grub/grub.cfg
复制代码

硬件问题诊断
  1. # 检查硬盘健康
  2. pacman -S smartmontools
  3. smartctl -a /dev/sda
  4. # 检查内存
  5. pacman -S memtest86+
  6. # 重启并选择memtest86+选项
  7. # 检查CPU温度
  8. pacman -S lm_sensors
  9. sensors-detect
  10. sensors
复制代码

网络问题诊断
  1. # 测试网络连接
  2. ping 8.8.8.8
  3. # 跟踪网络路由
  4. traceroute 8.8.8.8
  5. # 查看DNS解析
  6. nslookup example.com
  7. dig example.com
  8. # 查看网络连接状态
  9. netstat -tuln
  10. ss -tuln
  11. # 查看网络接口统计
  12. ip -s link show
复制代码

总结

Arch Linux ARM是一个强大而灵活的嵌入式操作系统,掌握这些系统管理命令将帮助您更高效地管理和维护您的嵌入式设备。从基本的系统信息查看到复杂的网络配置和安全加固,这些命令涵盖了系统管理的各个方面。随着您对Arch Linux ARM的深入了解,您会发现它的高度可定制性和简洁设计使其成为嵌入式开发的理想选择。

记住,在执行任何系统更改之前,特别是涉及分区、格式化或系统配置的更改,始终建议先备份重要数据。此外,定期更新系统和软件包也是保持系统安全和稳定的重要措施。

希望这份命令集锦能够帮助您轻松驾驭Arch Linux ARM嵌入式设备,并在您的项目中取得成功!
「七転び八起き(ななころびやおき)」
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则