Last active
May 17, 2018 16:03
-
-
Save artyom/926ec9c49a2077f2820053274f0b1b16 to your computer and use it in GitHub Desktop.
GNU tar bug — tar (GNU tar) 1.30 2017-12-17 06:43
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ for i in {1..3} ; do echo sample $i ; mkdir unpack$i && tar tvf sample$i.tar && bsdtar xf sample$i.tar -C unpack$i && find unpack$i -ls ; done | |
sample 1 | |
lrwxrwxrwx admin/admin 0 2018-05-17 15:27 foo -> bar | |
-rw-r--r-- admin/admin 6 2018-05-17 15:27 foo | |
263199 4 drwxr-xr-x 2 admin admin 4096 May 17 15:48 unpack1 | |
266605 4 -rw-r--r-- 1 admin admin 6 May 17 15:27 unpack1/foo | |
sample 2 | |
lrwxrwxrwx admin/admin 0 2018-05-17 15:25 foo -> /bar | |
-rw-r--r-- admin/admin 6 2018-05-17 15:25 foo | |
266606 4 drwxr-xr-x 2 admin admin 4096 May 17 15:48 unpack2 | |
266607 4 -rw-r--r-- 1 admin admin 6 May 17 15:25 unpack2/foo | |
sample 3 | |
lrwxrwxrwx admin/admin 0 2018-05-17 15:39 foo -> dir/bar | |
-rw-r--r-- admin/admin 6 2018-05-17 15:39 foo | |
266608 4 drwxr-xr-x 2 admin admin 4096 May 17 15:48 unpack3 | |
266612 4 -rw-r--r-- 1 admin admin 6 May 17 15:39 unpack3/foo |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ for i in {1..3} ; do echo sample $i ; mkdir unpack$i && tar tvf sample$i.tar && tar xf sample$i.tar -C unpack$i && find unpack$i -ls ; done | |
sample 1 | |
lrwxrwxrwx admin/admin 0 2018-05-17 15:27 foo -> bar | |
-rw-r--r-- admin/admin 6 2018-05-17 15:27 foo | |
266605 4 drwxr-xr-x 2 admin admin 4096 May 17 15:40 unpack1 | |
266606 4 -rw-r--r-- 1 admin admin 6 May 17 15:27 unpack1/foo | |
sample 2 | |
lrwxrwxrwx admin/admin 0 2018-05-17 15:25 foo -> /bar | |
-rw-r--r-- admin/admin 6 2018-05-17 15:25 foo | |
266607 4 drwxr-xr-x 2 admin admin 4096 May 17 15:40 unpack2 | |
266608 0 lrwxrwxrwx 1 admin admin 4 May 17 15:25 unpack2/foo -> /bar | |
sample 3 | |
lrwxrwxrwx admin/admin 0 2018-05-17 15:39 foo -> dir/bar | |
-rw-r--r-- admin/admin 6 2018-05-17 15:39 foo | |
266612 4 drwxr-xr-x 2 admin admin 4096 May 17 15:40 unpack3 | |
266613 4 -rw-r--r-- 1 admin admin 6 May 17 15:39 unpack3/foo |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
On extract newer records in tar stream should by default overwrite older extracted items. In GNU tar this doesn't work if older record is a symlink which target starts with root (
/
).Note how result of unpacking sample 2 differs in GNU tar case.