• msgmax - максимальный размер сообщения (в байтах), которое может быть передано от одного процесса к другому при межпроцессном взаимодействии. Значение по умолчанию 8192. Если увеличить это значение, то увеличится размер ОЗУ, занимаемый операционной системой.
• panic - время в секундах, которое ядро будет ждать, прежде чем перезагрузить систему после вывода сообщения "kernel panic". По умолчанию - 0, т.е. перезагрузка не производится.
• printk - определяет, куда будут направлены сообщения в зависимости от их важности, В файле содержатся четыре значения, например, 6 4 1 7 (по умолчанию). Первое значение задает, сообщения с каким уровнем должны быть выведены на консоль (Console Log Level). Если уровень сообщения 6 и ниже (чем меньше число, тем больше приоритет), то это важные сообщения, и они будут выведены на консоль, второе значение задает приоритет для сообщений, для которых не указано значение приоритета, т.е. задает уровень приоритета по умолчанию. Третье значение задает номер самого высокого приоритета (это 1). Четвертое значение - это значение по умолчанию для первого. Более подробно обо всем этом вы можете прочитать в man syslog(2).
• shmall - максимальный размер (в байтах) разделяемой памяти, значение по умолчанию - 2097152.
• shmax - максимальный размер сегмента памяти (в байтах), допускаемый ядром. По умолчанию - 33554432.
• shmmni - максимальное число сегментов разделяемой памяти. По умолчанию - 4096.
• threads-max - максимальное число используемых ядром потоков. По умолчанию - 2048.
7.8.4. Параметры файловых систем
В каталоге /proc/sys/fs/ можно найти файлы, определяющие работу файловой системы:
• file-max - максимальное число одновременно открытых файлов, по умолчанию 4096.
• inode-max - максимальное число одновременно открытых инодов, по умолчанию 4096.
• super-max - максимальное количество заголовков суперблоков. У каждой "подмонтированной" файловой системы есть суперблок, следовательно, максимальное количество суперблоков равно максимальному количеству одновременно смонтированных файловых систем. Значениепо умолчанию - 256.
• super-nr - текущее количество суперблоков (файл используется только для чтения, писать в него нельзя).
Каталог /proc/sys/net содержит файлы, определяющие работу сети.
• /proc/sуs/net/core/message_burst - можно использовать для предотвращения Dos-атаки, когда система заваливается сообщениями. Определяет время в десятых долях секунды, которое необходимо для записи нового соообщения, остальные сообщения, полученные за это время, будут проигнорированы. Значение по умолчанию - 50 (5 секунд).
• /proc/sys/net/core/message_cost - значимость каждого сообщения. Чем выше значение, тем больше сообщений будет проигнорировано. По умолчанию - 5.
• /proc/sys/net/core/netdev_max_backlog - максимальное число пакетов в очереди на обработку. Позволяет установить максимум, если сетевой интерфейс получает пакеты быстрее, чем ядро может их обработать. По умолчанию - 300.
• /proc/sys/net/core/optmem_max - максимальный размер буфера (в байтах) для одного сокета.
• /proc/sys/net/core/rmem_max - размер буфера для буфера получения информации (в байтах).
• /proc/sys/net/core/wmem_max - размер буфера для буфера отправки информации (в байтах).
• /proc/sys/net/ipv4 - относительно этого файла все очень подробно описано в документе /usr/src/linux/
Documentation/networking/ip-sysctl.txt.
7.8.6. Параметры виртуальной памяти
Каталог /proc/sys/vm содержит файлы, позволяющие изменить параметры виртуальной памяти.
• buffermem - позволяет управлять количеством общей системной памяти, которая будет использоваться как буферная память. В данном файле указываются три значения (через пробел): минимальный, средний и максимальный размер памяти (в %), которая может быть использована для буфера. По умолчанию: 2 10 60.
• freepages - содержит три значения, разделенные пробелами (512 768 1024 - по умолчанию). Если количество свободных страниц памяти достигнет первого значения, доступ к любому дополнительному количеству памяти будет иметь только ядро (а не другие процессы). Если количество свободных страниц будет меньше второго значения (768), ядро будет более активно освобождать память путем свопинга. То же самое и для третьего значения, только в этом случае ядро будет еще активнее.
• kswapd - управляет свопингом. Как и в предыдущем случае, в этом файле присутствуют три значения, разделенные пробелами (512 32 8). Первое значение - это максимальное количество страниц, которые ядро будет пытаться освободить за один раз. Второе - это минимальное количество попыток освобождения страницы во вpeмя свопинга. Третье - количество страниц, которое можно записать в своп. Чем больше это значение, тем больше данных будет записано на диск и меньше времени будет потрачено на поиск на диске. Но тут важно не перестараться, так как слишком большое значение окажет обратный эффект, поскольку увеличится очередь запросов.
7.8.7. Сохранение изменений
Понятно, что любые внесенные в указанные выше "файлы" изменения будут действовать только до перезагрузки компьютера, Сохранить изменения можно с помощью программы sysctl, точнее с помощью ее конфигурационного файла /etc/sysctl.conf.
Однако формат этого файла несколько отличается от тех команд, которые мы вводили. Предположим, что вы ввели команду:
# echo "50" › /prac/sys/vm/swappiness:
Вам понравилось, как система работает с таким значением коэффициента подкачки, и появилось желание сохранить изменения. Откройте файл /etc/sysctl.conf и добавьте в него строку:
vm.swappiness = 50
Как видите, /proc/sys/ в начале имени файла отбрасывается, а все оставшиеся слеши заменяются точками.
Однако далеко не все дистрибутивы используют программу sysctl. Если в вашем дистрибутиве нет файла /еtс/sysctl.conf, то придется пойти другим путем. А именно: добавить команды, изменяющие /proc-файлы, в загрузочные сценарии системы, чтобы они выполнялись каждый раз при запуске системы.
Несколько слов в заключение
Прочитав эту книгу, вам наверняка захочется узнать больше о выбранном вами дистрибутиве - Fedora8. Поэтому здесь мы поговорим об источниках информации по Linux.
Linux - это отлично документированная система. В составе любого дистрибутива есть довольно большая справочная система - man (от manual - руководство), которая подскажет параметры любой Linux-команды и формат любого конфигурационного файла. Пользоваться этой системой очень просто. Введите:
man имя_команды
или
man имя_конфигурационного_файла
Например;
man chmod
man /etc/sftab
Современные пользователи Linux почему-то забывают пользоваться этой справочной системой и в результате на Linux-форумах появляется масса вопросов - "почему у меня не работает это" или "как сделать это"? Такие вопросы возникают не только из-за незнания, но и из-за нежелания разобраться самостоятельно, стремления сделать "все и сразу" одним щелчком, по принципу "пришел, увидел, победил", без какой-либо подготовки. Linux - очень продуманная, доступная и логичная операционная система. Нужно только до конца понять ее логику. А это требует некоторого времени и соответствующих усилий. Зато потом все станет на свои места, будет ясным и прозрачным. Далеко не всегда возникшую в Linux проблему можно устранить с "разбега" - перепрыгнуть ее без анализа и поиска решения вряд ли получится. А вот решить проблему вдумчиво и неспешно - подучится наверняка.
Кроме команды man обязательно загляните в каталог /usr/share/doc - в нем вы найдете много документации по различным программам, установленным в вашей системе.
Конечно же, следует порекомендовать Интернет-ресурсы - они обновляются быстрее, чем встроенная справочная система.
• http://www.fedorafaq.org/ - довольно толковый FAQ (список вопросов и ответов) по Fedora 8, правда, он на английским языке. Обязательно прочитайте его, узнаете много чего полезного, заодно и английский выучите (если вы его еще не знаете).
• http://wwu.dkws.org.ua - сайт автора, содержащий много статей (почти все) и форум. Зарегистрируйтесь на форуме и не стесняйтесь задавать вопросы. Обещаю посильную помощь!
• http://www.linuxrsp.ru - проект Linux Russian Security Project, посвященный не только вопросам безопасности Linux, но и вообще различным вопросам, которые время от времени возникают у пользователей Linux. На этом сайте вы найдете разные статьи на все случаи жизни начинающего "Линуксоида".
• http://www.xakep.ru - довольно много вопросов в журнале "Хакер" посвящается Linux, несмотря на название и былую ориентацию журнала "для компьютерных хулиганов". Наверное, чтобы искоренить сложившееся мнение, что хакер - это плохо.
Приложение А. Шесть горячих проблем
Проблема 1. Забыт пароль root
Восстановить забытый пароль довольно просто. Для этого при загрузке системы выберите загрузочный образ (рис. A.1), а затем нажмите клавишу ‹а›. Появится возможность отредактировать параметры ядра. Укажите параметр ядра single (рис. А.2),