#!/bin/bash # # Install a VLMCSD service for CentOS/RedHat # # Author: Wind4 (puxiaping@gmail.com) # Date: November 30, 2015 # check_result() { if [ $1 -ne 0 ]; then echo "Error: $2" >&2 exit $1 fi } if [ "x$(id -u)" != 'x0' ]; then echo 'Error: This script can only be executed by root' exit 1 fi if [ -f '/etc/init.d/vlmcsd' ]; then echo 'VLMCSD service has been installed.' exit 1 fi if [ ! -f '/usr/bin/wget' ]; then echo 'Installing wget ...' yum -q -y install wget check_result $? "Can't install wget." echo 'Install wget succeed.' fi if [ ! -f '/sbin/service' ]; then echo 'Installing initscripts ...' yum -q -y install initscripts check_result $? "Can't install initscripts." echo 'Install initscripts succeed.' fi TMP_DIR=`mktemp -d` cd ${TMP_DIR} echo 'Downloading vlmcsd ...' wget -q https://github.com/Wind4/vlmcsd/releases/download/svn1099/binaries.tar.gz -O binaries.tar.gz check_result $? 'Download vlmcsd failed.' echo 'Downloading startup script ...' wget -q https://wind4.github.io/vlmcsd/scripts/init.d/vlmcsd-rhel -O vlmcsd.init check_result $? 'Download startup script failed.' echo 'Extract vlmcsd ...' tar zxf binaries.tar.gz cp binaries/Linux/intel/static/vlmcsd-x86-musl-static /usr/bin/vlmcsd cp vlmcsd.init /etc/init.d/vlmcsd echo 'Fix Permissions ...' chmod 755 /usr/bin/vlmcsd chown root.root /usr/bin/vlmcsd chmod 755 /etc/init.d/vlmcsd chown root.root /etc/init.d/vlmcsd echo 'Configuring deamon ...' chkconfig --add vlmcsd chkconfig vlmcsd on service vlmcsd start check_result $? 'Installation failed.' echo 'Cleaning ...' rm -rf ${TMP_DIR} echo 'Installed successfully.'