Linux
Шрифт:
KEYBOARDTYPE="pc" КЕYTABLE="ru"
• kudzu – файл, отвечающий за поведение программы kudzu при перезапуске системы – как она будет себя вести при обнаружении нового оборудования; • mouse – этот файл определяет параметры мыши, эмуляцию нажатия третьей кнопки и файл устройства. Пример файла mouse:
MOUSETYPE="imps2"
XMOUSETYPE=" imps/2"
FULLNAME="Microsoft IntelliMouse (PS/2)"
XEMU3=no
DEVICE=/dev/mouse• sendmail – файл, определяющий как стартует программа sendmail и через сколько времени отправляется почтовая очередь;
• squid – этот файл отвечает за настройки программы squid;
• syslog – этот файл отвечает за настройку демона syslog;
• xinetd – этот файл отвечает за настройку демона xinetd, который в Linux заменяет inetd.
/etc/X11 – конфигурационные файлы для X Window SystemКаталог содержит конфигурационные файлы XII, специфичные для данного хоста. Если соответствующие пакеты установлены, в каталоге должны находиться следующие файлы или символические связи:
• Xconfig – конфигурационный файл для ранних версий XFree86;
• XF86Config – конфигурационный файл для XFree86 версии 3 и 4;
• Xmodmap – глобальный файл клавиатурных раскладок X11.
/etc/sgml – конфигурационные файлы для SGML и XMLКаталог содержит базовые конфигурационные файлы для определения параметров высокого уровня для SGML или XML. Файлы с именами *.conf обозначают базовые конфигурационные файлы. Файлы с именами *.cat – DTD-специфичные централизированные каталоги, содержащие руководства по всем остальным каталогам.
Каталог /home – пользовательские домашние каталоги
В каталоге находятся домашние каталоги пользователей. Как правило, каждый пользователь каталога в небольшой системе имеет свой домашний каталог, и имя домашнего совпадает с именем (login) пользователя. Например, у пользователя frozzy домашний каталог – /home/frozzy. Типичное содержимое каталога
/cedit
/Desktop
/.dia
/.gimp-1.2
/.gnome
/.gnome-desktop
/.gnome_private
/.gnp
/kde
/.mc
/.netscape
/nsmail
/.sawfish
.bash_history
.bash_logout
.bash_profile
.bashrc
.ICEauthority
.screenrcКак можно видеть, это, в основном, конфигурационные файлы программ, установленных в операционной системе.
Каталог /lib – важные разделяемые библиотеки и модули ядра
Каталог содержит разделяемые библиотеки, необходимые для загрузки системы и запуска команд в корневой файловой системе, т. е. только для файлов, находящихся в каталоге /bin и /sbin. По меньшей мере одна из групп файлов должна находиться в каталоге /lib:
• libc.so.* – динамически подключаемая (линкуемая) библиотека С;
• Id* – линкер/загрузчик (linker/loader) времени выполнения.
Следующие каталоги также должны находится в каталоге /lib:
• /modules – загружаемые модули ядра;
• /security – модули РАМ.
Каталог /lost+found
Каталог, который обязательно должен присутствовать на каждом разделе. (Если, к примеру, винчестер разбит на три раздела, которые монтируются в /, /home, /var, то в корневой файловой системе, в катал ore /home и в каталоге /var будет присутствовать /lost+found.) Назначение этого каталога достаточно очевидно – при аварийных ситуациях возможна потеря информации. Специальная утилита chkfsk восстанавливает (если, конечно, это возможно) утерянную информацию. Однако иногда невозможно достоверно определить принадлежность восстановленных данных какому-нибудь определенному файлу. В этом случае восстановленные данные помещаются в каталог /lost+found.
Каталог /misc – точка монтирования автоматически монтируемых устройств
Каталог предназначен для использования в качестве точки монтирования дискет и CD-ROM программой automount.
Каталог /mnt – точка монтирования для временно монтируемой файловой системы
Каталог предназначен для того, чтобы системный администратор мог временно монтировать файловую систему (например, дискету или CD-ROM). В различных дистрибутивах Linux в каталоге /mnt могут находиться каталоги, являющиеся точками монтирования дискет, разделов жесткого диска, CD-ROM и т. п. Например, в только что установленном Red Hat 7.1 в каталоге /mnt находятся каталоги /cdrom и /floppy, которые являются точками монтирования для CD-ROM и дискет. Если в каталоге /mnt находятся какие-то файлы и к каталогу /mnt монтируется некий раздел, то файлы, находящиеся в каталоге /mnt, становятся недоступны до тех пор, пока не размонтируют раздел, подмонтированный к /mnt.
Каталог /opt – дополнительные программные пакеты
Каталог зарезервирован для инсталляции дополнительного программного обеспечения. Пакет, который устанавливается в каталог /opt, должен хранить свои неизменяемые файлы в каталоге /орt/<имя_пакета>, где <имя_пакета> – имя устанавливаемого пакета. Структура поддерева каталогов в каталоге <имя_пакета>:
• /bin;
• /doc;
• /lib;
• /man
И т. д.
Исполняемые модули надо размещать в каталоге /bin, а если пакет включает в себя документацию, ее надо сохранить в каталоге /doc. При наличии страниц справочной системы, размещать их в /орt/<имя_пакета>/man и использовать подструктуру каталогов, как в /usr/share/man. Специфичные для конкретного пакета библиотеки размещаются в /орt/<имя_пакета>/lib и т. д. Файлы пакета, которые могут изменяться, должны быть установлены в каталоге /var/opt. Хост-специфичные конфигурационные файлы должны быть установлены в /etc/opt.
Каталог /proc – точка монтирования виртуальной файловой системы procfs
Procfs является псевдофайловой системой, обеспечивающей интерфейс с ядром Linux. Эта система позволяет получить доступ к определенным структурам данных ядра, в частности, к списку процессов (отсюда и название). Все эти структуры выглядят как файловая система, и ими можно оперировать обычными средствами работы с файловой системой.
Структура каталогов в /proc:
• /1 – подкаталог процесса, имя каталога соответствует номеру PID-процесса;
• /2;
• /3;
• /4;
• /5;
• /6;
• /7;
• /384;
• /389;
• /403;
• /418;
• /490;
• /5196;
• /bus – каталог содержит специфичную информацию, касающуюся шин (PCI, ISA);
• /driver – здесь сгруппированы различные драйверы;
• /fs – каталог содержит параметры файловых систем;
• /ide – каталог содержит информацию о IDE-подсистеме;
• /irq – маски для управления аппаратными прерываниями;
• /net – сетевая информация;
• /sys – системная информация;
• /sysvipc – информация о SysVIPC-ресурсах (msg, sem, shm);
• /tty – информация о TTY-драйверах;
• apm – расширенная информация управлением питанием;
• cmdline – командная строка ядра операционной системы;
• cpuinfo – информация о микропроцессоре;
• devices – доступные устройства (блочные и символьные);
• dma – используемые каналы DMA;
• execdomains – используемые домены;
• fb – Frame Buffer-устройства;
• filesystems – поддерживаемые файловые системы;
• interrupts – используемые прерывания;
• iomem – карта памяти;
• ioports – используемые порты ввода/вывода;
• isapnp – информация о ISA-устройствах;
• kcore – образ ядра операционной системы;
• kmsg – сообщения ядра;
• ksyms – таблица символов ядра;
• loadavg – средняя загрузка за последние 1, 5 и 15 минут;
• locks – «защелки» ядра;
• mdstat– файл, сообщающий о конфигурации RAID-массива системы;
• meminfo – информация о памяти;
• misc – различная информация, не попавшая не в одну из категорий;
• modules – список загруженных модулей;
• mounts – смонтированные файловые системы;
• mtrr – управление использованием памяти;
• partitions – список разделов, известных системе;
• pci – устаревшая информация о PCI-шине (см. /proc/bus/pci/);
• its – часы реального времени;
• scsi – информация о SCSI-устройствах;
• self – символическая ссылка к каталогу процесса, пытающегося получить информацию из /proc;
• slabinfo – информация о Slab;
• stat – разнообразная статистика;
• swaps – использование разделов и файлов подкачки;
• uptime – время работы системы без перезагрузки;
• version – версия ядра;
• video – BTTV-информация о видеоресурсах.
/proc/№процесса_PID-процессаКаталог имеет имя, соответствующее номеру PID-процесса. Каждый процесс в системе имеет соответствующий ему каталог в /proc. В этом каталоге обязательно находятся следующие файлы:
• cmdline – файл, содержащий аргументы командной строки процесса;
• cpu – текущий и последний использовавшийся микропроцессор (только для мультипроцессорных систем);
• /cwd – ссылка на текущий рабочий каталог;
• environ – содержит значения переменных окружения;
• ехе – ссылка на исполняемый файл этого процесса;
• /fd – каталог, содержащий все файловые дескрипторы данного процесса;
• maps – карты памяти исполняемых и библиотечных файлов;
• mem – память, занятая этим процессом;
• /root – ссылка на корневой каталог этого процесса;
• stat – статус процесса;
• statm – информация об использовании процессом памяти;
• status – статус процесса в форме, воспринимаемой человеком.
/proc/ide – IDE-устройства, установленные в системеВ каталоге содержится информация обо всех установленных в системе IDE-устройствах, в том числе используемые драйверы.
/proc/net – сетевая информацияВ этом каталоге содержится информация, относящаяся к сети. Следующие файлы являются общими как для протокола IPv4, так и IPv6:
• агр – ARP-таблица ядра;
• dev – сетевые устройства со своей статистикой;
• dev_stat – статус сетевого устройства;
• ip_fwchains – связи цепочки Firewall;
• ip_fwnames – имена цепочек Firewall;
• /ip_masq – каталог содержит таблицы маскарадинга [2] ;
• ip_masquerade – главная таблица маскарадинга;
• netstat – сетевая статистика;
• raw – статистика сетевых устройств;
• route – таблица маршрутизации ядра;
• /грс – каталог содержит RPC-информацию;
• rt_cache – кэш маршрутизации;
• snmp – данные SNMP;
• sockstat – статистика сокетов;
• tcp – ТСР-сокеты;
• tr_rif – таблица маршрутизации Token ring RIF;
• udp – UDP-сокеты;
• unix – UNIX-сокеты;
• wireless – данные беспроводного интерфейса (Wavelan и т. п.);
• igmp – IP-адреса, которые хост принимает;
• psched – параметры глобального администратора пакетов;
• netlink – список PF_NETLINK-сокетов;
• ip_mr_vifs – список виртуальных интерфейсов;
• ip_mr_cache – список кэша маршрутизации.
Файлы, приведенные ниже, используются протоколом IPv6:
• udp6 – UDP-сокеты (IPv6);
• tcp6 – ТСР-сокеты (IPv6);
• raw6 – статистика устройств (IPv6);
• igmp6 – IP-адреса, принимаемые хостом (IPv6);
• if_inet6 –
• ipv6_route – таблица маршрутизации для IPv6;
• rt6_stats – общая статистика IРv6-таблиц маршрутизации;
• sockstat6 – статистика сокетов (IPv6);
• snmp6 – SNMP-данные (IPv6).
/proc/parport – параллельные портыКаталог содержит информацию обо всех параллельных портах, установленных в системе.
/proc/scsi – SCSI-устройства, установленные в системеЕсли в компьютере установлены SCSI-устройства, то должен существовать каталог /proc/scsi. В нем содержится информация обо всех установленных в системе SCSI-устройствах, в том числе используемые драйверы.
/proc/sys – системная информацияЭтот каталог содержит файлы, изменением которых можно, не перегружая системы, изменять различные параметры ядра.
/proc/sys/dev – информация, специфическая для устройств
На сегодняшний день поддерживаются только устройства CD-ROM.
/proc/sys/fs – данные файловой системы
Каталог содержит различную информацию о файловой системе.
/proc/sys/kerriel – основные параметры ядра операционной системы
В этом каталоге находятся файлы, с помощью которых можно изменять настройки ядра операционной системы.
/proc/sys/net – сетевая «начинка»
Этот каталог содержит интерфейс по управлению различными сетевыми протоколами. В этом каталоге могут находиться следующие подкаталоги:
• /802 – протокол Е802;
• /appletalk – Appletalk-протокол;
• /ах25 – АХ25;
• /bridge – Bridging;
• /core – основные параметры;
• /decnet – DEC-net;
• /ethernet – Ethernet-протокол;
• /ipv4 – IP версии 4;
• /ipv6 – IP версии 6;
• /ipx – IPX;
• /netrom – NET/ROM;
• /rose – X.25 PLP layer;
• /token-ring – IBM token ring;
• /unix – UNIX domain sockets;
• x25 – протокол X.25.
/proc/sys/sunrpc – удаленные вызовы процедур
Каталог содержит файлы, которые разрешают или запрещают отладку удаленно вызываемых процедур.
/proc/sys/vm – виртуальная подсистема памяти
Файлы в этом каталоге используются для настройки виртуальной подсистемы памяти ядра Linux.
/proc/tty – терминалыЗдесь содержится информация о доступных и используемых терминалах.
Каталог /root – домашний каталог для пользователя root (администратора)
Существенных причин для вынесения домашнего каталога /root в корневой уровень нет. Однако существует практика выделения отдельного раздела для каталога /home, который при аварийных ситуациях может не подмонтироваться. По-видимому, по этой причине каталог /root вынесли на корневой уровень.
Каталог /sbin – системные исполняемые файлы
Утилиты, используемые для системного администрирования, и другие, используемые только администратором (пользователем root), хранятся в каталогах /sbin, /usr/sbin и /usr/local/sbin. Каталог /sbin содержит исполняемые файлы, необходимые для загрузки, восстановления, починки системы в добавление к файлам, находящимся в каталоге /bin. Программы, используемые после монтирования файловых систем, в основном помещаются в каталог /usr/sbin. Административные программы, используемые только на локальной системе, помещаются в каталог /usr/local/sbin.
Обычные пользователи не должны иметь доступа в каталоги /sbin. Если обычный пользователь (не администратор) может запускать команду, она должна находиться в одном из каталогов /bin. В каталоге /sbin должны присутствовать следующие файлы:
• badblocks – утилита для проверки жестких дисков;
• ctrlaltdel – программа для перезагрузки операционной системы;
• dumpe2fs – утилита для работы с файловой системой;
• e2fsck – утилита для проверки файловой системы;
• fastboot – утилита, перезагружающая систему без проверки дисков;
• fasthalt – утилита, останавливающая систему без проверки дисков;
• fdisk – утилита, позволяющая производить различные действия с таблицей разделов (создавать, редактировать, удалять раздел и т. д.);
• fsck – утилита, проверяющая и восстанавливающая файловую систему;
• fsck.* – утилита, проверяющая и восстанавливающая файловую специфичную систему (например, Ext2);
• getty – программа getty;
• halt – команда, останавливающая систему;
• ifconfig – утилита конфигурации сетевого интерфейса;
• init – Init-процесс;
• kbdrate – утилита для настройки клавиатуры;
• lilo – загрузчик операционной системы;
• mke2fs – утилита создания файловой системы;
• mkfs – команда, создающая файловую систему;
• mkfs.* – команда, создающая специфичную файловую систему;
• mkswap – команда, устанавливающая своп-область;
• reboot – команда, перегружающая систему;
• route – утилита для таблицы IP-маршрутизации;
• swapon – утилита, разрешающая свопирование;
• swapoff – утилита, запрещающая свопирование;
• tune2fs – утилита тонкой настройки файловой системы;
• update – демон, периодически сбрасывающий буферы файловой системы.Каталог /tmp – временные файлы
Каталог должен быть доступен для программ, которые нуждаются во временных файлах.
При загрузке системы файлы, находящиеся в /tmp, должны удаляться (по крайней мере, рекомендуется).
Каталог /usr – иерархия
Каталог /usr – это вторая основная секция файловой системы, разделяемая, только для чтения. В каталоге /usr должны находиться следующие каталоги:
• /bin – содержит большую часть утилит, используемых пользователем;
• /include – файлы заголовков, включаемых в С-программы;
• /lib – библиотеки;
• /local – локальная иерархия;
• /sbin – содержит не жизненно необходимые системные исполняемые файлы;
• /share – архитектурно-независимые данные;
• /X11R6 – X Window System, версия 11, выпуск 6;
• /games – игры и образовательные программы;
• /src – исходные коды.
/usr/bin – пользовательские программы
В каталоге содержится большинство программ, предназначенных для пользователей. В частности, здесь должны находиться следующие программы (если установлены соответствующие пакеты):
• perl – интерпретатор языка Perl;
• python – интерпретатор языка Python;
• tclsh – интерпретатор Tel;
• wish – простая оконная оболочка Tcl/Tk;
• expect – программа для интерактивного диалога.
/usr/include – каталог для стандартных include-файлов
В этом каталоге хранится большинство включаемых файлов, используемых компилятором C/C++.
/usr/lib – библиотеки для программирования и пакетов
Каталог содержит объектные файлы, библиотеки и другие файлы, которые не используются напрямую пользователем или скриптами командных оболочек. Если программа создает подкаталог в /usr/lib, все архитектурно-зависимые данные должны помещаться в этот каталог. Для примера: подкаталог /рег15 содержит в себе модули и библиотеки для Perl 5.
/usr/local – локальная иерархия
Каталог предназначен для системного администратора под установку локального программного обеспечения. Это необходимо для предотвращения перезаписи программного обеспечения при обновлении системного программного обеспечения. Содержит следующие каталоги:
• /bin – локальные исполняемые файлы;
• /games – локальные исполняемые файлы игр;
• /include – локальные файлы С-заголовков;
• /lib – локальные библиотеки;
• /sbin – локальные системные исполняемые файлы;
• /share – локальная архитектурно-независимая иерархия;
• /sre – локальный исходный код.
/usr/sbin – не жизненно необходимые стандартные системные программы
Каталог содержит любые не жизненно необходимые для функционирования системы исполняемые файлы, используемые исключительно системным администратором. Программы и утилиты, используемые при восстановлении работоспособности системы, должны находиться в каталоге /sbin.
/usr/share – архитектурно-независимые данные
Каталог предназначен для всех архитектурно-независимых файлов данных, предназначенных только для чтения (неизменяемых). Содержит следующие каталоги:
• /diet – списки слов (словари);
• /doc – разнообразная документация;
• /games – неизменяемые файлы данных для /usr/games;
• /info – основной каталог информационной системы GNU;
• /locale – информация для локализации системы;
• /man – файлы справочной системы;
• /misc – разнообразные архитектурно-независимые данные;
• /terminfo – каталог для базы данных terminfo;
• /zoneinfo – информация и конфигурация временной зоны (Timezone).
Любая программа или пакет, который содержит или требует данных, не нуждающихся в модификации должны хранится в /usr/share (или /usr/local/share, если программное обеспечение установлено локально).
/usr/share/dict – списки слов (словари)
Каталог содержит словари, находящиеся в системе. Традиционно в этом каталоге находится только файл с английскими словами, которые используются программой look и многими программами проверки правописания. В этот каталог можно установить свои файлы, например, с русскими словами.
/usr/share/man – страницы справочной системы
Каталог предназначен для хранения данных справочной системы. Вся справочная информация разделена на восемь больших тем, для каждой существует свой отдельный каталог – от /man1 до /man8. Содержит следующие каталоги:
• /man1 – справочные страницы, описывающие доступные пользователям программы;
• /man2 – раздел, описывающий все системные вызовы (для взаимодействия с ядром);
• /man3 – библиотечные функции и подпрограммы. Описывает программные библиотеки, напрямую не взаимодействующие с ядром операционной системы. Этот и второй разделы справочной системы представляют интерес только для программистов;
• /man4 – описывает специальные файлы, осуществляющие функции драйверов и сетевой поддержки в системе. В основном эти файлы находятся в каталоге /dev;