当前位置: 首页>>技术问答>>正文


如何对ext4文件系统进行碎片整理

,

问题描述

我不想要任何答案,说没有必要,拜托!

最佳解决思路

使用e4defrag对文件进行碎片整理

如果您的ext4文件系统是使用extent选项创建的(它是最近发行版中的默认设置),您可以使用e4defrag实用程序在线检查并对其进行碎片整理,即无需卸载。

只需使用类似的东西检查碎片级别(您需要是root用户才能查看详细信息):

sudo e4defrag -c /path/to/myfiles

以下是您可以获得的输出示例:

$ sudo e4defrag -c iso/
<Fragmented files>                             now/best       size/ext
1. /home/gerlos/iso/debian-live-7.5.0-i386-rescue.iso
                                                 7/1         111177 KB
2. /home/gerlos/iso/systemrescuecd-x86-4.4.1.iso
                                                 4/1         100897 KB
3. /home/gerlos/iso/debian-live-7.5.0-amd64-rescue.iso
                                                 6/1         116053 KB
4. /home/gerlos/iso/ubuntu-14.04.2-server-amd64.iso
                                                 8/1          76160 KB
5. /home/gerlos/iso/ubuntu-14.10-desktop-amd64.iso
                                                15/1          75712 KB

 Total/best extents             40/5
 Average size per extent            90577 KB
 Fragmentation score                0
 [0-30 no problem: 31-55 a little bit fragmented: 56- needs defrag]
 This directory (iso/) does not need defragmentation.
 Done.

在此示例中,大多数情况下它会告诉您不需要进行碎片整理,但是如果您想要这样做,您可以使用(您不需要使用sudo对自己的文件进行碎片整理):

e4defrag /path/to/myfiles

您的用户甚至可以在自己的文件上运行它,除非您想要处理其他用户或系统文件,否则无需成为root用户。

e4defrage2fsprogs包中,我猜它已经安装在你的Ubuntu系统上了。

次佳解决思路

看看e2fsprogs。这也可以在Ubuntu包中找到。它提供了程序e4defrag。

第三种解决思路

使用Gparted对文件系统进行碎片整理

如果硬盘驱动器上有足够的空间,可以使用Gparted对文件系统进行碎片整理(ext2,ext 4,nfts等)。您必须从CD /DVD /USB启动盘启动,因为您正在处理的驱动器必须卸载。您还必须拥有比使用空间更多的未使用空间才能工作,这可能需要一段时间。

  • 从启动盘启动。

  • 运行gparted并将包含要进行碎片整理的数据的分区缩小到刚刚超过数据量的分区。

  • 确保要碎片整理的分区是驱动器上的最后一个分区,将其移动到最后(如果驱动器上只有一个分区,则可能必须在其前面创建另一个空分区)。

使用要作为驱动器上最后一个分区进行碎片整理的分区:

  • 将其左侧的分区增大到最大大小。这会将您的分区数据移动到驱动器的末尾。

  • 完成后,将该分区缩小回原先的大小。

  • 如果您创建的空白分区在光盘上有多个分区,则现在可以将其删除。

  • 将分区移回原始顺序并重新生成您想要碎片整理的分区。

它现在被碎片整理。

而且我知道你对为什么/为什么不对ubuntu进行碎片整理不感兴趣,但无论如何我都会发布链接到why-is-defragmentation-unnecessary

第四种思路

我正在添加这个答案,以展示我们如何找到各种内置 Linux工具来完成一些常见的操作。您

defrag,ubuntu

另外,请注意,只有在不卸载的情况下进行碎片整理时,才需要执行super-user。

Using apropos command

e4defrag -vc /path #verbose output with count

第五种思路

Ubuntu 14.04 LTS在干净安装(不驻留在Win-Junk之上)时确实将(至少主驱动器)放入EXT4分区。

在这种情况下,如果您刚刚设置了一个新系统,或者在旧系统上进行了全新格式化,然后进行了全新安装,那么默认情况下为14.04 LTS,您在/dev/sda1上有一个EXT4分区。

现在,只需打开一个终端(CTRLALTT)并输入:

sudo e4defrag -c /dev/sda1

并且在’check’完成之前要耐心等待,然后再收到碎片报告。

如果您对在OS驱动器上安装EXT4分区没有信心,只需转到HOME并键入df -T即可。看看您的sda *分区设置为什么(在14.04LTS中尝试此操作,除非您在硬盘设置时选择其他分区类型,否则您将看到EXT4)。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/1672.html,未经允许,请勿转载。