/

TermuxならLinuxマシンがスゲー安く作れる

termuxに入ったdebian

Linuxマシンがほしくなったら、ヤフオクでAndroidを探してTermuxを入れろ、以上!

いきなり結論です。

意味がわからない方はすいません、今回はYahooニュースとか見といてください。

WindowsでWebアプリの開発をしていると、Railsを使う時とかNode.jsを使う時とか結構めんどくさいことが多くあります。

そもそもWindowsの場合ターミナル(黒い画面)の出来があまりよくないのでcygwinというWindows上でLinux風に動くターミナルを使ってお茶を濁しています。

Windowsで本格的にLinuxを動かしたいのであればVirtualBoxとVagrantを入れる必要があります。

VirtualBoxとVagrantのインストールはあまり大変じゃないので、すぐにWindowsでLinux環境が作れるのですが「Linuxマシンが動いている感」が非常に薄いのは否めません。

なぜならWindows上でLinuxが動いているからです。

で、冒頭の結論です。

安いAndroid端末を買えば簡単にLinuxマシンになるよっつーことです。

ヤフオクでは中古のAndroidが安く売られている

ヤフオクでは毎日スマホが大量に出品されています。

iPhoneは高いですが、Android端末は安く買えます。

画面割れとか非人気の古いものであれば2000円以下で手に入ります。

さらにメール便で送ってくれるところも多いので、送料が200円くらいで済みます。

端末と配送の保証とかはないですが、そもそも中古なので保証はあきらめましょう。

掘り出し物をゲットする感覚でいきましょう。

できればSIMフリーの海外メーカーのものを買う

あと、できればですが日本の国内メーカー(SonyとかSharpとか)のものよりも、海外メーカーのスマホを狙いましょう。

製品としての出来映えとか完成度で見た場合は日本国内メーカーのスマホの方が海外メーカーのスマホよりよくできてます。仕事が丁寧なメーカーが多いということでしょう。

ですが、日本国内メーカーの端末はSIMフリーのものが少ないうえに、グローバルに展開しているメーカーが少ないためカスタムロムを入れたりroot化したりするのが非常に難しいです。 (Sonyはグローバル展開自体はしている...)

要はユーザーが少ないのでカスタムロムとかroot化を頑張るユーザーが少ないので情報が少ないです。 色々遊びたい場合はあまり適していません。

日本の国内市場だけを見てキャリア(docomo、au、softbank)とべったりでスマホを売ってきたのが国内メーカーです、だからSIMフリーの端末が少ないのです。 2010年くらいの時点でSIMフリーで売り始めていれば世界のスマホの勢力図はかなり違ったものになっていたでしょう。

で、どのメーカーがオススメかと言うと台湾のAsus、中国のHuawei、xiaomi、アメリカのMotorolaでしょうか。

性能云々ではなく、ユーザーが多く開発コミュニティが活発なのが今挙げたメーカーのスマホです。

HTC、LG、Samsungは高額機体が多いのであまりオススメできません。 製品の出来だけで言うとHTCはすごくいいのですが、勢いが全くありません、私は結構好きだっだのですが非常に残念です。

日本国内のメーカーであるSharpとSonyでも古ければ安いものはありますが、root化とカスタムロムは絶望的(SonyはSharpに比べればマシだけど)なのでそういう遊び方をしないのであればという感じでしょうか。

下記が端末を選ぶ際の注意です。 カスタムロムが入れられる端末であればAndroidバージョンは気にする必要は無いですが、国内メーカーを選ぶのであればバージョンはすくなくとも6以上は欲しいかなと思います。

  • Android: 6 以上
  • メモリ: できれば3GB以上
  • ストレージ: 最低16GB、できれば外付けmicro SDカードが入れられる
  • ボタン、USB端子、Wi-Fiが壊れているものは使い物にならない
  • バッテリーが膨らんでいるものはダメ
  • カメラとかスピーカーが壊れているのはホトンド気にする必要なし
  • 画面割れは中の液晶が洩れてなくてタッチが効けば気にする必要なし

AndroidにTermuxを入れる

