<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Linux on Marco Gabriel Blog</title>
    <link>https://www.marcogabriel.com/categories/linux/</link>
    <description>Recent content in Linux on Marco Gabriel Blog</description>
    <image>
      <title>Marco Gabriel Blog</title>
      <url>https://www.marcogabriel.com/%3Clink%20or%20path%20of%20image%20for%20opengraph,%20twitter-cards%3E</url>
      <link>https://www.marcogabriel.com/%3Clink%20or%20path%20of%20image%20for%20opengraph,%20twitter-cards%3E</link>
    </image>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Sat, 05 Nov 2022 11:40:24 +0100</lastBuildDate>
    <atom:link href="https://www.marcogabriel.com/categories/linux/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>GFS2 unter Proxmox um zusätzliche Nodes erweitern</title>
      <link>https://www.marcogabriel.com/posts/2022-11-05-gfs2-unter-proxmox-um-zusaetzliche-nodes-erweitern/</link>
      <pubDate>Sat, 05 Nov 2022 11:40:24 +0100</pubDate>
      <guid>https://www.marcogabriel.com/posts/2022-11-05-gfs2-unter-proxmox-um-zusaetzliche-nodes-erweitern/</guid>
      <description>&lt;p&gt;Das Schöne an Proxmox VE (und generell an Open Source Software) ist, dass man nicht auf die Anwendungsmöglichkeiten beschränkt ist, die ein Hersteller für mich vorsieht.&lt;/p&gt;
&lt;p&gt;Proxmox VE bindet FC- oder iSCSI-Storages normalerweise als Block-Storage ein. Das ist recht unkompliziert, performant und einfach zu erledigen. Allerdings lassen sich dann keine Snapshots von einzelnen Images oder VMs erzeugen. Storage-seitig können zwar Snapshots erzeugt werden (sofern die Storage das anbietet), aber dann wird eben die gesamte LUN einem Snapshot unterzogen.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Warum varnish für normale Webserver nichts bringt</title>
      <link>https://www.marcogabriel.com/posts/644-warum-varnish-fuer-normale-webserver-nichts-bringt/</link>
      <pubDate>Sun, 30 Nov 2014 15:00:46 +0100</pubDate>
      <guid>https://www.marcogabriel.com/posts/644-warum-varnish-fuer-normale-webserver-nichts-bringt/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.varnish-cache.org/&#34;&gt;Varnish&lt;/a&gt; ist ein extrem schneller caching reverse Proxy, der einem normalen Webserver vorgeschaltet wird. In der Regel beantwortet Varnish dann die Anfragen der Benutzer, entscheidet, ob er aus seinem eigenen Cache liefern kann und den Webserver dahinter nicht mehr fragen muss. Da Varnish den Proxy im Speicher hält, bedient er Anfragen extrem schnell. Was er nicht selbst bedienen kann, z.B. weil die Seiten aktive Inhalte haben oder nicht gecached werden dürfen, gibt er an den dahinter liegenden Webserver weiter. Darüber hinaus überwacht er die Webserver und verteilt Anfragen an mehrere Webserver. Fällt einer der Webserver aus, leitet Varnish dort einfach keine Anfragen mehr hin. Benutzer bekommen davon überhaupt nichts mit. Varnish ist übrigens auch völlig anpassbar über eine eigene Konfigurationssprache. Damit lassen sich extrem tolle Dinge relativ einfach realisieren.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Laufzeit eines Scripts unter Linux messen</title>
      <link>https://www.marcogabriel.com/posts/643-laufzeit-eines-scripts-unter-linux-messen/</link>
      <pubDate>Sun, 30 Nov 2014 13:56:48 +0100</pubDate>
      <guid>https://www.marcogabriel.com/posts/643-laufzeit-eines-scripts-unter-linux-messen/</guid>
      <description>&lt;p&gt;Neulich hatte ich eine Unterhaltung darüber, wie man die Laufzeit eines Programms möglichst einfach misst. Im konkreten Fall wollten wir wissen, wie lange ein mysqldump benötigt hat. Dazu gibts unter Linux den Befehl time, den man dem zu messenden Programm einfach voranstellt.&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;time &amp;lt;Programm und Parameter&amp;gt;
[...Ausgabe des Programms...]

real    0m56.754s
user    0m0.784s
sys    0m4.004s
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Der Wert hinter real zeigt an, wie lange das Programm gelaufen ist, im obigen Beispiel 0 Minuten, 56 Sekunden und 754 Millisekunden.&lt;/p&gt;</description>
    </item>
    <item>
      <title>vi lernen in 30 Minuten</title>
      <link>https://www.marcogabriel.com/posts/636-vi-lernen-in-30-minuten/</link>
      <pubDate>Sun, 22 Dec 2013 02:02:32 +0100</pubDate>
      <guid>https://www.marcogabriel.com/posts/636-vi-lernen-in-30-minuten/</guid>
      <description>&lt;p&gt;Geht nicht? Geht doch.&lt;/p&gt;
