<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" gd:etag="W/&quot;AkcCRHs8fSp7ImA9WhRREE4.&quot;"><id>tag:blogger.com,1999:blog-1288827534432621249</id><updated>2011-11-23T09:47:45.575+01:00</updated><category term="linux" /><category term="lpic-2" /><category term="pkm" /><category term="mail" /><category term="protokolle" /><category term="job" /><category term="anekdoten" /><category term="tools" /><category term="skripting" /><category term="ssh" /><category term="more" /><category term="solaris" /><category term="konzepte" /><category term="usability" /><category term="hardware" /><title>hamsterrad</title><subtitle type="html">sebastian auf Entdeckungsreise</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://ausdemhamsterrad.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://ausdemhamsterrad.blogspot.com/" /><author><name>Sebastian Kayser</name><uri>http://www.blogger.com/profile/15220047733965249390</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://4.bp.blogspot.com/__LGP5_i8C_g/SNFe-iY6bAI/AAAAAAAAHmM/xY-kk1c9fCk/S220/sebastian.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>24</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/Hamsterrad" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="hamsterrad" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;DU4HR3kyeyp7ImA9WhZaEkw.&quot;"><id>tag:blogger.com,1999:blog-1288827534432621249.post-1238791863339394527</id><published>2011-06-27T23:30:00.007+02:00</published><updated>2011-06-28T01:38:56.793+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-06-28T01:38:56.793+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="tools" /><category scheme="http://www.blogger.com/atom/ns#" term="ssh" /><category scheme="http://www.blogger.com/atom/ns#" term="solaris" /><category scheme="http://www.blogger.com/atom/ns#" term="skripting" /><title>Wenn neu mit alt spricht / bricht</title><content type="html">Vorwärtskompatibilität ist was Schönes, oder? Alte Versionen ko-existieren neben neuen und kommen auch nicht aus dem Tritt wenn sie mit neuen Formaten gefüttert werden. Praktisch ... Manchmal aber auch praktisch, um sich schön in den Fuß zu schießen und dabei dann doch aus dem Tritt zu kommen.

&lt;h4&gt;Die Zutaten: ssh-agent, ssh-add&lt;/h4&gt;

Aktuell bin ich dabei, mit &lt;a href="http://superuser.com/questions/21975/how-can-i-get-the-comment-of-the-current-authorized-keys-ssh-key"&gt;diversen SSH-Hackereien&lt;/a&gt; ein "don't get in my way" Changelog Framework für kleine Umgebungen zu bauen, in denen Puppet &amp; Co Overkill sind, aber Doku in einem lose zusammengestrickten Team ein deutlicher Gewinn ist. 

Eine der Komponenten: SSH Agent Forwarding um auch über mehrere Hops hinweg passwortlose Authentifizierung nutzen zu können. Der dabei offen werdende Auth Socket auf den Zielsystemen ist &lt;a href="http://www.symantec.com/connect/articles/ssh-and-ssh-agent"&gt;eigentlich ne eher ungute Idee&lt;/a&gt;, aber mit Hilfe von ssh-adds "&lt;a href="http://awurl.com/hCZNleheB"&gt;Confirmation Constraint&lt;/a&gt;" in den Griff zu bekommen (involviert $SSH_ASKPASS bei jedem Zugriff auf den Key).

Soweit zur Theorie.

&lt;h4&gt;Confirmation überbewertet?&lt;/h4&gt;

Effekt bei ersten Versuchen: Hinzufügen des Keys wird brav bestätigt (man beachte "The user has to confirm each use of the key"), nachfolgende Verwendung funktioniert jedoch komplett ohne Bestätigung durch den User.

&lt;pre&gt;
$ ssh-add -c
Enter passphrase for /home/jd/.ssh/id_rsa:
Identity added: /home/jd/.ssh/id_rsa (/home/jd/.ssh/id_rsa)
The user has to confirm each use of the key
$ ssh localhost uptime
  3:54pm  up  8:26,  2 users,  load average: 0.08, 0.04, 0.02
$
&lt;/pre&gt;

Ouch.

&lt;h4&gt;Der Schuldige: ssh-agent.c 1.105&lt;/h4&gt;

Nach reichlich Debuggerei und stillem Fluchen (klassisch übers Ziel hinausgeschossen), fällt dann ins Auge, dass ssh-add aus /opt/csw/bin kommt, während der ssh-agent von der Solaris 10 Installation selbst bereitgestellt wird und beide ein stolzer Versions-Graben trennt.

