[ENC]BladeXP's Blog

Was die Welt nicht alles braucht!

Einträge in der Kategorie „Ubuntu”

Aus .cue und .bin ein .iso machen…

geschrieben von encbladexp am 29.01.2012 18:12:00.

Da ich aktuell einige alte Spiele für ScummVM aufbereite, bin ich natürlich über diverse Spiele gestolpert die nicht als normales ISO9660 vorliegen, sondern in einem Format das aus 2 Dateien besteht:

  • .cue, eine Textdatei welche wohl die Tracks einer CD beschreibt.
  • .bin, einer Binärdatei welche nichts enthält was nach ISO9660 aussieht.

Der große Bruder Google hat mich dann darauf gebracht das dies wohl ein Format ist welches das ein oder andere Brennprogramm als Image hinterlässt, ich selbst musste mich damit bisher noch nie beschäftigen.

Natürlich hat Google auch verraten wie man aus diesen beiden Dateien ein ISO Image erstellen kann:

bchunk -v dateiname.bin dateiname.cue dateiname.iso
Das Programm bchunk ist übrigens in wohl jeder Linux Distribution enthalten, in meinem Fall (Arch Linux) war es aber nicht installiert.

Das fertige ISO kann man genauso verwenden wie alle anderen ISO Images die man auf dem Rechner hat, aber im Jahr 2012 dürften die wenigsten Anwender noch eine CD verschwenden ;-)

Cluster SSH

geschrieben von encbladexp am 28.11.2011 18:08:00.

Ein sehr gutes Tool, für die Verwaltung mehrerer Server gleichzeitig ist übrigens Cluster SSH. Ich verwende dieses Tool schon seit ca. 2-3 Jahren zur Verwaltung einiger Server.

Heute ist mir erst aufgefallen wie oft ich dieses Tool eigentlich verwende, zwar nur ca. 1-2 mal pro Woche, dennoch spart es mir massig Zeit wenn mal wieder 15-20 Server mit Updates versorgt werden wollen!

Die Konfiguration ist kein großes Hexenwerk, man legt einfach eine Datei ~/.csshrc an und packt folgendes hinein:

clusters = clustername1 clustername2
clustername1 = rz1srv1 rz1srv2 rz1srv3
clustername2 = rz2srv1 rz2srv2 rz2srv3
ssh_args =
Das war es auch schon, mittels cssh clustername1 kann man sich nun zu allen Servern in diesem Cluster verbinden, man sieht dann pro Server ein eigenes Fenster, und eine Eingabezeile in der man Befehle / Tasten eingeben kann welche an alle Server gleichzeitig gesendet werden sollen.

Da ich meine Benutzernamen und viele weitere SSH Optionen über ~/.ssh/config vorgebe habe ich die Variable ssh_args bewusst auf nichts gesetzt.

Mehr Infos gibt es dazu natürlich in der Manpage!

Bandbreite im Netzwerk bestimmen

geschrieben von encbladexp am 04.11.2011 22:05:00.

Neulich habe ich ja einen Artikel über meine Einführung des WLAN Standards 802.11n verfasst. Kurz danach gab es Fragen mit welchem Tool ich den meine Bandbreiten eigentlich ermittelt habe, den Namen des Tools - iperf - habe ich zwar kurz erwähnt, wie es funktioniert habe ich aber nicht erklärt.

Das möchte ich natürlich mit diesem Artikel nachholen, zuvor muss iperf natürlich installiert werden, was über die Paketverwaltung der Distribution erfolgen sollte. Anschließend muss man sich entscheiden welcher der Rechner im Netzwerk den der Server sein sollte, ich nehme hierbei immer den Router, den die meisten IP Pakete müssen irgendwann an den Router ;-)

Gestartet wird der Server in einem Terminal mit folgendem Befehl:

iperf -s
Mehr ist auf dem Server auch nicht zu machen, jetzt geht es an den Client, was jeder PC im Netz sein kann, in der Regel wird man aber die Bandbreite von einem bestimmten PC messen wollen. Auf dem Client wird iperf wie folgt aufgerufen:
iperf -c server
Der Parameter server muss hierbei natürlich durch den Server ersetzt werden, entweder die IP Adresse oder aber der (auflösbare!!!) Hostname des Servers.

Ein normaler Test, also mit den Standard Parametern dauert pro Aufruf ca. 10 Sekunden und wird sowohl am Client als auch am Server geloggt. Das kann z.B. so aussehen:

