Руководство начинающего пользователя Linux.
(Оно же "Руководство новичка - администратора Linux",
оно же - "Linux Newbie Administrator Guide" или просто LNAG).

Версия 0.193 2002-12-14 by Stan, Peter and Marie Klimas.
Оригинал на английском языке находится по адресу http://sunsite.dk/linux-newbie.
Updated: 1.02.03. Переведено - ~77 %. Текст еще не прошёл литературную обработку :).
Все комментарии / исправления / сообщения по поводу перевода принимаются на [email protected].

Copyright (c) <1999-2002> Peter and Stan Klimas. Your feedback, comments, corrections, and improvements are appreciated. Send them to [email protected]. This material may be distributed only subject to the terms and conditions set forth in the Open Publication License, v1.0, 8 or later http://opencontent.org/openpub/ with the modification noted in lnag_licence.html.

Главная | 0. Преимущества Linux | 1. Перед установкой | 2. Помощь | 3. Основы работы | 4.1. Способы загрузки
4.2. Накопители | 4.3. X Window System | 4.4. Конфигурации | 4.5. Работа в сети | 5. Команды | 6. Программы

Часть 4.2: Обращение к жестким дискам. Перевод - Константин Фирсов.
[переведено полностью]
Содержание этой главы:
   4.2.1 Где мои диски?
   4.2.2 Как мне обратиться к моему CDROM?
   4.2.3 Как смонтировать дискету, zip-диск, dos-раздел, или сетевой диск?
   4.2.4 Как смонтировать удаленную файловую систему MS Windows через Samba?
   4.2.5 Как бы попроще прочитать файл с дискеты DOS/Windows?
   4.2.6 Монтрование возможно, если я суперпользователь(root). Может ли обычный пользователь монтировать?
   4.2.7 Команда монтирования такая длинная, как мне упростить ее с использованием псевдонимов?
   4.2.8 Могу ли я монтировать автоматически?
   4.2.9 Как мне добиться распознания моего zip-диска?
   4.2.10 Могу ли я установить 32-битный ввод/вывод для жесткого диска?
   4.2.11 Я достиг предельного числа одновременно открытых файлов(сообщение об ошибке)
   4.2.12 Я присоединил новый жесткий диск. Как мне начать его использовать?
  4.2.13  Пространство свопинга(Swap space)
     4.2.13.1 Раздел свопинга(Swap partitions)
     4.2.13.2 Файлы свопинга(Swap files)

4.2.1 Где мои диски?

Linux показывает все директории в одном дереве директорий, независимо от того, какие диски (или другие устройства) он определил в системе. В целом, это - гораздо более удачное решение, чем традиционная DOS / Windows модель, потому что это совершенно абстрагирует файловую систему от соответствующей аппаратуры. Вы еще оцените это, если вам придется изменять или расширять свое "железо" или добавлять сетевые ресурсы. Но для пользователей, приученных к DOS-методу обращения с дисками, это вызывает некоторые сложности.

Короче говоря, не ищите буквы дисков. В Linux их просто нет, потому что содержимое ваших дисков расположено в поддиректориях единой файловой системы Linux (в дереве поддиректорий). По умолчанию содержимое сменных носителей не появляется в дереве поддиректорий автоматически -- вы должны "монтировать" ваши диски. Подробности смотрите далее. Кроме того, вы должны "демонтировать" диск перед его физическим устранением (eject).

Вы можете обращаться (для чтения или записи) к разнообразным устройствам и файловым системам из Linux. Это могут быть и "родные" Linux-разделы, DOS и MS Windows разделы (на жестких дисках или дискетах), ZIP- и Jazz- устройства, CDROM диски. Многие другие сколь-либо распространенные файловые системы так же поддерживаются Linux. Это означает, что вы можете скачать программу для Linux, используя Netscape для Windows, сохранить скачанные файлы на жестком диске в разделе MS Windows, и, загрузив Linux, установить программу для Linux из Windows-раздела.

4.2.2 Как мне обратиться к моему CDROM?

Смонтируйте его. Монтирование добавит все директории и файлы с вашего CD к вашему дереву директорий Linux, так что вы сможете использовать их без использования буквы диска.

Как суперпользователь(root), вы можете монтировать CDROM с помощью команды, похожей на эту:

mount -t auto /dev/cdrom /mnt/cdrom

Если это сработает, содержимое вашего CD возникнет в директории /mnt/cdrom.

Если это не сработает -- команду придется слегка подстроить. Вот как она работает.

Эта команда говорит операционной системе смонтировать файловую систему, предлагая определить ее тип самостоятельно ("-t auto"). Устройство называется: /dev/cdrom. Точка монтирования (Директория, куда оно монтируется): /mnt/cdrom. Эта директория должна существовать и быть пустой. Если ее нет, создайте ее командой:

mkdir /mnt/cdrom

Если команда монтирования не сработала, то, может быть, устройства /dev/cdrom нет в вашей системе. Попробуйте

