Files
i2p.itoopie/installer/resources/install_i2p_service_unix

90 lines
1.9 KiB
Plaintext
Raw Normal View History

#!/bin/sh
# I2P Installer - Installs and pre-configures I2P.
#
# install_i2p_service_unix
# 2004 The I2P Project
# http://www.i2p.net
# This code is public domain.
#
# author: hypercubus
#
# Installs I2P as a service on various *nix systems using Java Service Wrapper.
# This script must be run as root.
#
# Java Service Wrapper can be found at:
# http://wrapper.tanukisoftware.org/doc/english/introduction.html
if [ $UID -ne 0 ]; then
echo "Sorry, you need root privileges to install services."
exit 1
fi
ERROR_MSG="Cannot determine operating system type. Please install the service manually."
HOST_OS=`./osid`
if [[ ! $HOST_OS || $HOST_OS = "unknown" ]]; then
echo "$ERROR_MSG"
exit 1
fi
# The following are several different service installation methods covering some
# of the major *nix operating systems. Most *nix OSes should be able to use one
# of these styles. TODO: AIX, HP-UX, HP-UX/64, IRIX, OSF/1.
install_bsd()
{
ln -sf `pwd`/i2psvc /usr/local/etc/rc.d/i2psvc.sh
}
install_debian()
{
ln -sf `pwd`/i2psvc /etc/init.d/i2psvc
update-rc.d i2psvc start 20 2 3 4 5 . stop 20 0 1 6 .
}
install_gentoo()
{
ln -sf `pwd`/i2psvc /etc/init.d/i2psvc
rc-update add i2psvc default
}
install_redhat()
{
ln -sf `pwd`/i2psvc /etc/rc.d/init.d/i2psvc
chkconfig --level 345 i2psvc on
}
install_sysv()
{
ln -sf `pwd`/i2psvc /etc/init.d/i2psvc
ln -sf /etc/init.d/i2psvc /etc/rc0.d/K20i2psvc
ln -sf /etc/init.d/i2psvc /etc/rc1.d/K20i2psvc
ln -sf /etc/init.d/i2psvc /etc/rc2.d/S20i2psvc
ln -sf /etc/init.d/i2psvc /etc/rc3.d/S20i2psvc
}
case $HOST_OS in
debian )
install_debian
;;
fedora | mandrake | redhat | suse )
install_redhat
;;
freebsd | osx )
install_bsd
;;
gentoo )
install_gentoo
;;
solaris )
install_sysv
;;
* )
echo "$ERROR_MSG"
exit 1
;;
esac
exit 0