Файлы можно разделить на 4 категории: разделяемые/неразделяемые (shareable/unshareable) и статические/изменяемые (static/variable).
Static shareable:
/usr
/opt
Static unshareable:
/etc
/boot
Variable shareable:
/var/mail
/var/spool/news
Variable unshareable:
/var/run
/var/lock
Содержимое корневой файловой системы должно позволять загружать и восстанавливать систему. Приложения никогда не должны создавать или читать файлы или подкаталоги в корневой файловой системе.
В корневой папке (/) содержатся следующие символьные ссылки или каталоги:
- bin - необходимые исполняемые файлы для команд
- boot - статические файлы для системного загрузчика
- dev - файлы устройств
- etc - специфичная для данного хоста конфигурация
- lib - необходимые системные бибилиотеки и модули ядра
- media - точка монтирования для сменяемых носителей
- mnt - точка монтирования для временной файловой системы
- opt - дополнительное ПО
- sbin - необходимые системные исполняемые файлы
- srv - данные для сервисов, предоставляемых системой
- tmp - временные файлы
- usr - важный каталог =)
- var - изменяемые данные
Дополнительно могут быть установлены следующие каталоги (или символьные ссылки):
- home - содержит домашние каталоги пользователей
- root - домашний каталог пользователя root
Каталог /bin
Каталог /bin содержит необходимые исполняемые файлы для команд. Каталог должен содержать следующие файлы или символьные ссылки на команды:
- cat - конкатенация файлов
- chgrp - меняет группу владения
- chmod - меняет модификаторы доступа
- chown - меняет владельца файла и группу
- cp - копирование файлов
- date - печать или установка системной даты и времени
- dd - конвертация и копирование файлов
- df - отчет по использованию диска файловой системой
- dmesg - вывод буфера сообщений ядра с стандартный поток вывода
- echo - печать строки текста
- false - ничего не делает, возвращает "неуспех"
- hostname - просмотр или установка имени хоста
- kill - посылает сигналы процессам
- ln - создание ссылок на файлы
- login - вход в сессию системы
- ls - вывод списка файлов в каталоге
- mkdir - создание каталогов
- mknod - создание специальных файлов
- more - утилита для листания текста
- mount - монтирование файловой системы
- mv - перенос/переименование файлов
- ps - отчет по процессам
- pwd - печать названия текущего рабочего каталога
- rm - удаление файлов/каталогов
- rmdir - удаление пустых каталогов
- sed - работа с потоками sed
- sh - командная оболочка
- stty - печать и изменение настроек терминала
- su - изменение пользовательского ID
- sync - сброс буферов файловой системы
- true - ничего не делает, возвращает "успех"
- umount - отмонтирование файловой системы
- uname - вывод информации о системе
Дополнительно в /bin могут быть установлены следующие программы:
- csh - C-shell
- ed - редактор
- tar - архивационная утилита
- cpio - еще одна архивационная утилита
- gzip - утилита сжатия от GNU
- gunzip - утилита разжатия от GNU
- zcat - утилита разжатия от GNU
- netstat - сетевая статистика
- ping - тест сети по протоколу ICMP
Если утилиты gunzip и zcat существуют, то они должны быть символьными линками на gzip.
Каталог /boot
Содержит все, что необходимо для загрузки системы кроме конфигурационных файлов, которые не нужны в момент загрузки. Каталог содержит данные, которые используются до момента, когда ядро начало выполнения программ в user-mode. Здесь могут находится главные загрузочные сектора, и map-файлы секторов.
Каталог /dev
Содержит файлы устройств. Примеры:
- /dev/null - null-устройство. Принимает любой вывод, отправленный в файл, всегда возвращает "успех" при записи в него (но реально данные никуда не записываются). Когда данные читаются из него, сразу же возвращает маркер EOF. Иногда на жаргоне его называют "черной дырой".
- /dev/zero - файл, который возвращает нули (0x00)при чтении из него. При записи в него всегда возвращает "успех", но реально данные никуда не записываются.
- /dev/random - файл, который служит генератором случайных чисел. Также возможно писать в него (но зачем?). Блокирующий ввод/вывод
- /dev/urandom - то же самое, что и /dev/random, но ввод/вывод здесь неблокирующий
- /dev/full - при записи в этот файл возвращается маркер переполнения устройства
Каталог /etc
Содержит специфичную для хоста конфигурацию. Т.е. в каталоге содержатся конфигурационные файлы для настроек различных частей системы. Каталог может содержать следующие файлы:
- csh.login - файл инициализации для C-shell (systemwide)
- exports - контроль доступа для файловой системы NFS
- fstab - статическая информация о файловых системах
- ftpusers - список пользователей и контроль доступа для FTP-демона
- gateways - список шлюзов
- gettydefs - настройки терминала для getty
- group - файл пользовательской группы
- host.conf - конфигурационный файл хоста
- hosts - статическая информация о хостах (локальный DNS)
- hosts.allow - разрешенный список хостов для TCP Wrappers
- hosts.deny - запрещенный список хостов для TCP Wrappers
- hosts.equiv - список доверенных хостов для rlogin, rsh, rcp
- hosts.lpd - список доверенных хостов для lpd
- inetd.conf - файл конфигурации для inetd
- inittab - файл конфигурации для программы init
- issue - сообщение перд логином и файл идентификации
- ld.so.conf - список дополнительных каталогов, где искать зашаренные бибилиотеки
- motd - содержит сообщение, которое показывается юзеру после логина
- mtab - динамическая информация о файловых системах
- mtools.conf - файл настроек для mtools
- networks - статическая информация об именах сетей
- passwd - файл с паролями
- printcap - база данных системы печати lpd
- profile - файл инициализации для sh shell login
- protocols - список IP-протоколов
- resolv.conf - файл настроек резолвера
- rpc - список протоколов RPC
- securetty - контроль доступа TTY для root
- services - имена портов для сетевых сервисов
- shells - пути к оболочкам
- syslog.conf - файл настроек для syslogd
Каталог /home
Содержит домашние каталоги пользователей.
Каталог /lib
Содержит необходимые системные бибилиотеки и модули ядра.
Каталог /media
Точка монтирования для сменяемых носителей. Следующие каталоги или символьные ссылки на каталоги могут содержаться в /media:
- floppy - флоппи-дисковод
- cdrom - CD привод
Каталог /sbin
Содержит системные исполняемые файлы.