Я пытаюсь выучить стандарт POSIX. При использовании Unix, я /bin
, /etc
, /dev
, /media
, и , как правило /opt
, но в том , что стандартизованные или до вашей спецификации реализации? Может ли быть много каталогов в корне, или это ограничено стандартом?
filesystems
posix
root-filesystem
Никлас
источник
источник
Ответы:
Согласно опубликованному стандарту The Open Group , единственными необходимыми каталогами являются:
/
/dev
, В котором содержитсяconsole
,null
иtty
/tmp
, гарантированно записываемый, но не обязательно сохраненный.Linux Foundation поддерживает стандарт иерархии файловых систем (FHS), который расширяет его и включает каталоги, которые вы обычно видите в системе Linux:
Система FHS была разработана как можно более универсальной, чтобы ее можно было включить в любую систему UNIX. Дополнительные каталоги могут существовать в любой разумной системе, но это не предписано POSIX.
Тем не менее, обратите внимание, что The Open Group также заявляет, что
Поскольку каталоги на самом деле являются просто файлами, это означает, что строго соответствующее приложение не будет создавать никаких файлов или каталогов на корневом уровне. Следовательно, POSIX не обязательно ограничивает то, что дистрибутив может размещать на корневом уровне, но, похоже, заявляет, что приложение, соответствующее его спецификации, не может предполагать, что оно сможет.
источник
В 10.1 Структура и файлы каталогов POSIX перечисляет каталоги, которые должны существовать. Но он не устанавливает ограничений на количество других каталогов, которые могут существовать на корневом уровне файловой системы.
В этом отношении, он, кажется, не ограничивает размер других каталогов.
Внимание POSIX в этой области сосредоточено на общности, а не на различиях.
источник
/
) может быть корневым каталогом, было бы довольно глупо накладывать верхний предел на количество записей в корневом каталоге./
не особенно особенный в этом отношении, следовательно, из этого следует, что было бы довольно одинаково глупо устанавливать верхний предел для количества записей в/
частности.Нет ограничений на количество записей в каталоге, как в POSIX, так и в типичных реализациях Unix. Может быть косвенное ограничение на количество подкаталогов, которое является максимальным количеством жестких ссылок (
..
запись каждого подкаталога является жесткой ссылкой на каталог); это 2 16 для многих общих файловых систем, что ограничивает каталог 65533 подкаталогами (по крайней мере для тех файловых систем, которые..
явно хранят записи). Вы начнете поражать плохую производительность до этого. Согласно POSIX, реализация может поддерживать только 8 жестких ссылок на файл (_POSIX_LINK_MAX
), но никакая фактическая реализация не ограничена 6 подкаталогами. И вообще, во многих файловых системах, включая ext4, количество жестких ссылок не поддерживается для..
записей, поэтому единственным ограничением является то, сколько места или сколько inode доступно в файловой системе.POSIX мало что говорит об организации файлов в системе. Это только обязывает существование нескольких файлов . Единственными обязательными записями в корневом каталоге являются
/dev
и/tmp
. Другие привычные записи Unix , такие как/usr
,/var
,/bin
,/etc
,/lib
,/home
и т.д., Unix конвенций, которые не кодифицированные POSIX.В Linux FHS кодифицирует классику и еще пару. Большинство дистрибутивов Linux придерживаются записей FHS. Другие системы Unix обычно имеют в основном те же записи, возможно, с некоторыми отличиями, но число примерно одинаковое.
Системные администраторы могут создавать больше, хотя это не рекомендуется: для большинства вещей есть четко определенные места (программное обеспечение не работает
/usr
или/opt
системные данные не работают/var
, пользовательские данные не работают/net
, точки монтирования не работают/media
или/mnt
и т. Д.), Поэтому редко любая веская причина для создания новых каталогов на верхнем уровне.источник
в отличие от FAT файловые системы, используемые UNIX, не имеют специального ограничения на размер корневого каталога, но как только раздел заполнится, вы не сможете добавить больше.
источник