&lt;p&gt;Und das Beste daran ist:  &amp;ldquo;vimtutor &amp;quot; ist sehr wahrscheinlich schon installiert.&lt;/p&gt;
&lt;p&gt;Einfach auf der Shell starten und den Anweisungen folgen:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;vimtutor
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://www.marcogabriel.com/posts/636-vi-lernen-in-30-minuten/vimtutor.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>fileListReceive failed bei backuppc rsync Sicherung</title>
      <link>https://www.marcogabriel.com/posts/634-filelistreceive-failed-bei-backuppc-rsync-sicherung/</link>
      <pubDate>Wed, 09 Oct 2013 17:03:07 +0200</pubDate>
      <guid>https://www.marcogabriel.com/posts/634-filelistreceive-failed-bei-backuppc-rsync-sicherung/</guid>
      <description>&lt;p&gt;&amp;hellip;könnte darauf hindeuten, dass rsync noch gar nicht installiert ist.&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;apt-get install rsync
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;behebt das Problem.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Linux diff im Detail</title>
      <link>https://www.marcogabriel.com/posts/633-linux-diff-im-detail/</link>
      <pubDate>Sun, 29 Sep 2013 17:26:20 +0200</pubDate>
      <guid>https://www.marcogabriel.com/posts/633-linux-diff-im-detail/</guid>
      <description>&lt;p&gt;Eben habe ich einen schönen &lt;a href=&#34;http://www.antusblog.de/2009/05/13/dateien-vergleichen-mit-diff-kompare-und-meld/&#34;&gt;Artikel&lt;/a&gt; gefunden, der diff, kompare und meld mal im Detail beschreibt. Ich nutze diff beispielsweise immer um bei Upgrades zu sehen, welche Optionen bei einer neuen Konfigurationsdaten dazu gekommen sind.&lt;/p&gt;</description>
    </item>
    <item>
      <title>mdadm Linux Software RAID Monitoring mit Zabbix</title>
      <link>https://www.marcogabriel.com/posts/632-mdadm-linux-software-raid-monitoring-mit-zabbix/</link>
      <pubDate>Thu, 19 Sep 2013 00:18:31 +0200</pubDate>
      <guid>https://www.marcogabriel.com/posts/632-mdadm-linux-software-raid-monitoring-mit-zabbix/</guid>
      <description>&lt;p&gt;Sehr schöne Lösung: &lt;a href=&#34;https://www.zabbix.com/forum/showpost.php?p=91083&amp;amp;postcount=18&#34;&gt;https://www.zabbix.com/forum/showpost.php?p=91083&amp;amp;postcount=18&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Mails eines bestimmten Absenders aus der Postfix Queue löschen</title>
      <link>https://www.marcogabriel.com/posts/631-mails-eines-bestimmten-absenders-aus-der-postfix-queue-loeschen/</link>
      <pubDate>Thu, 12 Sep 2013 21:44:26 +0200</pubDate>
      <guid>https://www.marcogabriel.com/posts/631-mails-eines-bestimmten-absenders-aus-der-postfix-queue-loeschen/</guid>
      <description>&lt;p&gt;Zabbix hat uns heute unseren Mailserver zugespammt mit berechtigten Fehlermeldungen. Eine einfache Möglichkeit, Mails eines bestimmten Absenders aus einer Postfix Queue zu löschen, bevor diese zugestellt werden, zeige ich hier (alles in einer Zeile):&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;mailq | grep absender@example.com | awk &amp;#39;{print $1}&amp;#39; &amp;gt; /tmp/zmails.tmp &amp;amp;&amp;amp; while read LINE; do postsuper -d $LINE; done &amp;lt; /tmp/zmails.tmp &amp;amp;&amp;amp; rm /tmp/zmails.tmp
&lt;/code&gt;&lt;/pre&gt;</description>
    </item>
    <item>
      <title>Zabbix Queue voll?</title>
      <link>https://www.marcogabriel.com/posts/630-zabbix-queue-voll/</link>
      <pubDate>Wed, 11 Sep 2013 22:26:27 +0200</pubDate>
      <guid>https://www.marcogabriel.com/posts/630-zabbix-queue-voll/</guid>
      <description>&lt;p&gt;Merke: Zeit richtig einstellen auf dem Zabbix Server hilft.&lt;/p&gt;