ls -l /dev/cdrom

 /dev/cdrom - это просто общепринятая символьная ссылка на реальное устройство.  На IDE-системах, ваш CD-ROM может оказаться, например, на /dev/hdb.  В таком случае, попробуйте /dev/hdb вместо /dev/cdrom в команде mount:

mount -t auto /dev/hdb /mnt/cdrom

Так же следует попробовать /dev/hdc или /dev/hdd, если ваш CD это IDE CDROM на втором IDE- шлейфе. Если и это не поможет, вспомните - может быть у вас не IDE, а SCSI CDROM? Тогда попробуйте /dev/sda, /dev/sr0, etc.

Короткий список возможных имен устройств:
hda -- Основной(master) диск на IDE-шлейфе (Это всегда ваш первый диск)
hdb -- Второй(slave) диск на первом IDE-шлейфе (Вы должны иметь как минимум два жестких диска для этого)
hdc -- Основной(master) диск на втором IDE-шлейфе (если у вас два IDE-шлейфа в вашем компьютере, у многих современных компьютеров он есть)
hdd -- Второй(slave) диск на втором IDE-шлейфе (опять же, если есть)
sda   -- Первый SCSI-диск
sdb -- Второй scsi диск ("sdc" третий scsi диск, и т.д.(по латинскому алфавиту). В системе может быть много scsi-дисков).
sr0  -- Первый scsi-CDROM (иногда называется scd0)
sr1 --Второй scsi-CDROM (иногда называется scd1),  (sr2 -третий scsi CDROM, и т.д. В системе может быть много scsi CD).

По-моему, неплохо придумано использовать /dev/cdrom в любом случае, поскольку некоторые программы считают, что он есть. Если же в вашей системе его нет, вы можете создать символьную ссылку, используя, например:

ln -s /dev/hdb /dev/cdrom

если ваш CDROM - это диск /dev/hdb.

Если вы не можете смонтировать из-за ошибки "Устройство уже смонтировано или директория занята (the device is already mounted or directory busy)", то, может быть, точка монтирования /mnt/cdrom - это текущая директория. Вы должны сменить текущую директорию на любую другую, чтобы иметь возможность монтировать в ней. Например, смените текущую директорию на корневую(root) командой:

cd /

Для демонтирования смонтированного CD, покиньте директорию /mnt/cdrom и напечатайте как суперпользователь(root):

umount /mnt/cdrom

Ваш CDROM может отказаться выдвинуть диск, если он не был демонтирован. Кроме того, у вас могут быть проблемы с монтированием следующего CD, если предыдущий не был демонтирован. Если демонтирование не удалось по ошибке: "Устройство занято (the device is busy)", то, может быть, /mnt/cdrom (или какая-нибудь его поддиректория) является текущей? Вам необходимо сменить текущую директорию на какую-нибудь другую в случае демонтирования устройства.

4.2.3 Как смонтировать дискету, zip-диск, DOS/Windows-раздел, или сетевой диск?

Почти так же, как CDROM -- посмотрите прошлый ответ, если вы этого еще не сделали.

Дискета. Я могу монтировать дискету, как суперпользователь(root), с помощью команды:

mount -t auto /dev/fd0 /mnt/floppy

Еще раз убедитесь, что директория /mnt/floppy существует и пуста. И еще - /mnt/floppy/ не должна быть текущей.

После успешного монтирования файлы с дискеты появятся в директории /mnt/floppy/ . Все пользователи получат возможность читать файлы с дискеты, но только суперпользователь(root) получит возможность изменять и удалять файлы. О том, как сделать файлы на дискете доступными для записи всем пользователям, смотрите далее.

Для демонтирования дискеты (Вы *должны* сделать это перед тем, как извлечете диск из дисковода!) используйте:

umount /mnt/floppy

Если вы не смогли демонтировать, потому что "Устройство занято(the device is busy)", может /mnt/floppy/ - текущая директория? Покиньте ее, напечатав (например):

cd

это изменит текущую директорию на домашнюю.

Zip-диск.  Я монтирую внешний zip-дисковод к параллельному порту (эмуляция scsi) командой:

mount -t vfat /dev/sda4 /mnt/zipdrive

Флаг "-t vfat" используется здесь, поскольку zip диск был форматирован в файловой системе vfat, которая является файловой системой MS Windows с поддержкой длинных имен. вы не должны извлекать диск из дисковода без его демонтирования.  Снова, директория должна существовать, быть пустой, и не должна быть вашей текущей директорией (см. предыдущий вопрос).

Я могу монтировать внутренний IDE-ZIP дисковод:

mount -t vfat /dev/hdd4 /mnt/zipdrive

В моей системе, это второй диск на втором IDE интерфейсе, следовательно - это "hdd" -- замените его на "hdb" или "hdc", если это необходимо для вашей системы.

