制作网站代码吗,基层组织建设部网站,html制作音乐网站代码,合肥定制网站建设#xff08;首发地址#xff1a;学习日记 https://www.learndiary.com/2024/03/bsdtar/ #xff09;
大家好#xff0c;我是淘宝网“学习日记小店”的 Linux 服务提供者 learndiary。今天我将重点分享关于 BSD 版 tar 工具—— bsdtar#xff08;libarchive版本#xff…首发地址学习日记 https://www.learndiary.com/2024/03/bsdtar/
大家好我是淘宝网“学习日记小店”的 Linux 服务提供者 learndiary。今天我将重点分享关于 BSD 版 tar 工具—— bsdtarlibarchive版本目前最新为3.7.2在处理和保留文件特殊属性方面的表现。
在几天前我针对 Linux GNU 版 tar 在保存文件特殊属性的问题上进行了总结发现即使通过指定一系列参数GNU tar也无法正确保留如 chattr 设置的某些文件属性这一问题至今尚未得到解决。
现在我们将对 bsdtar 进行实际测试探究其在保留文件特殊属性时的表现情况。我所使用的 bsdtar 并非原始 BSD 系统自带的归档程序而是基于 libarchive 项目开发的版本。视频演示【bsdtar 归档程序在保留文件特殊属性上比 GNU tar 更全面和简便】 https://www.bilibili.com/video/BV1qZ421b7mj/ 本文基于“通义千问”归纳视频字幕生成文本修改 bsdtar 归档程序在保留文件特殊属性上比 GNU tar 更全面和简便 在 Deepin 20.9 Linux 环境下bsdtar 可以通过“sudo apt install bsdtar”命令进行安装而在更新的 Linux 发行版如 Debian11/12 及新版 Ubuntu 中则需要通过安装“libarchive-tools”包来获取 bsdtar 命令。
这里的 bsdtar 版本是 3.3.3。为了检验 bsdtar 在处理特殊属性的能力我们选取了之前测试 GNU 版 tar 时用到的三个具有代表性的文件分别设置了 ACL 特殊权限的 acl.txt、使用 chattr 程序设置了不可更改特殊属性的 attr.txt 以及拥有网络方面特殊属性的 /usr/bin/ping 命令文件。
接下来为了减少复杂度我将以 root 用户身份进行创建和解开归档文件操作。先使用 bsdtar 创建一个名为 test.btar 的归档文件并在其后缀上采用 btar 以区别于其他归档格式。然后我们将该归档文件解压至一个新的目录 btest 中并检查这三个文件是否成功保留了各自的特殊属性。主要命令如下
sudo bsdtar -cvvf test.btar acl.txt attr.txt /usr/bin/ping # 创建归档文件
sudo bsdtar -xvvf test.btar -C btest # 解开归档文件到目录 btest
经过测试bsdtar 不仅能够保留 acl.txt 的 ACL 特殊权限同时也保留了 attr.txt 的不可更改属性 i 属性ping 命令的网络相关特殊属性也得到了完整保留。另外相对于 GNU 版 tar 保留特殊属性需要添加一系列参数来说bsdtar 默认就能保留文件特殊属性显得更加简便和傻瓜化。这一点相较于 GNU 版 tar 对用户更加友好。
还有一点要注意bsdtar 创建的上述归档文件必须用 bsdtar 解开才能保留全部特殊属性。为了避免时间久了混淆所以我把归档文件另取一个 .btar 的后缀名以区别。
此外对于 bsdtar、GNU 版 tar 以及 star 这三个归档程序之间的区别在参考链接2Differences Between BSD tar and GNU tar and star中有详尽的介绍。但其中提到的一个例子是稀疏文件的处理方式虽然他指出 GNU版 tar 无法压缩稀疏文件但事实上只需添加 “--sparse” 参数GNU 版 tar 也能有效处理并压缩稀疏文件。
总的来说bsdtar 在保留文件特殊属性方面展现出了更全面的功能尤其在处理 chattr 设置的属性时相较于 GNU 版 tar 表现更为完善。建议各位在实际工作中根据自身需求和各归档工具的具体特性进行选择和测试确保满足应用场景的要求。再次强调无论查阅何种技术文档都需要结合实践验证切勿盲目相信不加证实的信息。
本次关于bsdtar在保留文件特殊属性方面的内容分享就到这里感谢大家的关注与观看再见
参考链接 1、libarchivehttps://www.libarchive.org/ 2、Differences Between BSD tar and GNU tar and star https://www.baeldung.com/linux/bsd-tar-gnu-tar-star 3、使用 bsdtar 完整备份/还原 Linux 系统https://www.mivm.cn/linux-full-backup-with-bsdtar