Archiv der Kategorie: Linux

Samba über das Internet tunneln

Ich sitze gerade an meinem Arbeitsplatz in der FH und lerne für die Prüfungen in der nächsten Woche (5 Stück an drei Tagen *ächz*). Da meine Kollegin ihren Laptop nach der Liveübertragung (Stream) vom Spiel Japan – Mexiko zusammengepackt hat und nach Hause gegangen ist, hab ich mich nach anderweitigen medialer Seitenberieselung umgesehen. Allerdings hatte ich spontan keine Lust auf die Internetradios, die ich in den Bookmarks habe.

Zeit für ein kleines Experiment: Komme ich von hier irgendwie auf meinen Homeserver, um dort meine eigene Musik zu hören bzw. ggf. sogar Videomaterial zu streamen?

Technisch kein Problem: Über DynDNS komme ich an meine öffentlich Heim-IP. Mit einem SSH-Tunnel wiederum auf den Server und bin somit auch im lokalen Netzwerk. Eine Portweiterleitung vom Samba-Port des Homeservers auf einen freien lokalen hier in der FH und mir steht der Zugang zu den Daten offen.

Voraussetzung: Öffentlicher SSH-Zugang, eingerichtete Freigabe im Heimnetzwerk, dynamisches DNS um die öffentliche IP-Adresse zu bekommen

Unter Linux (Ubuntu) geht das auf dem Client-Rechner so:

[Über SSH anmelden und Session offen halten]
user@client:~$sudo ssh 127.0.0.1:139:192.168.0.1:139 remoteuser@zuhause-url

[Mountpoint erstellen]
user@client:~$sudo mkdir  /mnt/samba1

[Share mounten]
user@client:~$smbmount //127.0.0.1/NameDerFreigabe /mnt/samba1

Dabei sind folgende Variablen sinnvoll zu ersetzen:

  • IP-Adresse des Samba-Servers im heimischen LAN (oben: „192.168.0.1“)
  • Benutzername und IP/Domain des öffentlich sichtbaren SSH-Servers (oben: „remoteuser@zuhause-url“)
  • Name der Samba-Freigabe (oben: „NameDerFreigabe“)
  • ggf. Portnummern (samba -> 139, oben: auf beiden Seiten des Tunnels)

Danach hat man über den Mountpoint transparenten Zugriff auf die freigegeben Daten. Die Übertragung erfolgt standardmäßig mit 128bit AES-Verschlüsselung (SSH-2).

Im Test zeigte sich, dass mein Upload zu Hause leider nicht ausreicht, um auf diesem Weg Videodaten in Echtzeit zu übertragen, wie ich sie auf dem Server habe. Musik ist dagegen (mit derzeit 192 kb/s) gar kein Problem – absolut stabil. Wenn ich mir die nackten Zahlen ansehe, sind es gerade einmal ~400 kbit die durchschnittlich über die Leitung gehen. Das ist knapp die Hälfte von dem, was man im günstigsten aller Fall für SD-Material mit aktuellen Codecs in brauchbarer Qualität noch benötigen würde.

Vielleicht ist ja jemand da draußen mit einer besserer Anbindung gesegnet und kommt drum herum, sein Videomaterial (ggf. onthefly) umzukodieren und/oder wirklich als Stream aufzubereiten. Unter dem Stichwort DLNA kann man in der Richtung bestimmt noch so einiges an Tutorial finden. Da mach ich mir mal Gedanken drum, wenn ich weniger zu tuen habe und einen DLNA-fähigen Fernseher mein Eigen nenne. 🙂

Gnome 3 aus dem PPA

Ich konnte es doch nicht lassen und habe mit Gnome 3 das System ins Wanken gebracht. Nach der Installation lief – bis auf die aktualisierte Gnome-Shell – gar nichts mehr direkt aus dem Display-Manager.

Gnome 3 Desktop

Gnome 3 kommt wie Unity mit einem sehr aufgeräumten Top-Panel daher, das sich ebenfalls nicht anpassen lässt. Am linken Rand gibt es einen Button „Aktivitäten“ hinter dem sich ein Bildschirm-füllendes Fenster versteckt. Links eine vertikale Schnellstart/Auswahliste, in der Mitte das aktuelle Fenster bzw. am oberenen Rand auswählbar das Programmmenü und auf der rechten Seite die Auswahl der Arbeitsfläche.

