Руководство начинающего пользователя Linux.
(Оно же "Руководство новичка - администратора Linux",
оно же - "Linux
Newbie
Administrator
Guide" или просто LNAG).
Версия 0.193 2002-12-14 by Stan, Peter and Marie Klimas.
Оригинал на английском языке находится по адресу http://sunsite.dk/linux-newbie.
Переведено - ~77 %. Текст еще не прошёл литературную обработку :).
Все комментарии / исправления / сообщения по поводу перевода принимаются на xoid26@linux-online.ru.
Linux показывает все директории в одном дереве директорий, независимо от того какие диски(или другие устройства) он определил в системе. В основном, это гораздо более удачное решение, чем традиционная DOS/Windows модель -- это совершенно абстрагирует файловую систему от соответствующей аппаратуры. Вы еще оцените это, если Вам придется преобразовывать или расширять свое "железо" или добавлять сетевые ресурсы. Но для пользователей, приученных к DOS-методу обращения с дисками, это возможно будет немного сложно.
Короче, не ищите буквы дисков. Их нет в Linux; содержимое ваших дисков расположено в поддиректориях вашей единой файловой системы Linux (дереве директорий). По умолчанию, содержимое сменных носителей не появляется автоматически в дереве поддиректорий -- Вы должны "монтировать" Ваши диски. Подробности смотрите далее. Кроме того Вы должны "демонтировать" диск перед его физическим устранением(eject).
Вы можете обращаться (для чтения или записи) к разнообразным устройствам и файловым системам из Linux. Это могут быть и "родные" Linux-разделы, DOS и MS Windows разделы (на жестких дисках или дискетах), ZIP- и Jazz- устройства, CDROM диски. Многие другие сколь-либо распространенные файловые системы так же поддерживаются Linux. Это означает, что Вы можете скачать программу для Linux используя Netscape для Windows, сохранить скачанные файлы на жестком диске в разделе MS Windows, и загрузив Linux установить программу для Linux из Windows-раздела.Смонтируйте его. Монтирование добавит все директории и файлы с Вашего 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 (или какая-нибудь его поддиректория) является текущей? Вам необходимо сменить текущую директорию на какую нибудь другую в случае демонтирования устройства.
Почти также как 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" если это необходимо для Вашей системы.
Совет от Альваро Регули(Alvaro Reguly) <alvaro@reguly.net>. "У меня ATAPI Zip дисковод (распознаваемый как ATAPI Floppy) так для того чтобы он работал под Debian и kernel 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 надо монтировать по-другому. Смотрите далее.
Удаленная файловая система 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
Использование "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 требуют только раскомментировать (удалив "#" в начале строки) и поправить необходимые параметры.
Вам следует отредактировать файл /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,относящаяся к hackers это файловые системы на другом компьютере (называемом "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 дома.
Псевдонимы(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
Да, Вы можете автоматически монтировать файловые системы при обращении к ним и демонтировать, когда Вы прекращаете их использовать. Это работает, в основном, так как Вы привыкли в 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.
RedHat 6.0 и 6.1 Установка Zip-диска (zip100 диск) при апгрейде на 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
Новейшие Linux-дистрибутивы (например, Mandrake 7.0) могут автоматически включать оптимизацию: 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% и по крайней мере на одном из них повышение производительности "ощутилось". Один жесткий диск (который всегда чудил) "подвесил" компьютер в процессе тестов. Пришлось перезагрузить машину (повреждений не обнаружено).
Вы можете увеличит предельное число одновременно открытых файлов в файловой систмеме /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
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).
Пространство это расширение физической памяти компьютера.
Весьма правдоподобно, Вы создали раздел свопинга при начальной установке RedHat.
Вы можете проверить наличие пространства свопинга командой:
cat /proc/meminfo
Основные рекомендации таковы: по крайней мере
4 MB пространства свопинга, как минимум 32 MB общей (физической+своп) памяти для системы с командной строкой, как минимум 64 MB общей (физической+своп) памяти
для системы с X-windows, и раздел свопинга в 1.5 раз больше физической памяти.
Если это слишком сложно, Вам понадобится пространство свопинга в два раза больше физической (на микросхемах) памяти, но не менее чем 64 MB.
Если Вам требуется изменить размер вашего пространства свопинга, вот основные данные.
У Вас может быть несколько разделов свопинга. [Старые ядра 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
Обмен с файлом значительно медленнее, чем с разделом, так что эта техника не может быть рекомендована как постоянная.
Создание файла обмена, между тем, может быть быстрым решением проблемы недостатка пространства обмена. Вы можете иметь до 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
Вы также можете ознакомиться с замечательным текстом написанным Линусом Торвальдсом (Linus Torvalds) собственноручно:
man mkswap
Переход к части: 4.3 - Работа с X Window System
На главную страницу