- Монтирование папок в Linux
- Монтирование папок в Linux
- Выводы
- How to Move Home Directory to New Partition or Disk in Linux
- Installing and Partitioning a New Hard Disk in Linux
- Moving Home Directory into a Dedicated Partition
- If You Appreciate What We Do Here On TecMint, You Should Consider:
- How to re-mount a different partition as /home?
- 4 Answers 4
- Монтирование диска в Linux
- Что такое монтирование?
- Монтирование дисков в Linux
- Монтирование разделов с помощью mount
- Размонтирование устройств в Linux
- Выводы
Монтирование папок в Linux
Операционные системы семейства Linux имеют одну замечательную особенность. Здесь все разделы отображаются не в каком-либо абстрактном месте под названием «Мой компьютер», а монтируются в корневую файловую систему. Вы можете управлять тем, куда и как будет смотирован определённый раздел. В корневую файловую систему монтируются все разделы ваших жёстких дисков, флешки, сетевые папки и виртуальные файловые системы.
В результате всего этого вы получаете единую и цельную файловую систему, с помощью которой можно управлять всеми возможностями Linux. Монтировать можно не только разделы, но и папки.
Монтирование папок в Linux
Вы можете примонтировать любую папку из файловой системы в другую папку, без каких-либо ограничений. Для этого используется всё та же команда mount. Только её нужно использовать вместе с опцией —bind. Однако прежде всего вам нужно задуматься, зачем вы это делаете. Если вам необходимо связать эти папки на постоянной основе, возможно, лучшим решением будет создать символическую ссылку.
Если же это невозможно, вернёмся к монтированию. Например, у нас есть папка /storage, которую мы хотим примонтировать в папку /mnt. Для этого достаточно выполнить:
sudo mount —bind /storage /mnt
Так это работает. Но эта точка монтирования будет непостоянной. После перезагрузки вам придётся повторить всё заново. Чтобы этого избежать, необходимо добавить запись о монтировании в /etc/fstab. Для этого примера она будет выглядеть вот так:
sudo vi /etc/fstab
/storage /mnt none bind 0 0
Однако эту строчку нужно добавлять в самом конце файла, так, чтобы все устройства, на которых находятся целевые папки, были уже смотированы. Размонтировать папку можно командой umount:
sudo umount /mnt
Вместо mount вы можете использовать ещё утилиту bindfs. Она выполняет почти такие же действия, только для неё не нужны права суперпользователя:
bindfs -n /storage /home/sergiy/mnt
Эта папка будет примонтирована только до перезагрузки. Чтобы её размонтировать, нужно использовать команду fusermount:
fusermount -u /home/sergiy/mnt
Выводы
В этой небольшой статье мы разобрали, как использовать монтирование папок Linux. Как видите, это очень просто. Надеюсь, эта информация была для вас полезной.
Источник
How to Move Home Directory to New Partition or Disk in Linux
On any Linux system, one of the directories that will surely grow in size has to be the /home directory. This is because system accounts (users) directories will reside in /home except root account – here users will continuously store documents and other files.
Another important directory with the same behavior is /var , it contains log files whose size will gradually increase as the system continues to run such as log files, web files, print spool files etc.
When these directories fill up, this can cause critical problems on the root file system resulting into system boot failure or some other related issues. However, sometimes you can only notice this after installing your system and configuring all directories on the root file system/partition.
In this guide, we will show how to move the home directory into a dedicated partition possibly on a new storage disk in Linux.
Installing and Partitioning a New Hard Disk in Linux
Before we proceed any further, we’ll briefly explain how to add a new hard disk to an existing Linux server.
Note: If you already have a partition ready for the operation, move to the section which explains the steps for moving /home directory in a partition of its own below.
We’ll assume you have attached the new disk to the system. On a hard disk, the number of partitions to be created as well as the partition table is normally determined by disk label type and the first few bytes of space will define the MBR (Master Boot Record) which stores the partition table as well as the boot loader (for bootable disks).
Although there are many label types, Linux only accepts two: MSDOS MBR (516 bytes in size) or GPT (GUID Partition Table) MBR.
Let’s also assume that the new new hard disk (/dev/sdb of size 270 GB used for the purpose of this guide, you probably need a bigger capacity on a server for large user base.
First you need to set the disk label type using fdisk or parted; we have used GPT label name in this example.
Note: fdisk only supports MSDOS MBR for now and parted supports both labels.
Now create the first partition (/dev/sdb1) with size 106GB. We have reserved 1024MB of space for the MBR.
Explaining the command above:
- a – option to specify the partition alignment.
- mkpart – sub command to create the partition.
- primary – sets partition type as primary on the hard disk (other values are logical or extended).
- 1074MB – beginning of partition.
- 107GB – end of partition.
Now check the free space on the disk as follows.
We will create another partition (/dev/sdb2) with size 154GB.
Next, let’s set the filesystem type on each partition.
To view all storage devices attached on the system, type.
List New Storage Device
Moving Home Directory into a Dedicated Partition
Now we have added the new disk and created the necessary partition; it’s now time to move the home folder into one of the partitions. To use a fileysystem, it has to be mounted to the root filesystem at a mount point: the target directory such as /home.
First list the filesystem usage using df command on the system.
Linux Filesystem Usage
We will start by creating a new directory /srv/home where we can mount /dev/sdb1 for the time being.
Then move the content of /home into /srv/home (so they will be practically stored in /dev/sdb1) using rsync command or cp command.
After that, we will find the difference between the two directories using the diff tool, if all is well, continue to the next step.
Afterwards, delete all the old content in the /home as follows.
Next unmount /srv/home.
Finally, we have to mount the filesystem /dev/sdb1 to /home for the mean time.
The above changes will last only for the current boot, add the line below in the /etc/fstab to make the changes permanent.
Use following command to get the partition UUID.
Once you know the partition UUID, open /etc/fstab file add following line.
Explaining the field in the line above:
- UUID – specifies the block device, you can alternatively use the device file /dev/sdb1.
- /home – this is the mount point.
- etx4 – describes the filesystem type on the device/partition.
- defaults – mount options, (here this value means rw, suid, dev, exec, auto, nouser, and async).
- 0 – used by dump tool, 0 meaning don’t dump if filesystem is not present.
- 2 – used by fsck tool for discovering filesystem check order, this value means check this device after root filesystem.
Save the file and reboot the system.
You can run following command to see that /home directory has been successfully moved into a dedicated partition.
Check Filesystem Usage on Linux
That’s It for now! To understand more about Linux file-system, read through these guides relating to filesystem management on Linux.
In this guide, we explained you how to move the /home directory into a dedicated partition in Linux. You can share any thoughts concerning this article via the comment form below.
If You Appreciate What We Do Here On TecMint, You Should Consider:
TecMint is the fastest growing and most trusted community site for any kind of Linux Articles, Guides and Books on the web. Millions of people visit TecMint! to search or browse the thousands of published articles available FREELY to all.
If you like what you are reading, please consider buying us a coffee ( or 2 ) as a token of appreciation.
We are thankful for your never ending support.
Источник
How to re-mount a different partition as /home?
When I installed Ubuntu 10.04, I installed it on a single 16GB partition which includes /, /boot, /home etc.
I have another partition on the system (ext3). It is easily accessible from the GNOME desktop Places menu: I just click that Filesystem HDD icon on the Places menu and it is automatically mount as ‘/media/1326f40a-45df-4ec’.
How do I make that partition re-mount as /home instead? (permanently, that is)
4 Answers 4
First you want the UUID of the drive so it can be reliably mounted.
That will return a list of all your partitions and their UUIDs. Just note the UUID of the partition you want mounted as home.
Then you just need to edit /etc/fstab to auto-mount that partition as /home .
And add a line like this:
Although obviously with your UUID, not mine. Save and reboot.
Here is the official Ubuntu documentation for moving to a separate /home partition:
Just skip the step for creating a new partition as you already have it.
In looking up a similar issue I found this thread. I wanted to touch base on a couple things.
First, IMHO, the UUID is desperate and unworkable. There is a better solution than using the UUID that works on 10.04 of Ubuntu. That is to use the LABEL=’label’ .
In the /etc/fstab file swap the UUID with the LABEL=’ ‘ (and be sure to use the single quotes). Before doing this please ensure that you have used gparted to add a label to the drive. This label is just like the label you might have created to identify your floppies, your zip drives (not files), or even your old HDDs under Windows.
The next thing I wanted to touch on is that above someone gave the following command.
That command I have never seen before. Either it is something that I didn’t know exists or it is wrong. In the case that it might be wrong I’ll correct the syntax.
Finally I appreciate the person that appears to have given the proper answer where you want to have a folder under the root of the partition as your home. The procedure described in this thread does not touch on that even though it is the most APPROPRIATE implementation. You should always put your home folder in a folder under the partition instead of pushing your home folder into the root folder of the partition.
Источник
Монтирование диска в Linux
Разделы дисков в Linux подключаются к системе совсем не так, как в Windows. Здесь есть корневая файловая система, куда подключаются все другие разделы и устройства, которые вы будете использовать. Системные разделы монтируются автоматически при старте системы. Но если вам нужно подключить дополнительные разделы, в некоторых случаях, может понадобиться это делать вручную.
В этой статье мы рассмотрим как выполняется монтирование диска в Linux, поговорим о том, как правильно использовать утилиту mount, umount и посмотреть какие разделы куда примонтированы.
Что такое монтирование?
Как я уже сказал Linux имеет единую корневую файловую систему, куда подключаются все запоминающие устройства и другие ресурсы. На самом деле, в Windows происходит что-то подобное, только все это скрыто от пользователя.
Фактически смонтированный раздел становится частью корневой файловой системы и система старается сделать работу со всеми разделами, независимо от их файловых систем, прозрачной. Это значит, что если вы примонтируете участок оперативной памяти или удаленную сетевую папку, то сможете работать с ней в файловом менеджере точно так же, как и с локальным диском.
Например, вы хотите примонтировать флешку. Вы даете системе команду подключить ее в папку /run/media/имя_пользователя/UUID_флешки/. Система определяет файловую систему устройства, а затем, используя драйвера ядра подключает ее к указанной папке. Дальше вам остается работать с той папкой, как с любой другой. Больше ни о чем думать не нужно. Когда надумаете извлечь флешку, ее нужно отмонтировать.
Монтирование дисков в Linux
Обычно, монтированием занимаются специальные сервисы оболочки, но не всегда они доступны. А иногда нужно сделать все вручную, чтобы задать дополнительные опции монтирования или другие параметры. Для монтирования в Linux используется команда mount. Рассмотрим ее параметры:
$ mount файл_устройства папка_назначения
Или расширенный вариант:
$ mount опции -t файловая_система -o опции_монтирования файл_устройства папка_назначения
Опции задают различные дополнительные особенности работы утилиты. Опция -t необязательна, но она позволяет задать файловую систему, которая будет использована и иногда это очень полезно. С помощью опции -o вы можете задать различные параметры монтирования, например, монтировать только для чтения и т д. Последних два параметра — это файл устройства, например, /dev/sda1 и папка назначения, например, /mnt.
Перед тем как перейти к рассмотрению примеров работы утилитой, давайте рассмотрим ее основные опции:
- -V — вывести версию утилиты;
- -h — вывести справку;
- -v — подробный режим;
- -a, —all — примонтировать все устройства, описанные в fstab;
- -F, —fork — создавать отдельный экземпляр mount для каждого отдельного раздела;
- -f, —fake — не выполнять никаких действий, а только посмотреть что собирается делать утилита;
- -n, —no-mtab — не записывать данные о монтировании в /etc/mtab;
- -l, —show-labels — добавить метку диска к точке монтирования;
- -c — использовать только абсолютные пути;
- -r, —read-only — монтировать раздел только для чтения;
- -w, —rw — монтировать для чтения и записи;
- -L, —label — монтировать раздел по метке;
- -U, —uuid — монтировать раздел по UUID;
- -T, —fstab — использовать альтернативный fstab;
- -B, —bind — монтировать локальную папку;
- -R, —rbind — перемонтировать локальную папку.
Это не все, но основные опции, которые вам понадобятся во время работы с утилитой. Также, возможно, вы захотите знать список опций монтирования, которые могут быть полезными. Они все перечислены в статье автоматическое монтирование в fstab и писать их еще и здесь нет смысла. А теперь перейдем к примерам и рассмотрим как монтировать диск в linux.
Монтирование разделов с помощью mount
Монтирование разделов с помощью mount выполняется очень просто. Фактически в большинстве случаев будет достаточно упрощенной версии команды. Например, смонтируем раздел /dev/sdb6 в папку /mnt:
sudo mount /dev/sdb6 /mnt/
В большинстве случаев вы будете вынуждены выполнять команду mount с правами суперпользователя, если обратное не указано в fstab (опция монтирования users). Вы можете посмотреть информацию о процессе монтирования добавив опцию -v:
sudo mount -v /dev/sdb6 /mnt/
Если нужно, вы можете указать файловую систему с помощью опции -t:
sudo mount -v -t ext4 /dev/sdb6 /mnt
Если необходимо примонтировать файловую систему только для чтения, то вы можете использовать опцию -r или опцию монтирования -o ro, результат будет одинаковым:
sudo mount -t ext4 -r /dev/sdb6 /mnt
$ sudo mount -t ext4 -o ro /dev/sdb6 /mnt
Вы можете использовать и другие опции чтобы выполнить монтирование разделов linux, например, указать, что на этом разделе нельзя выполнять программы:
sudo mount -t ext4 -o noexec /dev/sdb6 /mnt
Обратите внимание, что вы не можете использовать опции uid, gid, fmask для файловых систем ext. Они поддерживаются только в FAT, vFAT, exFAT.
Вы можете использовать не только имена устройств чтобы выполнить монтирование диска в linux. Для этого можно применять UUID или метки, например, монтирование с помощью UUID:
sudo mount —uuid=»b386d309-05c1-42c8-8364-8d37270b69e0″ /mnt
Посмотреть uuid для ваших разделов можно с помощью команды:
Точно так же вы можете использовать метки. Команда монтирования диска linux будет выглядеть так:
sudo mount —label=»home» /mnt/
Вы можете примонтировать одну папку в другую, для этого используйте опцию —bind
sudo mount —bind /mnt/ /media/
Возможно, не только монтирование разделов linux, но и монтирование файлов, если они содержат файловую систему, например, образов дисков. Монтирование образа диска linux работает точно так же:
Посмотреть список всех примонтированных устройств можно просто выполнив mount без параметров:
Размонтирование устройств в Linux
Когда вы хотите завершить работу с устройством, особенно с флешкой, его нужно размонтировать. Для этого существует утилита umount. В качестве параметров она принимает точку монтирования или устройство. Например:
sudo umount /mnt
Теперь ваше устройство не смонтировано. Но иногда может возникнуть ошибка размонтирования. Система сообщит, что устройство занято: umount: /mnt: target is busy.
Проблему можно решить закрыв все программы, которые могут использовать любой файл в этой папке. Какие именно это программы вы можете узнать с помощью команды lsof:
lsof -w /mnt
$ lsof -w /dev/sdb6
Здесь вы видите всю необходимую информацию, чтобы понять что происходит и что с этим делать. Утилита вывела название программы, ее PID, и даже файл, с которым она работает. Вы можете завершить все программы, а потом снова повторить попытку или используйте опцию -l, файловая система будет отключена немедленно, несмотря на то, что она занята:
sudo umount -l /mnt
Выводы
В этой статье мы рассмотрели как выполняется монтирование жестких дисков linux, а также разделов и даже образов. Вы знаете как правильно использовать опции mount и umount. Если у вас остались вопросы, спрашивайте в комментариях!
Источник