Am unteren Rand werden Statusmeldungen der aktiven Anwendungen angezeigt. Die Funktionalität auf der Arbeitsfläche Starter anzuordnen, ist nicht vorhanden. Ob dies auch zum Paradigmenwechsel gehört, Konfigurationssache oder nur Manko der PPA-Version ist, kann ich nicht beantworten.

Anhand der auf den ersten Blick ersichtlichen minimalen Unterschiede zwischen Unity und Gnome3, lässt sich der Grund für die Entscheidung von Canonical den Desktop zu wechseln nicht ablesen. Man hört ja munkeln, dass es bei der zukünftigen Entwicklung die Plattformen weiter auseinander driften sollen.

Abgesehen vom offensichtlichen Nachteil, dass man Gnome3 nicht aus den offiziellen Quellen installieren kann, fühle ich mich bei Unity spontan wohler.

Wer es unter Ubuntu 11.04 ausprobieren möchte (mit den bekannten Risiken, wenn man viele Pakete aus fremden Quellen einspielt):

sudo add-apt-repository ppa:gnome3-team/gnome3
sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install gnome-shell
sudo apt-get remove gnome-accessibility-themes
sudo apt-get install gnome-themes-standard

Um nach dem Ausflug sein System wieder in einen annähernd ursprünglichen Zustand zurückzuführen, hilft das ppa-purge Tool, mit dem alle über ein PPA aktualisierten Pakete wieder hergestellt werden.

sudo apt-get install ppa-purge
sudo ppa-purge  ppa:gnome3-team/gnome3

Beagleboard will noch nicht wie ich

In ein paar Tagen möchte ich meine Bachelorarbeit anmelden, doch die Angstrom Distribution auf dem Beagleboard macht Ärger. Mit ist es bisher nicht gelungen ein Image zu erstellen, mit dem ich wirklich arbeiten kann. Zumindest die Hürde mit den inkompatiblen Versionen des U-Boot Bootloaders habe ich inzwischen überwunden.

Jedes Image, das ich über den Online-Build-Service Narcissus erstellt habe, bricht leider beim Bootvorgang mit einem Kernel-Panic ab oder wirft mich ohne aussagekräftige Fehlermeldung auf eine Notfall-Shell.

Mit dem aktuellen Beagleboard-Demo-Image komme ich derzeit noch am weitesten:

Ethernet über USB, USB Stick, Tastatur und Maus funktionieren. SSH-Shell, SFTP – das ist ein Anfang. Selbst der X11-Server mit Enlightment startet und lässt sich etwas stockend bedienen. Damit sind zumindest theoretisch die meisten Voraussetzungen bereits gegeben.

Es fehlen nur noch ein Compiler, um die DSPLink Examples auf dem Board bauen zu können und die Utilities für die ALSA Schnittstelle, um dort die Aufnahme und Ausgabe testen zu können. Das alles sollte meiner Meinung nach über das OPKG Paketemanagement-System installierbar sein. Leider schlägt ein einfaches opkg upgrade wegen Speicherproblemen schon beim Download der Pakete fehl. Da ich das Beagleboard mit seinen 256MB Ram ohne SWAP-Space betreibe, treten die Probleme recht schnell auf und es werden zufällige Prozesse abgeschossen, bis es auch den opkg-Prozess erwischt.

Mein Enlightment hat es dabei schon  erwischt und will nicht starten.

Wäre nur das Wiederherstellen des ursprünglichen Zustands nicht so zeitaufwändig:
Zwei Gigabyte per dd über einen Cardreader auf die SDHC-Karte zu bekommen dauert einfach ewig (~2 MB/ Sekunde).

Der BurnOut ist aber noch fern, auch wenn ich so langsam gerne mit der „richtigen“ Arbeit beginnen würde. 😉

Die nächsten Optionen: SWAP auf USB-Stick (langsam) und externes manuelles Übertragen der richtigen Pakete auf die SD-Karte.

Festplatten unter Ubuntu klonen

Vor zwei Wochen hatte ich mich hier über den wachsenden Speicherhunger meiner Spielepartition beschwert, die nicht mehr auf die 160GB Systemplatte passen wollte. Aus diesem Grund (und um meinen Server auf die kommende Bachelorarbeit vorzubereiten) lag gestern u.a. eine neue Festplatte im Briefkasten bzw. beim Nachbarn.

