有没有办法在EXT2 / EXT3下压缩一个非常大的目录,而不是简单地重新制作目录?
我记得perlfunc警告说, seekdir和telldir的操作系统实现目录压缩的风险。 这听起来像是我想要的,但在实践中我并不熟悉这些语义。
背景:我有几个目录,它们本身就有很多MB,过去它们超过了数十亿个小文件:
$ ls -lh drwxr-x--- 2 root root 1.3M Oct 5 12:49 big drwxr-x--- 2 root root 2.3M Oct 5 12:49 this_one_is_empty_now drwxr-x--- 2 root root 6.1M Oct 5 12:49 yikes
由于 seekdir / telldir的要求,目录不能在线压缩。 他们要求任何程序能够无限期地保持目录中的位置,并且只能读取任何给定的条目; 因此,在安装fs时,条目不能移动。
您可以使用e2fsck -D来压缩目录。
你看过猪吗? 这是一个改进的gzip。
John Allspaw在他的博客上谈到这个:
http://www.kitchensoap.com/2010/04/02/pigz-parallel-gzip-omg/