&lt;p&gt;Der besagte Zabbix Server hatte die falsche Zeitzone und ging damit zwei Stunden nach. Damit kamen bestimmte Pakete von anderen Agents nicht  &amp;ldquo;rechtzeitig &amp;quot; und wurden verworfen.&lt;/p&gt;
&lt;p&gt;Nach Anpassung der Zeitzone mit&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;dpkg-reconfigure tzdata
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;lief die Queue auch schön leer.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Zabbix SNMP - Error building asn.1 representation</title>
      <link>https://www.marcogabriel.com/posts/627-zabbix-snmp-error-building-asn.1-representation/</link>
      <pubDate>Wed, 28 Aug 2013 22:29:49 +0200</pubDate>
      <guid>https://www.marcogabriel.com/posts/627-zabbix-snmp-error-building-asn.1-representation/</guid>
      <description>&lt;p&gt;Fragt man mit Zabbix per SNMP Hosts ab und erhält die Meldung&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;Error building asn.1 representation
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;liegt es vermutlich an den fehlenden (und vermutlich noch nicht installierten) MIBs. Um unter Debian/Ubuntu diese MIBs zu installieren, genügt ein&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;apt-get install snmp-mibs-downloader
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Danach sollte Zabbix noch mal durchgestartet werden und die SNMP Fehlermeldung sollte weg sein.&lt;/p&gt;
&lt;p&gt;Testen kann man dies beispielsweise mit&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;snmpget -v2c -c public &amp;lt;serveradresse&amp;gt; &amp;lt;server.adresse&amp;gt; SNMPv2-MIB::sysUpTime.0
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Erhält man wie erwartet die aktuelle Uptime als Antwort, werden die MIBs aufgelöst und es funktioniert.&lt;/p&gt;</description>
    </item>
    <item>
      <title>GlusterFS zu OCFS2 mit DRBD migrieren</title>
      <link>https://www.marcogabriel.com/posts/623-glusterfs-zu-ocfs2-mit-drbd-migrieren/</link>
      <pubDate>Mon, 26 Aug 2013 11:50:35 +0200</pubDate>
      <guid>https://www.marcogabriel.com/posts/623-glusterfs-zu-ocfs2-mit-drbd-migrieren/</guid>
      <description>&lt;p&gt;Mit Cluster Filesystemen kann man schon ziemlich viel Zeit verbringen. Nicht nur beim Einrichten, sondern auch beim Warten auf Daten, die von eben jenen Filesystemen angefordert werden.&lt;/p&gt;
&lt;p&gt;Major Hayden &lt;a href=&#34;http://major.io/2010/11/10/switching-from-glusterfs-to-drbd-and-ocfs2/&#34;&gt;beschreibt&lt;/a&gt; in seinem Blog, was ihn dazu bewogen hat, von GlusterFS auf ein OCFS2/DRBD Konstrukt zurück zu wechseln. Der Post ist schon von 2010, dürfte aber grundsätzlich noch immer relevant sein.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Webserver, simpel</title>
      <link>https://www.marcogabriel.com/posts/621-webserver-simpel/</link>
      <pubDate>Sun, 25 Aug 2013 12:08:42 +0200</pubDate>
      <guid>https://www.marcogabriel.com/posts/621-webserver-simpel/</guid>
      <description>&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;python -m SimpleHTTPServer
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Der Befehl startet einen Webserver, der das aktuelle Verzeichnis über Port 8000 freigibt.&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;~# python -m SimpleHTTPServer
Serving HTTP on 0.0.0.0 port 8000 ...
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Man kann also nun über &lt;code&gt;http://&amp;lt;adresse&amp;gt;:8000&lt;/code&gt; auf das Verzeichnis zugreifen. Da Python quasi überall vorhanden ist, werden keine weiteren Freigaben oder Software benötigt. Nicht einmal root Rechte braucht man dafür.&lt;/p&gt;
&lt;p&gt;Wer einen anderen Port bevorzugt, kann diesen noch dahinter angeben:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;python -m SimpleHTTPServer [port]
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;So etwas ähnliches gibt&amp;rsquo;s auch &lt;a href=&#34;http://www.razvantudorica.com/08/web-server-in-one-line-of-bash/&#34;&gt;in Bash&lt;/a&gt;, die obige Lösung finde ich aber einfacher.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Rsync Logical Volumes / LVM</title>
      <link>https://www.marcogabriel.com/posts/619-rsync-logical-volumes-lvm/</link>
      <pubDate>Sun, 05 May 2013 17:20:03 +0200</pubDate>
      <guid>https://www.marcogabriel.com/posts/619-rsync-logical-volumes-lvm/</guid>
      <description>&lt;p&gt;Wenn man regelmäßig Daten transferieren oder abgleichen möchte, dann ist Rsync in der Regel das beste Mittel der Wahl. Rsync überträgt nur geänderte Dateien, tut dies sehr effizient, komprimiert dabei noch und verschlüsselt die Daten während des Transfers. Rsync funktioniert für regelmäßige Dateitransfers also extrem gut.&lt;/p&gt;
&lt;p&gt;Schön wäre es nun, wenn man so etwas wie Rsync auch für sehr große Dateien oder Logical Volumes eines LVM verwenden könnte. Ein typischer Anwendungsfall ist die Sicherung von virtuellen Maschinen, bei denen diese Images auch schon mal mehrere hundert GB groß sind.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Wenn&#39;s mal wieder länger dauert: MySQL Tuning Scripts</title>
      <link>https://www.marcogabriel.com/posts/618-wenns-mal-wieder-laenger-dauert-mysql-tuning-scripts/</link>
      <pubDate>Sat, 20 Apr 2013 17:01:46 +0200</pubDate>
      <guid>https://www.marcogabriel.com/posts/618-wenns-mal-wieder-laenger-dauert-mysql-tuning-scripts/</guid>
      <description>&lt;p&gt;Wer hat schon zu viel Zeit? Und irgendwas zu optimieren gibt&amp;rsquo;s doch immer:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://launchpad.net/mysql-tuning-primer&#34;&gt;MySQL Tuning Primer Script in Launchpad&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://mysqltuner.pl/&#34;&gt;MySQL Tuner&lt;/a&gt; (Unter Debian/Ubuntu auch über apt-get install mysqltuner installierbar)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Das Denken übernehmen die Scripte nicht, aber sie sind dabei sehr behilflich.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Bash: Zeile für Zeile</title>
      <link>https://www.marcogabriel.com/posts/617-bash-zeile-fuer-zeile/</link>
      <pubDate>Sat, 20 Apr 2013 13:39:45 +0200</pubDate>
      <guid>https://www.marcogabriel.com/posts/617-bash-zeile-fuer-zeile/</guid>
      <description>&lt;p&gt;Neulich musste ich für die Umstellung eines Mailsystems ca. 3.300 Aliase umschreiben. Da diese Aliase aus mehreren Quellen stammen sollte das ganze auch automatisch und jederzeit wiederholbar sein. Ich kam irgendwann an den Punkt, an dem ich eine Datei lesen und mit jeder Zeile etwas tun musste.&lt;/p&gt;