Termuxを使ってAndroidでLinuxエミュレータを参照してTermuxをAndroidに入れてください。

Debianのインストール

TermuxだけでもLinuxぽく使えるので気にならなければTermuxで十分です。

でも、よりLinuxぽくしたい場合はDebianを入れましょう。

ミネラルウォーターみたいですね、Debian。

まずTermuxを立ち上げてから下記のコマンドたちを打ってください。

# debootstrap等をインストール
$ pkg install debootstrap proot wget

# debian用のディレクトリを作り移動
$ mkdir storage/deb
$ cd storage/deb

# アーキテクチャーのチェック
$ uname -m
## 結果が aarch64だったら
$ debootstrap --arch=arm64 stable stable http://ftp.debian.org/debian/
## 結果が x86_64だったら
$ sudo debootstrap --arch=amd64 stable stable http://ftp.debian.org/debian/
## 結果が i686だったら
$ debootstrap --arch=i386 stable stable http://ftp.debian.org/debian/

# binds ディレクトリを作成
mkdir binds

# start-debian.shの作成
$ vim start-debian.sh

# 下記の矢印内を記述
#↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

#!/data/data/com.termux/files/usr/bin/bash
cd $(dirname $0)
## unset LD_PRELOAD in case termux-exec is installed
unset LD_PRELOAD
command="proot"
command+=" --link2symlink"
command+=" -0"
command+=" -r stable"
if [ -n "$(ls -A binds)" ]; then
  for f in binds/* ;do
    . $f
  done
fi
command+=" -b /dev"
command+=" -b /proc"
## uncomment the following line to have access to the home directory of termux
#command+=" -b /data/data/com.termux/files/home:/root"
## uncomment the following line to mount /sdcard directly to /
command+=" -b /sdcard"
command+=" -w /root"
command+=" /usr/bin/env -i"
command+=" HOME=/root"
command+=" PATH=/usr/local/sbin:/usr/local/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/games:/usr/local/games"
command+=" TERM=$TERM"
command+=" LANG=C.UTF-8"
command+=" /bin/bash --login"
com="$@"
if [ -z "$1" ];then
  exec $command
else
  $command -c "$com"
fi

#↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑

# 実行権限を追加
$ chmod a+x start-debian.sh

# debianの実行
./start-debian.sh

# パッケージのインストール
$ apt-get update
$ apt-get upgrade

$ cat /etc/lsb-release
$ apt-get install tzdata

$ apt-get install net-tools
$ apt-get install wget git
$ apt-get install build-essential

これでDebianが入りました。

Debianのインストールに関しては下記のサイトを参考にさせてもらいました、ありがとうございます。

http://beta-notes.way-nifty.com/blog/2018/11/termux-ubuntude.html

AWSより安い

まだ、TermuxとDebianをちゃんといじっていないので何ともいえないのですが、AWSのEC2に仮想Linuxマシンを作るとかよりも安くLinuxマシンが手に入ります。

Androidさえ買ってしまえばそれで終了です、AWSのように毎月の支払いはありません。 あるとしたらAndroid端末への充電代だけでしょう。

AWSか他のVPSを契約しようか迷っていたのですが、しばらくはTermux&Debianで色々やってみる予定です。

Raspberry Piの方が安いよね?

(2020/8/5 追記)

Raspberry Pi(以降ラズパイ)も安いよと思った方がいるかもしれません。

ラズパイは一番安いZeroであれば1000円以下で手に入れられますが、このモデルにはWi-Fiがついていません。

さらにWi-Fi付きのZero Wも2000円ちょいで手に入れられますが、結局ラズパイはディスプレイもキーボードも電源も用意しなくてはならないので結構面倒です。

もちろんSSHで入ればディスプレイもキーボードもいらないのですが。。。

最安Linuxマシンとしてはラズパイですが、取り回しの良さと購入の手軽さ(中古品が死ぬほど出回っている)と性能の高さ(カメラやセンサー類、バッテリーも付いていてディスプレイもある)で見るとTermux in Androidに軍配が上がるのではないでしょうか。