Questions tagged «sparse-files»

8
将整个分区或硬盘驱动器克隆到稀疏文件
我喜欢将整个分区或整个硬盘驱动器克隆到更大的外部磁盘上,但喜欢创建一个稀疏文件。我经常dd用于克隆,但它不支持稀疏文件。作为解决方法,我使用了类似的方法: cp --sparse=always <(dd if=/dev/sda1 bs=8M) /mount/external/backup/sda1.raw 但是,这对于我的口味来说有点棘手,并且如果中止,也不允许我继续该过程。有趣的是,有一个用于此(ntfsclone)的NTFS工具,但是对于Linux(EXT2-4)的本机文件系统不存在这样的工具。 有没有更好的工具,例如dd,支持稀疏的变体?我没有寻找用于磁盘备份的某些专有软件,而只是想制作一个稀疏的克隆副本,如果需要的话,我可以将其安装为循环设备。

4
可以将原来稀疏然后扩展的文件再次设为稀疏文件吗?
我知道如果不使用了解稀疏文件的实用程序来复制或传输最初是稀疏文件的文件,则会导致“漏洞”的出现。是否有一种方法或实用程序可以将曾经是稀疏文件的内容恢复为稀疏文件? 例如: 创建稀疏文件: % dd if=/dev/zero of=TEST bs=1 count=0 seek=1G # do some op that pads out the holes % scp TEST localhost:~/TEST2 % ls -lhs TEST* 0 -rw-rw-r--. 1 tony tony 1.0G Oct 16 13:35 TEST 1.1G -rw-rw-r--. 1 tony tony 1.0G Oct 16 13:37 TEST2 有什么办法可以: % resparse …

3
如何使用命令行修剪文件?
等同于以下Python代码的控制台是什么: target = file("disk", "w") # create a file target.seek(2*1024*1024*1024) # skip to 2 GB target.write("\0") target.close() 也许有些dd咒语?这个想法是制作一个表面大小为2 GB的文件,以用于虚拟化。 kvm disk -cd whatever.iso #Only allocate space as necessary
18 files  dd  sparse-files 

4
创建任意大的“伪”文件
我想创建一个类似于/dev/null或的特殊文件/dev/random,该文件实际上并不存在,但是您可以从中读取所有内容,只是我可以为文件的外观大小设置上限。 换句话说,我想创建一个特殊的文件(假设将上限设置为500GB),当我“捕获”文件时,它将输出文件的所有500GB,然后停止。它需要具有与实际500GB文件相同的功能,但又不占用空间。该文件的内容无关紧要,可能全都\0像/dev/null,或者只是一个小字符串一遍又一遍地发送,等等。 这是可行的吗?我唯一能找到的接近远程的地方是手册页mknod,但这些手册并没有太大帮助。

3
如何输出文件的“稀疏”?
如何输出实际用数据填充了多少文件标称大小?就像vmtouch显示当前内存中有多少文件... 我希望工作流程是这样的: $ fallocate -l 1000000 data $ measure_sparseness data 100% $ fallocate -p -o 250000 -l 500000 data $ measure_sparseness 50% 解决方法:使用du -bsh和du -sh并加以比较。

1
是什么可以解释对tmpfs的这种奇怪的稀疏文件处理?
在我的ext4文件系统分区上,我可以运行以下代码: fs="/mnt/ext4" #create sparse 100M file on ${fs} dd if=/dev/zero \ of=${fs}/sparse100M conv=sparse seek=$((100*2*1024-1)) count=1 2> /dev/null #show its actual used size before echo "Before:" ls ${fs}/sparse100M -s #setting the sparse file up as loopback and run md5sum on loopback losetup /dev/loop0 ${fs}/sparse100M md5sum /dev/loop0 #show its actual used size …

