Мы уже так привыкли к съемным носителям, что пользуемся ими не задумываясь как все работает. Вставил и забыл, интуитивно понятный интерфейс рабочего окружения так же способствует этому. Но что делать если у нас консоль в Линуксе, там все не так просто. Сегодня мы рассмотрим как добавить новый жесткий диск, или просто вставить флешку в системе Линукс, без какого либо графического интерфейса.
Выводим список дисков
$ fdisk -l
Disk /dev/sda: 8 GiB, 8589934592 bytes, 16777216 sectors
Disk model: VBOX HARDDISK
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dosDisk identifier: 0x7e363e97
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 14680063 14678016 7G 83 Linux
/dev/sda2 14682110 16775167 2093058 1022M 5 Extended
/dev/sda5 14682112 16775167 2093056 1022M 82 Linux swap / Solaris
Disk /dev/sdb: 7,2 GiB, 7747928064 bytes, 15132672 sectors
Disk model: USB DISK 2.0
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dosDisk identifier: 0x9d635f3a
Device Boot Start End Sectors Size Id Type
/dev/sdb1 8064 15132671 15124608 7,2G c W95 FAT32 (LBA)
Создаем папку
$ sudo mkdir /mnt/usb
Монтируем нужный нам раздел в только созданную папку
$ sudo mount /dev/sdb1 /mnt/usb
Если мы знаем файловую систему, то лучше ее указать, сделать это можно с помощью флага -t
$ sudo mount -t vfat /dev/sdb1 /mnt/usb
Так как монтирование происходит от имени супер пользователя, то отмонтировать ее может тоже только супер пользователь, можно это исправить указав опцию -o users
$ sudo mount -t vfat -o users /dev/sdb1 /mnt/usb
Для определенного пользователя нужно указать uid и gid, узнать их можно командой
$ id <имя_пользователя>
Далее монтируем
$ sudo mount -o users,uid=1000,gid=1000 /dev/sdb1 /mnt/usb
Но при перезагрузке все пропадет, и если у нас не флешка, а например новый жесткий диск, для этого есть файл /etc/fstab. В нем мы и пропишем параметры монтирования жесткого диска. Первым делом надо создать раздел на диске, если его там нет
$ sudo fdisk /dev/sdb
- далее вводим команду для создания нового раздела "n"
- если это основной раздел то вводим "p", если расширенный вводим "e"
- указываем номер раздела 1-4, по умолчанию 1
- далее первый сектор 2048–1048575999, по умолчанию 2048
- затем последний сектор
- завершаем создание разделов записью изменений на диск, командой "w"
Теперь надо отформатировать раздел
$ sudo mkfs.ext4 /dev/sdb1
После форматирования система выведет информацию по новому разделу, в том числе UUID, но если файловая система у нас уже была UUID можно узнать командой
$ sudo blkid
Все приготовления завершены, открываем /etc/fstab
$ sudo nano /etc/fstab
И в последней строке дописываем значения вида <устройство><точка_монтирования><файловая система><опции><резерв><проверка>, в моем случае это
UUID=5791441f-7bf4-4721-8223-32344818e94d /mnt/hdd ext4 defaults 0 0
Мы использовали опцию defaults, она создана для большинства ситуаций, а вот список всех опций
- sync – записывать на диск все изменения сразу после того, как они были выполнены, не использовать кэширование для записываемых данных. Может понадобится для извлечения флешки без размонтирования, но сильно снижает производительность;
- async – использовать кэш при записи данных, увеличивает производительность, используется по умолчанию;
- atime – сохранять время последнего доступа к файлу;
- noatime – не сохранять время последнего доступа, полезно для ssd и флешек;
- relatime – обновлять время доступа только при изменении файла, необходимо для работы многих программ;
- norelatime – отключить relatime;
- strictatime – обновлять время доступа всегда, отключает действие предыдущих опций;
- auto – автоматически монтировать при загрузке, действие по умолчанию;
- noauto – не монтировать при загрузке;
- defaults – использовать опции монтирования fstab по умолчанию – rw,suid,dev,exec,auto,nouser,async;
- dev – интерпретировать блочные устройства;
- nodev – не интерпретировать блочные устройства;
- diratime – аналогично atime только для каталогов;
- dirnoatime – аналогично noatime, для каталогов;
- exec – разрешить выполнять программы на этом разделе;
- noexec – запретить выполнять программы на этом разделе;
- group – разрешить другим пользователям кроме root монтировать этот раздел, если их группа совпадает с указанной, обычно используется вместе с noauto;
- nofail – не сообщать об ошибках;
- mand – разрешить блокирование файловой системы, нужно для некоторых антивирусов;
- nomand – запретить блокирование файловой системы;
- suid – разрешить выполнение программ с флагом suid от имени другого пользователя;
- nosuid – игнорировать флаг suid;
- owner – разрешить указанному пользователю монтировать устройство;
- ro – монтировать только для чтения;
- rw – монтировать для чтения и записи;
- users – разрешить монтирование любому пользователю;
- umask – установить права доступа к файлам и папкам на этом разделе;
- uid – задает владельца каталога, по умолчанию root;
- gid – задает группу владельца каталога.
После сохранения файла, достаточно выполнить команду
$ sudo mount -a
И все разделы указанные в файле /etc/fstab но не смонтированные на данный момент, будут смонтированы
Все статьи можно посмотреть на сайте или на Zen Yandex