LXC .. virtuelles Linux unter Linux

The LXC package combines these Linux kernel mechanisms to provide a userspace container object, a lightweight virtual system with full resource isolation and resource control for an application or a system.

Linux Containers take a completely different approach than system virtualization technologies such as KVM and Xen, which started by booting separate virtual systems on emulated hardware and then attempted to lower their overhead via paravirtualization and related mechanisms. Instead of retrofitting efficiency onto full isolation, LXC started out with an efficient mechanism (existing Linux process management) and added isolation, resulting in a system virtualization mechanism as scalable and portable as chroot, capable of simultaneously supporting thousands of emulated systems on a single server while also providing lightweight virtualization options to routers and smart phones.

Kurz gesagt, LXC verwendet den Kernel und die Ressourcen des Host-Systems und stellt diese dem “Gast” zur Verfügung. Es wird kein “PC / Hardware” emuliert, wie das z.B. bei Virtual Box der Fall ist. Der Vorteil von LXC ist unter anderem, dass die Ressourcen optimal ausgenutzt werden, Nachteil ist, dass nur Linux unterstützt wird. Wer Windows benötigt, der muss auf eine Virtualisierungslösung (Virtual Box / VMware) zurück greifen.

LXC unterstützt grundsätzlich zwei unterschiedliche Arten der Virtualisierung:
1) Anwendung
2) Betriebssystem

Bei einer “Anwendung Virtualisierung” wird nur die Anwendung im “Container” ausgeführt “sudo lxc-execute -n CONTAINERNAME /bin/bash”, auf diese Funktion werde ich nicht weiter eingehen. Ich habe einige Zeit gebraucht, um zu verstehen, wie das geht und was damit nicht geht.

Bei einem Betriebssystem sieht das ganz anders aus, hier wird das gesamte System gestartet und kann wie eine “normale” VM behandelt werden. Über den Befehl:

sudo lxc-create -t ubuntu -n CN

wird ein Ubuntu Container mit dem Namen “CN” erstellt. Alle notwendigen Programme sind in diesem Container enthalten. Dieser Container verhält sich wie ein eigenes Ubuntu System, welches kaum Ressourcen benötigt und sehr schnell ist. Diesen Container verwende ich für Testinstallationen / Serverkonfigurationen und Tests von Scripts.

Nachtrag:  Templates (installiert) gibt es für folgende Systeme

/usr/lib/lxc/templates/lxc-busybox
/usr/lib/lxc/templates/lxc-debian
/usr/lib/lxc/templates/lxc-fedora
/usr/lib/lxc/templates/lxc-opensuse
/usr/lib/lxc/templates/lxc-sshd
/usr/lib/lxc/templates/lxc-ubuntu
/usr/lib/lxc/templates/lxc-ubuntu-cloud

Installation von LXC:

sudo apt-get install lxc

Das war’s auch schon eigentlich braucht man nicht mehr, die Befehle zum Erstellen/ Starten/ Stoppen/ Pause/ Löschen etc. werden im Terminal ausgeführt.

Ich habe noch zusätzlich folgendes installiert:

sudo apt-get install libvirt-bin
sudo apt-get install virt-manager

Über den Virt-Manager können LXC Container (Anwendung / Betriebssystem) angelegt und verwaltet werden (Start, Stop etc. und Ressourcen CPU, Ram etc.). Über diese GUI kann allerdings kein Betriebssystem Container erzeugt werden, das muss per Hand gemacht werden (sudo lxc-create -t ubuntu -n CN). Der Container befindet sich dann unter /var/lib/lxc/CN. Das Filesystem, was bei der Einrichtung im Virt-Manager angegeben werden muss ist dann /var/lib/lxc/CN/rootfs

Die Einrichtung mit dem Virt-Manager geht dann wie folgt vor sich:

(Hier Beispiel Einstellungen CN)


Fertig, der Ubuntu Container kann verwendet werden. Ein X-System ist nicht drauf installiert, dann muss man bei Bedarf selber machen (nicht zu empfehlen). Ich verwende mehrere Container für die Software Entwicklung und Tests.

1) N-00 Apache, PHP, Tools
2) N-02 Ruby, Rails, lighttpd
3) D-01 mysql, SQLite
4) T-01 Tsung Injector 01
5) T-01 Tsung Injector 02

Alle 5 Container laufen gleichzeitig auf meinem Macbook Pro ohne Probleme. Bei extremen Lasttests mit Tsung, geht der Rechner in die Knie, gut für Grenzlast Tests.

Ein Gummi … für LaTeX

