Sie sind hier

Februar 2009

Neuer Versuch: IPv6

Wer kennt es nicht, wenn Bekannte auf einen zukommen und schon mit dem Satz anfangen "Du bist doch Informatiker...". Meistens endet es dann unschön und mit viel Arbeit für einen selbst. In diesem Fall handelt es sich um einen Medion Laptop mit Windows XP, Celeron 2.4 GHz, 512 MB RAM und 40 GB Festplatte, der schon bei Kleinigkeiten wie blöde auf der Platte rumrödelt und Ewigkeiten braucht, um z.B. Firefox zu starten.

Also hab ich den Rechner nun zuhause und darf Windows neu installieren - oder mir irgendwas anderes einfallen lassen, um das ganze wieder zu beschleunigen. Das RAM ist nach dem Start zu ca. 220 MB belegt, wenn Firefox läuft sind noch >150 MB verfügbar.

Ich glaube, ich werde erstmal versuchen, den Rechner etwas aufzuräumen und die Besitzerin danach darauf vorbereiten, innerhalb des nächsten Jahres einen neuen Laptop zu kaufen. So teuer sind die ja nicht mehr....

*seufz*

P.S.: das soll nun nicht bedeuten, daß ich nicht gerne helfe, aber muss es immer Windows auf solchen Krücken sein? Linux ist mit 512 MB RAM und KDE/Gnome im übrigen auch keine Alternative, mal davon abgesehen, daß die Besitzerin eh nur Windows kennt...

Kategorie: 

Automatically restore files from lost+found - improved

NOTE: you can find the newest version at: http://blog.windfluechter.net/content/blog/2011/03/30/1095-updated-automatically-restore-files-lostfound

Ok, my last version was a pure Bash solution: working, but slow. There were some comments how to improve the performance and I decided finally to reimplement the second script as Python script.

The Bash script didn't finish within a day. The Python script ends after 1-2 hours in my test scenario. So, here are the scripts again:

make-lsLR.sh - call this regularly (cron) to create the needed files that are stored in /root/. Of course you can alter the location easily and exclude other directories from being scanned. 

check_lost+found.py - The second script is to be run when your fsck managed to mess up with your files and stored them into lost+found directory. It takes 3 arguments: 1) the source directory where your messed up lost+found directory is, 2) the target directory to which the data will be saved and 3) a switch to actually make it happen instead of a dry-run.

I've chosen to copy the files to a different place instead of moving them within the same filesystem to their original place for safety reasons. Primary goal is to retrieve the files from lost+found, not to replace a full featured backup and restore application. Because of this the script doesn't handle hard- nor symlinks correctly. It just copy files. Of course there's still room for improvements, like handling hard-/symlinks correctly or using inode number instead of md5sums to move data back to its prior location. But it works for me[tm] well enough in this way, so I'm satisfied so far. You're welcome, though, to improve this piece of ugliness if you like. Maybe someone else finds this usefull as well. Use it on your own risk, of course. :)

 

Kategorie: 

Einladung OpenLab #2: Verschlüsselung

Ok, my last version was a pure Bash solution: working, but slow. There were some comments how to improve the performance and I decided finally to reimplement the second script as Python script.
The Bash script didn't finish within a day. The Python script ends after 1-2 hours in my test scenario. So, here are the scripts again:

make-lsLR.sh - call this regularly (cron) to create the needed files that are stored in /root/. Of course you can alter the location easily and exclude other directories from being scanned. [download make-lsLR.sh]
[code]
#!/bin/bash
#
# Usage: ./make-lsLR.sh
#
# Purpose:
# to make a file that is parseable for recovering
# a filled /lost+found directory by parsing
# filesize, md5sum, permisions and path+filename
#
# Author: Ingo Juergensman - http://blog.windfluechter.net
# License: GPL v2, see http://gnu.org for details.
#
# first: get all directories
nice -15 find / -path /sys -prune -o
-path /proc -prune -o
-path /var/lib/backuppc -prune -o
-path /var/spool/squid -prune -o
-type d -printf "%U:%G %#m " -print > /root/ls-md5sum-dirs.txt

