Home » What is meant by mounting a device in Linux?

What is meant by mounting a device in Linux?

Solutons:


Unix systems have a single directory tree. All accessible storage must have an associated location in this single directory tree. This is unlike Windows where (in the most common syntax for file paths) there is one directory tree per storage component (drive).

Mounting is the act of associating a storage device to a particular location in the directory tree. For example, when the system boots, a particular storage device (commonly called the root partition) is associated with the root of the directory tree, i.e., that storage device is mounted on / (the root directory).

Let’s say you now want to access files on a CD-ROM. You must mount the CD-ROM on a location in the directory tree (this may be done automatically when you insert the CD). Let’s say the CD-ROM device is /dev/cdrom and the chosen mount point is /media/cdrom. The corresponding command is

mount /dev/cdrom /media/cdrom

After that command is run, a file whose location on the CD-ROM is /dir/file is now accessible on your system as /media/cdrom/dir/file. When you’ve finished using the CD, you run the command umount /dev/cdrom or umount /media/cdrom (both will work; typical desktop environments will do this when you click on the “eject” or ”safely remove” button).

Mounting applies to anything that is made accessible as files, not just actual storage devices. For example, all Linux systems have a special filesystem mounted under /proc. That filesystem (called proc) does not have underlying storage: the files in it give information about running processes and various other system information; the information is provided directly by the kernel from its in-memory data structures.

What is meant by mounting a device in Linux?

In simple words a mount point is a directory to access your data (files and folders) stored on your disks.

Analogy: Courtesy

Let us read a farmer story who distributed his uncultivated land to his children and what they did from it.

There is a farmer who thought of distributing his whole barren land of 25 Hectares to his three children, he distributed as below.
enter image description here

Child 1: John got eight hectares of land.

Child 2: Barbie got 13 hectares of land.

Child 3: Steve got four hectares of land.

enter image description here

Now the farmer’s children planned to improve their respective lands and started ploughing depending on the crops they were going to cultivate.

  • John wants to cultivate Oranges.

  • Barbi wants to cultivate Mangos.

  • Steve wants to cultivate Corn.

For these crops/fruit tree cultivation they require to plough differently to suite their crops. As shown below diagram for cultivating Mangos ploughing is different from cultivating corn. Once this is done they sow their respective crop plants in their lands.
enter image description here

As crops are grown they should be protected from intruders and they arranged a fence around their lands and created an entry point to each of their lands with a gate.

enter image description here
So if anyone to access their lands they have to enter through these gates and get the fruit’s/corn from the land.

THE ANALOGY OF THIS STORY TO OUR DISK MANAGEMENT IS AS BELOW.

  • Farmers land is equal to entire disk
  • Slices which a farmer gives to his children are called partitions
  • Ploughing land for cultivating crops is called as formatting.
  • Planting trees and crops are called is akin to disks/partitions.
  • Protecting the grown crops and trees by arranging a gate is called mounting.

enter image description here

source

What is meant by mounting a drive?
Before your computer can use any kind of storage device (such as a hard drive, CD-ROM, or network share), you or your operating system must make it accessible through the computer’s file system. This process is called mounting. You can only access files on mounted media.

Formats and mounting
Your computer stores data in specific, structured file formats written on a piece of media (such as a disk or CD-ROM). Your computer must be able to read the format on this media in order to interpret its data properly; if the computer does not recognize the format, it will return errors. Also, forcing your computer to work with corrupted or unrecognized formats will cause it to write data incorrectly, possibly rendering unrecoverable all the files stored on the media.

Mounting ensures that your computer recognizes the media’s format; if your computer cannot recognize that format, the device cannot be mounted. When media is successfully mounted, your computer incorporates the media’s file system into your local file system, and creates a mount point, a locally available link through which you access an external device. In Windows or Mac OS X, the mount point is represented by a disk or other icon; in Unix or Linux, the mount point is a directory. Most operating systems handle mounting and unmounting for you.

Related Solutions

Joining bash arguments into single string with spaces

[*] I believe that this does what you want. It will put all the arguments in one string, separated by spaces, with single quotes around all: str="'$*'" $* produces all the scripts arguments separated by the first character of $IFS which, by default, is a space....