Gummi ist ein kleiner, schneller Editor für LaTeX Dokumente. Gummi erzeugt automatisch ein PDF Preview des LaTeX Dokumentes. Gummi (0.6.1) kann auch mit Mehrfachdokumenten richtig umgehen. Die “Testdatei” besteht aus 12 LaTeX Dateien mit etwas über 260 Seiten. Leider gibt es noch keine Möglichkeit die “Seiten” der Einzeldokumente mit PDF Vorschau anzeigen zu lassen. Damit kann man aber leben.

Seit der Version 0.3 hat sich wirklich viel geändert, Fehler im Dokument werden jetzt in Verbindung mit dem verwendeten “\usepackage{}” angezeigt, was bei der Fehlersuche recht praktisch ist. Gummi unterstützt Bibliografien, das Einfügen von Bildern, Tabellen, Matrix, Rechtschreibung und vieles mehr.

Was mich immer wieder beeindruckt ist, wie schnell die PDF Vorschau im Hintergrund erzeugt wird, so macht das Arbeiten richtig Spaß. Gummi ist für kleinere Projekte perfekt geeignet, bei Projekten mit 100 Einzeldateien streikt Gummi und die PDF Vorschau wird extrem langsam.

Photo Metadaten bearbeiten mit jhead und iptc

Es hat doch eine ganze weile gedauert, bis ich alle Programme auf meinem neuen Rechner (Zotac ZBOX PLUS ID41) wie der installiert habe.

Ein Problem blieb allerdings noch, 6000+ Photos umbenennen, die “Schlagwörter” in den Photos ändern und das Datei Datum auf das Bild Datum setzen. Bis jetzt hatte ich alle Bilder so organisiert,
das ich Unterverzeichnisse angelegt und dort dann die Photos rein kopiert habe (/Bilder/Graz/Schlossberg/img001.jpg). Shotwell ignoriert solche Verzeichnisse und nimmt nur das Photos, was man dann nicht wirklich wieder findet.

Zuerst musste ich alle Bilder umbenennen, viele verschiedene Kameras erzeugen viele verschiedene Dateinamen und meine neue Sony verwendet den gleichen Bild Präfix wie meine Sony A200. Das führt zu Problemen. Man kann sich dafür ein Script schreiben, was einen neuen Dateinamen+[Serie] für die Photos setzt. Ich habe mir ein kleines Mono Programm geschrieben dafür geschrieben. Ich wollte auch gleich die “Keywords” in den Photos so ändern, wie in der Dateiablage [Graz, Schlossberg]. Was dann noch fehlt ist das setzen des richtigen Datei Datums, dies soll den Aufnahme Datum entsprechen.

Dafür benötigt man folgende zusätzliche Programme:

sudo apt-get install libiptcdata-bin
sudo apt-get install jhead

Schlüsselwörter “Keywords” werden dann mit dem Befehl:

iptc -m Keywords -v “Graz, Schlossberg” 100_0813.jpg
iptc -a Keywords -v “Graz” 100_0813.jpg
iptc -a Keywords -v “Schlossberg” 100_0813.jpg

gesetzt. Das “-m” steht für Ändern und das “-a” steht für Hinzufügen, ich habe das “Ändern” verwendet.

Mit jhead kann man das Datei Datum auf das Bild Datum setzen

jhead -ft 100_0813.jpg

Mein kleines Mono Programm, was mit einer Liste von Dateinamen gefüttert wird, macht dann aus dieser Liste ein Shell Script:

mv /../../Dateiname_Alt.jpg /../../DCM00[Serie].jpg
iptc -m Keywords -v “Graz, Schlossberg” /../../DCM00[Serie].jpg
jhead -ft /../../DCM00[Serie].jpg

und das für 6000+ Photos. Umständlich das ganze aber recht praktisch, im Shell Script kann man nachträglich noch Änderungen durchführen. Auf meinem Zotac hat das ganze 14 Minuten gedauert, die Festplatte ist eben nicht die schnellste.  Es gibt zusätzlich noch eine ganze menge von Möglichkeiten, die man mit seinen Photos auf diese Art und Weise anstellen kann. Das Mono Programm kann ich jeder Zeit anpassen und erweitern, eventuell werde ich die Photos (mit Ortsangaben) automatisch mit Geo Tags versehen.

Ubuntu 12.04 auf dem Zotac ZBOX PLUS ID41

Mein neues Spielzeug Zotac ZBOX PLUS ID41 Mini-PC (Intel Atom D525, 2GB DDR3-800, 250GB HDD, Next Generation NVIDIA ION 512MB, WLAN) ist gestern angekommen.

 

