pulumi: pulumi install for linux does not work

community slack thread

this happened during a usability study today…

Hello, I just tried running the install pulumi script for Linux I found at https://www.pulumi.com/docs/get-started/aws/begin/

curl -fsSL https://get.pulumi.com/ | sh
but got the following error while extracting the file:
=== Installing Pulumi v3.33.1 ===
+ Downloading https://get.pulumi.com/releases/sdk/pulumi-v3.33.1-linux-x64.tar
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Curren
                                 Dload  Upload   Total   Spent    Left  Speed
100 78.7M  100 78.7M    0     0  9856k      0  0:00:08  0:00:08 --:--:-- 10.2M
+ Extracting to /home/max/.pulumi/bin

gzip: stdin: unexpected end of file
tar: Child returned status 1
tar: Error is not recoverable: exiting now

We're sorry, but it looks like something might have gone wrong during installa
If you need help, please join us on https://slack.pulumi.com/

https://get.pulumi.com/releases/sdk/pulumi-v3.33.1-linux-x64.tar does not exist

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 29 (16 by maintainers)

Most upvoted comments

@AaronFriel I think I finally figured out what’s going on here and it has nothing to do with Pulumi. It turns out that attached file is actually just an empty file (curl wasn’t saving the data to the output file in the /tmp/ directory). I’m not sure why, but snap curl seems to have issues writing to output files in various types of directories (as an example see: https://askubuntu.com/questions/1356327/cant-write-to-a-hidden-path-using-curl).

In case anyone runs into this issue in the future, the resolution for me was the solution documented in the linked thread:

$ sudo snap remove curl
$ sudo apt install curl

The Pulumi install script should work just fine afterwards with apt curl installed.

@AaronFriel I think I finally figured out what’s going on here and it has nothing to do with Pulumi. It turns out that attached file is actually just an empty file (curl wasn’t saving the data to the output file in the /tmp/ directory). I’m not sure why, but snap curl seems to have issues writing to output files in various types of directories (as an example see: https://askubuntu.com/questions/1356327/cant-write-to-a-hidden-path-using-curl).

In case anyone runs into this issue in the future, the resolution for me was the solution documented in the linked thread:

$ sudo snap remove curl
$ sudo apt install curl

The Pulumi install script should work just fine afterwards with apt curl installed.

this worked for me. 😃 thank you

just ducking back in to say it is wild to me that the issue was curl being installed via snap instead of apt on my machine (apparently). very impressed with the digging @nhobin219!

Could you upload that tar.gz to Google Drive/Dropbox/etc and share a link with me?

At the same time, what’s the sha256sum of it? It should be:

db0154d8866b0a4dfc3dae4bb67211c291e4ed3ac729376bbfa0f5c231d72ed3

That’s what our GitHub release has and I’ve just checked by pulling the tarball and that’s what I got. What I don’t understand is why some folks might be getting incomplete or invalid tars.

@nhobin219 did you work out why? Could you install it manually? Do you have any logs/output/diagnostics to share to help diagnose why it didn’t work?

Apologies for the unhelpful comment lol. I didn’t dig too much into it, but let me go ahead and run the commands from the above thread and see if I can get any useful information. I will post back here in a bit.

I ended up manually installing using the linux binary with no issues.

Just as an FYI, I experienced this exact same issue on Ubuntu 22.04.1 LTS. The Linux install command does not work for me.

@MaxPowerWasTaken to try to get you going sooner with Pulumi, please try this minimal install script as well:

wget https://get.pulumi.com/releases/sdk/pulumi-v3.33.1-linux-x64.tar.gz
mkdir -p ~/.pulumi/bin
tar -xzvf pulumi-v3.33.1-linux-x64.tar.gz -C ~/.pulumi/bin --strip-components=1
echo 'export PATH="$HOME/.pulumi/bin:$PATH"' >> ~/.bashrc

per @dixler’s request in slack [UPDATED]…

curl -fsSLv https://get.pulumi.com | sh                                                                                                       ✔  base Py  14:58:40 
*   Trying 143.204.146.99:443...
* Connected to get.pulumi.com (143.204.146.99) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
*  CAfile: /etc/ssl/certs/ca-certificates.crt
*  CApath: none
} [5 bytes data]
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
} [512 bytes data]
* TLSv1.3 (IN), TLS handshake, Server hello (2):
{ [122 bytes data]
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
{ [19 bytes data]
* TLSv1.3 (IN), TLS handshake, Certificate (11):
{ [4951 bytes data]
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
{ [264 bytes data]
* TLSv1.3 (IN), TLS handshake, Finished (20):
{ [36 bytes data]
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
} [1 bytes data]
* TLSv1.3 (OUT), TLS handshake, Finished (20):
} [36 bytes data]
* SSL connection using TLSv1.3 / TLS_AES_128_GCM_SHA256
* ALPN, server accepted to use h2
* Server certificate:
*  subject: CN=pulumi.com
*  start date: Jan  9 00:00:00 2022 GMT
*  expire date: Feb  7 23:59:59 2023 GMT
*  subjectAltName: host "get.pulumi.com" matched cert's "*.pulumi.com"
*  issuer: C=US; O=Amazon; OU=Server CA 1B; CN=Amazon
*  SSL certificate verify ok.
* Using HTTP2, server supports multiplexing
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
} [5 bytes data]
* h2h3 [:method: GET]
* h2h3 [:path: /]
* h2h3 [:scheme: https]
* h2h3 [:authority: get.pulumi.com]
* h2h3 [user-agent: curl/7.82.0]
* h2h3 [accept: */*]
* Using Stream ID: 1 (easy handle 0x55a7acfd8380)
} [5 bytes data]
> GET / HTTP/2
> Host: get.pulumi.com
> user-agent: curl/7.82.0
> accept: */*
> 
{ [5 bytes data]
* Connection state changed (MAX_CONCURRENT_STREAMS == 128)!
} [5 bytes data]
< HTTP/2 200 
< content-type: text/plain
< content-length: 6922
< date: Mon, 23 May 2022 06:25:43 GMT
< last-modified: Mon, 12 Apr 2021 16:16:38 GMT
< etag: "1e45ad7804469c77aae20976da3dc576"
< accept-ranges: bytes
< server: AmazonS3
< vary: Accept-Encoding
< x-cache: Hit from cloudfront
< via: 1.1 31b4da0406d8b733add8a3131335a500.cloudfront.net (CloudFront)
< x-amz-cf-pop: EWR52-C2
< x-amz-cf-id: be9_fJGOf-QvSh6Q8hy4925eIbMOQCJlqJGS5jsHJ4RmNzVJbQfKwA==
< age: 45188
< 
{ [2660 bytes data]
* Connection #0 to host get.pulumi.com left intact
=== Installing Pulumi v3.33.1 ===
+ Downloading https://get.pulumi.com/releases/sdk/pulumi-v3.33.1-linux-x64.tar.gz...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 78.7M  100 78.7M    0     0  44.7M      0  0:00:01  0:00:01 --:--:-- 44.7M
+ Extracting to /home/max/.pulumi/bin

gzip: stdin: unexpected end of file
tar: Child returned status 1
tar: Error is not recoverable: exiting now

We're sorry, but it looks like something might have gone wrong during installation.
If you need help, please join us on https://slack.pulumi.com/