What is the purpose of symlinks? - Samsung Galaxy Nexus

I've done some googling and I still don't understand the purpose of symlinks.
Is this user's comments correct? (link to post below)
http://forum.xda-developers.com/showpost.php?p=35147667&postcount=4

In this case, it's symlinked because of legacy reasons.
Android 4.2 introduced multiple users(on tables, but they use the same model for phones). Every user has a separate SDcard folder. The first user gets 0, the second gets 10(don't ask why). This means that in the root of your sdcard contains a folder 0 and a folder 10.
Because some apps don't use proper API's to retrieve the external storage folder, but instead they just use '/sdcard'. If Android didn't use symlinks to mount '/sdcard' to 'SDcard/0', those apps would write into the wrong folder. For example, if a music app did this, both users would have the same music(since the app reads from/writes to sdcard instead of sdcard/0 or sdcard/10). Or even worse, trusted documents could be accessible to all users, instead of just one.
So, symlinks can be used for legacy reasons. But they can also be used for convenience. If you need to have one file at two locations, you could simply copy the file and put it in both locations. But if one of the two changes, the other one isn't. They're not linked together, they're just 2 separate files.
But if you use symlinks instead of copying, there is just one file, and one symlinks which points to the original file. If the file changes, the symlink will point to the changed data.

That's a good point on the API and multi-user account.
I have some specific questions. There are two directories in my not rooted Nexus 7. Storage/emulated/legacy and storage/emulated/0
I'd like to know what is the purpose of creating these symlinks? Is it somehow related to managing multiple user accounts?
Using my file manager it is all very strange to me. There is an emulated folder and a legacy folder in the storage folder. But in the emulated folder, there is the 0 folder and the legacy folder. Legacy folder is also found in mnt and root. All folders mentioned except for emulated, leads to where all my data is stored.
I see no purpose of having the legacy folder in more than one place.

So legacy is a symlink to sdcard? And emulated/0 is a symlink to legacy?

poetryrocksalot said:
That's a good point on the API and multi-user account.
I have some specific questions. There are two directories in my not rooted Nexus 7. Storage/emulated/legacy and storage/emulated/0
I'd like to know what is the purpose of creating these symlinks? Is it somehow related to managing multiple user accounts?
Using my file manager it is all very strange to me. There is an emulated folder and a legacy folder in the storage folder. But in the emulated folder, there is the 0 folder and the legacy folder. Legacy folder is also found in mnt and root. All folders mentioned except for emulated, leads to where all my data is stored.
I see no purpose of having the legacy folder in more than one place.
Click to expand...
Click to collapse
storage/emulated/0 is specific for the first user, but storage/emulated/legacy is probably for some legacy reasons. Essentially they point to the same storage, but it's probably cleaner for development purposes(when they decided to create those symlinks). I'm not sure why they decided to do this, but they probably thought is was better for some reason.
poetryrocksalot said:
I hope this is partially correct.
We want to mount /sdcard to sdcard/0 or sdcard/10, depending on the current user.
We can't symlink /sdcard to /0 or /10, because is a subdirectory and is not the same as mounting. You can mount /sdcard to multiple directories but only one at a time. You can symlink /sdcard to only one directory. But /sdcard is the real directory so we don't want it to be a symlink.
storage/emulated/legacy is symlinked to /sdcard. And storage/emulated/0 is symlinked to storage/emulated/legacy with the primary account active. There has to be the legacy directory served as a symlink because of the fact that the user folders 0 and 10 are subdirectories of the sdcard folder.
When we are mounting /sdcard to sdcard/0, we are actually mounting legacy to sdcard/0
Because with my logic, if we mounted /sdcard to sdcard/0 then /sdcard would lose its contents which includes the subdirectory 0. Therefore we would be mounting an empty media.
LOL all this is confusing but I hope I get the general idea and some of it right.
Click to expand...
Click to collapse
You're partially correct. According to the link you provided in your first post, the (internal/external) sdcard is mounted at /data/media. This folder contains 0, 10, legacy and obb. Let's ignore the 'obb' folder. The /data/media folder is your internal sdcard(the /sdcard you were talking about). Depending on the current user, /sdcard is either /data/media/0 or /data/media/10. This way, we're not symlinking to a subdirectory(which is impossible), and the /sdcard folder actually contains data.
In addition, /storage/emulated is because we don't have a real sdcard, but we emulate one. Both the Nexus 7 and Galaxy Nexus only have internal storage, so we emulate the sdcard. Other devices with an SDcard probably also have /storage/emulatd, but that's because they both have an emulated sdcard and a real sdcard. The real sdcard will probably appear in /storage/sdcard1 (not sure about this).

Sounds like Google made it overly complicated for no reason.

tokuzumi said:
Sounds like Google made it overly complicated for no reason.
Click to expand...
Click to collapse
I disagree, it's pretty complicated, but building a system which is compatible with multiple users and multiple sdcard(internal and external) is complicated.
For most users, the current setup works great. Most users don't bother using a file manager since there's no need for it. There's an app for the downloads, and music/photos/video's are handled by the music and gallery apps. There is just a small portion of users actually using a file manager.

Its purpose is to have a file or directory in multiple places at the same time.

Related

[Q] Folder structure

Hi i am looking now a little to the folder structure and would like to clarify one thing. So in the structure we can find "mnt/sdcard" and going up one level (the highest one) we can find "sdcard" by itself. I have to add that going to the former one or the latter we have the same content.
Could anybody explain me why we have those two folders looking as doubbled? Personaly I think it is probably some kind of link.
Thanks in advance.
Sent from my HTC Vision using XDA Premium App
I believe its a Linux thing.
/mnt/sdcard is where the sdcard is actually mounted in Android, and
/sdcard is is just a symbolic link to that directory
/nmt is used for mount points - just like linux. So if you have other partitions on your sdcard (like a2ext) they'll show up in /mnt whereas they will not show up in /sdacrd.
Like they guy above me said, /sdcard is really just a symbolic link (shortcut).

sdcard0 and sdcard?

I have a Sprint GNex running RU Jelling M1 RC2 and I have two internal storages (if that makes sense). I have sdcard/ and I have storage/sdcard0. Both seem to contain all data on my sd card and appear to be the exact same. I just don't know why there is two. Anyone know?
symlinks.
Elaborate? Sorry but I do not know what that is/means?
DRatJr said:
Elaborate? Sorry but I do not know what that is/means?
Click to expand...
Click to collapse
In computing, a symbolic link (also symlink or soft link) is a special type of file that contains a reference to another file or directory in the form of an absolute or relative path and that affects pathname resolution
Source Wiki.
Ok but it gets weirder. When I download an attachment from Yahoo mail and save it, a pic for example, it is in both destinations, but in gallery shows in sdcard0. why is that?
i believe this is the bug ppl are facing with jelly bean(including me).
jb seems to use the sdcard0 so previous files dont show up in apps such as gallery, music, etc..
i might be wrong but hope someone clears this up for the people having issues...
bluemoon1221 said:
i believe this is the bug ppl are facing with jelly bean(including me).
jb seems to use the sdcard0 so previous files dont show up in apps such as gallery, music, etc..
i might be wrong but hope someone clears this up for the people having issues...
Click to expand...
Click to collapse
It's not a bug. It's by design. The physical media of your sdcard exists as /data/media. On boot, your phone uses /data/media to create a virtual sdcard, found at /storage/sdcard0. After that, symbolic links are set up that point /sdcard and /mnt/sdcard to /storage/sdcard0.
The data exists in one place, /data/media. The rest are essentially just pointers to the information for backward/forward compatibility.
Edit: Code snippets showing the above. Note, these are from my VZW Nexus:
init.tuna.rc
Code:
on early-init
export EXTERNAL_STORAGE /storage/sdcard0
mkdir /storage 0050 system sdcard_r
mkdir /storage/sdcard0 0000 system system
# for backwards compatibility
symlink /storage/sdcard0 /sdcard
symlink /storage/sdcard0 /mnt/sdcard
mkdir /mnt/usbdisk 0755 system system
on post-fs-data
# we will remap this as /storage/sdcard0 with the sdcard fuse tool
mkdir /data/media 0770 media_rw media_rw
chown media_rw media_rw /data/media
[...]
# create virtual SD card at /storage/sdcard0, based on the /data/media directory
# daemon will drop to user/group system/media_rw after initializing
# underlying files in /data/media will be created with user and group media_rw (1023)
service sdcard /system/bin/sdcard /data/media 1023 1023
class late_start
[...]
Cilraaz said:
It's not a bug. It's by design. The physical media of your sdcard exists as /data/media. On boot, your phone uses /data/media to create a virtual sdcard, found at /storage/sdcard0. After that, symbolic links are set up that point /sdcard and /mnt/sdcard to /storage/sdcard0.
The data exists in one place, /data/media. The rest are essentially just pointers to the information for backward/forward compatibility.
Click to expand...
Click to collapse
yup.
thanks for the explanation
DRatJr said:
Ok but it gets weirder. When I download an attachment from Yahoo mail and save it, a pic for example, it is in both destinations, but in gallery shows in sdcard0. why is that?
Click to expand...
Click to collapse
A symlink can be looked at as basically a shortcut. So if you open sdcard0 you're in sdcard.
Sent from my Galaxy Nexus
Sprint, the Not Right Now Network
So can we delete sdcard with Root Explorer and just use sdcard0?
Vaporsilver said:
So can we delete sdcard with Root Explorer and just use sdcard0?
Click to expand...
Click to collapse
No, you can't.
That's designed that way because some apps look for /sdcard and others for /sdcard0. It doesn't affect in ANYTHING to you because after all, the files are actually stored in /data/media. There are no duplicate folders in any way.
Just use Root explorer and save the files wherever you want. One day you can use /sdcard and the other /sdcard0. The second day you'll find that the files you put in /sdcard are in /sdcard0.
Android from ICS and onwards wasn't meant that you look for the files using a Root explorer. In fact, all apps can browse the storage area how they want and you don't need to worry about it.
Cheers!
el_charlie said:
No, you can't.
That's designed that way because some apps look for /sdcard and others for /sdcard0. It doesn't affect in ANYTHING to you because after all, the files are actually stored in /data/media. There are no duplicate folders in any way.
Just use Root explorer and save the files wherever you want. One day you can use /sdcard and the other /sdcard0. The second day you'll find that the files you put in /sdcard are in /sdcard0.
Android from ICS and onwards wasn't meant that you look for the files using a Root explorer. In fact, all apps can browse the storage area how they want and you don't need to worry about it.
Cheers!
Click to expand...
Click to collapse
Awesome thanks! That really clears things up.
I have a question along the same lines, but don't feel it needs it's own thread.
I have a VZE Gnex (toro) that I unlocked and rooted. I've previously owned the G1, G2, and Sensation. I'm not too bad of a n00b, but I have my moments, and this may be one of them haha.
I was looking to flash the AOKP JB nightly, and I was reading up on how to wipe everything properly, as this is my first experience without an SD card. I use TWRP and I performed factory reset, wiped system, flashed ROM, flashed Gapps, wiped cache + dalvik, rebooted. Upon reboot, most of my folders were missing from my 'SD card' when viewing them from my PC, so I reverted back to the backup I made prior to starting all of this. The backup wasn't all that big, yet all of my stuff was back. Also, even though the fresh install of AOKP didn't show much of anything on the 'sdcard' from my PC, I could still access the AOKP ROM file in recovery, so it seems the data was still there, just hidden from view on my PC.
My questions are:
What exactly does a Factory Reset wipe when it comes to the 'SDcard'?
Is my issue just a remnant of the .nomedia issue? I thought I had fixed that prior to doing any of this, but who knows how far it went.
What types of folders are affected by a wipe on the 'SDcard'?
What types of folders are not affected by a wipe on the 'SDcard'?
What do I see the files in ICS and not JB, yet it appears they are still there (just not on my PC)? Is it because of the stupid MTP and not Mass Storage?
How do I know what folders are MTP viewable and which aren't so I don't have to mess around with "ADB Pull" command as much?
I'm confused on what I need to back up, and what will be OK to leave on the internal storage. Any help would be appreciated. I did my best searching here on XDA and RootzWiki with things I thought may be valid. If I missed something, don't flame me. I did actually search
1. A factory reset with a custom Recovery wipes /data and /cache partitions BUT in the case of the GNexus, /data/media is not affected. In that location is where the "sdcard" resides. That's what you look when you connect the phone to a PC. The stock recovery wipes everything and leaves the phone as new.
2. The .nomedia is to hide certain files from the media scanner and avoid to display unwanted files in the Gallery or Music Player.
3. and 4. Like I said, using a custom recovery (TWRP or CWM) doesn't touch the /data/media folder, so no files are deleted there. You wouldn't want to delete the folder where your NANDROID backup is stored, do you?
5. If you're still on ICS connect the phone to the PC and backup EVERY THING just to be safe, including the NANDROID folder.
After you wipe and flash the new ROM you'll still see the old files (like pictures, music, and so on). You can delete them if you like.
Cheers!
el_charlie said:
1. A factory reset with a custom Recovery wipes /data and /cache partitions BUT in the case of the GNexus, /data/media is not affected. In that location is where the "sdcard" resides. That's what you look when you connect the phone to a PC. The stock recovery wipes everything and leaves the phone as new.
2. The .nomedia is to hide certain files from the media scanner and avoid to display unwanted files in the Gallery or Music Player.
3. and 4. Like I said, using a custom recovery (TWRP or CWM) doesn't touch the /data/media folder, so no files are deleted there. You wouldn't want to delete the folder where your NANDROID backup is stored, do you?
5. If you're still on ICS connect the phone to the PC and backup EVERY THING just to be safe, including the NANDROID folder.
After you wipe and flash the new ROM you'll still see the old files (like pictures, music, and so on). You can delete them if you like.
Cheers!
Click to expand...
Click to collapse
Thanks for the fast reply, but I still am wondering why I can't see the exact same files in AOKP that I could see in stock ICS. Any clues? Should I just move everything to /data/media/ using root explorer and see if they all show up?
Well the solution I've come to is to run
adb pull /sdcard/ c:\android\sdcardbackup8-17-2012
to back absolutely everything up, perform a full wipe of everything (including storage), flash AOKP, flash Gapps, wipe cache, wipe dalvik, reboot, then run
adb push c:\android\sdcardbackup8-17-2012 /sdcard/
Hopefully this helps someone else out
I find there is a problem in the sync's. /sdcard/ does not show always what's in /storage/sdcard0/. From pc I see no new files while on my nexus in /storage/sdcard0/ i see the file and /sdcard/ i don't. Not sure why the sync does not occur any faster. Seems like a bug. I thought hmm, maybe the disconnect usb near clock might do the trick to fix the problem but it doesn't. My pc is a slave to whenever my driod syncs the two.
Flukester69 said:
I find there is a problem in the sync's. /sdcard/ does not show always what's in /storage/sdcard0/. From pc I see no new files while on my nexus in /storage/sdcard0/ i see the file and /sdcard/ i don't. Not sure why the sync does not occur any faster. Seems like a bug. I thought hmm, maybe the disconnect usb near clock might do the trick to fix the problem but it doesn't. My pc is a slave to whenever my driod syncs the two.
Click to expand...
Click to collapse
What files aren't you seeing?
*Shaolin Shadowboxing*
Flukester69 said:
I find there is a problem in the sync's. /sdcard/ does not show always what's in /storage/sdcard0/. From pc I see no new files while on my nexus in /storage/sdcard0/ i see the file and /sdcard/ i don't. Not sure why the sync does not occur any faster. Seems like a bug. I thought hmm, maybe the disconnect usb near clock might do the trick to fix the problem but it doesn't. My pc is a slave to whenever my driod syncs the two.
Click to expand...
Click to collapse
I find that MTP is slow to show updates to sdcard. Same for Asus TF101. So may be it is the design or problem of MTP, something to do with MTP cache update?

[Q] How do I fix file permissions on SD card?

OK, I finally installed PA 2.99 beta6 which I've wanted to do for a while. First to preserve the file structure and not have /0 folders, I copied all my old SD card files to /data/media as told in the guide linked below. I'm thinking my issue started when I didn't delete the /0 folder after installing the stock 4.2.1, but now all my old SD card files have incorrect permissions for me to access them. Is there a quick and easy way to fix it, preferably from the phone? I'm gonna wipe and reinstall everything tomorrow if necessary, but I can't do it until tomorrow morning. I'm not even sure what permissions I should set to make the files accessible again. I think I may have screwed up by not setting permissions when copying files using the toolkit also. I'm still pretty noobish and I thought that was only necessary for system files. I thought the correct permissions would follow everything else. I did find that I can take a song that's in the /data/media/music file, which won't play, move it to /sdcard/music, and it plays. I tried changing permissions and owners on the non-working files to match the working files, but no luck.
I really appreciate any advice or help anybody has.
http://forum.xda-developers.com/showthread.php?t=1999214
Ok, so you have moved all your content, in the new media folder, but I read you can't read any media from that folder. I guess that it s completely normal, as I would have only put backups to be used in this precise folder. Correct me anybody if I'm wrong, but music should be pasted in the new music folder, and so on and so on, for each media. In the first place, those files were not all put in the data/media folder right ?
So, why not try and use a file explorer, and move the content in their respective appropriate new folder, and see how it works. And that done delete the initial folders. Hope it will work.
Aur3L said:
Ok, so you have moved all your content, in the new media folder, but I read you can't read any media from that folder. I guess that it s completely normal, as I would have only put backups to be used in this precise folder. Correct me anybody if I'm wrong, but music should be pasted in the new music folder, and so on and so on, for each media. In the first place, those files were not all put in the data/media folder right ?
So, why not try and use a file explorer, and move the content in their respective appropriate new folder, and see how it works. And that done delete the initial folders. Hope it will work.
Click to expand...
Click to collapse
According to the guide to keep the pre-4.2 file structure, with no /0 folders, you're supposed to ADB push all sd card files to the /data/media folder. Now I think what I screwed up on is I was supposed to delete any /0 folders but I misread the guide and didn't delete the folder. Now all of the data I pushed to the phone is in it's respective folders under data/media, such as Music and Downloads, but there is also a /data/media/0 folder with standard android folders. There is also /sdcard, with standard android folders. From my understanding, either data/media and /sdcard or /data/media/0 and /sdcard should show the same files, but neither does. If I make a change in one directory it doesn't show in the other directory. The weird part to me is that when I copy and paste a file from /data/media/Music (or any other directory there) to /sdcard, the file permissions and owners and groups of the file will change, and then I can access the file in the /sdcard directory. But if I try to apply the exact same permissions and owner and group to the file under /data/media it will still not give me access. On Root Explorer, looking at properties of a file in /data/media, the md5sum shows Access Denied, but works on /sdcard. I'm thinking it has something to do with the /data/media folder's permissions instead of the files/folders under it, but I'm kinda afraid to mess with it. When I get home in the morning I'm gonna try dumping EVERYTHING and start again, but I would love to be able to fix it first.
Will I see any problems if I just copy all the files from /data/media to /sdcard, where I'm sure I can use them? Also, why doesn't /data/media or /data/media/0 show the same files as /sdcard?
Thanks for any help!
02ranger said:
According to the guide to keep the pre-4.2 file structure, with no /0 folders, you're supposed to ADB push all sd card files to the /data/media folder. Now I think what I screwed up on is I was supposed to delete any /0 folders but I misread the guide and didn't delete the folder. Now all of the data I pushed to the phone is in it's respective folders under data/media, such as Music and Downloads, but there is also a /data/media/0 folder with standard android folders. There is also /sdcard, with standard android folders. From my understanding, either data/media and /sdcard or /data/media/0 and /sdcard should show the same files, but neither does. If I make a change in one directory it doesn't show in the other directory. The weird part to me is that when I copy and paste a file from /data/media/Music (or any other directory there) to /sdcard, the file permissions and owners and groups of the file will change, and then I can access the file in the /sdcard directory. But if I try to apply the exact same permissions and owner and group to the file under /data/media it will still not give me access. On Root Explorer, looking at properties of a file in /data/media, the md5sum shows Access Denied, but works on /sdcard. I'm thinking it has something to do with the /data/media folder's permissions instead of the files/folders under it, but I'm kinda afraid to mess with it. When I get home in the morning I'm gonna try dumping EVERYTHING and start again, but I would love to be able to fix it first.
Will I see any problems if I just copy all the files from /data/media to /sdcard, where I'm sure I can use them? Also, why doesn't /data/media or /data/media/0 show the same files as /sdcard?
Thanks for any help!
Click to expand...
Click to collapse
Again, as I said previously move your music photos apks downloads in the sdcard structure, then erase the /0 folder, you would have found your stuff, where it's ought to be, legible by their respective programs. So move your photos /data/media to your actual /sdcard/Dcim/ folder, and so on and so forth for each content, problem should be solved. It's really simple.
Aur3L said:
Again, as I said previously move your music photos apks downloads in the sdcard structure, then erase the /0 folder, you would have found your stuff, where it's ought to be, legible by their respective programs. So move your photos /data/media to your actual /sdcard/Dcim/ folder, and so on and so forth for each content, problem should be solved. It's really simple.
Click to expand...
Click to collapse
I understand that and that is what I plan to do to get through tonight. My question is, why is this even a problem? Is there something that I could do to not have to move the files? Not out of laziness, more out of curiosity. I still plan to dump everything because with all the crap I've tried to fix the permission issues there's no telling what I may have screwed up, but until I get to start over I'm planning to just copy everything to /sdcard. Now I just would like to know why it was an issue. Why can't I access files in the /data/media folder, or any other folder on my phone for that matter, when I'm rooted and using a root explorer? I have never seen this issue before, regardless of phone or ROM. Is this due to the new 4.2 multiuser file structure, or something I did? I appreciate your help and I apologize if my intention wasn't clear from my last post, I am at work and typing in a hurry. I started the thread looking for an easy fix and you've given me that, now I'm mostly just curious as to why it happened to begin with.
Thanks again!
Edit: I just tried copying some alarms into the /sdcard/Alarms/ and they won't play either, but Music still does. I actually got a "Not Enough Free Space" message when trying to copy them, with 5+ GBs free on the sdcard and the files were only about 130kb. I'm just going to have to dump everything and just copy what I really have to have to the phone. If you have any other ideas I'm open to hear them, but I think its FUBARed at this point. Thanks though.
Well, if you use a root explorer, such as ES file, you have to move your alarms/rigtones notifications in telephone/system/media. Once put in here, you will have to correct the permissions to rw rr , and reboot your phone. As to why it happens like this, I guess it is related to the new structure, and also because you cannot play everything from everywhere in your device, some folders are system folders, and not every file is legible from that location. My guess in your situation is that you have twice the same content on your phone (hence the Not enough free space message), so just paste everything you need in the appropriate volume, and erase the one you have messed up with.
Might be a suggestion, but if you have a nandroid backup, just look at how and where your files are organised.
Now, however, if you have a hard time fixing this up, well you might as well save your stuff on your computer, flash a stock image, root it, install TWRP, your favorite Rom, transfer your files back from your computer, and you will have a fresh and probably better running phone.
Hope it will help you, and if you have an insomnia, just take that opportunity to browse your phone structure, so that you know where each file is located. Good luck with it .
That last part is what I did. I just wiped everything, reinstalled PA 2.99B6 and ADB pushed to /sdcard instead of /data/media. It all works perfectly now. I'm not 100% sure what the issue was before, but I still think it was the new file structure. If I go at a music file through /data/media it still won't play but will from /sdcard, which is the only place I put the files. I guess its just the way the new file structure for multi-user works. I appreciate your help. I think I'll keep the /0 folder too. Trying to get rid of it is part if why I did things that caused problems, and its gonna be part of the future of android so we might as well get used to it.
Thanks again!

[Q] [Help] Omni Rom 4.4.2 kitkat 20140303 taking too much Flash memory

Hi . I'm a newbie
My note 2 is running in low memory
Total memory is 10.46 GB
Free 3.50 GB
Apps 0.99 GB
Media near 1 Mb
Cache data and other near 110MB
So where is the rest? What should I do to free some space?
Thanks
romi1996 said:
Hi . I'm a newbie
My note 2 is running in low memory
Total memory is 10.46 GB
Free 3.50 GB
Apps 0.99 GB
Media near 1 Mb
Cache data and other near 110MB
So where is the rest? What should I do to free some space?
Thanks
Click to expand...
Click to collapse
use a root explorer and go to
data/media
this is where all ur stuff is located.. Take out or deal it the way u want to deal with it
geekynoob said:
use a root explorer and go to
data/media
this is where all ur stuff is located.. Take out or deal it the way u want to deal with it
Click to expand...
Click to collapse
There is nothing in that folder. And i'm totaly stuck
romi1996 said:
Hi . I'm a newbie
My note 2 is running in low memory
Total memory is 10.46 GB
Free 3.50 GB
Apps 0.99 GB
Media near 1 Mb
Cache data and other near 110MB
So where is the rest? What should I do to free some space?
Thanks
Click to expand...
Click to collapse
What rom/system were you using before? In some situations when installing new rom version over the old without doing full wipe there are leftover files from old installation.
Using root explorer go to /storage/sdcard - list what is in there
go to /storage/emulated - there should be 2 directories there: 0 and legacy - list what is in there
lastly go to /mnt/shell/emulated - list what is in there - if you see there directories like "0", "legacy" then it's your original internal sd directory.
Now while installing new rom, almost all files from that directory should be moved to "0" directory for multiuser environment configuration, but sometimes they are not - the will be normally not visible in settings>storage information creating lost space" phenomena
Now comes the hard part - you can delete almost all files and directories except "0" and "legacy", but there may be some config files from your recovery and/or backup files from the same source (those directories will have in their names some familiar words, for example: devil, agni, clockworkmod, twrp) - you should not touch them. Browse directories (except "0" and "legacy") for old program data, obb files and directories, media, music and video files and delete them as they are not visible to your media players or programs. They are a bit like old "program files" and "documents" from Windows world
mat9v said:
What rom/system were you using before? In some situations when installing new rom version over the old without doing full wipe there are leftover files from old installation.
Using root explorer go to /storage/sdcard - list what is in there
go to /storage/emulated - there should be 2 directories there: 0 and legacy - list what is in there
lastly go to /mnt/shell/emulated - list what is in there - if you see there directories like "0", "legacy" then it's your original internal sd directory.
Now while installing new rom, almost all files from that directory should be moved to "0" directory for multiuser environment configuration, but sometimes they are not - the will be normally not visible in settings>storage information creating lost space" phenomena
Now comes the hard part - you can delete almost all files and directories except "0" and "legacy", but there may be some config files from your recovery and/or backup files from the same source (those directories will have in their names some familiar words, for example: devil, agni, clockworkmod, twrp) - you should not touch them. Browse directories (except "0" and "legacy") for old program data, obb files and directories, media, music and video files and delete them as they are not visible to your media players or programs. They are a bit like old "program files" and "documents" from Windows world
Click to expand...
Click to collapse
I use the 4.1.1 version. And the folder you mention not show up in anywhere.
romi1996 said:
I use the 4.1.1 version. And the folder you mention not show up in anywhere.
Click to expand...
Click to collapse
Were you in the root folder when you started searching for mentioned folders? Root folder is the topmost folder with main subfolders (etc, system, sys, storage, mnt and others) - there is no way that you would not find "storage" folder - it MUST be there.
mat9v said:
Were you in the root folder when you started searching for mentioned folders? Root folder is the topmost folder with main subfolders (etc, system, sys, storage, mnt and others) - there is no way that you would not find "storage" folder - it MUST be there.
Click to expand...
Click to collapse
No root folder is emty. But the dev folder have 184 sub folder .. that folder have so many that i can't count because the folder is too large. Can i delete dev folder?
romi1996 said:
No root folder is emty. But the dev folder have 184 sub folder .. that folder have so many that i can't count because the folder is too large. Can i delete dev folder?
Click to expand...
Click to collapse
It's a bit of a misunderstanding: Root folder is the main folder of whole file system, but it is also a simple folder named "Root" in the root folder (or otherwise called root directory) of the file system. It's the same if you crated in some directory a new directory and named it "directory" Easy, yes?
In the root directory you should have some typical directories: cache, config, d, data, dev, efs, etc, lib, mnt, proc, sys, system, storage and others
There must be a directory named "storage" and there must be a directory named "mnt" - those are the ones I was writing about before, please follow that.
Oh, and under any circumstances do not delete /dev (even if Android would allow that).
mat9v said:
It's a bit of a misunderstanding: Root folder is the main folder of whole file system, but it is also a simple folder named "Root" in the root folder (or otherwise called root directory) of the file system. It's the same if you crated in some directory a new directory and named it "directory" Easy, yes?
In the root directory you should have some typical directories: cache, config, d, data, dev, efs, etc, lib, mnt, proc, sys, system, storage and others
There must be a directory named "storage" and there must be a directory named "mnt" - those are the ones I was writing about before, please follow that.
Oh, and under any circumstances do not delete /dev (even if Android would allow that).
Click to expand...
Click to collapse
There is no folder name mnt in that storage folder there only folder name emulated . Sdcard0 sdcard 1 usbdisk0
Oh in the emulated folder have legacy folder and 0 folder.
But finally i found it in root folder .with some some of my stupid misunderstanding. But i greatly thanks you so much.
UPDATE so the mnt and my main sdcard. Folder like synced .it í like duplicate the file
mat9v said:
It's a bit of a misunderstanding: Root folder is the main folder of whole file system, but it is also a simple folder named "Root" in the root folder (or otherwise called root directory) of the file system. It's the same if you crated in some directory a new directory and named it "directory" Easy, yes?
In the root directory you should have some typical directories: cache, config, d, data, dev, efs, etc, lib, mnt, proc, sys, system, storage and others
There must be a directory named "storage" and there must be a directory named "mnt" - those are the ones I was writing about before, please follow that.
Oh, and under any circumstances do not delete /dev (even if Android would allow that).
Click to expand...
Click to collapse
Update : the mnt/shell have emulated. So which folder i should delete? .
I checked some folder i reconize some super strange thing in root.
The sdcard and extsdcard folder in root folder. . The storage folder has 2 folder too. . When i go to mnt/sdcard there ate have 2 more folder like that. And the super strange thing is these files in those folder is completely same like they are duplycating. Can you answer this?
Update : still don't know why the storage folder is 4.02Gb but when I take information of each one in that folder and combine it i got over 3Gb . What the hell?
romi1996 said:
Update : the mnt/shell have emulated. So which folder i should delete? .
I checked some folder i reconize some super strange thing in root.
The sdcard and extsdcard folder in root folder. . The storage folder has 2 folder too. . When i go to mnt/sdcard there ate have 2 more folder like that. And the super strange thing is these files in those folder is completely same like they are duplycating. Can you answer this?
Update : still don't know why the storage folder is 4.02Gb but when I take information of each one in that folder and combine it i got over 3Gb . What the hell?
Click to expand...
Click to collapse
There are a lot of duplicate directories like that because they are virtual directories, like shortcut files on Windows , but unlike in Windows they have the size of all children files (with some exception. It is complicated and hard to describe without .... a lot of explaining for which I have no time ) The directory /mnt/shell/emulated is of interest to us, in enclosed picture you can see "User directory" that contains all files that your current profile uses, some directories in pink - they may be there or they may not be, but you should not under any circumstances delete them, directories in green are free to delete. Please list any other directory you will find there and their sizes so I can advise what to delete.
View attachment 2614902
mat9v said:
There are a lot of duplicate directories like that because they are virtual directories, like shortcut files on Windows , but unlike in Windows they have the size of all children files (with some exception. It is complicated and hard to describe without .... a lot of explaining for which I have no time ) The directory /mnt/shell/emulated is of interest to us, in enclosed picture you can see "User directory" that contains all files that your current profile uses, some directories in pink - they may be there or they may not be, but you should not under any circumstances delete them, directories in green are free to delete. Please list any other directory you will find there and their sizes so I can advise what to delete.
View attachment 2614902
Click to expand...
Click to collapse
Deleted. Rom recovery back up removed . Thanks you so much
I wanna reopen some files but i can't. The system keep telling can't open the file and the files is AcIv.mp3 or a video. Please help.

Question regarding internal storage... a big mystery!

I recently had a problem where I had to do a factory restore on a non-bootable phone... and my only option was to use adb shell to copy the extracted stock lollipop nandroid files to the TWRP folder in internal storage [there may have been other ways, but I was not aware of one.]. Thanks to 3484jacks, thebobmannh, ckpv5, and redpoint73. I hope I didn't forget anyone.
OK.. so that worked... but it was very messy. Why? Because my first (and obvious) choice was to create the subfolder under TWRP and then adb push the files to that folder.
The folder I am referring to is the "root" folder of internal storage, also called the /sdcard/. It usually has other directories/folders such as .data, Android, Ringtones and/or Media.... I am sure you know what I am referring to. And on this "root" of the internal storage (sdcard) is the TWRP folder which contains backups. The path to the backups is sdcard/TWRP/BACKUPS/{device serial number}/name-date of backup.
However, when I did an adb push to the above folder, by using the following command:
adb push c:/nandroid/ /sdcard/ TWRP/BACKUPS/FXXXXX/nandroid (<<==I had already created the nandroid folder as you cannot push an entire folder to your phone; only the files contained therein will be pushed over)
....my files did not end up in /sdcard/TWRP/BACKUPS/FXXXXX/nandroid. Instead they were copied to /sdcard/storage/TWRP/BACKUPS/FXXXXX/nandroid. For some reason when pushing to the sdcard, adb pushes it to a subfolder called storage. I am not sure why this is... perhaps it is because we really are not talking about a physical sdcard, but rather internal storage. In any event, to fix my phone I had to use adb shell and I copied all of the nandroid files from /sdcard/storage/TWRP/{. . .} to /sdcard/TWRP/{ . . .}.
If you are in the true root (system) directory, there are several paths which lead to "internal storage"... and I want to know if anyone has any clue why there are multiple paths and what they mean. Below are the multiple paths from the system directory to internal storage:
(root)/storage/emulated/0/
(root)/storage/emulated/legacy/
(root)/storage/sdcard/
(root)/sdcard/
All of above paths lead to the exact same place (or so it seems)...a place which very much appears like internal storage.
However, I have run into this weird creation of a storage folder on the sdcard (internal storage) before. Several months ago, I copied via USB my entire sdcard to my Windows desktop. Oddly, several folders that I would have expected to be on the sdcard (as they are when viewing with Root Explorer) were not there. When inspecting what I had copied to my desktop, I found that the Download folder and 4 or 5 other folders, ended up in a "/(sdcard)/storage" sub-folder. EXACTLY like what happened to me yesterday (but kind of in reverse as I was copying TO the sdcard)
So that is my first question... Why does this happen? What is emulated? what is the difference between (root)/storage/emulated/0/ and (root)/storage/emulated/legacy/????
My next question, very intimately related to the above, is more of a problem.
The nandroid files I referred to above which I had initially pushed to the sdcard whereupon they ended up in the storage subfolder are still there. And whether I use Root explorer or adb shell, I get a "DELETE FAILED" or "PERMISSION DENIED" error respectively. And in case you are wondering, I did a 'su -' in adb shell before I attempted this. I had to grant access to SuperSU as a toast came up asking for the root rights.
Strange....I never thought internal storage had permissions, but I guess they do.
So the big question...and a solution to getting rid of the mess of files which are taking up several GBs of space on my sdcard (internal storage)... how do I delete the /storage/ folder on my sdcard? The folder was not there before.
Even if I drill down to the individual files (either in adb shell or root explorer) I still get a PERMISSION DENIED.
Please help. NOTE: I thought about reformatting the partition... but what guarantee will I have if I try to push my backed up sdcard data BACK to internal storage?? I probably can make sure that I delete the problematic nandroid files above by deleting them first in Windows, but that doesn't mean my sdcard won't still have another storage subfolder create.... and who knows what will be in it? [and this is the genesis behind my asking the first questions above about internal storage, the "emulated" name in the path, and the multiple paths from the system folder. I figured if I understood what was going on, I would be more likely to fix it.]
Thank you in advance for any assistance!!!

Categories

Resources