slackwarearm安装加速
参考资料
slackwarearm安装加速
Slackware ARM 安装加速实用指南
Slackware ARM(ARMedslack / SARPI 等)以“原汁原味的 Slackware”著称:官方脚本、包管理习惯与 x86 版本基本一致,但安装体验在 ARM 平台上往往慢得让人抓狂。慢的原因通常不是单一环节,而是镜像距离、网络带宽、存储卡 IO、以及包集裁剪叠加的结果。本文按“问题定位 → 网络加速 → 存储加速 → 构建加速 → 系统调优”的顺序,给出可落地的做法。
一、先定位瓶颈在哪
动手优化前,先分清慢在哪个阶段:
| 阶段 | 典型现象 | 优化方向 |
|---|---|---|
| 拉取安装镜像 | 下载 ISO/压缩包极慢 | 换镜像、多线程下载 |
| 从网络源装包 | setup 卡在 downloading | 本地源、并行、镜像站 |
| 写 SD 卡 / eMMC | 解压包时间极长 | 换卡、换文件系统、USB3 |
| 编译软件 | make 跑几十分钟 | 交叉编译、distcc、ccache |
| 日常升级 | slackpkg 慢 | 固定就近镜像 |
用 `time`、`iostat -x 1`、`sar -n DEV 1` 观察,能快速判断是网络受限还是磁盘受限。
二、网络层加速
1. 选择就近且稳定的镜像
Slackware 官方镜像列表里的站点分布全球,优先选择同区域、支持 HTTP/HTTPS 且有 rsync 服务的站点。判断方法: bash
测延迟和下载速度
ping -c 5 mirror.example.org curl -o /dev/null -w '%{speed_download}\n' http://mirror.example.org/slackwarearm/... 不要只看 ping,延迟低但限速的镜像同样拖后腿,实测吞吐更可靠。
2. 本地镜像站(最有效的方案)
如果手头有 x86 机器或 NAS,把软件集完整镜像到局域网,再用 HTTP/NFS 给 ARM 设备使用: bash
用 rsync 同步一份本地镜像,支持断点续传和增量
rsync -avz --delete --partial --progress \ rsync://mirror.example.org/slackwarearm/ \ /srv/mirror/slackwarearm/ 之后在安装时把源指向 `http://192.168.1.10/slackwarearm/`,内网千兆下安装时间通常是公网的数倍提升。注意定期用同样的 rsync 命令做增量同步。
3. 并行与断点续传下载
单个大文件用多连接下载器明显更快: bash aria2c -x 8 -s 8 -c http://mirror.example.org/.../slackwarearm-installer.img.xz `-c` 支持断点续传,网络抖动时不至于前功尽弃。若处于受限网络,可通过代理提升稳定性: bash export http_proxy=http://proxy.example.com:8080 export https_proxy=http://proxy.example.com:8080
三、安装过程中的加速
1. 精简软件集
Slackware 的包集按字母分组(A、AP、D、K、L、N 等)。对服务器或最小化用途,只装必需的组即可,别为了“反正以后可能用”而全量安装:
- `A` 基础系统、`AP` 常用应用、`L` 库、`N` 网络:多数场景够用
- `K`(X 桌面)、`KDE`、`XAP` 等按需选择
- 开发环境需要时再补 `D`
裁剪一半的包集,安装时间和最终镜像体积都会显著下降。
2. 用 NFS / HTTP 而非逐包下载
安装程序在 selection 阶段可以通过网络源安装。把它指向内网镜像后,瓶颈从 WAN 转移到 LAN,效果立竿见影。若设备支持,直接从本地 USB 存储介质安装也很快。
3. 复用已下载的安装树
`setup` 安装过程会在本地保留已下载的包目录。重装或换卡时,把这些目录保留在另一块存储上,能避免重复下载。
四、存储层加速
ARM 设备的安装速度经常被存储卡限制:
- 换卡:选择 UHS-I/A2 级别、写入速度快且寿命可靠的卡;杂牌卡顺序写可能只有几 MB/s。
- 用 USB3 SSD 或 eMMC:在支持的板子上,USB3 SSD 的顺序读写远超任何 SD 卡。
- 文件系统选择:ext4 通用稳妥;f2fs 对闪存设备较友好。格式化时按需设置:
bash mkfs.ext4 -m 1 -O ^has_journal /dev/sdX1 # 追求写放大的场景可考虑
- 避免频繁小文件写入:安装期间尽量不做无关的日志/索引操作。
- 临时目录放内存:若板子内存充足,把解压临时目录挂到 tmpfs 可减少卡写入:
bash mount -t tmpfs -o size=1G tmpfs /tmp/work 注意 tmpfs 占用内存,大包解压时容易 OOM,需评估设备内存。
五、构建与升级加速
1. 并行编译与缓存
bash make -j$(nproc) # 并行编译 ccache gcc ... # 重复编译时命中缓存 在能联网的场景,distcc 可以把编译任务分发到更快的 x86 机器: bash export DISTCC_HOSTS='10.0.0.5/8 10.0.0.6/8 localhost' make -j16 CC="distcc gcc"
2. 交叉编译
纯 ARM 设备算力有限,像内核、大型软件这类重编译工作,建议在 x86 主机上用交叉工具链构建,再把产物拷贝过去。这属于“换机器”而非优化,但对构建时间的影响最大。
3. slackpkg 升级
日常
时间:2026-10-07
来源:https://mirror.ciilii.com/
