安装系统

使用树莓派官方下载器下载安装,下载时需要代理,如果没有代理最好自己先下载好iso文件再直接导入。

开始之前的准备

安装好系统之后,需要现在电脑上调一些设置再插入树莓派开机。

如果想要直接讲树莓派作为服务器不介入屏幕的话,尤其注意需要有限做这几件事。

ssh

首先打开ssh访问许可,在根目录下(在win下应该会挂载成boots这个盘)直接新建文件“ssh”,这样就打开了ssh。

树莓派开启ssh的几种方式

密码

以前树莓派的默认用户名和密码分别是pi和raspberry,但是现在为了安全,一般是在安装系统的时候会弹出设置界面,但是我安装的时候没看到弹出。

所以就只能手动加入用户名和密码信息了。

在PC端,打开tf卡的根目录(boot的根目录),创建 userconf.txt文件,该文件内输入用户名和密码的密文,例如,格式如下:

1
用户名:密码密文

以下例子,用户名为pi,密码为raspberry的密文

1
pi:$6$4ilokQRQxmURT.py$aJWBQ5yniJJPwV3CKawYJcnSK5JZGhrVZYF3K4omRUFv6KL0MysEH7F4NZRMNMcYF.U3xsQvWrx7ZL2GKxuv.1

保存文件并安全退出tf卡。把tf卡装回树莓派的tf卡槽,开机后,系统就会自动配置用户名和密码,pi 密码是 raspberry。

树莓派新系统中配置默认用户和密码

登录开机

记得换镜像源,直接搜索清华的就行,里面还有具体的教程。

换完源之后记得更新系统。

raspbian清华镜像源

debian清华镜像源

raspberrypi清华镜像源

镜像源

VNC

我用了一下系统自带的realvnc,不知道为什么特别卡,所以我就自己安装了tightvnc。

用了tightvnc之后,也会遇到一点小问题,目前还没注意,反正点一点也就完事了。已经遇到且发现了。

安装以及使用tightvnc

VNC安装

error:

​ vnc没有taskbar

Missing taskbar in VNC

仅用作参考文章:

How to Install TightVNC

连接vnc无任务栏如何解决

固定IP

配置静态IP。

1.使用 ssh 连接树莓派或者直接将显示器接到树莓派主板上。

2.打开终端,键入命令:sudo vim /etc/dhcpcd.conf,修改网络配置文件。

3.按如下所示进行修改:

树莓派固定IP1

4.键入命令:sudo reboot 重启就行了。

不想重启系统的话就使用systemctl restart dhcpcd 重启dhcpcd.service就可以了

5.使用命令:ifconfig 即可查看 ip 地址是否固定成 功:

树莓派固定IP2

Tips:

  • 有线网络接口 eth0 是默认就有的,只需要去掉 ‘#’ 注释符
  • 无线网络接口是需要自己添加的,复制粘贴有线网络接口的配置进行修改就行了

树莓派如何固定IP地址

ssh自动登录

SSH使用密钥登录

安装Docker

Docker – 从入门到实践

Error:

1
2
3
pi@raspberrypi:~ $ sudo usermod -aG docker $USER
configuration error - unknown item 'NONEXISTENT' (notify administrator)
configuration error - unknown item 'PREVENT_NO_AUTH' (notify administrator)

configuration error when trying to add a user to the sudo group

1
2
3
4
pi@raspberrypi:~ $ docker run --rm hello-world
Unable to find image 'hello-world:latest' locally
docker: Error response from daemon: Head "https://registry-1.docker.io/v2/library/hello-world/manifests/latest": dial tcp: lookup registry-1.docker.io on 192.168.1.1:53: no such host.
See 'docker run --help'.

感觉就是被墙了。

解决方案:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
~ ❯ dig @114.114.114.114 registry-1.docker.io                                                                                            16:07:57

; <<>> DiG 9.10.6 <<>> @114.114.114.114 registry-1.docker.io
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 33368
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;registry-1.docker.io. IN A

;; ANSWER SECTION:
registry-1.docker.io. 48 IN A 44.205.64.79
registry-1.docker.io. 48 IN A 34.205.13.154
registry-1.docker.io. 48 IN A 3.216.34.172

;; Query time: 52 msec
;; SERVER: 114.114.114.114#53(114.114.114.114)
;; WHEN: Wed Jul 12 16:08:20 CST 2023
;; MSG SIZE rcvd: 97
1
2
3
4
5
6
# 1、找到可用IP
dig @114.114.114.114 registry-1.docker.io
# 2、找到任一可用ip,添加至hosts文件
vim /etc/hosts
# 3、从上面选择一个 IP 增加
44.205.64.79 registry-1.docker.io

