Raspberry Pi 树莓派安装64位系统打造全功能NAS [全网最正确操作记录]

支付宝内搜索 9155838 即可领现金红包 每天都能领哦

16:32:19
哈哈,标题党啦

家里的群晖和gen8都在吃灰,因为用得不多了,从一开始的24小时不间断开机变为早8点到晚上11点开机,再变为按需网络唤醒开机,到现在的偶尔手动开机。

这也是为了省电省钱吧,节衣缩食,觉得硬盘还是别总去折腾它,寿命长点,备份也不用那么频繁,一个月两个月做个增量备份就行了。所以没有24小时开机的必要了,但平时想用一下的时候又没有……

昨天找出之前一直在吃灰的树莓派,应该是Raspberry Pi 3B或者3+ 又或者3B+ 还是3Plus?我也不知道。

ssh连接,登陆密码都忘记了,还好猜了一遍又一遍后登陆成功了,准备装一个KodExplorer,很早以前用过,记得原先只是一个php的文件管理程序,这次去下载发现已经变为kodbox了,还叫可道云、原芒果云,有点混乱。发现功能比以前强大多了,我的树莓派装上这个用用就差不多了,就不装nextcloud之类的了。

昨天上午开始安装nginx+mysql+php,是的,我选择安装mysql了,不想用包安装,结果一直编译到晚上10点都还没安装完,太意外了,总共十多个小时啊,果断终止了。

重新安装,这次用oneinstack一键脚本(很多年钱测试过一次就再也没用过),只安装nginx+php,从晚上十点多编译到凌晨3点安装完成,今天早上起来测试了一下,kodbox用得也很香(我没啥需求,能分享文件,在线听音频即可)。

但是突然发现有一个3G多的视频文件播放不了,提示没有读取权限,但是我看了一下文件权限都没问题,估计因为树莓派这个系统是32位的,导致安装的PHP也是32位的,PHP读取不了超过2G的文件。
查看系统是32还是64位命令:
getconf LONG_BIT

只能重新再来了,重新安装64位的系统,以前树莓派是没有64位系统的(魔改的不算),还好现在有了,重新安装系统吧!

安装树莓派64位系统

下载树莓派64位系统,我不要桌面所以选择了lite
https://downloads.raspberrypi.org/raspios_lite_arm64/images/raspios_lite_arm64-2020-08-24/2020-08-20-raspios-buster-arm64-lite.zip

用USB Image Tool将镜像写入TF卡(Win32DiskImager只是个垃圾)
用法很简单:插入tf卡,在USB Image Tool左侧选好盘,右侧使用“Restore”将raspios-buster-arm64-lite.img镜像写入tf卡即可。

树莓派开启ssh服务

写入完成后,在资源管理器里会多出一个boot盘符,在boot分区下新建一个空文件,名为ssh,就可以给树莓派开启SSH服务,适合没屏幕操作。

树莓派自动链接wifi

在boot分区下新建wpa_supplicant.conf文件,并写入无线的相关配置。可以同时配置多个无线网络。

country=CN
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
    ssid="wifi链接名"
    psk="wifi密码"
    key_mgmt=WPA-PSK
}

插入tf卡到树莓派,通电,用初始状态树莓派默认用户名、密码:pi、raspberry就可以登陆ssh了。

用getconf LONG_BIT查看了一下,也可用uname -a查看,结果:
Linux raspberrypi 5.4.51-v8+ #1333 SMP PREEMPT Mon Aug 10 16:58:35 BST 2020 aarch64 GNU/Linux
是64位的,顺便查看一下分区:

Filesystem     Type      Size  Used Avail Use% Mounted on
/dev/root      ext4       58G  1.3G   55G   3% /
devtmpfs       devtmpfs  329M     0  329M   0% /dev
tmpfs          tmpfs     457M     0  457M   0% /dev/shm
tmpfs          tmpfs     457M   12M  445M   3% /run
tmpfs          tmpfs     5.0M  4.0K  5.0M   1% /run/lock
tmpfs          tmpfs     457M     0  457M   0% /sys/fs/cgroup
/dev/mmcblk0p1 vfat      253M   54M  199M  22% /boot
tmpfs          tmpfs      92M     0   92M   0% /run/user/1000

