11.10.2013

Der monatliche Patch-Tag

Hach ja, es ist mal wieder soweit. Nachdem Microsoft sich mit der Anzahl an Fehlerkorrekturen nicht lumpen lässt, ziehen auch Oracle und Adobe nach. Oracle ist schon ein bißchen her (10. September), aber dafür haben sie auch kräftig die Versionsnummer auf 40 erhöht.

Die Abkündigung von Windows XP im nächsten April ist ein willkommener Anlass für mich, eine Umstellung vorzunehmen, die ich schon länger plane: ich werde die PCs in der Praxis auf Linux umstellen und nur noch die altehrwürdige Praxis-Software, die meine Frau seit 10 Jahren gewöhnt ist, in einer VM laufen lassen. Da diese virtuelle Windows-Umgebung dann keinen Internet-Zugang haben wird, brauche ich mir um die Sicherheit dort keine Gedanken machen. Dazu später mehr.

Als freundliches Service-Blog für Updates noch ein paar Bequemlichkeiten zum einfachen Herunterladen und Installieren der Updates:

Windows- und Office-Updates

Hier empfehle ich das geniale Offline-Update
Damit kann man alle wichtigen Update-Dateien einmalig herunterladen und dann auf allen Rechnern verteilen. Die meisten neueren DSL- oder LTE-Router haben einen USB-Anschluss für eine externe Festplatte. Es bietet sich an, die Updates auf diese Festplatte zu werfen und dann auf allen PCs das Update zu starten. Das belastet dann den Monatsetat (sprich Downloadvolumen) nur einmal und nicht für jeden PC einzeln ;)

Das Offline-Update hat ein komfortables GUI, man kann aber natürlich die darunterliegenden Skripte auch einzeln aufrufen:

Download:
Je nach Vielfalt der heimischen Rechnerlandschaft müssen die Befehle unten ausgewählt werden, und den Proxy erwähne ich nur noch ganz kurz.

set P1=/includedotnet /nocleanup /skiptz /proxy http://192.168.100.100:3128/
set P2=               /nocleanup /skiptz /proxy http://192.168.100.100:3128/

call cmd\DownloadUpdates.cmd wxp deu %P1%
call cmd\DownloadUpdates.cmd w61-x64 glb %P1%
call cmd\DownloadUpdates.cmd w61     glb %P1%

call cmd\DownloadUpdates.cmd ofc     glb %P2%
call cmd\DownloadUpdates.cmd ofc     deu %P2%

call cmd\DownloadUpdates.cmd o2k3  deu %P2%
call cmd\DownloadUpdates.cmd o2k7  deu %P2%
call cmd\DownloadUpdates.cmd o2k10 deu %P2% 
Legende:
wxp = Windows XP
w60 = Windows Vista
w61 = Windows 7
w62 = Windows 8
o2k3 = Office 2003
o2k7 = Office 2007
o2k10 = Office 2010
 Installation:
@echo off
net use u: \\nas\update
cd /D U:\

client\cmd\DoUpdate.cmd /nobackup /updatecpp /instie8 /updatercerts /updatedx /updatetsc /instdotnet35 /instdotnet4 /instpsh /instofccnvs /instmssl
Diese Kommandozeile installiert fast alles, außer dem Update für den Media-Player. Auch hier gilt: Anpassen an das eigene NAS nötig.

Flash-Update für Windows

Auch hier bietet es sich an, einmalig die Updates herunterzuladen (für Internet Explorer und Firefox sind das immerhin mittlerweile auch zweimal 16 MB) und dann auf allen PCs zu installieren.

Download:
(wer einen Proxy verwendet, muss das "rem" entfernen und seine eigene Proxy-Adresse eintragen)
(in der "TO"-Zeile ggfs. den eigenen Netzwerkspeicher eintragen)

@echo off

rem set http_proxy=http://192.168.100.100:3128/
set V=11.9.900.117
set TO=\\nas\win\Adobe
set H=fpdownload.macromedia.com
set P=/get/flashplayer/current/licensing/win
set AX=install_flash_player_11_active_x.exe
set NP=install_flash_player_11_plugin.exe

wget http://%H%%P%/%AX% -O %TO%\flash-%V%_ax.exe
wget http://%H%%P%/%NP% -O %TO%\flash-%V%_np.exe

Installation:
@echo off
set V=11.9.900.117

set TO=\\nas\win\Adobe

%TO%
\flash-%V%_ax -install

%TO%\flash-%V%_np -install

Acrobat-Reader-Update für Windows

