Skip to content

dstat ...

linux Mein Kollege Roland hat mich auf das wirklich tolle Tool dstat aufmerksam gemacht. Dstat ist ein Tool mit dem man Ressourcenverbrauch beobachten kann und - noch wichtiger - es ist bunt. :-) Nein, das wirklich spannende ist, dass man seine Messungen mit Timestamps versehen kann, das ist das, was vielen anderen Tools leider fehlt.

Zusätzlich kann es die Ausgaben auch in eine CSV-Datei schreiben, was die spätere Analyse erleichtert.

dstat -v zeigt beispielsweise alles an, was auch vmstat anzeigt, dstat -tv hängt einen Zeitstempel vor die Ausgabe. Und, noch interessanter dstat -tv 5 schreibt - wie vmstat - alle fünf Sekunden einen Summenwert aktualisiert aber jede Sekunde, so dass man die Entwicklung beobachten kann (der grüne Wert im Screenshot).



dstat hat eine grosse Menge an Kommandozeilenoptionen, zum Beispiel dstat -tclmgry, ein Blick auf die Manpage lohnt sich!

Einführung in Git ...

Bei Google+ wurde ich danach gefragt, ob ich die Kurzeinführung in Git, die ich auf der Arbeit gehalten habe, veröffentlichen könnte. Hier ist sie.

Die Beispiele lohnen sich nur, wenn man sie versucht, nachzuvollziehen.



Viel Spass.

Das PDF (rund 100 kB) kann man hier herunterladen: einfuehrung-git.pdf

Lizenz ist CC-BY, das liefere ich auch noch im PDF nach.

Little helpers ...

linux Eigentlich ist es schön blöd, so viel mit Open-Source-Software zu machen und die eigenen "Kleiningkeiten", die das Leben erleichtern, nicht zu veröffentlichen.

Daher habe ich mich entschieden, meine Skripte mal in eine vorzeigbare Form zu bringen und in einem eigenen GitHub-Repository zu veröffentlichen.

ddeimeke/littlehelpers

Vielleicht kann das ja jemand von Euch auch gebrauchen.

Kaputt ...

Das passiert ja "eigentlich" nur "den anderen". Kurz nach Ablauf der Garantie ist mein Hauptrechner zuhause ein halbes Jahr nach Ablauf der Garantie aus dem Tiefschlaf nicht wieder aufgewacht.

Daten habe ich glücklicherweise keine verloren. Trotzdem ärgerlich so etwas.

Ob ich mir noch einmal einen Rechner zusätzlich zum Notebook kaufen werde, weiss ich nicht. Momentan hängt das Notebook mit ordentlicher Tastatur am grossen Monitor und tut, was es soll. Mir fehlt nur eine Dockingstation zum Glück.

Wenn jemand von Euch weiss, wo man einen Portreplikator oder eine Dockingstation für ein Thinkpad X201i herbekommt, bin ich für jeden Tipp dankbar.

Mehr Swap?

linux Weil mich gerade jemand via E-Mail danach gefragt hat, hier einmal die kurze Erklärung, wie man Swapspace bekommen kann, selbst dann, wenn man kein freies Device mehr hat.

Zuerst eine Datei erzeugen (hier 1 GB als Beispiel), die später den Swap aufnehmen soll, /pfad ist der Weg zu einem Dateisystem mit ausreichend Platz:
dd if=/dev/zero of=/pfad/swapfile count=2097152


Im nächsten Schritt wird aus der Datei eine swap-Datei gemacht:
mkswap /pfad/swapfile


Jetzt wird sie noch als Swap hinzugefügt:
swapon -p 0 /pfad/swapfile

Die Priorität 0 (bis 32767) ist die niedrigste, die vergeben werden kann. Das bedeutet, der Swapspace wird nur dann benutzt wenn der Swap mit höherer Priorität bereits verbraucht wurde.

Um diese Änderung dauerhaft zu machen, muss der neue Swap noch in die /etc/fstab eingetragen werden.
/pfad/swapfile none swap sw,pri= 0 0

Das kann doch nicht so schwer sein ...

Nachdem ich jetzt fünf mal nacheinander den gleichen Fehler gemacht habe, muss ich das schnell weg dokumentieren.

16:06:27 [root@rico:/srv/www/myown-it.com] # git init .
Initialized empty Git repository in /srv/www/myown-it.com/.git/
16:06:59 [root@rico:/srv/www/myown-it.com] # git add .
16:07:08 [root@rico:/srv/www/myown-it.com] # git remote add origin gitosis@rico.yawnrz.net:www-myown-it.com.git
16:07:23 [root@rico:/srv/www/myown-it.com] # git commit -m "init"
[master (root-commit) 16540f0] init
3296 files changed, 340870 insertions(+)
...
16:07:38 [root@rico:/srv/www/myown-it.com] 1 # git push origin master
Counting objects: 3344, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3263/3263), done.
Writing objects: 100% (3344/3344), 5.47 MiB | 5.52 MiB/s, done.
Total 3344 (delta 794), reused 0 (delta 0)
To gitosis@rico.yawnrz.net:www-myown-it.com.git
* [new branch] master -> master