修改pi和root账户的密码

sudo passwd pi
输入两次相同密码,提示passwd: password updated successfully表示成功
sudo passwd root
同上

解锁root用户,不用每次sudo。

sudo passwd --unlock root

让root用户能登陆树莓派的ssh

修改ssh的配置文件:

sudo nano /etc/ssh/sshd_config
将配置项#PermitRootLogin prohibit-password修改为 PermitRootLogin yes

重启ssh服务:

sudo service sshd restart
之后就可以用root登录了,不用烦人的sudo了!

校正时区

sudo dpkg-reconfigure tzdata
选择Asia/Shanghai即可。

【可选】树莓派第一次使用的时候可进行一个简单的配置,在命令行模式下运行以下命令就会出现简单的配置界面:
sudo raspi-config

【可选】给树莓派安装远程桌面(windows系统可直接连接)

如果你需要桌面,则进入到树莓派命令行执行安装:
sudo apt-get install xrdp
注意,先用默认源,虽然下载很慢,国内源会无法找到包,所以先安装好这个包再换源,安装完后,重启树莓派:
sudo reboot
打开Windows自带的远程桌面输入树莓派ip即可连接树莓派的可视界面,无需vnc了。

64位树莓派可用的国内源

cp -a /etc/apt/sources.list /etc/apt/sources.list.bak
nano /etc/apt/sources.list
注释或删掉原有的所有内容,加入如下内容:

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ buster main contrib non-free
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ buster main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ buster-updates main contrib non-free
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ buster-updates main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ buster-backports main contrib non-free
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ buster-backports main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian-security buster/updates main contrib non-free
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian-security buster/updates main contrib non-free

更新软件包索引:
sudo apt-get update

cp -a /etc/apt/sources.list.d/raspi.list /etc/apt/sources.list.d/raspi.list.bak
/etc/apt/sources.list.d/raspi.list 这个暂时没改

树莓派挂载移动硬盘或U盘

sudo mkdir /upan
sudo mount -o uid=pi,gid=pi /dev/sda1 /upan
mount /dev/sda1 /upan

U盘用完之后卸载

sudo umount /upan

将mount命令加到/etc/rc.local,让其开机自动挂载,上次加到fstab出了点问题,导致系统都启动不了。
nano /etc/rc.local
将如下挂载命令加入到exit 0之前:
mount /dev/sda1 /upan

树莓派安装Aria2

sudo apt-get install aria2
sudo mkdir -p /data/conf/aria2
sudo nano /data/conf/aria2/aria2.conf
加入如下内容:

## 文件保存相关 ##

# 文件保存目录 此处文件保存目录自行设定
dir=/upan/download/
# 启用磁盘缓存, 0为禁用缓存, 需1.16以上版本, 默认:16M
disk-cache=32M
# 断点续传
continue=true

# 文件预分配方式, 能有效降低磁盘碎片, 默认:prealloc
# 预分配所需时间: none < falloc ? trunc < prealloc
# falloc和trunc则需要文件系统和内核支持
# NTFS建议使用falloc, EXT3/4建议trunc, MAC 下需要注释此项
file-allocation=falloc

## 下载连接相关 ##

# 最大同时下载任务数, 运行时可修改, 默认:5
max-concurrent-downloads=5
# 同一服务器连接数, 添加时可指定, 默认:1
max-connection-per-server=16
# 整体下载速度限制, 运行时可修改, 默认:0(不限制)
#max-overall-download-limit=0
# 单个任务下载速度限制, 默认:0(不限制)
#max-download-limit=0
# 整体上传速度限制, 运行时可修改, 默认:0(不限制)
max-overall-upload-limit=16K
# 单个任务上传速度限制, 默认:0(不限制)
max-upload-limit=16K
# 禁用IPv6, 默认:false
disable-ipv6=true

# 最小文件分片大小, 添加时可指定, 取值范围1M -1024M, 默认:20M
# 假定size=10M, 文件为20MiB 则使用两个来源下载; 文件为15MiB 则使用一个来源下载
min-split-size=10M
# 单个任务最大线程数, 添加时可指定, 默认:5
split=10

