Je cours une version inférieure d'Android et j'ai besoin d'installer un conteneur Linux proot dans Android. Une autre application est l'alternative la plus proche, mais comment l'installer? Cela semble assez difficile.
Réponses
Trop de publicités?- D'abord, lisez le fichier readme du dépôt GitHub d'AnotherTerm y こん
Vous pouvez utiliser le stock install-linuxcontainers.sh
que vous avez téléchargé depuis le dépôt Git sans les modifications pour une installation automatique. Il m'a donné des erreurs, c'est pourquoi j'ai posé cette question de type Q&R pour écrire le tutoriel sur la façon dont j'ai réussi à le faire fonctionner sur mon ancienne tablette.
Téléchargez Another Term depuis Play Store. Si la version du Play Store ne fonctionne pas, allez-y. aquí et essayez les versions antérieures qui fonctionnent sur votre appareil et délivrez le bug.
-
Connaître l'architecture de son téléphone
-
Télécharger run-tpl (après le téléchargement, assurez-vous qu'il n'a pas d'extension), installshellscript (le fichier doit être comme
install-linuxcontainers.sh
), proot-Android.tar.gz (téléchargez les deux si votre architecture possède 2 gunzips), et minitête .
Quant à la rootfs.tar.xz
, recherche google images.linuxcontainers.org
et entrez. En entrant, sélectionnez Distro, puis validez.
Pour les architectures, si l'architecture de votre téléphone est arm7-a, sélectionnez "armhf", et si arm8-a, sélectionnez "arm64". Il en va de même pour i386 et amd64.
Sélectionnez ensuite la valeur par défaut, puis choisissez la date de construction de votre choix, et enfin sélectionnez rootfs.tar.xz
puis le fichier commencera à être téléchargé. Après avoir téléchargé tous les fichiers, téléchargez Serveur HTTP simple du Play Store ou toute autre application de serveur web pour héberger les fichiers.
Copier ou déplacer minitar
, rootfs.tar.xz
, proot.tar.gz
et run-tpl
a /android/data/com.phlox.simpleserver/files
Ouvrez l'application et démarrez le serveur. Lancez votre navigateur et allez à votre adresse IP et au port spécifié dans l'application. Sur Chrome ou tout autre navigateur, appuyez longuement sur le bouton pour copier l'adresse du lien de téléchargement (si vous utilisez un clic droit sur le bureau), puis allez modifier l'adresse IP. install-linuxcontainers.sh
en utilisant un éditeur de texte et en remplaçant toutes les URLs qui commencent comme ceci http://192.168.43.239:8080
et remplacez-les par les URL de téléchargement correspondants que vous copiez depuis votre navigateur. Si votre ip local est 0.0.0.0 alors l'url devrait ressembler à ceci http://0.0.0.0:8080
Assurez-vous que toutes les URL ont été remplacées par les vôtres, copiées depuis le navigateur, et enregistrez le script.
Dernière étape
Installez et ouvrez Another Term et cliquez sur l'icône + en haut, nommez le profil shell et enregistrez (je n'ai rien modifié).
Arrêtez le serveur web dans l'application
Start sur le profil pour démarrer le terminal. Vous remarquerez peut-être une police trop petite ou trop grande, mais vous pourrez modifier les paramètres de la police plus tard. Tapez sur l'icône du clavier (icône en haut à droite et à gauche) pour passer à votre clavier par défaut.
u0_a176@goyave3g:/data/data/green_green_avk.anotherterm.oldgood $ cd /storage/emulated/0/Download
u0_a176@goyave3g:/storage/emulated/0/Download $ ./install-linuxcontainers.sh Debian Buster
Installation subdir name proots/___ [linuxcontainers-Debian-Buster]:
Actual name: kgktk
To uninstall: run `rm -rf "$DATA_DIR/proots/kgktk"'
Creating favorites...
Done.
Arch: armv7a
Variant: -pre5
Root FS: Debian Buster
Source: http://192.168.43.239:8080/rootfs.tar.xz
Getting minitar...
failed to connect to /192.168.43.239 (port 8080): connect failed: ECONNREFUSED (Connection refused)
Tapez votre faux nom de répertoire aléatoire et entrez.
Des fenêtres contextuelles de profil s'affichent, mais quittez-les toutes les deux et appuyez sur OK et Exit pour revenir au shell.
Comme vous pouvez le voir ci-dessus, la variante indique "-pre5". Si ce n'est pas le cas, vous pouvez y aller. Mais si c'est "-pre5", vous devez démarrer le serveur web, aller dans le navigateur, copier le lien de téléchargement de prootpre5.tar.gz
allez et éditez le script shell d'installation en remplaçant le proot.tar.gz
avec le nouveau lien pre5, puis enregistrez le script.
N'arrêtez pas le serveur web.
La deuxième course :
u0_a176@goyave3g:/data/data/green_green_avk.anotherterm.oldgood $ cd /storage/emulated/0/Download
u0_a176@goyave3g:/storage/emulated/0/Download $ ./install-linuxcontainers.sh Debian Buster
Installation subdir name proots/___ [linuxcontainers-Debian-Buster]: Buster
Actual name: Buster
To uninstall: run `rm -rf "$DATA_DIR/proots/Buster"'
Creating favorites...
Done.
Arch: armv7a
Variant: -pre5
Root FS: Debian Buster
Source: http://192.168.43.239:8080/rootfs.tar.xz
Getting minitar...
Getting PRoot...
Getting Linux root FS...
/etc/passwd:
=======
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
_apt:x:100:65534::/nonexistent:/usr/sbin/nologin
systemd-timesync:x:101:102:systemd Time Synchronization,,,:/run/systemd:/usr/sbin/nologin
systemd-network:x:102:103:systemd Network Management,,,:/run/systemd:/usr/sbin/nologin
systemd-resolve:x:103:104:systemd Resolver,,,:/run/systemd:/usr/sbin/nologin
messagebus:x:104:105::/nonexistent:/usr/sbin/nologin
=======
Regular user name [my_acct]: my_acct
Preferred shell [/bin/bash]: /bin/bash
Setting up run script...
Configuring...
Done!
u0_a176@goyave3g:/storage/emulated/0/Download $
Maintenant, nous y allons pour la dernière fois. Commencez le ./install-linuxcontainers.sh
tapez votre distro et votre version comme indiqué ci-dessus.
Maintenant, tapez le nom réel du sous-répertoire de votre choix. Dans mon cas, j'ai choisi de taper Buster. Cette fois, sauvegardez et quittez les deux profils pop-up. Après avoir sauvegardé, vous reviendrez au terminal et remarquerez que le téléchargement de rootfs progresse. Après cela, il vous sera demandé de taper les préférences de l'utilisateur et du shell, tapez celles qui se trouvent entre les crochets [] et entrez, et vous verrez que c'est fait.
Quittez ce shell en tapant sur la touche retour puis en appuyant longuement dessus, et cliquez sur Terminer puis confirmez la fermeture. Tapez sur l'un des profils de l'interpréteur de commandes que vous avez enregistrés avant de le nommer ; Buster et Buster (Root) dans mon cas et bienvenue dans Debian, je veux dire la distro que vous avez choisie.
A propos, je ne fais en aucun cas partie de ce projet, mais je suis juste un débutant Linux qui a trouvé un projet étonnant qu'il cherchait depuis longtemps.
Chapeau bas aux développeurs pour cette application incroyable.
Captures d'écran utiles :
EDIT:
Pour les nouvelles versions d'Android, le script a été mis à jour et il n'est pas nécessaire d'utiliser le script et la méthode modifiés, sauf peut-être si vous voulez avoir une sauvegarde des fichiers nécessaires lorsque vous voulez un conteneur propre. Pour les "très anciennes versions d'Android" (par exemple la gamme 4.4.4 et peut-être 5.0.0) vous ne pouvez pas utiliser ce script car il y a une erreur dans les anciennes versions.
Vous pouvez également choisir un moyen un peu plus simple...
Prérequis
-
Un
wget
prêt à l'emploi en mode lien statique pour Android : https://github.com/pelya/wget-android/tree/master/android -
Des certificats racine SSL CA à jour (endroit le plus courant sous Linux :
/etc/ssl/certs
)
Vous pouvez facilement recréer les hachages dans votre propre répertoire de certificats en utilisant la commandeopenssl rehash
.
Le processus
-
Créez un profil "local" avec le champ "exécuter" laissé par défaut et lancez-le.
-
$TERMSH pick .
pour mettre lewget
mentionné précédemment par un sélecteur de fichiers Android dans le répertoire$DATA_DIR
. -
Créez le répertoire
$DATA_DIR/certs
et placez-y vos certificats à jour. -
Modifiez votre script d'installation préféré en remplaçant tous les éléments liés au HTTPS
$TERMSH cat / copy / etc
par des commandes appropriéeswget --ca-directory="$DATA_DIR/certs" ...
PS
Je créerai un script prêt à l'emploi un peu plus tard...