Re:How to destroy your OS with tar
by doublerabbit on Friday May 24, 2024 @08:27PM
(#40471688)
tar -cvf mytar.tar /home/myuser/*
Was definitely the syntax I ran. I'm on FreeBSD so just tar.Then, this explains why. BTW, this is an expected Shell behavior, specified in the POSIX standard:
If a filename begins with a <period> ( '.' ), the <period> shall be explicitly
matched by using a <period> as the first character of the pattern or immediately
following a <slash> character. The leading <period> shall not be matched by:
* The <asterisk> or <question-mark> special characters
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V...Interesting fact about the FreeBSD tar's origins:
GNU tar was included as the standard system tar in
FreeBSD beginning with FreeBSD 1.0.
This is a complete re-implementation based
on the libarchive(3) library. It was first released with
FreeBSD 5.4 in May, 2005.
https://man.freebsd.org/cgi/man.cgi?query=tarMy personal journey with FreeBSD began with version 5.3 (the first stable release on the 5th branch) in November 2004. I was completely unaware of such a significant tar change, and apparently I didn't care at the time. However, the entire 5th branch has been so revolutionary compared to the 4th branch that this change is just a drop in the bucket ;)
I'm asking this because I was trying to reproduce the same situation and everything seems to be working fine:
or even like this No special options were needed. But, if I do it this way, then, there are definitely missing all dot directories: But this problem is not a tar's problem. That's only because "*" mask doesn't match dot files: For that purpose, you need to clearly add a dot: Thus, the solution might be But, I'd rather stick to "-C dir/" option instead of relying on "*" mask in this case.