Совет от Альваро Регули <[email protected]>.  "У меня ATAPI Zip дисковод, распознаваемый как ATAPI Floppy. Для того, чтобы он заработал под Debian с ядром 2.4.3, мне пришлось переключить установки BIOS с "Autodetect" на "None" (только для Zip-канала, разумеется), и монтировать, используя

mount -t vfat /dev/hdb

(без хвостовой 4!)"

Все zip-дисководы (Внутренние SCSI и IDE, внешние SCSI и параллельного порта), кроме USB, поддерживаются Linux (на апрель 1999). Смотрите далее в этой главе информацию о том, как загрузить модуль (драйвер) для zip-дисковода, если он не загрузился автоматически в вашей системе.

DOS/Windows раздел. Я использую систему с двойной загрузкой Linux и MS Windows на своем компьютере. Я могу работать с файлами DOS/Windows раздела после его монтирования следующей командой:

mount -t vfat /dev/hda1 /mnt/dosdrive

Снова, вы можете настроить эту команду в зависимости от того, на каком разделе находится файловая система DOS. Параметр "hda1" значит жесткий диск IDE (hda), первый раздел (1); "hda2" - это первый жесткий диск IDE, второй раздел; "hda3" -- первый жесткий диск IDE, третий раздел; "hdb1" -- второй жесткий диск IDE, первый раздел (или просто "hdb". Если это CDROM, установленный как второй(slave) на вашем втором IDE шлейфе). "hdc" это третий IDE-диск, hdd - это четвертый IDE-диск. SCSI диски имеют аналогичные имена, но начинающиеся с "sd", следующая за ними буква оперделяет SCSI-интерфейс, следующий за ней номер - идентификатор SCSI устройства. Например, sda4 означает "первый SCSI-интерфейс, идентификационный номер 4".

Для монтирования диска, как общедоступного для всех пользователей, попробуйте:

mount -t vfat -o user,rw,exec,umask=000 /dev/hda1 /mnt/dosdrive

Здесь используются параметры (-o user,rw,exec,umask=000), дающие абсолютно всем полный доступ к разделу DOS /dev/hda1 (можете спросить себя, действительно ли это безопасно для вашей системы). Если пользователи не должны иметь возможность записи в раздел DOS, возможно, что должны быть установлены права доступа к вашей точке монтирования. Эта команда (исполненная суперпользователем(root)) устанавливает права доступа к точке монтирования /mnt/dosdrive так что все пользователи получают права чтения, записи и выполнения:

chmod a=rwx /mnt/dosdrive

Сетевая файловая система (NFS). Она хорошо подходит для прямого обращения к файлам, расположенным на другом компьютере с Linux. Для монтирования удаленной файловой системы как NFS, во-первых, проверьте, разрешена ли служба NFS (используйте программу setup). NFS, кроме этого, требует наличия разрешения от другого компьютера. Для конфигурирования доступа со стороны машины-сервера, попробуйте как суперпользователь(root):

netconf

и настройте установки в пункте меню "Экспортируемые файловые системы(Exported File Systems)".

Если вы предпочитаете делать это вручную, то установки доступа хранятся в файле /etc/exports . Мой /etc/exports выглядит примерно так:

/usr hacker(ro) mars(ro)
/home hacker(rw) mars(rw)
/mnt hacker(rw) mars(rw)

Это дает право машинам с именами hacker и mars монтировать директории /usr/ (только для чтения), /home и /mnt (чтение-запись).

Если вы установили NFS правильно, то сможете монтировать сетевые диски вот такой командной строкой:

mount -t nfs mars:/home /mnt/mars_home

Это монтирует содержимое директории /home/ на машине "mars" в директорию /mnt/mars_home/ (которая должна существовать и быть пустой).

С NFS могут работать многие операционные системы, но только не MS Windows. Поэтому удаленные директории MS Windows надо монтировать по-другому. Смотрите далее.

4.2.4 Как смонтировать удаленную файловую систему MS Windows через Samba?

Удаленная файловая система MS Windows может быть монтирована к файловой системе Linux через протокол Samba (Samba должна быть установлена, смотрите здесь, если это не так). Напечатайте команду (как суперпользователь(root)):

smbmount //mars/windows /mnt/mars_windows -c marie

Это монтирует MS Windows ресурс windows, расположенный на машине mars с операционной системой MS Windows. Точка монтирования на компьютере-клиенте: /mnt/mars_windows/ . Параметр "-c" заявляет, что samba-сервер - это машина marie (это может быть не обязательно, но так сделано в моей системе).

Для того чтобы это сработало, соответствующие права на расделение доступа к директории или диску должны быть предоставлены машиной с MS Windows. Для этого, на машине с MS Windows, разрешите разделение файлов в разделе "Панель управления(control panel)-сеть(network)", запустив "Windows Explorer", щелкнув правой кнопкой мыши на директории или диске, щелкните "свойства", потом - закладка "доступ(sharing)", дайте себе необходимые права, а ресурсу - имя.

