<p>TL;DR: you don't need any binaries except the ones you want to invoke.</p>
<p>Let me go over your list:</p>
<ul>
<li><code>SHA256SUMS.asc</code>: a PGP signed SHA256SUMS file with the SHA256 checksums of all distributed files. The purpose of this is purely to let you verify you have legitimate binaries.</li>
<li><code>bitcoin-0.21.1/README.md</code>: README file with general documentation</li>
<li><code>bitcoin-0.21.1/bin/bitcoin-cli</code>: command line tool send commands to a running<code>bitcoind</code> or <code>bitcoin-qt -server</code> instance.</li>
<li><code>bitcoin-0.21.1/bin/bitcoin-qt</code>: the Bitcoin Core server binary, with Qt GUI included.</li>
<li><code>bitcoin-0.21.1/bin/bitcoin-tx</code>: a standalone tool to create/manipulate/sign raw transactions.</li>
<li><code>bitcoin-0.21.1/bin/bitcoin-wallet</code>: a standalone tool to perform operations on Bitcoin Core <code>wallet.dat</code> files, while they are <em>not</em> currently loaded into a <code>bitcoind</code> or <code>bitcoin-qt</code> instance.</li>
<li><code>bitcoin-0.21.1/bin/bitcoind</code>: the Bitcoin Core server binary, without GUI included.</li>
<li><code>bitcoin-0.21.1/bin/test_bitcoin</code>: the binary that implements all of Bitcoin Core's unit tests. It has been verified to pass all tests when this build of Bitcoin Core was created, but you're of course free to run it on your own system too.</li>
<li><code>bitcoin-0.21.1/include/bitcoinconsensus.h</code>: C header file for those who want to build software using the <code>libbitcoinconsensus.so</code> library.</li>
<li><code>bitcoin-0.21.1/lib/libbitcoinconsensus.so*</code>: shared library that you can link your own software against. It implements the exact same script validation rules as Bitcoin Core does, so avoids the need to reimplement consensus logic yourself.</li>
<li><code>bitcoin-0.21.1/man/man1/*</code>: man pages</li>
<li><code>bitcoin-0.21.1-x86_64-linux-gnu.tar.gz</code>: distribution tarball</li>
<li><code>laanwj-releases.asc</code>: PGP key used to sign releases</li>
</ul>

CC BY-SA 4.0
2021-06-27T17:38:38.250Z
2021-06-27T17:38:38.250Z
Pieter Wuille
<p>There are plenty of guides on installing Bitcoin Core on Linux, and the most popular advice is to do this:</p>
<pre><code>install -m 0755 -o root -g root -t /usr/local/bin bitcoin-0.21.1/bin/*
</code></pre>
<p>Here is an unarchived file tree:</p>
<pre><code>.
├── SHA256SUMS.asc
├── bitcoin-0.21.1
│   ├── README.md
│   ├── bin
│   │   ├── bitcoin-cli
│   │   ├── bitcoin-qt
│   │   ├── bitcoin-tx
│   │   ├── bitcoin-wallet
│   │   ├── bitcoind
│   │   └── test_bitcoin
│   ├── include
│   │   └── bitcoinconsensus.h
│   ├── lib
│   │   ├── libbitcoinconsensus.so -&gt; libbitcoinconsensus.so.0.0.0
│   │   ├── libbitcoinconsensus.so.0 -&gt; libbitcoinconsensus.so.0.0.0
│   │   └── libbitcoinconsensus.so.0.0.0
│   └── share
│       └── man
│           └── man1
│               ├── bitcoin-cli.1
│               ├── bitcoin-qt.1
│               ├── bitcoin-tx.1
│               ├── bitcoin-wallet.1
│               └── bitcoind.1
├── bitcoin-0.21.1-x86_64-linux-gnu.tar.gz
└── laanwj-releases.asc
</code></pre>
<p>So it looks like this command copies six binary files and it doesn't install man pages. Is it necessary to copy all of those binaries to run a headless node without any issues? I've been using <code>bitcoind</code> and <code>bitcoin-cli</code> directly so I'm pretty sure they're required, but I didn't find any info on the rest of the binaries.</p>

<installation>
Which binaries are required to run a headless node?
Igor Bubelov
# Which binaries are required to run a headless node?

(Asked by: username_0 on 2021-06-27)

There are plenty of guides on installing Bitcoin Core on Linux, and the most popular advice is to do this:

```
install -m 0755 -o root -g root -t /usr/local/bin bitcoin-0.21.1/bin/*

```

Here is an unarchived file tree:

```
.
├── SHA256SUMS.asc
├── bitcoin-0.21.1
│   ├── README.md
│   ├── bin
│   │   ├── bitcoin-cli
│   │   ├── bitcoin-qt
│   │   ├── bitcoin-tx
│   │   ├── bitcoin-wallet
│   │   ├── bitcoind
│   │   └── test_bitcoin
│   ├── include
│   │   └── bitcoinconsensus.h
│   ├── lib
│   │   ├── libbitcoinconsensus.so -> libbitcoinconsensus.so.0.0.0
│   │   ├── libbitcoinconsensus.so.0 -> libbitcoinconsensus.so.0.0.0
│   │   └── libbitcoinconsensus.so.0.0.0
│   └── share
│       └── man
│           └── man1
│               ├── bitcoin-cli.1
│               ├── bitcoin-qt.1
│               ├── bitcoin-tx.1
│               ├── bitcoin-wallet.1
│               └── bitcoind.1
├── bitcoin-0.21.1-x86_64-linux-gnu.tar.gz
└── laanwj-releases.asc

```

So it looks like this command copies six binary files and it doesn't install man pages. Is it necessary to copy all of those binaries to run a headless node without any issues? I've been using `bitcoind` and `bitcoin-cli` directly so I'm pretty sure they're required, but I didn't find any info on the rest of the binaries.

**Tags:** installation


---

## 1 answers

### Answer by username_1 on 2021-06-27. Score: 4 | Accepted answer

TL;DR: you don't need any binaries except the ones you want to invoke.

Let me go over your list:

* `SHA256SUMS.asc`: a PGP signed SHA256SUMS file with the SHA256 checksums of all distributed files. The purpose of this is purely to let you verify you have legitimate binaries.
* `bitcoin-0.21.1/README.md`: README file with general documentation
* `bitcoin-0.21.1/bin/bitcoin-cli`: command line tool send commands to a running`bitcoind` or `bitcoin-qt -server` instance.
* `bitcoin-0.21.1/bin/bitcoin-qt`: the Bitcoin Core server binary, with Qt GUI included.
* `bitcoin-0.21.1/bin/bitcoin-tx`: a standalone tool to create/manipulate/sign raw transactions.
* `bitcoin-0.21.1/bin/bitcoin-wallet`: a standalone tool to perform operations on Bitcoin Core `wallet.dat` files, while they are *not* currently loaded into a `bitcoind` or `bitcoin-qt` instance.
* `bitcoin-0.21.1/bin/bitcoind`: the Bitcoin Core server binary, without GUI included.
* `bitcoin-0.21.1/bin/test_bitcoin`: the binary that implements all of Bitcoin Core's unit tests. It has been verified to pass all tests when this build of Bitcoin Core was created, but you're of course free to run it on your own system too.
* `bitcoin-0.21.1/include/bitcoinconsensus.h`: C header file for those who want to build software using the `libbitcoinconsensus.so` library.
* `bitcoin-0.21.1/lib/libbitcoinconsensus.so*`: shared library that you can link your own software against. It implements the exact same script validation rules as Bitcoin Core does, so avoids the need to reimplement consensus logic yourself.
* `bitcoin-0.21.1/man/man1/*`: man pages
* `bitcoin-0.21.1-x86_64-linux-gnu.tar.gz`: distribution tarball
* `laanwj-releases.asc`: PGP key used to sign releases


---

