Category Archives: Linux

Xen-Unterstützung im Linux-Kernel 2.6.23

Endlich hat Xen Eingang in den Linux-Kernel gefunden. Bislang zwar nur als DomU, doch das ist schonmal ein guter Anfang: Dom0 ist bei den meisten Webservern, die Xen nutzen eh nur per SSH erreichbar, so dass das typische “Cracking-Szenario” — Shell-Exploit in einer Webanwendung und anschließender lokaler Root-Exploit kaum wahrscheinlich ist. Bei untervermieteten DomUs, deren Nutzer nicht gerade die sicherheitsbewußtesten sind, durfte man zwischen der Erkennung von Sicherheitslücken und der Verfügbarkeit gepatchter Kernel immer Tage bis Wochen bangen.

Noch habe ich 2.6.23 nicht getestet. Spannend bleibt insbesondere die Frage nach Aktualität und Xen-Kompatibilität: Zumindest in der Vergangenheit sind die Distributionskernel nicht immer durch 100%ige Kompatibilität zum Vanilla-Xen-Hypervisor aufgefallen. Bleibt zu hoffen, dass der Vanilla-Linux-Kernel zeitnah zum Original-Xen aktualisiert wird.

Siehe auch:

Und etwas Eigenwerbung:

Unix ist tot… 2009

Mehr als mißverständlich ist Gartners Studie, die im Kaffeesatz liest, dass es nach 2009 keine neuen Unix-Anwendungen gäbe. Klingt grausam? Wer näher hinschaut, muss feststellen, dass nicht etwa Unix plötzlich ohne Anwendungen dastehen soll, sondern nur die Rede ist von Anwendungen, die bislang ausschließlich für große, fette, unfreie Unices entwickelt wurden. Das ist bereits weitestgehend der Fall, lediglich einige sehr spezielle Anwendungen wie Opels FE-System “Regatta” benötigen Software, die auf ein Gesamtsystem (Hard- und Software) optimiert wurde.

Die Rolle des Brot- und Butter-UNIX von PDA bis zur zSeries hat bereits vor Jahren Linux übernommen. Dass sich damit nicht unbedingt die technisch beste Lösung durchgesetzt hat, kann ich verkraften, alleine der durch Linux erreichte Grad an Homogenität gegenüber der Situation vor etwa zehn Jahren ist eine deutliche Erleichterung für Anwender und Admins. Wirklich sterben werden die großen Unices nicht so schnell — they’ll just fade away — wenn es dann aber soweit ist, finden Dateisysteme und Konzepte aus “fremden” Kerneln den Weg in Linux und die BSDs.

Schon viele sterbende Sterne haben neue Sonnen geboren.

Schrott wird flott (X-Link)

In meinem privaten Blog entsteht derzeit eine kleine Serie zum Wiedernutzbarmachen eines alten Subnotebooks (im konkreten Fall geht es um ein Fujitsu-Siemens Lifebook B142). Die Installation auf dem Gerät ohne CD-Laufwerk und Netzwerkkarte dürfte auch den einen oder anderen Rootserveradmin interessieren, der für unterwegs ein billiges, leichtes “Admin-Frontend” sucht und darauf Linux installieren möchte:

Goodbye, FreeBSD — Hello Ubuntu!

Es ist soweit. Nach fast acht Jahren FreeBSD und praktisch nahtlose Updates seit FreeBSD 3.2 bis 6.2 steht nun eine Ablösung auf meinem Desktop an. Das beste wird durch das zweitbeste aller Betriebssysteme ersetzt. Die Gründe sind vielfältig, aber der Schritt zu Linux ist nun einfach vernünftiger:

  • Virtualisierung: Ich erstelle zur Zeit viele DVDs für Computerzeitschriften. Qemu ist nicht immer ideal zum Testen, ich möchte in Zukunft auch VMware nutzen können — Und gerade modifizierte Linux-Live-CDs lassen sich besser unter Linux bauen und testen
  • Chroot: Ich muss in der Lage sein, schnell und einfach mehrere Linux-Chroot-Umgebungen für Kundenprojekte nutzen zu können. Mit FreeBSDs Linuxolator geht das zwar, aber nicht immer optimal
  • Datenaustausch: Wir haben hier mittlerweile einiges an externen Festplatten, die EXT3 formatiert sind — das lässt sich mittlerweile fast so gut als Austauschmedium verwenden wie FAT. Dazu kommen mit SquashFS statt ISO9660 erstellte DVDs — proprietär, aber auch das geht mit Linux
  • Ich will Spaß: Mein Garmin GPS 60 möchte ich auch am Desktop auslesen können, fürein Flash-Plugin möchte ich keine Verrenkungen in Kauf nehmen und das N800 soll auch unter Linux flashable sein