Ja, das ist Teil meines Backup-Konzeptes.

TeX Live 2013 ...

TeX Live 2013 ist in den vergangenen Tagen erschienen.

TeX Live ist eine der wenigen Softwaresammlungen, die ich manuell installiere und aktualisiere. Das liegt einfach daran, dass ich auf Rechnern mit verschiedenen Betriebssystemen "TeXe" und ich gerne das gleiche LaTeX auf allen Systemen einsetze, um Fehler auf allen Systemen gleich zu halten ;-)

Installation über das Internet für Linux (oder Unix) und Cygwin unter Windows geht über das gleiche Archiv (wieder einmal ein "hoch auf Perl"). Für "normales" Windows gibt es ein separates Paket und sogar eine deutschsprachige Installationsanleitung.

Aktuell hält man die Installation übrigens via:
tlmgr update --self
tlmgr update --all

Git-Repositories packen ...

So ein lebendes Git-Repository ist ziemlicher "Platzverschwender". Mein Hauptrepository, in dem alle meine Dokumente und Scans und Bewerbungen und Skripte und einfach alles liegen, wurde grösser und grösser. Zum Schluss war es bei 16 GB obwohl die "Nutzdaten" nur einen Bruchteil des Repositories ausmachten.

Zeit, einmal einen git repack anzustossen.

Wenn man das unbedarft auf ein grosses Repository loslässt, merkt man sehr schnell, wie langsam der Rechner werden kann, wenn er ins Swapping fällt. Um das einzugrenzen, sollte der Parameter --window-memory gesetzt werden. Meine Beobachtung ist, dass der pro Core gilt. Die Parameter --window und --depth geben die Tiefe und die Anzahl der Objekte für die Delta-Kompression an. -a sorgt dafür, dass alles in gross Packs gepackt wird und -d, dass obsolet gewordene Packs gelöscht werden.

Damit kann man eine Menge erreichen.

16G	ddeimeke.git
Counting objects: 19947, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (7173/7173), done.
Writing objects: 100% (19947/19947), done.
Total 19947 (delta 14053), reused 17947 (delta 12645)
6.4G	ddeimeke.git


Allerdings bremst das den Rechner so aus, dass kaum noch arbeiten möglich ist, was man aber mit nice und ionice in den Griff bekommt. Ersteres sorgt dafür, dass die CPU-Benutzung limitiert wird und zweiteres tut gleiches für I/O.

In Summe resultiert das in folgendes kleine Skript.

#!/bin/bash

for i in *.git
do
        du -hsx "${i}"
        cd "${i}"
        nice -n 19 ionice -c 2 -n 7 git repack -a -d --depth=250 --window=250 --window-memory=1g
        cd ..
        du -hsx "${i}"
        echo
done

JuiceSSH ...

android Christoph hat mich auf die Jubiläumsaktion von JuiceSSH aufmerksam gemacht und ich muss gestehen das macht sogar richtig Spass. An vielen kleinen Stellen merkt man, dass die Autoren selber Administratoren sind. So kann man beispielsweise Verbindungsprofile erstellen, die man Servern zuweisen kann.

Mit der Pro-Version, ich hätte die wohl auch gekauft, kommt sogar Solarized als Farbschema dazu. Ich freue mich ;-)

Nachdem ich bemerkkt hatte, dass ConnectBot nicht mehr weiterentwickelt wird, habe ich eine lange Zeit VX ConnectBot benutzt, bei dem die Entwickler sagten, dass sie es ständig weiterentwicklen, was aber irgendwie auch nicht passiert ist.

Stromfresser Push ...

android Etwas, das man in Verbindung mit einem Smartphone gerne vergisst, ist, dass Komfort nahezu immer zu Lasten des Stromverbrauchs geht.

Selbst mein relativ neues Handy hat nur noch einen Tag mit einer Akkuladung durchgehalten. Wobei das schon gelogen ist, morgens von der Dockingstation genommen und am Abend war der Akku leer. Das ist kein ganzer Tag. Der Hauptstromfresser war tatsächlich die Xing-Applikation.

Push-Benachrichtigungen sind ja so toll :-) Vor allem, wenn alle Benachrichtigungen auch noch via E-Mail angekündigt werden. Also Habe ich Push überall dort deaktiviert, wo ich es nicht brauche und das ist fast in jeder Anwendung. Und, siehe da, der Akku hält auf einmal wieder mehr als zwei ganze Tage. So leicht kann das sein.

Solarized ...

Dann werfe ich gleich noch einmal ein technisches Thema nach, das passt auch ein wenig zu Liquidprompt.



Es geht um Solarized von Ethan Schoonover. Solarized ist eine Farbpalette, die aus acht monchromen Farbunterschieden und acht "echten Farben" besteht, die darauf ausgelegt sind, besonders leicht und augenfreundlich lesbar zu sein. Die Kontraste zwischen den einzelnen Farben sind gut und schmerzen nicht. Eine Alternative dazu ist Zenburn, mir gefällt Solarized aber besser.



