1 votes

Y a-t-il un moyen de supprimer depuis /data/local sans accès root?

J'ai copié un fichier sur mon téléphone avec cette commande :

adb push large.zip /data/local/

Cela a pris quelques minutes et a été copié avec succès, mais ensuite j'ai réalisé que je ne pouvais pas le trouver sur mon téléphone. Je l'ai copié à nouveau ailleurs (adb push large.zip /sdcard/media/), mais ensuite j'ai voulu supprimer le premier fichier, qui utilise probablement environ 10 Go de stockage pour rien. Cependant, je ne le trouve pas :

adb shell
$ ls /data/local
 ls: /data/local: Permission denied
$ rm -f /data/local/large.zip
 rm: /data/local/large.zip: Aucun fichier ou dossier de ce type

a) Comment se fait-il que j'aie la permission de copier un fichier dans ce répertoire avec adb (sans accès root), mais pas de le voir ?

b) Y a-t-il un moyen de le supprimer sans accès root ? Est-il possible qu'il ait déjà été supprimé par un autre mécanisme ?

Pixel 8, Android 14

3voto

John Dallman Points 123

Es-tu complètement sûr que la commande ci-dessous est celle que tu as réellement exécutée? Et que tu n'as reçu aucun message d'erreur?

adb push large.zip /data/local/

Quand j'essaie de faire quelque chose de similaire, j'obtiens :

adb push adb.exe /data/local/
adb : erreur : impossible de copier 'adb.exe' vers '/data/local/adb.exe' : accès refusé par le serveur distant
adb.exe : 1 fichier transféré, 0 ignoré. 120,7 Mo/s (5857056 octets en 0,046s)

Cela semble réussi, si on ne regarde que la dernière ligne de la sortie, mais en réalité cela a échoué. Ce n'est pas très bien géré, car les données sont effectivement transmises, ce qui peut prendre un certain temps pour un gros fichier. J'ai signalé cela dans le Suivi des problèmes de Google.

Addendum : J'ai fait une autre expérience :

Démarrer une session adb shell et cd /data/local/tmp. C'est un sous-répertoire de /data/local, où le compte shell peut créer des fichiers, et généralement faire ce qu'il veut. Obtiens l'espace libre là-bas :

df -k . 
Filesystem       1K-blocs     Utilisé Disponible Uti% Monté sur
/dev/block/dm-52 111478764 15015348  96332344  14% /storage/emulated/0/Android/obb

Démarrer une fenêtre de commande supplémentaire, et pousser un gros fichier :

adb push largefile.zip /data/local
adb : erreur : impossible de copier 'largefile.zip' vers '/data/local/largefile.zip' : accès refusé par le serveur distant
largefile.zip : 1 fichier transféré, 0 ignoré. 30,4 Mo/s (286500912 octets en 8,992s)

Vérifie ensuite l'espace libre à nouveau, et il a diminué, mais pas autant que la taille du fichier poussé :

df -k .
Filesystem       1K-blocs     Utilisé Disponible Uti% Monté sur
/dev/block/dm-52 111478764 15015444  96332248  14% /storage/emulated/0/Android/obb

Cela ne prouve pas qu'il n'y a pas de répertoire temporaire utilisé, mais cela montre que s'il y en a un, il est nettoyé lorsque adb push rencontre un problème de permissions.

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