树莓派 Arozos 指北

date
Oct 22, 2021
slug
适用于树莓派的通用Web桌面操作系统
status
Published
tags
Web
Golang
summary
这是一篇关于Arozos的原创文章,请细细食用😄
type
Post
notion image
 

为什么选择Arozos

一直以来,许多maker都希望拥有一个属于自己的高自定义NAS,因而许多厂商都对目前最火的SBC—树莓派做了适配,所以树莓派上的NAS应用也是五花八门,下面是几种主要的:
  1. Nextcloud
notion image
也许是目前最火的一个应用了,有插件功能,有app,功能十分完善。但有个先天的不足—它使用php编写,奇慢无比。
  1. pydio
notion image
目前在国内用的还比较少,用Golang编写,速度快,功能较为完整,是我之前一直在纠结的一个选项。
  1. Seafile
 
notion image
国人C语言编写,清华北大之选,功能完善,效率奇高。
说了这么多,明明它们都不错啊,为什么不用呢?
大致有以下这些原因:
  1. 自定义程度不够高,虽有插件系统,但是可以自己编写的地方还是太少了
  1. 都是公司项目(这点见仁见智)
  1. 它们都有专业版,这也意味着免费版实力并不能达到饱和
  1. 都大致只能算是网盘应用,不能像群晖DSM一般
而现在我也来真正的介绍一下Arozos:
General purposed Web Desktop Operating Platform / OS for Raspberry Pis, Now written in Go!
notion image
有些同学会问了,这不是个NAS应用吗,怎么叫OS?
没错,你可能想到了,Arozos的实力要远远大于NAS应用,它还拥有WebApp与Subservice两大杀器,甚至还是IoT 控制器。
notion image
部分应用程序
notion image
WebApp管理
notion image
Subservice管理
当然,文件分享、音乐影片播放等基础功能也少不了
notion image
文件分享
notion image
音乐影片播放
甚至还可以进行文件编辑,代码编写。
这才是我们所需要的NAS系统!

如何安装Arozos

目前安装Arozos有两种方式

使用已打包好的img

已经为你设置好了一切,开箱即用。
你可以直接访问http://树莓派ip地址:8080/ ,注册用户了。

手动build

  1. 首先安装Golang 1.14+

cd ~/


# 以下四步按照需要自行选用

# 树莓派 64bit 网络条件允许
wget https://golang.org/dl/go1.17.3.linux-arm64.tar.gz

# 树莓派 32bit 网络条件允许
wget https://golang.org/dl/go1.17.3.linux-armv6l.tar.gz

# 树莓派 64bit 国内
wget https://golang.google.cn/dl/go1.17.3.linux-arm64.tar.gz

# 树莓派 32bit 国内
wget https://golang.google.cn/dl/go1.17.3.linux-armv6l.tar.gz


sudo tar -C /usr/local -xzf go*

echo 'export PATH=$PATH:/usr/local/go/bin' >> .bashrc

source ~/.bashrc

go version
  1. git clone整个项目
# 国内
git config --global url."https://hub.fastgit.org/".insteadOf "https://github.com/"
git config protocol.https.allow always

# 必要
git clone https://github.com/tobychui/arozos.git
  1. build
# 国内
go env -w GOPROXY=https://goproxy.cn,direct

# build
cd ./arozos/src/
go build
./arozos
  1. 守护进程
# 在开始前先确定没有arozos进程
cd /etc/systemd/system/

sudo nano arozos.service


# 添加以下内容

[Unit]
Description=ArozOS Cloud Service
After=systemd-networkd-wait-online.service
Wants=systemd-networkd-wait-online.service

[Service]
Type=simple
ExecStartPre=/bin/sleep 30
WorkingDirectory=/home/pi/arozos/
ExecStart=/bin/bash /home/pi/arozos/start.sh

Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target


sudo systemctl enable systemd-networkd.service systemd-networkd-wait-online.service

sudo systemctl start arozos.service

sudo systemctl enable arozos.service
此时你就可以访问http://树莓派ip地址:8080/ ,注册用户了。

WebApp & Subservice

说到Arozos,一定绕不过两个东西,WebApp与Subservice。

WebApp

Arozos中的WebApp是HTML5编写的Web应用程序,允许使用模块安装程序进行安装。

安装

您可以使用git repo URL或zip文件安装WebApp。您可以在“系统设置”>“添加和删除模块”选项卡中找到安装界面
notion image

删除

要删除WebApp,请选择要从WebApp列表中删除的WebApp,然后单击“卸载”
notion image
你也可以手动删除,以下是删除名为“MyWebApp”的子服务的示例。
sudo systemctl stop arozos

cd ~/arozos/web/

rm -rf MyWebApp

sudo systemctl start arozos

Subservice

Arozos中的Subservice是安装时需要编译的可执行文件

安装

你需要在Arozos目录下手动安装,以下是删除名为“MySubservice”的子服务的示例。
cd ~/arozos/subservice

git clone MySubservice的git地址

cd MySubservice

./build.sh

删除

以下是删除名为“MySubservice”的子服务的示例
sudo systemctl stop arozos

cd ~/arozos/subservice/

rm -rf ./MySubservice

sudo systemctl start arozos

启用与禁用

要启用或禁用子服务,请访问System Setting > Subservice选项卡,然后选择要启动/禁用的服务。
notion image
当然你也可以手动操作
sudo systemctl stop arozos

cd ~/arozos/subservice/MySubservice

touch .disabled

sudo systemctl start arozos

One More Thing

现在Arozos还在积极地开发,我也曾有幸为其贡献了一部分代码。
如果你对这个项目也有一些好主意,欢迎来提issue和pr,也可以加入telegram群组,与我们进行交流。
谢谢你的阅读!

© pi-dal 2021