有一种说法认为Linux磁盘永远不需要进行碎片整理。在大多数情况下都是如此,主要是因为用于处理文件系统的良好日志系统(ext2、3、4等)。但是在某些特殊情况下,还是会出现碎片。如果您遇到这种情况,解决方法很简单。什么是磁盘碎片?文件系统逐块更新文件。如果这些块没有连成一个整体,而是分布在磁盘的各个角落,就会形成磁盘碎片。FAT和FAT32文件系统也是如此。这在NTFS中有所缓解,但在Linux(extX)中几乎从未发生过。原因如下:在像FAT和FAT32这样的文件系统中,文件被写入磁盘并排在一起。文件之间没有空间可以增长或更新:NTFS在文件之间保留一些空间,以便有空间增长。但是由于块之间的空间是有限的,随着时间的推移也会产生碎片。Linux的日志文件系统采用了不同的方法。每个文件不是彼此相邻,而是分布在整个磁盘上,每个文件之间留有很多可用空间。这为文件的更新和增长留下了很大的空间,碎片很少发生。此外,一旦出现碎片,大多数Linux文件系统将尝试重新连接文件和块。Linux中的碎片整理Linux很少需要进行碎片整理,除非您的硬盘驱动器很小或空间不足。一些可能需要碎片整理的情况包括:如果您编辑大型视频文件或RAW照片,但磁盘空间有限如果您使用旧硬件,例如旧笔记本电脑,您的硬盘驱动器会很小如果您的磁盘开始时已满(大约85%used)◆如果你的主目录中有很多小分区,最好的解决办法是买一个大硬盘。如果那不可能,磁盘碎片整理会很有用。如何检查碎片fsck命令将为您完成这项工作,即如果您可以从LiveCD运行它,它将适用于所有未安装的分区。这一点非常重要:在已挂载的分区上运行fsck会严重损坏您的数据和磁盘。你被警告了。在开始之前,请进行完整备份。免责声明:本文和本站的作者将不对您的文件、数据、系统或其他损害负责。您这样做需要您自担风险。如果你继续,你需要接受并理解这一点。您应该启动到实时会话(例如,使用安装盘、系统救援CD等)并在未挂载的分区上运行fsck。要检查是否有任何问题,请以root权限运行以下命令:fsck-fn[/path/to/your/partition]您可以通过运行sudofdisk-l并挂载A(相对)来找到您的分区的路径在分区上运行fsck的安全方法是使用-n开关。这将对分区进行只读文件系统检查,并且不会写入任何内容。当然,这不能保证完全安全,您应该在创建备份后进行。在ext2中,运行:sudofsck.ext2-fn/path/to/your/partition这会产生大量输出,大多数错误消息是由于挂载了分区。***将提供有关片段的信息。如果碎片率大于20%,则应开始对磁盘进行碎片整理。#p#如何在Linux中简单地进行碎片整理你要做的就是将你所有的文件和数据备份到另一个硬盘上(手动复制),格式化分区,然后再复制回来(不要使用备份软件)。日志文件系统将它们视为新文件并将它们整齐地放置在磁盘上而不会产生碎片。要备份文件,请运行:cp-afv[/path/to/source/partition]/*[/path/to/destination/folder]请记住星号(*)很重要。注意:一般认为复制大文件或大量文件,使用dd可能是最好的。这是一个非常低级的操作,可以复制所有内容,包括可用空间甚至剩余的垃圾。这不是我们想要的,所以这里使用了cp。现在你只需要删除源文件。sudorm-rf[/path/to/source/partition]/*可选:您可以使用以下命令用零填充可用空间。格式化也可用于实现此目的,但如果您不是复制整个分区而是仅复制大文件(通常是碎片),则不应使用格式化。sudoddif=/dev/zeroof=[/path/to/source/partition]/temp-zero.txt等待它结束。您可以使用pv监控进度。sudoapt-get安装pvsudopv-tpreb|of=[/path/to/source/partition]/temp-zero.txt这样就搞定了,把这个临时文件删掉padding就可以了。sudorm[/path/to/source/partition]/temp-zero.txt等你清理空闲空间(或者跳过这一步)。再次复制回文件,翻转第一个cp命令:cp-afv[/path/to/original/destination/folder]/*[/path/to/original/source/partition]如果需要,请使用e4defrag简单的方法,安装e2fsprogs。sudoapt-getinstalle2fsprogs在具有root权限的分区中运行e4defrag。如果您不想或不能卸载该分区,您可以使用它的挂载点而不是路径。要对整个系统进行碎片整理,请运行:sudoe4defrag/如果已挂载则不能保证成功(您也不应该在系统运行时使用它),但这比复制所有文件然后再将它们复制回来要简单得多。总结由于其日志文件系统对数据进行了有效的处理,linux系统中很少出现碎片。如果您由于任何原因出现碎片,最简单的方法是重新分配您的磁盘,例如,将所有文件复制来回,或使用e4defrag。但是,确保您的数据安全非常重要,因此在执行任何可能影响您的全部或大部分文件的操作之前,请确保您的文件已备份到另一个安全的地方。via:https://www.maketecheasier.com/defragment-linux/作者:AttilaOrosz译者:geekpi校对:wxy
