3 votes

Puis-je monter /data/data/(nom_application)/ sur une carte sd externe ?

Puis-je monter /data/data/com.termux/ dossier sur la carte sd externe ? Mon téléphone est sous Android 10 et n'a plus de mémoire interne.

Comme je l'ai lu dans Comment lier le montage d'un dossier dans /sdcard avec les permissions correctes ? montage sur /sdcard nécessite la permission de monter car /sdcard est émulée de /data/media/0 y /data/data/ ne l'est pas.

Et de L'environnement Termux peut-il être mis sur une carte SD externe ? il peut monter /data/data/com.termux/ en utilisant ln -s porque ext4 des liens de soutien tout en fat ne le fait pas.

Je ne sais pas comment /data/data/ fonctionne mais est-il possible de monter /data/data/com.termux/files/home/ vers une carte sd externe sans la formater en tant que stockage adoptable ou en faisant ext4 partition ?

2voto

alecxs Points 3105
  • créez un fichier sur la carte MicroSD. assurez-vous que le fichier n'est pas trop grand pour la limitation de taille de fichier fat32

    busybox dd if=/dev/zero seek=4294967295 bs=1 count=0 of=/mnt/media_rw/6DE8-1BC6/loop.img
  • créer un système de fichiers (confirmer avec y)

    /system/bin/mke2fs -t ext4 /mnt/media_rw/6DE8-1BC6/loop.img
  • boucle monter le fichier dans le répertoire existant

    mkdir -p /data/data/com.termux/files/home/ubuntu20-fs
    busybox mount /mnt/media_rw/6DE8-1BC6/loop.img /data/data/com.termux/files/home/ubuntu20-fs

UPDATE :

cela ne fonctionne que pour busybox avec le support des grands fichiers. selon l'utilisateur Jtnqr et l'utilisateur Hmm Il se peut que vous rencontriez encore des difficultés. Voici exactement le même exemple que ci-dessus, mais avec des captures d'écran.
* * * arrêtez de lire ici * * *

La seule étape supplémentaire est de copier les fichiers/usr dans le fichier loop avant de monter.


  • créer un fichier sur la carte MicroSD

    ls -la /data/data/com.termux/files
    su
    mkdir /storage/26B7-11F7/com.termux
    cd /storage/26B7-11F7/com.termux
    busybox dd if=/dev/zero bs=1M count=4095 of=usr.img

    2020-12-27_22_39_23.png


  • créer un système de fichiers (confirmer avec y)

    /system/bin/mke2fs -t ext4 usr.img

    2020-12-27_22_41_49.png


  • copie files/usr dans le fichier de boucle avant de monter

    mkdir -p tmp/usr
    busybox mount usr.img tmp/usr
    
    df -h | grep /dev/loop
    grep termux /proc/mounts
    
    busybox cp -acv /data/data/com.termux/files/usr tmp
    df -h | grep /dev/loop

    2020-12-27_22_53_15.png


  • boucle monter le fichier dans un répertoire existant

    umount tmp/usr
    busybox mount usr.img /data/data/com.termux/files/usr
    df -h | grep /dev/loop
    exit
    ls -la /data/data/com.termux/files/usr

    2020-12-27_22_57_21.png


la même chose peut être répétée pour d'autres répertoires. vous pouvez monter en boucle une autre home.img dans files/home pour étendre le stockage de termux

la raison de la division en plusieurs fichiers est la limitation de la taille des fichiers fat32 < 4 GB

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