5
0
mirror of https://github.com/cwinfo/yggdrasil-network.github.io.git synced 2024-11-08 20:00:26 +00:00

Add Linux platform page

This commit is contained in:
Neil Alexander 2018-06-21 13:49:57 +01:00
parent 2df7a91f72
commit ae7b6853bb
No known key found for this signature in database
GPG Key ID: A02A2019A2BB0944
2 changed files with 119 additions and 12 deletions

118
platform-linux.md Normal file
View File

@ -0,0 +1,118 @@
---
tags: dontlink
---
# Linux
Yggdrasil is well supported on Linux.
## Notes
- Should work with any kernel that includes `tun` and/or `tap`.
- TAP mode is not supported on macOS, therefore the `IfTAPMode` option will have
no effect.
- The maximum MTU size supported on macOS is 65535.
## Debian
Debian binary packages exist to simplify the installation of Yggdrasil. These
will also work on any Debian-based distribution such as elementaryOS.
### From CircleCI
Visit our [Builds](builds.md) page and download the relevant `.deb` file, then
install it on your system:
```
sudo dpkg -i yggdrasil...deb
```
### From an Internet repository
To start with, trust the repository key:
```
curl -o- http://neilalexander.s3.eu-west-2.amazonaws.com/deb/key.txt | sudo apt-key add -
```
Add the repository:
```
echo 'deb http://neilalexander.s3.eu-west-2.amazonaws.com/deb/ debian yggdrasil' | sudo tee /etc/apt/sources.list.d/yggdrasil.list
sudo apt-get update
```
Install Yggdrasil:
```
sudo apt-get install yggdrasil
```
Configuration will be generated automatically into `/etc/yggdrasil.conf` when
the package is installed, and the Yggdrasil service will automatically be
installed into systemd and started.
## Other Distributions
[Download the latest Yggdrasil binary](https://circleci.com/api/v1.1/project/github/yggdrasil-network/yggdrasil-go/latest/artifacts) and install it:
```
sudo cp ~/yggdrasil-x.x.xx-linux-amd64 /usr/bin/yggdrasil
sudo chmod +x /usr/bin/yggdrasil
```
Alternatively, compile Yggdrasil from source (below) and install:
```
sudo cp /path/to/yggdrasil-go/yggdrasil /usr/bin/yggdrasil
sudo chmod +x /usr/bin/yggdrasil
```
## Generate configuration
If you do not have a configuration file, you should generate configuration
before starting Yggdrasil:
```
sudo yggdrasil -genconf > /etc/yggdrasil.conf
```
## Run Yggdrasil
### Run once
Open a shell and start Yggdrasil using your generated configuration:
```
sudo nohup yggdrasil -useconffile /etc/yggdrasil.conf &
```
Alternatively, start Yggdrasil in auto-configuration mode:
```
sudo nohup yggdrasil -autoconf &
```
### Run with systemd
systemd service scripts are included in the `contrib/systemd/` folder so that it
runs automatically in the background (using `/etc/yggdrasil.conf` for
configuration).
Copy the service files into `/etc/systemd/system`, copy `yggdrasil` into your
`$PATH`, i.e. `/usr/bin`, and then enable the service:
```
systemctl enable yggdrasil
systemctl start yggdrasil
```
Once installed as a systemd service, you can read the `yggdrasil` output:
```
systemctl status yggdrasil
journalctl -u yggdrasil
```
## Build instructions
Linux has most of the tools needed to build Yggdrasil from source - you just
need to install Go 1.9 or later.
1. Install Go 1.9 or later, [godeb](https://github.com/niemeyer/godeb) is
recommended for Debian-based distributions).
1. Open a shell, clone the repository and build:
```
cd /path/to
git clone https://github.com/yggdrasil-network/yggdrasil-go
cd yggdrasil-go
./build
```
1. The resulting `yggdrasil` file is your build - optionally install it into
your system, as above.

View File

@ -2,18 +2,7 @@
## Linux
- Should work out of the box on most Linux distributions.
- systemd service scripts are included in the `contrib/systemd/` folder so that it runs automatically in the background (using `/etc/yggdrasil.conf` for configuration), copy the service files into `/etc/systemd/system`, copy `yggdrasil` into your `$PATH`, i.e. `/usr/bin`, and then enable the service:
```
systemctl enable yggdrasil
systemctl start yggdrasil
```
- Once installed as a systemd service, you can read the `yggdrasil` output:
```
systemctl status yggdrasil
journalctl -u yggdrasil
```
- If you are running a Debian-based system (including Ubuntu and elementaryOS), you may instead prefer to use the [automatically built](builds.md) Debian packages. These install the systemd scripts and generate a configuration file into `/etc/yggdrasil.conf` automatically, and can be easily upgraded when needed.
- See the [Linux platform page](platform-linux.md).
## macOS