Archive

Archive for July, 2009

rpmdb: Lock table is out of available locker entries

July 27th, 2009 No comments

Ich weiß schon, warum ich RPM nicht mag. Wenn einem die o.g. Fehlermeldung über den Weg läuft, bedeutet das, das man die RPM-Datenbank neu aufbauen muss, weil sie durch eine abgebrochene Installation o.ä. zerfetzt wurde. Das geht wie folgt:

Sicherheitshalber ein Backup machen:
tar cvzf rpm-backup,tgz /var/lib/rpm

RPM-Datenbank neu aufbauen:
rpm --rebuilddb

Neue RPM-Datenbank testen:
rpm -qa

Wenn bei letzterem Befehl keine Fehlermeldungen auftauchen, hat die Operation geklappt.

Categories: Linux Tags:

Stromverbrauch des iMac

July 26th, 2009 No comments

Nachdem in der letzten Woche meine Stromabrechnung im Briefkasten lag, habe ich mich auf die Suche, nach den Stromfressern in meiner Wohnung gemacht. Dazu habe ich alle Geräte an ein Conrad Messgerät angeschlossen, auch meinen iMac. Die Ergebnisse sind wenig spektakulär, aber vielleicht interessieren sie ja doch jemanden:

Leerlauf / Idle = ca. 60 – 65 Watt
Volllast = ca. 90 Watt
Ruhezustand = ca. 0 Watt

Die Werte gelten für meinen iMac mit einem 2GHz Core2Duo, 4 GB Speicher, 20″ Display und 250 GB Festplatte.

Categories: Mac Tags:

Do-It-Yourself: AS-list.txt für ntop

July 14th, 2009 1 comment

ntop ist ein Tool, das sich wunderbar eignet, um den eigenen Netzwerk-Traffic zu untersuchen. Es schlüsselt dabei, auf Wunsch, nicht nur nach Protokollen, sondern auch nach Ziel-AS (=Autonomes System) auf.

Leider ist es gar nicht so einfach, einzelne IP-Adressen Ihrem jeweiligen AS zuzuordnen. Daher bringt ntop eine Datei namens AS-list.txt mit, die viele AS und Ihre Prefixe enthält. Leider ist diese Datei (zumindest unter Ubuntu) hemmungslos veraltet und damit fast unbrauchbar. Meine Suche bei Google führte leider auch nicht zu einer aktualisierten Liste, also war es an der Zeit, selbst eine zu erstellen.

Das geht, dank der Hilfe von RouteViews relativ einfach. Man nehme die Zonendatei für asn.routeviews.org und konvertiere sie in das passende Format:

wget -qO - ftp://archive.routeviews.org/dnszones/originas.bz2 | bzip2 -cd | awk '{printf "%s:%s\n",$4,$5}' | sed s/\"//g | sort -un > AS-list.txt

Update: sort -un und uniq tun offensichtlich nicht das gleich, daher muss es korrekt heißen

wget -qO - ftp://archive.routeviews.org/dnszones/originas.bz2 | bzip2 -cd | awk '{printf "%s:%s\n",$4,$5}' | sed s/\"//g | uniq | sort -n > AS-list.txt

Update 2: Wie im Kommentar richtig angemerkt stimmt das Format nicht (mehr). Das liegt daran, das Routeviews.org vor ein paar Tagen sein Quellformat geändert hat. Mit folgender Änderung läuft es wieder, auch wenn die ersten paar Zeilen immernoch ein paar Fehler enthalten stimmen die restlichen 99%

wget -O - ftp://archive.routeviews.org/dnszones/originas.bz2 | bzip2 -cd | awk '{printf "%s:%s/%s\n",$4,$5,$6}' | sed s/\"//g | uniq | sort -n > AS-list.txt

Categories: Linux Tags:

Cron, übernehmen sie…

July 3rd, 2009 No comments

Es ist mal wieder Zeit, etwas zum Thema Shell-Scripting zu schreiben.

Problem: Wie erkenne, ich ob ein Script von einem Benutzer oder durch Cron ausgeführt wird ?

Lösung: Wie immer, mindestens 2 🙂

Ansatz 1)
Man setzt in den entsprechenden Crontabs eine Variable (z.B. ISCRON=1) und prüft diese im Script. Das funktioniert natürlich nur, wenn man Kontrolle über die Crontabs hat, was nicht immer der Fall ist.

Ansatz 2)
Man schaut auf eine Variable, die Cron nicht setzt. $TERM ist so eine. Diese wird gesetzt, wenn Sessions auf der Console oder per Telnet/SSH gestartet werden, Cron braucht sie aber schlicht nicht. Das sieht dann z.B. so aus:

if [ “$TERM” = “” ]; then
echo “Hallo Cron”
else
echo “Hallo Mensch”
fi

Categories: Linux Tags:

NTFS verkleinern, kurz und schmerzlos

July 3rd, 2009 No comments

Da steht er also, meiner Arbeits-Laptop: ein kleiner Dell E6400. Laut einigen Blog-Einträgen wird es von Ubuntu 9.04 tadellos unterstützt und genau das soll auch nun drauf. Nur eine Sache steht mir noch im Weg: Windows. Das hat sich leider auf der gesamten 160 GB Platte breit gemacht und lässt so kein Byte für alternative Betriebssysteme.

Glücklicherweise sind die Zeiten, inden NTFS für Linux nur lesbar war mittlerweile vorbei. Die Ubuntu Desktop CD liefert sogar eine handvoll NTFS-Tools um es dem geneigten Umsteiger einfach zu machen. Und so gehts:

1) Herausfinden, wie voll die Platte wirklich ist (in meinem Fall ca. 16 GB):
ntfsresize --no-action --info /dev/sda2

2) Einen Probelauf mit der neuen Größe (für mich 40 GB) durchführen:
ntfsresize --no-action --size 40G /dev/sda2

3) Wenn das geklappt hat, geht’s wirklich los:
ntfsresize --size 40G /dev/sda2

4) Windows booten, damit chkdsk laufen kann um den Resize zu überprüfen. Anschließend die Größe der Festplatte C notieren (in Bytes). Reboot.

5) Zurück in Ubuntu mit fdisk die Partition löschen und in der entsprechenden Größe neu anlegen
fdisk -u /dev/sda

Der Startsektor MUSS dabei gleich bleiben. Zu diesem addiert man die notwendigen Sektoren (Größe Laufwerk C in Bytes geteilt durch 512) hinzu. Den Partitionstyp (7 = NTFS) und das bootable-Flag nicht vergessen !

Abschließend noch einmal in Windows booten und den Datenträger über die Eigenschaften -> Extras überprüfen lassen. Das sollte keine Fehler melden. Der Resize ist damit abgeschlossen. 🙂

Categories: Linux Tags: