sparsefile

是否有类似“dd”但尊重输入文件的稀疏性的工具?
sparsefile

是否有类似“dd”但尊重输入文件的稀疏性的工具?

我正在创建带有多个 ext4 分区的磁盘映像。每个 ext4 分区的内容都是用其创建的,mkfs.ext4并且生成的文件系统映像文件是“稀疏的”。 当我dd从所有这些单独的文件系统创建系统映像(一开始有一个分区表)时,生成的映像将不再稀疏。 这样做是错误的,dd conv=sparse因为这会使输出变得稀疏全部-NUL 输出块。但这不是我想要的。如果输入是稀疏的,我希望输出也是稀疏的。 这是必要的,因为最终我希望能够刷新映像,这样bmaptool就不必将“稀疏”的块写入物理设备,从而节省写入映像的时间。如果我将所有只有零的块视为稀疏,那么磁盘上非 NUL 的...

Admin

btrfs 卷上的 dphys-swapfile 失败
sparsefile

btrfs 卷上的 dphys-swapfile 失败

我使用了 dphys-swapfile 的默认路径/var/swap和 2048M 的交换文件。 但是,由于/var/swap是在 SD 卡上,我想将交换文件移动到磁盘。因此我运行了sudo dphys-swapfile swapoff,编辑了路径,然后运行: sudo dphys-swapfile setup sudo dphys-swapfile swapon 后者失败了: swapon: /srv/file/swap: swapon failed: Invalid argument sudo journalctl -xe给我: kernel: sw...

Admin

如何在 Linux 上消除稀疏文件中的漏洞?
sparsefile

如何在 Linux 上消除稀疏文件中的漏洞?

如何在 Linux 上删除稀疏文件中的所有漏洞?在 Windows 上,我认为程序是 fsutil sparse setflag <file> 0 Linux 的对应版本是什么? (我知道cp <file> <file>.cp; rm <file>; mv <file>.cp <file>;如果可用磁盘空间允许的话可以完成这项工作,但我猜 Linux 有一种现成的方法可以完成它?像 Windows 一样?) ...

Admin

如何在不使用“-S”运算符的情况下复制稀疏文件后,以与 Linux 中的 rsync 相同的方式缩小稀​​疏文件?
sparsefile

如何在不使用“-S”运算符的情况下复制稀疏文件后,以与 Linux 中的 rsync 相同的方式缩小稀​​疏文件?

我尝试备份磁盘。我习惯rsync在磁盘之间备份文件。 但是,当单独使用--delete选项rsync然后备份时,目标磁盘几乎已满,而源磁盘尚未满。 通过检查两个磁盘中的稀疏文件,使用 find . -type f -printf "%S\t%p\n" | gawk '$1 < 0.8 {print}' 我发现源磁盘中的稀疏文件“缩小了”,而目标磁盘中的情况并非如此。 我已经使用了rsync,并且已经复制了许多稀疏文件。我该如何缩小它们以占用与源磁盘相同的空间? 遗憾的是,我没有使用-Swith 操作符rsync。 我知道我可以删除它们并再次复制它们....

Admin

Windows 上是否有与 fallocate --punch-holes 等效的程序?
sparsefile

Windows 上是否有与 fallocate --punch-holes 等效的程序?

我正在寻找一种在 Windows 上打孔的方法,这样实际占用磁盘空间就会减少,打孔的区域会被删除。与fallocate --punch-holesLinux 上的行为相同。 存在吗?我知道 NTFS 上存在稀疏文件,所以我相信理论上是可能的。 ...

Admin

我的旋转硬盘如何达到 320 MB/s?
sparsefile

我的旋转硬盘如何达到 320 MB/s?

在创建一个(大部分为空的)1TB 旋转硬盘的映像时,我预计读取速度约为 120 MB/s,并且在第一个块上它就是这样,但是在那之后,大多数时候它的读取速度为 320 MB/s,我认为这对于 HDD 来说是不可能的。 它是 Seagate 2.5 英寸硬盘,通过 USB-SATA 适配器连接到 PC 上的 USB3 端口,我在 Linux 上对其进行了测试。 我想说的是,当它完成读取已使用的块时,速度就开始提高。是不是因为未使用/清零的空间被“标记”为空,而磁盘控制器发送清零数据,而不从磁盘表面物理读取它? 如果是这样,是否可以使用某些系统命令手动标记以改善几...

Admin

如何使用 rsync 重新同步已传输的稀疏文件?
sparsefile

如何使用 rsync 重新同步已传输的稀疏文件?

我已经使用 rsync 完全传输了一个文件没有使用--稀疏,-S选项。我不想浪费空间,因此重新同步文件并将其变成稀疏文件。有没有办法在不先删除目标上的文件的情况下实现此目的?常规增量同步似乎没有注意到目标系统上的文件不再是稀疏文件的事实。 我知道我可以再次同步文件或使用dd 与 conv=sparse或者cp 与 --sparse=always但我想知道是否可以指示 rsync 重新应用稀疏信息。 ...

Admin

我可以以某种方式在驱动器之间拆分一个文件吗? Windows
sparsefile

我可以以某种方式在驱动器之间拆分一个文件吗? Windows

