小编asa*_*ari的帖子

如何覆盖现有的 zip 文件而不是在 Info-Zip 中更新它?

要像 tar 一样获取新的 zip 文件,我是否必须在执行rm foo.zip之前执行zip

$ mkdir foo; touch foo/bar
$ zip -r foo.zip foo
  adding: foo/ (stored 0%)
  adding: foo/bar (stored 0%)
$ rm foo/bar; touch foo/baz
$ zip -r foo.zip foo
  adding: foo/ (stored 0%)
  adding: foo/baz (stored 0%)
$ unzip -l foo.zip
Archive:  foo.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  2011-10-27 07:49   foo/
        0  2011-10-27 07:49   foo/bar
        0  2011-10-27 07:49   foo/baz
---------                     -------
        0                     3 files
Run Code Online (Sandbox Code Playgroud)

zip command-line

43
推荐指数
2
解决办法
3万
查看次数

如何判断 ZFS (zfs-fuse) 重复数据删除/压缩是否应用于特定文件?

我有一个 zfs 格式化分区,使用 zfs-fuse for linux (Ubuntu)。

我已经使用了一段时间,然后在其上启用了重复数据删除和压缩(zfs set compression=on/dedup=on)。现在我想我有一些文件被删除和压缩,还有一些文件还没有。

没关系,但有时我很困惑。让我们看看,以下命令将消耗我的 zfs 存储空间的近 4GB:

cp oldfile.4GB newfile.4GB

.. 这将消耗几乎为零:

cp newfile.4GB newfile.4GB.2

这是因为旧文件尚未压缩,所以我认为没有发生重复数据删除。

我的想法是——如果我能找到尚未重复数据删除/压缩的旧文件,我可以执行批量复制/重命名/删除它们以消除重复和冗余。但我怎么能检查呢?

我知道我可以重新复制我的存储的全部内容应该可以工作(检查每个文件的时间戳甚至更好),但如果我有zfsstat显示某些文件属性的类似工具,我会更高兴。


编辑:在我的环境中验证了 jlliagre 的提示。

First, made some dataset and directories:
$ sudo zfs create zfs/test
$ sudo install -d -m 1777 /zfs/test/orig /zfs/test/copy

Created some files:
$ yes > /zfs/test/orig/yes.1s & sleep 1; kill %1
$ dd if=/dev/zero of=/zfs/test/orig/zero.1M bs=1K count=1024
$ dd if=/dev/urandom of=/zfs/test/orig/rand.1M bs=1K count=1024

Turned compression on, and copy above files: …
Run Code Online (Sandbox Code Playgroud)

linux filesystems zfs ubuntu

5
推荐指数
1
解决办法
5746
查看次数

标签 统计

command-line ×1

filesystems ×1

linux ×1

ubuntu ×1

zfs ×1

zip ×1