Чтобы демонтировать ресурс MS Windows, используйте:

smbumount /mnt/mars_windows

Если не получится, смотрите:

man smbmount

4.2.5 Как бы попроще прочитать файл с дискеты DOS/Windows?

Использование "mtools" не требует монтирования. Например, я могу использовать команду mdir для быстрого просмотра корневой директории моей DOS-дискеты:

mdir a:\

Еще я могу использовать mcopy для копирования "autoexec.bat" из корневого каталога моей дискеты в текущую директорию Linux:

mcopy a:\autoexec.bat

Вы должны быть суперпользователем, чтобы иметь право записи на дискету.

Напечатайте "mtools", чтобы увидеть список команд mtools, которые дублируют популярные команды DOS (например: mformat, mtype, mren, mmove, mdel, mrd, mattrib, ...), и если будут проблемы - обращайтесь к man-страницам. например:

man mtype

покажет мне, как просмотреть содержимое текстового файла в разделе DOS.

Для обращения к устройствам DOS, отличным от a: или b:, вы должны конфигурировать mtools, чтобы показать, какие устройства ассоциированы с другими "буквами дисков" DOS . Это совсем просто -- вы должны настроить файл /etc/mtools.conf . Я обычно использую pico, чтобы делать это (как суперпользователь(root)):

pico /etc/mtools.conf

Например, мой /etc/mtools содержит такие строки:

drive c: file="/dev/hda1"

здесь устанавливается что раздел "/dev/hda1" будет называться "c:". Установки /etc/mtools.conf нужно только раскомментировать (удалив "#" в начале строки) и поправить необходимые параметры.

4.2.6 Монтрование возможно, если я суперпользователь(root). Может ли обычный пользователь совершать операцию монтирования?

Вам следует отредактировать файл /etc/fstab как root, чтобы дать нормальному пользователю права на монтирование конкретного устройства. Например, я могу использовать для этого текстовый редактор pico:

pico -w /etc/fstab

Параметр "-w" отключает перенос длинных строк.

Вот содержимое моего /etc/fstab:

/dev/hda2 / ext2 defaults 1 1
/dev/hdc3 /home ext2 defaults 1 2
/dev/hdc2 /usr ext2 defaults 1 2
/dev/hdc4 swap swap defaults 0 0
/dev/fd0 /mnt/floppy auto noauto,users,rw 0 0
/dev/cdrom /mnt/cdrom auto noauto,user,ro 0 0
/dev/sda4 /mnt/zipdrive vfat noauto,user,rw,exec 0 0
/dev/hda1 /mnt/dosdrive vfat noauto,user,rw 0 0
none /proc proc defaults 0 0
hacker:/mnt/cdrom /mnt/hacker_cdrom nfs noauto,user,ro 0 0
hacker:/mnt/floppy /mnt/hacker_floppy nfs noauto,user,rw 0 0
hacker:/home /mnt/hacker_home nfs noauto,user,rw 0 0
hacker:/usr /mnt/hacker_usr nfs noauto,user,rw 0 0

Каждая строка содержит шесть полей, разделенных пробелами. Первое поле - это имя устройства. Второе поле - точка монтирования (существующая и пустая директория в вашей системе Linux, к которой ресурс должен быть монтирован). Третье - тип файловой системы.  Для сменных устройств, тип которых заранее неизвестен, я использую параметр "auto", позволяя Linux самостоятельно разбираться, с какой файловой системой она имеет дело. (Порядок, в котором будет производиться автоопределение, определяется содержимым файла /etc/filesystems . вы можете захотеть удостовериться, что "vfat" определяется перед "msdos" или длинные имена файлов DOS могут оказаться обрезанными.) Четвертое поле содержит: "auto" = монтировать при запуске системы; "rw" = разрешены чтение и запись; "ro" = только чтение, "user" = пользователь может монтировать эту файловую систему (может быть также "users", что позволяет демонтировать систему не тому пользователю, который ее монтировал), "exec" позволяет выполнять программы из этой файловой системы. Число в поле 5 определяет, будет ли файловая система подвергнута резервному копированию во время резервного копирования системы, число в поле 6 определяет, будет ли производиться проверка целостности файловой системы во время загрузки. Часть моего файла /etc/fstab - это файловые системы на другом компьютере (называемом "hacker") в моей домашней сети, здесь он служит примером монтирования сетевого ресурса. Смотрите man fstab для более полной информации.

Например, если обычные (regular, non-root) пользователи имеют право монтировать cdrom (параметр "user" указан), они могут монтировать его примерно такой командой:

mount /mnt/cdrom

Команда, которой монтирует суперпользователь (смотрите здесь), не будет работать для обычного пользователя поскольку обычный пользователь ограничен параметрами, указанными в /etc/fstab и, следовательно, не может устанавливать совместно и устройство и точку монтирования.