Ein FreeBSD-Rechner bleibt wohl im Büro, sei es nur zu Testzwecken. Auf dem Server werde ich bei FreeBSD bleiben. Ich betreibe zwar auch drei Server mit Xen und einigen Linux-Instanzen, aber FreeBSD hat doch den einen oder anderen Vorteil: Continue reading

Der Büro-Bootserver: PXELINUX im Praxiseinsatz

Mit dem Umzug unseres büroweiten DHCP-Servers auf eine eigene Xen-Instanz haben wir die Gelegenheit genutzt, auch den Bootserver neu aufzusetzen: Für Distributionstests, Arbeiten an Kundenrechnern oder Backups — die leichter durchzuführen sind, wenn keine geöffneten Dateien vorliegen — leisten wir uns schon seit einer Weile eine Xen-Instanz, die PXE fähige Clients mit einer Auswahl verschiedener via Netzwerk gestarteter Systeme und Linux-Installer zu versorgen. Viel Aufwand ist das Aufsetzen eines Bootservers nicht: Es genügt ein richtig konfigurierter DHCP-Server und ein TFTP-Daemon. Hilfreich, aber keinesfalls zwingend erforderlich ist ein NFS-Server. Linux-Distributionen und BSDs, die einen NFS-Server benötigen, werde ich deshalb zu gegebener Zeit separat behandeln.

Erster Schritt: DHCP-Server

Erster Schritt bei der Konfiguration ist der DHCP-Server, ideal ist die weit verbreitete und extrem konfigurable Version des Internet Software-Consortiums, die bei debianesken Distributionen als dhcp3-server verfügbar ist. Sollte ein DHCP-Server im DSL-Router vorhanden sein, deaktivieren Sie diesen dauerhaft: Zwei DHCP-Server, von denen einer Boot-Informationen ausliefert und der andere nicht, können ganz schön Verwirrung stiften. Eine kompakte, aber für den Start per PXE ausreichende Konfigurationsdatei /etc/dhcp3/dhcpd.conf kann wie folgt aussehen: Continue reading

uClibc-Chroot-Umgebung

Wer das 4MB Mini-Linux bauen möchte oder einfach ein kompaktes statisches Binary beispielsweise der BusyBox oder des Dropbear-SSH-Servers benötigt, sollte das in einer uClibc-Chroot-Umgebung tun. Denn uClibc führt nicht nur zu kompakteren Binaries, sondern vermeidet jegliche dynamisch gelinkten Bibliotheken — beim Bauen einiger Tools gegen glibc, die Login-Funktionen nutzten, werden einige glibc-Komponenten immer dynamisch verwendet. Continue reading

SuSE 9.3 discontinued

Fast hätte ich es vergessen: Seit gut zwei Wochen gibt es keine Sicherheitsupdates mehr für SuSE 9.3. Das ist nichts außergewöhnliches, denn SuSE kündigt den Support — je nach Beliebtheit einer Distribution — regelmäßig 24 bis 30 Monate nach deren Erscheinen ab und nennt rechtzeitig ein Datum für die Einstellung des Supports. Bei SuSE 9.3 war dies am 8. März der Fall — umso erstaunlicher, dass heute noch einige Provider Server mit SuSE 9.3 anbieten: Strato (beim Einstieigerangebot “PowerServer” als Option SuSE 9.3, 10.0 und Debian 3.1) und 1&1 als einziges beworbenes Betriebssystem bei den 1&1 “Root Servern”. Immerhin kann man nach meinem Kenntnisstand aus dem Kundenmenü heraus einfach aktuellere Systeme installieren.

Ob der erforderliche Mehraufwand zumutbar ist, soll jeder für sich selbst entscheiden. Da häufig eine andere Partitionierung erforderlich ist, setzen zumindest erfahrene Nutzer ihren Server gleich am Anfang neu auf. Bei Suse geht das ganz nett per VNC mit Kernel und Ramdisk der Installations-DVD: openSUSE 10.1 Remote-Installation im Hetzner-Wiki (klappt auch bei anderen Providern und mit 10.2).

