25 Commits

Author SHA1 Message Date
70c002bff2 Set Version 2.1.0 2019-09-20 05:04:35 +02:00
9fbdea3a1d Release 2.1.0
checkout Changelog
2019-09-20 05:01:53 +02:00
7fd11f9cd6 ready for v2.1.0 2019-09-20 04:59:23 +02:00
d34f7a39bd mv Changelog
resolve issue #26
2019-09-20 04:47:32 +02:00
1af13587dc Update README.md 2019-09-20 04:40:14 +02:00
e0262554ce Merge pull request #25 from fossabot/master
Add license scan report and status
2019-09-20 04:39:17 +02:00
0caa4f6af2 README: add PGP shield 2019-09-18 23:17:01 +02:00
67be4705a5 README: add shields for Release and License 2019-09-18 23:00:46 +02:00
2a3aa53d2f Add license scan report and status
Signed-off-by: fossabot <badges@fossa.io>
2019-09-04 10:33:31 -07:00
df734f1f34 Merge branch 'config-as-param' into develop 2019-07-13 21:04:34 +02:00
2ac2fd9cd2 finisch custom config option 2019-07-13 21:04:19 +02:00
90926de1d6 add clear_config func() 2019-07-13 21:03:30 +02:00
189fd6d56c read custom config file 2019-07-13 20:57:25 +02:00
ff5d90c312 catch --config param 2019-07-13 20:53:04 +02:00
ade9e795b6 Merge branch 'print-version-help' into develop 2019-07-13 20:50:28 +02:00
e26f391b49 add help menue (resolve #24) 2019-07-13 20:47:24 +02:00
3643b745ae update dev script set_version
now also has to update the output of --version|-V
2019-07-13 20:37:01 +02:00
f5db5a154d just work normal if no argument is given 2019-07-13 20:34:45 +02:00
3149285ab9 Add Section "Help & Info" 2019-07-13 20:34:07 +02:00
db0ae5e4fe fix dev script
use system variable EDITOR to start the default editor
2019-07-13 20:06:14 +02:00
ffdab66b35 Merge branch 'release-2.0.4' 2018-05-22 02:20:31 +02:00
de495758b4 del old proj for release 2018-05-22 02:19:04 +02:00
1a301100b7 hotfix-2.0.2 2018-05-13 00:36:05 +02:00
263587222e spelling 2018-05-12 23:44:00 +02:00
c9116e1cfd Merge branch 'release-2.0.0' 2018-05-12 23:06:43 +02:00
14 changed files with 189 additions and 663 deletions

View File

@ -30,3 +30,13 @@
* restructure code * restructure code
* use proj templates * use proj templates
* some help scripts * some help scripts
2019-09-20 - 2.1.0
* fixes
- filesystem_extract: filesystem_get_type
- update dev scripts
- work without arguments
* check_update: acuret message
* restruct sample config
* add "Help & Info" menue/section (#24) (#20)
* --config | custom config (#25)

View File

@ -1,6 +1,6 @@
Package: remaster Package: remaster
Source: remaster Source: remaster
Version: 2.0.4 Version: 2.1.0
Architecture: all Architecture: all
Maintainer: 6543 <6543@obermui.de> Maintainer: 6543 <6543@obermui.de>
Installed-Size: <SIZE> Installed-Size: <SIZE>

View File

@ -1,5 +1,9 @@
# remaster [![License: GPL v3](https://img.shields.io/badge/License-GPL%20v3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
[![GitHub release](https://img.shields.io/github/v/release/6543/remaster.svg)](https://github.com/6543/remaster/releases/latest)
[![PGP Sig](https://img.shields.io/keybase/pgp/6543)](https://mh.obermui.de/publickey.gpg)
[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2F6543%2Fremaster.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2F6543%2Fremaster?ref=badge_shield)
# remaster
## Description ## Description
@ -30,3 +34,7 @@ The aim of this Project is to create a daemon for a server, witch update live sy
- Ubuntu/Debian - Ubuntu/Debian
- Desinfect17 - Desinfect17
- one config file - one config file
## License
[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2F6543%2Fremaster.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2F6543%2Fremaster?ref=badge_large)

View File

@ -1,7 +0,0 @@
#!/bin/bash
echo doja loadet
function ja() {
echo ja
}

View File

@ -1,11 +0,0 @@
#!/bin/bash
echo try to import functions of script "$1"
export "mod=$1"
[[ -s "$mod" ]] && source "$mod"
ja
[ "$?" != "0" ] && echo use $0 with doja.sh next time ;)

View File

@ -9,16 +9,17 @@ date=`date +%Y-%m-%d`
#nummer #nummer
sed -i "/#@version\ /c\#@version\ $version_sed" src/remaster.sh sed -i "/#@version\ /c\#@version\ $version_sed" src/remaster.sh
sed -i "/echo\ Remaster\ /c\ \ \ \ \ \ \ \ \ \ echo\ Remaster\ $version_sed" src/remaster.sh
#datum #datum
sed -i "/#@date\ /c\#@date\ $date" src/remaster.sh sed -i "/#@date\ /c\#@date\ $date" src/remaster.sh
} }
[ -e "changes/remaster.md" ] && { [ -e "Changelog.md" ] && {
echo >> changes/remaster.md echo >> Changelog.md
echo $date - $version >> changes/remaster.md echo $date - $version >> Changelog.md
editor changes/remaster.md $EDITOR Changelog.md
} }
[ -f "DEBIAN/control" ] && { [ -f "DEBIAN/control" ] && {

View File

@ -11,8 +11,8 @@ iso_source="/data/local/Desinfect_Remaster/tmp/desinfect-2017.iso"
# squashfs_path="/data/local/Desinfect_Remaster/tmp/filesystem.squashfs" # squashfs_path="/data/local/Desinfect_Remaster/tmp/filesystem.squashfs"
## Ziel, Lable der zu erstellenden CD/DVD ## Ziel, Lable der zu erstellenden CD/DVD
iso_aim="/data/local/Desinfect_Remaster/tmp/custom_desinfect_<date>.iso" iso_aim="/data/local/Desinfect_Remaster/tmp/custom_desinfect_`date '+%Y-%m-%d'`.iso"
iso_lable="DESINFECT_<date>" iso_lable="DESINFECT_`date '+%Y-%m-%d'`"
## Netzwerk Sinstellungen ## Netzwerk Sinstellungen
@ -28,7 +28,7 @@ project="desinfect.17"
## LOG Einstellungen ## LOG Einstellungen
## log_file ist optionall ## log_file ist optionall
log_file="/data/local/Desinfect_Remaster/tmp/logs/<date>.log" log_file="/data/local/Desinfect_Remaster/tmp/logs/`date '+%Y-%m-%d'`.log"
## Senden mit sendmail einen Report ## Senden mit sendmail einen Report
# log_mail_source="desinfect@email.clocal" # log_mail_source="desinfect@email.clocal"
# log_mail_smtp="smtp.mail.local:25" # log_mail_smtp="smtp.mail.local:25"

View File

@ -2,8 +2,8 @@
#remaster lib #remaster lib
[ -d "<LIBDIR>" ] || { echo "LIBDIR not exist"; exit 1; } [ -d "<LIBDIR>" ] || { echo "LIBDIR not exist"; exit 1; }
#config_check #check_config
function config_check() { function check_config() {
#Project #Project
[ -f "<LIBDIR>/proj/$project" ] || { [ -f "<LIBDIR>/proj/$project" ] || {
@ -24,7 +24,7 @@ function config_check() {
echo 'iso_source -> squashfs' echo 'iso_source -> squashfs'
else else
# ERROR # ERROR
echo "Settings: No corect AIM" echo "No corect AIM in Settings"
return 3 return 3
fi fi
fi fi
@ -32,14 +32,14 @@ function config_check() {
if [ -f "$squashfs_path" ]; then if [ -f "$squashfs_path" ]; then
if [ -n "$iso_aim" ]; then if [ -n "$iso_aim" ]; then
# ERROR # ERROR
echo "Settings: only Squashfs source in Settings, cant creat ISO" echo "only Squashfs source in Settings, cant creat ISO"
return 3 return 3
else else
echo 'squashfs -> squashfs' echo 'squashfs -> squashfs'
fi fi
else else
# ERROR # ERROR
echo "Settings: No corect Source" echo "No corect Source in Settings"
return 3 return 3
fi fi
fi fi
@ -51,5 +51,5 @@ function config_check() {
#this func is standalone executable #this func is standalone executable
[ -n "$1" ] && { [ -n "$1" ] && {
config_check $@ check_config $@
} }

35
src/func/clear_config Executable file
View File

@ -0,0 +1,35 @@
#!/bin/bash
#remaster lib
[ -d "<LIBDIR>" ] || { echo "LIBDIR not exist"; exit 1; }
#check_config
function clear_config() {
## Source & Aim options
iso_source=
squashfs_path=
iso_aim=
iso_lable=
## network
proxy_host=
proxy_port=
domain=
nameserver=
## Project / Distro
project=
## LOG Settings
log_file=
log_mail_source=
log_mail_smtp=
log_mail_aim=
log_mail_subject=
}
#this func is standalone executable
[ -n "$1" ] && {
clear_config $@
}

View File

@ -1,69 +0,0 @@
#!/bin/bash
#remaster lib
[ -d "<LIBDIR>" ] || { echo "LIBDIR not exist"; exit 1; }
#config_build jobfile configenv
function config_build() {
config_file="$1"
config_env="$2"
echo "### S e t t i n g s ###"
[ -f "$config_file" ] || {
echo "Config: wrong path for jobfile"
exit 3
}
[ -f "$config_env" ] || {
echo "Config: wrong path for config enviroment"
exit 3
}
##load project
export "`cat "$config_file" | grep ^[^#] | grep ^project= | cut -d "#" -f 1 | tr -d '"'`"
#check if project template exist
[ -f "<LIBDIR>/proj/$project" ] || {
echo "No Project \"$project\" is not supported"
return 3
}
# loard project
source "<LIBDIR>/proj/$project"
echo; echo #space
cat "$config_file" | grep ^[^#] | cut -d "#" -f 1 | grep '=' | while read line; do
#read each var line
config_key=`echo $line | cut -d "=" -f 1`
config_value=`echo $line | cut -d "=" -f 2 | tr -d '"'`
config_corect="false"
#check if this is a alowed config key
for i in $config_keys; do
[ "$i" == "$config_key" ] && config_corect="true"
done
if [ "$config_corect" == "true" ]; then
#load config key
#replace value strings
config_value="${config_value/<date>/`date '+%Y-%m-%d'`}"
config_value="${config_value/<time>/`date '+%H:%M:%S'`}"
onfig_value="${config_value/<DATE>/`date '+%Y-%m-%d'`}"
config_value="${config_value/<TIME>/`date '+%H:%M:%S'`}"
#save seting in environment var
echo "$config_key='$config_value'" | tee $config_env
else
echo "WARNUNG: $config_key is an inconrect setting. This will be ignored"
fi
done
}
#this func is standalone executable
[ -n "$1" ] && {
config_build $@
}

View File

@ -6,12 +6,8 @@
##### B a s e #### ##### B a s e ####
################## ##################
# . # .
# Enviroment
project_relation="" project_relation=""
[ -z "$project" ] && project=base [ -z "$project" ] && project=base
config_keys="iso_source iso_aim iso_lable squashfs_path proxy_host proxy_port domain nameserver project log_file log_mail_source log_mail_smtp log_mail_aim log_mail_subject tools_list"
#tools_add [chroot_dir] [tools_list] #tools_add [chroot_dir] [tools_list]
function tools_add() { function tools_add() {

View File

@ -1,227 +0,0 @@
#!/bin/bash
#remaster lib
[ -d "<LIBDIR>" ] || { echo "LIBDIR not exist"; exit 1; }
#desinfect.15
# . -Y ubuntu.14.04 -> ubuntu -> debian
source <LIBDIR>/proj/ubuntu.14.04
project_relation="desinfect.15 $project_relation"
#iso_create-desinfect.15 [chroot_path] [iso_extr_dir] [iso_aim] [iso_lable]
function iso_create-desinfect.15() {
echo "prepere iso folder ... "
chroot_path="$1"
iso_extr_dir="$2"
iso_aim="$3"
iso_lable="$4"
#desinfect
rm "$iso_extr_dir/casper/initrd.lz"
wget http://www.heise.de/ct/projekte/desinfect/des15/initrd.lz -O "$iso_extr_dir/casper/initrd.lz"
echo "done"
iso_create-debian "$chroot_path" "$iso_extr_dir" "$iso_aim" "$iso_lable"
}
function iso_create() { iso_create-desinfect.15 $@; }
#chroot_initial-desinfect.15 [chroot_dir]
function chroot_initial-desinfect.15() {
#$1 = chroot dir
chroot_initial-debian "$1"
echo -n "initial desinfect on chroot ... "
#check chroot dir
chroot_dir="$1"
[ -d "$chroot_dir" ] || {
echo "### ERROR ### chroot_initial_desinfect: chroot directory not exist!"
return 12
}
#mount virus definitions
#bitdefender
mount --bind $chroot_dir/opt/BitDefender-scanner/var/lib/scan{.orig,}
mount --bind $chroot_dir/var/kl/bases_rd{.orig,}
echo "done"
}
function iso_create() { iso_create-desinfect.15 $@; }
#chroot_umount-desinfect.15 [chroot_dir]
function chroot_umount-desinfect.15() {
#call main mount
chroot_umount-debian "$1"
echo -n "unmount desinfect on chroot ... "
#check chroot dir
chroot_dir="$1"
[ -d "$chroot_dir" ] || {
echo "### ERROR ### chroot_umount_desinfect: chroot directory not exist!"
return 12
}
for d in "$chroot_dir/opt/BitDefender-scanner/var/lib/scan" "$chroot_dir/var/kl/bases_rd" ; do
umount $d
retval=$?
[ "$retval" -gt 0 ] && {
echo "### ERROR ### chroot_umount_desinfect: can't umount \"$d\"!"
return 21
}
done
echo "done"
}
function chroot_umount() { chroot_umount-desinfect.15 $@; }
#proxy_enable-desinfect.15 [chroot_dir] [proxy_host] [proxy_port]
function proxy_enable-desinfect.15() {
proxy_enable-debian $1 $2 $3
echo -n "enable proxy for desinfect's av ... "
chroot_dir="$1"
proxy_host="$2"
proxy_port="$3"
#Avast AntiVirus
sed -i "s/--skip-master-file/--skip-master-file --proxy-host=$proxy_host --proxy-port=$proxy_port/g" "$chroot_dir/AntiVirUpdate/avupdate"
sed -i "s/--proxy-host=$proxy_host --proxy-port=$proxy_port --proxy-host=$proxy_host --proxy-port=$proxy_port/--proxy-host=$proxy_host --proxy-port=$proxy_port/g" "$chroot_dir/AntiVirUpdate/avupdate"
#BitDefender
echo "ProxyEnable = Yes" >> "$chroot_dir/etc/BitDefender-scanner/bdscan.conf"
echo "ProxyHost = $proxy_host:$proxy_port" >> "$chroot_dir/etc/BitDefender-scanner/bdscan.conf"
#Clam AV
echo "HTTPProxyServer $proxy_host" >> "$chroot_dir/etc/clamav/freshclam.conf"
echo "HTTPProxyPort $proxy_port" >> "$chroot_dir/etc/clamav/freshclam.conf"
#Kaspersky
sed -i "s/<tDWORD name=\"UseProxy\">0<\/tDWORD>/<tDWORD name=\"UseProxy\">1<\/tDWORD>/g" "$chroot_dir/etc/kl/config.xml"
sed -i "s/<tSTRING name=\"ProxyHost\"><\/tSTRING>/<tSTRING name=\"ProxyHost\">$proxy_host<\/tSTRING>/g" "$chroot_dir/etc/kl/config.xml"
sed -i "s/<tDWORD name=\"ProxyPort\"><\/tDWORD>/<tDWORD name=\"ProxyPort\">$proxy_port<\/tDWORD>/g" "$chroot_dir/etc/kl/config.xml"
echo "done"
}
function proxy_enable() { proxy_enable-desinfect.15 $@; }
#sourcelist_desinfect_set_nomal2015 [chroot_dir]
function sourcelist_desinfect_set_nomal2015() {
echo -n "build normal source.list ... "
#$1 = chroot directory
sourcelist="$1/etc/apt/sources.list"
echo "#### Desinfe't 2015 ####" > "$sourcelist"
echo "" >> "$sourcelist"
echo "deb http://www.heise.de/ct/projekte/desinfect/ubuntu 2015 main" >> "$sourcelist"
echo "" >> "$sourcelist"
echo "" >> "$sourcelist"
echo "# #### Ubuntu 14.04 (trusty) ####" >> "$sourcelist"
echo "#" >> "$sourcelist"
echo "# deb http://de.archive.ubuntu.com/ubuntu trusty main restricted universe multiverse" >> "$sourcelist"
echo "# deb-src http://de.archive.ubuntu.com/ubuntu trusty main restricted universe multiverse" >> "$sourcelist"
echo "#" >> "$sourcelist"
echo "# deb http://de.archive.ubuntu.com/ubuntu trusty-updates main restricted universe multiverse" >> "$sourcelist"
echo "# deb-src http://de.archive.ubuntu.com/ubuntu trusty-updates main restricted universe multiverse" >> "$sourcelist"
echo "#" >> "$sourcelist"
echo "# deb http://de.archive.ubuntu.com/ubuntu trusty-security main restricted universe multiverse" >> "$sourcelist"
echo "# deb-src http://de.archive.ubuntu.com/ubuntu trusty-security main restricted universe multiverse" >> "$sourcelist"
echo "#" >> "$sourcelist"
echo "# deb http://de.archive.ubuntu.com/ubuntu trusty-backports main restricted universe multiverse" >> "$sourcelist"
echo "# deb-src http://de.archive.ubuntu.com/ubuntu trusty-backports main restricted universe multiverse" >> "$sourcelist"
echo "#" >> "$sourcelist"
echo "# ## This software is not part of Ubuntu, but is offered by third-party" >> "$sourcelist"
echo "# ## developers who want to ship their latest software." >> "$sourcelist"
echo "# deb http://extras.ubuntu.com/ubuntu trusty main" >> "$sourcelist"
echo "done"
}
#sourcelist_desinfect_set_extendet2015 [chroot_dir]
function sourcelist_desinfect_set_extendet2015() {
echo -n "build extendet source.list ... "
sourcelist="$1/etc/apt/sources.list"
echo "#### Desinfe't 2015 ####" > "$sourcelist"
echo "" >> "$sourcelist"
echo "deb http://www.heise.de/ct/projekte/desinfect/ubuntu 2015 main" >> "$sourcelist"
echo "" >> "$sourcelist"
echo "" >> "$sourcelist"
echo "#### Ubuntu 14.04 (trusty) ####" >> "$sourcelist"
echo "" >> "$sourcelist"
echo "deb http://de.archive.ubuntu.com/ubuntu trusty main restricted universe multiverse" >> "$sourcelist"
echo "deb-src http://de.archive.ubuntu.com/ubuntu trusty main restricted universe multiverse" >> "$sourcelist"
echo "" >> "$sourcelist"
echo "deb http://de.archive.ubuntu.com/ubuntu trusty-updates main restricted universe multiverse" >> "$sourcelist"
echo "deb-src http://de.archive.ubuntu.com/ubuntu trusty-updates main restricted universe multiverse" >> "$sourcelist"
echo "" >> "$sourcelist"
echo "deb http://de.archive.ubuntu.com/ubuntu trusty-security main restricted universe multiverse" >> "$sourcelist"
echo "deb-src http://de.archive.ubuntu.com/ubuntu trusty-security main restricted universe multiverse" >> "$sourcelist"
echo "" >> "$sourcelist"
echo "deb http://de.archive.ubuntu.com/ubuntu trusty-backports main restricted universe multiverse" >> "$sourcelist"
echo "deb-src http://de.archive.ubuntu.com/ubuntu trusty-backports main restricted universe multiverse" >> "$sourcelist"
echo "" >> "$sourcelist"
echo "## This software is not part of Ubuntu, but is offered by third-party" >> "$sourcelist"
echo "## developers who want to ship their latest software." >> "$sourcelist"
echo "deb http://extras.ubuntu.com/ubuntu trusty main" >> "$sourcelist"
echo "done"
}
#os_update-desinfect.15 [chroot_dir]
function os_update-desinfect.15() {
#$1 = chroot directory
chroot_dir="$1"
#call main os_update
os_update-debian "$chroot_dir"
echo "update virus definitions ... "
#BitDefender
chroot "$chroot_dir" /bin/bash -c "bdscan --update" | grep -v "... updated"
#Avast Avira
chroot "$chroot_dir" /bin/bash -c "/AntiVirUpdate/avupdate" | grep -v " -> "
#Clam AV
chroot "$chroot_dir" /bin/bash -c "freshclam" > /dev/null
rm -f "$chroot_dir/var/lib/clamav/daily.cld"
#Karspersky
echo '#!/bin/bash' > "$chroot_dir/tmp/up_kasp"
echo 'PATH=/usr/lib/kl:$PATH' >> "$chroot_dir/tmp/up_kasp"
echo 'LD_LIBRARY_PATH=/usr/lib/kl:$LD_LIBRARY_PATH' >> "$chroot_dir/tmp/up_kasp"
echo 'KL_PLUGINS_PATH=/usr/lib/kl' >> "$chroot_dir/tmp/up_kasp"
echo 'export PATH LD_LIBRARY_PATH KL_PLUGINS_PATH' >> "$chroot_dir/tmp/up_kasp"
echo '/usr/lib/kl/kav update' >> "$chroot_dir/tmp/up_kasp"
chmod +x "$chroot_dir/tmp/up_kasp"
chroot "$chroot_dir" /bin/bash -c "/tmp/up_kasp" | grep -v ".kdc" | grep -v "File downloaded"
rm "$chroot_dir/tmp/up_kasp"
echo "done"
}
function os_update() { os_update-desinfect.15 $@; }
#tools_add-desinfect.15 [chroot_dir] [tools_list]
function tools_add-desinfect.15() {
#$1 = chroot directory
chroot_dir="$1"
tools_list="$2"
sourcelist_desinfect_set_extendet2015 "$chroot_dir"
tools_add-debian "$chroot_dir" "$tools_list"
sourcelist_desinfect_set_nomal2015 "$chroot_dir"
}
function tools_add() { tools_add-desinfect.15 $@; }

View File

@ -1,262 +0,0 @@
#!/bin/bash
#remaster lib
[ -d "<LIBDIR>" ] || { echo "LIBDIR not exist"; exit 1; }
#desinfect.16
# . -Y ubuntu.14.04 -> ubuntu -> debian
source <LIBDIR>/proj/ubuntu.14.04
project_relation="desinfect.16 $project_relation"
#chroot_initial-desinfect.16 [chroot_dir]
function chroot_initial-desinfect.16() {
#$1 = chroot dir
chroot_initial-debian "$1"
echo -n "initial desinfect on chroot ... "
#check chroot dir
chroot_dir="$1"
[ -d "$chroot_dir" ] || {
echo "### ERROR ### chroot_initial_desinfect: chroot directory not exist!"
return 12
}
#mount virus definitions
mount --bind $chroot_dir/var/kl/bases_rd{.orig,}
echo "done"
}
function chroot_initial() { chroot_initial-desinfect.16 $@; }
#chroot_umount-desinfect.16 [chroot_dir]
function chroot_umount-desinfect.16() {
#call main mount
chroot_umount-debian "$1"
echo -n "unmount desinfect on chroot ... "
#check chroot dir
chroot_dir="$1"
[ -d "$chroot_dir" ] || {
echo "### ERROR ### chroot_umount_desinfect: chroot directory not exist!"
return 12
}
umount "$chroot_dir/var/kl/bases_rd"
[ "$?" -gt 0 ] && {
echo "### ERROR ### chroot_umount_desinfect: can't umount \"$chroot_dir/var/kl/bases_rd\"!"
#return 21
}
echo "done"
}
function chroot_umount() { chroot_umount-desinfect.16 $@; }
#proxy_enable-desinfect.16 [chroot_dir] [proxy_host] [proxy_port]
function proxy_enable-desinfect.16() {
proxy_enable-debian $1 $2 $3
echo -n "enable proxy for desinfect's av ... "
chroot_dir="$1"
proxy_host="$2"
proxy_port="$3"
tmp_file_344532="`mktemp`"
#Avast AntiVirus
sed -i "s/--skip-master-file/--skip-master-file --proxy-host=$proxy_host --proxy-port=$proxy_port/g" "$chroot_dir/AntiVirUpdate/avupdate"
sed -i "s/--proxy-host=$proxy_host --proxy-port=$proxy_port --proxy-host=$proxy_host --proxy-port=$proxy_port/--proxy-host=$proxy_host --proxy-port=$proxy_port/g" "$chroot_dir/AntiVirUpdate/avupdate"
#Clam AV
cat "$chroot_dir/etc/clamav/freshclam.conf" | grep -v "HTTPProxyServer" | grep -v "HTTPProxyPort" > "$tmp_file_344532"
rm "$chroot_dir/etc/clamav/freshclam.conf"
cp "$tmp_file_344532" "$chroot_dir/etc/clamav/freshclam.conf"
echo "HTTPProxyServer $proxy_host" >> "$chroot_dir/etc/clamav/freshclam.conf"
echo "HTTPProxyPort $proxy_port" >> "$chroot_dir/etc/clamav/freshclam.conf"
#Eset AV
cat "$chroot_dir/etc/opt/eset/esets/esets.cfg" | grep -v "proxy_addr" | grep -v "proxy_port" > "$tmp_file_344532"
rm "$chroot_dir/etc/opt/eset/esets/esets.cfg"
cp "$tmp_file_344532" "$chroot_dir/etc/opt/eset/esets/esets.cfg"
echo "proxy_addr = \"$proxy_host\"" >> "$chroot_dir/etc/opt/eset/esets/esets.cfg"
echo "proxy_port = $proxy_port" >> "$chroot_dir/etc/opt/eset/esets/esets.cfg"
#Kaspersky
sed -i "s/<tDWORD name=\"UseProxy\">0<\/tDWORD>/<tDWORD name=\"UseProxy\">1<\/tDWORD>/g" "$chroot_dir/etc/kl/config.xml"
sed -i "s/<tSTRING name=\"ProxyHost\"><\/tSTRING>/<tSTRING name=\"ProxyHost\">$proxy_host<\/tSTRING>/g" "$chroot_dir/etc/kl/config.xml"
sed -i "s/<tDWORD name=\"ProxyPort\"><\/tDWORD>/<tDWORD name=\"ProxyPort\">$proxy_port<\/tDWORD>/g" "$chroot_dir/etc/kl/config.xml"
rm "$tmp_file_344532"
tmp_file_344532=
echo "done"
}
function proxy_enable() { proxy_enable-desinfect.16 $@; }
#sourcelist_desinfect_set_nomal2016 [chroot_dir]
function sourcelist_desinfect_set_nomal2016() {
echo -n "build normal source.list ... "
#$1 = chroot directory
sourcelist="$1/etc/apt/sources.list"
echo "#### Desinfe't 2016 ####" > "$sourcelist"
echo "" >> "$sourcelist"
echo "deb http://www.heise.de/ct/projekte/desinfect/ubuntu 2016 main" >> "$sourcelist"
echo "" >> "$sourcelist"
echo "" >> "$sourcelist"
echo "# #### Ubuntu 14.04 (trusty) ####" >> "$sourcelist"
echo "#" >> "$sourcelist"
echo "# deb http://de.archive.ubuntu.com/ubuntu trusty main restricted universe multiverse" >> "$sourcelist"
echo "# deb-src http://de.archive.ubuntu.com/ubuntu trusty main restricted universe multiverse" >> "$sourcelist"
echo "#" >> "$sourcelist"
echo "# deb http://de.archive.ubuntu.com/ubuntu trusty-updates main restricted universe multiverse" >> "$sourcelist"
echo "# deb-src http://de.archive.ubuntu.com/ubuntu trusty-updates main restricted universe multiverse" >> "$sourcelist"
echo "#" >> "$sourcelist"
echo "# deb http://de.archive.ubuntu.com/ubuntu trusty-security main restricted universe multiverse" >> "$sourcelist"
echo "# deb-src http://de.archive.ubuntu.com/ubuntu trusty-security main restricted universe multiverse" >> "$sourcelist"
echo "#" >> "$sourcelist"
echo "# deb http://de.archive.ubuntu.com/ubuntu trusty-backports main restricted universe multiverse" >> "$sourcelist"
echo "# deb-src http://de.archive.ubuntu.com/ubuntu trusty-backports main restricted universe multiverse" >> "$sourcelist"
echo "#" >> "$sourcelist"
echo "# ## This software is not part of Ubuntu, but is offered by third-party" >> "$sourcelist"
echo "# ## developers who want to ship their latest software." >> "$sourcelist"
echo "# deb http://extras.ubuntu.com/ubuntu trusty main" >> "$sourcelist"
echo "done"
}
#sourcelist_desinfect_set_extendet2016 [chroot_dir]
function sourcelist_desinfect_set_extendet2016() {
echo -n "build extendet source.list ... "
sourcelist="$1/etc/apt/sources.list"
echo "#### Desinfe't 2016 ####" > "$sourcelist"
echo "" >> "$sourcelist"
echo "deb http://www.heise.de/ct/projekte/desinfect/ubuntu 2016 main" >> "$sourcelist"
echo "" >> "$sourcelist"
echo "" >> "$sourcelist"
echo "#### Ubuntu 14.04 (trusty) ####" >> "$sourcelist"
echo "" >> "$sourcelist"
echo "deb http://de.archive.ubuntu.com/ubuntu trusty main restricted universe multiverse" >> "$sourcelist"
echo "deb-src http://de.archive.ubuntu.com/ubuntu trusty main restricted universe multiverse" >> "$sourcelist"
echo "" >> "$sourcelist"
echo "deb http://de.archive.ubuntu.com/ubuntu trusty-updates main restricted universe multiverse" >> "$sourcelist"
echo "deb-src http://de.archive.ubuntu.com/ubuntu trusty-updates main restricted universe multiverse" >> "$sourcelist"
echo "" >> "$sourcelist"
echo "deb http://de.archive.ubuntu.com/ubuntu trusty-security main restricted universe multiverse" >> "$sourcelist"
echo "deb-src http://de.archive.ubuntu.com/ubuntu trusty-security main restricted universe multiverse" >> "$sourcelist"
echo "" >> "$sourcelist"
echo "deb http://de.archive.ubuntu.com/ubuntu trusty-backports main restricted universe multiverse" >> "$sourcelist"
echo "deb-src http://de.archive.ubuntu.com/ubuntu trusty-backports main restricted universe multiverse" >> "$sourcelist"
echo "" >> "$sourcelist"
echo "## This software is not part of Ubuntu, but is offered by third-party" >> "$sourcelist"
echo "## developers who want to ship their latest software." >> "$sourcelist"
echo "deb http://extras.ubuntu.com/ubuntu trusty main" >> "$sourcelist"
echo "done"
}
#os_update-desinfect.16 [chroot_dir]
function os_update-desinfect.16() {
#$1 = chroot directory
chroot_dir="$1"
#call main os_update
os_update-debian "$chroot_dir"
echo "update virus definitions ... "
#Avast Avira
{
echo "Avira ..."
chroot "$chroot_dir" /bin/bash -c "/AntiVirUpdate/avupdate" | grep -v " -> "
echo "Avira done"
}
#Clam AV
{
echo "ClamAV..."
chroot "$chroot_dir" /bin/bash -c "freshclam" > /dev/null
rm -f "$chroot_dir/var/lib/clamav/daily.cld"
echo "ClamAV done"
}
#Eset AV
{
echo "Eset AV ..."
tmp_file_23421="`mktemp`"
cat "$chroot_dir/etc/opt/eset/esets/esets.cfg" | grep -v "av_update_username" | grep -v "av_update_password" > "$tmp_file_23421"
cat "$tmp_file_23421" > "$chroot_dir/etc/opt/eset/esets/esets.cfg"
chroot "$chroot_dir" /bin/bash -c "/usr/bin/esetrand" >> "$chroot_dir/etc/opt/eset/esets/esets.cfg"
echo "set timeout: 2min"
av_eaet_timeout=1200
tmp_var_3092="`chroot "$chroot_dir" /bin/bash -c "/opt/desinfect/conky_info.sh eset"`"
#eig. update routine
chroot "$chroot_dir" /bin/bash -c "/etc/init.d/esets restart"
sleep 2
chroot "$chroot_dir" /bin/bash -c "/opt/eset/esets/sbin/esets_daemon --update"
#warten auf daemon update ...
sleep 10m
echo "wait 10min for Eset AV update"
while [ "`chroot "$chroot_dir" /bin/bash -c "/opt/desinfect/conky_info.sh eset"`" == "$tmp_var_3092" ]; do
sleep 1
av_eaet_timeout=$((av_eaet_timeout-1))
[ $av_eaet_timeout -gt 0 ] || tmp_var_3092=
done
sleep 4
chroot "$chroot_dir" /bin/bash -c "/etc/init.d/esets stop"
cat "$tmp_file_23421" > "$chroot_dir/etc/opt/eset/esets/esets.cfg"
rm "$tmp_file_23421"
tmp_file_23421=
tmp_var_3092=
echo "Eset AV done"
}
#Karspersky
{
echo "Karspersky ..."
#gen update-scrypt
echo '#!/bin/bash' > "$chroot_dir/tmp/up_kasp"
echo 'PATH=/usr/lib/kl:$PATH' >> "$chroot_dir/tmp/up_kasp"
echo 'LD_LIBRARY_PATH=/usr/lib/kl:$LD_LIBRARY_PATH' >> "$chroot_dir/tmp/up_kasp"
echo 'KL_PLUGINS_PATH=/usr/lib/kl' >> "$chroot_dir/tmp/up_kasp"
echo 'export PATH LD_LIBRARY_PATH KL_PLUGINS_PATH' >> "$chroot_dir/tmp/up_kasp"
echo '/usr/lib/kl/kav update' >> "$chroot_dir/tmp/up_kasp"
chmod +x "$chroot_dir/tmp/up_kasp"
chroot "$chroot_dir" /bin/bash -c "/tmp/up_kasp" | grep -v ".kdc" | grep -v "File downloaded"
rm "$chroot_dir/tmp/up_kasp"
echo "Karspersky done"
}
echo "update virus definitions done"
}
function os_update() { os_update-desinfect.16 $@; }
#tools_add-desinfect.16 [chroot_dir] [tools_list]
function tools_add-desinfect.16() {
#$1 = chroot directory
chroot_dir="$1"
tools_list="$2"
sourcelist_desinfect_set_extendet2016 "$chroot_dir"
tools_add-debian "$chroot_dir" "$tools_list"
sourcelist_desinfect_set_nomal2016 "$chroot_dir"
}
function tools_add() { tools_add-desinfect.16 $@; }

View File

@ -1,11 +1,11 @@
#!/bin/bash #!/bin/bash
#@version 2.0.4 #@version 2.1.0
#@autor 6543@obermui.de #@autor 6543@obermui.de
#@date 2018-05-22 #@date 2019-09-20
#@licence GNUv3 #@licence GNUv3
##################################################################################### #####################################################################################
################## F u n c t i o n s ################################################ ################## S e t t i n g s ##################################################
##################################################################################### #####################################################################################
#set functions #set functions
@ -14,6 +14,76 @@
exit 1 exit 1
} }
#read main setting
if [ -f "<ROOTDIR>/etc/remaster/config.cfg" ]; then
source "<ROOTDIR>/etc/remaster/config.cfg"
else
if [ -f "<ROOTDIR>/etc/remaster/config.sample.cfg" ]; then
source "<ROOTDIR>/etc/remaster/config.sample.cfg"
else
echo "ERROR config not found"
exit 1
fi
fi
#check LOG
{
[ -z "$log_file" ] && log_file="/tmp/remaster_`date '+%Y-%m-%d'`"
if [ -f "$log_file" ]; then
echo > "$log_file"
else
#check if folder exist
[ -d "${log_file%/*}" ] || {
# N-> exit 3
echo "Directory for Log didnt exist"
exit 3
}
#create LOG
touch "$log_file"
fi
}
#####################################################################################
################## H e l p & I n f o ##############################################
#####################################################################################
case $(echo $1 | tr -d '-') in
'') ;;
version|V)
echo Remaster 2.1.0
exit 0
;;
config|c)
if [ -f "$2" ]; then
source <LIBDIR>/func/clear_config
source "$2"
else
echo "ERROR Config \"$2\" not found"
exit 1
fi
else
;;
*)
echo 'Remaster update Live Systems'
echo ' more information at: https://github.com/6543/remaster/'
echo ''
echo ' --version|-V show current version'
echo ' --config|-c <config> run remaster with custom config'
exit 0
;;
esac
#####################################################################################
################## F u n c t i o n s ################################################
#####################################################################################
### Error Handlings ###
#check_config
source <LIBDIR>/func/check_config
#on_exit [error_level] #on_exit [error_level]
source <LIBDIR>/func/on_exit source <LIBDIR>/func/on_exit
@ -74,78 +144,64 @@ source <LIBDIR>/func/chroot_is_mounted
#chroot_sh [chroot_dir] [command] #chroot_sh [chroot_dir] [command]
source <LIBDIR>/func/chroot_sh source <LIBDIR>/func/chroot_sh
### config ### ####################################
### Workaround - set Project
#config_build jobfile configenv source <LIBDIR>/proj/desinfect.17
source <LIBDIR>/func/config_build ####################################
#config_check
source <LIBDIR>/func/config_check
#####################################################################################
################## S e t t i n g s ##################################################
#####################################################################################
#read main setting
if [ -f "<ROOTDIR>/etc/remaster/config.cfg" ]; then
config="<ROOTDIR>/etc/remaster/config.cfg"
else
if [ -f "<ROOTDIR>/etc/remaster/config.sample.cfg" ]; then
config="<ROOTDIR>/etc/remaster/config.sample.cfg"
else
echo "ERROR config not found"
exit 1
fi
fi
### -> $1 jobfile, if zero and onlyone file exist ues this else print error and list
#check LOG
{
export "`cat "$config" | grep ^[^#] | grep ^log_file= | cut -d "#" -f 1 | tr -d '"'`"
[ -z "$log_file" ] && log_file="/tmp/remaster_`date '+%Y-%m-%d'`"
if [ -f "$log_file" ]; then
echo > "$log_file"
else
#check if folder exist
[ -d "${log_file%/*}" ] || {
# N-> exit 3
echo "Directory for Log didnt exist"
exit 3
}
#create LOG
touch "$log_file"
fi
}
########################################################### ###########################################################
################# P r o c e s s ... ####################### ################# P r o c e s s ... #######################
########################################################### ###########################################################
### Start LOG ### #Start LOG
tail -f "$log_file" --pid="$$" & tail -f "$log_file" --pid="$$" &
echo "Remaster LOG `date '+%Y-%m-%d'`" > "$log_file"
echo >> "$log_file"
### S e t t i n g s ###
config_env=`mktemp`
config_build $config $config_env >> "$log_file"
error_level="$?"; [ "$error_level" != "0" ] && on_exit $error_level >> "$log_file"
source $config_env
### Enviroment ###
echo "### Enviroment ###" >> "$log_file"
chroot_path="`mktemp -d`" chroot_path="`mktemp -d`"
iso_extr_dir="`mktemp -d`" iso_extr_dir="`mktemp -d`"
echo "Remaster LOG `date '+%Y-%m-%d'`" > "$log_file"
echo "MODE: renew" >> "$log_file"
echo "HOST: `hostname`" >> "$log_file"
echo >> "$log_file"
echo "### S e t t i n g s ###" >> "$log_file"
echo "#CD/DVD" >> "$log_file"
echo "iso_source=\"$iso_source\"" >> "$log_file"
echo "iso_aim=\"$iso_aim\"" >> "$log_file"
echo "iso_lable=\"$iso_lable\"" >> "$log_file"
echo >> "$log_file"
echo "#Filesystem (for pxe)" >> "$log_file"
echo "squashfs_path=\"$squashfs_path\"" >> "$log_file"
echo >> "$log_file"
echo "#Network" >> "$log_file"
echo "proxy_host=\"$proxy_host\"" >> "$log_file"
echo "proxy_port=\"$proxy_port\"" >> "$log_file"
echo "domain=\"$domain\"" >> "$log_file"
echo "nameserver=\"$nameserver\"" >> "$log_file"
echo >> "$log_file"
echo "#remaster_script" >> "$log_file"
echo "project=\"$project\"" >> "$log_file"
echo >> "$log_file"
echo "log_file=\"$log_file\""
echo "log_mail_aim=\"$log_mail_aim\""
echo "log_mail_subject=\"$log_mail_subj >> "$log_file"ect\""
echo ""
echo "#Sonstiges" >> "$log_file"
echo "tools_list=\"$tools_list\"" >> "$log_file"
echo $'\n' >> "$log_file"
echo "### Enviroment ###"
echo "iso_extr_dir=\"$iso_extr_dir\"" >> "$log_file" echo "iso_extr_dir=\"$iso_extr_dir\"" >> "$log_file"
echo "chroot_path=\"$chroot_path\"" >> "$log_file" echo "chroot_path=\"$chroot_path\"" >> "$log_file"
echo "HOST: `hostname`" >> "$log_file" #env >> "$log_file"
echo $'\n\n' >> "$log_file"
echo $'### R U N ... ###\n' >> "$log_file"
#1. Set and Check Enviroment #1. Set and Check Enviroment
check_user >> "$log_file" check_user >> "$log_file"
@ -154,15 +210,11 @@ error_level="$?"; [ "$error_level" != "0" ] && on_exit $error_level >> "$log_fil
check_dependency >> "$log_file" check_dependency >> "$log_file"
error_level="$?"; [ "$error_level" != "0" ] && on_exit $error_level >> "$log_file" error_level="$?"; [ "$error_level" != "0" ] && on_exit $error_level >> "$log_file"
config_check >> "$log_file" check_config >> "$log_file"
error_level="$?"; [ "$error_level" != "0" ] && on_exit $error_level >> "$log_file" error_level="$?"; [ "$error_level" != "0" ] && on_exit $error_level >> "$log_file"
check_update >> "$log_file" check_update >> "$log_file"
### R U N ... ###
echo $'### R U N ... ###\n' >> "$log_file"
# 2. Entpacke ISO # 2. Entpacke ISO
iso_extract "$iso_source" "$iso_extr_dir" >> "$log_file" iso_extract "$iso_source" "$iso_extr_dir" >> "$log_file"