树莓派的入门指南
环境介绍:
- 工作电脑:Mac M1, v11.6
- 树莓派硬件版本: 3B
- 树莓派系统版本:raspios_arm64-2021-05-28
安装
下载系统镜像
需要注意的是armhf是32位的,arm64才是64位的。下载的zip文件尽量用Keka等第三方工具解压,用Mac自带的归档实用工具解压会遇到烧录之后校验失败的问题
烧录工具
初步配置
开启SSH
新版本已经默认关闭了SSH,在 SD 卡的根目录新建一个名为"ssh"的空文件,系统启动时会检测这个文件,然后开启SSH功能
获取IP地址
树莓派接上电源线,按一下线中间的按钮,树莓派通电之后会亮红灯,先用网线连上路由器,在路由器设置页面查看当前树莓派连上的IP地址
连接SSH
打开电脑终端,输入命令: ssh pi@192.169.x.x
pi是默认的用户名,后面的IP地址换成第2步获取的 IP,默认密码是raspberry
安装 VNC 服务器
新版本默认取消了 VNC 功能,需要自己安装
sudo apt-get install tightvncserver
启动,然后输入一个密码
vncserver :1
在Mac安装一个 VNC Viewer 软件,打开之后在地址栏输入地址192.168.x.x:1
,再输入密码,即可看到树莓派的桌面。
配置WIFI
在第4步完成之后,能看到桌面自然也可以图形化设置了,下面提供一种命令行设置方式
- 打开
/etc/wpa_supplicant/wpa_supplicant.conf
文件 - 添加下面的内容
network={
ssid="WIFI名字"
psk="WIFI密码"
}
- 验证连接:
sudo wpa_cli reconfigure
设置静态IP
防止每次 DHCP 分配不同的 IP,设置静态IP是必需的。图形化设置即可,当然也有命令行设置, 打开/etc/dhcpcd.conf
文件,添加如下内容:
interface eth0
inform 192.168.1.7
static routers=192.168.1.3
static domain_name_servers=114.114.114.114
eth0是有限连接,wlan0是WIFI连接
设置国内镜像源
推荐清华大学的,具体看帮助文档。
第一步,把/etc/apt/sources.list所有内容替换为:
deb http://mirrors.tuna.tsinghua.edu.cn/debian buster main contrib non-free
deb http://mirrors.tuna.tsinghua.edu.cn/debian-security/ buster/updates main contrib non-free
deb http://mirrors.tuna.tsinghua.edu.cn/debian buster-updates main contrib non-free
## 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
#deb-src http://mirrors.tuna.tsinghua.edu.cn/debian buster main contrib non-free
#deb-src http://mirrors.tuna.tsinghua.edu.cn/debian-security/ buster/updates main contrib non-free
#deb-src http://mirrors.tuna.tsinghua.edu.cn/debian buster-updates main contrib non-free
第二步,把/etc/apt/sources.list.d/raspi.list所有内容替换为
deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui
## 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
#deb-src http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui
第三步,更新:sudo apt-get update
可能会有个错误:
pi@raspberrypi:~ $ sudo apt-get update
Get:1 http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian buster InRelease [15.0 kB]
Get:2 http://mirrors.tuna.tsinghua.edu.cn/raspberrypi buster InRelease [32.6 kB]
Err:1 http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian buster InRelease
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 9165938D90FDDD2E
然后执行命令
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 9165938D90FDDD2E
VNC 自启动配置分辨率
-
编辑文件
/etc/init.d/vncserver
, 加入下面的内容#!/bin/sh #### BEGIN INIT INFO ## Provides: vncserver ## Required-Start: $local_fs ## Required-Stop: $local_fs ## Default-Start: 2 3 4 5 ## Default-Stop: 0 1 6 ## Short-Description: Start/stop vncserver #### END INIT INFO ## More details see: ## http://www.penguintutor.com/linux/vnc #### Customize this entry ## Set the USER variable to the name of the user to start vncserver under export USER='pi' #### End customization required eval cd ~$USER case "$1" in start) ## 启动命令行。此处自定义分辨率、控制台号码或其它参数。 su $USER -c '/usr/bin/vncserver -depth 16 -geometry 800x480 :1' su $USER -c '/usr/bin/vncserver -depth 16 -geometry 1024x768 :2' su $USER -c '/usr/bin/vncserver -depth 16 -geometry 1280x800 :3' su $USER -c '/usr/bin/vncserver -depth 16 -geometry 1440x900 :4' su $USER -c '/usr/bin/vncserver -depth 16 -geometry 1920x1080 :5' su $USER -c '/usr/bin/vncserver -depth 16 -geometry 1440x1440 :6' echo "Starting VNC server for $USER " ;; stop) ## 终止命令行。此处控制台号码与启动一致。 su $USER -c '/usr/bin/vncserver -kill :1' echo "vncserver stopped" ;; *) echo "Usage: /etc/init.d/vncserver {start|stop}" exit 1 ;; esac exit 0
-
保存文件,增加可执行属性,
sudo chmod 755 /etc/init.d/vncserver sudo update-rc.d vncserver defaults
-
设置0端口分辨率:
sudo vi /boot/config.txt
, 取消下面两行的注释,没有就加上
framebuffer_width=1280
framebuffer_height=720
- 以后就可以通过在IP地址后面通过修改端口来打开不同分辨率的桌面了,比如输入"192.168.x.x:5",可以打开1920x1080分辨率。
上传文件到pi
如果能使用SSH,那么肯定可以使用sftp了,下载 Filezilla,打开之后在主机项里面填 sftp://192.168.x.x
,端口可以忽略。
安装 Shadowsocks 服务
-
安装pip管理python包和shadowsocks
sudo apt-get install python-pip python-m2crypto sudo pip install shadowsocks
如果加密方式是chacha20的,则还需要以下命令来安装libsodium
wget https://download.libsodium.org/libsodium/releases/LATEST.tar.gz tar zxf LATEST.tar.gz cd libsodium* ./configure make && sudo make install
修复关联
echo /usr/local/lib > /etc/ld.so.conf.d/usr_local_lib.conf ldconfig
-
创建客户端配置文件
/etc/shadowsocks.json
{ "server": "58.***.**.*", "server_port": 8390, "password": "********", "method": "aes-256-cfb", "local_port": 1080, "timeout": 600 }
-
设置开机启动,在
/etc/rc.local
的exit之前添加如下:/usr/local/bin/sslocal -c /etc/shadowsocks.json &
配置命令行HTTP代理
大部分文章都是用 polipo,但是作者已经明说不在维护这个工具了。推荐使用 proxychains ng,这个库现在还很活跃。
安装命令:
git clone https://github.com/rofl0r/proxychains-ng
cd proxychains-ng
./configure
make && sudo make install
sudo make install-config
修改配置文件/usr/local/etc/proxychains.conf
最后一行,改成下面的样子:
socks5 127.0.0.1 1080
测试命令: proxychains4 curl ip.cn