古くて使い道のないスマートフォンをGITサーバにする
# 古くて使い道のないスマートフォンをGITサーバにする
皆さん、古く型遅れでどうにもならないスマートフォンをどうしていますか?
よく聞く意見では、音楽プレイヤーにする、お風呂での読書専用機にする、格安シムを入れて二台並列運用するとかね。
私の使い道はちょっと変わっています。スマホをLinuxマシンにしてしまいます。
スマホとは一体なんでしょうか。AndroidのイケてないJVMを除いて、AndroidはLinuxの一種です。
Linuxではカーネルを転用すれば、別のディストリビューションのLinuxを動作させることが可能です。
スマホのルートを取得し、busyboxをインストールすることで簡単なbash-shellが動作可能なっていればOKです。
## 先にルートバイナリを入れる
HTCではデベロッパー申請をすれば、ルートバイナリを入れることが可能なので、自己責任というリスクを負うことになりますが、簡単にルート端末にできます。皆さん、HTC使いましょう、HTC。
## LinuxDeployというアプリで好きなディストリビューションをインストール
Arch, debian, Ubuntuなどメジャーどころをコマンド一発で、Linux Deploy - Google Play の Android アプリというアプリから入れることができます。
## フォーマット
さて、立ちはだかるvfat, fat32のファイルサイズの壁があります。4GByteを超えるファイルを作れないっていう。
この問題に関しては、最近の機種ならばext4でフォーマットされていますので、そちらを使っていけだければこの問題は生じません。
内部容量が少ない廉価版のスマホをお使いならばば、microsdをext4にフォーマットすることが可能です。
LinuxDeployで好きなディストリビューションを選択し、好きな容量のデバイスブロックを作成します。このブロックの中だけの作業なので、androidのスマホとしての機能を損なうことはありません。
## SSHでのアクセス
スマホでlinuxを(ここではubuntuとして説明する)を起動すると、VNCとSSHが開かれます。
SSHのデフォルトのユーザ名とパスワードは、android, changemeです。
SSHで入ったら、もうやることは少ないですね
## GITサーバをインストール
スマホ側で、以下のパッケージをインストールし、起動します。
```bash
sudo apt-get install git git-daemon-sysvinit sysv-rc-conf
/etc/init.d/git-daemon start
```
/etc/default/git-deamonを編集してどんなユーザがコミット可能なのか定義する
```bash
sudo vim /etc/default/git-deamon
```
私はユーザ名をubuとしたので、こんな感じになります。
```text
GIT_DAEMON_ENABLE=false
GIT_DAEMON_USER=ubu
GIT_DAEMON_BASE_PATH=/home/ubu
GIT_DAEMON_DIRECTORY=/home/ubu/git
```
## 最初にホスト側でgit --bara initが必要なようです。
プロジェクトを作成する際、GIT_DAEMON_DIRECTORY配下にフォルダを作り、git --bare initする必要があります。
```bash
ubu@localhost:~/git/project$ git --bare init
```
## クライアント再度での作業
```bash
mkdir project
cd project
git init
touch foobar
git add foobar
git commit -am 'first push'
git remote add origin ssh://ubu@192.168.1.14:1022/home/ubu/git/project
git remote set-url origin ssh://ubu@192.168.1.14:1022/home/ubu/git/project
git push origin master
```
はい、できましたー。
## もはや、使わなくなったスマホは自(手のひら)鯖
眠っているAndroidスマホをクラスタリングして、がん治療とかに役立てませんかね。