Monthly Archives: October 2009

Resistente Virenschleuder

Als die Europäer das amerikanische Festland eroberten und die fälschlicherweise als Indianer bezeichneten Ureinwohner verdrängten, brachten sie neben Waffen und billigen Geschenken unbeabsichtigt noch etwas anderes mit: Krankheiten, gegen die sie selbst resistent waren, die den Indianern aber schwer zusetzten.

Warum erzähle ich das?

Als Linux in verschiedenen Distributionen begann, den Desktop zu erobern und mit der Ausbreitung des Internets auch Viren, Würmer und andere Malware populär wurden, stellte sich eines heraus: So richtig betroffen waren nur die Windows-Nutzer. Einen Virus für Linux zu schreiben, war ungleich schwerer und die Zahl der Nutzer war doch nicht hoch genug, als dass es sich lohnte. Folglich ist der Linux-Nutzer (und jeder Nutzer anderer Betriebssysteme) gegen die Windows-Viren resistent. Was besagten Nutzer jedoch nicht davor bewahrt, unwissend Überträger zu sein. Denn niemand verhindert, dass er auf seiner Festplatte, seinem USB-Stick und in seinen E-Mails Dateien hat, die eine Form von Schädling enthalten. Ein Windows-Nutzer, der eine Datei eines Linux-Nutzers weniger argwöhnisch öffnet, weil er ihm vertraut, wird so doch das Opfer einer Attacke gegen sein System. Ein Vertrauensbruch, der so nicht beabsichtigt war.

Jeder Windows-Nutzer lernt beizeiten, einen Virenscanner zu installieren, um sich gegen Schädlinge zu schützen. Linux-Nutzer fühlen sich sicher und brauchen solche Software nicht. Damit werden sie zum idealen Überträger, da sie nicht einmal wissen, was sich auf ihrer Platte tummelt.

Aufgefallen ist mir das, als mir jemand schrieb, in einer von mir hochgeladenen Datei (die ich auch von anderer Stelle per USB-Stick empfangen habe) einen Virus entdeckt zu haben. Zwar handelte es sich um einen Fehlalarm, trotzdem macht dies eines klar: Selbst wer nicht betroffen ist, sollte seinen Datenbestand hin und wieder nach Viren untersuchen!

Freie Virenscanner gibt es zum Beispiel mit ClamAV, die man per Cron-Job regelmäßig über seine Daten jagen kann. USB-Sticks lassen sich bei Bedarf automatisch überprüfen, wenn man auf die Daten zugreift, und schon ist das Netz ein wenig dichter und die Gefahr, selbst zur Virenschleuder zu werden, ein Stück geringer.

LaTeX zurück an den Start bringen

Neuer Tag, neue Geschichte, die ich einrichten muss. Heute ist LaTeX auf dem System dran. Wir reden immernoch von Debian Squeeze.

Erster Schritt:

aptitude install texlive-full vim-latexsuite

Ja ich weiß, das ist das Rundum-Sorglos-Paket, was mir auch sehr viel Kram auf die Platte spült, was ich nie nutzen werde. Macht nichts, so ist das halt mit Rundum-Sorglos-Paketen. vim-latexsuite will noch aktiviert werden – wie, musste ich auch erst im Netz wiederfinden. Sehr hilfreich:

man vim-addons

Soweit so gut, als nächstes habe ich dann den Ordner ~/texmf aus meinem Backup zurückgespielt. Einfach mal `texhash` eingeben hat dann allerdings noch nicht dazu geführt, dass das System da was mit anfangen wollte, also wieder Doku wälzen. Ergebnis:

mktexlsr ~/texmf

Führte erstmal dazu, dass ich das gewünschte Dokument kompilieren konnte, aber ich bekam noch Warnungen, dass was mit den Fonts nicht stimmte:

LaTeX Font Info:    Try loading font information for OMS+lmss on input line 110
.
LaTeX Font Info:    No file OMSlmss.fd. on input line 110.

LaTeX Font Warning: Font shape `OMS/lmss/m/n' undefined
(Font)              using `OMS/cmsy/m/n' instead on input line 110.