Update: Entgegen ursprünglicher Ankündigungen wurde das letzte Update am 18. Juni veröffentlicht. 1&1 hat seine Rootserverangebote mittlerweile auf openSUSE 10.1 umgestellt. Strato listet beim PowerServer immer noch ein optionales 9.3.

USB-Stick für Admins

Für Wartungsaufgaben habe ich immer ein Knoppix auf USB-Stick am Schlüsselbund, mit dem sich beim Kunden vor Ort auch mal schnell havarierte Server flott machen oder Datensicherungen erstellen lassen. Ich habe “meinen” Stick nun mit Bootmenü versehen und zusätzlich den openSUSE-Installer darauf untergebracht (erspart Windows-Support im Freundeskreis).

Ihr könnt das “Komplettpaket” unter news.mattiasschlenker.de herunterladen.

Die FRITZ!Box als Rootserver

Die hier beschriebene Vorgehensweise lässt sich mit aktueller Firmware nicht mehr durchführen. Ich rate daher zur Verwendung von Freetz zur Erstellung modifizierter Firmware-Images.

Ich gebe es zu: So ganz passt die FRITZ!Box nicht in das übliche Beuteschema dieses Blogs. Doch neuere Boxen mit USB-Anschluss lassen sich in einen per DynDNS ständig erreichbaren Server umbauen. Als Webserver kann sogar ein Apache mit PHP dienen und auf Wunsch lädt der Bittorrent-Client ctorrent auch nachts ohne aktivem PC im Netz selbständig Linux-ISOs aus dem Netz.

Wie es funktioniert? Eine uClibc-Chroot-Umgebung auf USB-Festplatte und ein Script, das die Umgebung mountet und einen Dropbear SSH-Server in ihr startet, genügt. Ich habe alle Komponenten vorbereitet und biete sie zum Download an.

Gehen Sie wie folgt vor, um die Chroot-Umgebung zu starten: Continue reading

SuSE 9.2 weg, openSUSE 10.2 da

Betreiber von Rootservern, die noch unter SuSE 9.2 laufen, sollten sich sputen: der Support wurde vor bald drei Wochen eingestellt, es wird keine Sicherheitsupdates mehr geben. Das einst stabile Haus ist dem Verfall preis gegeben. Mit der Einstellung von 9.2 tickt auch die Uhr für SuSE 9.3: Im April wird es
die letzten Sicherheitsupdates geben.

Unterdessen wurde openSUSE 10.2 veröffentlicht. Nach anfänglichen Glitches beim neuen, libzypp-basierten Paketemanagement in 10.1 (kaum bemerrkbar bei Internet-Installation, teilweise aufgefangen durch eine “Remastered Version”) soll 10.2 nun von Anfang an sauber laufen. Im Serverbereich wurde vor allem Versionskosmetik durchgeführt, Desktop-User dürfen ein neues Startmenü ausprobieren und Xen mit einem neuen grafischen Assistenten einrichten.

Das 4MB-Mini-Linux

Wie aufwendig muss ein minimales Linux-Rettungssystem sein? Die Multicall-Binaries Dropbear und Busybox zeigen, dass ein vollwertiges Linux auf weniger als vier Megabyte Platz hat. Das System kann auf Rootservern benutzt werden, um Backups zu erstellen und zurückzuspielen oder eine Firewall zu realisieren. Im Beispiel boote ich mit einem auf Platte installierten GRUB. Da nur eine Initrd und kein Root-Dateisystem benötigt wird, ist der Boot via PXELINUX aber genauso gut möglich.

Das hier vorgestellte System basiert auf den Komponenten:

Update: Auf cdprojekte.mattiasschlenker.de steht ein fertiges ISO-Image mit vielen IDE- und SATA-Treibern zur Verfügung. Dieses sollte nicht in Produktivumgebungen eingesetzt werden, da es seine IP-Adresse per DHCP bezieht und ein schwaches Rootpasswort (“test”) verwendet!

Continue reading

EXTLINUX: flexibler Bootloader für den Rootserver

