Linux下 tar命令(工具)的移植,源码下载、详细移植步骤

简介: Linux下 tar命令(工具)的移植,源码下载、详细移植步骤

一、概述

tar命令是Linux系统下的解压缩命令,在使用busybox移植文件系统时,busybox一般有自带的,但可能出现有些版本比较旧,无法解压缩tar.gz文件,前几天工作中就遇到这种情况:

$ tar zxf /config/data.tar.gz  -C /root/config
tar: invalid option -- 'z'
BusyBox v1.31.0 (2021-03-04 14:00:21 CST) multi-call binary.
Usage: tar c|x|t [-hvokO] [-f TARFILE] [-C DIR] [-T FILE] [-X FILE] [--exclude PATTERN]... [FILE]...
Create, extract, or list files from a tar file
        c       Create
        x       Extract
        t       List
        -f FILE Name of TARFILE ('-' for stdin/out)
        -C DIR  Change to DIR before operation
        -v      Verbose
        -O      Extract to stdout
        -o      Don't restore user:group
        -k      Don't replace existing files
        -h      Follow symlinks
        -T FILE File with names to include
        -X FILE File with glob patterns to exclude
        --exclude PATTERN       Glob pattern to exclude
$

如上,busybox自带的tar命令无法识别到z选项,而busybox是原厂编译好提供的,所以考虑自己移植tar命令。


二、tar命令源码下载

这里要下载的是GNU Tar,https://www.gnu.org/software/tar/ 有它的详细的介绍。

源码下载地址是:ftp://ftp.gnu.org/gnu/tar/,我这里下载的是tar-1.27.1.tar.gz,因为我使用的Ubuntu是自带的tar命令也是1.27.1的。

2018122814580746.png

三、tar源码移植步骤

tar-1.27.1.tar.gz的移植比较顺利,没出现奇怪的问题,步骤就是解压源码、配置、编译

tar-1.27.1.tar.gz复制到Ubuntu的一个目录下,执行如下命令:

tar zxvf tar-1.27.1.tar.gz 
cd tar-1.27.1 
mkdir result
CC=csky-abiv2-linux-gcc ./configure  --prefix=`pwd`/result  --host=arm-linux 
make clean && make && make install

CC=csky-abiv2-linux-gcc 是指定交叉编译的gcc工具,上面的几个命令执行完成后,在result/bin目录会生成一个可执行文件tar,将它拷贝到板子里就可以啦。我是拷贝到板子的/root/tar路径,然后删除旧的链接,建立新的就可以正常使用tar命令了2018122814580746.png

目录
相关文章
|
1天前
|
安全 Linux 开发工具
Linux中可引起文件时间戳改变的相关命令
【4月更文挑战第12天】Linux中可引起文件时间戳改变的相关命令
9 0
|
3天前
|
域名解析 网络协议 Linux
Linux 中的 Nslookup 命令怎么使用?
【4月更文挑战第12天】
22 6
Linux 中的 Nslookup 命令怎么使用?
|
3天前
|
运维 网络协议 Unix
18.系统知识-Linux常用命令
18.系统知识-Linux常用命令
|
4天前
|
网络协议 Ubuntu Linux
Linux 下 TFTP 服务搭建及 U-Boot 中使用 tftp 命令实现文件下载
Linux 下 TFTP 服务搭建及 U-Boot 中使用 tftp 命令实现文件下载
|
4天前
|
Linux Go
Linux命令Top 100驱动人生! 面试必备
探索Linux命令不再迷茫!本文分10部分详解20个基础命令,带你由浅入深掌握文件、目录管理和文本处理。 [1]: <https://cloud.tencent.com/developer/article/2396114> [2]: <https://pan.quark.cn/s/865a0bbd5720> [3]: <https://yv4kfv1n3j.feishu.cn/docx/MRyxdaqz8ow5RjxyL1ucrvOYnnH>
48 0
|
Linux
Linux系统下用源码包安装软件
Linux系统下用源码包安装软件
105 0
|
Linux C语言 开发者
|
11天前
|
Web App开发 Linux 网络安全
工作中常用到的Linux命令
工作中常用到的Linux命令