1 系统环境
2022-09-22-raspios-bullseye-arm64-lite.img.xz
2 系统配置&优化
2.1 屏蔽开机彩虹屏
1 | # /book/config.txt 添加一行 |
2.2 屏蔽开机草莓logo
1 | # /boot/cmdline.txt 末尾添加 |
2.3 更换国内源
1 | # 查看Pi os debian版本 |
修改/etc/apt/sources.list
1 | # 清华大学源 https://mirror.tuna.tsinghua.edu.cn/help/raspbian/ |
修改/etc/apt/sources.list.d/raspi.list
1 | # 对于两个架构,编辑 `/etc/apt/sources.list.d/raspi.list` 文件,删除原文件所有内容,用以下内容取代: |
1 | # 清理和更新缓存 |
2.4 校准时区
1 | sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime |
2.5 优化rc-local
1 | nano /lib/systemd/system/rc-local.service |
2.6 更新boot(固件更新)
1 |
2.7 配置静态IP
修改/etc/dhcpcd.conf
1 | # 设置eth0 |
1 | # 重启网卡 |
这里wlan0静态地址配置有2种方式配置:
- 第一种修改/etc/dhcpcd.conf添加,支持nat,正常访问eth0网络和互联网; (推荐)
- 第二种修改/etc/network/interfaces,支持nat访问到etho网卡,不支持访问到eth0网络和互联网;
1 | # 第二种方法配置wlan0静态IP |
2.8 配置ufw防火墙
1 | apt install ufw # 安装 |
1 | # 开启ufw nat转发 |
这个地方要注意的就是必需同时添加
PREROUTING
和POSTROUTING
.这也是通过ufw配置nat时的难点所在!笔者很长一段时间都浪费在反复修改PREROUTING上.后来仔细一想,有进来的包也必需有出去的包nat才能成行吧,于是试着添加POSTROUTING,结果就通了!这个地方还有一点应该就是rules文件的语法吧.
*nat
:PREROUTING - [0:0]
:POSTROUTING - [0:0]#这个地方加自定义语句 COMMIT
之前也是很长一段时间,都在原有的COMMIT里加东西,测试,也是浪费了挺长的时间才看明白,语法
3 安装服务
3.1 AP配置
3.1.1 安装hostapd和dnsmasq
1 | # install hostapd |
3.1.2 配置wlan0静态IP
1 | # 修改/etc/dhcpcd.conf |
3.1.3 配置路由转发和IP伪装(使用ufw防火墙请略过)
路由转发
1 | # 创建文件/etc/sysctl.d/routed-ap.conf |
IP伪装
1 | sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE |
1 | # 要确保 WiFi 无线电不会在树莓派上被阻止,请执行以下命令: |
3.1.4 配置hostapt和dnsmasq
1 | # 修改dnsmqsq.conf |
1 | # 修改/etc/hostapd/hostapd.conf |
3.1.5 重启生效
1 | reboot |
3.2 docker环境安装
1 | # 卸载旧版本 |
1 | # 配置daemon.json |
1 | # 关闭防火墙,关闭docker防火墙规则配置,使用ufw规则 |
1 | # 重启docker |
3.3 gdwserv
导入gdwserv镜像
1 | docker run --restart always -u root --privileged=true --name gdwserv -p 10000:10000 -p 6058:6058 -e BASEURL=http://192.168.1.101:10000/gdw -dti -v /data:/usr/local/g |
3.4 ftp服务
1 | apt install vsftpd |
修改/etc/vsftpd.conf
1 | # 添加如下配置 |
修改/etc/ftpusers
1 | # 注释掉root,以允许root登录 |
备注:pam认证配置文件为 /etc/pam.d/vsftpd
4 系统镜像制作
4.1 自定义镜像自动扩展磁盘
基于PI OS第一次开机初始化配置方法,重新执行初始化任务。
4.1.1 重新放入“resize2fs_once”文件(可选)
从Pi OS系统镜像/etc/init.d内拷贝“resize2fs_once”并重新放到sd卡同位置内。
新系统默认存在该文件
4.1.2 修改“cmdline.txt”
备注: 不同Pi OS版本可能存在差异,参考Pi OS镜像的默认配置。
1 | # 在文件末尾添加 |
插入树莓派,第一次启动自动扩容SD卡磁盘。
4.2 清理系统痕迹
1 | # 删除系统及组件日志和缓存 |
4.3 缩小分区大小
在Linux系统下对SD卡系统做分区缩小,这里采用Linux下的可视化工具Gparted
执行操作
1 | sudo pacman -S gparted |
- SD卡接入PC
- 启动Gparted
- 右键选中分区,调整分区大小
- 根据实际情况调整分区大小,建议略大于已占用空间,并点击“调整大小/移动”。
- 点击工具栏“应用全部操作”,保存修改并执行,同时校验磁盘。弹出警告点击“应用(A)”确认。
4.4 制作镜像
这里使用“Win32DiskImager”。“映像文件”选择保存镜像的位置,并新建一个“.img”结尾的文件,选中。“设备”选择TF卡对应的任意一个盘符即可,但请务必选择正确,避免选中其他U盘等。校验值根据喜好选择,也可以选择“无”。务必勾选“仅读取已分配分区”。然后点击读取,等待进度条完成。
4.5 压缩img文件
完成后将“.img”文件添加到压缩文件,变为“.zip”进一步缩小镜像体积。这里强力推荐使用开源免费小巧的压缩软件7-Zip。使用7-Zip添加压缩文件,压缩格式选择“zip”,压缩等级选择“ 标准压缩”,其他默认即可。通过这样生成的压缩文件,可以直接被树莓派官方的镜像刷写软件“Raspberry Pi Imager”识别并刷写。
6 风扇配置
6.1 安装pigpio
1 | apt install pigpio pip -y |