Skip navigation.

matze's blog

Packet aus Quellode unter Ubuntu bauen

Um unter Ubuntu aus einem Quellcode-Paket ein .deb datei zu erstellen gibt es das tool checkinstall:

apt-get install checkinstall

Um aus dem Packet ein debian packet zu bauen, muss man es erst entpacken:

tar xifz dovecot-1.2.10.tar.gz

dann mit

./configure  --prefix=/usr --sysconfdir=/etc/dovecot

konfigurieren. Dann noch

checkinstall

ausführen. Um mehrere provides anzugeben verwendet man das plus-zeichen:

provides dovecot-common+dovecot-imapd+dovecot-pop3d

Nachdem man alles konfiguriert hat wird das Paket gebaut und installiert. Das erstellte packet dovecot_1.2.10-1_amd64.deb am besten noch sichern.

 

Einfacher Sicherheitscheck für Windows

Um Windows mal kurz zu testen, ob alle Sicherheitsupdates installiert sind und Java / Flash / Skype und Co aktuell sind, dafür eignet sich der Secunia Software Inspector. Dieser überprüft mitels eines Java-Applets, ob die Software aktuell ist.

Backup von einem Server auf den Privatrechner

Da ich gerne zusätzlich ein Backup von meinem Server auf meinem Rechner mache und nicht nur auf dem Rechenzentrum sichere habe ich mir ein Script ausgedacht, was folgendes erfüllt:

  • Das Backup soll jederzeit starten können, also unabhängig davon, wann ich den Rechner eingeschaltet habe
  • maximal alle 24 Stunden wird ein Backup gemacht
  • Es sollen nur geänderte Dateien kopiert werden
  • /tmp, /var/tmp usw. soll nicht gesichert werden
  • Die Geschwindigkeit soll gedrosselt sein, damit es im Hintergrund laufen kann
  • Alte Backup-stände sollen erhalten bleiben und nur manuell gelöscht werden

Das Script das das alles erfüllt ist erstaunlich kurz, dank rsync:

#!/bin/sh

BACKUPDIR=/path/to/backup
LOCKFILE=/path/to/.backup.lock
BACKUPCUR=$BACKUPDIR/current
BACKUPDATE=$BACKUPDIR/`date +"%d.%m.%Y_%H-%M-%S"`
EXCLUDE="--exclude=/tmp \
--exclude=/var/tmp \
--exclude=/usr/portage \
--exclude=/usr/src \
--exclude=/proc \
--exclude=/list+found \
--exclude=/var/lib/clamav/ \
--exclude=/var/log/"

MAXSECSOLD=$((24*60*60))
KBLIMIT=200

if [ "$1" == "--force" ] ; then
        echo -n
elif ! [ "$(( $(date +"%s") - $(stat -c "%Y" $LOCKFILE) ))" -gt "$MAXSECSOLD" ];
then  
        exit 0;
fi
flock -n $LOCKFILE nice rsync -avz --delete --delete-excluded --bwlimit=$KBLIMIT -e ssh root@abma.de:/ $BACKUPCUR $EXCLUDE --backup --backup-dir=$BACKUPDATE
touch $LOCKFILE
touch $BACKUPCUR
 

Kurz zur Erklärung:

es wird überprüft, ob der Parameter --force angegeben wurde, wenn ja wird das Backup ausgeführt. Wenn nicht wird überprüft die letzte Änderung von LOCKFILE weniger als MAXSECSOLD Sekunden her ist, wenn ja wird das Script beendet.

Dann wird das lockfile erstellt, damit das script / der rsync nur einmal gestartet wird und der rsync mit niedriger Priorität gestartet.

Nach dem Backup wird das Änderungsdatum des Lockfile und des Backup-Verzeichnisses auf die Aktuelle Zeit gesetzt.

In BACKUPDIR/current befindet sich das aktuellste Backup, in BACKUPDIR/uhrzeit sind die Dateien, die seit dem letzten Backup geändert worden sind.