## 进度保存相关 ##

# 从会话文件中读取下载任务
input-file=/data/conf/aria2/aria2.session
# 在Aria2退出时保存错误的、未完成的下载任务到会话文件
save-session=/data/conf/aria2/aria2.session
# 定时保存会话, 0为退出时才保存, 需1.16.1以上版本, 默认:0
save-session-interval=60

## RPC相关设置 ##

# 启用RPC, 默认:false
enable-rpc=true
# 允许所有来源, 默认:false
rpc-allow-origin-all=true
# 允许外部访问, 默认:false
rpc-listen-all=true
# RPC端口, 仅当默认端口被占用时修改
# rpc-listen-port=6800
# 设置的RPC授权令牌, v1.18.4新增功能, 取代 --rpc-user 和 --rpc-passwd 选项
#rpc-secret=<TOKEN>

## BT/PT下载相关 ##

# 当下载的是一个种子(以.torrent结尾)时, 自动开始BT任务, 默认:true
#follow-torrent=true
# 客户端伪装, PT需要
peer-id-prefix=-TR2770-
user-agent=Transmission/2.77
# 强制保存会话, 即使任务已经完成, 默认:false
# 较新的版本开启后会在任务完成后依然保留.aria2文件
#force-save=false
# 继续之前的BT任务时, 无需再次校验, 默认:false
bt-seed-unverified=true
# 保存磁力链接元数据为种子文件(.torrent文件), 默认:false
bt-save-metadata=true

启动Aria2

aria2c --conf-path=/data/conf/aria2/aria2.conf -D

aria2c添加开机自启

sudo nano /etc/init.d/aria2c
添加:

#!/bin/sh
### BEGIN INIT INFO
# Provides:          aria2
# Required-Start:    remotefsnetwork
# Required-Stop:     remotefsnetwork
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Aria2 Downloader
### END INIT INFO
case "$1" in
start)
    echo -n "Starting aria2c"
    sudo aria2c --conf-path=/data/conf/aria2/aria2.conf -D

;;
stop)
    echo -n "Shutting down aria2c "
    killall aria2c
;;
restart)
    # killall aria2c
    sudo aria2c --conf-path=/data/conf/aria2/aria2.conf -D

;;
esac
exit

执行:
chmod +x /etc/init.d/aria2c
sudo systemctl enable aria2c

再下载一个AriaNg放到web下即可,AriaNg是aria2的web管理界面。
AriaNg管理界面有些种子BT速度还可以,但有的文件下载就非常慢,十几k或者几十k,甚至干脆就是0,没什么好的办法,添加了一堆bt源,就这样24小时挂着吧,反正功耗超低。

Raspberry Pi 树莓派安装nginx+php7一键脚本

先安装screen

apt-get install screen -y
screen -S installlnmp
运行安装nginx+php7一键脚本:

wget -c http://mirrors.linuxeye.com/oneinstack-full.tar.gz && tar xzf oneinstack-full.tar.gz && ./oneinstack/install.sh --nginx_option 2 --php_option 9 --phpcache_option 1 --php_extensions fileinfo,redis,memcached,memcache,xdebug --redis  --memcached 

接下来就是等待,我的用了两个多小时:

Total OneinStack Install Time: 125 minutes
Nginx install dir:              /usr/local/tengine
PHP install dir:                /usr/local/php
Opcache Control Panel URL:      http://blog.dngz.net/ocp.php
redis install dir:              /usr/local/redis
memcached install dir:          /usr/local/memcached
Index URL:                      http://blog.dngz.net/

再到https://kodcloud.com/download/ 下载kodbox服务器端,kodbox环境要求: php 5.3及以上 + mysql/sqlite,环境推荐: centos7+php7.3+nginx+mysql5.7+redis
在树莓派上进行kodbox服务器端安装检查安装就是简单的下一步、下一步,由于没安装mysql,所以使用sqlite足够了。