LaTeX Font Info:    External font `lmex10' loaded for size
(Font)              <10> on input line 110.
LaTeX Font Info:    External font `lmex10' loaded for size
(Font)              <7> on input line 110.
LaTeX Font Info:    External font `lmex10' loaded for size
(Font)              <5> on input line 110.

Die Suche, wie man das beheben kann, war nicht so super aufschlussreich. Ich hab das dann wie folgt beheben können, wo bei ich nicht weiß, ob das jetzt die eleganteste Lösung ist:

usepackage{textcomp}

Alles in allem, ich schau grad mal auf die Uhr, über eine Stunde, um den Kram zusammenzusuchen, um dann festzustellen, dass ich auch noch das Dokument übersetzen muss, weil es in Englisch geschrieben ist. *sigh*

HowTo: Windows booten mit Debian und GRUB 2

Bei Debian wurde vor einigen Wochen das neue GRUB 2 in Debian Testing (Squeeze) gespült, das alte GRUB, welches das jetzt offiziell »GRUB Legacy« heißen soll, ablöst. Bei Ubuntu ist das übrigens auch für das nächste Release (Karmic) geplant, das in wenigen Tagen rauskommen wird. Wer diese Systeme als einzige auf einem 08/15-PC einsetzt, wird von dem Wechsel vermutlich kaum etwas mitbekommen.

Auf meinem neuen Netbook ist nun Windows XP Home vorinstalliert gewesen. Ich hab das mitbezahlen müssen und ich gebe zu, dass ich es draufgelassen habe, einfach um ab und zu nochmal Diablo II spielen zu können, ohne da im Linux große Verrenkungen anstellen zu müssen mit Installation, Spiele-3D-Grafik oder gar Wine. Nun ist es drauf und ich will es auch booten können. Der Installer von Debian Stable (Lenny) hatte das seinerzeit korrekt erkannt und in der Konfiguration von GRUB Legacy eingetragen.

Beim Upgrade auf GRUB 2 hat Debian diesen Eintrag nun schlichtweg ignoriert. Es hat auch keine neue Suche nach alternativen Betriebssystemen angestrengt, obwohl man vermutlich nur ein bisschen Code aus dem Installer hätte nutzen müssen. In der Liste der zum Boot möglichen Systeme tauchte Windows jedenfalls nicht auf.

Wie das nun bei dicken Rewrites so ist, die noch während des Beta-Stadiums ohne richtige Dokumentation auf die Nutzer losgelassen werden: man steht erstmal im Regen. Dazu kommt, dass der Distributor sich dann noch was ausdenkt, um das sauber in sein System zu integrieren. Bei der Suche, wo ich das nun eintragen müsste, hab ich dann folgendes herausgefunden:

Die neue Config-Datei von GRUB 2 ist /boot/grub/grub.cfg. Das erste was bei Debian drin steht:

#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by /usr/sbin/grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

Soviel Hilfe hätte ich gar nicht erwartet. In /etc/default/grub kann man zunächst mal ein paar Optionen für den Kernel zum Laden setzen. Sowas wie quiet oder vga=789 oder ähnliches. Die Syntax ist selbsterklärend.

In /etc/grub.d liegen dann verschiedene Skripte:

-rwxr-xr-x 1 root root 3223 12. Sep 18:08 00_header
-rwxr-xr-x 1 root root 1152 12. Sep 17:56 05_debian_theme
-rwxr-xr-x 1 root root 3221 10. Aug 19:49 10_linux
-rwxr-xr-x 1 root root 4418 12. Sep 18:08 30_os-prober
-rwxr-xr-x 1 root root  281  7. Okt 23:07 40_custom
-rw-r--r-- 1 root root  483 10. Aug 19:49 README

Die sollte man auch alle brav in Ruhe lassen, wenn man sich nicht wirklich gut mit Shell-Scripting auskennt. Allerdings ist 40_custom genau der richtige Ort für unseren Eintrag um Windows zu booten. Dieser Eintrag sieht dann ungefähr so aus, bzw. gleich mal die ganze Datei, damit das klar wird:

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
menuentry "Windows XP" {
    set root=(hd0,2)
    chainloader +1
}

Auch dies ist nur ein Shell-Script, das irgendwann im Update-Prozess für die Konfigurationsdatei von GRUB 2 ausgeführt wird. Bei der Angabe der Partitionsnummer aufpassen, da gab es eine Verschiebung um +1 gegenüber GRUB Legacy. Jetzt also noch den abschließenden Debian-spezifischen Befehl ausführen, um die neue grub.cfg zu schreiben und schon kann man wieder Windows booten:

update-grub

Update: Seit dem Update von heute, 24.01.2010, erkennt Debian Squeeze die Windows-Installation wieder automatisch. D.h. man kann den Inhalt aus /etc/grub.d/40_custom wieder rausnehmen. Einmal update-grub aufrufen sollte danach genügen, um Einträge für Windows in die Liste zu zaubern.

Update: Die Option vga=789 ist übrigens keine gute Wahl mehr. Spätestens seit Kernel 2.6.32-3 ist KMS, also Kernel Based Mode Setting, aktiv und funktioniert auch und wenn man dann vga setzt, kommt man aus dem X nicht mehr per Strg+Alt+F2 auf die »normale« Konsole.