|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
1. 引言与准备工作
Arch Linux ARM是Arch Linux的ARM架构移植版本,它继承了Arch Linux的简洁、轻量和高度可定制的特点。与常规的Linux发行版不同,Arch Linux ARM采用滚动更新模式,提供最新的软件包和系统组件。本指南将带您从零开始,逐步完成Arch Linux ARM系统的安装与配置。
1.1 硬件准备
在开始之前,您需要准备以下硬件:
• 支持ARM架构的设备(如树莓派、Rock64、ODROID等)
• 至少8GB容量的MicroSD卡(推荐16GB或更大)
• 稳定的电源供应
• 网络连接(以太网或Wi-Fi)
• 一台用于准备安装介质的电脑(可以是Windows、macOS或Linux系统)
1.2 软件准备
根据您使用的操作系统,需要准备以下软件:
对于Windows用户:
• SD Memory Card Formatter
• Win32DiskImager
• PuTTY(用于SSH连接)
对于macOS用户:
• SD Memory Card Formatter
• balenaEtcher
• Terminal(内置终端)
对于Linux用户:
• fdisk或gparted(分区工具)
• dd(磁盘写入工具)
• Terminal(内置终端)
2. 安装Arch Linux ARM
2.1 确定设备型号
首先,您需要确定您的ARM设备的具体型号,因为Arch Linux ARM为不同的设备提供了不同的安装镜像。访问Arch Linux ARM官方网站查找您的设备对应的安装指南。
以树莓派4B为例,我们将使用对应的ARMv7或AArch64架构的镜像。
2.2 准备MicroSD卡
在Linux/macOS上:
1. 插入MicroSD卡,并确定设备名称(例如/dev/sdb或/dev/mmcblk0):lsblk
2. 卸载已挂载的分区:sudo umount /dev/sdb*
# 或者
sudo umount /dev/mmcblk0p*
3. 使用SD Memory Card Formatter格式化MicroSD卡,或者使用命令行:sudo mkfs.vfat -F32 /dev/sdb1
插入MicroSD卡,并确定设备名称(例如/dev/sdb或/dev/mmcblk0):
卸载已挂载的分区:
- sudo umount /dev/sdb*
- # 或者
- sudo umount /dev/mmcblk0p*
复制代码
使用SD Memory Card Formatter格式化MicroSD卡,或者使用命令行:
- sudo mkfs.vfat -F32 /dev/sdb1
复制代码
在Windows上:
1. 使用SD Memory Card Formatter格式化MicroSD卡(选择”Overwrite format”选项)。
2.3 下载并写入镜像
1. 下载适合您设备的Arch Linux ARM镜像。以树莓派4B为例,下载AArch64架构的镜像:wget http://os.archlinuxarm.org/os/ArchLinuxARM-rpi-aarch64-latest.tar.gz
2. 解压镜像:tar -xvf ArchLinuxARM-rpi-aarch64-latest.tar.gz
3. 将镜像写入MicroSD卡:
下载适合您设备的Arch Linux ARM镜像。以树莓派4B为例,下载AArch64架构的镜像:
- wget http://os.archlinuxarm.org/os/ArchLinuxARM-rpi-aarch64-latest.tar.gz
复制代码
解压镜像:
- tar -xvf ArchLinuxARM-rpi-aarch64-latest.tar.gz
复制代码
将镜像写入MicroSD卡:
在Linux上:
- sudo dd bs=4M if=ArchLinuxARM-rpi-aarch64-latest.tar.gz of=/dev/sdb status=progress
复制代码
在macOS上:
- sudo dd bs=4m if=ArchLinuxARM-rpi-aarch64-latest.tar.gz of=/dev/rdisk2 status=progress
复制代码
在Windows上:使用Win32DiskImager或balenaEtcher将镜像写入MicroSD卡。
2.4 首次启动与基本配置
1. 将MicroSD卡插入ARM设备,连接以太网和电源。
2. 使用SSH连接到设备。默认用户名为alarm,密码为alarm;root用户密码为root:ssh alarm@<设备IP地址>
将MicroSD卡插入ARM设备,连接以太网和电源。
使用SSH连接到设备。默认用户名为alarm,密码为alarm;root用户密码为root:
如果不知道设备IP地址,可以使用nmap扫描网络:
1. 初始化密钥环并更新系统:sudo pacman-key --init
sudo pacman-key --populate archlinuxarm
sudo pacman -Syu
2. 设置时区:sudo timedatectl set-timezone Asia/Shanghai
3. 设置主机名:sudo hostnamectl set-hostname myarcharm
4. - 编辑/etc/hosts文件,添加主机名:sudo nano /etc/hosts添加以下内容:127.0.0.1 localhost
- ::1 localhost
- 127.0.1.1 myarcharm.localdomain myarcharm
复制代码
初始化密钥环并更新系统:
- sudo pacman-key --init
- sudo pacman-key --populate archlinuxarm
- sudo pacman -Syu
复制代码
设置时区:
- sudo timedatectl set-timezone Asia/Shanghai
复制代码
设置主机名:
- sudo hostnamectl set-hostname myarcharm
复制代码
编辑/etc/hosts文件,添加主机名:
添加以下内容:
- 127.0.0.1 localhost
- ::1 localhost
- 127.0.1.1 myarcharm.localdomain myarcharm
复制代码
3. 系统基本配置
3.1 用户与权限管理
1. 创建新用户并设置密码:sudo useradd -m -G wheel,storage,power -s /bin/bash username
sudo passwd username
2. 配置sudo权限:sudo visudo取消注释以下行:%wheel ALL=(ALL) ALL
3. 禁用root登录(可选):sudo passwd -l root
创建新用户并设置密码:
- sudo useradd -m -G wheel,storage,power -s /bin/bash username
- sudo passwd username
复制代码
配置sudo权限:
取消注释以下行:
禁用root登录(可选):
3.2 网络配置
Arch Linux ARM默认使用systemd-networkd管理网络。配置静态IP:
1. 编辑网络配置文件:sudo nano /etc/systemd/network/eth0.network
2. - 添加以下内容:
- “`
- [Match]
- Name=eth0
复制代码
编辑网络配置文件:
- sudo nano /etc/systemd/network/eth0.network
复制代码
添加以下内容:
“`
[Match]
Name=eth0
[Network]
Address=192.168.1.100⁄24Gateway=192.168.1.1
DNS=8.8.8.8 8.8.4.4
- 3. 启用并启动网络服务:
- ```bash
- sudo systemctl enable systemd-networkd
- sudo systemctl start systemd-networkd
复制代码
1. 安装必要的软件包:sudo pacman -S iw wpa_supplicant dialog
2. 配置Wi-Fi连接:sudo wifi-menu按照提示选择网络并输入密码。
3. 启用网络服务:sudo systemctl enable netctl-auto@wlan0
sudo systemctl start netctl-auto@wlan0
安装必要的软件包:
- sudo pacman -S iw wpa_supplicant dialog
复制代码
配置Wi-Fi连接:
按照提示选择网络并输入密码。
启用网络服务:
- sudo systemctl enable netctl-auto@wlan0
- sudo systemctl start netctl-auto@wlan0
复制代码
3.3 系统服务管理
1. 查看已启用的服务:systemctl list-unit-files --state=enabled
2. 启用常用服务:sudo systemctl enable sshd
sudo systemctl enable systemd-timesyncd
sudo systemctl enable bluetooth
3. 启动服务:sudo systemctl start sshd
sudo systemctl start systemd-timesyncd
sudo systemctl start bluetooth
查看已启用的服务:
- systemctl list-unit-files --state=enabled
复制代码
启用常用服务:
- sudo systemctl enable sshd
- sudo systemctl enable systemd-timesyncd
- sudo systemctl enable bluetooth
复制代码
启动服务:
- sudo systemctl start sshd
- sudo systemctl start systemd-timesyncd
- sudo systemctl start bluetooth
复制代码
4. 软件安装与管理
4.1 Pacman基础使用
Pacman是Arch Linux的包管理器,以下是常用命令:
1. 更新系统:sudo pacman -Syu
2. 搜索软件包:pacman -Ss 关键词
3. 安装软件包:sudo pacman -S 软件包名
4. 删除软件包:sudo pacman -R 软件包名
5. 删除软件包及其依赖:sudo pacman -Rs 软件包名
6. 清理包缓存:sudo pacman -Scc
更新系统:
搜索软件包:
安装软件包:
删除软件包:
删除软件包及其依赖:
清理包缓存:
4.2 AUR (Arch User Repository)
AUR是Arch Linux用户软件仓库,包含大量社区维护的软件包。
1. - 安装AUR助手(如yay):sudo pacman -S git base-devel
- git clone https://aur.archlinux.org/yay.git
- cd yay
- makepkg -si
复制代码 2. 使用yay安装AUR软件包:yay -S 软件包名
安装AUR助手(如yay):
- sudo pacman -S git base-devel
- git clone https://aur.archlinux.org/yay.git
- cd yay
- makepkg -si
复制代码
使用yay安装AUR软件包:
4.3 常用软件安装
1. 安装桌面环境(以Xfce为例):sudo pacman -S xfce4 xfce4-goodies lightdm lightdm-gtk-greeter
sudo systemctl enable lightdm
2. 安装常用工具:sudo pacman -S vim nano htop tree screenfetch neofetch git wget curl
3. 安装开发工具:sudo pacman -S base-devel cmake python python-pip nodejs npm
4. 安装媒体工具:sudo pacman -S vlc gimp inkscape
安装桌面环境(以Xfce为例):
- sudo pacman -S xfce4 xfce4-goodies lightdm lightdm-gtk-greeter
- sudo systemctl enable lightdm
复制代码
安装常用工具:
- sudo pacman -S vim nano htop tree screenfetch neofetch git wget curl
复制代码
安装开发工具:
- sudo pacman -S base-devel cmake python python-pip nodejs npm
复制代码
安装媒体工具:
- sudo pacman -S vlc gimp inkscape
复制代码
5. 系统优化与实用技巧
5.1 系统性能优化
1. 查看系统信息:neofetch
# 或者
screenfetch
2. 监控系统资源:htop
3. 优化启动速度:systemd-analyze critical-chain
systemd-analyze blame
4. 禁用不必要的服务:sudo systemctl disable 服务名
5. - 使用zram提高内存效率:sudo pacman -S zram-generator
- sudo nano /etc/systemd/zram-generator.conf添加以下内容:[zram0]
- zram-size = 512 # 大小取决于你的设备内存
- compression-algorithm = lz4然后启用:sudo systemctl enable systemd-zram-setup@zram0
- sudo systemctl start systemd-zram-setup@zram0
复制代码
查看系统信息:
监控系统资源:
优化启动速度:
- systemd-analyze critical-chain
- systemd-analyze blame
复制代码
禁用不必要的服务:
- sudo systemctl disable 服务名
复制代码
使用zram提高内存效率:
- sudo pacman -S zram-generator
- sudo nano /etc/systemd/zram-generator.conf
复制代码
添加以下内容:
- [zram0]
- zram-size = 512 # 大小取决于你的设备内存
- compression-algorithm = lz4
复制代码
然后启用:
- sudo systemctl enable systemd-zram-setup@zram0
- sudo systemctl start systemd-zram-setup@zram0
复制代码
5.2 存储优化
1. 启用TRIM(如果使用SSD):sudo systemctl enable fstrim.timer
sudo systemctl start fstrim.timer
2. 配置日志大小限制:sudo nano /etc/systemd/journald.conf修改以下行:SystemMaxUse=50M
3. 定期清理包缓存:sudo pacman -Scc
启用TRIM(如果使用SSD):
- sudo systemctl enable fstrim.timer
- sudo systemctl start fstrim.timer
复制代码
配置日志大小限制:
- sudo nano /etc/systemd/journald.conf
复制代码
修改以下行:
定期清理包缓存:
5.3 安全性增强
1. 配置防火墙:sudo pacman -S ufw
sudo ufw enable
sudo ufw default deny
sudo ufw allow ssh
2. 安装fail2ban防止暴力破解:sudo pacman -S fail2ban
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
3. 配置自动安全更新:sudo pacman -S pacman-contrib
sudo systemctl enable paccache.timer
sudo systemctl start paccache.timer
配置防火墙:
- sudo pacman -S ufw
- sudo ufw enable
- sudo ufw default deny
- sudo ufw allow ssh
复制代码
安装fail2ban防止暴力破解:
- sudo pacman -S fail2ban
- sudo systemctl enable fail2ban
- sudo systemctl start fail2ban
复制代码
配置自动安全更新:
- sudo pacman -S pacman-contrib
- sudo systemctl enable paccache.timer
- sudo systemctl start paccache.timer
复制代码
5.4 备份与恢复
1. - 使用rsync备份系统:sudo pacman -S rsync
- sudo rsync -aAXv / --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} /path/to/backup/folder
复制代码 2. 使用timeshift创建系统快照:yay -S timeshift
sudo timeshift-gtk
3. 创建SD卡镜像备份:sudo dd if=/dev/mmcblk0 of=/path/to/backup.img bs=4M status=progress
使用rsync备份系统:
- sudo pacman -S rsync
- sudo rsync -aAXv / --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} /path/to/backup/folder
复制代码
使用timeshift创建系统快照:
- yay -S timeshift
- sudo timeshift-gtk
复制代码
创建SD卡镜像备份:
- sudo dd if=/dev/mmcblk0 of=/path/to/backup.img bs=4M status=progress
复制代码
6. 故障排除与常见问题
6.1 启动问题
1. 系统无法启动:检查MicroSD卡是否正确插入尝试重新刷写镜像检查电源供应是否稳定
2. 检查MicroSD卡是否正确插入
3. 尝试重新刷写镜像
4. 检查电源供应是否稳定
5. 文件系统错误:sudo fsck /dev/mmcblk0p1
sudo fsck /dev/mmcblk0p2
系统无法启动:
• 检查MicroSD卡是否正确插入
• 尝试重新刷写镜像
• 检查电源供应是否稳定
文件系统错误:
- sudo fsck /dev/mmcblk0p1
- sudo fsck /dev/mmcblk0p2
复制代码
6.2 网络问题
1. 无法连接到网络:ip link
ip addr
ping 8.8.8.8
2. 重置网络配置:sudo systemctl restart systemd-networkd
sudo systemctl restart systemd-resolved
无法连接到网络:
- ip link
- ip addr
- ping 8.8.8.8
复制代码
重置网络配置:
- sudo systemctl restart systemd-networkd
- sudo systemctl restart systemd-resolved
复制代码
6.3 软件问题
1. 包冲突或依赖问题:sudo pacman -Syyu
sudo pacman -S --overwrite "*" 软件包名
2. 清理损坏的包:sudo pacman -Scc
sudo pacman -Syyu
3. 重置所有包:sudo pacman -Qnq | pacman -S -
包冲突或依赖问题:
- sudo pacman -Syyu
- sudo pacman -S --overwrite "*" 软件包名
复制代码
清理损坏的包:
- sudo pacman -Scc
- sudo pacman -Syyu
复制代码
重置所有包:
- sudo pacman -Qnq | pacman -S -
复制代码
6.4 性能问题
1. 系统运行缓慢:top
iotop
2. 检查磁盘空间:df -h
3. 清理日志:sudo journalctl --vacuum-size=50M
系统运行缓慢:
检查磁盘空间:
清理日志:
- sudo journalctl --vacuum-size=50M
复制代码
7. 高级配置与定制
7.1 内核定制
1. 安装必要的工具:sudo pacman -S base-devel bc kmod libelf
2. - 获取内核源码:git clone https://github.com/archlinuxarm/linux-armv7.git
- cd linux-armv7
复制代码 3. 配置内核:make menuconfig
4. 编译内核:make -j$(nproc)
5. 安装内核模块:sudo make modules_install
6. 安装内核:sudo cp arch/arm/boot/zImage /boot/
安装必要的工具:
- sudo pacman -S base-devel bc kmod libelf
复制代码
获取内核源码:
- git clone https://github.com/archlinuxarm/linux-armv7.git
- cd linux-armv7
复制代码
配置内核:
编译内核:
安装内核模块:
- sudo make modules_install
复制代码
安装内核:
- sudo cp arch/arm/boot/zImage /boot/
复制代码
7.2 系统服务定制
1. - 创建自定义系统服务:sudo nano /etc/systemd/system/myservice.service添加以下内容:
- “`
- [Unit]
- Description=My Custom Service
- After=network.target
复制代码- sudo nano /etc/systemd/system/myservice.service
复制代码
[Service]
Type=simple
ExecStart=/usr/local/bin/myscript.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target
- 2. 启用自定义服务:
- ```bash
- sudo systemctl enable myservice
- sudo systemctl start myservice
复制代码
7.3 自动化任务
1. 使用cron设置定时任务:sudo pacman -S cronie
sudo systemctl enable cronie
sudo systemctl start cronie
2. 编辑cron任务:crontab -e添加以下内容(每天凌晨3点更新系统):0 3 * * * /usr/bin/pacman -Syu --noconfirm
3. - 使用systemd定时器:sudo nano /etc/systemd/system/mytask.timer添加以下内容:
- “`
- [Unit]
- Description=Run mytask daily
复制代码
使用cron设置定时任务:
- sudo pacman -S cronie
- sudo systemctl enable cronie
- sudo systemctl start cronie
复制代码
编辑cron任务:
添加以下内容(每天凌晨3点更新系统):
- 0 3 * * * /usr/bin/pacman -Syu --noconfirm
复制代码
使用systemd定时器:
- sudo nano /etc/systemd/system/mytask.timer
复制代码
添加以下内容:
“`
[Unit]
Description=Run mytask daily
[Timer]
OnCalendar=daily
Persistent=true
[Install]
WantedBy=timers.target
- 创建对应的服务文件:
- ```bash
- sudo nano /etc/systemd/system/mytask.service
复制代码
添加以下内容:
- [Unit]
- Description=My Task
-
- [Service]
- Type=oneshot
- ExecStart=/usr/local/bin/mytask.sh
复制代码
启用定时器:
- sudo systemctl enable mytask.timer
- sudo systemctl start mytask.timer
复制代码
8. 结语
通过本指南,您已经学会了从零开始配置Arch Linux ARM系统的完整流程,包括基本安装、系统配置、软件管理、性能优化和故障排除。Arch Linux ARM的灵活性和强大功能使其成为ARM设备的理想选择,无论是作为服务器、开发平台还是日常使用。
随着您对Arch Linux ARM的深入了解,您可以进一步探索更多高级功能和定制选项,打造完全符合您需求的系统。记住,Arch Linux的Wiki是一个宝贵的资源,您可以从中获取更多信息和帮助。
祝您使用Arch Linux ARM愉快! |
|