Для обычного пользователя право на запись и исполнение для монтируемого диска также ограничивается его правами доступа к директории - точке монтирования. Например, это дает всем пользователям все права (чтение, запись, выполнение) на директорию /mnt/floppy :

chmod a+rwx /mnt/floppy

Сейчас (если еще и параметр "rw" указан для дискеты(floppy) в /etc/fstab) пользователь получает возможность записи на дискету. Если параметр "exec" указан в /etc/fstab, пользователь может так же выполнять программы с дискеты.

Заметьте, пожалуйста, что файловая система DOS vfat не знает ничего о правах доступа к файлам, в том смысле, в котором рассматривает их Linux. Linux управляет ими в процессе монтирования, придавая значение прав доступа, установленное в fstab всей монтируемой файловой системе: пользователь, монтировавший файловую систему, становится владельцем(owner) всех файлов и получает права записи во все файлы файловой системы (Если "rw" указана в fstab), но другие пользователи могут только читать.  Если вам не нравится такое поведение, вам следует указать параметр "umask=" так, чтобы соответствующая строка вашего /etc/fstab была примерно такой:

/dev/sda4 /mnt/zipdrive vfat noauto,users,rw,exec,umask=000 0 0

Это дает абсолютно всем абсолютно все права на использование zip-диска (монтирование, демонтирование, чтение, запись, выполнение).

Файл /etc/fstab - это то место, где хранятся значения по умолчанию для всех параметров монтирования файловых систем. Вы можете настроить их для упрощения процедуры монтирования  Схема монтирования в Linux, используемая по умолчанию, несет много ограничений для повышения безопасности, и вы можете захотеть снять некоторые запреты при установке Linux на домашнем компьютере.

4.2.7 Команда монтирования такая длинная, как мне упростить ее с использованием псевдонимов?

Псевдонимы(alias) - это аббревиатуры наиболее длинных и часто встречающихся команд.  Для создания псевдонимов я, как "root", редактирую /etc/bashrc . Этот способ создания псевдонимов доступен для всех пользователей системы. (Для создания псевдонимов, специфичных для конкретных пользователей редактируется .bashrc в домашней директории пользователя.) Значимая часть моего /etc/bashrc выглядит примерно так:

alias cdrom="mount -v /mnt/cdrom"
alias ucdrom="umount -v /mnt/cdrom"
alias dosdrive="mount -v /mnt/dosdrive"
alias udosdrive="umount -v /mnt/dosdrive"
alias zipdrive="mount -v /mnt/zipdrive"
alias uzipdrive="umount -v /mnt/zipdrive"
alias floppy="mount -v /mnt/floppy"
alias ufloppy="umount -v /mnt/floppy"

Параметр "-v" стоит для "(болтливости) verbose", т.е., я прошу Linux рассказать мне побольше о процессе монтирования. Для того, чтобы псевдонимы заработали, пользователю необходимо выйти из системы и снова войти. После этого он сможет монтировать дискету вот так:

floppy

и демонтировать при помощи:

ufloppy

4.2.8 Могу ли я монтировать автоматически?

Да, вы можете автоматически монтировать файловые системы при обращении к ним и демонтировать, когда вы прекращаете их использовать.  Это работает так, как вы привыкли в MS Windows. Однако, если вы часто работали со сменными носителями под DOS и MS Windows, вы, должно быть, заметили, что автомонтирование не совсем надежно.

Есть две утилиты Linux, обеспечивающие автомонтирование, и они называются "supermount" и "automount".

Supermount. Mandrake 7.2 дает вам возможность разрешить использование "supermount" при установке. Так что простейший путь к "supermount" в том, чтобы установить последний Mandrake и указать соответствующий параметр.  Мой /etc/fstab на компьютере с установленным Mandrake может содержать следующие строки:

/dev/hda3 / ext2 defaults 1 1
none /dev/pts devpts mode=0620 0 0
/dev/hda4 /home ext2 defaults 1 2
/mnt/cdrom /mnt/cdrom supermount fs=iso9660,dev=/dev/cdrom 0 0
/mnt/floppy /mnt/floppy supermount fs=vfat,dev=/dev/fd0 0 0
/mnt/zip /mnt/zip supermount fs=vfat,dev=/dev/zip 0 0
none /proc proc defaults 0 0
/dev/hdb2 /usr ext2 defaults 1 2
/dev/hdb5 swap swap defaults 0 0

В этом промере, как вы можете заметить, я пометил для supermount 3 файловые системы: cdrom, floppy и zipdrive. Я могу редактировать /etc/fstab вручную (например, используя pico) или использовать команду supermount.

Automount. Чтобы установить "automount", сначала выполним программу ntsysv (как "root") и убедимся, что служба automount("autofs") разрешена.

Тогда, конфигурируем automount редактированием файлов /etc/auto.master и /etc/auto.misc, например (как "root"):

pico /etc/auto.master

