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.

  • cmnybo ( cmnybo@discuss.tchncs.de ) 
    link
    fedilink
    English
    arrow-up
    28
    ·
    2 years ago

    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.

  • Revan343 ( Revan343@lemmy.ca ) 
    link
    fedilink
    arrow-up
    15
    ·
    2 years ago

    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

    If /mnt is for temporary

    ‘temporary’ as in ‘may become unmounted without seriously fucking the system’

    / and /home aren’t temporary. Everywhere else is

  • 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.

    • gpstarman ( gpstarman@lemmy.today ) OP
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      2 years ago

      fixed disks under /mnt

      NAS in /media

      Why ? that’s what I’m asking. Can’t you just put in the same folder and call it a day?

      I put my fixed disk in /mnt

      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

      • 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.

      • 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.

          • I also just saw your edit. Look into Linux ownership and permissions. chmod and chown 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 and drive with the name of the mount point for the drive.

  • 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).

  • 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.

  • 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.

    • Darohan ( Darohan@lemmy.zip ) 
      link
      fedilink
      arrow-up
      4
      ·
      2 years ago

      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.

        • Darohan ( Darohan@lemmy.zip ) 
          link
          fedilink
          arrow-up
          2
          ·
          2 years ago

          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.

              • gpstarman ( gpstarman@lemmy.today ) OP
                link
                fedilink
                arrow-up
                1
                ·
                2 years ago

                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.

                • Darohan ( Darohan@lemmy.zip ) 
                  link
                  fedilink
                  arrow-up
                  2
                  ·
                  2 years ago

                  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

  • exu ( exu@feditown.com ) 
    link
    fedilink
    English
    arrow-up
    4
    ·
    2 years ago

    I use multiple subdirectories under /mnt for my fstab/systemd-mount managed disks. That includes local and network locations.

  • MrSoup ( MrSoup@lemmy.zip ) 
    link
    fedilink
    arrow-up
    4
    ·
    edit-2
    2 years ago

    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

    • gpstarman ( gpstarman@lemmy.today ) OP
      link
      fedilink
      arrow-up
      2
      ·
      2 years ago

      Thank You.

      Otherwise you can just create a custom folder in root like someone else suggested

      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’

      • MrSoup ( MrSoup@lemmy.zip ) 
        link
        fedilink
        arrow-up
        2
        ·
        2 years ago

        /mnt/something has root as Owner. So When I try to move something to Trash, it’s not allowing me to do

        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.

        • gpstarman ( gpstarman@lemmy.today ) OP
          link
          fedilink
          arrow-up
          2
          ·
          2 years ago

          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?

          • MrSoup ( MrSoup@lemmy.zip ) 
            link
            fedilink
            arrow-up
            2
            ·
            edit-2
            2 years ago

            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.

            • gpstarman ( gpstarman@lemmy.today ) OP
              link
              fedilink
              arrow-up
              2
              ·
              2 years ago

              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.

              Thanks for the tip.

              Can you please tell me what file manager are you using?

              I’m using Nemo. As it’s the default one on Mint Cinnamon.

  • 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…

    • gpstarman ( gpstarman@lemmy.today ) OP
      link
      fedilink
      arrow-up
      2
      ·
      2 years ago

      chmod 000

      What does this do? I’m a Meganoob.

      Fixed mountpoints

      ?

      having one available manual mountpoint

      you mean the whole /mnt is meant to single mount point?

      Sorry for all the questions.

      • 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.

        • gpstarman ( gpstarman@lemmy.today ) OP
          link
          fedilink
          arrow-up
          2
          ·
          2 years ago

          I use chown 000 so that regular users fail to access a directory when no filesystem is mounted on it

          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”:

            $ # List permissions of files in /mnt:
            $ # note that none of the directories have read, write nor execute permissions
            $ ls -la /mnt
            drwxr-xr-x   1 root root          168 May 31 23:13 .
            drwxr-xr-x   1 root root          128 May 31 23:14 ..
            d---------   1 root root            0 Aug  1  2020 a/
            d---------   1 root root            0 Feb 11  2022 b/
            d---------   1 root root            0 Aug 11  2021 vdisks/
            
            $ # No read permission on a directory => directory entries cannot be listed
            $ ls /mnt/a
            cannot open directory '/mnt/a': Permission denied
            
            $ sudo mount /dev/sda1 /mnt/a
            
            $ # List again the permissions in /mnt: the root of /dev/sda1
            $ # has rwxr-xr-x (or 755) permissions, which override the 000 of /mnt/a ...
            $ ls -la /mnt
            drwxr-xr-x   1 root root          168 May 31 23:13 .
            drwxr-xr-x   1 root root          128 May 31 23:14 ..
            drwxr-xr-x   1 root root            0 Aug  1  2020 a/
            d---------   1 root root            0 Feb 11  2022 b/
            d---------   1 root root            0 Aug 11  2021 vdisks/
            
            $ # ... and its contents can be accessed by the mounted filesystem's owner:
            $ ls -la /mnt/a
            drwxr-xr-x   1 user user          168 May 31 23:13 .
            drwxr-xr-x   1 root root          168 May 31 23:13 ..
            -rw-r--r-- 1 user user   0 Jul  4 22:13 'Hello World.txt'
            
            $ find /mnt
            /mnt
            /mnt/a
            /mnt/a/Hello World.txt
            find: ‘/mnt/b Permission denied
            find: ‘/mnt/vdisks’: Permission denied
            

            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.

            • gpstarman ( gpstarman@lemmy.today ) OP
              link
              fedilink
              arrow-up
              2
              ·
              2 years ago

              OS “replaces” its contents AND permissions with that of the filesystem’s root.

              So, the original content is lost forever?

              setting permissions is just extreme pedantry

              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?

              • So, the original content is lost forever?

                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 of ls -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.

                • gpstarman ( gpstarman@lemmy.today ) OP
                  link
                  fedilink
                  arrow-up
                  2
                  ·
                  2 years ago

                  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.

    • gpstarman ( gpstarman@lemmy.today ) OP
      link
      fedilink
      arrow-up
      1
      ·
      2 years ago

      Even if I switch my drives or folder names

      You don’t mean changing name of ‘Videos’ right?

      entire drive is mounted to /media first, and then all subdirectories are mounted where I need them.

      So you mount directories accordind to your need not drives and partitions? Seems flexible.

      then your cannot boot into your system anymore.

      Why? Are you talking about removing the drive that contains /?

      • Oh, I deleted my reply a while ago. But you seem to be able to see it still.

        The Videos name change is meant, if I mount the folder on my drive to /home/name/Videos, then next time I mount anything to that place when replacing the drive, then /home/name/Videos will stay the same. That means any application using that path won’t change. That’s the majority how I use my multiple internal drives. I just mount them to fixed positions I use for decades, like in my home.

        I prefer directories over partitions, because I can easily rename directories and place them to other places without ever partitioning or resizing again.

        Why? Are you talking about removing the drive that contains /?

        About the not being able to boot, no I don’t mean the drive that contains the root /. When I mount drives with the /etc/fstab file, then the system tries to mount them on boot time. If the directory that is mounted or the drive is no longer available or I unplug it (lets say when I replace my Documents drive), then at boot time the system tries to mount something that does no longer exist in their view, according to the fstab file.

        By default (at least on my current system EndevaourOS, based on Arch) the system stops booting. It gives me the option to ignore that mount entry, so I can boot again. But if I had not this option to ignore, then one has to edit the /etc/fstab file to outcomment those sections; in example with a boot cd or usb drive. Normally not a problem, but just telling it here, so in case you know what to do (if you ever go that route).