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 in the docs folder of the project.
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
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
After building, run make install
. ft
will then be installed in /usr/local/bin
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 bytar
, butcpio
orpax
do show them. - it is quite difficult to deal with all possible situations, due to this the most likely have been chosen :)