<?xml version="1.0" encoding="utf-8"?>
<!-- generator="FeedCreator 1.7.2-ppt DokuWiki" -->
<?xml-stylesheet href="http://www.stefanux.de/wiki/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="http://www.stefanux.de/wiki/feed.php">
        <title>Stefanux</title>
        <description></description>
        <link>http://www.stefanux.de/wiki/</link>
        <image rdf:resource="http://www.stefanux.de/wiki/lib/images/favicon.ico" />
       <dc:date>2010-03-10T09:42:14+01:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://www.stefanux.de/wiki/doku.php/security/openvpn?rev=1268174615&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.stefanux.de/wiki/doku.php/apache/apache?rev=1268143752&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.stefanux.de/wiki/doku.php/linux/iptables?rev=1268142962&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.stefanux.de/wiki/doku.php/netzwerke/zigbee?rev=1268087103&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.stefanux.de/wiki/doku.php/netzwerke/protokolle?rev=1268086750&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.stefanux.de/wiki/doku.php/windows/windows-probleme?rev=1268063059&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.stefanux.de/wiki/doku.php/netzwerke/dns?rev=1268062783&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.stefanux.de/wiki/doku.php/programmiersprachen/rosettastone-c-php-vba?rev=1267935369&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.stefanux.de/wiki/doku.php/programmiersprachen/python?rev=1267894544&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.stefanux.de/wiki/doku.php/linux/kernel?rev=1267893801&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.stefanux.de/wiki/doku.php/hardware/schnittstellen-und-standards-allgemein-und-f%C3%BCr-peripherie?rev=1267196130&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.stefanux.de/wiki/doku.php/software/ct-offline-update?rev=1267033206&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="http://www.stefanux.de/wiki/lib/images/favicon.ico">
        <title>Stefanux</title>
        <link>http://www.stefanux.de/wiki/</link>
        <url>http://www.stefanux.de/wiki/lib/images/favicon.ico</url>
    </image>
    <item rdf:about="http://www.stefanux.de/wiki/doku.php/security/openvpn?rev=1268174615&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-03-09T23:43:35+01:00</dc:date>
        <dc:creator>Stefan</dc:creator>
        <title>security:openvpn</title>
        <link>http://www.stefanux.de/wiki/doku.php/security/openvpn?rev=1268174615&amp;do=diff</link>
        <description>


&lt;h1&gt;&lt;a name=&quot;openvpn&quot; id=&quot;openvpn&quot;&gt;OpenVPN&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;

&lt;a href=&quot;http://de.wikipedia.org/wiki/OpenVPN&quot; class=&quot;interwiki iw_wpde&quot; title=&quot;http://de.wikipedia.org/wiki/OpenVPN&quot;&gt;OpenVPN&lt;/a&gt; ist eine Software zur Herstellung eines Virtuellen Privaten Netzwerkes (VPN) über eine verschlüsselte &lt;a href=&quot;http://de.wikipedia.org/wiki/Transport%20Layer%20Security&quot; class=&quot;interwiki iw_wpde&quot; title=&quot;http://de.wikipedia.org/wiki/Transport%20Layer%20Security&quot;&gt;TLS&lt;/a&gt;-Verbindung. Zur Verschlüsselung werden die Bibliotheken des Programmes OpenSSL benutzt. OpenVPN verwendet wahlweise UDP oder TCP zum Transport.
&lt;/p&gt;

&lt;p&gt;
Die Vorteile von OpenVPN gegenüber anderen Lösungen liegen in der (relativ) einfachen Konfiguration und der Verfügbarkeit für zahlreiche 
Plattformen (u.a. Linux, Solaris, versch. BSDs, Mac &lt;acronym title=&quot;Operating System&quot;&gt;OS&lt;/acronym&gt; X und Microsoft Windows) bei gleichzeitig sehr guter Sicherheit.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;OpenVPN&quot; [1-591] --&gt;
&lt;h2&gt;&lt;a name=&quot;links&quot; id=&quot;links&quot;&gt;Links&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://wiki.ubuntuusers.de/OpenVPN&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://wiki.ubuntuusers.de/OpenVPN&quot;  rel=&quot;nofollow&quot;&gt;ausführliche OpenVPN Anleitung&lt;/a&gt; (Quelle und Grundlage dieses Artikels)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.linuxforen.de/forums/showthread.php?t=169354&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.linuxforen.de/forums/showthread.php?t=169354&quot;  rel=&quot;nofollow&quot;&gt;Deutsches OpenVPN howto&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.indato.ch/openvpn/openvpn.html&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.indato.ch/openvpn/openvpn.html&quot;  rel=&quot;nofollow&quot;&gt;Virtual Private Network (VPN) mit OpenVPN&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.linux.com/article.pl?sid=06/11/07/213217&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.linux.com/article.pl?sid=06/11/07/213217&quot;  rel=&quot;nofollow&quot;&gt;How to bridge networks with OpenVPN&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.freesoftwaremagazine.com/articles/book_review_openvpn_building_virtual_private_networks&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.freesoftwaremagazine.com/articles/book_review_openvpn_building_virtual_private_networks&quot;  rel=&quot;nofollow&quot;&gt;Book review: OpenVPN: Building and Integrating Virtual Private Networks by Markus Feilner&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.henningdippel.de/vpn/openvpn-client/&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.henningdippel.de/vpn/openvpn-client/&quot;  rel=&quot;nofollow&quot;&gt;OpenVPN-Client (Windows)&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Links&quot; [592-1280] --&gt;
&lt;h3&gt;&lt;a name=&quot;wizards-und-hilfen&quot; id=&quot;wizards-und-hilfen&quot;&gt;Wizards und Hilfen&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://freshmeat.net/projects/stonevpn&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://freshmeat.net/projects/stonevpn&quot;  rel=&quot;nofollow&quot;&gt;Stonevpn&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Wizards und Hilfen&quot; [1281-1368] --&gt;
&lt;h2&gt;&lt;a name=&quot;installation&quot; id=&quot;installation&quot;&gt;Installation&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;

Folgendes Paket wird benötigt: openvpn (bei &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/ubuntu/ubuntu&quot; class=&quot;wikilink1&quot; title=&quot;ubuntu:ubuntu&quot;&gt;Ubuntu&lt;/a&gt; im „universe“).
&lt;/p&gt;

&lt;p&gt;
Als erstes sollte man die Beispielkonfiguration und das Verzeichnis zur Schlüsselerzeugung an einen geeigneten Ort entpacken:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;
  sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/
  sudo gunzip /etc/openvpn/server.conf.gz
  sudo cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0 /etc/openvpn/easy-rsa2
&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Installation&quot; [1369-1832] --&gt;
&lt;h2&gt;&lt;a name=&quot;server&quot; id=&quot;server&quot;&gt;Server&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;

Man muss sich entscheiden zwischen tun und tap-Konfiguration.
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; ein tun-Gerät liegt auf Layer 3 (des &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/netzwerke/iso/osi-modell&quot; class=&quot;wikilink1&quot; title=&quot;netzwerke:iso:osi-modell&quot;&gt;ISO/OSI-Modells&lt;/a&gt;) und bietet &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/netzwerke/tcp/ip&quot; class=&quot;wikilink2&quot; title=&quot;netzwerke:tcp:ip&quot; rel=&quot;nofollow&quot;&gt;IP&lt;/a&gt;-Zugang, was auch für die meisten Anwendungen ausreichen sollte&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; braucht man andere Protokolle als &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/netzwerke/tcp/ip&quot; class=&quot;wikilink2&quot; title=&quot;netzwerke:tcp:ip&quot; rel=&quot;nofollow&quot;&gt;IP&lt;/a&gt; bzw. Kontrolle über Layer 2 muss man ein tap-Gerät konfigurieren.&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;

Im folgenden wird eine tun-Konfiguration beschrieben.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Server&quot; [1833-2282] --&gt;
&lt;h3&gt;&lt;a name=&quot;schlüssel-und-zertifikate-generieren&quot; id=&quot;schlüssel-und-zertifikate-generieren&quot;&gt;Schlüssel und Zertifikate generieren&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;

Die gegenseitige Authentifizierung zwischen Server und Client findet bei OpenVPN über kryptografische Schlüssel und Zertifikate statt, die als erstes erstellt werden müssen. Dazu wechselt man zuerst in das Verzeichnis &lt;code&gt;/etc/openvpn/easy-rsa2/&lt;/code&gt; und editiert dort die Datei &lt;code&gt;vars&lt;/code&gt; mit Root-Rechten.
&lt;/p&gt;

&lt;p&gt;
In der &lt;code&gt;vars&lt;/code&gt; findet man am Ende folgende Einträge:

&lt;/p&gt;
&lt;pre class=&quot;file&quot;&gt;
  export KEY_COUNTRY=DE
  export KEY_PROVINCE=NRW
  export KEY_CITY=Düsseldorf
  export KEY_ORG=”Vpntest”
  export KEY_EMAIL=”onlyspam@myhomepage.net”
&lt;/pre&gt;

&lt;p&gt;

Diese Einträge sollten auf die eigenen Einstellungen angepasst werden.
&lt;/p&gt;

&lt;p&gt;
Aufgrund eines Fehlers wird manchmal das Unterverzeichnis für die Keys nicht erstellt. Man sollte dies darum von Hand nachholen:

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo mkdir keys&lt;/pre&gt;

&lt;p&gt;

Danach muss die oben angepasste Datei vars „gesourct“ (d.h. in die Umgebungsvariablen aufgenommen) werden:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;source ./vars&lt;/pre&gt;

&lt;p&gt;

Es erscheint eine Warnmeldung, worauf mit den folgenden Skriptaufrufen das Master-Zertifikat und der Master-Schlüssel erstellt werden:

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo -E ./clean-all
sudo -E ./build-ca&lt;/pre&gt;

&lt;p&gt;

Jetzt muss noch das Zertifikat und der Schlüssel für den Server erstellt werden:

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo ./build-key-server server&lt;/pre&gt;

&lt;p&gt;

Wichtig dabei ist, dass bei &lt;em&gt;Common Name&lt;/em&gt; der Name eingegeben werden sollte, mit dem auf den Server später zugegriffen wird. Das kann z.B. auch der DynDNS-Name sein. Das &lt;em&gt;Challenge Password&lt;/em&gt; kann leer gelassen werden. Um die Datenbank zu aktualisieren, muss danach zweimal mit Y bestätigt werden.
&lt;/p&gt;

&lt;p&gt;
Anschließend müssen nun die Schlüssel für die Benutzer angelegt werden:

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo ./build-key ersterclient
sudo ./build-key zweiterclient
sudo ./build-key dritterclient&lt;/pre&gt;

&lt;p&gt;

Das geschieht nach dem gleichen Prinzip wie gerade eben beim Server, jedoch muss nun bei &lt;em&gt;Common Name&lt;/em&gt; jeweils der Name des Clients eingetragen werden.
&lt;/p&gt;

&lt;p&gt;

Benötigt man zu einem späteren Zeitpunkt &lt;strong&gt;weitere Zertifikate&lt;/strong&gt;, muss zuerst die vars als root (sudo -s) erneut gesourcet werden. Danach können wie gewohnt neue Zertifikate mittels ./build-key erstellt werden.
&lt;/p&gt;

&lt;p&gt;
Jetzt müssen noch die Diffie-Hellman-Parameter generiert werden. Diese sind von Nöten, um kryptografische Schlüssel sicher über unsichere Kanäle auszuhandeln. Das geschieht mit

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo ./build-dh&lt;/pre&gt;

&lt;p&gt;

Die Erstellung kann je nach System einige Zeit dauern.
&lt;/p&gt;

&lt;p&gt;
Wenn die Erstellung erfolgreich gewesen ist, liegen nun alle benötigten Dateien im Verzeichnis &lt;code&gt;/etc/openvpn/easy-rsa2/keys/&lt;/code&gt;. Die Dateien mit der Endung &lt;code&gt;.key&lt;/code&gt; sind die geheimen Schlüssel, die nur auf dem entsprechenden Rechner, zu dem sie gehören, gespeichert werden sollten. Die &lt;code&gt;.crt&lt;/code&gt;-Dateien sind die Zertifikate, die nicht geheim gehalten werden müssen. Die Client-Schlüssel und -Zertifikate müssen nun auf die Clients transferiert werden, &lt;code&gt;server.key&lt;/code&gt; und &lt;code&gt;ca.key&lt;/code&gt; bleiben wo sie sind.
&lt;/p&gt;

&lt;p&gt;
Außerdem muss jeder Client noch die Datei &lt;code&gt;ca.crt&lt;/code&gt; erhalten, damit er den Server einwandfrei identifizieren kann. Zusätzlich muss noch darauf geachtet werden, dass die Dateien nie im &lt;acronym title=&quot;American Standard Code for Information Interchange&quot;&gt;ASCII&lt;/acronym&gt;-Modus übertragen werden. Dies kann dazu führen das die Datei nicht mehr entschlüsselt werden kann und somit ein Verbinden mit dem openVPN-Server nicht möglich ist. Fehlermeldung: „Error: private key password verification failed“. Am besten umgeht man das Problem indem man alle zu übertragenden Dateien in ein .tar- oder .rar-Archiv packt.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Schlüssel und Zertifikate generieren&quot; [2283-5670] --&gt;
&lt;h3&gt;&lt;a name=&quot;konfiguration&quot; id=&quot;konfiguration&quot;&gt;Konfiguration&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;

Nun muss noch die Server-Konfigurationsdatei &lt;code&gt;/etc/openvpn/server.conf&lt;/code&gt; angepasst werden. Wichtig ist, dass die Pfade zu den Schlüsseln angepasst werden. Alle anderen Einstellungen sind schon ganz brauchbar.
&lt;/p&gt;
&lt;pre class=&quot;file&quot;&gt;
  ca ./easy-rsa2/keys/ca.crt
  cert ./easy-rsa2/keys/server.crt
  key ./easy-rsa2/keys/server.key    # Diese Datei geheim halten.
  dh ./easy-rsa2/keys/dh1024.pem     # Diffie-Hellman-Parameter
&lt;/pre&gt;

&lt;p&gt;
Zur Verbesserung der Sicherheit sollte man den Daemon unter einer unprivilegierten Benutzerkennung laufen lassen, indem man folgende Zeilen aktiviert:
&lt;/p&gt;
&lt;pre class=&quot;file&quot;&gt;
  # Downgrade privileges after initialization (non-Windows only)
  user nobody
  group nogroup
&lt;/pre&gt;

&lt;p&gt;
Noch besser ist es, hier nicht auf die Kennung &lt;em&gt;nobody/nogroup&lt;/em&gt; zurückzugreifen, sondern eine eigene spezialisierte &lt;em&gt;openvpn/openvpn&lt;/em&gt;-Identität zu schaffen, wobei man die Shell auf &lt;strong&gt;/bin/false&lt;/strong&gt; setzen kann.

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo adduser --system --disabled-login --no-create-home openvpn
sudo addgroup --system --disabled-login --no-create-home openvpn&lt;/pre&gt;

&lt;p&gt;

Wer den Server in einem privaten LAN stehen hat, muss noch Port-Forwarding auf seinem Router aktivieren. OpenVPN nutzt standardmäßig den Port 1194 (UDP), der auf die interne IP-Adresse des VPN-Servers weitergeleitet werden muss. Wer einen Linux-&lt;a href=&quot;http://wiki.ubuntuusers.de/Router&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://wiki.ubuntuusers.de/Router&quot;  rel=&quot;nofollow&quot;&gt;Router&lt;/a&gt; betreibt, kann dafür das &lt;a href=&quot;http://wiki.ubuntuusers.de/Skripte/nathelper&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://wiki.ubuntuusers.de/Skripte/nathelper&quot;  rel=&quot;nofollow&quot;&gt;nathelper-Skript&lt;/a&gt; verwenden. Besitzer eines Hardware-Routers sollten bei Bedarf dessen Betriebsanleitung oder die Webseiten des Router-Herstellers zu Rate ziehen.
&lt;/p&gt;

&lt;p&gt;
Jetzt kann der Server folgendermaßen gestartet werden:

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo /etc/init.d/openvpn restart&lt;/pre&gt;

&lt;p&gt;
hilft eventuell der Abschnitt &lt;a href=&quot;#fehlerbehebung&quot; title=&quot;security:openvpn &amp;crarr;&quot; class=&quot;wikilink1&quot;&gt;Fehlerbehebung&lt;/a&gt; weiter.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Konfiguration&quot; [5671-7413] --&gt;
&lt;h3&gt;&lt;a name=&quot;lan-einbeziehen&quot; id=&quot;lan-einbeziehen&quot;&gt;LAN einbeziehen&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;

Um dem Client nicht nur den Server selber, sondern auch das LAN über das VPN zugänglich zu machen, muss nochmal die &lt;code&gt;server.conf&lt;/code&gt; bearbeitet werden. Dort wird im betreffenden Bereich folgendes eingetragen:

&lt;/p&gt;
&lt;pre class=&quot;file&quot;&gt;
  push &amp;quot;route 192.168.2.0 255.255.255.0&amp;quot;
&lt;/pre&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Der hiergenannte IP-Bereich muss natürlich durch das korrekte serverseitige LANs ersetzt werden.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Außerdem muss noch das IP-Forwarding am Server aktiviert werden:&lt;pre class=&quot;code&quot;&gt;sudo sysctl -w net/ipv4/ip_forward=1&lt;/pre&gt;

&lt;p&gt;
 Um diese Änderung permanent zu machen, kann man sie in die Datei &lt;strong&gt;/etc/sysctl.conf&lt;/strong&gt; eintragen: 
&lt;/p&gt;
&lt;pre class=&quot;file&quot;&gt;net.ipv4.ip_forward=1&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Wenn der OpenVPN-Daemon nicht auf dem Default-Gateway des lokalen Netzes läuft, so muss auf diesem Default-Gateway/Router noch eine Route erstellt werden, die den OpenVPN-Server als Gateway für das VPN festlegt. Handelt es sich dabei um einen Linux-Rechner, so lautet der Befehl wie folgt und kann bei Bedarf (ohne sudo) in die Datei &lt;code&gt;/etc/rc.local&lt;/code&gt; eingetragen werden: &lt;pre class=&quot;code&quot;&gt;sudo route add -net 10.8.0.0 netmask 255.255.255.0 gw VPN.SERVER.I.P&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Weiterhin müssen bei einer evtl. vorhandenen Firewall Regeln (bei Iptables in der Forward-chain) eingerichtet werden, die die Kommunikation erlauben.&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;LAN einbeziehen&quot; [7414-8678] --&gt;
&lt;h2&gt;&lt;a name=&quot;authentifizierung&quot; id=&quot;authentifizierung&quot;&gt;Authentifizierung&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; per Zertifikat&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Passwort&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; LDAP&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Kerberos&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; ADS&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;acronym title=&quot;Internet Message Access Protocol&quot;&gt;IMAP&lt;/acronym&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; PAM-Module &lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Authentifizierung&quot; [8679-8798] --&gt;
&lt;h3&gt;&lt;a name=&quot;authentifizierung-indivduell-einstellen&quot; id=&quot;authentifizierung-indivduell-einstellen&quot;&gt;Authentifizierung indivduell einstellen&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Zuerst PAM-per-User mit Konfigurationsdatei &lt;code&gt;/etc/pam.d/openvpn&lt;/code&gt; konfigurieren: &lt;pre class=&quot;file&quot;&gt;auth    required    pam_per_user.so.1
account     required     pam_permit.so&amp;lt;file&amp;gt;
  - danach in /etc/pam_per_user.map &amp;lt;file&amp;gt;benutzer1: openvpn-ldap
benutzer2: openvpn-krb5
benutzer3: openvpn-imap&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; benutzer1 meldet sich gegen LDAP an (Datei &lt;code&gt;/etc/pam.d/openvpn-ldap&lt;/code&gt;):&lt;pre class=&quot;file&quot;&gt;auth     required    pam_env.so
auth     required    pam_ldap.so
account     required    pam_ldap.so&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; benutzer2 meldet sich gegen Kerberos an (Datei &lt;code&gt;/etc/krb5.conf&lt;/code&gt;):&lt;pre class=&quot;file&quot;&gt;auth     requisite     pam_krb5.so no_ ccache
account     required     pam_kermit.so&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; benutzer3 kommt per &lt;acronym title=&quot;Internet Message Access Protocol&quot;&gt;IMAP&lt;/acronym&gt;-Account (Datei &lt;code&gt;/etc/pam.d/openvpn-imap&lt;/code&gt;):&lt;pre class=&quot;file&quot;&gt;PAM_PasswordString = Password: CertificateFile /usr/share/ssl/certs/imapd.pem
PAM_Server0 = imap.domain.tld:143
PAM_Blocklist = root, admin, Administrator, apache
PAM_HashEnable = no
PAM_HashFile = /etc/pam_imap.gdbm
PAM_HashDelta = 20&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; in der server.conf muss nun das PAM-Plugin angegeben werden (damit wird &lt;code&gt;/etc/pam.d/openvpn&lt;/code&gt; benutzt): &lt;pre class=&quot;file&quot;&gt;plugin /usr/lib/openvpn/openvpn-auth-pam.so openvpn&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;img src=&quot;http://www.stefanux.de/wiki/lib/images/smileys/icon_exclaim.gif&quot; class=&quot;middle&quot; alt=&quot;:!:&quot; /&gt; in der &lt;code&gt;client.conf&lt;/code&gt; muss “&lt;code&gt;auth-user-pass&lt;/code&gt;“ angegeben sein.&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Authentifizierung indivduell einstellen&quot; [8799-10075] --&gt;
&lt;h3&gt;&lt;a name=&quot;konfiguration-für-einzelne-benutzer&quot; id=&quot;konfiguration-für-einzelne-benutzer&quot;&gt;Konfiguration für einzelne Benutzer&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;

Für individuellen Clients kann eine spezielle Konfiguration angelegt werden. Dazu muss folgende Zeile („ccd“ ist änderbar) in der server.conf hinzugefügt werden:
&lt;/p&gt;
&lt;pre class=&quot;file&quot;&gt;client-config-dir ccd&lt;/pre&gt;

&lt;p&gt;
Individuelle Konfigurationen gehen anhand des Common-Names (CN) des Benutzerzertifikats in &lt;code&gt;/etc/openvpn/ccd/CN&lt;/code&gt; also z.B. &lt;code&gt;/etc/openvpn/ccd/benutzer1&lt;/code&gt;: 
&lt;/p&gt;
&lt;pre class=&quot;file&quot;&gt;ifconfig-push 10.0.8.21 10.0.8.22
push &amp;quot;redirect-gateway&amp;quot;
push &amp;quot;route 10.0.8.0 255.255.255.0&amp;quot;&lt;/pre&gt;

&lt;p&gt;
&lt;img src=&quot;http://www.stefanux.de/wiki/lib/images/smileys/icon_exclaim.gif&quot; class=&quot;middle&quot; alt=&quot;:!:&quot; /&gt; Der push-Buffer hat nur 1024 Byte, man bekommt sonst Fehler der Art „Maximum length of push-Buffer (1024) has been exceeded“.
&lt;/p&gt;

&lt;p&gt;
Bei ifconfig-push gibt die erste IP-Adresse die Adresse des virtuellen Clients an, die 2. des virtuellen Server endpoints.
&lt;/p&gt;

&lt;p&gt;
Laut openvpn.org-HOWTO müssen Sie aus /30 subnets geholt werden, damit die Windows Clients/TAP-Win32 Treiber mitspielen.
&lt;/p&gt;

&lt;p&gt;
Zitat von &lt;a href=&quot;http://openvpn.net/howto.html&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://openvpn.net/howto.html&quot;  rel=&quot;nofollow&quot;&gt;http://openvpn.net/howto.html&lt;/a&gt; (siehe auch: &lt;a href=&quot;http://www.online-tutorials.net/security/openvpn-tutorial/tutorials-t-69-209.html&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.online-tutorials.net/security/openvpn-tutorial/tutorials-t-69-209.html&quot;  rel=&quot;nofollow&quot;&gt;OpenVPN Tutorial&lt;/a&gt;):

&lt;/p&gt;
&lt;pre class=&quot;file&quot;&gt;
Specifically, the last octet in the IP address of each endpoint pair must be taken from this set:

[ 1, 2] [ 5, 6] [ 9, 10] [ 13, 14] [ 17, 18]
[ 21, 22] [ 25, 26] [ 29, 30] [ 33, 34] [ 37, 38]
[ 41, 42] [ 45, 46] [ 49, 50] [ 53, 54] [ 57, 58]
[ 61, 62] [ 65, 66] [ 69, 70] [ 73, 74] [ 77, 78]
[ 81, 82] [ 85, 86] [ 89, 90] [ 93, 94] [ 97, 98]
[101,102] [105,106] [109,110] [113,114] [117,118]
[121,122] [125,126] [129,130] [133,134] [137,138]
[141,142] [145,146] [149,150] [153,154] [157,158]
[161,162] [165,166] [169,170] [173,174] [177,178]
[181,182] [185,186] [189,190] [193,194] [197,198]
[201,202] [205,206] [209,210] [213,214] [217,218]
[221,222] [225,226] [229,230] [233,234] [237,238]
[241,242] [245,246] [249,250] [253,254] 
&lt;/pre&gt;

&lt;p&gt;
Um zu verhindern, dass jemand ein fremdes Zertifikat benutzt (indem er das Zertifikat von einem anderen Benutzer präsentiert, zur Authentifizierung aber seine eigenen Daten verwendet) muss überprüft werden das der CN mit den Zugangsdaten zusammen passt.
&lt;/p&gt;

&lt;p&gt;
Dazu das Script ucn.pl (s. u.) erstellen und in der &lt;code&gt;server.conf&lt;/code&gt; folgende Zeile dazu geben:
&lt;/p&gt;
&lt;pre class=&quot;file&quot;&gt;auth-user-pass-verify /usr/local/scripts/ucl.pl via-env&lt;/pre&gt;

&lt;p&gt;
Dann übergibt OpenVPN über Umgebungsvariablen username und CN. 
&lt;/p&gt;
&lt;pre class=&quot;code perl&quot;&gt;&lt;span class=&quot;sy0&quot;&gt;!/&lt;/span&gt;usr&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;bin&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;perl ‑t
&lt;span class=&quot;co1&quot;&gt;#&lt;/span&gt;
&lt;span class=&quot;co1&quot;&gt;# OpenVPN ‑‑auth‑user‑pass‑verify script.&lt;/span&gt;
&lt;span class=&quot;co1&quot;&gt;# Only authenticate if username equals Ucommon_name.&lt;/span&gt;
&lt;span class=&quot;co1&quot;&gt;# In OpenVPN config file: auth‑user‑pass‑verify ./ucn.pl via‑env&lt;/span&gt;
&lt;span class=&quot;re0&quot;&gt;$username&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$ENV&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;&lt;span class=&quot;st_h&quot;&gt;'username'&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;re0&quot;&gt;$common_name&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$ENV&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;&lt;span class=&quot;st_h&quot;&gt;'common_name'&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;re0&quot;&gt;@common_name_array&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;a target=&quot;top&quot; href=&quot;http://perldoc.perl.org/functions/split.html&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;split&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;co2&quot;&gt;/\./&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$common_Uname&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&lt;a target=&quot;top&quot; href=&quot;http://perldoc.perl.org/functions/exit.html&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;exit&lt;/span&gt;&lt;/a&gt; &lt;span class=&quot;sy0&quot;&gt;!&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;a target=&quot;top&quot; href=&quot;http://perldoc.perl.org/functions/length.html&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;length&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$username&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt; 0 &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; Ulength&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$common_name&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt; 0 &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$username&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;eq&lt;/span&gt; U&lt;span class=&quot;re0&quot;&gt;$common_name_array&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;0&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Konfiguration für einzelne Benutzer&quot; [10076-12801] --&gt;
&lt;h3&gt;&lt;a name=&quot;individuelle-firewallregeln&quot; id=&quot;individuelle-firewallregeln&quot;&gt;individuelle Firewallregeln&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;file&quot;&gt;learn-address /usr/local/scripts/openvpn-fw-conf&lt;/pre&gt;

&lt;p&gt;
&lt;img src=&quot;http://www.stefanux.de/wiki/lib/images/smileys/fixme.gif&quot; class=&quot;middle&quot; alt=&quot;FIXME&quot; /&gt;
&lt;/p&gt;
&lt;pre class=&quot;file&quot;&gt;
# Eine eigene Tabelle für den User anlegen
iptables ‑N chain‑$IP
# In der Forward‑Table ist diese das Sprungziel für die Source‑IP des Users:
iptables ‑I FORWARD ‑s $IP ‑j chain‑$IP
# ESTABLISHED‑Connections einfach ohne weiteres Matching durchlassen:
iptables ‑A chain‑$IP ‑s $IP ‑m state ‑‑state RELATED,ESTABLISHED ‑j ACCEPT
# Nun folgen individuelle Regeln für den Benutzer, beispielsweise den Zugriff auf den Zielrechner
$destHost, Port $destPort und das Protokoll $destProto:
iptables ‑A chain‑$IP ‑p $destProto ‑s $IP ‑d $destHost ‑‑dport $destPort ‑j ACCEPT
# Oder dasselbe mit mehreren Ports mit --dports:
iptables ‑A chain‑$IP ‑m multiport ‑p $destProto ‑s $IP ‑d $destHost ‑‑dports $destPort ‑j ACCEPT
# Vollzugriff auf einen Host:
iptables ‑A chain‑$IP ‑s $IP ‑d $destHost ‑j ACCEPT
# Abschließend den ICMP‑Traffic erlauben:
iptables ‑A chain‑$IP ‑p icmp ‑s $IP ‑j ACCEPT
# und alles weitere verbieten:
iptables ‑A chain‑$IP ‑s $IP ‑j DROP
&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;individuelle Firewallregeln&quot; [12802-13979] --&gt;
&lt;h2&gt;&lt;a name=&quot;client-konfiguration&quot; id=&quot;client-konfiguration&quot;&gt;Client-Konfiguration&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;

