6 votes

Le environnement Termux peut-il être placé sur une carte SD externe?

Je voudrais installer mon environnement termux (dossier usr) sur une carte SD. Est-ce possible ?

J'ai vu ce post Can I install packages to external SD card on Termux in Android?. D'après ce que je comprends, les problèmes mentionnés là-bas ne se posent que si vous voulez installer des paquets individuels sur la carte SD. Je cherche à installer tout le dossier usr.

0 votes

8voto

Si votre appareil est rooté, vous pouvez le faire, mais c'est un peu délicat. (Vous devrez peut-être utiliser une autre application de terminal ou travailler en mode sécurisé de termux).

  1. Créez une partition ext4 sur la carte SD. (Cela peut être une 2ème partition).
  2. Créez un nouveau dossier où vous voulez monter la nouvelle partition. (Par exemple, dans votre dossier personnel ajoutez un dossier appelé ext4-fs)
  3. Dans termux, montez la partition (je suppose une 2ème partition). Vous devez connaître le chemin vers le périphérique. Je l'ai trouvé être /dev/block/mmcblk1p2 mais cela peut être différent sur votre appareil. mount /dev/block/mmcblk1p2 /data/data/com.termux/files/home/ext4-fs.
  4. Copiez le dossier usr de termux /data/data/com.termux/files/usr vers la nouvelle partition montée.

À partir de maintenant, vous devrez utiliser des commandes qui se trouvent dans /system/bin/. (Et vous devrez peut-être utiliser le mode sécurité ou une autre application de terminal).

  1. Renommez le dossier usr en quelque chose comme usr-old. /system/bin/mv /data/data/com.termux/files/usr /data/data/com.termux/files/usr-old.
  2. Créez un lien symbolique vers le dossier usr qui se trouve maintenant sur la nouvelle partition. ln -s /data/data/com.termux/files/home/ext4-fs/usr /data/data/com.termux/files/usr. Cela sera maintenant votre dossier usr de termux qui est lié au dossier sur la carte SD. (Vous pouvez forcer un lien symbolique même si usr existe déjà avec ln -sfn)

Vous pouvez maintenant supprimer l'ancien dossier usr (que nous avons renommé usr-old).

Maintenant, termux utilise le dossier lié symétriquement qui se trouve sur votre carte SD pour tout ce qui a besoin du dossier usr qui est tout l'environnement termux.

Chaque fois que vous retirez la carte SD et la réinsérez, vous devrez remonter la partition.

0 votes

Essayez ceci sur un appareil rooté mais à l'étape 6, vous obtiendrez ln: impossible de créer un lien dur de '/data/data/com.termux/files/home/ext4-fs/usr' à '/data/data/com.termux/files/usr' : lien inter-périphériques

0 votes

@MiguelMota Vous devez créer un lien symbolique avec l'option -s. (Voir l'étape modifiée n°6)

0 votes

Merci pour votre aide, mais lorsque j'ai essayé : mount /dev/block/mmcblk1p2 /data/data/com.termux/files/home/ext4-fs dans mon shell termux, j'ai reçu un message "permission denied". Je peux faire un montage avec tsudo, mais ensuite je ne peux pas accéder au fichier ext4-fs sans être root. J'utilise Android 6.0 et un v0.79 Termux. Si vous avez des suggestions ou des solutions, je vous serais reconnaissant.

1voto

P B Points 11

Le problème était SELinux. J'ai résolu en installant "The SELinux Switch" puis en le mettant en mode "permissif". Maintenant je peux monter en tant que root et accéder à Termux SANS être root!

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X