3 votes

Obtention de l'erreur "opération non autorisée" en essayant de faire un lien symbolique avec un répertoire

Après avoir installé une ROM personnalisée (Onecosmic's ICS 4.0.3 rc1) sur mon Samsung I9000 Galaxy S, la external_sd Le lien symbolique est cassé. Donc, je voulais récupérer ce lien symbolique. J'ai utilisé le code suivant dans l'émulateur de terminal (oui, je suis rooté avec SuperUser) :

su (superuser asked for rights, allowed)
cd ./mnt/sdcard
ln -s ./mnt/emmc external_sd

Mais j'ai obtenu l'erreur suivante :

Opération non autorisée.

Comment puis-je créer le lien symbolique maintenant ?

0 votes

external_sd est un point de montage, pas un lien symbolique (c'est donc un dossier). Vous devrez changer la façon dont la ROM le monte pour aller là au lieu de /mnt/emmc .

0 votes

Matthew Read : Alors, comment je m'y prendrais pour faire ça ?

0 votes

Je n'ai jamais entendu parler de cette ROM, donc je ne saurais pas par où commencer.

1voto

Thej Points 655

Quel est le format de la partition de la carte SD ? Le format FAT ne prend pas en charge les liens symboliques, bien que je pense qu'il devrait être possible de créer un lien symbolique dans ext3 qui pointe vers un répertoire FAT.

En outre, il existe des opérations que même Root n'est pas autorisé à effectuer, comme l'écriture sur un disque en lecture seule ou sur des disques en écriture qui sont montés en lecture seule. Quel est le résultat de la commande 'mount' ?

De plus, votre commande a l'air louche ; essayez d'utiliser le chemin absolu (c.-à-d. ne faites pas précéder le chemin d'une étoile). ./ mais préfixez-le avec / ):

$ su
# ln -s /mnt/emmc /mnt/sdcard/external_sd

0 votes

Le montage indique que la carte SD et l'emmc sont vfat. Et évidemment, le stockage principal est en lecture/écriture. Y a-t-il des options pour moi ? Comment peut-il y avoir un lien symbolique au début ? Ou est-ce codé dans le logiciel ? Parce que pendant la mise à jour vers la nouvelle rom, rien n'a été formaté.

0 votes

En fait, j'ai essayé d'utiliser votre commande, mais j'ai obtenu le même résultat. Oh et oui le dossier external_sd est supprimé (pour éviter les problèmes d'écrasement (lire qu'au moins dans bash le lien symbolique n'écrase pas))

0voto

Le problème n'est pas lié au système de fichiers FAT. Sur un système de fichiers EXT4, par exemple, vous pouvez créer des liens vers des partitions montées en FAT32 sous linux aussi bien que vous le faites avec des liens vers des partitions EXT4, car la partition dans laquelle le lien serait créé (ext4) supporte les liens.

Le problème est qu'Android monte ses partitions de stockage interne avec tmpfs. Il utilise fuse ou quelque chose comme ça. Si vous tapez mount alors vous verrez que /mnt, /storage, /storage/emulated et d'autres sont montés en tmpfs qui ne supporte pas les liens. Le message correct devrait être "operation not supported".

À moins que nous ne trouvions un moyen de monter (ou le chemin vers le point de montage ext4) ces partitions sans utiliser le tmpfs, il ne sera pas possible de créer des liens comme ceux-ci.

Il y a un moyen de créer des liens. Des applications comme Link2SD le font. Mais je ne sais toujours pas comment !

0 votes

Le système de fichiers émulé n'est pas tmpfs c'est soit FUSE, soit sdcardfs . Link2SD lie les montages, ne crée pas de liens symboliques. Android.stackexchange.com/a/218944/218526

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