Linux для пользователя
Шрифт:
Как видите, скорость обмена данными возросла у меня примерно в 6 раз!
Как уже было сказано, после выполнения команды hdparm с любым набором опций вновь установленные значения действуют только в текущем сеансе работы системы, а после перезагрузки оптимизированные установки будут потеряны. Поэтому после завершения экспериментов надо еще записать вызов команды с подобранными значениями опций в один из системных скриптов загрузки, например, в /etc/rc.d/rc.sysinit (в ALT Linux Junior 1.0
В заключение заметим, что кроме опций, влияющих на производительность подсистемы ввода-вывода (имейте в виду, что далеко не все они были рассмотрены выше), команда hdparm имеет еще ряд опций, позволяющих управлять энергопотреблением и другими характеристиками дисковой подсистемы. Полный список всех опций команды hdparm смотрите на соответствующей man-странице (man 8 hdparm).
9.5.4. Команда fsck
Описание команды fsck, наверное, правильное было бы отнести к разделу о файловых системах, но, поскольку ее предназначение состоит в том, чтобы по возможности восстановить работоспособность дисковой подсистемы, мы рассматриваем ее в разделе о настройке жесткого диска.
Основная функция программы fsck заключается в восстановлении логической непротиворечивости файловой системы, созданной в разделе жесткого диска. При выполнении этой команды производится поиск следующих ошибок:
• сектора, которые используются одновременно двумя файлами;
• сектора, которые включены в список свободных секторов, хотя они содержат часть какого-то файла;
• сектора, которые не содержат информации, но не включены в список свободных секторов;
• индексные дескрипторы файлов (inodes), не указанные ни в одном каталоге;
• неверная общая информация в суперблоке и т. д.
Формат запуска команды следующий:
где fstype - тип проверяемой файловой системы, а в качестве filesystem можно указать либо имя устройства (например, /dev/hda4), либо точку монтирования (/, /opt, /mnt/wint) (Примечание: в man-странице по fsck сказано, что можно еще использовать метку (label) файловой системы, либо UUID, но, что такое два последних варианта, я пояснить не берусь).
Вообще говоря, команда fsck не является самостоятельной утилитой, она просто предоставляет единый интерфейс вызова специализированных программ для проверки файловых систем разных типов. Эти программы называются fsck.fstype (например, fsck.ext2) и команда fsck при запуске производит поиск соответствующей специфической программы сначала в /sbin, затем в /etc/fs и /etc, и, наконец, в каталогах, перечисленных в переменной PATH. Опции, указанные после двойного дефиса, передаются команде fsck.fstype.
Из собственных опций команды fsck (они указываются сразу после имени) стоит отметить опции -A, -a, -r и -N. Если указать опцию -a, то при обнаружении ошибок в файловой системе будет производиться их автоматическое исправление. Указание опции -A приводит к тому, что команда просмотрит файл /etc/fstab и за один прогон проверит все перечисленные в нем файловые системы. Опция -r переключает команду в интерактивный режим работы, т. е. перед тем, как произвести какие-то изменения, будет выдаваться запрос на подтверждение действия. Задание опции -N приводит к тому, что никаких изменений в файловой системе производится не будет, будет только сказано, что должно быть сделано.
При загрузке ОС Linux в некоторых случаях происходит автоматический запуск команды fsck. Основных причин для выполнения fsck на этапе загрузки системы две: некорректный выход из системы в предыдущий раз (например, резкое отключение питания или неисправность аппаратуры) и достижение заданного порога для количества выполнений операции размонтирования файловой
Иногда требуется запустить fsck и вручную. При этом лучше всего предварительно перевести систему в однопользовательский режим и размонтировать проверяемые файловые системы (или смонтировать их в режиме "только для чтения"). Например, запуск fsck в разделе /usr обычно требуется тогда, когда файловая система разрушена и тогда любые дальнейшие действия в разрушенной системе могут привести к полному краху, а, значит, fsck должна быть запущена как можно скорее. Обычно о необходимости перехода в однопользовательский режим говорит также то, что fsck не может автоматически восстановить файловую систему при загрузке. Такое случается относительно редко, обычно при выходе из строя жесткого диска или при попытках установить какую-либо экспериментальную версию ядра, но все же об этом надо знать, чтобы не растеряться в затруднительной ситуации.
К сожалению, в процессе восстановления файловой системы приходится полностью полагаться на возможности программы fsck. Начинающему пользователю не стоит самостоятельно пытаться произвести какие-то действия в поврежденной файловой системы, потому что вы рискуете перевести ядро в паническое состояние (kernel panic).
Если fsck обнаруживает "потерянные файлы", т. е. такие файлы, которые не указаны ни в одном из каталогов, она помещает их в каталог lost+found на верхнем уровне проверяемой файловой системы. Поскольку имена файлов регистрируются только в родительском каталоге, то в данном случае их "истинные" имена неизвестны, и команда присваивает им имена, совпадающие с номерами их индексных дескрипторов.
9.6. Принтер
9.6.1. Традиционные средства печати UNIX
Исторически для печати в UNIX-системах существовали две системы печати: LPD (Line Printer Daemon) [RFC1179], разработанная для Berkeley UNIX (или BSD-система), и ATT Line Printer system. Эти системы печати были созданы в 70-х годах для печати текстов на построчно-печатающих (линейных) принтерах. Принимая во внимание, что аппаратные средства печати (проще говоря, принтеры) с тех пор существенно изменились, можно было бы предположить, что существенно переработаны и программные средства для управления печатью. Однако, этого не произошло. Хотя и были созданы различные улучшенные системы печати [LPRng, Palladin, PLP], однако ни одна из этих новых разработок не изменяла фундаментальные возможности этих систем. Впрочем, как показало время и практика, возможности этих систем вполне достаточны и при небольших доработках удовлетворяют и современные потребности.