Мой /etc/auto.master выглядит так:

/misc /etc/auto.misc --timeout 1

Это говорит, что мои автомонтируемые устройства будут монтироваться в директорию /misc (она должна существовать и быть пустой). Мои автомонтируемые устройства демонтируются через секунду после окончания их использования (Например, после того, как я покину директорию). Это слишком короткое время -- вы можете выбрать побольше. Детальный конфигурационный файл - /etc/auto.misc . Здесь мой:

kernel -ro,soft,intr ftp.kernel.org:/pub/linux
cdrom -fstype=auto,ro :/dev/cdrom
floppy -fstype=auto,rw :/dev/fd0
zipdrive -fstype=vfat,rw :/dev/sda4
dosdrive -fstype=vfat,ro :/dev/hda1
hacker_cdrom -fstype=nfs,ro hacker:/mnt/cdrom
hacker_floppy -fstype=nfs,rw hacker:/mnt/floppy
hacker_usr -fstype=nfs,ro hacker:/usr

Каждая строка содержит три поля, разделенных пробелами. Первое поле это "ключ", который будет именем субдиректории (в /misc), в которую устройство будет смонтировано. Эта директория НЕ ДОЛЖНА существовать. Она не будет видима, если я использую ls , но я могу "cd" в нее и тогда мое устройство будет смонтировано. Не спрашивайте меня, почему это так, и как использовать это в графической среде. Я не знаю. Строки о "hacker" в моем auto.misc - это cdrom и дискета из другого компьютера в моей домашней сети.

Я автомонтирую их в директорию /misc (не в /mnt), еще я могу монтировать ее вручную, без automount, в директорию /mnt.

4.2.9 Как мне добиться распознания моего zip-диска??

RedHat 6.0 и 6.1. При апгрейде на RedHat 6.0 программа установки заявила, что zip-диск не обнаружен. Плсде завершения установки я использовал следующие команды для установки модулей для моего внешнего (на параллельном порте) zip-диска в ядро (как "root"):

/sbin/insmod parport
/sbin/insmod ppa

Чтобы эти две строки выполнялись автоматически при каждой загрузке системы, я добавил их в конец моего файла /etc/rc.d/rc.local (этот файл - аналог autoexec.bat в DOS).

Если у вас это не сработает, вам может потребоваться редактирование файла /etc/conf.modules.  Мой содержит следующие строки:

alias parport_lowlevel parport_pc

и там нет строки с упоминанием "ppa" модуль.

Для более новых Zip250-дисков - вот две строки из моего файла /etc/rc.d/rc.local

/sbin/insmod parport
/sbin/insmod imm

4.2.10  Могу ли я установить 32-битный ввод/вывод для жесткого диска?

