Wechseln zu: Navigation, Inhalt

Archiv für JeOS

HowTo: JeOS (Ubuntu-Server) in QEMU mit TUN/TAP-Network-Interface installieren und automatisch starten

QEMU ist ein freier Emulator und Virtualisierer, der das parallele Betreiben anderer Betriebssysteme ohne Neustart erlaubt. Dies ist vorallem sinnvoll, um Testumgebungen für andere Betriebssysteme einzurichten oder um die Hardware des Hosts besser auszunutzen.

Ubuntu Home-Server

Als Erstes installieren wir das qemu-Paket

sudo apt-get install qemu

KQEMU

Zum Virtualisierer wird QEMU allerdings erst mit dem Beschleuniger KQEMU. Dadurch wird der Prozessor nicht emuliert, stattdessen werden die Befehle des Gasts direkt auf dem Prozessor des Hosts ausgeführt (wie bei VMware). Der Gast läuft dadurch schneller.

Die kqemu-Pakete installieren

sudo apt-get install kqemu-common kqemu-source

Berechtigungen setzen

sudo mknod /dev/kqemu c 250 0
sudo chmod 666 /dev/kqemu

KVM

Unterstützt der Prozessor des Hosts Hardwarevirtualisierung, kann das Kernelmodul kvm genutzt werden. Eine Installation von kqemu ist dann nicht notwendig. Die virtuelle Maschine läuft dann fast mit der Geschwindigkeit des Hosts.
Um herauszufinden, ob der Prozessor Hardwarevirtualisierung unterstützt, muss man in der Datei /proc/cpuinfo schauen, ob dort unter flags entweder der Eintrag vmx oder svm vorhanden ist. Schneller geht dies mit folgendem Befehl

grep -E '^flags.*(vmx|svm)' /proc/cpuinfo

Wenn der Prozessor Hardwarevirtualisierung unterstützt, werden die beiden benötigten Kernel-Module normalerweise automatisch geladen. Dies kann man mit folgendem Befehl prüfen

lsmod | grep kvm

Die Ausgabe sollte dann so aussehen

# Für Intel-Prozessoren
kvm
kvm_intel

# Für AMD-Prozessoren
kvm
kvm_amd

Sollten die Module nicht geladen sein, so muss man dies von Hand nachholen.

Wichtig: Manchmal muss man die Hardwarevirtualisierung im BIOS erst aktivieren. Außerdem muss der aktuelle Benutzer Mitglied der Gruppe “kvm” sein.

Festplatten-Images

Im Home-Verzeichnis einen Ordner für die Festplatten-Images anlegen

cd ~
mkdir qemu-images
cd qemu-images

Ein dynamisch wachsendes Image erstellen

qemu-img create -f qcow2 Ubuntu-Server.img 10G

Wichtig: Wenn KVM verwendet wird muss statt qemu [options] [disk_image] einfach nur kvm [options] [disk_image] benutzt werden.

Den Gast das erste Mal starten und dabei das Festplatten-Image Ubuntu-Server.img und das CD-Image ubuntu-8.10-server-i386.iso einbinden, von CD starten und den Bildschirm per VNC bereitstellen

qemu -hda Ubuntu-Server.img -cdrom ubuntu-8.10-server-i386.iso -boot d -vnc :1

Die virtuelle Maschine ist danach über einen VNC-Client via Port 5901 (5900 + Displaynummer) erreichbar.

Da die IP-Adresse des Rechners, auf dem der Gast läuft bei mir 192.168.178.150 ist, lautet der Befehl wiefolgt

vncviewer 192.168.178.150:5901

JeOS (Ubuntu-Server)-Installation

JeOS Installation (01): Language

JeOS Installation (01): Language

JeOS ist eine Ubuntu-Variante, die für den Einsatz in virtuellen Maschinen optimiert ist.
Im Boot-Menü F4 drücken und die Option “Eine minimale virtuelle Maschine installieren” auswählen.

JeOS Installation (02): Optionen

JeOS Installation (02): Optionen

Danach wie gewohnt installieren und beim Punkt “Software auswählen und installieren“, Automatische Updates aktivieren

JeOS Installation (03): Automatische Updates

JeOS Installation (03): Automatische Updates

Bei “Softwareauswahl” habe ich “Basic Ubuntu server“, “LAMP server” und “OpenSSH server” installiert

JeOS Installation (04): Software Auswahl

JeOS Installation (04): Software Auswahl

Das MySQL-Passwort setzen

JeOS Installation (05): MySQL-Passwort

JeOS Installation (05): MySQL-Passwort

