更新tar命令到最新版本

很多人都把tar命令当作是Linux下的压缩工具了,其实严格意义上来说tar命令是个打包命令,本身不具有压缩功能,都是调用压缩工具实现打包后压缩以及解压缩的。这点儿从tar命令的英文全拼:tape archive(意思是磁带存档)就可以说明的,在明月早期的文章【通过老古董理解 Unix/Linux 里那些晦涩难懂的指令】可以更好的理解这个概念的。

<img src="https://zhen.bushini.de/wp-content/uploads/2023/02/1753123958.png" alt="tar命令就是用来打包归档的" title="tar命令就是用来打包归档的">

因为最近明月迷恋上了Zstd压缩算法,还把Zstd压缩类型借助tar命令在LNMP环境下的backup.sh脚本运用在网站自动备份上了,而tar命令只有在1.30版以上才支持Zstd压缩算法,大部分的Linux里默认的tar命令版本都比较低,所以就得自行编译更新tar命令到最新版来支持Zstd压缩算法。

Zstd是由Facebook的Yann Collet(英语:Yann Collet)开发的一个无损数据压缩算法。

依旧算是明月自己的运维学习笔记了,记录下来并分享出来,以后运维工作中也能随时参考,毕竟年纪大了,很多命令细节都记不住了,“好记性不如烂笔头”嘛!

<img src="https://zhen.bushini.de/wp-content/uploads/2023/02/3116635524.png" alt="tar命令的压缩都是借助压缩工具实现的" title="tar命令的压缩都是借助压缩工具实现的">

首先,我们可以在tar命令官网获得最新版本的源码压缩包,考虑到更新到最新版这个刚需,懒得去根据版本号查找了,直接下载latest版最简单高效了。

tar命令官网:https://ftp.gnu.org/gnu/tar/

下载tar命令的latest版源码压缩包:

wget https://ftp.gnu.org/gnu/tar/tar-latest.tar.gz

解压缩源码压缩包:

tar xvzf tar-latest.tar.gz

进入源码压缩包目录(因为下载的latest版本是1.3.4,所以进入对应的目录):

cd tar-1.3.4

编译源代码:

FORCE_UNSAFE_CONFIGURE=1
export FORCE_UNSAFE_CONFIGURE
./configure && make

备份旧版:

mv /bin/tar /bin/tar.old

复制新版到目录:

cp src/tar /bin/tar

验证tar版本号:

tar --version

tar (GNU tar) 1.34
Copyright (C) 2021 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by John Gilmore and Jay Fenlason.

确认已经更新到最新版果断删除备份:

rm /bin/tar.old

至此完成更新tar命令到最新版本,现在的tar命令已经支持Zstd压缩算法了,随后明月会分享网站备份使用Zstd压缩算法的具体代码和体验的,敬请关注了!

全部为采集文章,文中的 联系方式 均不是 本人 的!

发表评论