Новые Linux-дистрибутивы могут автоматически включать оптимизацию: 32 битный ввод/вывод (I/O) прямой доступ к памяти (DMA). Далее о том, как включить оптимизацию вручную. (На основе http://hardwarezone.community.com.sg/main.htm автор:Эдвард Чох) (Edward Choh).)

У меня эта процедура работает замечательно, но будьте осторожны, это может сломать содержимое вашего жесткого диска, так что не делайте этого, если вы действительно новичок. Не расстраивайтесь -- просто я не могу гарантировать, что это сработает у вас .

Включение 32-bit ввода/вывода и DMA должно происходить с правами "root", и я делаю это в однопользовательском режиме (чтобы сократить возможные повреждения файловой системы, если что-то пойдет неправильно и придется перезагружаться). И определено, нельзя этого делать при нескольких запущенных задачах или в среде X-windows, и, желательно, сделать резервную копию всех значимых данных.

Для загрузки компьютера в однопользовательском режиме я набираю в командной строке lilo (во время начальной загрузки системы):

linux single

Скажем, я хотел бы установить 32-битный ввод/вывод на моем первом жестком диске IDE, то есть "hda". Во первых, я замеряю текущую производительность жесткого диска и записываю результат:

hdparm -t /dev/hda

Потом, я смотрю мои текущие установки ввода/вывода и DMA:

hdparm -c /dev/hda

[моя система показывает 0, это значит, что 32-битный ввод/вывод выключен и используется 16-битный режим, установленный по умолчанию]

hdparm -d /dev/hda

[моя система снова показала 0, значит DMA-режим выключен].

После, я включаю 32-битный ввод/вывод и DMA:

hdparm -c 1 /dev/hda
hdparm -d 1 /dev/hda

После, я могу снова замерить производительность жесткого диска для того, чтобы сравнить ее с предыдущей:

hdparm -t /dev/hda

Если все в порядке, и производительность увеличилась, я могу "зафиксировать(commit)" новые установки, чтобы они сохранились после мягкой(soft) перезагрузки:

hdparm -k 1 /dev/hda

Чтобы эти параметры работали каждый раз при загрузке системы, добавьте в /etc/rc.d/rc.local (аналог AUTOEXEC.BAT в DOS) следующие строки:

hdparm -c 1 -d 1 -k 1 /dev/hda

Если что-то пойдет не так, или производительность не повысится, я могу перезагрузиться в любое время и старые установки останутся в силе.

Я попробовал эту операцию на 4-х дисках моей домашней сети. Это принесло результаты на 3 новых дисках: производительность выросла на 30-300% и по крайней мере на одном из них повышение производительности "ощутилось". Один жесткий диск (который всегда чудил) "подвесил" компьютер в процессе тестов. Пришлось перезагрузить машину (повреждений не обнаружено).

4.2.11 Я достиг предельного числа одновременно открытых файлов(сообщение об ошибке)

Вы можете увеличить предельное число одновременно открытых файлов в файловой системе /proc. Эта файловая система совершенно виртуальна -- это просто "окно", через которое можно увидеть или установить кое-что в ядре Linux.   Чтобы прочитать количество одновременно открытых файлов в моей файловой системе,  я использую следующую команду:

echo /proc/sys/fs/file-max

В моей системе (Mandrake 7.2), предел составляет 8192. Чтобы увеличить его, я использую (как "root"):

echo 16000  > /proc/sys/fs/file-max

Вы можете так же захотеть увеличить предел в связаной с предыдущей системной переменной:

echo 30000 > /proc/sys/fs/inode-max

Чтобы сделать эти изменения постоянными, добавьте эти строки в /etc/rc.d/rc.local.

Чтобы узнать больше о /proc - интерфейсе ядра Linux, назначении переменных и констант, и их рекомендованных значениях, вам может быть интересно почитать (если вы установили исходные тексты ядра, что мы рекомендуем для всех новичков):

less /usr/src/linux/Documentation/proc.txt

4.2.12. Я присоединил новый жесткий диск. Как мне начать его использовать?

0. Спланируйте файловую систему с учетом нового диска
1. Разбейте диск на разделы
2. Отформатируйте разделы
3. Проверьте новое пространство
4. Скопируйте данные из старых разделов в новые(по желанию)
5. Отредактируйте /etc/fstab
6. Перезагрузитесь
7. Удалите старые данные (по желанию)

Теперь подробнее.

0. Спланируйте новую файловую систему. Где бы вы хотели использовать новое дисковое пространство? Используйте
df

чтобы узнать общее количество свободного/занятого пространства на каждом из существующих смонтированных разделов. Используйте
du

на выбранных директориях, чтобы узнать их размер.

Например, я могу обдумать использование нового дискового пространства в одной из следующих точек монтирования:
/usr/local
/home
/home/share/downloads
/usr/local/mp3s
/usr/local/dos_data

Вот почему.

/usr/local поддерживается для любых апгрейдов Linux. Хорошо иметь ее в отдельном разделе, потому что я могу переформатировать разделы без повреждения моего локального содержимого(contents) сохраненного в /usr/local. Я хочу, чтобы ее файловая система была "ext2" или "reiserfs".

/home содержит пользовательские данные. Действительно, эти данные заслуживают особого внимания. Они должны уцелеть при любом апгрейде Linux. По всей видимости, я хочу поместить их в отдельный раздел. Тип обычный - "ext2" или "raiserfs".

/usr/local/mp3s - это не стандартная директория Linux. Я могу хранить в ней мои MP3-файлы (музыку). Она должна быть большой.

/usr/local/dos_data - другая не стандартная директория. Если у меня двойная загрузка, мне может понадобиться дополнительный раздел "DOS FAT32". Я сконфигурирую все мои программы, основанные на Windows, для использования этого "диска", как места хранения пользовательских файлов. Я могу создать директории "mp3s", "cds" и подобные в этом разделе. Серьезный недостаток такого подхода -- MS Windows может настаивать на приведении в порядок этого раздела при переустановке.

1. Разбиение нового диска на разделы. Например, если мой новый диск - второй на втором шлейфе IDE (возможно "четвертый" диск IDE), я использую:

cfdisk /dev/hdd

или более старомодную (и стандартную программу):

fdisk /dev/hdd

Если ваш диск это не "hdd" настройте команду с учетом того, что:
hda -- Первый (master) на первом шлейфе ide.(весь диск)
hdb -- Второй (slave) на первом шлейфе ide.(весь диск)
hdc -- Первый (master) на втором шлейфе ide.(весь диск)
hdd -- Второй (slave) на втором шлейфе ide.(весь диск)
sda -- Первый scsi (весь диск)
sdb -- Второй scsi (весь диск)
...
sdp -- Шестнадцатый scsi (весь диск)

Для других дисков читайте /usr/src/Linux/Documentation/devices.txt.

В основном, я хочу присвоить своим разделам Linux тип ext2 ("Linux").

Разбиение на разделы может оказаться сложным -- если вы не делали этого раньше, прочитайте man fdisk и man cfdisk. Очень просто смахнуть раздел вместе со всеми данными. Убедитесь что знаете, с каким диском вы работаете!

fdisk или cfdisk не сделают никаких изменений пока вы не сохраните новый план диска. Так что если не уверены, выходите без сохранения изменений. Я записываю новый план диска только тогда, когда полностью готов.

2. Форматируем разделы. Например, для форматирования первого раздела, с поиском плохих секторов (-c), я использую:

mkfs -c -t ext2 /dev/hdd1

3. Тестируем новый раздел.Монтируем новый раздел вручную (директория монтирования должна существовать и быть пустой). Скопируйте ряд файлов в этот раздел. Просмотрите/отредактируйте часть случайно выбранных файлов. Удалите их все.

4. Копируем данные. По желанию -- если хотите можете переместить часть файлов из старых разделов в новые. Перейдите в однопользовательский режим (init 1). Смонтируйте вручную новый раздел. Скопируйте данные в новый раздел. Осторожнее со старыми данными, вы же не хотите потерять их из-за одной дурацкой ошибки, так что пока не удаляйте их -- я обычно переименовываю директорию верхнего уровня. Например,

cp -R /usr/local/ /mnt/hdd1/
mv /usr/local/ /usr/local.old.backup_of_2001-04-21

5. Редактируем файл /etc/fstab. Измените его для отражения сделанных Вами изменений. Возможно, добавьте точки монтирования или измените старые как вам надо.  Например, если перенести /usr/local в свой собственный раздел, потребуется добавить примерно такую строку:

/dev/hdd1 /usr/local ext2 defaults 1 2

6. Перезагружаемся и тестируем. Альтернативой перезагрузке может служить демонтирование старых и монтирование новых разделов:

umount /usr/local
mount -a

но холодная перезагрузка - зто более строгий тест сделанных изменений.

7. Удалите старые данные. Через несколько дней работы, когда я убеждаюсь, что все в порядке, я удаляю старые данные (например, директорию /usr/local.oldbackup_of_2001-04-21).
 

4.2  Пространство свопинга

Swap-раздел - это расширение физической памяти компьютера.  Скорее всего, вы создали раздел свопинга при начальной установке. Вы можете проверить наличие пространства свопинга командой:
cat /proc/meminfo
Основные рекомендации таковы: по крайней мере 4 MB пространства свопинга, как минимум 32 MB общей (физической+своп) памяти для системы с командной строкой, как минимум 64 MB общей (физической+своп) памяти для системы с X-windows, и раздел свопинга в 1.5 раз больше физической памяти.
Если это слишком сложно, вам понадобится пространство свопинга в два раза больше физической (на микросхемах) памяти, но не менее, чем 64 MB.
Если вам требуется изменить размер вашего пространства свопинга, вот основные данные.

4.2.1 Раздел свопинга

У вас может быть несколько разделов свопинга. [Старые ядра Linux ограничивают размер каждого раздела 124 MB, но ядра 2.2.x снимают это ограничение.] Вот шаги для создания раздела свопинга:
- Создайте раздел подходящего размера используя fdisk (тип раздела 82, "Linux swap").
- Отформатируйте раздел:
mkswap -c /dev/hda4 вы должны заменить /dev/hda4 вашим именем раздела.
- Разрешите обмен, например:
swapon /dev/hda4
Для автоматического включения обмена при начальной загрузке системы, вы должны включить соответствующие строки в файл /etc/fstab, например:
/dev/hda4 swap swap defaults 0 0
Если вам захочется отключить обмен, вы сможете сделать это командой (как "root"):
swapoff /dev/hda4

4.2.2 Файлы обмена

Обмен с файлом значительно медленнее, чем с разделом, так что эта техника не может быть рекомендована как постоянная.  Создание файла обмена, между тем, может быть быстрым решением проблемы недостатка пространства обмена. вы можете иметь до 8 файлов обмена, каждый из которых может иметь размер до 16 MB. Вот инструкция по созданию файла обмена:
- Создайте файл с размерами вашего файла обмена:
dd if=/dev/zero of=/swapfile bs=1024 count=8192
Это создаст ваш файл обмена. /swapfile, размер блока 1024 байт, количество блоков в файле 8192, общий размер 8 MB. [Команда dd копирует файлы. В приведенном выше примере исходный файл (if) /dev/zero, конечный файл (of) /swapfile . вы не можете использовать команду cp (копирование) для создания файла обмена, поскольку файл обмена должен быть физически неразделенным на диске.]
- Установите файл обмена командой:
mkswap /swapfile 8192
- Форсируйте кэширование диска командой:
sync
- Разрешите обмен командой:
swapon /swapfile
По окончании использования файла обмена отключите его и удалите:
swapoff /swapfile
rm /swapfile
Вы также можете ознакомиться с замечательным текстом, написанным Линусом Торвальдсом собственноручно:
man mkswap

Переход к части: 4.3 - Работа с X Window System
На главную страницу