Skip to content

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

Open Knowledge Foundation ...

Das habe ich immer gesucht und jetzt zufällig gefunden, die Open Knowledge Foundation, es gibt auch ein deutsches Chapter (mit Wikipedia-Eintrag).

Laut Wikipedia sind die Ziele:
  • offenes Wissen als Standard zu verbreiten
  • offenes Wissen zu kreieren, das uns und andern hilft
  • anderen dabei helfen, offenes Wissen zu verbreiten
  • eine nachhaltige und aktive Community zu schaffen
  • Werkzeuge zu erstellen, um den obigen Zielen zu helfen
  • Nutzerfreiheit in Bezug auf Wissen und Daten zu stärken


Das ist exakt das, was Silvia und mir besonders am Herzen liegt. Ich muss mir die Mitgliedschaftbedingungen mal genauer anschauen und dann Mitglied werden, eventuell können wir auch mit DeimHart eine Mitgliedsschaft beantragen.

Super Sache!

Vielleicht schliessen sich ja noch einige von Euch an.

Prism ...

gedanken Ich verstehe die ganze Aufregung um Prism nicht. "Wir" sprechen seit Jahren (und noch länger) davon, dass man möglichst viel selber machen soll und wenn man Provider wählt, sollte man möglichst welche aus Zentraleuropa wählen, weil die der amerikanischen Gesetzgebung nicht unterliegen.
Wir haben ja nichts zu verbergen ... was Ihr nur immer habt.
Jetzt sieht man, dass die NSA alles durchanalysiert und die Aufregung ist gross.

Leute, sagt mal, habt Ihr immer noch nicht begriffen, dass der Kampf gegen den Terror im amerikanischen Gesetz der Regierung einen Freifahrtschein gibt?

Ich verstehe, dass viele Menschen das Know-How nicht haben, eine eigene Infrastruktur zu betreiben, aber es gibt vertrauensvolle Einzelpersonen und Firmen, die das können. Und diese gibt es dann auch noch in Rechtssystemem, die datenschutztechnisch sehr weit vorne sind, wie beispielsweise in Deutschland. Und dann gibt es darunter sogar noch welche, die relativ wenige Mailserver betreiben und daher der Regierung keine Schnittstelle anbieten müssen.

Das GNU Privacy Project wurde sogar von der deutschen Regierung gefördert, damit lassen sich Mails verschlüsseln. Das ist ziemlich sicher, wenn man sich an ein paar kleine Regeln hält aber zugegebenermassen ist das nicht sehr komfortabel.

Wer ein kleines bisschen technischer in das Thema einsteigen möchte, dem lege ich Maltes Artikel von heute ans Herz. Bitte auch die Kommentare verfolgen.

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.

Backintime und user-callback ...

linux Kurz nach Aufnahme der aktuellen DeimHart-Episode habe ich auf der Website von Backintime den user-callback entdeckt, der genau das leistet, was ich brauche.

Unser NAS stellt Verzeichnisse per NFS bereit, die ich via automount einbindet. Das bedeutet, ich wechsele in das Verzeichnis, wohin das Filesystem eingebunden werden soll und autofs mountet das automatisch vom NAS. Wenn ich das Verzeichnis fünf Minuten lang nicht gebraucht habe, wird es wieder ausgehängt. Bei Debian muss man die Wartezeit für den Mount hochsetzen.

Das Backup mit Backintime soll auf unseren Rechnern bei jedem Boot laufen, dann wird es wenigstens nicht vergessen. Damit das alles auch über das GUI funktioniert, auch die Steuerung der regelmässigen Backups, habe ich eine ausführbare Datei ~/.config/backintime/user-callback erstellt.
#!/bin/bash

sleep $(awk '{if ($1 > 120) {print 0} else {print 120}}' /proc/uptime)
cd /ext/backup

Der sleep ist nötig, weil der Cron-Daemon schneller da ist als die Netzwerkverbindung bei einem Neustart.

Ja, ich hätte das Skript deutlich unpragmatischer bauen können, dieses tut aber alles, was es soll und hat keinen Ballast.

SmokePing ...

SmokePing ist ein kleines und feines Monitoring-Tool, was Netzwerklatenzen überwacht. Dazu sendet es 20 Pings nacheinander und schaut sich die Zeiten an, die die Pings brauchen, um zurück zu kommen. Die Zeiten werden via RRD gespeichert und grafisch dargestellt. Der Mittelwert zeigt sich in grün und die Abweichungen vom Mittelwert in verschiedenen Graustufen, dabei entsteht der Eindruck einer Wolke (oder Rauch).



Das obige Bild zeigt die Pings zu meinem root-Server über drei Stunden.

Mit SmokePing kann man Netzwerkschwierigkeiten feststellen, wofür ich es auch seit sehr langer Zeit nutze. Allerdings sollte man wenigstens zwei Ziele an verschiedenen Stellen im Netz überwachen, der Server, auf dem Smokeping läuft, könnte auch Schwierigkeiten haben.

Last not least möchte ich erwähnen, dass man damit - in Verbindung mit free.domain.name (vormals DynDNS) - auch wunderbar die Verfügbarkeit des eigenen Internetzugangs prüfen kann.

VLC und UPnP ...

VLC ist mein bevorzugtes Medienabspielprogramm. Ja, auch für Audio und ja, ich weiss, dass es dafür bessere Clients gibt. Aber VLC bietet alles, was ich brauche und das auch noch auf allen Plattformen, die ich benutze.

Einzig manche Menüpunkte sind sehr versteckt.

Unser Router und auch unser NAS können als DLNA-Server fungieren und so via UPnP Medien im Netz verteilen. Mit VLC erreicht man diese Server über View / Playlist / Local Network / Universal Plug'n'Play, da kann aber drauf kommen, oder?

Grmpf!

Wartezeit für Mount erhöhen ...

debian Im Zusammenhang mit unserem Synology NAS nutze ich Autofs, um Verzeichnisse via NFS bei Bedarf einzubinden. Da das Gerät normalerweise vor sich hin schläft, wenn es nicht in Benutzung ist, dauert es seine Zeit bis die Verzeichnisse bereit gestellt werden. Unter Bodhi und Sabayon war das kein Problem, autofs hat so lange gewartet bis der Mount-Befehl zurück kam. Unter Debian musste ich es selber einrichten.

Dazu einfach den Parameter MOUNT_WAIT in der Datei /etc/default/autofs auf einen "vernünftigen" Wert setzen. Ich habe ihn auf 60 gesetzt, 30 würden aber auch problemlos funktionieren.