2022年5月17日追記)何故かPC WatchにTermuxとUbuntu22.04のインストール記事が掲載された。
Androidアプリのtermuxでubuntu環境を入れられるようなのでやってみる。
既にDebian norootも入れてるZenfoneZoomに、GooglePlayからtermuxを入れ起動。
そして上のリンク先のコマンドをコピペで実行するがwgetに失敗する。wgetが何故かインストールされない。
手入力でwgetだけインストールしようとしたり悪戦苦闘してようやく入ったんだが、今度は何故かbusyboxのwgetが動きubuntu.shを取得できない。
一旦termuxを終了させて再起動してやっとubuntu.shをゲット。
ubuntu.shを実行して環境を作り、さあstart-ubuntu.shでubuntuを起動するぞーとやってみたらprootが無いと。
pkg install prootでインストールして今度こそと思ったが動かず。/usr/bin/envが無いと出てたかな。
lsでubuntu-fs/見ると何もなくてubuntu.tar.gzというファイルがあったので、tar ztvf ubuntu.tar.gz usr/bin/envしたらあったので、これをubuntu-fs/に展開してやり直すとエラーは出たがプロンプトが変わったので動いたのがわかった。
$ ./start-ubuntu.sh
groups: cannot find name for group ID 1015
groups: cannot find name for group ID 1028
groups: cannot find name for group ID 3003
groups: cannot find name for group ID 9997
groups: cannot find name for group ID 50144
root@localhost:~#
しかしコマンドも普通に使えるようなんだが、apt updateでエラーが出る。ネットワークがおかしいのかとpingとかipで確認しようとしてもコマンドがない。
インストールしようとしてもできないのでネットワークがおかしいんだろうけど調査のしようもないという状態にハマってしまった。
というわけでこれ以上の深追いは諦めて、GalaxyS8にtermuxでubuntu環境を入れた人を発見していたのでそれを参考にしてインストールした。
Lazymuxというのが何かよくわからないが、とりあえず便利そうでサクッとインストールでき、ubuntuが動いた。groupsのエラーも同様に出る。
インストール中のメッセージを見ると"fixing nameserver, otherwise it can't connect to the internet"と出てたんで、うまく行かなかったのはおそらくそれっぽいけど何でそんなことになったんだか。
それにしてもこっちのubuntu環境もネットまわりのツールが入ってなかった。って、全く同じtarファイルを取得しているようなんでそりゃそうなんだが。
とりあえずapt install iputil_ping net-toolsでpingとifconfigを使えるようにした。
snapdが使えないかapt installしてみたら以下のエラー。
Cannot open audit interface - aborting.
addgroup: `/usr/sbin/groupadd -g 101 systemd-journal' returned error code 1. Exiting.
dpkg: error processing package systemd (--configure):
installed systemd package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
systemd
E: Sub-process /usr/bin/dpkg returned an error code (1)
Termux上で以下を実行したら、どうやらAndroidが32bitなようだ。Atom Z3580は64bitだと思うのに、これはがっかり。
$ dpkg --print-architecture
i686
いやunameだとx86_64なのでtermuxがi686なのか?
$ uname -a
Linux localhost 3.10.20-x86_64_moor-gdae716e #1 SMP PREEMPT Fri May 20 20:19:04 CST 2016 x86_64 Android
というわけで、amd64をダウンロードするようにubuntu.shを書き換えてやってみた。
するとprootが32bitだから64bit版はこっちからダウンロードしてと出たので、ダウンロードしようとしたらサイトが乗っ取られてて64bit版prootバイナリがないのだが・・・。
Androidアプリのtermuxでubuntu環境を入れられるようなのでやってみる。
既にDebian norootも入れてるZenfoneZoomに、GooglePlayからtermuxを入れ起動。
そして上のリンク先のコマンドをコピペで実行するがwgetに失敗する。wgetが何故かインストールされない。
手入力でwgetだけインストールしようとしたり悪戦苦闘してようやく入ったんだが、今度は何故かbusyboxのwgetが動きubuntu.shを取得できない。
一旦termuxを終了させて再起動してやっとubuntu.shをゲット。
ubuntu.shを実行して環境を作り、さあstart-ubuntu.shでubuntuを起動するぞーとやってみたらprootが無いと。
pkg install prootでインストールして今度こそと思ったが動かず。/usr/bin/envが無いと出てたかな。
lsでubuntu-fs/見ると何もなくてubuntu.tar.gzというファイルがあったので、tar ztvf ubuntu.tar.gz usr/bin/envしたらあったので、これをubuntu-fs/に展開してやり直すとエラーは出たがプロンプトが変わったので動いたのがわかった。
$ ./start-ubuntu.sh
groups: cannot find name for group ID 1015
groups: cannot find name for group ID 1028
groups: cannot find name for group ID 3003
groups: cannot find name for group ID 9997
groups: cannot find name for group ID 50144
root@localhost:~#
しかしコマンドも普通に使えるようなんだが、apt updateでエラーが出る。ネットワークがおかしいのかとpingとかipで確認しようとしてもコマンドがない。
インストールしようとしてもできないのでネットワークがおかしいんだろうけど調査のしようもないという状態にハマってしまった。
※stubsブランチの方にあるubuntu.shだと上記groupsエラーが出なかったので、 stubs=() stubs+=('usr/sbin/groupadd') stubs+=('usr/sbin/groupdel') stubs+=('usr/bin/groups') stubs+=('usr/sbin/useradd') stubs+=('usr/sbin/usermod') stubs+=('usr/sbin/userdel') stubs+=('usr/bin/chage') stubs+=('usr/bin/mesg') for f in ${stubs[@]};do echo "Writing stub: $f" echo -e "#!/bin/sh\nexit" > "$f" done をやればいいみたい。
というわけでこれ以上の深追いは諦めて、GalaxyS8にtermuxでubuntu環境を入れた人を発見していたのでそれを参考にしてインストールした。
Lazymuxというのが何かよくわからないが、とりあえず便利そうでサクッとインストールでき、ubuntuが動いた。groupsのエラーも同様に出る。
インストール中のメッセージを見ると"fixing nameserver, otherwise it can't connect to the internet"と出てたんで、うまく行かなかったのはおそらくそれっぽいけど何でそんなことになったんだか。
それにしてもこっちのubuntu環境もネットまわりのツールが入ってなかった。って、全く同じtarファイルを取得しているようなんでそりゃそうなんだが。
とりあえずapt install iputil_ping net-toolsでpingとifconfigを使えるようにした。
snapdが使えないかapt installしてみたら以下のエラー。
Cannot open audit interface - aborting.
addgroup: `/usr/sbin/groupadd -g 101 systemd-journal' returned error code 1. Exiting.
dpkg: error processing package systemd (--configure):
installed systemd package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
systemd
E: Sub-process /usr/bin/dpkg returned an error code (1)
Termux上で以下を実行したら、どうやらAndroidが32bitなようだ。Atom Z3580は64bitだと思うのに、これはがっかり。
$ dpkg --print-architecture
i686
いやunameだとx86_64なのでtermuxがi686なのか?
$ uname -a
Linux localhost 3.10.20-x86_64_moor-gdae716e #1 SMP PREEMPT Fri May 20 20:19:04 CST 2016 x86_64 Android
というわけで、amd64をダウンロードするようにubuntu.shを書き換えてやってみた。
するとprootが32bitだから64bit版はこっちからダウンロードしてと出たので、ダウンロードしようとしたらサイトが乗っ取られてて64bit版prootバイナリがないのだが・・・。