Das Klonen der gesamten Festplatte mit dd aus Ubuntu heraus wollte aber zunächst nicht klappen. Nach 21 GB gab es einen Input/Output-Error und das Tool brach ab. Trotzdem an dieser Stelle ein kleiner Tipp, um lange Datentransfers ohne Ausgabe durch Pipes zu überwachen: Der kleine Befehl pv schreibt die Datenrate und die übertragene Datenmenge auf die Standardausgabe und ist nicht sonderlich bekannt.

1
dd if=/dev/sdx of=/dev/sdy

wird zu

1
dd if=/dev/sdx | pv | dd of=/dev/sdy

Aber zurück zur Festplatte: Weiterlesen

Grub-Durcheinander

Mich hat es vorgestern Abend beim Update auf Ubuntu 9.10 Karmic seit langem mal wieder so richtig erwischt. Nach dem Update (und vorheriger Sicherung) war Grub nicht mehr in der Lage seine Daten zu finden. Eventuell hatte sich das Problem aber schon vorher entwickelt, denn trotz separater Boot-Partition in der sich zumindest nach der Installation zwei recht aktuelle Kombinationen aus Kernel/Initrd befanden, war auch der unbenutzte Mountpoint auf der root-Platte voller Kernel deutlich älterer Bauart – wie ich mithilfe einer GRML-LiveCD heraus fand. Grub könnte sich also die gesamte Zeitspanne seit 9.04 aus diesem Verzeichnis bedient haben. Und zu meiner Schande muss ich gestehen, dass ich nie bewusst kontrolliert habe, ob der jeweils aktuelle Kernelversion auch korrekt im Bootmenü angezeigt wurde.

Kernel-Updates wurden korrekt auf die boot-Partition installiert, während der Bootmanager noch immer seine Auswahl aus dem /boot Verzeichnis bezog und den immer gleichen Kernel bootete. Sicherheitslücke hoch 2!

Genau zurückverfolgen, kann ich dies jetzt nicht mehr – dafür habe ich bei der Fehlersuche schon zu viel überschrieben – aber diese Version scheint in meinen Augen am plausibelsten zu sein.

Karmic als Ganzes hat ja schon einiges an negativer Presse über zerstörte Installationen bekommen, aber dies muss ich mir wohl doch selber zuschreiben. Abgesehen von diesem Problem, das mich einige Stunden gekostet hatte (ändern, booten, grml rein, wieder booten, grub konsole, …) läuft aber alles wieder sauber und stabil.

Projekt: Homeserver von CompactFlash

Die Hardware lag schon einige Zeit bei mir herum:

  • Jumtec CoolMonster CMP/P166L
    Ein Industrie-Board mit PISA-Schnittstelle (ISA+PCI vereint), auf dem ein low-power Pentium 1 MMX mit 166 MHz arbeitet. Typische Leistungsaufnahme <10W dank embedded CPU.
  • 128MB SDRAM
  • PISA Backplane mit einigen PCI und ISA Steckplätzen
    Spannungsversorgung über die alten AT-Stecker oder über Schraubklemmen.
  • PCI-Netzwerkkarte mit Realtek 8139 Chipsatz
  • Dual-CompactFlash Adapter mit einer 8GB CF-Karte
  • Netzteil mit 12V und 5V
    Inzwischen in einem alten ATX-Netzteil verbaut, damit es ausreichend belüftet und geschützt in ein normales Gehäuse passt. Zudem liegt der Eingang auf einer Kaltgeräte-Buchse und lässt sich mit einem Schalter unterbrechen.
  • 19 Zoll Gehäuse mit 4 HE

Ausgabe von lspci:

00:00.0 Host bridge: ALi Corporation M1541 (rev 04)
00:01.0 PCI bridge: ALi Corporation M1541 PCI to AGP Controller (rev 04)
00:07.0 ISA bridge: ALi Corporation M1533/M1535/M1543 PCI to ISA Bridge [Aladdin IV/V/V+] (rev c3)
00:09.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
00:10.0 IDE interface: ALi Corporation M5229 IDE (rev c1)
00:14.0 USB Controller: ALi Corporation USB 1.1 Controller (rev 03)
01:02.0 VGA compatible controller: Chips and Technologies F69000 HiQVideo (rev 64)