Nachdem die Installation abgeschlossen ist, muss die Maschine neugestartet werden, was allerdings zunächst nicht klappt. Deswegen muss man an der Konsole, an der man den Gast gestartet hat, den Prozess mit Strg+C schließen.

Danach startet man die virtuelle Maschine neu, allerdings diesmal ohne CD-Image

qemu /home/benutzername/qemu-images/Ubuntu-Server.img -vnc :1

Man sollte sich nachdem der Gast hochgefahren ist anmelden und erstmal die aktuellen Updates installieren

sudo apt-get update
sudo apt-get upgrade

Bridging

Bridging ist eine Technik, mit der man zwei Netzwerken zusammenschließen kann. Diese Technik wird hier genutzt, um dem Gast einen uneingeschränkten Netzwerkzugang zur Verfügung zu stellen. Auf die virtuellen Maschinen kann so auch von ausserhalb des Hosts zugeriffen werden.

Dazu wird als erstes auf dem Host das Paket bridge-utils mit dem Virtuelle Bridges erzeugt werden können.

apt-get install bridge-utils

Mit dem Programm brctl prüfen, ob schon Bridges existieren

brctl show
bridge name     bridge id               STP enabled     interfaces

Sollte eine Bridge vorhanden sein, kann diese mit folgendem Befehl gelöscht werden.

brctl delbr pan0

Als Nächstes legen wir eine neue Bridge an

brctl addbr bri0

Prüfen, ob die Bridge angelegt wurde

brctl show
bridge name     bridge id               STP enabled     interfaces
bri0            8000.000000000000       no

Im diesem Beispiel sollen die TUN/TAP-Network-Interfaces zweier virtueller Maschinen an die angelegte Bridge angeschlossen werden. Damit können die virtuellen Maschinen an das Netzwerk Host-Rechners verbunden werden. Die Adresse dieses Netzwerkes ist hier 192.168.1.0.

Zuerst wird der noch laufende Gast per VNC heruntergefahren

sudo shutdown -h now

Als nächstes wird er mit TUN/TAP-Network-Interface auf dem Host neugestartet
qemu /home/benutzername/qemu-images/Ubuntu-Server.img -net nic -net tap -vnc :1

Dabei wird im Host-System die virtuelle Netzwerk-Schnittstelle tap0 angelegt. Dies kann mit dem Befehl ifconfig auf dem Host überprüft werden.

ifconfig
eth0 ...
eth1 ...
tap0 ...

Die IP-Adresse der virtuellen Netzwerk-Schnittstelle muss auf dem Host gelöscht werden

ifconfig tap0 0.0.0.0 up

Als Nächstes wir die virtuelle Netzwerk-Schnittstelle der Bridge bri0 zugeordnet

brctl addif bri0 tap0

Die Zuordnung überprüfen

brctl show
bridge name     bridge id               STP enabled     interfaces
bri0            8000.76674ec80764       no              tap0

Die Bridge erhält nun eine freie IP-Adresse im Netzwerk des Hosts

ifconfig bri0 192.168.178.160 up

Nun kann im Gast per VNC eine freie IP-Adressen des Host-Netzwerkes zugeordnet werden

sudo vi /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
    address 192.168.178.151
    netmask 255.255.255.0
    gateway 192.168.178.1

Anschließend wird der Netzwerkdienst des Gasts neugestartet

sudo /etc/init.d/networking restart

Damit auch die Netzwerkkarte des Host-Systems an die Bridge angeschlossen ist, wird die alte IP-Adresse gelöscht und anschließend das Netzwerk-Interface des Hosts der Bridge zugeordnet

ifconfig eth0 0.0.0.0 up && brctl addif bri0 eth1

Damit die Bridge auch nach einem Neustart zur Verfügung steht, wird die Netzwerk-Konfiguration des Hosts angepasst

auto lo
iface lo inet loopback

iface eth0 inet manual

iface eth1 inet manual

auto bri0
iface bri0 inet static
       address 192.168.178.150
       network 192.168.178.0
       netmask 255.255.255.0
       broadcast 192.168.178.255
       gateway 192.168.178.1
       bridge_ports eth1
       bridge_fd 9
       bridge_hello 2
       bridge_maxage 12
       bridge_stp off

Falls keine statische IP-Adresse sondern eine des DHCP-Servers zugewiesen werden soll, muss diese Konfiguration verwendet werden:

auto lo
iface lo inet loopback

iface eth0 inet manual

iface eth1 inet manual

auto bri0
iface bri0 inet dhcp
       bridge_ports eth1
       bridge_fd 9
       bridge_hello 2
       bridge_maxage 12
       bridge_stp off

Anschließend wird der Netzwerkdienst neugestartet

sudo /etc/init.d/networking restart

SSH-Zugang konfigurieren

