Добавить в избранное | Сделать стартовой страницей

Большая Linux библиотека для пользователей OS Linux и ПО для нее
Есть что сказать? Нужен совет? Посети наш форум.




То, чего нет в LSK-help .

Описываемые тут команды не присутствут в help по очень простой причине - они относятся к области системного администрирования и требуют некоторого введения для тех, кто ранее с UNIX дела не имел. Управление файловыми системами. mount/umount Поднятие сетевых интерфейсов. ifconfig, route, netstat. Управление файловыми системами. mount/umount Q: После старта LSK "видит" только тот FAT-раздел, на который она устанавливалась. Можно ли получить доступ к другим разделам, возможно, не FAT? Конечно. Для этого сначала нужно уяснить, как обозначаются разделы винчестера в Linux. Мнемоника может показаться непривычной, но проста и логична. Первый IDE (а можно подключить и SCSI) диск у нас будет hda, второй - hdb и так далее (hdc...). Разделы на винчестере именуются так: основные - это с 1 по 4, расширенные - с 5 (6, 7 и так далее - сколько есть, у меня счет доходит до 11 :-). Причем для основных разделов важно понять, что номер зависит не от числа вообще, а от конкретной позиции в таблице MBR, где имеется место для 4 записей. Например, для MBR такого вида имеем: +----+------+-----+-----+-----+----+----+----+-------+ |Boot|System|Start|Begin|Begin|End |End |End |Size | |flag| Id | head| sec | cyl |head|sec |cyl |sec | +----+------+-----+-----+-----+----+----+----+-------+ | 0| 6| 1| 1| 0| 9| 17| 549| 93483| hda1 | 80| 83| 0| 1| 567| 9| 17| 868| 51340| hda2 | 0| 0| 0| 0| 0| 0| 0| 0| 0| hda3 | 0| 5| 0| 1| 550| 9| 17| 566| 2890| hda4 +----+------+-----+-----+-----+----+----+----+-------+ Т.е. ни флаг активной партиции, ни тот факт, что третья запись в таблице не заполнена, никак не нарушают нумерацию. Чтобы посмотреть на свой винчестер глазами Linux, достаточно сказать 'fdisk -l' (по-умолчанию будет показан первый диск, для второго и последующий надо указать параметр /dev/hdb и т.д.) Для того, чтобы продвинуться дальше, нужно сначала разобраться с очень специальными файлами - файлами устройств, которые находятся в каталоге /dev и про которые сказал нам fdisk (/dev/hda1, ...). Что же в них особенного? Ну, например, команда такого вида отправит файл filename на принтер: $ cat filename > /dev/lp1 $ Т.е. получается, что каждое доступное устройство присутствует как некий файл в каталоге /dev . Но, если мы туда заглянем, то окажеться, что файлов там что-то очень уж много. Явно больше, чем устройств в самом навороченном компьютере. В чем тут дело? Разобраться нам поможет команда такого вида: $ ls -l /dev/cua0 crw-rw-rw- 1 root uucp 5, 64 Nov 30 1998 /dev/cua0 $ Значит, это все-таки файл, но первый симол в первой колонке ('c' в crw-rw-rw-) как раз и показывает, что этот файл особенный: для обычных файлов первый символ '-', для каталогов 'd', а вот 'c' говорит системе о том, что cua0 - это символьное устройство (вроде консоли или последовательного порта) типа 5 с номером 64. Для блочных устройств (например, дисковых накопителей) первый символ 'b'. Таким образом, /dev - это что-то вроде телефонного справочника, в котором против каждой фамилии находятся некие загадочные (для пользователя, не ядра) номера. Сходство тем большее, что часть ядра, которая превращает запрос к устройству с именем, положим, /dev/tty в вызов драйвера консоли, так и называется - коммутатор, где тип устройства определяет выбор драйвера. Типы устройств пронумерованы, т.е. тип определяет номер строки во внутренней системной таблице установленных драйверов устройств. Номер устройства передается драйверу в качестве параметра, так как в ОС UNIX драйверы спроектированы в расчете на обслуживание нескольких устройств одного типа. Таким образом, в большом количестве файлов каталога /dev нет ничего странного - как и всякий справочник, он должен быть на все случаи. Если же чего всеж не хватает, то лекарство - mknode, которая создаст файл устройства с требуемыми именем и атрибутами. Вооружившись такой информацией, мы теперь смело можем воспользоваться командой mount. Монтирование и размонтирование. Для того, чтобы можно было использовать раздел на дисковом накопителе, его (точнее, файловую систему, которая расположена на нем) нужно смонтировать. Операция монтирования заключается в следующем: в корневой файловой системе выбирается некоторый существующий каталог, в данном примере - каталог /mnt. После выполнения монтирования выбранный каталог /mnt становится корневым каталогом добавленной файловой системы. Через этот каталог смонтированная файловая система подсоединяется как поддерево к общему дереву. При этом нет логической разницы между основной и монтированными файловыми системами. $ mount /dev/hda2 /mnt $ Команда mount требует двух аргументов. Первый - это имя файла устройства, соответствующее разделу, содержащему монтируемую файловую систему. Второй - это каталог, под которым будет смонтирована файловая система (еще это называется "mount point"). "Точка монтирования" (каталог) может быть не пустым, но он обязательно должен существовать. Файлы, которые находились в этом каталоге, никуда не исчезнут, а просто станут недоступны до отключения смонтированной файловой системы командой umount: $ umount /mnt $ Корневая директория монтируемой файловой системы появится вместо старого старого содержимого /mnt. Linux поддерживает файловые системы многих типов. Как пример, для монтирования MS-DOS дискеты используется следующая команда, где с помощью ключа -t указывается тип файловой системы (хотя современные ядра обычно самостоятельно определяют его, все же бывает нужно уточнить, к примеру, какую разновидность FAT вы имеете ввиду - vfat, umsdos или традиционный fat): $ mount -t msdos /dev/fd0 /floppy $ Чтобы выяснить, какие файловые системы поддерживаются в данный момент, нужно заглянуть в файл /proc/filesystems: $ cat /proc/filesystems ext2 msdos vfat nodev proc $ Почему я говорю в "данный момент"? Дело в том, что Linux поддерживает динамически загружаемые (и выгружаемые) драйверы - модули, в том числе и файловых систем. Например, для LSK можно загрузить драйвер NTFS и подключить ее (пока - только на чтение): $ cd /lib/modules $ insmod ntfs.o $ mount /dev/hda7 -t ntfs /mnt Если файловая система более не нужна, то она может быть размонтирована : $ umount /mnt $ Монтирование можно выполнять группой. Для этого служит файл /etc/fstab (описан далее) и ключ -a. Если монтируется устройство, такое как CD-ROM, то указывается ключ "только для чтения" ( -r). Монтирование и размонтирование требуют привилегий суперпользователя (по понятным причинам), но как быть простому пользователю, если ему нужно нечто на дискете? Есть несколько возможностей: Сообщить пользователю пароль для root. Понятно, что это не вариант. Использовать mtools, которые позволят работать с MS-DOS без монтирования диска. Перечислить такие разделы в /etc/fstab с соответствующими опциями. Например, так: /dev/fd0 /floppy msdos user,noauto 0 0 Здесь колонки: файл устройства для монтирования, каталог для того же, тип файловой системы, опции, частота backup, и порядок прохода для fsck; 0 - не делать проверки при запуске. noauto говорит, что при выполнении mount с ключом -a (auto) устройство реально смонтирвано не будет, но ВСЕГДА и ВСЕ смогут сделать это: $ mount /floppy $ Если нужен доступ к разным типам файловых систем, можно сделать так: /dev/fd0 /dosfloppy msdos user,noauto 0 0 /dev/fd0 /ext2floppy ext2 user,noauto 0 0
Обсудить данную тему на нашем форуме "Все о Linux"