Der einzig große Nachteil ist: Sollte man das Backup doch einmal benötigen, muss man über die vermutlich langsame Internetanbindung die Dateien hochladen, was u.u. sehr Lange dauern kann, von daher ist noch zusätzlich ein Backup beim Hoster zu empfehlen.

Noch zu empfehlen wäre, wenn eine Datenbank mit gesichert wird, diese zu beenden und dann dieses Verzeichnis extra zu kopieren, oder einen sql-dump zu machen.

Das Script liegt im Verzeichnis /etc/cron.hourly/.

Dateien nach Viren überprüfen

Um Dateien nach Viren zu überprüfen sind Onlinevirenscanner wie VirusTotal oder Jotti zu empfehlen. Oder wer hat 20 Virenscanner installiert? :-)

Buildbot für AGAI

Für das Projekt agai habe ich einen buildbot aufgesetzt.

Compress maildir with dovecot's zlib plugin

With dovecots zlib plugin, it's possible to have compressed mails in the users maildir.

I've written a script to compress all mails on my mailserver:

#!/bin/sh

compress_maildir () {
cd $1
DIRS=`find -maxdepth 2 -type d -name cur`
for dir in $DIRS; do
        echo $dir
        cd $dir
        FILES=`find -type f -name "*,S=*" -not -regex ".*:2,.*Z"`
        #compress all files
        for FILE in $FILES; do
                NEWFILE=../tmp/${FILE}
                #echo bzip $FILE $NEWFILE
                if ! bzip2 -9 $FILE -c > $NEWFILE; then
                        echo compressing failed
                        exit -1;
                fi
                #reset mtime
                if ! touch -r $FILE $NEWFILE; then
                        echo setting time failed
                        exit -1
                fi
        done
        echo Locking $dir/..
        if PID=`/usr/libexec/dovecot/maildirlock .. 120`; then
                #locking successfull, moving compressed files
                for FILE in $FILES; do
                        NEWFILE=../tmp/${FILE}
                        if [ -s $FILE ] && [ -s $NEWFILE ]; then
                                echo mv $FILE $NEWFILE
                                mv $FILE /tmp
                                mv $NEWFILE ${FILE}Z
                        else
                                echo mv failed
                                exit -1
                        fi
                done
                kill $PID
        else
                echo lock failed
                exit -1
        fi
        cd - >/dev/null
done
}

compress_maildir /home/user/.maildir/
chown -R username:users /home/user/.maildir/
 

If using this script, please do it after an backup/copy of the maildir, the script is far away from being perfect :-)

If the Script is rerun, it checks the files for a Z at the end of the filename, so the file isn't recompressed.

With compressed mails i saved ~25% of space.

 

ReactOS 0.3.11 veröffentlicht

Eine neue Version von ReactOS wurde veröffentlicht:

Neue Features gibt es kaum, aber der Memorymanager wurde neu geschrieben und bringt damit eine höhere Stabilität, außerdem wurde ein Easteregg eingebaut und es gibt nun Spider Solitaire :-)

Auf Golem.de gibt es ein paar Screenshots.

 

Linux 2.6.33 - Interessantes in Aussicht

Linux 2.6.33 scheint die beiden Probleme anzugehen, dass es keine offenen Grafiktreiber und kein HA/Cluster-Dateisysteme ohne zusätzliche Patches im Kernel gibt.

Es wird gleich zwei neue Möglichkeiten für ein verteiltes Dateisystem geben:

  • DRBD ist verteiltes Block-basiertes Gerät, im Prinzip ein RAID übers Netzwerk, benötigt auch für andere Cluster-Dateisysteme
  • Ceph ist ein Cluster-Dateisystem, wird als Kernel-Modul integriert, bisher war es nur als Fuse-Dateisystem verfügbar

Der "nouveau" Treiber wird integriert. Damit sind endlich für ATI und Nvidia Opensource-Treiber verfügbar in die auch über längere Zeit eine 3D-Beschleunigung integriert wird. Aktuell waren eigentlich nur die proprietären Treiber für den alltäglichen Gebrauch geeignet.

Der Kernel wird vermutlich im April 2010 veröffentlicht.

Syndicate content