Zuerst muss auch auf den Clients das &lt;strong&gt;openvpn&lt;/strong&gt;-Paket installiert werden, wie weiter oben beschrieben. Statt der Datei &lt;code&gt;server.conf&lt;/code&gt; wird hier aber logischerweise die &lt;code&gt;client.conf&lt;/code&gt; editiert. Dort ändert man die IP-Adresse unter der der Server erreichbar ist. Wer keine statische IP zur Verfügung hat, kann dort auch seine dyndns-Adresse angeben

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;remote ich.dyndns.org&lt;/pre&gt;

&lt;p&gt;

Die Pfade der einzelnen ca, cert, usw. müssen hier nicht unbedingt angepasst werden, wenn die einzelnen Dateien auf dem Client im gleichen Ordner liegen wie die &lt;code&gt;client.conf&lt;/code&gt; und die voreingestellten Dateinamen besitzen. Natürlich müssen sie erstmal vom Server herüberkopiert worden sein.
&lt;/p&gt;

&lt;p&gt;
Die &lt;strong&gt;Authentifizierung des OpenVPN-Servers&lt;/strong&gt; ist für einen ersten Test nicht notwendig, für die spätere Benutzung aus Sicherheitsgründen aber empfohlen. Dazu wählen wir eine der Methoden die auf der Seite &lt;a href=&quot;http://openvpn.net/howto.html#mitm&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://openvpn.net/howto.html#mitm&quot;  rel=&quot;nofollow&quot;&gt;http://openvpn.net/howto.html#mitm&lt;/a&gt;  beschrieben ist. Bei einem aktuellen Ubuntu (ab hardy) mit OpenVPN-Version ab 2.1 funktioniert:

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;remote-cert-tls server&lt;/pre&gt;

&lt;p&gt;