docker run报错

【问题解决】Error response from daemon: Head https://registry-1.docker.io/v2/

Error response from daemon: Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker.io on 192.168.65.1:53: no such host #4884

安装docker后的其他玩法

1

比较好的文章1

2

一般的文章2

OpenWRT

在树莓派上使用Dockers运行Openwrt并作为主路由器的旁路由

树莓派docker 部署openwrt 软路由

使用Docker安装Openwrt软路由

Docker 安装 openwrt 软路由

Docker 部署的 openWrt 软路由, 并解决无法与宿主机通信问题

OpenWrt软路由部署Docker-PHP镜像,自由观看4K IPTV!

树莓派网络监控(官方64位系统+docker+motioneye+内网穿透)

树莓派 4B OpenWrt 旁路由教程

iStore

uu加速器

luci-app

为什么我ipk软件安装后都找不到软件入口啊

问题:如何将宿主机的网络也接入容器中的openwrt?

设想:将openwrt的ip设置成宿主机的网关。

​ 遇到的困难:宿主机ping不通openwrt的ip。

结论:通过macvlan创建出的虚拟网卡是无法与宿主机的网络互联的。之后还想使用docker的bridge模式,但是此bridge非彼bridge。这个bridge会创建类似NAT的一个网络拓扑,在docker内是桥接模式,还是无法直接与宿主机通讯的,这与虚拟机的bridge实现不同。

​ 一些文献:

通过IP发现MAC地址的方法

网络设置基本命令

linux内核arp访欺骗配置,linux系统防止arp欺骗的方法

Linux环境下如何配置IP地址、MAC地址

linux – 添加、修改、删除路由

error:

问题:

树莓派4B使用最新容器镜像CPU占用过高问题 #70

解决方案:

OpenWRT解除console对串口的占用

Portainer

1
2
docker volume create portainer_data
docker run -d -p 8000:8000 -p 9443:9443 -p 9000:9000 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest

Install Portainer CE with Docker on Linux

不想用命令行管理docker的话,它就很不错。

Pi Dashboard

1
docker run -d --name docker-pi-dashboard -e 'LISTEN=1024' --net=host ecat/docker-pi-dashboard --restart=always

docker-pi-dashboard

如名,Dashboard。

HomeAssistant

得先有home再有homeassistant。装上了,没用。

Raspberry Pi

Aria2

我树莓派没挂载机械或者固态,所以这个虽然是神器但是没有用武之地。Samba同理。

TBD

Samba

树莓派搭建samba小型家庭NAS书籍影音服务器

树莓派Samba服务器

可能遇到的问题:

禁止树莓派自动挂载外接硬盘_捉不住的鼬鼠的博客-CSDN博客

我遇到的问题:

直接插移动硬盘挂载不上,插着硬盘重启了一次树莓派就直接挂上了。不知道怎么了。

Raspberry Pi挂载可移动存储设备(Linux通用)

感觉samba体验也就一般般吧。说不上好坏。

UU加速器

感觉还是第一个应该是最靠谱的,但是现在还不太行,暂时不装这个了。

TBD

UU加速器终于支持OP了-OPENWRT专版-恩山无线论坛 - Powered by Discuz!

luci-app-UUGameAcc

UU OpenWrt插件

v2ray

下载安装 · Project V 官方网站

NextCloud

NextCloud是一个本地网盘,要是有公网IP也可以是网盘,但是必须要域名,没买域名而且只用树莓派的话等于用不了。

nextcloud好像强制需要域名,可能不太好办。

【好玩儿的Docker项目】可能是目前全网最完整的Docker搭建Nextcloud教程(包含安全与设置警告报错信息的解决方法)

GitHub - nextcloud/all-in-one: Nextcloud AIO stands for Nextcloud All-in-One and provides easy deployment and maintenance with most features included in this one Nextcloud instance.

本地域名:

https://github.com/nextcloud/all-in-one/blob/main/local-instance.md

Pi Hole

https://github.com/pi-hole/docker-pi-hole/#running-pi-hole-docker

unbound - Pi-hole documentation

Pi Hole 是一个dns服务器,功能很多,但是我自己一般能用到的比较少。我按照网上的配置配了广告过滤,效果很不错,但是在树莓派上本身还过openwrt,再过Pi Hole网络性能下降太多了,尤其是Pi Hole,所以我配置了一下之后就不再使用了。

嵌入式用法

目前为止,我一直将树莓派用作Linux服务器来使用。它本身的一些嵌入式功能反而没有深入研究,所以在这个章节我打算记录一下嵌入式相关的玩法。

TBD