this post was submitted on 29 Aug 2024
4 points (83.3% liked)

Bash

720 readers
1 users here now

Talk about the Bash Shell and Bash scripting

founded 4 years ago
MODERATORS
 

Hi all,

I'm trying to put a command together to download a bz2 archive containing an img file and decompress it immediately, basically without saving it to the filesystem. Can this be done?

This is what I've come up with so far, but it's incomplete: wget -qO- "https://opnsense.com/.../img.bz2" | bzip2 -dv

Background: Trying to install OPNsense on Linode. Their hacky official guide says the best way to install FreeBSD is via the rescue mode. But FreeBSD posts their images as .img, so the filesystem size limitation of 1GB for the rescue image isn't an issue. But with OPNsense I need to decompress it.

I have a few different options on how to install this but I see it as a good reason to learn more about stdin/out, piping commands, etc.

Thanks in advance.

you are viewing a single comment's thread
view the rest of the comments
[–] egsaqmojz@lemmy.ml 1 points 2 months ago (1 children)

When I use just the wget aspect of the command, it dumps a bunch of jargon to my terminal, so I think that means I have the "stdout" aspect of that command right.

[–] smpl@discuss.tchncs.de 2 points 2 months ago

I think you just need to redirect¹ stdout from bzip2 to a file.

wget -qO- "https://opnsense.com/.../img.bz2" | bzip2 -dv > img

1: https://pubs.opengroup.org/onlinepubs/9799919799/utilities/V3_chap02.html#tag_19_07