一个简单的程序,将文件系统上的空闲块归零。

cleanfree的Python项目详细描述


cleanfree v0.1a是一个简单的程序,可以将空闲的fs块归零


cleanfree是一个用python编写的相对简单的程序,旨在将0写到文件系统上未使用的数据块。这主要是
缩进以用于虚拟化硬盘中的文件系统,其中
虚拟机管理器有时可以回收空空间以便在主机系统上重用
。传统的做法是使用
'dd if=/dev/zero of=/somefile'这样的方法;这种方法有一些主要的缺点:
*对于一个大磁盘来说要花很多时间。
*它使用所有可用的磁盘空间,导致并发写操作失败。
已经有一些程序做了本质上相同的事情,但我当时知道的所有程序都是特定于一个特定的文件系统,它们缺少一些其他有用的功能
(比如将一个空闲块列表转储到stdout)。cleanfree旨在解决这些问题。


cleanfree需要python>;3.0才能运行;有关python的更多信息,请查看http://www.python.org>;。目前,cleanfree只在posix
派生系统上运行,因为它需要能够访问磁盘分区
作为文件。

version 1将支持fat文件系统,对其他文件系统的支持将在后续版本中添加。


我特别计划支持的文件系统:
*fat(fat16,fat32,vfat)
*ufs1(bsd的ffs)
*ufs2(来自freebsd)
*amiga ffs
*amiga s fs
*minix fs
*bfs(beos fs,较新的64位版本)
*ext2/3/4
*hfs
*hfs+
*xfs
*btrfs(一旦它稳定了更多)


如果我能获得文档并且有足够的时间,我可能支持的文件系统:
*acorn磁盘归档系统
*athfs
*fossil
*fat12
*fatx
*os/2hpfs
*ntfs
*ibm jfs
*novell存储服务
*refs
*reiser
*reiser4
*vxfs
*zfs
*hammer

我不支持的文件系统,以及原因:
*任何日志结构的fs(nilfs、nilfs2、bsd的lfs、wafl,logfs):
将不受支持,因为重写日志中未使用的块
结构化文件系统实际上会使使用这样一个文件系统的主要参数
失效。
*闪存文件系统(exfat、ffs2、jffs、jffs2、tfat、ubifs,yaffs):
由于上述原因,在log
structured fs下将不受支持;另外,对flash设备执行此操作将严重缩短设备的寿命。
*任何本质上是只读的fs(cramfs、cromfs、squashfs):
将不受支持,因为这些文件系统没有可用的块,
作为fs一部分的任何块总是在使用。如果您需要在这样的fs中去掉多余或“未使用”的块,则应该重建fs本身。
*cd/dvd文件系统(iso9660、udf及其派生文件):由于所提到的只读文件系统的原因,将不受支持。
*distributed/network filesystems:将不受支持,因为
操作需要在底层文件系统上执行。
可能支持一些具有专用磁盘格式的文件系统。
*advfs(由tru64使用)、cp/m fs、macintosh fs、netware fs、amiga
ofs、amiga pfs、qnx4fs、qnx6fs、skyfs:由于缺少文档和/或缺少广泛使用,但如果您想添加自己的支持,我很乐意添加适当的补丁。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java FloatingAction按钮与RecyclerView中的CardView重叠   java如何计算CardLayout中的卡数   从远程系统上传MySQL数据库并访问Java应用程序   java调用堆栈如何处理带或不带返回类型的递归?   Springboot中的java组计数聚集   java如何在javafx textarea中使用richtextfx   获取与Mockito相关的错误时出现Java问题   java如何将JaxRS响应转换为Wiremock响应   Hadoop集群java。net ConnectionException:连接被拒绝错误   java如何加载文件私有文件类型是pem   java在元空间中的提升和加载的类   如何将系统属性传递给从HTML启动的Java小程序   java如何从网页中获取值并在主类中使用它?安卓应用   java在春天,advisor和aspect之间有什么区别?   java如何检测文件是否已重命名?   java消息驱动Bean何时使用