Linux · 4 7 月, 2026 0

CentOS 7现代化改造:编译安装新版TAR

之前介绍了如何在CentOS 7上编译安装新版Linux内核。在编译那一步,有些小伙伴可能会在编译到某些模块时遇到如下报错:

tar: 无法识别的选项"--sort=name"
请用“tar --help”或“tar --usage”获得更多信息。
make[3]: *** [kernel/Makefile:159:kernel/kheaders_data.tar.xz] 错误 64
make[2]: *** [scripts/Makefile.build:480:kernel] 错误 2
make[2]: *** 正在等待未完成的任务....

这是典型的CentOS7自带的老版tar导致的编译失败。--sort=name需要GNU tar版本高于1.28,而CentOS7自带的只有1.26

彻底解决:编译升级新版TAR

既然是现代化改造,那么最彻底的解决方法就是编译新版本的tar。cd到合适的目录,然后执行以下命令:

wget https://ftp.gnu.org/gnu/tar/tar-1.34.tar.gz
tar xf tar-1.34.tar.gz
cd tar-1.34
./configure
make -j$(nproc)
sudo make install

这时候你需要先退出一下终端。再次进入终端后,用tar --version查看tar是否已替换成新版本。