&lt;p&gt;Der Klassiker in Bash ist einfach:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;for LINE in $(cat /pfad/zur/datei)
do
    echo $LINE
done
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Dazu gibt es jedoch eine meist bessere Alternative:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;while read LINE
do
    echo $LINE
done &amp;lt; /pfad/zur/datei
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Variante 2 nutzt das read Kommando unter Linux und liest die Datei wirkich zeilenweise, wogegen Version 1 wortweise liest.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Neues Langzeitprojekt: Linux Home Automation</title>
      <link>https://www.marcogabriel.com/posts/616-neues-langzeitprojekt-linux-home-automation/</link>
      <pubDate>Mon, 01 Apr 2013 23:13:42 +0200</pubDate>
      <guid>https://www.marcogabriel.com/posts/616-neues-langzeitprojekt-linux-home-automation/</guid>
      <description>&lt;p&gt;Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://www.openremote.org/display/HOME/OpenRemote&#34;&gt;OpenRemote&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://fhem.de/fhem_DE.html&#34;&gt;FHEM&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.domotiga.nl/&#34;&gt;DomoTiga&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://hcs.sourceforge.net/&#34;&gt;HCS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.pytomation.com/&#34;&gt;Pythomation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://hcan.grundwerk.info/&#34;&gt;HCAN&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
    </item>
    <item>
      <title>rsync nur einmal starten</title>
      <link>https://www.marcogabriel.com/posts/603-rsync-nur-einmal-starten/</link>
      <pubDate>Wed, 23 Jan 2013 05:07:13 +0100</pubDate>
      <guid>https://www.marcogabriel.com/posts/603-rsync-nur-einmal-starten/</guid>
      <description>&lt;p&gt;Ab und an dauert ein rsync Job länger als geplant. Wenn man sicherstellen möchte, dass rsync in einem Cronjob nur ausgeführt wird, falls es nicht schon läuft, kann man folgendes Konstrukt verwenden:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;pgrep -c rsync || rsync [options] quelle ziel
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Ich hatte das vor einiger Zeit bei Serverfault schon mal als Antwort eingestellt, aber eigentlich ist es in meinem Blog auch gut aufgehoben.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Viele, sehr viele Dateien in einem Verzeichnis unter Linux löschen</title>
      <link>https://www.marcogabriel.com/posts/594-viele-sehr-viele-dateien-in-einem-verzeichnis-unter-linux-loeschen/</link>
      <pubDate>Sat, 05 Jan 2013 15:47:49 +0100</pubDate>
      <guid>https://www.marcogabriel.com/posts/594-viele-sehr-viele-dateien-in-einem-verzeichnis-unter-linux-loeschen/</guid>
      <description>&lt;p&gt;Ein bestimmter Server wurde in letzter Zeit immer unzuverlässiger und stürzte öfter mal ab, ohne dass wir eine genaue Ursache ausmachen konnten. Gestern habe ich mich dem Server noch mal angenommen und ein bisschen Ursachenforschung betrieben. Ein einfaches &lt;code&gt;ls -la /var/log&lt;/code&gt; dauerte schon ewig. Ich spekulierte schon über einen Festplattenschaden bis ich dann irgendwann tatsächlich eine endlose Dateiliste zu sehen bekam.&lt;/p&gt;
