Butschek.de

Warnung: Diese Seite ist eine statische Kopie eines früher betriebenen Blogs. Es findet keine Aktualisierung mehr statt. Kommentare und die Suche funktionieren nicht.

Linux, Server & Co

Plattenputz mit WinDirStat

2 comments

WinDirStat: Ungewöhnliche Ansicht, hilft aber sehr beim Finden von Leichen...

WinDirStat: Ungewöhnliche Ansicht, hilft aber sehr beim Finden von Leichen...

Kürzlich wurde ich von der Windows-Fraktion kritisiert, da ich beruflich dank meiner Microsoft-Zertifizierung oft als Windows-Fachmann durchgehe, in meinem Blog jedoch ausschließlich über Linux berichte.

Gut, ich will mich bemühen, künftig auch die Windows-Welt etwas zu bedienen. Fangen wir gleich mal damit an:

WinDirStat ist ein kostenloses Windows Tool, welches die Belegung der Festplatte analysiert und die Verzeichnisse und Dateien in Form von rechteckigen Boxen darstellt. Das klingt erstmal verwirrend und ist es beim ersten Start des Programms wohl auch, doch wer erstmal seine Platte damit aufgeräumt hat, wird sowas nicht mehr vermissen wollen.

Das Programm zeigt sehr deutlich und besser als jede Statistik-Ausgabe, mit welchen Inhalten die Platte gefüllt ist. Große Platzfresser sind in Sekunden gefunden. Auch alte, vergessene Programminstallationen, nie gelöschte temporäre Files oder nicht mehr benötigte DVD-ISOs schaffen es nicht, sich vor dem Box-Modell zu verstecken.

PS: Ein ähnliches Programm finden Linux’er unter dem Namen Baobab.

Written by Michael Butschek

August 23rd, 2009 at 10:31 am

Posted in Allgemein

Tagged with ,

Zufallszahlen mit Modulo auf der Shell erzeugen

one comment

Die Firewall aus dem letzten Artikel fand ich extrem lustig, doch die Methode der Zahlenermittlung fand ich sehr interessant. Eine IP-Adresse wurde hier wie folgt erstellt:

echo „$(($RANDOM%256)).$(($RANDOM%256)).[…]“

Die Variable $RANDOM gibt eine Zufallszahl zwischen 0 und 32767. Das Prozent-Zeichen (%) berechnet aus einer Zahl deren Modulo, also den Rest aus der Division zweier ganzer Zahlen. Einfach gesagt berechnet es den Rest einer Teilung der geraden Zahlen.

Grundschul-Beispiel: 100 durch 23 = 4, Rest 8
Das Ergebnis aus 100 mod 23 ist also 8.

Der Modulo eigenet sich gut, eine Zahl auf einem Wert zu kürzen, denn das Ergebnis liegt immer zwischen 0 und dem Divisor-1. Das ist auch logisch, denn der Rest-Wert einer Division muss unter dem Divisor liegen. Also eine zufällige Zahl mod 8 wird ganzzahlig sein und zwischen 0 und 7 liegen.

Der Syntax $(($RANDOM%256)) macht also nichts anderes als die Variable $RANDOM (Zufallswert zwischen 0 – 32767)  modulo 256 zu nehmen – womit ein Ergebnis zwischen 0 und 255 herauskommt.

Interessant gelöst fand ich auch diese Codestelle:

while true; do
sleep 1
echo -n .
if [ $(($RANDOM%13)) -eq 2 ]; then break; fi
done

Hier wurde durch $(($RANDOM%13)) eine zufällige Zahl zwischen 0 und 12 ermittelt und mit -eq 2 mit dem Wert 2 verglichen. Die 2 ist dabei nur eine beliebige Zahl, die if-Anweisung heißt übersetzt nichts anderes als  „In einem von 13 Fällen“ (0-12 = 13 Möglichkeiten!), die Bedingung wird also zufällig mit einer Wahrscheinlichkeit von 1/13tel erfüllt.

Übrigens: Wer Zufallszahlen zwischen 1 und … braucht, kann $((RANDOM % 9 +1)) nutzen. Der erste Teil erzeugt eine Zufallszahl zwischen 0 und 9, danach wird das Ergebnis +1 gerechnet, das ergibt also eine Zufallszahl zwischen 1 und 10.

Written by Michael Butschek

Juli 5th, 2009 at 10:00 am

Posted in IT,LST

Tagged with , , ,

Zone Alarm Firewall für Linux

4 comments

Ein Bekannter schickte mir neulich ein paar Zeilen Code und meinte, das sei der Nachbau der Zone-Alarm Firewall für Linux. Ich fand das fast schon böse :evil:

#!/bin/bash
echo -n Starting firewall.

while true; do
sleep 1
echo -n .
if [ $(($RANDOM%13)) -eq 2 ]; then break; fi
done

echo
echo "Your system is now secure!"

while true; do
sleep $(($RANDOM%53))
HOST="$(($RANDOM%256)).$(($RANDOM%256)).$((RANDOM%256)).$(($RANDOM%256))"
PORT="$(($RANDOM%65535+1))"
echo "Blocked attack from host $HOST on port $PORT!!!"
done

Written by Michael Butschek

Juni 27th, 2009 at 10:00 am

Posted in Fun,IT

Tagged with , , , ,