Add script to install all needed debian packages and perl modules. Usefull after upgrading the Operating System (OS).
This commit is contained in:
parent
9aaaf80c43
commit
2c826fd75d
90
README.debian_packages
Normal file
90
README.debian_packages
Normal file
@ -0,0 +1,90 @@
|
||||
# - Debian packages needed for a complete mailserver
|
||||
# - postfix/postfixadmin/vacation/amavis/dovecot/roundcube
|
||||
# -
|
||||
|
||||
alien
|
||||
amavisd-new
|
||||
arc
|
||||
arj
|
||||
aspell-da
|
||||
aspell-de
|
||||
aspell-en
|
||||
aspell-es
|
||||
aspell-fr
|
||||
aspell-it
|
||||
binutils
|
||||
bsd-mailx
|
||||
bzip2
|
||||
cabextract
|
||||
clamav-base
|
||||
clamav-daemon
|
||||
clamav-docs
|
||||
clamav-freshclam
|
||||
cpanminus
|
||||
cpio\
|
||||
ftp
|
||||
geoip-bin
|
||||
geoip-database
|
||||
haveged
|
||||
lhasa
|
||||
libclamunrar7
|
||||
libdbd-mysql
|
||||
libdbd-mysql-perl
|
||||
libdbd-pg-perl
|
||||
libdbd-pgsql
|
||||
libdbi-dev
|
||||
libdbi-perl
|
||||
libemail-sender-perl
|
||||
libemail-valid-perl
|
||||
libgeoip-dev
|
||||
libgeo-ipfree-perl
|
||||
libgeo-ip-perl
|
||||
libgmp10
|
||||
libgmp-dev
|
||||
libimage-info-perl
|
||||
libio-socket-ssl-perl
|
||||
libio-string-perl
|
||||
libio-zlib-perl
|
||||
libkrb5-dev
|
||||
liblog-log4perl-perl
|
||||
liblz4-tool
|
||||
libmail-dkim-perl
|
||||
libmail-sendmail-perl
|
||||
libmail-spf-perl
|
||||
libmime-encwords-perl
|
||||
libnet-cidr-lite-perl
|
||||
libnet-ident-perl
|
||||
libpq5
|
||||
libpq-dev
|
||||
libsasl2-modules
|
||||
lrzip
|
||||
lzop
|
||||
melt
|
||||
ncftp
|
||||
nomarch
|
||||
opendkim
|
||||
opendkim-tools
|
||||
p7zip
|
||||
p7zip-full
|
||||
p7zip-rar
|
||||
pax
|
||||
postfix
|
||||
postfix-mysql
|
||||
postfix-pcre
|
||||
postfix-pgsql
|
||||
postgrey
|
||||
pyzor
|
||||
rar
|
||||
re2c
|
||||
ripole
|
||||
rpm
|
||||
sasl2-bin
|
||||
socat
|
||||
spamassassin razor
|
||||
tar
|
||||
tnef
|
||||
unrar
|
||||
unrar-free
|
||||
unzip
|
||||
zip
|
||||
zoo
|
15
README.perl_modules
Normal file
15
README.perl_modules
Normal file
@ -0,0 +1,15 @@
|
||||
# - Perl modules needed for a complete mailserver
|
||||
# - postfix/postfixadmin/vacation/amavis/dovecot/roundcube
|
||||
# -
|
||||
|
||||
CPAN
|
||||
Mail::Sender
|
||||
DBI
|
||||
DBD::mysql
|
||||
DBD::Pg
|
||||
IO::Socket::UNIX
|
||||
Digest::SHA1
|
||||
Digest::SHA2
|
||||
Digest::SHA256
|
||||
Encode::Detect
|
||||
Net::Patricia
|
187
install_all_needed_resources.sh
Executable file
187
install_all_needed_resources.sh
Executable file
@ -0,0 +1,187 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
_src_base_dir="$(realpath $(dirname $0))"
|
||||
|
||||
log_file="$(mktemp)"
|
||||
|
||||
|
||||
# -------------
|
||||
# - Functions
|
||||
# -------------
|
||||
|
||||
clean_up() {
|
||||
|
||||
# Perform program exit housekeeping
|
||||
rm -f "$log_file"
|
||||
exit $1
|
||||
}
|
||||
|
||||
echononl(){
|
||||
echo X\\c > /tmp/shprompt$$
|
||||
if [ `wc -c /tmp/shprompt$$ | awk '{print $1}'` -eq 1 ]; then
|
||||
echo "$*\\c" 1>&2
|
||||
else
|
||||
echo -e -n "$*" 1>&2
|
||||
fi
|
||||
rm /tmp/shprompt$$
|
||||
}
|
||||
|
||||
error(){
|
||||
echo ""
|
||||
echo -e "\t[ \033[31m\033[1mFehler\033[m ]: $*"
|
||||
echo ""
|
||||
}
|
||||
|
||||
echo_ok() {
|
||||
echo -e "\033[75G[ \033[32mok\033[m ]"
|
||||
## echo -e " [ ok ]"
|
||||
}
|
||||
echo_failed(){
|
||||
echo -e "\033[75G[ \033[1;31mfailed\033[m ]"
|
||||
## echo -e " [ failed ]"
|
||||
}
|
||||
echo_skipped() {
|
||||
echo -e "\033[80G[ \033[33m\033[1mskipped\033[m ]"
|
||||
}
|
||||
|
||||
_needed_packages_base="
|
||||
alien
|
||||
amavisd-new
|
||||
arc
|
||||
arj
|
||||
aspell-da
|
||||
aspell-de
|
||||
aspell-en
|
||||
aspell-es
|
||||
aspell-fr
|
||||
aspell-it
|
||||
binutils
|
||||
bsd-mailx
|
||||
bzip2
|
||||
cabextract
|
||||
clamav-base
|
||||
clamav-daemon
|
||||
clamav-docs
|
||||
clamav-freshclam
|
||||
cpanminus
|
||||
cpio\
|
||||
ftp
|
||||
geoip-bin
|
||||
geoip-database
|
||||
haveged
|
||||
lhasa
|
||||
libclamunrar7
|
||||
libdbd-mysql
|
||||
libdbd-mysql-perl
|
||||
libdbd-pg-perl
|
||||
libdbd-pgsql
|
||||
libdbi-dev
|
||||
libdbi-perl
|
||||
libemail-sender-perl
|
||||
libemail-valid-perl
|
||||
libgeoip-dev
|
||||
libgeo-ipfree-perl
|
||||
libgeo-ip-perl
|
||||
libgmp10
|
||||
libgmp-dev
|
||||
libimage-info-perl
|
||||
libio-socket-ssl-perl
|
||||
libio-string-perl
|
||||
libio-zlib-perl
|
||||
libkrb5-dev
|
||||
liblog-log4perl-perl
|
||||
liblz4-tool
|
||||
libmail-dkim-perl
|
||||
libmail-sendmail-perl
|
||||
libmail-spf-perl
|
||||
libmime-encwords-perl
|
||||
libnet-cidr-lite-perl
|
||||
libnet-ident-perl
|
||||
libpq5
|
||||
libpq-dev
|
||||
libsasl2-modules
|
||||
lrzip
|
||||
lzop
|
||||
melt
|
||||
ncftp
|
||||
nomarch
|
||||
opendkim
|
||||
opendkim-tools
|
||||
p7zip
|
||||
p7zip-full
|
||||
p7zip-rar
|
||||
pax
|
||||
postfix
|
||||
postfix-mysql
|
||||
postfix-pcre
|
||||
postfix-pgsql
|
||||
postgrey
|
||||
pyzor
|
||||
rar
|
||||
re2c
|
||||
ripole
|
||||
rpm
|
||||
sasl2-bin
|
||||
socat
|
||||
spamassassin razor
|
||||
tar
|
||||
tnef
|
||||
unrar
|
||||
unrar-free
|
||||
unzip
|
||||
zip
|
||||
zoo"
|
||||
|
||||
echo ""
|
||||
echononl " Install needed debian packages"
|
||||
|
||||
for _pkg in $_needed_packages_base ; do
|
||||
if aptitude search "$_pkg" | grep " $_pkg " | grep -e "^i" > /dev/null 2>&1 ; then
|
||||
continue
|
||||
else
|
||||
needed_packages_base="$needed_packages_base $_pkg"
|
||||
fi
|
||||
done
|
||||
if [[ -n "$needed_packages_base" ]]; then
|
||||
DEBIAN_FRONTEND=noninteractive apt-get -y install $needed_packages_base > /dev/null 2> "$log_file"
|
||||
if [[ $? -eq 0 ]] ; then
|
||||
echo_ok
|
||||
else
|
||||
echo_failed
|
||||
error "$(cat $log_file)"
|
||||
fi
|
||||
else
|
||||
echo_skipped
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echononl " Install database related CPAN Modules"
|
||||
_failed=false
|
||||
> $log_file
|
||||
_needed_cpan_modules="
|
||||
CPAN
|
||||
Mail::Sender
|
||||
DBI
|
||||
DBD::mysql
|
||||
DBD::Pg
|
||||
IO::Socket::UNIX
|
||||
Digest::SHA1
|
||||
Digest::SHA2
|
||||
Digest::SHA256
|
||||
Encode::Detect
|
||||
Net::Patricia"
|
||||
for _module in $_needed_cpan_modules ; do
|
||||
cpanm -q --skip-installed $_module >> "$log_file" 2>&1
|
||||
if [[ "$?" -ne 0 ]] ; then
|
||||
_failed=true
|
||||
fi
|
||||
done
|
||||
if $_failed ; then
|
||||
echo_failed
|
||||
error "$(cat $log_file)"
|
||||
else
|
||||
echo_ok
|
||||
fi
|
||||
|
||||
echo ""
|
||||
clean_up 0
|
Loading…
Reference in New Issue
Block a user