How to Install Go on Debian 9

By 

Updated on

3 min read

Install Go on Debian 9

Go is a modern open-source programming language created by Google, used to build reliable, simple, fast, and efficient software. Many popular applications, including Kubernetes, Docker, Teraform, and Grafana are written in Go.

In this tutorial, we’ll walk you through the steps necessary to download and install Go on a Debian 9 system.

Prerequisites

Before continuing with this tutorial, make sure you are logged in as a user with sudo privileges .

How to Install Go

At the time of writing this article, the latest stable version of Go is version 1.13. Before downloading the tarball, visit the official Go downloads page and check if there is a new version available.

Follow the steps below to install Go on Debian 9:

  1. Downloading Go.

    Download the Go tarball with the following wget command :

    Terminal
    wget https://dl.google.com/go/go1.13.linux-amd64.tar.gz
  2. Verifying the Go tarball.

    Use the sha256sum utility to verify the downloaded file checksum:

    Terminal
    sha256sum go1.13.linux-amd64.tar.gz
    output
    68a2297eb099d1a76097905a2ce334e3155004ec08cdea85f24527be3c48e856  go1.13.linux-amd64.tar.gz

    Make sure the hash printed from the command above matches the one from the Go downloads page . For a broader explanation of checksum generation and verification, see our sha256sum and md5sum guide .

  3. Extracting the Go tarball.

    The following command will extract the tarball to the /usr/local directory:

    Terminal
    sudo tar -C /usr/local -xzf go1.13.linux-amd64.tar.gz
  4. Adjust the Path Variable.

    Now when the Go tarball is extracted, we need to edit the $PATH environment variable so that our system knows where the Go executable binaries are located. We can do this by appending the following line to the /etc/profile file (for a system-wide installation) or to the $HOME/.profile file (for a current user installation):

    ~/.profilesh
    export PATH=$PATH:/usr/local/go/bin

    Save the file, and apply the new PATH environment variable to the current shell session:

    Terminal
    source ~/.profile

Test the Installation

To test whether Go is installed correctly on our machine, we will set up a workspace and build a simple “Hello world” program.

  1. Create the workspace directory

    By default the workspace directory is set to $HOME/go, to create it type:

    Terminal
    mkdir ~/go
  2. Create a simple “Hello World” Go file.

    Inside the workspace create a new directory src/hello

    Terminal
    mkdir -p ~/go/src/hello

    and in that directory create a file named hello.go

    ~/go/src/hello/hello.gogo
    package main
    
    import "fmt"
    
    func main() {
        fmt.Printf("Hello, World\n")
    }

    To learn more about Go workspace directory hierarchy, visit the Go Documentation page.

  3. Build the hello.go file:

    To build the file switch to the ~/go/src/hello directory and run go build:

    Terminal
    cd ~/go/src/hello
    go build

    The command above will build an executable named hello.

  4. Run the executable:

    You can run the executable by simply executing the command below:

    Terminal
    ./hello
    output
    Hello, World

    If you see the same output as the one above, then you have successfully installed Go.

Conclusion

Now that you have downloaded and installed Go on your Debian machine, you can start working on your Go projects.

If you hit a problem or have feedback, leave a comment below.

Linuxize Weekly Newsletter

A quick weekly roundup of new tutorials, news, and tips.

About the authors

Dejan Panovski

Dejan Panovski

Dejan Panovski is the founder of Linuxize, an RHCSA-certified Linux system administrator and DevOps engineer based in Skopje, Macedonia. Author of 800+ Linux tutorials with 20+ years of experience turning complex Linux tasks into clear, reliable guides.

View author page