Die Installation des Basis-Systems nahm ich in einem zweiten Rechner vor, da ich ohne neue Kabel zu verlegen, neben dem Board nur noch den CF-Adapter versorgen konnte. Leider unterstützt das „Monster“ weder das Booten von USB, noch von einer präparierten zweiten CF, die das Dateisystem einer Install-CD (syslinux) enthält. Also baute ich den Adapter zunächst in einen Rechner mit optischem Laufwerk ein.
Weiterlesen

Der letzte Zufluchtsort

Neuinstallationen stürzen mich in schöner Regelmäßigkeit in die Krise. In dieser Minute läuft auf meinem PC nur noch die Ubuntu Installation.

Bei der „Rückabwicklung“ meiner Windows XP Installation hab ich es irgendwie geschafft, das BS so zu verbiegen, dass die explorer.exe nicht mehr startet. Dabei hab ich nur so viele unwichtige Programme wie möglich deinstalliert, um das zweiten Komplettbackup auf einen einzigen DVD-Rohling zu bekommen. Zum Glück schlummert auf einer anderen Festplatte ein kompletter Dump der Partition im lauffähigen Zustand. Allerdings bzip2 gepackt – bis ich das wieder aufgespielt habe, kann ich den Kram auch stundenlang zusammen frickeln.

Und eigentlich möchte ich ja Windows Vista installieren – da sind mir aber beim Brennen ein paar Datenfehler auf die Installationsmedien geraten. Argh. Das Neubrennen bereitete Schwierigkeiten, weil der NTFS Treiber den Datenträger nur noch gezwungenermaßen anfassen möchte. „NTFS logfile is unclean“ – dem Vista Installer sei dank. Darum lade ich parallel zu meinen Installationsversuchen, das ISO neu vom MSDNAA Server der FH. Vielleicht ist mein Notebook ja in der Lage das ISO vollständig auf eine DVD-RW zu schreiben (andere Rohlinge hab ich gerade nicht zur Hand).

Schön das ich mit Ubuntu noch einen letzten Zufluchtsort habe, bis mir Vista den MBR überschreibt.

Nachtrag: Windows Vista bricht die Installation jetzt schon vor der ersten Eingabemaske ab: error message 0x00000e9 (IDE und AHCI Modus). Die Windows XP Installation stürzt sogar ab.

Nach dem Booten kommt: „Fehler beim Laden des Betriebssystems“. Jackpot!

Wenns ein grub-install unter grml nicht behebt, fang ich an zu heulen.

Nachtrag2: Läuft wieder. Aber bei der Partitionstabelle ist was im argen.

Kororaa Xgl Live-CD

Novell werkelt schon länger an einer OpenGL-beschleunigten Oberfläche (X-Server) für Linux – Xgl.

Dann fand vor einigen Wochen eine Präsentation der neuen Features in Form eines schicken Videos den Weg ins Internet. Eine schnelle Grafikkarte von NVidia oder ATI vorrausgesetzt, verwandelt sich der schnöde Desktop in einen Schauplatz für Effekte wie wabbernde Fenster, Transparenz der Anwendungen, Live-Vorschau von Videos im Taskumschalter, …

Das Meiste davon ist zwar ohne Frage Spielerei, aber einiges doch auch sinnvoll. Wenn man sich zum Wechseln der Arbeitsfläche auf eine andere Seite eines Würfels dreht, finde ich das logischer und augenschonender, als den schnelle Wechsel per Tastendruck nachvollziehen zu müssen.

Nun gibt es eine Linux LiveCD (441 MB) mit Xgl, die einem das Zerwühlen des kompletten Systems erspart um es auszutesten. Sie basiert auf einer von Gentoo abgeleiteten Distribution namens Kororaa und lässt sich – LiveCD-üblich – von CD booten.

Da das Ende des Downloads noch auf sich warten lässt, beziehe ich mich bisher nur auf das oben erwähnte Video. In ein paar Minuten kann ich dann sagen, wie es sich auf meinem Rechner anfühlt und was bisher reibungslos funktioniert.

PS: Der Downloadserver ist zur Zeit extrem überlastet. Das auf der Webseite angegebene Torrentfile funktioniert aber bei dem großen Ansturm P2P-üblich tadellos. 🙂

Nachtrag:

Perfekt. Alles läuft genau so, wie es in der Präsentation zu sehen ist. Nach den ganzen Klausuren muss ich wohl ein Dualboot an meinem Hauptrechner einrichten.