protocols

package: man-pages-ru

title: protocols(5)

summary: файл определения протоколов

text:
# protocols(5)

## ИМЯ
protocols - файл определения протоколов

## ОПИСАНИЕ
Данный файл является простым файлом в кодировке ASCII и описывает различные протоколы DARPA internet, которые доступны через подсистему TCP/IP. Вместо того, чтобы использовать номера протоколов из заголовочных (include) файлов ARPA или, ещё хуже, строить догадки относительно номеров протоколов, нужно использовать данный файл. Номера протоколов присутствуют в поле протокола в любом IP-заголовке.

Не изменяйте этот файл, так как изменения могут привести к некорректному формированию IP-пакетов. Номера протоколов и их имена определяются Центром Сетевой Информации (DDN Network Information Center).

Каждая строка файла имеет следующий формат:

протокол номер псевдоним ...

Поля отделяются друг от друга пробелами или символами табуляции. Пустые строки игнорируются. Если строка содержит символ решётки (#), то он сам и часть строки, которая следует за этим символом, игнорируется.

Описание полей:

протокол

Имя протокола. Например, ip, tcp или udp.

номер

Официальный номер этого протокола, который будет помещаться в IP-заголовок.

псевдонимы

Необязательные псевдонимы этого протокола.

Данный файл может распространяться по сети с помощью сетевых служб имён, таких как Yellow Pages/NIS или BIND/Hesiod.

## ФАЙЛЫ
/etc/protocols

Файл определения протоколов.

## СМОТРИТЕ ТАКЖЕ
getprotoent(3)

http://www.iana.org/assignments/protocol-numbers


repertoiremap

title: repertoiremap(5)

text:
# repertoiremap(5)

## ИМЯ
repertoiremap - отображает символические имена символов в кодовые точки Юникода

## ОПИСАНИЕ
Карта набора (repertoire map) определяет отображение между символическими именами (мнемониками) символов и кодовыми точками Юникода (Unicode code points) при компиляции локали с помощью localedef(1). Использование карты набора необязательно, она требуется только при использовании символических имён вместо предпочтительных теперь кодовых точек Юникода.

### Синтаксис
Файл repertoiremap начинается с заголовка, который может содержать следующие ключевые слова:

comment_char

за которым указывается символ, использующийся в оставшихся строках файла как символ комментария. По умолчанию это символ решётки (#).

escape_char

за которым указывается символ, использующийся в оставшихся строках файла как символ экранирования для пометки символов, которые должны обрабатываться особым образом. По умолчанию это символ обратной косой черты (\).

Раздел отображения начинается с ключевого слова CHARIDS в первом столбце.

Строки отображения имеют следующий вид:

<символическое-имя> <кодовая-точка> комментарий

Одной строкой определяется одно отображение, комментарий не обязателен.

Раздел отображения заканчивается строкой END CHARIDS.

## ФАЙЛЫ
/usr/share/i18n/repertoiremaps

Обычный путь по умолчанию для файла карты набора.

## СООТВЕТСТВИЕ СТАНДАРТАМ
POSIX.2.

## ЗАМЕЧАНИЯ
Вместо карт набора следует использовать кодовые точки Юникода.

## ПРИМЕР
Знак евро можно определить следующим образом:

```
<Eu> <U20AC> EURO SIGN
```

## СМОТРИТЕ ТАКЖЕ
locale(1), localedef(1), charmap(5), locale(5)


resolv.conf

title: resolv.conf(5)

text:
# resolv.conf(5)

## ИМЯ
resolv.conf - файл настройки для процедур определения имён (resolver)

## ОБЗОР
/etc/resolv.conf

## ОПИСАНИЕ
resolver — это набор функций из библиотеки Си, который предоставляет доступ к системе доменных имён интернет (DNS). Файл настройки определителя (resolver) содержит информацию, которая читается функциями разрешения имён при первом их вызове процессом. Файл разрабатывался в понятном человеку формате, и содержит список ключевых слов со значениями, которые предоставляют различного рода информацию для функций разрешения имён. Файл настройки считается надёжным источником информации DNS (например, информация об AD-бите DNSSEC будет возвращаться в неизменном виде из этого источника).

Если этот файл не существует, то будет опрашиваться только служба имён на локальной машине; доменное имя определяется из имени узла, а домен поиска создаётся из имени домена.

Поддерживаются следующие параметры настройки:

nameserver IP-адрес сервера имён

Задает интернет-адрес сервера имён, на который надо переправлять все запросы, или в виде адреса IPv4 (в точечном формате), или в виде адреса IPv6 в формате с двоеточиями (и, возможно, точками), определённом в RFC 2373. Может быть указано до MAXNS (в настоящее время 3, см. <resolv.h>) серверов имён, повторяя каждый раз ключевое слово. Если указано несколько серверов, функции разрешения имён будут обращаться к серверам имен в порядке перечисления. Если в файле нет строк nameserver, то функции разрешения имён используют сервер имён на локальной машине. (Функции разрешения имён работают по следующему алгоритму: попробовать обратиться к первому указанному серверу имён. Если нет ответа в отведённое время, попробовать обратиться к следующему серверу, и т.д. пока не будет исчерпан список серверов.)

domain локальное доменное имя

Для большинства запросов имён с доменом можно использовать короткие имена относительно локального домена. Если значение равно '.', то это считается корневым доменом. Если строки domain в файле настройки нет, домен определяется из локального имени узла, возвращаемого gethostname(2); доменной частью считается всё после первой точки '.'. Наконец, если имя узла не содержит доменной части, то предполагается корневой домен.

search список поиска

Список поиска обычно определяется по имени локального домена; по умолчанию он содержит только имя локального домена. Это можно изменить, перечислив имена доменов, в которых нужно вести поиск, с ключевым полем search через пробел или символ табуляции. При разрешении запросов имён, в которых меньше точек чем указано в ndots (по умолчанию 1), будет использован каждый компонент пути поиска пока не будет найдено соответствующее имя.

В glibc 2.25 и старее список поиска может содержать не более шести доменов и не может быть длиннее 256 символов. Начиная с glibc 2.26 список поиска безграничен.

sortlist

Вызывает сортировку адресов, возвращаемых функцией gethostbyname(3). Список сортировки задается в виде пар IP-адрес/маска сети. Маску сети указывать не обязательно — по умолчанию используется естественная маска сети. IP-адрес и необязательная маска сети разделяются косой чертой. В списке можно указывать до 10 пар. Пример:

sortlist 130.155.160.0/255.255.240.0 130.155.0.0

options

С помощью параметров изменяются некоторые внутренние переменные функций определения имён. Синтаксис

options параметр ...

где параметр может иметь следующие значения:

debug

Задаёт RES_DEBUG в _res.options (только, если glibc собрана с поддержкой отладки; смотрите resolver(3)).

ndots:n

Задаёт минимальное количество точек, которые должны обязательно присутствовать в имени, переданном функции res_query(3) (см. resolver(3)) прежде чем будет выполнен начальный абсолютный запрос. По умолчанию n равно 1, поэтому если в имени есть точки, сначала имя пытаются разрешить как абсолютное, прежде чем добавлять к нему элементы из списка поиска. Значение этого параметра внутренне доходит до 15.

timeout:n

Задаёт промежуток времени, который функции определения имён будут ждать ответа от удалённого сервера имён перед тем как повторить запрос другому серверу имён. Он не может быть равным общему времени, затрачиваемым вызовом программного интерфейса определителя, и не гарантируется, что один вызов программного интерфейса определителя соответствует одному промежутку. Измеряется в секундах, по умолчанию RES_TIMEOUT (в настоящее время равно 5, смотрите <resolv.h>). Значение этого параметра внутренне доходит до 30.

attempts:n

Задаёт количество раз, которое функции определения имён будут посылать запрос серверам имён перед тем как закончить работу и вернуть ошибку вызывавшему их приложению. По умолчанию равно RES_DFLRETRY (в настоящее время 2, см. <resolv.h>). Значение этого параметра внутренне доходит до 5.

rotate

Задаёт значение RES_ROTATE в _res.options, что приводит к циклическому выбору указанных серверов имён. Это приводит к распределению нагрузки среди серверов, чтобы исключить использование каждый раз только первого сервера всеми клиентами.

no-check-names

Задаёт значение RES_NOCHECKNAME в _res.options, что приводит к выключению в современном BIND проверки в поступающих именах узлов и почтовых именах недопустимых символов, таких как символы подчёркивания (_), не-ASCII или управляющие символы.

inet6

Задаёт значение RES_USE_INET6 в _res.options. Это приводит к выполнению запроса AAAA раньше запроса A внутри функции gethostbyname(3), и отображению ответов IPv4 в «туннелированную форму» IPv6, если записи AAAA не были обнаружены, но есть запись типа A. Начиная с glibc 2.25 этот параметр считается устаревшим; приложения должны использовать getaddrinfo(3), а не gethostbyname(3).

ip6-bytestring (начиная с glibc 2.3.4)

Задаёт значение RES_USE_BSTRING в _res.options. Это приводит к поиску обратной записи IPv6 с помощью формата значимых битов, описанного в RFC 2673; если этот параметр не задан (по умолчанию), то используется полубайтовый формат. Данный параметр был удалён в glibc 2.25, так как он полагается на обратно несовместимое расширение DNS, которое никогда не разворачивалось в Интернете.

ip6-dotint/no-ip6-dotint (glibc 2.3.4 по 2.24)

Устанавливает/сбрасывает значение RES_NOIP6DOTINT в _res.options. Если указан сброс (ip6-dotint), то выполняется поиск обратной записи IPv6 (устарел) в зоне ip6.int; если задана установка (no-ip6-dotint), то по умолчанию выполняется поиск обратной записи IPv6 в зоне ip6.arpa. Данные параметры доступны в glibc до версии 2.24, где no-ip6-dotint используется по умолчанию. Так как поддержка ip6-dotint давно приостановлена в Интернете, то эти параметры удалены в glibc 2.25.

edns0 (начиная с glibc 2.6)

Задаёт значение RES_USE_EDNSO в _res.options. Включает поддержку расширений DNS, описанных в RFC 2671.

single-request (начиная с glibc 2.10)

Задаёт значение RES_SNGLKUP в _res.options. По умолчанию, glibc начиная с версии 2.9 выполняет поиск по IPv4 и IPv6 параллельно. Некоторые приложения DNS-серверов не могут обработать такие запросы должным образом и делают паузу между ответами на запрос. Этот параметр отключает данное поведение, что заставляет glibc делать запросы IPv6 и IPv4 последовательно (что замедляет процесс определения имени).

single-request-reopen (начиная с glibc 2.9)

Задаёт RES_SNGLKUPREOP в _res.options. Для разрешения имён используется единый сокет для запросов A а AAAA. Некоторая аппаратура ошибочно посылает обратно только один ответ. Когда это происходит, клиент остаётся ждать второго ответа. Указание этого параметра изменяет такое поведение так, что если два запроса с одного порта не обрабатываются правильно, то сокет будет закрыт и открыт новый перед посылкой второго запроса.

no-tld-query (начиная с glibc 2.14)

Задаёт значение RES_NOTLDQUERY в _res.options. Этот параметр указывает res_nsearch() не пытаться определить неполное имя как если бы это домен верхнего уровня. Данный параметр может привести к проблемам, если сайт указал «localhost» как TLD, но содержит localhost в одном или более элементах списка поиска. Данный параметр не действует, если не установлен RES_DEFNAMES или RES_DNSRCH.

use-vc (начиная с glibc 2.14)

Задаёт RES_USEVC в _res.options. Данный параметр включает принудительное использование TCP для запросов DNS.

no-reload (начиная с glibc 2.26)

Устанавливает RES_NORELOAD в _res.options. Этот параметр выключает автоматическую перезагрузку изменённого файла настройки.

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

Значение ключевого слова search в системном файле resolv.conf может быть изменено назначением переменной окружения для определённого процесса LOCALDOMAIN списка доменов, разделённых пробелами.

Значение ключевого слова options в системном файле resolv.conf может быть дополнено назначением переменной окружения для определённого процесса RES_OPTIONS списка вышеописанных в options параметров настройки функций определения имён.

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

Строки, в которых в первой колонке содержится точка с запятой (;) или символ решётки (#), считаются комментариями.

## ФАЙЛЫ
/etc/resolv.conf, <resolv.h>

## СМОТРИТЕ ТАКЖЕ
gethostbyname(3), resolver(3), host.conf(5), hosts(5), nsswitch.conf(5), hostname(7), named(8)

Руководство по работе с сервером имён BIND


rpc

title: rpc(5)

summary: база данных программных номеров RPC

text:
# rpc(5)

## ИМЯ
rpc - база данных программных номеров RPC

## ОБЗОР
/etc/rpc

## ОПИСАНИЕ
В файле rpc содержатся в понятном для человека виде имена, которые можно использовать вместо программных номеров RPC. Каждая строка содержит следующую информацию:

- имя сервера RPC

- программный номер RPC

- псевдонимы

Поля в файле отделяются друг от друга пробелами и/или символами табуляции. Символом '#' отмечается начало комментария; символы начиная с '#' до конца строки не интерпретируются процедурами, которые производят поиск в данном файле.

Вот пример файла /etc/rpc, взятый из дистрибутива Sun RPC Source.

```
#
# rpc 88/08/01 4.0 RPCSRC; from 1.12   88/02/07 SMI
#
portmapper      100000  portmap sunrpc
rstatd          100001  rstat rstat_svc rup perfmeter
rusersd         100002  rusers
nfs             100003  nfsprog
ypserv          100004  ypprog
mountd          100005  mount showmount
ypbind          100007
walld           100008  rwall shutdown
yppasswdd       100009  yppasswd
etherstatd      100010  etherstat
rquotad         100011  rquotaprog quota rquota
sprayd          100012  spray
3270_mapper     100013
rje_mapper      100014
selection_svc   100015  selnsvc
database_svc    100016
rexd            100017  rex
alis            100018
sched           100019
llockmgr        100020
nlockmgr        100021
x25.inr         100022
statmon         100023
status          100024
bootparam       100026
ypupdated       100028  ypupdate
keyserv         100029  keyserver
tfsd            100037
nsed            100038
nsemntd         100039
```

## ФАЙЛЫ
/etc/rpc

база данных программных номеров RPC

## СМОТРИТЕ ТАКЖЕ
getrpcent(3)


securetty

title: securetty(5)

text:
# securetty(5)

## ИМЯ
securetty - файл со списком терминалов, с которых пользователь root может входить в систему

## ОПИСАНИЕ
Файл /etc/securetty содержит имена терминалов (по одному на строку, без начального /dev/), которые считаются безопасными для передачи некоторых токенов аутентификации.

Он используется login(1) (некоторыми версиями) для ограничения списка терминалов, с которых пользователю root разрешается вход в систему. Смотрите login.defs(5), если используется механизм теневых паролей.

В системах с включённым PAM он используется с той же целью из pam_securetty(8), для ограничения списка терминалов, для которых разрешён пустой пароль.

## ФАЙЛЫ
/etc/securetty

## СМОТРИТЕ ТАКЖЕ
login(1), login.defs(5), pam_securetty(8)


services

title: services(5)

summary: список служб сети Интернет

text:
# services(5)

## ИМЯ
services - список служб сети Интернет

## ОПИСАНИЕ
services — это простой файл в кодировке ASCII, обеспечивающий распределение соответствующих текстовых имён между службами интернет, связанных с ними назначений портов и типов протоколов. Любая сетевая программа должна сначала обратиться к этому файлу для получения номера порта (и протокола) для своей службы. Функции библиотеки C getservent(3), getservbyname(3), getservbyport(3), setservent(3) и endservent(3) выполняют запросы программ к этому файлу.

Номера портов назначаются IANA (Internet Assigned Numbers Authority), и их текущей политикой является указание TCP- и UDP-протоколов при назначении номера порта. Следовательно, большинство элементов будет иметь двойные значения даже для служб, которые используют только TCP.

Номера портов меньше 1024 (так называемые «привилегированные» порты) могут быть задействованы только суперпользователем (смотрите bind(2), tcp(7) и udp(7)). Это делается для того, чтобы клиенты, подключающиеся к привилегированным портам, могли не сомневаться в том, что служба, работающая на порту, обеспечивает стандартную реализацию, и не является «подставной» службой какого-нибудь пользователя в машине. Известные номера портов, определённые IANA, обычно располагаются только в пространстве суперпользователя.

Присутствие элемента службы в файле services не обязательно означает, что эта служба сейчас запущена на машине. Смотрите inetd.conf(5) для знакомства с настройкой служб интернета. Заметим, что не все сетевые службы запускаются с помощью inetd(8), и поэтому могут отсутствовать в inetd.conf(5). В частности, серверы новостей (NNTP) и почтовые серверы (SMTP) часто запускаются с помощью системных загрузочных сценариев.

Расположение файла services определяется _PATH_SERVICES в <netdb.h>. Обычно значением является /etc/services.

Каждая строка определяет одну службу и имеет следующий формат:

имя-службы порт/протокол [псевдонимы ...]

где:

имя-службы

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

порт

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

протокол

Тип протокола, который будет использоваться. Это поле должно совпадать с элементом в файле protocols(5). Обычно, значением является tcp и udp.

псевдонимы

Дополнительный список имён этой службы, разделённых символами табуляции или пробелами. Снова заметим, что имеет значение регистр символов.

Для разделения полей могут использоваться пробелы или символы табуляции.

Комментарии начинаются с символа решетки (#) и продолжаются до конца строки. Пустые строки пропускаются.

Имя службы должно начинаться с первого столбца файла, так как начальные пробелы не удаляются В имени службы могут использоваться любые печатные символы (исключая пробелы и символы табуляции). Однако, лучше использовать стандартный набор символов для уменьшения проблем с совместимостью. Например, a-z, 0-9 и дефис (-) наиболее подходящий набор.

В файле не должно быть строк в другом формате (в данный момент они просто пропускаются программами getservent(3), getservbyname(3) и getservbyport(3). Однако, на это не стоит полагаться).

Данный файл может распространяться по сети с помощью сетевых служб имён, таких как Yellow Pages/NIS или BIND/Hesiod.

Пример файла services:

```
netstat         15/tcp
qotd            17/tcp          quote
msp             18/tcp          # message send protocol
msp             18/udp          # message send protocol
chargen         19/tcp          ttytst source
chargen         19/udp          ttytst source
ftp             21/tcp
# 22 - unassigned
telnet          23/tcp
```

## ФАЙЛЫ
/etc/services

список сетевых служб интернет

<netdb.h>

Определение _PATH_SERVICES

## СМОТРИТЕ ТАКЖЕ
listen(2), endservent(3), getservbyname(3), getservbyport(3), getservent(3), setservent(3), inetd.conf(5), protocols(5), inetd(8)

RFC с назначенными номерами, последний RFC 1700, (т.н. STD0002).


shells

title: shells(5)

text:
# shells(5)

## ИМЯ
shells - полные имена файлов разрешённых входных оболочек

## ОПИСАНИЕ
/etc/shells - это текстовый файл, содержащий полные имена файлов разрешённых входных оболочек. Этот файл учитывается chsh(1) и может быть затребован другими программами.

Удостоверьтесь, что те программы, которые учитывают этот файл, если пользователь является обычным пользователем; например, службы FTP, обычно, отключают доступ для тех пользователей, входные оболочки которых не указаны в этом файле.

## ФАЙЛЫ
/etc/shells

## ПРИМЕР
/etc/shells может содержать следующие пути:

```
/bin/sh
/bin/bash
/bin/csh
```

## СМОТРИТЕ ТАКЖЕ
chsh(1), getusershell(3), pam_shells(8)


slabinfo

title: slabinfo(5)

text:
# slabinfo(5)

## ИМЯ
slabinfo - сводная таблица использования блоков кэша (slab) ядра

## ОБЗОР
cat /proc/slabinfo

## ОПИСАНИЕ
Часто используемые объекты в ядре Linux (заголовки буферов, иноды, элементы dentry и тп.) имеют свои собственные кэши. В файле /proc/slabinfo отражена статистика их работы. Пример (отредактированный) содержимого этого файла:

```
$ sudo cat /proc/slabinfo
slabinfo - version: 2.1
# name    <active_objs> <num_objs> <objsize> <objperslab> <pagesperslab> ...
sigqueue      100  100  160   25  1 : tunables  0  0  0 : slabdata   4   4  0
sighand_cache 355   405 2112  15  8 : tunables  0  0  0 : slabdata  27  27  0
kmalloc-8192   96   96  8192   4  8 : tunables  0  0  0 : slabdata  24  24  0
...
```

В первой строке содержится номер версии, который позволяет приложению, читающему файл, определить формат файла (смотрите ВЕРСИИ ниже). В следующей строке перечисляются имена столбцов в оставшихся строках.

В каждой оставшейся строке выводится информация об определённом кэше. После имени данные каждого кэша делятся на три компонента:

- статистика

- регулировки (tunables)

- slabdata

Поля статистики:

active_objs

Количество активных (т. е., использующихся) в данный момент объектов.

num_objs

Общее количество выделенных объектов (т. е., используемых и не используемых объектов).

objsize

Размер объектов в этом кэше (slab), в байтах.

objperslab

Количество объектов, хранящихся в каждом кэше (slab).

pagesperslab

Количество страниц, выделенных для каждого кэша (slab).

Элементы регулировок в каждой строке содержат подстроечные параметры соответствующего кэша. При использовании выделителя по умолчанию SLUB они отсутствуют, файл /proc/slabinfo недоступен для записи и в этих полях показываются значения 0. При использовании старого выделителя SLAB регулировки определённого кэша можно изменять посредством записи строк в формате /proc/slabinfo:

```
# echo 'name limit batchcount sharedfactor' > /proc/slabinfo
```

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

Записи регулировок в каждой строке имеют следующие поля:

limit

Максимальное количество объектов, которые будут кэшироваться.

batchcount

Для многопроцессорных систем здесь задаётся количество объектов передаваемых одновременно, происходит наполнение списка доступных объектов.

sharedfactor

[Будет описано]

Записи slabdata в каждой строке имеют следующие поля:

active_slabs

Количество активных кэшей (slabs).

nums_slabs

Общее количество активных кэшей (slabs).

sharedavail

[Будет описано]

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

Ядра с включённым параметром CONFIG_DEBUG_SLAB также будут выдавать в каждой дополнительные поля статистики, а в первой строке файла будет слово «(statistics)». Поля статистики: максимальная отметка по активным объектам, количество раз, когда был выделен объект, количество раз, когда кэш рос (в этот кэш добавлялись новые страницы), количество раз, когда кэш урезался (из этого кэша удалялись неиспользуемые страницы), количество раз, когда возникала ошибка при выделении новых страниц для кэша.

## ВЕРСИИ
Фай /proc/slabinfo впервые появился в Linux 2.1.23. Файл содержит номер версии, которых было создано несколько с разными форматами:

1.0

В ядрах Linux 2.2.x.

1.1

В ядрах Linux 2.4.x.

1.2

Формат, существовавший короткое время в разрабатываемых версиях Linux 2.5.

2.0

В ядрах Linux 2.6.x по Linux 2.6.9, включительно.

2.1

Текущий формат, появился в Linux 2.6.10.

## ЗАМЕЧАНИЯ
Только суперпользователь может читать и (если ядро собрано с CONFIG_SLAB) изменять файл /proc/slabinfo.

Общее количество памяти, выделенное под кэш SLAB/SLUB, показано в поле Slab файла /proc/meminfo.

## СМОТРИТЕ ТАКЖЕ
slabtop(1)

Файл из дерева исходного кода ядра Documentation/vm/slub.txt и tools/vm/slabinfo.c.


sysfs

title: sysfs(5)

text:
# sysfs(5)

## ИМЯ
sysfs - файловая система для экспортируемых объектов ядра

## ОПИСАНИЕ
Файловая система sysfs — это псевдофайловая система, предоставляющая интерфейс к структурам данных ядра (точнее, файлы и каталоги в sysfs позволяют видеть структуры kobject, определённые внутри ядра). Файлы в sysfs показывают информацию об устройствах, модулях ядра, файловых системах и других компонентах ядра.

Обычно, файловая система sysfs монтируется в /sys. Это выполняется системой автоматически, но также можно монтировать её вручную с помощью команды:

```
mount -t sysfs sysfs /sys
```

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

### Файлы и каталоги
В следующем списке описаны некоторые файлы и каталоги в иерархии /sys.

/sys/block

В этом подкаталоге содержится по одной символьной ссылке на каждое блочное устройство, обнаруженное в системе. Символьные ссылки указывают на соответствующие каталоги в /sys/devices.

/sys/bus

В этом каталоге содержится по одному подкаталогу на каждый тип шины ядра. Внутри каждого каталога есть два подкаталога:

devices

Этот подкаталог содержит символьные ссылки на элементы в /sys/devices, которые соответствуют устройствам, обнаруженным на этой шине.

drivers

Этот подкаталог содержит по одному подкаталогу на каждый драйвер устройства, загруженный для этой шины.

/sys/class

Этот подкаталог содержит по одному слою дополнительных подкаталогов на каждый класс устройств, зарегистрированных в системе (например, терминалы, сетевые устройства, блочные устройства, графические устройства, звуковые устройства и т. д.). Внутри каждого из этих подкаталогов находятся символьные ссылки на каждое из устройств этого класса. Данные символьные ссылки указывают на элементы в каталоге /sys/devices.

/sys/class/net

Каждый элемент этого каталога представляет собой символьную ссылку на одно из реальных или виртуальных сетевых устройств, видимых в сетевом пространстве имён процесса, обратившегося к каталогу. Эти символьные ссылки указывают на элементы в каталоге /sys/devices.

/sys/dev

Этот каталог содержит два подкаталога — block/ и char/, соответствующие блочным и символьным устройствам в системе. Внутри каждого подкаталога находятся символьные ссылки с именами в виде основной-ID:дополнительный-ID, где значения ID соответствуют основному и дополнительному идентификаторами определённого устройства. Каждая символьная ссылка указывает на каталог sysfs для устройства. Таким образом, символьные ссылки в /sys/dev предоставляют простой способ просмотра интерфейса sysfs по идентификаторам устройств, возвращаемых вызовом stat(2) (или подобным).

Пример сеанса оболочки с выводом /sys/dev:

```
$ stat -c "%t %T" /dev/null
1 3
$ readlink /sys/dev/char/1\:3
../../devices/virtual/mem/null
$ ls -Fd /sys/devices/virtual/mem/null
/sys/devices/virtual/mem/null/
$ ls -d1 /sys/devices/virtual/mem/null/*
/sys/devices/virtual/mem/null/dev
/sys/devices/virtual/mem/null/power/
/sys/devices/virtual/mem/null/subsystem@
/sys/devices/virtual/mem/null/uevent

```

/sys/devices

В данном каталоге содержится представление в виде файловой системы для дерева устройств ядра, которое является иерархией структур device внутри ядра.

/sys/firmware

В этом подкаталоге содержатся интерфейсы для просмотра и изменения объектов и атрибутов микропрограмм.

/sys/fs

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

/sys/fs/cgroup

Обычно, этот каталог используется как точка монтирования файловой системы tmpfs(5), содержащей точки монтирования для файловых систем cgroups(7).

/sys/fs/smackfs

В каталоге содержатся файлы настройки SMACK LSM. Смотрите файл исходного кода ядра Documentation/admin-guide/LSM/Smack.rst.

/sys/hypervisor

[Будет описано]

/sys/kernel

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

/sys/kernel/cgroup/

Файлы этого каталога описаны в cgroups(7).

/sys/kernel/debug/tracing

Точка монтирования файловой системы tracefs, используемая свойством ядра ftrace (информацию по ftrace смотрите в файле исходного кода ядра Documentation/trace/ftrace.txt).

/sys/kernel/mm

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

/sys/kernel/mm/hugepages

Этот подкаталог содержит по одному подкаталогу на каждый размер огромных страниц ядра, поддерживаемых системой. В имени подкаталога показан размер огромной страницы (например, hugepages-2048kB). Внутри каждого подкаталога содержится набор файлов, которые могут быть использованы для просмотра и (в некоторых случаях) изменения настроек, относящихся к размеру огромных страниц. Дополнительную информацию смотрите в файле исходного кода ядра Documentation/admin-guide/mm/hugetlbpage.rst.

/sys/module

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

coresize

[Будет описано]

initsize

[Будет описано]

initstate

[Будет описано]

refcnt

[Будет описано]

srcversion

[Будет описано]

taint

[Будет описано]

uevent

[Будет описано]

version

[Будет описано]

В каждом подкаталоге могут быть следующие подкаталоги:

drivers

[Будет описано]

holders

[Будет описано]

notes

[Будет описано]

parameters

Этот каталог содержит по одному файлу на каждый параметр модуля; в каждом файле хранится значение соответствующего параметра. Некоторые файлы доступны на запись.

sections

В этих подкаталогах содержатся файла с информацией о разделах модуля. Эта информацию, в основном, используется для отладки.

[Будет описано]

/sys/power

[Будет описано]

## ВЕРСИИ
Файловая система sysfs впервые появилась в Linux 2.6.0.

## СООТВЕТСТВИЕ СТАНДАРТАМ
Файловая система sysfs есть только в Linux.

## ЗАМЕЧАНИЯ
Данная справочная страница неполна, в ней могут быть неточности и является одной из страниц, которую требуется обновлять очень часто.

## СМОТРИТЕ ТАКЖЕ
proc(5), udev(7)

P. Mochel. (2005). Файловая система sysfs. Представлен на симпозиуме Linux в Оттаве в 2005 году.

Файл исходного кода ядра Documentation/filesystems/sysfs.txt и другие различные файлы в Documentation/ABI и Documentation/*/sysfs.txt


termcap

title: termcap(5)

summary: база данных параметров терминалов

text:
# termcap(5)

## ИМЯ
termcap - база данных параметров терминалов

## ОПИСАНИЕ
База данных termcap - это устаревший метод описания возможностей алфавитно-цифровых терминалов и принтеров. Он оставлен лишь для обеспечения совместимости со старыми программами; новые программы должны использовать базу данных terminfo(5) и соответствующие ей библиотеки.

/etc/termcap представляет собой ASCII-файл (исходный текст базы данных), содержащий список параметров, принадлежащих различным типам терминалов. Программы могут читать содержимое termcap для того, чтобы распознавать управляющие последовательности, необходимые для контроля за визуальными атрибутами терминала. (Другие свойства терминалов контролируются stty(1).) База данных termcap проиндексирована в соответствии с переменной окружения TERM.

Записи termcap должны быть расположены в одной логической строке, в которой '\' используется для подавления символа новой строки. Поля разделяются символом ':'. Первое поле каждой записи начинается с крайней левой колонки и содержит список названий терминала, разделенных '|'.

Первое подполе может содержать краткое название терминала, состоящее из двух символов (это касается записей termcap в BSD версии 4.3 и более ранних). Это короткое имя может состоять из прописных и строчных букв. В записях termcap BSD версии 4.4 это поле не учитывается.

Второе подполе (первое в формате BSD 4.4) содержит название терминала, используемое в переменной окружения TERM. Оно должно быть написано строчными буквами. Различающиеся аппаратные возможности должны отмечаться при помощи суффикса, добавляемого к названию терминала через дефис. Смотрите пример, приведенный ниже. Обычные суффиксы: w (ширина терминала больше 80-и символов), am (автоматические границы), nam (нет автоматических границ) и rv (инверсный видеодисплей). Третье подполе содержит длинное описательное название записи termcap.

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

Несмотря на то, что порядок задания параметров не определён, рекомендуется сначала задавать логические параметры, затем числовые и только после них строковые параметры терминала. Каждая группа должна быть отсортирована в алфавитном порядке, без учета регистра. Параметры похожих свойств терминала должны быть записаны в одной строке.

Пример:

```
Загл. строка: vt|vt101|DEC VT 101 terminal in 80 character mode:\
З. строка: Vt|vt101-w|DEC VT 101 terminal in (wide) 132 character mode:\
Логическое значение: :bs:\
Цифровое значение: :co#80:\
Строковое значение: :sr=\E[H:\
```

### Возможности с логическими значениями

```
5i	Принтер не будет повторять символ на экране
am	Автоматические поля, т.е. автоматический перевод строки
bs	Control-H (8 дес.) выполняет забой (стирание)
bw	При забое на левом поле выполняется переход к правому полю
	на предыдущую строку
da	Дисплей фиксируется вверху экрана
db	Дисплей фиксируется внизу экрана
eo	Пространство, стирающее все символы от позиции курсора
es	Спец. последовательность и специальные символы
	работают в строке состояния
gn	Обычное устройство
hc	Печатающий терминал
HC	Курсор плохо видно, когда он не на нижней строке
hs	Есть строка состояния
hz	Ошибка Hazeltine, терминал не может печатать символы тильды
in	Терминал вставляет байты null, а не пробелы для заполнения
km	У терминала есть клавиша мета
mi	В режиме вставки работает перемещение курсора
ms	В режиме выделения/подчёркивания работает перемещение курсора
NP	Нет символа-заполнителя
NR	ti не выполняет инверсию te
nx	Заполнения нет, нужно использовать XON/XOFF
os	Терминал может печатать наложением
ul	Терминал умеет подчёркивать, но не поддерживает наложение
xb	Сбой beehive, f1 посылает ESCAPE, f2 посылает ^C
xn	Сбой при добавлении новой строки/переноса
xo	Терминал использует протокол xon/xoff
xs	Текст, набранный поверх выделенного, будет показан выделенным
xt	Сбой teleray, разрушающие табуляции и странный режим выделения
```

### Возможности с цифровыми значениями

```
co	Количество столбцов
dB	Задержка в миллисекундах для забоя на печатающих терминалах
dC	Задержка в миллисекундах для возврата каретки
	на печатающих терминалах
dF	Задержка в миллисекундах для перевода страницы
	на печатающих терминалах
dN	Задержка в миллисекундах для новой строки на печатающих терминалах
dT	Задержка в миллисекундах для остановки табуляции
	на печатающих терминалах
dV	Задержка в миллисекундах для остановки вертикальной табуляции
	на печатающих терминалах
it	Промежуток между позициями табуляции
lh	Высота функциональных ярлыков
lm	Количество строк памяти
lw	Ширина функциональных ярлыков
li	Количество строк
Nl	Количество функциональных ярлыков
pb	Минимальная скорость в бодах для заполнения
sg	Сбой выделения
ug	Сбой подчёркивания
vt	Номер виртуального терминала
ws	Ширина строки состояния (если отличается от ширины экрана)
```

### Возможности со строковыми значениями

```
!1	клавиша save в другом регистре
!2	клавиша suspend в другом регистре
!3	клавиша undo в другом регистре
#1	клавиша help в другом регистре
#2	клавиша home в другом регистре
#3	клавиша input в другом регистре
#4	клавиша cursor left в другом регистре
%0	клавиша redo
%1	клавиша help
%2	клавиша mark
%3	клавиша message
%4	клавиша move
%5	клавиша next-object
%6	клавиша open
%7	клавиша options
%8	клавиша previous-object
%9	клавиша print
%a	клавиша message в другом регистре
%b	клавиша move в другом регистре
%c	клавиша next в другом регистре
%d	клавиша options в другом регистре
%e	клавиша previous в другом регистре
%f	клавиша print в другом регистре
%g	клавиша redo в другом регистре
%h	клавиша replace в другом регистре
%i	клавиша cursor right в другом регистре
%j	клавиша resume в другом регистре
&0	клавиша cancel в другом регистре
&1	клавиша reference
&2	клавиша refresh
&3	клавиша replace
&4	клавиша restart
&5	клавиша resume
&6	клавиша save
&7	клавиша suspend
&8	клавиша undo
&9	клавиша begin в другом регистре
*0	клавиша find в другом регистре
*1	клавиша command в другом регистре
*2	клавиша copy в другом регистре
*3	клавиша create в другом регистре
*4	клавиша delete в другом регистре
*5	клавиша delete line в другом регистре
*6	клавиша select
*7	клавиша end в другом регистре
*8	клавиша clear line в другом регистре
*9	клавиша exit в другом регистре
@0	клавиша find
@1	клавиша begin
@2	клавиша cancel
@3	клавиша close
@4	клавиша command
@5	клавиша copy
@6	клавиша create
@7	клавиша end
@8	клавиша enter/send
@9	клавиша exit
al	Вставить одну строку
AL	Вставить %1 строк
ac	Пара блоков графических символов для отображения на альтернативный
	набор символов
ae	Конец альтернативного символьного набора
as	Начало альтернативного символьного набора для блока графических
	символов
bc	Backspace, если нет ^H
bl	Звонок
bt	Переместиться к предыдущей остановке табуляции
cb	Очистить от начала строки до курсора
cc	Символ пустой команды
cd	Очистить до конца экрана
ce	Очистить до конца строки
ch	Переместить курсор горизонтально в столбец %1
cl	Очистить экран и вернуть курсор в начальную позицию
cm	Переместить курсор на строку %1 и столбец %2 (на экране)
CM	Переместить курсор на строку %1 и столбец %2 (в памяти)
cr	Возврат каретки
cs	Прокрутить область от строки %1 до %2
ct	Очистить табуляции
cv	Переместить курсор вертикально на строку %1
dc	Удалить один символ
DC	Удалить %1 символов
dl	Удалить одну строку
DL	Удалить %1 строк
dm	Начало режима удаления
do	Переместить курсор вниз на одну строку
DO	Переместить курсор вниз на #1 строк
ds	Выключить строку состояния
eA	Включить альтернативный набор символов
ec	Стереть %1 символов, начиная с позиции курсора
ed	Конец режима удаления
ei	Конец режима вставки
ff	Символ перевода страницы на печатающих терминалах
fs	Вернуть символ в его позицию перед переходом в строку состояния
F1	Строка, посылаемая клавишей f11
F2	Строка, посылаемая клавишей f12
F3	Строка, посылаемая клавишей f13
...	...
F9	Строка, посылаемая клавишей f19
FA	Строка, посылаемая клавишей f20
FB	Строка, посылаемая клавишей f21
...	...
FZ	Строка, посылаемая клавишей f45
Fa	Строка, посылаемая клавишей f46
Fb	Строка, посылаемая клавишей f47
...	...
Fr	Строка, посылаемая клавишей f63
hd	Переместить курсор на половину строки вниз
ho	Переместить курсор в начальную позицию
hu	Переместить курсор на половину строки вверх
i1	Строка 1 инициализации при входе в систему
i3	Строка 3 инициализации при входе в систему
is	Строка 2 инициализации при входе в систему
ic	Вставить один символ
IC	Вставить %1 символов
if	Файл инициализации
im	Начать режим вставки
ip	Вставить время заполнения и необходимые специальные символы
	после вставки
iP	Программа инициализации
K1	Левая верхняя клавиша на доп. клавиатуре
K2	Центральная клавиша на доп. клавиатуре
K3	Правая верхняя клавиша на доп. клавиатуре
K4	Левая нижняя клавиша на доп. клавиатуре
K5	Правая нижняя клавиша на доп. клавиатуре
k0	Функциональная клавиша 0
k1	Функциональная клавиша 1
k2	Функциональная клавиша 2
k3	Функциональная клавиша 3
k4	Функциональная клавиша 4
k5	Функциональная клавиша 5
k6	Функциональная клавиша 6
k7	Функциональная клавиша 7
k8	Функциональная клавиша 8
k9	Функциональная клавиша 9
k;	Функциональная клавиша 10
ka	Стирание всех кодов табуляции
kA	Клавиша вставки строки
kb	Клавиша забоя
kB	Back tab stop
kC	Клавиша очистки экрана
kd	Клавиша курсор вниз
kD	Клавиша удаления символа под курсором
ke	Выключить цифровую доп. клавиатуру
kE	Клавиша очистки до конца строки
kF	Клавиша прокрутки вперёд/вниз
kh	Клавиша курсора home
kH	Клавиша курсора hown down
kI	Клавиша вставки символа/режима вставки
kl	Клавиша курсор влево
kL	Клавиша удаления строки
kM	Клавиша выхода из режима вставки
kN	Клавиша следующая страница
kP	Клавиша предыдущая страница
kr	Клавиша курсор вправо
kR	Клавиша прокрутки назад/вверх
ks	Включить цифровую доп. клавиатуру
kS	Очистить до конца экрана
kt	Очистить эту клавишу табуляции
kT	Задать клавишу Здесь табуляция
ku	Клавиша курсор вверх
l0	Ярлык нулевой функциональной клавиши, если нет f0
l1	Ярлык первой функциональной клавиши, если нет f1
l2	Ярлык второй функциональной клавиши, если нет f2
...	...
la	Ярлык десятой функциональной клавиши, если нет f10
le	Переместить курсор влево на один символ
ll	Переместить курсор в левый нижний угол
LE	Переместить курсор влево на %1 символов
LF	Выключить функциональные ярлыки
LO	Включить функциональные ярлыки
mb	Включить мигание
MC	Очистить мягкие границы
md	Включить режим жирности
me	Выкличить все режимы: so, us, mb, md и mr
mh	Включить режим половинной яркости
mk	Тёмный режим (символы невидимы)
ML	Задать левую мягкую границу
mm	Перевести терминал в мета режим
mo	Вывести терминал из мета режима
mp	Включить атрибут защиты
mr	Включить обратный режим
MR	Задать правую мягкую границу
nd	Переместить курсор вправо на один символ
nw	Команда возврата каретки
pc	Символ заполнения
pf	Выключить принтер
pk	Запрограммировать клавишу %1 для отправки строки %2,
	как если бы она была набрана пользователем
pl	Запрограммировать клавишу %1 для выполнения строки %2
	в локальном режиме
pn	Запрограммировать функциональный ярлык %1 для показа строки %2
po	Включить принтер
pO	Включить принтер в режим по %1 (<256) байт
ps	Напечатать содержимое экрана на принтере
px	Запрограммировать клавишу %1 для отправки строки %2 в компьютер
r1	Строка сброса 1 для установки терминала в нормальные режимы
r2	Строка сброса 2 для установки терминала в нормальные режимы
r3	Строка сброса 3 для установки терминала в нормальные режимы
RA	Выключить автоматические границы
rc	Восстановить сохранённую позицию курсора
rf	Имя файла для строки сброса
RF	Запросить ввод с терминала
RI	Переместить курсор вправо на %1 символов
rp	Повторить символ %1 %2 раз
rP	Заполнить после отправки символа в режиме замены
rs	Сбросить строку
RX	Выключить протокол XON/XOFF для управления потоком
sa	Задать атрибуты %1 %2 %3 %4 %5 %6 %7 %8 %9
SA	Включить автоматические границы
sc	Сохранить позицию курсора
se	Конец режима выделения
sf	Прокрутить на одну строку
SF	Прокрутить на %1 строк
so	Начало режима выделения
sr	Изменить направление прокрутки
SR	Прокрутить назад на %1 строк
st	Задать остановку табуляции в текущем столбце во всех строках
SX	Включить протокол XON/XOFF для управления потоком
ta	Переместиться на следующую аппаратную позицию табуляции
tc	Прочитать описание терминала из другого элемента
te	Конец программы для перемещения курсора
ti	Начало программы для перемещения курсора
ts	Переместить курсов в столбец %1 в строке состояния
uc	Подчеркнуть символ под курсором и переместить курсор вправо
ue	Закончить подчёркивание
up	Переместить курсор вверх на 1 строку
UP	Переместить курсор вверх на %1 строк
us	Начать подчёркивание
vb	Визуальный звонок
ve	Видим обычный курсор
vi	Курсор невидим
vs	Курсор выделения
wi	Задать окно от строки %1 до %2 и от столбца %3 до %4
XF	Символ XOFF, если нет ^S
```

Есть несколько способов определения управляющих кодов со строковыми значениями:

Обычные символы, исключая '^', '\', и '%'.

Значение ^x означает Control-x. Control-A эквивалентно десятичной единице.

\x означает специальный код. x может быть одним из следующих символов:

E Escape (27)

n Перевод строки (10)

r Возврат каретки (13)

t Табуляция (9)

b Забой (8)

f Прогон страницы (12)

0 Символ Null. Комбинация \xxx задаёт восьмеричный символ xxx.

i

Увеличивает параметр на единицу

r

Возможность одиночного параметра

+

Добавление значения следующего символа к данному параметру и выполнение вывода получившегося двоичного кода

2

Выполнение ASCII вывода данного параметра с полем 2

d

Выполнение ASCII вывода данного параметра с полем 3

%

Напечатать '%'

Если используется двоичный вывод, то нужно избегать символа null ('\0'), потому что он завершает строку. Вы должны сбросить расширение табуляции, если табуляция может быть в двоичном выводе значения параметра.

Предупреждение:

Приведённые ранее используемые в параметрах метасимволы могут быть ошибочны: так они описаны в Minix termcap, который может быть несовместим с Linux termcap.

Блок графических символов может быть задан через три строковых значения:

as

начало альтернативного набора символов

ae

конец альтернативного набора символов

ac

пара символов. Первый символ является именем блока графического символа, а второй является символом его описания.

Доступны следующие имена:

```
+	стрелка вправо (>)
,	стрелка влево (<)
.	стрелка вниз (v)
0	закрашенный квадрат (#)
I	фонарик (#)
-	стрелка вверх (^)
'	ромб (+)
a	шашечки (:)
f	градус (')
g	плюс-минус (#)
h	квадрат (#)
j	правый нижний уголок (+)
k	правый верхний уголок (+)
l	левый верхний уголок (+)
m	левый нижний уголок (+)
n	крест (+)
o	верхняя горизонтальная линия (-)
q	средняя горизонтальная линия (-)
s	нижняя горизонтальная линия (_)
t	Т-образный символ с чертой слева (+)
u	Т-образный символ с чертой справа (+)
v	Т-образный символ с чертой снизу (+)
w	Т-образный символ (+)
x	вертикальная линия (|)
~	параграф (???)
```

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

## СМОТРИТЕ ТАКЖЕ
ncurses(3), termcap(3), terminfo(5)


tmpfs

title: tmpfs(5)

summary: файловая система в виртуальной памяти

text:
# tmpfs(5)

## ИМЯ
tmpfs - файловая система в виртуальной памяти

## ОПИСАНИЕ
Свойство tmpfs позволяет создавать файловые системы, чьё содержимое находится в виртуальной памяти. Так как файлы в таких файловых системах, обычно, располагаются в оперативной памяти, то доступ к файлах очень быстр.

Файловая система создаётся автоматически при монтировании с типом tmpfs с помощью команды следующего вида:

```
$ sudo mount -t tmpfs -o size=10M tmpfs /mnt/mytmpfs
```

Файловая система tmpfs имеет следующие свойства:

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

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

- При операции перемонтирования (mount -o remount), размер файловой системы можно изменить (без потери имеющегося содержимого файловой системы).

При размонтировании файловой системы tmpfs её содержимое уничтожается (теряется).

### Параметры монтирования
Файловая система tmpfs поддерживает следующие параметры монтирования:

size=байт

Задать максимальный размер файловой системы. Указывается в байтах и округляется до полного размера страницы.

У размера может быть указан суффикс k, m или g единиц измерения Ki, Mi, Gi (двоичный кило (kibi), двоичный мега (mebi) и двоичный гига (gibi) -байт).

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

Если size или nr_blocks не заданы, то по умолчанию используется size=50%.

nr_blocks=блоков

То же, что и size, но считается в блоках PAGE_CACHE_SIZE.

У блоков может быть задан суффикс k, m или g, как у size, но нельзя задать суффикс %.

nr_inodes=инод

Максимальное количество инод в экземпляре. Значением по умолчанию является или половина количества страниц оперативной памяти, или (для машины с highmem) количество страниц памяти lowmem, выбирается меньшее.

У инод может быть задан суффикс k, m или g, как у size, но нельзя задать суффикс %.

mode=права

Назначить начальные права на корневой каталог.

gid=gid (начиная с Linux 2.5.7)

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

uid=uid (начиная с Linux 2.5.7)

Назначить начальный идентификатор пользователя на корневой каталог.

huge=huge_option (начиная с Linux 4.7.0)

Задать алгоритм выделения огромной табличной памяти для всех файлов в этом экземпляре (если включён CONFIG_TRANSPARENT_HUGE_PAGECACHE).

Значением huge_option может быть одно из:

never

Не выделять огромные страницы. По умолчанию.

always

Каждый раз пытаться выделить огромные страницы при необходимости в новой странице.

within_size

Выделять огромную страницу только, если в ней займётся i_size. Также учитываются подсказки fadvise(2)/madvise(2).

advise

Выделять огромные страницы только, если они запрашиваются с помощью fadvise(2)/madvise(2).

deny

Запретить включение огромных страниц у всех монтирований, используется в экстренных случаях.

force

Принудительно включить огромные страницы у всех монтирований; полезно при отладке.

mpol=mpol_option (начиная с Linux 2.6.15)

Задать алгоритм выделения памяти NUMA для всех файлов в этом экземпляре (если включён CONFIG_NUMA).

Значением mpol_option может быть одно из:

default

Использовать алгоритм выделения из процесса (смотрите set_mempolicy(2)).

prefer:узел

Отдавать предпочтение выделению памяти из указанного узла.

bind:список_узлов

Выделять память только на узлах из списка_узлов.

interleave

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

interleave:список_узлов

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

local

Отдавать предпочтение выделению памяти из локального узла.

Здесь список_узлов — это список перечисленных через запятую десятичных чисел идиапазонов, указывающие узлы NUMA. Диапазон задаётся парой десятичных чисел через тире, наименьший и наибольший номера узлов диапазона. Пример: mpol=bind:0-3,5,7,9-15.

## ВЕРСИИ
Свойство tmpfs было добавлено в Linux 2.4 как последователь старого свойства ramfs, в котором отсутствует возможность проверки ограничения и использования пространства подкачки.

## ЗАМЕЧАНИЯ
Чтобы пользовательские инструменты и приложения могли создавать файловые системы tmpfs ядро должно быть собрано с параметром CONFIG_TMPFS.

Файловая система tmpfs поддерживает расширенные атрибуты (смотрите xattr(7)), но расширенные атрибуты user не допускаются.

Для общей памяти System V shmget(2)) и общих анонимных отображений (mmap(2) с флагами MAP_SHARED и MAP_ANONYMOUS) используется внутренняя файловая система общей памяти. Эта файловая система доступна независимо от того, собрано ли ядро с параметром CONFIG_TMPFS.

Файловая система tmpfs, смонтированная в /dev/shm, используется для реализации общей памяти POSIX (shm_overview(7)) и семафоров POSIX (sem_overview(7)).

Объём памяти, использованной во всех файловых системах tmpfs показывается в поле Shmem файла /proc/meminfo и в поле shared, показываемом free(1).

Свойство tmpfs раньше называлось shmfs.

## СМОТРИТЕ ТАКЖЕ
df(1), du(1), memfd_create(2), mmap(2), set_mempolicy(2), shm_open(3), mount(8)

Файлы исходного кода ядра Documentation/filesystems/tmpfs.txt и Documentation/admin-guide/mm/transhuge.rst.


ttytype

title: ttytype(5)

text:
# ttytype(5)

## ИМЯ
ttytype - отображение терминального устройства на тип терминала по умолчанию

## ОПИСАНИЕ
Файл /etc/ttytype связывает имена типов из termcap(5)/terminfo(5) с линиями tty. Каждая строка состоит из типа терминала, пробел, имя терминала (имя устройства без префикса /dev/).

Эта связь используется программой tset(1) для настройки переменной окружения TERM на имя терминала по умолчанию для пользователей текущего tty.

Это средство было разработано для традиционной среды с разделением времени, благодаря символьным терминалам, которые были неотъемлемой частью мини-компьютера UNIX. Оно мало используется на современных рабочих станциях и персональных системах UNIX.

## ФАЙЛЫ
/etc/ttytype

Файл определений tty.

## ПРИМЕР
Обычно /etc/ttytype следующий:

```
con80x25 tty1
vt320 ttys0
```

## СМОТРИТЕ ТАКЖЕ
termcap(5), terminfo(5), agetty(8), mingetty(8)


tzfile

title: tzfile(5)

summary: информация о часовом поясе

text:
# tzfile(5)

## ИМЯ
tzfile - информация о часовом поясе

## ОПИСАНИЕ
Файлы с информацией о часовых поясах, используемые tzset(3), обычно, находятся в каталоге /usr/share/zoneinfo. Они начинаются с 44-байтного заголовка, содержащего следующие поля:

- Информационная (magic) четырехбайтовая последовательность ASCII “TZif” , означающая, что это файл с информацией о часовом поясе.

- Байт с версией формата файла (например 2017, ASCII NUL или “2”, или “3”).

- Пятнадцать байт, заполненных нулями, зарезервированы для использования в будущем.

- Шесть четырехбайтовых целых значений, записанных в стандартном порядке байт (старший байт значения записывается первым). Значения по порядку:

tzh_ttisgmtcnt

Количество UT/локальных (local) индикаторов в файле.

tzh_ttisstdcnt

Количество стандартных/местных (wall) индикаторов в файле.

tzh_leapcnt

Количество високосных секунд, для которых в файле определены элементы данных.

tzh_timecnt

Количество моментов перевода часов, для которых в файле определены элементы данных.

tzh_typecnt

Количество типов локального времени, для которых в файле определены элементы данных (не должно быть равно 0).

tzh_charcnt

Количество байт строк аббревиатур часовых поясов, определённых в файле.

После заголовка, описанного выше, располагаются поля, длина которых зависит от содержимого заголовка:

- Четырёхбайтовые знаковые целые tzh_timecnt, сортируются в порядке возрастания. Эти значения записываются в стандартном порядке байт. Каждое значение используется как момент перевода часов (возвращаемый time(2)), по правилам которого вычисляется изменение локального времени.

- Однобайтовые беззнаковые целые tzh_timecnt; все кроме последнего описывают как различные типы типов локального времени, указанные в файле, связаны с периодом времени, начинающимся как переходное время с тем же индексом и перечисляются (исключая) до следующего переходного времени (тип последнего времени указывается только для проверки целостности строки TZ в формате POSIX, описанном ниже). Эти значения служат индексами для следующего поля.

- Элементы tzh_typecnt ttinfo определены следующим образом:

```
struct ttinfo {
	int32_t	tt_gmtoff;
	unsigned char	tt_isdst;
	unsigned char	tt_abbrind;
};

```

Каждая структура состоит из четырехбайтного знакового числа tt_gmtoff, записанного в стандартном порядке байт; за ним следует однобайтное значение tt_isdst и однобайтное значение tt_abbrind. В каждой структуре tt_gmtoff означает, сколько секунд надо добавить к UT; tt_isdst определяет, будет ли tm_isdst устанавливаться localtime(3), а tt_abbrind является индексом массива аббревиатур байт часовых поясов, за которым в файле следуют структуры ttinfo.

- Пары четырехбайтных значений tzh_leapcnt, записанные в стандартном порядке байт; первое значение каждой пары задает неотрицательное время (возвращаемое time(2)) появления високосной секунды; вторая пара определяет общее количество високосных секунд, добавляемых во время периода времени, начинающегося в указанное время. Пары значений располагаются в порядке возрастания времени. Каждым переходом считается одна високосная секунда, положительная или отрицательная; переходы всегда отстают друг от друга на не менее чем 28 дней минус 1 секунда.

- Индикаторы стандартного/местного времени tzh_ttisstdcnt, хранимые в виде однобайтовых значений; эти индикаторы определяют, как связаны моменты перевода часов с локальными типами времени: согласно стандартному или местному времени. Эти индикаторы используются, когда файл с информацией о часовых поясах работает с POSIX-совместимыми переменными окружения часовых поясов.

- UT/локальные индикаторы tzh_ttisgmtcnt, хранимые в виде однобайтовых значений; эти индикаторы определяют, как связаны моменты перевода часов с локальными типами времени: согласно UT или локальному времени. Эти индикаторы используются, когда файл с информацией о часовых поясах работает с POSIX-совместимыми переменными окружения часовых поясов.

Функция localtime(3) использует первую структуру стандартного времени ttinfo из этого файла (или просто первую структуру ttinfo при отсутствии структуры стандартного времени), если значение tzh_timecnt равно нулю или аргумент времени меньше первого момента перевода часов, записанного в файле.

### Формат версии 2
Для файлов версии 2 с информацией о часовых поясах вышеприведённый заголовок и данные, идущие за вторым заголовком и данными, идентичны по формату, за исключением того, что для каждого перевода времени или високосной секунды используется восемь байт (високосная секунда занимает оставшиеся четыре байта). После второго заголовка и данных следует закрывающий символ новой строки, строка в формате переменной TZ из окружения POSIX для обработки моментов сразу после последнего перевода времени, хранящегося в файле или для всех моментов, если в файле нет переводов. Строка TZ в формате POSIX будет пустой (т. е. между символами новой строки ничего нет), если для таких моментов нет представления POSIX. Если она не пуста, то строка TZ в формате POSIX должна соответствовать типу локального времени после обоих данных о временах последнего перевода, если она представлена в виде восьми байтов данных; например, если задана строка “WET0WEST,M3.5.0,M10.5.0/3” то, если последний перевод времени был в июле, тип перевода локального времени должен задаваться сокращением для времени перевода на зимнее время “WEST” то соответствует одному часу UT. Также, если есть хотя бы один перевод, то тип времени 0 связывается с периодом времени из бесконечного прошлого до, но исключая, самый ранний перевод времени.

### Формат версии 3
В формате файлов часовых поясов версии 3 в строке в стиле POSIX-TZ можно использовать два небольших расширения формата POSIX TZ, это описывается в newtzset(3). Во-первых, часовая часть времён перевода может быть знаковой и имеет диапазон с -167 по 167, и не соответствовать беззнаковому значению POSIX от 0 до 24. Во-вторых, DST действует на весь год, если он начинается с 1 января 00:00 и заканчивается 31 декабря в 24:00 плюс разница между зимним и обычным временем.

В будущих изменениях формата могут появиться дополнительные данные.

## СМОТРИТЕ ТАКЖЕ
time(2), localtime(3), tzset(3), tzselect(8), zdump(8), zic(8)


utmp

title: utmp(5)

summary: записи о входах в систему

text:
# utmp(5)

## ИМЯ
utmp, wtmp - записи о входах в систему

## ОБЗОР
\#include <utmp.h>

## ОПИСАНИЕ
Файл utmp позволяет получать информацию о том, кто в данный момент работает в системе. Пользователей, в данное время использующих систему, может быть большое количество, поскольку не все программы используют протоколирование через utmp.

Предупреждение: utmp не должен быть доступен на запись классу пользователей "остальные", так как многие системные программы (что очень глупо) зависят от его целостности. Вы рискуете получить фиктивные системные файлы статистики и изменения в системных файлах, если предоставите любому пользователю возможность писать в файл utmp кроме владельца и группы, которой принадлежит файл.

Файл состоит из списка записей с типом структуры utmp, объявленной в <utmp.h> (заметим, что в данном случае указано только один из вариантов; детали зависят от версии libc):

```
/* Значения поля ut_type приведены далее */
#define EMPTY         0 /* запись не содержит корректной информации

                           (также называемая UT_UNKNOWN в Linux) */
#define RUN_LVL       1 /* изменение уровня выполнения (см.

                           init(8)) */
#define BOOT_TIME     2 /* время загрузки системы (в ut_tv) */
#define NEW_TIME      3 /* время после изменения часов системы

                           (в ut_tv) */
#define OLD_TIME      4 /* время до изменения часов в системе

                           (в ut_tv) */
#define INIT_PROCESS  5 /* процесс запущен init(8) */
#define LOGIN_PROCESS 6 /* процесс-лидер сеанса для пользовательского входа */
#define USER_PROCESS  7 /* нормальный процесс */
#define DEAD_PROCESS  8 /* завершённый процесс */
#define ACCOUNTING    9 /* не реализовано */
#define UT_LINESIZE      32
#define UT_NAMESIZE      32
#define UT_HOSTSIZE     256
struct exit_status {              /* тип для ut_exit, описан далее */

    short int e_termination;      /* код завершения процесса */

    short int e_exit;             /* код выхода процесса */
};
struct utmp {

    short   ut_type;              /* тип записи */

    pid_t   ut_pid;               /* PID процесса входа в систему */

    char    ut_line[UT_LINESIZE]; /* имя устройства tty - "/dev/" */

    char    ut_id[4];             /* суффикс имени терминала

                                     или inittab(5) ID */

    char    ut_user[UT_NAMESIZE]; /* имя пользователя */

    char    ut_host[UT_HOSTSIZE]; /* имя узла при удалённом входе или

                                     версия ядра для сообщений

                                     уровня выполнения */

    struct  exit_status ut_exit;  /* код выхода процесса,

                                     помеченного как DEAD_PROCESS; не

                                     используется Linux init(1) */

    /* Поля ut_session и ut_tv должны быть одинакового размера и при

       32- и при 64-битной компиляции. Это позволяет использовать файлы

       данных и память одновременно и в 32- и в 64-битных приложениях. */
#if __WORDSIZE == 64 && defined __WORDSIZE_COMPAT32

    int32_t ut_session;           /* ID сеанса (getsid(2)),

                                     используемый при работе с окнами */

    struct {

        int32_t tv_sec;           /* секунды */

        int32_t tv_usec;          /* микросекунды */

    } ut_tv;                      /* время создания элемента */
#else

     long   ut_session;           /* ID сеанса */

     struct timeval ut_tv;        /* время создания элемента */
#endif

    int32_t ut_addr_v6[4];        /* интернет-адрес удалённого

                                     узла; для адреса IPv4 используется

                                     только ut_addr_v6[0] */

    char __unused[20];            /* зарезервировано для будущего

                                     использования */
};
/* разное для обратной совместимости */
#define ut_name ut_user
#ifndef _NO_UT_TIME
#define ut_time ut_tv.tv_sec
#endif
#define ut_xtime ut_tv.tv_sec
#define ut_addr ut_addr_v6[0]
```

Эта структура дает имя специальному файлу, связанному с терминалом пользователя, именем входа пользователя и временем входа в виде как у time(2). Поля строк заканчиваются байтом null ('\'), если они короче, чем размер поля.

Самые первые записи создаются init(1) после обработки inittab(5). Хотя перед тем, как элемент обрабатывается, init(1) очищает utmp, устанавливая ut_type равным DEAD_PROCESS, заполняя ut_user, ut_host и ut_time нулевыми байтами в записях, в которых ut_type не равен DEAD_PROCESS или RUN_LVL и для которых не существует процессов с PID, равным ut_pid. Если не найдено ни одной пустой записи с нужным ut_id, то init(1) создает новую. Он устанавливает значение ut_id из inittab, ut_pid и ut_time из текущих значений и ut_type в INIT_PROCESS.

mingetty(8) (или agetty(8)) находит элементы по их идентификатору PID, меняет ut_type на LOGIN_PROCESS, изменяет ut_time, устанавливает ut_line и ожидает установки соединения.login(1), после того как пользователь был идентифицирован, меняет ut_type на USER_PROCESS, изменяет ut_time и устанавливает ut_host и ut_addr. В зависимости от mingetty(8) (или agetty(8)) и login(1), записи могут быть расположены в соответствии с ut_line, вместо более предпочитаемого ut_pid.

Когда init(1) обнаруживает, что процесс завершился, он находит его запись в utmp по ut_pid, устанавливает ut_type в DEAD_PROCESS, и затирает ut_user, ut_host и ut_time нулями.

xterm(1) и другие эмуляторы терминалов самостоятельно создают запись USER_PROCESS и генерируют ut_id, используя последние две буквы имени из имени терминала (символы после /dev/[pt]ty). Если они обнаруживают DEAD_PROCESS для этого ID, то они удаляют его или создают новый элемент. Если возможно, они пометят его как DEAD_PROCESS при выходе; предполагается, что они также обнуляют ut_line, ut_time, ut_user и ut_host.

telnetd(8) устанавливает элемент LOGIN_PROCESS и оставляет остальное, как обычно, аргументу для login(1). После завершения сеанса telnet, telnetd(8) очищает utmp вышеописанным путем.

В файл wtmp записываются все входы и выходы в систему. Его формат в точности похож на формат utmp, за исключением того, что пустое имя пользователя означает выход из системы через связанный терминал. Кроме того, название терминала ~ с именем пользователя shutdown или reboot означает выключение системы или её перезагрузку, а пара названий терминала |/} означает старое/новое системное время в случае, когда date(1) меняет их. В wtmp пишут login(1), init(1) и некоторые версии getty(8) (например, mingetty(8) или agetty(8)). Ни одна из этих программ не создает файл, поэтому если он удалён, то ведение записей заканчивается.

## ФАЙЛЫ
/var/run/utmp

/var/log/wtmp

## СООТВЕТСТВИЕ СТАНДАРТАМ
В POSIX.1 структура utmp не определена, но есть похожая с именем utmpx и полями ut_type, ut_pid, ut_line, ut_id, ut_user и ut_tv. В POSIX.1 не указан размер полей ut_line и ut_user.

В Linux структура utmpx совпадает со структурой utmp.

### Сравнение со старыми системами
В Linux записи utmp не следуют форматам ни v7/BSD ни System V; они содержат поля из обоих форматов.

v7/BSD имеет меньшее количество полей; важнее всего то, что в нём нет ut_type, который заставляет v7/BSD-совместимые программы выводить, к примеру, отработавшие записи или записи о входе систему. Также в этой версии отсутствует файл настройки, который определяет места для сеансов. Всё это делается в BSD из-за отсутствия поля ut_id.

В Linux (как в System V) поле ut_id записи никогда не меняется после того, как один раз установлено, что позволяет резервировать место без необходимости в файле настройки. Очищение ut_id может привести к соперничеству, приводящему к повреждению элементов utmp и нарушению безопасности системы. Очистка вышеупомянутых полей нулями не требуется согласно семантике System V, но позволяет запускать многие программы, которые используют семантику BSD и которые не изменяют utmp. Linux использует соглашение BSD при работе с содержимым строк, как описано ранее.

В System V нет полей ut_host и ut_addr_v6.

## ЗАМЕЧАНИЯ
В отличии от других систем, где протоколирование сообщений utmp может быть выключено простым удалением файла, в Linux файл utmp всегда должен существовать. Если вы хотите отключить who(1), то просто сделайте чтение utmp недоступным всем остальным.

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

Заметим, что на двуархитектурных платформах, то есть системах, которые позволяют запускать сразу 32- и 64-битные приложения (x86-64, ppc64, s390x и т.д.), поле ut_tv имеет одинаковый размер в 32- и 64-битном режиме. Это же относится к ut_session и ut_time, если они есть. Это позволяет использовать файлы данных и память одновременно и в 32- и в 64-битных приложениях. Данная возможность достигается сменой типа ut_session на int32_t и ut_tv на структуру с двумя полями int32_t — tv_sec и tv_usec. Так как ut_tv не может быть одинакова с struct timeval, то вместо вызова:

```
gettimeofday((struct timeval *) &ut.ut_tv, NULL);
```

для установки значения этого поля рекомендуется использовать:

```
struct utmp ut;
struct timeval tv;
gettimeofday(&tv, NULL);
ut.ut_tv.tv_sec = tv.tv_sec;
ut.ut_tv.tv_usec = tv.tv_usec;
```

## СМОТРИТЕ ТАКЖЕ
ac(1), date(1), init(1), last(1), login(1), logname(1), lslogins(1), users(1), utmpdump(1), who(1), getutent(3), getutmp(3), login(3), logout(3), logwtmp(3), updwtmp(3)


apt.conf

package: man-pages-ru-extra

title: apt.conf(5)

summary: файл с настройками для APT

text:
# apt.conf(5)

## НАЗВАНИЕ
apt.conf - файл с настройками для APT

## ОПИСАНИЕ
apt.conf - это основной файл с настройками для инструментов APT, все инструменты используют данный файл с настройками и общий анализатор командной строки для предоставления унифицированного окружения. Когда какой-либо инструмент APT начинает свою работу, он читает /etc/apt/apt.conf, затем читает настройки заданные переменной окружения $APT_CONFIG и наконец применяет опции командной строки для перекрытия директив настройки и возможно загрузки дополнительных файлов с настройками.

Файл с настройками организовывается в виде дерева с опциями сконцентрированными по функциональным группам. Спецификация опции осуществляется с помощью нотации из двух двоеточий, например APT::Get::Assume-Yes - это опция внутри группы инструментов APT, для инструмента GET. Опции не наследуют от своих родительских групп.

Синтаксически язык настроек основывается на инструментах ISC, таких как bind и dhcp. Каждая строка имеет форму

APT::Get::Assume-Yes "true";

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

```
APT {

  Get {

    Assume-Yes "true";

    Fix-Broken "true";

  };
};
```

где текст разбит по строкам с добавлением пробелов для удобства чтения. Списки могут быть созданы путем открытия нового контекста включая одиночное слово, заключенное в кавычки, за которым должна следовать точка с запятой. Обычно файл с настройками /usr/doc/apt/examples/apt.conf и /usr/doc/apt/examples/configure-index (или /usr/share/doc/apt*/examples/configure-index в Conectiva) являются хорошим руководством на тему того, как должны выглядеть файлы с настройками.

Все инструменты APT понимают опцию -o, которая позволяет указать нужную директиву настройки в командной строке. Синтаксис такой: за полным именем опции (например APT::Get::Assume-Yes) должен следовать знак равенства и новое значение этой опции. Списки могут быть дополнены также через добавление завершающего :: к имени списка.

## ГРУППА APT
Это группа опций управляет общим поведением APT, а также содержит опции общие для всех инструментов.

Architecture

Архитектура системы; устанавливает архитектуру, которая используется, когда происходит выкачивание файлов и обработка списков пакетов. Внутренняя установка по умолчанию соответствует той архитектуре для которой был скомпилирован apt.

Ignore-Hold

Игнорировать пакеты в состоянии Hold. Общие опции заставляют систему разрешения проблем в APT игнорировать эти пакеты при выполнении операций.

Clean-Installed

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

Immediate-Configure

Запретить немедленную настройку; Это опасная опция запрещает некоторый код APT, который обычно выполняется и который заставляет APT делать некоторые вызовы dpkg. Указывать эту опцию может быть необходимо на некоторых особо медленных однопользовательских системах, но очень опасно и может привести к ошибке сценария установки пакетов. Используйте эту опцию на свой страх и риск. Эта опция не возымеет никакого значения на системах базирующихся на RPM.

Force-LoopBreak

Никогда не разрешайте эту опцию если вы -действительно- не знаете, что она делает. Она дает возможность APT временно удалить необходимые для работы системы пакеты, чтобы разбить зацикливание в случаях Conflicts/Conflicts или Conflicts/Pre-Depend между двумя необходимыми в работе системы пакетами. ТАКИЕ ЗАЦИКЛИВАНИЯ НИКОГДА НЕ ДОЛЖНЫ СУЩЕСТВОВАТЬ И ЯВЛЯЮТСЯ ГРУБЕЙШЕЙ ОШИБКОЙ. Данная опция будет работать, если необходимые для работы системы пакеты - это не tar, gzip, libc, dpkg, bash или любые другие, от которых зависят эти пакеты.

Cache-Limit

APT использует фиксированный размер файла кэша в памяти для хранения информации доступной информации. Данная опция устанавливает размер этого кэша.

Get

Подсекция Get управляет инструментом apt-get(8), пожалуйста смотрите подробности в документации по этой программе.

Cache

Подсекция Cache управляет инструментом apt-cache(8), пожалуйста смотрите подробности в документации по этой программе.

CDROM

Подсекция CDROM управляет инструментом apt-cdrom(8), пожалуйста смотрите подробности в документации по этой программе.

## ГРУППА Acquire
Группа опций Acquire управляет получением пакетов и обработчиками URI.

Queue-Mode

Режим очереди; Queue-Mode может принимать значение host или access, которые определяют как APT будет распараллеливать исходящие соединения. Значение host означает, что будет открываться одно соединение для каждого нужного узла, а access означает, что будет открываться одно соединение для каждого URI.

Retries

Количество выполняемых попыток. Если оно отлично от нуля, то apt в случае возникновения ошибок будет пытаться выкачать файлы заданное количество раз.

Source-Symlinks

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

http

HTTP URI; http::Proxy -- это используемый http proxy по умолчанию. Он пишется в стандартной форме http://[[user][:pass]@]host[:port]/. Прокси на каждый узел также могут быть заданы в форме http::Proxy::<узел> вместе со специальным словом DIRECT означающим, что прокси использовать не надо. Переменная окружения $http_proxy перекрывает эти установки.

Для управления кэшем с HTTP/1.1 прокси кэшами, предоставляются три настройки. No-Cache говорит, что прокси в любом случае не должен использовать свой кэшированный ответ, Max-Age посылается только для индексных файлов и говорит кэшу обновить эти объекты, если они старше, чем заданное количество секунд. Debian обновляет свои индексные файлы каждый день, так что по умолчанию установлен как раз 1 день. No-Store говорит, что кэш никогда не должен хранить этот запрос, эта настройка устанавливается только для архивных файлов. Это может быть полезно для предотвращения появления в кэше прокси очень больших .deb файлов. Замечание: Squid 2.0.2 не поддерживает все эти опции.

Опция timeout устанавливает таймер таймаута, используемый данным методом, это влияет на все функции, включая таймаут соединения и таймаут приема данных.

Еще одна настройка предоставляются для управления глубиной в случаях, когда удаленный сервер не соответствует RFC или имеет ошибки (как Squid 2.0.2) Acquire::http::Pipeline-Depth может принимать значения от 0 до 5 говоря как много исходящих запросов может сделать APT.

ftp

FTP URI; ftp::Proxy -- это используемый ftp proxy по умолчанию. Он пишется в стандартной форме ftp://[[user][:pass]@]host[:port]/ и перекрывается переменной окружения ftp_proxy. Для использования ftp прокси вам нужно будет установить сценарий ftp::ProxyLogin в файле с настройками. Этот параметр задает команду для отправки ответов прокси серверу при установке соединения. Пожалуйста смотрите пример того как это делается в /usr/doc/apt/examples/configure-index. Доступны следующие подстановки переменных $(PROXY_USER), $(PROXY_PASS), $(SITE_USER), $(SITE_PASS), $(SITE) и $(SITE_PORT). Каждая из них является частичкой соответствующего URI.

Опция timeout устанавливает таймер таймаута, используемый данным методом, это влияет на все функции, включая таймаут соединения и таймаут приема данных.

Для управления пассивным режимом предоставляется несколько настроек. Обычно, для безопасной работы оставляют включенным пассивный режим, он работает в любом окружении. Однако, некоторые ситуации требуют, чтобы пассивный режим был запрещен и вместо него был использован режим порта ftp. Обычно это нужно для соединений, которые осуществляются через прокси или специфический узел (Смотрите пример файла с настройками)

Возможно использование прокси FTP через HTTP при установке переменной окружения ftp_proxy в http URL - смотрите обсуждение метода http на предмет синтаксиса. Вы не можете сделать это в файле с настройками и это не рекомендуется, так как использование FTP через HTTP снижает производительность.

cdrom

CDROM URI; только устанавливает точку монтирования для CDROM URI, cdrom::Mount которая должна быть точкой монтирования для устройства CDROM как задано в /etc/fstab. Есть возможность предоставить альтернативные команды mount и umount если ваша точка монтирования не может быть указана в fstab (как в случае с SMB mount). Надо поместить "/cdrom/"::Mount "foo"; внутри блока cdrom. Важно, чтобы имелся завершающий символ "/". Команда umount может быть задана с использованием слова UMount.

## КАТАЛОГИ
Секция Dir::State содержит каталоги, которые имеют отношение к информации о состоянии пакетов. lists -- это каталог где помещается список выкаченных пакетов и status -- это имя файла status для dpkg. Dir::State содержит каталог по умолчанию, который является приставкой для всех под-элементов, если они не начинаются с / или ./. xstatus и userstatus будут использованы в будущем.

Dir::Cache содержит местоположение локальной информации кэша, такой как два кэша пакетов srcpkgcache и pkgcache, а также местоположение полученных архивов, Dir::Cache::archives. Как и Dir::State каталог по умолчанию содержится в Dir::Cache

Dir::Etc содержит местоположение файлов с настройками, sourcelist дает местоположение списка источников, а main является файлом с настройками по умолчанию (установки здесь эффекта не имеют)

Бинарные программы указываются через Dir::Bin. methods задает местоположение обработчиков методов и gzip, dpkg, rpm, apt-get, dpkg-source, dpkg-buildpackage и apt-cache задает местоположение соответствующих программ.

## APT в DSelect
Когда APT используется как метод в dselect(8), поведение по умолчанию могут изменить различные директивы. Они находятся в секции DSelect.

Clean

Режим очистки кэша; директива может принимать значения: always, auto, prompt и never. always будет удалять все архивы после того, как они выкачены, в то время как auto будет удалять только те архивы, которые больше не могут быть выкачены (например, заменены на новые версии).

Options

Содержимое этой переменной передается программе apt-get(8) как опции командной строки, когда эта программа запускается для фазы установки.

UpdateOptions

Содержимое этой переменной передается программе apt-get(8) как опции командной строки, когда эта программа запускается для фазы обновления.

PromptAfterUpdate"

Если установлено true, то операция [U]pdate в dselect всегда будет выдавать приглашение для продолжения. По умолчанию приглашение выдается только при ошибках.

## Как APT вызывает dpkg
Вот некоторые директивы настройки, управляющие тем, как APT вызывает dpkg. Они находятся в секции DPkg.

Options

Это список опций передаваемых dpkg. Эти опции должны быть заданы в списковой нотации и каждый элемент списка передается как один аргумент для dpkg.

Pre-Invoke, Post-Invoke

Это список команд shell для запуска перед/после вызова dpkg. Как и в опции Options они должны быть указаны в списковой нотации. Эти команды вызываются по порядку, используя /bin/sh, и в случае неудачного выполнения любой из них APT завершит свою работу.

Pre-Install-Pkgs

Это список команд shell для запуска перед вызовом dpkg. Как и в опции Options они должны быть указаны в списковой нотации. Эти команды вызываются по порядку, используя /bin/sh, и в случае неудачного выполнения любой из них APT завершит свою работу. Apt передает этим командам на стандартный ввод имена всех .deb файлов, которые он будет устанавливать по одному в строке.

Run-Directory

APT изменяет рабочий каталог на заданный перед вызовом dpkg, по умолчанию это /.

Build-Options

Эти опции передаются программе dpkg-buildpackage для компиляции пакетов, по умолчанию компилируются все бинарные пакеты и запрещается подпись.

## ОПЦИИ ОТЛАДКИ
Большинство опций в секции debug не интересны обычному пользователю, однако Debug::pkgProblemResolver показывает интересные данные о ходе процесса dist-upgrade. Debug::NoLocking запрещает блокировку файлов, так что apt может делать некоторые операции в режиме не-root и Debug::pkgDPkgPM (или Debug::pkgRPMPM) будет выдавать командную строку для каждого вызова dpkg. Debug::IdentCdrom запретит подключение данных statfs в идентификаторах (ID) CDROM.

## ПРИМЕРЫ
/usr/doc/apt/examples/configure-index.gz или /usr/share/doc/apt*/configure-index содержит пример файла с настройками, показывающими значения по умолчанию для всех возможных опций.

## ФАЙЛЫ
/etc/apt/apt.conf

## СМОТРИТЕ ТАКЖЕ
apt-cache(8), apt-get(8)

## ОШИБКИ
Смотри http://bugs.debian.org/apt. Если вы хотите отправить отчет об ошибке в apt-cache, пожалуйста смотрите /usr/doc/debian/bug-reporting.txt или команду bug(1). Если вы используете систему базирующуюся на RPM, то в этом случае, пожалуйста, воспользуйтесь http://distro.conectiva.com.br/bugzilla/.

## АВТОР
apt-get была написана командой APT <apt@packages.debian.org> и портирован на системы базирующиеся на RPM Alfredo K. Kojima, <kojima@conectiva.com.br>, из Conectiva S.A.

## ПЕРЕВОД
Перевод с английского сделал Виктор Вислобоков <victor_v@permonline.ru>


auditd.conf

title: auditd.conf(5)

summary: файл конфигурации службы аудита

text:
# auditd.conf(5)

## ИМЯ
auditd.conf - файл конфигурации службы аудита

## ОПИСАНИЕ
В файле /etc/audit/auditd.conf определяются параметры службы аудита. На одной строке может быть не больше одной директивы. Директива состоит из ключевого слова (названия параметра), знака равенства и соответствующих ему данных (значения параметра). Все названия и значения параметров чувствительны к регистру. Допустимые ключевые слова перечислены и описаны ниже. Каждая строка должна быть ограничена 160 символами, иначе она будет пропущена. К файлу можно добавить комментарии, начав строку с символа '#'.

local_events

Ключевое слово yes/no указывающее, следует ли включать запись локальных событий (значение по умолчанию - yes). В случае если необходимо записывать только сообщения из сети, следует установить значение - no. Этот параметр полезен, если демон аудита работает в контейнере. Данный параметр может быть установлен только один раз при запуске аудита. Перезагрузка файла конфигурации никак не влияет на этот параметр.

log_file

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

write_logs

Ключевое слово yes/no указывающее, следует ли записывать журналы (значение по умолчанию - yes).

log_format

Оформление данных в протоколе. Допустимы два значения: raw и enriched. При указании RAW, данные будут записываться в том виде, в котором они получаются от ядра. Значение ENRICHED разрешает всю информацию: идентификатор пользователя (uid), идентификатор группы (gid), системный вызов (syscall), архитектуру и адрес сокета перед записью события на диск. Это помогает осмыслить события, созданные в одной системе, но сообщенные/проанализированные в другой системе. Значение NOLOG устарело, вместо него следует установить параметр write_logs в значение no.

log_group

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

priority_boost

Приоритет выполнения службы аудита. Значение по умолчанию - 4. Для того чтобы не изменять приоритет, следует указать 0.

flush

Стратегия работы с дисковым буфером. Допустимые значения: none, incremental, incremental_async, data и sync. Вариант none, отключает какие-либо дополнительные действия со стороны службы по синхронизации буфера с диском. При значении incremental, запросы на перенос данных из буфера на диск выполняются с частотой задаваемой параметром freq. Значение incremental_async очень похоже на значение incremental за исключением того, что перенос данных выполняется асинхронно для более высокой производительности. При значении data данные файла синхронизируются немедленно. Значение sync указывает на необходимость немедленной синхронизации как данных, так и метаданных файла при записи на диск. Значение по умолчанию - incremental_async.

freq

Максимальное число записей протокола, которые могут храниться в буфере. При достижении этого числа производится запись буферированных данных на диск. Данный параметр допустим только в том случае, когда параметр flush имеет значение incremental или incremental_async.

num_logs

Максимальное число файлов с протоколами. Используется в том случе, если параметр max_log_file_action имеет значение rotate. Если указано число меньше 2, при достижении ограничения на размер файла он обнуляется. Значение параметра не должно превышать 999. Значение по умолчанию: 0 (т.е. ротация файлов не происходит). При указании большого числа может потребоваться увеличить ограничение на количество ожидающих запросов. Это можно сделать в файле /etc/audit/audit.rules. Если настроена ротация журналов, демон проверяет наличие лишних журналов и удаляет их, чтобы освободить место на диске. Проверка выполняется только при запуске и при проверке изменения конфигурации.

disp_qos

Разрешить ли блокирование при взаимодействии с диспетчером. Для передачи информации диспетчеру используется буфер размером 128 Кбайт. Это значение является оптимальным для большинства случаев. Если блокирование запрещено (lossy), то все сообщения, поступающие при полном буфере, не будут доходить до диспетчера (записи о них по-прежнему будут вноситься в файл на диске, если только log_format не равно nolog). В случае если блокирование разрешено (lossless), служба аудита будет ожидать появления свободного места в очереди, передавать сообщение диспетчеру и только потом записывать его на диск. Допустимые значения: lossy и lossless. Значение по умолчанию - lossy.

dispatcher

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

name_format

Контролирует, как имена узлов компьютеров вставляются в поток событий аудита. Допустимы следующие значения: none, hostname, fqd, numeric, и user. При значении none имя компьютера не используется в записи аудита. hostname - имя, возвращаемое системным вызовом gethostname. Значение fqd означает, что аудит принимает имя хоста и разрешает его с помощью DNS в полное доменное имя этой машины. Значение numeric схоже с fqd, за исключением того, что разрешается IP адрес машины. Чтобы использовать эту опцию, нужно проверить, что команда 'hostname -i' или 'domainname -i' возвращает числовой адрес. Кроме того, эта опция не рекомендуется, если используется dhcp, поскольку у одной и той же машины в разное время могут быть разные адреса. User это строка, определенная администратором в параметре name. Значение по умолчанию: none.

name

Строка, определенная администратором, которая идентифицирует компьютер, если в параметре name_format указано значение user.

max_log_file

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

max_log_file_action

Действие предпринимаемое при достижении размером файла протокола максимального значения. Допустимые значения: ignore, syslog, suspend, rotate и keep_logs. Вариант ignore, отключает контроль за размером файла. При значении syslog в системный протокол будет внесено соответствующее сообщение. При значении suspend дальнейшее ведение протокола будет прекращено. Служба по-прежнему будет работать. При значении rotate текущий файл будет переименован и для протокола будет создан новый файл. Имя предыдущего протокола будет дополнено числом 1, а номера других протоколов (если они имеются) будут увеличены на единицу. Таким образом, чем больше номер у протокола, тем он старше. Такое поведение аналогично поведению утилиты logrotate. Вариант keep_logs аналогичен предыдущему, но число файлов не ограничено (не используется параметр num_logs). Это предотвращает потерю протоколов аудита. Протоколы накапливаются и не удаляются, что вызовет space_left_action, если весь объем заполнится. Это значение следует использовать в сочетании с внешним сценарием, который будет периодически архивировать журналы.

verify_email

Определяет, указан ли адрес электронной почты в параметре action_mail_acct и проверяет, можно ли разрешить имя домена. Этот параметр должен быть предоставлен до параметра action_mail_acct иначе будет использовано значение по молчанию - yes.

action_mail_acct

Адрес электронной почты или алиас. Значение по умолчанию: root. Если адрес не локальный по отношению к данной системе, необходимо чтобы в ней был настроен механизм отправки почты. В частности, требуется наличие программы /usr/lib/sendmail.

space_left

Минимум свободного пространства в мегабайтах, при достижении которого должно выполняться действие определяемое следующим параметром.

space_left_action

Действие предпринимаемое при достижении объёмом свободного пространства на диске указанного минимума. Допустимые значения - ignore, syslog, rotate, email, exec, suspend, single и halt. При значении ignore, никаких действий не производится. При значении syslog в системный протокол добавляется соответствующая запись. При значении rotate будет производиться ротация журналов, с удалением самых старых, чтобы освободить место на диске. При значении email по адресу указанному в action_mail_acct отправляется уведомление, а также производится запись в системный журнал. При значении exec <путь к программе> запускается программа по указанному пути. Передача параметров не поддерживается. Программа также отвечает за указанию демону auditd возобновить запись в журнал, по завершению выполнения данной программы. Этого можно добиться, добавив соответствующую команду в скрипт. При значении suspend служба аудита прекратит вести протокол событий на диске, но будет продолжать работать. Указание single приведёт к переводу компьютера в однопользовательский режим. Указание halt приведёт к выключению компьютера.

admin_space_left

Критический минимум свободного пространства в мегабайтах, при достижении которого должно выполняться действие определяемое следующим параметром. Данное действие следует рассматривать как последнюю меру, предпринимаемую перед тем, как закончится место на диске. Значение настоящего параметра должно быть меньше значения space_left.

admin_space_left_action

Действие предпринимаемое при достижении объёмом свободного пространства на диске указанного критического минимума. Допустимые значения - ignore, syslog, rotate, email, exec, suspend, single и halt. При значении ignore, никаких действий не производится. При значении syslog в системный протокол добавляется соответствующая запись. При значении rotate будет производиться ротация журналов, с удалением самых старых, чтобы овободить место на диске. При значении email по адресу указанному в action_mail_acct отправляется уведомление, а также производится запись в системный журнал. При значении exec <путь к программе> запускается программа по указанному пути. Передача параметров не поддерживается. Программа также отвечает за указанию демону auditd возобновить запись в журнал, по завершению выполнения данной программы. Этого можно добиться, добавив соответствующую команду в скрипт. При значении suspend служба аудита прекратит вести протокол событий на диске, но будет продолжать работать. Указание single приведёт к переводу компьютера в однопользовательский режим. Указание halt приведёт к выключению компьютера.

disk_full_action

Действие предпринимаемое при обнаружении отсутствия свободного пространства на диске. Допустимые значения - ignore, syslog, rotate, exec, suspend, single и halt. При значении ignore, никаких действий не производится. При значении syslog в системный протокол добавляется соответствующая запись. При значении rotate будет производиться ротация журналов, с удалением самых старых, чтобы овободить место на диске. При значении exec /некоторый-путь запускается сценарий по указанному пути. Программа также отвечает за указанию демону auditd возобновить запись в журнал, по завершению выполнения данной программы. Этого можно добиться, добавив соответствующую команду в скрипт. Передача параметров сценарию не поддерживается. При значении suspend служба аудита прекратит вести протокол событий на диске, но будет продолжать работать. Указание single приведёт к переводу компьютера в однопользовательский режим. Указание halt приведёт к выключению компьютера.

disk_error_action

Действие предпринимаемое при возникновении ошибки в работе с диском. Допустимые значения - ignore, syslog, exec, suspend, single и halt. При значении ignore, никаких действий не производится. При значении syslog в системный журнал будет записано не более 5 последовательных предупреждений. При значении exec /некоторый-путь запускается сценарий по указанному пути. Передача параметров сценарию не поддерживается. При значении suspend служба аудита прекратит вести протокол событий на диске, но будет продолжать работать. Указание single приведёт к переводу компьютера в однопользовательский режим. Указание halt приведёт к выключению компьютера.

tcp_listen_port

Числовое значение в диапазоне 1..65535, при указании которого auditd будет прослушивать соответствующий TCP порт для аудита удаленных систем. Демон аудита может быть связан с tcp_wrappers, чтобы контролировать, какие машины могут подключаться. В этом случае можно добавить запись в hosts.allow и отказать в соединении. Если решение развернуто в ОС на основе systemd может потребоваться изменить параметр 'After'. См. примечание в файле auditd.service.

tcp_listen_queue

Количество разрешенных ожидающих подключений (запрошенных, но не принятых). Значение по умолчанию - 5. Установка слишком маленького значения может привести к отклонению соединений, при одновременном запуске нескольких хостов (например, после сбоя питания).

tcp_max_per_addr

Количество одновременных подключений с одного IP адреса. Значение по умолчанию - 1, максимальное значение - 1024. Установка слишком большого значения может привести к атаке типа "отказ в обслуживании" при ведении журнала сервером. Значение по умолчанию подходит в большинстве случаев.

use_libwrap

Следует ли использовать tcp_wrappers для распознавания попыток подключения с разрешенных компьютеров. Допустимые значения yes, или no . Значение по умолчанию - yes.

tcp_client_ports

Порты, с которых можно принимать соединение. Значением параметра может быть либо число, либо два числа, разделенные тире (пробелы не допускаются). Если порт не казан, соединения принимаются с любого порта. Допустимые значения 1..65535. Например, для указания клиенту использовать привилегированный порт, следует указать значение 1-1023 для этого параметра, а также установить опцию local_port в файле audisp-remote.conf. Проверка того, что клиенты отправляют сообщения с привилегированного порта, это функция безопасности, предотвращающая атаки с использованием инъекций.

tcp_client_max_idle

Количество секунд, в течение которых клиент может бездействовать (то есть никаких данных от него нет). Используется для закрытия неактивных соединений, если на компьютере клиенте возникла проблема, из-за которой он не может завершить соединение корректно. Это глобальный параметр, его значение должно быть больше (желательно, в два раза), чем любой параметр клиента heartbeat_timeout. Значение по умолчанию - 0, что отключает эту проверку.

enable_krb5

При значении yes - использовать Kerberos 5 для аутентификации и шифрования. Значение по умолчанию - no.

krb5_principal

Принципал для этого сервера. Значение по умолчанию - auditd. При значении по умолчанию, сервер будет искать ключ с именем типа auditd/hostname@EXAMPLE.COM в /etc/audit/audit.key для аутентификации себя, где hostname - имя сервера, возвращаемое запросом DNS имени по его IP адресу.

krb5_key_file

Расположение ключа для принципала этого клиента. Файл ключа должен принадлежать пользователю root и иметь права 0400. По умолчанию - файл /etc/audit/audit.key

distribute_network

При значении yes, события, поступающие из сети будут передаваться диспетчеру аудита для обработки. Значение по умолчанию - no.

## ПРИМЕЧАНИЯ
В среде CAPP (Controlled Access Protection Profile - контролируемый профиль защиты доступа) ведение протоколов настолько важно, что невозможность его продолжения может служить основанием отказа в доступе к ресурсам. Поэтому рекомендуется выделять для /var/log/audit специальный раздел.

Параметр flush должен быть установлен в значение sync или data.

Для обеспечения полного использования раздела параметрам max_log_file и num_logs следует присвоить соответствующие значения. Следует отметить, что чем больше файлов создаётся на диске (и соответственно переименовывается), тем больше времени будет уходить на обработку событий при достижении размером очередного файла максимума. Параметру max_log_file_action рекомендуется присвоить значение keep_logs.

Значение space_left должно быть таким, которое позволит администратору вовремя среагировать на предупреждение. Обычно в число действий выполняемых администратором входит запуск aureport -t и архивирование самых старых протоколов. Значение space_left зависит от системы, в частности от частоты поступления сообщений о событиях. Значение space_left_action рекомендуется установить в email. Если требуется отправка сообщения snmp trap, укажите вариант exec.

Установите значение admin_space_left таким образом, чтобы хватило свободного места для сохранения записей о последующих действиях администратора. Значение параметра admin_space_left_action следует установить в single, ограничив, таким образом, способы взаимодействия с системой консолью.

Действие указанное в disk_full_action, выполняется, когда в разделе уже не осталось свободного места. Доступ к ресурсам машины должен быть полностью прекращён, так как нет возможности контролировать работу системы. Это можно сделать, указав значение single или halt.

Значение disk_error_action следует установить в syslog, single, либо halt в зависимости от соглашения относительно обработки сбоев аппаратного обеспечения.

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

## ФАЙЛЫ
/etc/audit/auditd.conf

Файл конфигурации службы аудита

## СМ. ТАКЖЕ
auditd(8), audisp-remote.conf(5).

## АВТОР
Стив Граб (Steve Grubb)

## ПЕРЕВОД
Перевод с английского Николай Шафоростов <shafff@ukr.net> 2007

Перевод с английского Елена Мишина <lepata@altlinux.org> 2019