Почему inodes каталогов хранят имена файлов в файловой системе ext4?

Вам необходимо загрузить teamviewer_11.0.53191_i386.deb

Затем выполните следующую команду:

   apt-get install -f

и выполните следующие командные строки от имени пользователя root:

dpkg --add-architecture i386
apt-get update

install

dpkg -i teamviewer_11.0.53191_i386.deb
5
20.08.2017, 23:41
4 ответа

Записи каталога хранятся как в inode.i_block, так и в блоках данных. См. «Встроенные данные» и «Встроенные каталоги» в документе, на который вы ссылаетесь.

13
27.01.2020, 20:31

Данные каталога содержатпрямыхзаписей. Каждая запись каталога содержит имя файла и указательна индексный дескриптор. Индексный дескриптор ext4 может содержать содержимое небольшого файла для повышения эффективности, чтобы ему не приходилось выполнять еще одно чтение блока.

Значение «маленький»может составлять 60 байт с атрибутами файла или до 160 байт, если расширенные атрибуты файла не используются.

6
27.01.2020, 20:31

catвыводит содержимое файла , т.е. блоки данных. Аналогично /bin/cat.

Команда catбыла бы бесполезна, если бы она записывала байты структуры inode на терминал. Сравните inode_dumpи stat.

Некоторые документы сообщают вам, что исторический unix позволял, например. /bin/catдля чтения этих данных, и это был первоначальный способ вывода списка записей каталога из пользовательского пространства. т.е. lsоткроет каталог, read()записи и интерпретирует их для вас. В отличие от использования readdir(), где ядро ​​предоставляет записи в стандартном формате, независимо от формата базовой файловой системы.

9
27.01.2020, 20:31

Я не думаю, что команда debugfs cat показывает содержимое самого индексного дескриптора, хотя мне кажется, что язык справочной страницы сбивает с толку. Во многих местах справочная страница ссылается на «inode filespec», что, я думаю, является избыточным способом напомнить читателю, что filespec может быть либо путем, либо номером inode. Сравните следующие выдержки со страницы руководства:

cat filespec - Dump the contents of the inode filespec to stdout.

stat filespec - Display the contents of the inode structure of the inode filespec.

Я думаю, что cat показывает содержимое «inode filespec», а не содержимое inode, filespec. Имена файлов определенно перечислены в блоках данных, а не в индексных дескрипторах.

4
27.01.2020, 20:31

Теги

Похожие вопросы