&lt;p&gt;Ein &lt;code&gt;ls -la | wc -l&lt;/code&gt; brachte hervor, dass in diesem Ordner mehr als 1,3 Millionen Files lagen. Kein Wunder, dass  der Server dabei ab und an mal Schwierigkeiten hat. Die Ursache war, dass sich auf Debian/Ubuntu Systemen der &lt;code&gt;sysklogd&lt;/code&gt; und &lt;code&gt;logrotate&lt;/code&gt; gegenseitig in die Quere kommen. Aber dazu vielleicht ein anderes Mal mehr. Nun musste ich erst mal die ganzen überflüssigen Dateien löschen.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Automatische btrfs Snapshots vor Installation</title>
      <link>https://www.marcogabriel.com/posts/593-automatische-btrfs-snapshots-vor-installation/</link>
      <pubDate>Sun, 15 Apr 2012 16:58:45 +0200</pubDate>
      <guid>https://www.marcogabriel.com/posts/593-automatische-btrfs-snapshots-vor-installation/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://de.wikipedia.org/wiki/Btrfs&#34;&gt;Btrfs&lt;/a&gt;, so könnte man meinen, ist der kommende Star unter den Linux Filesystemen. Bis dahin ist es zwar noch ein weiter weg, denn auch btrfs hat noch einige Baustellen, aber es werden permanent weniger und die &lt;a href=&#34;https://btrfs.wiki.kernel.org/&#34;&gt;Entwicklung schreitet mit großen Schritten voran&lt;/a&gt;. Noch 2012 wird Oracle, als Arbeitgeber des Hauptentwicklers Chris Mason, das Filesystem als stabil kennzeichnen und es in der kommenden Version ihres Oracle Linux ganz offiziell supporten. Das alles lässt hoffen.&lt;/p&gt;</description>
    </item>
    <item>
      <title>cdrecord unter Debian 6</title>
      <link>https://www.marcogabriel.com/posts/591-cdrecord-unter-debian-6/</link>
      <pubDate>Mon, 12 Mar 2012 00:18:44 +0100</pubDate>
      <guid>https://www.marcogabriel.com/posts/591-cdrecord-unter-debian-6/</guid>
      <description>&lt;p&gt;Wer in Debian 6 eine Möglichkeit sucht, ein ISO Image auf einen Rohling zu brennen, wird cdrecord vermissen. Dies ist in Debian mittlerweile nicht mehr enthalten. Stattdessen kann man aber auf wodim zurückgreifen.&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;aptitude install wodim
wodim tolles-image.iso
&lt;/code&gt;&lt;/pre&gt;</description>
    </item>
    <item>
      <title>Ubuntu / Debian: Installierte .deb Pakete eines Servers auf einem anderen Server installieren</title>
      <link>https://www.marcogabriel.com/posts/589-ubuntu-debian-installierte-.deb-pakete-eines-servers-auf-einem-anderen-server-installieren/</link>
      <pubDate>Wed, 24 Aug 2011 12:14:00 +0200</pubDate>
      <guid>https://www.marcogabriel.com/posts/589-ubuntu-debian-installierte-.deb-pakete-eines-servers-auf-einem-anderen-server-installieren/</guid>
      <description>&lt;p&gt;Es kommt immer wieder mal vor, dass ein Server installiert werden muss, der einen alten Server ersetzen soll. So lange nur wenige Dienste oder Pakete auf dem alten Server installiert waren, lässt sich das auch schnell aus dem Kopf erledigen. Pakete auf dem neuen Server installieren, Config übernehmen, Config anpassen, läuft.&lt;/p&gt;
&lt;p&gt;Allerdings gibt es auch Server, auf denen viele Pakete installiert sind und die mehrere Dienste anbieten. Hier eine Vorgehensweise, um sich das Leben einfacher zu machen:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Linux Backup mit Duply, Duplicity und Rdiff-Backup auf (potentiell unsichere) Online Speicher (Teil 2)</title>
      <link>https://www.marcogabriel.com/posts/586-linux-backup-mit-duply-duplicity-und-rdiff-backup-auf-potentiell-unsichere-online-speicher-teil-2/</link>
      <pubDate>Tue, 13 Jul 2010 00:50:51 +0200</pubDate>
      <guid>https://www.marcogabriel.com/posts/586-linux-backup-mit-duply-duplicity-und-rdiff-backup-auf-potentiell-unsichere-online-speicher-teil-2/</guid>
      <description>&lt;h2 id=&#34;teil-2-duply-und-duplicity&#34;&gt;Teil 2: Duply und Duplicity&lt;/h2&gt;
&lt;p&gt;Im &lt;a href=&#34;https://www.marcogabriel.com/posts/585-linux-backup-mit-duply-duplicity-und-rdiff-backup-auf-potentiell-unsichere-online-speicher-teil-1/&#34;&gt;ersten Teil&lt;/a&gt; habe ich ja bereits die Unterschiede zwischen &lt;a href=&#34;http://sourceforge.net/projects/ftplicity/&#34;&gt;Duply&lt;/a&gt; / &lt;a href=&#34;http://www.nongnu.org/duplicity/&#34;&gt;Duplicity&lt;/a&gt; und &lt;a href=&#34;http://www.nongnu.org/rdiff-backup/&#34;&gt;Rdiff-Backup&lt;/a&gt; geschildert. In diesem Teil gehe ich also davon aus, dass man Duplicity verwendet, weil man vom Provider einen FTP Backup Space zur Verfügung gestellt bekommen hat oder &lt;a href=&#34;http://aws.amazon.com/de/s3/&#34;&gt;Amazons S3&lt;/a&gt; nutzt.&lt;/p&gt;
&lt;h3 id=&#34;installation&#34;&gt;Installation&lt;/h3&gt;
&lt;p&gt;Unter Ubuntu 10.04 LTS / Lucid Lynx könnte es kaum einfacher sein. Die Pakete sind bereits im Repository vorhanden und können direkt mittels aptitude installiert werden.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Linux Backup mit Duply, Duplicity und Rdiff-Backup auf (potentiell unsichere) Online Speicher (Teil 1)</title>
      <link>https://www.marcogabriel.com/posts/585-linux-backup-mit-duply-duplicity-und-rdiff-backup-auf-potentiell-unsichere-online-speicher-teil-1/</link>
      <pubDate>Tue, 13 Jul 2010 00:10:00 +0200</pubDate>
      <guid>https://www.marcogabriel.com/posts/585-linux-backup-mit-duply-duplicity-und-rdiff-backup-auf-potentiell-unsichere-online-speicher-teil-1/</guid>
      <description>&lt;p&gt;Same procedure as every year, James!&lt;/p&gt;
