Termuxでpkg updateできなくなって困ってる人へ

じゃんくはっく
じゃんくはっく

5/1からGoogleStoreから入れたTermuxはパッケージのアップデートできなくなっています。

えっ!そうなの?

ぴー
ぴー
じゃんくはっく
じゃんくはっく

では、どうすればいいの?っていう記事になります。

日本語の情報ってば、ほとんどないですね!

ぴー
ぴー

2021/5/1から、termux で、pkg update などできなくなてエラーになります。こんな感じ。

$ pkg update
Checking availability of current mirror: ok
Ign:1 https://dl.bintray.com/grimler/game-packages-24 games InRelease
Ign:2 https://dl.bintray.com/grimler/science-packages-24 science InRelease
Hit:3 https://termux.mentality.rip/termux-packages-24 stable InRelease
Err:4 https://dl.bintray.com/grimler/game-packages-24 games Release
  403  Forbidden
Err:5 https://dl.bintray.com/grimler/science-packages-24 science Release
  403  Forbidden
Reading package lists... Done
E: The repository 'https://dl.bintray.com/grimler/game-packages-24 games Release' does no longer have a Release file.
N: Metadata integrity can't be verified, repository is disabled now.
N: Possible cause: repository is under maintenance or down (wrong sources.list URL?).
E: The repository 'https://dl.bintray.com/grimler/science-packages-24 science Release' does no longer have a Release file.
N: Metadata integrity can't be verified, repository is disabled now.
N: Possible cause: repository is under maintenance or down (wrong sources.list URL?).

これはリポジトリの参照先が閉鎖されたからです。今まで、見ていた先は上のログからもわかるように「bintray」というところでした。この対応策は以下で書かれていますが、日本語で書かれた情報がなかったので書いておくことにしますね。

[README] Bintray repositories are down now #6726

Link

もう少し速く記事を書こうかなと思っていたのですが、ずるずると5月末になってしまいました。

リポジトリの参照先を変更する

GooglePlayからtermuxを入れた人が、この現象にあっていると思いますが、次のコマンドでリポジトリを変更できます。実行はリモートのsshからでもOKです。

termux-change-repo

すると、以下のようにCUIインターフェイスの画面が出てきます。

3つとも選択して、OKを押します。

次の画面にて、上から3つめのGrimler を選択します。

OKを押すと以下のよう表示され、ターミナル入力に戻ります。

[*] Grimler's mirrors selected
    Changing main repository
    Changing game repository
    Changing science repository
[*] Running apt update
Hit:1 https://grimler.se/termux-packages-24 stable InRelease
Hit:2 https://grimler.se/game-packages-24 games InRelease
Hit:3 https://grimler.se/science-packages-24 science InRelease
Reading package lists... Done
Building dependency tree       
Reading state information... Done
62 packages can be upgraded. Run 'apt list --upgradable' to see them.

そうしたら、以下のコマンドをパッケージのアップデートを行なっておきます。このコマンドは、インストールされている packages が最新のバージョンにアップグレードされます。

$ pkg upgrade

一応、PHP7など入れている場合は、PHP8になりますので(ダウングレードはtermuxはできません)注意してくださいね。WordPressはまだphp7で動作させたほうが良いです。php8.x は、いくつかのプラグインはwp-cliでエラーや警告がでます。

まだ、テスト中ですが取り急ぎ php7のパッケージを作っておきました。

Github: termux-php7

Link
../php7.4.12/
   ├── apache2_2.4.46-4_aarch64.deb
   ├── libicu_67.1_aarch64.deb ★
   ├── php-apache_7.4.12_aarch64.deb
   ├── php-fpm_7.4.12_aarch64.deb ★
   ├── php-pgsql_7.4.12_aarch64.deb
   └── php_7.4.12_aarch64.deb ★

★のは動作することを軽く確認済み。

また、今度これらのネタについてはブログ記事にしたいと思います。

まとめ

今回、なんとなくわかったのは以下となります。

・termuxのオフィシャルは、GooglePlayより、F-Droidからインストールを進めています。
・これにはちゃんと理由があるようで、そのあたりも次のネタで取り上げる予定
・Bintray側は、告知ページで「Into the Sunset on May 1st」と表現しています。Sunsetって、つまりクローズってことです!
・取り急ぎ、クロスビルド環境でPHP7.4.12をビルドしましたがこれもネタにしたいです。
・nginxとphp-fpmの組み合わせでは軽くテストしました。

あとがき

今年も折り返しの月に入りましたね! バイク関連のDIYをいろいろやりたいのですが、休みの日も急に仕事が入ってなかなか手がつけられずでした。ありがたいことなんで、仕事はやりますが趣味のDIYもやりたいので、うずうずしています。夏にはカスタム完了したバイクでツーリング行きたいですからね!

著者にメッセージ

間違いのご指摘など、コメントじゃなくて、個人的にやりとりしたい場合はこちらからどうぞ。お返事が遅くなるときもありますが、ご了承を。