Skip to content

FS-make-simple/fixtar

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

ft ("fix tar")

ft is a commandline tool to extract as much data from corrupted tar archives as possible.

Some background information about the tool can be found here and in the docs folder of the project.

License

ft is distributed under the terms of the GNU General Public License (GPL), Version 2.0. The text of the license is included in the file LICENSE in the root of the project.

The tool is © by Thomas Graf, Thomas Graf ([email protected])

Building

In order to build ft, you will need the following build requisites:

  • gcc (pretty much any version will do
  • flex
  • sed
  • coreutils
  • make

Once you have those tools, change into the src folder and invoke make.

make test will run a couple of tests and make install will install the tool in /usr/local/bin

Installation

After building, run make install. ft will then be installed in /usr/local/bin

Usage

ft copies all data it can find, even if the data is moved within the archive. Usage:

	ft < damaged.tar > repaired.tar
	ft < damaged.tar | tee repaired.tar | tar -tf - | tee list.txt
	ft < damaged.tar | tar --backup=numbered -xvf -

Notes:

  • no options, no output.
  • a cut off file is filled with a line break (an error message will be shown).
  • it is not guaranteed that TAR extensions actually exist in the expected data. In order to avoid unwanted overwriting, you should use tar as follows: tar --backup=numbered -xvf repaired.tar or with option "-k"
  • vendor/POSIX extensions often start with names like ./@LongLink, ./@LongName or */PaxHeader/*, those are not shown by tar, but cpio or pax do show them.
  • it is quite difficult to deal with all possible situations, due to this the most likely have been chosen :)

Releases

No releases published

Packages

No packages published

Languages

  • C 68.3%
  • Makefile 25.1%
  • Shell 6.6%