Grub ist zu komplex und LILO zu umständlich? Warum nicht einmal den Bootloader EXTLINUX probieren? Der muss wie GRUB nicht nach jeder Kernel-Installation neu aufgerufen werden, ist aber so simpel handzuhaben wie LILO und bietet sogar Menüs. Die Bootloader der Syslinux-Familie kennt man sonst nur von Installations-CDs oder USB-Sticks. Absolut zu unrecht, denn auch auf einer EXT2/EXT3-Partition fühlt sich dieser Loader wohl. Continue reading

Ubuntu als DomU (Xen) “debootstrappen”

Hier geht es lang: Neue Version dieser Anleitung für Ubuntu 10.04 (Lucid Lynx) und folgende auf Xen 3.4 oder 4.0 (oder höher)

Dieser Text ist veraltet und dürfte nur noch für Softwarearchäologen sinnvoll sein:

Mit Version 6-06 LTS (Long Term Support) und der erstmals erhältlichen Variante für den Servereinsatz wird Ubuntu auch für Web- und Mailserver zu einer echten Alternative zu Debian, Suse und Redhat. Doch ein Feature fehlt: Unterstützung für Xen. Wie Sie schlanke Ubuntu-XenU-Domains einrichten, zeigt dieser Artikel. Continue reading

Noch mehr Spaß mit Xen

Für alle, die Xen austesten wollen, habe ich zwei Demo-Images vorbereitet. Beim Ersten handelt es sich um ein frisch gebautes uClibc-Rootfilesystem, das nun mit GCC 4.0.3 und einer gegen die Header von Kernel 2.6.12 gebauten C-Bibliothek für den produktiven Einsatz taugt und trotzdem kompakt ist.

Das zweite ist openSUSE 10.1. Bei diesem ist SSH und XDMCP offen, es dient mehr zum Testen des Desktops und zum Angeben: wer einen schnellen Prozessor und genug RAM hat, kann auf jeder virtuellen Konsole den Desktop einer anderen Distribution laufen lassen.

Mehr Infos derzeit noch in meinem privaten Blog. Eine offizielle Ankündigungen und Torrents folgen.

Alles ganz einfach

In Kundenbeständen habe ich noch einige Warenwirtschaftsserver, die seit ein paar Jahren ohne große Updates laufen. Auf einem tut S.u.S.E. (damals noch mit Punkten) 6.3 seinen Dienst. Diese Rechner wurden nie groß aktualisiert, doch gelegentlich erfordert die sie umgebende Infrastruktur ihren Tribut: mal ist ein neuer Kernel fällig, weil eine Netzwerkkarte gestorben ist und die neue von 2.2.5 nicht erkannt wird, mal will ein RSYNC-Backup in die sich fortentwickelnde Infrastruktur eingebunden werden.

Ich bin nach vielen Problemen dazu übergegangen, die behutsamsten aller Updates vorzunehmen um Seiteneffekte möglichst auszuschließen. Mein Favorit sind derzeit statisch gegen uClibc und die beim Kunden installierten Kernel-Header gelinkte Binaries, die ich per Softlink gegen die alten austausche. Diese sind kompakt und bereiten praktisch keinen Ärger.

Beim Kompilieren hilft das uClibc-RootFS-Image (lässt sich Loopback mounten) und ein gutes Dutzend Configure-Flags sowie ein paar nachträglich installierte Bibliotheken (zlib, openssl…).

Solch eine Aktion mag vordergründig betrachtet dem Kunden teurer kommen als die Lizenzkosten für ein simples Windows-Update. Unterm Strich dürfte jedoch das Unix- oder Linux-System, das einfach mal sieben oder acht Jahre durchläuft mehr Punkte sammeln.

PS: Der betreffende Host ist nur wenigen Kassenterminals “ausgesetzt”. Das mit dem Hacken braucht Ihr gar nicht erst zu probieren…

Rohrleitungsbau

Ih habt Euch schon öfters die Frage gestellt, wie Ihr alle Tabellen und Inhalte einer MySQL-Datenbank schnell und unkompliziert auf einen anderen Server kopiert? Mit einer kleinen Pipeline geht das ganz schnell:

mysqldump -u mattias –password=’geheim’ sourcedb | \
ssh -C mattias@ziel.xyz \
“mysql -u mattias –password=’geheim’ draindb”

Continue reading