Man sollte sich nun mit der dem Gast zugewiesenen IP-Adresse 192.168.178.151 dort anmelden können

ssh 192.168.178.151

Zunächst fahren wir den Gast aber per SSH herunter

sudo shutdown -h now

Der Server kann nun ohne grafische Ausgabe gestartet werden, da er per SSH erreichbar ist, zusätzlich wir der Arbeitsspeicher des Gastes auf 192 MB erhöht (Voreinstellung: 128 MB)

qemu /home/benutzername/qemu-images/Ubuntu-Server.img -net nic -net tap -m 192 -localtime -k de -nographic

Nach dem Startvorgang erneut am Gast anmelden

ssh 192.168.178.151

Es empfiehlt sich den OpenSSH-Server noch weiter abzusichern (mit Authentifizierung über öffentliche Schlüssel), wie hier beschrieben.

QEMU in den Systemstart einbinden

Um die virtuellen Maschinen nicht jedes mal von Hand starten zu müssen, empfiehlt es sich ein Start-Skript zu verwenden. Normalerweise reicht es aus folgende Zeilen der Datei /etc/rc.local vor dem Eintrag exit 0 hinzuzufügen.

qemu /home/benutzername/qemu-images/Ubuntu-Online.img -net nic -net tap -m 192 -localtime -k de -nographic &
sleep 2
qemu /home/benutzername/qemu-images/Ubuntu-LAN.img -net nic -net tap -m 192 -localtime -k de -nographic &

Dies startet 2 virtuelle Maschinen mit einem Abstand von 2 Sekunden. Das & bewirkt, dass der Prozess im Hintergrund abläuft und nicht die Konsole blockiert.

Links


Einstieg in Ubuntu 8.04 LTS

Ubuntu ist ein einfach installier- und bedienbares Betriebssystem, dass einen einfachen Einstieg in die “Linux-Welt” bietet und zusätzlich viele gute Software mitbringt. Ein zusätzliches Plus ist die sehr freundliche und aktive Community und die Möglichkeit, das System auf die eigenen Wünsche und Vorstellungen anzupassen. Mittlerweile ist es zu einer der meist benutzten Linux-Distributionen geworden.

Ubuntu-Logo

Ubuntu-Logo

Die jüngste Version 8.04 nennt sich Kühner Reiher (Hardy Heron) und wird dank verlängertem Support (LTS) voraussichtlich bis Mitte 2011 mit Updates versorgt werden.

Ich werde in diesem Artikel auf die Möglichkeiten von Ubuntu, verschiedene Programme, die möglichen Desktopumgebungen und einige Fragen, die sich bei einem Umstieg von Windows eventuell ergeben, eingehen.

Vorteile:

  • Kostenlos
  • Einfache Bedienung
  • Automatische Treiber-Installation
  • Automatische Codec-Installation
  • Hilfsbereite Community

Was man mitbringen sollte:

  • Spaß etwas neues auszuprobieren
  • Linux-Kenntnisse sind nicht zwingend erforderlich

Neues in Version 8.04:

Wubi

Wubi unter Windows XP

Die neueste Ubuntu Version 8.04 bietet das Windows Programm “Wubi”, mit dem man ganz einfach ein Dual-Boot-System aufsetzen kann. Man kann dann beim Start zwischen Windows und Ubuntu auswählen. Dabei wird Ubuntu in virtuelle Festplatten installiert, sodass man es im “Notfall” ganz einfach über die Systemsteuerung deinstallieren kann.
Wubi-Download: http://de.archive.ubuntu.com/ubuntu-releases/8.04/wubi.exe

Killerkriterien für ein Betriebssystem

  • Einfache Bedienung. Man muss nicht erst Programmieren lernen, um loslegen zu können.
  • Effizienz. Die Anwendungen lassen sich leicht und schnell bedienen. Man muss sich nicht dauernd um Updates oder Treiber kümmern und es “funktioniert einfach”.
  • Hardwareunterstützung. Die peripheren Geräte (Drucker, Monitor, …) funktionieren meist ohne großen Konfigurationsaufwand.
  • Aussehen. Wem das Design von Ubuntu nicht gefällt, der kann es ganz leicht den eigenen Wünschen anpassen.
  • Support. Falls irgendwas nicht funktioniert, gibt es viele hilfsbereite User in Foren.

Ich habe bisher Windows benutzt, kann ich meine Programme weiterverwenden?

Für viele Nur-Windows-Programme gibt es mittlerweile Pendants in Linux.

Ein paar Beispiele:

Software kann man bei Ubuntu ganz leicht über die Paketverwaltung installieren!

