How To Work With Wsusoffline Iso Download

make wsus offline update work with aria2c on Linux www.wsusoffline.net

In praise of “WSUS Offline Update” for speeding up Windows 7 patches Posted on. You didn’t mention how long it took to download all of the WSUS offline updates which included every update in the Windows Update repository, even the ones you didn’t need (and Windows Update ONLINE would’ve ignored). In praise of “WSUS Offline. Feb 19, 2019  How to create a WSUS offline ISO file. Microsoft Office Professional 2016 Full Download & Activation For Free (100% Work) - Duration: 19:37. Graphic Origin 1,677,193 views.

Iso
commonparts.inc
# Variablen und Funktionen, die von
# DownloadUpdates.sh und CreateISOImage.sh
# gemeinsam benutzt werden
# Start: 10.3.2013 Hullen
syslist='w60 w60-x64 w61 w61-x64 w62-x64 w63 w63-x64 w100 w100-x64 all-x86 all-x64 o2k7 o2k10 o2k13 o2k16 ofc all-61 all-62 all-63 all-100'
langlist='enu deu nld esn fra ptg ptb ita rus plk ell csy dan nor sve fin jpn kor chs cht hun trk ara heb'
printusage()
{
Iso='/proxy - define proxy server (/proxy http://[username:password@]<server>:<port>)
/makeiso - create ISO image'
case $0 in
CreateISOImage.sh)
Iso=''
;;
esac
cat << END
Invalid parameter: $Cmdline
Usage: `basename $0` [system] [language] [parameter]
Supported systems:
$syslist
Supported languages:
$langlist
Parameters:
/excludesp - donot download servicepacks
/dotnet - download .NET framework
/msse - download Microsoft Security Essentials files
/wddefs - download Windows Defender definition files
/nocleanup - donot cleanup client directory
/wle - download Essentials
$Iso
Example: bash `basename $0` w61 deu /dotnet /excludesp
END
exit1
}
evaluateparams()
{
Cmdline='$@'
paramlist=('/excludesp''/dotnet''/msse''/makeiso''/nocleanup''/proxy''/wddefs''/wle')
EXCLUDE_SP='0'
EXCLUDE_STATICS='0'
CLEANUP_DOWNLOADS='1'
createiso='0'
dotnet='0'
msse='0'
wddefs='0'
wle='0'
param1=''
param2=''
param3=''
param4=''
param5=''
param6=''
param7=''
param8=''
#determining system
grep -q -w $1 <<< $syslist && sys=$1
test '$sys' || {
echo system $1 does not exist.
exit1
}
case $sys in
*-x64)
OS_ARCH=x64
OS_sys=$sys
;;
*)
OS_ARCH=x86
OS_sys=${sys}-x86
;;
esac
test '$2' || {
echo language is not set.
exit1
}
grep -q -w $2 <<< $langlist && lang=$2
test '$lang' || {
echo language $2 does not exist.
exit1
}
Origlang=$lang
case $sys in
w6[0-3]*)
# echo 'Setting language to glb...'
lang='glb'
;;
esac
sys_old=''
case $sys in
o2k*)
sys_old=$sys
sys='ofc'
;;
esac
case'$lang' in
enu) LANG_SHORT=en ;;
fra) LANG_SHORT=fr ;;
esn) LANG_SHORT=es ;;
jpn) LANG_SHORT=ja ;;
kor) LANG_SHORT=ko ;;
rus) LANG_SHORT=ru ;;
ptg) LANG_SHORT=pt ;;
ptb) LANG_SHORT=pt-br ;;
deu) LANG_SHORT=de ;;
nld) LANG_SHORT=nl ;;
ita) LANG_SHORT=it ;;
chs) LANG_SHORT=zh-cn ;;
cht) LANG_SHORT=zh-tw ;;
plk) LANG_SHORT=pl ;;
hun) LANG_SHORT=hu ;;
csy) LANG_SHORT=cs ;;
sve) LANG_SHORT=sv ;;
trk) LANG_SHORT=tr ;;
ell) LANG_SHORT=el ;;
ara) LANG_SHORT=ar ;;
heb) LANG_SHORT=he ;;
dan) LANG_SHORT=da ;;
nor) LANG_SHORT=no ;;
fin) LANG_SHORT=fi ;;
esac
#determining parameters
if grep -q /makeiso <<< $Cmdline ; then
param1=/makeiso
createiso='1'
fi
if grep -q /dotnet <<< $Cmdline ; then
param2=/dotnet
dotnet='1'
fi
if grep -q /excludesp <<< $Cmdline ; then
param3=/excludesp
EXCLUDE_SP='1'
fi
if grep -q /nocleanup <<< $Cmdline ; then
param4=/nocleanup
CLEANUP_DOWNLOADS='0'
fi
if grep -q /msse <<< $Cmdline ; then
param5=/msse
msse='1'
fi
if grep -q /wddefs <<< $Cmdline ; then
case $sys in
w62*)
param5=/msse
msse='1'
;;
*)
param7=/wddefs
wddefs='1'
;;
esac
fi
if grep -q /wle <<< $Cmdline ; then
param8=/wle
wle='1'
fi
#determining proxy
shift 2
while [ '$1' != '' ]
do
if [ '$1''/proxy' ]; then
http_proxy='$2'
param6='$1 $2'
break
else
shift
fi
done
if [ '$sys''' -o '$lang''' ]; then
printusage $Cmdline
fi
} # Ende 'evaluateparams'
doWget()
{
echo 'wget -nv -N --timeout=120 $*' | tee -a ../temp/wget.$mydate
wget -nv -N --timeout=120 $* 2>>../temp/wget.$mydate
return $?
}
doAria()
{
echo 'aria2c --allow-overwrite=true -c -x 10 -k 1M --timeout=120 $*' | tee -a ../temp/wget.$mydate
aria2c --allow-overwrite=true -c -x 10 -k 1M --timeout=120 $* 2>>../temp/wget.$mydate
return $?
}
#
# $Id: commonparts.inc,v 1.12015-11-1317:41:17+01 HHullen Exp $
# $Log: commonparts.inc,v $
# Revision 1.12015-11-1317:41:17+01 HHullen
# o2k16 ergänzt
#
# Revision 1.52015-08-2015:10:00+02 twittrock
# w100, w100-x64, all-100 ergänzt
#
# Revision 1.42014-12-1616:46:12+01 hhullen
# exclude-Liste überarbeitet
#
# Revision 1.32014-12-1013:58:23+01 root
# w6x-all ergänzt
#
# Revision 1.22014-12-1013:56:57+01 root
# Start
DownloadUpdates.sh
#!/bin/bash
#########################################################################
### WSUS Offline Update Downloader for Linux systems ###
### v. 10.6 ###
### ###
### http://www.wsusoffline.net/ ###
### Authors: Tobias Breitling, Stefan Joehnke, Walter Schiessberg ###
### maintained by H. Hullen ###
#########################################################################
# Exit codes:
# 0 - success
# 1 - file error
# 2 - connection error
export LC_ALL=C
Prog=$(basename $0)
case$BASHin
*bin/bash)
;;
*)
echo'
Please start this program with
bash $Prog
'
exit 1
;;
esac
debug=0
test$debug -eq 1 &&set -x
export SHELLOPTS
export TERM=xterm
# test operating system
OpSys=$(uname -s)
test'$OpSys'|| {
echo unknown Operating System
exit 1
}
case'$OpSys'in
Linux)
#set working directory
cd'$( dirname $(readlink -f '$0'))'
;;
*BSD|Darwin)
echo'Operating System $OpSys not yet supported'
echo'Maybe something doesn't work as expected'
sleep 10
#set working directory
cd'$( dirname $(readlink '$0'))'
;;
*)
echo'unknown Operating System'
exit 1
;;
esac
#set working directory
PATH_PWD='$(pwd)'
source commonparts.inc || {
echo commonparts.inc fehlt
exit 1
}
Kopf=$(echo ''
head -20 '$0'| grep '^###')
checkconfig()
{
C=$(which cabextract 2> /dev/null)
M=$(which hashdeep 2> /dev/null)
S=$(which xmlstarlet 2> /dev/null)
T=$(which xml 2> /dev/null)
xml=''
Missing=0
forDateiin cabextract hashdeep
do
Nomiss=$(which $Datei2>/dev/null)
test -x '$Nomiss'&&continue
cat <<END
Please install $Datei
Command in Fedora:
yum install $Datei
Command in Debian:
apt-get install $Datei
Command in SuSE:
zypper install $Datei
END
Missing=1
done
test -x '$S'&& xml='xmlstarlet'
test -x '$T'&& xml='xml'
test'$xml'|| {
forDateiin xmlstarlet xml
do
cat <<END
Please install $Datei
Command in Fedora:
yum install $Datei
Command in Debian:
apt-get install $Datei
Command in SuSE:
zypper install $Datei
END
Missing=1
done
}
test$Missing -eq 0 ||exit 1
} # Ende 'checkconfig'
printtimeout()
{
cat <<END
No connection could be established
Please check your internet connection.
END
exit 2
}
checkconnection()
{
OUT=`wget --connect-timeout=1 --tries=1 http://www.wsusoffline.net/index.html 2>&1`
if [ $?-ne 0 ];then
printf'failed to download:n'
printf -- '$OUT'
# exit 2
ping -c1 8.8.8.8 > /dev/null &&return 0
else
if [ !-e'index.html' ];then
rm -f index.html
printtimeout
fi
fi
rm -f index.html
}
getsystem()
{
cat <<END
Please select your OS:
[1] Windows Vista / Server 2008 [2] Windows Vista / Server 2008 64 bit
[3] Windows 7 (w61) [4] Windows 7 / Server 2008 R2 64 bit
[5] Windows Server 2012 64 bit
[6] Windows 8.1 (w63) [7] Windows 8.1 / Server 2012 R2 64 bit
[8] Windows 10 (w100) [9] Windows 10 / Server 2016 64 bit
[10] All Windows 32 bit [11] All Windows 64 bit
[12] Office 2007 [13] Office 2010 [14] Office 2013
[16] All Office updates (2007 - 2016)
[17] all Windows 7 [18] all Windows 8 [19] all Windows 8.1 [20] all Windows 10
END
read -p 'which number? ' syschoice
sysmax=$(wc -w <<<$syslist)
test'$syschoice'||exit 1
if [ $syschoice-lt 1 -o$syschoice-gt$sysmax ];then
echo'Program aborted.'
echo
exit 1
fi
sys_old=''
set -- $(echo $syslist)
shift$((syschoice -1))
sys=$1
case$sysin
*-x64)
OS_ARCH=x64
OS_sys=$sys
;;
*)
OS_ARCH=x86
OS_sys=${sys}-x86
;;
esac
}
getlanguage()
{
if [ '$lang'!='glb' ] ;then
cat <<END
Please select your OS language:
[a] enu [b] deu [c] nld [d] esn
[e] fra [f] ptg [g] ptb [h] ita
[i] rus [j] plk [k] ell [l] csy
[m] dan [n] nor [o] sve [p] fin
[q] jpn [r] kor [s] chs [t] cht
[u] hun [v] trk [w] ara [x] heb
END
read -p 'which letter? ' langchoice
langmax=$(($(wc -w <<<$langlist) -1))
test'$langchoice'|| {
echo'Program aborted'
exit 1
}
echo
langnr=$(($(printf '%d' '$langchoice') -97))
if [ $langnr-lt 0 -o$langnr-gt$langmax ];then
echo'Program aborted.'
exit 1
fi
set -- $(echo $langlist)
shift$langnr
lang=$1
Origlang=$lang
fi
}
getservicepack()
{
EXCLUDE_SP='1'
read -p 'Download Service Packs? [y/n] ' addsp
if [ '$addsp''y' ];then
EXCLUDE_SP='0'
else
param3='/excludesp'
fi
}
getdotnet()
{
dotnet='0'
read -p 'Download .Net framework? [y/n] ' adddotnet
if [ '$adddotnet''y' ];then
dotnet='1'
param2='/dotnet'
fi
}
getmsse()
{
msse='0'
read -p 'Download Microsoft Security Essentials files? [y/n] ' addmsse
if [ '$addmsse''y' ];then
msse='1'
param5='/msse'
fi
}
getwddefs()
{
wddefs='0'
read -p 'Download Microsoft Windows Defender definition files? [y/n] ' addwddefs
if [ '$addwddefs''y' ];then
wddefs='1'
param7='/wddefs'
fi
}
getwle()
{
wle='0'
read -p 'Download Windows Essentials? [y/n] ' addwle
if [ '$addwle''y' ];then
wle='1'
param8='/wle'
fi
}
getproxy()
{
read -p 'Please specify your proxy (default: none, http://[username:password@]<server>:<port>]) ' http_proxy
test'$http_proxy'|| http_proxy='none'
case'$http_proxy'in
http:*|none|n)
;;
*)
echo wrong syntax for proxy server
exit 1
;;
esac
}
makeiso()
{
createiso='0'
read -p 'Create ISO-Image after download? [y/n] ' addiso
if [ '$addiso''y' ];then
createiso='1'
param1='/makeiso'
fi
}
cleanup()
{
file='$1'
path='$2'
test -d '$path'||return
> ../temp/cleanup.txt
foriin$(ls '$path');do
test'$i''ie6setup'&&continue
grep '${i}''${file}'||echo'$i'
echo rm -f ${path}/'$i'
done> ../temp/cleanup.txt
}
# gilt auch für dotnet und wddefs
down_msse_cpp() {
case$Vzin
cpp)
Zielverz=$Vz
Datei=$Vz-${OS_ARCH}-glb
;;
wle)
Zielverz=$Vz
Datei=$Vz-glb
;;
msse|wddefs)
Zielverz=$Vz/${OS_ARCH}-glb
Datei=$Vz-${OS_ARCH}-glb
;;
dotnet)
Zielverz=$Vz/${OS_ARCH}-glb
Datei=$Vz
;;
esac
mkdir -p ../client/$Zielverz
echo'Downloading $Txt files...'
whileread x
do
case$Vzin
cpp|msse|wle|dotnet)
grep -q ','<<<'$x'&& {
oldname=${x%,*}
newname=${x#*,}
test'$newname'&& tmpname=${oldname##*/}
}
if [ -f'../client/$Zielverz/$newname' ];then
mv -f '../client/$Zielverz/$newname''../client/$Zielverz/$tmpname'
fi
doAria $oldname -d ../client/$Zielverz
if [ -f'../client/$Zielverz/$tmpname' ];then
mv -f '../client/$Zielverz/$tmpname''../client/$Zielverz/$newname'
fi
;;
wddefs)
doAria $x -d ../client/$Zielverz
;;
esac
done< ../temp/StaticUrls-${Datei}.txt
echo'Creating integrity database for $Txt ...'
(cd ../client/md; hashdeep -c md5,sha1,sha256 -l -r ../$Vz> hashes-${Vz}.txt)
}
crlf2lf() {
test -f '$1'||return 0
grep -q -m1 $'r''$1'||return 0
tr -d 'r'<'$1'>'$1.tmp'&&
touch -r '$1''$1.tmp'&&
mv '$1.tmp''$1'
# POSIX-konforme Lösung von Stefan Reuther, de.comp.unix.shell 5.8.14
}
# ist derzeit nur für GNU/Linux
# ------------- end of functions -------------
clear
echo'$Kopf'
#check for required packages
checkconfig
echo'$Kopf'
#check if parameters are valid
if [ '$1'!='' ];then
externparam='1'
evaluateparams $@
else
#get parameters
getsystem
getlanguage
getservicepack
getdotnet
getmsse
getwddefs
getwle
getproxy
makeiso
fi
#set proxy
if [ '$http_proxy'!='' ] && [ '$http_proxy'!='none' ];then
export http_proxy=$http_proxy
fi
#check internet connection
checkconnection
#set up needed directories
mkdir -p ../client
mkdir -p ../client/wsus
mkdir -p ../client/msse
mkdir -p ../client/cpp
mkdir -p ../client/wle
mkdir -p ../temp
rm -f ../temp/*
echo'$Kopf'
cat <<END
Your choice
System: $sys
Language: $Origlang
Parameter: $param1 $param2 $param3 $param4 $param5 $param7 $param8
Proxy: $http_proxy
END
if [ '$externparam'!='1' ];then
echo
read -p 'Do you want to download now? [y/n] ' response
else
response='y'
fi
if [ '$response'!='y' ];then
echo
echo'Program aborted.'
echo
exit 1
fi
echo'
Thank you - now I start working!'
mydate=$(date +%Y%m%d)
#convert files to Linux format
forDateiin ../{exclude,static}/*.txt ../{exclude,static}/custom/*.txt
do
crlf2lf '$Datei'
done
Liste=''
case$sysin
all-x64) Liste='w60-x64 w61-x64 w62-x64 w63-x64 w100-x64' ;;
all-x86) Liste='w60 w61 w63 w100' ;;
all-61) Liste='w61 w61-x64' ;;
all-62) Liste=' w62-x64' ;;
all-63) Liste='w63 w63-x64' ;;
all-100) Liste='w100 w100-x64' ;;
ofc) test'$sys_old'|| Liste='o2k7 o2k10 o2k13 o2k16' ;;
esac
test'$Liste'&& {
forOSin$Liste
do
/bin/bash DownloadUpdates.sh $OS$Origlang$param2$param3$param4$param5$param6$param7$param8
done
if [ '$param1''/makeiso' ];then
/bin/bash ./CreateISOImage.sh $sys$Origlang$param2$param3
rc=$?
fi
exit$rc
}
echo'Downloading most recent Windows Update Agent and catalog file...'
doAria -i ../static/StaticDownloadLinks-wsus.txt -d ../client/wsus
echo'Determining static URLs for ${sys} ...'
if [ '$sys''ofc' ] && [ '$sys_old'!='' ];then
echo'Determining static URLs for ${sys_old} ...'
forLangin$lang glb;do
forstaticin'../static/StaticDownloadLinks-${sys_old}-${OS_ARCH}-${Lang}.txt''../static/StaticDownloadLinks-${sys_old}-${Lang}.txt'
do
test -f '$static'||continue
if [ '$EXCLUDE_SP''0' ];then
cat $static>> ../temp/StaticUrls-${sys_old}-${Lang}.txt
fi
if [ '$EXCLUDE_SP''1' ];then
grep -i -v -f ../exclude/ExcludeList-SPs.txt $static> ../temp/StaticUrls-${sys_old}-${Lang}.txt
fi
done
done# Lang
fi# Ende Office
> ../temp/StaticUrls-${sys}-${lang}.txt
# read -p 'nach Office' dummy
forstaticin'../static/StaticDownloadLinks-${OS_sys}-${lang}.txt''../static/StaticDownloadLinks-${OS_sys}.txt'
do
test -f '$static'||continue
if [ '$EXCLUDE_SP''0' ];then
cat $static>> ../temp/StaticUrls-${sys}-${lang}.txt
else
grep -i -v -f ../exclude/ExcludeList-SPs.txt $static>> ../temp/StaticUrls-${sys}-${lang}.txt
fi
done
if [ -f ../static/custom/StaticDownloadLinks-${OS_sys}-${lang}.txt ];then
cat ../static/custom/StaticDownloadLinks-${OS_sys}-${lang}.txt >> ../temp/StaticUrls-${sys}-${lang}.txt
fi
forPfadin static static/custom;do
static='../$Pfad/StaticDownloadLinks-win-${OS_ARCH}-${Origlang}.txt'
if [ -f'$static' ];then
cat $static>> ../temp/StaticUrls-${Origlang}.txt
fi
static='../$Pfad/StaticDownloadLinks-win-${OS_ARCH}-glb.txt'
if [ -f'$static' ];then
cat $static>> ../temp/StaticUrls-glb.txt
fi
done
forPfadin static static/custom;do
if [ $lang!= glb ];then
static='../$Pfad/StaticDownloadLinks-${OS_sys}-glb.txt'
if [ -f'$static' ];then
cat $static>> ../temp/StaticUrls-${sys}-glb.txt
fi
fi
done
# Optionen
# cp ../static/StaticDownloadLinks-dotnet.txt ../temp/StaticUrls-dotnet.txt
> ../temp/StaticUrls-dotnet-${OS_ARCH}-$lang.txt
> ../temp/Urls-dotnet-${OS_ARCH}.txt
forPfadin static static/custom;do
if [ '$dotnet''1' ];then
Vz=dotnet
test -f ../$Pfad/StaticDownloadLinks-$Vz-${OS_ARCH}-$Origlang.txt && {
grep -F -i -v -f ../exclude/ExcludeList-$Vz-${OS_ARCH}.txt ../$Pfad/StaticDownloadLinks-$Vz-${OS_ARCH}-$Origlang.txt
>> ../temp/Urls-$Vz-${OS_ARCH}.txt
}
cat ../$Pfad/StaticDownloadLinks-$Vz.txt >> ../temp/StaticUrls-$Vz.txt 2>/dev/null
Vz=cpp
cat ../$Pfad/StaticDownloadLinks-$Vz-${OS_ARCH}-glb.txt >> ../temp/StaticUrls-$Vz-${OS_ARCH}-glb.txt 2>/dev/null
fi
if [ '$wddefs''1' ];then
Vz=wddefs
cat ../$Pfad/StaticDownloadLink-$Vz-${OS_ARCH}-glb.txt >> ../temp/StaticUrls-$Vz-${OS_ARCH}-glb.txt 2>/dev/null
# anderer Dateiname: ...Link
fi
if [ '$msse''1' ];then
Vz=msse
cat ../$Pfad/StaticDownloadLinks-$Vz-${OS_ARCH}-glb.txt >> ../temp/StaticUrls-$Vz-${OS_ARCH}-glb.txt 2>/dev/null
cat ../$Pfad/StaticDownloadLinks-$Vz-${OS_ARCH}-$Origlang.txt >> ../temp/StaticUrls-$Vz-${OS_ARCH}-glb.txt 2>/dev/null
fi
if [ '$wle''1' ];then
Vz=wle
cat ../$Pfad/StaticDownloadLinks-$Vz-glb.txt >> ../temp/StaticUrls-$Vz-glb.txt 2>/dev/null
cat ../$Pfad/StaticDownloadLinks-$Vz-$Origlang.txt >> ../temp/StaticUrls-$Vz-glb.txt 2>/dev/null
fi
done# Pfad
test$debug -eq 0 &&set +x
# echo 'Adding Custom-Links...'
cd ../temp
echo'Extracting Windows update catalogue file package.xml...'
cp ../client/wsus/wsusscn2.cab ../client/wsus/wsusscn2_1.cab
cabextract -q -F package.cab ../client/wsus/wsusscn2_1.cab 2>/dev/null
cabextract -q -F package.xml package.cab
rm -f package.cab
rm -f ../client/wsus/wsusscn2_1.cab
cd ../sh
# superseded
supersed='0'
if [ -f ../exclude/ExcludeList-superseded.txt ];then
if [ ../client/wsus/wsusscn2.cab -nt ../exclude/ExcludeList-superseded.txt ];then
supersed='1'
# %WGET_PATH% -N -d ..exclude http://download.wsusoffline.net/ExcludeList-superseded-exclude.txt
doAria http://download.wsusoffline.net/ExcludeList-superseded-exclude.txt -d ../exclude
Datei=../exclude/ExcludeList-superseded-exclude.txt
crlf2lf '$Datei'
else
echo'Found valid list of superseded updates...'
fi
else
supersed='1'
fi
test$debug -ne 0 && supersed='1'
if [ '$supersed''1' ];then
echo'Determining superseded updates (please be patient, this will take a while)...'
$xml tr ../xslt/ExtractUpdateRevisionIds.xsl ../temp/package.xml > ../temp/ValidUpdateRevisionIds.txt
$xml tr ../xslt/ExtractSupersedingRevisionIds.xsl ../temp/package.xml | sort -u > ../temp/SupersedingRevisionIds.txt
grep -F -f ../temp/SupersedingRevisionIds.txt ../temp/ValidUpdateRevisionIds.txt >> ../temp/ValidSupersedingRevisionIds.txt
rm -f ../temp/ValidUpdateRevisionIds*.txt
rm -f ../temp/SupersedingRevisionIds*.txt
$xml tr ../xslt/ExtractSupersededUpdateRelations.xsl ../temp/package.xml > ../temp/SupersededUpdateRelations.txt
grep -F -f ../temp/ValidSupersedingRevisionIds.txt ../temp/SupersededUpdateRelations.txt > ../temp/ValidSupersededUpdateRelations.txt
rm -f ../temp/SupersededUpdateRelations.txt
rm -f ../temp/ValidSupersedingRevisionIds.txt
$xml tr ../xslt/ExtractUpdateRevisionAndFileIds.xsl ../temp/package.xml > ../temp/UpdateRevisionAndFileIds.txt
REVISION_ID=''
while IFS=','read Platz0 Platz1 Rest
do
read temp0 Rest <<<${Platz1//;/ }
if [ '${temp0}''' ];then
REVISION_ID=${Platz0}
echo'${Platz0}'>> ../temp/BundledUpdateRevisionAndFileIds.txt
else
echo'${Platz0},${temp0};$REVISION_ID'>> ../temp/BundledUpdateRevisionAndFileIds.txt
fi
done< ../temp/UpdateRevisionAndFileIds.txt
while IFS=','read ValidRevID Rest
do
echo'${ValidRevID}'>> ../temp/ValidSupersededRevisionIds.txt
done< ../temp/ValidSupersededUpdateRelations.txt
grep -F -f ../temp/ValidSupersededRevisionIds.txt ../temp/BundledUpdateRevisionAndFileIds.txt > ../temp/SupersededRevisionAndFileIds.txt
while IFS=','read Platz0 Platz1 Rest
do
test'$Platz1'||continue
read temp0 Rest <<<${Platz1//;/ }
test'${temp0}'&&echo'${temp0}'>> ../temp/SupersededFileIds.txt
done< ../temp/SupersededRevisionAndFileIds.txt
test$debug -eq 0 && rm -f ../temp/SupersededRevisionAndFileIds.txt
test -s ../temp/SupersededFileIds.txt && {
sort -u ../temp/SupersededFileIds.txt | grep -v '#'> ../temp/SupersededFileIdsUnique.txt
}
test$debug -eq 0 && rm -f ../temp/SupersededFileIds.txt
$xml tr ../xslt/ExtractUpdateCabExeIdsAndLocations.xsl ../temp/package.xml | sort -u > ../temp/UpdateCabExeIdsAndLocations.txt
grep -F -f ../temp/SupersededFileIdsUnique.txt ../temp/UpdateCabExeIdsAndLocations.txt >> ../temp/SupersededCabExeIdsAndLocations.txt
rm -f ../temp/SupersededFileIdsUnique.txt
test$debug -eq 0 && rm -f ../temp/UpdateCabExeIdsAndLocations.txt
rm -f ../exclude/ExcludeList-superseded.txt
while IFS=','read dummy temp Rest
do
temp=$(basename $temp .exe)
echo'${temp%.cab}'>> ../exclude/ExcludeList-superseded.txt
done< ../temp/SupersededCabExeIdsAndLocations.txt
echo'Done.'
fi
# test $debug -gt 0 && read -p 'Pause nach supersede in Zeile $LINENO ' dummy
# ------- Ende superseded
echo'Determining update URLs for ${sys} ...'
# verify='../temp/tmpUrls-${sys}-${lang}.txt'
mkdir -p ../client/win/glb ../client/win/glb ../client/$sys/$lang ../client/$sys/glb
test -f ../xslt/ExtractDownloadLinks-${OS_sys}-${lang}.xsl
&&$xml tr ../xslt/ExtractDownloadLinks-${OS_sys}-${lang}.xsl ../temp/package.xml > ../temp/Urls-${OS_sys}-${lang}.txt
test'$dotnet''1'&&$xml tr ../xslt/ExtractDownloadLinks-dotnet-${OS_ARCH}-glb.xsl ../temp/package.xml >> ../temp/Urls-dotnet-${OS_ARCH}.txt
test -f ../temp/Urls-${OS_sys}-${lang}.txt &&
cp ../temp/Urls-${OS_sys}-${lang}.txt ../temp/tmpUrls-${OS_sys}-${lang}.txt
> ../temp/tmpExcludeList-${sys}.txt
forPfadin exclude exclude/custom;do
test -f ../$Pfad/ExcludeList-${OS_sys}.txt &&
cat ../$Pfad/ExcludeList-${OS_sys}.txt >> ../temp/tmpExcludeList-${sys}.txt
done
test -f ../exclude/ExcludeList-superseded.txt &&
cat ../exclude/ExcludeList-superseded.txt >> ../temp/tmpExcludeList-${sys}.txt
test -f ../temp/tmpUrls-${OS_sys}-${lang}.txt &&
grep -F -i -v -f ../temp/tmpExcludeList-${sys}.txt ../temp/tmpUrls-${OS_sys}-${lang}.txt > ../temp/ValidUrls-${sys}-${lang}.txt
test$lang glb || {
test -f ../xslt/ExtractDownloadLinks-${OS_sys}-glb.xsl &&
$xml tr ../xslt/ExtractDownloadLinks-${OS_sys}-glb.xsl ../temp/package.xml > ../temp/Urls-${sys}-glb.txt
test -f ../xslt/ExtractDownloadLinks-${OS_sys}-glb.xsl &&
$xml tr ../xslt/ExtractDownloadLinks-${OS_sys}-glb.xsl ../temp/package.xml > ../temp/Urls-${sys}-glb.txt
test -f ../temp/Urls-${sys}-glb.txt && {
cp ../temp/Urls-${sys}-glb.txt ../temp/tmpValidUrls-${sys}-glb.txt
grep -F -i -v -f ../temp/tmpExcludeList-${sys}.txt ../temp/tmpValidUrls-${sys}-glb.txt > ../temp/ValidUrls-${sys}-glb.txt
}
# rm -f ../temp/Urls-${sys}-glb.txt ../temp/tmpValidUrls-${sys}-glb.txt
}
> ../temp/tmpExcludeList-win-${OS_ARCH}.txt
if [ $lang!= glb -a'$sys'!='ofc' ];then
echo'Determining update URLs for win ...'
test -f ../xslt/ExtractDownloadLinks-win-x86-${lang}.xsl &&
$xml tr ../xslt/ExtractDownloadLinks-win-x86-${lang}.xsl ../temp/package.xml >> ../temp/Urls-win-${OS_ARCH}-${lang}.txt
cat ../exclude/ExcludeList-win-x86.txt >> ../temp/tmpExcludeList-win-${OS_ARCH}.txt
test -f ../exclude/custom/ExcludeList-win-x86.txt &&
cat ../exclude/custom/ExcludeList-win-x86.txt >> ../temp/tmpExcludeList-win-${OS_ARCH}.txt
test -f ../exclude/ExcludeList-superseded.txt &&
cat ../exclude/ExcludeList-superseded.txt >> ../temp/tmpExcludeList-win-${OS_ARCH}.txt
test -f ../temp/Urls-win-${OS_ARCH}-${lang}.txt &&
grep -F -i -v -f ../temp/tmpExcludeList-win-${OS_ARCH}.txt ../temp/Urls-win-${OS_ARCH}-${lang}.txt >> ../temp/ValidUrls-win-${OS_ARCH}-${lang}.txt
fi
if [ $lang glb ];then
echo'Determining update URLs for win ...'
test -f ../xslt/ExtractDownloadLinks-win-x86-${lang}.xsl &&
$xml tr ../xslt/ExtractDownloadLinks-win-x86-${lang}.xsl ../temp/package.xml >> ../temp/Urls-win-${OS_ARCH}-${lang}.txt
cat ../exclude/ExcludeList-win-x86.txt >> ../temp/tmpExcludeList-win-${OS_ARCH}.txt
test -f ../exclude/custom/ExcludeList-win-x86.txt &&
cat ../exclude/custom/ExcludeList-win-x86.txt >> ../temp/tmpExcludeList-win-${OS_ARCH}.txt
test -f ../exclude/ExcludeList-superseded.txt &&
cat ../exclude/ExcludeList-superseded.txt >> ../temp/tmpExcludeList-win-${OS_ARCH}.txt
test -f ../temp/Urls-win-${OS_ARCH}-${lang}.txt &&
grep -F -i -v -f ../temp/tmpExcludeList-win-${OS_ARCH}.txt ../temp/Urls-win-${OS_ARCH}-${lang}.txt >> ../temp/ValidUrls-win-${OS_ARCH}-${lang}.txt
fi
# ------------- Office -------------
if [ '$sys''ofc' ];then
echo'Determining dynamic update urls for ${sys}...'
forDateiin ExcludeList-${sys}.txt custom/ExcludeList-${sys}.txt ExcludeList-superseded.txt
do
test -f ../exclude/$Datei&& cat ../exclude/$Datei
done| sort -u > ../temp/ExcludeList-${sys}.txt
$xml tr ../xslt/ExtractUpdateCategoriesAndFileIds.xsl ../temp/package.xml > ../temp/UpdateCategoriesAndFileIds.txt
$xml tr ../xslt/ExtractUpdateCabExeIdsAndLocations.xsl ../temp/package.xml > ../temp/UpdateCabExeIdsAndLocations.txt
oldlang=$Origlang
forlangin$oldlang glb
do
echo'Determining dynamic update urls for ${sys} (please be patient, this will take a while)...'
UPDATE_ID=''
UPDATE_CATEGORY=''
UPDATE_LANGUAGES=''
while IFS=';'read Platz1 cate Rest
do
read precat0 precat1 precat2 Rest <<<${Platz1//,/ }
if [ '$cate''' ];then
if [ '$UPDATE_CATEGORY''477b856e-65c4-4473-b621-a8b230bb70d9' ];then
if [ '${precat1}'!='' ];then
if [ '$lang''glb' ];then
if [ '${precat2}''' ] && [ '$UPDATE_LANGUAGES''' ];then
echo'$UPDATE_ID,${precat1}'>> ../temp/OfficeUpdateAndFileIds.txt
fi
if [ '${precat2}''en' ] && [ '$UPDATE_LANGUAGES''en' ];then
echo'$UPDATE_ID,${precat1}'>> ../temp/OfficeUpdateAndFileIds.txt
fi
else
if [ '${precat2}''$LANG_SHORT' ];then
echo'$UPDATE_ID,${precat1}'>> ../temp/OfficeUpdateAndFileIds.txt
fi
fi
fi
fi
else
UPDATE_ID=${precat0}
read UPDATE_CATEGORY UPDATE_LANGUAGES Rest <<<${cate//,/ }
UPDATE_lang=$(cut -d',' -f2- <<<${cate})
test'$UPDATE_LANGUAGES'&& {
grep -w -q 'en'<<<${UPDATE_lang}&& UPDATE_LANGUAGES=en
grep -w -q '$LANG_SHORT'<<<${UPDATE_lang}&& UPDATE_LANGUAGES=$LANG_SHORT
}
fidone< ../temp/UpdateCategoriesAndFileIds.txt
cut -d',' -f2 ../temp/OfficeUpdateAndFileIds.txt | sort -u > ../temp/OfficeFileIds.txt
grep -F -f ../temp/OfficeFileIds.txt ../temp/UpdateCabExeIdsAndLocations.txt > ../temp/OfficeUpdateCabExeIdsAndLocations.txt
mkdir -p ../client/ofc
rm -f ../client/ofc/UpdateTable-${sys}-${lang}.csv
while IFS=','read Platz1 temp_linkid Rest
do
test'${temp_linkid}'||continue
# Brechstange
Line=$(grep '^${temp_linkid},' ../temp/OfficeUpdateCabExeIdsAndLocations.txt)
test'$Line'||continue
Line=(${Line//,/ })
if [ '${Line[0]}'!=''-a'${Line[0]}''$temp_linkid' ];then
echo'${Line[1]}'>> ../temp/DynamicDownloadLinks-${sys}-${lang}.txt
filename=${Line[1]%.exe}
echo'$Platz1,${filename%.cab}'>> ../client/ofc/UpdateTable-${sys}-${lang}.csv
fi
done< ../temp/OfficeUpdateAndFileIds.txt
test$debug -ne 0 && rm -f ../temp/OfficeFileIds.txt
test$debug -ne 0 && rm -f ../temp/OfficeUpdateAndFileIds.txt
test$debug -ne 0 && rm -f ../temp/OfficeUpdateCabExeIdsAndLocations.txt
grep -F -i -v -f ../temp/ExcludeList-${sys}.txt ../temp/DynamicDownloadLinks-${sys}-${lang}.txt > ../temp/ValidDynamicLinks-${sys}-${lang}.txt
cat ../temp/ValidDynamicLinks-${sys}-${lang}.txt >> ../temp/ValidUrls-${sys}-${lang}.txt
done
lang=$oldlang
fi
# ---------- Ende Office -------------
test$debug -ne 0 &&echo'Office ist fertig'
rm -f ../temp/package.xml
touch ../temp/ValidDynamicLinks-${sys}-${lang}.txt ../temp/StaticUrls-${sys}-${lang}.txt ../temp/StaticUrls-ie6-${lang}.txt ../temp/ValidUrls-${sys}-${lang}.txt ../temp/ValidUrls-${sys}-glb.txt ../temp/ValidUrls-win-${OS_ARCH}-${lang}.txt ../temp/StaticUrls-ofc-glb.txt ../temp/StaticUrls-ofc-${lang}.txt ../temp/StaticUrls-${sys}-glb.txt ../temp/StaticUrls-${lang}.txt ../temp/StaticUrls-glb.txt ../temp/StaticUrls-dotnet.txt ../temp/StaticUrls-cpp-${OS_ARCH}-glb.txt ../temp/StaticUrls-msse-${OS_ARCH}-glb.txt ../temp/StaticUrls-wddefs-${OS_ARCH}-glb.txt
test'$sys_old'&& {
touch ../temp/StaticUrls-${sys_old}-${lang}.txt ../temp/StaticUrls-${sys_old}-glb.txt
}
rm -f ../temp/urls.txt
test$lang!= glb && {
cat ../temp/StaticUrls-${sys}-${lang}.txt >> ../temp/urls.txt
cat ../temp/ValidUrls-${sys}-${lang}.txt >> ../temp/urls.txt
cat ../temp/StaticUrls-ofc-${lang}.txt >> ../temp/urls.txt
cat ../temp/StaticUrls-${lang}.txt >> ../temp/urls.txt
}
cat ../temp/StaticUrls-ie6-${lang}.txt >> ../temp/urls.txt
cat ../temp/ValidUrls-${sys}-glb.txt >> ../temp/urls.txt
cat ../temp/ValidUrls-win-${OS_ARCH}-${lang}.txt >> ../temp/urls.txt
cat ../temp/StaticUrls-ofc-glb.txt >> ../temp/urls.txt
cat ../temp/StaticUrls-${sys}-glb.txt >> ../temp/urls.txt
cat ../temp/StaticUrls-glb.txt >> ../temp/urls.txt
cat ../temp/StaticUrls-dotnet.txt >> ../temp/urls.txt
cat ../temp/StaticUrls-dotnet-${OS_ARCH}-${lang}.txt >> ../temp/urls.txt
cat ../temp/StaticUrls-cpp-${OS_ARCH}-glb.txt >> ../temp/urls.txt
cat ../temp/StaticUrls-msse-${OS_ARCH}-glb.txt >> ../temp/urls.txt
cat ../temp/StaticUrls-wle-${OS_ARCH}-glb.txt >> ../temp/urls.txt 2>/dev/null
cat ../temp/StaticUrls-wddefs-${OS_ARCH}-glb.txt >> ../temp/urls.txt
test'$sys_old'&& {
cat ../temp/StaticUrls-${sys_old}-${lang}.txt >> ../temp/urls.txt
cat ../temp/StaticUrls-${sys_old}-glb.txt >> ../temp/urls.txt
}
echo'
***************************************
Found $(grep -c http: ../temp/urls.txt) patches...
'
#create needed directories
mkdir -p ../client/${sys}/glb ../client/${sys}/${lang} ../client/md
echo'$Kopf'
echo'Downloading patches for ${sys}...'
echo'Downloading static patches...'
if [ $lang!='glb' ];then
doAria -i ../temp/StaticUrls-${sys}-${lang}.txt -d ../client/${sys}/${lang}
doAria -i ../temp/StaticUrls-${lang}.txt -d ../client/win/${lang}
fi
doAria -i ../temp/StaticUrls-glb.txt -d ../client/win/glb
doAria -i ../temp/StaticUrls-${sys}-glb.txt -d ../client/${sys}/glb
if [ '$sys''ofc' ] && [ '$sys_old'!='' ];then
doAria -i ../temp/StaticUrls-${sys_old}-${lang}.txt -d ../client/${sys_old}/${lang}
doAria -i ../temp/StaticUrls-${sys_old}-glb.txt -d ../client/${sys_old}/glb
fi
# dotnet/cpp
if [ '$dotnet''1' ];then
Vz=dotnet
Txt='.Net '
# down_msse_cpp
echo'Downloading .Net framework...'
# combine ExcludeList-${Vz}-${OS_ARCH}.txt and ExcludeList-superseded.txt
> ../temp/tmpExcludeList-${Vz}-${OS_ARCH}.txt
test -f ../exclude/ExcludeList-${Vz}-${OS_ARCH}.txt &&
cat ../exclude/ExcludeList-${Vz}-${OS_ARCH}.txt >>
../temp/tmpExcludeList-${Vz}-${OS_ARCH}.txt
test -f ../exclude/ExcludeList-superseded.txt &&
cat ../exclude/ExcludeList-superseded.txt >>
../temp/tmpExcludeList-${Vz}-${OS_ARCH}.txt
# substract tmpExcludeList-${Vz}-${OS_ARCH}.txt from Urls-${Vz}-${OS_ARCH}.txt
> ../temp/ValidUrls-${Vz}-${OS_ARCH}.txt
test -f ../temp/Urls-${Vz}-${OS_ARCH}.txt &&
grep -F -i -v -f ../temp/tmpExcludeList-${Vz}-${OS_ARCH}.txt
../temp/Urls-${Vz}-${OS_ARCH}.txt >
../temp/ValidUrls-${Vz}-${OS_ARCH}.txt
# create download directory and get downloads
mkdir -p ../client/${Vz}/${OS_ARCH}-glb
doAria -i ../temp/StaticUrls-${Vz}.txt -d ../client/${Vz}
doAria -i ../temp/ValidUrls-${Vz}-${OS_ARCH}.txt -d ../client/${Vz}/${OS_ARCH}-glb
echo'Creating integrity database for ${Txt} ...'
forDateiin${Vz}/*.exe
do
test -s '$Datei'|| rm -f '$Datei'
done
(cd ../client/md; hashdeep -c md5,sha1,sha256 -l ../${Vz}/*.exe > hashes-${Vz}.txt)
echo'Creating integrity database for ${Txt}-${OS_ARCH}-glb ...'
(cd ../client/md; hashdeep -c md5,sha1,sha256 -l -r ../${Vz}/${OS_ARCH}-glb > hashes-${Vz}-${OS_ARCH}-glb.txt)
Vz=cpp
Txt=CPP
down_msse_cpp
fi
# MSSE
if [ '$msse''1' ];then
Vz=msse
Txt=MSSE
down_msse_cpp
fi
# wddefs
if [ '$wddefs''1' ];then
Vz=wddefs
Txt='Windows Defender definition'
down_msse_cpp
fi
# WLE
if [ '$wle''1' ];then
Vz=wle
Txt='Windows Essentials'
down_msse_cpp
fi
echo'Downloading patches for $sys$Origlang'
if [ $lang!= glb ];then
doAria -i ../temp/ValidUrls-${sys}-${lang}.txt -d ../client/${sys}/${lang}
doAria -i ../temp/ValidUrls-win-${OS_ARCH}-${lang}.txt -d ../client/win/${lang}
fi
doAria -i ../temp/ValidUrls-${sys}-glb.txt -d ../client/${sys}/glb
echo'$Kopf'
echo'Validating patches for ${sys}...'
echo'Validating static patches...'
if [ $lang!= glb ];then
doAria -i ../temp/StaticUrls-${sys}-${lang}.txt -d ../client/${sys}/${lang}
doAria -i ../temp/StaticUrls-${lang}.txt -d ../client/win/${lang}
fi
doAria -i ../temp/StaticUrls-${sys}-glb.txt -d ../client/${sys}/glb
doAria -i ../temp/StaticUrls-glb.txt -d ../client/win/glb
if [ '$sys''ofc' ] && [ '$sys_old'!='' ];then
doAria -i ../temp/StaticUrls-${sys_old}-${lang}.txt -d ../client/${sys_old}/${lang}
doAria -i ../temp/StaticUrls-${sys_old}-glb.txt -d ../client/${sys_old}/glb
echo'Creating integrity database for ${sys_old}${lang}...'
(cd ../client/md; hashdeep -c md5,sha1,sha256 -l -r ../${sys_old}/${lang}> hashes-${sys_old}-${lang}.txt)
(cd ../client/md; hashdeep -c md5,sha1,sha256 -l -r ../${sys_old}/glb > hashes-${sys_old}-glb.txt)
fi
echo'Validating patches for $sys${lang}...'
if [ $lang!= glb ];then
doAria -i ../temp/ValidUrls-${sys}-${lang}.txt -d ../client/${sys}/${lang}
echo'Creating integrity database for $sys-$lang ...'
(cd ../client/md; hashdeep -c md5,sha1,sha256 -l -r ../${sys}/${lang}> hashes-${sys}-${lang}.txt)
fi
doAria -i ../temp/ValidUrls-${sys}-glb.txt -d ../client/${sys}/glb
if [ -d ../client/${sys}/glb ];then
echo'Creating integrity database for $sys-glb ...'
(cd ../client/md; hashdeep -c md5,sha1,sha256 -l -r ../${sys}/glb > hashes-${sys}-glb.txt)
fi
if [ $lang!= glb ] ;then
doAria -i ../temp/ValidUrls-win-${OS_ARCH}-${lang}.txt -d ../client/win/${lang}
fi
if [ $lang glb ] ;then
doAria -i ../temp/ValidUrls-win-${OS_ARCH}-${lang}.txt -d ../client/win/${lang}
fi
if [ -d ../client/win/${lang}-a$lang!= glb ];then
echo'Creating integrity database for win-$lang ...'
(cd ../client/md; hashdeep -c md5,sha1,sha256 -l -r ../win/${lang}> hashes-win-${lang}.txt)
fi
if [ -d ../client/win/glb ];then
echo'Creating integrity database for win-glb ...'
(cd ../client/md; hashdeep -c md5,sha1,sha256 -l -r ../win/glb > hashes-win-glb.txt)
fi
if [ -d ../client/wsus ];then
echo'Creating integrity database for WSUS ...'
(cd ../client/md; hashdeep -c md5,sha1,sha256 -l -r ../wsus > hashes-wsus.txt)
fi
# Zeilenumbruch passend für DOS/Windows
(cd ../client/md
# Unix2Dos fuer Arme - Dank an Norbert Möndjen
forDateiin hashes*.txt
do
grep -q -m1 $'r'$Datei&&continue
whileread Zeile
do
echo -e '${Zeile}r'
done<$Datei>${Datei}.tmp
mv -f ${Datei}.tmp ${Datei}
done
# Reihenfolge der Anpassungen geändert; Dank an Harald Klatte
forDateiin hashes*.txt
do
grep -q -m1 '/'$Datei||continue
tr '/'''<$Datei>${Datei}.tmp
mv -f ${Datei}.tmp ${Datei}
done
)
echo'**************************************
$(grep -c http: ../temp/urls.txt) patches successfully downloaded.
'
if [ '$CLEANUP_DOWNLOADS'!='0' ];then
echo'Cleaning up ...'
echo'Cleaning up client directory for $sys$Origlang'
cat ../temp/StaticUrls-${sys}-${lang}.txt >> ../temp/ValidUrls-${sys}-${lang}.txt
cleanup '../temp/ValidUrls-${sys}-${lang}.txt''../client/${sys}/${lang}'
echo'Cleaning up client directory for $sys glb'
cat ../temp/StaticUrls-${sys}-glb.txt >> ../temp/ValidUrls-${sys}-glb.txt
cleanup '../temp/ValidUrls-${sys}-glb.txt''../client/${sys}/glb'
case$sysin
w6[0-3]*)
;;
*)
echo'Cleaning up client directory for win $Origlang'
cat ../temp/StaticUrls-${lang}.txt > ../temp/ValidUrls-${lang}.txt
cat ../temp/ValidUrls-win-${OS_ARCH}-${lang}.txt >> ../temp/ValidUrls-${lang}.txt
cleanup '../temp/ValidUrls-${lang}.txt''../client/win/${lang}'
;;
esac
fi
echo'Writing builddate.txt file...'
date +%d.%m.%Y > ../client/builddate.txt
if [ '$createiso''1' ];then
bash ./CreateISOImage.sh $sys$Origlang$param2$param3$param5$param7$param8
fi
exit 0
#
#
# $Id: DownloadUpdates.sh,v 1.2 2015-11-19 18:27:23+01 HHullen Exp $
# $Log: DownloadUpdates.sh,v $
# Revision 1.2 2015-11-19 18:27:23+01 HHullen
# MIAL-Änderungen überarbeitet
#
# Revision 1.17 2015-08-20 15:10:00+02 twittrock
# Windows 10 (w100 / w100-x64) ergänzt
#
# Revision 1.16 2015-08-11 13:07:46+02 HHullen
# Unix2DOS fuer Arme nachgebaut
#
# Revision 1.15 2014-12-21 17:03:31+01 HHullen
# Fehler beim Befüllen des win-Verzeichnisses korrigiert
#
# Revision 1.14 2014-12-16 17:47:18+01 hhullen
# kleine Korrekturen
#
# Revision 1.13 2014-12-16 16:44:51+01 hhullen
# wle eingearbeitet, Static-Liste überarbeitet, ISO überarbeitet
#
# Revision 1.12 2014-12-11 15:25:16+01 hhullen
# w6x-all eingearbeitet, wle vorbereitet
#
# Revision 1.11 2014-09-01 17:16:38+02 HHullen
# REVISION_ID ergänzt
#
# Revision 1.10 2014-08-06 11:47:01+02 HHullen
# Umwandlung von DOS-Datei nach Linux mit POSIX-konformen Befehlen
#
# Revision 1.9.1 2014-03-05 09:52:00+01 twittrock
# builddate.txt-Erzeugung eingefügt
#
# Revision 1.9 2013-12-27 17:25:29+01 HHullen
# Windows 8.1 (w63) ergänzt
#
# Revision 1.8 2013-11-27 16:24:00+01 HHullen
# Burmeister-Patch
#
# Revision 1.7 2013-11-27 16:04:58+01 HHullen
# Version 8.8
#
# Revision 1.6 2013-10-06 13:42:48+02 HHullen
# Prüfung, ob in custom Dateien liegen
#
# Revision 1.5 2013-04-18 15:06:07+02 HHullen
# Vergleichs-Liste von talou abgearbeitet
#
# Revision 1.4 2013-04-11 11:21:19+02 HHullen
# Sprach-Meldung korrigiert
#
# Revision 1.3 2013-03-10 15:27:16+01 HHullen
# verkuerzt
#
# Revision 1.2 2013-03-04 18:08:34+01 HHullen
# OS_Arch korrigiert, Fehlermeldungen sauber abgefangen
#
# Revision 1.4 2012-12-17 16:53:26+01 HHullen
# UPDATE_LANGUAGES korrigiert
#
# Revision 1.3 2012-12-17 14:23:01+01 HHullen
# array gekuerzt
#
# Revision 1.2 2012-12-17 13:34:27+01 HHullen
# altes OfficeUpdate
#
# Revision 1.1 2012-12-14 12:34:46+01 HHullen
# ofc ok
#
# Revision 1.5 2012-10-29 18:29:30+01 HHullen
# verschlankt
#
# Revision 1.4 2012-10-26 12:59:00+02 HHullen
# OS-Auswahl ueberarbeitet
#
# Revision 1.3 2012-10-25 17:00:21+02 HHullen
# verschlankt; Windows 8 ergaenzt
#
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment
Posted by1 year ago

How To Work With Wsus Offline Iso Download Free

Archived

Finding windows 7 ISO for a x230

I am finding myself in the need of installing windows on my x230. It is currently running linux, and there is no recovery partition. Where can I download a windows 7 Pro installation image?

Full

How To Work With Wsusoffline Iso Download Pc

Microsoft (https://www.microsoft.com/en-us/software-download/windows7) tells me that my computer has windows preinstalled, so I need to ask the manufacturer (which I do not know how to do). Other links from microsoft (e.g. http://msft.digitalrivercontent.net/win/X17-24281.iso) seem not to work anymore.

Alternatively, would any other version of linux work with the Windows 7 license?

How To Work With Wsusoffline Iso Download Free

100% Upvoted