最喜欢的是kodbox会自动挂载整个机器的所有磁盘分区,存取文件、看视频、听音乐超方便,只不过方便是以不安全换来的,这么个树莓派,我也不会放什么私人文件上去,方便就好,安全不是问题。
直接在浏览器里用kodbox看视频听音乐直接在kodbox里看用Aria2下载的视频。

这样基本就搞定了,有遗漏的再补充。
2020-12-8 17:44:53


Raspberry Pi 树莓派删除swap的方法

有人觉得树莓派内存小,就弄个大大的swap,而我认为tf卡寿命不怎么样,应该减少读写,所以打算去除swap。

树莓派删除swap的方法1

一般来说树莓派的swap文件是由/etc/init.d/dphys-swapfile来自动配置的,按理来说只要将这个文件删除即可不启用swap,但测试只是删除这个文件reboot后依然还是启用了swap,失败。

树莓派删除swap的方法2

可以尝试编辑/etc/dphys-swapfile的CONF_SWAPSIZE的值,这个值控制这swap交换分区大小,如果想禁用,将CONF_SWAPSIZE修改为0即可。不禁用的话修改为你想要的swap大小。

树莓派删除swap的方法3

查看swap交换文件在哪

[root@blog.dngz.net ~]# swapon -s
Filename Type Size Used Priority
/var/swap file 102396 0 -2
从上可知swap是文件类型的,/var/swap这个文件就是树莓派的swap交换文件

只要在/etc/rc.local文件中加上swapoff命令即可开机自动关闭swap交换文件:
echo 'swapoff /var/swap'>>/etc/rc.local
rm -f /var/swap
重启,用free -m 查看,没有swap了。
2020-12-11 15:22:15

推荐文章

已有 19 条评论
  1. 流金岁月

    然后继续吃灰,😄

    流金岁月 回复
    1. xylx

      @流金岁月

      绝对不可能,至少这周内不会吃灰。😏

      xylx 回复
  2. 静水流深

    树莓派性能太差了,当个玩具玩玩还行

    静水流深 回复
    1. xylx

      @静水流深

      要不然怎么买来后就一直吃灰这么久呢,现在也就是玩玩。

      xylx 回复
  3. 老张博客

    我的NAS吃灰快一年了。。。

    老张博客 回复
    1. xylx

      @老张博客

      树莓派省电多了,也买个玩玩吧,树莓派4有usb3了,速度更快了

      xylx 回复
  4. 范明明

    刚买数莓派不久,先折腾一段时间熟悉下,然后也准备做个NAS放家里用了。
    我是想利用Ubuntu Server + Seafile 搞一个,不知道怎么样?

    范明明 回复
    1. xylx

      @范明明

      其实只能玩玩,哈哈。seafile我是不喜欢的,很多年前用过,大量小文件同步会丢文件。

      xylx 回复
  5. 哥斯拉

    看起来挺好玩的,有没有多的树莓派?我也想玩(#^.^#)

    哥斯拉 回复
  6. 王光卫博客

    教程详尽,就是没用过

    王光卫博客 回复
  7. FROYO

    看起来不错啊,就是性能,估计,有点悬

    FROYO 回复
    1. xylx

      @FROYO

      是的,性能着急尤其是I/O,但玩玩够了

      xylx 回复
  8. Tsez

    来看全网最正确操作

    Tsez 回复
  9. 野生的喵喵

    我原来也准备搞个玩玩的。。现在看来还是先在用闲置的笔记本凑活吧

    野生的喵喵 回复
    1. xylx

      @野生的喵喵

      笔记本更好,性能高得多。

      xylx 回复
  10. 山小炮

    我的树莓派3B卖了,主要是吃灰太久了。

    山小炮 回复
    1. xylx

      @山小炮

      卖是不可能卖的,只能送人或继续吃灰

      xylx 回复
  11. SodaYang

    写的很全面,我的4b也吃灰一年多了,当时拿来做控制中心来着,折腾完了就吃灰
    这东西功耗低,但是性能也低 ง⍢⃝ ᐝ

    SodaYang 回复
    1. xylx

      @SodaYang

      我现在主要用来下点东西,然后就是跑些脚本,够用了。

      xylx 回复
发表新评论