TermuxのRepositoryが使えなくなっている ( その対処法について )

Android6では、Termuxは使えないのか?


(2022/03追記)
下記の手法は、現在では使えなくなっています。メインリポジトリにもアクセスできなくなっているので、インストール後の初期設定が動きません。Android6以下の環境では、Termux使用は無理のようです。UserLAndあたりを考えるべきでしょう。


(2022/09追記)
Android5、6用のリポジトリがセットアップされているようです。どこまで維持されるかはわかりませんが、現状sources.listを下記に変更すれば、使用できるようです。

/data/data/com.termux/files/usr/etc/apt/sources.list

deb https://packages.termux.dev/apt/termux-main-21 stable main  
deb https://termux.dev/science-packages-21-bin science stable  
deb https://termux.dev/game-packages-21-bin games stable  
deb https://termux.dev/termux-root-packages-21-bin root stable  

(ここまで追記)


(2023/02追記)
現状、Google PlayからインストールしたTermuxは、初期化の段階でエラーになるため、上記の入れ替えはできなくなっています。Android5-6で対応するには、古いAPKを持ってきてインストールする必要があるようです。こちらの情報を参考にしてみてください。以下は、そのサマリー。

deb https://packages.termux.dev/apt/termux-main-21 stable main  
  • 不要ライブラリの削除
    apt remove science-repo
    apt remove game-repo

  • ツールの導入
    apt update
    pkg install xxxx

(ここまで追記)


今月(2021/07)のはじめ、最近まとめていた「Python TUI」の動作確認をしようと、Termuxを起動したときの話です。

pkg updateの出力に驚く

久しぶりの使用だったので、挨拶代わりに”pkg update”と入力したところ、こんなエラーが出てきて、びっくり。

どうも、”dl.bintray.com/grimler/game-packages-21”と”dl.bintray.com/grimler/science-packages-21”というRepositoryがおかしいようですね。

Repositoryが使えなくなっているとは...

調べていくと、この情報を見つけました。

All Termux repositories previously hosted on JFrog Bintray are down since 1st May, 2021. This means that all repositories hosted on dl.bintray.com domain are no longer available anymore. There nothing can be done on our side because Bintray service announced its sunset.

なるほど、2021/05/01から”JFrog Bintray”というRepositoryが使えなくなっているわけですか。
対処療法としては、

termux-change-repo  

というコマンドで、Repositoryを変更すれば良いらしい。
ただし、これはドキュメントにあるように、Android7+のみの対応とのこと。さらに、いろいろ書いてあって、「Google Playのものは古いから使うな。F-Droidからダウンロードしろ」、さらに「Remember that Android 5.x - 6.x is NOT SUPPORTED!」とダメ押し。いやいや、なかなか強烈だな(笑)。

まずは、手元に有るASUSのZenfone Max M2(Android9)で実行すると、問題はなくなりました。
しかし、Android6のNexus7(2013)では、termux-change-repoと入力しても、下記のようになってしまいます。

ドキュメントにあるように、Android6は見放されたということですね。


Android6での対応策

しかし、これは困りました。古いタブレットにTermuxを入れて、Unixライクの環境を構築している方は、少なくないと思います。
Nexus7なんて、その代表でしょう。公式の更新は、Android6どまりですからね。カスタムROMに逃げるという手はありますが、たかがTermuxごときのために、環境を作り直す気にはなれません。

古いタブレット活用のためにTermuxがある

いや、これは少し言い過ぎかな。
というわけで、なんとかならないかちょっと調べてみました。

Repositoryの設定は...

Debian系なら”/etc/apt”の”sources.list”ですから、Termuxもそんなところだろうと見当をつけて調べていきます。

/data/data/com.termux/files/usr/etc/apt/sources.list  
/data/data/com.termux/files/usr/etc/apt/sources.list.d/game.list  
/data/data/com.termux/files/usr/etc/apt/sources.list.d/science.list  

がありました。

問題なのは、games.listsciences.listなので、とりあえず、これの”dl.bintray.com”に関わるエントリをコメントアウトしておきます。

その後、”pkg update”すると、なんとかエラーはなくなりました。


再インストールして確認する。

しかし、これらのRepositoryなしで問題ないのでしょうか。TermuxでGameなんてやる気はないからいいですけど、Scienceというのはどうなんでしょうね。
とりあえず確認のため、Termuxを再インストールし、上記のRepositoryをコメントアウト。必要なツールをインストールしてみます

まずは、pythonから。

問題なく入りました。pythonのライブラリは、pipでインストールできます。Urwidを入れてみました。

その後、vimemacsgitと入れてみたが、問題なくインストールが出来ました。個人的にはこれでOKです。


代替Repositoryを探してみる。

ただ、Gameはともかく、Scienceに関わるツールが必要になる可能性は否定できません。
代替Repositoryがないか探してみると、こんな情報を見つけました。

Replace dead repos with:
https://github.com/termux/termux-root-packages-21-bin
https://github.com/termux/game-packages-21-bin
https://github.com/termux/science-packages-21-bin
https://termux.net still works.

なんて書いてある。

これらを順に見ていくと、最初のtermux-root-packages-21-binには、

To be able to install these packages in termux for android 5 you need to edit $PREFIX/etc/apt/sources.list.d/root.list

とありますが、root.listなんてファイルはなかったので、とりあえず無視。

次のgame-packages-21-binには、

To be able to install these packages in termux for android 5 you need to edit $PREFIX/etc/apt/sources.list.d/game.list and change from:
deb https://dl.bintray.com/grimler/game-packages-21 games stable
to
deb https://termux.com/game-packages-21-bin games stable

3つ目のscience-packages-21-binには同様に、

To be able to install these packages in termux for android 5 you need to edit $PREFIX/etc/apt/sources.list.d/science.list and change from:
deb https://dl.bintray.com/grimler/science-packages-21 science stable
to
deb https://termux.com/science-packages-21-bin science stable

と書いてあります。

試しに指定して、”pkg update”してみましたが、とりあえずエラーは出ませんでした。まあ、いまのところ必要ないですけどね。
何かの参考になれば幸いです。


環境のバックアップ

上記の状況を考えてみると、Google PlayにあるTermuxの寿命も短かそうですね。まあ、apkが出回るので、ここになくても大きな問題ではないかもしれませんが。
とりあえず、必要なツールをインストールしたら、バックアップを取っておくのが良いでしょう。バックアップ手法については、ここに情報があります。まあ、usrhometarでまとめているだけですね。レストアは、それの解凍。CPUアーキテクチャが同一なら、他のマシンに持っていくことも可能です。


これからどうしようか

こんな状況ですが、Termuxのためだけに、新しくAndroid7+の機器を買う気にはなれませんよね。
Unix環境など、バージョンが少々古くても大きな問題はないので、自分の環境を早々に作ってしまい、そこに引き籠もるのが正解のような気がします。