2 votes

Comment puis-je créer un lien symbolique vers le dossier /cache au démarrage ?

Après avoir rooté et installé link2sd sur mon HTC Explorer, je rencontre toujours des problèmes de mémoire insuffisante.

Sur Google Play, je ne peux pas télécharger des applications de plus de 10-15M. Cela est dû au fait que le dossier /cache se trouve dans la mémoire interne, qui est désespérément petite. Dans ma version, Google Play écrit directement dans /cache, et non pas dans des sous-dossiers.

En utilisant adb en tant que root, j'ai supprimé /cache et créé un lien symbolique /cache -> /mnt/sdcard/cache. Cela fonctionne, mais lorsque je redémarre le téléphone, le lien symbolique est remplacé par l'ancien dossier.

Existe-t-il une manière correcte de résoudre ce problème une fois pour toutes?

Merci pour toute suggestion, A

2voto

Milner Points 533

Vous voudriez peut-être jeter un œil à DirectoryBind, qui a été développé pour des choses comme celle-ci. Il prend en charge les "montages" configurés par l'utilisateur au démarrage et également à la demande, donc rien ne devrait "disparaître" au démarrage.

Fondamentalement, il s'agit de mapper des éléments du stockage interne/du téléphone vers le stockage externe/la carte SD -- en particulier dans des cas comme le vôtre, où la mémoire interne est presque pleine.

REMARQUE : Selon la réponse de ce4, cette méthode ne sera d'aucun bénéfice en ce qui concerne le dossier /data, car /cache utilise sa propre partition (cela semble s'appliquer à tous les appareils Android - vérifié avec 7 appareils différents de 5 fabricants différents ; selon ce4, cela est particulièrement nécessaire sur les appareils chiffrés, car une partition non chiffrée est requise pour stocker les mises à jour de firmware pour les exécuter). Donc si votre préoccupation est d'augmenter l'espace de stockage sur /data, cela ne fonctionnera pas avec /cache. Mais si vous avez simplement besoin de plus d'espace dans /cache, cela devrait être parfaitement adapté. Vous pourriez alors utiliser le périphérique de bloc original (où /cache pointait) pour autre chose ;)

REMARQUE2 : À ma connaissance, le Google Play Store utilise /data/local pour mettre en cache ses téléchargements. Sur la plupart des appareils, il ne s'agit que d'un répertoire sur la partition /data, et pourrait donc facilement être géré par DirectoryBind.

Conseil supplémentaire : vérifiez avec la commande df depuis un terminal si le répertoire que vous souhaitez déplacer du stockage interne au stockage externe utilise une partition séparée ou non.

1voto

ce4 Points 14264

Hélas, ce n'est pas possible.

Du moins pas sans reflasher la table de partition du HTC (qui se trouve dans la section bootloader, alias hboot). Il ne semble pas y avoir de hboot modifié disponible pour l'explorer. Je connais uniquement des hboots repartitionnés pour le HTC Desire.

Raison:
/cache est sauvegardé par un dispositif de bloc séparé sur tous les appareils Android (c'est-à-dire un point de montage ou une partition), il est nécessaire pour contenir les fichiers de mise à jour du firmware (par exemple, nécessaire pour les téléphones cryptés). Donc, si vous le déplacez, il n'y a aucun gain car cette partition sera toujours présente et n'optimisera pas l'espace pour la partition /data. En cas de réduction de la partition /cache, les mises à jour OTA ne seront plus possibles (vous devrez utiliser une récupération personnalisée pour le faire).

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