Question regarding tar command.


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Question regarding tar command.
# 1  
Old 02-10-2017
Hammer & Screwdriver Question regarding tar command.

I wish my tar -xf hello.tar command should return successful even if the tar has already been extracted at the same location i.e. exists by the same or a different user.

Currently i am getting this error as another user has extracted the same tar at the same location.
Code:
tar: README - cannot create
tar: output.txt- cannot create
tar: printed - cannot create
........

Below two option do not work for me for the reasons stated.

tar -xf hello.tar 2>/dev/null just suppresses the error and echo $? does not return zero(successful).

tar -xf hello.tar || true returns success even if the tar file does not exists or other non desired errors.

I did read the man page and look at option -u but that does not help my case.

Can you please suggest if i can get the untar to return success even if the untar has already been done by same or different user.
# 2  
Old 02-10-2017
How far did you get when reading the man page? man tar:
Quote:
--overwrite
overwrite existing files when extracting

--overwrite-dir
overwrite metadata of existing directories when extracting (default)
This User Gave Thanks to RudiC For This Post:
# 3  
Old 02-10-2017
If the tar archive has already been extracted by another user, who is that user? When you try it what account are you running under? root??

It could well be that when you try to extract the archive, the files already extracted by the other user do not give you the access rights to overwrite/create/modify them.

Last edited by hicksd8; 02-10-2017 at 09:44 AM..
This User Gave Thanks to hicksd8 For This Post:
# 4  
Old 02-10-2017
Quote:
Originally Posted by RudiC
How far did you get when reading the man page? man tar:
Quote:
Originally Posted by RudiC
How far did you get when reading the man page? man tar:
Both my users are non root users.

I tried tar -xf hello.tar --overwrite and that seems to persist the existing extracted files with its user owner be it files or folders.

So i guess the --overwrite option works for me & is for both files and folders.

The man page does not mention about the --overwrite option anywhere.

I am happy to have a resolution to the query and i consider this resolved.
# 5  
Old 02-10-2017
You should not need the --overwrite option.
The --no-overwite (in GNU tar) will make tar more happy.

Or you must have a common-group-writable (or world-writable) directory without a t-bit. (E.g. /tmp has got a t-bit, as you can see with ls -ld).
Warning: a shared writable directory without t-bit allows ALL commands to change or delete other users' files.
# 6  
Old 02-10-2017
Quote:
Originally Posted by mohtashims
I wish my tar -xf hello.tar command should return successful even if the tar has already been extracted at the same location
And i wish i had better thought-through questions to answer. Seems like we both don't get what we want.

How should tar know it "has already been extracted", hmm?

- how would tar know at all, because if the pathes in an archive are relative the archive could have been unpacked into a very different place in the filesystem;

- even if there are some files matching the name of files in the archive - how would tar find out if they are complete or if some are missing?

- even if the unpacked file collection is complete, how would tar find out if they are of the same content as the ones in the archive (that is,without actually unpacking them all and running a - hypothetical - "binary diff" against every one of them?

- and even if such a hypothetical analysis would turn out to be successful, how would tar make sure the surely existing diferences in inode content (mtime, ctime, owner, whatever) doesn't matter? Which (amount of) difference exactly should tartolerate and still consider a specific pair of files (in- and outside the archive) to be equal?

What you want: doesn't exist, is theoretically impossible (and actually against the law of thermodynamics, so its safe to say it will never exist). Does that answer your question?

I hope this helps.

bakunin
These 2 Users Gave Thanks to bakunin For This Post:
# 7  
Old 02-10-2017
Helped Smilie
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Tar question

Hi all, newbie here. Could anyone help me how to combine a tar -c and tar -x command such that the source file/folder is archived into a target file in the destination folder (may or may not be in the same server), and extracted directly (through pipe?) in that same destination folder? Thanks... (2 Replies)
Discussion started by: frys_hp
2 Replies

2. Shell Programming and Scripting

tar -C syntax question

I am writing a perl script to tar multiple files (in unix) from a given directory to a given output directory. I do NOT want the file path included in the tar, so I've flagged the -C option. Example: tar -cvf tar/1.tar -C htmp/source/ 1-1-1.xml However, I need to do this for a number of target... (3 Replies)
Discussion started by: michanjohns
3 Replies

3. Shell Programming and Scripting

tar command to explore multiple layers of tar and tar.gz files

Hi all, I have a tar file and inside that tar file is a folder with additional tar.gz files. What I want to do is look inside the first tar file and then find the second tar file I'm looking for, look inside that tar.gz file to find a certain directory. I'm encountering issues by trying to... (1 Reply)
Discussion started by: bashnewbee
1 Replies

4. Shell Programming and Scripting

tar command dont tar to original directory

HI, if I have a tarfile called pmapdata.tar that contains tar -tvf pmapdata.tar -rw-r--r-- 0/0 21 Oct 15 11:00 2009 /var/tmp/pmapdata/pmap4628.txt -rw-r--r-- 0/0 21 Oct 14 20:00 2009 /var/tmp/pmapdata/pmap23752.txt -rw-r--r-- 0/0 1625 Oct 13 20:00 2009... (1 Reply)
Discussion started by: borderblaster
1 Replies

5. UNIX for Dummies Questions & Answers

tar -cvf test.tar `find . -mtime -1 -type f` only tar 1 file

Hi all, 4 files are returned when i issue 'find . -mtime -1 -type f -ls'. ./ora_475244.aud ./ora_671958.aud ./ora_934052.aud ./ora_934050.aud However, when I issued the below command: tar -cvf test.tar `find . -mtime -1 -type f`, the tar file only contains the 1st file -... (2 Replies)
Discussion started by: ahSher
2 Replies

6. UNIX for Dummies Questions & Answers

tar file question

Hi I did this command to tar the files but I got an error. tar -cvpf filename.tar pathname/ It did tar the file filename.tar but then it gave me this error "Reach end of file before expected". The new tar file is about 2GB. So does that mean my tar file limit is 2GB? Is there a max limit... (4 Replies)
Discussion started by: chaoses
4 Replies

7. Shell Programming and Scripting

un-tar question

Hi all, My examples.tar has about 20 directories. I don't want to un-tar the entire examples.tar. Is there a way to un-tar just a directory named "java" from examples.tar? Please let me know JAK (2 Replies)
Discussion started by: jakSun8
2 Replies

8. UNIX for Dummies Questions & Answers

Question on Tar command

Hi, I have a simple question. How do I get a tar of all the files under specific directory which are created on some specific date? Suppose I am in /home/user123/logs. I need the tar of all the logs which are created on May 07. There are some 30 files of that date. Please help. Thanks. (2 Replies)
Discussion started by: everurs
2 Replies

9. UNIX for Dummies Questions & Answers

Question regarding tar restore

I created a relative backup of my home directory using tar into a file named backup.tar. No problem there. I checked it out using the table of contents command to list the contents of the backup.tar file, and there is no problem there either. But, when I tried restoring backup.tar into a... (2 Replies)
Discussion started by: Relykk
2 Replies

10. UNIX for Dummies Questions & Answers

tar question

Folks, I've created a tar file on tape using: tar xvf /dev/rmt0 The directory I was in was: \IMPULS\F50D01\temperik under temperik the tar command created subdirectories. I need too BACKUP these subdirectories again and restore them on another machine, But when i'm going to... (10 Replies)
Discussion started by: Erik Rooijmans
10 Replies
Login or Register to Ask a Question