exit 0

# next: get all relevant information
nice -15 find / -path /sys -prune -o
-path /proc -prune -o
-path /var/lib/backuppc -prune -o
-path /var/spool/squid -prune -o
-type f -printf "%s %U:%G %#m "
-exec nice -15 md5sum {} ; | tr -s " " > /root/ls-md5sum-files.txt
[/code]

check_lost+found.py - The second script is to be run when your fsck managed to mess up with your files and stored them into lost+found directory. It takes 3 arguments: 1) the source directory where your messed up lost+found directory is, 2) the target directory to which the data will be saved and 3) a switch to actually make it happen instead of a dry-run. [download check_lostfound.py.sh]
[code]
#!/usr/bin/python
#
# usage: check_lostfound.py [make_it_so]
#
# Purpose: to find files in lost+found and trying to restore
# original files by comparing ls-md5sum-files.txt (generated by
# make-lsLR.sh
# Option make_it_so cause the data actually being written/moved
# whereas the script runs in dry mode per default.
#
# Author: Ingo Juergensman - http://blog.windfluechter.net
# License: GPL v2, see http://gnu.org for details.
#

from string import *
import sys, os
from os.path import *
import string

if len(sys.argv)<>4:
print "usage: "+sys.argv[0]+" "
sys.exit(1)
else:
mnt = sys.argv[1]
target = sys.argv[2]
mode = sys.argv[3]

dirs="/root/ls-md5sum-dirs.txt"
source="/root/ls-md5sum-files.txt"
lost="/root/lostfound-files.txt"
print "Creating list of files in %s/lost+found" % mnt
cmd = 'find %s/lost+found -type f -printf "%%s %%U:%%G %%#m " -exec nice -15 md5sum {} ; > /root/lostfound-files.txt' % mnt
os.system(cmd)

d = open(dirs, 'r+')
f = open(source, 'r+')
l = open(lost, 'r+')

sfiles={}
lfiles=[]