Für weitere Screenshots verweise ich einmal auf den entsprechenden Abschnitt auf der Homepage.

Solarized gibt es für eine Reihe an Programmen, beispielsweise für das Gnome-Terminal oder für MinTTY (Cygwin, darüber habe ich hier schon einmal berichtet), für Taskwarrior oder eingebaut im Texteditor Sublime Text. Vom Autoren selber gibt es verschiedene Repositories für unterschiedliche Programme, dieses hier bündelt die einzelnen Teile adobe-swatches-solarized, apple-colorpalette-solarized, emacs-colors-solarized, gimp-palette-solarized, intellij-colors-solarized, iterm2-colors-solarized, mutt-colors-solarized, netbeans-colors-solarized, osx-terminal.app-colors-solarized, putty-colors-solarized, seestyle-colors-solarized, textmate-colors-solarized, textwrangler-bbedit-colors-solarized, vim-colors-solarized, visualstudio-colors-solarized, solarized-gedit, solarized-qtcreator, xchat-colors-solarized, xfce4-terminal-colors-solarized und xresources.

Solarized gibt es mit einem hellen und einem dunklen Hintergrund und die Umstellung ist mir relativ schwer gefallen, weil die Farben nicht so kräftig sind, wie die, die ich normalerweise auf dem Bildschirm habe. Aber es ist deutlich ermüdungsfreier, mit einer reduzierten Farbpalette zu arbeiten.

Liquidprompt ...

Zur Abwechslung mal wieder etwas technisches.

"Drüben" in Google+ hat Christian das Repository liquidprompt empfohlen. Liquidprompt setzt sehr komfortabel den Shell-Prompt für die bash oder zsh. Dabei sammelt sie Informationen aus vielen verschiedenen Quellen, beispielsweise die Uhrzeit, den Batteriestatus (von grün nach rot), die Systemlast (load), Temperatur, den Status des Versionskontrollsystems, einen grünen Doppelpunkt für Schreibrechte im aktuellen Verzeichnis (sonst rot), und, und, und ...

Die "Installation" ist sehr einfach (bei mir sind alle Repositories unterhalb von workspace):

cd ~/workspace
git clone https://github.com/nojhan/liquidprompt.git liquidprompt.git

Ich folge damit auch einer Anregung von Federico, der alle Verzeichnisse, die git-Repositories enthalten auf .git enden lässt.

Aktiviert wird liquidprompt durch

source ~/workspace/liquidprompt.git/liquidprompt

Sollte man mit den Einstellungen einverstanden sein, ist nichts weiter zu tun.

Wenn man aber Änderungen vornehmen will, kopiert man die Datei mit den Voreinstellungen und nimmt dort Änderungen vor.

cp ~/workspace/liquidprompt.git/liquidpromptrc-dist ~/.liquidpromptrc
vim ~/.liquidpromptrc
source ~/workspace/liquidprompt.git/liquidprompt

So, habe ich beispielsweise, die Uhrzeit mittels LP_ENABLE_TIME=1 aktiviert und Versionskontrollsysteme, die ich nicht benutze deaktiviert. Es macht sich besonders unter Cygwin bemerkbar, wenn zu viele Optionen aktiv sind, unter Linux ist das meiner Beobachtung nach kein Problem.

Wenn alle Einstellungen zur Zufriedenheit getroffen sind, braucht nur die Zeile an die ~/.bashrc oder ~/.zshrc angehängt werden. Die Webseite enthält eine ausführliche Beschreibung aller Optionen und auch eine Beschreibung, wie man die Farben anpassen kann.

Wheezy ist da ...

debian Version 7.0 von Debian ist in der letzten Nacht veröffentlicht worden. Meiner Meinung nach ist das ein sehr gelungenes Release, ich benutze es schon seit Anfang des Jahres auf meinem Desktop und Notebook.

Wer sich für die einzelnen Schritte interessiert, die vor und mit einem Release durchgeführt werden müssen, kann sich einmal den Hashtag #releasingwheezy beispielweise bei identi.ca anschauen. Da kommt schon einiges zusammen.

Wichtig: Ab jetzt wird Debian Squeeze, die Vorgängerversion, nur noch ein Jahr lang unterstützt. Für Produktionsmaschinen rate ich ein halbes Jahr zu warten bis Ihr das Upgrade auf Wheezy durchführt.

Manjaro Linux ...

linux Meine bessere Hälfte brauche einen Tapetenwechsel und hat sich nach Linux Mint nun für Manjaro Linux mit Cinnamon entschieden. Manjaro basiert auf Arch Linux und ist eine Rolling Release Distribution. Alles ist - wie ich finde - sehr logisch aufgebaut und die Optik macht "einen schlanken Fuss". Manjaro nutzt eigene Repositories und nicht die von Arch, daher ist nicht alle Software auf Anhieb verfügbar.



Ich bin derzeit mit Debian glücklich, muss aber gestehen, dass Manjaro in jedem Fall einen zweiten Blick wert ist. Einzig backintime vermisse ich, ansonsten: Daumen hoch.