Welcome to Энциклопедия сетевых протоколов
Поиск

Модули
· Титульная страница
· Мир протоколов
· Основные темы
· Архив публикаций
· Поиск
· Каталог ссылок
· Участники
· Документы и программы

Выбор языка
Язык интерфейса:


Статистика
20490584
запросов с 22 сентября 2005

Внешняя статистика
Rambler's Top100

  
Обзоры: Виртуальная файловая система /proc - каталог sys
Опубликовано 29 сент. 2005 (Чт.) в 16:54:17
Тема: Настройка сетевых параметров хостов

В ОС Linux виртуальная файловая система /proc содержит файлы с текущей информацией о процессах и системе в целом. Файловая система создается в оперативной памяти компьютера в процессе загрузки и используется в качестве интерфейса обмена данными со структурами ядра. Использование файлов /proc/* в большинстве случаев позволяет избавиться от необходимости чтения и записи в устройство /dev/kmem. Большинство расположенных в структуре /proc файлов доступны пользователям только для чтения, а для записи требуют полномочий root.

Для поддержки виртуальной файловой системы /proc при компиляции ядра должна быть включена опция /proc file system support.



Для поддержки различных бинарных форматов нужно сначала смонтировать файловую систему binfmt_misc с помощью команды

mount binfmt_misc -t binfmt_misc /proc/sys/fs/binfmt_misc

Для регистрации нового типа бинарных файлов нужно поместить в файл /proc/sys/fs/binfmt_misc/register строки описания формата, имеющие вид

:name:type:offset:magic:mask:interpreter:

Таблица 5 Поля описания формата бинарных файлов

Поле

Описание

name

Строка идентификации формата (имя). В каталоге /proc/sys/fs/binfmt_misc будет создан файл с соответствующим именем.

type

Способ распознавания формата – M для распознавания по сигнатуре, E для распознавания по расширению.

offset

Смещение сигнатуры в бинарном файле, заданное в байтах. По умолчанию предполагается нулевое смещение.

magic

Сигнатура, используемая для идентификации формата. Сигнатуры могут содержать буквы, цифры и шестнадцатеричные коды символов (например, x0a или xA4).

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

mask

Необязательная маска, для исключения некоторых битов при сравнении с заданной сигнатурой. При сравнении сигнатуры маска накладывается с помощью логической операции AND (И). По умолчанию значение маски равно 0xff.

interpreter

Полный путь к программе, которая должна использоваться для загрузки (запуска) бинарного файла.

Для добавления строк описания фв файл можно использовать команду echo, как показано в приведенных ниже примерах

Ограничения

  1. размер строки регистрации формата не должен превышать 255 символов;

  2. сигнатура должна располагать в первых 128 байтах файла (т. е., сумма смещения и размера сигнатуры не должна превышать 127);

  3. размер поля interpreter не должен превышать 127 символов.

Примеры использования

Для использования различных бинарных форматов требуется сначала смонтировать файловую систему binfmt_misc. Вы можете сделать это вручную с помощью команды

mount -t binfmt_misc none /proc/sys/fs/binfmt_misc

или добавить строку

none /proc/sys/fs/binfmt_misc binfmt_misc defaults 0 0

в файл /etc/fstab для автоматического монтирования при загрузке системы.

Чтобы включить поддержку приложений em86 можно использовать команду:

echo ':i386:M::x7fELFx01x00x00x00x00x00x00x00x00x00x00x00x02x00x03:xffxffxffxffxffxfexfexffxffxffxffxffxffxffxffxffxfbxffxff:/bin/em86:' > /proc/sys/fs/binfmt_misc/register

или

echo ':i486:M::x7fELFx01x00x00x00x00x00x00x00x00x00x00x00x02x00x06:xffxffxffxffxffxfexfexffxffxffxffxffxffxffxffxffxfbxffxff:/bin/em86:' > /proc/sys/fs/binfmt_misc/register

Для включения поддержки упакованных приложений DOS подойдет команда:

echo ':DEXE:M::x0eDEX::/usr/bin/dosexec:' > /proc/sys/fs/binfmt_misc/register

Для использования исполняемых файлов Windows с помощью прогграммы wine можно ввести команду:

echo ':DOSWin:M::MZ::/usr/local/bin/wine:' > /proc/sys/fs/binfmt_misc/register

Для включения поддержки приложений Java можно использовать команды:

echo ':Java:M::xcaxfexbaxbe::/usr/local/bin/javawrapper:' > /proc/sys/fs/binfmt_misc/register

для Jar-файлов:

echo ':ExecutableJAR:E::jar::/usr/local/bin/jarwrapper:' > /proc/sys/fs/binfmt_misc/register

для Java-апплетов:

echo ':Applet:E::html::/usr/bin/appletviewer:' > /proc/sys/fs/binfmt_misc/register

или:

echo ':Applet:M:: /proc/sys/fs/binfmt_misc/register

Для того, чтобы включить или отключить поддержку binfmt_misc или отдельного типа бинарных файлов можно воспользоваться командой echo, передающей 0 (выключить) или 1 (включить) в общий файл /proc/sys/fs/binfmt_misc/status или файлы для отдельных форматов (/proc/.../<имя>). Для просмотра текущего состояния можно воспользоваться командой cat.

Для удаления записей можно также воспользоваться командой echo

echo -1 > /proc/sys/fs/binfmt_misc/status

будет удалять все записи, а

echo -1 > /proc/sys/fs/binfmt_misc/<имя>

запись для указанного формата.

Файлы /proc/sys/fs

Таблица 6 Файлы каталога /proc/sys/fs

Файл

Описание

dentry-state

Шесть чисел:

nr_dentry – номер записи dentry;
nr_unused – число неиспользованных записей dentry;
age_limit – количество секунд, по истечении которых запись может быть удалена при нехватке памяти;
want_pages – число страниц, запрашиваемых системой
2 пустых значения.

dir-notify-enable

Включает (1) или отключает (0) интерфейс уведомлений dnotify для функции fcntl в масштабе всей системы.

dquot-max

Максимальное число кэшированных записей для дисковых квот.

dquot-nr

Количество выделенных и свободных дисковых квот.

file-max

Верхнее ограничение числа открытых файлов в масштабе системы.

file-nr

Доступный только для чтения файл, показывающий общее число открытых в системе файлов. Первое значение показывает число выделенных файловых дескрипторов, второе – число свободных дескрипторов, а третье число указывает максимальное число файловых дескрипторов для данной системы (file-max).

inode-max

Максимальное число хранящихся в памяти индексных дескрипторов inode. Это число должно в 3-4 раза превышать максимальное значение числа файловых дескрипторов, заданное в file-max.

inode-nr

Два первых значения из файла inode-state.

inode-state

Содержит 7 числовых параметров:

nr_inodes – число выделенных системой индексных дескрипторов;
nr_free_inodes – число свободных индексных дескрипторов;
preshrink – отличное от нуля значение, если nr_inodes > inode-max и системе нужно уничтожить группу индексных дескрипторов вместо выделения новых;
4 пустых значения.

lease-break-time

Задает продолжительность периода, в течение которого процесс может удерживать взятый файл после того, как ядром был передан сигнал, уведомляющий о запросе другого процесса на открытие этого файла. Если держатель файла не освободит его или не снизит уровень владения в течение заданного времени, ядро прервет принадлежность файла данному процессу.

leases-enable

Включает или отключает поддержку функций “аренды” (lease) файлов в масштабе системы. Нулевое значение запрещает аренду, 1 – разрешает.

overflowgid

Максимальное значение идентификатора владельца UID при записи файлов.

overflowuid

Максимальное значение идентификатора группы GID при записи файлов.

super-max

Определяет максимальное число суперблоков (superblock) и, следовательно, ограничивает число монтируемых файловых систем.

super-nr

Число смонитрованных файловых систем.

Каталог sys/kernel

Таблица 7 Файлы каталога /proc/sys/kernel

Файл

Описание

acct

Файл содержит 3 значения highwater, lowwater и frequency.

Если при компиляции ядра была включена опция BSD process accounting, эти значения управляют запись учетной информации в журнальный файл системы. Если процент свободного пространства на диске для записи журнальных файлов становится ниже значения lowwater, запись учетной информации прекращается и будет восстановлена лишь после того, как процент свободного пространства превысит значение highwater. Параметр frequency определяет период проверки свободного пространства (в секундах).

По умолчанию используются значения 4, 2 и 30. Запись учетной информации прекращается при снижении объема свободного пространства до 2% и восстанавливается при наличии 4% свободного пространства. Проверка осуществляется каждые 30 секунд.

cap-bound

Используемая ядром маска ограничения возможностей приложений. Заданное в файле десятичное значение маски накладывается на значение поля возможностей приложения с помощью операции AND.

core_pattern

Имя, используемое для записи дампа памяти при аварийном завершении приложений.

core_uses_pid

Этот файл управляет именами файлов с дампом памяти, записываемыми при аварийном закрытии приложений. Если файл содержит ненулевое значение, дамп памяти будет записываться в файл с именем core.PID, в противном случае, имя файла не будет содержать идентификатора аварийного процесса..

ctrl-alt-del

Определяет режим обработки клавиатурных прерываний Ctrl-Alt-Del. При нулевом значении информация о нажатии клавиш Ctrl-Alt-Del перехватывается и передается функции init для корректного выполнения операции перезагрузки. Отличное от нуля значение разрешает незамедлительную перезагрузку системы без синхронизации файловой системы, что может вызвать проблемы при следующей загрузке.

Отметим, что некоторые программы (типа dosemu), использующие клавиатуру в raw-режиме, могут самостоятельно обрабатывать прерывания Ctrl-Alt-Del еще до того, как информация о нажатии клавиш попадет в ядро.

domainname

Доменное имя NIS/YP. Отметим, что это имя отличается от доменного имени DNS.

hostname

Имя хоста.

hotplug

Указывает местоположение программы hotplug.

modprobe

Указывает местоположение программы modprobe, используемой для проверки и загрузки модулей ядра.

msgmax

Максимальный размер сообщения, записываемого в очередь System V. По умолчанию 8192 байта.

msgmnb

Максимальный размер очереди сообщений System V. По умолчанию 16384 байта.

msgmni

Максимальное значение идентификаторов сообщений в очереди System V. По умолчанию 16.

osrelease

Номер версии используемого системой ядра.

ostype


overflowgid

Дубликат файла /proc/sys/fs/overflowgid, определяющего максимальное значение идентификатора группы (GID).

overflowuid

Дубликат файла /proc/sys/fs/overflowuid, определяющего максимальное значение идентификатора пользователя (UID).

panic

Определяет поведение системы при невозможности загрузки ядра (kernel panic). При нулевом значении система будет ожидать реакции пользователя, а отличные от нуля значения задают время (в секундах), по истечении которого будет выполнена автоматическая перезагрузка.

printk

Этот файл содержит 4 целых числа определяющих вывод и протоколирование сообщений об ошибках:

console_loglevel – уровень сообщений, с которого начинается вывод на консоль;
default_message_loglevel – уровень приоритета, используемый по умолчанию для сообщений, уровень которых не задан;
minimum_console_level – минимальное значение, которое может быть установлено в поле console_loglevel;
default_console_loglevel – используемый по умолчанию уровень console_loglevel.

random

Подкатлог, содержащий файлы, управляющие работой системного генератора случайных чисел /dev/random.

rtsig-max

Максимальное число сигналов POSIX, которые могут находиться в очереди.

rtsig-nr

Текущее число сигналов POSIX в очереди.

sem

Параметры управления семафорами System V IPC:

SEMMSL – максимальное число семафоров в одном наборе;
SEMMNS – максимальное число операций, которые могут быть заданы при вызове функции semop;
SEMMNI – максимальное число идентификаторов семафоров.

shmall

Максимальное число страниц разделяемой памяти System V.

shmmax

Максимальный размер сегмента разделяемой памяти System V IPC.

shmmni

Максимальное число создаваемых сегментов разделяемой памяти System V IPC.

version

Номер и время создания ядра.

Каталог sys/net

Переменные каталога /proc/sys/net/* описаны в отдельной статье.

Каталог sys/proc

Этот каталог может быть пустым.

Каталог sys/sunrpc

Параметры Sun RPC для использования NFS.

Каталог sys/vm

Параметры управления распределением памяти, буферами и кэшированием.

Каталог sysvipc

Этот каталог содержит файлы msg, sem и shm, описывающие связи между процессами System V IPC. Файлы включают заголовки, облегчающие понимание приведенных значений.





 
Вход
Регистрационное имя

Пароль

[Восстановить пароль]

Если у Вас еще нет учетной записи, Вы можете зарегистрироваться.


Связанные ссылки
· Поиск в разделе Настройка сетевых параметров хостов
· Статьи пользователя Николай Малых


Самая популярная статья раздела Настройка сетевых параметров хостов:
Параметры SysCtl для стека IP


Оценка статьи
Средняя оценка: 4.5
голос.: 2


Оцените эту публикацию:

Отлично
Очень хорошо
Хорошо
Приемлемо
Плохо


Параметры

 Вариант для печати Вариант для печати


"Вход" | Вход/регистрация | 0 коммент.
Комментарии выражают мнение их авторов. Администрация сайта не несет никакой ответственности за достоверность представленных в комментариях посетителей сведений, а также за содержание таких комментариев.

Для публикации своих комментариев Вам нужно зарегистрироваться..
Copyright © Nikolai Malykh
Все права на опубликованные на сайте материалы принадлежат Nikolai Malykh, если в опубликованном на сайте документе явно не указано иное.
Не разрешается воспроизведение опубликованных на сайте документов без согласия правообладателя.

Hosted By Web Hosting by iPage

Copyright © 2005 by Nikolai Malykh
Based on PHP-Nuke by Francisco Burzi. This is free software, and you may redistribute it under the GPL. Author comes with absolutely no warranty.
Время генерации страницы: 0.27 сек.