Diesen Monat gibt es "nur" ein Update für die Version XI; die behobenen Fehler (Regression, also: alter Fehler taucht erneut auf) scheint es in Version X nicht zu geben. Version X ist nach wie vor bei 10.1.8.

Download:
@echo off

rem set http_proxy=http://192.168.100.100:3128/
set TO=\\nas\win\Adobe
wget -O %TO%\
AdbeRdrSecUpd11005.msp ftp://ftp.adobe.com/pub/adobe/reader/win/11.x/11.0.05/misc/AdbeRdrSecUpd11005.msp
Installation:
msiexec /i %TO%\AdbeRdrSecUpd11005.msp /qb-!

Java-Update für Windows (32 bit)

Hier ist die Downloadseite von Java 7.

Installation:Für Windows 7 die erste Zeile mit "set TO=..." verwenden, für Windows XP die zweite.
wget http://download.oracle.com/otn-pub/java/jdk/7u40-b43/jdk-7u40-windows-i586.exe
set TO=%ProgramFiles(x86)%\jdk170
set TO=
%ProgramFiles%\jdk170
set EXE=jdk-7u40-windows-i586.exe
set OPT=INSTALLDIR=\"%TO%\" JAVAUPDATE=1 CUSTOM=1 ADDLOCAL=jrecore
"%EXE%" /s /v"/qb /norestart %OPT% IEXPLORER=1 MOZILLA=1 REBOOT=Suppress WEBSTARTICON=0 SYSTRAY=0 EULA=1 AUTOUPDATECHECK=0 RebootYesNo=No"
"%TO%\bin\javac" -version"%TO%\jre\bin\java" -version
Installation der JRE statt JDK:
genau wie oben, nur überall "jdk" durch "jre" ersetzen.
Wenn man das JDK haben will, z.B. für das Android SDK, braucht man natürlich die JRE nicht mehr zu installieren, die bekommt man mit dem JDK automatisch dazu.

Java-Update für Redhat Linux (32 bit)

wget http://download.oracle.com/otn-pub/java/jdk/7u40-b43/jdk-7u40-linux-i586.tar.gz
Java für Linux kann man entweder als rpm oder als .tar.gz herunterladen. Ich habe eine bestimmte Vorstellung davon, wo es installiert wird, deshalb verwende ich das .tar.gz und muss dann natürlich die Symlinks mit dem "alternatives"-Befehl ebenfalls von Hand setzen. Das sieht dann so aus (als root aufrufen):

#!/bin/sh -e

what=1.7.0
patch=40
jver=1.7.0_${patch}
cur=jdk$jver
sver=1700${patch}
curjre=/usr/java/$cur/jre
curjava=/usr/java/$cur/bin

rmold() {
    name="$1"
    oldver=$(alternatives --display "$name" | awk '/currently points to.*'"$what"'/{print$NF}')
    if [ -n "$oldver" ]
    then
        echo "Unregister $oldver"
        alternatives --remove "$name" "$oldver" 2>/dev/null
    fi
}

rmold java
alternatives --install /usr/bin/java   java   $curjre/bin/java   $sver \
--slave /usr/bin/ControlPanel ControlPanel $curjre/bin/ControlPanel \
--slave /usr/bin/keytool      keytool      $curjava/keytool \
--slave /usr/bin/policytool   policytool   $curjava/policytool \
--slave /usr/bin/rmid         rmid         $curjava/rmid \
--slave /usr/bin/rmiregistry  rmiregistry  $curjava/rmiregistry \
--slave /usr/bin/tnameserv    tnameserv    $curjava/tnameserv \
--slave /usr/lib/jvm/jre      jre          /usr/java/$cur

rmold javaws
alternatives --install /usr/bin/javaws javaws $curjre/bin/javaws $sver

rmold javac
alternatives --install /usr/bin/javac  javac  $curjava/javac      $sver

rmold jar
alternatives --install /usr/bin/jar    jar    $curjava/jar        $sver

if [ -f $curjre/lib/i386/libnpjp2.so ]
then
    rmold libjavaplugin.so
    alternatives --install /usr/lib/mozilla/plugins/libjavaplugin.so   libjavaplugin.so        $curjre/lib/i386/libnpjp2.so  $sver
fi

if [ -f $curjre/lib/amd64/libnpjp2.so ]
then
    rmold libjavaplugin.so.x86_64
    alternatives --install /usr/lib64/mozilla/plugins/libjavaplugin.so libjavaplugin.so.x86_64 $curjre/lib/amd64/libnpjp2.so $sver
fi

echo Checking ...
java -version  2>&1 | grep -q "$jver" && echo JRE $jver ok
javac -version 2>&1 | grep -q "$jver" && echo JDK $jver ok