# create the missing directories first
print "Creating missing directories in %s" % target
for entry in d:
ugid=string.split(entry, " ", 2)[0]
perm=string.split(entry, " ", 2)[1]
pfad="%s%s" % (target,string.split(replace(entry, "
", ""), " ", 2)[2:][0])
res = isdir(pfad)
if (os.path.exists(pfad) and os.path.isdir(pfad)):
print "%s exists... " % pfad
else:
cmd = "%s %s - mkdir %s" % (ugid, perm, pfad)
print cmd
try:
if mode == "make_it_so":
os.makedirs(pfad)
uid, gid = string.split(ugid, ":")
os.chown(pfad, int(uid), int(gid))
os.chmod(pfad, int(perm))
except:
print "%s exists... " % pfad

# now parse /root/ls-md5sum-files.txt to get
# md5sum and /path/to/filename pairs
for line in f:
line=replace(line, "
", "")
#size1 = split(line)[0]
#ugid1 = split(line)[1]
#perm1 = split(line)[2]
md5s1 = string.split(line)[3]
#path1 = split(line)[4]
sfiles[md5s1] = strip(str(string.split(line," ", 4)[4:][0]))

# next: do the same to the files in lost+found
for line in l:
size2 = string.split(line)[0]
ugid2 = string.split(line)[1]
perm2 = string.split(line)[2]
md5s2 = string.split(line)[3]
path2 = strip(str(string.split(replace(line, "
", "")," ", 4)[4:][0]))
s = "%s %s %s %s %s" % (md5s2, ugid2, perm2, size2, path2)
lfiles.append(s)

# finally look at lost+found and copy the files
# to the appropriate place. Instead of copying
# the files can be moved as well, but to copy is
# safer in case of mistakes or errors
for lf in lfiles:
md5s = string.split(lf)[0]
lfile = string.split(lf, " ", 4)[4:][0]
if sfiles.has_key(md5s):
if os.path.exists(target+sfiles[md5s]):
pass
else:
targetfile = sfiles[md5s]
print "restoring %s%s " % (target, targetfile) #lfile
cmd = 'cp -p "%s" "%s%s"' % (lfile, target, targetfile)
if mode == "make_it_so":
os.system(cmd)
del sfiles[md5s]

[/code]

I've chosen to copy the files to a different place instead of moving them within the same filesystem to their original place for safety reasons. Primary goal is to retrieve the files from lost+found, not to replace a full featured backup and restore application. Because of this the script doesn't handle hard- nor symlinks correctly. It just copy files.

Of course there's still room for improvements, like handling hard-/symlinks correctly or using inode number instead of md5sums to move data back to its prior location. But it works for me[tm] well enough in this way, so I'm satisfied so far. You're welcome, though, to improve this piece of ugliness if you like.

Maybe someone else finds this usefull as well. Use it on your own risk, of course. :)

Kategorie: 

Upgrading to Lenny

Und wieder wird zum OpenLab eingeladen, dieses Mal bereits zum zweiten Mal. Das Thema ist das breite Spektrum "Verschlüsselung" oder genauer gesagt: "Sichere E-Mail Kommunikation / CAcert Assurance / PGP Keysigning / S/MIME"

Sichere E-Mail Kommunikation / CAcert Assurance / PGP Keysigning / S/MIME

Am Dienstag, den 24. Februar 2009, findet die zweite diesjährige Openlab Veranstaltung statt. Ralph und Thomas werden euch bei einer Einführung in das Thema Verschlüsselung unter anderem mit den Begriffen Vertrauen, Kryptografie sowie Lösungsansätzen zur Schlüsselausstellung (CA) und -verteilung (PKI) vertraut machen. Im praktischen Teil des Workshops werden wir uns gemeinsam der sicheren E-Mail Kommunikation widmen, so dass jeder am Ende in der Lage ist, seine E-Mails bei Bedarf zu signieren und zu verschlüsseln.

Wie gehabt möchten wir wieder Einsteiger wie Fortgeschrittene einladen. Ingesamt haben vier CAcert Assurer zugesagt, so dass wir erstellte CAcert Konten gleich gegenseitig beglaubigen können. Notwendig sind dafür nur zwei mitgebrachte amtliche Ausweißdokumente (keine Angst, es nimmt niemand eure Daten auf). Wer das Vertrauen seines PGP Schlüssels erhöhen möchte, kann diese ebenfalls signieren lassen.

Alle Themen könnt ihr unter Openlab 02 - Workshop Verschlüsselung nachlesen. Wir freuen uns auf deine Anmeldung und Teilnahme. Wer sich bei einem Thema noch einbringen möchtet, meldet sich bitte bei Ralph, Thomas oder Mathias 19:31, 18. Feb 2009 (CET). Inbesondere wird noch jemand gesucht, der das PGP Keysigning vorbereitet.

Anmeldung zum OpenLab #2 kann man sich hier. Ich weiss es noch nicht so genau, aber vermutlich bin ich auch dort... aber bis dahin müsste ich mich mal bei CAcert anmelden, damit sich das lohnt... ;-)

Kategorie: 

Projekt Strandfigur: Laufalternativen

After the release of Lenny I've upgraded all my servers to it. Earlier than I planned. The upgrade went mostly smooth, but there were some glitches:

  1. somehow the roundcube webmailer was gone and uninstallable. I could fix that by building the package from Sids sources and installing it.
  2. Squirrelmail was broken in that regard that you got an error message after logging in, stating something about the compatibility plugin. A Google search confimed that there are problems with the compatibility plugin. But sadly it didn't help to just deactivate the plugin in the config. Instead I needed to rename/remove the old directory from Squirrelmails plugin directory and installed the appropriate package again. Works again.
  3. OpenLDAP has changed its method how replicas are being configured. But as this is just a change in configuration, it shouldn't be difficult, although I haven't found the time yet to do the changes.

I guess I'll have more "fun" in upgrade a Xen domU at work that is running Ubuntu dapper... *sigh* ;-)

Kategorie: 

Lenny released, next to come: Squeeze

Bei dem Schneefall der letzten Zeit und der ganzen Schneeschipperei könnte man auf die Idee kommen, daß Schneeschippen eine gute Alternative zum Joggen sei, um die Strandfigur zu erlangen. Andererseits: wenn man bis zum Sommer Schnee schippen muss, braucht man wiederum ja auch keine Strandfigur. *grübel*

Darüberhinaus hab ich mich heute mal in so ein Fitness-Studio gewagt - vorerst nur zwecks Information. Ich weiß ja nicht, wie die anderen Kunden von McFit das so sehen, aber ich bin nicht bereit, sofort einen 12-Monats Vertrag fuer € 16.95 zu unterschreiben, wenn ich nicht weiß, ob mir das in so einer Muckibude auch Spaß macht. Besonders einladend sah es da zudem auch nicht aus. Alles ziemlich kahl und nüchtern.

Gibt es Alternativen im Raum Rostock? Ich glaube nämlich, alleine durch den Park hier zu schoggen motiviert mich unbedingt bei diesem Wetter. Wobei es mir bei dem Fitness-Studio primär darum geht, langsam wieder ein bißchen Kondition zu bekommen und meine Muskeln etwas vorzutrainieren, um dann später mal nach Wilhelmshöhe zu laufen. Meine Freundin empfiehlt ja das Studio am Vögenteich...

Kategorie: 

Valentinstag

Congrats and thanks to all people involved into releasing Lenny! Keep on the good work!

Now everyone can concentrate on the next release of Debian called Squeeze. My wishlist for the new, upcoming release:

  1. no political, show-stopping discussions or GRs anymore.
  2. more members in core teams such as ftpmaster, DAM, debian-admin, ... - don't wait until someone will eventually join, but look actively for new members and train them, so that the workload for everyone involved will be less at the end.
  3. please forget your personal dislike when working with other people. You don't need to be friends, but you should be able to work together like professionals and concentrate on the topics.
  4. please introduce sub-releases for desktop, multimedia, kernel stuff while having a base of core packages for a longer term for servers. Release desktop related stuff more often than the base core packages.
  5. acknowledge the work of contributors and find a way to let them some part of Debian without following the long and often unnecessary, unwanted and boring path of NM.
  6. and finally: have fun! :-)

So, now it's up to upgrade my machines to Lenny in the next days... I hope everything will be as smooth as everyone is expecting it. :-)

Kategorie: 

Bielefeld? Das gibt's doch gar nicht!

Weil ja heute Valentinstag ist, hab ich mich gestern in Unkosten gestürzt und meiner Liebsten folgendes gekauft:

Blumenstrauß

Valentinstag und keine rote Rosen? Richtig! Denn erstens müssen es ja nicht immer nur rote Rosen sein und zweitens waren die mir eindeutig mit € 2,20 pro Rose einfach deutlich zu teuer. Die gelben Rosen haben nur € 0,80 gekostet und sehen auch schön aus. Sogar schöner, meiner Meinung nach, als ein Strauß roter Rosen.

Kategorie: 

Wii kann denn das passieren?!

*** BREAKING NEWS *** *** BREAKING NEWS *** *** BREAKING NEWS ***

EILMELDUNG!

Wie ich soeben einer Meldung auf Spiegel Online entnehme, unterwandern SIE nun auch die Filmindustrie und wollen einen Film über die Bielefeld-Verschwörung drehen, um diese wohl als Scherz und Utopie darzustellen!
Daß es hierbei nicht um eine ernstzunehmende Dokumentation über die Verschwörung von IHNEN geht, damit IHRE Machenschaften endlich mal aufgedeckt und einer breiten Öffentlichkeit zugänglich gemacht werden, kann man daraus entnehmen, daß Medienwissenschaftler und die Marketingagentur der Stadt hinter diesem Projekt stecken sollen! Übelste Verschleierungstaktik! Also obacht! Seid wachsam und laßt euch nicht von IHNEN für dumm verkaufen!

*** BREAKING NEWS *** *** BREAKING NEWS *** *** BREAKING NEWS ***

Aber gespannt bin ich schon darauf, was das für ein Film werden soll, denn immerhin heißt es am Ende des Artikels:

Was in Sachen Ernsthaftigkeit von dem Film über die Verschwörung zu halten ist, lässt sich an den Worten des Filmprojektleiters Fabio Magnifico ablesen. Der Lehrbeauftragte für Film- und Videoproduktionen an der Fachhochschule Bielefeld sagte der dpa, bis zum Frühjahr 2010 solle ein "Agenten-Thriller im Stil von James Bond" entstehen. Gedreht werde in Griechenland - und in Bielefeld.

Nach einem Schlusspunkt des Running Gag hört sich das nicht an.

Da bin ich aber mal gespannt! :-))

Kategorie: 

Automatically restore files from lost+found

Gestern war ich gut unterwegs in Rostock. Ich wollte nämlich ein Wii Fit für die Wii, die es zu Weihnachten gab, käuflich erwerben.
Eigentlich hatte ich das Wii Fit Board ja schon Anfang Januar bei Amazon bestellt. Die können aber derzeit nicht liefern. Ausverkauft.
Also dachte ich, daß die hiesigen "Wir-sind-doch-bloed-und-kaufen-teuer-ein-obwohl-die-Werbung-anderes-suggeriert"-Märkte der Metro-Gruppe mir da nun langsam mal aus dem Schlamasseln heraushelfen könnten. Denn dort gibt es ja immer alles und das natürlich supergünstig.
Also führte mich mein erste Weg in den MediaMarkt in Bargeshagen. Nachdem ich zwar zahlreiche Wiis, Wii-Remotes, Wii-Wheels, Wii-Ladegeräte entdeckt hatte, beschlich mich ja schon ein leiser Verdacht. Aber sicher ist sicher und wer nicht fragt bleibt dumm. Also jemanden gesucht, der mir mutmaßlich weiterhelfen könnte: gleich um die Ecke stand jemand der fleissig Pakete ins Regal packte. Die wenig freundliche Antwort gebe ich hier mal nicht wider. Kann man sich ja eh schon denken. Also noch nach einem richtigen Verkäufer gesucht und nicht nur nach einem Regaleinräumer. Nachdem einer gefunden war, wußte ich: keine Wii Fits da und wann welche kommen sollen, weiß auch niemand so recht. Alles ausverkauft. Ach?

Naja, also dachte ich mir, daß ich mein Glück beim Pro-Markt versuche. Ich brauchte eh noch eine Druckluftdose, um meine Rechner zu entstauben. Aber auch da weit und breit nichts von einer Wii Fit zu sehen. Die Druckluftdose fuer ca. € 12.- hab ich auch dort stehen gelassen, da ich mich erinnerte, daß es im Marktkauf die gleiche für ca. € 10,- gibt.

Und da ich schonmal auf der völlig anderen Seite von Rostock war, dachte ich mir, daß ich ja nochmal im zweiten MediaMarkt vorbeischauen könnte. Vielleicht hab ich ja dort Glück? Aber dem war leider nicht so. Auch dort ausverkauft und keine Ahnung, wann Nachschub kommt.

Als letztes wagte ich mich dann noch todesmutig in die Innenstadt, ohne aber in ein Parkhaus zu fahren. Bei Saturn soll es ja auch alles geben und alles günstig sein - nur halt eben kein Wii Fit Board, wie ich feststellen mußte. Insofern stimmte die Werbeaussage: selten soviel Geld gespart.

Achja, die Druckluftdose hab ich dann aus dem Saturn mitgenommen: für € 9,99.

Vielleicht gibt es ja Mitte bis Ende Februar neue Wii Fits. Aber - und das ist etwas, was ich nebenbei auch erfahren habe, als ich mich nach einem Festbrennweitenobjektiv für die D90 umgeschaut habe - die Japaner erhöhen derzeit aufgrund des starken Yen alle Preise. Mal schauen, was das dann für das Wii Fit Board bedeutet... *sigh*

Kategorie: 

Seiten

Theme by Danetsoft and Danang Probo Sayekti inspired by Maksimer