------------------------------------------------------------
Client connecting to server, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[  3] local 192.168.1.8 port 59185 connected with 192.168.1.1 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec   810 MBytes   680 Mbits/sec
Hier sieht man das mein installiertes Gigabit LAN ~680 MBit/s bei diesem Test überträgt. Die volle Bruttobandbreite wird man nur selten erreichen, zumindest SOHO-Komponenten wurden nur selten so gebaut das man auch alles bekommt was die Spezifikation verspricht ;-)

Mehr über iperf kann man in der entsprechenden Manpage nachlesen.

TaskWarrior SSH Tuning

geschrieben von encbladexp am 17.10.2011 19:15:00.

Taskwarrior ist ja in der Lage über verschiedene Protokolle (SSH, rsync, ...) die Aufgaben abzugleichen. Ich verwende hierfür mein Lieblingsprotokoll, welches natürlich SSH ist.

Leider hat mich mein Internet Service Provider, die Bundesregierung und noch einige andere Organisationen nicht sonderlich lieb, und deshalb habe ich nur relativ wenig Bandbreite.

Dennoch möchte ich in der Firma, auf dem Server und auch am Desktop die gleichen Aufgaben haben. Ein reiner Online Zugang (einfach nur SSH zum Server) ist in der Firma ja nicht möglich, und auch sonst ist ein Offline Zugang sehr praktisch.

Aus diesem Grund darf Taskwarrior bei mir direkt mit dem Server abgleichen, von da aus hol ich das an alle möglichen (oder nötigen) Clients. Mit der Zeit wird aber die ~/.task/undo.data zunehmen größer, und genau diese ist ja für das Abgleichen mit task merge zwingend erforderlich.

Für diese Anwendung hilft daher die gute alte Kompression von SSH, welche in der Datei ~/.ssh/config wie folgt für den Zielrechner aktiviert werden kann:

Host yourhostname
 Compression yes
 ...

Optimal wäre natürlich eine Lösung bei der nur Taskwarrior die Kompression verwendet, aber mit dieser Überganglösung bis taskd kommt kann ich auch Leben. Die Nachteile der SSH Kompression stehen übrigens in der Manpage von SSH, ich werde also nicht darauf eingehen ;-)

Wenn die undo.data etwas länger wird sollte man diese aber ab und an kürzen, ein zuvor angelegtes Backup schützt nicht nur in diesem Fall vor Problemen.

Ubucon 2011

geschrieben von encbladexp am 14.10.2011 07:24:00.

Auch dieses Jahr gibt es ja wieder eine Ubucon welche ich natürlich wieder besuchen werden, auch wenn ich schon seit einiger Zeit kein Ubuntu mehr verwende. Wie auch letztes Jahr ist die Ubucon auch dieses Jahr in Leipzig an der Universität.

Übernachten werde ich zusammen mit meiner bezaubernden Freundin wieder im MotelOne, welches nur ca. 5 Minuten Fußweg von der Uni und damit der Ubucon entfernt ist.

Dieses Jahr stehen folgende Vorträge auf der Roadmap:

  • Samstag 09:00: Taskwarrior - Aufgabenverwaltung für die Shell
  • Samstag 14:00: Fragestunde für Serverthemen
  • Samstag 18:00: Serverkrams von Ubuntuusers & Co
  • Sonntag 10:00: LaTeX - Tipps & Tricks
Serverkrams ... ist dabei kein öffentlicher Vortrag, sondern eine interne Diskussion des Adminteams. Durch den ungünstigen Termin kann ich leider nicht am Keysigning Teilnehmen, ich nehme aber trotzdem ein paar Zettel mit meiner Key-ID mit, auch für CACert vergebe ich wieder Punkte wenn sich jemand bei mir meldet.

Taskwarrior verwende ich schon seit längerer Zeit, aber man lernt ja bekanntlich nie aus, und vielleicht zeigt Dirk ja noch ein paar Tricks die ich so noch nicht kannte.

GDM das Powermanagement abgewöhnen

geschrieben von encbladexp am 07.10.2011 14:08:00.

Seit ein paar Tagen gibt es ja GNOME 3.2, mir ist dabei aufgefallen das der Rechner wenn er im GDM läuft einfach nach 30 Minuten in den Standby geht. Das ist eigentlich eine gute Idee, aber recht doof wenn man den Rechner z.B. für Updates nur via SSH verwendet.

Man kann das Verhalten aber ganz leicht ändern:

  1. xhost +
  2. sudo -u gdm gnome-control-center, und dann dort einfach wie gewohnt unter Leistung Einstellen
  3. xhost -

Natürlich benötigt man hierfür xhost (unter Arch nicht Standardmäßig installiert, unter Ubuntu schon) und einen Benutzer der auch via sudo die Rechte hat den aktiven User zu wechseln um Programme unter einem anderen Benutzer zu starten. Auf den gleichen Weg kann man übrigens auch viele andere Einstellungen des GDM Users ändern ;-)