我想在可用驱动器之间分割一个更大的文件(虚拟机磁盘)。 可以吗?如果可以,该怎么做? 简单用例:在当今世界,您的系统中可能有许多不同的驱动器,它们可能不在 RAID 中。如果您可以将映像拆分到 2-3 个 SSD 驱动器之间,则可以增加可用空间,并且可能还可以提高速度。从理论上讲,这一切似乎都是“可行的”,但理论往往与现实大相径庭。 附言:我曾尝试在虚拟客户机内进行 RAID,这种方法可行,但可能很麻烦。在 FreeBSD 上,设置只需 2 秒钟,开箱即用。在 Linux 上,至少可以说很麻烦。一些发行版会提供一些基本支持mdadm,而有些则完全不支持。还有...

Admin

为什么我无法在 Linux 下的 NTFS 分区上创建稀疏文件?
sparsefile

为什么我无法在 Linux 下的 NTFS 分区上创建稀疏文件?

我在 EXT4 分区上有一个非常大的稀疏文件,我想将该文件复制到 NTFS 分区。该文件大小约为 2 TB,但由于它是一个稀疏文件,因此仅占用 700 GB 的磁盘空间。 我想要将该文件复制到的 NTFS 分区只有大约 1.3 TB 的可用空间。因此,如果我可以将稀疏文件复制到那里,它应该可以轻松容纳;但是作为非稀疏文件,它不适合。 我尝试使用一个简单的命令复制文件cp -a,但最终失败,提示“设备上没有剩余空间”。有趣的是,它失败时仍有大约 570 GB 的可用空间。 通过检查文件大小及其报告的磁盘使用情况,我可以看到 NTFS 分区上的文件并不稀疏。 我...

Admin

如何有效地比较巨大的稀疏文件?
sparsefile

如何有效地比较巨大的稀疏文件?

有两个稀疏文件。 经 证明它们是相同的diff。 但比较花了 20 分钟(太长了)。 我想把tar它们分成小文件以加快比较速度。 但它们的tar输出不同。 它们是 512GB 的巨大的稀疏文件,只有大约 40K 有意义的数据。 % ls -l sparse_file_one/ total 40 -rw-r--r-- 1 midnite midnite 512711720960 Mar 4 23:12 sdd.img % ls -l sparse_file_two/ total 48 -rw-r--r-- 1 midnite midnite 51271172...

Admin

我在做什么
sparsefile

我在做什么

我在做什么 我正在研究文件系统图像稀疏工具:零自由。 我认为创建该场景的步骤应该是这样的: 创建文件系统映像。 用某种方式来填充它。 清除它,但实际空间使用情况没有改变,这意味着未分配或者没用过此 fs 上存在空间。 运行zerofree后,其实际空间使用量减少。 但是在对 fs 运行 zerofree 之后,实际的空间使用量并没有缩小。 我有什么误解吗?我该如何正确操作? 任何建议都有帮助! 记录我的尝试 # root❯❯❯ dd if=/dev/zero of=fs.image bs=1M seek=1024 count=0 0+0 records ...

Admin

当“fallocate --dig-holes”运行时中断是否安全?
sparsefile

当“fallocate --dig-holes”运行时中断是否安全?

我fallocate --dig-holes在非常大的磁盘映像上使用它来使其就地稀疏。我担心这个操作可能不是原子的。我的问题是, 如果我按 Ctrl+C 中途停止,是否可以保证我的数据是安全的(要么打洞,要么不打洞,但不会处于不一致的状态)? 断电怎么办?这些文件位于日志文件系统 (ext4) 上。 ...

Admin

文件未设置为稀疏,但在 Windows 资源管理器中显示设置了稀疏属性
sparsefile

文件未设置为稀疏,但在 Windows 资源管理器中显示设置了稀疏属性

在 Windows 机器中有一个测试文件,其中显示该文件具有稀疏文件属性 (P)。但 suingfsutil sparse queryflag说该文件并不稀疏。甚至queryrangerange 也说了同样的话。 多台机器都出现了这种情况,重新启动机器/Windows 资源管理器也无济于事。 我想了解这种行为的差异。 ...

Admin

确定 APFS 上克隆文件的状态
sparsefile

确定 APFS 上克隆文件的状态

Apple 目前正在多个产品线中使用 APFS,包括 macOS。这个新文件系统有一些很好的功能,可以最大限度地减少实际磁盘空间的消耗,例如稀疏文件支持和类似于 BSD 的 clonefile() 的 COW 克隆。 我创建了一个大型稀疏文件作为磁盘映像,并将此文件克隆到其他几个文件中。从那时起,原始文件及其克隆文件都已被写入不同数量的数据。 我发现的输出MDLS(1)可以告诉我文件稀疏程度。例如,一个 16GB 的文件可能只占用 4.4GB 的磁盘空间。但是,如果我克隆该文件,mdls 仍会显示克隆的相同数据,尽管两个文件之间共享所有块。 有没有办法...

Admin

紧凑传输部分空的块设备映像以进行进一步压缩
sparsefile

紧凑传输部分空的块设备映像以进行进一步压缩

我喜欢从远程机器上的一堆 Linux 块设备进行备份。目前,我正在将整个块设备(尽管几乎是空的)传输到备份机器,然后对其进行压缩或重复数据删除(为此使用了多种方法)。 现在我遇到的图像对于备份机器来说太大了,并且传输 GB 的零也没有用。 压缩整个数据也没有用,因为它会阻止备份压缩过程中的重复数据删除和有用的增量索引。 那么,我怎样才能压缩块设备数据,最好不要安装其他工具(尽管有标准的 Linux/GNU 实用程序),也不压缩非零数据? ...

Admin