AddTransient, AddScoped and AddSingleton Services Differences

TL;DR Transient objects are always different; a new instance is provided to every controller and every service. Scoped objects are the same within a request, but different across different requests. Singleton objects are the same for every object and every...

How to download package not install it with apt-get command?

Use --download-only: sudo apt-get install --download-only pppoe This will download pppoe and any dependencies you need, and place them in /var/cache/apt/archives. That way a subsequent apt-get install pppoe will be able to complete without any extra downloads....

What defines the maximum size for a command single argument?

Answers Definitely not a bug. The parameter which defines the maximum size for one argument is MAX_ARG_STRLEN. There is no documentation for this parameter other than the comments in binfmts.h: /* * These are the maximum length and maximum number of strings...

Bulk rename, change prefix

I'd say the simplest it to just use the rename command which is common on many Linux distributions. There are two common versions of this command so check its man page to find which one you have: ## rename from Perl (common in Debian systems -- Ubuntu, Mint,...

Output from ls has newlines but displays on a single line. Why?

When you pipe the output, ls acts differently. This fact is hidden away in the info documentation: If standard output is a terminal, the output is in columns (sorted vertically) and control characters are output as question marks; otherwise, the output is...

mv: Move file only if destination does not exist

mv -vn file1 file2. This command will do what you want. You can skip -v if you want. -v makes it verbose - mv will tell you that it moved file if it moves it(useful, since there is possibility that file will not be moved) -n moves only if file2 does not exist....

Is it possible to store and query JSON in SQLite?

SQLite 3.9 introduced a new extension (JSON1) that allows you to easily work with JSON data . Also, it introduced support for indexes on expressions, which (in my understanding) should allow you to define indexes on your JSON data as well. PostgreSQL has some...

Combining tail && journalctl

You could use: journalctl -u service-name -f -f, --follow Show only the most recent journal entries, and continuously print new entries as they are appended to the journal. Here I've added "service-name" to distinguish this answer from others; you substitute...

how can shellshock be exploited over SSH?

One example where this can be exploited is on servers with an authorized_keys forced command. When adding an entry to ~/.ssh/authorized_keys, you can prefix the line with command="foo" to force foo to be run any time that ssh public key is used. With this...

Why doesn’t the tilde (~) expand inside double quotes?

The reason, because inside double quotes, tilde ~ has no special meaning, it's treated as literal. POSIX defines Double-Quotes as: Enclosing characters in double-quotes ( "" ) shall preserve the literal value of all characters within the double-quotes, with the...

What is GNU Info for?

GNU Info was designed to offer documentation that was comprehensive, hyperlinked, and possible to output to multiple formats. Man pages were available, and they were great at providing printed output. However, they were designed such that each man page had a...

Set systemd service to execute after fstab mount

a CIFS network location is mounted via /etc/fstab to /mnt/ on boot-up. No, it is not. Get this right, and the rest falls into place naturally. The mount is handled by a (generated) systemd mount unit that will be named something like mnt-wibble.mount. You can...

Merge two video clips into one, placing them next to each other

To be honest, using the accepted answer resulted in a lot of dropped frames for me. However, using the hstack filter_complex produced perfectly fluid output: ffmpeg -i left.mp4 -i right.mp4 -filter_complex hstack output.mp4 ffmpeg -i input1.mp4 -i input2.mp4...

How portable are /dev/stdin, /dev/stdout and /dev/stderr?

It's been available on Linux back into its prehistory. It is not POSIX, although many actual shells (including AT&T ksh and bash) will simulate it if it's not present in the OS; note that this simulation only works at the shell level (i.e. redirection or...

How can I increase the number of inodes in an ext4 filesystem?

It seems that you have a lot more files than normal expectation. I don't know whether there is a solution to change the inode table size dynamically. I'm afraid that you need to back-up your data, and create new filesystem, and restore your data. To create new...

Why doesn’t cp have a progress bar like wget?

The tradition in unix tools is to display messages only if something goes wrong. I think this is both for design and practical reasons. The design is intended to make it obvious when something goes wrong: you get an error message, and it's not drowned in...