Andernfalls bekommen wir bei jeder Verbindung eine Warnung („WARNING: No server certificate verification method has been enabled. See &lt;a href=&quot;http://openvpn.net/howto.html#mitm&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://openvpn.net/howto.html#mitm&quot;  rel=&quot;nofollow&quot;&gt;http://openvpn.net/howto.html#mitm&lt;/a&gt; for more info.“)
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Client-Konfiguration&quot; [13980-15252] --&gt;
&lt;h3&gt;&lt;a name=&quot;linux&quot; id=&quot;linux&quot;&gt;Linux&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
OpenVPN-Paket installieren: Debian, Ubuntu: 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;aptitude install openvpn&lt;/pre&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;ubuntunetwork-managervpn-plugins&quot; id=&quot;ubuntunetwork-managervpn-plugins&quot;&gt;Ubuntu: Network-Manager/VPN Plugins&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;

Ab Ubuntu &lt;a href=&quot;http://wiki.ubuntuusers.de/Feisty&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://wiki.ubuntuusers.de/Feisty&quot;  rel=&quot;nofollow&quot;&gt;7.04 Feisty Fawn&lt;/a&gt; bietet sich die komfortable Nutzung der &lt;a href=&quot;http://wiki.ubuntuusers.de/Network-Manager/VPN_Plugins&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://wiki.ubuntuusers.de/Network-Manager/VPN_Plugins&quot;  rel=&quot;nofollow&quot;&gt;Network-Manager/VPN Plugins&lt;/a&gt; an.
&lt;/p&gt;

&lt;p&gt;
Auch hier muss das VPN jetzt neu gestartet werden:

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo /etc/init.d/openvpn restart&lt;/pre&gt;

&lt;p&gt;

Wer die Verbindung nicht bei jedem Systemstart automatisch aufbauen lassen will, muss folgende Zeile in der Datei &lt;strong&gt;/etc/default/openvpn&lt;/strong&gt; aktivieren:

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;AUTOSTART=&amp;quot;none&amp;quot;&lt;/pre&gt;

&lt;p&gt;

In diesem Fall empfiehlt es sich, die Konfiguration im eigenen Homeverzeichnis anzulegen. Dann kann man die Verbindung bei Bedarf auch mit einfachen Benutzerrechten über folgenden Befehl starten:

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;openvpn ~/pfad/zu/client.conf&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Linux&quot; [15253-16084] --&gt;
&lt;h3&gt;&lt;a name=&quot;microsoft-windows&quot; id=&quot;microsoft-windows&quot;&gt;Microsoft Windows&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;

OpenVPN-Pakete für Windows sind über die folgende &lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt; erhältlich: &lt;a href=&quot;http://openvpn.se/download.html&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://openvpn.se/download.html&quot;  rel=&quot;nofollow&quot;&gt;http://openvpn.se/download.html&lt;/a&gt; . Nach der Installation müssen dann folgende Dateien, die vorhin erstellt wurden, in den Ordner &lt;strong&gt;C:\Programme\OpenVPN\config\\&lt;/strong&gt; kopiert werden:

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;client.ovpn
clientX.crt
clientX.key
ca.crt&lt;/pre&gt;

&lt;p&gt;

Wie zu erkennen ist, muss die &lt;code&gt;client.conf&lt;/code&gt;-Datei zur Verwendung mit der Windows-&lt;acronym title=&quot;Graphical User Interface&quot;&gt;GUI&lt;/acronym&gt; die Endung &lt;code&gt;.ovpn&lt;/code&gt; haben.
&lt;/p&gt;

&lt;p&gt;
Nun mit der rechten Maustaste auf das Icon von OpenVPN klicken und &lt;em&gt;„Connect“&lt;/em&gt; auswählen. Wenn alles richtig gemacht wurde, sollte die Verbindung nun funktionieren.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;windows-xp&quot; id=&quot;windows-xp&quot;&gt;Windows XP&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Die aktuelle stabile Version 2.0.9 läuft.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;vista&quot; id=&quot;vista&quot;&gt;Vista&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Hinweise für &lt;strong&gt;&lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/windows/vista&quot; class=&quot;wikilink1&quot; title=&quot;windows:vista&quot;&gt;Vista&lt;/a&gt;&lt;/strong&gt;:
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; es ist die Version 2.1.0rc… erforderlich.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Openvpn muss als Administrator ausgeführt werden (Verknüpfung anlegen, rechte Maustaste und „als Administrator ausführen“; Alternativ in den Eigenschaften dauerhaft einschaltbar).&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Falls die Routensetzung Probleme bereitet, könnten folgende Einstellungen helfen:&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;pre class=&quot;file&quot;&gt;
route-method exe
route-delay 2
&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Microsoft Windows&quot; [16085-17184] --&gt;
&lt;h3&gt;&lt;a name=&quot;macos-x&quot; id=&quot;macos-x&quot;&gt;MacOS X&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Die Einrichtung geht mit der Software &lt;a href=&quot;http://code.google.com/p/tunnelblick/&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://code.google.com/p/tunnelblick/&quot;  rel=&quot;nofollow&quot;&gt;Tunnelblick&lt;/a&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;MacOS X&quot; [17185-17296] --&gt;
&lt;h3&gt;&lt;a name=&quot;openvpn-über-http-proxy&quot; id=&quot;openvpn-über-http-proxy&quot;&gt;OpenVPN über HTTP-Proxy&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;

Sitzt man nicht direkt an einem Internetzugang (z.b. im Büro oder beim Kunden), so hat man oft keine Möglichkeit über Port 1194 ins Internet zu kommen. Üblicherweise ist aber der Port 443 (HTTPS) in jedem Netz freigeschaltet. Um vom Client über den HTTPS-Proxy ins Internet und zum heimischen OpenVPN-Server zu gelangen, müssen folgende Konfigurationen gemacht werden:
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;serverconf&quot; id=&quot;serverconf&quot;&gt;server.conf&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;# Which TCP/UDP port should OpenVPN listen on?
# If you want to run multiple OpenVPN instances
# on the same machine, use a different port
# number for each one.  You will need to
# open up this port on your firewall.
port 443
;port 1194&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;# TCP or UDP server?
proto tcp
;proto udp&lt;/pre&gt;

&lt;p&gt;

Auf dem Server wird in der &lt;strong&gt;server.conf&lt;/strong&gt; auf den Port 443 umgeschaltet. Zudem wird hier auf das Protokoll TCP umgeschaltet, was nicht zwingend ist, aber weniger Probleme verursacht bei der Benutzung eines &lt;acronym title=&quot;Hyper Text Transfer Protocol&quot;&gt;HTTP&lt;/acronym&gt;-Proxys.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;clientconf&quot; id=&quot;clientconf&quot;&gt;client.conf&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;# If you are connecting through an
# HTTP proxy to reach the actual OpenVPN
# server, put the proxy server/IP and
# port number here.  See the man page
# if your proxy server requires
# authentication.
http-proxy 192.168.4.1 1080
;http-proxy-retry # retry on connection failures
;http-proxy [proxy server] [proxy port #]&lt;/pre&gt;

&lt;p&gt;

Auf dem Client wird in der &lt;code&gt;client.conf&lt;/code&gt; die Zeile &lt;em&gt;http-proxy 192.168.4.1 1080&lt;/em&gt; hinzugefügt. Wobei die Addresse des Proxy &lt;em&gt;192.168.4.1&lt;/em&gt; und der Port &lt;em&gt;1080&lt;/em&gt; mit den effektiven Angaben ersetzt werden müssen. Weitere Informationen zur Konfiguration von &lt;acronym title=&quot;Hyper Text Transfer Protocol&quot;&gt;HTTP&lt;/acronym&gt;-Proxys sind unter &lt;a href=&quot;http://openvpn.net/howto.html#http&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://openvpn.net/howto.html#http&quot;  rel=&quot;nofollow&quot;&gt;http://openvpn.net/howto.html#http&lt;/a&gt; verfügbar.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;OpenVPN über HTTP-Proxy&quot; [17297-18949] --&gt;
&lt;h2&gt;&lt;a name=&quot;fehlerbehebung&quot; id=&quot;fehlerbehebung&quot;&gt;Fehlerbehebung&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;

Falls der Start von OpenVPN nicht klappt, finden sich im Protokoll (Logdatei) Hinweise zur Fehlerbehebung. Die Meldungen sollten je nach Distribution in &lt;code&gt;/var/log/daemon.log&lt;/code&gt;, &lt;code&gt;/var/log/syslog&lt;/code&gt; oder &lt;code&gt;/var/log/messages&lt;/code&gt; stehen.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Fehlerbehebung&quot; [18950-19212] --&gt;
&lt;h3&gt;&lt;a name=&quot;cannot-allocate-tuntap-dev-dynamically-virtualisierte-systeme&quot; id=&quot;cannot-allocate-tuntap-dev-dynamically-virtualisierte-systeme&quot;&gt;Cannot allocate TUN/TAP dev dynamically (virtualisierte Systeme)&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;

Folgender Fehler im Protokoll (häufig bei virtualisierten Systemen der Fall):

&lt;/p&gt;
&lt;pre class=&quot;file&quot;&gt;
  openvpn[...]: Note: Cannot open TUN/TAP dev /dev/net/tun: Permission denied (errno=13)
  openvpn[...]: Note: Attempting fallback to kernel 2.2 TUN/TAP interface
  openvpn[...]: Cannot allocate TUN/TAP dev dynamically
&lt;/pre&gt;

&lt;p&gt;
Viele Provider bieten mittlerweile günstige virtualisierte Server an (auch VPS oder VServer). Bestimmte Funktionen lassen sich auf solchen Servern nur nutzen, wenn die entsprechenden Fähigkeiten auch in den Kernel des Host-Systems kompiliert wurden, auf dem die VPS läuft. Das gilt insbesondere für TUN/TAP und iptables. Bei vielen Providern genügt es, wenn man in einem Support-Ticket kurz erklärt, dass man TUN/TAP oder iptables nutzen möchte und sie wechseln den Kernel aus.
&lt;/p&gt;

&lt;p&gt;
Funktioniert TUN/TAP dann immer noch nicht muss man das Gerät noch selbst erstellen:

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo mkdir -p /dev/net
sudo mknod /dev/net/tun c 10 200
sudo chmod 600 /dev/net/tun&lt;/pre&gt;

&lt;p&gt;

Falls dies die Lösung bringt, ist die Anpassung des OpenVPN-Init-skripts (das die Befehle beim Start des Rechners ausführt) sinnvoll, da bei Neustarts &lt;code&gt;/dev/net/tun&lt;/code&gt; wieder verschwunden ist.
&lt;/p&gt;

&lt;p&gt;
In die Datei &lt;code&gt;/etc/init.d/openvpn&lt;/code&gt; schreiben wir also an den Anfang:
&lt;/p&gt;
&lt;pre class=&quot;file&quot;&gt;
# Create /dev/net (not created in Xen-environment)
if [ ! -d /dev/net ]
then
    mkdir -p /dev/net
fi
if [ ! -c /dev/net/tun ]
then
    mknod /dev/net/tun c 10 200
fi
chmod 600 /dev/net/tun
# End of modifications
&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Cannot allocate TUN/TAP dev dynamically (virtualisierte Systeme)&quot; [19213-] --&gt;</description>
    </item>
    <item rdf:about="http://www.stefanux.de/wiki/doku.php/apache/apache?rev=1268143752&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-03-09T15:09:12+01:00</dc:date>
        <dc:creator>Stefan</dc:creator>
        <title>apache:apache</title>
        <link>http://www.stefanux.de/wiki/doku.php/apache/apache?rev=1268143752&amp;do=diff</link>
        <description>


&lt;h1&gt;&lt;a name=&quot;apache&quot; id=&quot;apache&quot;&gt;Apache&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;

Der &lt;a href=&quot;http://de.wikipedia.org/wiki/Apache%20HTTP%20Server&quot; class=&quot;interwiki iw_wpde&quot; title=&quot;http://de.wikipedia.org/wiki/Apache%20HTTP%20Server&quot;&gt;Apache HTTP Server&lt;/a&gt; ist ein (auf vielen Plattformen verbreiteter) Webserver und im Moment der meist eingesetzte Webserver ist. Er hat eine modulare Erweiterungsmöglichkeit und ist detailliert zu konfigurieren.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://httpd.apache.org/&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://httpd.apache.org/&quot;  rel=&quot;nofollow&quot;&gt;Apache Foundation Homepage&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://www.stefanux.de/wiki/lib/exe/fetch.php/apache/apache_webserver_sicherheitsstudie.pdf&quot; class=&quot;media mediafile mf_pdf&quot; title=&quot;apache:apache_webserver_sicherheitsstudie.pdf&quot;&gt;BSI Apache webserver sicherheitsstudie.pdf&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
oft benutzte Funktionen:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/apache/virtuelle-server&quot; class=&quot;wikilink1&quot; title=&quot;apache:virtuelle-server&quot;&gt;virtuelle Server&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/apache/htaccess&quot; class=&quot;wikilink1&quot; title=&quot;apache:htaccess&quot;&gt;.htaccess Passwortschutz&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/apache/webdav&quot; class=&quot;wikilink1&quot; title=&quot;apache:webdav&quot;&gt;WebDAV&lt;/a&gt; („Webordner“)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/apache/ssl&quot; class=&quot;wikilink1&quot; title=&quot;apache:ssl&quot;&gt;SSL&lt;/a&gt; (Verschlüsselung)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.linux-fuer-alle.de/doc_show.php?docid=67&amp;amp;catid=4&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.linux-fuer-alle.de/doc_show.php?docid=67&amp;amp;catid=4&quot;  rel=&quot;nofollow&quot;&gt;Mini-Apache (&amp;lt; 400 kB)&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/apache/apache-tuning&quot; class=&quot;wikilink1&quot; title=&quot;apache:apache-tuning&quot;&gt;Apache Tuning&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/programmiersprachen/perl#perl_mit_apache&quot; class=&quot;wikilink1&quot; title=&quot;programmiersprachen:perl&quot;&gt;Perl-Skripte&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; siehe auch: &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/software/tomcat&quot; class=&quot;wikilink1&quot; title=&quot;software:tomcat&quot;&gt;Tomcat&lt;/a&gt; (&lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/programmiersprachen/java&quot; class=&quot;wikilink1&quot; title=&quot;programmiersprachen:java&quot;&gt;Java&lt;/a&gt;-Integrationen)&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Apache&quot; [1-807] --&gt;
&lt;h2&gt;&lt;a name=&quot;links&quot; id=&quot;links&quot;&gt;Links&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://uk.geocities.com/dom2319/apache_webdav_quota/&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://uk.geocities.com/dom2319/apache_webdav_quota/&quot;  rel=&quot;nofollow&quot;&gt;Debian Apache 2 WebDAV server with quota using SSL and MySQL for authentication&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.askapache.com/htaccess/speed-up-sites-with-htaccess-caching.html&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.askapache.com/htaccess/speed-up-sites-with-htaccess-caching.html&quot;  rel=&quot;nofollow&quot;&gt;Speed Up Sites with htaccess Caching&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Links&quot; [808-1088] --&gt;
&lt;h2&gt;&lt;a name=&quot;installation-allgemeingültig&quot; id=&quot;installation-allgemeingültig&quot;&gt;Installation (allgemeingültig)&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;strong&gt;kompilieren&lt;/strong&gt; aus den Quellen: entpacken (tar), ./configure, make, make install&lt;br/&gt;

oder als &lt;strong&gt;Paket&lt;/strong&gt; installieren:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; rpm-Paket: &lt;code&gt;rpm -i PAKETDATEI.rpm&lt;/code&gt; bzw.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; deb-Paket: dpkg -i PAKETDATEI.deb&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;

Aus &lt;strong&gt;Repository&lt;/strong&gt;(Verzeichnis von Paketen,Paketquelle): yast, yum, apt
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Installation (allgemeingültig)&quot; [1089-1409] --&gt;
&lt;h2&gt;&lt;a name=&quot;pakete-für-lamp&quot; id=&quot;pakete-für-lamp&quot;&gt;Pakete für LAMP&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
In &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/ubuntu/ubuntu&quot; class=&quot;wikilink1&quot; title=&quot;ubuntu:ubuntu&quot;&gt;Ubuntu&lt;/a&gt; und &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/debian/debian&quot; class=&quot;wikilink1&quot; title=&quot;debian:debian&quot;&gt;Debian&lt;/a&gt; reicht eine Zeile für die verbreitete Kombination aus Apache, &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/programmiersprachen/php&quot; class=&quot;wikilink1&quot; title=&quot;programmiersprachen:php&quot;&gt;php&lt;/a&gt;(Version 5, die alte Version 4 wird ende 2007 nicht mehr unterstützt) und &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/datenbanken/mysql&quot; class=&quot;wikilink1&quot; title=&quot;datenbanken:mysql&quot;&gt;MySQL&lt;/a&gt;.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo aptitude install apache2 php5 mysql-server&lt;/pre&gt;

&lt;p&gt;

Dabei werden die Abhängigkeiten korrekt aufgelöst, beispielweise das Modul für Apache (mod_php5 bzw. als Paket libapache2-mod-php5).
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Pakete für LAMP&quot; [1410-1857] --&gt;
&lt;h2&gt;&lt;a name=&quot;der-dienst-daemon-apache&quot; id=&quot;der-dienst-daemon-apache&quot;&gt;Der Dienst (daemon) Apache&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;strong&gt;Apache läuft als eigener Benutzer&lt;/strong&gt; unter

&lt;/p&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 leftalign&quot;&gt; Distribution  &lt;/th&gt;&lt;th class=&quot;col1&quot;&gt; Benutzer &lt;/th&gt;&lt;th class=&quot;col2&quot;&gt; Gruppe &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/suse/suse&quot; class=&quot;wikilink1&quot; title=&quot;suse:suse&quot;&gt;Suse&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; wwwrun &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; www &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/debian/debian&quot; class=&quot;wikilink1&quot; title=&quot;debian:debian&quot;&gt;Debian&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; www-data &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; www-data &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Der Dienst (daemon) Apache&quot; [1858-2059] --&gt;
&lt;h2&gt;&lt;a name=&quot;konfiguration&quot; id=&quot;konfiguration&quot;&gt;Konfiguration&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Syntax gemachter Änderungen testen:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;apache2 -t&lt;/pre&gt;

&lt;p&gt;
bzw. bei Apache 1.x
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;apache -t&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Konfiguration&quot; [2060-2168] --&gt;
&lt;h3&gt;&lt;a name=&quot;dateien&quot; id=&quot;dateien&quot;&gt;Dateien&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;/etc/apache2/httpd.conf&lt;/pre&gt;

&lt;p&gt;
dort befindet sich allerdings bei den meisten Distribution nur eine fast leere Datei, die eigentlichen Einstellungen sind dann in &lt;code&gt;apache2.conf&lt;/code&gt; (Ubuntu, Debian?) bzw. in &lt;code&gt;default-server.conf&lt;/code&gt; (Suse).
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Dateien&quot; [2169-2418] --&gt;
&lt;h3&gt;&lt;a name=&quot;direktiven&quot; id=&quot;direktiven&quot;&gt;Direktiven&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Direktiven sind Konfigurationsanweisungen die das Verhalten des Webserver beeinflussen. Sie haben entweder globale oder lokale (z.B. bei einem virtuellen Webserver oder innerhalb einer &lt;code&gt;.htaccess&lt;/code&gt;-Datei).
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://httpd.apache.org/docs/2.0/de/mod/directives.html&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://httpd.apache.org/docs/2.0/de/mod/directives.html&quot;  rel=&quot;nofollow&quot;&gt;Verzeichnis der Direktiven&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Wichtige Direktiven sind z.B.
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Servername&lt;/strong&gt; (gibt den FQDN auf dem der Server antwortet)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Listen&lt;/strong&gt; (überschreibt den Servername, normalerweise steht hier nur der Port 80 drin), Wenn man den &lt;strong&gt;Apache nur lokal&lt;/strong&gt; aufrufbar machen will sollte man (in ports.conf bei Debian, Ubuntu) &lt;code&gt;Listen 127.0.0.1:80&lt;/code&gt; reinschreiben&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;ServerRoot&lt;/strong&gt; (Basispfad des Webservers)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;DocumentRoot&lt;/strong&gt; (Basispfad der Webseiten)&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;

Je nach Distribution:

&lt;/p&gt;
&lt;pre class=&quot;file&quot;&gt;
  /srv/www/htdocs/  (neuere Suse)
  /var/www/ (Debian, Ubuntu)
  /usr/local/httpd/htdocs/
&lt;/pre&gt;

&lt;p&gt;
&lt;a href=&quot;http://www.hepi.edu.ge/manual/de/mod/core.html&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.hepi.edu.ge/manual/de/mod/core.html&quot;  rel=&quot;nofollow&quot;&gt;Auflistung wichtiger Direktiven aus mod_core (immer verfügbare Kernfunktionen)&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Direktiven&quot; [2419-3417] --&gt;
&lt;h2&gt;&lt;a name=&quot;starten-neustarten-stoppen&quot; id=&quot;starten-neustarten-stoppen&quot;&gt;starten / neustarten / stoppen&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Entweder mit &lt;code&gt;apachectl&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;code&quot;&gt;apachectl restart  OR apachectl graceful
apache2ctl restart  OR  apache2ctl graceful&lt;/pre&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; oder über Initskripte:&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;code&quot;&gt;/etc/init.d/apache2 reload&lt;/pre&gt;

&lt;p&gt;
 reload ⇒ Neuladen der Konfiguration ohne große Arbeitsunterbrechung, auch &lt;code&gt;graceful&lt;/code&gt; benannt;
stattdessen sind z.B. auch &lt;strong&gt;start, stop oder restart&lt;/strong&gt; möglich.
&lt;/p&gt;

&lt;p&gt;
&lt;em class=&quot;u&quot;&gt;&lt;strong&gt;Ort der Initskripte:&lt;/strong&gt;&lt;/em&gt;
&lt;/p&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0&quot;&gt; Distribution &lt;/th&gt;&lt;th class=&quot;col1&quot;&gt; Befehl &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/suse/suse&quot; class=&quot;wikilink1&quot; title=&quot;suse:suse&quot;&gt;Suse&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; /etc/rc.d/apache[2] restart &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/debian/debian&quot; class=&quot;wikilink1&quot; title=&quot;debian:debian&quot;&gt;Debian&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; /etc/init.d/apache[2] restart &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;
Die Klammer [2] besagt natürlich nur, dass man hier entweder apache oder apache2 eingibt, je nachdem welche Version man einsetzt.
&lt;/p&gt;

&lt;p&gt;
Anmerkung: Bei aktuellen OpenSuse-Distributionen ist &lt;code&gt;rc.d&lt;/code&gt; ein Verweis auf &lt;code&gt;init.d&lt;/code&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;starten / neustarten / stoppen&quot; [3418-4186] --&gt;
&lt;h2&gt;&lt;a name=&quot;logdateien&quot; id=&quot;logdateien&quot;&gt;Logdateien&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;

Der Standard-Ort für Logdateien ist &lt;code&gt;/var/log/apache2&lt;/code&gt;. Dort werden error.log (Fehler) und access.log (Seitenzugriffe) abgelegt.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Logdateien&quot; [4187-4344] --&gt;
&lt;h3&gt;&lt;a name=&quot;auswertung&quot; id=&quot;auswertung&quot;&gt;Auswertung&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/server/logwatch&quot; class=&quot;wikilink1&quot; title=&quot;server:logwatch&quot;&gt;logwatch&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/apache/scanerrlog&quot; class=&quot;wikilink2&quot; title=&quot;apache:scanerrlog&quot; rel=&quot;nofollow&quot;&gt;scanerrlog&lt;/a&gt; (Zusammenfassung der Fehler als text, html, xml, pdf)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.backhand.org/mod_log_spread/&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.backhand.org/mod_log_spread/&quot;  rel=&quot;nofollow&quot;&gt;mod_log_spread&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.monitorware.com/en/syslog-enabled-products/syslog-apache.php&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.monitorware.com/en/syslog-enabled-products/syslog-apache.php&quot;  rel=&quot;nofollow&quot;&gt;mod_dosevasive&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Auswertung&quot; [4345-4622] --&gt;
&lt;h3&gt;&lt;a name=&quot;piped-logs&quot; id=&quot;piped-logs&quot;&gt;piped-logs&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Eine &lt;strong&gt;Umleitung der Logdateien&lt;/strong&gt; ist auch über Programme von Drittherstellern oder eigene &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/shellscripts/shellscripts&quot; class=&quot;wikilink1&quot; title=&quot;shellscripts:shellscripts&quot;&gt;shellscripten&lt;/a&gt; möglich.
&lt;/p&gt;

&lt;p&gt;
Dazu muss ein Eintrag der Form

&lt;/p&gt;
&lt;pre class=&quot;file&quot;&gt;
CustomLog &amp;quot;| /pfad/zur/programmdatei&amp;quot; common
&lt;/pre&gt;

&lt;p&gt;

angelegt werden. Dies kann z. B. ein simples &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/shellscripts/shellscripts&quot; class=&quot;wikilink1&quot; title=&quot;shellscripts:shellscripts&quot;&gt;Shellscript&lt;/a&gt; sein.
&lt;/p&gt;
&lt;pre class=&quot;file&quot;&gt;
#/bin/bash
cat $@ &amp;gt;&amp;gt; access.log
&lt;/pre&gt;

&lt;p&gt;
&lt;img src=&quot;http://www.stefanux.de/wiki/lib/images/smileys/icon_exclaim.gif&quot; class=&quot;middle&quot; alt=&quot;:!:&quot; /&gt; Das angegebene Programm wird mit root-Rechten ausgeführt! Jedes Sicherheitsproblem ist hier kritisch. Auch Hintertüren lassen sich so platzieren.
&lt;/p&gt;

&lt;p&gt;
&lt;img src=&quot;http://www.stefanux.de/wiki/lib/images/smileys/icon_exclaim.gif&quot; class=&quot;middle&quot; alt=&quot;:!:&quot; /&gt; Bei sehr vielen virtuellen Hosts und Logdateien könnte die Anzahl der Dateihandler nicht ausreichen. Apache benutzt selbst 20-30 plus 2 pro Log. Unter &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/linux/linux&quot; class=&quot;wikilink1&quot; title=&quot;linux:linux&quot;&gt;Linux&lt;/a&gt; sind 1024 Dateihandler möglich, falls dies nicht ausreicht kann man mit 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;ulimit -S -n 8192&lt;/pre&gt;

&lt;p&gt;
 die Anzahl auf 8192 anheben.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;piped-logs&quot; [4623-5482] --&gt;
&lt;h3&gt;&lt;a name=&quot;protokollierung-auf-syslog&quot; id=&quot;protokollierung-auf-syslog&quot;&gt;Protokollierung auf syslog&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Apache kann seine Logdateien auf über &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/linux/systemprotokolle&quot; class=&quot;wikilink1&quot; title=&quot;linux:systemprotokolle&quot;&gt;syslog&lt;/a&gt; oder &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/software/syslog-ng&quot; class=&quot;wikilink1&quot; title=&quot;software:syslog-ng&quot;&gt;syslog-ng&lt;/a&gt; ausgeben. Gerade bei Web-Server-Clustern oder wenn man (berechtigterweise) vermutet dass ein Angreifer die Logs löscht, ist diese Konfiguration von Vorteil.

&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Fehlerlogs&lt;/strong&gt;: Durch die Einstellung ErrorLog&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;file&quot;&gt;
ErrorLog syslog:local1
&lt;/pre&gt;

&lt;p&gt;

local1 ist die facility (Standard: local7).
&lt;/p&gt;

&lt;p&gt;
Auf dem Zielhost leitet man die facility local1 in eine eigene Datei. Beachten sollte man allerdings, dass pro Abschnitt (z. B. pro virtuellem Host) nur eine Errorlog-Direktive ausgewertet wird. D.h. wenn die Errorlog an syslog gehen, dann ist lokal nichts da. Dies lässt sich allerdings mit einem Script umgehen.
&lt;/p&gt;

&lt;p&gt;
Zuerst muss müssen wir allerdings die ErrorLog-Ausgabe an ein Script schicken:

&lt;/p&gt;
&lt;pre class=&quot;file&quot;&gt;
ErrorLog &amp;quot;|/Pfad/zum/script.sh&amp;quot;
&lt;/pre&gt;

&lt;p&gt;
Das Zielscript teilt dann die Fehlerausgabe auf:

&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co0&quot;&gt;#/bin/sh&lt;/span&gt;
&lt;span class=&quot;kw2&quot;&gt;cat&lt;/span&gt; $&lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;tee&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-a&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;var&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;log&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;apache2&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;error.log &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; logger &lt;span class=&quot;re5&quot;&gt;-p&lt;/span&gt; local7.warn &lt;span class=&quot;re5&quot;&gt;-t&lt;/span&gt; Apache2&lt;/pre&gt;

&lt;p&gt;
Erklärung:
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Das Programme cat nimmt die Ausgabe von Apache entgegen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; tee hängt die Ausgabe an die Datei &lt;code&gt;/var/log/apache2/error.log&lt;/code&gt; an&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; und letztendlich bekommt logger die Ausgabe von Apache durchgereicht und sendet diese an syslog/syslog-ng.&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;

So hat man übrigens auch allgemein &lt;strong&gt;das Problem mehrerer ErrorLogs in Apache2&lt;/strong&gt; gelöst.
&lt;/p&gt;

&lt;p&gt;
&lt;img src=&quot;http://www.stefanux.de/wiki/lib/images/smileys/icon_exclaim.gif&quot; class=&quot;middle&quot; alt=&quot;:!:&quot; /&gt; &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/software/syslog-ng&quot; class=&quot;wikilink1&quot; title=&quot;software:syslog-ng&quot;&gt;syslog-ng&lt;/a&gt; verändert das Format der Logs was die Auswertung schwieriger macht. Deshalb muss über ein Template das Format von &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/software/syslog-ng&quot; class=&quot;wikilink1&quot; title=&quot;software:syslog-ng&quot;&gt;syslog-ng&lt;/a&gt; verändert werden.

&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Transferlogs&lt;/strong&gt;: Die Einstellung Transferlog bietet leider keinen direkten Weg zu &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/apache/systemprotokolle#syslog&quot; class=&quot;wikilink2&quot; title=&quot;apache:systemprotokolle&quot; rel=&quot;nofollow&quot;&gt;syslog&lt;/a&gt;. Über eine Pipe geht es dennoch. Dazu muss man ein Skript schreiben, dass das lokale Protokoll beschreibt und zusätzlich mittels dem Programm &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/apache/systemprotokolle#logger&quot; class=&quot;wikilink2&quot; title=&quot;apache:systemprotokolle&quot; rel=&quot;nofollow&quot;&gt;logger&lt;/a&gt; zusätzlich an syslog(-ng) sendet.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;

Beispiel Quellcode:

&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co0&quot;&gt;#!/bin/sh&lt;/span&gt;
&lt;span class=&quot;kw2&quot;&gt;cat&lt;/span&gt; $&lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; logger &lt;span class=&quot;re5&quot;&gt;-p&lt;/span&gt; local7.notice &lt;span class=&quot;re5&quot;&gt;-t&lt;/span&gt; Apache2&lt;/pre&gt;

&lt;p&gt;
Da ein (virtueller) Host mehrere Transfer/CustomLog-Direktiven haben darf gibt man eine für die lokale Speicherung und eins für syslog(-ng) an.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;links1&quot; id=&quot;links1&quot;&gt;Links&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://lists.balabit.hu/pipermail/syslog-ng/2001-February/001208.html&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;https://lists.balabit.hu/pipermail/syslog-ng/2001-February/001208.html&quot;  rel=&quot;nofollow&quot;&gt;[syslog-ng]apache logs&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.oreillynet.com/pub/a/sysadmin/2006/10/12/httpd-syslog.html?page=last&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.oreillynet.com/pub/a/sysadmin/2006/10/12/httpd-syslog.html?page=last&quot;  rel=&quot;nofollow&quot;&gt;Sending Apache httpd Logs to Syslog&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Protokollierung auf syslog&quot; [5483-7860] --&gt;
&lt;h2&gt;&lt;a name=&quot;module&quot; id=&quot;module&quot;&gt;Module&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Wichtige Module sind
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;mod_php4&lt;/code&gt; bzw. &lt;code&gt;mod_php5&lt;/code&gt; (&lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/programmiersprachen/php&quot; class=&quot;wikilink1&quot; title=&quot;programmiersprachen:php&quot;&gt;php&lt;/a&gt;)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;mod_ssl&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; mod_cache, disk_cache, mem_cache (die letzten beiden brauchen mod_cache sonst kommt die Meldung &lt;code&gt;undefined symbol: ap_cache_cacheable_hdrs_out&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.modsecurity.org/&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.modsecurity.org/&quot;  rel=&quot;nofollow&quot;&gt;mod_security&lt;/a&gt; ,&lt;a href=&quot;http://www.christopher-kunz.de/Apache-Webserver-sichern-mit-mod_security.95.0.html&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.christopher-kunz.de/Apache-Webserver-sichern-mit-mod_security.95.0.html&quot;  rel=&quot;nofollow&quot;&gt;Hinweise dazu auch hier&lt;/a&gt;.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; mod_cband (Speed, Traffice-limitting) &lt;a href=&quot;http://www.howtoforge.com/mod_cband_apache2_bandwidth_quota_throttling&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.howtoforge.com/mod_cband_apache2_bandwidth_quota_throttling&quot;  rel=&quot;nofollow&quot;&gt;Manage Apache Download Speed And Traffic Limits With mod_cband
&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://ath.sourceforge.net/&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://ath.sourceforge.net/&quot;  rel=&quot;nofollow&quot;&gt;mod_athena&lt;/a&gt; (loadbalancing) klingt auch ganz nett.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://httpd.apache.org/docs/2.0/mod/mod_isapi.html&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://httpd.apache.org/docs/2.0/mod/mod_isapi.html&quot;  rel=&quot;nofollow&quot;&gt;mod_isapi - ISAPI Extensions within Apache for Windows&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
&lt;a href=&quot;http://www.flyn.org/projects/pam_mount/&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.flyn.org/projects/pam_mount/&quot;  rel=&quot;nofollow&quot;&gt;mount volumes for a user session&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Module&quot; [7861-8753] --&gt;
&lt;h3&gt;&lt;a name=&quot;geladene-module-anzeigen&quot; id=&quot;geladene-module-anzeigen&quot;&gt;geladene Module anzeigen&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; auf der shell: &lt;pre class=&quot;code&quot;&gt;apache2 -t -D DUMP_MODULES&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; mit &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/programmiersprachen/php&quot; class=&quot;wikilink1&quot; title=&quot;programmiersprachen:php&quot;&gt;PHP&lt;/a&gt;:&lt;pre class=&quot;code php&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;&amp;lt;?php&lt;/span&gt;
&lt;a target=&quot;top&quot; href=&quot;http://www.php.net/print_r&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;print_r&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;a target=&quot;top&quot; href=&quot;http://www.php.net/apache_get_modules&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;apache_get_modules&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;sy1&quot;&gt;?&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;geladene Module anzeigen&quot; [8754-8944] --&gt;
&lt;h3&gt;&lt;a name=&quot;module-de-aktivieren&quot; id=&quot;module-de-aktivieren&quot;&gt;Module (de)aktivieren&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Apache bindet auch Module von anderen Programmierern ein, dazu muss man einen symbolischen Links (Erzeugung mit &lt;code&gt;ln -s [Ziel] [Linkname]&lt;/code&gt;) von dem gewünschten Modul aus &lt;code&gt;/etc/apache2/mods_available&lt;/code&gt; in &lt;code&gt;/etc/apache2/mods-enabled&lt;/code&gt; anlegen (die Pfade können varrieren, aber seine Apache-Konfigurationsdateien sollte man schon suchen können).

&lt;/p&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0&quot;&gt; Befehl &lt;/th&gt;&lt;th class=&quot;col1&quot;&gt; Beispielaufruf &lt;/th&gt;&lt;th class=&quot;col2&quot;&gt; Zweck des Programms &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; a2enmod / a2dismod &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; sudo a2enmod mod_python &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; (de-) aktiviert Module für Apache (Debian) &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; a2ensite / a2dissite &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; sudo a2ensite Konf1 &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; (de-) aktiviert Sites für Apache (Debian) &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Module (de)aktivieren&quot; [8945-9564] --&gt;
&lt;h3&gt;&lt;a name=&quot;url-rewriting-mod_rewrite&quot; id=&quot;url-rewriting-mod_rewrite&quot;&gt;URL-Rewriting (mod_rewrite)&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
mit mod_rewrite kann man nur schwer lesbare URLs in angenehmere umwandeln und auch Suchmaschinen eine bessere Indizierung ermöglichen.

&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.modrewrite.de/&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.modrewrite.de/&quot;  rel=&quot;nofollow&quot;&gt;mod_rewrite&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://f0rked.com/articles/mod_rewrite&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://f0rked.com/articles/mod_rewrite&quot;  rel=&quot;nofollow&quot;&gt;mod_rewrite Demystified: A Brief Guide With Resources&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;permanente-umzüge&quot; id=&quot;permanente-umzüge&quot;&gt;permanente Umzüge&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Wenn man eine Domain oder eine Seite auf eine neue &lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt; umziehen lässt, sollte man korrekt den &lt;acronym title=&quot;Hyper Text Transfer Protocol&quot;&gt;HTTP&lt;/acronym&gt;-Status 301 (moved permanently) senden. Dann werden sich auch &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/suchmaschinen/suchmaschinen&quot; class=&quot;wikilink1&quot; title=&quot;suchmaschinen:suchmaschinen&quot;&gt;Suchmaschinen&lt;/a&gt; die neue &lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt; merken und man bleibt im Suchindex.
&lt;/p&gt;

&lt;p&gt;
Die folgendene Konfiguration kann man global in der Apache-Konfiguration einstellen oder in einer &lt;code&gt;.htaccess&lt;/code&gt;-Datei im Stammverzeichnis hinterlegen.

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;
RewriteEngine On
RewriteRule ^(.*)$ http://www.NEUE-SEITE.de/$1 [R=301,L]
RewriteRule .+ http://www.NEUE-SEITE.de/ [R=301,L]
&lt;/pre&gt;

&lt;p&gt;
Wenn rigeros alle (alten) URLs auf die neue Startseite gehen sollen:

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;
RewriteEngine On
RedirectMatch (.*) http://www.NEUE-SEITE.de [R=301,L]
&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;URL-Rewriting (mod_rewrite)&quot; [9565-10605] --&gt;
&lt;h2&gt;&lt;a name=&quot;security&quot; id=&quot;security&quot;&gt;Security&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.hermann-uwe.de/security/articles/securing-apache-checklist&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.hermann-uwe.de/security/articles/securing-apache-checklist&quot;  rel=&quot;nofollow&quot;&gt;Securing Apache Checklist&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.apacheweek.com/security/&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.apacheweek.com/security/&quot;  rel=&quot;nofollow&quot;&gt;Apache Security @ apacheweek&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.securityfocus.com/infocus/1694&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.securityfocus.com/infocus/1694&quot;  rel=&quot;nofollow&quot;&gt;Securityfocus: Securing Apache Teil1&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.securityfocus.com/infocus/1786&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.securityfocus.com/infocus/1786&quot;  rel=&quot;nofollow&quot;&gt;Teil2&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://blog.stuartherbert.com/php/2007/12/18/using-suexec-to-secure-a-shared-server/&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://blog.stuartherbert.com/php/2007/12/18/using-suexec-to-secure-a-shared-server/&quot;  rel=&quot;nofollow&quot;&gt;
Using suexec To Secure A Shared Server&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Security&quot; [10606-11082] --&gt;
&lt;h3&gt;&lt;a name=&quot;mod_security&quot; id=&quot;mod_security&quot;&gt;mod_security&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.linuxtoday.com/infrastructure/2006071300426OSHLNT&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.linuxtoday.com/infrastructure/2006071300426OSHLNT&quot;  rel=&quot;nofollow&quot;&gt;HowtoForge: Secure Your Apache With mod_security&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.heise.de/security/artikel/69070&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.heise.de/security/artikel/69070&quot;  rel=&quot;nofollow&quot;&gt;mod_security&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.securityfocus.com/columnists/418&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.securityfocus.com/columnists/418&quot;  rel=&quot;nofollow&quot;&gt;mode_security 2.0 Inteview mit Ivan Ristic&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.modsecurity.org/projects/console/index.html&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.modsecurity.org/projects/console/index.html&quot;  rel=&quot;nofollow&quot;&gt;ModSecurity Console&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;mod_security&quot; [11083-11466] --&gt;
&lt;h2&gt;&lt;a name=&quot;cgi-und-perl&quot; id=&quot;cgi-und-perl&quot;&gt;CGI und Perl&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;http://de.selfhtml.org/perl/intro.htm&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://de.selfhtml.org/perl/intro.htm&quot;  rel=&quot;nofollow&quot;&gt;Perl Intro&lt;/a&gt;
&lt;a href=&quot;http://aktuell.de.selfhtml.org/links/cgiperl.htm&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://aktuell.de.selfhtml.org/links/cgiperl.htm&quot;  rel=&quot;nofollow&quot;&gt;Links zu Perl&lt;/a&gt;
&lt;a href=&quot;http://www.webdeveloper.com/cgi-perl/&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.webdeveloper.com/cgi-perl/&quot;  rel=&quot;nofollow&quot;&gt;CGI and Perl&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;CGI und Perl&quot; [11467-11667] --&gt;
&lt;h2&gt;&lt;a name=&quot;apache-2-tools&quot; id=&quot;apache-2-tools&quot;&gt;Apache(2) Tools&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://samba.org/ftp/tridge/dbench/&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://samba.org/ftp/tridge/dbench/&quot;  rel=&quot;nofollow&quot;&gt;dbench&lt;/a&gt; (disk) and tbench (TCP) benchmarks&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;

Im Paket apache2-utils sind einige sehr nützliche Programme enthalten:

&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; ab (Apache benchmark tool)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; logresolve (Resolve IP addresses to hostname in logfiles)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; htpasswd (Manipulate basic authentication files)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; htdigest (Manipulate digest authentication files)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; dbmmanage (Manipulate basic authentication files in DBM format, using perl)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; htdbm (Manipulate basic authentication files in DBM format, using APR)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; rotatelogs (Periodically stop writing to a logfile and open a new one)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; split-logfile (Split a single log including multiple vhosts)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; checkgid (Checks whether the caller can setgid to the specified group)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; check_forensic (Extract mod_log_forensic output from apache log files)&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Apache(2) Tools&quot; [11668-12501] --&gt;
&lt;h3&gt;&lt;a name=&quot;windows&quot; id=&quot;windows&quot;&gt;Windows&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;http://www.patshaping.de/hilfen_ta/webserver/apache.htm&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.patshaping.de/hilfen_ta/webserver/apache.htm&quot;  rel=&quot;nofollow&quot;&gt;http://www.patshaping.de/hilfen_ta/webserver/apache.htm&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Windows&quot; [12502-] --&gt;</description>
    </item>
    <item rdf:about="http://www.stefanux.de/wiki/doku.php/linux/iptables?rev=1268142962&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-03-09T14:56:02+01:00</dc:date>
        <dc:creator>Stefan</dc:creator>
        <title>linux:iptables</title>
        <link>http://www.stefanux.de/wiki/doku.php/linux/iptables?rev=1268142962&amp;do=diff</link>
        <description>


&lt;h1&gt;&lt;a name=&quot;netfilter-iptables&quot; id=&quot;netfilter-iptables&quot;&gt;Netfilter / Iptables&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Netfilter ist eine &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/security/firewalls&quot; class=&quot;wikilink1&quot; title=&quot;security:firewalls&quot;&gt;Firewall&lt;/a&gt; innerhalb des &lt;a href=&quot;http://de.wikipedia.org/wiki/Linux-Kernel&quot; class=&quot;interwiki iw_wpde&quot; title=&quot;http://de.wikipedia.org/wiki/Linux-Kernel&quot;&gt;Linux-Kernels&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
Einstellungen ausgeben:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;/sbin/iptables -L -n -v&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Netfilter / Iptables&quot; [1-179] --&gt;
&lt;h2&gt;&lt;a name=&quot;konfigurationswerkzeuge&quot; id=&quot;konfigurationswerkzeuge&quot;&gt;Konfigurationswerkzeuge&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;http://www.fwbuilder.org/&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.fwbuilder.org/&quot;  rel=&quot;nofollow&quot;&gt;Firewallbuilder&lt;/a&gt; | &lt;a href=&quot;http://kris.koehntopp.de/artikel/fwbuilder/&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://kris.koehntopp.de/artikel/fwbuilder/&quot;  rel=&quot;nofollow&quot;&gt;Anleitung&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/software/bastille&quot; class=&quot;wikilink1&quot; title=&quot;software:bastille&quot;&gt;bastille&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Konfigurationswerkzeuge&quot; [180-345] --&gt;
&lt;h2&gt;&lt;a name=&quot;links&quot; id=&quot;links&quot;&gt;Links&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.netadmintools.com/art216.html&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.netadmintools.com/art216.html&quot;  rel=&quot;nofollow&quot;&gt;Block IP Addresses With IPtables&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.hermann-uwe.de/files/fw_laptop&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.hermann-uwe.de/files/fw_laptop&quot;  rel=&quot;nofollow&quot;&gt;A firewall script intended to be used on workstations / laptops&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.linuxguruz.com/iptables/&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.linuxguruz.com/iptables/&quot;  rel=&quot;nofollow&quot;&gt;IPTABLES Firewall&lt;/a&gt;: Regeln und Skripts für Iptables&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.netfilter.org/documentation/HOWTO/de/packet-filtering-HOWTO-7.html&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.netfilter.org/documentation/HOWTO/de/packet-filtering-HOWTO-7.html&quot;  rel=&quot;nofollow&quot;&gt;http://www.netfilter.org/documentation/HOWTO/de/packet-filtering-HOWTO-7.html&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.linux-magazin.de/Artikel/ausgabe/2000/06/IPTables/iptables.html&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.linux-magazin.de/Artikel/ausgabe/2000/06/IPTables/iptables.html&quot;  rel=&quot;nofollow&quot;&gt;http://www.linux-magazin.de/Artikel/ausgabe/2000/06/IPTables/iptables.html&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.fz-juelich.de/zam/docs/printable/tki/tki-0402.pdf&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.fz-juelich.de/zam/docs/printable/tki/tki-0402.pdf&quot;  rel=&quot;nofollow&quot;&gt;http://www.fz-juelich.de/zam/docs/printable/tki/tki-0402.pdf&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.linuxfaqs.de/howto/iptableshowto.php&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.linuxfaqs.de/howto/iptableshowto.php&quot;  rel=&quot;nofollow&quot;&gt;http://www.linuxfaqs.de/howto/iptableshowto.php&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://cipherdyne.org/blog/2007/07/oscon-2007-talk-slides-iptables-attack-visualization.html&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://cipherdyne.org/blog/2007/07/oscon-2007-talk-slides-iptables-attack-visualization.html&quot;  rel=&quot;nofollow&quot;&gt;Iptables Attack Visualization&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.64-bit.de/dokumentationen/netzwerk/e/002/DE-IPTABLES-HOWTO-3.html&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.64-bit.de/dokumentationen/netzwerk/e/002/DE-IPTABLES-HOWTO-3.html&quot;  rel=&quot;nofollow&quot;&gt;Linux IPTABLES HOWTO: iptables-Grundlagen&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Links&quot; [346-1208] --&gt;
&lt;h2&gt;&lt;a name=&quot;tools&quot; id=&quot;tools&quot;&gt;Tools&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Wenn das Modul ip_conntrack geladen ist (wenn nicht: nachholen mit &lt;code&gt;sudo modprobe ip_conntrack&lt;/code&gt; ) kann man die aktuelle Verbindungstabelle mit &lt;a href=&quot;http://www.phildev.net/iptstate/&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.phildev.net/iptstate/&quot;  rel=&quot;nofollow&quot;&gt;iptstate&lt;/a&gt; ausgeben:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo iptstate&lt;/pre&gt;

&lt;p&gt;

(benötigt CONFIG_NF_CT_NETLINK in &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/linux/kernel&quot; class=&quot;wikilink1&quot; title=&quot;linux:kernel&quot;&gt;Kernel&lt;/a&gt; Config).

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Tools&quot; [1209-] --&gt;</description>
    </item>
    <item rdf:about="http://www.stefanux.de/wiki/doku.php/netzwerke/zigbee?rev=1268087103&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-03-08T23:25:03+01:00</dc:date>
        <dc:creator>Stefan</dc:creator>
        <title>netzwerke:zigbee - angelegt</title>
        <link>http://www.stefanux.de/wiki/doku.php/netzwerke/zigbee?rev=1268087103&amp;do=diff</link>
        <description>


&lt;h1&gt;&lt;a name=&quot;zigbee&quot; id=&quot;zigbee&quot;&gt;Zigbee&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;

Der Standard &lt;a href=&quot;http://de.wikipedia.org/wiki/IEEE%20802.15.4&quot; class=&quot;interwiki iw_wpde&quot; title=&quot;http://de.wikipedia.org/wiki/IEEE%20802.15.4&quot;&gt;IEEE 802.15.4&lt;/a&gt; (Zigbee) beschreibt ein Übertragungsprotokoll für Wireless Personal Area Networks (WPAN). Er definiert die untersten beiden Schichten des OSI-Modells, den Bitübertragungs- und den MAC-Layer. Höhere Protokollebenen mit Funktionen zum Routing und einer Anwendungsschnittstelle obliegen anderen Standards für Funknetze wie ZigBee. Wesentliche Entwicklungsziele für das Protokoll sind geringe Leistungsaufnahme für einen langen Betrieb über Batterieversorgung, kostengünstige Hardware, sichere Übertragung, Nutzung der lizenzfreien ISM-Bänder und Parallelbetrieb mit anderen Sendern auf diesen Frequenzen, insbesondere WLAN und Bluetooth. Durch diese Eigenschaften eignet sich der Standard IEEE 802.15.4 vor allem für drahtlose Sensornetze (WSN). Quelle: &lt;a href=&quot;http://de.wikipedia.org/wiki/IEEE%20802.15.4&quot; class=&quot;interwiki iw_wpde&quot; title=&quot;http://de.wikipedia.org/wiki/IEEE%20802.15.4&quot;&gt;Wikipedia&lt;/a&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Zigbee&quot; [1-857] --&gt;
&lt;h2&gt;&lt;a name=&quot;links&quot; id=&quot;links&quot;&gt;Links&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.heise.de/newsticker/meldung/ZigBee-Angriff-der-Killerbiene-948880.html&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.heise.de/newsticker/meldung/ZigBee-Angriff-der-Killerbiene-948880.html&quot;  rel=&quot;nofollow&quot;&gt;ZigBee: Angriff der Killerbiene&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Links&quot; [858-] --&gt;</description>
    </item>
    <item rdf:about="http://www.stefanux.de/wiki/doku.php/netzwerke/protokolle?rev=1268086750&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-03-08T23:19:10+01:00</dc:date>
        <dc:creator>Stefan</dc:creator>
        <title>netzwerke:protokolle</title>
        <link>http://www.stefanux.de/wiki/doku.php/netzwerke/protokolle?rev=1268086750&amp;do=diff</link>
        <description>


&lt;h1&gt;&lt;a name=&quot;netzwerkprotokolle&quot; id=&quot;netzwerkprotokolle&quot;&gt;Netzwerkprotokolle&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Einsatzgebiete
Bewertung
Schicht des OSI/&lt;acronym title=&quot;International Organization for Standardization&quot;&gt;ISO&lt;/acronym&gt;-Modells

&lt;/p&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0&quot;&gt; Protokoll &lt;/th&gt;&lt;th class=&quot;col1&quot;&gt; (Standard-) Port &lt;/th&gt;&lt;th class=&quot;col2&quot;&gt; verschlüsselte Variante &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/netzwerke/afs&quot; class=&quot;wikilink2&quot; title=&quot;netzwerke:afs&quot; rel=&quot;nofollow&quot;&gt;AFS&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;  &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/netzwerke/bgp&quot; class=&quot;wikilink2&quot; title=&quot;netzwerke:bgp&quot; rel=&quot;nofollow&quot;&gt;BGP&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/netzwerke/bootp&quot; class=&quot;wikilink2&quot; title=&quot;netzwerke:bootp&quot; rel=&quot;nofollow&quot;&gt;BootP&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;  &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/netzwerke/dns&quot; class=&quot;wikilink1&quot; title=&quot;netzwerke:dns&quot;&gt;DNS&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/netzwerke/ftp&quot; class=&quot;wikilink1&quot; title=&quot;netzwerke:ftp&quot;&gt;FTP&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; 20 TCP (Daten), 21 TCP (Befehle)&lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; &lt;acronym title=&quot;File Transfer Protocol&quot;&gt;FTP&lt;/acronym&gt; over &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/netzwerke/ssl-und-tls&quot; class=&quot;wikilink1&quot; title=&quot;netzwerke:ssl-und-tls&quot;&gt;SSL&lt;/a&gt;: 989 tcp (FTPs-Daten), 990 TCP (FTPs-Befehle): &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/netzwerke/ssl-und-tls&quot; class=&quot;wikilink1&quot; title=&quot;netzwerke:ssl-und-tls&quot;&gt;SSL&lt;/a&gt; &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row6&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/netzwerke/http&quot; class=&quot;wikilink1&quot; title=&quot;netzwerke:http&quot;&gt;HTTP&lt;/a&gt;(S) &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; 80 TCP &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; 443 TCP (HTTPS): &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/netzwerke/ssl-und-tls&quot; class=&quot;wikilink1&quot; title=&quot;netzwerke:ssl-und-tls&quot;&gt;SSL und TLS&lt;/a&gt; &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row7&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/netzwerke/icmp&quot; class=&quot;wikilink2&quot; title=&quot;netzwerke:icmp&quot; rel=&quot;nofollow&quot;&gt;ICMP&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row8&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/netzwerke/igmp&quot; class=&quot;wikilink2&quot; title=&quot;netzwerke:igmp&quot; rel=&quot;nofollow&quot;&gt;IGMP&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row9&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/netzwerke/imap&quot; class=&quot;wikilink1&quot; title=&quot;netzwerke:imap&quot;&gt;IMAP&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; 143 TCP &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; 993 TCP (verschlüsselt): &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/netzwerke/ssl-und-tls&quot; class=&quot;wikilink1&quot; title=&quot;netzwerke:ssl-und-tls&quot;&gt;SSL und TLS&lt;/a&gt; &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row10&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/netzwerke/ipsec&quot; class=&quot;wikilink1&quot; title=&quot;netzwerke:ipsec&quot;&gt;IPSec&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row11&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/netzwerke/kerberos&quot; class=&quot;wikilink1&quot; title=&quot;netzwerke:kerberos&quot;&gt;Kerberos&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row12&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/netzwerke/ldap&quot; class=&quot;wikilink1&quot; title=&quot;netzwerke:ldap&quot;&gt;LDAP&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;  &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row13&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/netzwerke/nfs&quot; class=&quot;wikilink1&quot; title=&quot;netzwerke:nfs&quot;&gt;NFS&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;  &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row14&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/netzwerke/nntp&quot; class=&quot;wikilink2&quot; title=&quot;netzwerke:nntp&quot; rel=&quot;nofollow&quot;&gt;NNTP&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;  &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row15&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/netzwerke/ntp&quot; class=&quot;wikilink1&quot; title=&quot;netzwerke:ntp&quot;&gt;NTP&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;  &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row16&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/netzwerke/pop3&quot; class=&quot;wikilink2&quot; title=&quot;netzwerke:pop3&quot; rel=&quot;nofollow&quot;&gt;POP3&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;  &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row17&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/netzwerke/radius&quot; class=&quot;wikilink2&quot; title=&quot;netzwerke:radius&quot; rel=&quot;nofollow&quot;&gt;RADIUS&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;  &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row18&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/netzwerke/rdp&quot; class=&quot;wikilink1&quot; title=&quot;netzwerke:rdp&quot;&gt;RDP&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;  &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row19&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/netzwerke/rfb&quot; class=&quot;wikilink2&quot; title=&quot;netzwerke:rfb&quot; rel=&quot;nofollow&quot;&gt;RFB&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row20&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/netzwerke/smb-bzw.-cifs&quot; class=&quot;wikilink2&quot; title=&quot;netzwerke:smb-bzw.-cifs&quot; rel=&quot;nofollow&quot;&gt;SMB bzw. CIFS&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;  &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row21&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/netzwerke/smtp&quot; class=&quot;wikilink1&quot; title=&quot;netzwerke:smtp&quot;&gt;SMTP&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;  &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row22&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/netzwerke/snmp&quot; class=&quot;wikilink2&quot; title=&quot;netzwerke:snmp&quot; rel=&quot;nofollow&quot;&gt;SNMP&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;  &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row23&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/netzwerke/ssh&quot; class=&quot;wikilink1&quot; title=&quot;netzwerke:ssh&quot;&gt;SSH&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; 22 &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row24&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/netzwerke/ssl-und-tls&quot; class=&quot;wikilink1&quot; title=&quot;netzwerke:ssl-und-tls&quot;&gt;SSL und TLS&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;  &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row25&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/netzwerke/tcp/ip&quot; class=&quot;wikilink2&quot; title=&quot;netzwerke:tcp:ip&quot; rel=&quot;nofollow&quot;&gt;TCP/IP&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; 22 &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row26&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/netzwerke/tftp&quot; class=&quot;wikilink1&quot; title=&quot;netzwerke:tftp&quot;&gt;TFTP&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; 69 UDP &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row27&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/netzwerke/wins&quot; class=&quot;wikilink1&quot; title=&quot;netzwerke:wins&quot;&gt;WINS&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;  &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row28&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/netzwerke/zigbee&quot; class=&quot;wikilink1&quot; title=&quot;netzwerke:zigbee&quot;&gt;Zigbee&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;  &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://de.wikipedia.org/wiki/Remote%20Framebuffer%20Protocol&quot; class=&quot;interwiki iw_wpde&quot; title=&quot;http://de.wikipedia.org/wiki/Remote%20Framebuffer%20Protocol&quot;&gt;Remote Framebuffer Protocol&lt;/a&gt; (von VNC benutzt)&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;

  * Bittorrent

&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://de.wikipedia.org/wiki/POP3&quot; class=&quot;interwiki iw_wpde&quot; title=&quot;http://de.wikipedia.org/wiki/POP3&quot;&gt;POP3&lt;/a&gt; (Post office Protocoll v.3): Protokoll zum &lt;strong&gt;Abholen&lt;/strong&gt; von eMails&lt;br/&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://de.wikipedia.org/wiki/IMAP&quot; class=&quot;interwiki iw_wpde&quot; title=&quot;http://de.wikipedia.org/wiki/IMAP&quot;&gt;IMAP&lt;/a&gt; (Internet Message Access Protocol): zum &lt;strong&gt;Abrufen&lt;/strong&gt; von eMails, die eMails bleiben auf dem Server&lt;br/&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://de.wikipedia.org/wiki/SMTP&quot; class=&quot;interwiki iw_wpde&quot; title=&quot;http://de.wikipedia.org/wiki/SMTP&quot;&gt;SMTP&lt;/a&gt; (Simple Mail Transfer Protocol): zum &lt;strong&gt;Versand&lt;/strong&gt; von eMails&lt;br/&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Netzwerkprotokolle&quot; [1-1281] --&gt;
&lt;h2&gt;&lt;a name=&quot;unterschiede-zwischen-tcp-und-udp&quot; id=&quot;unterschiede-zwischen-tcp-und-udp&quot;&gt;Unterschiede zwischen TCP und UDP&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;img src=&quot;http://www.stefanux.de/wiki/lib/images/smileys/fixme.gif&quot; class=&quot;middle&quot; alt=&quot;FIXME&quot; /&gt; (fertig machen)

&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; TCP&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; UDP&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; verbindungs- und zustandslos: Paketverluste werden nicht durch Neuübertragung korrigiert&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; minimiert den Verwaltungaufwand („overhead“), dadurch erhöhte Performance&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Unterschiede zwischen TCP und UDP&quot; [1282-] --&gt;</description>
    </item>
    <item rdf:about="http://www.stefanux.de/wiki/doku.php/windows/windows-probleme?rev=1268063059&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-03-08T16:44:19+01:00</dc:date>
        <dc:creator>Stefan</dc:creator>
        <title>windows:windows-probleme</title>
        <link>http://www.stefanux.de/wiki/doku.php/windows/windows-probleme?rev=1268063059&amp;do=diff</link>
        <description>


&lt;h1&gt;&lt;a name=&quot;windows-probleme&quot; id=&quot;windows-probleme&quot;&gt;Windows Probleme&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
dies ist eine kleine Aufstellung praktische Unzulänglichkeiten. Natürlich kann man mit den richtigen Tools einige der nicht grundsätzlichen Probleme beheben.

&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;kein zentrales Updatesystem&lt;/strong&gt; bzw. nur für Microsoft-Software (jede Anwendung nervt mit eigenem Updateprogrammen) siehe &lt;a href=&quot;http://www.heise.de/security/artikel/Mein-Wunschzettel-fuer-Windows-7-Updates-fuer-Alle-270132.html&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.heise.de/security/artikel/Mein-Wunschzettel-fuer-Windows-7-Updates-fuer-Alle-270132.html&quot;  rel=&quot;nofollow&quot;&gt;Updates für Alle&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Speicherverbrauch (besondern krass: &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/windows/vista&quot; class=&quot;wikilink1&quot; title=&quot;windows:vista&quot;&gt;Vista&lt;/a&gt;. Unter 1 &lt;acronym title=&quot;Gigabyte&quot;&gt;GB&lt;/acronym&gt; geht zum arbeiten nicht viel). Statt daran zu arbeiten erfindet Microsoft Sachen wie ReadyBoost um Sticks als Cache zu benutzen. Der wird dann auch noch verschlüsselt &lt;sup&gt;&lt;a href=&quot;#fn__1&quot; name=&quot;fnt__1&quot; id=&quot;fnt__1&quot; class=&quot;fn_top&quot;&gt;1)&lt;/a&gt;&lt;/sup&gt; was dann aber wiederum Rechenzeit kostet. Der Arbeitsspeicher wird natürlich nicht erweitert, da auch ein USB-Stick zu langsam als Arbeitsspeicher ist. Win7 verhält sich deutlich sparsamer belegt allerdings immer noch zuviel Speicher (der nicht als Cache oder Stand-by gekennzeichnet ist) der bei wenig Speicher plötzlich doch zur Verfügung steht.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Windows geht beim Bevormunden des Benutzers zu weit: Ordnernamen werden gnadenlos eingedeutscht, in Vista sogar noch extremer, da sich die Ablageverzeichnissen geändert haben. Tatsächlich sind die Ordner englisch auf der Festplatte.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Neustarts sind (immer noch) viel zu oft nötig (Grund ist das Dateilocking, s. u.)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; das &lt;strong&gt;Updateprogramm&lt;/strong&gt; zwingt zum Neustart, vorher nervt es rum&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; der Internet Explorer (auch als Internet Exploiter bezeichnet) ist gleichzeitig Dateimanager, Desktopmanager und Browser (konzeptionelle Sicherheitslücke)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; der Internet Explorer hängt permanent den &lt;acronym title=&quot;World Wide Web Consortium&quot;&gt;W3C&lt;/acronym&gt;-Standards hinterher (ebenso mit der Javascript-performance)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; durch Active-X-Controls können böswillige Seiten nach einer Sicherheitsabfrage (die Benutzer eh nicht verstehen) im Browser bequem Programme mit den Rechten des Benutzers ausführen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; laufend offene &lt;strong&gt;Sicherheitslücken&lt;/strong&gt; die dann erst Wochen bis Monate später gefixt werden (wie ist noch der Standardtext: “…bis zum Erscheinen des Patches wird empfohlen keine unsicheren Seiten zu besuchen.“ ) Aktuelle Lücken: siehe &lt;a href=&quot;http://www.zerodayinitiative.com/upcoming_advisories.html&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.zerodayinitiative.com/upcoming_advisories.html&quot;  rel=&quot;nofollow&quot;&gt;hier&lt;/a&gt; und &lt;a href=&quot;http://research.eeye.com/html/advisories/upcoming/&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://research.eeye.com/html/advisories/upcoming/&quot;  rel=&quot;nofollow&quot;&gt;hier&lt;/a&gt;.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; das Dateisystem &lt;strong&gt;NTFS fragmentiert&lt;/strong&gt; stark, weil alle Dateien an den Anfang der Festplatte gelegt werden). Moderne Dateisysteme verteilen die Daten gleichmäßig auf der Platte und packen nicht linear alle Datei hintereinander an den Anfang.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; die &lt;strong&gt;Dokumentation&lt;/strong&gt; ist dürftig, die Hilfe gibt nur allgemeine Informationen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;nerviges Dateilocking&lt;/strong&gt;: man kann keine Dateien löschen die in Benutzung sind (Grund: Windows lockt die Dateien die geöffnet sind, d. h. solche die einen &lt;a href=&quot;http://de.wikipedia.org/wiki/handle&quot; class=&quot;interwiki iw_wpde&quot; title=&quot;http://de.wikipedia.org/wiki/handle&quot;&gt;file handle&lt;/a&gt; haben, das ist auch der Grund warum Windows oft Neustarts braucht). Moderne Systeme stört das nicht und Programme müssen einen gleichzeitigen Zugriff berücksichtigen.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;keine virtuellen Desktops&lt;/strong&gt; (mit dem Fenstergruppieren kann doch keiner produktiv arbeiten)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Erkennung der Dateitypen findet auschließlich anhand der Dateiendungen statt, umbenennen heißt: Dateityp unbekannt. (moderne Systeme erkennen am &lt;strong&gt;&lt;acronym title=&quot;Multipurpose Internet Mail Extension&quot;&gt;MIME&lt;/acronym&gt;-Typ&lt;/strong&gt; oder charakteristischen Zeichenketten den Dateityp)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Integration von &lt;strong&gt;Standards&lt;/strong&gt; schlecht (&lt;acronym title=&quot;Secure Shell&quot;&gt;SSH&lt;/acronym&gt; gar nicht, WebDAV sehr langsam, &lt;acronym title=&quot;File Transfer Protocol&quot;&gt;FTP&lt;/acronym&gt; so halbwegs, Subversion nur über Drittanbieter)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; unnötige &lt;strong&gt;Wartezeiten&lt;/strong&gt; bei der Arbeit im LAN (wenn ein Computer oder Drucker nicht mehr verfügbar ist, kann man zwangsläufig für 30sek im Explorer nichts mehr machen; das Durchsuchen von Netzwerken dauert lange, teilweise ist erst nach einigen Minuten überhaupt alles zu sehen. Devise: Warten und hoffen.)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; das Standard-protokoll für Freigabe (hieß früher SMB, jetzt CIFS = „Common Internet File System“) ist für langsame(re) &lt;acronym title=&quot;Wide Area Network&quot;&gt;WAN&lt;/acronym&gt;-Verbindungen nicht geeignet, CIFS ist ein reiner Marketingname, es ist weder allgemein gebräuchlich („common“) noch wird es im Internet benutzt, noch ist es tatsächlich ein Dateisystem („File System“). &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;nervig&lt;/strong&gt;e Meldungen und Pop-up Fenster (Beispiel: Der Assistent für unbenutzte Icons auf dem Bildschirm, die Tastatur-sprachumschaltung: Tauscht überhaupt jemand regelmäßig seine Tastaturen gegen ausländische Modelle aus???)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;unsinnige Standardvorgaben&lt;/strong&gt; (Dateiendungen ausblenden bei bekannten Dateitypen und Ansichten werden für jeden Ordner einzeln gespeichert)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; die &lt;strong&gt;Systemlogs&lt;/strong&gt; sind kaum zu gebrauchen (wenn überhaupt kann man mit den &lt;a href=&quot;http://www.eventid.net/&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.eventid.net/&quot;  rel=&quot;nofollow&quot;&gt;Event-IDs nur im Internet nachschauen&lt;/a&gt; bzw. in der know-something-base &lt;img src=&quot;http://www.stefanux.de/wiki/lib/images/smileys/icon_wink.gif&quot; class=&quot;middle&quot; alt=&quot;;-)&quot; /&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; es ist nicht möglich einen&lt;strong&gt; Datenträger schreibgeschützt&lt;/strong&gt; zu benutzen (z. B. für forensische Analysen) weil Windows selbstständig neuerkannte Datenträger sofort einhängt, auch bei der Installation lassen sich NTFS-Partitionen nicht vom Zugriff ausschließen (WinXP weigert sich übrigens auch sich auf von Win7 erstellte NTFS-Partitionen zu installieren).&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; ineffiziente Caches, die Auslagerungsdatei wird (unötigerweise z. B. für Kernelspace-auslagerungen) sehr früh benutzt um mehr Cache anbieten zu können.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Der Explorer bricht bei einer Kopieraktion nach einem Fehler bei einer Datei den kompletten Kopiervorgang ab, kein überspringen möglich (Vista? Win7?)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; servergespeicherte Profile können nicht gleichzeitig für Win 2000/XP und Vista-Arbeitsplätze gelten, da mit Vista ein neues Format existiert (es wird “.V2“ nach dem Benuternamen angehängt)&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;div class=&quot;footnotes&quot;&gt;
&lt;div class=&quot;fn&quot;&gt;&lt;sup&gt;&lt;a href=&quot;#fnt__1&quot; id=&quot;fn__1&quot; name=&quot;fn__1&quot; class=&quot;fn_bot&quot;&gt;1)&lt;/a&gt;&lt;/sup&gt; 
notwendig weil der Stick sensible Daten des Arbeitsspeichers enthält und abgezogen werden kann&lt;/div&gt;
&lt;/div&gt;
</description>
    </item>
    <item rdf:about="http://www.stefanux.de/wiki/doku.php/netzwerke/dns?rev=1268062783&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-03-08T16:39:43+01:00</dc:date>
        <dc:creator>Stefan</dc:creator>
        <title>netzwerke:dns</title>
        <link>http://www.stefanux.de/wiki/doku.php/netzwerke/dns?rev=1268062783&amp;do=diff</link>
        <description>


&lt;h1&gt;&lt;a name=&quot;dns&quot; id=&quot;dns&quot;&gt;DNS&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Das &lt;a href=&quot;http://de.wikipedia.org/wiki/Domain%20Name%20System&quot; class=&quot;interwiki iw_wpde&quot; title=&quot;http://de.wikipedia.org/wiki/Domain%20Name%20System&quot;&gt;Domain Name System&lt;/a&gt; (&lt;acronym title=&quot;Domain Name Server&quot;&gt;DNS&lt;/acronym&gt;) ist einer der wichtigsten Dienste im Netzwerk/Internet. Seine Hauptaufgabe ist die Umsetzung von „Internetadressen“ in die zugehörige IP-Adresse. &lt;acronym title=&quot;Domain Name Server&quot;&gt;DNS&lt;/acronym&gt;-Anfragen sind vom Client nicht Verifizierbar und außerdem angreifbar (&lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/security/angriffsmethoden-und-gegenma%C3%9Fnahmen#dns-poisoning&quot; class=&quot;wikilink1&quot; title=&quot;security:angriffsmethoden-und-gegenmaßnahmen&quot;&gt;DNS-Poisoning&lt;/a&gt;. Lösung: &lt;a href=&quot;http://de.wikipedia.org/wiki/DNSSEC&quot; class=&quot;interwiki iw_wpde&quot; title=&quot;http://de.wikipedia.org/wiki/DNSSEC&quot;&gt;DNSSEC&lt;/a&gt; einsetzen.
&lt;/p&gt;

&lt;p&gt;
Eine oft eingesetzte &lt;acronym title=&quot;Domain Name Server&quot;&gt;DNS&lt;/acronym&gt;-Server-Software ist &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/server/bind&quot; class=&quot;wikilink1&quot; title=&quot;server:bind&quot;&gt;Bind&lt;/a&gt;, mit deutlich weniger Komplexität (aber auch weniger Funktionen) kommt &lt;code&gt;dnsmasq&lt;/code&gt; aus.
Bei selbst betreuten &lt;acronym title=&quot;Domain Name Server&quot;&gt;DNS&lt;/acronym&gt;-Servern sollte man &lt;a href=&quot;http://de.wikipedia.org/wiki/Zonentransfer&quot; class=&quot;interwiki iw_wpde&quot; title=&quot;http://de.wikipedia.org/wiki/Zonentransfer&quot;&gt;Zonentransfers&lt;/a&gt; auf authorisierte Hosts beschränken.
&lt;/p&gt;

&lt;p&gt;
Wenn man lokalen &lt;acronym title=&quot;Domain Name Server&quot;&gt;DNS&lt;/acronym&gt;-Servern nicht traut (&lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/security/angriffsmethoden-und-gegenma%C3%9Fnahmen#dns-poisoning&quot; class=&quot;wikilink1&quot; title=&quot;security:angriffsmethoden-und-gegenmaßnahmen&quot;&gt;DNS-Poisoning&lt;/a&gt;) kann man auch öffentliche &lt;acronym title=&quot;Domain Name Server&quot;&gt;DNS&lt;/acronym&gt;-Server wie &lt;a href=&quot;http://www.opendns.com/&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.opendns.com/&quot;  rel=&quot;nofollow&quot;&gt;OpenDNS&lt;/a&gt; (IPs: 208.67.222.222 und 208.67.220.220) einsetzen.
&lt;/p&gt;

&lt;p&gt;
Per &lt;acronym title=&quot;Domain Name Server&quot;&gt;DNS&lt;/acronym&gt; lässt sich auch der Proxy mitteilen (per &lt;a href=&quot;http://de.wikipedia.org/wiki/WPAD&quot; class=&quot;interwiki iw_wpde&quot; title=&quot;http://de.wikipedia.org/wiki/WPAD&quot;&gt;Web Proxy Autodiscovery Protocol (WPAD)&lt;/a&gt;, siehe &lt;a href=&quot;http://wiki.skolelinux.de/ValentinHaenel/WPAD&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://wiki.skolelinux.de/ValentinHaenel/WPAD&quot;  rel=&quot;nofollow&quot;&gt;ValentinHaenel: Web Proxy Automatic Discovery&lt;/a&gt;.

&lt;/p&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 centeralign&quot; colspan=&quot;2&quot;&gt;  Abfragetypen  &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;th class=&quot;col0&quot;&gt; interative Abfrage &lt;/th&gt;&lt;td class=&quot;col1&quot;&gt; Der &lt;acronym title=&quot;Domain Name Server&quot;&gt;DNS&lt;/acronym&gt;-Server gibt die bestmögliche Antwort zurück, die er ohne die Hilfe anderer Server bereitstellen kann &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;th class=&quot;col0&quot;&gt; rekursive Abfrage &lt;/th&gt;&lt;td class=&quot;col1&quot;&gt; Der &lt;acronym title=&quot;Domain Name Server&quot;&gt;DNS&lt;/acronym&gt;-Server gibt eine vollständige Antwort auf die Abfrage und nicht nur einen Verweis auf einen anderen Server zurück &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 centeralign&quot; colspan=&quot;2&quot;&gt;  Lookuptypen  &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;th class=&quot;col0&quot;&gt; forward-lookup &lt;/th&gt;&lt;td class=&quot;col1&quot;&gt; Auflösung von Namen in Adressen: &lt;pre class=&quot;code&quot;&gt;dig kuchling.de&lt;/pre&gt;

&lt;p&gt;
 (veraltet bzw. bei &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/windows/windows&quot; class=&quot;wikilink1&quot; title=&quot;windows:windows&quot;&gt;Windows&lt;/a&gt;: 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;nslookup kuchling.de&lt;/pre&gt;
&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;th class=&quot;col0&quot;&gt; reverse-lookup &lt;/th&gt;&lt;td class=&quot;col1&quot;&gt; Auflösung von Adressen in Namen: &lt;pre class=&quot;code&quot;&gt;dig -x 85.25.136.135&lt;/pre&gt;

&lt;p&gt;
 veraltet bzw. bei &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/windows/windows&quot; class=&quot;wikilink1&quot; title=&quot;windows:windows&quot;&gt;Windows&lt;/a&gt;: 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;nslookup 85.25.136.135&lt;/pre&gt;
&lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;DNS&quot; [1-1751] --&gt;
&lt;h2&gt;&lt;a name=&quot;links&quot; id=&quot;links&quot;&gt;Links&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://wiki.ubuntuusers.de/DNS-Probleme&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://wiki.ubuntuusers.de/DNS-Probleme&quot;  rel=&quot;nofollow&quot;&gt;DNS-Probleme beheben&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.cert.org/archive/pdf/dns.pdf&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.cert.org/archive/pdf/dns.pdf&quot;  rel=&quot;nofollow&quot;&gt;Securing a DNS-Server&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.linux-praxis.de/lpic2/lpi202/2.207.2.html&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.linux-praxis.de/lpic2/lpi202/2.207.2.html&quot;  rel=&quot;nofollow&quot;&gt;Anlegen und Verwalten von DNS-Zonen&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.oreillynet.com/pub/a/sysadmin/2007/04/26/5-basic-mistakes-not-to-make-in-dns.html&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.oreillynet.com/pub/a/sysadmin/2007/04/26/5-basic-mistakes-not-to-make-in-dns.html&quot;  rel=&quot;nofollow&quot;&gt;5 basic mistakes not to make in DNS&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Links&quot; [1752-2146] --&gt;
&lt;h2&gt;&lt;a name=&quot;dns-namen-für-dynamische-ip&quot; id=&quot;dns-namen-für-dynamische-ip&quot;&gt;DNS-Namen für dynamische IP&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;

Für den Betrieb von Serverdiensten ist in den meisten Fällen ein &lt;acronym title=&quot;Domain Name Server&quot;&gt;DNS&lt;/acronym&gt;-Name zugewiesen, der auf eine feste IP zeigt. Wenn keine feste IP möglich ist, z. B. bei einem Einwahlzugang, und sich die dynamische IP somit in (un)regelmäßigen ändert, muss man auf einen &lt;a href=&quot;http://de.wikipedia.org/wiki/DynDNS&quot; class=&quot;interwiki iw_wpde&quot; title=&quot;http://de.wikipedia.org/wiki/DynDNS&quot;&gt;DynDNS&lt;/a&gt;-Anbieter zurückgreifen.
&lt;/p&gt;

&lt;p&gt;
Üblicherweise wird durch eine Client-Software die neue (z.B durch Zwangstrennung geänderte) IP-Adresse gemeldet, so dass der Dienst schnell wieder unter der neuen IP-Adresse zur Verfügung steht.

&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/linux/linux&quot; class=&quot;wikilink1&quot; title=&quot;linux:linux&quot;&gt;Linux&lt;/a&gt;: &lt;a href=&quot;http://ddclient.wiki.sourceforge.net/&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://ddclient.wiki.sourceforge.net/&quot;  rel=&quot;nofollow&quot;&gt;ddclient&lt;/a&gt;, …&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/windows/windows&quot; class=&quot;wikilink1&quot; title=&quot;windows:windows&quot;&gt;Windows&lt;/a&gt;: &lt;a href=&quot;http://www.heise.de/software/download/dyndnserv/61830&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.heise.de/software/download/dyndnserv/61830&quot;  rel=&quot;nofollow&quot;&gt;DynDNServ&lt;/a&gt;, &lt;a href=&quot;http://www.dyndns.com/support/clients/windows.html&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.dyndns.com/support/clients/windows.html&quot;  rel=&quot;nofollow&quot;&gt;Update-Client von DynDNS&lt;/a&gt;, …&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/mac/mac&quot; class=&quot;wikilink1&quot; title=&quot;mac:mac&quot;&gt;Mac&lt;/a&gt;: &lt;a href=&quot;http://www.dyndns.com/support/clients/mac.html&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.dyndns.com/support/clients/mac.html&quot;  rel=&quot;nofollow&quot;&gt;DynDNS Updater for Mac&lt;/a&gt;, …&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;DNS-Namen für dynamische IP&quot; [2147-3049] --&gt;
&lt;h2&gt;&lt;a name=&quot;konfiguration&quot; id=&quot;konfiguration&quot;&gt;Konfiguration&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;

&lt;a href=&quot;http://www.dnswatch.info/&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.dnswatch.info/&quot;  rel=&quot;nofollow&quot;&gt;http://www.dnswatch.info/&lt;/a&gt;
&lt;a href=&quot;http://zonecheck.denic.de/zonecheck/&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://zonecheck.denic.de/zonecheck/&quot;  rel=&quot;nofollow&quot;&gt;http://zonecheck.denic.de/zonecheck/&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://de.wikipedia.org/wiki/Kategorie:Domain_Name_System&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://de.wikipedia.org/wiki/Kategorie:Domain_Name_System&quot;  rel=&quot;nofollow&quot;&gt;Wikipedia - Kategorie:Domain_Name_System&lt;/a&gt;

&lt;/p&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0&quot;&gt; &lt;strong&gt;Typ&lt;/strong&gt; &lt;/th&gt;&lt;th class=&quot;col1&quot;&gt; Bedeutung &lt;/th&gt;&lt;th class=&quot;col2&quot;&gt; Eintrag &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;strong&gt;SOA&lt;/strong&gt; 	&lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; Start Of Authority  &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; Verschiedene Parameter für die Zone, die der Nameserver verwalten soll. &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;strong&gt;A&lt;/strong&gt; 	&lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; Address  &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; Die Adresse eines Internet Hosts (Verknüpfung einer Domain mit einer bestimmten IP-Adresse). &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;strong&gt;AAAA-Record&lt;/strong&gt; &lt;/td&gt;&lt;td class=&quot;col1&quot; colspan=&quot;2&quot;&gt; IPv6 pendant zum A-Record unter IPv4. &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;strong&gt;MX&lt;/strong&gt; &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; Mail Exchange  &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; Die Priorität und Name des Mailservers der Domain. Abfrage mit &lt;code&gt;dig -t mx DOMAIN&lt;/code&gt; &lt;img src=&quot;http://www.stefanux.de/wiki/lib/images/smileys/icon_exclaim.gif&quot; class=&quot;middle&quot; alt=&quot;:!:&quot; /&gt; Achtung: Ein MX-Record darf auschließlich „canonical names“ (d. h. einen Hostnamen/FQHN der einen A record hat) enthalten. &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt;&lt;strong&gt; NS&lt;/strong&gt; &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Name Server &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; Name eines Nameservers der Domain (auch: Weiterleitung der Nameserveranfragen an einen anderen Nameserver). &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row6&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;strong&gt;CNAME&lt;/strong&gt; &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Canonical Name &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; Domainname eines Rechners (Aliasfunktion: Verknüpfung einer Subdomain mit einer anderen Subdomain). &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row7&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;strong&gt;PTR&lt;/strong&gt;  &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Pointer &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; Alias für eine numerische IP-Adresse (benutzt für Reverse-lookup) &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row8&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;strong&gt;HINFO&lt;/strong&gt; &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Host Information &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; &lt;acronym title=&quot;American Standard Code for Information Interchange&quot;&gt;ASCII&lt;/acronym&gt; Beschreibung des Hosts (CPU, &lt;acronym title=&quot;Operating System&quot;&gt;OS&lt;/acronym&gt;, …) &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row9&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;strong&gt;TXT&lt;/strong&gt; &lt;/td&gt;&lt;td class=&quot;col1&quot; colspan=&quot;2&quot;&gt; Text - Nicht verwertbarer Text - Kommentar &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row10&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;strong&gt;SPF-Record&lt;/strong&gt; &lt;/td&gt;&lt;td class=&quot;col1&quot; colspan=&quot;2&quot;&gt; Eintrag für das „Sender Policy Framework“ (Anti-Spam-Modell). &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row11&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;strong&gt;&lt;a href=&quot;http://wiki.ip-phone-forum.de/internet:dns:srv&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://wiki.ip-phone-forum.de/internet:dns:srv&quot;  rel=&quot;nofollow&quot;&gt;SRV-Records&lt;/a&gt;&lt;/strong&gt; &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Einträge für &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/computer/voip&quot; class=&quot;wikilink1&quot; title=&quot;computer:voip&quot;&gt;VoIP&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;
  * &lt;a href=&quot;http://de.wikipedia.org/wiki/SOA_Resource_Record&quot; class=&quot;interwiki iw_wpde&quot; title=&quot;http://de.wikipedia.org/wiki/SOA_Resource_Record&quot;&gt;SOA-Resource-Record&lt;/a&gt;: Autoritätsursprung
&lt;/p&gt;

&lt;p&gt;

&lt;img src=&quot;http://www.stefanux.de/wiki/lib/images/smileys/icon_exclaim.gif&quot; class=&quot;middle&quot; alt=&quot;:!:&quot; /&gt; falsche &lt;acronym title=&quot;Domain Name Server&quot;&gt;DNS&lt;/acronym&gt;-Konfiguration (&lt;code&gt;localhost. IN A 127.0.0.1&lt;/code&gt; ohne den Punkt nach localhost) erlaubt Angriffe &lt;a href=&quot;http://www.securiteam.com/securitynews/5RP0M00N5K.html&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.securiteam.com/securitynews/5RP0M00N5K.html&quot;  rel=&quot;nofollow&quot;&gt;Common DNS Misconfiguration can Lead to &amp;quot;same Site&amp;quot; Scripting&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Konfiguration&quot; [3050-4810] --&gt;
&lt;h3&gt;&lt;a name=&quot;zonen&quot; id=&quot;zonen&quot;&gt;Zonen&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Bei &lt;acronym title=&quot;Domain Name Server&quot;&gt;DNS&lt;/acronym&gt; bezeichnet &lt;a href=&quot;http://de.wikipedia.org/wiki/Zone%20%28DNS%29&quot; class=&quot;interwiki iw_wpde&quot; title=&quot;http://de.wikipedia.org/wiki/Zone%20%28DNS%29&quot;&gt;Zone&lt;/a&gt; den Teil des Domänenbaums, für die ein Nameserver (im Folgenden auch NS) zuständig ist und deshalb die offiziellen Daten kennt. Eine Zone wird durch einen Primary Nameserver verwaltet. Zur Erhöhung der Verfügbarkeit bei Server-Ausfällen ist es üblich, eine Zone auf einen oder mehrere Secondary Nameserver zu spiegeln.

&lt;/p&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0&quot; colspan=&quot;2&quot;&gt; Zonentypen &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; primäre Zone  &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; lese und schreibbar &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; sekundäre Zone &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; liest/spiegelt die Daten der primären Zone zur Ausfallsicherheit &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/windows/windows&quot; class=&quot;wikilink1&quot; title=&quot;windows:windows&quot;&gt;Windows&lt;/a&gt;-spezifisch &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; in Active-Directory integriert &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Zonen&quot; [4811-5411] --&gt;
&lt;h3&gt;&lt;a name=&quot;unterschied-zwischen-domäne-und-zone&quot; id=&quot;unterschied-zwischen-domäne-und-zone&quot;&gt;Unterschied zwischen Domäne und Zone&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Eine Domäne umfasst den gesamten untergeordneten &lt;acronym title=&quot;Domain Name Server&quot;&gt;DNS&lt;/acronym&gt; Namensraum. Der Begriff Domäne wird auch verwendet, wenn man sich auf den Inhalt (Welche Namen enthält eine Domäne?) oder die Eigentumsrechte (Für wen ist eine Domäne registriert?) bezieht.
&lt;/p&gt;

&lt;p&gt;
Eine Domäne kann in mehrere Zonen aufgeteilt werden, indem man die Zuständigkeit für Subdomains delegiert. Von einer Zone spricht man auch, wenn man die physische Realisierung meint – also auf welchem Server und in welcher Zonendatei liegen die &lt;acronym title=&quot;Domain Name Server&quot;&gt;DNS&lt;/acronym&gt;-Einträge.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Unterschied zwischen Domäne und Zone&quot; [5412-5977] --&gt;
&lt;h3&gt;&lt;a name=&quot;zonentransfer&quot; id=&quot;zonentransfer&quot;&gt;Zonentransfer&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;

&lt;a href=&quot;http://de.wikipedia.org/wiki/Zonentransfer&quot; class=&quot;interwiki iw_wpde&quot; title=&quot;http://de.wikipedia.org/wiki/Zonentransfer&quot;&gt;Zonentransfer&lt;/a&gt; bezeichnet beim Domain Name System (&lt;acronym title=&quot;Domain Name Server&quot;&gt;DNS&lt;/acronym&gt;) die Übertragung von Zonen auf einen anderen Server.
&lt;/p&gt;

&lt;p&gt;
Da ein &lt;acronym title=&quot;Domain Name Server&quot;&gt;DNS&lt;/acronym&gt;-Ausfall für ein Unternehmen meist gravierende Folgen hat, werden die &lt;acronym title=&quot;Domain Name Server&quot;&gt;DNS&lt;/acronym&gt;-Daten – also die Zonendateien – fast ausnahmslos identisch auf mehreren Nameservern gehalten. Bei Änderungen muss sichergestellt sein, dass alle Server den gleichen Datenbestand besitzen. Die Synchronisation zwischen den beteiligten Servern wird durch den Zonentransfer realisiert. Der Zonentransfer beinhaltet nicht nur das bloße Übertragen von Dateien oder Sätzen, sondern auch das Erkennen von Abweichungen in den Datenbeständen der beteiligten Server.
&lt;/p&gt;

&lt;p&gt;
Er kann mit dem Befehl &lt;code&gt;host -l&lt;/code&gt; durchgeführt werden.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Zonentransfer&quot; [5978-6729] --&gt;
&lt;h3&gt;&lt;a name=&quot;zonendatei&quot; id=&quot;zonendatei&quot;&gt;Zonendatei&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;

Eine &lt;a href=&quot;http://de.wikipedia.org/wiki/Zonendatei&quot; class=&quot;interwiki iw_wpde&quot; title=&quot;http://de.wikipedia.org/wiki/Zonendatei&quot;&gt;Zonendatei&lt;/a&gt; ist Teil der Konfiguration eines Nameserverdienstes (z.B. &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/server/bind&quot; class=&quot;wikilink1&quot; title=&quot;server:bind&quot;&gt;BIND&lt;/a&gt;) für das Domain Name System. Sie besteht aus einer Liste von Resource Records (RR). Eine Zonendatei beschreibt eine Zone vollständig. Es muss genau ein SOA Resource Record und mindestens ein NS Resource Record vorhanden sein. Der SOA-RR befindet sich meist am Anfang einer Zonendatei.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Zonendatei&quot; [6730-7140] --&gt;
&lt;h2&gt;&lt;a name=&quot;dnssec&quot; id=&quot;dnssec&quot;&gt;DNSSEC&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;img src=&quot;http://www.stefanux.de/wiki/lib/images/smileys/fixme.gif&quot; class=&quot;middle&quot; alt=&quot;FIXME&quot; /&gt;
Gegen Angriffe wie &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/security/angriffsmethoden-und-gegenma%C3%9Fnahmen#dns-poisoning&quot; class=&quot;wikilink1&quot; title=&quot;security:angriffsmethoden-und-gegenmaßnahmen&quot;&gt;DNS-poisoning&lt;/a&gt; hilft &lt;a href=&quot;http://de.wikipedia.org/wiki/DNSSEC&quot; class=&quot;interwiki iw_wpde&quot; title=&quot;http://de.wikipedia.org/wiki/DNSSEC&quot;&gt;DNSSEC&lt;/a&gt;.

&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
&lt;a href=&quot;http://www.heise.de/newsticker/Cache-Poisoning-Gefahr-heizt-DNSSEC-Debatte-an--/meldung/112980/from/rss09&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.heise.de/newsticker/Cache-Poisoning-Gefahr-heizt-DNSSEC-Debatte-an--/meldung/112980/from/rss09&quot;  rel=&quot;nofollow&quot;&gt;Cache-Poisoning-Gefahr heizt DNSSEC-Debatte an&lt;/a&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.dnssec-tools.org/&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.dnssec-tools.org/&quot;  rel=&quot;nofollow&quot;&gt;DNSSEC-Tools&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.dnssec-deployment.org/tracker/&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.dnssec-deployment.org/tracker/&quot;  rel=&quot;nofollow&quot;&gt;DNSSEC Deployment Initiative: Links to Software&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;DNSSEC&quot; [7141-] --&gt;</description>
    </item>
    <item rdf:about="http://www.stefanux.de/wiki/doku.php/programmiersprachen/rosettastone-c-php-vba?rev=1267935369&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-03-07T05:16:09+01:00</dc:date>
        <dc:creator>Stefan</dc:creator>
        <title>programmiersprachen:rosettastone-c-php-vba</title>
        <link>http://www.stefanux.de/wiki/doku.php/programmiersprachen/rosettastone-c-php-vba?rev=1267935369&amp;do=diff</link>
        <description>


&lt;h1&gt;&lt;a name=&quot;stein-von-rosetta-für-programmiersprachen&quot; id=&quot;stein-von-rosetta-für-programmiersprachen&quot;&gt;Stein von Rosetta für Programmiersprachen&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Der “&lt;a href=&quot;http://de.wikipedia.org/wiki/Stein_von_Rosetta&quot; class=&quot;interwiki iw_wpde&quot; title=&quot;http://de.wikipedia.org/wiki/Stein_von_Rosetta&quot;&gt;Stein_von_Rosetta&lt;/a&gt; für oft benutzte Programmiersprachen“ soll einen kurzen Vergleich bieten, damit man beim umsteigen immer mal schnell nachgucken kann.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://openwiki.com/ow.asp?VisualBasicCeePlusPlusRosettaStone#h5&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://openwiki.com/ow.asp?VisualBasicCeePlusPlusRosettaStone#h5&quot;  rel=&quot;nofollow&quot;&gt;http://openwiki.com/ow.asp?VisualBasicCeePlusPlusRosettaStone#h5&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;img src=&quot;http://www.stefanux.de/wiki/lib/images/smileys/fixme.gif&quot; class=&quot;middle&quot; alt=&quot;FIXME&quot; /&gt; (Objekte)
&lt;/p&gt;

&lt;p&gt;
[in eckigen Klammern sind optionale Zusätze]

&lt;/p&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0&quot;&gt; Struktur &lt;/th&gt;&lt;th class=&quot;col1&quot;&gt; Bash &lt;/th&gt;&lt;th class=&quot;col2&quot;&gt; C/C++ &lt;/th&gt;&lt;th class=&quot;col3&quot;&gt; &lt;acronym title=&quot;Hypertext Preprocessor&quot;&gt;PHP&lt;/acronym&gt; &lt;/th&gt;&lt;th class=&quot;col4&quot;&gt; &lt;acronym title=&quot;Visual Basic&quot;&gt;VB&lt;/acronym&gt;(A) &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;th class=&quot;col0&quot;&gt; Variablenverwendung (a ist der Variablenname) &lt;/th&gt;&lt;td class=&quot;col1&quot;&gt; $a &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; a &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; $a &lt;/td&gt;&lt;td class=&quot;col4&quot;&gt; a &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; Deklarieren &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; nicht nötig (aber möglich mit “&lt;code&gt;declare a&lt;/code&gt;“), Datentyp wird bei der ersten Benutzung deklariert.  &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt;int a; &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; nicht nötig, Datentyp wird bei der ersten Benutzung deklariert &lt;/td&gt;&lt;td class=&quot;col4 leftalign&quot;&gt; Dim a as integer  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; Initialisieren &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; a = 10 &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; init a = 10; &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; $a = 10; &lt;/td&gt;&lt;td class=&quot;col4&quot;&gt; a = 10 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; globale &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt;  &lt;/td&gt;&lt;td class=&quot;col4 leftalign&quot;&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; statische &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;   &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt;  &lt;/td&gt;&lt;td class=&quot;col4 leftalign&quot;&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row6&quot;&gt;
		&lt;th class=&quot;col0&quot;&gt; Arrays &lt;/th&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; $var[0]=„erster Wert“  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;   &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; $var[0]=„erster Wert“;  &lt;/td&gt;&lt;td class=&quot;col4 leftalign&quot;&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row7&quot;&gt;
		&lt;th class=&quot;col0 leftalign&quot;&gt; Entscheidung (Alternative)  &lt;/th&gt;&lt;td class=&quot;col1&quot;&gt; &lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; Bedingung
&lt;span class=&quot;kw1&quot;&gt;then&lt;/span&gt;
  Code
&lt;span class=&quot;kw1&quot;&gt;else&lt;/span&gt;
  Code2
&lt;span class=&quot;kw1&quot;&gt;fi&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;
 &lt;sup&gt;&lt;a href=&quot;#fn__1&quot; name=&quot;fnt__1&quot; id=&quot;fnt__1&quot; class=&quot;fn_top&quot;&gt;1)&lt;/a&gt;&lt;/sup&gt;
&lt;/p&gt;
&lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; &lt;img src=&quot;http://www.stefanux.de/wiki/lib/images/smileys/fixme.gif&quot; class=&quot;middle&quot; alt=&quot;FIXME&quot; /&gt; (C) &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; &lt;pre class=&quot;code php&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;Bedingung&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
  Code
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;elseif&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;Bed&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt;2&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
  Code2
&lt;span class=&quot;kw1&quot;&gt;else&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
  Code3
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;&lt;td class=&quot;col4&quot;&gt; &lt;pre class=&quot;code vb&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; [&lt;span class=&quot;kw1&quot;&gt;Not&lt;/span&gt;] Bedingung [&lt;span class=&quot;kw1&quot;&gt;And&lt;/span&gt; Bedingung] &lt;span class=&quot;kw1&quot;&gt;Then&lt;/span&gt;
  Anweisung
&lt;span class=&quot;kw1&quot;&gt;Else&lt;/span&gt;
  Anweisung
Endif&lt;/pre&gt;
&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row8&quot;&gt;
		&lt;th class=&quot;col0&quot;&gt; Fallauswahl (Selektion) &lt;/th&gt;&lt;td class=&quot;col1&quot;&gt; &lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$var&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;in&lt;/span&gt;
  ausdruck1&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
     Codeblock wenn var = ausdruck1
  &lt;span class=&quot;sy0&quot;&gt;;;&lt;/span&gt;
&amp;nbsp;
  &lt;span class=&quot;sy0&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
    Codeblock allgemeiner Fall
  &lt;span class=&quot;sy0&quot;&gt;;;&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;esac&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt;  &lt;/td&gt;&lt;td class=&quot;col4&quot;&gt; &lt;pre class=&quot;code vb&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;Select&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;Case&lt;/span&gt; Variable
&lt;span class=&quot;kw1&quot;&gt;Case&lt;/span&gt; 1
  Anweisung
&lt;span class=&quot;kw1&quot;&gt;Case&lt;/span&gt; 2
  Anweisung
&lt;span class=&quot;kw1&quot;&gt;Case&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;Else&lt;/span&gt;
  Anweisung &lt;/pre&gt;
&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row9&quot;&gt;
		&lt;th class=&quot;col0 leftalign&quot; colspan=&quot;5&quot;&gt; Wiederholung (Repetition, Schleife)  &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row10&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; zählergesteuert  &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt;  &lt;/td&gt;&lt;td class=&quot;col4&quot;&gt; &lt;pre class=&quot;code vb&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;For&lt;/span&gt; i = 1 &lt;span class=&quot;kw1&quot;&gt;To&lt;/span&gt; 1000 [&lt;span class=&quot;kw1&quot;&gt;step&lt;/span&gt; +1]
  Anweisung
[&lt;span class=&quot;kw1&quot;&gt;Exit&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;For&lt;/span&gt;]
  FIXME
&lt;span class=&quot;kw1&quot;&gt;Next&lt;/span&gt; i&lt;/pre&gt;
&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row11&quot;&gt;
		&lt;th class=&quot;col0&quot;&gt; für alle Elemente einer Liste (Array) &lt;/th&gt;&lt;td class=&quot;col1&quot;&gt; &lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;for&lt;/span&gt; i &lt;span class=&quot;kw1&quot;&gt;in&lt;/span&gt; a b c
&lt;span class=&quot;kw1&quot;&gt;do&lt;/span&gt;
  &lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt; i
&lt;span class=&quot;kw1&quot;&gt;done&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; nicht in Sprache enthalten, C braucht Makros&lt;sup&gt;&lt;a href=&quot;#fn__2&quot; name=&quot;fnt__2&quot; id=&quot;fnt__2&quot; class=&quot;fn_top&quot;&gt;2)&lt;/a&gt;&lt;/sup&gt; mit C++ gehts nit std::vector &lt;sup&gt;&lt;a href=&quot;#fn__3&quot; name=&quot;fnt__3&quot; id=&quot;fnt__3&quot; class=&quot;fn_top&quot;&gt;3)&lt;/a&gt;&lt;/sup&gt; &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; &lt;pre class=&quot;code php&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;foreach&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$array&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;as&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$value&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;Der aktuelle Wert ist: &amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$value&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;br&amp;gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;&lt;td class=&quot;col4&quot;&gt; &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row12&quot;&gt;
		&lt;th class=&quot;col0&quot; colspan=&quot;5&quot;&gt; Bedingungsprüfung &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row13&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; voran- (Kopf)  &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; &lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;until&lt;/span&gt; Befehl&lt;/pre&gt;

&lt;p&gt;
&lt;sup&gt;&lt;a href=&quot;#fn__4&quot; name=&quot;fnt__4&quot; id=&quot;fnt__4&quot; class=&quot;fn_top&quot;&gt;4)&lt;/a&gt;&lt;/sup&gt; 
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;do&lt;/span&gt;
  Befehlsblock
&lt;span class=&quot;kw1&quot;&gt;done&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;
 &lt;strong&gt;Alternativ&lt;/strong&gt;: 
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;while&lt;/span&gt; Befehl&lt;/pre&gt;

&lt;p&gt;
&lt;sup&gt;&lt;a href=&quot;#fn__5&quot; name=&quot;fnt__5&quot; id=&quot;fnt__5&quot; class=&quot;fn_top&quot;&gt;5)&lt;/a&gt;&lt;/sup&gt;
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;do&lt;/span&gt;
  Befehlsblock
&lt;span class=&quot;kw1&quot;&gt;done&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt;  &lt;/td&gt;&lt;td class=&quot;col4 leftalign&quot;&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row14&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; nachfolgend (Fußgesteuert)  &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt;  &lt;/td&gt;&lt;td class=&quot;col4 leftalign&quot;&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row15&quot;&gt;
		&lt;th class=&quot;col0 leftalign&quot; colspan=&quot;5&quot;&gt; Kommentare  &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row16&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; einzeilige  &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; # Kommentar &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; // &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; // &lt;/td&gt;&lt;td class=&quot;col4&quot;&gt; &amp;#039; &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row17&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; mehrzeilige  &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; (gibts nicht) &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; /* Kommentar */ &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; /* Kommentar */ &lt;/td&gt;&lt;td class=&quot;col4&quot;&gt; (gibts nicht) &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;
Wohin?

&lt;/p&gt;
&lt;pre class=&quot;code vb&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;each&lt;/span&gt; Element &lt;span class=&quot;kw1&quot;&gt;in&lt;/span&gt; A
&lt;span class=&quot;kw1&quot;&gt;Next&lt;/span&gt;&lt;/pre&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0&quot;&gt; Abkürzungen &lt;/th&gt;&lt;th class=&quot;col1&quot;&gt; Bedeutung &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; Bed. &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Bedingung(en) &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; Anw. &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Anweisung(en) &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0&quot;&gt; Datentypen / Wertebereich &lt;/th&gt;&lt;th class=&quot;col1 rightalign&quot;&gt;  C/C++ &lt;/th&gt;&lt;th class=&quot;col2&quot;&gt; &lt;acronym title=&quot;Hypertext Preprocessor&quot;&gt;PHP&lt;/acronym&gt; &lt;/th&gt;&lt;th class=&quot;col3&quot;&gt; &lt;acronym title=&quot;Visual Basic&quot;&gt;VB&lt;/acronym&gt;(A) &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; int &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; long int &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; float &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; double &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; string &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;  &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row6&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; boolean &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;  &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;
&lt;img src=&quot;http://www.stefanux.de/wiki/lib/images/smileys/fixme.gif&quot; class=&quot;middle&quot; alt=&quot;FIXME&quot; /&gt;

&lt;/p&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0&quot;&gt; Funktionsname zur Überprüfung des Datentyps &lt;/th&gt;&lt;th class=&quot;col1 rightalign&quot;&gt;  C/C++ &lt;/th&gt;&lt;th class=&quot;col2&quot;&gt; &lt;acronym title=&quot;Hypertext Preprocessor&quot;&gt;PHP&lt;/acronym&gt; &lt;/th&gt;&lt;th class=&quot;col3&quot;&gt; &lt;acronym title=&quot;Visual Basic&quot;&gt;VB&lt;/acronym&gt;(A) &lt;/th&gt;
	&lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;
&lt;img src=&quot;http://www.stefanux.de/wiki/lib/images/smileys/fixme.gif&quot; class=&quot;middle&quot; alt=&quot;FIXME&quot; /&gt;

&lt;/p&gt;

&lt;/div&gt;
&lt;div class=&quot;footnotes&quot;&gt;
&lt;div class=&quot;fn&quot;&gt;&lt;sup&gt;&lt;a href=&quot;#fnt__1&quot; id=&quot;fn__1&quot; name=&quot;fn__1&quot; class=&quot;fn_bot&quot;&gt;1)&lt;/a&gt;&lt;/sup&gt; 
beliebige Verschachtelung mit if-then-elif-then-else-fi möglich.&lt;/div&gt;
&lt;div class=&quot;fn&quot;&gt;&lt;sup&gt;&lt;a href=&quot;#fnt__2&quot; id=&quot;fn__2&quot; name=&quot;fn__2&quot; class=&quot;fn_bot&quot;&gt;2)&lt;/a&gt;&lt;/sup&gt; 
&lt;a href=&quot;http://stackoverflow.com/questions/400951/c-foreach-or-similar&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://stackoverflow.com/questions/400951/c-foreach-or-similar&quot;  rel=&quot;nofollow&quot;&gt;http://stackoverflow.com/questions/400951/c-foreach-or-similar&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;fn&quot;&gt;&lt;sup&gt;&lt;a href=&quot;#fnt__3&quot; id=&quot;fn__3&quot; name=&quot;fn__3&quot; class=&quot;fn_bot&quot;&gt;3)&lt;/a&gt;&lt;/sup&gt; 
&lt;a href=&quot;http://www.freak-und-informatiker.de/2007/12/15/foreach-und-c/&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.freak-und-informatiker.de/2007/12/15/foreach-und-c/&quot;  rel=&quot;nofollow&quot;&gt;http://www.freak-und-informatiker.de/2007/12/15/foreach-und-c/&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;fn&quot;&gt;&lt;sup&gt;&lt;a href=&quot;#fnt__4&quot; id=&quot;fn__4&quot; name=&quot;fn__4&quot; class=&quot;fn_bot&quot;&gt;4)&lt;/a&gt;&lt;/sup&gt; 
solange Exitstatus des Befehls &lt;strong&gt;ungleich&lt;/strong&gt; 0&lt;/div&gt;
&lt;div class=&quot;fn&quot;&gt;&lt;sup&gt;&lt;a href=&quot;#fnt__5&quot; id=&quot;fn__5&quot; name=&quot;fn__5&quot; class=&quot;fn_bot&quot;&gt;5)&lt;/a&gt;&lt;/sup&gt; 
solange Exitstatus des Befehls &lt;strong&gt;gleich&lt;/strong&gt; 0 ist.&lt;/div&gt;
&lt;/div&gt;
</description>
    </item>
    <item rdf:about="http://www.stefanux.de/wiki/doku.php/programmiersprachen/python?rev=1267894544&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-03-06T17:55:44+01:00</dc:date>
        <dc:creator>Stefan</dc:creator>
        <title>programmiersprachen:python</title>
        <link>http://www.stefanux.de/wiki/doku.php/programmiersprachen/python?rev=1267894544&amp;do=diff</link>
        <description>


&lt;h1&gt;&lt;a name=&quot;python&quot; id=&quot;python&quot;&gt;Python&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;http://de.wikipedia.org/wiki/Python_%28Programmiersprache%29&quot; class=&quot;interwiki iw_wpde&quot; title=&quot;http://de.wikipedia.org/wiki/Python_%28Programmiersprache%29&quot;&gt;Python&lt;/a&gt; ist ein plattformunabhängige Skriptsprache in der man schnell, einfach und leicht programmieren kann. Auch auf Webservern wird es benutzt.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Python&quot; [1-206] --&gt;
&lt;h2&gt;&lt;a name=&quot;links&quot; id=&quot;links&quot;&gt;Links&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://docs.python.org/download.html&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://docs.python.org/download.html&quot;  rel=&quot;nofollow&quot;&gt;Python Doku&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://docs.python.org/reference/index.html#reference-index&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://docs.python.org/reference/index.html#reference-index&quot;  rel=&quot;nofollow&quot;&gt;The Python Language Reference&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://docs.python.org/library/&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://docs.python.org/library/&quot;  rel=&quot;nofollow&quot;&gt;The Python Standard Library&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.heise.de/ix/artikel/Objektbeschwoerung-505184.html&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.heise.de/ix/artikel/Objektbeschwoerung-505184.html&quot;  rel=&quot;nofollow&quot;&gt;Objektbeschwörung (iX 03/1996, Seite 144)&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://pypi.python.org/pypi&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://pypi.python.org/pypi&quot;  rel=&quot;nofollow&quot;&gt;Python Package Index&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://staff.washington.edu/jon/pymodel/www/&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://staff.washington.edu/jon/pymodel/www/&quot;  rel=&quot;nofollow&quot;&gt;Pymodel - a model-based testing framework in Python&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.vex.net/parnassus/&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.vex.net/parnassus/&quot;  rel=&quot;nofollow&quot;&gt;The Vaults of Parnassus: Python Resources&lt;/a&gt; (aktuell offline)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://news.feed-reader.net/117332-python-3.html&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://news.feed-reader.net/117332-python-3.html&quot;  rel=&quot;nofollow&quot;&gt;What’s New In Python 3.0&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.artima.com/intv/aboutme.html&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.artima.com/intv/aboutme.html&quot;  rel=&quot;nofollow&quot;&gt;Python and the Programmer&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.linuxjournal.com/article/2605&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.linuxjournal.com/article/2605&quot;  rel=&quot;nofollow&quot;&gt;The Python DB-API&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.heise.de/newsticker/meldung/Python-wird-vollwertige-Programmiersprache-fuer-Symbian-929487.html&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.heise.de/newsticker/meldung/Python-wird-vollwertige-Programmiersprache-fuer-Symbian-929487.html&quot;  rel=&quot;nofollow&quot;&gt;Python wird vollwertige Programmiersprache für Symbian&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Links&quot; [207-1219] --&gt;
&lt;h3&gt;&lt;a name=&quot;python-beispiel-code&quot; id=&quot;python-beispiel-code&quot;&gt;Python Beispiel-Code&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;&lt;a href=&quot;http://pythonbook.hajji.name/de/toc.html&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://pythonbook.hajji.name/de/toc.html&quot;  rel=&quot;nofollow&quot;&gt;Support Website des Buches: Das Python Praxisbuch&lt;/a&gt;&lt;/strong&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.amk.ca/python/simple/&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.amk.ca/python/simple/&quot;  rel=&quot;nofollow&quot;&gt;Simple Sample Python Code&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Python Beispiel-Code&quot; [1220-1423] --&gt;
&lt;h3&gt;&lt;a name=&quot;integration-in-openoffice&quot; id=&quot;integration-in-openoffice&quot;&gt;Integration in Openoffice&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.ooowiki.de/Python&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.ooowiki.de/Python&quot;  rel=&quot;nofollow&quot;&gt;Python im ooowiki&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://de.openoffice.org/doc/entwicklung/python_bruecke.html&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://de.openoffice.org/doc/entwicklung/python_bruecke.html&quot;  rel=&quot;nofollow&quot;&gt;Die Python-UNO-Brücke von OpenOffice.org&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://wiki.services.openoffice.org/wiki/Python_as_a_macro_language&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://wiki.services.openoffice.org/wiki/Python_as_a_macro_language&quot;  rel=&quot;nofollow&quot;&gt;Python as a macro language&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://wiki.services.openoffice.org/wiki/Documentation/DevGuide/OpenOffice.org_Developers_Guide&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://wiki.services.openoffice.org/wiki/Documentation/DevGuide/OpenOffice.org_Developers_Guide&quot;  rel=&quot;nofollow&quot;&gt;OpenOffice.org Developer&amp;#039;s Guide&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://wiki.services.openoffice.org/wiki/Extensions_development_python&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://wiki.services.openoffice.org/wiki/Extensions_development_python&quot;  rel=&quot;nofollow&quot;&gt;PyUNO&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://udk.openoffice.org/python/python-bridge.html&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://udk.openoffice.org/python/python-bridge.html&quot;  rel=&quot;nofollow&quot;&gt;Python-UNO bridge - IMPORTANT: Workarounds for pyuno problems in OOo3.0.0&lt;/a&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Integration in Openoffice&quot; [1424-2090] --&gt;
&lt;h3&gt;&lt;a name=&quot;drittanbietermodule&quot; id=&quot;drittanbietermodule&quot;&gt;Drittanbietermodule&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.picloud.com/product/&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.picloud.com/product/&quot;  rel=&quot;nofollow&quot;&gt;picloud&lt;/a&gt; - einfache Anbindung an Amazins EC2, leider bisher nur Server in den USA&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://imdbpy.sourceforge.net/&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://imdbpy.sourceforge.net/&quot;  rel=&quot;nofollow&quot;&gt;imdbPy&lt;/a&gt; - IMDB per Python ansprechen&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Drittanbietermodule&quot; [2091-2320] --&gt;
&lt;h2&gt;&lt;a name=&quot;dokumentation-finden&quot; id=&quot;dokumentation-finden&quot;&gt;Dokumentation finden&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Kommentare im Quellcode&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Informationen über Attribute anzeigen mit der dir()-Funktion, z. B.  &lt;pre class=&quot;code python&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;dir&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;str&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Docstrings: __doc__ z. B. &lt;pre class=&quot;code python&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;sys&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;sys&lt;/span&gt;.__doc__&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; PyDoc - bereitet docstrings auf:&lt;pre class=&quot;code python&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;sys&lt;/span&gt;
&lt;span class=&quot;kw2&quot;&gt;help&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw3&quot;&gt;sys&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;modules&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;
 &lt;img src=&quot;http://www.stefanux.de/wiki/lib/images/smileys/icon_exclaim.gif&quot; class=&quot;middle&quot; alt=&quot;:!:&quot; /&gt; Es existiert mit dem skript pydocgui (bzw. auf &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/windows/windows&quot; class=&quot;wikilink1&quot; title=&quot;windows:windows&quot;&gt;Windows&lt;/a&gt; der Eintrag „Module Docs“ im Startmenu) auch eine Ausgabe in &lt;acronym title=&quot;HyperText Markup Language&quot;&gt;HTML&lt;/acronym&gt;
&lt;/p&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Dokumentation finden&quot; [2321-2805] --&gt;
&lt;h3&gt;&lt;a name=&quot;anleitungen&quot; id=&quot;anleitungen&quot;&gt;Anleitungen&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://docs.python.org/inst/inst.html&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://docs.python.org/inst/inst.html&quot;  rel=&quot;nofollow&quot;&gt;Installing Python Modules&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.python.org/doc/current/tut/tut.html&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.python.org/doc/current/tut/tut.html&quot;  rel=&quot;nofollow&quot;&gt;Python Tutorial&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.programmingtutorials.com/python.aspx&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.programmingtutorials.com/python.aspx&quot;  rel=&quot;nofollow&quot;&gt;Python Tutorials (Linkliste)&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.awaretek.com/tutorials.html&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.awaretek.com/tutorials.html&quot;  rel=&quot;nofollow&quot;&gt;Python Tutorial (Links)&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Anleitungen&quot; [2806-3129] --&gt;
&lt;h2&gt;&lt;a name=&quot;entwicklungsumgebungen-ide&quot; id=&quot;entwicklungsumgebungen-ide&quot;&gt;Entwicklungsumgebungen (IDE)&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; IDLE: mitgeliefert, baut auf dem portablen Tkinter auf, sieht allerdings auch dementsprechend schlicht aus.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://pydev.org/&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://pydev.org/&quot;  rel=&quot;nofollow&quot;&gt;PyDev&lt;/a&gt;: Python IDE für Eclipse&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Komodo (kommerziell)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://wingware.com&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://wingware.com&quot;  rel=&quot;nofollow&quot;&gt;Wing IDE&lt;/a&gt;, kostenlose Varianten für den privaten Gebrauch verfügbar (&lt;a href=&quot;http://www.wingware.com/wingide-personal&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.wingware.com/wingide-personal&quot;  rel=&quot;nofollow&quot;&gt;Wing IDE Personal&lt;/a&gt; oder &lt;a href=&quot;http://www.wingware.com/wingide-101&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.wingware.com/wingide-101&quot;  rel=&quot;nofollow&quot;&gt;Wing IDE 101&lt;/a&gt;)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.python.org/download/windows/&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.python.org/download/windows/&quot;  rel=&quot;nofollow&quot;&gt;PythonWin&lt;/a&gt;: kostenlos und und Windows-spezifischen Erweiterungen (Win32 &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt; und COM-Supoort); auch &lt;a href=&quot;http://sourceforge.net/projects/pywin32/&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://sourceforge.net/projects/pywin32/&quot;  rel=&quot;nofollow&quot;&gt;zusammen in einem Paket mit Python&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://dreampie.sourceforge.net/&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://dreampie.sourceforge.net/&quot;  rel=&quot;nofollow&quot;&gt;DreamPie&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Entwicklungsumgebungen (IDE)&quot; [3130-3863] --&gt;
&lt;h2&gt;&lt;a name=&quot;python-interpreter&quot; id=&quot;python-interpreter&quot;&gt;Python-Interpreter&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;

Nach dem Aufruf des Interpreters übersetzt der den Quelltext in maschienenunabhängigen Bytecode (abgespeichert hat er die Dateiendung .pyc) der dann zur Laufzeit von der Python virtual machine (PVM) ausgeführt wird.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Python-Interpreter&quot; [3864-4118] --&gt;
&lt;h3&gt;&lt;a name=&quot;syntax-regeln&quot; id=&quot;syntax-regeln&quot;&gt;Syntax-Regeln&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Einrückungen sind nicht optional sondern Teil der Syntax&lt;/strong&gt;!&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; die &lt;strong&gt;Reihenfolge der Anweisungen&lt;/strong&gt; richtet sich danach was hintereinander steht, außer es wird durch Kontrolflussanweisungen (if-Konstrukte etc.) anders bestimmt.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Blöcke und Anweisungsgrenzen&lt;/strong&gt; werden anhand von normalen Zeilenumbrüchen und Einrückungen erkannt&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Verbundanweisungen&lt;/strong&gt; werden durch eine Kopfzeile (z.B. „if x:“) und natürlich durch Einrückungen der folgenden Zeilen bestimmt&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Leerzeichen&lt;/strong&gt; in Anweisungen und Ausdrücken &lt;strong&gt;werden ignoriert&lt;/strong&gt;, außer in Strings und bei Einrückungen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Leerzeilenwerden in Dateien ignoriert&lt;/strong&gt;, nur in der interaktiven Eingabe nicht&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Kommentare&lt;/strong&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; einzeilig: (mit Raute “#“ gekennzeichnet) Text wird bis zum Zeilenende ignoriert &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; mehrzeilig: (mit drei Anführungzeichen “““ gekennzeichnet) Text wird bis zu den nächsten drei Anführungszeichen ignoriert &lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Dokumentationsstring&lt;/strong&gt; (kurz docstrings) werden ignoriert aber von einigen Programmen angezeigt&lt;/div&gt;
&lt;ol&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; docstrings sind der erste Text der in einem Objekt oder einer Funktion.&lt;pre class=&quot;code python&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;sys&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;sys&lt;/span&gt;.__doc__&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; PyDoc zeigt die docstrings noch einfacher an:&lt;pre class=&quot;code python&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;sys&lt;/span&gt;
&lt;span class=&quot;kw2&quot;&gt;help&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw3&quot;&gt;sys&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;
Eine Ausgabe ist übrigens auch in html möglich.
&lt;/p&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Syntax-Regeln&quot; [4119-5430] --&gt;
&lt;h3&gt;&lt;a name=&quot;programme-ausführen&quot; id=&quot;programme-ausführen&quot;&gt;Programme ausführen&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;

Vorraussetzung: Ein Python-Interpreter ist auf dem System und im Suchpfad erreichbar.

&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;interaktiv&lt;/strong&gt;: python (Prompt wechselt zu “&amp;gt;&amp;gt;&amp;gt;“, bei mehrzeiligen Anweisungen, die mit einem einfachen Backslash „\“ am Zeilenende (oder mit drei Anführungszeichen) markiert werden, in “…“) hier gibt es ein paar &lt;strong&gt;Besonderheiten&lt;/strong&gt;:&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; nur Python-Code eingeben, keine Systemkommandos&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; print anweisungen sind hier nicht explizit nötig, statt „print &amp;#039;variable&amp;#039; “ reicht „variable“&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; keine Einrückungen verwenden, führende Leerzeichen führen zu Fehlern&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Aufruf des Interpreters&lt;/strong&gt; für eine Datei.py: „python Datei.py“ unter &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/windows/windows&quot; class=&quot;wikilink1&quot; title=&quot;windows:windows&quot;&gt;Windows&lt;/a&gt; schließt sich die Eingabeaufforderung nachdem das Programm fertig ist, um das zu umgehen könnte man am Ende ein &lt;pre class=&quot;code python&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;raw_input&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;
 hinzufügen das auf einen Tastendruck wartet. Bricht allerdings das Programm vorher unerwartet mit einem Fehler ab, wird diese letzte Anweisung nicht mehr ausgeführt.
&lt;/p&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/linux/linux&quot; class=&quot;wikilink1&quot; title=&quot;linux:linux&quot;&gt;Linux&lt;/a&gt;: ausführbare Textdatei mit entsprechendem Vorspann entsprechend formulieren (unicode):&lt;pre class=&quot;file&quot;&gt;#!/usr/bin/env python
# -*- coding: utf-8 -*&lt;/pre&gt;

&lt;p&gt;
 die erste Zeile kann auch spezifischer sein, ist dann allerdings nicht mehr so gut portabel! 
&lt;/p&gt;
&lt;pre class=&quot;file&quot;&gt;#!/usr/bin/python2.6&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Programme ausführen&quot; [5431-6742] --&gt;
&lt;h3&gt;&lt;a name=&quot;implementierungen&quot; id=&quot;implementierungen&quot;&gt;Implementierungen&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;CPython&lt;/strong&gt;: Referenzimplementierung, in portablem ANSI C geschrieben, und standardmäßig eingesetzt&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Jpython&lt;/strong&gt;: in Java implementiert, Quellcode wird in Java-Bytecode übersetzt und dieser dann in der Java virtual machine (JVM) ausgeführt. Damit verhalten sie Programme wie in Java geschrieben und können dementsprechend als Web-Applets und -Servlets fungieren ebenso die &lt;acronym title=&quot;Graphical User Interface&quot;&gt;GUI&lt;/acronym&gt;-Elemente nutzen. Langsamer und weniger robust als CPython.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Ironpython&lt;/strong&gt;: Ermöglicht eine Integration in das .Net-Framework&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Psyco&lt;/strong&gt;: Verhält sich anfangs ähnlich einer normalen PVM, ersetzt aber zur Laufzeit immer mehr Teile in maschinencode so dass Programme mit steigender Laufzeit immer performanter werden und sich der Geschwindigkeit von C annähern.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;PyPy&lt;/strong&gt;: PVM in einer Untermenge von Python (Restricted Python) implementiert um als Framework die Übersetzung beliebiger Skriptsprachen in schnelle Zielsprache zu ermöglichen.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Binärdateien erzeugen&lt;/strong&gt; : &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/windows/windows&quot; class=&quot;wikilink1&quot; title=&quot;windows:windows&quot;&gt;Windows&lt;/a&gt;: &lt;a href=&quot;http://www.py2exe.org/&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.py2exe.org/&quot;  rel=&quot;nofollow&quot;&gt;py2exe&lt;/a&gt; MacOS &lt;a href=&quot;http://pypi.python.org/pypi/py2app/&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://pypi.python.org/pypi/py2app/&quot;  rel=&quot;nofollow&quot;&gt;py2app&lt;/a&gt; und &lt;a href=&quot;http://wiki.python.org/moin/Freeze&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://wiki.python.org/moin/Freeze&quot;  rel=&quot;nofollow&quot;&gt;freeze&lt;/a&gt; für Unix-artige Systeme.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Implementierungen&quot; [6743-7934] --&gt;
&lt;h2&gt;&lt;a name=&quot;sprachelemente&quot; id=&quot;sprachelemente&quot;&gt;Sprachelemente&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;

Kommentare:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; einzeilig: # Kommentar&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; mehrezeilig: “““ Kommentar “““&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;

&lt;strong&gt;Programmstruktur&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Programme → Module → Anweisungen → Ausdrücke → bilden und verarbeiten Objekte&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;

&lt;strong&gt;Variablen&lt;/strong&gt; sind immer Zeiger auf unveränderliche Objekte, Ausnahmen sind u.a. Listen und Dictionaries wo Objekte an Ort und Stelle verändert werden. Nicht mehr benutzte Objekte werden freigegeben (garbage collection). Der Typ einer Variable kann mit type ausgegeben werden:
&lt;/p&gt;
&lt;pre class=&quot;code python&quot;&gt; &lt;span class=&quot;kw2&quot;&gt;type&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;Variable&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Sprachelemente&quot; [7935-8462] --&gt;
&lt;h3&gt;&lt;a name=&quot;kategorien-von-typen-und-operationen&quot; id=&quot;kategorien-von-typen-und-operationen&quot;&gt;Kategorien von Typen (und Operationen)&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;

Es gibt 3 Kategorien von Typen (und Operationen):

&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Abbildungen: Indizierung durch Schlüssel etc.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Sequenzen: unterstützt werden Indizierung, Verkettung, Teilbereiche etc.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Zahlen: unterstützt werden Addition, Multiplikikation etc.&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;

Dabei unterscheiden sich
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; veränderliche Typen die an Ort und Stelle geändert werden können und&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; unveränderliche Typen für deren Änderung ein neues Objekt erzeugt werden muss.&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Kategorien von Typen (und Operationen)&quot; [8463-8946] --&gt;
&lt;h3&gt;&lt;a name=&quot;typen&quot; id=&quot;typen&quot;&gt;Typen&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0&quot;&gt; Objekttyp &lt;/th&gt;&lt;th class=&quot;col1 leftalign&quot;&gt; (Erzeugungs-) Beispiele  &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;th class=&quot;col0&quot; colspan=&quot;2&quot;&gt; &lt;strong&gt;Zahlen&lt;/strong&gt; &lt;sup&gt;&lt;a href=&quot;#fn__1&quot; name=&quot;fnt__1&quot; id=&quot;fnt__1&quot; class=&quot;fn_top&quot;&gt;1)&lt;/a&gt;&lt;/sup&gt;&lt;sup&gt;&lt;a href=&quot;#fn__2&quot; name=&quot;fnt__2&quot; id=&quot;fnt__2&quot; class=&quot;fn_top&quot;&gt;2)&lt;/a&gt;&lt;/sup&gt; &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; Normale Ganzzahl &lt;sup&gt;&lt;a href=&quot;#fn__3&quot; name=&quot;fnt__3&quot; id=&quot;fnt__3&quot; class=&quot;fn_top&quot;&gt;3)&lt;/a&gt;&lt;/sup&gt; &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; 1234, -48, 0 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; Lange Ganzzahl &lt;sup&gt;&lt;a href=&quot;#fn__4&quot; name=&quot;fnt__4&quot; id=&quot;fnt__4&quot; class=&quot;fn_top&quot;&gt;4)&lt;/a&gt;&lt;/sup&gt; &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; 99999999999999999L &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; Fließkommazahl &lt;sup&gt;&lt;a href=&quot;#fn__5&quot; name=&quot;fnt__5&quot; id=&quot;fnt__5&quot; class=&quot;fn_top&quot;&gt;5)&lt;/a&gt;&lt;/sup&gt; &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; 1.23, 3.14e-10, 5E123, 5.0e+234 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; Oktale und Hexadezimale Literale &lt;sup&gt;&lt;a href=&quot;#fn__6&quot; name=&quot;fnt__6&quot; id=&quot;fnt__6&quot; class=&quot;fn_top&quot;&gt;6)&lt;/a&gt;&lt;/sup&gt; &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; 0167, 0xf3f, 0XFF &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row6&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; Komplexe Zahlen &lt;sup&gt;&lt;a href=&quot;#fn__7&quot; name=&quot;fnt__7&quot; id=&quot;fnt__7&quot; class=&quot;fn_top&quot;&gt;7)&lt;/a&gt;&lt;/sup&gt;) &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; 3+4j, 3.0+4.0j, 3J &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row7&quot;&gt;
		&lt;th class=&quot;col0&quot; colspan=&quot;2&quot;&gt; &lt;strong&gt;Strings&lt;/strong&gt; (=Zeichenketten) &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row8&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; Leerer String &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; a = &amp;#039;&amp;#039; &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row9&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; einfache und doppelte Anführungszeichen: kennzeichnen Text, beide Varianten sind gleichwertig &lt;sup&gt;&lt;a href=&quot;#fn__8&quot; name=&quot;fnt__8&quot; id=&quot;fnt__8&quot; class=&quot;fn_top&quot;&gt;8)&lt;/a&gt;&lt;/sup&gt; &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; „text“ oder &amp;#039;text&amp;#039; &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row10&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; dreifache Anführungszeichen: beliebig lange Texte &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; &lt;pre class=&quot;code python&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;quot;&amp;quot; erste Zeile&lt;/span&gt;&lt;/pre&gt;
&lt;pre class=&quot;code python&quot;&gt;zweite Zeile &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;quot;&amp;quot;&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row11&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; Escape-sequenzen &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; &lt;pre class=&quot;code python&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;Anführungszeichen &lt;span class=&quot;es0&quot;&gt;\&amp;quot;&lt;/span&gt; sind toll &amp;quot;&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;
 spezielle Zeichen wie \n für Zeilenumbruch oder \t für Tabulator gelten außerdem 
&lt;/p&gt;
&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row12&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; rohe strings (python escaped automatisch) &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; pfad = r&amp;#039;C:\ordner\datei.txt&amp;#039; &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row13&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; Unicode strings &lt;sup&gt;&lt;a href=&quot;#fn__9&quot; name=&quot;fnt__9&quot; id=&quot;fnt__9&quot; class=&quot;fn_top&quot;&gt;9)&lt;/a&gt;&lt;/sup&gt; &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; u&amp;#039;deutsche Umlaute in unicode: öäü&amp;#039; &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row14&quot;&gt;
		&lt;th class=&quot;col0&quot; colspan=&quot;2&quot;&gt; &lt;strong&gt;Listen&lt;/strong&gt; - eine Sammlung beliebiger Objektarten &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row15&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; Zugriff auf einzelne Elemente &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; &lt;pre class=&quot;code python&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;print&lt;/span&gt; liste&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row16&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; Listen reagieren bei Operatoren ähnlich wie Strings &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row17&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; Länge bestimmen &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; &lt;pre class=&quot;code python&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;len&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;, &lt;span class=&quot;nu0&quot;&gt;2&lt;/span&gt;, &lt;span class=&quot;nu0&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;
 ergibt drei 
&lt;/p&gt;
&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row18&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; Verkettung &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; &lt;pre class=&quot;code python&quot;&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;, &lt;span class=&quot;nu0&quot;&gt;2&lt;/span&gt;, &lt;span class=&quot;nu0&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;4&lt;/span&gt;, &lt;span class=&quot;nu0&quot;&gt;5&lt;/span&gt;, &lt;span class=&quot;nu0&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;
 ergibt [1, 2, 3, 4, 5, 6] 
&lt;/p&gt;
&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row19&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; Enthalten? &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; &lt;pre class=&quot;code python&quot;&gt;3 &lt;span class=&quot;kw1&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;, &lt;span class=&quot;nu0&quot;&gt;2&lt;/span&gt;, &lt;span class=&quot;nu0&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;
 ergibt „True“ 
&lt;/p&gt;
&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row20&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; Iteration &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; &lt;pre class=&quot;code python&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;for&lt;/span&gt; x &lt;span class=&quot;kw1&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;1, 2, 3&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;: &lt;span class=&quot;kw1&quot;&gt;print&lt;/span&gt; x&lt;/pre&gt;
&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row21&quot;&gt;
		&lt;th class=&quot;col0 leftalign&quot; colspan=&quot;2&quot;&gt; &lt;strong&gt;Dictionaries&lt;/strong&gt; (=Wörterbücher)  &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row22&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;img src=&quot;http://www.stefanux.de/wiki/lib/images/smileys/fixme.gif&quot; class=&quot;middle&quot; alt=&quot;FIXME&quot; /&gt; &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row23&quot;&gt;
		&lt;th class=&quot;col0 leftalign&quot; colspan=&quot;2&quot;&gt; &lt;strong&gt;Tupel&lt;/strong&gt;  &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row24&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;img src=&quot;http://www.stefanux.de/wiki/lib/images/smileys/fixme.gif&quot; class=&quot;middle&quot; alt=&quot;FIXME&quot; /&gt; &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row25&quot;&gt;
		&lt;th class=&quot;col0 leftalign&quot; colspan=&quot;2&quot;&gt; &lt;strong&gt;Dateien&lt;/strong&gt;  &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row26&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;img src=&quot;http://www.stefanux.de/wiki/lib/images/smileys/fixme.gif&quot; class=&quot;middle&quot; alt=&quot;FIXME&quot; /&gt; &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row27&quot;&gt;
		&lt;th class=&quot;col0 leftalign&quot; colspan=&quot;2&quot;&gt; &lt;strong&gt;Mengen&lt;/strong&gt;  &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row28&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;img src=&quot;http://www.stefanux.de/wiki/lib/images/smileys/fixme.gif&quot; class=&quot;middle&quot; alt=&quot;FIXME&quot; /&gt; &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;  &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;

&lt;strong&gt;explizite Typumwandlung&lt;/strong&gt;:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; als Zahl: int(23)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; als String: str(23)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; als float: float(„1.234E-100“)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; …&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Typen&quot; [8947-11746] --&gt;
&lt;h3&gt;&lt;a name=&quot;operationen&quot; id=&quot;operationen&quot;&gt;Operationen&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;

&lt;strong&gt;Ausdrucksoperatoren&lt;/strong&gt;:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; einfache Arithmetik: + * / - &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Potenzierung: (2 hoch 100) &lt;pre class=&quot;code python&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;2&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;**&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;100&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &amp;gt;&amp;gt; &lt;img src=&quot;http://www.stefanux.de/wiki/lib/images/smileys/fixme.gif&quot; class=&quot;middle&quot; alt=&quot;FIXME&quot; /&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Verkettung | &lt;pre class=&quot;code python&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;'hello '&lt;/span&gt; + &lt;span class=&quot;st0&quot;&gt;'world'&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; …&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Operationen&quot; [11747-11996] --&gt;
&lt;h3&gt;&lt;a name=&quot;if-anweisung&quot; id=&quot;if-anweisung&quot;&gt;if-Anweisung&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;einfachster Fall&lt;/strong&gt;:&lt;pre class=&quot;code python&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; x == 1:
  &lt;span class=&quot;kw1&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;x ist gleich 1.&amp;quot;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;komplexester Fall&lt;/strong&gt; mit allen optionalen Bestandteilen:&lt;pre class=&quot;code python&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; x == 1:
  &lt;span class=&quot;kw1&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;x ist gleich 1.&amp;quot;&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;elif&lt;/span&gt; x == 0
  &lt;span class=&quot;kw1&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;x ist gleich 0.&amp;quot;&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;else&lt;/span&gt;:
  &lt;span class=&quot;kw1&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;x ist weder 1 noch 0.&amp;quot;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Mehrfach-Verzweigung&lt;/strong&gt; (ähnlich switch/case in anderen Sprachen) sind mit „elif“ Konstrukten (s. o.) abbildbar, zusätzlich kann das durch Indizierung in Dictionaries oder Suche in Listen evtl. flexibler gestaltet werden:&lt;pre class=&quot;code python&quot;&gt;auswahl = &lt;span class=&quot;st0&quot;&gt;&amp;quot;Hilfe&amp;quot;&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;keineHilfe&amp;quot;&lt;/span&gt;: &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;,
&lt;span class=&quot;st0&quot;&gt;&amp;quot;Hilfe&amp;quot;&lt;/span&gt;: &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;,
&lt;span class=&quot;st0&quot;&gt;&amp;quot;Sonstiges&amp;quot;&lt;/span&gt;: &lt;span class=&quot;nu0&quot;&gt;9&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;auswahl&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Standardwert&lt;/strong&gt; setzen - mit &lt;code&gt;has_key()&lt;/code&gt; oder &lt;code&gt;get()&lt;/code&gt;:&lt;pre class=&quot;code python&quot;&gt;auswahl = &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;keineHilfe&amp;quot;&lt;/span&gt;: &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;,
&lt;span class=&quot;st0&quot;&gt;&amp;quot;Hilfe&amp;quot;&lt;/span&gt;: &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;,
&lt;span class=&quot;st0&quot;&gt;&amp;quot;egal&amp;quot;&lt;/span&gt;: 3&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;print&lt;/span&gt; auswahl.&lt;span class=&quot;me1&quot;&gt;get&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;Antwort nicht enthalten&amp;quot;&lt;/span&gt;, &lt;span class=&quot;st0&quot;&gt;&amp;quot;Sonstiges&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;if-Anweisung&quot; [11997-12821] --&gt;
&lt;h3&gt;&lt;a name=&quot;schleifen&quot; id=&quot;schleifen&quot;&gt;Schleifen&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;

Folgende zwei Schleifenkonstrukte sind die wichtigsten, es gibt noch allerdings noch andere Funktionen wie map, reduce, filter, den Elementtest mit in, List Comprehensions usw.

&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;while-Schleife&lt;/strong&gt;: führt immer wieder einen Block solange die Bedingung in Kopfzeile erfüllt ist (ein wahren Wert ergibt). Wenn er anfangs nicht erfüllt ist, wird nichts ausgeführt also spricht man von einer kopfgesteuerten Schleife.&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; continue - springt zur Kopfzeile der innersten Schleife&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Beispiel&lt;/strong&gt;:&lt;pre class=&quot;code python&quot;&gt;a = 0
&lt;span class=&quot;kw1&quot;&gt;while&lt;/span&gt; a &lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;10&lt;/span&gt;:
    a = a + &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;   &lt;span class=&quot;co1&quot;&gt;# Kurzschreibweise: a += 1    &lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; a == 5:
        &lt;span class=&quot;kw1&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;die 5 gebe ich nicht aus!&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;kw1&quot;&gt;continue&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;print&lt;/span&gt; a
&lt;span class=&quot;kw1&quot;&gt;else&lt;/span&gt;:
    &lt;span class=&quot;kw1&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;Schleife normal beendet&amp;quot;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; break - springt aus der innersten Schleife heraus: Beispiel wo die Schleife nicht normal beendet wird, weil bei der 5 abgebrochen wird&lt;pre class=&quot;code python&quot;&gt;a = 0
&lt;span class=&quot;kw1&quot;&gt;while&lt;/span&gt; a &lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;10&lt;/span&gt;:
    a = a + &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;   &lt;span class=&quot;co1&quot;&gt;# Kurzschreibweise: a += 1    &lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; a == 5:
        &lt;span class=&quot;kw1&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;die 5 gebe ich nicht aus!&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;kw1&quot;&gt;break&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;print&lt;/span&gt; a
&lt;span class=&quot;kw1&quot;&gt;else&lt;/span&gt;:
    &lt;span class=&quot;kw1&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;Schleife normal beendet&amp;quot;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; pass - tut nichts, dient als Platzhalter&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; „else:“ Block nach Schleife: wird ausgeführt wenn Schleife normal beendet wird (ohne break)&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;for-Schleife&lt;/strong&gt;: läuft über alle Elemente eines geordneten (Sequenz-) Objekts (z. B. Strings, Listen und Tupel)&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Beispiel&lt;/strong&gt;:&lt;pre class=&quot;code python&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;for&lt;/span&gt; a &lt;span class=&quot;kw1&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;erster &amp;quot;&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;zweiter &amp;quot;&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;dritter&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;:
  &lt;span class=&quot;kw1&quot;&gt;print&lt;/span&gt; a&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; mit range, xrange und zip können Indices für Zählschleifen generiert werden&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; umgekehrte Iteration gehen mit reverse&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Schleifen&quot; [12822-14406] --&gt;
&lt;h3&gt;&lt;a name=&quot;funktionen&quot; id=&quot;funktionen&quot;&gt;Funktionen&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;

&lt;strong&gt;beim Aufruf&lt;/strong&gt;:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Normales Argument&lt;/strong&gt; kommen &lt;strong&gt;mit&lt;/strong&gt; dieser &lt;strong&gt;Positionierung&lt;/strong&gt; in der Funktion an:&lt;pre class=&quot;code python&quot;&gt;funktionsname&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;wert1, wert2&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Argumente mit Namensangabe&lt;/strong&gt; &lt;pre class=&quot;code python&quot;&gt;funktionsname&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;argument1=wert1, argument2=wert2&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;
 in diesem Fall gleichbedeutend:
&lt;/p&gt;
&lt;pre class=&quot;code python&quot;&gt;funktionsname&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;argument2=wert2, argument1=wert1&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;

&lt;strong&gt;in der Funktionsdeklaration&lt;/strong&gt;:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;normales Argument&lt;/strong&gt;, Vergleich nach Name oder Position: &lt;pre class=&quot;code python&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;def&lt;/span&gt; funktion&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;wert&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Parameter (name) hat &lt;strong&gt;Vorgabewert&lt;/strong&gt; (wert) falls keiner übergeben wurde: &lt;pre class=&quot;code python&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;def&lt;/span&gt; funktion&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;name=wert&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Verbleibende Argumente in ein Tupel&lt;/strong&gt; speichern: &lt;pre class=&quot;code python&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;def&lt;/span&gt; funktion&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;*&lt;/span&gt;tupel&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Verbleibende Argumente in ein dictionary&lt;/strong&gt; speichern &lt;pre class=&quot;code python&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;def&lt;/span&gt; funktion&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;**&lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;dict&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;

Eine &lt;strong&gt;Sonderform&lt;/strong&gt; ist der &lt;strong&gt;lamba-Ausdruck&lt;/strong&gt;, er wird oft als inline-Funktion benutzt. Damit können Funktionen an Stellen aufgerufen werden, wo sonst kein „def“ erlaubt wäre.
&lt;/p&gt;

&lt;p&gt;
Anstatt (Ein- und Ausgabe der interaktiven Shell):

&lt;/p&gt;
&lt;pre class=&quot;code python&quot;&gt;&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;def&lt;/span&gt; function&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;a, b, c&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;: &lt;span class=&quot;kw1&quot;&gt;return&lt;/span&gt; a + b + c
... 
&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; function&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;, &lt;span class=&quot;nu0&quot;&gt;2&lt;/span&gt;, &lt;span class=&quot;nu0&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&lt;span class=&quot;nu0&quot;&gt;6&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;

geht genauso:

&lt;/p&gt;
&lt;pre class=&quot;code python&quot;&gt;&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; rechne = &lt;span class=&quot;kw1&quot;&gt;lambda&lt;/span&gt; a, b, c: a + b + c
&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; rechne
&lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt;function &lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt;lambda&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt; at 0x87096f4&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; rechne&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;, &lt;span class=&quot;nu0&quot;&gt;2&lt;/span&gt;, &lt;span class=&quot;nu0&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&lt;span class=&quot;nu0&quot;&gt;6&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Funktionen&quot; [14407-15708] --&gt;
&lt;h3&gt;&lt;a name=&quot;module&quot; id=&quot;module&quot;&gt;Module&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;

&lt;img src=&quot;http://www.stefanux.de/wiki/lib/images/smileys/fixme.gif&quot; class=&quot;middle&quot; alt=&quot;FIXME&quot; /&gt; (Umfang)
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Import von Modulen&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Dateiendungen und Pfade müssen weggelassen werden&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; jede .py-Datei kann als Modul importiert werden: &lt;pre class=&quot;code python&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;import&lt;/span&gt; modulename&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; ein import findet nur bei ersten mal statt, ein erneuter Import muss so erfolgen:&lt;pre class=&quot;code python&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;reload&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;modulename&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Module&quot; [15709-16040] --&gt;
&lt;h2&gt;&lt;a name=&quot;integration-in-webserver&quot; id=&quot;integration-in-webserver&quot;&gt;Integration in Webserver&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Integration in Webserver&quot; [16041-16078] --&gt;
&lt;h3&gt;&lt;a name=&quot;apache2-konfiguration-mod_python&quot; id=&quot;apache2-konfiguration-mod_python&quot;&gt;Apache2 Konfiguration (mod_python)&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;

Siehe auch: &lt;a href=&quot;http://www.modpython.org/live/mod_python-3.3.1/doc-html/&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.modpython.org/live/mod_python-3.3.1/doc-html/&quot;  rel=&quot;nofollow&quot;&gt;Mod_python Manual&lt;/a&gt; und &lt;a href=&quot;http://www.onlamp.com/pub/a/python/2003/10/02/mod_python.html&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.onlamp.com/pub/a/python/2003/10/02/mod_python.html&quot;  rel=&quot;nofollow&quot;&gt;Introducing mod_python&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
Zuerst muss einmal &lt;code&gt;mod_python&lt;/code&gt;
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; installiert&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; aktiviert sein (a2enmod mod_python)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; und für die Verarbeitung von .py-Dateien benutzt werden. Um für das Verzeichnis /var/www/pythondir Python zu aktivieren, braucht es nur wenig Code:&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;pre class=&quot;code&quot;&gt;
&amp;lt;Directory /var/www/pythondir&amp;gt; 
  AddHandler mod_python .py
&amp;lt;/Directory&amp;gt;
&lt;/pre&gt;

&lt;p&gt;

Natürlich kann man mod_python auch global aktivieren, dann lässt man die Einschränkung auf ein einziges Verzeichnis eben weg.
&lt;/p&gt;

&lt;p&gt;
Andere Optionen (z.B. PythonHandler Dateiname (ohne .py); PythonDebug On usw.) sind auch möglich.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Apache2 Konfiguration (mod_python)&quot; [16079-] --&gt;&lt;div class=&quot;footnotes&quot;&gt;
&lt;div class=&quot;fn&quot;&gt;&lt;sup&gt;&lt;a href=&quot;#fnt__1&quot; id=&quot;fn__1&quot; name=&quot;fn__1&quot; class=&quot;fn_bot&quot;&gt;1)&lt;/a&gt;&lt;/sup&gt; 
Zahlen haben bei CPython die gleiche Genauigkeit wie der Compiler der den Python-Interpreter erstellt hat&lt;/div&gt;
&lt;div class=&quot;fn&quot;&gt;&lt;sup&gt;&lt;a href=&quot;#fnt__2&quot; id=&quot;fn__2&quot; name=&quot;fn__2&quot; class=&quot;fn_bot&quot;&gt;2)&lt;/a&gt;&lt;/sup&gt; 
Erweiterung &lt;a href=&quot;http://numpy.scipy.org/&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://numpy.scipy.org/&quot;  rel=&quot;nofollow&quot;&gt;NumPy&lt;/a&gt; bietet zusätzliche Werkzeuge und z. B. einen Matrix-Datentypen&lt;/div&gt;
&lt;div class=&quot;fn&quot;&gt;&lt;sup&gt;&lt;a href=&quot;#fnt__3&quot; id=&quot;fn__3&quot; name=&quot;fn__3&quot; class=&quot;fn_bot&quot;&gt;3)&lt;/a&gt;&lt;/sup&gt; 
in &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/programmiersprachen/c&quot; class=&quot;wikilink1&quot; title=&quot;programmiersprachen:c&quot;&gt;C&lt;/a&gt;: long; intern als &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/programmiersprachen/c&quot; class=&quot;wikilink1&quot; title=&quot;programmiersprachen:c&quot;&gt;C&lt;/a&gt;-longs implementiert, d.h. mindestens 32Bit&lt;/div&gt;
&lt;div class=&quot;fn&quot;&gt;&lt;sup&gt;&lt;a href=&quot;#fnt__4&quot; id=&quot;fn__4&quot; name=&quot;fn__4&quot; class=&quot;fn_bot&quot;&gt;4)&lt;/a&gt;&lt;/sup&gt; 
unbegrenzt; L seit Python 2.2 nicht mehr nötig da Zahlen automatisch von normal in lange Zahlen konvertiert werden&lt;/div&gt;
&lt;div class=&quot;fn&quot;&gt;&lt;sup&gt;&lt;a href=&quot;#fnt__5&quot; id=&quot;fn__5&quot; name=&quot;fn__5&quot; class=&quot;fn_bot&quot;&gt;5)&lt;/a&gt;&lt;/sup&gt; 
e oder E kennzeichnet den Exponenten mit oder ohne Vorzeichen; intern als &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/programmiersprachen/c&quot; class=&quot;wikilink1&quot; title=&quot;programmiersprachen:c&quot;&gt;C&lt;/a&gt;-double implementiert&lt;/div&gt;
&lt;div class=&quot;fn&quot;&gt;&lt;sup&gt;&lt;a href=&quot;#fnt__6&quot; id=&quot;fn__6&quot; name=&quot;fn__6&quot; class=&quot;fn_bot&quot;&gt;6)&lt;/a&gt;&lt;/sup&gt; 
Klein oder Großbuchstaben sind gleichwertig&lt;/div&gt;
&lt;div class=&quot;fn&quot;&gt;&lt;sup&gt;&lt;a href=&quot;#fnt__7&quot; id=&quot;fn__7&quot; name=&quot;fn__7&quot; class=&quot;fn_bot&quot;&gt;7)&lt;/a&gt;&lt;/sup&gt; 
Realteil (optional) + Imaginärteil (endet of j oder J&lt;/div&gt;
&lt;div class=&quot;fn&quot;&gt;&lt;sup&gt;&lt;a href=&quot;#fnt__8&quot; id=&quot;fn__8&quot; name=&quot;fn__8&quot; class=&quot;fn_bot&quot;&gt;8)&lt;/a&gt;&lt;/sup&gt; 
können aber auch benutzt werden um das jeweils andere Zeichen als Teil des strings zu kennzeichnen &lt;pre class=&quot;code python&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;' dieses Anführungszeichen &amp;quot; ist Teil des strings'&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class=&quot;fn&quot;&gt;&lt;sup&gt;&lt;a href=&quot;#fnt__9&quot; id=&quot;fn__9&quot; name=&quot;fn__9&quot; class=&quot;fn_bot&quot;&gt;9)&lt;/a&gt;&lt;/sup&gt; 
ab python 3 sind alle strings unicode; auch wide-character strings genannt. Explizite Konvertierung von unicode zu normal mit &lt;pre class=&quot;code python&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;str&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;u&lt;span class=&quot;st0&quot;&gt;'unicodetext)&lt;/span&gt;&lt;/pre&gt;
 bzw. von normal nach unicode: &lt;pre class=&quot;code python&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;unicode&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;'normal'&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/pre&gt;
 &lt;/div&gt;
&lt;/div&gt;
</description>
    </item>
    <item rdf:about="http://www.stefanux.de/wiki/doku.php/linux/kernel?rev=1267893801&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-03-06T17:43:21+01:00</dc:date>
        <dc:creator>Stefan</dc:creator>
        <title>linux:kernel</title>
        <link>http://www.stefanux.de/wiki/doku.php/linux/kernel?rev=1267893801&amp;do=diff</link>
        <description>


&lt;h1&gt;&lt;a name=&quot;kernel&quot; id=&quot;kernel&quot;&gt;Kernel&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Der &lt;a href=&quot;http://de.wikipedia.org/wiki/Linux-Kernel&quot; class=&quot;interwiki iw_wpde&quot; title=&quot;http://de.wikipedia.org/wiki/Linux-Kernel&quot;&gt;Linux-Kernel&lt;/a&gt; ist der urspünglich von Linux Torvalds programmierte Kern und damit das Herzstück des Linuxsystem. Im allgemeinen Sprachgebrauch ist der Linux-Kernel auch der Namensgeber, da jedoch die ursprünglichen Zusatzprogramme von GNU programmiert wurden, besteht Richard M. Stallmann (der Gründer der [&lt;a href=&quot;http://www.fsf.org&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.fsf.org&quot;  rel=&quot;nofollow&quot;&gt;http://www.fsf.org&lt;/a&gt;|FSF]]) immer auf der Bezeichnung GNU/Linux. 
&lt;/p&gt;

&lt;p&gt;
Der Linuxkernel kann statisch (monolitisch) aufgebaut sein, d.h. alle benötigten Module sind fest einkompiliert, weit häufiger ist er jedoch modular gehalten, was die Möglichkeit bietet zur Laufzeit Module (und Funktionen) nachzuladen und somit den Kernel klein zu halten. Fast alle Distributionen setzten heute modulare Kernel ein. 
&lt;/p&gt;

&lt;p&gt;
Bei den &lt;strong&gt;Kernelversionen&lt;/strong&gt; hat die mittlere Nummer eine besondere Aussagekraft: gerade Nummern (2.4.x, 2.6.x) sind stabile Anwenderkernel, ungerade (2.1.x, 2.3.x) instabile Entwicklerkernel. Mit der Kernelreihe 2.6 wird dieses Schema aufgeweicht. Sie wird vom maintainer (=Projektbetreuer und Hauptverantwortlicher) Andrew Morton betreut.
&lt;/p&gt;

&lt;p&gt;
In der aktuellen 2.6.x-Version gibt es vier &lt;strong&gt;Hauptbäume&lt;/strong&gt;:
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; main 2.6.x (Linux Torvalds Vanilla-Kernel)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 2.6.x.y-stable (sehr stabil, Fokus auf Bugfixes)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 2.6.x-git (experimenteller, täglicher Snapshot von Linux Torvalds Kernel-tree)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 2.6.x-mm (neue und ungeteste Änderungen, diese wandern später in Linux Torvalds Kernel-tree ; Betreuer Andrew Morton).&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;

&lt;a href=&quot;http://www.stefanux.de/wiki/lib/exe/detail.php/linux/linux_kernel_stuktur.png?id=linux%3Akernel&quot; class=&quot;media&quot; title=&quot;linux:linux_kernel_stuktur.png&quot;&gt;&lt;img src=&quot;http://www.stefanux.de/wiki/lib/exe/fetch.php/linux/linux_kernel_stuktur.png&quot; class=&quot;media&quot; title=&quot;Linux Kernel Schaubilnd; Quelle: Wikipedia http://de.wikipedia.org/w/index.php?title=Datei:Linux_Kernel_Stuktur.svg&amp;amp;filetimestamp=20090108084244&quot; alt=&quot;Linux Kernel Schaubilnd; Quelle: Wikipedia http://de.wikipedia.org/w/index.php?title=Datei:Linux_Kernel_Stuktur.svg&amp;amp;filetimestamp=20090108084244&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Kernel&quot; [1-1643] --&gt;
&lt;h2&gt;&lt;a name=&quot;kernelkompililation&quot; id=&quot;kernelkompililation&quot;&gt;Kernelkompililation&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;

Einen eigenen Kernel kompilieren macht Sinn, wenn man sich sein System exakt an seine Bedürfnisse anpassen möchte. Also spezielle Optionen braucht oder einige Teile rauswerfen will (die im Standardkernel der jeweiligen &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/linux/distributionen-und-live-cds&quot; class=&quot;wikilink1&quot; title=&quot;linux:distributionen-und-live-cds&quot;&gt;Distribution&lt;/a&gt; enthalten sind). Außerdem ist fast immer nicht der neueste Kernel dabei, so dass man für manche Hardware oder zum testen auf die neueste Version angewiesen ist. Auch zu Lern- und Verständniszwecken sollte man so etwas mal versucht/gemacht haben.
&lt;/p&gt;

&lt;p&gt;
Bei Sicherheitslücken oder veränderter Hardware ist allerdings schnell eine Anpassung (Neukompilieren) erforderlich. Da muss jeder selber entscheiden, ob er sich die Mühe machen will oder mit dem vorkompilierten Standardkernel zufrieden ist. 
&lt;/p&gt;

&lt;p&gt;
Die &lt;strong&gt;Kernelkonfiguration&lt;/strong&gt; geht grundsätzlich auf drei verschiedene Arten:
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;&lt;code&gt; make config&lt;/code&gt; (geht im Textmodus alle Optionen durch, für „hardcore-Linuxer“)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;make menuconfig&lt;/code&gt; (Menu im Textmodus mit Navigation über Tastatur)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;make xconfig&lt;/code&gt; (grafische Konfigurationsoberfläche).&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;

Die &lt;strong&gt;Schritte zum Kernelübersetzen&lt;/strong&gt;:

&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Kernelsourcen auspacken&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;make config&lt;/code&gt;, &lt;code&gt;make menuconfig&lt;/code&gt;oder &lt;code&gt;make xconfig&lt;/code&gt; (siehe oben)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; make dep&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; make bzimage (übersetzt den Kernel)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; make modules (übersetzt die Module)&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
Nun splitet sich die weitere Vorgehensweise nach dem &lt;strong&gt;&lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/linux/bootmanager-und-bootprozess&quot; class=&quot;wikilink1&quot; title=&quot;linux:bootmanager-und-bootprozess&quot;&gt;Bootmanager&lt;/a&gt;&lt;/strong&gt; auf: 
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Grub: den Kernel per Hand nach /boot kopieren + Eintrag in &lt;code&gt;/boot/grub/menu.lst&lt;/code&gt; vornehmen.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; lilo: &lt;/div&gt;
&lt;ol&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; make bzlilo (installiert den Kernel für lilo in /boot zusammen mit wichtigen Systemdateien)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; make modules_install (installiert die Module)&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Kernelkompililation&quot; [1644-3351] --&gt;
&lt;h3&gt;&lt;a name=&quot;links&quot; id=&quot;links&quot;&gt;Links&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.ibm.com/developerworks/linux/library/l-linux-kernel/?S_TACT=105AGX59&amp;amp;S_CMP=GR&amp;amp;ca=dgr-lnxw07LKernalAnatomy&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.ibm.com/developerworks/linux/library/l-linux-kernel/?S_TACT=105AGX59&amp;amp;S_CMP=GR&amp;amp;ca=dgr-lnxw07LKernalAnatomy&quot;  rel=&quot;nofollow&quot;&gt;Anatomy of the Linux kernel&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://kernelnewbies.org/&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://kernelnewbies.org/&quot;  rel=&quot;nofollow&quot;&gt;KernelNewbies&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://kernelnewbies.org/LinuxChanges&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://kernelnewbies.org/LinuxChanges&quot;  rel=&quot;nofollow&quot;&gt;LinuxChanges&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.linuxforen.de/forums/showthread.php?t=161878&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.linuxforen.de/forums/showthread.php?t=161878&quot;  rel=&quot;nofollow&quot;&gt;Kernel (2.6) Konfigurations-Howto&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.freesoftwaremagazine.com/articles/drivers_linux&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.freesoftwaremagazine.com/articles/drivers_linux&quot;  rel=&quot;nofollow&quot;&gt;Writing device drivers in Linux: A brief tutorial&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.heise.de/newsticker/Linux-uebers-Internet-mit-boot-kernel-org--/meldung/145751&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.heise.de/newsticker/Linux-uebers-Internet-mit-boot-kernel-org--/meldung/145751&quot;  rel=&quot;nofollow&quot;&gt;Linux übers Internet mit boot.kernel.org&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;debian&quot; id=&quot;debian&quot;&gt;Debian&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://www.adminlife.net/howtos/linux-kernel-backen-the-debian-way/&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;https://www.adminlife.net/howtos/linux-kernel-backen-the-debian-way/&quot;  rel=&quot;nofollow&quot;&gt;Linux Kernel backen – the Debian Way&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.linuxtoday.com/news_story.php3?ltsn=2006-12-22-011-26-OS-DB-KN&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.linuxtoday.com/news_story.php3?ltsn=2006-12-22-011-26-OS-DB-KN&quot;  rel=&quot;nofollow&quot;&gt;HowtoForge: How To Compile A Kernel--The Debian (Sarge) Way&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.pengutronix.de/software/linux-rt/debian_de.html&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.pengutronix.de/software/linux-rt/debian_de.html&quot;  rel=&quot;nofollow&quot;&gt;Realtime Linux für Debian&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;ubuntu&quot; id=&quot;ubuntu&quot;&gt;Ubuntu&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.howtoforge.com/kernel_compilation_ubuntu&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.howtoforge.com/kernel_compilation_ubuntu&quot;  rel=&quot;nofollow&quot;&gt;How To Compile A Kernel - The Ubuntu Way&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://reconstructor.aperantis.com/cgi-bin/moin.cgi/CustomKernelHowto&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://reconstructor.aperantis.com/cgi-bin/moin.cgi/CustomKernelHowto&quot;  rel=&quot;nofollow&quot;&gt;Custom Kernel HowTo&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Links&quot; [3352-4570] --&gt;
&lt;h2&gt;&lt;a name=&quot;kernelmodule-verwalten&quot; id=&quot;kernelmodule-verwalten&quot;&gt;Kernelmodule verwalten&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;lsmod&lt;/strong&gt; listet aktuell geladene Module auf&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;insmod&lt;/strong&gt; / &lt;strong&gt;rmmod:&lt;/strong&gt; Module laden und entfernen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;modprobe&lt;/strong&gt; lädt Module indem es auf zusätzliche Abhängigkeiten zu anderen Module prüft und diese ggf. ebenfalls lädt&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;rmmod&lt;/strong&gt; MODULNAME entlädt Module&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;depmod&lt;/strong&gt; baut die Liste der Abhängigkeiten auf. Diese stehen in einer Datei unter &lt;code&gt;/lib/modules/KERNELVERSION/modules.dep&lt;/code&gt;. Der Aufruf ist bei einem neuen Kernel oder einzelner Module nötig.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;modinfo&lt;/strong&gt; MODULNAME sollte Informationen über ein Modul ausgeben&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;

&lt;img src=&quot;http://www.stefanux.de/wiki/lib/images/smileys/icon_exclaim.gif&quot; class=&quot;middle&quot; alt=&quot;:!:&quot; /&gt; Das &lt;strong&gt;Laden einzelner Module&lt;/strong&gt; kann man &lt;strong&gt;verhindern&lt;/strong&gt; indem man einen Eintrag in der Datei &lt;code&gt;/etc/modprobe.d/blacklist&lt;/code&gt; anlegt:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;blacklist MODULNAME&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Kernelmodule verwalten&quot; [4571-5309] --&gt;
&lt;h3&gt;&lt;a name=&quot;kernelmodule-laden&quot; id=&quot;kernelmodule-laden&quot;&gt;Kernelmodule laden&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;strong&gt;Beim Systemstart&lt;/strong&gt; zu ladene Module werden bis Kernel 2.4 ist die Konfigurationsdatei für die Module
&lt;code&gt;/etc/modules.conf&lt;/code&gt; (oder auch &lt;code&gt;/etc/conf.modules&lt;/code&gt;).
&lt;/p&gt;

&lt;p&gt;
Seit Kernel 2.6 ist es grundsätzlich die Datei &lt;code&gt;/etc/modprobe.conf&lt;/code&gt; oder die Dateien unterhalb von &lt;code&gt;/etc/modprobe.d/&lt;/code&gt; . Allerdings wird die Datei &lt;code&gt;/etc/modules&lt;/code&gt; auch noch unter &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/ubuntu/ubuntu&quot; class=&quot;wikilink1&quot; title=&quot;ubuntu:ubuntu&quot;&gt;Ubuntu&lt;/a&gt; ausgewertet. Manche Distributionen (bisher &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/suse/suse&quot; class=&quot;wikilink1&quot; title=&quot;suse:suse&quot;&gt;Suse&lt;/a&gt;, Feodora und in Zukunft evtl. Redhat) wollen eigene Änderungen in der Datei &lt;code&gt;modprobe.conf.local&lt;/code&gt; abgelegt wissen.
&lt;/p&gt;

&lt;p&gt;
Wenn es &lt;code&gt;/etc/modprobe.conf&lt;/code&gt; gibt, dann wird alles unter &lt;code&gt;/etc/modprobe.d/&lt;/code&gt; ignoriert. Darum steht in der
Regel am Ende von &lt;code&gt;/etc/modprobe.conf&lt;/code&gt; die Zeile „include /etc/modprobe.d“. 
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Fallweise&lt;/strong&gt;:

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;modprobe MODULNAME&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Kernelmodule laden&quot; [5310-6110] --&gt;
&lt;h3&gt;&lt;a name=&quot;kernelmodule-entladen&quot; id=&quot;kernelmodule-entladen&quot;&gt;Kernelmodule entladen&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;

Bereits geladene Kernelmodule lassen sich mit 

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;rmmod MODULNAME&lt;/pre&gt;

&lt;p&gt;

entladen.

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Kernelmodule entladen&quot; [6111-] --&gt;</description>
    </item>
    <item rdf:about="http://www.stefanux.de/wiki/doku.php/hardware/schnittstellen-und-standards-allgemein-und-f%C3%BCr-peripherie?rev=1267196130&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-02-26T15:55:30+01:00</dc:date>
        <dc:creator>Stefan</dc:creator>
        <title>hardware:schnittstellen-und-standards-allgemein-und-für-peripherie</title>
        <link>http://www.stefanux.de/wiki/doku.php/hardware/schnittstellen-und-standards-allgemein-und-f%C3%BCr-peripherie?rev=1267196130&amp;do=diff</link>
        <description>


&lt;h1&gt;&lt;a name=&quot;schnittstellen-und-standards-allgemein-und-für-peripherie&quot; id=&quot;schnittstellen-und-standards-allgemein-und-für-peripherie&quot;&gt;Schnittstellen und Standards - Allgemein und für Peripherie&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Schnittstellen und Standards - Allgemein und für Peripherie&quot; [1-77] --&gt;
&lt;h2&gt;&lt;a name=&quot;externe-schnittstellen&quot; id=&quot;externe-schnittstellen&quot;&gt;externe Schnittstellen&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;externe Schnittstellen&quot; [78-113] --&gt;
&lt;h3&gt;&lt;a name=&quot;monitorausgänge&quot; id=&quot;monitorausgänge&quot;&gt;Monitorausgänge&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;&lt;a href=&quot;http://de.wikipedia.org/wiki/VGA%20%28Anschluss%29&quot; class=&quot;interwiki iw_wpde&quot; title=&quot;http://de.wikipedia.org/wiki/VGA%20%28Anschluss%29&quot;&gt;VGA&lt;/a&gt;&lt;/strong&gt; &lt;br/&gt;
 &lt;a href=&quot;http://www.stefanux.de/wiki/lib/exe/detail.php/hardware/vga-de15_connector_pinout-337px.png?id=hardware%3Aschnittstellen-und-standards-allgemein-und-f%C3%BCr-peripherie&quot; class=&quot;media&quot; title=&quot;hardware:vga-de15_connector_pinout-337px.png&quot;&gt;&lt;img src=&quot;http://www.stefanux.de/wiki/lib/exe/fetch.php/hardware/vga-de15_connector_pinout-337px.png?w=100&quot; class=&quot;media&quot; alt=&quot;&quot; width=&quot;100&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://de.wikipedia.org/w/index.php?title=Datei:DE15_Connector_Pinout.svg&amp;amp;filetimestamp=20060623072536?100&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://de.wikipedia.org/w/index.php?title=Datei:DE15_Connector_Pinout.svg&amp;amp;filetimestamp=20060623072536?100&quot;  rel=&quot;nofollow&quot;&gt;Quelle Wikimedia&lt;/a&gt; —-&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;&lt;a href=&quot;http://de.wikipedia.org/wiki/Digital%20Visual%20Interface&quot; class=&quot;interwiki iw_wpde&quot; title=&quot;http://de.wikipedia.org/wiki/Digital%20Visual%20Interface&quot;&gt;DVI&lt;/a&gt;&lt;/strong&gt; &lt;br/&gt;
 &lt;a href=&quot;http://www.stefanux.de/wiki/lib/exe/detail.php/hardware/dvi_connector_types-277px.png?id=hardware%3Aschnittstellen-und-standards-allgemein-und-f%C3%BCr-peripherie&quot; class=&quot;media&quot; title=&quot;hardware:dvi_connector_types-277px.png&quot;&gt;&lt;img src=&quot;http://www.stefanux.de/wiki/lib/exe/fetch.php/hardware/dvi_connector_types-277px.png?w=100&quot; class=&quot;media&quot; alt=&quot;&quot; width=&quot;100&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://de.wikipedia.org/wiki/Datei:DVI_Connector_Types.svg&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://de.wikipedia.org/wiki/Datei:DVI_Connector_Types.svg&quot;  rel=&quot;nofollow&quot;&gt;Quelle Wikimedia&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;&lt;a href=&quot;http://de.wikipedia.org/wiki/High%20Definition%20Multimedia%20Interface&quot; class=&quot;interwiki iw_wpde&quot; title=&quot;http://de.wikipedia.org/wiki/High%20Definition%20Multimedia%20Interface&quot;&gt;HDMI&lt;/a&gt;&lt;/strong&gt; &lt;br/&gt;
 &lt;a href=&quot;http://www.stefanux.de/wiki/lib/exe/detail.php/hardware/hdmi_connector-male_2_sharp_800px.jpg?id=hardware%3Aschnittstellen-und-standards-allgemein-und-f%C3%BCr-peripherie&quot; class=&quot;media&quot; title=&quot;hardware:hdmi_connector-male_2_sharp_800px.jpg&quot;&gt;&lt;img src=&quot;http://www.stefanux.de/wiki/lib/exe/fetch.php/hardware/hdmi_connector-male_2_sharp_800px.jpg?w=100&quot; class=&quot;media&quot; alt=&quot;&quot; width=&quot;100&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://de.wikipedia.org/w/index.php?title=Datei:HDMI_connector-male_2_sharp_%CE%940059.jpg&amp;amp;filetimestamp=20070821171643&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://de.wikipedia.org/w/index.php?title=Datei:HDMI_connector-male_2_sharp_%CE%940059.jpg&amp;amp;filetimestamp=20070821171643&quot;  rel=&quot;nofollow&quot;&gt;Quelle Wikimedia&lt;/a&gt; —-&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;&lt;a href=&quot;http://de.wikipedia.org/wiki/DisplayPort&quot; class=&quot;interwiki iw_wpde&quot; title=&quot;http://de.wikipedia.org/wiki/DisplayPort&quot;&gt;DisplayPort&lt;/a&gt;&lt;/strong&gt; &lt;br/&gt;
 &lt;a href=&quot;http://www.stefanux.de/wiki/lib/exe/detail.php/hardware/display_port.png?id=hardware%3Aschnittstellen-und-standards-allgemein-und-f%C3%BCr-peripherie&quot; class=&quot;media&quot; title=&quot;hardware:display_port.png&quot;&gt;&lt;img src=&quot;http://www.stefanux.de/wiki/lib/exe/fetch.php/hardware/display_port.png?w=100&quot; class=&quot;media&quot; alt=&quot;&quot; width=&quot;100&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://de.wikipedia.org/w/index.php?title=Datei:Display_Port.png&amp;amp;filetimestamp=20080714151032&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://de.wikipedia.org/w/index.php?title=Datei:Display_Port.png&amp;amp;filetimestamp=20080714151032&quot;  rel=&quot;nofollow&quot;&gt;Quelle Wikimedia&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 centeralign&quot; colspan=&quot;7&quot;&gt;  Kompatibilitätstabelle  &lt;/th&gt;
	&lt;/tr&gt;
&lt;/table&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;/td&gt;&lt;th class=&quot;col1 centeralign&quot; colspan=&quot;6&quot;&gt;  Ziel  &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;th class=&quot;col0&quot;&gt; Quelle &lt;/th&gt;&lt;th class=&quot;col1&quot;&gt; VGA &lt;/th&gt;&lt;th class=&quot;col2&quot;&gt; DVI-I &lt;/th&gt;&lt;th class=&quot;col3&quot;&gt; DVI-D &lt;/th&gt;&lt;th class=&quot;col4&quot;&gt; HDMI &lt;/th&gt;&lt;th class=&quot;col5&quot;&gt; Displayport &lt;/th&gt;&lt;th class=&quot;col6&quot;&gt; Mini DisplayPort (Mac) &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;th class=&quot;col0&quot;&gt; VGA &lt;/th&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  ok &lt;sup&gt;&lt;a href=&quot;#fn__1&quot; name=&quot;fnt__1&quot; id=&quot;fnt__1&quot; class=&quot;fn_top&quot;&gt;1)&lt;/a&gt;&lt;/sup&gt;  &lt;/td&gt;&lt;td class=&quot;col2 centeralign&quot;&gt;  ok &lt;sup&gt;&lt;a href=&quot;#fn__2&quot; name=&quot;fnt__2&quot; id=&quot;fnt__2&quot; class=&quot;fn_top&quot;&gt;2)&lt;/a&gt;&lt;/sup&gt;  &lt;/td&gt;&lt;td class=&quot;col3 centeralign&quot;&gt;  -  &lt;/td&gt;&lt;td class=&quot;col4 centeralign&quot;&gt;  -  &lt;/td&gt;&lt;td class=&quot;col5 centeralign&quot;&gt;  -  &lt;/td&gt;&lt;td class=&quot;col6 centeralign&quot;&gt;  -  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;th class=&quot;col0&quot;&gt; DVI-D &lt;/th&gt;&lt;td class=&quot;col1&quot;&gt; nein &lt;/td&gt;&lt;td class=&quot;col2 centeralign&quot;&gt;  -  &lt;/td&gt;&lt;td class=&quot;col3 centeralign&quot;&gt;  ok &lt;sup&gt;&lt;a href=&quot;#fn__3&quot; name=&quot;fnt__3&quot; id=&quot;fnt__3&quot; class=&quot;fn_top&quot;&gt;3)&lt;/a&gt;&lt;/sup&gt;  &lt;/td&gt;&lt;td class=&quot;col4 centeralign&quot;&gt;  ok  &lt;/td&gt;&lt;td class=&quot;col5 centeralign&quot;&gt;  ok  &lt;/td&gt;&lt;td class=&quot;col6 leftalign&quot;&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;th class=&quot;col0&quot;&gt; HDMI &lt;/th&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  -  &lt;/td&gt;&lt;td class=&quot;col2 centeralign&quot;&gt;  -  &lt;/td&gt;&lt;td class=&quot;col3 centeralign&quot;&gt;  ok  &lt;/td&gt;&lt;td class=&quot;col4 centeralign&quot;&gt;  ok &lt;sup&gt;&lt;a href=&quot;#fn__4&quot; name=&quot;fnt__4&quot; id=&quot;fnt__4&quot; class=&quot;fn_top&quot;&gt;4)&lt;/a&gt;&lt;/sup&gt;  &lt;/td&gt;&lt;td class=&quot;col5 centeralign&quot;&gt;  ok  &lt;/td&gt;&lt;td class=&quot;col6 leftalign&quot;&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;th class=&quot;col0&quot;&gt; Displayport &lt;/th&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  -  &lt;/td&gt;&lt;td class=&quot;col2 centeralign&quot;&gt;  -  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt;  &lt;/td&gt;&lt;td class=&quot;col4 centeralign&quot;&gt;  ok &lt;sup&gt;&lt;a href=&quot;#fn__5&quot; name=&quot;fnt__5&quot; id=&quot;fnt__5&quot; class=&quot;fn_top&quot;&gt;5)&lt;/a&gt;&lt;/sup&gt;  &lt;/td&gt;&lt;td class=&quot;col5 centeralign&quot;&gt;  ok &lt;sup&gt;&lt;a href=&quot;#fn__6&quot; name=&quot;fnt__6&quot; id=&quot;fnt__6&quot; class=&quot;fn_top&quot;&gt;6)&lt;/a&gt;&lt;/sup&gt;  &lt;/td&gt;&lt;td class=&quot;col6 leftalign&quot;&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row6&quot;&gt;
		&lt;th class=&quot;col0&quot;&gt; Mini DisplayPort (Mac) &lt;/th&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  -  &lt;/td&gt;&lt;td class=&quot;col2 centeralign&quot;&gt;  -  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt;  &lt;/td&gt;&lt;td class=&quot;col4 leftalign&quot;&gt;  &lt;/td&gt;&lt;td class=&quot;col5 leftalign&quot;&gt;  &lt;/td&gt;&lt;td class=&quot;col6 centeralign&quot;&gt;  ok &lt;sup&gt;&lt;a href=&quot;#fn__7&quot; name=&quot;fnt__7&quot; id=&quot;fnt__7&quot; class=&quot;fn_top&quot;&gt;7)&lt;/a&gt;&lt;/sup&gt;  &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Monitorausgänge&quot; [114-1789] --&gt;
&lt;h3&gt;&lt;a name=&quot;firewire&quot; id=&quot;firewire&quot;&gt;Firewire&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;

FireWire [ˈfaɪəˌwaɪə] (auch bekannt als i.Link oder IEEE 1394) ist ein von Apple entwickeltes serielles Bussystem.

&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; IEEE 1394a (Apple-Bezeichnung „FireWire 400“)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; IEEE 1394b (Apple-Bezeichnung „FireWire 800“)&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;

links: 6-Pin Stecker, rechts: 4-poliger Stecker.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://www.stefanux.de/wiki/lib/exe/detail.php/hardware/firewire-430px.png?id=hardware%3Aschnittstellen-und-standards-allgemein-und-f%C3%BCr-peripherie&quot; class=&quot;media&quot; title=&quot;hardware:firewire-430px.png&quot;&gt;&lt;img src=&quot;http://www.stefanux.de/wiki/lib/exe/fetch.php/hardware/firewire-430px.png?w=300&quot; class=&quot;media&quot; title=&quot;Abbildung Firewire Stecker Lizenz: Public Domain Quelle: Wikimedia&quot; alt=&quot;Abbildung Firewire Stecker Lizenz: Public Domain Quelle: Wikimedia&quot; width=&quot;300&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://commons.wikimedia.org/wiki/File:FireWire-46_Diagram.svg&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://commons.wikimedia.org/wiki/File:FireWire-46_Diagram.svg&quot;  rel=&quot;nofollow&quot;&gt;Abbildung Firewire Stecker Quelle als SVG&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Firewire&quot; [1790-2304] --&gt;
&lt;h3&gt;&lt;a name=&quot;usb&quot; id=&quot;usb&quot;&gt;USB&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;

Der Universal Serial Bus (USB) [ˌjuːnɪˈvɜːsl ˈsɪɹiəl bʌs] ist ein serielles Bussystem zur Verbindung eines Computers mit externen Geräten. Mit USB ausgestattete Geräte oder Speichermedien können im laufenden Betrieb miteinander verbunden (Hot-Plugging) und angeschlossene Geräte sowie deren Eigenschaften automatisch erkannt werden.
&lt;/p&gt;

&lt;p&gt;

Von links nach rechts: &lt;strong&gt;Typ A&lt;/strong&gt;, &lt;strong&gt;Typ B&lt;/strong&gt;, &lt;strong&gt;Typ B Mini 5-polig&lt;/strong&gt; (Standard), &lt;strong&gt;Typ Mini 4-polig&lt;/strong&gt; (Mitsumi), &lt;strong&gt;Typ Mini-B 4-polig&lt;/strong&gt; (besser unter der Bezeichnung Hirose bekannt)
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://www.stefanux.de/wiki/lib/exe/detail.php/hardware/usb-steckerformen.jpg?id=hardware%3Aschnittstellen-und-standards-allgemein-und-f%C3%BCr-peripherie&quot; class=&quot;media&quot; title=&quot;hardware:usb-steckerformen.jpg&quot;&gt;&lt;img src=&quot;http://www.stefanux.de/wiki/lib/exe/fetch.php/hardware/usb-steckerformen.jpg&quot; class=&quot;media&quot; title=&quot;Abbildung MiniPCI and MiniPCI Express cards Lizenz: cc-by-sa V3 oder GNU FDL 1.2&quot; alt=&quot;Abbildung MiniPCI and MiniPCI Express cards Lizenz: cc-by-sa V3 oder GNU FDL 1.2&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://de.wikipedia.org/wiki/Datei:USB-Steckerformen.jpg&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://de.wikipedia.org/wiki/Datei:USB-Steckerformen.jpg&quot;  rel=&quot;nofollow&quot;&gt;Quelle: Wikimedia&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;USB&quot; [2305-3048] --&gt;
&lt;h2&gt;&lt;a name=&quot;interne-schnittstellen&quot; id=&quot;interne-schnittstellen&quot;&gt;interne Schnittstellen&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;interne Schnittstellen&quot; [3049-3085] --&gt;
&lt;h3&gt;&lt;a name=&quot;arbeitsspeicher&quot; id=&quot;arbeitsspeicher&quot;&gt;Arbeitsspeicher&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;

&lt;img src=&quot;http://www.stefanux.de/wiki/lib/images/smileys/fixme.gif&quot; class=&quot;middle&quot; alt=&quot;FIXME&quot; /&gt; (Inhalt)

&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; DDR Geschwindigkeiten: &lt;img src=&quot;http://www.stefanux.de/wiki/lib/images/smileys/fixme.gif&quot; class=&quot;middle&quot; alt=&quot;FIXME&quot; /&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; DDR2 Geschwindigkeiten: 667, 800, 1066, 1333&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; DDR3 Geschwindigkeiten: &lt;img src=&quot;http://www.stefanux.de/wiki/lib/images/smileys/fixme.gif&quot; class=&quot;middle&quot; alt=&quot;FIXME&quot; /&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;

Besonderheiten bei der Belegung:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; DDR2: Belegung mit 2 gleichen Modulen günstig (Dual-Channel)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; DDR3:&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Speichertakt bei Intel Nehalem-Architektur: Die optimale Performance (1333 Mhz) erreicht man, wenn je ein Speicherriegel pro Channel bestückt ist, bei 2 sinkt der Speichertakt auf 1066 Mhz, bei 3 Riegeln sinkt er ein weiteres Mal auf 800 Mhz.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Intel Nehalem: Jede CPU kann maximal 8 sogenannte „Ranks“ pro Channel verwalten. Je nach Bauart haben Speicherriegel 1, 2 oder 4 Ranks.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Arbeitsspeicher&quot; [3086-3748] --&gt;
&lt;h3&gt;&lt;a name=&quot;kompatibilität-von-steckplätzen-und-karten&quot; id=&quot;kompatibilität-von-steckplätzen-und-karten&quot;&gt;Kompatibilität von Steckplätzen und Karten&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://de.wikipedia.org/wiki/Industry%20Standard%20Architecture&quot; class=&quot;interwiki iw_wpde&quot; title=&quot;http://de.wikipedia.org/wiki/Industry%20Standard%20Architecture&quot;&gt;ISA&lt;/a&gt; &lt;sup&gt;&lt;a href=&quot;#fn__8&quot; name=&quot;fnt__8&quot; id=&quot;fnt__8&quot; class=&quot;fn_top&quot;&gt;8)&lt;/a&gt;&lt;/sup&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://de.wikipedia.org/wiki/Peripheral%20Component%20Interconnect&quot; class=&quot;interwiki iw_wpde&quot; title=&quot;http://de.wikipedia.org/wiki/Peripheral%20Component%20Interconnect&quot;&gt;PCI und PCI-X&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://de.wikipedia.org/wiki/PCI-Express&quot; class=&quot;interwiki iw_wpde&quot; title=&quot;http://de.wikipedia.org/wiki/PCI-Express&quot;&gt;PCIe&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;pci-pci-x&quot; id=&quot;pci-pci-x&quot;&gt;PCI / PCI-X&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0&quot; colspan=&quot;5&quot;&gt; Kompatibilitätstabelle &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;th class=&quot;col0&quot;&gt; &lt;/th&gt;&lt;th class=&quot;col1 centeralign&quot; colspan=&quot;5&quot;&gt;  Steckplatz  &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;th class=&quot;col0 leftalign&quot;&gt; Karte  &lt;/th&gt;&lt;th class=&quot;col1&quot;&gt; 3.3V 32 Bit PCI Slot &lt;/th&gt;&lt;th class=&quot;col2&quot;&gt; 5V 32 Bit PCI Slot&lt;/th&gt;&lt;th class=&quot;col3&quot;&gt; 3.3V 64 Bit PCI Slot &lt;/th&gt;&lt;th class=&quot;col4&quot;&gt; 5V 64 Bit PCI Slot &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; 3.3V 32 Bit PCI Karte &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  ok  &lt;/td&gt;&lt;td class=&quot;col2 centeralign&quot;&gt;  -  &lt;/td&gt;&lt;td class=&quot;col3 centeralign&quot;&gt;  ok  &lt;/td&gt;&lt;td class=&quot;col4 centeralign&quot;&gt;  -  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; 5V 32 Bit PCI Karte &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  -  &lt;/td&gt;&lt;td class=&quot;col2 centeralign&quot;&gt;  ok  &lt;/td&gt;&lt;td class=&quot;col3 centeralign&quot;&gt;  -  &lt;/td&gt;&lt;td class=&quot;col4 centeralign&quot;&gt;  ok  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; Universal (3.3V &amp;amp; 5V) 32 Bit PCI Karte &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  -  &lt;/td&gt;&lt;td class=&quot;col2 centeralign&quot;&gt;  -  &lt;/td&gt;&lt;td class=&quot;col3 centeralign&quot;&gt;  ok  &lt;/td&gt;&lt;td class=&quot;col4 centeralign&quot;&gt;  ok  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row6&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; 3.3V 64 Bit PCI-X Karte &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  -  &lt;/td&gt;&lt;td class=&quot;col2 centeralign&quot;&gt;  -  &lt;/td&gt;&lt;td class=&quot;col3 centeralign&quot;&gt;  ok  &lt;/td&gt;&lt;td class=&quot;col4 centeralign&quot;&gt;  -  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row7&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; 5V 64 Bit PCI-X Karte &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  -  &lt;/td&gt;&lt;td class=&quot;col2 centeralign&quot;&gt;  -  &lt;/td&gt;&lt;td class=&quot;col3 centeralign&quot;&gt;  -  &lt;/td&gt;&lt;td class=&quot;col4 centeralign&quot;&gt;  ok  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row8&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; Universal (3.3V &amp;amp; 5V) 32 Bit PCI-X Karte &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  -  &lt;/td&gt;&lt;td class=&quot;col2 centeralign&quot;&gt;  -  &lt;/td&gt;&lt;td class=&quot;col3 centeralign&quot;&gt;  ok  &lt;/td&gt;&lt;td class=&quot;col4 centeralign&quot;&gt;  ok  &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;

&lt;a href=&quot;http://www.stefanux.de/wiki/lib/exe/detail.php/hardware/pci_belegung.png?id=hardware%3Aschnittstellen-und-standards-allgemein-und-f%C3%BCr-peripherie&quot; class=&quot;media&quot; title=&quot;hardware:pci_belegung.png&quot;&gt;&lt;img src=&quot;http://www.stefanux.de/wiki/lib/exe/fetch.php/hardware/pci_belegung.png?w=300&quot; class=&quot;media&quot; title=&quot;PCI Belegung GNU-FDL 1.2 Quelle: http://en.wikipedia.org/wiki/File:PCI_Keying.png&quot; alt=&quot;PCI Belegung GNU-FDL 1.2 Quelle: http://en.wikipedia.org/wiki/File:PCI_Keying.png&quot; width=&quot;300&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;pci-express&quot; id=&quot;pci-express&quot;&gt;PCI-Express&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;

PCI-Express ist ein relativ moderner Steckplatz, die Angabe x1, x4, … bezieht sich auf die Anzahl der seriellen „Lanes“ die zur Datenüberteagung benutzt werden können. Die &lt;strong&gt;Bandbreite einer Lane beträgt maximal 250 MByte/s pro Richtung&lt;/strong&gt; beziehungsweise 500 &lt;acronym title=&quot;Megabyte&quot;&gt;MB&lt;/acronym&gt;/s in beide Richtungen zusammen.
&lt;/p&gt;

&lt;p&gt;
2 Aspekte sind zu beachten:
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; passt die Karte &lt;strong&gt;mechanisch&lt;/strong&gt; in den Steckplatz (x16 Steckplatz kann x1, x4, x8, x16-Karten aufnehmen, x1 Steckplatz nur x1 Karten)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; ist der &lt;strong&gt;Steckplatz ausreichend&lt;/strong&gt; schnell &lt;strong&gt;angebunden&lt;/strong&gt; (mit Lanes) bzw. Sind alle Kontakte tatsächlich belegt (es ist durchaus üblich im 2. Grafikkartenslot x16 mechanisch zu haben aber nur x8 anzubinden).&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;

&lt;a href=&quot;http://www.stefanux.de/wiki/lib/exe/detail.php/hardware/pci_und_pcie_slots.jpg?id=hardware%3Aschnittstellen-und-standards-allgemein-und-f%C3%BCr-peripherie&quot; class=&quot;media&quot; title=&quot;hardware:pci_und_pcie_slots.jpg&quot;&gt;&lt;img src=&quot;http://www.stefanux.de/wiki/lib/exe/fetch.php/hardware/pci_und_pcie_slots.jpg?w=300&quot; class=&quot;media&quot; title=&quot;Abbildung PCI und PCI Express im Vergleich Lizenz: GNU-FDL 1.2  bzw. Creative Commons-Lizenz Namensnennung-Weitergabe unter gleichen Bedingungen 2.0 Deutschland  Quelle: Wikimedia&quot; alt=&quot;Abbildung PCI und PCI Express im Vergleich Lizenz: GNU-FDL 1.2  bzw. Creative Commons-Lizenz Namensnennung-Weitergabe unter gleichen Bedingungen 2.0 Deutschland  Quelle: Wikimedia&quot; width=&quot;300&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://de.wikipedia.org/w/index.php?title=Datei:PCI_und_PCIe_Slots.jpg&amp;amp;filetimestamp=20071022194034&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://de.wikipedia.org/w/index.php?title=Datei:PCI_und_PCIe_Slots.jpg&amp;amp;filetimestamp=20071022194034&quot;  rel=&quot;nofollow&quot;&gt;Abbildung PCI und PCI Express im Vergleich Quelle als jpg&lt;/a&gt;
&lt;/p&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0&quot;&gt; &lt;/th&gt;&lt;th class=&quot;col1&quot; colspan=&quot;5&quot;&gt; Steckplatz &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;th class=&quot;col0&quot;&gt; Karte &lt;/th&gt;&lt;th class=&quot;col1&quot;&gt; PCIe x1 &lt;/th&gt;&lt;th class=&quot;col2&quot;&gt; PCIe x4 &lt;/th&gt;&lt;th class=&quot;col3&quot;&gt; PCIe x8 &lt;/th&gt;&lt;th class=&quot;col4&quot;&gt; PCIe x16 &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; x1 &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; ok &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; ok &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; ok &lt;/td&gt;&lt;td class=&quot;col4&quot;&gt; ok &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; x4 &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; - &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; ok &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; ? &lt;sup&gt;&lt;a href=&quot;#fn__9&quot; name=&quot;fnt__9&quot; id=&quot;fnt__9&quot; class=&quot;fn_top&quot;&gt;9)&lt;/a&gt;&lt;/sup&gt;  &lt;/td&gt;&lt;td class=&quot;col4&quot;&gt; ? &lt;sup&gt;&lt;a href=&quot;#fn__10&quot; name=&quot;fnt__10&quot; id=&quot;fnt__10&quot; class=&quot;fn_top&quot;&gt;10)&lt;/a&gt;&lt;/sup&gt; &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; x8 &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; - &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; - &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; ok &lt;/td&gt;&lt;td class=&quot;col4 leftalign&quot;&gt; ? &lt;sup&gt;&lt;a href=&quot;#fn__11&quot; name=&quot;fnt__11&quot; id=&quot;fnt__11&quot; class=&quot;fn_top&quot;&gt;11)&lt;/a&gt;&lt;/sup&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; x16 &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; * &lt;sup&gt;&lt;a href=&quot;#fn__12&quot; name=&quot;fnt__12&quot; id=&quot;fnt__12&quot; class=&quot;fn_top&quot;&gt;12)&lt;/a&gt;&lt;/sup&gt; &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; * &lt;sup&gt;&lt;a href=&quot;#fn__13&quot; name=&quot;fnt__13&quot; id=&quot;fnt__13&quot; class=&quot;fn_top&quot;&gt;13)&lt;/a&gt;&lt;/sup&gt; &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; * &lt;sup&gt;&lt;a href=&quot;#fn__14&quot; name=&quot;fnt__14&quot; id=&quot;fnt__14&quot; class=&quot;fn_top&quot;&gt;14)&lt;/a&gt;&lt;/sup&gt; &lt;/td&gt;&lt;td class=&quot;col4&quot;&gt; ok &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0&quot; colspan=&quot;4&quot;&gt; Datenraten (theoretisch) &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;th class=&quot;col0&quot;&gt;PCIe 1.0 &lt;/th&gt;&lt;th class=&quot;col1&quot;&gt; PCIe 2.0 &lt;/th&gt;&lt;th class=&quot;col2&quot; colspan=&quot;2&quot;&gt; PCIe 3.0 &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;th class=&quot;col0&quot;&gt; x1 &lt;/th&gt;&lt;td class=&quot;col1&quot;&gt; 250 &lt;acronym title=&quot;Megabyte&quot;&gt;MB&lt;/acronym&gt;/s&lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; 500 &lt;acronym title=&quot;Megabyte&quot;&gt;MB&lt;/acronym&gt;/s &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; 1000 &lt;acronym title=&quot;Megabyte&quot;&gt;MB&lt;/acronym&gt;/s &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;th class=&quot;col0&quot;&gt; x1 duplex &lt;/th&gt;&lt;td class=&quot;col1&quot;&gt; 500 &lt;acronym title=&quot;Megabyte&quot;&gt;MB&lt;/acronym&gt;/s &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; 1000 &lt;acronym title=&quot;Megabyte&quot;&gt;MB&lt;/acronym&gt;/s &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; 2000 &lt;acronym title=&quot;Megabyte&quot;&gt;MB&lt;/acronym&gt;/s &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;th class=&quot;col0&quot;&gt; x4 &lt;/th&gt;&lt;td class=&quot;col1&quot;&gt; 1000 &lt;acronym title=&quot;Megabyte&quot;&gt;MB&lt;/acronym&gt;/s &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; 2000 &lt;acronym title=&quot;Megabyte&quot;&gt;MB&lt;/acronym&gt;/s  &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; 4000 &lt;acronym title=&quot;Megabyte&quot;&gt;MB&lt;/acronym&gt;/s &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;th class=&quot;col0&quot;&gt; x8 &lt;/th&gt;&lt;td class=&quot;col1&quot;&gt; 2000 &lt;acronym title=&quot;Megabyte&quot;&gt;MB&lt;/acronym&gt;/s &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; 4000 &lt;acronym title=&quot;Megabyte&quot;&gt;MB&lt;/acronym&gt;/s &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; 8000 &lt;acronym title=&quot;Megabyte&quot;&gt;MB&lt;/acronym&gt;/s &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row6&quot;&gt;
		&lt;th class=&quot;col0&quot;&gt; x16 &lt;/th&gt;&lt;td class=&quot;col1&quot;&gt; 4000 &lt;acronym title=&quot;Megabyte&quot;&gt;MB&lt;/acronym&gt;/s &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; 8000 &lt;acronym title=&quot;Megabyte&quot;&gt;MB&lt;/acronym&gt;/s &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; 16000 &lt;acronym title=&quot;Megabyte&quot;&gt;MB&lt;/acronym&gt;/s &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;minipci-minipci-express&quot; id=&quot;minipci-minipci-express&quot;&gt;miniPCI / miniPCI-Express&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;

Mini PCI / Mini PCI  Express werden vorrangig in mobilen und embedded-Systemen eingesetzt (wo der Platz knapp ist).
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://de.wikipedia.org/wiki/Mini%20PCI%20Express&quot; class=&quot;interwiki iw_wpde&quot; title=&quot;http://de.wikipedia.org/wiki/Mini%20PCI%20Express&quot;&gt;weitere Informationen bei Wikipedia&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://www.stefanux.de/wiki/lib/exe/detail.php/hardware/minipci_and_minipci_express_cards_787px.jpg?id=hardware%3Aschnittstellen-und-standards-allgemein-und-f%C3%BCr-peripherie&quot; class=&quot;media&quot; title=&quot;hardware:minipci_and_minipci_express_cards_787px.jpg&quot;&gt;&lt;img src=&quot;http://www.stefanux.de/wiki/lib/exe/fetch.php/hardware/minipci_and_minipci_express_cards_787px.jpg?w=300&quot; class=&quot;media&quot; title=&quot;Abbildung MiniPCI and MiniPCI Express cards Lizenz: Public Domain Quelle: Wikimedia&quot; alt=&quot;Abbildung MiniPCI and MiniPCI Express cards Lizenz: Public Domain Quelle: Wikimedia&quot; width=&quot;300&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://de.wikipedia.org/w/index.php?title=Datei:MiniPCI_and_MiniPCI_Express_cards.jpg&amp;amp;filetimestamp=20090227151258&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://de.wikipedia.org/w/index.php?title=Datei:MiniPCI_and_MiniPCI_Express_cards.jpg&amp;amp;filetimestamp=20090227151258&quot;  rel=&quot;nofollow&quot;&gt;Abbildung MiniPCI and MiniPCI Express cards Quelle als SVG&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Kompatibilität von Steckplätzen und Karten&quot; [3749-] --&gt;&lt;div class=&quot;footnotes&quot;&gt;
&lt;div class=&quot;fn&quot;&gt;&lt;sup&gt;&lt;a href=&quot;#fnt__1&quot; id=&quot;fn__1&quot; name=&quot;fn__1&quot; class=&quot;fn_bot&quot;&gt;1)&lt;/a&gt;&lt;/sup&gt; 
, &lt;sup&gt;&lt;a href=&quot;#fnt__3&quot; id=&quot;fn__3&quot; name=&quot;fn__3&quot; class=&quot;fn_bot&quot;&gt;3)&lt;/a&gt;&lt;/sup&gt; 
, &lt;sup&gt;&lt;a href=&quot;#fnt__4&quot; id=&quot;fn__4&quot; name=&quot;fn__4&quot; class=&quot;fn_bot&quot;&gt;4)&lt;/a&gt;&lt;/sup&gt; 
, &lt;sup&gt;&lt;a href=&quot;#fnt__6&quot; id=&quot;fn__6&quot; name=&quot;fn__6&quot; class=&quot;fn_bot&quot;&gt;6)&lt;/a&gt;&lt;/sup&gt; 
, &lt;sup&gt;&lt;a href=&quot;#fnt__7&quot; id=&quot;fn__7&quot; name=&quot;fn__7&quot; class=&quot;fn_bot&quot;&gt;7)&lt;/a&gt;&lt;/sup&gt; 
mit Verlängerungskabel&lt;/div&gt;
&lt;div class=&quot;fn&quot;&gt;&lt;sup&gt;&lt;a href=&quot;#fnt__2&quot; id=&quot;fn__2&quot; name=&quot;fn__2&quot; class=&quot;fn_bot&quot;&gt;2)&lt;/a&gt;&lt;/sup&gt; 
mit Adapter&lt;/div&gt;
&lt;div class=&quot;fn&quot;&gt;&lt;sup&gt;&lt;a href=&quot;#fnt__5&quot; id=&quot;fn__5&quot; name=&quot;fn__5&quot; class=&quot;fn_bot&quot;&gt;5)&lt;/a&gt;&lt;/sup&gt; 
ab Displayport Revision 1.1: Grafikkarte schaltet auf HDMI-Ausgabe um, Adapter hebt Pegel an, siehe &lt;a href=&quot;http://www.heise.de/newsticker/meldung/DisplayPort-Trickreich-zur-HDMI-Kompatibilitaet-176843.html&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.heise.de/newsticker/meldung/DisplayPort-Trickreich-zur-HDMI-Kompatibilitaet-176843.html&quot;  rel=&quot;nofollow&quot;&gt;DisplayPort: Trickreich zur HDMI-Kompatibilität&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;fn&quot;&gt;&lt;sup&gt;&lt;a href=&quot;#fnt__8&quot; id=&quot;fn__8&quot; name=&quot;fn__8&quot; class=&quot;fn_bot&quot;&gt;8)&lt;/a&gt;&lt;/sup&gt; 
veraltet nur noch vereinzelt in Industrieanwendungen&lt;/div&gt;
&lt;div class=&quot;fn&quot;&gt;&lt;sup&gt;&lt;a href=&quot;#fnt__9&quot; id=&quot;fn__9&quot; name=&quot;fn__9&quot; class=&quot;fn_bot&quot;&gt;9)&lt;/a&gt;&lt;/sup&gt; 
, &lt;sup&gt;&lt;a href=&quot;#fnt__10&quot; id=&quot;fn__10&quot; name=&quot;fn__10&quot; class=&quot;fn_bot&quot;&gt;10)&lt;/a&gt;&lt;/sup&gt; 
, &lt;sup&gt;&lt;a href=&quot;#fnt__11&quot; id=&quot;fn__11&quot; name=&quot;fn__11&quot; class=&quot;fn_bot&quot;&gt;11)&lt;/a&gt;&lt;/sup&gt; 
, &lt;sup&gt;&lt;a href=&quot;#fnt__12&quot; id=&quot;fn__12&quot; name=&quot;fn__12&quot; class=&quot;fn_bot&quot;&gt;12)&lt;/a&gt;&lt;/sup&gt; 
, &lt;sup&gt;&lt;a href=&quot;#fnt__13&quot; id=&quot;fn__13&quot; name=&quot;fn__13&quot; class=&quot;fn_bot&quot;&gt;13)&lt;/a&gt;&lt;/sup&gt; 
, &lt;sup&gt;&lt;a href=&quot;#fnt__14&quot; id=&quot;fn__14&quot; name=&quot;fn__14&quot; class=&quot;fn_bot&quot;&gt;14)&lt;/a&gt;&lt;/sup&gt; 
nicht vorgeschrieben, aber möglich&lt;/div&gt;
&lt;/div&gt;
</description>
    </item>
    <item rdf:about="http://www.stefanux.de/wiki/doku.php/software/ct-offline-update?rev=1267033206&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-02-24T18:40:06+01:00</dc:date>
        <dc:creator>Stefan</dc:creator>
        <title>software:ct-offline-update</title>
        <link>http://www.stefanux.de/wiki/doku.php/software/ct-offline-update?rev=1267033206&amp;do=diff</link>
        <description>


&lt;h1&gt;&lt;a name=&quot;ct-offline-update&quot; id=&quot;ct-offline-update&quot;&gt;ct Offline Update&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;

Das ct Offline Update ist ein Projekt der c&amp;#039;t und bietet die Möglichkeit &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/windows/windows&quot; class=&quot;wikilink1&quot; title=&quot;windows:windows&quot;&gt;Windows&lt;/a&gt;-Updates herunterzuladen und dies auf PCs ohne weitere Downloadzeit zügig einzuspielen.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;ct Offline Update&quot; [1-216] --&gt;
&lt;h2&gt;&lt;a name=&quot;links&quot; id=&quot;links&quot;&gt;Links&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.wsusoffline.net/&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.wsusoffline.net/&quot;  rel=&quot;nofollow&quot;&gt;Wsus offline&lt;/a&gt; (neuer Name)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.heise.de/ct/Offline-Update--/projekte/133634&quot; class=&quot;urlextern&quot; target=&quot;top&quot; title=&quot;http://www.heise.de/ct/Offline-Update--/projekte/133634&quot;  rel=&quot;nofollow&quot;&gt;Projekthomepage&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Links&quot; [217-380] --&gt;
&lt;h2&gt;&lt;a name=&quot;installation&quot; id=&quot;installation&quot;&gt;Installation&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Installation&quot; [381-405] --&gt;
&lt;h3&gt;&lt;a name=&quot;linux-debian&quot; id=&quot;linux-debian&quot;&gt;Linux (Debian)&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; benötigte Pakete installieren (&lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/debian/debian&quot; class=&quot;wikilink1&quot; title=&quot;debian:debian&quot;&gt;Debian&lt;/a&gt;): &lt;pre class=&quot;code&quot;&gt;aptitude install cabextract xmlstarlet tofrodos&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; ct Offline-Update herunterladen: &lt;pre class=&quot;code&quot;&gt;wget http://www.heise.de/ct/projekte/offlineupdate/download/ctupdate60.zip&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Prüsumme herunterladen: &lt;pre class=&quot;code&quot;&gt;wget http://www.heise.de/ct/projekte/offlineupdate/download/ctupdate60.md5&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Prüfsumme verifizieren (hier muss bei md5sum noch ein Leerzeichen mehr zwischen Prüfsumme und Dateinamen eingefügt werden!): &lt;pre class=&quot;code&quot;&gt;md5sum -c ctupdate60.md5&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; entpacken: &lt;pre class=&quot;code&quot;&gt;unzip ctupdate60.zip&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; ausführbar machen: &lt;pre class=&quot;code&quot;&gt;chmod +x ctupdate/sh/*.sh&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; ins Verzeichnis wechseln  und Download starten: &lt;pre class=&quot;code&quot;&gt;cd ctupdate/sh/ &amp;amp;&amp;amp; ./DownloadUpdates.sh &lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Linux (Debian)&quot; [406-1179] --&gt;
&lt;h3&gt;&lt;a name=&quot;aufrufparameter-von-downloadupdatessh&quot; id=&quot;aufrufparameter-von-downloadupdatessh&quot;&gt;Aufrufparameter von DownloadUpdates.sh&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;

DownloadUpdates.sh kann nicht-interaktiv (z. B. für ein &lt;a href=&quot;http://www.stefanux.de/wiki/doku.php/linux/cronjobs&quot; class=&quot;wikilink1&quot; title=&quot;linux:cronjobs&quot;&gt;cron&lt;/a&gt;-Skript) mit folgenden Optionen gestartet werden:
&lt;/p&gt;

&lt;p&gt;
Schema: DownloadUpdates.sh [systeme] [sprache] [parameter]

&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; systeme: w2k, wxp, wxp-x64, w2k3, w2k3-x64, w60, w60-x64, oxp, o2k, o2k3, o2k7, all-x64, all-x86&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Sprachen: enu, deu, nld, esn, fra, ptg, ptb, ita, rus, plk, ell, csy, dan, nor, sve, fin, jpn, kor, chs, cht, hun, trk, ara, heb&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Parameter:&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; /excludesp : do not download servicepacks“&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; /makeiso   : create &lt;acronym title=&quot;International Organization for Standardization&quot;&gt;ISO&lt;/acronym&gt;-Image“&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; /dotnet    : download .NET-Framework“&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; /nocleanup : do not cleanup client directory“&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; /proxy     : define proxyserver( /proxy http:&lt;em&gt;[username:password@]&amp;lt;server&amp;gt;:&amp;lt;port&amp;gt;)“

Beispiel: (WinXP, Deutsch, dotnet-Updates, &lt;acronym title=&quot;International Organization for Standardization&quot;&gt;ISO&lt;/acronym&gt;-Datei erstellen:

  DownloadUpdates.sh wxp deu /dotnet /makeiso


&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Aufrufparameter von DownloadUpdates.sh&quot; [1180-] --&gt;</description>
    </item>
</rdf:RDF>