Icon einer Webapplikation in GNOME 3.2 ändern

geschrieben von encbladexp am 02.10.2011 23:52:00.

Ich selbst habe seit heute GNOME 3.2 (Arch machts möglich) auf meinem Desktop. Aktuell spiele ich etwas mit der neu eingeführten Integration von Webapplikationen.

Was mir allerdings dabei nicht gefällt ist der kleine Ausschnitt welcher als Icon für den Starter verwendet wird. Genau gesagt finde ich den richtig hässlich, den oft ist in der oberen linken Ecke nur selten etwas aussagekräftiges versteckt. Auf der anderen Seite habe ich für Starter generell lieber Tango Icons, es soll ja alles schön einheitlich sein.

Über das Menü kann man das Icon dieser Starter aber nicht verändern, daher folgender weg:

  1. Mit cd ~/.gnome2/epiphany/ in das Konfigurationsverzeichnis von Epiphany wechseln.
  2. Dann mal (z.B. mit ls) schauen welchen Ordner Epiphany für eine bestimmte Webapplikation verwendet hat, in der Regel ist es der Name des Starters klein geschrieben und dann noch eine Art Hash am Ende des Dateinamens.
  3. cd ordnername wechselt nun in den Ordner dieses starters.
  4. Und zum Schluss kann mit ln -f -s /pfad/zum/icon.png app-icon.png das Icon gegen das gewünschte ausgetauscht werden.
Ich verwende bewusst nur einen Link für das Icon, wer möchte kann natürlich auch einfach eine Kopie vom Icon erzeugen.

Das Icon muss im PNG Format vorliegen, und sollte eine Größe von 128x128 Pixeln haben. Wenn man das Icon getauscht hat muss man noch die GNOME Shell neu starten, das geht ganz einfach mit ALT-F2 und dem Befehl restart.

Nachtrag: Man kann das Icon auch in der .desktop Datei im jeweiligen Ordner ändern, das erzielt den gleichen Effekt.

GNOME 3.0 - Was aktuell stört...

geschrieben von encbladexp am 03.05.2011 22:41:00.

Seit einigen Tagen habe ich auch GNOME 3.0 auf meinem Produktiv System. Das ganze System läuft auch sehr gut damit, mir sind nur 4 Punkte aufgefallen die aktuell wirklich nervig sind:

  • Rhythmbox geht beim klicken auf die Fenster schließen Schaltfläche komplett zu, ich habe mir damit bestimmt schon 50 mal die Musik ausgemacht! Leider konnte ich hierzu noch keine Einstellung finden, ein richtiges Tray gibts ja für GNOME 3.0 nicht mehr :-/
  • Im Gegensatz zu GNOME Do ist die Shell nicht so clever und startet einen eingegeben Befehl direkt wie man ihn eingibt, stattdessen geht Wikipedia auf. ALT-F2 ist ein Shortcut den ich schon 2 Jahre nicht mehr verwenden musste :-/
  • Gajim Integration, hier gibt es noch einiges an Arbeit zu tun. Zwar gibt es eine Integration über Extensions für die Shell, schöner wäre aber nativer Support von gajim für GNOME 3.0.
  • Empathy kann nach wie vor weder GPG, OTR noch E2E. Das ist einer der Hauptgründe warum ich es nicht verwenden kann.

Ich denke aber auch das dies Dinge sind, die vielleicht schon mit 3.2 gefixt oder geändert werden. Bei Gajim müssen natürlich die Entwickler selbst aktiv werden!

GNOME 3.0

geschrieben von encbladexp am 08.04.2011 22:41:00.

Man liest es ja überall: GNOME 3.0 wurde veröffentlicht.

Ich selbst habe es natürlich auch mal getestet, aber natürlich beachtet das es ein .0 Release ist was halt einfach noch nicht so 100%ig stabil sein kann. Installiert habe ich es aus dem testing Repository unter Arch Linux, was man nur tun sollte wenn man mit dem System rumspielen will. Auf einem Produktivsystem würde ich erst mal bei 2.* bleiben bis es die ersten Bugfix Releases von 3.0 gibt. Für andere Distributionen gibt es Fremdquellen (z.B. PPAs bei Ubuntu) oder die Möglichkeit jhbuild zu verwenden.

