なぜ ArozOS を選ぶのか#
これまで多くのメーカーが、自分専用の高カスタマイズ NAS を持ちたいと考えてきました。そのため、多くのメーカーが現在最も人気のある SBC— ラズベリーパイに対応しました。そのため、ラズベリーパイ上の NAS アプリケーションも多種多様です。以下は主要なものです:
- Nextcloud
現在最も人気のあるアプリの一つかもしれません。プラグイン機能があり、アプリもあり、機能が非常に充実しています。しかし、先天的な欠点があります — それは PHP で書かれているため、非常に遅いです。
- pydio
現在国内ではあまり使われていませんが、Golang で書かれており、速度が速く、機能も比較的充実しているため、以前から悩んでいた選択肢です。
- Seafile
Seafile - オープンソースの企業プライベートクラウドストレージソフトウェア
国産の C 言語で書かれており、清華大学や北京大学の選択肢で、機能が充実しており、効率が非常に高いです。
- …
ここまで多くのことを言いましたが、彼らは皆良いのに、なぜ使わないのでしょうか?
大まかに以下の理由があります:
- カスタマイズの程度が十分ではなく、プラグインシステムはありますが、自分で書ける部分はまだ少ないです。
- すべて企業のプロジェクトです(この点は見解が分かれます)。
- 彼らにはプロ版があり、これは無料版の実力が飽和に達しないことを意味します。
- すべて大体ネットワークストレージアプリケーションに過ぎず、Synology DSM のようにはなりません。
- …
さて、ここで ArozOS を本当に紹介します。
Raspberry Pi 用の汎用 Web デスクトップオペレーティングプラットフォーム / OS、現在は Go で書かれています!
一部の人は質問するかもしれません。これは NAS アプリではないのですか?なぜ OS と呼ぶのですか?
その通りです。あなたが考えた通り、ArozOS の実力は Nextcloud のようなネットワークストレージアプリをはるかに超えています。WebApp と Subservice という二大武器を持ち、さらには IoT コントローラーでもあります。
一部のアプリケーション
WebApp 管理
Subservice 管理
もちろん、ファイル共有、音楽や動画の再生などの基本機能も欠かせません。
ファイル共有
音楽や動画の再生
さらにはファイル編集やコード作成も行えます。
これが私たちが必要とする NAS システムです!
ArozOS のインストール方法#
現在、ArozOS のインストール方法は 2 つあります。
パッケージ化された img を使用する#
すでにすべてが設定されており、箱から出してすぐに使用できます。
直接 **http:// ラズベリーパイの IP アドレス:8080/** にアクセスして、ユーザー登録を行うことができます。
手動ビルド#
- まず Golang 1.14 + をインストールします。
cd ~/
# 以下の4ステップは必要に応じて選択してください。
# ラズベリーパイ 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
- プロジェクト全体を git clone します。
# 国内
git config --global url."https://hub.fastgit.xyz/".insteadOf "https://github.com/"
git config protocol.https.allow always
# 必要
git clone https://github.com/tobychui/arozos.git
- ビルドします。
# 国内
go env -w GOPROXY=https://goproxy.cn,direct
# ビルド
cd ./arozos/src/
go build
./arozos
- デーモンプロセスを設定します。
# 開始前に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/src
ExecStart=/bin/bash /home/pi/arozos/src/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/** にアクセスして、ユーザー登録を行うことができます。
ランチャーと更新#
ArozOS は1.119以降、ランチャーと OTA 更新をサポートしています。次に、これらの 2 つの使用方法について説明します。
ランチャーモードへの移行方法#
上記でソースコードをビルドする方法を学びました。それでは、その上でランチャーを使用するにはどうすればよいのでしょうか?
# Arozosプロセスを一時停止します
sudo systemctl stop arozos
# ディレクトリに移動します
cd arozos/src
# ランチャーのソースコードをcloneします
git clone https://github.com/aroz-online/launcher.git launche
# ランチャーをビルドします
cd launche && go build
mv launcher ../
cd ..
# v1.119でない場合は、以下の手順を実行します
mkdir updates
cd updates
wget https://github.com/tobychui/arozos/releases/download/v1.119/arozos_linux_arm64 -O arozos
wget https://github.com/tobychui/arozos/releases/download/v1.119/web.tar.gz
tar -zxvf web.tar.gz
cd ..
# start.sh内の./arozosを./launcherに変更します
eg:
#!/bin/bash
sudo ./launcher -port 80 -tls=true -tls_port 443 -hostname "RPI-NAS"
# arozosを再起動します
sudo systemctl start arozos
成功すれば、ブラウザでリンクを開くと、効果が見えるはずです。
OTA アップグレード#
Arozos は 1.119 以降、OTA アップグレードをサポートしており、Arozos 内で直接バージョンを更新できます。
WebApp & Subservice#
ArozOS について語るとき、WebApp と Subservice の 2 つのものを避けて通ることはできません。
WebApp#
Arozos の WebApp は HTML5 で書かれた Web アプリケーションで、モジュールインストーラーを使用してインストールできます。
インストール#
git リポジトリの URL または zip ファイルを使用して WebApp をインストールできます。「システム設定」>「モジュールの追加と削除」タブでインストールインターフェースを見つけることができます。
削除#
WebApp を削除するには、WebApp リストから削除したい WebApp を選択し、「アンインストール」をクリックします。
手動で削除することもできます。以下は「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
有効化と無効化#
サブサービスを有効または無効にするには、システム設定 > サブサービスタブにアクセスし、起動 / 無効化したいサービスを選択します。
もちろん、手動で操作することもできます。
sudo systemctl stop arozos
cd ~/arozos/subservice/MySubservice
touch .disabled
sudo systemctl start arozos
もう一つのこと#
現在 ArozOS は積極的に開発中で、私も幸運にもその一部のコードに貢献しました。
もしこのプロジェクトに良いアイデアがあれば、issue や pr を提案することを歓迎します。また、Telegram グループに参加して私たちと交流することもできます。
ご覧いただきありがとうございます!