this post was submitted on 10 Nov 2024
119 points (85.6% liked)

Linuxsucks

214 readers
2 users here now

Rules:

  1. FOSS advocates and Linux evangelists aren't welcome. -We ask that you block us.
  2. Moderation is heavy handed. Try to stay on topic (that is LINUXSUCKS!).
  3. No Complaining Mute the sub if users, content, or rules bother you *it's ok to report rule violations

founded 2 months ago
MODERATORS
 

Bonus question: With or without - ?

all 46 comments
sorted by: hot top controversial new old
[–] [email protected] 16 points 1 month ago* (last edited 1 month ago) (2 children)

When I point an (un)packing program at a packed archive, the default action should be to fucking unpack it.
And when I point it at anything else, it should pack it into the default format.

Everything else can be options.

[–] [email protected] 9 points 1 month ago (1 children)

The problem is, tar isn't a packing program, it's a tape archive program that's been repurposed for general files-to-file archival with optional compression plugins

At this point, if it were written today, it probably would behave as you suggest, but changing it now would break too many things that use it

[–] [email protected] 6 points 1 month ago

Then it would've been time to deprecate it for this purpose, and use something sensible instead, say about 13 years ago.
All the old stuff can then keep using tar, but the nicer option can become the standard for user-friendly file extraction.

[–] [email protected] -3 points 1 month ago* (last edited 1 month ago) (2 children)

"The world should conform to my expectations, not long-standing conventions!"

But if you engage your thinking meat, you might just discover the magic of alias untar='tar xvf'.

[–] [email protected] 10 points 1 month ago* (last edited 1 month ago) (2 children)

"long-standing conventions" is how you end up with Internet Explorer still pre-installed on Windows Server 2025.
And when was the last time you used the tar "tape archiver" to archive things on tape?

[–] [email protected] 11 points 1 month ago (1 children)

Magnetic tapes are still being used as long-term storage, as backups for example. They are inexpensive, compact, have zero moving parts, and are more durable than optical media. All you have to do is keep them in a location that is around room temperature, relatively dry, and away from magnets.

But that's not really what tar does. It simply collects the input files and writes them to a single contiguous data stream -- a file not unlike an actual tape. It's worked like that for, I shit you not, 45 years, and it is very much a single project holding up modern technology situation. I fear to imagine what would happen if it were to change.

[–] [email protected] 1 points 1 month ago (1 children)

What the fuck zero moving parts? Are you high?

[–] [email protected] 1 points 1 month ago

That would be the sticky tape. Also good for long term storage.

[–] [email protected] 4 points 1 month ago (1 children)

You may not have heard this, but tar can be used to work with non-tape archives.

In fact, non-tape archives are the overwhelmingly popular workflow.

[–] [email protected] 0 points 1 month ago (1 children)

Does having to explain the history of a tool to understand why it works that way make it more or less useful?

[–] [email protected] 3 points 1 month ago

Neither, but understanding that and the ubiquity of that tool might help understand why it can't simply be changed

[–] [email protected] -3 points 1 month ago (1 children)

Why are long standing conventions a good thing? Slavery was a longstanding convention.

[–] [email protected] 4 points 1 month ago

No human rights are violated by tar functioning the way it does, but changing it would cause a lot of problems without good reason since you could just as easily write an alias or wrapper to simplify the usage

[–] [email protected] 11 points 1 month ago (1 children)
[–] [email protected] 1 points 1 month ago
[–] [email protected] 6 points 1 month ago

dtrx = Do The Right eXtraction

Check your local package manager

[–] [email protected] 5 points 1 month ago (1 children)

Tar --rfx

Welpi failed. R isn't valid in this context.

[–] [email protected] 2 points 1 month ago (1 children)

Shit r was mine too. Thought it was recursive

[–] [email protected] 1 points 1 month ago (1 children)
[–] [email protected] 2 points 1 month ago (1 children)

r adds files to an existing compressed file.

So we are saying add a file (r), target this file (t), extract this file (x)

[–] [email protected] 2 points 1 month ago

Thank you for that insight :)

[–] [email protected] 5 points 1 month ago

tar -xzyzrzwzucuauazdufsomething

[–] [email protected] 4 points 1 month ago

xvf/zcfv

Xtract/Create

[–] [email protected] 3 points 1 month ago (1 children)
[–] [email protected] 9 points 1 month ago (1 children)

tar: Refusing to read archive contents from terminal (missing -f option?)

BOOM

[–] [email protected] 3 points 1 month ago
[–] [email protected] 3 points 1 month ago

In every tar: xf .

Although I do admit looking for 'gtar' and using it first. #onlyUnixUsersGetIt

[–] [email protected] 3 points 1 month ago (2 children)

tar -xvf filename I don’t even know what it does but I’ve memorised it.

[–] [email protected] 2 points 1 month ago

x for extract v is verbose f for file input

[–] [email protected] 1 points 1 month ago

-zxf for me, I've mostly used it on gzipped archives

[–] [email protected] 3 points 1 month ago (1 children)
[–] [email protected] 2 points 1 month ago
$ tar -h; echo $?
tar: You must specify one of the '-Acdtrux', '--delete' or '--test-label' options
Try 'tar --help' or 'tar --usage' for more information.
2
$

Lemon squeezy.

[–] [email protected] 2 points 1 month ago

This is why i always install ouch. Tar is for course brain

[–] [email protected] 2 points 1 month ago

I remember using a script as a solution, so I'd be a gonner!

[–] [email protected] 2 points 1 month ago

The real question: GNU tar or not?

[–] [email protected] 1 points 1 month ago (1 children)

This one would be no problem.

[–] [email protected] 5 points 1 month ago (1 children)

Do you know which version of tar it is?
Unix or GNU/Linux?

[–] [email protected] 4 points 1 month ago

Just use - in the statement to cover your bases.