Skip to main content
Added tar -C option
Source Link
Alexios
  • 19.5k
  • 3
  • 60
  • 76

tar stores relative paths by default. GNU tar even says so if you try to store an absolute path:

tar -cf foo.tar /home/foo
tar: Removing leading `/' from member names

If you need to extract a particular folder, have a look at what's in the tar file:

tar -tvf foo.tar

And note the exact filename. In the case of my foo.tar file, I could extract /home/foo/bar by saying:

tar -xvf foo.tar home/foo/bar # Note: no leading slash

So no, the way you posted isn't (necessarily) the correct way to do it. You have to leave out the leading slash. If you want to simulate absolute paths, do cd / first and make sure you're the superuser. Also, this does the same:

tar -C / -xvf foo.tar home/foo/bar # -C is the ‘change directory’ option

There are very obvious, good reasons why tar converts paths to relative ones. One is the ability to restore an archive in places other than its original source. The other is security. You could extract an archive, expect its files to appear in your current working directory, and instead overwrite system files (or your own work) elsewhere by mistake.

Note: if you use the -P option, tar will archive absolute paths. So it always pays to check the contents of big archives before extracting.

tar stores relative paths. GNU tar even says so if you try to store an absolute path:

tar -cf foo.tar /home/foo
tar: Removing leading `/' from member names

If you need to extract a particular folder, have a look at what's in the tar file:

tar -tvf foo.tar

And note the exact filename. In the case of my foo.tar file, I could extract /home/foo/bar by saying:

tar -xvf foo.tar home/foo/bar # Note: no leading slash

So no, the way you posted isn't (necessarily) the correct way to do it. You have to leave out the leading slash. If you want to simulate absolute paths, do cd / first and make sure you're the superuser.

There are very obvious, good reasons why tar converts paths to relative ones. One is the ability to restore an archive in places other than its original source. The other is security. You could extract an archive, expect its files to appear in your current working directory, and instead overwrite system files (or your own work) elsewhere by mistake.

Note: if you use the -P option, tar will archive absolute paths. So it always pays to check the contents of big archives before extracting.

tar stores relative paths by default. GNU tar even says so if you try to store an absolute path:

tar -cf foo.tar /home/foo
tar: Removing leading `/' from member names

If you need to extract a particular folder, have a look at what's in the tar file:

tar -tvf foo.tar

And note the exact filename. In the case of my foo.tar file, I could extract /home/foo/bar by saying:

tar -xvf foo.tar home/foo/bar # Note: no leading slash

So no, the way you posted isn't (necessarily) the correct way to do it. You have to leave out the leading slash. If you want to simulate absolute paths, do cd / first and make sure you're the superuser. Also, this does the same:

tar -C / -xvf foo.tar home/foo/bar # -C is the ‘change directory’ option

There are very obvious, good reasons why tar converts paths to relative ones. One is the ability to restore an archive in places other than its original source. The other is security. You could extract an archive, expect its files to appear in your current working directory, and instead overwrite system files (or your own work) elsewhere by mistake.

Note: if you use the -P option, tar will archive absolute paths. So it always pays to check the contents of big archives before extracting.

Simplified example
Source Link
Alexios
  • 19.5k
  • 3
  • 60
  • 76

tar stores relative paths. GNU tar even says so if you try to store an absolute path:

tar -cf foo.tar /home/foo
tar: Removing leading `/' from member names

If you need to extract a particular folder, have a look at what's in the tar file:

tar -tvf foo.tar

And note the exact filename. In the case of my foo.tar file, I could extract /tmphome/foo/bar by saying:

tar -xvf foo.tar tmphome/foo/bar # Note: no leading slash

So no, the way you posted isn't (necessarily) the correct way to do it. You have to leave out the leading slash. If you want to simulate absolute paths, do cd / first and make sure you're the superuser.

There are very obvious, good reasons why tar converts paths to relative ones. One is the ability to restore an archive in places other than its original source. The other is security. You could extract an archive, expect its files to appear in your current working directory, and instead overwrite system files (or your own work) elsewhere by mistake.

Note: if you use the -P option, tar will archive absolute paths. So it always pays to check the contents of big archives before extracting.

tar stores relative paths. GNU tar even says so if you try to store an absolute path:

tar -cf foo.tar /home/foo
tar: Removing leading `/' from member names

If you need to extract a particular folder, have a look at what's in the tar file:

tar -tvf foo.tar

And note the exact filename. In the case of my foo.tar file, I could extract /tmp by saying:

tar -xvf foo.tar tmp # Note: no leading slash

So no, the way you posted isn't (necessarily) the correct way to do it. You have to leave out the leading slash. If you want to simulate absolute paths, do cd / first and make sure you're the superuser.

There are very obvious, good reasons why tar converts paths to relative ones. One is the ability to restore an archive in places other than its original source. The other is security. You could extract an archive, expect its files to appear in your current working directory, and instead overwrite system files (or your own work) elsewhere by mistake.

Note: if you use the -P option, tar will archive absolute paths. So it always pays to check the contents of big archives before extracting.

tar stores relative paths. GNU tar even says so if you try to store an absolute path:

tar -cf foo.tar /home/foo
tar: Removing leading `/' from member names

If you need to extract a particular folder, have a look at what's in the tar file:

tar -tvf foo.tar

And note the exact filename. In the case of my foo.tar file, I could extract /home/foo/bar by saying:

tar -xvf foo.tar home/foo/bar # Note: no leading slash

So no, the way you posted isn't (necessarily) the correct way to do it. You have to leave out the leading slash. If you want to simulate absolute paths, do cd / first and make sure you're the superuser.

There are very obvious, good reasons why tar converts paths to relative ones. One is the ability to restore an archive in places other than its original source. The other is security. You could extract an archive, expect its files to appear in your current working directory, and instead overwrite system files (or your own work) elsewhere by mistake.

Note: if you use the -P option, tar will archive absolute paths. So it always pays to check the contents of big archives before extracting.

edited body
Source Link
Alexios
  • 19.5k
  • 3
  • 60
  • 76

tar stores relative paths. GNU tar even says so if you try to store an absolute path:

tar -cf foo.tar /home/foo
tar: Removing leading `/' from member names

If you need to extract a particular folder, have a look at what's in the tar file:

tar -tvf foo.tar

And note the exact filename. In the case of my foo.tar file, I could extract /tmp by saying:

tar -xzfxvf foo.tar tmp # Note: no leading slash

So no, thisthe way you posted isn't (necessarily) the correct way to do it. You have to leave out the leading slash. If you want to simulate absolute paths, do cd / first and make sure you're the superuser.

There are very obvious, good reasons why tar converts paths to relative ones. One is the ability to restore an archive in places other than its original source. The other is security. You could extract an archive, expect its files to appear in your current working directory, and instead overwrite system files (or your own work) elsewhere by mistake.

Note: if you use the -P option, tar will archive absolute paths. So it always pays to check the contents of big archives before extracting.

tar stores relative paths. GNU tar even says so if you try to store an absolute path:

tar -cf foo.tar /home/foo
tar: Removing leading `/' from member names

If you need to extract a particular folder, have a look at what's in the tar file:

tar -tvf foo.tar

And note the exact filename. In the case of my foo.tar file, I could extract /tmp by saying:

tar -xzf foo.tar tmp # Note: no leading slash

So no, this isn't the correct way to do it. You have to leave out the leading slash. If you want to simulate absolute paths, do cd / first and make sure you're the superuser.

There are very obvious, good reasons why tar converts paths to relative ones. One is the ability to restore an archive in places other than its original source. The other is security. You could extract an archive, expect its files to appear in your current working directory, and instead overwrite system files (or your own work) elsewhere by mistake.

Note: if you use the -P option, tar will archive absolute paths. So it always pays to check the contents of big archives before extracting.

tar stores relative paths. GNU tar even says so if you try to store an absolute path:

tar -cf foo.tar /home/foo
tar: Removing leading `/' from member names

If you need to extract a particular folder, have a look at what's in the tar file:

tar -tvf foo.tar

And note the exact filename. In the case of my foo.tar file, I could extract /tmp by saying:

tar -xvf foo.tar tmp # Note: no leading slash

So no, the way you posted isn't (necessarily) the correct way to do it. You have to leave out the leading slash. If you want to simulate absolute paths, do cd / first and make sure you're the superuser.

There are very obvious, good reasons why tar converts paths to relative ones. One is the ability to restore an archive in places other than its original source. The other is security. You could extract an archive, expect its files to appear in your current working directory, and instead overwrite system files (or your own work) elsewhere by mistake.

Note: if you use the -P option, tar will archive absolute paths. So it always pays to check the contents of big archives before extracting.

Source Link
Alexios
  • 19.5k
  • 3
  • 60
  • 76
Loading