extract data from corrupted tar files
Switch branches/tags
Nothing to show
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs initial commit Mar 16, 2015
src using POSIX compliant string comparison, fixes #3 Feb 15, 2016
LICENSE initial commit Mar 16, 2015
README.md corrected wrong article link Mar 16, 2015

README.md

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 (metaf4@users.askja.de)

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 :)