Содержание
Немного теории
- Если вы раньше использовали ОС Windows, то вы, скорее всего, привыкли к дискам с именами (C:), (D:) и т.д. В ОС Ubuntu Linux все иначе. Если в Windows для каждого раздела винчестера, CD-привода, флешки или картридера, назначалась определенная буква, к примеру (E:), то в Linux содержимое всех подключаемых и внутренних дисков отображается в виде папок, которые монтируются (подключаются) в корень файловой системы (/) По началу это может показаться очень неудобным, но при постепенном осваивании системы Linux, вы поймете что так правильней и даже удобней.
- Список всех смонтированных устройств можно узнать командой mount
- На данный момент Ubuntu Linux выполняет автоматическое монтирование всех обнаруженных подключаемых устройств (внешние винчестеры, флешки, фотоаппараты и т.д.) в корень файловой системы в директорию /media/. Например, если вы вставите флешку с меткой «Flash_card», то система смонтирует ее в каталог /media/Flash_card. В любом случае вам не надо задумываться куда и как монтировать внешние носители, т.к. они автоматически становятся доступны на панели рабочего стола в меню «Переход».
Способы монтирования
Способ 1: монтирование через универсально уникальный идентификатор (UUID)
UUID - это атрибут конкретной файловой системы, а не произвольное число, зависящее от физического порядка подключения дисков или случайностей инициализации дисковой подсистемы ядром.
Узнаем UUID разделов, для этого
- в терминале выполняем команду:
sudo blkid
/dev/sda1: UUID="00a4ad8e-dbcc-4c32-a0b4-074b5ee2bfb4" TYPE="ext4" /dev/sda2: LABEL="Win7" UUID="0E42D6D242D6BE21" TYPE="ntfs" /dev/sda3: LABEL="Shared" UUID="7ECCC7F5CCC7A62D" TYPE="ntfs" /dev/sda4: UUID="1050e484-896f-42a9-bdb3-49eb1255cc77" TYPE="swap" /dev/sr0: LABEL="DrWebLiveCD" TYPE="iso9660" /dev/sdb1: LABEL="TRENDNET8GB" UUID="355B-FE37" TYPE="vfat"
Предположим, мы хотим подключить раздел «Shared» (NTFS-раздел, находящийся на основном диске компьютера) и «TRENDNET8GB» (флэшка, отформатированная в FAT32).
- Создаём каталоги для монтирования:
sudo mkdir /mnt/Shared /mnt/TrendNet8Gb
- Открываем от имени администратора файл /etc/fstab, содержащий информацию о всех монтируемых при загрузке разделах:
sudo nano /etc/fstab
- Добавляем в конец файла,
для NTFS:UUID="7ECCC7F5CCC7A62D" /mnt/Shared ntfs rw,nls=utf8,gid=plugdev,umask=0002 0 0
для FAT и FAT32:UUID="355B-FE37" /mnt/TrendNet8Gb vfat rw,exec,codepage=866,nls=utf8,gid=plugdev,umask=0002,nofail,users 0 0
- Монтируем только что вписанные разделы диска:
sudo mount -a
Способ 2: монтирование через имена устройств
Считается устаревшим и строго не рекомендуется к постоянному использованию.
Единственным заметным плюсом является небольшая длина имён устройств, что удобно при прямой работе с консолью. Например, во время реанимации умершей системы.
- Узнаём имена разделов. Для этого можно, опять же, воспользоваться командой blkid, либо обратиться к помощи системы:
cat /proc/partitions
# cat /proc/partitions major minor #blocks name 8 0 488386584 sda 8 1 20971520 sda1 8 2 2097152 sda2 8 3 464519168 sda3 8 16 488386584 sdb 8 17 20971520 sdb1 8 18 2097152 sdb2 8 19 464519168 sdb3 9 1 10538496 md1 9 0 6289344 md0
Разделы, оканчивающиеся цифрой - файловые системы. Разделы без цифры на конце - реальные физические устройства. В данном примере участвуют два физических диска (/dev/sda и /dev/sdb) и два рейд-массива (по сути - две файловые системы, не привязанные напрямую к какому-то одному физическому носителю).
Пример вывода команды fdisk (вывод parted отличается очень незначительно):
# fdisk -u -l /dev/sd? Disk /dev/sda: 500.1 GB, 500107862016 bytes 255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors Units = sectors of 1 * 512 = 512 bytes Disk identifier: 0x8543ab30 Device Boot Start End Blocks Id System /dev/sda1 * 2048 41945087 20971520 83 Linux /dev/sda2 41945088 46139391 2097152 83 Linux /dev/sda3 46139392 975177727 464519168 83 Linux Disk /dev/sdb: 500.1 GB, 500107862016 bytes 255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors Units = sectors of 1 * 512 = 512 bytes Disk identifier: 0x84a90046 Device Boot Start End Blocks Id System /dev/sdb1 * 2048 41945087 20971520 83 Linux /dev/sdb2 41945088 46139391 2097152 83 Linux /dev/sdb3 46139392 975177727 464519168 83 Linux
Попробуем достучаться до массива md0.
- Как и прежде, создаём каталог для монтирования файловой системы:
sudo mkdir /mnt/raid0
- Предположим, мы не знаем, какая файловая система на диске. К счастью, в большинстве случаев вполне можно положиться на автоматическое определение системы.
$ sudo mount /dev/md0 /mnt/raid0 -t auto -o rw,nls=utf8,noatime $ mount .... /dev/md0 on /mnt/raid0 type ext3 (rw,noatime,nls=utf8)
Дополнительная информация
Я не стал загружать основной текст статьи расшифровкой опций монтирования, но несколько слов пояснения сказать необходимо.
- rw (read-write, чтение-запись) - файловая система будет подключена с возможностью записи на неё пользователями.
- exec - все файлы на подключемой системе будут считаться исполнимыми, если система не поддерживает других механизмов указания исполнимости файла. Альтернативно, noexec запрещает исполнение любых бинарных файлов вообще.
- codepage=866 - указывает, какую кодировку использовать для трансляции имён файлов на файловой системе. Кириллическая русская кодовая страница для файловой системы FAT - 866. Длинные имена на файловой системе (VFAT) сохраняются в уникоде, реально эта настройка нужна только для дисков, записанных на отличных от Windows системах, не поддерживающих соглашения VFAT.
- nls=utf8 - указывает модулю файловой системы, какую кодировку использовать при передаче данных системе (и пользователю). Старое название этой опции - iocharset использовать запрещено - она будет удалена в следующих версиях программы.
FS <=charset=> OS <=nls=> Applications <=> Operator
- uid (gid) - указывает, какой пользователь (группа) будет владеть точкой подключения (и файлами на ней, если нет других способов определить владельца). gid=plugdev указывает, что все пользователи в группе 46(plugdev) могут обращаться к этому устройству. Локальные пользователи в Ubuntu обычно входят в эту группу.
- umask=0002 - подробности смотрите в __man chmod__
- nofail - если указанный том недоступен в момент загрузки, это не создаст ошибок и загрузка нормально продолжится.
Внимание: настольная (desktop) версия Ubuntu всё равно выдаст предупреждение и будет ждать ввода пользователя. - users - допускает монтирование и размонтирование устройства обычными пользователями, причём, в отличие от user, размонтировать устройство может любой пользователь, не обязательно тот, что его монтировал.
Донастройка системы
Теперь диски стали подключаться автоматически, но так как это делается от имени root, у нас пропала возможность на подключенных дисках давать права на общий доступ, чтобы восстановить эту возможность добавим настройку в Samba:
sudo gedit /etc/samba/smb.conf
добавим в секцию [global]:
usershare owner only = false