Was mir beim ersten Start vom neuen GNOME aufgefallen ist: Es ist sehr aufgeräumt und nur mit dem nötigsten versehen. Das finde ich generell eigentlich schön da ich mit viel Schnickschnack kaum was anfangen kann, aber im Control Center hat man das doch deutlich übertrieben. Es gibt eigentlich nichts mehr das man wirklich Einstellen kann, auch das extra Tool gnome-tweak-tool erlaubt einem nur eine Hand voll mehr Einstellungen.

Der neue Workflow von GNOME gefällt mir aber sehr gut, man hat sich schnell dran gewöhnt und kann zu einem Teil auf Tools wie z.B. gnome-do verzichten, hier und da gibt es noch ein paar Sachen die nicht so funktionieren wie es die Entwickler erwarten, aber im großen und ganzen macht es einen brauchbaren Eindruck. Vor einem halben Jahr noch hatte ich zu diesem Thema ja die Befürchtung das 3.0 ein Schuss in den Ofen wird, da hatte ich aber unrecht.

Meine Freundin hat 3.0 auch probiert, und ist damit auch zufrieden. Hauptkritikpunkt einer Frau ist aber das man nicht mal das Thema umstellen kann ohne das man irgendwelche Extensions braucht. Was Anpassbarkeit angeht muss GNOME also doch wieder etwas nacharbeiten, und auch der Verzicht auf den beliebten "Ausschalten"-Button ist mir unerklärlich.

Sehr praktisch finde ich das dynamische Anlegen von neuen Desktops, das ist was wo ich bei 2.* vermisse, meistens reichen mir 2-3 virtuelle Desktops, aber manchmal darf es auch gerne etwas mehr sein. Ebenfalls schön gemacht ist die automatische Gruppierung von Anwendungen und eine Leiste wo man seine Lieblingsprogramme anpinnen kann.

Das waren meine Eindrücke vom neuen GNOME, mal sehen was die nächsten Releases bringen, Potential hat die neue Version nämlich!

Update:Mir ist klar das man an die Funktion Ausschalten noch kommt wenn man im Usermenu die ALT-Taste drück, das wissen aber nur die wo danach gesucht haben und nicht Leute die eher wenig mit der IT zu tun haben oder glauben das Google das Internet ist ;-)

Kurztipp: Datendurchsatz auf der Shell für dd & Co

geschrieben von encbladexp am 15.02.2011 18:41:00.

Häufig hat man das Problem das man nicht weis wie lange den ein dd noch brauchen wird um die Platte zu spiegeln, oder wie schnell der Datentransfer via netcat überhaupt läuft. Genau hierfür wurde das kleine Tool pv geschrieben welches den Datendurchsatz von pipes messen kann.

Ich selbst muss leider gestehen das ich dieses prima Tool bis letzten Sonntag noch nicht mal kannte und eher zufällig von guten bekannten davon erfahren habe.

pv ist bei Ubuntu im universe, bei Debian im main und bei Arch im community Repository zu finden. Es benötigt nur wenige KByte auf der Festplatte und ist daher auf jedem System verwendbar.

Ich werde hier nicht die Manpage 1:1 runterleiern und nur die 2 häufigsten Verwendungsarten anschneiden, welche man im täglichen Alltag verwenden dürfte.

Das eine ist ein Ersatz für das gute alte cat welches wohl jeder Leser dieses Blog kennen dürfte:

pv dateiname | nc -w 1 serveradresse portnummer
Hier erkennt pv selbständig wie groß dateiname eigentlich ist und baut einen schönen Ladebalken damit der anzeigt wie lange der Transfer bzw. die Verarbeitung noch dauert. Bei Special Files wie z.b. named Pipes oder einfach nur Device Files wird dies natürlich nicht gehen und man sieht nur einen Balken der hin und her wandert, wie man es von zahlreichen grafischen Oberflächen gewöhnt ist.

Die andere Variante hängt Inline in der Pipe und zeigt natürlich die gleichen Daten an:

cat dateiname | pv | nc -w 1 serveradresse portnummer
Nachteilig ist natürlich das man hier nicht sieht wie lange der Transfer noch dauert, was logisch ist da über die Pipes ja keine Größeninformationen ausgetauscht werden. Wenn man natürlich weis welche Datenmenge übertragen wird kann man das pv mit auf den Weg geben:
cat dateiname | pv -s 200m | nc -w 1 serveradresse portnummer
Und schon hat man wieder den schönen Ladebalken, wenn man Sachen natürlich zuvor durch ein Kompressionstool wie gzip,bzip2 oder xz jagt ist der Ladebalken natürlich bestenfalls ein Schätzeisen im Glastkugelmodus.

Es gibt noch einige zusätzliche Schalter in der Manpage von pv, doch die wird man eher selten benötigen ;-)