我们有 Beaglebone 黑色定制板,
我们有 busybox shell,包括 coreutils。
busybox 版本是 BusyBox v1.20.2 (2017-10-16 16:39:36 EDT)
现在我们想检查每个分区的 inode 使用情况,
所以当我运行时df -i
我得到以下输出
# df -i
Filesystem Inodes Used Available Use% Mounted on
rootfs 125 9 116 7% /
/dev/root 125 9 116 7% /
tmpfs 62 0 62 0% /tmp
tmpfs 62 0 62 0% /dev/shm
tmpfs 62 0 62 0% /var/run
tmpfs 62 0 62 0% /var/spool/cron
tmpfs 62 0 62 0% /var/sftp
/dev/mmcblk0p18 15 0 15 0% /var/db
/dev/mmcblk0p19 64 0 64 0% /var/firmware
现在,当我运行 tun2fs 来获取 inode 计数时,我得到以下输出
# tune2fs -l /dev/mmcblk0p18 | grep -i inode
Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse
Inode count: 15360
Free inodes: 15346
Inodes per group: 1920
Inode blocks per group: 240
First inode: 11
Inode size: 128
Journal inode: 8
Journal backup: inode blocks
# tune2fs -l /dev/mmcblk0p19 | grep -i inode
Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse
Inode count: 65536
Free inodes: 65525
Inodes per group: 8192
Inode blocks per group: 512
First inode: 11
Inode size: 256
Journal inode: 8
Journal backup: inode blocks
我不明白为什么会不同。 busybox 通知分区的索引节点,例如 mmcblk0p18 是15
15*1024 = 15360
对于分区 mmcblk0p19,tune2fs 报告的内容也是相同的。
我不明白为什么在 busybox 中会这样报告,因为分区 18 和 19 的分区 128 和 256 中的索引节点大小也不同。
有人可以提供帮助或指点吗?
答案1
我查看了 busybox 的错误列表,但没有找到任何关于我的错误的参考。
事实上,busybox df 在我的 ubuntu 机器上按预期工作,我查看了 busybox 配置。最初我只启用以下两个配置,
CONFIG_DF=y
CONFIG_FEATURE_DF_FANCY=y
这样我就无法获得预期的输出。但是,一旦我启用以下配置,df -i
它就开始按预期工作。
#
# Common options for df, du, ls
#
CONFIG_FEATURE_HUMAN_READABLE=y
所以罪魁祸首是 busysbox 配置中的这个常见配置。