Merge branch 'release-2.0.4'
This commit is contained in:
commit
ffdab66b35
@ -1,6 +1,6 @@
|
||||
Package: remaster
|
||||
Source: remaster
|
||||
Version: 2.0.2
|
||||
Version: 2.0.4
|
||||
Architecture: all
|
||||
Maintainer: 6543 <6543@obermui.de>
|
||||
Installed-Size: <SIZE>
|
||||
|
@ -12,6 +12,7 @@ The aim of this Project is to create a daemon for a server, witch update live sy
|
||||
- wget
|
||||
- sed
|
||||
- sendemail
|
||||
- curl
|
||||
|
||||
## To Do
|
||||
|
||||
|
@ -18,3 +18,15 @@
|
||||
|
||||
2018-05-13 - 2.0.2
|
||||
* hotfix-2.0.2 ( create release folder if not exist )
|
||||
|
||||
2018-05-20 - 2.0.3
|
||||
* make email, proxy optional
|
||||
* change Strukture.md
|
||||
* add config check
|
||||
* some help scripts
|
||||
|
||||
2018-05-22 - 2.0.4
|
||||
* add iso_source as URL
|
||||
* restructure code
|
||||
* use proj templates
|
||||
* some help scripts
|
||||
|
123
doc/Strukture.md
123
doc/Strukture.md
@ -1,28 +1,113 @@
|
||||
# Src
|
||||
# 1. Starte "remaster"
|
||||
|
||||
raw scripts ..
|
||||
## 1.1 Lade Grundfunctionen [-> #functions]
|
||||
|
||||
## functions
|
||||
## 1.2 Überprüfe ...
|
||||
* auf Updates
|
||||
* auf Rechte
|
||||
|
||||
- creat iso
|
||||
- burn cd ...
|
||||
- clean workspace ...
|
||||
## 1.3 Lade Richtige Einstellungen [-> #config]
|
||||
* Lade /etc/remaster/<Conf>
|
||||
* Überprüfe Conf. (Proj Exist; Mods Exist; ...)
|
||||
|
||||
## 1.4 Lade Proj-Func [-> #projects]
|
||||
* Überlade nach Abhängigkeit
|
||||
* (z.B. ubuntu.16.04 -> ubuntu -> debian)
|
||||
* Prüfe Conf. (Proj Conform)
|
||||
|
||||
## distros
|
||||
## 1.5 Lade $n Mods (optional) [-> #mods]
|
||||
* Überprüfen
|
||||
* Spechern in MOD_LST
|
||||
|
||||
scripts vor distros
|
||||
- update
|
||||
- set network settings
|
||||
- set OS settings
|
||||
# 2. Init Chroot
|
||||
|
||||
## mods
|
||||
- for example: install & enable xrdp
|
||||
- set default passwd
|
||||
- ...
|
||||
## 2.1 Dateien Entpacken
|
||||
* ISO
|
||||
* Squashfs
|
||||
|
||||
## web
|
||||
placeholder for webfiles ...
|
||||
## 2.2 Config für Chroot (chroot_initial)
|
||||
* (lxc-conf / tmpdir)
|
||||
* Netzwerk
|
||||
|
||||
## pxe
|
||||
placeholder for pxefiles ...
|
||||
## 2.3 Starte Chroot
|
||||
* (lxc-start / mount ...)
|
||||
|
||||
# 3. Modivikationen
|
||||
|
||||
## 3.1 Netzwerk
|
||||
|
||||
## 3.2 Proj-Spez.
|
||||
* (z.B. Desinfect: conky_info)
|
||||
|
||||
## 3.3 Packet Mgr
|
||||
* Updates
|
||||
* Install
|
||||
* Delete
|
||||
|
||||
## 3.4 Weitere in $MOD_LST
|
||||
* z.B. xrdp
|
||||
* z.B. default pw
|
||||
|
||||
# 4. Finish
|
||||
|
||||
## 4.1 Aufreumen Live-Sys
|
||||
* tmpfiles
|
||||
* Packet Mgr
|
||||
|
||||
## 4.2 Stop chroot
|
||||
* Umount
|
||||
|
||||
## 4.3. Gen ISO/PXE
|
||||
|
||||
## 4.4. Del Chroot
|
||||
|
||||
# 5. Send Log
|
||||
|
||||
----
|
||||
|
||||
## lxc
|
||||
|
||||
-> chroot_sh exec lxc-attach
|
||||
|
||||
-> chroot_dir = container name
|
||||
|
||||
----
|
||||
|
||||
## PXE
|
||||
|
||||
-> Install
|
||||
* DHCP Relay
|
||||
* NFS-Server
|
||||
* TFTP-Server
|
||||
* [Samba]
|
||||
|
||||
-> Setup
|
||||
* (use <Lib>/proj/<proj> func)
|
||||
* SMB/NFS LiveSys export
|
||||
* TFTP (Boot Menue; Boot Loader; Kernel&Initrd)
|
||||
|
||||
-> Deinstall
|
||||
* RM TFTP-Root
|
||||
* RM SMB/NFS LiveSys export
|
||||
* del DHCP Relay conf
|
||||
|
||||
----
|
||||
|
||||
## Jobs
|
||||
* Read Confs -> get time interfall I
|
||||
* Exec remaster <Conf> for I
|
||||
|
||||
----
|
||||
|
||||
## Web
|
||||
|
||||
show/edit #Configs
|
||||
|
||||
show (+live) #Logs
|
||||
|
||||
start/stop/plan #Jobs
|
||||
|
||||
start/stop/edit #PXE menue
|
||||
* default
|
||||
* all / single / none
|
||||
* live view new clients
|
||||
|
BIN
doc/check_config/live-system-files.pdf
Normal file
BIN
doc/check_config/live-system-files.pdf
Normal file
Binary file not shown.
BIN
doc/check_config/live-system-files.stg
Normal file
BIN
doc/check_config/live-system-files.stg
Normal file
Binary file not shown.
19
doc/draft_mod-pronects
Normal file
19
doc/draft_mod-pronects
Normal file
@ -0,0 +1,19 @@
|
||||
maddl@NB-Maddl:~$ function a() { echo null; }
|
||||
maddl@NB-Maddl:~$ a
|
||||
null
|
||||
maddl@NB-Maddl:~$ function a_desinfect() { echo desinfect; }
|
||||
maddl@NB-Maddl:~$ a_desinfect
|
||||
desinfect
|
||||
maddl@NB-Maddl:~$ alias a=a_desinfect
|
||||
maddl@NB-Maddl:~$ a
|
||||
desinfect
|
||||
maddl@NB-Maddl:~$ alias --help
|
||||
bash: alias: --: Ungültige Option
|
||||
alias: Gebrauch: alias [-p] [Name[=Wert] ... ]
|
||||
maddl@NB-Maddl:~$ man alias
|
||||
Kein Handbucheintrag für alias vorhanden
|
||||
maddl@NB-Maddl:~$ alias a=a
|
||||
maddl@NB-Maddl:~$ a
|
||||
null
|
||||
maddl@NB-Maddl:~$
|
||||
|
@ -2,10 +2,12 @@
|
||||
#remaster lib
|
||||
[ -d "<LIBDIR>" ] || { echo "LIBDIR not exist"; exit 1; }
|
||||
|
||||
#beginn func
|
||||
|
||||
#<function> [param]
|
||||
function <function>() {
|
||||
#Code of <function>
|
||||
}
|
||||
|
||||
#this func is standalone executable
|
||||
[ -n "$1" ] && {
|
||||
check_user
|
||||
<function> $@
|
||||
}
|
8
doc/proj-head
Executable file
8
doc/proj-head
Executable file
@ -0,0 +1,8 @@
|
||||
#!/bin/bash
|
||||
#remaster lib
|
||||
[ -d "<LIBDIR>" ] || { echo "LIBDIR not exist"; exit 1; }
|
||||
|
||||
#<PROJECT_NAME>
|
||||
#<project_relation>
|
||||
source <LIBDIR>/proj/<BASE>
|
||||
project_relation="<PROJECT_NAME> $project_relation"
|
12
script/add_function.sh
Executable file
12
script/add_function.sh
Executable file
@ -0,0 +1,12 @@
|
||||
#!/bin/bash
|
||||
|
||||
#check param
|
||||
[ -z "$1" ] && { echo "$0 [name]"; exit 1; }
|
||||
name="$1"
|
||||
|
||||
#gen function
|
||||
cp "doc/lib-head+tail" "src/func/$name"
|
||||
sed -i "s/<function>/$name/g" "src/func/$name"
|
||||
|
||||
#open
|
||||
editor "src/func/$name"
|
34
script/add_project.sh
Executable file
34
script/add_project.sh
Executable file
@ -0,0 +1,34 @@
|
||||
#!/bin/bash
|
||||
|
||||
#check param
|
||||
[ -z "$1" ] && { echo "$0 \"name\" [base]"; exit 1; }
|
||||
name="$1"
|
||||
base="$2"
|
||||
|
||||
#gen project
|
||||
cp "doc/proj-head" "src/proj/$name"
|
||||
|
||||
#set base_relations
|
||||
if [ -z "$base" ]; then
|
||||
base_relations="base"
|
||||
base="base"
|
||||
sed -i "/project_relation=/c\project_relation=\"<PROJECT_NAME>\"" "src/proj/$name"
|
||||
else
|
||||
[ -f "src/proj/$base" ] || {
|
||||
echo "BASE: $base dont exist"
|
||||
exit 1
|
||||
}
|
||||
#get base of $base
|
||||
base_base=`grep '# . ->' src/proj/$base`
|
||||
base_relations=`echo $base_base | sed "s/#\ \./$base/g"`
|
||||
fi
|
||||
|
||||
## replace strings
|
||||
# . -> <PROJECT_PARENT> -> base
|
||||
sed -i "s/<project_relation>/\ \.\ ->\ $base_relations/g" "src/proj/$name"
|
||||
#<PROJECT_NAME>
|
||||
sed -i "s/<PROJECT_NAME>/$name/g" "src/proj/$name"
|
||||
sed -i "s/<BASE>/$base/g" "src/proj/$name"
|
||||
|
||||
#open
|
||||
editor "src/proj/$name"
|
3
script/get_version.sh
Executable file
3
script/get_version.sh
Executable file
@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
|
||||
grep '@version ' src/remaster.sh | cut -d " " -f 2
|
@ -8,10 +8,10 @@ date=`date +%Y-%m-%d`
|
||||
version_sed=`echo $version | sed 's/\./\\./g'`
|
||||
|
||||
#nummer
|
||||
sed -i "s/@version\ .\..\../@version\ $version_sed/g" src/remaster.sh
|
||||
sed -i "/#@version\ /c\#@version\ $version_sed" src/remaster.sh
|
||||
|
||||
#datum
|
||||
sed -i "s/@date\ ....-..-../@date\ $date/g" src/remaster.sh
|
||||
sed -i "/#@date\ /c\#@date\ $date" src/remaster.sh
|
||||
}
|
||||
|
||||
[ -e "changes/remaster.md" ] && {
|
||||
@ -22,5 +22,5 @@ date=`date +%Y-%m-%d`
|
||||
}
|
||||
|
||||
[ -f "DEBIAN/control" ] && {
|
||||
sed -i "s/Version:\ .\..\../Version:\ $version_sed/g" "DEBIAN/control"
|
||||
sed -i "/Version:\ /c\Version:\ $version_sed" "DEBIAN/control"
|
||||
}
|
||||
|
@ -4,20 +4,17 @@
|
||||
## sample-config rename it to config.cfg after changes ##
|
||||
#########################################################
|
||||
|
||||
## MODUS
|
||||
modus_default="update_pxe"
|
||||
|
||||
#CD/DVD
|
||||
#entweder iso_source oder filesystem_source alls quelle
|
||||
#entweder iso_source oder squashfs_path alls quelle
|
||||
# -> bei iso gen erforderlich!
|
||||
iso_source="/data/remaster/desinfect-2017.iso"
|
||||
#destination optinal
|
||||
iso_destination="/data/remaster/result/custom_desinfect_`date '+%Y-%m-%d'`.iso"
|
||||
iso_aim="/data/remaster/result/custom_desinfect_`date '+%Y-%m-%d'`.iso"
|
||||
iso_lable="DESINFECT_`date '+%Y-%m-%d'`"
|
||||
|
||||
#Filesystem (for pxe)
|
||||
#entweder iso_source oder filesystem_source alls quelle
|
||||
filesystem_source="/data/remaster/result/filesystem.squashfs"
|
||||
#entweder iso_source oder squashfs_path alls quelle
|
||||
squashfs_path="/data/remaster/result/filesystem.squashfs"
|
||||
|
||||
#Network
|
||||
proxy_host="proxy.local"
|
||||
@ -26,7 +23,7 @@ domain="local"
|
||||
nameserver="10.x.x.2,10.x.x.1"
|
||||
|
||||
#remaster_script
|
||||
distro="desinfect2017"
|
||||
project="desinfect.17"
|
||||
|
||||
#LOG
|
||||
log_file="/data/remaster/logs/`date '+%Y-%m-%d'`.log"
|
||||
|
55
src/func/check_config
Executable file
55
src/func/check_config
Executable file
@ -0,0 +1,55 @@
|
||||
#!/bin/bash
|
||||
#remaster lib
|
||||
[ -d "<LIBDIR>" ] || { echo "LIBDIR not exist"; exit 1; }
|
||||
|
||||
#check_config
|
||||
function check_config() {
|
||||
|
||||
#Project
|
||||
[ -f "<LIBDIR>/proj/$project" ] || {
|
||||
echo "No Project \"$project\" is not supported"
|
||||
return 3
|
||||
}
|
||||
|
||||
#live-system files
|
||||
if [ -f "$iso_source" ]; then
|
||||
if [ -n "$iso_aim" ] && [ -d "${iso_aim%/*}" ]; then
|
||||
#Lable
|
||||
[ -z "$iso_lable" ] && iso_lable="$project"
|
||||
|
||||
echo 'iso_source -> iso_aim'
|
||||
echo 'iso_source -> squashfs [optinal]'
|
||||
else
|
||||
if [ -n "$squashfs_path" ] && [ -d "${squashfs_path%/*}" ]; then
|
||||
echo 'iso_source -> squashfs'
|
||||
else
|
||||
# ERROR
|
||||
echo "No corect AIM in Settings"
|
||||
return 3
|
||||
fi
|
||||
fi
|
||||
else
|
||||
if [ -f "$squashfs_path" ]; then
|
||||
if [ -n "$iso_aim" ]; then
|
||||
# ERROR
|
||||
echo "only Squashfs source in Settings, cant creat ISO"
|
||||
return 3
|
||||
else
|
||||
echo 'squashfs -> squashfs'
|
||||
fi
|
||||
else
|
||||
# ERROR
|
||||
echo "No corect Source in Settings"
|
||||
return 3
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
#this func is standalone executable
|
||||
[ -n "$1" ] && {
|
||||
check_config $@
|
||||
}
|
@ -5,9 +5,9 @@
|
||||
#check_update
|
||||
function check_update() {
|
||||
if curl https://raw.githubusercontent.com/6543/remaster/master/changes/remaster.md | diff - <(zcat <ROOTDIR>/usr/share/doc/remaster/changelog.gz ); then
|
||||
echo 'REMASTER: Aktuell'
|
||||
echo 'INFO: Programm Aktuell'
|
||||
else
|
||||
echo 'REMASTER: Warning: neue Version verfügbar'
|
||||
echo 'WARNUNG: neue Version verfügbar'
|
||||
fi
|
||||
}
|
||||
|
||||
|
20
src/func/check_url
Normal file
20
src/func/check_url
Normal file
@ -0,0 +1,20 @@
|
||||
#!/bin/bash
|
||||
#remaster lib
|
||||
[ -d "<LIBDIR>" ] || { echo "LIBDIR not exist"; exit 1; }
|
||||
|
||||
#check_url [URL]
|
||||
function check_url() {
|
||||
URL="$1"
|
||||
if [[ `wget -S --spider "$URL" 2>&1 | grep 'HTTP/1.1 200 OK'` ]]; then
|
||||
echo "true"
|
||||
return 0
|
||||
else
|
||||
echo "false"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
#this func is standalone executable
|
||||
[ -n "$1" ] && {
|
||||
check_url $@
|
||||
}
|
@ -15,18 +15,26 @@ function iso_extract() {
|
||||
return 10
|
||||
}
|
||||
|
||||
iso_source="$1"
|
||||
[ -f "$iso_source" ] || {
|
||||
echo "### ERROR ### iso_extract: ISO \"$iso_source\" not exist!"
|
||||
return 11
|
||||
}
|
||||
|
||||
iso_extr_dir="$2"
|
||||
[ -d "$iso_extr_dir" ] || {
|
||||
echo "### ERROR ### iso_extract: aim directory not exist!"
|
||||
return 12
|
||||
}
|
||||
|
||||
iso_source="$1"
|
||||
[ -f "$iso_source" ] || {
|
||||
#if it is an url...
|
||||
if [ "`check_url $iso_source`" == "true" ]; then
|
||||
#dl to tmp + set iso_source
|
||||
iso_tmp="`mktemp --suffix=.iso`"; rm "$iso_tmp"
|
||||
wget -O "$iso_tmp" "$iso_source"
|
||||
else
|
||||
echo "### ERROR ### iso_extract: ISO \"$iso_source\" not exist!"
|
||||
return 11
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
#mace tmp mountpoint
|
||||
tmpdir="`mktemp -d`"
|
||||
[ -d "$iso_extr_dir" ] && {
|
||||
@ -41,6 +49,7 @@ function iso_extract() {
|
||||
#clear tmp mountpoint
|
||||
umount "$iso_source"
|
||||
rm -r "$tmpdir"
|
||||
[ -n "$iso_tmp" ] && rm "$iso_tmp"
|
||||
tmpdir=
|
||||
|
||||
echo "done"
|
||||
|
@ -4,8 +4,9 @@
|
||||
|
||||
#on_exit [error_level]
|
||||
function on_exit() {
|
||||
### send mail
|
||||
[ -n "$log_mail_aim" ] && {
|
||||
#send log and errorlevel[success/errorr xy]
|
||||
|
||||
if [ "$1" != "0" ]; then
|
||||
log_mail_subject="$log_mail_subject [ERROR]"
|
||||
else
|
||||
@ -20,7 +21,9 @@ function on_exit() {
|
||||
cat "$log_file"
|
||||
} | sendemail -s "$log_mail_smtp" -f "$log_mail_source" -t "$mail_aim" -u "$log_mail_subject" -o tls=no
|
||||
done
|
||||
}
|
||||
|
||||
### clean up
|
||||
[ "$1" != "0" ] && {
|
||||
chroot_umount$distro "$chroot_path" 2> /dev/null
|
||||
workspace_erase "$iso_extr_dir/" "$chroot_path/" 2> /dev/null
|
||||
|
34
src/proj/base
Executable file
34
src/proj/base
Executable file
@ -0,0 +1,34 @@
|
||||
#!/bin/bash
|
||||
#remaster lib
|
||||
[ -d "<LIBDIR>" ] || { echo "LIBDIR not exist"; exit 1; }
|
||||
|
||||
##################
|
||||
##### B a s e ####
|
||||
##################
|
||||
# .
|
||||
project_relation=""
|
||||
[ -z "$project" ] && project=base
|
||||
|
||||
#tools_add [chroot_dir] [tools_list]
|
||||
function tools_add() {
|
||||
echo "$project: tools_add ot available"
|
||||
}
|
||||
|
||||
#os_update [chroot_dir]
|
||||
function os_update() {
|
||||
echo "$project: os_update ot available"
|
||||
}
|
||||
|
||||
#proxy_enable [chroot_dir] [proxy_host] [proxy_port]
|
||||
function proxy_enable() {
|
||||
echo "$project: proxy_enable ot available"
|
||||
}
|
||||
|
||||
#dns_set [chroot_dir] [domain] [nameserver]
|
||||
function dns_set() {
|
||||
echo "$project: dns_set ot available"
|
||||
}
|
||||
|
||||
function project_mods() {
|
||||
echo "$project: project_mods ot available"
|
||||
}
|
@ -2,14 +2,18 @@
|
||||
#remaster lib
|
||||
[ -d "<LIBDIR>" ] || { echo "LIBDIR not exist"; exit 1; }
|
||||
|
||||
source <LIBDIR>/proj/base
|
||||
#debian
|
||||
# . -> base
|
||||
project_relation="debian"
|
||||
|
||||
####################################
|
||||
##### Base Template D E B I A N ####
|
||||
####################################
|
||||
# .
|
||||
|
||||
|
||||
#tools_add [chroot_dir] [tools_list]
|
||||
function tools_add() {
|
||||
function tools_add-debian() {
|
||||
echo "add tools ... "
|
||||
#$1 = chroot directory
|
||||
chroot_dir="$1"
|
||||
@ -20,9 +24,10 @@ function tools_add() {
|
||||
chroot "$chroot_dir" /bin/bash -c "apt-get install -y $tools_list" | grep -v "wird eingerichtet ..." | grep -v "Vormals nicht ausgewähltes Paket" | grep -v "Entpacken von" | grep -v "Holen: " | grep -v "Trigger für" | grep -v "update-alternatives:"
|
||||
echo "done"
|
||||
}
|
||||
function tools_add() { tools_add-debian $@; }
|
||||
|
||||
#os_update [chroot_dir]
|
||||
function os_update() {
|
||||
function os_update-debian() {
|
||||
echo "updating os ... "
|
||||
#$1 = chroot directory
|
||||
|
||||
@ -35,3 +40,59 @@ function os_update() {
|
||||
|
||||
echo "done"
|
||||
}
|
||||
function os_update() { os_update-debian $@; }
|
||||
|
||||
#proxy_enable [chroot_dir] [proxy_host] [proxy_port]
|
||||
function proxy_enable-debian() {
|
||||
echo -n "enable proxy ... "
|
||||
|
||||
chroot_dir="$1"
|
||||
proxy_host="$2"
|
||||
proxy_port="$3"
|
||||
|
||||
[ -d "$chroot_dir" ] || {
|
||||
echo "### ERROR ### chroot_umount_desinfect: chroot directory not exist!"
|
||||
return 12
|
||||
}
|
||||
|
||||
#Wenn alle zwei Parameter gegeben
|
||||
if [ "$proxy_host" != "" ] && [ "$proxy_port" != "" ] ; then
|
||||
echo "http_proxy=\"http://$proxy_host:$proxy_port\"" >> $chroot_dir/etc/environment
|
||||
echo "https_proxy=\"http://$proxy_host:$proxy_port\"" >> $chroot_dir/etc/environment
|
||||
echo "ftp_proxy=\"http://$proxy_host:$proxy_port\"" >> $chroot_dir/etc/environment
|
||||
|
||||
echo "HTTP_PROXY=\"http://$proxy_host:$proxy_port\"" >> $chroot_dir/etc/environment
|
||||
echo "HTTPS_PROXY=\"http://$proxy_host:$proxy_port\"" >> $chroot_dir/etc/environment
|
||||
echo "FTP_PROXY=\"http://$proxy_host:$proxy_port\"" >> $chroot_dir/etc/environment
|
||||
|
||||
echo "Acquire::http::Proxy \"http://$proxy_host:$proxy_port\"\;" > $chroot_dir/etc/apt/apt.conf.d/90proxy
|
||||
echo "Acquire::ftp::Proxy \"ftp://$proxy_host:$proxy_port\"\;" >> $chroot_dir/etc/apt/apt.conf.d/90proxy
|
||||
|
||||
echo "done"
|
||||
else
|
||||
if [ "$proxy_host" == "" ] && [ "$proxy_port" == "" ] ; then
|
||||
echo "done"
|
||||
else
|
||||
echo "### ERROR ### proxy_enable: wrong parameters! (\"$chroot_dir\"; \"$proxy_host\"; \"$proxy_port\")"
|
||||
echo "proxy_enable [chroot_dir] [proxy_host] [proxy_port]"
|
||||
return 2
|
||||
fi
|
||||
fi
|
||||
}
|
||||
function proxy_enable() { proxy_enable-debian $@; }
|
||||
|
||||
#dns_set [chroot_dir] [domain] [nameserver]
|
||||
function dns_set-debian() {
|
||||
echo -n "set dns config ... "
|
||||
|
||||
rm "$chroot_dir/etc/resolv.conf"
|
||||
|
||||
[ "$2" != "" ] && echo "domain $2" >> "$chroot_dir/etc/resolv.conf"
|
||||
echo "search $2" >> "$chroot_dir/etc/resolv.conf"
|
||||
for namesv in `echo "$3" | tr "," " "`; do
|
||||
echo "nameserver $namesv" >> "$chroot_dir/etc/resolv.conf"
|
||||
done
|
||||
|
||||
echo "done"
|
||||
}
|
||||
function dns_set() { dns_set-debian $@; }
|
||||
|
@ -5,5 +5,259 @@
|
||||
#desinfect.17
|
||||
# . -Y ubuntu.16.04 -> ubuntu -> debian
|
||||
source <LIBDIR>/proj/ubuntu.16.04
|
||||
project_relation="desinfect.17 $project_relation"
|
||||
|
||||
TEST2="na"
|
||||
|
||||
#sourcelist_desinfect_set_nomal2017 [chroot_dir]
|
||||
function sourcelist_desinfect_set_nomal2017() {
|
||||
echo -n "build normal source.list ... "
|
||||
#$1 = chroot directory
|
||||
|
||||
sourcelist="$1/etc/apt/sources.list"
|
||||
|
||||
|
||||
echo "#### Desinfe't 2017 ####" > "$sourcelist"
|
||||
echo "" >> "$sourcelist"
|
||||
echo "deb http://www.heise.de/ct/projekte/desinfect/ubuntu 2017 main" >> "$sourcelist"
|
||||
echo "" >> "$sourcelist"
|
||||
echo "" >> "$sourcelist"
|
||||
echo "# #### Ubuntu 16.04 LTS (Xenial) ####" >> "$sourcelist"
|
||||
echo "#" >> "$sourcelist"
|
||||
echo "# deb http://archive.ubuntu.com/ubuntu xenial main restricted universe multiverse" >> "$sourcelist"
|
||||
echo "# deb-src http://archive.ubuntu.com/ubuntu xenial main restricted universe multiverse" >> "$sourcelist"
|
||||
echo "#" >> "$sourcelist"
|
||||
echo "# deb http://security.ubuntu.com/ubuntu xenial-updates main restricted universe multiverse" >> "$sourcelist"
|
||||
echo "# deb-src http://security.ubuntu.com/ubuntu xenial-updates main restricted universe multiverse" >> "$sourcelist"
|
||||
echo "#" >> "$sourcelist"
|
||||
echo "# deb http://security.ubuntu.com/ubuntu xenial-security main restricted universe multiverse" >> "$sourcelist"
|
||||
echo "# deb-src http://security.ubuntu.com/ubuntu xenial-security 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 xenial main" >> "$sourcelist"
|
||||
|
||||
echo "done"
|
||||
}
|
||||
|
||||
#sourcelist_desinfect_set_extendet2017 [chroot_dir]
|
||||
function sourcelist_desinfect_set_extendet2017() {
|
||||
echo -n "build extendet source.list ... "
|
||||
|
||||
sourcelist="$1/etc/apt/sources.list"
|
||||
|
||||
|
||||
echo "#### Desinfe't 2017 ####" > "$sourcelist"
|
||||
echo "" >> "$sourcelist"
|
||||
echo "deb http://www.heise.de/ct/projekte/desinfect/ubuntu 2017 main" >> "$sourcelist"
|
||||
echo "" >> "$sourcelist"
|
||||
echo "" >> "$sourcelist"
|
||||
echo "#### Ubuntu 16.04 LTS (Xenial) ####" >> "$sourcelist"
|
||||
echo "" >> "$sourcelist"
|
||||
echo "deb http://archive.ubuntu.com/ubuntu xenial main restricted universe multiverse" >> "$sourcelist"
|
||||
echo "deb-src http://archive.ubuntu.com/ubuntu xenial main restricted universe multiverse" >> "$sourcelist"
|
||||
echo "" >> "$sourcelist"
|
||||
echo "deb http://security.ubuntu.com/ubuntu xenial-updates main restricted universe multiverse" >> "$sourcelist"
|
||||
echo "deb-src http://security.ubuntu.com/ubuntu xenial-updates main restricted universe multiverse" >> "$sourcelist"
|
||||
echo "" >> "$sourcelist"
|
||||
echo "deb http://security.ubuntu.com/ubuntu xenial-security main restricted universe multiverse" >> "$sourcelist"
|
||||
echo "deb-src http://security.ubuntu.com/ubuntu xenial-security 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 xenial main" >> "$sourcelist"
|
||||
|
||||
echo "done"
|
||||
}
|
||||
|
||||
#os_update-desinfect.17 [chroot_dir]
|
||||
function os_update-desinfect.17() {
|
||||
#$1 = chroot directory
|
||||
|
||||
chroot_dir="$1"
|
||||
|
||||
#call main os_update from debian
|
||||
os_update-debian "$chroot_dir"
|
||||
|
||||
echo "update virus definitions ... "
|
||||
|
||||
#Avast Avira
|
||||
{
|
||||
echo "Avira ..."
|
||||
#chroot "$chroot_dir" /bin/bash --login -c ". /tmp/env.sh; /AntiVirUpdate/avupdate" | grep -v " -> "
|
||||
chroot_sh "$chroot_dir" "/AntiVirUpdate/avupdate" | grep -v " -> "
|
||||
echo "Avira done"
|
||||
}
|
||||
|
||||
#Clam AV
|
||||
{
|
||||
echo "ClamAV..."
|
||||
#chroot "$chroot_dir" /bin/bash --login -c ". /tmp/env.sh; freshclam" > /dev/null
|
||||
chroot_sh "$chroot_dir" "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"
|
||||
|
||||
av_eaet_timeout=300
|
||||
echo "set timeout: $((av_eaet_timeout/60))min"
|
||||
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"
|
||||
chroot_sh "$chroot_dir" "/etc/init.d/esets restart"
|
||||
sleep 2
|
||||
#chroot "$chroot_dir" /bin/bash --login -c "/opt/eset/esets/sbin/esets_daemon --update"
|
||||
chroot_sh "$chroot_dir" "/opt/eset/esets/sbin/esets_daemon --update"
|
||||
|
||||
#warten auf daemon update ...
|
||||
echo "wait $((av_eaet_timeout/60))min for Eset AV update"
|
||||
while [ "`chroot "$chroot_dir" /bin/bash -c "/opt/desinfect/conky_info.sh eset"`" == "$tmp_var_3092" ]; do
|
||||
sleep 10
|
||||
av_eaet_timeout=$((av_eaet_timeout-10))
|
||||
[ $av_eaet_timeout -gt 0 ] || tmp_var_3092=
|
||||
done
|
||||
|
||||
sleep 4
|
||||
|
||||
#chroot "$chroot_dir" /bin/bash -c "/etc/init.d/esets stop"
|
||||
chroot_sh "$chroot_dir" "/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"
|
||||
}
|
||||
|
||||
#Sophos
|
||||
{
|
||||
echo "Sophos..."
|
||||
#chroot "$chroot_dir" /bin/bash --login -c "/opt/sophos-av/bin/savupdate -v3"
|
||||
chroot_sh "$chroot_dir" "/opt/sophos-av/bin/savupdate -v3"
|
||||
chroot_sh "$chroot_dir" "/opt/sophos-av/bin/savdstatus --version"
|
||||
#chroot "$chroot_dir" /bin/bash -c "/opt/sophos-av/bin/savupdate -v3 -a"
|
||||
echo "Sophos done"
|
||||
}
|
||||
|
||||
#F-Secure
|
||||
{
|
||||
echo "F-Secure..."
|
||||
chroot_sh "$chroot_dir" "/etc/init.d/fsaua start"
|
||||
chroot_sh "$chroot_dir" "/etc/init.d/fsupdate stop"
|
||||
( sleep 1m; chroot_sh "$chroot_dir" "/etc/init.d/fsaua start" ) &
|
||||
chroot_sh "$chroot_dir" "/opt/f-secure/fssp/bin/dbupdate_lite" && echo "Update Success"
|
||||
sleep 1m
|
||||
chroot_sh "$chroot_dir" "/etc/init.d/fsaua stop"
|
||||
chroot_sh "$chroot_dir" "/etc/init.d/fsupdate stop"
|
||||
echo "F-Secure done"
|
||||
}
|
||||
|
||||
echo "update virus definitions done"
|
||||
}
|
||||
function os_update() { os_update-desinfect.17 $@; }
|
||||
|
||||
#proxy_enable-desinfect.17 [chroot_dir] [proxy_host] [proxy_port]
|
||||
function proxy_enable-desinfect.17() {
|
||||
|
||||
proxy_enable-debian $1 $2 $3
|
||||
|
||||
echo "enable proxy for desinfect's av ... "
|
||||
|
||||
chroot_dir="$1"
|
||||
proxy_host="$2"
|
||||
proxy_port="$3"
|
||||
tmp_file_344532="`mktemp`"
|
||||
|
||||
#Avast AntiVirus
|
||||
if [ -f "$chroot_dir/AntiVirUpdate/avupdate" ]; then
|
||||
echo "Avast AntiVirus: Found"
|
||||
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"
|
||||
else
|
||||
eco "Avast AntiVirus: NOT Found"
|
||||
fi
|
||||
|
||||
#Eset AV
|
||||
if [ -f "$chroot_dir/etc/opt/eset/esets/esets.cfg" ]; then
|
||||
echo "Eset AV: Found"
|
||||
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"
|
||||
else
|
||||
eco "Eset AV: NOT Found"
|
||||
fi
|
||||
|
||||
#ClamAV
|
||||
if [ -f "$chroot_dir/etc/clamav/freshclam.conf" ]; then
|
||||
echo "ClamAV: Found"
|
||||
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"
|
||||
else
|
||||
eco "ClamAV: NOT Found"
|
||||
fi
|
||||
|
||||
#Sophos
|
||||
if [ -f ""$chroot_dir/opt/sophos-av/etc/savd.cfg"" ]; then
|
||||
echo "Sophos: Found"
|
||||
echo "<Source>sophos:</Source><Proxy><Address>http://$proxy_host:$proxy_port</Proxy></Address>" >> "$chroot_dir/opt/sophos-av/etc/savd.cfg"
|
||||
else
|
||||
eco "Sophos: NOT Found"
|
||||
fi
|
||||
|
||||
#F-Secure
|
||||
if [ -f "$chroot_dir/opt/f-secure/fsaua/fsaua_config.template" ]; then
|
||||
echo "F-Secure: Found"
|
||||
echo "enable_fsma=no" >> "$chroot_dir/opt/f-secure/fsaua/fsaua_config.template"
|
||||
echo "update_servers=http://fsbwserver-direct.f-secure.com" >> "$chroot_dir/opt/f-secure/fsaua/fsaua_config.template"
|
||||
echo "update_proxies=http://$proxy_host:$proxy_port" >> "$chroot_dir/opt/f-secure/fsaua/fsaua_config.template"
|
||||
echo "http_proxies=http://$proxy_host:$proxy_port" >> "$chroot_dir/opt/f-secure/fsaua/fsaua_config.template"
|
||||
cat "$chroot_dir/opt/f-secure/fsaua/fsaua_config.template" > "$chroot_dir/etc/opt/f-secure/fsaua/fsaua_config"
|
||||
else
|
||||
eco "F-Secure: NOT Found"
|
||||
fi
|
||||
|
||||
|
||||
rm "$tmp_file_344532"
|
||||
tmp_file_344532=
|
||||
|
||||
echo "done"
|
||||
}
|
||||
function proxy_enable() { proxy_enable-desinfect.17 $@; }
|
||||
|
||||
#tools_add-desinfect.17 [chroot_dir] [tools_list]
|
||||
function tools_add-desinfect.17() {
|
||||
#$1 = chroot directory
|
||||
chroot_dir="$1"
|
||||
tools_list="$2"
|
||||
|
||||
sourcelist_desinfect_set_extendet2017 "$chroot_dir"
|
||||
tools_add-debian "$chroot_dir" "$tools_list"
|
||||
sourcelist_desinfect_set_nomal2017 "$chroot_dir"
|
||||
}
|
||||
function tools_add() { tools_add-desinfect.17 $@; }
|
||||
|
||||
|
||||
function project_mods-desinfect.17() {
|
||||
#config xrdp to start xfce
|
||||
[ -d "$chroot_path/etc/xrdp/" ] && {
|
||||
echo '#!/bin/sh' > "$chroot_path"/etc/xrdp/startwm.sh
|
||||
echo "export LANG=\"de_DE.UTF-8\"" >> "$chroot_path"/etc/xrdp/startwm.sh
|
||||
echo "startxfce4" >> "$chroot_path"/etc/xrdp/startwm.sh
|
||||
}
|
||||
}
|
||||
function project_mods() { project_mods-desinfect.17 $@; }
|
||||
|
@ -7,3 +7,4 @@
|
||||
####################################
|
||||
# . -> debian
|
||||
source <LIBDIR>/proj/debian
|
||||
project_relation="ubuntu $project_relation"
|
||||
|
8
src/proj/ubuntu.14.04
Executable file
8
src/proj/ubuntu.14.04
Executable file
@ -0,0 +1,8 @@
|
||||
#!/bin/bash
|
||||
#remaster lib
|
||||
[ -d "<LIBDIR>" ] || { echo "LIBDIR not exist"; exit 1; }
|
||||
|
||||
#ubuntu.14.04
|
||||
# . -> ubuntu -> debian
|
||||
source <LIBDIR>/proj/ubuntu
|
||||
project_relation="ubuntu.14.04 $project_relation"
|
@ -5,3 +5,4 @@
|
||||
#ubuntu.16.04
|
||||
# . -> ubuntu -> debian
|
||||
source <LIBDIR>/proj/ubuntu
|
||||
project_relation="ubuntu.16.04 $project_relation"
|
||||
|
1450
src/remaster.sh
1450
src/remaster.sh
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user