redirecting tar extract to another directory

Is it possible to redirect the output from 'tar xvf' to another directory?

The taped tar image is extracting to my / dircetory - even though i'm running the command from /backups.

The contents list of the tape shows files created from /livebackups/...

Thanks
Richard

Sounds like someone used the "P" parameter which ensures tar archives are un-tar'd to their original location in the filesystem!

I have had a similar probelm but did not use the P option. I was looking in the search engine for a solution and came accross this post below.

When I tarred my files I used tar -cvf file.tar file
However it will only let me untar it to the current directory

Maybe my syntax is incorrect but I have looked at the man pages and think I am doing it right. I have tried using relative and absolute paths to redirect

I am using solaris 7. Any ideas as to what the exact command should be ?

It all depends on how the files were backed up.
If you use tar to backup files giving the absolute pathname,
the restoration will also take place in the same path as it is copied onto the tape.

i.e
for backing up, you use
[/backups]# tar -cvf /dev/rmt/tx5 /home/*.*
& then you restore using
[/backups]# tar -xvf /dev/rmt/tx5 *
the files will be restored to /home & not /backups, but

if you backup using
[/home]# tar -cvf /dev/rmt/tx5 *.*
& then restore using
[/backups]# tar -xvf /dev/rmt/tx5 *
the files will be restored to /backups

Hope this helps

If you use the following command:

# tar tvzf <filename.tar.gz>

You should be told the location each file will be un-tared to. If each line has a leading "/" then that will be an exact location on your system.

If each line does not begin with a "/" then the archive is "relative" and will un-tar relative to your location!

:slight_smile:

Maybe I wasn't being clear but what I am trying to do is untar from one file system to another

E.G.

machine 1 has two file systems. file system A has 2 gigs of space. file system B also has 2 gigs of space.

on machine 2 The directory I want to tar is called pedro and I will use the following command to tar it after changing into the local directory

tar -xvf pedro.tar pedro.

The size of pedro.tar is 1.6 gigs

I ftp pedro.tar to file system A on machine 1. The file is too big to untar it as the combination of the pedro.tar and the untarred directories will be greater than 2 gigs.

The solution I was trying to employ is to let pedro.tar exist on file system A but use a tar command which will put the resultant untarred directories into file system B

If I do

tar -xvf pedro.tar .
it will untar the file to the current directory

using that logic I was trying to untar it to file system b using relative paths

i.e. tar -xvf pedro.tar ./../file system B

but the command doesn't work despite not producing an error.

If anyone knows a way to do this please let me know as I have a number of files in varios file systems where the file systems are too small to contain both the tarred and untarred version of the file.

I am not sure that I understand what you are looking for. But if you have /export1/pedro.tar which is a tar file contain a directory called pedro and you want to create /export2/pedro use:
cd /export2
tar xvf /export1/pedro.tar

Thanks to all who helped. The combination of posts helped me manage to figure out what I was looking for even if I didn't explain it that well.