So installieren Sie Terraform in Ubuntu


40

Ich habe versucht, terraform auf dem Ubuntu-Desktop zu installieren, aber es wird folgende Fehlermeldung angezeigt:

bash: /usr/local/bin/terraform: cannot execute binary file: Exec format error"

Die gleichen Schritte für Cloud-Server.

Antworten:


95

Schritte zum Installieren von terraform auf einem Ubuntu / Ubuntu-Cloud-Server:

  1. Installieren Sie unzip

    sudo apt-get install unzip
    
  2. Bestätigen Sie die neueste Versionsnummer auf der terraform-Website:

    https://www.terraform.io/downloads.html
    
  3. Laden Sie die neueste Version der Terraform herunter (ersetzen Sie bei Bedarf die neuere Versionsnummer)

    wget https://releases.hashicorp.com/terraform/0.12.7/terraform_0.12.7_linux_amd64.zip
    
  4. Extrahieren Sie das heruntergeladene Dateiarchiv

    unzip terraform_0.12.7_linux_amd64.zip
    
  5. Verschieben Sie die ausführbare Datei in ein Verzeichnis, in dem nach ausführbaren Dateien gesucht wird

    sudo mv terraform /usr/local/bin/
    
  6. Starte es

    terraform --version 
    

4
Die Versionsnummer ist veraltet.
Sebastian Wagner

Aktualisiert die URL
GNK

9
sudo install terraform /usr/local/bin/ist zuverlässiger, es stellt sicher, dass Eigentum und Berechtigungen korrekt sind.
sj26

Was fügt der sudo installeigentlich hier hinzu? Ich frage dies, weil ich "install: cannot stat 'terraform': Keine solche Datei oder kein solches Verzeichnis" erhalte, wenn ich versuche, es auszuführen, und es nicht dazu bringen kann, wie beabsichtigt zu funktionieren. Es ist unangenehm, diesen Befehl noch nie zuvor zu verwenden ...
matt

Belassen Sie es, verschieben Sie einfach die Dateien, die alle. und überprüfen Sie später die Version.
GNK

9

Wenn du Ubuntu plus snap installierst, ruf einfach an:

sudo snap install terraform

Irgendetwas an der Art und Weise, wie snap die Integration von Binärbrüchen mit ssh-agent installiert. terraform funktioniert einwandfrei, wenn ich es mit snap installiere und dann die Binärdatei über den vollständigen Pfad aufrufe /snap/terraform/216/bin/terraform apply. Aber ich benutze terraform applyund lasse PATH finden /snap/bin/terraform, die Binärdatei kann meinen ssh-Agenten nicht verwenden.
drhagen

2
Beachten Sie, dass snap nicht immer die letzte Version installiert (derzeit kann es v0.11.11 installieren, während die letzte Hauptversion v0.12.5
RELW

1

Dieser Fehler trat auf, wenn Sie versuchen, eine 64-Bit-Exec-Datei auf einem 32-Bit-System auszuführen. Überprüfen Sie Ihr System:

uname -a

x86_64 oder i686 bedeuten 64- oder 32-Bit-Akkordeon.


1

Mein Einzeiler zur Installation der neuesten Version:

sudo echo ; zcat <( CURRR_VER=$(curl -s https://checkpoint-api.hashicorp.com/v1/check/terraform | jq -r -M '.current_version') ; curl -q "https://releases.hashicorp.com/terraform/${CURRR_VER#?}/terraform_${CURRR_VER#?}_linux_amd64.zip" ) | sudo tee /usr/local/bin/terraform > /dev/null ; sudo chmod +x /usr/local/bin/terraform

Verwenden Sie die Zeile von https://github.com/hashicorp/terraform/issues/9803#issuecomment-257903082


0

Was ist mit dem Terraform-Deb-Repository? Sie können Terraform dann mit installieren und aktualisieren apt.

https://tjend.github.io/repo_terraform/

So was:

wget -q -O - https://tjend.github.io/repo_terraform/repo_terraform.key | sudo apt-key add -
sudo echo 'deb [arch=amd64] https://tjend.github.io/repo_terraform stable main' >> /etc/apt/sources.list.d/terraform.list
sudo apt-get update
sudo apt-get install terraform

-6
sudo apt-get install terraform

Führen Sie dann den Befehl sudo apt-get updatedann aussudo apt-get upgrade

wird Ihnen dabei helfen, die passende Version des Teraforms in die simulierte Hardware zu integrieren, die von der Ubuntu-Installation oder einer beliebigen auf Ihrem System installierten Linux-Version abgerufen wurde.


7
Es gibt kein Terraform-
Apt-

2
Diese Antwort ist in mehrfacher Hinsicht falsch. Sie sollte gelöscht werden.
Marcus
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.