首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >bsdtar和GNU tar有什么不同?

bsdtar和GNU tar有什么不同?
EN

Unix & Linux用户
提问于 2013-11-18 01:57:54
回答 5查看 62.3K关注 0票数 61

我一直使用GNU tar。但是,我看到的所有GNU/Linux发行版都在其存储库中附带了bsdtar。我甚至见过一些人默认安装了它,IIRC。我确信Arch /Linux需要它作为basedevel的一部分(可能是base,但我不确定),就像我在PKGBUILD中看到的那样。

为什么要使用bsdtar而不是GNU tar?有什么好处?

请注意,我是问和GNU/Linux用户的主要区别是什么?的人。

EN

回答 5

Unix & Linux用户

发布于 2014-11-10 20:23:04

BSDTAR对TAR加上更多的

这里有一个好处!!

我将在这里讨论5个主题(与主题相去甚远,但也将涵盖您想要的内容):

  1. bsdtar对tar
  2. 稀疏文件与非稀疏文件
  3. 带有btrfs的厚和薄文件/luns
  4. 厚而薄的文件/没有btrfs的luns
  5. 厚与薄之间的区别以及它如何不适用于luns

bsdtar比常规tar

更好地处理稀疏文件。

  • bsdtar将获取所有的零,只需对它们进行元数据处理。
  • tar实际上每零处理一次。

*示例:假设一个20 tb稀疏文件(称为biglun)在20 tb稀疏文件(Biglun)中包含10兆数据.现在,由于这是一个稀疏文件,它将只占用驱动器上的10 megs。

如何创建稀疏文件:

稀疏文件-如何使它-检测它-所有稀疏文件类似于“瘦”lun(如果要将它用于lun)。“厚厚的”隆斯将是不同的故事。

*回到主题:

  • 把柏油封起来会使焦油通过所有的10兆和所有的20 10,更糟的零分布在伦.我想这需要一些时间,而tar文件将相当大。而且--提取它--我从来没有提取过一个稀疏文件的tar文件,但是它可能不是很漂亮;我可能错了。
  • bsdtarring biglun将只处理10兆数据,并为~20 the的零数据生成小元数据。

利益?嗯,他们很多,我只是写了一些上面。

它类似于rsync vs

  • 此外,如果您对一个巨大的稀疏文件进行同步,它的行为将类似tar。
  • 如果cp是一个巨大的文件,它将自动像bsdtar那样运行(您可以更改cp‘’ss行为以超过零,也可以不超过零)。

就我个人而言,我喜欢想象稀疏文件如瘦luns,以及常规文件如粗luns.

下一个主题是BTRFS薄月和厚月:

  • 对于像BTRFS这样的文件系统,瘦luns是稀疏文件(像wiki中一样,用truncate实现它)。截断-s < kilobytes>文件名提示:使用bsdtar备份,用cp复制
  • 粗luns是具有+C属性的常规文件(+C使它不受任何干扰,在写时复制,这样所有的写操作基本上都保持在分配给它的位置,并且当有覆盖或删除时,不会发生新的写操作- research or和BTRFS)。不要用truncate来制作文件,而是在-l文件名chattr +C文件名提示中使用"fallocate -l“修改-l

的下一个主题是“超薄”和“厚luns:

  • 稀疏截断-s < kilobytes>文件名提示的瘦luns :使用bsdtar备份,用cp复制
  • 粗luns是具有+C属性的常规文件(+C使其不受任何干扰,在写时复制,这样所有的写操作基本上都停留在分配给它的位置,并且当有覆盖或删除时,不会发生新的写操作-研究牛和BTRFS)。不要用截断来制作文件,而是使用“file -l”触摸文件名file -l 文件名提示:使用bsdtar或tar备份,用rsync或cp复制

什么是厚文件和细文件

  • 粗luns/文件,填充从0到分配大小的数据,元数据假装在0的位置。当您填充数据时,数据将被填充。
  • 粗luns/文件:在开始时用0或任何东西填充数据(懒惰的0或急切的0)--这些设置了保留(或者ZFS喜欢称之为“再保留”)

这里的VMWARE文章描述了带有粗luns/文件的懒惰和急切的零:https://communities.vmware.com/message/2199576

tip

记住,“厚”和“薄”不仅适用于luns,还可以应用于文件、zfs文件系统(共享/卷/luns),我相信还有其他事情(只需查看zfs)。

票数 25
EN

Unix & Linux用户

发布于 2013-12-06 14:30:16

来自Ubuntu软件包描述

与以前的tar实现相比,bsdtar程序有许多优点:

  • 图书馆。因为核心功能在库中,所以它可以被其他工具使用,比如pkg_add。
  • 自动格式检测Libarchive在读取档案时会自动检测压缩(none/gzip/gzip 2)和格式(旧tar、ustar、gnutar、pax、cpio、iso9660、zip)。它对任何数据源都这样做。
  • Pax交换格式支持。这是旧的"ustar“tar格式的POSIX/SUSv3 3扩展,它向每个条目添加任意扩展属性。做GNU格式所做的一切,只是做得更好。
  • 处理文件标志、ACL、任意路径名等。Pax交换格式使用易于扩展的技术支持键/值属性。任意路径名、组名、用户名、文件大小都是POSIX标准的一部分;libarchive通过支持文件标志、ACL和任意设备号扩展了这一点。
  • GNU tar支援。Libarchive阅读了大多数GNU焦油档案。如果有需求,这种情况还可以进一步改善。
票数 14
EN

Unix & Linux用户

发布于 2014-01-05 10:00:15

以下是基于阅读,而不是经验--我刚开始使用Freebsd,所以我对它几乎没有真正的经验(我主要来自Linux)。如果我错过了一些重要的事情,而我在这里说的都是垃圾,我道歉(并谦卑地请求指正)。

从我阅读的手册页(最近一次是http://www.freebsd.org/cgi/man.cgi?query=tar&sektion=1以上的参考页面)来看,Freebsd缺乏( -d,-diff,--比较)能力。这并不奇怪,因为Freebsd转储/恢复的作者似乎也没有提供类似的东西。

我不确定Gnu tar是否会像Freebsd tar那样包含所有的UFS元数据,这是一个重要的问题。但就我的口味而言,在存储了输出文件的MD5和之后,我才能考虑完成转储,然后将转储文件与我刚刚转储的数据进行比较。各种问题可能导致转储数据不同于磁盘上的数据。(不仅仅是文件更改,还有磁盘错误、内存错误、机器故障等等)。这一切都发生在我身上。)

在我个人看来,这使得Gnu tar成为到目前为止我在股票Freebsd系统上创建真正备份的唯一选项。

我很想学别的东西,FWIW。我更喜欢使用本机实用程序,至少用于分区克隆和硬恢复备份。但是,如果不能验证转储的正确性,我就不认为创建转储是有意义的。

票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/101561

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档