Д. Колисниченко - Ubuntu 10. Краткое руководство пользователя
Если вы хотите заменить сменный носитель данных (флешку, дискету, компакт-диск), вам нужно сначала размонтировать файловую систему, затем извлечь носитель данных, установить новый и заново смонтировать файловую систему. В случае с флешкой о размонтировании должны помнить вы сами, поскольку при этом выполняется синхронизация буферов ввода/вывода и файловой системы, т. е. данные физически записываются на носитель, если это еще не было сделано. А компакт-диск система не разрешит вам извлечь, если он не размонтирован. В свою очередь, размонтировать файловую систему можно только, когда ни один процесс ее не использует.
При завершении работы системы (перезагрузке, выключении компьютера) размонтирование всех файловых систем выполняется автоматически.
Команда монтирования выглядит так:
# mount [опции] <устройство> <точка монтирования>
Точка монтирования — это каталог, через который будет осуществляться доступ к монтируемой файловой системе. Например, если вы подмонтирова-ли компакт-диск к каталогу /mnt/cdrom, то получить доступ к файлам и каталогам, записанным на компакт-диске, можно будет через точку монтирования (каталог /mnt/cdrom). Точкой монтирования может быть любой каталог корневой файловой системы, хоть /aaa-111. Главное, чтобы этот каталог существовал на момент монтирования файловой системы.
ПримечаниеУчитывая, что система монтирует сменные носители автоматически, вам не придется заниматься монтированием вручную, так что весь приведенный здесь материал, посвященный команде mount, нужен вам только для общего развития. Можно было бы даже даже не включать его в книгу, но кому была бы нужна тогда такая поверхностная книга по Linux? Ведь использовать графический файловый менеджер Nautilus может даже ребенок, а вы тем более разберетесь с ним без всяких осложнений. Зато теперь вы узнаете, как осуществляется монтирование носителей в Linux. А эти знания пригодятся вам при работе с любым дистрибутивом Linux, а не только с Ubuntu.
5.11.2. Файлы устройств
Отдельного разговора заслуживают файлы устройств. Для Linux нет разницы между устройством и файлом. Все устройства системы представлены в корневой файловой системе в виде обычных файлов. Как уже упоминалось, файлы устройств хранятся в каталоге /dev. Например, /dev/fd0 — это ваш дисковод для гибких дисков, /dev/sr0 — привод CD/DVD, /dev/sda — жесткий диск, /dev/sdb — второй жесткий диск или флешка.
Жесткие дискиСначала разберемся с жесткими дисками. Как уже было отмечено, в современных версиях дистрибутивов все жесткие диски (ATA/SATA/SCSI) называются /dev/sdx, где x — буква, определяющая порядок подключения диска к контроллеру.
Жесткий диск часто разбивают на несколько логических дисков, или разделов. Каждый раздел — это отдельная файловая система. И каждый из разделов может быть отформатирован под свою собственную файловую систему (FAT, NTFS, ext4 и др.). Разделы именуются так: сначала идет название диска (например, /dev/sda), а затем следует номер раздела, например, /dev/sda1.
Узнать номер раздела очень просто — достаточно запустить терминал и ввести команду sudo fdisk -1. Просмотреть список смонтированных файловых систем можно на вкладке Файловые системы приложения Системный монитор (Система | Администрирование | Системный монитор). На рис. 5.6 изображены вкладка Файловые системы и вывод команды sudo fdisk -1.
Более подробную информацию о смонтированных файловых системах можно получить, просмотрев файл /etc/mtab, куда эти сведения и заносятся. Разница огромна, ведь в mtab содержатся сведения также и о виртуальных псевдофайловых системах (например, о /proc и /sys).
ПримечаниеОбычному пользователю файловые системы proc и /sys нужны редко, поэтому они и не отображаются на вкладке Файловые системы. В данной книге файловая система /proc рассматриваться не будет.
Если вы хотите больше узнать о файловой системе Linux, настоятельно рекомендую прочитать мою книгу «Linux. От новичка к профессионалу» (http://bhv.ru/books/book.php?id=186944).
Приводы оптических дисковФайл устройства для чтения CD- или DVD-дисков называется /dev/srN (или /dev/scdN), где N — номер устройства. Если компьютер оборудован всего одним оптическим устройством, то оно будет называться /dev/sr0 (или /dev/scd0). Когда система видит, что устройство является приводом CD-ROM, то автоматически создается ссылка /dev/cdrom. А если ваш привод умеет читать и DVD-диски, то появится еще одна ссылка — /dev/dvd. Монтирование привода для чтения оптических дисков осуществляется вводом одной из трех команд:
sudo mount /dev/sr0 /mnt/cdrom
sudo mount /dev/cdrom /mnt/cdrom
sudo mount /dev/dvd /mnt/cdrom
После этого обратиться к файлам, записанным на диске, можно будет через каталог /mnt/cdrom. Напомню, что этот каталог должен существовать.
ПримечаниеПриведенные здесь команды монтирования оптических приводов — более теория, нежели практика, поскольку сменные носители (CD/DVD- и USB-диски) в Ubuntu монтируются автоматически.
Обратите внимание — чуть ранее (см. разд. 5.4) было сказано, что есть некий каталог /cdrom, который не используется, а оптические диски монтируются к каталогу /media/<ID> (где ID — идентификатор монтируемого диска).
Здесь же я показываю монтирование дисков к каталогу /mnt/cdrom. Достаточно, чтобы окончательно запутаться, не правда ли? Но все это я сделал намеренно. Linux — система многогранная, и полиморфизм (решение одной и той же задачи различными способами) для нее норма. Проще, конечно, было бы вовсе не упоминать про каталог /cdrom, а работать только с каталогом /media, однако это вызвало бы еще большую путаницу. Теперь пришло время разложить все по полочкам:
□ каталог /cdrom и вправду не используется, зачем он создан, я не знаю, может, перекочевал из Debian, где он в свое время использовался, может, остался по соображениям безопасности;
□ когда система автоматически монтирует диск, то он, действительно, монтируется к каталогу /media/<ID>. В этом случае система все сделает за вас, вам останется только щелкнуть на пиктограмме диска на рабочем столе GNOME;
□ а вот когда вы монтируете диск вручную, то можете подмонтировать его к любому каталогу: хоть к /mnt/cdrom, хоть к /cdrom, хоть к /abcd — лишь бы этот каталог существовал.
ДискетыАналогичная ситуация и с дискетами. В системе может быть установлено два дисковода для дискет: первый (/dev/fd0) и второй (/dev/fd1). Для их монтирования можно задать команды:
sudo mount /dev/fd0 /mnt/floppy
sudo mount /dev/fd1 /mnt/floppy
Напомню, что в Windows-терминологии устройство /dev/fd0 — это диск A:, а устройство /dev/fd1 — диск B:.
Флешки и USB-дискиФлешки и USB-диски в системе отображаются как обычные жесткие диски, имена у них такие же (/dev/sdx). Например, если у вас всего один жесткий диск (его имя /dev/sda) и вы подключили к компьютеру флешку, то ее имя будет /dev/sdb. Подмонтировать флешку (вот только зачем? — не забываем об автоматическом монтировании) можно так:
sudo mount /dev/sdb /mnt/usb
Перед физическим извлечением флешки и USB-винчестера (особенно винчестера, учитывая его физическое устройство) необходимо щелкнуть на значке флешки на рабочем столе и выбрать команду Безопасно отключить носитель (рис. 5.7).
5.11.3. Примеры использования команды mount
Теперь, когда мы знаем номер раздела, можно его подмонтировать. В общем случае сначала командой mkdir создается точка монтирования (каталог, куда будет монтироваться раздел):
sudo mkdir <точка монтирования>
Затем к этой точке командой mount монтируется раздел:
sudo mount <раздел> <точка монтирования>
Например:
sudo mkdir /mnt/win_d
sudo mount /dev/sda5 /mnt/win_d
У команды mount довольно много опций, но на практике наиболее часто применяются только некоторые из них: — t, — r, -w, -a.
□ Опция — t позволяет явно задать тип файловой системы. Обычно программа mount сама определяет файловую систему, но иногда это у нее не получается. Тогда мы должны ей помочь. Формат этой опции следующий:
mount — t <файловая система> <устройство> <точка монтирования>
Например,
mount — t iso9660 /dev/hdc /mnt/cdrom
Вот наиболее популярные файловые системы:
• ext2, ext3 или ext4 — файловая система Linux;
• iso9660 — указывается при монтировании CD-ROM;
• vfat — FAT, FAT32 (поддерживается Windows 9x, ME, XP);