Zusätzlich habe ich mir noch ein 2 GB Ram Modul bestellt, was sehr einfach einzubauen war. Die Installation von Ubuntu 12.04 amd64 verlief eigentlich ohne Probleme. Das einzige Problem was ich hatte war, das dass Internet immer wieder zusammengebrochen ist, Provider Problem. Dadurch dauerte die Installation recht lange.

Irgendwann beim Software Update war dann die Internet Verbindung komplett weg. Ich musste dann meinen UMTS USB Stick bemühen, um die Updates und die Installation von weiteren Programmen durchführen zu können.

Der Zotac Rechner ist klein, Stylisch und enorm leise, kein Vergleich zu meinen (alten) Imac oder HP Notebook. Die Leistung des Intel Atom D525 (Dualcore) ist erfreulich hoch, Libre Office, Gimp, Darktabe, Stellarium, Blender, VLC etc. starten genau so schnell wie auf jedem anderen Rechner mit einem schnelleren Prozessor.
Alle Programme inkl. Blender lassen sich ohne Probleme und Verzögerungen voll nutzen, der Geschwindigkeitsunterschied zu anderen Rechner ist kaum bemerkbar. Blender braucht zum Rendern von allerdings etwas länger, damit kann ich aber leben.

Als Video Player verwende ich den VLC, in den Einstellungen (Input & Codecs) muss die Option “Nutze die GPU-Beschleunigte Decodierung” ausgewählt werden. Auf diese Weise lassen sich HD Videos in Full HD wiedergeben, ohne das es ruckelt. Ich habe ein 24″ 16:9 Monitor und der Zotac Rechner ist über HDMI angeschlossen und liefert nicht nur bei Videos ein scharfes und sehr gutes Bild.

Die Prozessorauslastung beim Decodieren von Full-HD Videos liegt bei ca. 43%, nebenbei kann man noch mit Blender arbeiten, im Internet Surfen und noch einen Brief mit Libre Office schreiben, die Prozessorauslastung liegt dann bei 89%.

Das der Zotac so gut läuft, hatte ich nicht erwartet, man kann mit dem Rechner ganz normal arbeiten wie mit jedem anderen (schnelleren) auch. Ich werde den Zotac zu meinem Arbeitsplatzrechner machen, ich mag es leise. Die eingebaute WLAN Karte, die öfter bemängelt wurde, ist wirklich nicht die beste. Ansonsten gibt es am Zotac nichts auszusetzen.

He’s dead, Jim

Zuerst das HP Notebook und jetzt auch noch mein (Reserve) Imac (von 2007) ich glaub es ja nicht. Seit Montag kämpfe ich mit dem HP Kundendienst, der mir einreden will, das man nur die neuesten Windows 7 Treiber installieren muss, damit das Notebook wieder läuft. WAS nützt mir das unter Ubuntu ? .. keine Antwort. Nie wieder ein HP Gerät, das Notebook war definitiv das “letzte”, genau wie der HP Support.

Mein Imac hatte schon lange Probleme, mal Bootete er nicht (ohne Fehlermeldung) dann wollte die WLAN Hardware nicht so richtig, das eingebaute DVD Laufwerk frisst und zerstört DVD’s. Nicht ganz optimal das ganze, als Backup Rechner taugt die Hardware auch nicht mehr. Ich hoffe, das ich den HP Support noch davon Überzeugen kann, das Notebook zu reparieren. Der Vorgang ist schwieriger und langwieriger als gedacht. Ich rechne mal mit 3 – 4 Wochen, eine lange Zeit ohne Rechner.

Ich brauche also was neues .. günstig, leise und schnell genug für Ubuntu 12.04, und die “Neue” soll später dann als Media-PC sein da sein fristen. Lange habe ich gesucht, ein Kollege hatte sich vor einiger Zeit eine ZOTAC ZBOX ID41 (Intel Atom D525, 2GB DDR3-800, 250GB HDD, Next Generation NVIDIA ION 512MB, WLAN) Hardware geleistet und ist damit sehr zufrieden. Die Leistung reicht für Spiele, Video / DVD in “full” HD aus. Der Intel Atom ist ein DualCore mit 4 Threads, was auch für anspruchsvolle Textverarbeitung, Photo Bearbeitung völlig ausreicht. Für Video Bearbeitung ist die Hardware nicht geeignet.

Für meine Zwecke und das Backup Rechner reicht die Konfiguration aus, allerdings sollte man sich zusätzlich 2 GB Ram leisten. Im laufe der nächsten Tage wird die Hardware bei mir eintreffen und ich bin schon gespannt, wie schnell Ubuntu 12.04 auf dem Rechner laufen wird.