こんにちは、lisです!
Termux入れて遊んでいたら「F-Droid使ってインストールしなおせや」と警告が出ました。
ということでバックアップと再インストールについてです。
- Termux起動時に赤文字の警告が出た
- 実施手順
- アンインストール前にTermuxのデータバックアップを行う
- TermuxをF-Droidから入れ直す
- バックアップTermuxデータを復元する
- あとがき
Termux起動時に赤文字の警告が出た
Termuxの設定したなーと思って、再度立ち上げたらいつもの起動時メッセージの下に赤文字でこのような文章が出力されました。
You are likely using a very old version of Termux, probably installed from the Google Play Store. There are plans in the near future to remove the Termux apps from the Play Store so that new users cannot install them and to **disable** them for existing users with app updates to prevent the use of outdated app versions. Instead, you are encouraged to move to F-Droid or Github sources (see [1]). You can backup all your current Termux data before uninstallation and then restore it later by following instructions in the wiki [2]. Check the changelog [3] for all the new features and fixes that you are currently missing. Check [4] for why this is being done. [1] https://github.com/termux/termux-app#installation [2] https://wiki.termux.com/wiki/Backing_up_Termux [3] https://github.com/termux/termux-app/releases [4] https://github.com/termux/termux-app#google-play-store-deprecated -- 翻訳 -- おそらくGooglePlayストアからインストールされた非常に古いバージョンのTermuxを使用している可能性があります。 近い将来、新しいユーザーがそれらをインストールできないようにPlayストアからTermuxアプリを削除し、古いアプリバージョンの使用を防ぐためにアプリの更新がある既存のユーザーに対してそれらを**無効化**する計画があります。 代わりに、F-DroidまたはGithubソースに移動することをお勧めします([1]を参照)。 アンインストールする前に現在のすべてのTermuxデータをバックアップし、wiki [2]の指示に従って後で復元することができます。 現在欠落しているすべての新機能と修正については、変更ログ[3]を確認してください。 これが行われている理由については、[4]を確認してください。 [1] https://github.com/termux/termux-app#installation [2] https://wiki.termux.com/wiki/Backing_up_Termux [3] https://github.com/termux/termux-app/releases [4] https://github.com/termux/termux-app#google-play-store-deprecated
Androidバージョンが古いせいでTermux自体も古かったのかな?
と思ったら[4]を読んだら、そもそも
SDKの動作の変更と新しいGooglePlayポリシーにより、TermuxはPlayストアでアップデートを受信しなくなりました。代わりに、F-Droidからアプリケーションとアドオンをインストールしてください。
とありました。
F-Droidはオープンソースのストア(Google Playみたいな)らしいです。
調べた限り怪しいものではないようなので使っていきます。
立ち位置的には「脱GooglePlay」的なものと感じました。
実施手順
ということでやっていきます。今回実施する手順はこちら。
- アンインストール前にTermuxのデータバックアップを行う
- F-DroidからTermuxをインストール
- バックアップデータをリストア
アンインストール前にTermuxのデータバックアップを行う
termux-setup-storage
してない場合(~/storage/*
が作られていない場合)まず実行する。
~ $ termux-setup-storage ~ $ ls storage ubuntu-in-termux ~ $ ls storage dcim downloads external-1 movies music pictures shared ~ $ ls -l storage total 0 lrwxrwxrwx 1 u0_a294 u0_a294 24 Sep 16 12:09 dcim -> /storage/emulated/0/DCIM lrwxrwxrwx 1 u0_a294 u0_a294 28 Sep 16 12:09 downloads -> /storage/emulated/0/Download lrwxrwxrwx 1 u0_a294 u0_a294 48 Sep 16 12:09 external-1 -> /storage/6339-3933/Android/data/com.termux/files lrwxrwxrwx 1 u0_a294 u0_a294 26 Sep 16 12:09 movies -> /storage/emulated/0/Movies lrwxrwxrwx 1 u0_a294 u0_a294 25 Sep 16 12:09 music -> /storage/emulated/0/Music lrwxrwxrwx 1 u0_a294 u0_a294 28 Sep 16 12:09 pictures -> /storage/emulated/0/Pictures lrwxrwxrwx 1 u0_a294 u0_a294 19 Sep 16 12:09 shared -> /storage/emulated/0
こんな感じでバックアップを作成。
$ tar -zcvf /sdcard/termux-backup.tar.gz -C /data/data/com.termux/files ./home ./usr
tar: Exiting with failure status due to previous errors
というエラーで終わっていますが、恐らく
tar: ./usr/tmp/ssh-YGf0kd7NHv/agent.23411: socket ignored
が原因でバックアップ手順的にも「ソケットファイルに関する警告が表示された場合は無視して」と書かれているのでスルーします。
/sdcard/termux-backup.tar.gz
はTermuxをアンインストールしても残る。
TermuxをF-Droidから入れ直す
Termuxをアンインストールする。
F-Droidアプリをインストールするために、下記手順で不明なアプリをインストールできるようにする。
- 設定画面
- アプリと通知
- 詳細設定 → 特別なアプリアクセス
- 不明なアプリのインストール
- 使っているブラウザ(Chrome等)を選択
- 「この提供元を許可する」をON
「F-Droid」にアクセスして、「F-DROIDをダウンロード」からダウンロードして開いてインストールする。
同じ手順でF-Droidから不明なアプリをインストールできるように設定する。
- 設定画面
- アプリと通知
- 詳細設定 → 特別なアプリアクセス
- 不明なアプリのインストール
- 「F-Droid」を選択
- 「この提供元を許可する」をON
F-Droidを開いて、Termuxを検索してインストール。
バックアップTermuxデータを復元する
Termuxを開いて下記コマンドでデータを復元します。
$ termux-setup-storage $ tar -zxf /sdcard/termux-backup.tar.gz -C /data/data/com.termux/files --recursive-unlink --preserve-permissions
完了したら通知バーからTermuxを一旦閉じて、開き直す。
あとがき
TermuxをF-Droid経由に移行しようでした!
関連アプリもF-Droidにあるし、なんならGooglePlayで有料だったものが無料でインストールできます。