&lt;pre&gt;
$ strings /bin/ssh-agent | grep ssh-agent.c
@(#)$OpenBSD: ssh-agent.c,v 1.105 2002/10/01 20:34:12 markus Exp $
$ pkgparam CSWosshclient VERSION
5.4p1,REV=2010.03.25
&lt;/pre&gt;

Die reichlich betagte ssh(-agent) Version von Solaris ist an sich schon interessant, noch interessanter ist, dass "Confirmation constraints" bei OpenSSH &lt;a href="http://www.openbsd.org/cgi-bin/cvsweb/src/usr.bin/ssh/ssh-agent.c#rev1.107"&gt;erst mit 1.107 Einzug gehalten haben&lt;/a&gt;. Ergo kann der ssh-agent von Solaris (bis mind. inkl. Solaris 9/10) schlicht nichts mit der Bitte von ssh-add anfangen, den Schlüssel doch bitte nur nach Bestätigung auszugeben.

&lt;h4&gt;Oder doch ssh-add?&lt;/h4&gt;

Hält jedoch beide Beteiligten (ssh-agent/ssh-add) nicht davon ab, frohgemut zu vermelden: "Alles roger!". Könnten beide Seiten etwas ehrlicher arbeiten. Unter Anbetracht der Uhrzeit denk ich mir jedoch genau das ("Alles roger!"), vermerk die Lektion, steig auf &lt;a href="http://opencsw.org"&gt;OpenCSW&lt;/a&gt;'s ssh-agent um und erfreue mich an einem funktionierenden Confirmation Constraint.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1288827534432621249-1238791863339394527?l=ausdemhamsterrad.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://ausdemhamsterrad.blogspot.com/feeds/1238791863339394527/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1288827534432621249&amp;postID=1238791863339394527" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1288827534432621249/posts/default/1238791863339394527?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1288827534432621249/posts/default/1238791863339394527?v=2" /><link rel="alternate" type="text/html" href="http://ausdemhamsterrad.blogspot.com/2011/06/wenn-neu-mit-alt-spricht-bricht.html" title="Wenn neu mit alt spricht / bricht" /><author><name>Sebastian Kayser</name><uri>http://www.blogger.com/profile/15220047733965249390</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://4.bp.blogspot.com/__LGP5_i8C_g/SNFe-iY6bAI/AAAAAAAAHmM/xY-kk1c9fCk/S220/sebastian.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CkANRHcyeyp7ImA9Wx5SGEU.&quot;"><id>tag:blogger.com,1999:blog-1288827534432621249.post-982528575274992281</id><published>2010-08-15T15:59:00.001+02:00</published><updated>2010-08-15T15:59:55.993+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-15T15:59:55.993+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="mail" /><category scheme="http://www.blogger.com/atom/ns#" term="solaris" /><title>E-Mails, hiergeblieben!</title><content type="html">&lt;p&gt;Schonmal ein Entwicklungssystem in der Hand gehabt, das E-Mails verschleudert, die eigentlich nicht Umlauf gehören? Für opencsw.org betreiben wir nen www-dev System, auf dem wir Änderungen testen, bevor wir sie live schalten. Mit den Tests (Anwendungen quer durch die Bank weg, CMS, Bugtracker, Eigenentwicklung, …) gehen auch generierte E-Mails einher, von denen wir zwar mitunter wissen wollen, dass sie verschickt werden und wie sie aussehen, aber tatsächlich sollen sie alle bei uns bleiben.&lt;/p&gt;  &lt;p&gt;Mit Postfix auf der www-dev Maschine geht das ratz-fatz. Und zwar Anwendungs-übergreifend, also egal ob die E-Mails aus PHP oder Python generiert, per &lt;tt&gt;/usr/lib/sendmail&lt;/tt&gt; getriggert oder direkt via Port 25 zugestellt werden. Ohne Zusatzkonfiguration an den Anwendungen selbst.&lt;/p&gt;  &lt;pre&gt;# tail -2 /etc/opt/csw/postfix/main.cf
virtual_maps = regexp:/etc/opt/csw/postfix/virtual
inet_interfaces = localhost

# cat /etc/opt/csw/postfix/virtual
/@/     catchall

# getent passwd catchall
catchall:x:65550:1:catchall account for all outgoing postfix email ...&lt;/pre&gt;

&lt;p&gt;Alle ausgehenden Mails landen somit schön abgreifbar in &lt;tt&gt;/var/mail/catchall&lt;/tt&gt; und können mit dem Tool der Wahl inspiziert werden. Anstatt dem von uns angelegten Catchall-Rollen-Account könnte man natürlich auch persönliche Accounts verwenden. Wie auch immer, Hauptsache die E-Mails bleiben zuhause und das tun sie hiermit! Jetzt nur nicht vergessen, die Betroffenen zu informieren, ansonsten ist Verzweiflung beim Testen und Warten auf E-Mails vorprogrammiert.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1288827534432621249-982528575274992281?l=ausdemhamsterrad.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://ausdemhamsterrad.blogspot.com/feeds/982528575274992281/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1288827534432621249&amp;postID=982528575274992281" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1288827534432621249/posts/default/982528575274992281?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1288827534432621249/posts/default/982528575274992281?v=2" /><link rel="alternate" type="text/html" href="http://ausdemhamsterrad.blogspot.com/2010/08/e-mails-hiergeblieben.html" title="E-Mails, hiergeblieben!" /><author><name>Sebastian Kayser</name><uri>http://www.blogger.com/profile/15220047733965249390</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://4.bp.blogspot.com/__LGP5_i8C_g/SNFe-iY6bAI/AAAAAAAAHmM/xY-kk1c9fCk/S220/sebastian.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;D0YHSHc6fSp7ImA9WxBTFEU.&quot;"><id>tag:blogger.com,1999:blog-1288827534432621249.post-6690587614616550171</id><published>2009-12-10T23:32:00.001+01:00</published><updated>2009-12-10T23:45:39.915+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-10T23:45:39.915+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="konzepte" /><category scheme="http://www.blogger.com/atom/ns#" term="skripting" /><title>cut und der fehlende Whitespace-Delimiter</title><content type="html">&lt;p&gt;Verdeutlichen wir mal anhand eines scheinbar einfachen Problems ein viel fundamentaleres Problem. cut kann bekanntlich nicht mit einer variablen Menge an Field Delimitern umgehen.&lt;/p&gt;  &lt;pre&gt;$ echo &amp;quot;1 2 3&amp;#160; 4 5 6&amp;quot; | cut -d &amp;quot; &amp;quot; -f 3-5 
3&amp;#160; 4&lt;/pre&gt;

&lt;p&gt;Ist besonders dann ärgerlich, wenn es darum geht einen Bereich an Feldern (also Feld X-Y) auszugeben, den Bereiche von Feldern sind mit cut sonst schnell ausgegeben. Alternative Ansätze kommen dann gerne mit &lt;a href="http://forums11.itrc.hp.com/service/forums/questionanswer.do?threadId=1140522" target="_blank"&gt;wilden Schleifen in awk&lt;/a&gt; daher, die zwar machbar sind, aber IMHO absolut nicht intuitiv - geschweige denn kurz - von der Hand gehen.&lt;/p&gt;

&lt;p&gt;Nun liegt die Frage nahe “warum zum Geier kann cut denn nicht einfach mit einer variablen Mengen an Field Delimiteren umgehen?” oder aber dahingehend erweitert werden. &lt;a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=379187" target="_blank"&gt;Hier z.B. gestellt in einem Debian Bug&lt;/a&gt;, der Debian-üblich auch mal auf Prinzipien-Ebene ausgefochten und mit &lt;a href="http://en.opensuse.org/Bug_Status_WONTFIX" target="_blank"&gt;WONTFIX&lt;/a&gt; geschlossen wird. “Konnte cut noch nie, ist nicht dafür gedacht, nimm einfach was anderes”. Ahhhh, bitte, kann doch nicht so schwer sein. Andere sehen das pragmatischer und basteln &lt;a href="http://www.mail-archive.com/bug-textutils@gnu.org/msg00835.html" target="_blank"&gt;einen Patch gegen textutils&lt;/a&gt;, der cut das beibringt.&lt;/p&gt;

&lt;h4&gt;Manchmal geht es eben nicht um schnelle Fixes&lt;/h4&gt;

&lt;p&gt;Nun, was ist jetzt richtig? Sucht man etwas weiter, findet man &lt;a href="http://www.mail-archive.com/bug-coreutils@gnu.org/msg16540.html" target="_blank"&gt;diesen wunderschönen Bug Report gegen coreutils&lt;/a&gt;, der das Problem inklusive möglicher Alternativen umfassend aufzeichnet und &lt;a href="http://www.mail-archive.com/bug-coreutils@gnu.org/msg16542.html" target="_blank"&gt;genauso schön beantwortet wird&lt;/a&gt;.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;em&gt;&lt;strong&gt;The bar for adding new options is very high&lt;/strong&gt;. Supposing we added it, you have to remember that it still &lt;strong&gt;cannot be used by portable scripts&lt;/strong&gt; &lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Und da hat der gute Herr einfach Recht. Bei der extremen Durchsetzungen von Shell-Skripten mit Genossen wie cut, will ich (speziell in gemischten Umgebungen) nicht diffusen Problemen hinterher rennen, nur weil cut von Plattform a ein tolles Feature unterstützt, während gleichnamiges cut von Plattform b noch von der alten Schule ist. Oder noch schlimmer, weil das eine cut klassisch mit einfachen Field Delimitern umgeht, jemand das mit einkalkuliert und drumherum baut, während das andere cut stillschweigende variable Mengen an Field Delimitern zusammenfasst. Unschön.&lt;/p&gt;

&lt;h4&gt;Und was nun?&lt;/h4&gt;

&lt;p&gt;Was bleibt also als Alternative? Entweder doch das mächtigere, ggf. nicht intuitive, &lt;a href="http://www.opengroup.org/onlinepubs/009695399/utilities/awk.html" target="_blank"&gt;dafür aber standardisierte awk&lt;/a&gt; (bzw. perl) oder aber eine simple tr-Alternative des Bug-Report-Verfassers, die ich ganz pfiffig finde.&lt;/p&gt;

&lt;pre&gt;$ echo &amp;quot;1 2 3  4 5 6&amp;quot; | tr -s &amp;quot; &amp;quot; | cut -d &amp;quot; &amp;quot; -f 3-5
3 4 5&lt;/pre&gt;

&lt;p&gt;Das ist zwar immer noch kein Behandlung generischer Whitespace Delimiter (also auch Tabs), aber eingängig ists allemal und für die meisten Fälle wirds auch ausreichen.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1288827534432621249-6690587614616550171?l=ausdemhamsterrad.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://ausdemhamsterrad.blogspot.com/feeds/6690587614616550171/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1288827534432621249&amp;postID=6690587614616550171" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1288827534432621249/posts/default/6690587614616550171?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1288827534432621249/posts/default/6690587614616550171?v=2" /><link rel="alternate" type="text/html" href="http://ausdemhamsterrad.blogspot.com/2009/12/cut-und-der-fehlende-whitespace.html" title="cut und der fehlende Whitespace-Delimiter" /><author><name>Sebastian Kayser</name><uri>http://www.blogger.com/profile/15220047733965249390</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://4.bp.blogspot.com/__LGP5_i8C_g/SNFe-iY6bAI/AAAAAAAAHmM/xY-kk1c9fCk/S220/sebastian.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;AkcMQnk_cSp7ImA9WxRWEk8.&quot;"><id>tag:blogger.com,1999:blog-1288827534432621249.post-3345957447422515421</id><published>2008-10-28T22:05:00.001+01:00</published><updated>2008-10-28T22:08:03.749+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-28T22:08:03.749+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="linux" /><category scheme="http://www.blogger.com/atom/ns#" term="solaris" /><title>$LD_LIBRARY_PATH oder doch nicht?!</title><content type="html">&lt;p&gt;Oft genug, hab ich über 3 Ecken gehört, dass $LD_LIBRARY_PATH &lt;a href="http://blogs.sun.com/rie/entry/tt_ld_library_path_tt" target="_blank"&gt;böse&lt;/a&gt;&amp;#160;&lt;a href="http://xahlee.org/UnixResource_dir/_/ldpath.html" target="_blank"&gt;sein soll&lt;/a&gt;.&amp;#160; Andererseits habe ich mindestens ebenso oft diverse Oracle-/Notes-/Mozilla-/Foo-Wrapper-Skripte in den Händen gehabt, die genau damit arbeiteten.&lt;/p&gt;  &lt;p&gt;Wie gut, wenns dann mal sachte knallt und man nicht nur Genaueres über diese “Böshaftigkeit” lernt, sondern auch noch ein paar Details zum Runtime Linker.&lt;/p&gt;  &lt;h4&gt;Shared Libraries und der Runtime Linker&lt;/h4&gt;  &lt;p&gt;Shared &lt;a href="http://en.wikipedia.org/wiki/Shared_library" target="_blank"&gt;Libraries&lt;/a&gt; sind &lt;a href="http://www.sunmanagers.org/archives/1995/1602.html" target="_blank"&gt;was Feines&lt;/a&gt;. Wird eine Programm gestartet, dass damit arbeitet (sprich: dynamisch gelinkt ist), sorgt der Runtime Linker dafür, dass die vom Programm benötigten Bibliotheken geladen und Referenzen des Programms auf Bibliotheks-Code passend aufgelöst werden.&lt;/p&gt;  &lt;p&gt;Dieser Runtime Linker hört unter Linux auf den Namen ld-linux.so und unter Solaris auf ld.so. Und damit der die gesuchten Bibliotheken auch findet, hat der eine oder andere von uns sicherlich schonmal an &lt;a href="http://www.linux.com/feature/114007" target="_blank"&gt;/etc/ld.so.conf&lt;/a&gt; geschraubt (Linux) oder mit &lt;a href="http://www.itworld.com/nls_unixcrle050413" target="_blank"&gt;crle&lt;/a&gt; (Solaris) gespielt … oder aber auch das “böse” $LD_LIBRARY_PATH gesetzt.&lt;/p&gt;  &lt;h4&gt;Moment, da war doch noch was&lt;/h4&gt;  &lt;p&gt;Um jetzt zu verstehen, warum $LD_LIBRARY_PATH böse sein soll, muss man verstehen, wie sich der &lt;a href="http://www.pix.net/software/bsdos/elf_faq.html#How%20do%20I%20tell%20the%20dynamic%20linker%20where%20to%20find%20shared%20objects" target="_blank"&gt;Runtime Linker seinen Such-Pfad für Bibliotheken zurechtlegt&lt;/a&gt;. Konkret gibt es neben den zwei eben angesprochen Varianten, den Linker-Such-Pfad zu beinflussen, noch eine weitere: Im ELF Binary selbst.&lt;/p&gt;  &lt;p&gt;Dazu wird beim Kompiliervorgang ein sogenannter RUNPATH definiert, den man sich bei einem fertigen ELF Binary mittels &lt;tt&gt;objdump –p&lt;/tt&gt; (Linux) oder &lt;tt&gt;dumpelf –d&lt;/tt&gt; (Solaris) anzeigen lassen kann.&lt;/p&gt;  &lt;p&gt;Dieser RUNPATH reiht sich wie folgt in den regulären Runtime-Linker-Suchlauf ein (siehe &lt;a href="http://linux.die.net/man/8/ld-linux" target="_blank"&gt;man ld-linux.so&lt;/a&gt; für Linux und &lt;a href="http://docs.sun.com/app/docs/doc/819-0690/chapter6-63352?a=view" target="_blank"&gt;Directories Searched by the Runtime Linker&lt;/a&gt; für Solaris):&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;RPATH (deprecated) &lt;/li&gt;    &lt;li&gt;LD_LIBRARY_PATH &lt;/li&gt;    &lt;li&gt;RUNPATH &lt;/li&gt;    &lt;li&gt;Linux: Konfigurierte Suchverzeichnisse (ldconfig &amp;amp; Co) &lt;/li&gt;    &lt;li&gt;Standard-Verzeichnisse (/usr/lib, /lib unter Linux, crle-Konfiguration unter Solaris) &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Wie man also sieht steht LD_LIBRARY_PATH an oberster Stelle und hat somit Vorzug vor allen anderen Einstellungen. Womit wir zum Problem kämen.&lt;/p&gt;  &lt;h4&gt;/opt/csw und $LD_LIBRARY_PATH&lt;/h4&gt;  &lt;p&gt;Hat man ein Solaris System, auf dem neben der Standard-Installation z.B. noch ein /opt/csw-Ast vorhanden ist, dann liegen “ähnliche” Bibliotheken an vielen Ecken und Enden (/lib, /usr/lib, /opt/csw/lib, …).&lt;/p&gt;  &lt;p&gt;Die Anwendungen von /opt/csw haben damit prinzipiell kein Problem, denn die sind mit einem RUNPATH (siehe Punkt 3 in der Liste oben) kompiliert, der dafür sorgt, dass passende Bibliotheken aus dem /opt/csw-Ast angezogen werden.&lt;/p&gt;  &lt;p&gt;Außer man setzt sich via .bashrc einen globalen $LD_LIBRARY_PATH (nicht fragen, ich wars nicht) der von /lib und /usr/lib angeführt wird. Abgesehen davon, dass es ziemlich unnötig ist, diese Pfade überhaupt explizit anzuführen (da sie standardmäßig abgesucht werden, siehe Punkt 5), kann es dann dazu kommen, dass der Runtime Linker Anwendungen von /opt/csw mit Standard-Solaris-Bibliotheken aus /lib oder /usr/lib verheiratet. &lt;/p&gt;  &lt;p&gt;Obwohl die versionstechnisch eigentlich passen müssten (sonst würde sie der Runtime Linker nicht verwenden), schmeckt das den Anwendungen nicht wirklich. Im beobachteten Fall gabs keine startenden Anwendungen, dafür jede Menge Core Dumps. &lt;/p&gt;  &lt;p&gt;Schlecht, aber immerhin ists ziemlich einleuchtend, dass $LD_LIBRARY_PATH nichts in .bashrc &amp;amp; Co zu suchen hat.&lt;/p&gt;  &lt;h4&gt;Wrapper-Skripte und $LD_LIBRARY_PATH&lt;/h4&gt;  &lt;p&gt;Bei Wrapper-Skripten sieht das anders aus. Die sind für eine kontrollierte Umgebung &lt;strong&gt;einer&lt;/strong&gt; Anwendung zuständig und somit kann $LD_LIBRARY_PATH ohne Kollateralschaden gezielt eingesetzt werden. Das ist insbesondere deswegen notwendig, weil betroffene Programme (also Programme mit Wrapper-Skripten) oftmals Bibliotheken mitbringen, die nicht an systemweite Orte kopiert werden, sondern im Installationsverzeichnis zu liegen kommen. Damit der Runtime Linker die findet, ist ergo Nachhilfe in Form von $LD_LIBRARY_PATH angesagt.&lt;/p&gt;  &lt;p&gt;Ein einkompilierter RUNPATH in der Anwendung wäre ebenso denkbar und mit sowas wie der &lt;a href="http://manpages.courier-mta.org/htmlman8/ld.so.8.html#ld-so-8_sect3" target="_blank"&gt;Angabe $ORIGIN im RUNPATH&lt;/a&gt; ist das sogar für Anwendungen denkbar, die an beliebigen Orten installiert werden. So wie das z.B. im Firefox-Wrapper-Skript &lt;a href="http://mxr.mozilla.org/firefox/source/build/unix/run-mozilla.sh#336" target="_blank"&gt;zu sehen&lt;/a&gt; ist.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1288827534432621249-3345957447422515421?l=ausdemhamsterrad.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://ausdemhamsterrad.blogspot.com/feeds/3345957447422515421/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1288827534432621249&amp;postID=3345957447422515421" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1288827534432621249/posts/default/3345957447422515421?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1288827534432621249/posts/default/3345957447422515421?v=2" /><link rel="alternate" type="text/html" href="http://ausdemhamsterrad.blogspot.com/2008/10/ldlibrarypath-oder-doch-nicht.html" title="$LD_LIBRARY_PATH oder doch nicht?!" /><author><name>Sebastian Kayser</name><uri>http://www.blogger.com/profile/15220047733965249390</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://4.bp.blogspot.com/__LGP5_i8C_g/SNFe-iY6bAI/AAAAAAAAHmM/xY-kk1c9fCk/S220/sebastian.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CEIDSX4_fip7ImA9WxRXF00.&quot;"><id>tag:blogger.com,1999:blog-1288827534432621249.post-3813429402651792409</id><published>2008-10-22T21:05:00.003+02:00</published><updated>2008-10-22T21:09:38.046+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-22T21:09:38.046+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="hardware" /><category scheme="http://www.blogger.com/atom/ns#" term="solaris" /><title>PCI IDs mit lspci, prtconf &amp; Co</title><content type="html">&lt;p&gt;Von Linux kommend, sucht man bei Solaris ja &lt;a href="/2008/10/solaris-wo-bist-gnu.html"&gt;gerne mal&lt;/a&gt; vergeblich nach liebgewonnen Tools. Eines davon ist bei mir eindeutig &lt;a href="http://en.wikipedia.org/wiki/Lspci" target="_blank"&gt;lspci&lt;/a&gt;. Zeige mir eine Liste der im System steckenden PCI-Komponenten (Netzwerkkarten, Storage-Controller, Grafikkarten, …).&lt;/p&gt;  &lt;p&gt;Sowas gibts zwar auch unter Solaris in Form von &lt;tt&gt;prtconf - &lt;/tt&gt;und ich mag fast behaupten noch hilfreicher, da es die verwendeten Treiber gleich mit anzeigt -, aber das gibt einem anstatt sprechender Gerätebeschreibungen lediglich &lt;a href="http://mail-index.netbsd.org/tech-kern/1998/10/06/0010.html" target="_blank"&gt;PCI IDs&lt;/a&gt; aus (hier im Beispiel etwa pci9005,2cf).&lt;/p&gt;  &lt;pre&gt;$ prtconf -D
System Configuration:  Sun Microsystems  i86pc
Memory size: 8191 Megabytes
System Peripherals (Software Nodes):

i86pc (driver name: rootnex)&lt;br /&gt;    ...
    pci, instance #0 (driver name: npe)&lt;br /&gt;        ...
        pci8086,29f9, instance #1 (driver name: pcie_pci)
            pci9005,2cf, instance #0 (driver name: aac)
                sd, instance #1 (driver name: sd)
                sd, instance #2 (driver name: sd)&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;$ &lt;br /&gt;&lt;/pre&gt;

&lt;p&gt;Welche Geräte hinter solchen PC IDs stecken, kann man beim &lt;a href="http://pciids.sourceforge.net/" target="_blank"&gt;PCI ID Repository&lt;/a&gt; oder in der &lt;a href="http://www.pcidatabase.com/" target="_blank"&gt;PCI Database&lt;/a&gt; nachschauen. Linux Distributionen und &lt;tt&gt;lspci&lt;/tt&gt; nehmen einem das ab, indem von Haus aus eine Offline-Version der PCI ID Repository Datenbank mitkommt, die automatisch zur Umsetzung der “nichtssagenden” IDs auf meist verständliche Gerätenamen verwendet wird.&lt;/p&gt;

&lt;h4&gt;Von Device und Subsystem IDs&lt;/h4&gt;

&lt;p&gt;Bei so viel Komfort muss man sich nicht wirklich viel Gedanken über die IDs machen und so kann es vorkommen, dass man plötzlich - mit den ganzen IDs unter Solaris konfrontiert - etwas lernt, was man die ganze Zeit falsch im Kopf hatte: Was genau sind eigentlich Subsystem IDs und was sind sie nicht.&lt;/p&gt;

&lt;p&gt;Subsystem IDs sind &lt;strong&gt;nicht&lt;/strong&gt; für Subkomponenten eines Chips, also keine Methode um mehrere Subsysteme auf einer PCI Karte anzusprechen oder so … wie ich bisher dachte. &lt;/p&gt;

&lt;p&gt;Vielmehr vergibt ein Chipsatz-Hersteller für den auf einer PCI Karte zum Einsatz kommenden Chipsatz eine eindeutige PCI Device ID. Nun kann es vorkommen, dass dieser Chipsatz von verschiedenen PCI-Kartenherstellern verbaut wird. Sowas geschieht ja besonders gerne bei Storage Controllern diverser Firmen (Adaptec, LSI, …) die dann mit anderer Labelung bei Dell (Cerc, Perc), IBM (ServeRAID) oder sonstwo landen.&lt;/p&gt;

&lt;p&gt;Um dann diese verschiedenen Karten (mit dem gleichen Chipsatz, sprich der gleichen Device ID) zu unterscheiden gibts die Angaben Subsystem Vendor ID und Subsystem ID. Das &lt;em&gt;Subsystem&lt;/em&gt; in diesem Kontext ist also die konkrete “Verpackung” des Chipsatzes in Form einer PCI Karte.&lt;/p&gt;

&lt;p&gt;Genau diese Kenndaten sieht man übrigens oben in der Ausgabe von prtconf. “pci9005,2cf” steht für ein Gerät mit &lt;strong&gt;Subsystem&lt;/strong&gt; Vendor ID 0x9005 und &lt;strong&gt;Subsystem&lt;/strong&gt; ID 0x02cf. Mit etwas Sucherei in der üppigen Ausgaben von &lt;tt&gt;prtconf –Dv&lt;/tt&gt; kann man dann auch die Vendor ID 0x9005 und die Device ID 0x0285 für dieses Gerät in Erfahrung bringen.&lt;/p&gt;

&lt;pre&gt;                    ...
                    name='vendor-id' type=int items=1
                        value=00009005
                    name='device-id' type=int items=1
                        value=00000285
                    ...&lt;/pre&gt;

&lt;p&gt;Mit diesen Daten bewaffnet findet man im PC ID Repository folgende Informationen. Der Vendor (0x9005) – von in diesem Fall Chipsatz und Karte - ist &lt;a href="http://pci-ids.ucw.cz/read/PC/9005" target="_blank"&gt;Adaptec&lt;/a&gt;, der Chipssatz (Device ID = 0x0285) wird generisch als &lt;a href="http://pci-ids.ucw.cz/read/PC/9005/0285" target="_blank"&gt;AAC-RAID&lt;/a&gt; bezeichnet und die konkrete Karte (Subsystem Device ID = 0x02cf) ist ein &lt;a href="http://pci-ids.ucw.cz/read/PC/9005/0285/900502d1" target="_blank"&gt;5405 PCIe SAS/SATA Controller&lt;/a&gt;.&lt;/p&gt;

&lt;h4&gt;Device IDs sind wichtig für Treiber&lt;/h4&gt;

&lt;p&gt;Aus Sicht des Betriebssystems ist die Device ID das eigentlich Wichtige, denn darüber kann der Chipsatz identifiziert und somit der passende Treiber zugeordnet werden. Unter Solaris wird die Zuordnung aus /etc/driver_aliases gelesen. Sucht man dort nach den bisher in Erfahrungen gebrachten IDs kann man sich nochmal verdeutlichen, dass die Device ID die für den Treiber relevante ID ist und &lt;strong&gt;nicht&lt;/strong&gt; die Subsystem Device ID.&lt;/p&gt;

&lt;pre&gt;$ grep pci9005,2cf /etc/driver_aliases
$ grep pci9005,285 /etc/driver_aliases
aac &amp;quot;pci9005,285&amp;quot;&lt;/pre&gt;

&lt;p&gt;Das Treiber-Modul “aac” wird für PCI Device ID 9005:0285 verwendet und 0x0285 bezieht sich wie oben zu sehen auf den Chipsatz. Macht ja auch Sinn.&lt;/p&gt;

&lt;h4&gt;lspci auf Solarisch: scanpci&lt;/h4&gt;

&lt;p&gt;Wem prtconf zu befremdlich sein sollte, der kann auch auf &lt;tt&gt;/usr/X11/bin/scanpci&lt;/tt&gt; ausweichen. Das hab ich eben &lt;a href="http://www.cuddletech.com/blog/pivot/entry.php?id=573" target="_blank"&gt;bei Ben gefunden&lt;/a&gt;, wobei der das als &lt;tt&gt;/usr/X11/bin/pciscan&lt;/tt&gt; erwähnt … YMMV. &lt;/p&gt;

&lt;pre&gt;# /usr/X11R6/bin/scanpci -v 
...
pci bus 0x0004 cardnum 0x00 function 0x00: vendor 0x9005 device 0x0285
 Adaptec AAC-RAID
 CardVendor 0x9005 card 0x02cf (Adaptec, Card unknown)
...&lt;/pre&gt;

&lt;p&gt;Wie zu sehen ist, übersetzt &lt;tt&gt;scanpci&lt;/tt&gt; sogar, wie von &lt;tt&gt;lspci&lt;/tt&gt; bekannt, PCI IDs in Gerätebeschreibungen (Adaptec AAC-RAID) oder versucht es zumindest (Card unknown). Die Beschreibungen liegen dabei nicht wie bei &lt;tt&gt;lspci&lt;/tt&gt; in einer separaten Datei, sondern sind in &lt;tt&gt;/usr/X11/lib/modules/libscanpci.so&lt;/tt&gt; hart kodiert (der geneigte Leser kann ja mal ein &lt;tt&gt;strings&lt;/tt&gt; auf die Library abschicken, dann weiß er, was ich meine).&lt;/p&gt;

&lt;p&gt;Bei all den Vorzügen darf man nicht verschweigen, dass &lt;tt&gt;scanpci&lt;/tt&gt; im Gegensatz zu &lt;tt&gt;prtconf&lt;/tt&gt; root-Rechte benötigt. Als normaler Nutzer bekommt man lediglich ein lapidares “No PCI devices found” vor die Füße gespuckt. Und auf einem Solaris 10 01/06 für Sparc hab ichs eben überhaupt nicht gefunden.&lt;/p&gt;

&lt;p&gt;Zusatz: Wen das Zusammenspiel zwischen Solaris Treibern und PCI IDs genauer interessiert, der findet &lt;a href="http://blogs.sun.com/dmick/entry/title_pci_device_identification_and" target="_blank"&gt;hier&lt;/a&gt; und &lt;a href="http://www.sun.com/bigadmin/features/techtips/assign_device_to_driver.jsp" target="_blank"&gt;hier&lt;/a&gt; weiteres Lesefutter.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1288827534432621249-3813429402651792409?l=ausdemhamsterrad.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://ausdemhamsterrad.blogspot.com/feeds/3813429402651792409/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1288827534432621249&amp;postID=3813429402651792409" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1288827534432621249/posts/default/3813429402651792409?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1288827534432621249/posts/default/3813429402651792409?v=2" /><link rel="alternate" type="text/html" href="http://ausdemhamsterrad.blogspot.com/2008/10/pci-ids-mit-lspci-prtconf-co.html" title="PCI IDs mit lspci, prtconf &amp;amp; Co" /><author><name>Sebastian Kayser</name><uri>http://www.blogger.com/profile/15220047733965249390</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://4.bp.blogspot.com/__LGP5_i8C_g/SNFe-iY6bAI/AAAAAAAAHmM/xY-kk1c9fCk/S220/sebastian.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CEcFSXc-eip7ImA9WxRQFk4.&quot;"><id>tag:blogger.com,1999:blog-1288827534432621249.post-6122553810359932450</id><published>2008-10-10T11:46:00.001+02:00</published><updated>2008-10-10T11:46:58.952+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-10T11:46:58.952+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="anekdoten" /><category scheme="http://www.blogger.com/atom/ns#" term="hardware" /><title>Workaround = Resolution?!</title><content type="html">&lt;p&gt;Eben war ich kurz stutzig und hab mich gefragt, ob ich mich verlesen habe. &lt;a href="http://sunsolve.sun.com/search/document.do?assetkey=1-66-237605-1" target="_blank"&gt;Sunsolve Document ID 237605&lt;/a&gt;: Die Controller einiger (teilweise recht großer) Storage Boxen von Sun verabschieden sich vorübergehend nach 994 Tagen uptime. Auwei, fieser Firmware Bug.&lt;/p&gt;  &lt;p&gt;Soweit so gut. Üble Dinge passieren auch &lt;a href="http://www.gunbroker.com/user/EmcCrash/EmcCrashFollowup.asp" target="_blank"&gt;anderen Herstellern&lt;/a&gt; oder auf &lt;a href="http://kerneltrap.org/node/7517" target="_blank"&gt;anderer Ebene&lt;/a&gt; im Storage-Stack. Aber weiter im Text.&lt;/p&gt;  &lt;p&gt;Sun schlägt folglich als &lt;strong&gt;Workaround&lt;/strong&gt; vor, die Kisten periodisch (etwa alle 2 Jahre) gründlich durchzubooten. Soweit noch nachvollziehbar. Kurz weitergelesen findet sich dann aber das Folgende als &lt;strong&gt;Resolution&lt;/strong&gt;:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;“&lt;em&gt;Please see the “Workaround” section above.&lt;/em&gt;”&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Ok, das muss man erst mal sickern lassen. Da steht nicht, “we are working on it, in the meantime see …”, sondern einfach nur “schau oben”, Punkt. Wenn das also die &lt;strong&gt;Resolution&lt;/strong&gt; sein soll, ist das dann wahrscheinlich “Durch-die-Blume” für &lt;a href="http://en.opensuse.org/Bug_Status_WONTFIX" target="_blank"&gt;WONTFIX&lt;/a&gt; (super Dokument btw.).&lt;/p&gt;  &lt;p&gt;Wieder was gelernt. Wie auch immer, falls ihr jemand kennt, der Sun Storage im Einsatz hat, gebt ihm mal ein Heads Up für den Fall, dass er über den Sachverhalt noch nicht Bescheid weiß.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1288827534432621249-6122553810359932450?l=ausdemhamsterrad.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://ausdemhamsterrad.blogspot.com/feeds/6122553810359932450/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1288827534432621249&amp;postID=6122553810359932450" title="1 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1288827534432621249/posts/default/6122553810359932450?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1288827534432621249/posts/default/6122553810359932450?v=2" /><link rel="alternate" type="text/html" href="http://ausdemhamsterrad.blogspot.com/2008/10/workaround-resolution.html" title="Workaround = Resolution?!" /><author><name>Sebastian Kayser</name><uri>http://www.blogger.com/profile/15220047733965249390</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://4.bp.blogspot.com/__LGP5_i8C_g/SNFe-iY6bAI/AAAAAAAAHmM/xY-kk1c9fCk/S220/sebastian.jpg" /></author><thr:total>1</thr:total></entry><entry gd:etag="W/&quot;C04BQnYyeSp7ImA9WxRQFUQ.&quot;"><id>tag:blogger.com,1999:blog-1288827534432621249.post-2238988992953908744</id><published>2008-10-10T00:39:00.001+02:00</published><updated>2008-10-10T00:39:13.891+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-10T00:39:13.891+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="anekdoten" /><category scheme="http://www.blogger.com/atom/ns#" term="job" /><title>Attacke der Großbuchstaben</title><content type="html">&lt;p&gt;Nun bin ich schon seit ein paar Wochen im Dunstkreis von Sun Microsystems tätig und wenn mich heute jemand nach meinem Ersteindruck fragt, dann lautet dieser mit einem zwinkernden Auge: PSE, CDE, FE, IM, WT* … ahhh … &lt;strong&gt;Akronym-Alarm&lt;/strong&gt;! Ungefähr so wie &lt;a href="http://www.youtube.com/watch?v=uRySvf8jdsU&amp;amp;feature=related" target="_blank"&gt;hier&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Zweifach überladene, mit &lt;a href="http://www.dallasseoblog.com/2005/06/rofl-lol-netspeak-for-newbies.html" target="_blank"&gt;bekannten&lt;/a&gt; &lt;a href="http://en.wikipedia.org/wiki/Three-letter_abbreviation" target="_blank"&gt;TLA&lt;/a&gt;s kollidierende Akronyme, teilweise zum Kopfschütteln, teilweise zum Schmunzeln, alles dabei. Und wenn man dann mal den Großteil drauf hat, darf man sich wie das Mitglied eines eingeschworenen Kreises fühlen.&lt;/p&gt;  &lt;p&gt;Hier meine persönlichen Top 3:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;TZE&lt;/strong&gt;: &lt;em&gt;Time Zone Engineer&lt;/em&gt;. Hört sich an, als würde er an einer Zeitmaschine schrauben, dabei sitzt der Kerl doch nur in einer anderen Zeitzone und kann so 24x7 gewährleisten, während unsereins schläft. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;LSD&lt;/strong&gt;: &lt;em&gt;Last Shipment Date&lt;/em&gt;. Ohne Worte. Dann noch ne Runde &lt;a href="http://acronyms.thefreedictionary.com/Tcp+Header+Compression" target="_blank"&gt;THC&lt;/a&gt; und der IT-ler ist glücklich. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;TOI&lt;/strong&gt;: Nicht zu verwechseln mit &lt;a href="http://en.wikipedia.org/wiki/Toy" target="_blank"&gt;TOY&lt;/a&gt;. Gemeint ist der &lt;em&gt;Transfer of Information&lt;/em&gt; … Wissensaustausch. Na denn mal Toi Toi Toi, sowas hat noch nie geschadet :)&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Vergleiche ich übrigens unser (glücklicherweise) intern vorhandenes Akronym-Glossar mit &lt;a href="http://wikis.sun.com/display/Acrowiki/Sun%27s+Acronym+Wiki+-+Acrowiki%21" target="_blank"&gt;dem&lt;/a&gt;, das mal jemand unter wikis.sun.com angefangen hat, dann muss das bei wikis.sun.com noch ganz, ganz kräftig aufholen.&lt;/p&gt;  &lt;p&gt;Apropos Wiki, vielleicht sollte ich unserem firmeninternen Wiki mal die &lt;a href="http://www.mediawiki.org/wiki/Extension:Glossary" target="_blank"&gt;Glossar-Erweiterung&lt;/a&gt; bescheren, so dass man als Neuling nicht ständig zwischen Doku und Glossar hin- und herspringen muss, sondern mit Mouse-Over-Erklärungen verwöhnt wird.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1288827534432621249-2238988992953908744?l=ausdemhamsterrad.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://ausdemhamsterrad.blogspot.com/feeds/2238988992953908744/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1288827534432621249&amp;postID=2238988992953908744" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1288827534432621249/posts/default/2238988992953908744?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1288827534432621249/posts/default/2238988992953908744?v=2" /><link rel="alternate" type="text/html" href="http://ausdemhamsterrad.blogspot.com/2008/10/attacke-der-grobuchstaben.html" title="Attacke der Großbuchstaben" /><author><name>Sebastian Kayser</name><uri>http://www.blogger.com/profile/15220047733965249390</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://4.bp.blogspot.com/__LGP5_i8C_g/SNFe-iY6bAI/AAAAAAAAHmM/xY-kk1c9fCk/S220/sebastian.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;C0ABQn08eCp7ImA9WxRQFE8.&quot;"><id>tag:blogger.com,1999:blog-1288827534432621249.post-3612483095488383584</id><published>2008-10-08T01:22:00.001+02:00</published><updated>2008-10-08T01:22:33.370+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-08T01:22:33.370+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="konzepte" /><title>Kenne deine Quellen</title><content type="html">&lt;p&gt;&lt;img title="qmark" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin: 0px 0px 0px 10px; border-right-width: 0px" height="98" alt="qmark" src="http://lh5.ggpht.com/skayser.de/SOvvOKtVQjI/AAAAAAAAHms/c0jOcGTjT_E/qmark%5B5%5D.png?imgmax=800" width="95" align="right" border="0" /&gt;Seit längerer Zeit schon fällt mir auf, dass ich beim Googlen nach Problemen immer öfter&amp;#160; auf Blogs lande. Das finde ich auf der einen Seite gut, denn die dort gebloggte, aus dem Arbeitsalltag gegriffene, praxisnahe Second-Hand-Erfahrung kommt dem, wo auch mir gerade der Schuhe drückt, meist recht nahe.&lt;/p&gt;  &lt;h4&gt;Nicht-Experten am Bloggen …&lt;/h4&gt;  &lt;p&gt;Andererseits finde ich es mitunter grenzwertig. Wie bekannt, bloggen viele als Nicht-Experten über diverse Themen.&lt;/p&gt;  &lt;p&gt;Das ist an sich nicht weiter schlimm. Bloggen auf gleicher Augenhöhe mit anderen dient dem Erfahrungsaustausch und gerade die bei einem neuen Thema anfänglich gemachten Lernerfahrungen sind wertvoll, da sie so in keinem Handbuch nachzulesen sind.&lt;/p&gt;  &lt;p&gt;Andererseits stolpere ich viel zu oft über Blog-Artikel, die in auf Google hoch gerankt sind und die einen Hauch von Experten-Wissen um sich haben, obwohl der Artikel-Inhalt keins von beidem gerecht wird. Auch wenn der Autor in anderen Gebieten einen gewissen Ruf hat oder aber der Inhalt ansprechend aufbereitet dargestellt wird, macht all das noch keinen professionellen Artikel-Inhalt.&lt;/p&gt;  &lt;h4&gt;… und Nicht-Experten am Lesen&lt;/h4&gt;  &lt;p&gt;Auf der anderen Seite haben wir den suchenden Leser, uns. Auf der Suche nach Wissen / Hilfe saugt der alles auf, was ihm vor die Füße geschmissen wird. Dabei sollte er sich bewusst machen, dass das was er da liest, nicht unbedingt der Weisheit letzter Schluss ist.&lt;/p&gt;  &lt;p&gt;Eigentlich offensichtlich und wie an der Uni bei der Literatur-Recherche. Ergo nichts Neues. Aber etwas bei dem es sich meiner Meinung nach lohnt, mal wieder öfter drüber nachzudenken. &lt;/p&gt;  &lt;p&gt;Nur weil jemand etwas im Brustton der vollen Überzeugung bloggt oder etwas auf der ersten Google-Treffer-Seite verlinkt ist, bedeutet das noch lange nicht, dass das Gebloggte auch pädagogisch sinnvoll ist.&lt;/p&gt;  &lt;h4&gt;Und was nun?&amp;#160;&amp;#160;&amp;#160; &lt;/h4&gt;  &lt;p&gt;Futter zum Nachdenken gibts bei einem Leidgenossen mit “&lt;a href="http://www.lifeaftercoffee.com/2006/07/25/determining-credibility-of-web-resources/" target="_blank"&gt;Determining credibitility of web resources&lt;/a&gt;” oder aber in einem super Artikel der UCLA-Library (“Thinking critically about World Wide Web resources”) den ich leider nicht mehr finde. Deshalb gibts ersatzweise einen referenzierenden Artikel “&lt;a href="https://www.msu.edu/~wolfegay/how%20to%20evaluate.htm" target="_blank"&gt;How Do We Evaluate Web Resources?&lt;/a&gt;” aus dem man sich seine Vorsätze (zwischen den Health-spezifischen Bemerkungen) raussuchen kann.&lt;/p&gt;  &lt;p&gt;Meine simplen Favoriten:&lt;/p&gt;  &lt;p&gt;- &lt;strong&gt;Querchecken&lt;/strong&gt;. Gibt es eine autoritive / andere Quelle für das was ich gerade lese? Was sagen andere dazu?&lt;/p&gt;  &lt;p&gt;- &lt;strong&gt;Autor&lt;/strong&gt;. Wer ist der Autor? Welchen Hintergrund hat er? Was sind seine Qualifikation, über dieses Thema unterrichtet zu bloggen? Was sind seine Motivationen?&lt;/p&gt;  &lt;p&gt;- &lt;strong&gt;Aktualität&lt;/strong&gt;. Von wann ist der Artikel? Alt? Dann lieber erstmal anderswo umschauen bzw. bewusst mit dem Wissen lesen, dass das Gelesene überholt sein mag.&lt;/p&gt;  &lt;h4&gt;Und wofür?&lt;/h4&gt;  &lt;p&gt;Wenn sowas ins Blut übergeht, kann man beruhigter sein, was den Wahrheits-/Informations-/Nutzgehalt eines Blog-Artikels (sowie sonstiger Informationen im Web) angeht. Gerade Querchecken sorgt meist für ein viel umfassenderes Bild der Realität.&lt;/p&gt;  &lt;p&gt;Nützlich ist das auch zur Vorbeugung von Kasperle-Theatern wie dem kürzlich erschienenen Heise-Artikel “&lt;a href="http://www.heise.de/newsticker/Firefox-sendet-wie-Chrome-Daten-an-Google-Update--/meldung/115857" target="_blank"&gt;Firefox sendet wie Chrome Daten an Google&lt;/a&gt;”, bei dem erstmal viele wie von der Tarantel gestochen umhergerannt sind. Was war über den Anti-Phishing-Schutz von Firefox zu lesen: “[…] &lt;em&gt;teilt Firefox in seiner Voreinstellung Google ebenfalls mit, welche Seiten ein Surfer aufruft&lt;/em&gt;” … gefundenes Fressen für Überwachungs-Paranoia-Anhänger.&lt;/p&gt;  &lt;p&gt;Zu dumm nur, dass das nur die halbe Wahrheit war, wie Heise (immerhin) später nachbesserte. Voheriges Querchecken mit der genauen Funktionsbeschreibung des Features auf der &lt;a href="http://www.mozilla.com/en-US/firefox/phishing-protection/" target="_blank"&gt;dazugehörigen Mozilla-Seite&lt;/a&gt; wäre besser gewesen. Neben Heise selbst hätte zumindest ich das mal machen sollen, bevor ich die ersten (falschen) Heise-News etwas irritiert mit meinen Kollegen bequatschte …&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1288827534432621249-3612483095488383584?l=ausdemhamsterrad.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://ausdemhamsterrad.blogspot.com/feeds/3612483095488383584/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1288827534432621249&amp;postID=3612483095488383584" title="2 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1288827534432621249/posts/default/3612483095488383584?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1288827534432621249/posts/default/3612483095488383584?v=2" /><link rel="alternate" type="text/html" href="http://ausdemhamsterrad.blogspot.com/2008/10/kenne-deine-quellen.html" title="Kenne deine Quellen" /><author><name>Sebastian Kayser</name><uri>http://www.blogger.com/profile/15220047733965249390</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://4.bp.blogspot.com/__LGP5_i8C_g/SNFe-iY6bAI/AAAAAAAAHmM/xY-kk1c9fCk/S220/sebastian.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/skayser.de/SOvvOKtVQjI/AAAAAAAAHms/c0jOcGTjT_E/s72-c/qmark%5B5%5D.png?imgmax=800" height="72" width="72" /><thr:total>2</thr:total></entry><entry gd:etag="W/&quot;C0UBQX4_cSp7ImA9WxRRGU0.&quot;"><id>tag:blogger.com,1999:blog-1288827534432621249.post-3285271863310860191</id><published>2008-10-02T00:47:00.001+02:00</published><updated>2008-10-02T00:47:30.049+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-02T00:47:30.049+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="more" /><category scheme="http://www.blogger.com/atom/ns#" term="usability" /><category scheme="http://www.blogger.com/atom/ns#" term="solaris" /><title>Solaris: Wo bist Gnu?</title><content type="html">&lt;p&gt;Schonmal eine Solaris-8/9/10-Installation in den Händen gehabt und verzweifelt nach &lt;tt&gt;less&lt;/tt&gt; gesucht oder geflucht, weil das &lt;tt&gt;grep&lt;/tt&gt; keine Option –r für Rekursion versteht?&lt;/p&gt;  &lt;p&gt;Innerlich wundert man sich dann, warum Linux von Solaris-Jüngern belächelt wird, während es auf deren Plattform offensichtlich nicht mal die grundlegendsten Tools gibt.&lt;/p&gt;  &lt;span class="fullpost"&gt;  &lt;h4&gt;Wissen, worauf es ankommt&lt;/h4&gt;  &lt;p&gt;Ian Murdock, seines Zeichens Debian-Begründer und kurzzeitiger Chief OS Strategist bei Sun, hat – passend zur Problematik - letztes Jahr was von sich gegeben, was eigentlich keiner weiteren Erklärung bedarf:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;“[…] &lt;em&gt;how many people really care about the Linux kernel underneath? What they care about is the GNU tools, the desktop, the development environment, and all the other things their favorite distro bundles—and the package system that holds it all together.&lt;/em&gt;”&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;So schauts aus. Mich interessiert das, womit ich direkt konfrontiert bin. Da kann der Unterbau (egal welcher) noch so toll oder &lt;a href="http://www.sun.com/software/solaris/guarantee.jsp" target="_blank"&gt;jahrzehnteweiß binärkompatibel&lt;/a&gt; sein. Wenn mich das nur in Form einer offensichtlich angestaubten Anwendungsumgebung erreicht, hält sich meine Begeisterung in Grenzen.&lt;/p&gt;  &lt;p&gt;Die Analogie aus dem täglichen IT-Betrieb: Egal wie technisch solide intern gearbeitet wird, &lt;strong&gt;wenn das was dem Nutzer / Kunden gegenüber sichtbar ist, nicht passt (und das können dann wirklich Kleinigkeiten sein), kann man sich alle technisch Finesse in die Haare schmieren&lt;/strong&gt;. Punkt. Übertragbar auf sicherlich viele andere Bereiche. So einfach ist das.&lt;/p&gt;  &lt;h4&gt;Solaris und GNU. Es geht doch&lt;/h4&gt;  &lt;p&gt;Während Ian obige Aussage im Rahmen einer &lt;a href="http://ianmurdock.com/2007/06/08/where-do-i-download-opensolaris/" target="_blank"&gt;Bestandsaufnahme&lt;/a&gt; rund um &lt;a href="http://ausdemhamsterrad.blogspot.com/2008/09/opensolaris-project-indiana-nevada-co.html" target="_blank"&gt;OpenSolaris / Projekt Indiana&lt;/a&gt; traf und es dort GNU-Tool-mäßig in die &lt;a href="http://opensolaris.org/os/community/gnu_solaris/" target="_blank"&gt;richtige Richtung&lt;/a&gt; geht, siehts bei Solaris 10, mit dem ich mittlerweile fast tagtäglich arbeite, wie eingangs geschildert auf den ersten Blick mau aus.&lt;/p&gt;  &lt;p&gt;Aber Stopp, was lese ich da kürzlich:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;“[…] &lt;em&gt;we've incorporated many GNU commands and libraries into Solaris already, albeit often with name changes, marooned out in /usr/sfw where new users cannot find it, etc.&lt;/em&gt;”&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Aha, “with name changes […] where users cannot find it”. Bingo. Man werfe einen Blick in &lt;tt&gt;/usr/sfw&lt;/tt&gt; und finde neben vielen anderen Tools ein &lt;tt&gt;ggrep&lt;/tt&gt; (GNU grep), was auch Rekursion beherrscht. Na, geht doch.&lt;/p&gt;  &lt;p&gt;Den Präfix g findet man übrigens auch bei Tools aus den &lt;a href="http://opencsw.org/" target="_blank"&gt;CSW&lt;/a&gt;-Paketen. Anscheinend immer dann, wenn eine Namenskollision mit offiziell von Sun verfügbaren (aber angestaubten) Tools ausgeschlossen werden soll. Die Tools aus dem findutils-Paket CSWfindutils sind so z.B. alle mit diesem Präfix versehen (gfind, glocate, gupdatedb und gxargs).&lt;/p&gt;  &lt;p&gt;Wer jetzt immer noch less vermisst, dem fehlt wahrscheinlich lediglich das Paket namens SUNWless. Das ist eigentlich skurril, weil SUNWless selbst bei der mit ~4GB veranschlagten Solaris-Installationsvariante “End User System Support” nicht von Haus aus dabei ist, aber was solls. Offizielle Pakete gibts leider nicht wie bei Linux-Distributionen gewohnt einfach zum Runterladen, sondern nur auf den Installations-Medien. Diese jedoch gibts seit Solaris 10 zum &lt;a href="http://www.sun.com/software/solaris/get.jsp" target="_blank"&gt;kostenlosen Download&lt;/a&gt;.&lt;/p&gt;  &lt;h4&gt;Da hat aber was gehörig Historie auf dem Buckel&lt;/h4&gt;  &lt;p&gt;Der generell etwas verstaubt wirkende Eindruck von Solaris ändert sich mit diesen Erkenntnissen zwar nicht gravierend (zugestanden, immerhin hat das gute Stück einige Jahre auf dem Buckel), aber wenn man weiß, dass mit OpenSolaris die Zeichen der Zeit erkannt wurden, darf man in Zukunft auf Besserung hoffen und sich derweil seines &lt;tt&gt;ggrep&lt;/tt&gt;s erfreuen.&lt;/p&gt;  &lt;/span&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1288827534432621249-3285271863310860191?l=ausdemhamsterrad.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://ausdemhamsterrad.blogspot.com/feeds/3285271863310860191/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1288827534432621249&amp;postID=3285271863310860191" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1288827534432621249/posts/default/3285271863310860191?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1288827534432621249/posts/default/3285271863310860191?v=2" /><link rel="alternate" type="text/html" href="http://ausdemhamsterrad.blogspot.com/2008/10/solaris-wo-bist-gnu.html" title="Solaris: Wo bist Gnu?" /><author><name>Sebastian Kayser</name><uri>http://www.blogger.com/profile/15220047733965249390</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://4.bp.blogspot.com/__LGP5_i8C_g/SNFe-iY6bAI/AAAAAAAAHmM/xY-kk1c9fCk/S220/sebastian.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DE8HRXw5fyp7ImA9WxRRFkw.&quot;"><id>tag:blogger.com,1999:blog-1288827534432621249.post-2210944592856161104</id><published>2008-09-28T17:47:00.001+02:00</published><updated>2008-09-28T17:47:14.227+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-28T17:47:14.227+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="tools" /><category scheme="http://www.blogger.com/atom/ns#" term="usability" /><category scheme="http://www.blogger.com/atom/ns#" term="mail" /><title>Maus ade: Thunderbird</title><content type="html">&lt;p&gt;&lt;a href="http://lh4.ggpht.com/skayser.de/SN-m_D7kmMI/AAAAAAAAHmk/VukZS04MuY0/thunderbird-128%5B9%5D.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="89" alt="thunderbird-128" src="http://lh4.ggpht.com/skayser.de/SN-nAdL7CII/AAAAAAAAHmo/VDV-xejhVVc/thunderbird-128_thumb%5B7%5D.png" width="89" align="left" border="0" /&gt;&lt;/a&gt; Vor einiger Zeit hatte ich die Bedienung von Firefox mittels &lt;a href="http://vimperator.mozdev.org/index.html" target="_blank"&gt;vimperator&lt;/a&gt; &lt;a href="http://ausdemhamsterrad.blogspot.com/2008/07/maus-ade-firefox-teil-2.html" target="_blank"&gt;nahezu komplett auf die Tastatur&lt;/a&gt; umgestellt und ich muss gestehen: Ich bin weiterhin begeistert. Verwirrung bei Kollegen, die einem kurz was im Browser demonstrieren wollen ist zwar vorprogrammiert, aber f&amp;#252;r solche Zwecke kann man das Add-On ja tempor&amp;#228;r deaktivieren.&lt;/p&gt;  &lt;p&gt;In der Zwischenzeit habe ich dar&amp;#252;berhinaus wieder viel mit &lt;a href="http://en.wikipedia.org/wiki/Mutt_(e-mail_client)" target="_blank"&gt;mutt&lt;/a&gt; unter Linux gearbeitet und das legte prompt die Frage nahe, warum ich eigentlich im Mail-/News-Client meiner Wahl, Thunderbird, immer noch so viel die Maus schubse. &lt;/p&gt;  &lt;p&gt;Thunderbird bringt zwar von Haus aus &lt;a href="http://www.mozilla.org/support/thunderbird/keyboard" target="_blank"&gt;einige Tastenk&amp;#252;rzel&lt;/a&gt; mit; was ich jedoch haupts&amp;#228;chlich vermisste, war eine vim-&amp;#228;hnliche Navigation ('k' und 'l'), wie ich sie von so vielen anderen Programmen gewohnt bin und lieben gelernt habe, sowie das einfache Nachrichten-Verschieben / Navigieren zwischen verschiedenen Ordnern, wie es bei mutt mit einigen Tastenk&amp;#252;rzeln sehr rasch von der Hand geht.&lt;/p&gt;  &lt;h4&gt;Auftritt Add-Ons&lt;/h4&gt;  &lt;p&gt;Sch&amp;#246;n, dass es sowas wie Add-Ons gibt:&lt;/p&gt;  &lt;p&gt;&lt;a href="https://addons.mozilla.org/thunderbird/2487" target="_blank"&gt;&lt;strong&gt;Nostalgy&lt;/strong&gt;&lt;/a&gt; liefert die n&amp;#246;tigen Funktionen zum Verwalten verschiedener Ordner. Mit der Taste 'g' gehts in ein &amp;quot;Springe zu Ordner&amp;quot;-Eingabefeld mit (!) Auto-Completion, d.h. um in meinen Mail-Ordner namens &amp;quot;Bestellungen&amp;quot; zu springen, reicht ein 'gbe&amp;lt;Return&amp;gt;'. Gleicher Modus-Operandi gilt f&amp;#252;r das Verschieben/Kopieren von Nachrichten mittels 's' oder 'c'.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://forum.addonsmirror.net/index.php?showtopic=255" target="_blank"&gt;&lt;strong&gt;keyconfig&lt;/strong&gt;&lt;/a&gt; ist f&amp;#252;rs Neudefinieren von Tastenk&amp;#252;rzeln zust&amp;#228;ndig. Als solches bringt es unter Extras -&amp;gt; Tastenk&amp;#252;rzel anpassen (bzw. Strg+Shift+F12) einen einfachen Dialog mit, der sowohl eine Liste der existierenden Tastenk&amp;#252;rzeln anzeigt, als auch die M&amp;#246;glichkeit bietet, diese zu &amp;#228;ndern.&lt;/p&gt;  &lt;p&gt;Ich habe mir damit die Tasten 'j' und 'k' zum Hoch- und Runter-Navigieren belegt, sowie die Taste 'd' zum L&amp;#246;schen einer Nachricht. Mittels 'v' blende ich die Nachrichtenvorschau ein oder aus. Die vorher auf den Tasten liegenden Funktionen ben&amp;#246;tige ich nicht, habe sie mir also nicht auf andere Tasten gemappt.&lt;/p&gt;  &lt;p&gt;&lt;a href="https://addons.mozilla.org/en-US/thunderbird/addon/1489" target="_blank"&gt;&lt;strong&gt;Header Toggle&lt;/strong&gt;&lt;/a&gt; macht genau dass, was man von mutt kennt. Mit der Taste 'h' kann man sich die Header einer Nachricht ein- bzw. ausblenden lassen. Sehr praktisch f&amp;#252;r all diejenigen, die &amp;#246;fter mal die Header einer Mail zwecks Troubleshooting o.&amp;#228;. inspizieren wollen.&lt;/p&gt;  &lt;p&gt;Die Funktionalit&amp;#228;t von Header Toogle, wollte ich mir zuerst &amp;#252;ber keyconfig selbst basteln. F&amp;#252;r sowas gibts eine &lt;a href="http://kb.mozillazine.org/Keyconfig_extension:_Thunderbird" target="_blank"&gt;keyconfig-Anleitung&lt;/a&gt; inkl. Liste der daf&amp;#252;r zur Verf&amp;#252;gung stehenden Thunderbird-internen Kommandos, aber so richtig funktionieren wollte das bei mir nicht. Dank Header Toggle habe ich mir die Problemsuche erspart.&lt;/p&gt;  &lt;p&gt;&lt;a href="https://addons.mozilla.org/en-US/thunderbird/addon/1339" target="_blank"&gt;&lt;strong&gt;GMailUI&lt;/strong&gt;&lt;/a&gt; habe ich erst nach keyconfig entdeckt und beide &amp;#252;berschneiden sich in Bezug auf meine Anforderungen etwas. Denn GMailUI versieht Thunderbird mit von GMail bekannten Bedienkonzepten und dazu geh&amp;#246;rt auch das 'j' und 'k' f&amp;#252;rs Hoch- und Runternavigieren. Wer also nur danach sucht und sich ansonsten nicht f&amp;#252;r individuelle Tastenbelegung k&amp;#252;mmert, der ist mit GMailUI anstatt von keyconfig gut beraten.&lt;/p&gt;  &lt;p&gt;Dar&amp;#252;berhinaus modifiziert es das Thunderbird-Suchfeld, so dass es ein Subset &lt;a href="http://mail.google.com/support/bin/answer.py?answer=7190&amp;amp;topic=12796" target="_blank"&gt;der von GMail bekannten Such-Modifier&lt;/a&gt; (from: to: usw.) versteht. Dazu geh&amp;#246;ren nat&amp;#252;rlich nur die, deren Suchsemantik Thunderbird bereits kennt, sprich eine der speziellen Suchen die auch in der Dropdownliste des Suchfelds angezeigt werden (Absender, Empf&amp;#228;nger, Subject, Text). Mit from:johndoe als Suche, suche ich dann also nach Mails von johndoe als Absender. Siehe dazu auch &lt;a href="http://sites.google.com/site/kmixter/gmailui#TOC-Search-expressions-and-quick-search" target="_blank"&gt;die Einf&amp;#252;hrung&lt;/a&gt; auf der GMailUI-Seite. Das Suchfeld l&amp;#228;sst sich mit GMailUI &amp;#252;brigens praktischerweise via '/' anspringen.&lt;/p&gt;  &lt;h4&gt;Kompatibilit&amp;#228;tsprobleme mit Thunderbird 2.0.0.17&lt;/h4&gt;  &lt;p&gt;keyconfig siehts mit der Kompatibilit&amp;#228;tspr&amp;#252;fung eng und ist noch nicht als kompatibel mit der just erschienenen Thunderbird-Version 2.0.0.17 ausgewiesen. Als vor&amp;#252;bergehenden Workaround daf&amp;#252;r (als auch f&amp;#252;r alle sonstigen &amp;quot;Dieses Add-On ist nicht kompatibel&amp;quot;-Probleme) kann man eine der im mozillaZine &lt;a href="http://kb.mozillazine.org/Updating_extensions" target="_blank"&gt;vorgeschlagenen Abhilfen&lt;/a&gt; verwenden.&lt;/p&gt;  &lt;p&gt;Aber Achtung (man &amp;#252;berliest den Hinweis, obwohl eigentlich un&amp;#252;berlesbar, leicht): Der Wert extensions.checkCompatibility existiert standardm&amp;#228;&amp;#223;ig nicht, muss also erst angelegt werden. Wer, wie ich, den Wert erst mit dem falschen Typ anlegt, muss &lt;a href="http://kb.mozillazine.org/Modify_Thunderbird_settings" target="_blank"&gt;prefs.js&lt;/a&gt; h&amp;#228;ndisch editieren, um ihn wieder los zu werden.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1288827534432621249-2210944592856161104?l=ausdemhamsterrad.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://ausdemhamsterrad.blogspot.com/feeds/2210944592856161104/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1288827534432621249&amp;postID=2210944592856161104" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1288827534432621249/posts/default/2210944592856161104?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1288827534432621249/posts/default/2210944592856161104?v=2" /><link rel="alternate" type="text/html" href="http://ausdemhamsterrad.blogspot.com/2008/09/maus-ade-thunderbird.html" title="Maus ade: Thunderbird" /><author><name>Sebastian Kayser</name><uri>http://www.blogger.com/profile/15220047733965249390</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://4.bp.blogspot.com/__LGP5_i8C_g/SNFe-iY6bAI/AAAAAAAAHmM/xY-kk1c9fCk/S220/sebastian.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/skayser.de/SN-nAdL7CII/AAAAAAAAHmo/VDV-xejhVVc/s72-c/thunderbird-128_thumb%5B7%5D.png" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DU8NQXc5fyp7ImA9WxRSFk0.&quot;"><id>tag:blogger.com,1999:blog-1288827534432621249.post-8962969658982400319</id><published>2008-09-17T01:26:00.002+02:00</published><updated>2008-09-17T01:31:30.927+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-17T01:31:30.927+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="anekdoten" /><category scheme="http://www.blogger.com/atom/ns#" term="konzepte" /><title>Think Time: Denk mal drüber nach</title><content type="html">&lt;p&gt;Vor einiger Zeit bin ich &amp;#252;ber &lt;a href="http://www.nyupress.org/netwars/pages/chapter03/ch03_.html" target="_blank"&gt;einen am&amp;#252;santen Artikel&lt;/a&gt; zum Thema AOL-User und wie sie die Internet-Welt ver&amp;#228;nderten gestolpert ... Schonmal von &lt;a href="http://en.wikipedia.org/wiki/Eternal_September" target="_blank"&gt;Eternal September&lt;/a&gt; geh&amp;#246;rt? Neben jeder Menge Anekdoten wird im AOL-Artikel ein simples Konzept angeschnitten, das seitdem in meinem Kopf fleissig Runden dreht: Think Time.&lt;/p&gt;  &lt;p&gt;Es darum, dar&amp;#252;ber nachzudenken, was man schreibt bzw. von sich gibt. Man k&amp;#246;nnte es auch als kurze Selbstreflektion bezeichnen oder auch als das, was offensichtlich vielen fehlt, die tagt&amp;#228;glich durch die Foren von golem.de oder heise.de trollen (kleines &lt;a href="http://forum.golem.de/read.php?27328,1429513,1429609#msg-1429609" target="_blank"&gt;Beispiel&lt;/a&gt; gef&amp;#228;llig?).&lt;/p&gt;  &lt;h4&gt;Think Time und AOL&lt;/h4&gt;  &lt;p&gt;Die AOL Story, in der Think Time aufgegriffen wird, ist betitelt mit &amp;quot;The Making of an Underclass&amp;quot; und beschreibt die sinnentfreit und ruppig um sich postende AOL-Nutzer-Welle, die Anfang der 90er &amp;#252;ber das Usenet hereinbrach. Das war zu den Zeiten als auch bei uns jede zweite Woche eine kostenlose AOL-CD mit Teststunden im Briefkasten lag und wenn ich mir &amp;#252;berlege, wie viel Ahnung ich damals von Internet hatte (&amp;#252;ber das AOL-Interface hinaus so gut wie keine), von sowas wie &lt;a href="http://tools.ietf.org/html/rfc1855" target="_blank"&gt;Netiquette&lt;/a&gt; ganz zu schweigen, verwunderte mich das geschilderte Aufeinanderprallen von zwei Welten nicht.&lt;/p&gt;  &lt;p&gt;Anstatt den Missstand jedoch rein an den neuen Nutzern festzumachen, nahm ein schlauer Mensch mit &lt;a href="http://groups.google.com/group/news.future/msg/fb6814fbf229e1f3" target="_blank"&gt;&amp;quot;AOL Usernet interface: a review&amp;quot;&lt;/a&gt; einen Schritt zur&amp;#252;ck, um sich den AOL-Usenet-Client n&amp;#228;her zu betrachten. Dass diesem ein Offline-Modus fehlte, veranlasste den Betrachter zu einer interessanten Folgerung:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;&amp;quot;AOL customers, after they use up their five hours per month that are included in the monthly fee, are paying $3.50/hour to read and write news -- and to think about what they write. The latter, I believe, has a profound effect on the way AOL users interact with the net. They are paying for their think time, so they skimp on think time. Followups from AOL users tend to be blunt rather than thoughtful. I blame AOL, not its customers, for this.&amp;quot;&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;AOL-Nutzer waren demnach also nicht per se ungem&amp;#252;tliche oder unintelligente Zeitgenossen, sondern der Zeit-/Geld-Druck nahm ihnen den n&amp;#246;tige Abstand zu dem, was sie so von sich gaben. Anstatt nochmal kurz dr&amp;#252;berzulesen und dabei nachzudenken, verschickte man Postings lieber postwendend.&lt;/p&gt;  &lt;p&gt;Wer schon selbst mit etwas Abstand eine Mail revidiert hat, der wei&amp;#223;, was einem mit fehlendem Abstand so durch die Finger gehen kann.&lt;/p&gt;  &lt;h4&gt;Think Time andernorts&lt;/h4&gt;  &lt;p&gt;Nicht nur bei Usenet-Postings tut etwas Bedenkzeit gut. Anders verpackt gibts das beispielsweise in Spiele-Entwicklungs-Projekten. Half-Life hatte &lt;a href="http://www.gamespot.com/features/halflife_final/part5.html" target="_blank"&gt;in den finalen Z&amp;#252;gen seiner Entwicklung&lt;/a&gt; einen 48-st&amp;#252;ndigen Cooling-Off-Process, um sicherzustellen, dass im Eifer des Gefechts nichts Wichtiges vergessen wurde. Super Idee.&lt;/p&gt;  &lt;p&gt;Heute l&amp;#228;uft das sicherlich unter dem Begriff Quality Assurance, aber Cooling-Off-Process bringt die dahinter stehende Notwendigkeit meiner Meinung nach perfekt r&amp;#252;ber. Das vermeidet genau das, was man nur zu gut von sich selbst kennt. Schnell noch was in Eile fertiggemacht oder verschickt, nur, um kurz danach zu merken: &amp;quot;Oh Mist, da fehlt noch was bzw. muss eigentlich noch korrigiert werden&amp;quot;. Zu sp&amp;#228;t ...&lt;/p&gt;  &lt;p&gt;Etwas Nachdenkzeit fordert auch Simon Tatham, der Entwickler des freien SSH-Clients PuTTY, in seinem Leitfaden &amp;quot;&lt;a href="http://www.chiark.greenend.org.uk/~sgtatham/bugs.html" target="_blank"&gt;How to Report Bugs Effectively&lt;/a&gt;&amp;quot;. Er muss feststellen, dass viele der unverst&amp;#228;ndlichen Bug-Reports nicht wie erwartet von fremdsprachigen Nutzern kommen, sondern ganz im Gegenteil von Muttersprachlern:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&amp;quot;&lt;em&gt;All the most unclear reports come from native English speakers who assume that I will understand them even if they don't make any effort to be clear or precise. [...] Read what you wrote. Read the report back to yourself, and see if you think it's clear.&lt;/em&gt;&amp;quot;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Lese dir deinen Report selbst vor und versuche zu verstehen, was du da geschrieben hast. Denke dr&amp;#252;ber nach. Think Time also. Und das hilft meiner Meinung nach nicht nur bei Bug-Reports, sondern auch bei sonstiger E-Mail-Kommunikation.&lt;/p&gt;  &lt;h4&gt;Das Beste zum Schluss&lt;/h4&gt;  &lt;p&gt;Infiziert vom Think Time Virus habe ich nat&amp;#252;rlich &amp;quot;think time&amp;quot; direkt an google verf&amp;#252;ttert, was einen wahren Augen&amp;#246;ffner in Form einer wissenschaftliche Abhandlung zu Tage f&amp;#246;rderte: &lt;a href="http://www.ericdigests.org/1995-1/think.htm" target="_blank"&gt;Using &amp;quot;Think-Time&amp;quot; and &amp;quot;Wait-Time&amp;quot; Skillfully in the Classroom&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Erforscht wurde die Auswirkung von Frage-Antwort-Pausen in einem Klassenraum-Szenario auf die Qualit&amp;#228;t der Antworten.&lt;/p&gt;  &lt;p&gt;Was dabei herauskam finde ich interessant und einleuchtend zugleich: Verordne dir eine kurze Zwangspause vor Antworten (idealerweise mindestens 3 Sekunden) und die Qualit&amp;#228;t deiner Aussagen / Herangehensweisen an Dinge wird sich verbessern. Anders formuliert: Anstatt gleich loszuplappern erstmal innehalten und DENKEN!&lt;/p&gt;  &lt;p&gt;H&amp;#246;rt sich absolut simpel an, aber wenn ich mal beobachte, wer diese einfache Regel im (Arbeits-)Alltag einh&amp;#228;lt, sich also die Zeit nimmt, eine Frage oder Aussage auf sich wirken zu lassen (und sich damit die Chance gibt, etwas mit Abstand zu betrachten), bevor er den Mund aufmacht, dann sind das nicht allzuviele. Auch mich darf ich da nicht immer ausnehmen, aber immerhin gebe ich mir seit Kurzem bewusst M&amp;#252;he und g&amp;#246;nne mir und meinem Mitmenschen etwas Nachdenkzeit.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1288827534432621249-8962969658982400319?l=ausdemhamsterrad.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://ausdemhamsterrad.blogspot.com/feeds/8962969658982400319/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1288827534432621249&amp;postID=8962969658982400319" title="3 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1288827534432621249/posts/default/8962969658982400319?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1288827534432621249/posts/default/8962969658982400319?v=2" /><link rel="alternate" type="text/html" href="http://ausdemhamsterrad.blogspot.com/2008/09/think-time-denk-mal-drber-nach.html" title="Think Time: Denk mal drüber nach" /><author><name>Sebastian Kayser</name><uri>http://www.blogger.com/profile/15220047733965249390</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://4.bp.blogspot.com/__LGP5_i8C_g/SNFe-iY6bAI/AAAAAAAAHmM/xY-kk1c9fCk/S220/sebastian.jpg" /></author><thr:total>3</thr:total></entry><entry gd:etag="W/&quot;CEABSX84cCp7ImA9WxRTGUQ.&quot;"><id>tag:blogger.com,1999:blog-1288827534432621249.post-37109364948266235</id><published>2008-09-09T22:38:00.002+02:00</published><updated>2008-09-09T22:39:18.138+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-09T22:39:18.138+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="solaris" /><title>OpenSolaris, Project Indiana, Nevada &amp; Co</title><content type="html">&lt;p&gt;Seit kurzem habe ich beruflich verst&amp;#228;rkt mit &lt;a href="http://www.sun.com/software/solaris/10/index.jsp" target="_blank"&gt;Sun Solaris&lt;/a&gt; zu tun und auch wenn dem sicherlich nicht so ist, k&amp;#246;nnte man stark meinen, dass es Sun mit neuen Benutzern nicht gut meint. Konkretes Beispiel: Das &lt;a href="http://opensolaris.org/os/" target="_blank"&gt;OpenSolaris Projekt&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Unter OpenSolaris verstand ich bis dato die quelloffene Variante von Solaris, also eine Art Solaris-Distribution f&amp;#252;r jedermann mit der dazugeh&amp;#246;renden Entwickler-Community und Sun als gro&amp;#223;em Bruder im R&amp;#252;cken. Ganz &amp;#228;hnlich wie das z.B. beim &lt;a href="http://fedoraproject.org/" target="_blank"&gt;Fedora Project&lt;/a&gt; von RedHat der Fall ist. Nun durfte ich lernen, dass das so nicht ganz korrekt ist (und dar&amp;#252;berhinaus, dass das OpenSolaris-Projekt bereits einiges an Turbulenzen hinter sich hat).&lt;/p&gt;  &lt;h4&gt;Die Anf&amp;#228;nge&lt;/h4&gt;  &lt;p&gt;OpenSolaris ging 2005 an den Start und begann als eine schrittweise Offenlegung verschiedener Solaris Komponenten (im Sun-Jargon Consolidations genannt). Den Start machte die Consolidation &lt;a href="http://www.opensolaris.org/os/community/dtrace/" target="_blank"&gt;DTrace&lt;/a&gt;, gefolgt von anderen Consolidations wie z.B. der prominenten &lt;a href="http://www.opensolaris.org/os/community/on/;jsessionid=D3034FA2329B547B1FDD29DD285B78B7" target="_blank"&gt;OS/Net (ON)&lt;/a&gt;, was dem Solaris Kernel und Netzwerkstack zuz&amp;#252;glich Treiber, Filesysteme &amp;amp; Co entspricht.&lt;/p&gt;  &lt;p&gt;Wichtig dabei: Zum damaligen Zeitpunkt war das kein komplett offengelegtes Betriebssystem, sondern wie gesagt nur ein Sammelsurium von Komponenten aus denen sich kein komplettes OS bauen lies. Entwickler konnten an den Komponenten werkeln und Sun stellte dazu eine Entwicklungsplattform bereit.&lt;/p&gt;  &lt;p&gt;Das waren die Anf&amp;#228;nge. Aus den so entwickelten Komponenten wurden unabh&amp;#228;ngige Solaris-Distributionen wie &lt;a href="http://schillix.berlios.de/" target="_blank"&gt;Schillix&lt;/a&gt; oder &lt;a href="http://www.belenix.org/" target="_blank"&gt;BeleniX&lt;/a&gt; gebaut.&lt;/p&gt;  &lt;p&gt;OpenSolaris selbst setzte sich also anfangs aus zwei Sachen zusammen:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Die offen liegenden Komponenten und &lt;/li&gt;    &lt;li&gt;Die darum entstandene Entwickler-Community &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Beides zu finden unter opensolaris.org. Sowas wie OpenSolaris als Distribution gab es zu diesem Zeitpunkt nicht.&lt;/p&gt;  &lt;h4&gt;Erster Anlauf gefloppt, Enter Project Indiana&lt;/h4&gt;  &lt;p&gt;Das war wohl nicht nur f&amp;#252;r mich verwirrend, somit &lt;a href="http://www.sun.com/featured-articles/2007-0731/feature/index.jsp" target="_blank"&gt;hob Sun Mitte 2007 das Project Indiana aus der Taufe&lt;/a&gt;. Erkl&amp;#228;rtes Ziel: Die sch&amp;#246;nen Technologien von OpenSolaris der breiten Masse in Form einer offiziellen Distribution zug&amp;#228;nglich machen. D.h. die bisherigen zwei Dimensionen von OpenSolaris (Quellcode, Community) um eine dritte zu erweitern:&amp;#160; Eine offizielle Distribution (aka OpenSolaris OS).&lt;/p&gt;  &lt;p&gt;Das &lt;a href="http://www.opensolaris.org/os/project/indiana/" target="_blank"&gt;Projekt hei&amp;#223;t also Indiana&lt;/a&gt; und arbeitet daran, eine &lt;a href="http://www.opensolaris.com/" target="_blank"&gt;offizielle OpenSolaris Distribution&lt;/a&gt; zu bauen, die sch&amp;#246;ne Dinge enth&amp;#228;lt, wie ein &lt;a href="http://blogs.sun.com/eric_boutilier/entry/this_is_huge" target="_blank"&gt;netzwerk-basiertes Paketmanagement (IPS)&lt;/a&gt; a la apt-get oder yum, einen &lt;a href="http://opensolaris.org/os/project/caiman/" target="_blank"&gt;general&amp;#252;berholten Installer&lt;/a&gt; oder aber auch einfach von Haus aus sowas wie die GNU-Tools.&lt;/p&gt;  &lt;p&gt;Als Zielklientel gelten dabei speziell all diejenigen, die bis dato Linux am Laufen haben und sich unter Solaris nicht wohl f&amp;#252;hlen. Ein gro&amp;#223;er Markt, der bisher von OpenSolaris trotz toller Technologien wie ZFS und DTrace unerschlossen ist.&lt;/p&gt;  &lt;p&gt;Die OpenSolaris-Community &lt;a href="http://genunix.org/" target="_blank"&gt;genunix.org&lt;/a&gt; bringts in der &lt;a href="http://wiki.genunix2.org/wiki/index.php/Indiana_1-pager#Problem_Area" target="_blank"&gt;Problembeschreibung zur&amp;#160; Motivation von Indiana&lt;/a&gt; ohne Drumherumreden auf den Nenner: &amp;quot;we're not presenting OpenSolaris as crisply as we could be [...] the goal is to make what Solaris has to offer available to the larger market that by and large is more familiar with Linux as things stand today.&amp;quot;.&lt;/p&gt;  &lt;h4&gt;Steiniger Weg zu OpenSolaris 2008.05&lt;/h4&gt;  &lt;p&gt;Um Project Indiana zum Laufen zu bekommen, holte Sun 2007 Ian Murdock, den Begr&amp;#252;nder von Debian GNU/Linux, mit ins Boot. Knapp ein Jahr sp&amp;#228;ter, im Mai 2008 sah das Kind mit dem ersten Release (OpenSolaris 2008.05) das Licht der Welt.&lt;/p&gt;  &lt;p&gt;Der Weg dahin war steinig, denn er war verbunden mit einem Umdenken in der Projektausrichtung. Anstatt sich auf den Quellcode zu konzentrieren und nebenbei viele unabh&amp;#228;ngige Distributionen wachsen zu lassen, ruderte Sun zur&amp;#252;ck und fokusiert mit OpenSolaris pl&amp;#246;tzlich eine eigene Distribution. Das sich damit viele vor den Kopf gesto&amp;#223;en sahen, war fast vorprogrammiert. Die &lt;a href="http://thread.gmane.org/gmane.os.solaris.opensolaris.indiana/1/focus=122" target="_blank"&gt;Diskussion zur Namensfindung f&amp;#252;r die offizielle OpenSolaris Distribution&lt;/a&gt; l&amp;#228;sst tief blicken. Ben Rockwood sieht das Geschehen rund um Project Indiana und das erste offizielle Release einhergehend mit einem &lt;a href="http://www.cuddletech.com/blog/archives/archive_2008-m04.php" target="_blank"&gt;radikalen Umbruch in der OpenSolaris Community&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Anstatt Freibier und Mitbestimmungsrecht f&amp;#252;r alle, gibts ein &amp;quot;Ihr d&amp;#252;rft mitprogrammieren, aber Sun ist am Ruder&amp;quot;. War ja eigentlich abzusehen, oder?! Nicht nur das, meiner Meinung nach, machts auch deutlich mehr Sinn. Wenn ich etwas will, dann die Technologie und ein stabiles und nachvollziehbares Distro-Modell. In einem ein lose gekoppelten Netz aus Sun ohne transparenten Fahrplan und einer angebauten Entwickler-Community mit einem halben Dutzend Distributionen schwer vorstellbar.&lt;/p&gt;  &lt;p&gt;Neue Versionen von OpenSolaris sollen &amp;#252;brigens in halbj&amp;#228;hrlichem Turnus erscheinen. Deutlicher Wink mit dem Zaunpfahl, dass Sun weiterhin Solaris als die zu favorisierende Plattform sieht, wenn es um den Gesch&amp;#228;ftseinsatz geht.&lt;/p&gt;  &lt;h4&gt;Project Nevada und Solaris Express Community Edition&lt;/h4&gt;  &lt;p&gt;Fehlt noch was auf der Liste der zu kl&amp;#228;renden Begrifflichkeiten: Project Nevada und Solaris Express Community Edition (SXCE). Beides Begriffe, &amp;#252;ber die man zwangsl&amp;#228;ufig stolpert, wenn man die Nase in OpenSolaris h&amp;#228;ngt.&lt;/p&gt;  &lt;p&gt;Zu Project Nevada gibs interessanterweise keine eigene Projektseite, so wie es sie z.B. f&amp;#252;r Project Indiana gibt. Daher muss ich mit einem Auszug aus der &lt;a href="http://opensolaris.org/os/about/faq/general_faq/#whatis" target="_blank"&gt;OpenSolaris FAQ&lt;/a&gt; dienen, der gleich beide Begrifflichkeiten kl&amp;#228;rt:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;&lt;strong&gt;Solaris Express Community Edition&lt;/strong&gt;: This is Sun's unsupported binary release of OpenSolaris plus additional technology not released as source. The release is also known as Nevada and it is updated every two weeks, available as a free download.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Ok, Sun nimmt das was in der OpenSolaris Community entwickelt wird, erg&amp;#228;nzt das um &lt;a href="http://opensolaris.org/os/about/no_source/" target="_blank"&gt;die noch verschlossen gehaltenen Komponenten&lt;/a&gt; und ver&amp;#246;ffentlicht das Gesamtpaket in Bin&amp;#228;rform alle zwei Wochen. Das dient zum einen als Entwicklungsplattform f&amp;#252;r OpenSolaris selbst und zum anderen als Bleeding-Edge Momentaufnahme f&amp;#252;r all diejenigen, die wissen wollen, was Nevada gerade so kann. Versionierungstechnisch sieht man dort dann Konstrukte wie &amp;quot;SXCE based Nevada Build 97&amp;quot;.&lt;/p&gt;  &lt;p&gt;Urspr&amp;#252;nglich gabs noch ein Release namens Solaris Express. Das war weniger hochfrequent als SXCE und somit nicht ganz bleeding-edge. Mittlerweile ist das Historie, wenn man &amp;#252;ber Links stolpert, die noch darauf verweisen, wird man zur OpenSolaris Distro weitergeleitet.&lt;/p&gt;  &lt;p&gt;Perspektivisch wird Sun auch SXCE fallen lassen. Ich sch&amp;#228;tze mal, dass wird dann soweit sein, wenn mit der OpenSolaris Distro selbst als Entwicklungsplattform gearbeitet werden kann. Damit gibts dann einen Namen weniger einzuordnen (super!). Die &lt;a href="http://opensolaris.org/os/about/faq/general_faq/#opensolaris-binary" target="_blank"&gt;regelm&amp;#228;&amp;#223;igen Builds wirds zu Entwicklungszwecken jedoch weiterhin geben&lt;/a&gt;. Schlie&amp;#223;lich sollen die Entwickler ja wissen, wo sie stehen.&lt;/p&gt;  &lt;h4&gt;So und wo ist nun das Problem?&lt;/h4&gt;  &lt;p&gt;Man verinnerliche das bisher gesagte bzgl. den drei Dimensionen von OpenSolaris und gehe auf &lt;a href="http://www.opensolaris.org/" target="_blank"&gt;opensolaris.org&lt;/a&gt;. Dass dies die Seite der OpenSolaris-Entwickler-Community ist, wei&amp;#223; ich mittlerweile, aber wie sieht es f&amp;#252;r Nicht-Initiierte aus? Was steht dort so sch&amp;#246;n:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;OpenSolaris is an operating system that provides a rich, coherent platform for building and running applications.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Was bitte? Auf der Entwickler-Seite w&amp;#252;rde ich als prominentes Hinweis-Schild eines von zwei Dingen erwarten:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Einen direkten Verweis f&amp;#252;r End-User wie mich: &amp;quot;This is the OpenSolaris developer community page. For information on the OpenSolaris Distro please see &lt;strong&gt;&lt;a href="http://www.opensolaris.com" target="_blank"&gt;opensolaris.com&lt;/a&gt;&lt;/strong&gt;&amp;quot;. &lt;/li&gt;    &lt;li&gt;Eine klare Aussage, was OpenSolaris genau ist (Quellkomponenten, Community, Distro) &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;In der FAQ stehts schlie&amp;#223;lich (&lt;a href="http://www.opensolaris.org/os/about/faq/general_faq/#whatis" target="_blank"&gt;What is OpenSolaris?&lt;/a&gt;: &amp;quot;&lt;em&gt;OpenSolaris is an operating system (OS), a source base, and a community.&lt;/em&gt;&amp;quot;), aber um da hinzukommen, brauche ich drei Klicks. Auf der Hauptseite w&amp;#228;re das m.E. besser aufgehoben. Nicht sehr einsteigerfreundlich.&lt;/p&gt;  &lt;p&gt;Aber auch genunix.org, die OpenSolaris Community Plattform machts nicht besser. Auf deren &lt;a href="http://genunix.org/" target="_blank"&gt;Startseite&lt;/a&gt; findet sich kein einziger &amp;quot;&amp;#220;ber uns&amp;quot; Link. Nicht-Eingeweihte d&amp;#252;rfen also erstmal auf eigene Faust rausfinden, worum es bei genunix &amp;#252;berhaupt geht ... Selbst ein absolut bekanntes Projekt wie das des Apache HTTP Servers beginnt &lt;a href="http://httpd.apache.org/" target="_blank"&gt;seine Projektseite&lt;/a&gt; mit einer Erkl&amp;#228;rung, worum es &amp;#252;berhaupt geht.&lt;/p&gt;  &lt;p&gt;Ist ein erstes Hier-gehts-lang bzw. An-die-Hand-Nehmen von Neulingen zuviel verlangt? &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1288827534432621249-37109364948266235?l=ausdemhamsterrad.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://ausdemhamsterrad.blogspot.com/feeds/37109364948266235/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1288827534432621249&amp;postID=37109364948266235" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1288827534432621249/posts/default/37109364948266235?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1288827534432621249/posts/default/37109364948266235?v=2" /><link rel="alternate" type="text/html" href="http://ausdemhamsterrad.blogspot.com/2008/09/opensolaris-project-indiana-nevada-co.html" title="OpenSolaris, Project Indiana, Nevada &amp;amp; Co" /><author><name>Sebastian Kayser</name><uri>http://www.blogger.com/profile/15220047733965249390</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://4.bp.blogspot.com/__LGP5_i8C_g/SNFe-iY6bAI/AAAAAAAAHmM/xY-kk1c9fCk/S220/sebastian.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;Dk4ARXo5eyp7ImA9WxdaE0Q.&quot;"><id>tag:blogger.com,1999:blog-1288827534432621249.post-7422954936432679062</id><published>2008-08-22T10:49:00.001+02:00</published><updated>2008-08-22T10:49:04.423+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-08-22T10:49:04.423+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="protokolle" /><category scheme="http://www.blogger.com/atom/ns#" term="more" /><category scheme="http://www.blogger.com/atom/ns#" term="lpic-2" /><category scheme="http://www.blogger.com/atom/ns#" term="mail" /><title>Kanonisch?</title><content type="html">&lt;p&gt;Ich kann mich noch gut entsinnen, wie einer meiner ehemaligen Kollegen in Zusammenhang mit DNS immer von kanonischen Hostnamen sprach. Ich kratzte mir derweil mental am Kopf, &amp;quot;Kanonisch? Was das?&amp;quot;. Gekl&amp;#228;rt haben wir das seltsamerweise nie und heute gabs dann sowas wie ein Deja-Vu.&lt;/p&gt;  &lt;p&gt;Ich bl&amp;#228;ttere in meinen LPIC-2 Vorbereitungsunterlagen und siehe da, Postfix kennt eine Datei namens /etc/postfix/canonical. Canoncial? Gut, Zeit zu kl&amp;#228;ren, was es mit kanonisch bzw. canonical auf sich hat. Und zwar generell und nicht nur im Postfix-/DNS-Kontext.&lt;/p&gt; &lt;span class="fullpost"&gt;   &lt;h4&gt;The usual state or manner of something&lt;/h4&gt;    &lt;p&gt;Das &lt;a href="http://catb.org/~esr/jargon/" target="_blank"&gt;Jargon File&lt;/a&gt; von Eric Raymond bietet eine &lt;a href="http://catb.org/~esr/jargon/html/C/canonical.html" target="_blank"&gt;feine Abhandlung &amp;#252;ber die Abstammung des Begriffs canonical&lt;/a&gt;: canonical kennt mehrere Kontexte (religi&amp;#246;s, mathematisch, technisch, ...), ist also differenziert zu betrachten. F&amp;#252;r den technischen Kontext, der uns interessiert, gilt laut Jargon File: &lt;/p&gt;    &lt;blockquote&gt;     &lt;p&gt;&amp;quot;&lt;em&gt;&lt;strong&gt;it (canonical) is implicitly defined as the way hackers normally expect things to be.&lt;/strong&gt;&lt;/em&gt;&amp;quot;&lt;/p&gt;   &lt;/blockquote&gt;    &lt;p&gt;Das passt gut zusammen mit der Definition, die den Artikel einleitet: &amp;quot;&lt;strong&gt;&lt;em&gt;The usual or standard state or manner of something&lt;/em&gt;&lt;/strong&gt;&amp;quot; und auch mit dem, was &amp;quot;&lt;a href="http://www.zytrax.com/books/dns/" target="_blank"&gt;DNS for Rocket Scientists&lt;/a&gt;&amp;quot; zu &lt;a href="http://www.zytrax.com/books/dns/ch8/cname.html" target="_blank"&gt;canonical im Kontext DNS zu sagen hat&lt;/a&gt;: &amp;quot;&lt;strong&gt;&lt;em&gt;Canoncial means expected or real name&lt;/em&gt;&lt;/strong&gt;&amp;quot;.&lt;/p&gt;    &lt;p&gt;Es geht also um eine Art Lingua Franca, ein Verwenden von Begriffen, so wie es jedermann erwartet und bei dem jeder wei&amp;#223;, worum es geht. Eindeutig, allgemeing&amp;#252;ltig und ohne individuelle Eigenheiten. &lt;a href="http://www.it-eye.nl/weblog/2007/06/13/soa-best-practice-9-use-a-canonical-data-model/" target="_blank"&gt;Die Progammiererwelt kennt das sogar als Design Pattern&lt;/a&gt; und auch &lt;a href="http://frankmccown.blogspot.com/2006/04/url-canonicalization.html" target="_blank"&gt;bei URLs kennt man den Ausdruck kanonisch&lt;/a&gt;.&lt;/p&gt;    &lt;p&gt;Kommen wir also zur&amp;#252;ck zu den anf&amp;#228;nglichen Unklarheiten: Kanonisch bei DNS und canonical bei Postfix. &lt;/p&gt;    &lt;h4&gt;Kanonisch f&amp;#252;r DNS&lt;/h4&gt;    &lt;p&gt;Wenn man die Erkl&amp;#228;rung von canonical nimmt und drei und drei zusammenz&amp;#228;hlt, kann sich jetzt wohl schon fast denken, was kanonische Hostnamen sind. &lt;a href="http://www.ietf.org/rfc/rfc1034.txt" target="_blank"&gt;RFC 1034 &amp;quot;Domain Names - Concepts and Facilities&amp;quot;&lt;/a&gt; h&amp;#228;lt in Abschnitt 3.6.2 &amp;quot;Aliases and canonical names&amp;quot; die offizielle Erl&amp;#228;uterung bereit. DNS ist ein Namensgebungssystem und f&amp;#252;r solche gilt:&lt;/p&gt;    &lt;blockquote&gt;     &lt;p&gt;&lt;em&gt;&amp;quot;Most of these systems have a notion that one of the equivalent set of names is the canonical or primary name and all others are aliases. The domain system provides such a feature using the canonical name (CNAME) RR.&amp;quot;&lt;/em&gt;&lt;/p&gt;   &lt;/blockquote&gt;    &lt;p&gt;Ok, mehre Namen, davon ist einer kanonisch und die anderen werden als Aliase erachtet / definiert. Realisiert wird die Aliaserei im DNS &amp;#252;ber die &lt;a href="http://www.zytrax.com/books/dns/ch8/cname.html" target="_blank"&gt;CNAME Resource Records&lt;/a&gt;. War klar, ab sofort muss ich nur auf meine Terminologie aufpassen. &lt;/p&gt;    &lt;p&gt;Denn wenn ich bisher von einem CNAME sprach, meinte ich damit oft den Alias (also die linke Seite des CNAME Records). Per Definition ist der aber gerade kein Canonical NAME ... uff. Ung&amp;#252;nstiger Sprachgebrauch, &lt;a href="http://www.ietf.org/rfc/rfc2181.txt" target="_blank"&gt;das hat auch RFC 2181 &amp;quot;Clarifications to the DNS Specification&amp;quot;, Abschnitt 10.1.1 &amp;quot;CNAME terminology&amp;quot; erkannt&lt;/a&gt;.&lt;/p&gt;    &lt;blockquote&gt;     &lt;p&gt;&amp;quot;&lt;em&gt;It has been traditional to refer to the label of a CNAME record as &amp;quot;a CNAME&amp;quot;. This is unfortunate, as &amp;quot;CNAME&amp;quot; is an abbreviation of &amp;quot;canonical name&amp;quot;, and the label of a CNAME record is most certainly not a canonical name.&lt;/em&gt;&amp;quot;&lt;/p&gt;   &lt;/blockquote&gt;    &lt;p&gt;Merke: RR sind danach benannt, auf was sie zeigen. Ein MX Record zeigt auf einen Mailserver, ein NS Record zeigt auf einen Nameserver und ein CNAME Record zeigt eben auf einen C&lt;strong&gt;anonical NAME&lt;/strong&gt;. Die linke Seite der Gleichung wird bei allen Records generisch als Label bezeichnet und im speziellen Falle eines CNAMEs als Alias.&lt;/p&gt;    &lt;p&gt;Das hindert keinen daran, Aliase nach wie vor als CNAME zu bezeichnen. Selbst Sendmail &lt;a href="http://www.sendmail.org/m4/masquerading.html" target="_blank"&gt;spricht in seiner Doku von CNAMEs&lt;/a&gt;, wenn es eigentlich einen Alias meint. Nun gut, immerhin wissen wir das nun auseinanderzuhalten und verstehen auch unsere Kollegen, wenn die mal wieder von kanonischen Hostnamen sprechen.&lt;/p&gt;    &lt;h4&gt;Kanonisch f&amp;#252;r Postfix&lt;/h4&gt;    &lt;p&gt;Auch wenns jetzt spezifisch f&amp;#252;r eine Software wird, die nicht jeden interessieren mag, untermauert die folgende Beschreibung das Verst&amp;#228;ndnis vom Begriff kanonisch nochmal und ist somit auch f&amp;#252;r Nicht-Postfix-J&amp;#252;nger interessant.&lt;/p&gt;    &lt;p&gt;Postfix spricht auch DNS, aber darum gehts hier nicht, sondern vielmehr um eine der vielen M&amp;#246;glichkeiten in Postfix E-Mail-Adressen umzuschreiben: Die Datei &lt;a href="http://www.postfix.com/canonical.5.html" target="_blank"&gt;/etc/postfix/canonical&lt;/a&gt;.&lt;/p&gt;    &lt;p&gt;Besagte Datei dient als letzte Instanz zum Adress-Umschreiben vor dem Einspeisen von Emails in die Queue. Hier kann also nochmal Hand an die Adressen (Header &lt;strong&gt;und&lt;/strong&gt; Envelope, siehe &lt;a href="http://www.cns.utoronto.ca/usg/technotes/smtp-intro.html" target="_blank"&gt;The envelope versus the letter&lt;/a&gt;) gelegt und daf&amp;#252;r gesorgt werden, dass ein kanonisches oder einheitliches Adressformat vorliegt.&lt;/p&gt;    &lt;p&gt;Kyle Dent erkl&amp;#228;rts in &lt;a href="http://oreilly.com/catalog/9780596002121/" target="_blank"&gt;Postfix - The Definitive Guide&lt;/a&gt; als: &amp;quot;&lt;em&gt;If different mail systems on your network create addresses in different ways, you can relay them all through your Postfix gateway and have it fix up the addresses into your standard format&lt;/em&gt;&amp;quot;.&lt;/p&gt;    &lt;p&gt;Betonung liegt auf &amp;quot;your standard format&amp;quot;, kanonisch also.&lt;/p&gt;    &lt;p&gt;&amp;#160;&lt;/p&gt;    &lt;p&gt;(Anmerkung f&amp;#252;r Postfixler: Im Gegensatz zu den anderen Umschreibem&amp;#246;glichkeiten bei Postfix (virtual, aliases) gilt canonical nicht nur f&amp;#252;r Empf&amp;#228;nger- sondern auch f&amp;#252;r Absenderadressen. Weiterhin k&amp;#252;mmet sich canonical um Header- &lt;strong&gt;und&lt;/strong&gt; Envelope-Adressen, &lt;a href="http://www.postfix.com/virtual.5.html" target="_blank"&gt;virtual&lt;/a&gt; und &lt;a href="http://www.postfix.com/aliases.5.html" target="_blank"&gt;aliases&lt;/a&gt; k&amp;#252;mmern sich lediglich um Header-Adressen.)&lt;/p&gt; &lt;/span&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1288827534432621249-7422954936432679062?l=ausdemhamsterrad.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://ausdemhamsterrad.blogspot.com/feeds/7422954936432679062/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1288827534432621249&amp;postID=7422954936432679062" title="1 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1288827534432621249/posts/default/7422954936432679062?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1288827534432621249/posts/default/7422954936432679062?v=2" /><link rel="alternate" type="text/html" href="http://ausdemhamsterrad.blogspot.com/2008/08/kanonisch.html" title="Kanonisch?" /><author><name>Sebastian Kayser</name><uri>http://www.blogger.com/profile/15220047733965249390</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://4.bp.blogspot.com/__LGP5_i8C_g/SNFe-iY6bAI/AAAAAAAAHmM/xY-kk1c9fCk/S220/sebastian.jpg" /></author><thr:total>1</thr:total></entry><entry gd:etag="W/&quot;CkEDQH0_fip7ImA9WxdaEUg.&quot;"><id>tag:blogger.com,1999:blog-1288827534432621249.post-334031996093038294</id><published>2008-08-19T14:11:00.003+02:00</published><updated>2008-08-19T14:57:51.346+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-08-19T14:57:51.346+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="lpic-2" /><category scheme="http://www.blogger.com/atom/ns#" term="mail" /><title>MTAs im Überblick</title><content type="html">&lt;p&gt;Message Transfers Agents (MTAs) sind nicht nur Schaltstellen f&amp;#252;r unsere E-Mails, sondern auch ein Lernziel f&amp;#252;r die LPIC-2-Pr&amp;#252;fung. Und als ob dabei ein MTA nicht genug w&amp;#228;re, sollens gleich alle der &amp;#252;blichen Verd&amp;#228;chtigen sein: &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;The following is a partial list of the used files, terms and utilities:        &lt;br /&gt;Configuration files and commands for &lt;/em&gt;&lt;a href="http://www.postfix.org/" target="_blank"&gt;&lt;em&gt;postfix&lt;/em&gt;&lt;/a&gt;&lt;em&gt;, &lt;/em&gt;&lt;a href="http://www.qmail.org/" target="_blank"&gt;&lt;em&gt;qmail&lt;/em&gt;&lt;/a&gt;&lt;em&gt;, &lt;/em&gt;&lt;a href="http://www.exim.org/" target="_blank"&gt;&lt;em&gt;exim&lt;/em&gt;&lt;/a&gt;&lt;em&gt; and &lt;/em&gt;&lt;a href="http://www.sendmail.org/" target="_blank"&gt;&lt;em&gt;sendmail&lt;/em&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Wie sch&amp;#246;n, dass es die &lt;a href="http://shearer.org/MTA_Comparison" target="_blank"&gt;MTA Comparison&lt;/a&gt; von Dan Shearer gibt. Dort findet man zwar keine konkreten Konfigurationsoptionen, daf&amp;#252;r aber einen sch&amp;#246;nen Abriss mit Historie, Blick &amp;#252;ber den Tellerrand und pers&amp;#246;nlichem Vergleich.&lt;/p&gt;  &lt;p&gt;Dabei f&amp;#228;llt direkt auf, dass die vier MTAs mehr gemeinsam haben, als man denkt: &lt;a href="http://en.wikipedia.org/wiki/Maildir" target="_blank"&gt;Maildir&lt;/a&gt; stammt vom qmail Autor Dan Bernstein, &lt;a href="http://www.pcre.org/" target="_blank"&gt;PCRE&lt;/a&gt; wurde vom Exim-Autor Phil Hazel geschrieben und &lt;a href="http://www.sendmail.org/sm-X/index.html" target="_blank"&gt;Sendmail X&lt;/a&gt; bzw. dessen Nachfolger &lt;a href="http://www.meta1.org/" target="_blank"&gt;MeTA1&lt;/a&gt; schauen sich die Modularit&amp;#228;t an postfix ab. Prima, kommen wir zu den Unterschieden.&lt;/p&gt;  &lt;h4&gt;Seitenhiebe auf Sendmail&lt;/h4&gt;  &lt;p&gt;Wer sich schonmal beim Anblick einer Sendmail .cf-Datei (auch bekannt als &lt;a href="http://www.networkcomputing.com/unixworld/tutorial/01/01.txt.html" target="_blank"&gt;Explosion in a Punctuation Factory&lt;/a&gt;) gesch&amp;#252;ttelt hat, der wird bei Dan's Seitenhieben auf Sendmail schmunzeln: Neulinge sollten Sendmail einfach nicht mehr erlernen, dann w&amp;#228;re Sendmail in einer Generation gegesessen, so sein Tipp.&lt;/p&gt;  &lt;p&gt;Zugegeben, die .cf-Dateien sind nicht intuitiv, aber w&amp;#228;hrend viele die mal gesehen haben und nie wieder was mit Sendmail zu tun haben wollen (mich eingeschlossen), ist ebenso vielen sicherlich nicht klar, dass man in den .cf Dateien &lt;a href="http://www.ussg.iu.edu/usail/mail/configuration/" target="_blank"&gt;im Regelfall garnichts mehr schrauben muss&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Dank m4 schreibt man eine Datei, die deutlich mehr an Konfigurationsdateien erinnert und verwandelt diese dann in die wirr aussehende .cf-Datei. Und zugegeben, die sieht teilweise auch nicht viel anders aus, als manche Sektionen einer Exim-Konfiguration. Andererseit, hat man mal mit Exim und dessen &lt;a href="http://exim.org/docs.html" target="_blank"&gt;vorbildlicher Doku&lt;/a&gt; gearbeitet, findet man &lt;a href="http://www.sendmail.org/documentation/configurationReadme" target="_blank"&gt;die Doku von Sendmail&lt;/a&gt; etwas mau.&lt;/p&gt;  &lt;h4&gt;Kleine Entwicklerkreise und ihre Folgen&lt;/h4&gt;  &lt;p&gt;Weiter im Programm. Beim Vergleich der MTAs kreidet Dan zurecht Postfix den kleinen Entwicklerkreis an. Was passiert mit Postfix, wenn der Herrscher &amp;#252;ber Postfix, &lt;a href="http://www.porcupine.org/wietse/" target="_blank"&gt;Wietse&lt;/a&gt; mal nicht mehr ist?&lt;/p&gt;  &lt;p&gt;Das Beispiel qmail hat gezeigt, was passieren kann, wenn der Vater hinter der Software aufh&amp;#246;rt, an dieser zu wirken. Das letzte offizielles Release 1.03 wurde am 15. Juni 1998 (!) freigegeben und seitdem tummeln sich Patchsets &amp;#252;ber Patchsets. Dan kommentiert dazu, dass einen wahren qmail-Guru das Wissen &amp;#252;ber diese verschiedenen Patchsets ausmacht.&lt;/p&gt;  &lt;p&gt;Gute Frage also nach der Falle &amp;quot;kleiner Entwicklerkreis&amp;quot;. Aber die Frage muss man nicht nur Postfix stellen: Was f&amp;#252;r einen Entwicklerkreis hat beispielsweise Exim? Ist nicht Philip Hazel hauptverantwortlich f&amp;#252;r Exim &amp;#228;hnlich wie Wietse Venema f&amp;#252;r Postfix?&lt;/p&gt;  &lt;h4&gt;Adieu Mr. Exim&lt;/h4&gt;  &lt;p&gt;Im &lt;a href="http://bugs.exim.org/buglist.cgi?quicksearch=*" target="_blank"&gt;Exim Bug-Tracker&lt;/a&gt; sind neben Phil eine Hand voll Entwickler unterwegs (Magnus Holmgren, Tony Finch, Nigel Metheringham, Tom Kistner), also nicht nur ein Entwickler. Aber hoppla, was muss ich lernen: Anfang des Jahres wurden alle offenen Bugs, die auf Phil liefen, von Nigel &amp;#252;bernommen. Grund daf&amp;#252;r: &lt;a href="http://www.cam.ac.uk/cs/newsletter/2007/nl234/general.html" target="_blank"&gt;Phil Hazel ist in den Ruhestand gegangen&lt;/a&gt; und &lt;a href="http://www.exim.org/lurker/message/20070207.150804.c81f2627.it.html" target="_blank"&gt;zieht sich aus der Exim-Entwicklung zur&amp;#252;ck&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Na das kann ja interessant werden. Selbst &lt;a href="http://lists.exim.org/lurker/message/20070829.151223.cae0d6e6.en.html" target="_blank"&gt;Nigel war letztes Jahr etwas &amp;#252;berfragt&lt;/a&gt;, wo genau es hingeht und &lt;a href="http://lists.exim.org/lurker/message/20080513.160520.97b6b35b.en.html" target="_blank"&gt;Mitte 2008 malt er die Situation nicht gerade rosig&lt;/a&gt;. Phil hatte &amp;#252;ber die letzten Jahr full time an Exim gearbeitet und ein kr&amp;#228;ftiges Vakuum hinterlassen (&lt;a href="http://www.exim.org/lurker/message/20080514.084954.9988d5bc.en.html"&gt;er selbst hats kommen sehen&lt;/a&gt;). Na dann mal toi toi toi, bin gespannt, wo das hingeht.&lt;/p&gt;  &lt;p&gt;F&amp;#252;r mich auf jeden Fall ans Eingemachte, d.h. das konkrete LPIC-Know-How zum Thema MTAs.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1288827534432621249-334031996093038294?l=ausdemhamsterrad.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://ausdemhamsterrad.blogspot.com/feeds/334031996093038294/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1288827534432621249&amp;postID=334031996093038294" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1288827534432621249/posts/default/334031996093038294?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1288827534432621249/posts/default/334031996093038294?v=2" /><link rel="alternate" type="text/html" href="http://ausdemhamsterrad.blogspot.com/2008/08/mein-mta-dein-mta.html" title="MTAs im Überblick" /><author><name>Sebastian Kayser</name><uri>http://www.blogger.com/profile/15220047733965249390</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://4.bp.blogspot.com/__LGP5_i8C_g/SNFe-iY6bAI/AAAAAAAAHmM/xY-kk1c9fCk/S220/sebastian.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CU4DSHs-eCp7ImA9WxdbFUo.&quot;"><id>tag:blogger.com,1999:blog-1288827534432621249.post-6743052171863534592</id><published>2008-08-12T22:34:00.004+02:00</published><updated>2008-08-12T22:46:19.550+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-08-12T22:46:19.550+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="linux" /><title>OpenVPN: Cannot open /dev/net/tun</title><content type="html">&lt;p&gt;Bin eben beim Spielen mit OpenVPN auf einer Debian Sarge Maschine &amp;#252;ber die obige Fehlermeldung gestolpert. Die Ger&amp;#228;tedatei /dev/net/tun ist nicht zu finden, soviel ist klar. Aber woran genau h&amp;#228;ngt das?&lt;/p&gt;  &lt;pre&gt;&lt;code&gt;Tue Aug 12 14:49:42 2008 OpenVPN 2.0 i386-pc-linux [SSL] [LZO] [EPOLL] built on Jan  7 2007
Tue Aug 12 14:49:42 2008 Note: Cannot open TUN/TAP dev /dev/net/tun: No such file or directory (errno=2)
Tue Aug 12 14:49:42 2008 Note: Attempting fallback to kernel 2.2 TUN/TAP interface
Tue Aug 12 14:49:42 2008 Cannot allocate TUN/TAP dev dynamically
Tue Aug 12 14:49:42 2008 Exiting
&lt;/code&gt;&lt;/pre&gt; &lt;p&gt;Alle, die es eilig haben, bitte einen Blick in die OpenVPN man page werfen (Abschnitt TUN/TAP DRIVER SETUP) oder direkt zum Ende dieses Artikels springen. F&amp;#252;r alle anderen hier ein paar Rahmeninformationen zur Orientierung.&lt;/p&gt; &lt;h4&gt;OpenVPN Grundlagen&lt;/h4&gt; &lt;p&gt;OpenVPN als Userspace-Programm arbeitet mit den TUN/TAP-Treibern des Kernels zusammen. Diese Treiber gaukeln dem System regul&amp;#228;re Netzwerk-Schnittstellen (/dev/tunX, /dev/tapX) vor und bilden das Bindeglied zu OpenVPN. Wenn vom System etwas in eine von OpenVPN verwendete TUN/TAP-Schnittstellen geschoben wird, landet es nicht auf einer Leitung, sondern &amp;#252;ber den TUN/TAP-Treiber bei OpenVPN. Das wiederum nimmt die erhaltenen Daten und schickt sie &amp;#252;ber eine SSL-verschl&amp;#252;sselte Verbindung zur Gegenstelle. Dort wird das Prozedere umgekehrt.&lt;/p&gt; &lt;p&gt;OpenVPN liest die erhaltenen Daten aus der SSL-Verbindung, gibt sie an den TUN/TAP-Treiber weiter, der sie &amp;#252;ber die vorgegaukelten Netzwerk-Schnittstellen ins System einspeist. F&amp;#252;r das System sind demnach OpenVPN und die Verschl&amp;#252;sselung vollkommen transparent, die Pakete/Frames werden &amp;#252;ber /dev/tunX oder /dev/tapX genau so gesendet / empfangen, wie es &amp;#252;ber ein regul&amp;#228;res Interface der Fall w&amp;#228;re.&lt;/p&gt; &lt;p&gt;Genau das macht den Reiz von OpenVPN aus: Insofern eine Plattform &amp;#252;ber TUN/TAP-Treiber verf&amp;#252;gt, ist das schon die halbe Miete zur Portierung von OpenVPN. Eine tiefes Einklinken in den TCP/IP-Stack ist nicht notwendig.&lt;/p&gt; &lt;h4&gt;Treiber, Ger&amp;#228;tedateien, Major-/Minor-Nummern&lt;/h4&gt; &lt;p&gt;Zur&amp;#252;ck zu OpenVPN unter Linux. Damit die Kommunikation zwischen OpenVPN und dem TUN/TAP-Treiber von statten gehen kann, m&amp;#252;ssen ein paar Voraussetzungen erf&amp;#252;llt sein.&lt;/p&gt; &lt;ol&gt;
  &lt;li&gt;Der TUN/TAP-Treiber muss geladen sein (modprobe tun). &lt;/li&gt;
  &lt;li&gt;Der TUN/TAP-Treiber muss &amp;#252;ber eine Ger&amp;#228;tedatei ansprechbar sein. &lt;/li&gt;
&lt;/ol&gt; &lt;p&gt;Punkt 2 lohnt einer genaueren Betrachtung. Traditionell identifiziert sich jeder Treiber gegen&amp;#252;ber dem Kernel &amp;#252;ber &lt;a href="http://www.xml.com/ldd/chapter/book/ch03.html#t2" target="_blank"&gt;eine eindeutige Major-Nummer&lt;/a&gt;. Die gibt der Treiber beim Laden entweder fest vor oder bekommt sie vom Kernel dynamisch zugewiesen. Weiterhin gibts eine Minor-Nummer, die innerhalb eines Treibers zur Unterscheidung verschiedener Ger&amp;#228;te oder Subsysteme dient.&lt;/p&gt; &lt;p&gt;Eine &amp;#220;bersicht der vergebenen Nummern-Kombination findet sich in den Kernel-Sourcen des Systemes unter Documentation/devices.txt und &lt;a href="ftp://ftp.kernel.org/pub/linux/docs/device-list/" target="_blank"&gt;hier&lt;/a&gt; oder &lt;a href="http://www.lanana.org/docs/device-list/" target="_blank"&gt;hier&lt;/a&gt;. Offizielle Vergabestelle ist die Linux Assigned Names And Numbers Authority (LANANA). Wie dort zu lesen ist, hat der TAP/TUN-Treiber die Major-Nummer 10 und die Minor-Nummer 200.&lt;/p&gt; &lt;p&gt;Sind Major- und Minor-Nummer bekannt, kann eine entsprechende Ger&amp;#228;tedatei angelegt werden, die f&amp;#252;r Userspace-Programme zur Kommunikation mit dem Treiber bzw. dem vom Treiber betriebenen Ger&amp;#228;t dient. Klassischerweise mit mknod per Hand oder aber in Zeiten von &lt;a href="http://www.reactivated.net/writing_udev_rules.html" target="_blank"&gt;udev&lt;/a&gt; und sysfs halbautomatisch.&lt;/p&gt; &lt;p&gt;Am Rande: Das Konzept der Nummernvergabe ist mittlerweile etwas aufgeweicht. Der Kernel ist in der Lage, mehrere Treiber mit der selben Major-Nummer zu verwalten, die Unterscheidung findet dann &amp;#252;ber die Minor-Nummer statt. Weiterhin sind Treiber-Entwickler angehalten, keine festen Major-Nummern mehr anzufragen, sondern mit dynamischen Major und Minor Nummern zu arbeiten. &lt;a href="http://lwn.net/images/pdf/LDD3/ch03.pdf" target="_blank"&gt;Linux Device Drivers Kapitel 3 &amp;quot;Char Drivers&amp;quot;&lt;/a&gt; h&amp;#228;lt mehr Details bereit.&lt;/p&gt; &lt;h4&gt;So, und was war nun kaputt?&lt;/h4&gt; &lt;pre&gt;&lt;code&gt;Tue Aug 12 14:49:42 2008 Note: Cannot open TUN/TAP dev /dev/net/tun: No such file or directory (errno=2)&lt;/code&gt;&lt;/pre&gt; &lt;p&gt;OpenVPN findet also /dev/net/tun zur Kommunikation mit dem TUN/TAP-Treiber nicht. Der Pfad l&amp;#228;sst sich prinzipiell anpassen (Option --dev-node), wichtig ist jedoch, dass es die Datei mit dem passenden Major-/Minor-Nummernpaar &amp;#252;berhaupt gibt und genau das war auf dem System nicht der Fall. Ein mknod schaffte Abhilfe.&lt;/p&gt; &lt;pre&gt;&lt;code&gt;# mkdir /dev/net&lt;br /&gt;# mknod /dev/net/tun c 10 200&lt;br /&gt;# ls -l /dev/net/tun
crw-r--r--  1 root root 10, 200 2008-08-12 15:24 /dev/net/tun&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Das Ganze fand wohlgemerkt auf einem System ohne udev statt. Mit udev kommen Gerätedateien auf andere Art und Weise zustande.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1288827534432621249-6743052171863534592?l=ausdemhamsterrad.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://ausdemhamsterrad.blogspot.com/feeds/6743052171863534592/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1288827534432621249&amp;postID=6743052171863534592" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1288827534432621249/posts/default/6743052171863534592?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1288827534432621249/posts/default/6743052171863534592?v=2" /><link rel="alternate" type="text/html" href="http://ausdemhamsterrad.blogspot.com/2008/08/openvpn-cannot-open-devnettun.html" title="OpenVPN: Cannot open /dev/net/tun" /><author><name>Sebastian Kayser</name><uri>http://www.blogger.com/profile/15220047733965249390</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://4.bp.blogspot.com/__LGP5_i8C_g/SNFe-iY6bAI/AAAAAAAAHmM/xY-kk1c9fCk/S220/sebastian.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DUIGRXo8fyp7ImA9WxdbFU4.&quot;"><id>tag:blogger.com,1999:blog-1288827534432621249.post-6925932387042604237</id><published>2008-08-12T12:38:00.001+02:00</published><updated>2008-08-12T12:38:44.477+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-08-12T12:38:44.477+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="lpic-2" /><title>LPIC-Vorbereitung</title><content type="html">&lt;p&gt;Zur Vorbereitung auf die LPIC-Pr&amp;#252;fungen gibts &lt;a href="http://www.ibm.com/developerworks/linux/lpi/index.html" target="_blank"&gt;Webseiten&lt;/a&gt; &lt;a href="http://www.linux-praxis.de/lpi.html" target="_blank"&gt;wie&lt;/a&gt; &lt;a href="http://www.ledge.co.za/software/lpinotes/" target="_blank"&gt;Sand&lt;/a&gt; &lt;a href="http://en.wikibooks.org/wiki/LPI_Linux_Certification" target="_blank"&gt;am&lt;/a&gt; &lt;a href="http://www.happy-monkey.net/LPI/html/" target="_blank"&gt;Meer&lt;/a&gt; und &lt;a href="http://download.savannah.gnu.org/releases/lpi-manuals/" target="_blank"&gt;noch&lt;/a&gt;&amp;#160;&lt;a href="http://www.snow.nl/dist/xhtmlc/index.html" target="_blank"&gt;mehr&lt;/a&gt;. Man k&amp;#246;nnte meinen, das &lt;a href="http://en.wikipedia.org/wiki/Not_Invented_Here" target="_blank"&gt;Not Invented Here Syndrom&lt;/a&gt; hat zugeschlagen.&lt;/p&gt;  &lt;h4&gt;Aktuell?&lt;/h4&gt;  &lt;p&gt;Was man bei allen Seiten im Kopf behalten sollte, ist die Aktualit&amp;#228;t. Denn Anfang 2006 hat das LPI die Lernziele f&amp;#252;rs &lt;a href="http://www.lpi.org/eng/certification/the_lpic_program" target="_blank"&gt;LPIC-Programm&lt;/a&gt; umgekrempelt, viele (alle?) der Vorbereitungsseiten sind aber noch auf dem Stand von vor dieser Zeit.&lt;/p&gt;  &lt;p&gt;Das hei&amp;#223;t nicht, dass man v&amp;#246;llig am Ziel vorbeilernt, aber Vorsicht ist angesagt. Man lernt so z.B. nichts &amp;#252;ber OpenVPN, was mittlerweile Bestandteil der 202 Pr&amp;#252;fung ist. Oder aber man taucht wie bei Wikibooks in die (Un-)Tiefen von gettys und iptables ein, ohne vom Rest der relevanten Lernziele im Umfeld Netzwerkkonfiguration etwas mitzubekommen. Man schaue nur mal &lt;a href="http://en.wikibooks.org/wiki/LPI_Linux_Certification/Advanced_Network_Configuration_%26_Troubleshooting" target="_blank"&gt;hier&lt;/a&gt; ... auweia. &lt;/p&gt;  &lt;p&gt;Im Falle meiner Vorbereitung f&amp;#252;r LPIC-2 liegt hier also die gedruckte Version der &lt;a href="http://www.lpi.org/eng/certification/the_lpic_program/lpic_2/exam_202_detailed_objectives" target="_blank"&gt;aktuellen Lernziele&lt;/a&gt;, anhand der ich mir schrittweise das Wissen zusammensuche, was mir noch fehlt.&lt;/p&gt;  &lt;h4&gt;Papierform&lt;/h4&gt;  &lt;p&gt;Das Vorbereitungswissen gibts auch &lt;a href="http://www.amazon.de/LPIC-2-Vorbereitung-Pr%C3%BCfung-Professional-Institute/dp/3937514651/" target="_blank"&gt;in Buch-Form&lt;/a&gt; und ich gehe davon aus, dass man damit besser durch die Vorbereitung gef&amp;#252;hrt wird, als auf den obigen Webseiten.&lt;/p&gt;  &lt;p&gt;Ergo hab ich mir das gerade in der aktuellen Auflage von 2008 auf ebay f&amp;#252;r ca. 30 Euro geordert. Danach wirds wieder verkauft und ich hab ein gutes Gewissen, wenn ich dann zum Test die 130+ Euro Pr&amp;#252;fungsgeb&amp;#252;hr in die Hand nehme.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1288827534432621249-6925932387042604237?l=ausdemhamsterrad.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://ausdemhamsterrad.blogspot.com/feeds/6925932387042604237/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1288827534432621249&amp;postID=6925932387042604237" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1288827534432621249/posts/default/6925932387042604237?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1288827534432621249/posts/default/6925932387042604237?v=2" /><link rel="alternate" type="text/html" href="http://ausdemhamsterrad.blogspot.com/2008/08/lpic-vorbereitung.html" title="LPIC-Vorbereitung" /><author><name>Sebastian Kayser</name><uri>http://www.blogger.com/profile/15220047733965249390</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://4.bp.blogspot.com/__LGP5_i8C_g/SNFe-iY6bAI/AAAAAAAAHmM/xY-kk1c9fCk/S220/sebastian.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CEEEQ3w9eip7ImA9WxdbEUw.&quot;"><id>tag:blogger.com,1999:blog-1288827534432621249.post-6433185361123473925</id><published>2008-08-07T14:36:00.001+02:00</published><updated>2008-08-07T14:36:42.262+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-08-07T14:36:42.262+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="job" /><title>Weiblich, Männlich, Linux, BSD ...</title><content type="html">&lt;p&gt;Bei Stellenangeboten ist ja immer der ein oder andere Schmunzler dabei. So gerade gesehen auf der Job-Seite eines Europa-weit aktiven Webportals. &lt;/p&gt;  &lt;p&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="41" alt="jp-mit" src="http://lh5.ggpht.com/skayser.de/SJrrhDFmzPI/AAAAAAAAHlc/Uzxq6Adt9Ls/jp-mit%5B4%5D.jpg" width="332" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="42" alt="jp-admin" src="http://lh3.ggpht.com/skayser.de/SJrsV_SFACI/AAAAAAAAHlg/GPNzph80v1I/jp-admin%5B4%5D.jpg" width="304" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;Wenn bei der ersten Stelle weibliche und m&amp;#228;nnliche Bewerber gesucht sind, was wollen die dann f&amp;#252;r die zweite Stelle? *schmunzel*&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1288827534432621249-6433185361123473925?l=ausdemhamsterrad.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://ausdemhamsterrad.blogspot.com/feeds/6433185361123473925/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1288827534432621249&amp;postID=6433185361123473925" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1288827534432621249/posts/default/6433185361123473925?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1288827534432621249/posts/default/6433185361123473925?v=2" /><link rel="alternate" type="text/html" href="http://ausdemhamsterrad.blogspot.com/2008/08/weiblich-mnnlich-linux-bsd.html" title="Weiblich, Männlich, Linux, BSD ..." /><author><name>Sebastian Kayser</name><uri>http://www.blogger.com/profile/15220047733965249390</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://4.bp.blogspot.com/__LGP5_i8C_g/SNFe-iY6bAI/AAAAAAAAHmM/xY-kk1c9fCk/S220/sebastian.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/skayser.de/SJrrhDFmzPI/AAAAAAAAHlc/Uzxq6Adt9Ls/s72-c/jp-mit%5B4%5D.jpg" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CUUHSXw_eyp7ImA9WxdUGEU.&quot;"><id>tag:blogger.com,1999:blog-1288827534432621249.post-7416062662469537388</id><published>2008-08-04T22:44:00.004+02:00</published><updated>2008-08-04T22:53:58.243+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-08-04T22:53:58.243+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="more" /><category scheme="http://www.blogger.com/atom/ns#" term="linux" /><title>Terminals unter Linux: tty, pty, pts und Co</title><content type="html">&lt;p&gt;Im Zuge der Aufbereitung des Themas &lt;a href="http://www.blogger.com/2008/07/point-to-point-protokoll-lpic-202-22051.html" target="_blank"&gt;PPP&lt;/a&gt; ist mir vor Augen geführt worden, dass die serielle Schnittstelle unter Linux omnipräsent ist. Egal ob man tatsächlich eine &lt;a href="http://en.wikipedia.org/wiki/RS-232" target="_blank"&gt;RS232-Schnittstelle&lt;/a&gt; an seinem System hat, oder nicht, ttys, ptys &amp;amp; Kollegen tummeln sich an allen Ecken und Enden.&lt;/p&gt;  &lt;p&gt;Schonmal ein /dev/pts/X gesehen und überlegt, woher das kommt? Oder nicht so richtig gewusst, wo ein Pseudo-Terminal einzuordnen ist? Mit etwas historischem Hintergrundwissen lässt sich das in Null-Komma-Nix erklären. Los gehts.&lt;/p&gt;  &lt;span class="fullpost"&gt;&lt;h4&gt;Es war einmal: Teletype&lt;/h4&gt;  &lt;p&gt;Es waren einmal Großrechner die als großer Klotz raumfüllend vor sich hin summten und jede Menge Leute mit Datenverarbeitungsdiensten versorgten. Ok, ihr kennt die Story, ich fass mich kurz. Der Krux dabei: Es gab keinen Monitor und keine Tastatur, wie wir sie heute kennen.&lt;/p&gt;  &lt;p&gt;Dafür gab es ein sogenanntes &lt;a href="http://en.wikipedia.org/wiki/ASR33" target="_blank"&gt;Teletype&lt;/a&gt; (kurz TTY), eine Kombination aus Tastatur und Drucker, die mit dem Großrechner verbunden und zur Interaktion genutzt wurde. Eingaben auf der Tastatur wurden zeichenweise an den Rechner geschickt und dieser lieferte Zeichen zurück, die auf dem Drucker ausgegeben wurden.&lt;/p&gt;  &lt;p&gt;Neben tatsächlich zu druckenden Zeichen gabs spezielle Zeichen, die zur Steuerung des Druckers verwendet wurden (Steuer- oder Kontrollzeichen genannt). CR und LF sind ein Beispiel dafür. Einmal Druckkopf auf den Anfang der Zeile zurücksetzen (CR) und Papier eine Zeile weiter schieben (LF) ... alles klar.&lt;/p&gt;  &lt;h4&gt;Terminals&lt;/h4&gt;  &lt;p&gt;Das Rad der Zeit drehte sich und die Teletypes wurden weiterentwickelt. Der Drucker als Ausgabemedium wurde durch ein Display ersetzt und somit waren &lt;a href="http://en.wikipedia.org/wiki/Computer_terminal" target="_blank"&gt;die sogenannten Terminals&lt;/a&gt; geboren. Das Funktionsprinzip blieb gleich, Zeichen hin, Ausgabe zurück, nur ab sofort auf einem grün schimmerenden  Display und nicht mehr auf Papier.&lt;/p&gt;  &lt;p&gt;Betriebssysteme und Programme mit Benutzerinteraktion verinnerlichten diesen Modus Operandi. Aus ihrer Sicht kommunizierten sie über eine zeichenorientierte Schnittstelle, aus der sie aufeinanderfolgende Eingaben vom Terminal lesen konnten und umgekehrt Ausgaben aufs Terminal zurück senden konnten.&lt;/p&gt;  &lt;p&gt;Fast forward zu Linux. Selbst wenn wir heute nicht mehr mit grün leuchtenden Terminals arbeiten, hat sich am architektonischen Ansatz nichts geändert. Direkt am Rechner sitzend, werkeln wir nun mit virtuellen Terminals oder xterm(inals) und ebenso wie ihre greifbaren Vorgänger nehmen diese Eingaben von uns entgegen, speisen sie in zeichenorientierte Schnittstellen und stellen über die gleiche Schnittstelle empfangene Ausgaben dar. Die Schnittstellen sind lediglich nicht mehr physikalisch greifbar, sondern systemintern. &lt;/p&gt;  &lt;p&gt;&lt;img style="border-width: 0px;" alt="terminal-bash" src="http://lh3.ggpht.com/skayser.de/SJdqFhpR1BI/AAAAAAAAHkQ/ebWgjGrWDHs/terminal-bash%5B7%5D.jpg" border="0" width="490" height="135" /&gt; &lt;/p&gt;  &lt;p&gt;Am anderen Ende einer solchen Schnittstelle hängen übrigens Programme, die wir von der täglichen Arbeit auf Text-Basis kennen: Shells, Editoren und vieles mehr.&lt;/p&gt;  &lt;h4&gt;Gerätedateien&lt;/h4&gt;  &lt;p&gt;Wir haben also die beteiligten Gegenstellen ausgemacht, fehlt noch die tatsächliche Schnittstelle (in Form einer Gerätedatei), über die kommuniziert wird. Gehen wir davon aus, wir würden tatsächlich ein altes Terminal an die erste RS-232 Schnittstelle eines Linux-Systems anschließen. In diesem Fall ist das Terminal über &lt;strong&gt;/dev/ttyS0&lt;/strong&gt; ansprechbar. Ein &lt;/p&gt;  &lt;pre&gt;echo a &amp;gt; /dev/ttyS0&lt;/pre&gt;&lt;p&gt;schickt ein a ans Terminal. Am Terminal eingegebene Zeichen kommen auch bei /dev/ttyS0 an und können mittels &lt;/p&gt;&lt;pre&gt;cat /dev/ttyS0&lt;/pre&gt;&lt;p&gt;anzeigt werden. Simpel! Natürlich würde ein Terminal nicht für solche simplen Spielereien verwendet werden, sondern dazu, um sich darüber auf dem Linux-System einzuloggen und daran zu arbeiten. Hier gehts aber erstmal nur ums grundlegende Verständnis für die Schnittstellen.&lt;/p&gt;&lt;p&gt;Man beachte übrigens die historisch bedingte Namensgebung. Das tty im Dateinamen rührt aus den Zeiten, als es noch tatsächlich Teletypes (TTY) gab und diese über serielle Schnittstellen angeschlossen wurden.&lt;/p&gt;&lt;p&gt;Gehen wir einen Schritt weiter: Virtuelle Terminals unter Linux - das sind die, die man über ALT + F1, ALT + F2, ..., ALT + FX (X abhängig von der genauen Konfiguration) aufrufen kann. Aus Programmsicht sind diese Terminals über die Gerätedateien &lt;strong&gt;/dev/tty1 ... /dev/ttyX&lt;/strong&gt; ansprechbar und obwohl dahinter keine richtigen Terminals mehr stehen, sondern der Kernel-Terminal-Treiber, ist das den auf dem System arbeitenden Programmen total egal. Für die ist lediglich wichtig, dass aus ihrer Sicht die Schnittstelle /dev/ttyX genauso funktioniert, wie sie es von z.B. /dev/ttyS0 gewohnt sind. Zeichen rein, Zeichen raus.&lt;/p&gt;&lt;p&gt;Dass man dieses Konzept weiterspinnen kann, zeigt openssh. Für jede SSH-Verbindungen wird ein sogenanntes &lt;a href="http://tldp.org/HOWTO/Text-Terminal-HOWTO-7.html#ss7.2" target="_blank"&gt;Pseudo-Terminal&lt;/a&gt; angelegt, was über &lt;strong&gt;/dev/pts/X&lt;/strong&gt; ansteuerbar ist. /dev/pts/X verhält sich für Programme wie eine konventionelle, zeichenbasierte Schnittstelle, während openssh hinter der Schnittstelle lauscht und Umsetzer auf die SSH-Verbindung spielt.&lt;/p&gt;&lt;p&gt;Realisiert ist das ganze über gekoppelten Gerätedateien, bestehend aus Slave und Master. Die Gerätedatei /dev/pts/X stellt den Slave eines solchen Pärchens dar und wird von normalen Programmen gefüttert. Der Master, an dem openssh hängt, ist &lt;strong&gt;/dev/ptmx&lt;/strong&gt;. Das gleiche Konzept kann einem mit &lt;a href="http://linux.die.net/man/7/pty" target="_blank"&gt;anderen Gerätedateinamen&lt;/a&gt; über den Weg laufen, dann beginnt der Name des Slaves mit &lt;strong&gt;/dev/tty[p-z]&lt;/strong&gt; an und der des Masters mit &lt;strong&gt;/dev/pty[p-z]&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;&lt;img alt="pseudo-terminal2" src="http://lh4.ggpht.com/skayser.de/SJdqIs6yBAI/AAAAAAAAHkU/5I-s0xxkU6w/pseudo-terminal2%5B5%5D.jpg" border="0" width="572" height="202" /&gt;&lt;/p&gt;&lt;p&gt;Diese Funktionsweise nutzen übrigens auch Programme wie screen und xterm. screen vermittelt zwischen einem (virtuellen) Terminal und mehreren Sitzungen/Shells, die alle ihr eigenes Pseudo-Terminal bekommen. Ein xterm fungiert als Bindeglied zwischen der grafischen X11-Umgebung und einer Shell, die nach bekanntem Muster an ein Pseudo-Terminal angedockt wird.&lt;/p&gt;&lt;h4&gt;Ansichtsweise&lt;/h4&gt;&lt;p&gt;Aus Sicht der Anwendungen stellen sich die verschiedenen Terminals also (fast) gleich dar. Lediglich die Terminal-Gerätedatei ist jeweils eine andere.&lt;/p&gt;&lt;ul&gt;
 &lt;li&gt;/dev/ttySX für via RS-232 angeschlossene Terminals &lt;/li&gt;
 &lt;li&gt;/dev/ttyX für virtuelle Terminals &lt;/li&gt;
 &lt;li&gt;/dev/pts/X für SSH-Verbindungen &lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Daher rühren dann auch die unterschiedliche Angaben zum Terminal einer Benutzersitzung, wie man sie von tty, w oder aber von Log-Einträgen kennt.&lt;/p&gt;&lt;p&gt;Der Vollständigkeit halber sollte noch erwähnt sein, dass die Anzeigefähigkeiten verschiedener Terminals variieren. Manche können Farben und blinkende Zeichen darstellen, nicht-scrollende Statusleisten einblenden, verschiedene Zeichensätze oder Terminalbreiten unterstützen sowie &lt;a href="http://tldp.org/HOWTO/Text-Terminal-HOWTO-9.html" target="_blank"&gt;vieles Lustiges mehr&lt;/a&gt;. All diese Fähigkeiten werden über Escape-Sequenzen gesteuert, die vom System ans Terminal geschickt werden. Damit das System weiß, welche Fähigkeiten ein Terminal unterstützt (und mit welchen Escape-Sequenzen es umgehen kann) gibts sowas wie termcap bzw. terminfo und eine gesetzte $TERM Umgebungsvariable die angibt, welche Art von Terminal gerade zum Einsatz kommt. Hier sind die Begriffe &lt;a href="http://vt100.net/" target="_blank"&gt;VT100 &amp;amp; Co&lt;/a&gt; einzuordnen.&lt;/p&gt;&lt;p&gt;Mehr zur Historie von TTYs und vielen von dem, was hier angesprochen wurde, bietet ONLamp unter &lt;a href="http://www.onlamp.com/pub/a/onlamp/2001/03/22/tty.html" target="_blank"&gt;TTYs and X Window: Unix Now and Then&lt;/a&gt;.&lt;/p&gt;&lt;h4&gt;Weitere URLs&lt;/h4&gt;&lt;p&gt;Text-Terminal-HOWTO: Terminal Special Files such as /dev/tty
&lt;a title="http://tldp.org/HOWTO/Text-Terminal-HOWTO-7.html" href="http://tldp.org/HOWTO/Text-Terminal-HOWTO-7.html"&gt;http://tldp.org/HOWTO/Text-Terminal-HOWTO-7.html&lt;/a&gt;&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1288827534432621249-7416062662469537388?l=ausdemhamsterrad.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://ausdemhamsterrad.blogspot.com/feeds/7416062662469537388/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1288827534432621249&amp;postID=7416062662469537388" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1288827534432621249/posts/default/7416062662469537388?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1288827534432621249/posts/default/7416062662469537388?v=2" /><link rel="alternate" type="text/html" href="http://ausdemhamsterrad.blogspot.com/2008/08/terminals-unter-linux-tty-pty-pts-und.html" title="Terminals unter Linux: tty, pty, pts und Co" /><author><name>Sebastian Kayser</name><uri>http://www.blogger.com/profile/15220047733965249390</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://4.bp.blogspot.com/__LGP5_i8C_g/SNFe-iY6bAI/AAAAAAAAHmM/xY-kk1c9fCk/S220/sebastian.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/skayser.de/SJdqFhpR1BI/AAAAAAAAHkQ/ebWgjGrWDHs/s72-c/terminal-bash%5B7%5D.jpg" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;A0cMQn07fSp7ImA9WxdUGU8.&quot;"><id>tag:blogger.com,1999:blog-1288827534432621249.post-6924870221161005579</id><published>2008-07-31T22:30:00.004+02:00</published><updated>2008-08-05T11:38:03.305+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-08-05T11:38:03.305+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="usability" /><title>Maus ade: Firefox - Teil 2</title><content type="html">&lt;p&gt;Erst verk&amp;#252;nde ich noch gro&amp;#223;laut, dass mir &lt;a href="/2008/07/maus-ade-firefox.html" target="_blank"&gt;vimperator zu viel Umgew&amp;#246;hnung sei&lt;/a&gt; und kurze Zeit sp&amp;#228;ter bin ich in dessen Bann gefangen.&lt;/p&gt;  &lt;p&gt;Denn mit vimperator kann ich in ohne zur Maus zu greifen, Links &amp;#246;ffnen und Formularfelder ansteuern (und zwar ruck-zuck) - &amp;#228;hnlich wie &lt;a href="http://www.rudolf-noe.de/index.php?/content/view/14/26/" target="_blank"&gt;Mouseless Browsing&lt;/a&gt; oder &lt;a href="http://hah.mozdev.org/" target="_blank"&gt;Hit-a-Hint&lt;/a&gt;. Dar&amp;#252;berhinaus k&amp;#246;nnen Suchmaschinen gef&amp;#252;ttert und Bookmarks verwaltet werden. Oder wie w&amp;#228;rs mit Textauswahl zum Copy &amp;amp; Paste ohne Maus? Geht alles ratz-fatz von der Hand und spart Zeit, da der Griff zur Maus entfällt.&lt;/p&gt;  &lt;p&gt;Es funktioniert ohne Macken und ist voll kompatibel mit FF3. Damit hat es Mouseless Browsing (muckt) und Hit-a-Hint (derzeit nicht FF3-kompatibel) also was Vorraus.&lt;/p&gt;  &lt;p&gt;Zugegeben gibts eine Eingew&amp;#246;hnungsphase, aber alleine die Funktionsweise zum Links &amp;#214;ffnen, der sogenannte Hints-Modus, macht die Eingew&amp;#246;hnung m.E. vollkommen wett. Ich vermisse so eine effiziente Art der Tastatur-only-Bedienung jetzt schon bei anderen Anwendungen (und nein, ALT + Men&amp;#252;k&amp;#252;rzel + Men&amp;#252;itemk&amp;#252;rzel find ich nicht effizient).&lt;/p&gt;  &lt;h4&gt;Der Hints-Modus&lt;/h4&gt;  &lt;p&gt;Hier erstmal ein Screenshot, damit r&amp;#252;berkommt, wie das Ganze denn so aussieht:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/skayser.de/SJIgdjNbN1I/AAAAAAAAHkI/qEyAPCZHuxs/vimperator%5B4%5D.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="429" alt="vimperator" src="http://lh6.ggpht.com/skayser.de/SJIg0d1GwrI/AAAAAAAAHkM/FjDLkQIKTlY/vimperator_thumb%5B2%5D.jpg" width="584" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;All die kleinen, roten Zahlenboxen und die gelbe Hinterleung werden von vimperator auf Anfrage (Taste &lt;strong&gt;f&lt;/strong&gt;) eingeblendet (st&amp;#246;ren also nicht dauerhaft die Optik). Will ich nun einen gekennzeichneten Link &amp;#246;ffnen, gibt es zwei Wege: 1) Die Nummer aus der roten Box eingeben. 2) Einen Suchtext eingeben. Sobald dieser Text f&amp;#252;r einen der Links eindeutig ist, wird der ge&amp;#246;ffnet. Im obigen Beispiel k&amp;#246;nnte man also f&amp;#252;r den Google-Artikel entweder &amp;quot;privatsph&amp;#228;re&amp;quot; oder aber die Nummer 83 eingeben.&lt;/p&gt;  &lt;p&gt;Beides Mal wird der Link im aktuellen Tab ge&amp;#246;ffnet. will man den Link in einem neuen Tab &amp;#246;ffnen, verwendet man zum Aktivieren des Hints-Modus anstatt dem &lt;strong&gt;f&lt;/strong&gt; ein &lt;strong&gt;Shift + f&lt;/strong&gt;.&lt;/p&gt;  &lt;h4&gt;Kickstart&lt;/h4&gt;  &lt;p&gt;Um die Eingew&amp;#246;hnungsphase etwas k&amp;#252;rzer zu gestalten, hier ein paar essentielle Tastenk&amp;#252;rzel / Kommandos.&lt;/p&gt;  &lt;table cellspacing="0" cellpadding="2" width="586" border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="108"&gt;f, F&lt;/td&gt;        &lt;td valign="top" width="476"&gt;Hints-Modus zum &amp;#214;ffnen von Links aktivieren (siehe oben)&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="108"&gt;gi&lt;/td&gt;        &lt;td valign="top" width="476"&gt;Fokus auf erstes Eingabe-Feld setzen&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="108"&gt;o URL&lt;/td&gt;        &lt;td valign="top" width="476"&gt;URL &amp;#246;ffnen, l&amp;#228;sst sich mit TAB anhand der History autovervollst&amp;#228;ndigen. Anstatt einer tats&amp;#228;chlichen URL kann auch ein Suchbegriff eingegeben werden, der dann auf google.com gesucht wird.&lt;/td&gt;     &lt;/tr&gt;     &lt;tr&gt;       &lt;td valign="top" width="108"&gt;t URL&lt;/td&gt;        &lt;td valign="top" width="476"&gt;Funktioniert wie o, öffnet die URL aber in einem neuen Fenster&lt;/td&gt;     &lt;/tr&gt; &lt;tr&gt;       &lt;td valign="top" width="108"&gt;:help&lt;/td&gt;        &lt;td valign="top" width="476"&gt;Die Hilfe aufrufen&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="108"&gt;y&lt;/td&gt;        &lt;td valign="top" width="476"&gt;Die URL der aktuellen Seite kopieren&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="108"&gt;&amp;#160;&lt;/td&gt;        &lt;td valign="top" width="476"&gt;&amp;#160;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Dar&amp;#252;berhinaus tut es gut, dass Bookmark-Handling zu verstehen. Ein Bookmark f&amp;#252;r die aktuelle Seite wird mit &lt;strong&gt;:bmark&lt;/strong&gt; angelegt und mit &lt;strong&gt;:bmarks! suchbegriff&lt;/strong&gt; kann man die Bookmarks zum &amp;#214;ffnen durchsuchen. TAB springt von einem Suchergebnis zum n&amp;#228;chsten, einmal Eingabetaste und der Link wird im aktuellen Tab ge&amp;#246;ffnet.&lt;/p&gt;  &lt;p&gt;F&amp;#252;r die Online-Bookmark-Haltung der Wahl, &lt;a href="http://delicious.com" target="_blank"&gt;delicious&lt;/a&gt;, h&amp;#228;lt das vimperator-Wiki &lt;a href="http://vimperator.cutup.org/index.php?title=Tips_and_Tricks" target="_blank"&gt;eine Anleitung&lt;/a&gt; bereit, die Front ist also auch abgedeckt.&lt;/p&gt;  &lt;h4&gt;Editor f&amp;#252;r Input-Felder&lt;/h4&gt;  &lt;p&gt;Zu guter letzt gibts noch die Sahnehaube oben drauf: vimperator erm&amp;#246;glicht es, Text-Feldern auf Webseiten mit einen externen Editor, z.B. VIM zu&amp;#160; bearbeiten. Auf meinem Windows-System setze ich dazu den Pfad zu meiner VIM-Installation mittels &lt;strong&gt;:set editor c:\programme\vim\vim70\gvim.exe&lt;/strong&gt; und sobald ich im Browser in einem Textfeld arbeite, katapultiert mich ein &lt;strong&gt;STRG + i&lt;/strong&gt; in eine VIM-Sitzung, in welcher der Text f&amp;#252;rs Textfeld zum Editieren bereit steht.&lt;/p&gt;  &lt;h4&gt;Hilfe, die Leisten fehlen!&lt;/h4&gt;  &lt;p&gt;vimperator schaltet per Default die Adress- und Toolbar-Leiste aus. Wem das zu irritierend ist oder wer Addons verwendet die dort beheimatet sind, der zaubert die Leisten mit &lt;strong&gt;:setguioptions+=mT&lt;/strong&gt; wieder hervor. Dann finden sich auch Besucher oder die Freundin noch mit dem nun ziemlich gepimpten Browser zurecht.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1288827534432621249-6924870221161005579?l=ausdemhamsterrad.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://ausdemhamsterrad.blogspot.com/feeds/6924870221161005579/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1288827534432621249&amp;postID=6924870221161005579" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1288827534432621249/posts/default/6924870221161005579?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1288827534432621249/posts/default/6924870221161005579?v=2" /><link rel="alternate" type="text/html" href="http://ausdemhamsterrad.blogspot.com/2008/07/maus-ade-firefox-teil-2.html" title="Maus ade: Firefox - Teil 2" /><author><name>Sebastian Kayser</name><uri>http://www.blogger.com/profile/15220047733965249390</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://4.bp.blogspot.com/__LGP5_i8C_g/SNFe-iY6bAI/AAAAAAAAHmM/xY-kk1c9fCk/S220/sebastian.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/skayser.de/SJIg0d1GwrI/AAAAAAAAHkM/FjDLkQIKTlY/s72-c/vimperator_thumb%5B2%5D.jpg" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CU8DRX0-fSp7ImA9WxdUFU8.&quot;"><id>tag:blogger.com,1999:blog-1288827534432621249.post-5379306386412629908</id><published>2008-07-31T19:04:00.001+02:00</published><updated>2008-07-31T19:04:34.355+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-07-31T19:04:34.355+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="usability" /><title>Maus ade: Firefox</title><content type="html">&lt;p&gt;Hab die letzten paar Tage direkt an meinem Notebook gearbeitet ... keine gute Idee. Unergonomische Sitzhaltung vorprogrammiert. Gr&amp;#252;&amp;#223;e von meinem steifen Hals.&lt;/p&gt;  &lt;p&gt;Ergo habe ich eben die lang nicht benutzte Docking-Station hervorgekramt, auf den Schreibtisch gestellt und das Notebook eingedockt. Eine Tastatur war schnell gefunden, eine Maus leider nicht. Ich fand mich also &amp;#246;fter zum Touchpad langen als mir lieb war und in Zeiten Shortcut-schwangerer Programme sollte das doch nicht n&amp;#246;tig sein, oder?!&lt;/p&gt;  &lt;p&gt;Nehmen wir Firefox: STRG + L bringt mich in die Adressleiste, STRG + K in die Suchleiste. Die Shortcuts zur Tab-Steuerung gehen vollautomatisch von der Hand und Pfeil oben / unten lassen mich &amp;#252;ber die Seiten huschen. Aber wie &amp;quot;klicke&amp;quot; ich auf Links? Oder springe in Formularfelder?!&lt;/p&gt;  &lt;h4&gt;Link-Klickerei via Keyboard&lt;/h4&gt;  &lt;p&gt;Lifehacker h&amp;#228;lt mit &lt;a href="http://lifehacker.com/software/feature/hack-attack-mouseless-firefox-139495.php" target="_blank"&gt;&amp;quot;Hack Attack: Mouse-less Firefox&amp;quot;&lt;/a&gt; - neben einer feinen Auswahl anderer Shortcuts - die Antwort auf die erste Frage bereit: Mit &lt;strong&gt;'&lt;/strong&gt; l&amp;#228;sst sich in einen speziellen Suchmodus springen, der nur Links durchsucht. Ist der gesuchte Link gefunden, wird er via STRG + ENTER in einem neuen Tab ge&amp;#246;ffnet. Von einem Suchtreffer zum n&amp;#228;chsten gehts mit STRG + G. Very nice!&lt;/p&gt;  &lt;p&gt;Was ich auch noch nicht kannte war &lt;strong&gt;/&lt;/strong&gt; f&amp;#252;r den normalen Suchmodus. VIM-J&amp;#252;nger m&amp;#252;ssen also nicht zwangsl&amp;#228;ufig zu STRG + F oder zum &lt;a href="http://vimperator.mozdev.org/" target="_blank"&gt;vimperator&lt;/a&gt; greifen.&lt;/p&gt;  &lt;p&gt;Die Suchfeatures nennen sich offiziell &amp;#252;brigens &lt;a href="http://kb.mozillazine.org/Accessibility_features_of_Firefox#Begin_finding_when_you_begin_typing" target="_blank"&gt;&amp;quot;Begin finding when you begin typing&amp;quot;&lt;/a&gt;.&lt;/p&gt;  &lt;h4&gt;Formularfelder&lt;/h4&gt;  &lt;p&gt;Problem 1 gel&amp;#246;st, kommen wir zu Frage 2: Wie springe ich zu Formularfeldern?&lt;/p&gt;  &lt;p&gt;Die Kommentare aus obigem Lifehacker-Artikel erw&amp;#228;hnen diesbzgl. &lt;a href="http://hah.mozdev.org/" target="_blank"&gt;Hit a Hint&lt;/a&gt;, &lt;a href="http://www.rudolf-noe.de/index.php?/content/view/14/26/" target="_blank"&gt;Mouseless Browsing&lt;/a&gt; und nat&amp;#252;rlich auch den &lt;a href="http://vimperator.mozdev.org/" target="_blank"&gt;vimperator&lt;/a&gt;. Uihh, die Qual der Wahl. Allen gemein: Man muss eine Extension installieren und hat verinnerlichte Bedienweisen damit nur auf den Systemen zur Verf&amp;#252;gung, auf denen die Extension auch tats&amp;#228;chlich installiert ist. &lt;/p&gt;  &lt;p&gt;Bei einfach gehaltenen Seiten, die ein Label vor jedem Formularfeld haben, gehts ohne Extension: Mittels &lt;strong&gt;/&lt;/strong&gt; Labelname suchen, TAB dr&amp;#252;cken, fertig. F&amp;#252;r alles andere muss dann doch eine Extension her.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Hit-a-Hint&lt;/strong&gt; ist leider noch nicht mit FF3 kompatibel und damit erstmal au&amp;#223;en vor. Nutzer beklagen zwar die sp&amp;#228;rliche Doku, sind aber sonst begeistert.      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Mouseless Browsing&lt;/strong&gt; blendet zu Links (Text &amp;amp; Bild), Formularen und Frames eindeutige IDs ein, die dann via Keypad oder Tastenkombination ge&amp;#246;ffnet werden k&amp;#246;nnen. Hatte ich vor ewigen Zeiten schonmal drauf und habs mir jetzt wieder installiert.       &lt;br /&gt;      &lt;br /&gt;Konfigurationsdialog per STRG + Shift + ALT + M ge&amp;#246;ffnet und ein paar Settings angepasst. Lasse mir die IDs nun nur bei Bedarf anzeigen (Tastenkombination STRG + ^ zum Aktivieren) und habe den Modifier f&amp;#252;r das &amp;#214;ffnen in einem neuen Tab auf STRG + ALT gesetzt, um mit ALT + ID ganz normal im aktuellen Tab zu bleiben und dabei die rechte Hand nicht &amp;#252;bers Keypad bewegen zu m&amp;#252;ssen (was ich aufm Notebook eh nicht hab).      &lt;br /&gt;      &lt;br /&gt;Seltsamerweise funktionieren die angezeigten IDs nicht mehr, wenn man einen Tab einmal wechselt und wieder zur&amp;#252;ckkommt. Weiterhin zerreists bei Seiten wie amazon.de das Layout, sobald die IDs eingeblendet werden.      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;vimperator&lt;/strong&gt; &amp;#252;berschreibt nahezu alle Firefox-Tastenkombination, blendet die Men&amp;#252;- sowie Toolbar aus und ist mir damit einfach zu krass. Ich will meinen Browser effizienter nutzen und nicht Stunden ins Umgew&amp;#246;hnen versenken.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Da greife ich dann doch lieber ein paar mal zum Touchpad. Immerhin ists dank &lt;strong&gt;'&lt;/strong&gt; schon deutlich weniger geworden.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1288827534432621249-5379306386412629908?l=ausdemhamsterrad.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://ausdemhamsterrad.blogspot.com/feeds/5379306386412629908/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1288827534432621249&amp;postID=5379306386412629908" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1288827534432621249/posts/default/5379306386412629908?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1288827534432621249/posts/default/5379306386412629908?v=2" /><link rel="alternate" type="text/html" href="http://ausdemhamsterrad.blogspot.com/2008/07/maus-ade-firefox.html" title="Maus ade: Firefox" /><author><name>Sebastian Kayser</name><uri>http://www.blogger.com/profile/15220047733965249390</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://4.bp.blogspot.com/__LGP5_i8C_g/SNFe-iY6bAI/AAAAAAAAHmM/xY-kk1c9fCk/S220/sebastian.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CkEHQHY6fip7ImA9WxdUE0k.&quot;"><id>tag:blogger.com,1999:blog-1288827534432621249.post-5737649534014245148</id><published>2008-07-29T16:10:00.001+02:00</published><updated>2008-07-29T16:10:31.816+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-07-29T16:10:31.816+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="protokolle" /><category scheme="http://www.blogger.com/atom/ns#" term="linux" /><title>Angestaubt oder aktuell?</title><content type="html">&lt;p&gt;Beim Arbeiten am &lt;a href="/2008/07/point-to-point-protokoll-lpic-202-22051.html" target="_blank"&gt;PPP-Artikel&lt;/a&gt; hatte ich ambivalente Gef&amp;#252;hle. Zum einen macht es absolut Spa&amp;#223;, wenn bei einer Thematik endlich mal der Groschen f&amp;#228;llt. Andererseits muss man sich fragen, ob man das Gelernte zuk&amp;#252;nftig &amp;#252;berhaupt brauchen kann.&lt;/p&gt;  &lt;p&gt;Bei PPP an sich bin ich mir da, abseits von der Notwendigkeit f&amp;#252;r die LPIC-2-Pr&amp;#252;fung, nicht sicher. Time will show. Daf&amp;#252;r haben sich beim Lernen zwei wertvolle, PPP-unabh&amp;#228;ngige Erkenntnisse ergeben:&lt;/p&gt;  &lt;h4&gt;Erkenntnis 1: ttys &amp;#252;berall&lt;/h4&gt;  &lt;p&gt;Die serielle Schnittstelle ist in Linux omnipr&amp;#228;sent - egal ob tats&amp;#228;chlich was an seriellen RS-232-Ports&amp;#160; angeschlossen ist oder nicht. Das ist historisch bedingt und wenn man diese Historie versteht, wird einem schnell klar, wie vieles tickt und wo Begriffe wie tty, pty, pts &amp;amp; Co einzuordnen sind.&lt;/p&gt;  &lt;p&gt;Schonmal von einem Pseudo-Terminal geh&amp;#246;rt und nie so richtig verstanden, was das ist. Willkommen im Club, aber das ist jetzt anders. Ich schiebe dazu noch einen Artikel hinterher.&lt;/p&gt;  &lt;h4&gt;Erkenntnis 2: PPP, LCP, NCP. Was bitte?!&lt;/h4&gt;  &lt;p&gt;PPP hatte sich mir fr&amp;#252;her nie erschlossen. Sp&amp;#228;testens beim Studieren von LCP/NCP-Nachrichtendefinitionen und &lt;a href="http://www.linuxmanpages.com/man8/pppd.8.php" target="_blank"&gt;einer ellenlangen pppd manpage&lt;/a&gt; war Schluss. Wer soll das alles verstehen? &amp;#196;hnlich ging es mir &amp;#252;brigens auch bei einigen anderen Protokollen. In Frame-Format-Definitionen und Erkl&amp;#228;rung von diversen Feldern unterzugehen, ist ein Leichtes.&lt;/p&gt;  &lt;p&gt;Diesmal war die Herangehensweise eine ganz andere und siehe da, der Groschen ist gefallen: Anstatt direkt in die Protokoll-Erkl&amp;#228;rung einzusteigen, kam ich &amp;#252;ber historisch gewachsene Anforderungen (serielle Leitungen, SLIP, PPP) ans Protokoll. Also genauso, wie die Designer des Protokolls und siehe da ... es hat prompt Klick gemacht.&lt;/p&gt;  &lt;p&gt;H&amp;#246;rt sich erstmal komisch an, denn eigentlich f&amp;#228;ngt man doch immer mit: &amp;quot;Was leistet das Protokoll?&amp;quot; an und da geht es doch auch um Anforderungen. Aber habt ihr schonmal hinterfragt, was man da in aller Regel so liest und wie man selbst darauf reagiert?&lt;/p&gt;  &lt;p&gt;Zumindest mir ist da was Interessantes aufgefallen. Auch dazu demn&amp;#228;chst mehr.&lt;/p&gt;  &lt;h4&gt;Und nun?&lt;/h4&gt;  &lt;p&gt;Der aktuelle Wert von Wissen &amp;#252;ber PPP sei mal dahingestellt. Bringt Netzwerk-Technikern im Tagesgesch&amp;#228;ft sicherlich mehr, als Sysadmins. Daf&amp;#252;r gibts zwei Erkenntnisse, die sich im Kern ums Gleiche drehen: Aktuelle Technologien haben Wurzeln und diese Wurzeln zu verstehen, zahlt sich aus.&lt;/p&gt;  &lt;p&gt;Nicht umsonst fangen Vorlesungen zur Prozessortechnik oft mit dem 8086 an, bevor sie sich aufs Detail aktueller Prozessoren st&amp;#252;rzen. Erstmal die Grundlagen schaffen und diese dann ausbauen.&lt;/p&gt;  &lt;p&gt;Zugegeben: So manchen, in Sackgassen geendeten Technologien kann man sicherlich gnadenlos den Stempel &amp;quot;angestaubt&amp;quot; aufdr&amp;#252;cken und kann diesbez&amp;#252;gliches Wissen reuefrei aus seinem Ged&amp;#228;chtnis streichen bzw. erst gar nicht aufbauen. Abgesehen davon bin ich mit der Kategorisierung &amp;quot;angestaubt oder aktuell?&amp;quot; ab sofort vorsichtiger.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1288827534432621249-5737649534014245148?l=ausdemhamsterrad.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://ausdemhamsterrad.blogspot.com/feeds/5737649534014245148/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1288827534432621249&amp;postID=5737649534014245148" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1288827534432621249/posts/default/5737649534014245148?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1288827534432621249/posts/default/5737649534014245148?v=2" /><link rel="alternate" type="text/html" href="http://ausdemhamsterrad.blogspot.com/2008/07/angestaubt-oder-aktuell.html" title="Angestaubt oder aktuell?" /><author><name>Sebastian Kayser</name><uri>http://www.blogger.com/profile/15220047733965249390</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://4.bp.blogspot.com/__LGP5_i8C_g/SNFe-iY6bAI/AAAAAAAAHmM/xY-kk1c9fCk/S220/sebastian.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;D0YFQ34-fip7ImA9WxdUFkU.&quot;"><id>tag:blogger.com,1999:blog-1288827534432621249.post-4641650828302913264</id><published>2008-07-27T23:37:00.007+02:00</published><updated>2008-08-02T15:51:52.056+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-08-02T15:51:52.056+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="tools" /><category scheme="http://www.blogger.com/atom/ns#" term="linux" /><category scheme="http://www.blogger.com/atom/ns#" term="lpic-2" /><title>ifconfig versus ip</title><content type="html">&lt;p&gt;Weiter gehts in der Vorbereitung f&amp;#252;r LPIC-2 und schon wieder l&amp;#228;uft einem etwas &amp;#252;ber den Weg, um das man bisher erfolgreich einen Bogen gemacht hat: &lt;font face="Courier New"&gt;&lt;strong&gt;/bin/ip&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Warum sollte man das &amp;#252;berhaupt verwenden, wenn es doch mit /sbin/ifconfig und /sbin/route alte Bekannte gibt? H&amp;#246;rt man auf die Jungs vom &lt;a href="http://lartc.org/howto/index.html" target="_blank"&gt;Linux Advanced Routing &amp;amp; Traffic Control HOWTO&lt;/a&gt;, dann deswegen, weil das Netzwerksubsystem mit Kernel 2.2 komplett &amp;#252;berholt wurde und &lt;a href="http://lartc.org/howto/lartc.iproute2.html" target="_blank"&gt;ifconfig/route dessen volle Funktionalit&amp;#228;t nicht ausreizen kann&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Ausgefeilte Setups wie Source-basiertes Routing oder Traffic-Shaping fallen unter den Tisch ... f&amp;#252;r Otto-Normal-Verbraucher eher uninteressant.&lt;/p&gt;  &lt;p&gt;Also bleiben wir bei simplen Dingen: Schonmal versucht IP-Adressen in &lt;a href="http://www.tcpipguide.com/free/t_IPSupernettingClasslessInterDomainRoutingCIDRHiera-2.htm" target="_blank"&gt;CIDR-Notation&lt;/a&gt; mit ifconfig/route zu verwenden? W&amp;#228;hrend CIDR mit route einwandfrei funktioniert&lt;/p&gt;  &lt;pre&gt;&lt;code&gt;# route add -net 10.0.0.0/16 dev pppX&lt;code&gt;&lt;/pre&gt;  &lt;p&gt;findet ifconfig daran keinen Gefallen. L&amp;#228;sst sich sowohl auf einer Debian sarge Installation mit net-tools 1.60-10 als auch auf einem etch mit net-tools 1.60-17 nachvollziehen.&lt;/p&gt;  &lt;pre&gt;&lt;code&gt;# ifconfig eth0:1 192.168.10.100/24&lt;br /&gt;SIOCSIFNETMASK: Cannot assign requested address        &lt;br /&gt;# ifconfig eth0:1 192.168.10.100 netmask 255.255.255.0&lt;/code&gt;&lt;/pre&gt;  &lt;p&gt;Mit ip &amp;#252;berhaupt kein Problem. Ein Tool, ein einheitliches Verst&amp;#228;ndnis f&amp;#252;r Notationen.&lt;/p&gt;  &lt;pre&gt;&lt;code&gt;# ip route add 10.0.0.0/16 dev pppX        &lt;br /&gt;# ip addr add 192.168.10.100/24 dev eth0&lt;/code&gt;&lt;/pre&gt;  &lt;p&gt;Weiter im Programm. Ich will nicht den Eindruck erwecken, zum ip-J&amp;#252;nger verkommen zu sein, aber schaut euch einfach mal die Ausgabe der Routing-Tabelle von route an ...&lt;/p&gt;  &lt;pre&gt;&lt;code&gt;# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.110.0   0.0.0.0         255.255.255.0   U     0      0        0 eth0
0.0.0.0         192.168.110.2   0.0.0.0         UG    0      0        0 eth0
&lt;/code&gt;&lt;/pre&gt;  &lt;p&gt;F&amp;#228;llt euch was auf? Mir bisher nie. Warum zum Geier kommt die Netzmaske erst nach dem Gateway? Es interessiert doch erstmal der komplette Zieladressenbereich (d.h. Adresse UND Netzmaske) ... nicht erst die eingeschobene Gateway-Adresse. Seltsam.&lt;/p&gt;  &lt;p&gt;Die Ausgabe von &amp;quot;ip route list&amp;quot; ist - da wohl unbekannt - erstmal ungewohnt, aber in jeder Hinsicht logischer zu lesen.&lt;/p&gt;  &lt;pre&gt;&lt;code&gt;# ip route list
192.168.110.0/24 dev eth0  proto kernel  scope link  src 192.168.110.130
default via 192.168.110.2 dev eth0
&lt;/code&gt;&lt;/pre&gt;  &lt;p&gt;Runden wir die Vorstellung mit einem Unterschied ab, der sicherlich als Geschmackssache abgeheftet werden kann, der aber das sehr aufger&amp;#228;umtes Bedienkonzept von ip zeigt.&lt;/p&gt;  &lt;p&gt;ip trennt die Konfiguration / Darstellung von Layer 2 und Layer 3 Parametern. Kommandos die mit &amp;quot;ip link&amp;quot; anfangen k&amp;#252;mmern sich um Layer 2, &amp;quot;ip addr&amp;quot; hingegen um Layer 3. Bei ifconfig wird das nicht so differenziert verwendet, ein ifconfig erschl&amp;#228;gt einen hingegen regelrecht mit Layer-&amp;#252;bergreifenden Informationen, so dass nicht selten etwas wie&lt;/p&gt;  &lt;pre&gt;&lt;code&gt;# ifconfig | egrep "^[^ ]|inet addr"&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;herhalten muss, um die Informationsflut zu reduzieren. Ein &amp;quot;ip addr list&amp;quot; sieht anders aus. Probierts mal.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1288827534432621249-4641650828302913264?l=ausdemhamsterrad.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://ausdemhamsterrad.blogspot.com/feeds/4641650828302913264/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1288827534432621249&amp;postID=4641650828302913264" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1288827534432621249/posts/default/4641650828302913264?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1288827534432621249/posts/default/4641650828302913264?v=2" /><link rel="alternate" type="text/html" href="http://ausdemhamsterrad.blogspot.com/2008/07/ifconfig-versus-ip.html" title="ifconfig versus ip" /><author><name>Sebastian Kayser</name><uri>http://www.blogger.com/profile/15220047733965249390</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://4.bp.blogspot.com/__LGP5_i8C_g/SNFe-iY6bAI/AAAAAAAAHmM/xY-kk1c9fCk/S220/sebastian.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;D0YMRX04eCp7ImA9WxdUEEU.&quot;"><id>tag:blogger.com,1999:blog-1288827534432621249.post-6059975626188357630</id><published>2008-07-26T15:12:00.004+02:00</published><updated>2008-07-26T17:13:04.330+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-07-26T17:13:04.330+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="protokolle" /><category scheme="http://www.blogger.com/atom/ns#" term="more" /><category scheme="http://www.blogger.com/atom/ns#" term="lpic-2" /><title>Point-to-Point-Protokoll / LPIC-202 2.205.1</title><content type="html">&lt;p&gt;Schonmal mit PPP(oE) hantiert ohne HOWTOs und schnelles Copy &amp;amp; Paste zu Hilfe zu ziehen? Ich nicht, aber das sollte sich dank &lt;a href="http://www.lpi.org/eng/certification/the_lpic_program/lpic_2/exam_202_detailed_objectives" target="_blank"&gt;LPIC-202-Lernziel 2.205.1 &amp;quot;Basic Network Configuration&amp;quot;&lt;/a&gt; &amp;#228;ndern. Auszug:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Use and configuration of modems, ISDN interface cards and ethernet interfaces as dialup devices. &lt;/li&gt;    &lt;li&gt;Authentication protocols such as PAP and CHAP. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Modems? ISDN interface cards? Dialup? Auweia! &amp;#220;ber dem Ganzen schwebt implizit PPP(oE) und es h&amp;#246;rt sich erst mal leicht abschreckend an, denn wer hantiert heute noch gro&amp;#223; mit Modems oder ISDN-Karten zu Einwahlzwecken? &lt;/p&gt;  &lt;p&gt;Was jedoch nicht gleich ersichtlich ist, ist die Tatsache, dass es im Kern um ein Thema geht, welches auch deutlich abseits von Modems/ISDN-Karten von Relevanz ist: Zwei Systeme / Rechner tauschen &amp;#252;ber eine direkte Verbindung (Punkt-zu-Punkt-Verbindung) Daten aus und das ist garnicht mal so einfach, wie es sich anh&amp;#246;rt. &lt;/p&gt;  &lt;p&gt;Warum eigentlich? Warum brauche ich etwas anscheinend super-komplexes (man schaue sich nur mal ein &lt;a href="http://tldp.org/HOWTO/PPP-HOWTO/" target="_blank"&gt;Konfigurations-Howto zu pppd &amp;amp; Co&lt;/a&gt; an), um &amp;#252;ber eine Verbindung zu kommunizieren, die doch sowieso ein Punkt-zu-Punkt-Verbindung ist - ist da die Verbindung nicht schon so gut wie automatisch da?! K&amp;#246;nnen Daten nicht einfach &amp;#252;ber die Leitung geschoben werden, weil auf der anderen Seite lediglich ein Ansprechpartner steht? &lt;/p&gt;  &lt;p&gt;Anf&amp;#228;ngliche Verwirrung wie bei &lt;a href="http://www.mail-archive.com/ilugd@lists.linux-delhi.org/msg12405.html" target="_blank"&gt;diesem Leidensgenossen&lt;/a&gt; ist da fast vorprogrammiert. &lt;/p&gt; &lt;span class="fullpost"&gt;   &lt;h4&gt;&lt;a name="Begriffskl_rung"&gt;&lt;/a&gt;Begriffskl&amp;#228;rung &lt;/h4&gt;    &lt;p&gt;Kl&amp;#228;ren wir eingangs ein paar Begriffe. Unter einer Punkt-zu-Punkt-Verbindung versteht man eine direkte Verbindung zwischen zwei Systemenen. Sobald ein System &amp;#252;ber eine solche Verbindung also was von sich gibt, landet es beim gegen&amp;#252;berliegenden System. &lt;/p&gt;    &lt;p&gt;Eine Punkt-zu-Punkt-Verbindung kann so etwas einfaches wie eine direkte serielle Verbindung sein, oder eine &amp;#252;ber ISDN hergestellte ISDN-Verbindung zwischen zwei Systemen. &lt;/p&gt;    &lt;p&gt;Wenn eine Punkt-zu-Punkt-Verbindung vorliegt, dann hat das nicht automatisch was mit dem Point-to-Point-Protokoll (PPP) zu tun. Das kann eingesetzt werden, um diverse Funktionen zu erm&amp;#246;glichen, die im Weiteren erl&amp;#228;utert werden, muss aber nicht. Einleuchtend?! &lt;/p&gt;    &lt;h4&gt;&lt;a name="Zeichenorientierte_Verbindungen"&gt;&lt;/a&gt;Zeichenorientierte Verbindungen &lt;/h4&gt;    &lt;p&gt;Kehren wir zur&amp;#252;ck zu den Herausforderungen beim &amp;#220;bertragen von Daten &amp;#252;ber Punkt-zu-Punkt-Verbindungen und fangen simpel an. Bei zeichenorientierten Verbindungen wie z.B. einer einfachen seriellen Verbindung zu aktiven Komponenten oder Computersystemen geht es darum, Zeichen f&amp;#252;r Zeichen zu &amp;#252;bertragen (Tastenanschl&amp;#228;ge hin bzw. Konsolenausgaben zur&amp;#252;ck). &lt;/p&gt;    &lt;p&gt;Dazu reicht das &amp;quot;Verst&amp;#228;ndnis&amp;quot; der seriellen Hardware. Sie wei&amp;#223;, ein Zeichen (wir gehen von 8 Bit, d.h. 1 Byte pro Zeichen aus) beim Sender so einzupacken, dass dieses beim Empf&amp;#228;nger als solches erkannt wird - stimmige Konfiguration (Baudraute sowie 8N1 o.&amp;#228;.) auf beiden Seiten vorausgesetzt. Ein auf einer Seite ein-/ausgegebenes Zeichen kommt also als solches auf der anderen Seite an. &lt;/p&gt;    &lt;h4&gt;&lt;a name="F_r_Netzwerkprotokolle_verwendet"&gt;&lt;/a&gt;F&amp;#252;r Netzwerkprotokolle verwendete Verbindungen &lt;/h4&gt;    &lt;p&gt;Wenn man sich jedoch via Modem-/ISDN beim Provider einw&amp;#228;hlt und dann IP Pakete &amp;#252;ber die so hergestellte Verbindung jagen will, dann &amp;#228;ndern sich die Anforderungen. Anstatt einem Zeichen als Einheit/Nutzdaten soll nun ein IP Paket &amp;#252;bertragen werden und das gestaltet sich schon schwieriger, denn ein IP Paket hat im Gegensatz zu einem Zeichen keine fest definierte L&amp;#228;nge. &lt;/p&gt;    &lt;p&gt;W&amp;#252;rde das IP Paket lediglich Byte f&amp;#252;r Byte (Funktionsweise wie bei den zeichenorientierten Verbindungen) &amp;#252;bertragen werden, kann der Empf&amp;#228;nger nicht wissen, wann Ende der &amp;#220;bertragungseinheit IP Paket ist, wann also ein komplettes IP Paket empfangen wurde und weiterverarbeitet werden kann. &lt;/p&gt;    &lt;p&gt;Der Empf&amp;#228;nger k&amp;#246;nnte sich zwar mit der L&amp;#228;ngenangabe im IP Header weiterhelfen, deren Position relativ zum Beginn eines IP-Pakets bekannt ist. Wehe aber, es treten &amp;#220;bertragungsfehler auf und die L&amp;#228;ngenangabe wird verf&amp;#228;lscht &amp;#252;bertragen. Ein Empf&amp;#228;nger der nicht mehr wei&amp;#223;, bis wohin ein IP Paket geht und wann das n&amp;#228;chste anf&amp;#228;ngt, ist vorprogrammiert. &lt;/p&gt;    &lt;h4&gt;&lt;a name="Framing_Einkapseln"&gt;&lt;/a&gt;Framing / Einkapseln &lt;/h4&gt;    &lt;p&gt;Was also her muss, ist eine eindeutige Signalisierung f&amp;#252;r den Start und das Ende von &amp;#252;bertragenen Nutzdaten, ein sog. Framing. Dabei werden die Nutzdaten zum Versenden mit Zusatzinformationen versehen, die es dem Empf&amp;#228;nger erm&amp;#246;glichen, vollst&amp;#228;ndige &amp;#220;bertragungseinheiten (z.B. ein IP Paket) im Datenstrom zu identifizieren und zu verarbeiten. &lt;/p&gt;    &lt;p&gt;Das in einer solchen Weise &amp;#252;ber eine Verbindung &amp;#252;bertragene Gesamtkonstrukt (Nutzdaten + Zusatzinfos) wird Frame genannt. &lt;/p&gt;    &lt;p&gt;Ethernet - was OSI-technisch auf der gleichen Ebene wie PPP spielt - geht das ganze pragmatisch an. Ein Frame wird durch eine spezielle Sequenz eingeleitet, d.h. der Empf&amp;#228;nger wei&amp;#223;, wann eine &amp;#220;bertragung beginnt. Weiterhin ist vorgeschrieben, dass zwischen zwei &amp;#220;bertragungen eine Pause von mindestens 9,6ms liegen muss (der sog. Interframe Gap). Sobald also kein Signal mehr anliegt, ist Frame-Ende angesagt. &lt;/p&gt;    &lt;p&gt;Dass ein Ethernet Frame den Nutzdaten noch weitere Informationen zur Seite stellt (MAC-Adressen, etc.) und somit weitere Funktionen erm&amp;#246;glicht sollte klar sein und hier nicht f&amp;#252;r Verwirrung sorgen. Erstmal gehts nur um die M&amp;#246;glichkeit, ganze &amp;#220;bertragungseinheiten (IP Pakete oder Pakete anderer Netzwerkprotokolle) f&amp;#252;r den Empf&amp;#228;nger eindeutig zu kennzeichnen. &lt;/p&gt;    &lt;h4&gt;&lt;a name="Serial_Line_IP"&gt;&lt;/a&gt;Serial Line IP &lt;/h4&gt;    &lt;p&gt;Kommen wir wieder zur Punkt-zu-Punkt Verbindungen, bei der auch PPP angesiedelt ist. &lt;a href="http://tools.ietf.org/html/rfc1055" target="_blank"&gt;Serial Line IP (SLIP)&lt;/a&gt;, der Vorl&amp;#228;ufer von PPP, adressiert genau die eben beschriebene Aufgabenstellung - Nutzdateneinheiten bei der &amp;#220;bertragung &amp;#252;ber eine Punkt-zu-Punkt-Verbindung als solche kenntlich zu machen. &lt;/p&gt;    &lt;p&gt;SLIP schiebt die Nutzdaten (ein IP Paket) &amp;#252;ber die Leitung und schickt einen spezielles Byte zum Signalisieren des Endes hinterher - &amp;#228;hnlich dem &lt;a href="http://en.wikipedia.org/wiki/Voice_procedure" target="_blank"&gt;&amp;quot;Over&amp;quot; beim Funken&lt;/a&gt;. Der Empf&amp;#228;nger wei&amp;#223; also, dass ein komplettes IP Paket &amp;#252;bertragen wurde und kann dieses weiterverarbeiten. &lt;/p&gt;    &lt;p&gt;SLIP arbeitet demnach als Schicht unter IP, auf Ebene 2 des OSI-Modells. Wenn ein IP Paket &amp;#252;ber eine von SLIP verwaltete Punkt-zu-Punkt-Verbindung geschickt werden soll, sorgt die SLIP-Implementierung im Netzwerkstack f&amp;#252;r das oben beschriebene Verhalten: IP Paket &amp;#252;ber die Leitung jagen und das END-Byte hinterherschicken. &lt;/p&gt;    &lt;p&gt;Auf der anderen Seite gilt der umgekehrte Weg: Die SLIP-Implementierung liest die eingehenden Daten, erkennt &lt;img style="border-right: 0px; border-top: 0px; margin: 10px 0px 20px 20px; border-left: 0px; border-bottom: 0px" height="75" alt="slip-simple" src="http://lh6.ggpht.com/skayser.de/SIs-_gUce8I/AAAAAAAAHjY/_rnfouNwVeY/slip-simple_thumb%5B19%5D.jpg" width="244" align="right" border="0" /&gt;die vollendete &amp;#220;bertragung des IP Pakets anhand des Stop-Bytes und reicht die gelesenen Daten ans IP-Subsystem im Netzwerkstack zur Verarbeitung weiter. &lt;/p&gt;    &lt;p&gt;Sehr simpel, aber zur Zeit der Einf&amp;#252;hrung &lt;a href="http://sunsite.nus.sg/pub/slip-ppp/whatis.html" target="_blank"&gt;eine riesige Neuerung&lt;/a&gt;. &amp;#220;ber eine Einw&amp;#228;hlverbindungen konnte man sich bis dato lediglich zeichenorientiert auf dem System am anderen Ende der Punkt-zu-Punkt-Verbindung einloggen. Mit SLIP war pl&amp;#246;tzlich die direkte IP-technische Anbindung ans Internet m&amp;#246;glich. &lt;/p&gt;    &lt;p&gt;Als improvisierte L&amp;#246;sung ins Leben gerufen, hatte SLIP jedoch einige Defizite, was auch den Urhebern klar war. SLIP ist unmissverst&amp;#228;ndlich als NONSTANDARD gekennzeichnet und der RFC enth&amp;#228;lt einige Verbesserungsvorschl&amp;#228;ge. &lt;/p&gt;    &lt;h4&gt;&lt;a name="bertragungsfehler_und_Gegenma_na"&gt;&lt;/a&gt;&lt;a name="_bertragungsfehler_und_Gegenma_n"&gt;&lt;/a&gt;&amp;#220;bertragungsfehler und Gegenma&amp;#223;nahmen &lt;/h4&gt;    &lt;p&gt;So gibt es z.B. keine einleitende Signalisierung f&amp;#252;r die &amp;#220;bertragung eines IP-Pakets. Wenn vor dem Beginn eines Pakets St&amp;#246;rsignale auf der Leitung liegen, werden diese als Bestandteil des IP Pakets interpretiert. &lt;/p&gt;    &lt;p&gt;Dar&amp;#252;berhinaus sch&amp;#252;tzt SLIP nicht vor &amp;#220;bertragungsfehlern, da keine Pr&amp;#252;fung der Nutzdaten nach erfolgter &amp;#220;bertragung stattfindet. Bei &lt;a href="http://articles.techrepublic.com.com/5100-10878_11-1040759.html" target="_blank"&gt;Ethernet&lt;/a&gt; kennt man sowas als CRC-basierte Frame-Check-Sequence (FCS): Auf Basis der im Frame enthaltenen Daten wird eine Pr&amp;#252;fsumme berechnet, die als Bestandteil des Frames mit &amp;#252;bertragen wird und anhand der Fehler bei der &amp;#220;bertragung festgestellt werden k&amp;#246;nnen. &lt;/p&gt;    &lt;p&gt;Protokolle ohne Pr&amp;#252;fsumme - wie SLIP - &amp;#252;berlassen solche Fehlerpr&amp;#252;fung h&amp;#246;her gelegenen Protokollen ... was schief gehen kann. Bei TCP ist eine Pr&amp;#252;fsumme vorgesehen, bei UDP auch, dort jedoch als optional. Bei SLIP in Kombination mit nicht gepr&amp;#252;fsummten UDP gibts also keine Sicherheit, dass Daten ordnungsgem&amp;#228;&amp;#223; &amp;#252;bertragen werden. Kommunizierende Anwendungen k&amp;#246;nnen sich gegenseitig also unbewusst korrupte Daten f&amp;#252;ttern, wenn die Leitung st&amp;#246;rungsbehaftet ist. &lt;/p&gt;    &lt;h4&gt;&lt;a name="Point_to_Point_Protokoll"&gt;&lt;/a&gt;Point-to-Point-Protokoll &lt;/h4&gt;    &lt;p&gt;Um das rudiment&amp;#228;re SLIP abzul&amp;#246;sen, wurde das &lt;a href="http://www.ietf.org/rfc/rfc1331.txt" target="_blank"&gt;Point-to-Point-Protokoll (PPP, RFC1331)&lt;/a&gt; in die Welt gerufen. Neben dem Framing von IP-Paketen zur Erkennung von Start und Ende, bietet es deutlich mehr Optionen, unter anderem: &lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;Framing mehrerer Protokolle, nicht nur IP &lt;/li&gt;      &lt;li&gt;Aushandeln verbindungsspezifischer Optionen, wie z.B. erforderliche Authentifizierung der Gegenstellen &lt;/li&gt;      &lt;li&gt;Fehler-Pr&amp;#252;fung der &amp;#252;bertragenen Daten durch eine mit &amp;#252;bertragene Pr&amp;#252;fsumme &lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;Schauen wir uns zuerst das Framing an. PPP kennt ein spezielles Byte, das sog. Flag Byte. Dieses beginnt &lt;strong&gt;UND&lt;/strong&gt; endet einen PPP-Frame. Es ist dem Empf&amp;#228;nger also einwandfrei m&amp;#246;glich, die &amp;#252;bertragene Nutzdateneinheit (im Regelfall IP) aus dem kompletten Datenstrom heraus zu erkennen. &lt;/p&gt;    &lt;p&gt;Dabei kann PPP nicht nur IP Huckepack nehmen, sondern eine Vielzahl weiterer Protokolle. Jeder &amp;#252;bertragene PPP Frame enth&amp;#228;lt dazu ein Protokoll-Feld, welches der Gegenstelle signalisiert, was denn da genau &amp;#252;bertragen wurde. Protokolle werden dabei anhand einer von der IANA festgelegten Nummer identifiziert. Der Empf&amp;#228;nger wertet dieses Feld aus und entscheidet darauf, wie die Nutzdaten weiter zu behandeln sind. &amp;#196;hnliches kennt man vom Ethernet Type Feld. &lt;/p&gt;    &lt;h4&gt;&lt;a name="Link_Control_Protocol_Verbindung"&gt;&lt;/a&gt;Link Control Protocol / Verbindungsaufbau &lt;/h4&gt;    &lt;p&gt;Dieser Mechanismus wird nicht nur dazu genutzt, IP &amp;amp; Co zu transportieren, sondern auch f&amp;#252;r PPP eigene Subprotokolle, die zur Abstimmung der kommunizierenden Gegenstellen eingesetzt werden. Daten des PPP-Subprotokolls LCP (Link Control Protocol, Protokollnummer: c021) werden also nicht an den Netzwerkstack zum Weiterversand gereicht, sondern von der PPP-Implementierung des Empf&amp;#228;ngers ausgewertet. &lt;/p&gt;    &lt;p&gt;Genau genommen m&amp;#252;ssen solche LCP Nachrichten ausgetauscht werden, um den Nutzdaten-Austausch zwischen zwei PPP-Implementierungen erst zu erm&amp;#246;glichen. Die Gegenstellen einigen sich dabei zu Beginn einer PPP-Verbindung auf diverse Verbindungsparameter wie die maximal zu &amp;#252;bertragende Frame-Gr&amp;#246;&amp;#223;e, optionale Authentifizierung oder Header-Kompression. &lt;/p&gt;    &lt;p&gt;So werden die genauen Kommunikationsparameter zwischen den beiden PPP-Implementierungen festgesteckt, um in Folge sicher zu gehen, dass sich beide auch verstehen. &lt;/p&gt;    &lt;p&gt;Microsoft h&amp;#228;lt im Artikel &lt;a href="http://www.microsoft.com/technet/prodtechnol/windows2000serv/reskit/intwork/inbb_ras_mglf.mspx?mfr=true" target="_blank"&gt;&amp;quot;PPP Link Negotiation with LCP&amp;quot;&lt;/a&gt; Detailwissen zu LCP sowie einen beispielhaften LCP-Dialog bereit. Ebenso beschreiben Wolfgang Barth und Jens Banning in ihrem Buch &lt;a href="http://www.amazon.de/Netzwerkanalyse-unter-Linux-Grundlagen-Werkzeuge/dp/3935922647/" target="_blank"&gt;&amp;quot;Netzwerkanalyse unter Linux&amp;quot;&lt;/a&gt; PPP inkl. LCP sehr anschaulich und halten auch einen LCP-Mitschnitt bereit, der noch mehr ins Detail geht, als der von Microsoft. &lt;/p&gt;    &lt;h4&gt;&lt;a name="Sicher_ist_Sicher"&gt;&lt;/a&gt;Sicher ist Sicher &lt;/h4&gt;    &lt;p&gt;Bei LCP finden dann auch die eingangs in den LPIC-2 Lernzielen erw&amp;#228;hnten Protokolle &lt;a href="http://www.tcpipguide.com/free/t_PPPAuthenticationProtocolsPasswordAuthenticationPr.htm" target="_blank"&gt;PAP und CHAP&lt;/a&gt; ihr Pl&amp;#228;tzchen. Will eine der beiden Seiten eine Authentifizierung durchf&amp;#252;hren, so zeigt sie dies im LCP-Dialog an. Einigen sich beide Seiten auf die zu verwendenden Parameter, geht die Authentifizierung von statten.&lt;/p&gt;    &lt;p&gt;Bei dauerhaft direkt verbundenen Systemen ist das &amp;#252;berfl&amp;#252;ssig, da die Gegenstelle bekannt ist. Bei einem Zugang auf den prinzipiell jeder zugreifen kann (Einwahlnummer von Providern zum Beispiel), kann man PPP-Verbindungen somit auf einen ausgew&amp;#228;hlten Kreis einschr&amp;#228;nken.&lt;/p&gt;    &lt;p&gt;Werden &amp;#252;ber die aufgebaute PPP-Verbindung dann Daten &amp;#252;bertragen, sch&amp;#252;tzt PPP durch eine im Frame enthaltene Pr&amp;#252;fsumme vor &amp;#220;bertragungsfehlern. Der Empf&amp;#228;nger kann mittels dieser Pr&amp;#252;fsumme feststellen, ob Daten w&amp;#228;hrend der &amp;#220;bertragung verf&amp;#228;lscht wurden und kann so einen besch&amp;#228;digten Frame identifizieren und entsorgen. &lt;/p&gt;    &lt;h4&gt;&lt;a name="Fazit"&gt;&lt;/a&gt;Fazit &lt;/h4&gt;    &lt;p&gt;Letztendlich geht es bei PPP also darum einen verl&amp;#228;sslichen &amp;#220;bertragungskanal f&amp;#252;r Netzwerk-Protokolle (IP, IPX, ...) zwischen zwei direkt verbundenen Systemen zu schaffen. PPP-Implementierungen erm&amp;#246;glichen genau das. Sie &amp;#252;bernehmen die Kommunikation &amp;#252;ber eine Punkt-zu-Punkt-Verbindung und sorgen daf&amp;#252;r, dass Pakete sicher am anderen Ende landen und dort als solche erkannt werden. &lt;/p&gt;    &lt;p&gt;Wie genau das von statten geht, ist dann f&amp;#252;r Systeme die via IP o.&amp;#228;. &amp;#252;ber eine solche Verbindung kommunizieren &amp;#252;brigens irrelevant. Sie nutzen das von der PPP-Implementierung (z.B. pppd unter Linux) bereitgestellte Interface (pppX oder ipppx) wie jedes andere Interface auch. &lt;/p&gt; &lt;/span&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1288827534432621249-6059975626188357630?l=ausdemhamsterrad.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://ausdemhamsterrad.blogspot.com/feeds/6059975626188357630/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1288827534432621249&amp;postID=6059975626188357630" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1288827534432621249/posts/default/6059975626188357630?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1288827534432621249/posts/default/6059975626188357630?v=2" /><link rel="alternate" type="text/html" href="http://ausdemhamsterrad.blogspot.com/2008/07/point-to-point-protokoll-lpic-202-22051.html" title="Point-to-Point-Protokoll / LPIC-202 2.205.1" /><author><name>Sebastian Kayser</name><uri>http://www.blogger.com/profile/15220047733965249390</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://4.bp.blogspot.com/__LGP5_i8C_g/SNFe-iY6bAI/AAAAAAAAHmM/xY-kk1c9fCk/S220/sebastian.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/skayser.de/SIs-_gUce8I/AAAAAAAAHjY/_rnfouNwVeY/s72-c/slip-simple_thumb%5B19%5D.jpg" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CkEMRXk_eSp7ImA9WxdUEk0.&quot;"><id>tag:blogger.com,1999:blog-1288827534432621249.post-4275254127751988236</id><published>2008-07-11T11:01:00.009+02:00</published><updated>2008-07-28T01:18:04.741+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-07-28T01:18:04.741+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="pkm" /><title>Worum gehts hier?</title><content type="html">&lt;blockquote&gt;&lt;span style="font-style: italic;"&gt;"We live in a sea of data. Our challenge is knowledge and its management."&lt;/span&gt;&lt;/blockquote&gt;Dieses Blog dient primär als mein externer Gedankenspeicher und ersetzt somit in der Gegend verstreute Notizzettel. Notizzettel auf denen Erlerntes und Ideen stehen, die aber meist irgendwo untergehen und nicht wieder genutzt werden.

Vergeudet also ... und so findet man sich oft in einer Situation wieder in der man denkt: Das hab ich doch schonmal gemacht, wie war das doch gleich?

Ganz im Sinne von &lt;a href="http://www.anderson.ucla.edu/faculty/jason.frand/researcher/speeches/PKM.htm"&gt;Personal Knowledge Management&lt;/a&gt; bzw. &lt;a href="http://de.wikipedia.org/wiki/Pers%C3%B6nliches_Wissensmanagement"&gt;Persönlichem Wissensmanagement&lt;/a&gt; nutze ich dieses Blog also zum Ausformulieren meiner im Kopf schwirrenden Ideen / Erfahrungen.

&lt;p&gt;Das hilft mir dabei, meine Ansichten während des Schreibens zu überdenken, Wissen zu erweitern und wiederauffindbar abzulegen. Wenn es zeitgleich anderen hilft, Fragen zu klären oder Neues kennenzulernen, umso besser.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1288827534432621249-4275254127751988236?l=ausdemhamsterrad.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://ausdemhamsterrad.blogspot.com/feeds/4275254127751988236/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1288827534432621249&amp;postID=4275254127751988236" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1288827534432621249/posts/default/4275254127751988236?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1288827534432621249/posts/default/4275254127751988236?v=2" /><link rel="alternate" type="text/html" href="http://ausdemhamsterrad.blogspot.com/2008/07/worum-gehts-hier.html" title="Worum gehts hier?" /><author><name>Sebastian Kayser</name><uri>http://www.blogger.com/profile/15220047733965249390</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="25" height="32" src="http://4.bp.blogspot.com/__LGP5_i8C_g/SNFe-iY6bAI/AAAAAAAAHmM/xY-kk1c9fCk/S220/sebastian.jpg" /></author><thr:total>0</thr:total></entry></feed>

