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.

  • Heavybell@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    4 months ago

    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.

    • gpstarman@lemmy.todayOP
      link
      fedilink
      arrow-up
      0
      ·
      4 months ago

      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?

      • Heavybell@lemmy.world
        link
        fedilink
        English
        arrow-up
        0
        ·
        edit-2
        4 months ago

        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.

          • Heavybell@lemmy.world
            link
            fedilink
            English
            arrow-up
            0
            ·
            4 months ago

            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.

  • Kelo@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    4 months ago

    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 like

  • walden@sub.wetshaving.social
    link
    fedilink
    arrow-up
    0
    ·
    4 months ago

    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.

  • GuyNoIRQ@infosec.pub
    link
    fedilink
    English
    arrow-up
    0
    ·
    4 months ago

    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.

    • gpstarman@lemmy.todayOP
      link
      fedilink
      arrow-up
      0
      ·
      4 months ago

      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’

  • MrSoup@lemmy.zip
    link
    fedilink
    arrow-up
    0
    ·
    edit-2
    4 months 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@lemmy.todayOP
      link
      fedilink
      arrow-up
      0
      ·
      edit-2
      4 months 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@lemmy.zip
        link
        fedilink
        arrow-up
        0
        ·
        edit-2
        4 months 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@lemmy.todayOP
          link
          fedilink
          arrow-up
          0
          ·
          4 months 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@lemmy.zip
            link
            fedilink
            arrow-up
            0
            ·
            edit-2
            4 months 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@lemmy.todayOP
              link
              fedilink
              arrow-up
              0
              ·
              4 months 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.

  • GnuLinuxDude@lemmy.ml
    link
    fedilink
    arrow-up
    0
    ·
    4 months ago

    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@lemmy.todayOP
      link
      fedilink
      arrow-up
      0
      ·
      edit-2
      4 months 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’

      • rand_alpha19@moist.catsweat.com
        link
        fedilink
        arrow-up
        0
        ·
        4 months ago

        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.

          • rand_alpha19@moist.catsweat.com
            link
            fedilink
            arrow-up
            0
            ·
            4 months ago

            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 ./* in /mnt/drive 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.

            • gpstarman@lemmy.todayOP
              link
              fedilink
              arrow-up
              0
              ·
              edit-2
              4 months ago

              sudo chown -R user:user ./*

              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.

              • rand_alpha19@moist.catsweat.com
                link
                fedilink
                arrow-up
                0
                ·
                4 months ago

                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.

      • GnuLinuxDude@lemmy.ml
        link
        fedilink
        arrow-up
        0
        ·
        4 months ago

        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

        • gpstarman@lemmy.todayOP
          link
          fedilink
          arrow-up
          0
          ·
          4 months ago

          The answer to your question why is because I arbitrarily decided on that years ago. That’s basically all there is to it.

          Thanks for clarifying bro

      • ReversalHatchery@beehaw.org
        link
        fedilink
        English
        arrow-up
        0
        ·
        4 months ago

        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.

          • ReversalHatchery@beehaw.org
            link
            fedilink
            English
            arrow-up
            0
            ·
            4 months ago

            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.

  • Sonotsugipaa@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    0
    ·
    4 months ago

    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@lemmy.todayOP
      link
      fedilink
      arrow-up
      0
      ·
      4 months 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.

      • Sonotsugipaa@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        0
        ·
        4 months ago

        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@lemmy.todayOP
          link
          fedilink
          arrow-up
          0
          ·
          4 months 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?

          • Sonotsugipaa@lemmy.dbzer0.com
            link
            fedilink
            English
            arrow-up
            0
            ·
            edit-2
            4 months ago

            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@lemmy.todayOP
              link
              fedilink
              arrow-up
              0
              ·
              edit-2
              4 months 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?

              • Sonotsugipaa@lemmy.dbzer0.com
                link
                fedilink
                English
                arrow-up
                0
                ·
                edit-2
                4 months ago

                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@lemmy.todayOP
                  link
                  fedilink
                  arrow-up
                  0
                  ·
                  4 months 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.

      • ShittyBeatlesFCPres@lemmy.world
        link
        fedilink
        English
        arrow-up
        0
        ·
        4 months ago

        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

          • ShittyBeatlesFCPres@lemmy.world
            link
            fedilink
            English
            arrow-up
            0
            ·
            4 months ago

            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 called www-data or similar and it’s shared by all the users in the “developer” group.

  • Rudee@lemmy.ml
    link
    fedilink
    arrow-up
    0
    ·
    4 months ago

    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

  • mrvictory1@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    4 months ago

    /mnt is for anything and everything. /media doesn’t even exist on Arch based distros and maybe others.

    • gpstarman@lemmy.todayOP
      link
      fedilink
      arrow-up
      0
      ·
      4 months ago

      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.

    • bizdelnick@lemmy.ml
      link
      fedilink
      arrow-up
      0
      ·
      4 months ago

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

      • gpstarman@lemmy.todayOP
        link
        fedilink
        arrow-up
        0
        ·
        4 months ago

        /mnt is not for everything, it is a temporary mount point.

        Even if I mount fixed drives on /mnt, there won’t be any problems, right ?

        • bizdelnick@lemmy.ml
          link
          fedilink
          arrow-up
          0
          ·
          4 months ago

          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.

  • Björn Tantau@swg-empire.de
    link
    fedilink
    arrow-up
    0
    ·
    4 months ago

    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.

  • bloodfart@lemmy.ml
    link
    fedilink
    arrow-up
    0
    ·
    4 months ago

    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.

  • exu@feditown.com
    link
    fedilink
    English
    arrow-up
    0
    ·
    4 months ago

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

      • exu@feditown.com
        link
        fedilink
        English
        arrow-up
        0
        ·
        edit-2
        4 months ago

        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

      • ssm@lemmy.sdf.org
        link
        fedilink
        arrow-up
        0
        ·
        edit-2
        4 months ago

        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 is 3c6905d2260afe09, I mount /dev/sd0i at /3c6905d2260afe09.i. fstab entry looks like

        3c6905d2260afe09.i /3c6905d2260afe09.i ffs rw,whatever_flags 0 0

        • gpstarman@lemmy.todayOP
          link
          fedilink
          arrow-up
          0
          ·
          edit-2
          4 months ago

          Ik bro, but having whole bunch of random numbers as mount point seems less intuitive to me.

          • ssm@lemmy.sdf.org
            link
            fedilink
            arrow-up
            0
            ·
            edit-2
            4 months ago

            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.