2010-12-13 Miguel de Dios <miguel.dedios@artica.es>
* PandoraFMS-Enterprise/DEBIAN/*: add scripts and conf files to make a deb package. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2268 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
This commit is contained in:
parent
821d15b7f6
commit
cca5c4a8d6
|
@ -1,4 +1,4 @@
|
||||||
package: PandoraFMS-Server
|
package: PandoraFMS-Server-Enterprise
|
||||||
Version: 3.0.0
|
Version: 3.0.0
|
||||||
Architecture: all
|
Architecture: all
|
||||||
Priority: optional
|
Priority: optional
|
||||||
|
@ -6,5 +6,5 @@ Section: admin
|
||||||
Installed-Size: 640
|
Installed-Size: 640
|
||||||
Maintainer: Miguel de Dios <miguel.dedios@artica.es>
|
Maintainer: Miguel de Dios <miguel.dedios@artica.es>
|
||||||
Homepage: http://pandorafms.org/
|
Homepage: http://pandorafms.org/
|
||||||
Depends: perl (>= 5.8), libmail-sendmail-perl, libdbi-perl, libdbd-mysql-perl,libtime-format-perl, libnetaddr-ip-perl, libtime-format-perl, libxml-simple-perl, libhtml-parser-perl, snmp, snmpd, traceroute, xprobe2, nmap, sudo
|
Depends: pandorafms-server, libio-socket-multicast-perl
|
||||||
Description: Pandora FMS is a monitoring system for big IT environments. It uses remote tests, or local agents to grab information. Pandora supports all standard OS (Linux, AIX, HP-UX, Solaris and Windows XP,2000/2003), and support multiple setups in HA enviroments. This is the server package. Server makes the remote checks and process information transfer by Pandora FMS agents to the server.
|
Description: Pandora FMS is a monitoring system for big IT environments. It uses remote tests, or local agents to grab information. Pandora supports all standard OS (Linux, AIX, HP-UX, Solaris and Windows XP,2000/2003), and support multiple setups in HA enviroments.
|
||||||
|
|
|
@ -23,31 +23,11 @@ then
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Test if you has the tools for to make the packages."
|
|
||||||
whereis dh-make-perl | cut -d":" -f2 | grep dh-make-perl > /dev/null
|
|
||||||
if [ $? = 1 ]
|
|
||||||
then
|
|
||||||
echo "No found \"dh-make-perl\" aplication, please install."
|
|
||||||
exit 1
|
|
||||||
else
|
|
||||||
echo "Found \"dh-make-perl\"."
|
|
||||||
fi
|
|
||||||
|
|
||||||
cd ..
|
cd ..
|
||||||
|
|
||||||
echo "Make a \"temp_package\" temp dir for job."
|
echo "Make a \"temp_package\" temp dir for job."
|
||||||
mkdir temp_package
|
mkdir temp_package
|
||||||
|
|
||||||
echo "Make the fake tree system in \"temp_package\"."
|
|
||||||
mkdir -p temp_package/var/spool/pandora/data_in/conf
|
|
||||||
mkdir -p temp_package/var/spool/pandora/data_in/md5
|
|
||||||
mkdir -p temp_package/var/log/pandora
|
|
||||||
mkdir -p temp_package/etc/pandora
|
|
||||||
mkdir -p temp_package/etc/init.d/
|
|
||||||
mkdir -p temp_package/etc/logrotate.d
|
|
||||||
mkdir -p temp_package/usr/share/pandora_server
|
|
||||||
mkdir -p temp_package/usr/bin
|
|
||||||
|
|
||||||
echo "Make the perl of Pandora Server."
|
echo "Make the perl of Pandora Server."
|
||||||
perl Makefile.PL
|
perl Makefile.PL
|
||||||
make
|
make
|
||||||
|
@ -65,18 +45,10 @@ cat Makefile.temp | sed -e "s/INSTALLSITESCRIPT = .*/INSTALLSITESCRIPT = temp_pa
|
||||||
cat Makefile | sed -e "s/INSTALLVENDORSCRIPT = .*/INSTALLVENDORSCRIPT = temp_package\/usr\/bin/" > Makefile.temp
|
cat Makefile | sed -e "s/INSTALLVENDORSCRIPT = .*/INSTALLVENDORSCRIPT = temp_package\/usr\/bin/" > Makefile.temp
|
||||||
|
|
||||||
mv Makefile.temp Makefile
|
mv Makefile.temp Makefile
|
||||||
|
|
||||||
make install
|
make install
|
||||||
|
|
||||||
echo "Copy other files in fake file."
|
echo "Copy other files in fake file."
|
||||||
cp util/pandora_logrotate temp_package/etc/logrotate.d/pandora
|
|
||||||
|
|
||||||
cp bin/tentacle_server temp_package/usr/bin
|
|
||||||
cp util/tentacle_serverd temp_package/etc/init.d/tentacle_serverd
|
|
||||||
|
|
||||||
cp conf/pandora_server.conf temp_package/etc/pandora/
|
|
||||||
cp util/pandora_server temp_package/etc/init.d/
|
|
||||||
|
|
||||||
cp -R util temp_package/usr/share/pandora_server
|
|
||||||
cp -R DEBIAN temp_package/
|
cp -R DEBIAN temp_package/
|
||||||
|
|
||||||
echo "Remove the SVN files and other temp files."
|
echo "Remove the SVN files and other temp files."
|
||||||
|
@ -90,6 +62,12 @@ do
|
||||||
rm -rf $item
|
rm -rf $item
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
echo $item | grep "perllocal.pod" > /dev/null
|
||||||
|
if [ $? -eq 0 ]
|
||||||
|
then
|
||||||
|
rm -rf $item
|
||||||
|
fi
|
||||||
|
|
||||||
echo $item | grep "make_deb_package.sh" > /dev/null
|
echo $item | grep "make_deb_package.sh" > /dev/null
|
||||||
#last command success
|
#last command success
|
||||||
if [ $? -eq 0 ]
|
if [ $? -eq 0 ]
|
||||||
|
@ -122,22 +100,11 @@ echo "END"
|
||||||
|
|
||||||
echo "Make the package \"Pandorafms server\"."
|
echo "Make the package \"Pandorafms server\"."
|
||||||
dpkg-deb --build temp_package
|
dpkg-deb --build temp_package
|
||||||
mv temp_package.deb pandorafms.server_$pandora_console_version.deb
|
mv temp_package.deb pandorafms.server_enterprise_$pandora_console_version.deb
|
||||||
chmod 777 pandorafms.server_$pandora_console_version.deb
|
chmod 777 pandorafms.server_enterprise_$pandora_console_version.deb
|
||||||
|
|
||||||
echo "Make the package \"libnet-traceroute-pureperl-perl\"."
|
|
||||||
cd temp_package
|
|
||||||
dh-make-perl --build --cpan Net::Traceroute::PurePerl
|
|
||||||
chmod 777 libnet-traceroute-pureperl-perl*.deb
|
|
||||||
mv libnet-traceroute-pureperl-perl*.deb ..
|
|
||||||
cd ..
|
|
||||||
|
|
||||||
echo "Make the package \"libnet-traceroute-perl\"."
|
|
||||||
cd temp_package
|
|
||||||
dh-make-perl --build --cpan Net::Traceroute
|
|
||||||
chmod 777 libnet-traceroute-perl*.deb
|
|
||||||
mv libnet-traceroute-perl*.deb ..
|
|
||||||
cd ..
|
|
||||||
|
|
||||||
echo "Delete the \"temp_package\" temp dir for job."
|
echo "Delete the \"temp_package\" temp dir for job."
|
||||||
|
rm Makefile
|
||||||
|
rm -rf blib
|
||||||
|
rm pm_to_blib
|
||||||
rm -rf temp_package
|
rm -rf temp_package
|
||||||
|
|
|
@ -1,91 +1,4 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
get_distro () {
|
echo "NOTICE: You will need to edit your pandora_server.conf file to enable Enterprise features and restart Pandora FMS server after that."
|
||||||
# Get Linux Distro type and version
|
echo "Please note that you must enter in Pandora FMS Enteprise console PRIOR to execute Pandora FMS Enterprise server"
|
||||||
# We assume we are on Linux unless told otherwise
|
|
||||||
LINUX=YES
|
|
||||||
if [ -f "/etc/SuSE-release" ]
|
|
||||||
then
|
|
||||||
OS_VERSION=`cat /etc/SuSE-release | grep VERSION | cut -f 3 -d " "`
|
|
||||||
LINUX_DISTRO=SUSE
|
|
||||||
elif [ -f "/etc/lsb-release" ]
|
|
||||||
then
|
|
||||||
OS_VERSION=`cat /etc/lsb-release | grep DISTRIB_RELEASE | cut -f 2 -d "="`
|
|
||||||
LINUX_DISTRO=UBUNTU
|
|
||||||
OS_VERSION="UBUNTU $OS_VERSION"
|
|
||||||
elif [ -f "/etc/debian_version" ]
|
|
||||||
then
|
|
||||||
OS_VERSION=`cat /etc/debian_version`
|
|
||||||
OS_VERSION="DEBIAN $OS_VERSION"
|
|
||||||
LINUX_DISTRO=DEBIAN
|
|
||||||
elif [ -f "/etc/fedora-release" ]
|
|
||||||
then
|
|
||||||
OS_VERSION=`cat /etc/fedora-release | cut -f 4 -d " "`
|
|
||||||
OS_VERSION="FEDORA $OS_VERSION"
|
|
||||||
LINUX_DISTRO=FEDORA
|
|
||||||
elif [ `uname -s` == "Darwin" ]
|
|
||||||
then
|
|
||||||
# For future reference, Darwin doesn't have /etc/init.d but uses LaunchDaemons
|
|
||||||
LINUX_DISTRO="Darwin"
|
|
||||||
OS_VERSION=`uname -r`
|
|
||||||
LINUX=NO
|
|
||||||
elif [ `uname -s` == "AIX" ]
|
|
||||||
then
|
|
||||||
# For future reference, AIX doesn't have /etc/init.d
|
|
||||||
LINUX_DISTRO="AIX"
|
|
||||||
OS_VERSION=`uname -r`
|
|
||||||
LINUX=NO
|
|
||||||
elif [ `uname -s` == "SunOS" ]
|
|
||||||
then
|
|
||||||
# Some Solaris and other Unices don't have /etc/init.d, some have /usr/spool instead of /var/spool
|
|
||||||
LINUX_DISTRO="Solaris"
|
|
||||||
OS_VERSION=`uname -r`
|
|
||||||
LINUX=NO
|
|
||||||
elif [ `uname -s` == "Linux" ]
|
|
||||||
then
|
|
||||||
# Test for Linux to make sure we're on Linux
|
|
||||||
LINUX_DISTRO="GENERIC"
|
|
||||||
OS_VERSION=`uname -r`
|
|
||||||
else
|
|
||||||
# Default to Linux is false, test for real Linux above - that way we don't assume we can just plunk down files everywhere
|
|
||||||
LINUX_DISTRO=`uname -s`
|
|
||||||
OS_VERSION=`uname -r`
|
|
||||||
LINUX=NO
|
|
||||||
fi
|
|
||||||
echo "$LINUX_DISTRO:$OS_VERSION:$LINUX"
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
echo "Creating common Pandora FMS directories"
|
|
||||||
useradd pandora 2> /dev/null
|
|
||||||
mkdir -p /home/pandora/.ssh 2> /dev/null
|
|
||||||
chown -R pandora:root /home/pandora
|
|
||||||
chmod 755 /usr/bin/tentacle_server
|
|
||||||
|
|
||||||
echo "Giving proper permission to /var/spool/pandora"
|
|
||||||
chown -R pandora /var/spool/pandora/
|
|
||||||
|
|
||||||
echo "Creating setup directory in /etc/pandora"
|
|
||||||
mkdir /etc/pandora 2> /dev/null
|
|
||||||
|
|
||||||
chmod 770 /etc/pandora/pandora_server.conf
|
|
||||||
|
|
||||||
echo "Linking startup script to /etc/rc2.d"
|
|
||||||
update-rc.d pandora_server defaults
|
|
||||||
|
|
||||||
# Tentacle server install
|
|
||||||
echo "Installing tentacle server in /etc/rc2.d/S80tentacle_serverd"
|
|
||||||
update-rc.d tentacle_serverd defaults
|
|
||||||
|
|
||||||
if [ -d /etc/cron.daily ]
|
|
||||||
then
|
|
||||||
echo "Create the Cron script to run daily Pandora DB tool"
|
|
||||||
echo "#!/bin/bash" > /etc/cron.daily/pandora_db
|
|
||||||
echo "perl /usr/share/pandora_server/util/pandora_db.pl /etc/pandora/pandora_server.conf" >> /etc/cron.daily/pandora_db
|
|
||||||
chmod 750 /etc/cron.daily/pandora_db
|
|
||||||
else
|
|
||||||
echo "You're probably not using cron for automatic scheduling. You should schedule the following command to run frequently (daily) on your master server:"
|
|
||||||
echo " perl /usr/share/pandora_server/util/pandora_db.pl /etc/pandora/pandora_server.conf"
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Please, now, edit the /etc/pandora/pandora_server.conf and launch the Pandora Server with /etc/init.d/Pandora ."
|
|
||||||
|
|
|
@ -1,72 +1 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
get_distro () {
|
|
||||||
# Get Linux Distro type and version
|
|
||||||
# We assume we are on Linux unless told otherwise
|
|
||||||
LINUX=YES
|
|
||||||
if [ -f "/etc/SuSE-release" ]
|
|
||||||
then
|
|
||||||
OS_VERSION=`cat /etc/SuSE-release | grep VERSION | cut -f 3 -d " "`
|
|
||||||
LINUX_DISTRO=SUSE
|
|
||||||
elif [ -f "/etc/lsb-release" ]
|
|
||||||
then
|
|
||||||
OS_VERSION=`cat /etc/lsb-release | grep DISTRIB_RELEASE | cut -f 2 -d "="`
|
|
||||||
LINUX_DISTRO=UBUNTU
|
|
||||||
OS_VERSION="UBUNTU $OS_VERSION"
|
|
||||||
elif [ -f "/etc/debian_version" ]
|
|
||||||
then
|
|
||||||
OS_VERSION=`cat /etc/debian_version`
|
|
||||||
OS_VERSION="DEBIAN $OS_VERSION"
|
|
||||||
LINUX_DISTRO=DEBIAN
|
|
||||||
elif [ -f "/etc/fedora-release" ]
|
|
||||||
then
|
|
||||||
OS_VERSION=`cat /etc/fedora-release | cut -f 4 -d " "`
|
|
||||||
OS_VERSION="FEDORA $OS_VERSION"
|
|
||||||
LINUX_DISTRO=FEDORA
|
|
||||||
elif [ `uname -s` == "Darwin" ]
|
|
||||||
then
|
|
||||||
# For future reference, Darwin doesn't have /etc/init.d but uses LaunchDaemons
|
|
||||||
LINUX_DISTRO="Darwin"
|
|
||||||
OS_VERSION=`uname -r`
|
|
||||||
LINUX=NO
|
|
||||||
elif [ `uname -s` == "AIX" ]
|
|
||||||
then
|
|
||||||
# For future reference, AIX doesn't have /etc/init.d
|
|
||||||
LINUX_DISTRO="AIX"
|
|
||||||
OS_VERSION=`uname -r`
|
|
||||||
LINUX=NO
|
|
||||||
elif [ `uname -s` == "SunOS" ]
|
|
||||||
then
|
|
||||||
# Some Solaris and other Unices don't have /etc/init.d, some have /usr/spool instead of /var/spool
|
|
||||||
LINUX_DISTRO="Solaris"
|
|
||||||
OS_VERSION=`uname -r`
|
|
||||||
LINUX=NO
|
|
||||||
elif [ `uname -s` == "Linux" ]
|
|
||||||
then
|
|
||||||
# Test for Linux to make sure we're on Linux
|
|
||||||
LINUX_DISTRO="GENERIC"
|
|
||||||
OS_VERSION=`uname -r`
|
|
||||||
else
|
|
||||||
# Default to Linux is false, test for real Linux above - that way we don't assume we can just plunk down files everywhere
|
|
||||||
LINUX_DISTRO=`uname -s`
|
|
||||||
OS_VERSION=`uname -r`
|
|
||||||
LINUX=NO
|
|
||||||
fi
|
|
||||||
echo "$LINUX_DISTRO:$OS_VERSION:$LINUX"
|
|
||||||
}
|
|
||||||
|
|
||||||
rm /etc/pandora/pandora_server.conf
|
|
||||||
|
|
||||||
GET_DISTRO="`get_distro`"
|
|
||||||
DISTRO=`echo $GET_DISTRO | cut -f 1 -d ":"`
|
|
||||||
|
|
||||||
rm /etc/init.d/pandora_server
|
|
||||||
rm /etc/init.d/tentacle_serverd
|
|
||||||
update-rc.d pandora_server remove
|
|
||||||
update-rc.d tentacle_serverd remove
|
|
||||||
|
|
||||||
if [ -d /etc/cron.daily ]
|
|
||||||
then
|
|
||||||
rm /etc/cron.daily/pandora_db
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue