User Tools

Site Tools


tar_usage

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
tar_usage [2020/12/04 15:46] – created rajutar_usage [2023/01/26 21:24] (current) – [sample commands] raju
Line 1: Line 1:
-=== relative file names in the archive === +==== count number of lines in a txz file ====
-==== Problem ==== +
-If we tar the following directory+
 <code> <code>
-% tree --charset=unicode /tmp/expt +xz -cd foo.txz wc -l
-/tmp/expt +
-`-- insurance +
-    |-- auto.txt +
-    |-- condo.txt +
-    `-- rv.txt +
- +
-1 directory, 3 files+
 </code> </code>
-using+
 <code> <code>
-% tar czvf insurance.tgz /tmp/expt/insurance  +for i in *.txz; do echo $i; xz -cd $i | wc; done
-tar: Removing leading `/' from member names +
-/tmp/expt/insurance/ +
-/tmp/expt/insurance/auto.txt +
-/tmp/expt/insurance/rv.txt +
-/tmp/expt/insurance/condo.txt+
 </code> </code>
-then file names in the .tgz contain the whole path releative to '/'.+ 
 +==== file extensions ==== 
 +  * tar gzip compressed - .tgz 
 +  * tar bzip2 compressed - .tar.bz2, .tar.bz, .tbz 
 +  * tar xz compressed - .txz 
 + 
 +==== sample commands ====
 <code> <code>
-tar tzvf insurance.tgz                    +tar cJvf foo.txz foo
-drwxr-xr-x rajulocal/rajulocal 0 2020-12-04 10:25 tmp/expt/insurance/ +
--rw-r--r-- rajulocal/rajulocal 0 2020-12-04 10:25 tmp/expt/insurance/auto.txt +
--rw-r--r-- rajulocal/rajulocal 0 2020-12-04 10:25 tmp/expt/insurance/rv.txt +
--rw-r--r-- rajulocal/rajulocal 0 2020-12-04 10:25 tmp/expt/insurance/condo.txt +
-</code> +
-But I want the paths to be relative to the 'insurance' directory. Something like +
-<code> +
-drwxr-xr-x rajulocal/rajulocal 0 2020-12-04 10:25 insurance/ +
--rw-r--r-- rajulocal/rajulocal 0 2020-12-04 10:25 insurance/auto.txt +
--rw-r--r-- rajulocal/rajulocal 0 2020-12-04 10:25 insurance/rv.txt +
--rw-r--r-- rajulocal/rajulocal 0 2020-12-04 10:25 insurance/condo.txt+
 </code> </code>
  
-==== Solution ==== +==== convert tgz to txz ====
-Use the -C option while creating the tar archive.+
 <code> <code>
-% tar czvf insurance2.tgz -C /tmp/expt insurance +cat foo.tgz | gzip -cd | xz foo.txz
-insurance/ +
-insurance/auto.txt +
-insurance/rv.txt +
-insurance/condo.txt +
-</code> +
-Test the archive. +
-<code> +
-% tar tzvf insurance2.tgz                        +
-drwxr-xr-x rajulocal/rajulocal 0 2020-12-04 10:25 insurance/ +
--rw-r--r-- rajulocal/rajulocal 0 2020-12-04 10:25 insurance/auto.txt +
--rw-r--r-- rajulocal/rajulocal 0 2020-12-04 10:25 insurance/rv.txt +
--rw-r--r-- rajulocal/rajulocal 0 2020-12-04 10:25 insurance/condo.txt +
-</code> +
-==== How it works ==== +
-From the man page +
-<code> +
-% man tar +
-... +
-       -C, --directory=DIR +
-              Change  to DIR before performing any operations.  This option is order-sensitive, i.e. it affects all +
-              options that follow.+
 </code> </code>
  
-==== System information ==== +To do the other way around
-Debian Buster+
 <code> <code>
-% tar --version +cat foo.txz | xz -cd | gzip > foo.tgz
-tar (GNU tar) 1.30+
 </code> </code>
 +
 +Ref:- http://lowfatdaemon.blogspot.com/2012/01/how-to-repackage-txz-to-tgz-slackware.html
 +
 +tags | change compression algorithm of a tar archive
 +
 +==== internal links ====
 +  * [[Relative file names in a tar archive]]
 +
 +
 +
tar_usage.1607096801.txt.gz · Last modified: 2020/12/04 15:46 by raju