4.1 KiB
Introduction
This document introduces the Harmony's package release using standard packaging system, RPM and Deb packages.
Standard packaging system has many benefits, like extensive tooling, documentation, portability, and complete design to handle different situation.
Package Content
The RPM/Deb packages will install the following files/binary in your system.
- /usr/sbin/harmony
- /usr/sbin/harmony-setup.sh
- /usr/sbin/harmony-rclone.sh
- /etc/harmony/harmony.conf
- /etc/harmony/rclone.conf
- /etc/systemd/system/harmony.service
- /etc/sysctl.d/99-harmony.conf
The package will create harmony
group and harmony
user on your system.
The harmony process will be run as harmony
user.
The default blockchain DBs are stored in /home/harmony/harmony_db_?
directory.
The configuration of harmony process is in /etc/harmony/harmony.conf
.
Package Manager
Please take sometime to learn about the package managers used on Fedora/Debian based distributions. There are many other package managers can be used to manage rpm/deb packages like [Apt]https://en.wikipedia.org/wiki/APT_(software), or [Yum]https://www.redhat.com/sysadmin/how-manage-packages
Setup customized repo
You just need to do the setup of harmony repo once on a new host. TODO: the repo in this document are for development/testing purpose only.
Official production repo will be different.
RPM Package
RPM is for Redhat/Fedora based Linux distributions, such as Amazon Linux and CentOS.
# do the following once to add the harmony development repo
curl -LsSf http://haochen-harmony-pub.s3.amazonaws.com/pub/yum/harmony-dev.repo | sudo tee -a /etc/yum.repos.d/harmony-dev.repo
sudo rpm --import https://raw.githubusercontent.com/harmony-one/harmony-open/master/harmony-release/harmony-pub.key
Deb Package
Deb is supported on Debian based Linux distributions, such as Ubuntu, MX Linux.
# do the following once to add the harmony development repo
curl -LsSf https://raw.githubusercontent.com/harmony-one/harmony-open/master/harmony-release/harmony-pub.key | sudo apt-key add
echo "deb http://haochen-harmony-pub.s3.amazonaws.com/pub/repo bionic main" | sudo tee -a /etc/apt/sources.list
Test cases
installation
# debian/ubuntu
sudo apt-get update
sudo apt-get install harmony
# fedora/amazon linux
sudo yum install harmony
configure/start
# dpkg-reconfigure harmony (TODO)
sudo systemctl start harmony
uninstall
# debian/ubuntu
sudo apt-get remove harmony
# fedora/amazon linux
sudo yum remove harmony
upgrade
# debian/ubuntu
sudo apt-get update
sudo apt-get upgrade
# fedora/amazon linux
sudo yum update --refresh
reinstall
remove and install
Rclone
install latest rclone
# debian/ubuntu
curl -LO https://downloads.rclone.org/v1.52.3/rclone-v1.52.3-linux-amd64.deb
sudo dpkg -i rclone-v1.52.3-linux-amd64.deb
# fedora/amazon linux
curl -LO https://downloads.rclone.org/v1.52.3/rclone-v1.52.3-linux-amd64.rpm
sudo rpm -ivh rclone-v1.52.3-linux-amd64.rpm
do rclone
# validator runs on shard1
sudo -u harmony harmony-rclone.sh /home/harmony 0
sudo -u harmony harmony-rclone.sh /home/harmony 1
# explorer node
sudo -u harmony harmony-rclone.sh -a /home/harmony 0
Setup explorer (non-validating) node
To setup an explorer node (non-validating) node, please run the harmony-setup.sh
at first.
sudo /usr/sbin/harmony-setup.sh -t explorer -s 0
to setup the node as an explorer node w/o blskey setup.
Setup new validator
Please copy your blskey to /home/harmony/.hmy/blskeys
directory, and start the node.
The default configuration is for validators on mainnet. No need to run harmony-setup.sh
script.
Start/stop node
systemctl start harmony
to start nodesystemctl stop harmony
to stop nodesystemctl status harmony
to check status of node
Change node configuration
The node configuration file is in /etc/harmony/harmony.conf
. Please edit the file as you needed.
sudo vim /etc/harmony/harmony.conf
Support
Please open new github issues in https://github.com/harmony-one/harmony/issues.