<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Jaqe&#039;s Blog &#187; Linux</title>
	<atom:link href="http://www.jaqe.de/tag/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jaqe.de</link>
	<description>Linux - Webentwicklung - PHP - MySQL - C# - Dies und Das</description>
	<lastBuildDate>Thu, 24 Mar 2011 22:19:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Mit tar übers Netzwerk kopieren</title>
		<link>http://www.jaqe.de/2010/12/26/67/</link>
		<comments>http://www.jaqe.de/2010/12/26/67/#comments</comments>
		<pubDate>Sun, 26 Dec 2010 15:43:20 +0000</pubDate>
		<dc:creator>Jaqe</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[netzwerk]]></category>
		<category><![CDATA[tar]]></category>

		<guid isPermaLink="false">http://www.jaqe.de/?p=67</guid>
		<description><![CDATA[Ab und zu möchte man doch mal etwas von einem Linux-Server auf einen anderen kopieren, z.B. beim Umzug einer oder mehrerer Domains von einem auf den anderen Server. Vorausgesetzt man hat auf beiden Linux-Servern Shellzugang, so kann man folgende Kommandoverkettung nutzen, um per tar + ssh über das Netzwerk die Dateien und Ordner inklusive Datendurchsatzanzeige [...]]]></description>
			<content:encoded><![CDATA[<p>Ab und zu möchte man doch mal etwas von einem Linux-Server auf einen anderen kopieren, z.B. beim Umzug einer oder mehrerer Domains von einem auf den anderen Server. Vorausgesetzt man hat auf beiden Linux-Servern Shellzugang, so kann man folgende Kommandoverkettung nutzen, um per tar + ssh über das Netzwerk die Dateien und Ordner inklusive Datendurchsatzanzeige und Datenpufferung zu kopieren:</p>
<blockquote><p>
cd /hier/liegt/das/alte/zeug<br />
tar cpf &#8211; * | mbuffer -m 200M | ssh <username>@<neuerserver> tar xpf &#8211; -C /hier/soll/das/alles/hin
</p>
</blockquote>
<p>Nutzt man &#8220;mbuffer&#8221;, so sieht man sowohl den aktuellen Pufferfüllstand, als auch die aktuelle Übertragungsgeschwindigkeit im Netzwerk. Per &#8220;-m 200M&#8221; wird der Puffer auf dem aktuellen System auf 200 Megabyte gesetzt. Je größer der Puffer, desto mehr RAM muss die aktuelle Maschine haben. </p>
<p>Die Ausgabe sieht dann Beispielhaft wie folgt aus:</p>
<blockquote><p>
in @  286 MB/s, out @ 91.4 kB/s, 64.0 kB total, buffer 100% full<br />
[....]<br />
in @  0.0 kB/s, out @ 1304 kB/s, 3227 MB total, buffer   0% full<br />
summary: 3227 MByte in  6 min 34.3 sec &#8211; average of 8380 kB/s
</p>
</blockquote>
<p>Den &#8220;mbuffer&#8221; kann man natürlich auch weglassen, dann fehlen allerdings jegliche informelle Anzeigen:</p>
<blockquote><p>
cd /hier/liegt/das/alte/zeug<br />
tar cpf &#8211; * | ssh <username>@<neuerserver> tar xpf &#8211; -C /hier/soll/das/alles/hin
</p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.jaqe.de/2010/12/26/67/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>proftpd 1.3.1 und libtool 2.2 unter gentoo &#8211; compile fix</title>
		<link>http://www.jaqe.de/2008/09/16/proftpd-131-und-libtool-22-unter-gentoo-compile-fix/</link>
		<comments>http://www.jaqe.de/2008/09/16/proftpd-131-und-libtool-22-unter-gentoo-compile-fix/#comments</comments>
		<pubDate>Tue, 16 Sep 2008 09:54:59 +0000</pubDate>
		<dc:creator>Jaqe</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[gentoo]]></category>

		<guid isPermaLink="false">http://www.jaqe.de/?p=41</guid>
		<description><![CDATA[Derzeit gibt es leider einen hartn&#228;ckigen Compilefehler mit libtool-2.2 und proftpd-1.3.1 unter Gentoo. Die L&#246;sung ist schon vorhanden, aber derzeit leider noch (immer) nicht in portage. In dem entsprechenden BUG-Report befindet sich die L&#246;sung als ebuild (attachment). Sofern noch nicht vorhanden, legt euch z.B. unter /usr/local/portage ein neues portage overlay an und tragt dies in [...]]]></description>
			<content:encoded><![CDATA[<p>Derzeit gibt es leider einen hartn&auml;ckigen Compilefehler mit libtool-2.2 und proftpd-1.3.1 unter Gentoo. Die L&ouml;sung ist schon vorhanden, aber derzeit leider noch (immer) nicht in portage.</p>
<p>In dem entsprechenden <a href="http://bugs.gentoo.org/show_bug.cgi?id=221275" target="_blank">BUG-Report</a> befindet sich die L&ouml;sung als ebuild (attachment). Sofern noch nicht vorhanden, legt euch z.B. unter <span style="font-family: Courier New;">/usr/local/portage</span> ein neues portage overlay an und tragt dies in <span style="font-family: Courier New;">/etc/make.conf</span> ein. Dann legt die Verzeichnisse <span style="font-family: Courier New;">net-ftp/proftpd</span> an (<span style="font-family: Courier New;">mkdir -p net-ftp/proftpd</span>) und kopiert das ebuild aus dem <a href="http://bugs.gentoo.org/show_bug.cgi?id=221275" target="_blank">BUG-Report</a> dorthin. Dann noch ein <span style="font-family: Courier New;">ebuild ./&lt;name des ebuild&gt; digest</span> und ihr k&ouml;nnt proftpd erfolgreich installieren.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jaqe.de/2008/09/16/proftpd-131-und-libtool-22-unter-gentoo-compile-fix/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sortieren mit sort unter Linux</title>
		<link>http://www.jaqe.de/2008/08/13/sortieren-mit-sort-unter-linux/</link>
		<comments>http://www.jaqe.de/2008/08/13/sortieren-mit-sort-unter-linux/#comments</comments>
		<pubDate>Wed, 13 Aug 2008 12:02:00 +0000</pubDate>
		<dc:creator>Jaqe</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.jaqe.de/?p=39</guid>
		<description><![CDATA[Ich hatte so eben das Problem, eine Liste mit zugespammten Email-Adressen zu sortieren. Ein cat emails.txt &#124; sort sortiert mir die Liste, allerdings nach dem Usernamen-Teil der Email-Adresse (also nach dem Teil vor dem @). Ich brauchte aber eine Sortierung nach dem Domainteil. Ein kurzes St&#246;bern in der man-page zu sort brachte dann auch die [...]]]></description>
			<content:encoded><![CDATA[<p>Ich hatte so eben das Problem, eine Liste mit zugespammten Email-Adressen zu sortieren. Ein <span style="font-family: Courier New;">cat emails.txt | sort</span> sortiert mir die Liste, allerdings nach dem Usernamen-Teil der Email-Adresse (also nach dem Teil vor dem @).</p>
<p>Ich brauchte aber eine Sortierung nach dem Domainteil. Ein kurzes St&ouml;bern in der man-page zu <span style="font-family: Courier New;">sort</span> brachte dann auch die L&ouml;sung:</p>
<p><span style="font-family: Courier New;">cat emails.txt | sort -t &#8216;@&#8217; -k +2</span></p>
<p><span style="font-family: Courier New;">sort</span> soll das Zeichen @ als Trenner nehmen und dann nach dem Feld 2 sortieren. Und schon hab ich meine Liste von Email-Adressen nach deren Domain sortiert und kann diese Liste nun z.b. in Openoffice Calc weiterverarbeiten.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jaqe.de/2008/08/13/sortieren-mit-sort-unter-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ein paar Linux-Tricks und ein Tip für Windows</title>
		<link>http://www.jaqe.de/2008/06/12/ein-paar-linux-tricks-und-ein-tip-fur-windows/</link>
		<comments>http://www.jaqe.de/2008/06/12/ein-paar-linux-tricks-und-ein-tip-fur-windows/#comments</comments>
		<pubDate>Wed, 11 Jun 2008 22:38:39 +0000</pubDate>
		<dc:creator>Jaqe</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[tips&tricks]]></category>

		<guid isPermaLink="false">http://www.jaqe.de/2008/06/12/ein-paar-linux-tricks-und-ein-tip-fur-windows/</guid>
		<description><![CDATA[&#160;Ich habe lange nichts geschrieben, doch nun gehts wieder voran! Diesmal gleich mit ein paar Tricks rund im Linux, die vielleicht nicht jeder kennt. Wie sehe ich, wer oder was auf die Festplatte schreibt? Schnell und einfach hilft es, per sysctl den Kernel anzuweisen, alle aktivit&#228;ten zu protokollieren. Je nach Auslastung des Servers kann das [...]]]></description>
			<content:encoded><![CDATA[<p>&nbsp;Ich habe lange nichts geschrieben, doch nun gehts wieder voran! Diesmal gleich mit ein paar Tricks rund im Linux, die vielleicht nicht jeder kennt.</p>
<p><b>Wie sehe ich, wer oder was auf die Festplatte schreibt?</b></p>
<p>Schnell und einfach hilft es, per sysctl den Kernel anzuweisen, alle aktivit&auml;ten zu protokollieren. Je nach Auslastung des Servers kann das nat&uuml;rlich innerhalb k&uuml;rzester Zeit die entsprechenden Logfiles zum&uuml;llen, also vorsicht!</p>
<p>Der n&ouml;tige Befehl lautet: <code>sysctl vm.block_dump=1</code></p>
<p>Das ganze kann dann z.B. so aussehen:</p>
<p><code>mysqld(9336): dirtied inode 17911863 (sessions.frm) on sdb1<br />
mysqld(9336): dirtied inode 17911864 (sessions.MYI) on sdb1<br />
mysqld(9336): dirtied inode 17911865 (sessions.MYD) on sdb1<br />
mysqld(9336): dirtied inode 17911872 (user.frm) on sdb1<br />
mysqld(9336): dirtied inode 17911873 (user.MYI) on sdb1<br />
mysqld(9336): dirtied inode 17911874 (user.MYD) on sdb1</code></p>
<p>Ein weiterer Freund hierbei ist <code>fuser</code>. Das Werkzeug kann unter anderem auch alle Prozesse beenden, welche z.B. das Dateisystem auf /home nutzen .. und es kann ebenfalls anzeigen, was im System passiert.</p>
<p><code>fuser -muv /dev/sdb1</code></p>
<p>Dieser Befehl zeigt mir an, was im Moment des Aufrufs auf der Platte sdb und Partition 1 passiert, z.B.:</p>
<p><code>/dev/sdb1:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mysql&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1141 F.c.. (mysql)mysqld<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nobody&nbsp;&nbsp;&nbsp;&nbsp; 6448 F...m (nobody)httpd<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nobody&nbsp;&nbsp;&nbsp;&nbsp; 8278 F...m (nobody)httpd<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nobody&nbsp;&nbsp;&nbsp;&nbsp; 8545 F...m (nobody)httpd<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; qscand&nbsp;&nbsp;&nbsp; 11449 F.c.. (qscand)perl5.8.8</code></p>
<p><b>Sortieren der Useflags bei Gentoo in der make.conf</b></p>
<p>Oft genug kommt es vor, das man hier oder da mal ein USE-Flag in der make.conf setzt und nat&uuml;rlich in keinster weise das neue Flag alphabetisch einsortiert. Das folgende kleine Script gibt alle benutzen USE-Flags aus der make.conf sortiert aus. Ein kurzes copy&amp;paste und schon herrscht wieder Ordnung:</p>
<p><code>cat /etc/make.conf | grep &quot;USE=&quot; | grep -v &quot;^#&quot; | awk '{ for (i = (NF -1); i &gt;= 2; i-- )&nbsp; print $i}' | sort | xargs echo</code></p>
<p>Dieser Tipp stammt aus dem <a href="http://forums.gentoo.org/viewtopic-t-407903.html">Gentoo-Forum</a>.</p>
<p><b>Woher bekomme ich noch mehr Tips und Tricks?</b></p>
<p>Das <a href="http://forums.gentoo.org/index.php">Forum von Gentoo</a> ist nicht nur f&uuml;r Nutzer dieser Distribution geeignet, es enth&auml;lt auch jede Menge Insiderwissen sowie Dokumentationen rund um den Kernel, Filesysteme und Software. Vorbeischaun lohnt sich!</p>
<p>&nbsp;</p>
<p><b>Und was ist mit Windows?</b></p>
<p>F&uuml;r die Windows-Fans hab ich hier noch eine Seite, welche recht zuverl&auml;ssig dabei hilft, eingesetzte Software auf dem aktuellen Stand zu halten. Auf <a href="http://www.filehippo.com/">filehippo.com</a> gibt es den <a href="http://www.filehippo.com/updatechecker/">Update Checker</a>, eine kleine .NET Anwendung, welche das System nach bekannter Software durchsucht und mit einer Versionsliste der filehippo.com Seite vergleicht. Nach der Durchsuchung werden die Ergebnisse im Browser angezeigt und bei Bedarf kann eine neue Version des einen oder anderen Programmes installiert werden. Neben den Downloadlinks wird u.a. auch die genaue Versionsnummer der Software angezeigt. Was mich betrifft, so habe ich bisher keine unerlaubten Aktivit&auml;ten des Tools festgestellt und es tut seine Dienste wie es soll. Ob man den Leuten von filehippo.com vertraut bleibt einem nat&uuml;rlich selbst &uuml;berlassen <img src='http://www.jaqe.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.jaqe.de/2008/06/12/ein-paar-linux-tricks-und-ein-tip-fur-windows/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>login incorrect</title>
		<link>http://www.jaqe.de/2008/03/22/login-incorrect/</link>
		<comments>http://www.jaqe.de/2008/03/22/login-incorrect/#comments</comments>
		<pubDate>Sat, 22 Mar 2008 20:09:11 +0000</pubDate>
		<dc:creator>Jaqe</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[ftp]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://www.jaqe.de/2008/03/22/login-incorrect/</guid>
		<description><![CDATA[&#8220;login incorrect. good bye.&#8221; .. das sagte mir mein Backup-FTP-Server, nachdem ich mein neues Backupscript auf einen anderen Server kopiert hatte. &#8220;Alles klar&#8221; dachte ich mir, hab ich mich beim copy&#38;pasten vom Passwort wohl &#8220;verpasted&#8221;. Also nochmal Buchstabe für Buchstabe abgeglichen, alles richtig. Username ist auch richtig. IP-Adresse ebenfalls .. seltsam. Zur sicherheit habe ich [...]]]></description>
			<content:encoded><![CDATA[<p>&#8220;login incorrect. good bye.&#8221; .. das sagte mir mein Backup-FTP-Server, nachdem ich mein neues Backupscript auf einen anderen Server kopiert hatte. &#8220;Alles klar&#8221; dachte ich mir, hab ich mich beim copy&amp;pasten vom Passwort wohl &#8220;verpasted&#8221;. Also nochmal Buchstabe für Buchstabe abgeglichen, alles richtig. Username ist auch richtig. IP-Adresse ebenfalls .. seltsam. Zur sicherheit habe ich nun nochmals per Hand verucht, eine FTP-Verbindung aufzubaun und siehe da, es ging. Vielleicht ein Bug mit ncftp auf diesem Server? Ich habe ncftpput also angewiesen, ein Logfile der FTP-Konversation zu schreiben, aber dort sah alles richtig aus. Langsam verstand ich echt nur noch Bahnhof.</p>
<p>Dann habe ich mir per tcpdump den kompletten TCP Datenverkehr zwischen meinem Server und dem FTP-Server mitschneiden lassen, das Datenfile dann auf meinen Arbeitsrechner kopiert und per <a href="http://www.wireshark.org/" target="_blank">Wireshark</a> geöffnet. <a href="http://www.wireshark.org/" target="_blank">Wireshark</a> kann neben vielen, vielen Dingen auch gezielt TCP-Verbindungen aus einer vielzahl von Verbindung ausfiltern und die enthaltenen Daten anzeigen. Ein kurzer Blick zeigte: die FTP-Verbindung läuft genauso ab wie sie sollte, trotzdem antwortete der Server mit &#8220;login incorrect&#8221;.</p>
<p>Doch die Lösung des Rätsels war nur Sekunden entfernt: die Anzeige der Konversation in richtung FTP-Server zeigte, dass sich hinter dem Passswort ein Leerzeichen eingeschlichen hatte, was natürlich das Passwort ungültig machte. Minutenlanges rätseln und dann so eine einfache Lösung, mit einem Overkill an Aufwand herausgefunden.</p>
<p>Fazit: Hätte ich einfach mal geprüft, ob hinter dem Passwort ein Leerzeichen steht, so hätte ich mir die ganze Arbeit ersparen können! Manchmal sind es eben die kleinen Dinge, die einen verrückt machen <img src='http://www.jaqe.de/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.jaqe.de/2008/03/22/login-incorrect/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Wer hat noch nicht, wer Spamt noch mal?</title>
		<link>http://www.jaqe.de/2008/01/30/wer-hat-noch-nicht-wer-spamt-noch-mal/</link>
		<comments>http://www.jaqe.de/2008/01/30/wer-hat-noch-nicht-wer-spamt-noch-mal/#comments</comments>
		<pubDate>Wed, 30 Jan 2008 22:52:51 +0000</pubDate>
		<dc:creator>Jaqe</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mail]]></category>
		<category><![CDATA[Qmail]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[Spam]]></category>

		<guid isPermaLink="false">http://www.jaqe.de/2008/01/30/wer-hat-noch-nicht-wer-spamt-noch-mal/</guid>
		<description><![CDATA[Wer kennt das nicht: 100 Mails abgeholt, 99 davon sortiert der Mailclient (z.B. Thunderbird) direkt als Spam aus, die letzte verbliebene Mail ist tatsächlich kein Spam. Der Kampf gegen den Spam ist ein Wettrennen, das von den &#8220;guten&#8221; nicht gewonnen werden kann. Ich renne trotzdem mit und habe neben Spamassassin nun noch ein eigenes kleines [...]]]></description>
			<content:encoded><![CDATA[<p>Wer kennt das nicht: 100 Mails abgeholt, 99 davon sortiert der Mailclient (z.B. Thunderbird) direkt als Spam aus, die letzte verbliebene Mail ist tatsächlich kein Spam. Der Kampf gegen den Spam ist ein Wettrennen, das von den &#8220;guten&#8221; nicht gewonnen werden kann. Ich renne trotzdem mit und habe neben Spamassassin nun noch ein eigenes kleines Plugin für den <a href="http://qmail-spp.sourceforge.net/" title="Qmail SPP" target="_blank">SPP-Patch für Qmail</a> geschrieben. Dieser Patch erweitert qmail-smtpd um Plugins, welche in jeder beliebigen Sprache (Shell, C, PHP, Perl, Python &#8230;) geschrieben werden können, hauptsache die Shell kann es ausführen.</p>
<p>Mein Plugin prüft direkt nach dem &#8220;DATA&#8221;-Befehl des Senders dessen IP-Adresse auf vorhandensein in der RBL-Liste von <a href="http://www.spamcop.net" title="Spamcop" target="_blank">spamcop.net</a>. Dort sind IP-Adressen von Spamversendersystemen gelistet inklusive Gründe, wieso die IP-Adresse gelistet wurde. Natürlich ist man als Serverbetreiber von der Korrektheit des Anbieters und auf dessen Sorgfalt angewiesen, nach langer Laufzeit konnte ich allerdings bisher keine falschen Einordnungen feststellen. Anhand des folgenden Bildchens erkennt man sehr gut, dass durch den Einsatz des IP-Checks rund 50% des Spamaufkommens schon direkt bei der Kommunikation mit dem Mailserver abgelehnt werden konnte.</p>
<p><img src="http://www.jaqe.de/wp-content/uploads/2008/01/1agencyde-spamstats-month.png" alt="Spamstatistik" /></p>
<p>Mein Plugin kann <a href="http://www.jaqe.de/wp-content/uploads/2008/01/smtp_ip_check.sh" title="Qmail-SPP Plugin">hier heruntergeladen</a> werden. Geschrieben wurde es mit der Shell und ist relativ einfach erweiterbar und verständlich. Benutzung auf eigene Gefahr!<a href="http://www.jaqe.de/wp-content/uploads/2008/01/smtp_ip_check.sh" title="SMTP IP Check für Qmail-SPP"></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jaqe.de/2008/01/30/wer-hat-noch-nicht-wer-spamt-noch-mal/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>PHP4 Support beendet</title>
		<link>http://www.jaqe.de/2008/01/04/php4-support-beendet/</link>
		<comments>http://www.jaqe.de/2008/01/04/php4-support-beendet/#comments</comments>
		<pubDate>Fri, 04 Jan 2008 11:43:14 +0000</pubDate>
		<dc:creator>Jaqe</dc:creator>
				<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.jaqe.de/2008/01/04/php4-support-beendet/</guid>
		<description><![CDATA[Zum 31.12.2007 endete der Support für PHP4 durch die Entwicklergemeinschaft. In diesem Zuge wurde die vorerst letzte offizielle PHP4 Version 4.4.8 veröffentlicht. In diesem Release wurden etliche sicherheitsrelevante Fehler beseitigt. In Zukunft wird es also keine neuen Versionen der 4er Reihe von PHP geben, die Entwickler schließen allerdings nicht aus, dass es weitere Fehlerkorrekturen bis [...]]]></description>
			<content:encoded><![CDATA[<p>Zum 31.12.2007 endete der Support für <a href="http://www.php.net" title="PHP" target="_blank">PHP4</a> durch die Entwicklergemeinschaft. In diesem Zuge wurde die vorerst letzte offizielle PHP4 Version 4.4.8 veröffentlicht. In diesem Release wurden etliche sicherheitsrelevante Fehler beseitigt. In Zukunft wird es also keine neuen Versionen der 4er Reihe von PHP geben, die Entwickler schließen allerdings nicht aus, dass es weitere Fehlerkorrekturen bis zum 08.08.2008 geben wird, allerdings keine neuen Features.</p>
<p>Die Entwickler und ich empfehlen, sofern möglich, auf PHP 5.2 zu aktualisieren. Der 5er Zweigt bringt haufenweise Verbesserungen im <a href="http://de.wikipedia.org/wiki/Objektorientierte_Programmierung" title="Objektorientierte Programmierung bei Wikipedia" target="_blank">OOP</a>-Bereich sowie der Speicherverwaltung und anderer Bereiche. Die kommende Version 6 wird im OOP-Bereich nochmals einen Zahn zulegen und wird die erste PHP-Version, welche offiziell komplette mit UTF-8 zurecht kommt. Bisher sind hier leider oftmals Umwege über die mbstring-Funktionen nötig.</p>
<p>Und zum Abschluß noch eine durchaus wichtige Anmerkung: Wer einen eigenen Server betreibt und PHP selbst compiliert und installiert sollte stets darauf achten, immer die aktuellste PHP-Version zu verwenden. Das gefährlichste am Internet heutzutage sind nicht behobene Sicherheitslücken!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jaqe.de/2008/01/04/php4-support-beendet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Einen Überblick verschaffen</title>
		<link>http://www.jaqe.de/2007/12/25/einen-uberblick-verschaffen/</link>
		<comments>http://www.jaqe.de/2007/12/25/einen-uberblick-verschaffen/#comments</comments>
		<pubDate>Tue, 25 Dec 2007 19:57:16 +0000</pubDate>
		<dc:creator>Jaqe</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.jaqe.de/2007/12/25/einen-uberblick-verschaffen/</guid>
		<description><![CDATA[&#8220;Hier, da steht das Ding. Machen Sie mal, das das wieder geht!&#8221;. &#8220;Können Sie mir sagen, welche Distribution installiert ist und was nicht geht?&#8221;. &#8220;Distri.. was? Woher soll ich das wissen, das hat immer unser EDVler gemacht mit dem Linuxzeug da, der is aber nicht mehr da. Mails gehen halt nicht mehr.&#8221; Und schon geht [...]]]></description>
			<content:encoded><![CDATA[<p><em>&#8220;Hier, da steht das Ding. Machen Sie mal, das das wieder geht!&#8221;. &#8220;Können Sie mir sagen, welche Distribution installiert ist und was nicht geht?&#8221;. &#8220;Distri.. was? Woher soll ich das wissen, das hat immer unser EDVler gemacht mit dem  Linuxzeug da, der is aber nicht mehr da. Mails gehen halt nicht mehr.&#8221;</em></p>
<p>Und schon geht der Los, der Linuxadmin-Spaß.</p>
<p><span id="more-15"></span></p>
<p>Eine graue Kiste, eine nicht wirklich hilfreiche Fehlerbeschreibung und dann auch noch keinerlei Hinweise, welche Linuxdistribution der ehemalige Administrator denn installiert hat. Panik ist hier fehl am Platz, mit Ruhe und etwas Planung lässt sich recht einfach an die Sache rangehen. Das es sich bei dem Computer um einen PC handelt, ist beim Anblick des Gehäuses recht schnell klar. Linux ist also auch installiert, soviel steht fest. Für den Anfang sollte man sich einen generellen Systemüberblick verschaffen:</p>
<ul>
<li>Um welche Art Hardware handelt es sich (32/64 bit, CPU, PCI-Karten usw.)</li>
<li>Welche Distribution ist installiert und welche Version</li>
<li>Welche Version des Linuxkernels läuft</li>
<li>Welcher Mail-Daemon ist installiert und in welcher Version liegt dieser vor</li>
</ul>
<p>Die verwendete Kernelversion lässt sich einfach durch einen Aufruf von &#8220;<em>uname -a</em>&#8221; anzeigen. Hier schlagen wir auch gleich zwei Fliegen mit einer Klappe und können die prinzipielle Systemarchitektur gleich mit auslesen. Zwei Beispiele für eine Kernelversion:</p>
<blockquote><p>Linux xxx 2.6.23.11 #1 SMP Tue Dec 18 12:19:28 CET 2007 x86_64 AMD Athlon(tm) 64 X2 Dual Core Processor 4200+ AuthenticAMD GNU/Linux</p></blockquote>
<blockquote><p>Linux yyy 2.6.18-028stab033.1-ovz-smp #1 SMP Thu May 31 04:17:27 CEST 2007 i686 GNU/Linux</p></blockquote>
<p>Beim ersten Beispiel können wir neben der Kernelversion 2.6.23.11 noch gleich erkennen, das wir es hier mit einem 64bit AMD-System zu tun haben, welches höchstwahrscheinlich zwei oder mehr CPUs besitzt. Das zweite Beispiel verrät leider nur, das es sich hier um ein 32bit Pentium-System mit möglicherweise 2 oder mehr CPUs handelt. Sollte im zweiten System eine 64bit CPU verbaut sein, so wird sie dennoch nur im 32bit Modus benutzt (erkennbar durch i686). Eine genaue Angabe über die Systemarchitektur hält das /proc Dateisystem für uns bereit. Ein &#8220;<em>cat /proc/cpu</em>&#8221; liefert für das erste System folgende Informationen (gekürzt):</p>
<blockquote><p>processor       : 0<br />
vendor_id       : AuthenticAMD<br />
cpu family      : 15<br />
model           : 43<br />
model name      : AMD Athlon(tm) 64 X2 Dual Core Processor 4200+<br />
stepping        : 1<br />
cpu MHz         : 2199.844<br />
cache size      : 512 KB<br />
[...]<br />
processor       : 1<br />
vendor_id       : AuthenticAMD<br />
cpu family      : 15<br />
model           : 43<br />
model name      : AMD Athlon(tm) 64 X2 Dual Core Processor 4200+<br />
stepping        : 1<br />
cpu MHz         : 2199.844<br />
cache size      : 512 KB</p></blockquote>
<p>Es ist also ein Dualcore AMD Athlon X2 4200+ verbaut, diese CPU hat 2 Kerne, welche von 0 bis 1 durchnummeriert sind. Das zweite System erknen wir nun auch als Dualcore, diesmal stammt die CPU allerdings von Intel und ist ein Pentium 4:</p>
<blockquote><p> processor       : 0<br />
vendor_id       : GenuineIntel<br />
cpu family      : 15<br />
model           : 4<br />
model name      : Intel(R) Pentium(R) 4 CPU 3.00GHz<br />
stepping        : 1<br />
cpu MHz         : 3000.332<br />
cache size      : 1024 KB<br />
[...]<br />
processor       : 1<br />
vendor_id       : GenuineIntel<br />
cpu family      : 15<br />
model           : 4<br />
model name      : Intel(R) Pentium(R) 4 CPU 3.00GHz<br />
stepping        : 1<br />
cpu MHz         : 3000.332<br />
cache size      : 1024 KB</p></blockquote>
<p>Den zur Verfügung stehenden Hauptspeicher sehen wir durch den Aufruf von &#8220;<em>free -m</em>&#8221; :</p>
<blockquote><p>              total       used       free     shared    buffers     cached<br />
Mem:          2012       1532        480          0        113        527<br />
-/+ buffers/cache:        890       1122<br />
Swap:         4784         69       4715</p></blockquote>
<p>und</p>
<blockquote><p>              total       used       free     shared    buffers     cached<br />
Mem:          1171        219        952          0          0          0<br />
-/+ buffers/cache:        219        952<br />
Swap:            0          0          0</p></blockquote>
<p>Das erste System ist also ein Dualcore AMD System mit 2 Gigabyte Hauptspeicher mit 64bit Betriebssystem, das zweite ein Dualcore Pentium 4 mit 1 Gigabyte Hauptspeicher mit 32bit Betriebssystem. Das war der einfache Teil. Das Herausfinden der verwendeten Distribution gestaltet sich schon etwas schwieriger. Glücklicherweise speichern die meisten Distributionen ihre Versionsnummer in einer Datei im /etc Verzeichnis, der Dateiname ist zumeist in der Form <em>&lt;dsitributionsname&gt;-version</em> aufgebaut. Eine Datei &#8220;redhat-version&#8221;, &#8220;suse-version&#8221; oder &#8220;debian_version&#8221; entlarft unsere Distribution also, die Versionsnummer selbst sollte in der Datei gespeichert sein. In unserem Fall ist das zweite System ein &#8220;Debian 4.0&#8243; System, das erstze allerdings weist keine Datei auf, welche einen Hinweis geben könnte.</p>
<p>Leider speichert nicht jede Distribution ihre Version und Name wie oben beschrieben ab, aus welchen Gründen auch immer. Für das erste System wird <a href="http://www.gentoo.org/" title="Gentoo Linux" target="_blank">Gentoo</a> als Distribution verwendet, ein Hinweis hierauf bietet die Datei &#8220;<em>gentoo-release</em>&#8221; im /etc Verzeichnis. Durch diverse Eigenheiten von Gentoo lässt sich die Versionsnummer anhand eines symbolischen Links von &#8220;<em>make.profile</em>&#8221; auf ein Verzeichnis unter &#8220;<em>/usr/portage/profiles/</em>&#8221; ermitteln, in unserem Fall auf &#8220;<em>/usr/portage/profiles/default-linux/amd64/2007.0/no-multilib</em>&#8220;. Das erste System ist also ein Gentoo in der Version 2007.0 .</p>
<p>Nun beginnt die Suche nach dem Maildaemon. Ich konzentriere mich hier auf die 3 meist verbreitetsten: <a href="http://www.qmail.org/" title="Qmail Mailer Daemon" target="_blank">qmail</a>, <a href="http://www.postfix.org/" title="Postfix Mailer Daemon">postfix</a> und <a href="http://www.sendmail.org/" title="Sendmail Mailer Daemon" target="_blank">sendmail</a>. Eine detaillierte Fehleranalyse ist nicht teil dieses Artikels, es geht hier nur darum, den verwendeten Mailserver zu erkennen. qmail ist durch das vorhandensein der Programme und Prozesse &#8220;<em>qmail-send</em>&#8220;, &#8220;<em>qmail-smtpd</em>&#8221; oder &#8220;<em>qmail-clean</em>&#8221; zu erkennen. Postfix verrät sich durch &#8220;<em>/usr/lib/postfix/master</em>&#8221; oder &#8220;<em>qmgr</em>&#8220;, Sendmail durch &#8220;<em>sendmail</em>&#8221; .. wer hätte das gedacht. Ich selbst setze derzeit nur qmail auf verschiedenen Systemen ein, ein behandeln dieses Mailservers könnte also durchaus als Blogbeitrag anstehen.</p>
<p>Nach nur wenigen Minuten wissen wir also über das zu grunde liegende System bescheit. Wir kennen die Hardwarearchitektur, die Distribution, den verwendeten Kernel und den Mailserver, welcher anscheinend Probleme bereitet. Der weitaus längere Teil besteht aus der Fehlererkennung und Fehlerbeseitigung. Es sollte bei der entsprechenden Firma angemerkt werden, das eine Systemdokumentation in diesem Fall vermutlich etliche Stunden Arbeit erspart hätte.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jaqe.de/2007/12/25/einen-uberblick-verschaffen/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Linux &#8230; kann man das essen?</title>
		<link>http://www.jaqe.de/2007/12/25/linux-kann-man-das-essen/</link>
		<comments>http://www.jaqe.de/2007/12/25/linux-kann-man-das-essen/#comments</comments>
		<pubDate>Tue, 25 Dec 2007 18:13:05 +0000</pubDate>
		<dc:creator>Jaqe</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.jaqe.de/2007/12/25/linux-kann-man-das-essen/</guid>
		<description><![CDATA[Um den Blog endlich mit sinnvollen Inhalten zu füllen, werde ich absofort quasi aus meinem Nähkästchen für Linuxadministratoren plaudern. Zu beginn möchte ich einen kleinen Überblick darüber geben, was Linux überhaupt ist. Viele haben dieses Wort &#8220;Linux&#8221; bestimmt schon gehört oder gelesen. Linux, dieses kurze und wohlklingende Wort beschreibt mitlerweile nicht nur ein Betriebssystem, sondern [...]]]></description>
			<content:encoded><![CDATA[<p>Um den Blog endlich mit sinnvollen Inhalten zu füllen, werde ich absofort quasi aus meinem Nähkästchen für Linuxadministratoren plaudern. Zu beginn möchte ich einen kleinen Überblick darüber geben, was Linux überhaupt ist.</p>
<p><span id="more-13"></span></p>
<p>Viele haben dieses Wort &#8220;Linux&#8221; bestimmt schon gehört oder gelesen. Linux, dieses kurze und wohlklingende Wort beschreibt mitlerweile nicht nur ein Betriebssystem, sondern eine ganze Gemeinschaft (Community) und manchmal sogar einen Lebensstil.</p>
<p>Wie bereits erwähnt ist Linux ein Betriebssystem, ursprünglich 1991 von <a href="http://de.wikipedia.org/wiki/Linus_Torvalds" title="Wikipedia zu Linus Torvalds">Linus Torvalds</a> als Terminal-Emulation entwickelt um hinter die Geheimnisse seines Computers zu kommen. Sein Projekt wuchs schnell und Linus erkannte, das er im begriff war, mehr als nur eine Emulation zu schreiben, mitlerweile schrieb er an einem eigenen Betriebssystem. &#8220;Freax&#8221; sollte es heissen, sein Betriebssysten, doch der damalige Systemadministrator der Usenetgruppe, in der Linus sein Betriebssystem der öffentlichkeit vorstellte, war mit dem Namen nicht einverstanden und änderte ihn kurzerhand in Linux um. Linus war nach einigem hin und her mit dem Namen einverstanden und so heisst das System bis heute Linux.</p>
<p><a href="http://www.jaqe.de/wp-content/uploads/2007/12/quellcode.jpg" title="Quellcode"><img src="http://www.jaqe.de/wp-content/uploads/2007/12/quellcode.jpg" alt="Quellcode" align="left" border="0" /></a>Das, was Linux heute so einzigartig macht, ist die Lizenz. Linux unterliegt der <a href="http://de.wikipedia.org/wiki/GNU_General_Public_License" title="Wikipedia zu GPL" target="_blank">GPL</a>, darf also von jedem verwendet werden, wo und wie er möchte. Das eigentliche Linux is der Systemkern, der <a href="http://www.kernel.org" title="Linux Kernel">Kernel</a>. Der Kernel ist das Herzstück, er kümmert sich um die Hardware und sorgt dafür, das der Computer mit Programmen umgehen kann. Doch der Kernel alleine verhilft noch niemandem zu einem nutzbaren System, es fehlen die Programme, durch die der Computer erst nutzbar wird. Auch hier kommt die GPL ins spiel, alle Programme die nötig sind, um ein Basissystem betreiben zu können, sind ebenfalls frei. Linux ist also nicht nur der Systemkern, sondern auch eine Hand voll Basisprogramme um mit diesem System arbeiten zu können.</p>
<p>Allerdings wäre es für den Anwender sehr mühsam, müsste er sich jedes Programm einzeln besorgen und irgendwie auf seinen Computer bringen. Hier kommen die sogenannten Distributoren ins Spiel. Einige davon sind weltbekannt, etwa <a href="http://www.suse.de/" title="SuSE / Novell Linux">SuSE</a>, <a href="http://www.redhat.com/" title="RedHat Linux">RedHat</a> und <a href="http://www.ubuntu.com/" title="Ubuntu Linux">Ubuntu</a>. Diese Distributoren schnüren den Systemkern, die Systemprogramme und eine große Anzahl von Awendungen zu einem kompletten System zusammen, welches der Anwender meist mit wenigen Klicks von CD oder DVD auf seine Computer installieren kann.</p>
<p><a href="/img/linux_body_painting_kl.jpg" title="Linux Bodypainting"><img src="/img/linux_body_painting_kl_thmb.jpg" alt="Linux Podypainting" align="right" border="0" /></a> Oft höre ich Sätze wie: &#8220;Ich nutze Linux 10.1&#8243; oder &#8220;Ich hab Linux 5 installiert&#8221;. Diese Aussagen können so nicht richtig sein. Es handelt sich hier nur um Fehlinformationen der einzelnen Nutzer. Was hier gemeint ist, sind die Namen und Versionen der Distributionen, etwa OpenSuSE Linux 10.1 oder RedHat Linux 5. Der Linuxsystemkern selbst unterliegt einer eigenen Namensgebung, doch ohne ihn funktioniert keine Distribution.</p>
<p>Den allermeisten Computernutzern sollte das Wort &#8220;Windows&#8221; bekannt vorkommen. Gemeint sind hier nicht etwa die Fenster im Haus, sondern ein Betriebssytem aus dem Hause <a href="http://www.microsoft.com/" title="Hier gehts zu Microsoft">Microsoft</a>. Das was man mit Windows und dem PC machen kann, kann man auch mit Linux machen, wenn auch in andere Art. Beide Betriebssysteme unterscheiden sich nicht nur im Namen, sondern auch im internen Aufbau und am wichtigsten: in der Lizenz. Windows kostet. Windows kostet teilweise sogar etliche hunder bist tausend Euro. Nur wenige eingeweihte Menschen dürfen den Quelltext des Betriebssystems zu gesicht bekommen, müssen aber darüber schweigen. Man kann Windows nicht einfach verändern und an seine Freunde verteilen. Im Gegensatz zu Linux. Linux selbst und die meisten Distributionen sind völlig kostenlos erhältlich und meistens aus dem Internet herunterladbar. Der Quelltext aller verwendeten Programme ist ebenfalls kostenlos erhältlich, Veränderungen und Weiterverbreitung ist erlaubt und manchmal auch explizit erwünscht.</p>
<p>Das hier soll nur ein kleiner Überlick sein und ich erhebe keinen Anspruch auf Vollständigkeit. Wer gerne mehr wissen möchte, dem Empfehle ich die Wikipedia-Seiten zu <a href="http://de.wikipedia.org/wiki/Linux" title="Wikipedia zu Linux" target="_blank">Linux</a>, <a href="http://de.wikipedia.org/wiki/Betriebssystemkern" title="Wikipedia zu Kernel">Betriebssystemkern</a>, <a href="http://distrowatch.com/" title="Distrowatch">Distrowatch</a> (eine nahezu vollständige Auflistung von Linuxdistributionen) und <a href="http://de.wikipedia.org/wiki/GNU_General_Public_License" title="Wikipedia zu GNU">GNU</a>.</p>
<p>Linus Torvalds hat übrigens ein Buch geschrieben: <a href="http://www.amazon.de/gp/product/0066620732?ie=UTF8&amp;tag=jasbl06-21&amp;linkCode=as2&amp;camp=1638&amp;creative=6742&amp;creativeASIN=0066620732">Just for Fun: The Story of an Accidental Revolutionary</a>.Hier schreibt der Erfinder von Linux über sich selbst. Ein, wie ich finde wirklich lesenswertes Buch!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jaqe.de/2007/12/25/linux-kann-man-das-essen/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Webseite nach UTF-8</title>
		<link>http://www.jaqe.de/2007/06/18/webseite-nach-utf-8/</link>
		<comments>http://www.jaqe.de/2007/06/18/webseite-nach-utf-8/#comments</comments>
		<pubDate>Mon, 18 Jun 2007 09:16:57 +0000</pubDate>
		<dc:creator>Jaqe</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[utf8]]></category>

		<guid isPermaLink="false">http://www.jaqe.de/2007/06/18/webseite-nach-utf-8/</guid>
		<description><![CDATA[Hier ein kleines Bash-Script von mir, um eine komplette Webseite (bestehend aus PHP, Javascript und Templates) von ISO-8859-1 zu UTF-8 zu konvertieren. Das Script läuft bei mir bestens, ich gebe aber absolut keine Garantie! #!/bin/sh echo Konvertiere .php zu UTF-8 for i in `find -name '*.php' &#124; xargs` do iconv -f ISO8859-1 -t UTF-8 $i [...]]]></description>
			<content:encoded><![CDATA[<p>Hier ein kleines Bash-Script von mir, um eine komplette Webseite (bestehend aus PHP, Javascript und Templates) von ISO-8859-1 zu UTF-8 zu konvertieren. Das Script läuft bei mir bestens, ich gebe aber absolut keine Garantie!</p>
<pre>
#!/bin/sh

echo Konvertiere .php zu UTF-8
for i in `find -name '*.php' | xargs`
do
        iconv -f ISO8859-1 -t UTF-8 $i &gt; "$i"5
        mv "$i"5 $i
done

echo Konvertiere .inc zu UTF-8
for i in `find -name '*.inc' | xargs`
do
        iconv -f ISO8859-1 -t UTF-8 $i &gt; "$i"5
        mv "$i"5 $i
done

echo Konvertiere .tpl zu UTF-8
for i in `find -name '*.tpl' | xargs`
do
        iconv -f ISO8859-1 -t UTF-8 $i &gt; "$i"5
        mv "$i"5 $i
done

echo Konvertiere .js zu UTF-8
for i in `find -name '*.js' | xargs`
do
        iconv -f ISO8859-1 -t UTF-8 $i &gt; "$i"5
        mv "$i"5 $i
done</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.jaqe.de/2007/06/18/webseite-nach-utf-8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

