/media or /mnt or anywhere ? Discussion.
Where should I mount my internal drive partitions?
As far as I searched on the internet, I came to know that
/Media = mount point for removable media that system do it itself ( usb drive , CD )
/Mnt = temporarily mounting anything manually
I can most probably mount anything wherever I want, but if that's the case what's the point of /mnt
? Just to be organised I suppose.
TLDR
If /mnt is for temporary and /media is for removable where should permanent non-removable devices/partitions be mounted. i.e. an internal HDD which is formatted as NTFS but needs to be automounted at startup?
Asking with the sole reason to know that, what's the practice of user who know Linux well, unlike me.
I know this is a silly question but I asked anyway.
With Linux filesystem hierarchies you're going to run into a lot of history, conventions, quasi-standards and simply deprecated implementations.
It's a problem of "there's no bad way to do it so all options are equally fine". From this arose some "guidelines" about /bin and /usr/bin, /var, etc. but few strict rules.
For a long time there was no /media. In the '90s/2000's you would mount your CD-ROM and floppies in /mnt (e.g. /mnt/cdrom, /mnt/floppy). That was awkward as we started wanting auto-mounted things and wanted to do it from user-space. So /media/username was created to allow you to mount things with your ownership.
If it's something you want permanently mounted but not part of a pool you can put it under any location you like really. I like locations under /var as historically /var is used for things that "vary". You could just mount it in your $HOME if it's something you're going to use as a user rather than with a service.
I have a "/exports" dir for NFS mounts (e.g. /export/media, /export/storage, etc.). Just keeps it tidy and in one location.
The important thing is to use a standard that works for you and makes sense. There's not a lot of bad places to mount things. If "/mnt" makes sense for you then go for it.
Thank You.
To piggy-back off of this, it's not entirely uncommon to create another directory at root in enterprise environments, using /data or /application That said, I only do that for enterprise, for my personal computer, my distro defaulted to auto-mounting to a directory for each drive inside of /mnt, and I rather like that and intend to stick with it.
I know it is kinda frowned on but I like to use new directories at root to cut down on confusion as to where things are. Video storage for the NVR goes in /video, user data for Nextcloud goes in /data, etc. But I also keep everything in it's own LXC so I don't have one machine with 30 extra directories cluttering up the root.
Anything I add to fstab gets mounted in
/mnt
and removable drives get auto mounted to/media
. Linux doesn't care where you mount your drives, they can be mounted anywhere you want.Thank You
Mount your internal disks to
/D:
,/E:
,/F:
, etc.🥇
Mounting locations are a convention, not a standard, mount whatever you like wherever you like. In your case, I'd mount it under /mnt/ntfs, /mnt/windows if it a windows main partition you want visible, or by drive letter if it's a secondary drive on a dual-boot system.
Or however you want. I would keep it under /mnt, but you don't have to.
Do maybe sure you have user permissions set up properly if this is a multiuser machine though
Edit: also I would interpret
'temporary' as in 'may become unmounted without seriously fucking the system'
/ and /home aren't temporary. Everywhere else is
Thanks bro. Now it make sense.
It ultimately doesn't actually matter because in many cases these things are convention and there is no real system-based effect. So while it would be especially weird if your distro installed packages into those directories, it ultimately doesn't matter. Someone already linked the filesystem hirearchy. See how tiny the /media and /mnt sections are?
I put my fixed disks into subdirectories under /mnt and I mount my NAS shares (I keep it offline most of the time) in subdirectories in /media.
Why ? that's what I'm asking. Can't you just put in the same folder and call it a day?
My Files, which are inside the partition mounted in /mnt/something has root as Owner. So When I try to move something to Trash, it's not allowing me to do, Only perma delete. When saw properties it said owner is root.
Is it because mounted at /mnt?
Files under /media seems fine. files under /media says it's owner is 'me'
The answer to your question why is because I arbitrarily decided on that years ago. That's basically all there is to it.
The answer to your file ownership problems I can't answer, because I don't have that happening. My files are mounted like so:
LABEL=BigHD /mnt/BigHD btrfs nosuid,nodev,nofail,noatime,x-gvfs-show,compress-force=zstd:1 0 0
Thanks for clarifying bro
If you try to mount 2 drives to the same location, like
/media/drive
, the last one that you mounted will just replace the first one. You could put one at/media/drive1
and the other at/media/drive2
though.It doesn't matter where you mount stuff, like it won't break anything, as long as you're not replacing an existing directory like I mentioned.
Thank You.
I also just saw your edit. Look into Linux ownership and permissions.
chmod
andchown
are important commands to know how to use as a Linux system administrator.Running
sudo chown -R user:user ./drive
in/mnt
will give your user account ownership of that directory and all folders inside of it.Make sure you replace
user
with your username anddrive
with the name of the mount point for the drive.Not afraid of terminal or anything, but can't I do it in GUI?
EDIT: I think I can do it by going to file properties on an elevated file manager.
Hm, you probably can, but I personally don't and I'm not sure which file manager you're using. I like the terminal for this because it's quicker and easier to do (or undo if you fuck up).
I also gave you the wrong command earlier,
sudo chown -R user:user ./*
doesn't affect the top-level folder (e.g.,/mnt/drive
). My mistake.Thank You.
I'm using Nemo. Because Mint.
Mounting to a specific location should not affect the permissions of the drive. But in the case of NTFS and some other filesystems, Linux is not compatible with their permission model, so it is simplified by e.g. making all files be only accessible by root.
You can override this default with mount options, or change the permissions to sensible values with chmod and chown, but I'm not sure if changing them will have negative side effects on the windows side so the latter may not be a good idea.
Thank you bro. I think I'll stick into making new folder for my disks in
/
.I would recommend to put them inside /mnt for internal disks. It's a bit more organized that way, and by looking at the path is easier to know that it's in an internal drive.
Thank you for the recommendation.
Idk, I mount my disks in /mnt/whatever, though I don't think it matters where you mount them.
Thanks.
/C:
You mean that you create folder in
/
namedC:
?or a joke maybe?
Seems like a joke. 🙂
I mean, wine does that with symlinks. But not on /, don't run wine as root.
why? windows virus?
Yeah. And it's a wrapper, stuff can happen. Not sure if it even works as root.
Thanks for heads up man
Use any you want. I've been mounting my internal secondary hard drive on /mnt for well over a year now and haven't had any problems. Previously, I mounted it on
~/Storage
and it also worked fine (though only because I'm the only user in my computer; dual-user systems would result in the other user being unable to access the hard drive).Thanks bro.
The best mounting position is
/booty
.Thank You for suggestion. Gonna try that Tonight and have fun mounting loads of data.
I create /data and mount my 2nd drive there using fstab.
I then mount /data/downloads under my user downloads folder so everything goes to my 2nd drive. That way I dont have to redownload anything if I redo my main drive.
Good idea bro.
I do a similar thing with ~/Pictures and ~/Music, which are symlinked to my NextCloud Sync folder on my much larger second drive. It's good for saving space on my main drive, too, as those two folders contain a lot of data.
Is NextCloud a cloud service like GDrive or a sync service ? Does it have a free tier? 😅
It's like GDrive - except way more involved, you can do a lot with it. Files, office suite, photos, email, the works. There are hosts out there with various price points I'm sure, but I self-host so I can't give any info on pricing I'm afraid.
I think I should learn about self-hosting asap.
It's a wonderful thing if you can get a hang of it. Though fair warning, it'll eat all your time for a fair while getting it set up 😂
That's a sacrifice I'm willing to make.
Also for some reason lemmy seems to rarely duplicate some comments. Now I'm seeing two of your same comment and two of my same reply.
If I had to guess that's gonna be a quirk of ActivityPub, and should self-resolve in a little bit, but I'm not an expert so don't take me at my word there. I have some experience self-hosting setting up my own homelab over the last 2-3 years - if you'd like some "getting started" conversation, feel free to send me a DM or contact me on Matrix @darohan:tchncs.de
Thank you Chad.
Basically if I add it to my fstab it goes to /mnt. I let the system handle /media for usb etc
Thank You.
The Linux FHS does not address this, so it's up to you where to mount it. There is no correct choice, but if you want to follow standards just mount it inside /mnt which is the nearest use-case (/media could be automatically used by your DE, so avoid it). Otherwise you can just create a custom folder in root like someone else suggested.
Take a look at FHS spec.
Edit:
On arch forum someone suggests /mnt/data
Thank You.
My Files, which are inside the partition mounted in /mnt/something has root as Owner. So When I try to move something to Trash, it's not allowing me to do, Only perma delete. When saw properties it said owner is root.
Is it because mounted at /mnt?
Files under /media seems fine. files under /media says it's owner is 'me'
You have to change permissions or owner of that folder (not /mnt itself but the subfolder "something").
If I'm not wrong changing permissions is enough to use gui "move to trash", you can use chmod thru cli (
man chmod
) o your gui file manager with root privileges.If you want only your user be able to read/write to that disk, then change the owner using chown thru cli (
man chown
) or again your gui file manager.So, if I use
chmod
, I get the access and other users (if any) are free to do so.In case of
chown
, I get the full access and others can't gain access unless I permit.Right?
On Linux files and folders have permissions info for owner, group and everyone else. So you can set individual permissions for these.
By setting the owner to root, if you want to make your user able to read/write that folder, you must either give permissions to everyone to read/write OR assign a group to the folder, give the group permissions to read/write and add your user to that group.
If you instead set your user as the owner of the folder, you can make only your user able to read/write without other fuss.
If you are a newbie, stick to gui file manager. Can you please tell me what file manager are you using? Most of the time you can change permissions thru right click > propriety > permissions.
Thanks for the tip.
I'm using Nemo. As it's the default one on Mint Cinnamon.
Not a pro by any means, but I mount my internal drives at /mnt. Its also where I mount my NAS
AFAIK mount point doesn't matter
Thank You.
There's also
/run/media/[username]/
. Don't know if it's an OpenSUSE thing or Plasma but everything I mount through KDE's file manager Dolphin ends up there. Including stuff I set up to mount automatically.It is the same on Mint too.
Permanent drives should be put wherever you want them to, for example I have mine mounted in
/ld1
for Large Disk 1./media
is supposed to be used by systems to mount things you plug, but some systems move that to/var/run/media
or other places./mnt
is there so you don't have to create a folder in case you want to mount something really quick.Thanks man.
Actually since their permanent non-removable drives, I would say wherever you want to place them, if they're meant primarily for storing user-based data you can do like what I used to do which was store them in within the home directory just as specific names. Like my old setup before I went proxmox was /backups was my backup drive, /home was my home drive that stored most of my users /home/steam held all my game server drive and /home/storage held my long term cold storage drive.
Thanks man. I think I'll stick to this.
In the past I've tended towards
/srv/*
as most mounts end up being application specific storage.Though now it is all mounted as container volume storage.
I use /srv for all mu shared mounts for all the *arr's
Isn't
/srv/
is for files from network or something ?What's that ? 😅 Is that like LVM ?
Used to be an LVM group using the LVM docker volume driver. So every container volume became its own LV.
Now just a bunch of devices behind a btrfs volume mounted on
/var/lib/docker
or wherever.Thank you.
/srv is for “site-specific data which is served by this system.”
How to interpret that is up to for debate, but it seems clearly to be “user files” as opposed to “system files”. “Served” is a bit ambiguous but I don’t think it really requires that it be made accessible with a network service.
Basically I’d treat this as a location to mount/store your non-personal data such as music, videos, etc that should be accessible to anyone using your system. It could be network-exported as well but doesn’t have to be.
/net is for files imported from the network.
Thank you.
As far as I'm concerned, everything goes under /mnt , and has for the past 18+ years.
Unless dictated by the particular data in the disks, /mnt is generally used for system managed volumes and /media is used for user managed volumes.
If you do something else, stick with it so you don’t get confused.
Thank You.
I use multiple subdirectories under /mnt for my fstab/systemd-mount managed disks. That includes local and network locations.
But isn't anything under /mnt is defaulted to
root
as owner?Yeah, but you need root anyways to mount disks (most of the time), so doing a quick
chown
isn't that much effort.Edit:
chown
>chmod
Thank You.
I myself have separate
/Disks
folder where I mount all my internal disks on boot. Not sure how "standard" such setup is, but it helped me keep my NTFS and Linux disks tidy and out of my way. For what I know you can mount your drives anywhere you likeSeems Clean.
No Disadvantages? Like some stubborn program says I will only work if its under
/mnt
?If I remember correctly mnt is for static media that you expect to always be present and media is for removable media which may come and go.
This makes sense.
My Files, which are inside the partition mounted in /mnt/something has root as Owner. So When I try to move something to Trash, it's not allowing me to do, Only perma delete. When saw properties it said owner is root.
Is it because mounted at /mnt?
Files under /media seems fine. and says it's owner is 'me'
You probably just need to chow. The directory
Thank you.
If they’re internal drives then you choose.
I like to mount drives at root, their parent directory being the logical purpose of the drive.
Got a drive you added that’s gonna be for games?
/games
Is it for movies?
/movies
Or maybe it’s just general data storage?
/data
No need to make it more complicated than it has to be.
This is standard across the industry, unless you are mounting disks that would conform to another strategy (say it’s a drive of repos, it might mounted under /usr/local/src/ as that’s where one would expect user provided source code).
I like to put mine in
/var/local/movies
etc. to keep the root standard and uncluttered.Of course it's just personal preference
Thank You.
I decided to simply create directories within /mnt,
chmod 000
them and use them as fixed mountpoints;for manual temporary mounts I have /mnt/a, /mnt/b, ... /mnt/f, but I never needed to use more than two of them at once.
While this setup doesn't really respect the filesystem hierarchy, I wouldn't have used /mnt at all if I were constrained by its standard purpose since having one available manual mountpoint seems pretty limiting to me.
Then again, I have 3 physical drives with ~ 10 partitions, plus one removable drive with its own dedicated mountpoint...
What does this do? I'm a Meganoob.
?
you mean the whole /mnt is meant to single mount point?
Sorry for all the questions.
chmod
is the command to change user permissions. The numbers mean user, group, and others and the value allows read, write, execute. So, 000 means no one has permissions to get rid of the mount point. 777 means everyone has all permissions. (4 is read, 2 is write, and 1 is execute and the numbers are added. So, 644 would mean you can read/write, the group and other users have read only access.)You don’t have to use the numbers but eventually, almost every Linux admin does because it’s faster, a bit like a keyboard shortcut. But, for instance, you can add Execute permission with
chmod +x /some/file/location
.Here’s more details on the how to chmod and the historic reasons for the 0-7 system (spoiler: it’s 8 bits): https://www.redhat.com/sysadmin/linux-file-permissions-explained
Thank You for the detailed answer.
chmod vs chwon ?
chown
changes the file owner.chmod
changes permissions. So, if a file or directory is owned by root but a user should have access, you could make them the owner or you could keep root the owner and just allow read/write access.They come up more on servers where you often have multiple users with different access levels. Some users might not have
sudo
permission but do have full control over their home directory and whatever else they need. And web servers, for instance, will usually have a user calledwww-data
or similar and it’s shared by all the users in the “developer” group.Thanks.
Adding to what the other comment explained:
I use
chown 000
so that regular users fail to access a directory when no filesystem is mounted on it; in practice it never happens, because "regular users" = { me }, but I like being pedantic.As for /mnt, it is supposed to be a single temp. mountpoint, but I use it as the parent directory of multiple mountpoints some of which are just for temporary use.
My dummy brain can't understand it man.
Isn't someone can't access a directory when no filesystem is mounted on it the default behaviour?
No, directories without anything mounted on them are normal directories - which checks out, since you can mount anything anywhere; unlike Windows volume letters, which only exist when volumes are mounted or detected by the OS.
When you mount a filesystem onto a directory, the OS "replaces" its contents AND permissions with that of the filesystem's root.
Here's an example with my setup (hopefully you're somewhat familiar with Bash and the output of
ls -l
).Imagine some random filesystem in
/dev/sda1
owned by "user" which only contains a file named "/Hello World.txt":Please note that me setting permissions is just extreme pedantry, it's not necessary at all and barely changes anything and if you're still getting familiar with how the Linux VFS and its permissions work you can just ignore all of this.
So, the original content is lost forever?
So, what's the actual use case of it though? Even though it's pedantry, it still there has to be some benefits, right?
I mean, What's the need for you to deny the access of
/mnt/a
untill has mounted with something? One can just leave it as it is, right?No, but it becomes invisible and inaccessible* as long as the filesystem is mounted over it - see this Stack Exchange question and accepted answer.
The benefits are marginal, for example I can see if a filesystem is mounted by simply typing
ll /mnt
(ll
being an alias ofls -lA
) - it comes handy with my system due to how I manage a bunch of virtual machines and their virtual disks, and it's short and easy to type.Some programs may refuse to write inside inaccessible directories, even if the root user can always modify regular files and directories as long as the filesystem supports it.
It's not a matter of security, it's more of a hint that if I'm trying to create something inside those directories then I'm doing something wrong (like forgetting to mount a filesystem) and "permission denied" errors let me know that I am.
Now I understand.
This is all new to me bro.
Even I don't know if I will go this further to explain something to someone.
Thanks Chad.
I think tooling only cares for partitions. So /home and / are usually runtime-critical (can be on different disks or network storage), while internal data disks count as removable, since you can unmount their partitions.
My simple brain can't understand it bro. 🥲
This is from times where Unix & co only ran on a corporate server and cubicle slaves accesed it via thin client. There was /home/alice-abbey /home/bert-branson on one disk of the server, '/' root on another, with less storage and more performance. And often /usr on a third. While /-root has to be locally, everything else can be managed however you're funny, even nfs shares. But historically, /mnt was for temporary mounts. I think the /run/user/usernane/diskname came up with xdg, it's where graphical filemanagers find disks.
Thank you for the explanation.
That depends on your usecase.
I have setup servers where I mounted extra drives on /srv/nfs
When/If I switch to Linux I will probably mount my secondary drives to folders like
/home/stoy/videos
/home/stoy/music
/home/stoy/photos
/home/stoy/documents
/home/stoy/games
The ~/games will probably be an LVM since it contains little critical data and may absolutely need to be expanded to span several drives, though I would also be able to reduce the size of it and remove a drive from the LVM if needed.
I'd make a simple conky config to keep track of the drive space used
I'd just keep using the default automount spot for automounting drives.
My /home is also on a separate filesystem, so in principle I don't like to mounting data under there, because then I cannot unmount /home (e.g. for fsck purposes) unless I unmount also all the other filesystems there. I keep all my filesystems on LVM.
So I just mount to /mnt and use symlinks.
Exception: sshfs I often mount to home.
So you suggest not to mount like the guy above said
/home/stoy/videos
?And suggest symlinks instead?
Yes, just mount to
/mnt/videos
and symlink that as needed.I guess there are some benefits in mounting directly to
$HOME
, though, such asfind
/fd
work "as expected", and also permissions will be limited automatically per the$HOME
permissions (but those can be adjusted manually).For finding files I use
plocate
, though, so I wouldn't get that marginal benefit from mounting below$HOME
.Thank you.
If I'm not wrong LVM is a method which joins all your disk into single storage pool.
Let's say I stored data all across my LVM, now I suddenly remove one of the disks. What happen now?
Also can I add more disks to LVM later?
Yep, LVM is basically a software raid 0, I used it when setting up Linux server VMs for years at my last job, as far as I know they are still running fine.
The VM system backed up all VMs regularly, so I used LVMs as it made increasing the storage on a server easier for me.
Since it is just a raid 0 that can span several disks and one disk failiure can bring it down I don't want any irriplacable data on it, so games from Steam seems like an excellwnt idea.
That also means that being able to just have a volume spanning several disks would be an easy and simple way to increase storage when space is running tight.
I am an avid hobby photographer and I would never trust an LVM without some kind of added protection, I am looking to get a Synology NAS with minimum of four drives raided in raid 5.
I have a very old Intel NAS with used drives that I used for many years, but I don't trust it anymore, I keep it powered off as a cold backup.
Thank you.
/mydrive
Thank You.
That's what I do, /music
Thanks you, /oldfart
/mnt is for anything and everything. /media doesn't even exist on Arch based distros and maybe others.
/mnt
is not for everything, it is a temporary mount point. For fixed drives that are constantly mounted you should use another location (that could be anywhere in the filesystem tree).Even if I mount fixed drives on
/mnt
, there won't be any problems, right ?Technically, no. Until you want to mount something but find
/mnt
is busy or simply forget about this and mount something there, losing access to previously mounted stuff. The only problem is that you have to remember which mountpoint you use for particular filesystem, while the FHS is designed to avoid this and abstract from physical devices as much as possible.Thanks. I guess I'll make something like
/Disks
My Files, which are inside the partition mounted in /mnt/something has root as Owner. So When I try to move something to Trash, it's not allowing me to do, Only perma delete. When saw properties it said owner is root.
Is it because mounted at /mnt?
Files under /media seems fine. and says it's owner is 'me'
IDK if I'm doing anything wrong.
You can adjust ownership and permissions for
/mnt/something
usingchown
andchmod
.Thank You.
IMO you should use LVM2 or one of the high level filesystems that have similar features, and then dynamically create partitions and mount them as needed. E.g. Suddenly need 50G for a new VM image? Make a partition and mount it where you need the space.
If I'm not wrong LVM is a method which joins all your disk into single storage pool.
Let's say I stored data all across my LVM, now I remove one of the disks. What happen now?
You are correct, LVM combines 1 or more disks into 1 or more storage pools that can then be allocated out to logical volumes as needed.
If you just up and pull a disk from a pool (volume group), you're gonna have a bad time. You can, however, migrate the "extents" allocated to that physical disk to another in order to replace the disk, and your logical volumes can be set up with RAID-like redundancy. There's a lot of options on how to manage it.
Thank you for explaining.
No problem! To expand further, I am 99% certain it would be perfectly viable to have a single disk volume group and just take advantage of LVM's ability to create, resize and delete virtual partitions on the fly. I think you could also put all your disks into a single volume group, then ask it to not spread your logical volumes across multiple disks, if you wanted to. Could get a bit fiddly though.
I used to mount network attached storage in /mnt until I had problems accessing it from a Snap. In searching for a solution it was pointed out that snaps are correct in being sandboxed from these types of folders, and users like myself are making things difficult for ourselves by using those system folders.
They said the best practice would be to mount them in a folder in your home directory. I've switched to doing that and it works great.
But what about cases where you wish to mount and share with multiple users?
/[UUID or PART-UUID].[partition number/letter]
Jesse, WTF are you talking about?
I'm an OpenBSD user, but it shouldn't be hard to translate this to Linux:
If the partition I want to mount is
/dev/sd0i
, and sd0's UID/DUID is3c6905d2260afe09
, I mount/dev/sd0i
at/3c6905d2260afe09.i
. fstab entry looks like3c6905d2260afe09.i /3c6905d2260afe09.i ffs rw,whatever_flags 0 0
Ik bro, but having whole bunch of random numbers as mount point seems less intuitive to me.
well diskletters/numbers can change between boots and hardware configurations, and unless you have a good label for the partition, this is the only way I can think of to name your permanent mount points that isn't problematic/incorrect in some other way. This will always work correctly with any amount of partitions with any amount of disks; and it's not exactly hard to get the DUID of a disk, at least on OpenBSD. It's also highly scriptable as such.
Thanks for the info.
Mount them where you need. Not
/mnt
and not/media
. Maybe/var
or its subdirectory, or/srv
, or/opt
depending on what kind of data you want to store on that partition.Why though?
Just media files, downloads, images , music kinda stuff.
The filesystem is organized to store data by its type, not by the physical storage. In DOS/Windows you stick to separate "disks", but not in Unix-like OSes. This approach is inconvenient in case of removable media, that's why
/media
exists. And/mnt
is not suited for any particular purpose, just for the case when you need to manually mount some filesystem to perform occasional actions, that normally never happens.That's what usually goes to
/home/
. Maybe mount that device directly to/home
? Or, if you want to extend your existent/home
partition, use LVM or btrfs to join partitions from various drives. Or mount the partition to some subdirectory of/home/
, or even split it and mount its parts to/home//Downloads
,/home//Movies
etc. So you keep the logic of filesystem layout and don't need to remember where you saved some file (in/home//Downloads
or in/whatever-mountpoint-you-use/downloads
).Thanks bro. I think that's what I'm gonna do.
that is what the
/srv
mount point is for. I mount all my external HDDs from there.https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#srvDataForServicesProvidedBySystem