&lt;p&gt;Der neue Rootserver ist fertig, aber benötigt noch ein Backup. Hat man nun nicht gerade ein Rechenzentrum im Keller und kann dort Bänder wechseln gehen, bietet sich für Rootserver ein Backup auf verfügbaren Onlinespeicher an. Das kann in einigen Fällen ein weiterer Rootserver mit noch reichlich Platz sein, aber auch ein vom Provider zur Verfügung gestellter FTP Server oder auch Amazons S3 sind gute Alternativen.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Delete Files older than 30 days on Linux</title>
      <link>https://www.marcogabriel.com/posts/582-delete-files-older-than-30-days-on-linux/</link>
      <pubDate>Fri, 25 Jun 2010 20:16:59 +0200</pubDate>
      <guid>https://www.marcogabriel.com/posts/582-delete-files-older-than-30-days-on-linux/</guid>
      <description>&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;find /path/to/files* -mtime +30 -exec rm {} \;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Ich mag Einzeiler&amp;hellip; ;-)&lt;/p&gt;</description>
    </item>
    <item>
      <title>raid initializing</title>
      <link>https://www.marcogabriel.com/posts/580-raid-initializing/</link>
      <pubDate>Sun, 30 May 2010 19:58:24 +0200</pubDate>
      <guid>https://www.marcogabriel.com/posts/580-raid-initializing/</guid>
      <description>&lt;p&gt;Irgendwie bleibt immer ein seltsames Gefühl, wenn nach einem einfachen Reboot der Hardware Controller für eine Weile auf  &amp;ldquo;Initializing&amp;rdquo; steht. Auch wenn&amp;rsquo;s laut Handbuch bei 3ware Controllern im RAID1 nichts ungewöhliches ist.&lt;/p&gt;
&lt;p&gt;Ein Blick in&amp;rsquo;s &lt;a href=&#34;http://www.3ware.com/support/UserDocs/EscaladeUG7000-122003.pdf&#34;&gt;gut versteckte Handbuch&lt;/a&gt; auf die Seiten 150 bis 158 hilft beim Beruhigen.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ubuntu Jaunty / 9.04 Performance und die Sache mit dem Atom</title>
      <link>https://www.marcogabriel.com/posts/530-ubuntu-jaunty-9.04-performance-und-die-sache-mit-dem-atom/</link>
      <pubDate>Sun, 19 Jul 2009 13:16:32 +0200</pubDate>
      <guid>https://www.marcogabriel.com/posts/530-ubuntu-jaunty-9.04-performance-und-die-sache-mit-dem-atom/</guid>
      <description>&lt;p&gt;Auf einem schlanken, schmalen, stromsparenden Atom 230 Rechner installierte ich kürzlich Ubuntu. Zunächst die 8.10, danach per Upgrade die 9.04. Alles lief soweit zufriedenstellend, aber so richtig glücklich war ich mit der Performance nicht. Ich dachte länger, dass es wohl so sei, wenn man einen Atom230 mit einer 1920x1080er Auflösung beauftragt, &lt;del&gt;denn Hubraum lässt sich nur durch mehr Hubraum ersetzen&lt;/del&gt; und man daher auch damit leben müsse. Muss man aber nicht.&lt;/p&gt;</description>
    </item>
    <item>
      <title>.cue / .bin unter Linux mounten oder brennen</title>
      <link>https://www.marcogabriel.com/posts/527-cue-bin-unter-linux-mounten-oder-brennen/</link>
      <pubDate>Thu, 16 Jul 2009 18:26:31 +0200</pubDate>
      <guid>https://www.marcogabriel.com/posts/527-cue-bin-unter-linux-mounten-oder-brennen/</guid>
      <description>&lt;p&gt;&lt;code&gt;.cue&lt;/code&gt; und &lt;code&gt;.bin&lt;/code&gt; Dateien sind keine &lt;code&gt;.iso&lt;/code&gt; Dateien. Nicht einmal annähernd. Unter Windows verstehen viele Brennprogramme das Format trotzdem und brennen es anstandslos auf eine Silberscheibe. Unter Linux sieht das nicht ganz so aus. Ich habe mich auch immer wieder darüber geärgert, bis ich über &lt;code&gt;bchunk&lt;/code&gt; gestolpert bin.&lt;/p&gt;
