在折腾了一段时间的树莓派后,逐渐确定了自己对树莓派的使用有以下需求:
话不多说,重新开始。
经过比较后,还是决定使用Ubuntu 18.04作为树莓派4b的操作系统。
安装过程十分简单,下载官方镜像后,使用Raspberry Pi Imager软件将镜像烧录到SD卡。
烧录完成后,重新插拔SD卡,进入boot目录。
为了使树莓派的新系统第一次启动时能自动连接WIFI,需要在boot目录下打开network-config文件,按以下内容取消注释,并修改wifi名称和密码。
# This file contains a netplan-compatible configuration which cloud-init
# will apply on first-boot. Please refer to the cloud-init documentation and
# the netplan reference for full details:
#
# https://cloudinit.readthedocs.io/
# https://netplan.io/reference
#
# Some additional examples are commented out below
version: 2
ethernets:
eth0:
dhcp4: true
optional: true
wifis:
wlan0:
dhcp4: true
optional: true
access-points:
homessid(这里填写wifi名称):
password: "S3kr1t"(引号内填写wifi密码)
# myotherlan:
# password: "correct battery horse staple"
# workssid:
# auth:
# key-management: eap
# method: peap
# identity: "[email protected]"
# password: "passw0rd"
# ca-certificate: /etc/my_ca.pem
其次,ubuntu系统默认开启ssh,因此这里不需要像Raspberry Pi OS 一样新建ssh文件。
完成以上操作后,将SD卡插入到树莓派,即可上电开机。
上电2分钟后,将树莓派断电重启。若操作无误,树莓派第二次启动时会自动连接之前设置的wifi。
为了能够ssh连接树莓派,需要知道{$树莓派的IP}地址。
进入Windows PowerShell,输入arp -a
,查看{$树莓派的IP}地址
上述方法无法看到设备名称,在网络连接设备较多时,不容易找到 {$树莓派的IP}地址。因此,对于局域网下设备较多的情况,可以使用Advanced IP Scanner这款软件,对局域网设备进行扫描,扫描结果可以看到设备名称。
得到ip地址为后,使用ssh连接,用户名ubuntu,密码ubuntu。首次登录会提示修改密码,按要求操作即可。修改密码后会断开连接,而后重新连接。
根据清华镜像站的教程,使用sudo vim /etc/apt/sources.list
命令更换树莓派的软件源。
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse
# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-proposed main restricted universe multiverse
编辑镜像站后,使用sudo apt-get update
命令,更新软件源列表,同时检查编辑是否正确。
随后使用sudo apt-get upgrade
将系统升级至最新。
使用ip addr
命令确认你要修改的网卡号,这里得到我自己的树莓派配置如下:
1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: mtu 1500 qdisc mq state DOWN group default qlen 1000
link/ether dc:a6:32:63:81:54 brd ff:ff:ff:ff:ff:ff
3: wlan0: mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether dc:a6:32:63:81:55 brd ff:ff:ff:ff:ff:ff
inet 192.168.43.126/24 brd 192.168.43.255 scope global dynamic wlan0
valid_lft 3423sec preferred_lft 3423sec
inet6 fe80::dea6:32ff:fe63:8155/64 scope link
valid_lft forever preferred_lft forever
查看网卡配置文件
cat /etc/netplan/50-cloud-init.yaml
设置ip地址设置为静态
sudo vim /etc/netplan/50-cloud-init.yaml
直接重启设备后,再次扫描会发现ip地址已经变化为刚刚指定的静态ip,而后就需要根据新的ip来登录树莓派。
进入宝塔Linux面板,找到Ubuntu/Deepin安装脚本
登录树莓派后,使用sudo su
命令切换到root用户,执行宝塔面板安装命令。
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh
等待一段时间后,安装完成。
随后根据内网地址访问宝塔面板,输入用户名和密码进行登录。
首次登录会提示安装LNMP环境,各部件版本如图。然后就是漫长的安装过程。
安装耗费时间参考如图。如果出现安装失败的,在软件商店中搜索失败的项目,重新安装即可。
到这里已经花费了大量的时间来配置环境,因此有必要在下一步操作前对树莓派的整个系统进行备份。这里参考树莓派学习笔记 篇四:树莓派4B 的系统备份方法大全(全卡+压缩备份)的备份方法,首先使用gparted拆分内容空间和空白空间,随后使用Win32DiskImager制作镜像。
进入Ubuntu系统,运行gparted。
sudo gparted
右键/dev/sda2,选择unmount。然后继续右键/dev/sda2,选择resize,将分区压缩至比占用空间稍大即可。随后点击选项卡中的绿色对勾以应用修改。
等待一段时间后,空间拆分完成
回到Windows系统,运行Win32DiskImager。在D盘新建一个名为raspberry-bak.img的空文件,然后在Win32DiskImager中,将映像文件选择为刚刚新建的空文件,设备选择为安装有树莓派系统的TF卡。
勾选”仅读取已分配分区“,点击读取,等待完成。
最后得到一个7.57G的文件,就是树莓派的备份系统映像了。
备份结束之后,记得要回到Ubuntu系统,使用gparted恢复之前拆分的空间。
有了之前备份得到的映像后,可以通过Win32DiskImager的“写入”来将备份映像写入到TF卡来还原树莓派的系统。
以上准备工作完成后,开始搭建服务。
登录宝塔面板,在选项栏中点击网站,随后点击添加站点。
进入到网站根目录
点击远程下载
访问Typecho官网下载页,右键点击下载按钮,复制链接,并将链接输入到宝塔面板的远程对话框。
下载完成后,点击解压,并将解压得到的build文件夹重命名为typecho。
在左侧选项栏中点击数据库,随后点击添加数据库按钮,输入数据库名,点击提交添加数据库。
浏览器访问地址http://{$树莓派的IP}/typecho/,随后逐项填写即可。
随后访问http://{$树莓派的IP}/typecho/,可以看到博客网站已经搭建完毕。
参照上面的方式,将Nextcloud的压缩包下载到网站根目录。
下载太慢的话,也可以在电脑上下载完成后,再点击宝塔面板根目录界面的上传按钮,将压缩包上传到网站根目录。
同样点击解压,得到nextcloud文件夹。随后再到数据库选项中建立一个给nextcloud用的数据库。
随后访问http://{$树莓派的IP}/nextcloud/,建立管理员账号。
安装minidlna。
sudo apt-get install minidlna
修改配置文件/etc/minidlna.conf
,修改users为root,修改media_dir为你的媒体文件的路径。
sudo vim /etc/minidlna.conf
修改配置文件/etc/default/minidlna
,将USER改为root。
sudo vim /etc/default/minidlna
宝塔面板开放1900和8200端口
重启树莓派后,就可以在Windows的资源管理器和VLC中看到minidlna服务了。
参考Aria2 Pro - 更好用的 Aria2 Docker 容器镜像,使用其制作的Aria2 一键安装管理脚本 增强版 先切换到root用户
sudo su
安装基础组件
apt install wget curl ca-certificates
下载并运行脚本
wget -N git.io/aria2.sh && chmod +x aria2.sh
./aria2.sh
选择要执行的选项
Aria2 一键安装管理脚本 增强版 [v2.6.2] by P3TERX.COM
0. 升级脚本
———————————————————————
1. 安装 Aria2
2. 更新 Aria2
3. 卸载 Aria2
———————————————————————
4. 启动 Aria2
5. 停止 Aria2
6. 重启 Aria2
———————————————————————
7. 修改 配置
8. 查看 配置
9. 查看 日志
10. 清空 日志
———————————————————————
11. 手动更新 BT-Tracker
12. 自动更新 BT-Tracker
———————————————————————
Aria2 状态: 已安装 | 已启动
自动更新 BT-Tracker: 已开启
请输入数字 [0-12]:
因为我的网络环境原因,导致执行脚本时安装Aria2失败,但脚本却没有报错,只在4. 启动 Aria2
时提示
[信息] Aria2 启动中...
/etc/init.d/aria2: line 78: 8483 Segmentation fault nohup aria2c --conf-path="${CONFIG}" >> "${LOG}" 2>&1
[错误] Aria2 启动失败 !
解决方法是继续执行脚本,重复选择2. 更新 Aria2
,等待Aria2安装成功,然后再启动就不会报错了。
其实这是一个非常简单的东西,但是网上很多教程都是稀里糊涂的,所以在这里重新整理一下。
首先要知道密钥登录,就是在服务端(树莓派)有一把锁(公钥),然后你在登录端(电脑、手机等)拿着匹配的钥匙(私钥)去打开这把锁。锁和要是都是可以复制的,锁(公钥)可以复制到多台服务端,比如你的树莓派、VPS等;钥匙(私钥)也能复制到多台登录端,比如手机、电脑。只要锁和钥匙,也就是公钥和私钥匹配,就可以不输入密码进行登录。下面讲解如何操作。
密码登录到树莓派后,切换到root身份吗,进入/root
文件夹,执行下列命令,然后一直回车,会在.ssh/
目录下生成两个文件id_rsa
和id_rsa.pub
,分别就是私钥和公钥。
ssh-keygen
将公钥安装到树莓派,并修改.ssh/authorized_keys
文件的权限。
cat id_rsa.pub >> .ssh/authorized_keys
chmod 600 .ssh/authorized_keys
修改树莓派的ssh配置。
sudo vim /etc/ssh/sshd_config
找到以下几个条目,均修改为yes。
PubkeyAuthentication yes
PermitRootLogin yes
RSAAuthentication yes
最后回到你的电脑(可以是ubuntu、WSL或者安卓端的软件),这里以WSL为例。想办法将树莓派.ssh/
文件夹下的id_rsa
文件复制到WSL的.ssh/
文件夹下。比如使用scp指令、ftp甚至直接用vim打开文件后复制粘贴内容。
之后,登录树莓派。就会发现可以直接登录,而不需要再输入密码了。
ssh root@{树莓派的IP}
PC端,我使用的是Edge浏览器,可以扩展商店中搜索Aria2 for Edge,随后在AriaNg设置中填写相应的配置即可使用。该扩展也有Chrome和Firefox版本。
安卓端使用Aria2App,非常好用,强烈推荐。
需要有公网ip的VPS,最好还有一个域名。可以到网络上搜搜,暂略。等哪天被网上的教程气到了再补上。
下载▇▇▇▇安装脚本。(误)
wget https://install.direct/go.sh
2020年8月31日发现go.sh脚本已经失效了,执行后得到以下提示。
root@ubuntu:~# sudo bash go.sh --local ▇▇▇▇-linux-arm.zip
ERROR: This script has been DISCARDED, please switch to fhs-install-▇▇▇▇ project.
HOW TO USE: https://github.com/v2fly/fhs-install-▇▇▇▇
TO MIGRATE: https://github.com/v2fly/fhs-install-▇▇▇▇/wiki/Migrate-from-the-old-script-to-this
按照提示访问网站,得知需要下载新的脚本install-release.sh。下载速度很慢,需要耐心等待。
wget https://raw.githubusercontent.com/v2fly/fhs-install-▇▇▇▇/master/install-release.sh
在▇▇▇▇-core/releases上下载最新版本的▇▇▇▇-core到树莓派。
sudo bash install-release.sh --local ▇▇▇▇-linux-arm.zip(对应版本的▇▇▇▇包,这里是树莓派版本的)
安装结果如下。
root@ubuntu:~# bash install-release.sh --local ▇▇▇▇-linux-arm.zip
warn: Install ▇▇▇▇ from a local file, but still need to make sure the network is available.
warn: Please make sure the file is valid because we cannot confirm it. (Press any key) ...
info: Extract the ▇▇▇▇ package to /tmp/tmp.54v6UviMSm/ and prepare it for installation.
installed: /usr/local/bin/▇▇▇▇
installed: /usr/local/bin/v2ctl
installed: /usr/local/share/▇▇▇▇/geoip.dat
installed: /usr/local/share/▇▇▇▇/geosite.dat
installed: /usr/local/etc/▇▇▇▇/config.json
installed: /var/log/▇▇▇▇/
installed: /var/log/▇▇▇▇/access.log
installed: /var/log/▇▇▇▇/error.log
installed: /etc/systemd/system/▇▇▇▇.service
installed: /etc/systemd/system/▇▇▇▇@.service
removed: /tmp/tmp.54v6UviMSm/
info: ▇▇▇▇ v4.25.1 is installed.
You may need to execute a command to remove dependent software: apt remove curl unzip
Please execute the command: systemctl enable ▇▇▇▇; systemctl start ▇▇▇▇
按照提示设置▇▇▇▇随系统启动
systemctl enable ▇▇▇▇
systemctl start ▇▇▇▇
使用install-release.sh安装的▇▇▇▇-core会使得执行文件和配置文件路径发生变化。查看/etc/systemd/system/▇▇▇▇.service
文件后可知,配置文件config.json
位于/usr/local/etc/▇▇▇▇/
目录下。
知道配置文件的路径后,就可以将使用▇▇▇▇N软件生成可用的客户端版本的config.json
文件,拷贝到/usr/local/etc/▇▇▇▇/
目录下,随后使用service ▇▇▇▇ restart
命令重启▇▇▇▇服务。
安装好▇▇▇▇后,终端仍然是不能够▇▇▇▇上网的,需要通过安装polipo设置终端代理。
apt install polipo
如果显示找不到包的话,可以到网络上搜索对应系统版本的polipo的deb包,使用dpkg
命令安装。比如树莓派的polipo包可以通过关键字polipo ubuntu arm64
找到。
配置polipo。
vim /etc/polipo/config
在文档末尾加入以下内容后保存退出。其中,socksParentProxy
中的port
与▇▇▇▇配置文件中inbounds
标签下的port
一致;socksProxyType
是 socks 类型,如果是 ss 就填上 socks5。proxyPort
是你想在 linux 子系统上使用的代理端口地址。
socksParentProxy = "localhost:port"
socksProxyType = socks5
proxyPort = 8123
重启polipo服务。
service polipo restart
这里由于安装了宝塔面板,还需要在面板的安全选项中放行▇▇▇▇和polipo的端口。
放行后,重启树莓派,执行命令。
export http_proxy=http://localhost:8123
随后验证搭建终端代理是否设置成功。
curl www.google.com
如果得到的是一大长串的HTML语言,就说明终端代理已经成功了。
这里export命令是临时的,如果需要一直有用,可以在.bashrc
文件末端加入export http_proxy=http://localhost:8123