Falls es für ein Programm (z.B. ein bestimmtes Spiel) wirklich kein Pendant geben sollte, kann man mittlerweile vieles mit WINE (Windows-kompatible Umgebung für Programme) trotzdem weiterbenutzen.

GNOME, KDE, Fluxbox oder Xfce – Verschiedene Desktops im Überblick

Bei Ubuntu hat man die Qual der Wahl zwischen verschiedenen Desktop-Umgebungen:

Ubuntu (GNOME)

Ubuntu 8.04

Ubuntu 8.04

Sehr einfach zu bedienen und benutzerfreundlich, bietet aber auch viele Möglichkeiten zum Selbstgestalten.

Viele freie Designs für GNOME-Desktops kann man sich unter GNOME-Look.org anschauen und gleich herunterladen.

Wie verschieden GNOME aussehen kann, zeigt diese Galerie.

Kubuntu (KDE)

Kubuntu 8.04

Kubuntu 8.04

Windows-ähnliches Design.

Wie verschieden KDE aussehen kann, zeigt diese Galerie.

Xubuntu (Xfce)

Xubuntu 8.04

Xubuntu 8.04

Sehr einfach gehalten und ressourcensparend.

Wie verschieden Xfce aussehen kann zeigt diese Galerie.

Ubuntu Studio (GNOME)

Ubuntu Studio 8.04

Ubuntu Studio 8.04

Ein für den Videobereich erweitertes Ubuntu mit GNOME Desktop.

Wie verschieden Ubuntu Studio und andere Abwandlungen aussehen können zeigt diese Galerie.

Weitere Abwandlungen können hier nachgelesen werden.

FAQ:

Funktioniert Linux überhaupt auf meinem Computer?

Auf den meisten Geräten kann man Ubuntu ohne Probleme installieren, aber am Besten einfach Ausprobieren.

Funktionieren meine Periphäriegeräte nachher noch?

Auch hier dürfte es meistens keine Probleme geben. Falls doch, einfach in einem Forum nachfragen.

Kann man Linux parallel zu Windows installieren?

Ja! Es gibt seit Ubuntu 8.04 die Möglichkeit, Ubuntu in Windows mit dem Programm Wubi zu installieren. Dies hat den Vorteil, dass, falls es einem wider erwarten nicht gefallen sollte, man es sehr einfach wieder entfernen kann. Sollte man dann irgendwann Ubuntu “richtig” installieren wollen, muss man eine Partition für Ubuntu reservieren. Diese muss mindestens 5 GB groß sein, wenn man viele Anwendungen nutzen will darf sie aber auch gerne größer sein. Der Ubuntu-Installationsassistent hilft aber auch beim Verkleinern der vorhandenen Partitionen.

Muss man alle Dateien doppelt speichern oder kann man sie (wenn sie z.B. auf eine dritte Partition gespeichert sind) von beiden Systemen nutzen?

Nein, die Dateien müssen nicht doppelt gespeichert werden, man kann sie entweder auf eine dritte Partition legen oder direkt auf die NTFS-Partitionen von Windows zugreifen.

Ist die (parallele) Installation für einen interessierten Laien machbar?

Auf jeden Fall! Der Ubuntu Installer unterstützt einen sogar beim Einteilen der Festplatte, man sollte aber vorher trotzdem unbedingt ein BACKUP machen.

Ubuntu, Debian oder überhaupt was anderes?

Ubuntu basiert auf Debian, einem freien Betriebssystem, dass den Linux-Betriebssystemkern verwendet. Ubuntu hat das Ziel, ein einfach installier- und bedienbares Betriebssystem mit aufeinander abgestimmter Software zu bieten. Für Ubuntu sprechen außerdem die sehr aktive Community und die Möglichkeit, das System nach den eigenen Wünschen anzupassen.

Für den Fall, dass etwas nicht funktioniert

Fragen kann nie schaden

Falls irgendetwas nicht funktionieren sollte oder ein Problem auftritt, am Besten eine möglichst genaue Fehlerbeschreibung in einem der vielen Foren (siehe “Sinnvolle Links”) posten. Fast immer findet sich ein freundlicher Helfer.

Wenn alle Stricke reißen ;-)

Linux Unser,
Der Du bist im Kernel,
Geöffnet sei Dein Swap-File,
Dein KDE komme,
Dein Bash-Command geschehe,
Wie in Red Hat so auch in Suse.
Unser täglich Login gib uns heute,
Und vergib uns unsere zu kleine Festplatte,
Wie auch wir vergeben Dir Deiner Installation.
Und führe uns nicht in die Kernel-Panik,
Sondern erlöse uns von Microsoft.
Denn Dein ist das Netz
Und die Festplatte
Und die Stabilität
In Ewigkeit
Enter!

Links