&lt;p&gt;Dieses Programm ist in der Lage, aus &lt;code&gt;.cue&lt;/code&gt; und &lt;code&gt;.bin&lt;/code&gt; mal eben eine &lt;code&gt;.iso&lt;/code&gt; zu erstellen:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;bchunk -v image.bin image.cue image
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Nach ein wenig auf der Platte rödeln findet man eine fertige &lt;code&gt;image.iso&lt;/code&gt; Datei. Und die kann man problemlos brennen, auch unter Linux.&lt;/p&gt;</description>
    </item>
    <item>
      <title>tar split</title>
      <link>https://www.marcogabriel.com/posts/522-tar-split/</link>
      <pubDate>Wed, 15 Jul 2009 11:35:00 +0200</pubDate>
      <guid>https://www.marcogabriel.com/posts/522-tar-split/</guid>
      <description>&lt;p&gt;Wer von irgendeinem Linux Filesystem auf eine externe Festplatte mit FAT(32) Filesystem Daten sichern möchte, kann ein Lied davon singen. Nicht, dass man unbedingt FAT32 haben möchte, aber die meisten externen Festplatten sind ab Werk damit vorformatiert und laufen daher an den meisten Betriebssystemen out-of-the-box.&lt;/p&gt;
&lt;p&gt;FAT32 beschränkt die maximale Dateigröße jedoch auf 4 GB pro Datei. Für eine Datensicherung ist das heutzutage nicht mehr besonders viel.&lt;/p&gt;
&lt;p&gt;Linux selbst bringt die Lösung in Form der Kombination aus den beiden Kommandos &lt;code&gt;tar&lt;/code&gt; und &lt;code&gt;split&lt;/code&gt; bereits mit:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Error: bad minute; while reading /etc/crontab</title>
      <link>https://www.marcogabriel.com/posts/515-error-bad-minute-while-reading-etccrontab/</link>
      <pubDate>Thu, 09 Jul 2009 14:22:17 +0200</pubDate>
      <guid>https://www.marcogabriel.com/posts/515-error-bad-minute-while-reading-etccrontab/</guid>
      <description>&lt;p&gt;Gerade eben stellte ich fest, dass auf einem Ubuntu 8.04 Server die Cron-Jobs nicht mehr ausgeführt werden. Also machte ich mich auf die Suche nach dem Grund, konnte ihn aber zunächst nicht finden. In der /var/log/syslog dann der erste Hinweis:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;Error: bad minute; while reading /etc/crontab
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Die /etc/crontab sah allerdings sehr normal aus. Da gab es keine falschen Einträge oder fehlende Angaben. Nach einigem auskommentieren und testen bin ich dann auf die Lösung gekommen. In der crontab fand ich folgende Zeile, bei der ich mir erst mal nichts dachte:&lt;/p&gt;</description>
    </item>
    <item>
      <title>RDP schneller machen über NX</title>
      <link>https://www.marcogabriel.com/posts/510-rdp-schneller-machen-ueber-nx/</link>
      <pubDate>Mon, 06 Jul 2009 18:05:05 +0200</pubDate>
      <guid>https://www.marcogabriel.com/posts/510-rdp-schneller-machen-ueber-nx/</guid>
      <description>&lt;p&gt;RDP, das &lt;a href=&#34;http://de.wikipedia.org/wiki/Remote_Desktop_Protocol&#34;&gt;Remote Desktop Protocol&lt;/a&gt;, macht seine Arbeit beim Zugriff auf entfernte Server soweit ja ganz ordentlich. Mittlerweile liegt RDP in Version 6 vor und es gibt sogar unter Linux einen funktionierenden Client und auch einen funktionierenden RDP Server. Steht der zu steuernde Server allerdings hinter einer nicht ganz so breitbandigen Verbindung, lahmt RDP gelegentlich auch mal dahin. Selbst wenn man die Performance optimiert, fliesst es so la la, abhängig eben von der Upload-Bandbreite des Anschlusses an dem der Server hängt. Da auch ich oft auf RDP Server zugreife(n muss), die hinter einem normalen DSL Anschluss hängen kenne ich das Problem also auch aus erster Hand.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fetchmail Alternativen</title>
      <link>https://www.marcogabriel.com/posts/489-fetchmail-alternativen/</link>
      <pubDate>Sun, 16 Nov 2008 16:39:52 +0100</pubDate>
      <guid>https://www.marcogabriel.com/posts/489-fetchmail-alternativen/</guid>
      <description>&lt;p&gt;Fetchmail, der fast alles könnende Dinosaurier unter den Mailabholern, ist zwar weit verbreitet, aber mindestens genauso unbeliebt. Fetchmail kann viel und ist leicht zu konfigurieren, sofern man für jede Mail-Adresse ein separates Konto beim Provider und bereit ist, jedem Mailnutzer auch einen Linux-Account zu geben. In einer Welt der virtuellen Maildomains ist es dagegen eine mittlere Katastrophe, mit Fetchmail arbeiten zu müssen.&lt;/p&gt;
