Файловые системы, поддерживаемые Linux. 9 сро. 1 Файловые системы, поддерживаемые Linux
Скачать 29.92 Kb.
|
/bin. Тип файловой системы также имеет смысл выбирать в зависимости от того, какие файлы хранятся у пользователей. Если много маленьких (пользователи – программисты) и не нужны квоты, то лучше ставить ReiserFS. Если крупные файлы (пользователи обрабатывают или хранят видео, музыку, архивы), то лучше XFS. Также XFS рекомендуется, если необходимо давать доступ по протоколу Samba (также известный как Windows Network Neighbourghood), так как XFS поддерживает права доступа в формате ACL, которые используются в MS Windows. Если пользователям не надо знать время доступа к файлам, можно также использовать noatime.3.6 Каталог /lib Каталог /lib содержит те разделяемые библиотеки, которые необходимы для загрузки системы и запуска команд, расположенных в каталогах /bin и /sbin. Не должны располагаться в /lib разделяемые библиотеки, которые необходимы только исполняемым файлам, расположенным в /usr (таким, как бинарные файлы системы X Window). Более одного варианта каталога /lib может существовать в системах, поддерживающих более одного формата исполняемых файлов (например, 32-х и 64-х разрядные форматы), при этом для каждого формата требуется свой отдельный вариант разделяемых библиотек (которые могут называться /lib32 и /lib64). 3.7 Каталог /mnt Эта директория предназначена для того, чтобы системный администратор мог временно монтировать файловые системы по мере необходимости. Содержимое этого каталога индивидуально для каждой системы и не должно никаким образом влиять на работу запускаемых программ. Этот каталог не должен использоваться программами инсталляции ПО; для создания и хранения временных файлов на этапе инсталляции должны использоваться временные каталоги, не используемые системой. 3.8 Каталог /opt Стандарт FHS резервирует каталог /opt для установки дополнительных пакетов программного обеспечения. Предполагается, что любой пакет, который устанавливается в каталог /opt, должен размещать свои статические файлы в отдельной каталоговой структуре /opt/, где – название соответствующего пакета программного обеспечения. Как правило, все данные, необходимые для поддержки функционирования пакета, должны присутствовать в каталоге /opt/, включая файлы, копируемые в каталоги /etc/opt/ и /var/opt/ а также специально создаваемые для пакета каталоги в /opt. Каталоги /opt/bin, /opt/doc, /opt/include, /opt/info, /opt/lib и /opt/man зарезервированы для использования локальным системным администратором. Программы, вызываемые на исполнение пользователем, должны располагаться в каталоге /opt//bin. Если пакет ПО содержит в своем составе страницы обычного в UNIX интерактивного руководства man, они должны устанавливаться в каталог /opt//man, который должен иметь такую же структуру, как и каталог /usr/share/man. Файлы пакета, которые являются переменными (изменяемыми при выполнении стандартных операций), должны устанавливаться в /var/opt. Специфичные для хоста конфигурационные данные должны устанавливаться в /etc/opt. Никакие файлы пакета не должны размещаться вне каталогов /opt, /var/opt и /etc/opt, кроме тех файлов, которые должны оказаться в других местах по той причине, что иначе пакет не сможет функционировать нормально. Например, файлы блокирования устройств должны располагаться в /var/lock, а файлы устройств должны располагаться в /dev. Дистрибутивы могут устанавливать программное обеспечение в каталог /opt, но не должны модифицировать или удалять ПО, установленное местным системным администратором, без разрешения этого самого администратора. Каталог /opt можно подключать на отдельном разделе. Как правило, файлы в этом разделе не изменяются и не требуются в экстренных случаях, поэтому лучше использовать ReiserFS или ext3 с опцией ro. 3.9 Каталог /root Каталог /root – это домашний каталог суперпользователя. Он может быть задан разработчиком или определен при инсталляции системы, но рекомендуемое место его расположения по умолчанию – корневая файловая система. В стандарте FHS подчеркивается, что бюджет суперпользователя должен использоваться исключительно для системного администрирования и его не рекомендуется использовать для выполнения задач, которые могут быть выполнены непривилегированным пользователем. По этой причине не стоит размещать подкаталоги для почты и других приложений в домашнем каталоге пользователя root. 3.10 Каталог /sbin Утилиты для выполнения задач системного администрирования (и другие команды, используемые только пользователем root) размещаются в /sbin, /usr/sbin и /usr/local/sbin. Каталог /sbin содержит исполняемые файлы, необходимые для загрузки системы и ее восстановления в различных ситуациях (restoring, recovering, and/or repairing the system), не попавшие в каталог /bin. Единственная команда, которая обязательно должна присутствовать в /sbin, это команда shutdown – команда остановки системы. Принять решение о том, какие программы разместить в каталогах "sbin", довольно просто: если обычный пользователь (не системный администратор) когда-либо запускает программу, она должна размещаться в одном из каталогов "bin". Обычные пользователи не должны указывать каталоги sbin в списке путей, просматриваемых по умолчанию (в своей переменной PATH). Авторы стандарта рекомендуют предоставить всем пользователям право на чтение и выполнение для всех файлов, расположенных в /sbin, кроме, может быть тех программ, для которых установлены биты setuid и setgid. Разделение каталогов /bin и /sbin делается не из соображений безопасности и не для того, чтобы лишить пользователей возможности видеть системные утилиты. Целью такого деления является установление явного различия между исполняемыми файлами, которые используются всеми, и теми утилитами, которые в основном используются для решения административных задач. С точки зрения безопасности нет никаких преимуществ в том, чтобы сделать /sbin недоступным для пользователей. 3.11 Каталог /tmp Каталог /tmp предназначен для хранения временных файлов, создаваемых в процессе работы различных программ. При этом программы не должны предполагать, что какой-либо файл в каталоге /tmp сохранится при следующем запуске программы. После перезагрузки он обязан быть пустым, поэтому его можно размещать либо на диске, либо в памяти. noatime на него ставить нельзя, так как по нему ориентируется tmpwatch (программа для чистки /tmp от старых файлов). Если оставлять на диске, то лучше ставить на ReiserFS, так как там обычно много мелких файлов. Для монтирования в память используется файловая система tmpfs. В любом случае рекомендуется, во-первых, выносить /tmp на отдельный раздел, во-вторых, подключать с флагом noexec. Если не ставится noexec, тогда должно стоять хотя бы nosuid. И в любом случае nodev. 3.12 Каталоговая структура /usr Каталог /usr – это второй по важности раздел файловой системы. /usr содержит разделяемые данные, предназначенные только для чтения. Это означает, что /usr может быть доступен с различных FHS-совместимых хостов и права записи в него не должно быть. Любая информация, которая является специфичной для конкретного хоста или может изменяться со временем, должна записываться в другое место. Структура /usr · /usr/bin – бинарные файлы · /usr/include – заголовочные файлы для C · /usr/lib – библиотеки · /usr/local – локальная иерархия (структура как у /usr) · /usr/sbin – системные бинарные файлы · /usr/share – данные независимые от архитектуры /usr – это обычно достаточно большой раздел, который, как правило, делается с таким расчетом, чтобы его можно было использовать на нескольких однотипных машинах. Поэтому его можно монтировать только для чтения. Но в этом случае нужно отдельно подмонтировать /usr/local (хотя бы из тех соображений, что в нем устанавливаются программы нужные только на одной машине). /usr/local монтируется с теми же параметрами, что и /usr. 3.13 Каталоговая структура /var Каталог /var содержит файлы с изменяющимися данными. В их число входят каталоги и файлы спулинга, данные об администрировании и логировании, временные файлы. Некоторые части каталоговой структуры /var не являются разделяемыми между разными системами. К ним относятся /var/log, /var/lock и /var/run. Другие части могут быть разделяемыми, например, /var/mail, /var/cache/man, /var/cache/fonts и /var/spool/news. Структура каталогов /var определяется в стандарте FHS с той целью, чтобы сделать возможным монтирование каталога /usr в режиме только для чтения. Все, что записывается на диск в процессе выполнения системных операций (в противоположность процессам инсталляции и поддержки программного обеспечения), должно размещаться в каталоге /var. На весь раздел лучше ставить ReiserFS, желательно с флагом noexec, или хотя бы nosuid. Обычно можно использовать noatime, но не всегда. Каталог /var/log предназначен для хранения журналов сообщений. Его обязательно следует размещать на отдельном разделе, так как при сбоях и DoS атаках он может переполняться, а это не должно мешать работе всей операционной системы. Для него наилучшим решением будет ReiserFS с опциями noexec, nodev, noatime. В каталоге /var/spool/mail хранится почта пользователей. На него рекомендуется ставить ext3 с data=journal, noatime, noexec, nodev и включенными квотами. /var/cache – кэш прокси. Тут много мелких файлов, поэтому ReiserFS с noexec, nodev, noatime. /var/tmp – временные файлы, нужные после перезагрузки. Из тех же соображений, что и для /tmp выбираем ReiserFS с опциями noexec, nodev, noatime. Заключение Таким образом, для максимальной производительности Linux следует для разных каталогов выбирать разные файловые системы. Файловую систему ext2 лучше устанавливать в каталоги /boot и /etc; ext3 – в каталоги /opt и /var/spool/mail; ReiserFS – в каталоги /home, /tmp, /var, /var/log, /var/cache, /var/tmp и /opt; XFS – в каталог /home. devfs, devpts – файловые системы для каталогов /dev и /dev/pts соответственно. tmpfs используется в основном для /tmp. Также следует указывать соответствующие опции: ro, nodev, nosuid, noexec, noatime, sync. Разумеется возникает вопрос как лучше разместить такое количество файловых систем на жестком диске. Можно создавать файловые системы в файлах. Делается это при помощи команды mount /fs.img /mnt -o loop, где fs.img – файл с этой файловой системой, а /mnt – место подключения. Очевидно, что доступ к файловым системам с этими файлами должен быть достаточным для установки нужных прав на файловую систему. То есть нельзя подключить файловую систему с полным доступом, если права доступа к файлу только на чтение. В качестве файловой системы для хранилища этих файлов лучше всего выбрать XFS, так как файлы очень большие. Cписок использованных источников 1. Академия Корпоративных Систем – Информационные ресурсы. – Электрон. текстовые данные (139267 bytes) – Режим доступа: http://a–sys.ru/Articles/Article.aspx?ID=51. Tuesday, 8 November 2005 10:47:04. 2. Виртуальная энциклопедия "LINUX по русски".– Электрон. текстовые данные (128952 bytes) – Режим доступа: http://rus–linux.net. Tuesday, 8 November 2005 10:51:47. |