Это зависит от файловой системы. Для некоторых файловых систем (ext3 среди них), каталог является на самом деле файлом с известным форматом и 'd' набором битов в его полномочиях или режиме. В этом случае история того, какие имена файлов длины стали созданными и удаленными, может иметь значение. Ядро заполнит первую запись в файле каталога, который имеет достаточно комнаты для содержания имени нового файла. См. http://e2fsprogs.sourceforge.net/ext2intro.html для большего количества детали, раздел, названный "Физическое Описание".
Для некоторых других файловых систем, Reiserfs среди них, каталог является на самом деле просто некоторыми записями в B + дерево, это не видимо в файловой системе, таким образом, плоскость ls
из каталога в Reiserfs файловая система находится в лексическом порядке.
Конфетка является базирующимся об/мин и полностью записана в Python.
Конфетка или об/мин поддерживают базу данных (Berkley DB) обычно в "/var/lib/rpm".
Путь к базе данных является "/var/lib/rpm/Packages".
Посмотрите ниже:
[Об/мин root@ec092] # pwd
/var/lib/rpm
[Об/мин root@ec092] # Пакеты файла
Пакеты: Беркли DB (Хеш, версия 8, собственный порядок байтов)
когда Вы используете команды как rpm -qa
это запрашивает Пакеты DB, и это поддерживает все атрибуты как список пакета, список файлов, версии пакета и так далее.
Кв. Ubuntu - добирается, записан в C++ и несколько сложен.
Хорошо вкусный базирующийся об/мин - http://en.wikipedia.org/wiki/RPM_Package_Manager
И склонный (обычно) deb базирующийся - http://en.wikipedia.org/wiki/Deb_%28file_format%29
Существуют ссылки от обеих из тех страниц, которые объясняют больше