Die folgenden Notizen sind wärend meinem Unstieg auf Debian Linux enstanden. Ich habe sie ins Internet gestellt in der Hoffnung, dass andere Leute mit ähnlichen Problemen beim Umstieg auf Linux haben und hoffe, dass sie die mit Hilfe dieser Notizen lösen können.
Welche Betriebssysteme bisher liefen
Neben meinem bisgerien Hauptbetriebssystem Windows lief meist ein Linux (angefangen mit SuSE Linux 5.1, Kernel 2.0.32), so dass ich damit ein paar Erfahrungen sammeln konnte. Mit Linux beschäftigte ich mich mehr aus Neugierde, die meiste Arbeit habe ich unter Windows erledigt. Mit "Arbeit" meine ich dabei Software-Entwicklung (Java, C++, C#, PHP), Office- und Internet-Sachen (EMail, News, WWW), Spiele eher weniger.
Abkehr von Windows
Nach einigem Ärger über Microsoft ziehe ich in Erwägung, Linux zu benutzen. Ich besorge mir dazu an der Uni aktuelle CD-Rom-Images und installiere davon Debian.
Den Anstoss, mir Gedanken über einen vollständigen Umstieg zu machen, gibt dann das folgende Ereignis: Microsoft bietet ein Anti-Spyware-Programm (Beta-Version) zum download an. Der Download scheitert bei mir aber daran, dass Microsoft meinen Rechner daraufhin überprüfen möchte, ob ich auch nur legale Software einsetze. Dies soll durch die Ausführung eines kleinen Programms geschehen, welches die Daten automatisch an Microsoft übermittelt. Meiner Ansicht nach hätte Microsoft gerne die Seriennummer meiner Windows-Installation haben können - was sonst noch auf meinem Rechner ist, geht Microsoft aber nichts an. Also gibt es auch kein Anti-Spyware-Programm, und da ähnliche Aktionen von Microsoft in Zukunft wohl noch öfter zu erwarten sind, rückt der Umstieg auf Linux wieder ein Stückchen näher...
Meine weitere Planung sieht nun folgendermaßen aus: Zunächst möchte ich meine Hardware unter Linux zum Laufen bringen und dann eine Anwendung nach der anderen durch ein geeignetes Programm unter Linux ersetzen.
Einrichtung der Hardware
Der folgende Text bezieht sich auf die folgende Hardware (sicherlich nicht mehr ganz frisch, genügt mir aber (Update im Oktober 2005: genügt mir nicht mehr, siehe):
- Notebook Asus MP8300C mit Intel Celeron 550MHz Prozessor
- Chipsatz Intel 440MX
- 192 MB RAM
- SiliconMotion Graphik-Chipsatz mit 8 MB Speicher
- Intel EtherExpress Pro 100 Netzwerkkarte
- Lucent WinModem
- AC97-Kompatible Soundkarte
- USB-Maus
- D-Link DWL-G650 Wireless LAN PCMCIA Karte (Revision B2 mit Atheros Chipsatz)
USB-Maus
Nach dem Booten von Linux habe ich nur einen Shell-Prompt. Daran habe ich mich
schon gewöhnt, zum täglichen Arbeiten ist eine graphische Oberfläche aber doch
irgendwie praktischer. Die Installation mittels apt-get install kde
gelingt
erfreulich problemlos. Nur leider mag sich der Maus-Zeiger kein bischen
bewegen. Gutes Zureden hilft leider auch nicht weiter. Das Laden von ein paar
Modulen verhilft dann schließlich zur gewünschte Bewegung.
Um die USB-Maus sowohl auf der Konsole als auch unter X verwenden zu können habe ich folgendes gemacht:
Eintragen der Kernel-Module
Ich habe die Kernel-Module
usbcore
uhci-hcd
mousedev
usbhid
in die Datei /etc/modules
eingetragen, so dass diese beim Booten automatisch
geladen werden. Man kann die Module zum Testen auch mittels modprobe Modulname
laden und schauen, ob man nach einem cat /dev/input/mice
wirre Zeichen
sieht. Das sind dann die Daten, die die Maus liefert. Die Ausgabe kann man mit
Ctrl-C
wieder abbrechen. Statt dessen ist es aber auch möglich, das Paket
hotplug
zu verwenden. Es sucht während des bootens nach bekannter Hardware und
lädt die benötigten Kernel-Module austomatisch. Möchte man USB auch für andere
Peripherie (USB-Festplatten, Kartenleser, etc.) verwenden, empfiehlt sich die
Verwendung von hotplug.
Console-Support
Das Programm gpmconfig
aufgerufen, als Protokoll imps/2
und als Device
/dev/input/mice
angegeben. Nach einem Neustart von gpm sollte dann ein
Mauscorsur auf der Console erscheinen.
XFree
Um die Maus auch unter XFree nutzen zu können, habe ich in der Datei
/etc/X11/XF86Config-4
folgenden Eintrag gemacht:
Section "InputDevice"
Identifier "Generic Mouse"
Driver "mouse"
Option "SendCoreEvents" "true"
Option "Device" "/dev/input/mice"
Option "Protocol" "ImPS/2"
Option "Emulate3Buttons" "true"
Option "ZAxisMapping" "4 5"
Option "CorePointer"
EndSection
Der Name der Maus (hier "Generic Mouse") muss auch im Abschnitt ServerLayout
mittels InputDevice "Generic Mouse"
bekannt gemacht werden. Und schon bewegt
sich der Mauszeiger auch unter X. :-)
Lucent WinModem
Mit dem verwendeten Modem habe ich etwas mehr Aufwand gehabt, da es kein normales serielles Modem ist, sondern ein sogenanntes WinModem, für welches es keine Treiber im Kernel gibt. Auf der Seite http://www.linmodems.org gibt es Informationen und Treiber zu WinModems unter Linux. Zur Installation des Treibers für mein Modem ist aber der konfigurierte Kernel-Quellcode notwendig. Also habe ich mich zunächst - mehr aus Neugierde, ob es denn auch funktioniert - darangemacht, einen eigenen Kernel zu kompilieren.
Zunächst habe ich mit
apt-get install kernel-source-2.6.10
den Quellcode des zur Zeit aktuellen Kernels installiert und im Verzeichnis
/usr/src/linux
mittels make menuconfig
eine meiner Meinung nach günstige
Konfiguration ausgewählt. Dazu sollte man sich viel Zeit nehmen und die
jeweiligen Hilfetexte durchlesen, um zu verstehen, was man da gerade
konfiguriert. Ist die Konfiguration fertig, speichert man sie am besten in einer
Datei ab, um sie später weiter bearbeiten zu können.
Nach dem Verlassen des Konigurationstools kann man dann mit dem Packet
kernel-package
ein eigenes Debian-Paket mit dem selbst konfigurierten Kernel
erstellen lassen. Dazu ruft man im Quellcode-Verzeichnis des Kernels
(meist /usr/src/linux
) den Befehl
make-kpkg --append-to-version YYYYMMDD kernel_image
auf. Damit wird der Kernel und die nötigen Module kompiliert und in eine
.deb-Datei unter /usr/src
gepackt. Die Zeichen YYYYMMDD
sollte man natürlich
durch das aktuelle Datum ersetzen, denn dann bekommt der Kernel das Datum an die
Version drangehängt. Dieses kann man nach der Installation mit uname -a
überprüfen. So kommt man nicht mit mehreren Kernels der selben Version
durcheinander, denn es ist sehr wahrscheinlich, dass man mehrere Anläufe
braucht, bis die Konfiguration "perfekt" konfiguriert ist. Das erstellte
Debian-Paket kann nun mittels
dpkg -i kernel-image-2.6.10-YYYYMMDD.deb
installiert werden.
Nun endlich kann man mit der Installation der Modem-Treiber beginnen. Dazu entpackt man das Archivltmodem.VVVV.tar.gzmittar -xvzf ltmodem.VVVV.tar.gz, zum Beispiel im Verzeichnis/usr/src. Nun wechselt man in das dabei erstellte Verzeichnis und ruft dort den Befehlbuild_moduleauf. Es gibt auch ein Skriptbuild_deb, welches ein Debian-Paket erstellen soll. Das hat bei mir jedoch nicht funktioniert.
Wenn das Kompilieren funktioniert hat, findet man im Unterverzeichnis drivers
die Kernel-Module. Diese kann man nun mit
mkdir /lib/modules/`uname -r`/extra
cp lt*.ko /lib/modules/`uname -r`/extra
zu den anderen Kernel-Modulen kopieren. Nach einem Aufruf von depmod -a
werden
die Abhängigkeiten zu anderen Modulen berechnet und man kann das Modul
lt_serial.ko
mittels modprobe lt_serial
laden und/oder in die Datei
/etc/modules
eintragen, damit es bereits beim booten geladen wird.
Die WLAN-Karte
Da meine WLAN-Karte einen Chipsatz von Atheros enthält, gibt es im Kernel - ebenso wie beim Modem - keinen Treiber. Das Projekt MadWifi stellt aber einen Treiber zur Verfügung. Dieser Treiber enthält jedoch Binärcode von Atheros; es handelt sich also nicht um einen reinen OpenSource-Treiber.
Auch dieser Treiber benötigt die konfigurierten Kernel-Sourcen. Man verfährt
also ähnlich wie bei der Installation der Modem-Treiber, entpackt das
Treiber-Archiv und ruftmakeauf. Der Treiber wird nun compiliert und man kann das
fertige Modul ebenfalls nach /lib/modules/\
uname -r`/extra` kopieren.
Zum Betrieb der WLAN-Karte, einer PCMCIA-Karte, benötigt man dann noch:
- das Paket
wireless-tools
- Die Software und einen passenden Kernel zum Betrieb des PCMCIA-Busses
Dann kann man die Karte einfach einstecken, mittels modprobe ath_pci
das
entsprechende Modul laden, dann mit ifconfig eth0 up
die Karte anschalten und
mit iwlist scanning
nach Accesspoints in Reichweite suchen. Wenn man in einem
Netz mit DHCP-Server aktiv ist, kann man mit dhclient ath0
eine IP-Adresse
beziehen. Ansonsten kann man die IP-Adresse auch statisch mit dem
Programm ifconfig
festlegen.
Einrichtung der Anwendungen
Die meisten Anwendungen lassen sich problemlos mittels apt-cache search
NameDerAnwendung
suchen und dann mittels apt-get install Anwendung
installieren. Es gibt jedoch ein paar Ausnahmen, bei denen die aktuellste
Version der Anwendung noch nicht als Debian-Paket vorliegt oder die es gar nicht
als Debian-Paket gibt.
Software-Entwicklung: Java und Eclipse 3.1
Da ich zur Zeit an der Uni mit Java und Eclipse entwickle, brauche ich diese
Anwendungen auch unter Linux. Das JDK (Java Development Kit) von Sun ist leider
kein Open Source und daher auch nicht als Debian-Packet (jedenfalls nicht auf
den Debian-Servern) erhältlich. Man kan es sich aber als selbstentpackendes
Archiv unter http://java.sun.com herunterladen und einfach in einem beliebigen
Verzeichnis entpacken. Ich habe dazu /opt/jdk1.5.0
gewählt.
Mit Eclipse kann man ganz ähnlich verfahren. Die aktuelle Version habe ich von
einem Mirror von http://www.eclipse.org heruntergeladen. Genau genommen handelt
es sich um mehrere Archive: Die Eclipse Platform (das Eclipse SDK benötigt man
normalerweise nicht), die Java Development Tools (JDT) (damit man überhaupt
Java-Unterstützung in Eclipse hat) und bei Bedarf das JUnit Testing
Framework. Diese Archive habe ich ebenso wie das JDK im Verzeichnis /opt
entpackt, so dass Eclipse nun im Verzeichnis /opt/eclipse
installiert
ist. Unter Umständen müssen noch die GTK-Bibliotheken installiert werden, damit
Eclipse läuft. Bei mir waren sie aber schon installiert, so dass ich dazu nichts
genaueres sagen kann.
Ein Office-Paket: OpenOffice
Natürlich benötige ich auch ein Office-Paket um hin und wieder mal einen Brief zu schreiben, eine Tabelle zu erstellen, etc. Dazu habe ich mir zum einen das Paket OpenOffice, aber auch das zum KDE-Projekt gehörende KOffice installiert und beide ausprobiert. Mein Eindruck ist, dass KOffice an einigen Stellen noch nicht so weit entwickelt ist wie OpenOffice, daher habe ich es wieder gelöscht.
Personal Information Management: Kontact
Das Debian-Pseudo-Paket kdepim
installiert alles, was man braucht. :) Es
handelt sich um mehrere Anwendungen (EMail, News, Adressverwaltung, Kalender,
Todo-Liste, etc.), die in einer "Rahmenanwendung" namens Kontact dargestellt
werden. Kontact startet die anderen Anwendungen in einer MS Outlook ähnlichen
Oberfläche.
Gut gefällt mir besonders die inzwischen weit fortgeschrittene Integration von GnuPG (Programm zum Verschlüsseln) in KMail. Mit einem Klick wird eine EMail signiert, mit einem weiteren auch verschlüsselt. Das Entschlüsseln und Überprüfen der Signatur funktioniert sogar automatisch, sofern man das Passwort weiss.
Fazit
Ich bin erstaunt, wie gut sich Linux inzwischen für den Einsatz auf dem Desktop eignet. Meine Hardware funtioniert problemlos und ich vermisse bisher keine Software. Ich kann also nur jedem, der es probieren möchte, nur Mut machen. Probiert es aus - im Notfall kann man es ja auch wieder von der Platte putzen, ich hoffe aber, das wird nicht nötig sein.