3
Linux上详细的稀疏文件信息
我有一个稀疏文件,在其中仅分配了一些块: ~% du -h --apparent-size example 100K example ~% du -h example 52K example 我想知道实际上分配了文件的哪些块。是否有系统调用或内核接口可用于获取分配列表或文件漏洞列表? 仅检查足够长的零字符串(GNU cp,rsync等使用的方法)无法正常工作: ~% cp example example1 ~% du -h example1 32K example1 它检测到其他实际分配的零序列。

1
cp --sparse = always有什么缺点吗?
是否有任何理由在每次调用时都不使用use ?--sparse=alwayscp info cp 说: ‘--sparse=WHEN’ A “sparse file” contains “holes”—a sequence of zero bytes that does not occupy any physical disk blocks; the ‘read’ system call reads these as zeros. This can both save considerable disk space and increase speed, since many binary files contain lots of consecutive zero …

2
如何使ext4文件系统稀疏?
我在VirtualBox中使用Linux作为来宾OS。我从其文件系统中删除了大量文件。现在,我要缩小文件系统映像文件(vdi)。收缩通过压缩磁盘上具有“ null”值的文件系统映像来进行。 似乎一个名为zerofree的应用程序可以以稀疏的方式将“ null”写入文件系统的可用空间。但说明说它仅在ext2 / ext3上有效。我的来宾操作系统上有ext4。 为什么它在ext 4上不起作用(被引述为“范围”,但有人可以对此进行更多说明)吗? 如果我将ext 4安装为ext 3,然后重新安装为ext 4,是否可以使用? 是否有其他工具可以在ext上实现与Zerofree类似的功能?

2
如何使用tar,gzip,rsync加快对稀疏文件的操作?
我的文件稀疏。(du -h报告3G,du -h --apparent-size报告100G。)到目前为止,还不错。 现在,当我要使用压缩文件tar或使用进行网络传输时rsync,将需要3G的时间。这些工具似乎读取了所有零。 我以为以某种方式标记了漏洞,而这些工具可能以某种方式跳过了它们? 我的文件可能没有问题? 这是在缺少功能tar和rsync不看稀疏文件?我使用了tar参数--sparse,但是并没有加快速度。rsync参数也没有--sparse。 有什么方法可以在稀疏文件上加快这些工具的速度吗?

2
为什么在包含其他文件系统的文件中碎片级别如此之大?
我刚刚发现了稀疏文件,并想对它们进行一些实验。在Wiki上,您可以阅读到文件很容易碎片化。我想检查那有多糟。我以以下方式创建文件: # truncate -s 10G sparse-file # mkfs.ext4 -m 0 -L sparse ./sparse-file 我安装了稀疏文件,并放入了600M文件。碎片级别如下所示: # filefrag -v "/media/Grafi/sparse-file" Filesystem type is: ef53 File size of /media/Grafi/sparse-file is 10737418240 (2621440 blocks of 4096 bytes) ext: logical_offset: physical_offset: length: expected: flags: 0: 0.. 1032: 36864.. 37896: 1033: 1: 1043.. 1043: 37907.. 37907: …

1
将稀疏文件转换为非稀疏文件
在Linux上,给定一个稀疏文件,如何使其变为非稀疏文件? 可以使用复制它cp --sparse=never ...,但是如果文件是10G且孔是2G(即分配的空间是8G),那么如何使文件系统分配剩余的2G而不将原始8G复制到新文件?

1
如何显示稀疏文件的非稀疏部分?
想象一下使用以下命令创建的文件: truncate -s1T file echo test >> file truncate -s2T file 我现在有一个2 tebibyte文件(在磁盘上占用4kiB),"test\n"中间写着。 我将如何"test"有效地恢复它,而不必读取整个文件。 tr -d '\0' < file 将给我结果,但这将需要几个小时。 我想要的是仅输出文件的非稀疏部分的东西(仅在"test\n"或更可能的情况下,分配在存储该数据的磁盘上分配的4kiB块)。 有API可以找出分配文件的哪一部分(FIBMAP,FIEMAP,SEEK_HOLE,SEEK_DATA ...),但是哪些工具可以公开这些内容? 便携式解决方案(至少支持这些API的OS)将受到赞赏。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.