There are many discussions going on as there is a lack of a simple tutorial as to how to install Bitcoin Core (GUI) on Linux distributions, i.e Ubuntu 18.04.

Bitcoin.org offers the tar.gz file (i.e. available here: https://bitcoin.org/bin/bitcoin-core-0.20.0/bitcoin-0.20.0-x86_64-linux-gnu.tar.gz) which can be installed in Linux, i.e. Ubuntu Desktop 18.04 or 20.04.

It would be great if someone could provide such instruction to reach out to a broader user base. Not all users wish to use the Snapstore.

See also here: https://www.reddit.com/r/Bitcoin/comments/hka0qc/why_are_there_no_packages_for_bitcoin_in_linux/

Is there anybody who could write up a tutorial or just post a video for a safe & quick installation of the tar.gz file which is downloaded from Bitcoin.org?

2 Answers 2



Login as user with sudo privileges and change to a temporary directory which is cleared on reboot

$ cd /tmp

Set a temporary version environment variable to the installation

$ VERSION=25.0

Download binary, checksum, and signature files

$ wget https://bitcoincore.org/bin/bitcoin-core-$VERSION/bitcoin-$VERSION-x86_64-linux-gnu.tar.gz

$ wget https://bitcoincore.org/bin/bitcoin-core-$VERSION/SHA256SUMS

$ wget https://bitcoincore.org/bin/bitcoin-core-$VERSION/SHA256SUMS.asc

Checksum check

Check that the reference checksum in the file SHA256SUMS matches the checksum calculated by you

$ sha256sum --ignore-missing --check SHA256SUMS

Example of expected output:

> bitcoin-25.0-x86_64-linux-gnu.tar.gz: OK

Signature check

Bitcoin releases are signed by several individuals, each using its own key. To verify the validity of these signatures, you must first import the corresponding public keys into your GPG key database. The next command download and imports automatically all signatures from the Bitcoin Core release attestations (Guix) repository

$ curl -s "https://api.github.com/repositories/355107265/contents/builder-keys" | grep download_url | grep -oE "https://[a-zA-Z0-9./-]+" | while read url; do curl -s "$url" | gpg --import; done

Example of expected output:

> gpg: key 17565732E08E5E41: 29 signatures not checked due to missing keys
> gpg: /home/admin/.gnupg/trustdb.gpg: trustdb created
> gpg: key 17565732E08E5E41: public key "Andrew Chow <[email protected]>" imported
> gpg: Total number processed: 1
> gpg:               imported: 1
> gpg: no ultimately trusted keys found

Verify that the checksums file is cryptographically signed by the release signing keys. The following command prints signature checks for each of the public keys that signed the checksums.

$ gpg --verify SHA256SUMS.asc

Check that at least a few signatures show the following text

> gpg: Good signature from ...
> Primary key fingerprint: ...

Binaries installation

If you're satisfied with the checksum, signature, extract the Bitcoin Core binaries

$ tar -xvf bitcoin-$VERSION-x86_64-linux-gnu.tar.gz

Install the binaries on the OS

$ sudo install -m 0755 -o root -g root -t /usr/local/bin bitcoin-$VERSION/bin/*

Check the correct installation requesting the output of the version

$ bitcoind --version

The following output is just an example of one of the versions:

> Bitcoin Core version v25.0.0
> Copyright (C) 2009-2022 The Bitcoin Core developers
> [...]

Source: https://v2.minibolt.info/bitcoin/bitcoin/bitcoin-client


Not gonna write a 'tutorial', but here's a couple things that should be mentioned:

  1. As you imply, ubuntu provides a standard 'snap' for bitcoin. easily installed via apt. Agree they are a PITA to use, so ...

  2. if you use the tar.gz, just extract it somewhere, then (using the appropriate version number):

2a) check the signature on the hash file: gpg --verify SHA256SUMS.asc

2b) and confirm the hash for the downloaded file matches the appropriate hash in the hash file: sha256sum bitcoin-0.17.1-x86_64-linux-gnu.tar.gz

2c) Then the trick is to use this to get the files where they need to go (links included): sudo cp -vR bitcoin-0.17.1/* /usr/

2d) Not sure what the 'right' way to start it is, but this works for me. I put it in the automatic startups: bitcoin-qt&

  • Thanks. Could you please clarify: So I go into the folder where the downloaded file is (bitcoin-0.20.0-x86_64-linux-gnu.tar.gz,. Then I extract the file. And then in the Terminal I enter "sudo cp -vR bitcoin-0.20.0/* /usr/. --- Is my understanding correct?
    – Greg
    Commented Jul 13, 2020 at 13:22
  • Thanks. THat helped. The files have been copied succesfully with your command. Please just let me know how the GUI is started now? Thank you
    – Greg
    Commented Jul 13, 2020 at 14:28
  • edited my post to include this
    – harrym
    Commented Jul 13, 2020 at 18:56
  • Thanks. Succesfully started the GUI. Thank you for the instructions.vUnfortunately other issue persists, not related: github.com/bitcoin-core/gui/issues/32
    – Greg
    Commented Jul 15, 2020 at 8:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.