&lt;p&gt;Alternativen zu &lt;a href=&#34;http://fetchmail.berlios.de/&#34;&gt;Fetchmail&lt;/a&gt; gibt es zwar, ob sie für den jeweiligen Fall aber besser sind, muss jeder für sich beurteilen:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Warum defekte Platten unter Linux nicht mit dd gesichert werden sollten</title>
      <link>https://www.marcogabriel.com/posts/464-warum-defekte-platten-unter-linux-nicht-mit-dd-gesichert-werden-sollten/</link>
      <pubDate>Thu, 05 Jun 2008 11:58:27 +0200</pubDate>
      <guid>https://www.marcogabriel.com/posts/464-warum-defekte-platten-unter-linux-nicht-mit-dd-gesichert-werden-sollten/</guid>
      <description>&lt;p&gt;Was tun wenn die Festplatte lustige Geräusche macht oder bereits Daten verloren hat, weil die Harddisk defekte Sektoren hat?&lt;/p&gt;
&lt;p&gt;Das allseits beliebte &lt;a href=&#34;%22http://de.wikipedia.org/wiki/Dd_(Unix)%22&#34;&gt;dd&lt;/a&gt; zum Erstellen von Festplattenimages tut bei funktionierenden Festplatten seinen Dienst, bei Platten mit defekten Sektoren jedoch führt dd zu unbrauchbaren images. Aber warum und was passiert dabei genau?&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;dd bs=4096 conv=noerror,sync if=/dev/hda of=/mnt/server/imagedatei.img 
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;code&gt;dd&lt;/code&gt; liest blockweise (4096 Bytes) die Daten von der Festplatte &lt;code&gt;/dev/hda&lt;/code&gt;, macht auch weiter wenn es auf Fehler trifft, füllt den Block mit Nullbytes auf 4096 bytes auf, falls er kürzer ist, und schreibt diese Dateien gleichzeitig in 4096 Byte Blöcken nach &lt;code&gt;/mnt/server/imagedatei.img&lt;/code&gt;. Fatal ist, wenn Blöcke nicht lesbar sind. In dem Falle bricht dd zwar nicht ab, weil &lt;code&gt;conv=noerror&lt;/code&gt; angegeben wurde, aber es liest keine Daten ein und schreibt auch keine Daten in das Image.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kurztipp: Linux Festplattenimage über SSH sichern</title>
      <link>https://www.marcogabriel.com/posts/463-kurztipp-linux-festplattenimage-ueber-ssh-sichern/</link>
      <pubDate>Tue, 03 Jun 2008 23:31:29 +0200</pubDate>
      <guid>https://www.marcogabriel.com/posts/463-kurztipp-linux-festplattenimage-ueber-ssh-sichern/</guid>
      <description>&lt;p&gt;(Alles in einer Zeile:)&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;server# dd bs=65536 if=/dev/hda | ssh -o Compression=yes user@host  &amp;#34;cat &amp;gt; image.img &amp;#34;
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;liest aus der shell von &amp;ldquo;server&amp;rdquo;&lt;/li&gt;
&lt;li&gt;mit 64k Blöcken&lt;/li&gt;
&lt;li&gt;den Festplatteninhalt von &lt;code&gt;/dev/hda&lt;/code&gt; aus&lt;/li&gt;
&lt;li&gt;meldet sich dann als user bei host an* und schickt das image via ssh komprimiert über die Leitung&lt;/li&gt;
&lt;li&gt;und legt das Image im Homedir des Benutzers user als image.img ab.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ja, ich steh auf ssh :-).&lt;/p&gt;</description>
    </item>
    <item>
      <title>top Ausgabe übersichtlicher machen</title>
      <link>https://www.marcogabriel.com/posts/458-top-ausgabe-uebersichtlicher-machen/</link>
      <pubDate>Thu, 10 Apr 2008 23:17:45 +0200</pubDate>
      <guid>https://www.marcogabriel.com/posts/458-top-ausgabe-uebersichtlicher-machen/</guid>
      <description>&lt;p&gt;Manchmal lohnt es sich, die Kommandozeilenparameter für Programme näher zu erforschen.&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;top -i
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;zeigt nur noch die aktiven Prozesse an, was deutlich übersichtlicher ist. Probierbefehl :-).&lt;/p&gt;</description>
    </item>
    <item>
      <title>No route to host - aber nur für Postfix</title>
      <link>https://www.marcogabriel.com/posts/453-no-route-to-host-aber-nur-fuer-postfix/</link>
      <pubDate>Fri, 08 Feb 2008 19:19:02 +0100</pubDate>
      <guid>https://www.marcogabriel.com/posts/453-no-route-to-host-aber-nur-fuer-postfix/</guid>
      <description>&lt;p&gt;Kürzlich überraschte mich mein interner Mailserver (Postfix) mit der Log-Meldung &lt;code&gt;No route to host&lt;/code&gt;. Alle E-Mails blieben in der Mailqueue und wurde nicht mehr zum Smarthost ausgeliefert, von wo aus sie dann an die Empfänger geleitet werden.&lt;/p&gt;
&lt;p&gt;Die Lösung dafür lag darin, daß beim DSL-Zugangsprovider kürzlich alles auf Port 25 abgehende gesperrt wurde, damit die ganzen Spambots eben nicht mehr spammen. Somit war es nur für Verbindungen auf Port 25 unmöglich, irgendetwas da draussen noch zu erreichen.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
