In the [go-ethereum docs](https://github.com/ethereum/go-ethereum#creating-the-rendezvous-point) there is reference to a `bootnode` command:

> 
> Creating the rendezvous point
> 
> 
> With all nodes that you want to run initialized to the desired genesis
>  state, you'll need to start a bootstrap node that others can use to
>  find each other in your network and/or over the internet. The clean
>  way is to configure and run a dedicated bootnode:
> 
> 
> `$ bootnode --genkey=boot.key`
> 
> 
> `$ bootnode --nodekey=boot.key`
> 
> 
> With the bootnode online, it will display an enode URL that other
>  nodes can use to connect to it and exchange peer information. Make
>  sure to replace the displayed IP address information (most probably
>  `[::]`) with your externally accessible IP to get the actual enode URL.
> 
> 
> Note: You could also use a full fledged Geth node as a bootnode, but
>  it's the less recommended way.
> 
> 
> 

Is this command part of go-ethereum or a separate program?

My computer fails to find the command.

I have tried install via `apt-get install bootnode` gives "no such package"

I'm also unsure what the `boot` object is (with `key` attribute).

Is anyone able to clarify this?

Why is it not recommended to have the bootnode be a full node?