2016-09-15 3 views
2

Я использую модуль встроенного модуля Digi, который имеет 8 МБ флеш и 16 МБ ОЗУ.Размер файла du linux больше, чем df

Моя таблица разделов, как показано ниже:

enter image description here

SO, я получил 4.4Mb для корневой файловой системы. И 2 МБ для UserFS.

Когда я запускаю 'df -ah', я получаю следующий вывод.

enter image description here

Однако, когда я бегу «дю -sh» на корню, у меня есть 4М в/LIB и 3M в/USR. Оба находятся под корнем. Однако корень составляет всего 4,4 М.

Я проверил символическую ссылку и могу подтвердить, что файлы физически присутствуют в/lib и/usr.

enter image description here

Я удалил некоторые файлы библиотеки (NetSNMP) под/Lib, который был близок к 2M, но доступный размер на/Dev/корень вырос только на ~ 390K (от 408K до 792K).

enter image description here

Это говорит о том, что/Lib/libnetsnmp * хранились где-то в другом месте. Я не уверен, где эти файлы были сохранены. Любые идеи?

Также обратите внимание, что размер изображения rootfs составляет 4M. И это правильно показано в команде df -ah в файловой системе/dev/root.

ответ

0

Возможно, это связано с наличием жестких ссылок в корневой файловой системе. Каждая жесткая ссылка будет отображаться как обычный файл, но все жесткие ссылки указывают на один и тот же индекс, поэтому физически на жестком диске есть только одна копия файла. Вы можете найти хорошее определение soft-link и hard-link в этом link.

EDIT: Вы можете осуществлять поиск жестких ссылок с помощью этой команды (взяты из этого answer):

find . -samefile /path/to/file 
+0

Я считаю, что это не делать ссылки. имена файлов в/lib - все файлы lib * .so. Имена файлов в/usr - это все файлы MIB. – user3033152

Смежные вопросы