Was ist Linux?

Linux ist ein freies, POSIX-kompatibles, open source Betriebssystem, welches von Linus Torvalds und einer Vielzahl weltweit verteilter Entwickler entwickelt wird. Linux bietet alle Features, die man von einem modernen Betriebssystem erwartet: Echtes (prämptives) Multitasking, virtuelle Speicherverwaltung, 64-bit Journaling Filesystem etc..Linux ist genau genommen nur der Systemkern (Kernel), der Rest des Systems besteht aus den GNU-Tools, Systembibliotheken und weiteren (meist auch freien) Programmen. Ursprünglich wurde Linux für x86-kompatible PCs (ab 386er) entwickelt, im Lauf der Zeit wurde es jedoch auf immer mehr Plattformen portiert, darunter unter anderem Compaq Alpha, Sun SPARC und UltraSPARC, Motorola 68000, PowerPC, Intel IA-64 und viele mehr.

Was ist eine Linuxdistribution?

Eine Distribution ist eine Zusammenstellung von zu Paketen gepackten Programmen, die bequem mit einem Paketmanager wie dpkg oder rpm installiert bzw. deinstalliert werden können, dem Linux-Kernel sowie einem Installer um das System überhaupt installieren zu können. Jede Distribution hat eine eigene Versionsnummer (z.B. RedHat 7.2 oder Debian 3.0), die sich von der Versionsnummer des Linux Kernels (z.B. Linux 2.2.20 oder Linux 2.4.18) unterscheidet. Deshalb gibt es kein “Linux 7.2” (und wird es auf absehbare Zeit auch nicht geben)! Firmen die solche Distributionen zusammenstellen sind z.B. Mandrake, RedHat oder SuSE. Es gibt aber auch einige freie Distributionen die von unbezahlten Entwicklern zusammengestellt werden, wie z.B. Debian oder Gentoo.

Welche ist die beste Linuxdistribution?

Die beste Linuxdistribution gibt es nicht! Jeder muss selber wissen, welche er am besten findet, und das hängt von vielen Faktoren ab. Für Anfänger sind Mandrake, RedHat oder SuSE ganz gut geeignet, da diese Distributionen einfach zu installieren sind und man durch die grosse Verbreitung relativ leicht Hilfe im Internet findet. Wir würden einem Linux-Einsteiger von diesen drei Distributionen am ehesten zu Mandrake raten. Von Distributionen wie Corel-Linux, EasyLinux, WinLinux oder Lindows raten wir ab. Viele “Profis” greifen am ehesten zu Debian, da diese Distribution sehr ausgereift und “sauber” ist (dafür aber auch etwas Linux- Erfahrung voraussetzt).

Kann ich Linux neben anderen Betriebssystemen verwenden?

Ja. Die Linux-Bootpartition sollte am besten eine primäre Partition sein. Der Linux Bootloader (z.B. LILO oder GRUB) wird dabei auf die Linux-Bootpartition installiert (nicht im MBR) und diese Partition anschliessend mit fdisk als Bootpartition eingetragen. Der Linux Bootloader kann dann so konfiguriert werden, dass man beim Start des PCs das Betriebssystem auswählen kann.

Woher bekomme ich eine Linuxdistribution?

Die meisten Distributoren bieten ihre Linuxdistribution zum freien download als ISO an.Auf der Seite linuxiso.org findet man eine Reihe verschiedener Distributionen als ISO zum Download. Diese lassen sich unter Windows am besten mit Nero brennen, andere Brennprogramme sollten aber ebenfalls keine Probleme damit haben.Wenn man keinen Brenner besitzt, kann man sich z.B. bei linISO.de die verschiedensten Distributionen für einen kleinen Geldbetrag bestellen. Ausserdem bieten mittlerweile viele Computerhändler bekannte Distributionen wie SuSE, RedHat oder Mandrake an – zwar kosten diese Distributionen deutlich mehr als die herunterladbaren, dafür bekommt man dann aber auch ein gedrucktes Handbuch oder zumindest eine gedruckte Installationsanleitung, was besonders Einsteigern den ersten Kontakt mit Linux erleichtert. Diese gekauften Versionen beinhalten meistens auch noch telefonischen Installationssupport über einen bestimmten Zeitraum.SuSE bietet ihre Distribution seit Version 6.4 nicht mehr zum Download an, man bekommt nur noch eine Live Evaluation genannte Version, die sich allerdings nicht installieren lässt.

Welche Anforderungen stellt Linux an den Rechner?

Linux ist ein vergleichsweise sparsames Betriebssystem. Als Minimalkonfiguration reicht ein Prozessor der 386er-Klasse und 4 MB RAM, eine minimalistische Installation begnügt sich bereits mit etwa 40 MB Festplattenplatz (man kann Linux aber auch ausschließlich mit einer Diskette betreiben, mehr Informationen hierzu findet man auf www.linux-embedded.com ). Um komfortabel arbeiten zu können reicht ein Prozessor der Pentium-Klasse und etwa 32 MB Arbeitsspeicher, speicherintensive Anwendungen wie den KDE Desktop sollte man nicht unter 64 MB RAM verwenden. Typische Installationen reichen von einigen Hundert Megabyte bis zu mehreren Gigabytes, mit etwa zwei Gigabyte Festplattenplatz sollte man gut auskommen.

Welche Hardware unterstützt Linux?

Linux unterstützt fast jede derzeit erhältliche Hardware – mit Ausnahme der Fälle in denen der Hersteller die nötigen Informationen nicht freigibt, um einen Treiber zu schreiben. Zur derzeit nicht unterstützte Hardware gehören z.B. viele Winmodems und GDI-Drucker. Im Internet gibt es viele Listen und Datenbanken über den Hardwaresupport von Linux, einige davon werden im Folgenden aufgezählt: Grafikkarten, Drucker, Soundkarten, Joysticks und Gamepads, Scanner, OpenGL DRI Treiber, OpenGL Treiber für Nvidia Karten… Dazu gibt es noch einige allgemeine Hardwaredatenbanken, wie zum Beispiel bei SuSE oder RedHat anzutreffen. Wenn eine Hardwarekomponente in irgendeiner dieser Listen als unterstützt eingetragen ist, gilt das für alle Distributionen. Es ist zwar möglich, dass eine Distribution den erforderlichen Treiber nicht mitliefert, dieser kann aber in der Regel ohne Probleme aus dem Internet heruntergeladen werden.

Wo finde ich Software für Linux?

Für fast jeden Einsatzzweck gibt es unter Linux die passende Software. Das Spektrum reicht von einfachen Editoren bis hin zu kompletten Office-Paketen. Moderne Distributionen liefern mit ihren mehreren tausend Paketen bereits Software für jeden erdenklichen Einsatz aus – dank der GNU GPL nicht nur, bis auf die Kosten für die CDs, kostenlos, sondern wirklich frei. Sollte man im Umfang seiner Distribution noch nicht das Richtige finden, lohnt es sich freshmeat.net einen Besuch abzustatten, dort befindet sich eines der grössten Softwarearchive für open source Software. Weitere bekannte Softwarearchive sind Linuxberg und www.linuxapps.com.

Wie installiere ich Software unter Linux?

Bei der Installation von Software wird zwischen Source- (meistens *.tar.gz oder *.tar.bz2) und Binärpaketen (z.B. *.deb, *.rpm) unterschieden. Binärpakete werden normalerweise mit dem dazugehörigen Paketmanager installiert. Bei rpms reicht ein einfaches

# rpm -i paketname.rpm

auf der Konsole oder in einer Terminalemulation aus. debs können mit

# dpkg -i paketname.deb

installiert werden. Bei Debian empfiehlt sich jedoch die Verwendung von apt-get zur Paketverwaltung, da so Paketabhängigkeiten automatisch aufgelöst werden. Sourcepakte müssen vor dem Installieren erst kompiliert werden. Um Software kompilieren zu können, müssen im einfachsten Fall nur ein C-Compiler (gcc), make, der Linker ld (binutils) und die glibc-Header installiert sein. Komplexere Programme benötigen aber fast immer noch weitere “libraries” (z.B. xlibs, gtk, qt, ncurses, slang etc.) und die dazugehörigen Header um kompiliert werden zu können. Wenn alle benötigen Pakete installiert sind, kann das Sourcepaket mit folgenden Befehlen kompiliert und installiert werden:

$ tar -xvzf source.tar.gz

oder

$ tar -xvIf source.tar.bz2

Bei neueren tar-Versionen lautet der Befehl:

$ tar -xvjf source.tar.bz2

$ cd source$ ./configure$ make

Falls man noch nicht root sein sollte, wechselt man mittels

$ su

den Benutzer. Zum Schluss folgt die eigentliche Installation der Software:

# make install

Dabei ist zu beachten, dass nicht alle Sourcepakete ein configure-Skript besitzen. Bei solchen Programmen kann das “./configure” einfach übersprungen werden. Genaue Informationen zur Vorgehensweise bei der Installation sind fast immer in der mitgelieferten “README” und/oder “INSTALL” Datei zu finden. Um Sourcepakete wieder sauber deinstallieren zu können, sollte man das Programm stow verwenden (sollte bei jeder guten Linuxdistribution dabei sein). Dann wie bereits vorhin beschrieben:

$ tar xvzf paket.tar.gz$ cd paketname$ ./configure –prefix=/usr/local/stow/paketname$ make

…und als root:

# make install# cd /usr/local/stow# stow paketname

Nun sollte das Paket sauber installiert sein. Zur Deinstallation einfach als root Folgendes eingeben:

# cd /usr/local/stow# stow -D paketname# rm -r paketname

Weitere Informationen dazu stehen in der Manpage zu stow.



Woher bekomme ich den neuesten Linux-Kernel?
Die neueste Version des Linux-Betriebssystemkerns bekommt man von www.kernel.org. Dort findet man neben der neuen, stabilen Kernelreihe (2.4.x) auch die aktuelle Produktionsreihe (2.2.x), die alte, stabile Kernelreihe (2.0.x) und die Entwicklerkernel. Für Desktopsysteme sollte man Kernel 2.4 verwenden, da dieser mit Abstand die meiste und neueste Hardware unterstützt, für kritische Serveranwendungen den in vielen Situationen stabileren Kernel 2.2. Kernel 2.0 einzusetzen lohnt sich heute nicht mehr. Beim herunterladen des Quellcodes sollte man einen der zahlreichen Mirror benutzen, z.B. ftp.de.kernel.org, die Kernelquellen liegen auf den Servern unter /pub/linux/kernel/. Dabei ist egal ob man sich ein gzip- oder bzip2- Archiv (zu erkennen an der Endung gz bzw. bz2) herunterlädt, die zum entpacken benötigten Programme werden mit jeder aktuellen Linux-Distribution mitgeliefert. Bis auf die unterschiedliche Grösse sind die Inhalte beider Archive absolut identisch. Besitzer langsamerer Internetverbindungen sollten beim Kernelupdate auf die ebenfalls erhältlichen Patches zurückgreifen um Telefongebühren und Downloadzeit zu sparen.


Wie kompiliere ich einen neuen Kernel?
Zunächst einmal muss gesagt werden, dass ein Linux-Einsteiger nicht unbedingt mit der Installation eines eigenen Kernels beginnen sollte, da durch Fehler das System sehr leicht in einen nicht Bootfähigen zustand versetzt werden kann und auch Datenverlust möglich nicht auszuschließen ist. Deshalb an dieser Stelle nur eine kurze Anleitung mit den nötigsten Schritten. Für mehr Informationen empfiehlt sich das sehr ausführliche Kernel-HOWTO. Als erstes sollte sichergestellt werden, dass die Pakete bin86, GCC und die ncurses-Header installiert sind. Letztere sind notwendig um den Kernel menübasiert zu konfigurieren, ansonsten müsste man auf das unübersichtliche “make config” zurückgreifen. Sollte man sich einen Patch heruntergeladen haben, muss man zunächst in das Verzeichnis der alten Kernelquellen wechseln und dort den Patch entpacken und anwenden (mehr dazu in der patch-Manpage):
# cd /usr/src/linux# bzip2 -d patch-VERSION.bz2# patch -1 patch-VERSION

Hat man sich das komplette Archiv heruntergeladen, so wird der Kernel mit folgendem Befehl etpackt:

# tar -xvzf linux-VERSION.tar.gz

Bzw.

tar -xvIf linux-VERSION.tar.bz2

Jetzt muss der Kernel konfiguriert und kompiliert werden:

# cd linux

(Falls man sich noch nicht im Verzeichnis der Kernelquellen befindet)

# make menuconfig
# make dep clean bzImage modules

Das Ganze sollte man in /usr/src/ machen. An dieser Stelle empfiehlt sich ein Backup des alten Kernels anzufertigen:

# cp /boot/vmlinuz /boot/vmlinuz.old# cp /boot/System.map /boot/System.map.old

Jetzt kann der fertig kompilierte Kernel installiert werden:

# cp arch/i386/boot/bzImage /boot/vmlinuz# cp System.map /boot/System.map

Sollte man bereits einen Kernel in dieser Version installiert haben ist es wichtig die erst alten Kernelmodule zu löschen, da sonst oft Abhängigkeiten nicht aufgelöst werden und man Probleme beim benutzen der Module bekommt:

# rm -r /lib/modules/VERSION

Jetzt könen die Module installiert werden:

# make modules_install

Anschließend noch überprüfen ob der Bootloader die Position des neuen Kernelimages (und des Backups) kennt: image=/boot/vmlinuz und dementsprechend image=/boot/vmlinuz.old für das Backup in der lilo.conf bzw. kernel /boot/vmlinuz und ebenfalls kernel /boot/vmlinuz.old für das Backup in der menu.lst bei GRUB. Nun nur noch den entsprechenden Bootloader aufrufen:

# lilo

Bzw.

# grub-install /dev/hda

Um den neuen Kernel zu laden muss das System schließlich noch neu gebootet werden.



Gibt es einen [IRC/ICQ/AIM/Napster/…]-Client für Linux?
Selbstverständlich. Empfehlenswert sind u.A. X-Chat als IRC-Client, LICQ als ICQ-Client und GAIM als AIM-Client. Alle genannten Programme sind in aktuellen Distributionen enthalten. Weitere Clients findet Ihr auf freshmeat.net.


Welcher Browser ist empfehlenswert?
Es gibt eine Reihe guter Browser die man unter Linux benutzen kann. Die bekanntesten davon sind wohl Opera, Mozilla und der Konqueror (der Browser/Dateimanager aus KDE 2.x). Daneben gibt es noch verschiedene andere Browser die z.T. auf der Mozilla-Renderengine Gecko basieren (z.B. Galeon oder Skipstone) und sogar Browser für die Konsole (z.B. Links, Lynx oder w3m).


Kann ich unter Linux meine Windows-Programme weiterbenutzen?
Grundsätzlich nein, obwohl das ist eingeschränkt möglich ist. Nativ kann man keine Windows-Anwendung unter Linux starten, aber es gibt eine Reihe von Möglichkeiten wie man sie trotzdem zum Laufen bekommt. Eine dieser Möglichkeiten besteht darin WINE, eine Implementierung der Win32 API fü Linux, einzusetzen. Mit WINE ist es möglich eine vielzahl von Windows-Anwendungen, zum Teil auch Spiele unter Linux zu nutzen. Kurz etwas zur Funktionsweise von WINE: WINE wandelt Programmaufrufe von Windows-Anwendungen in für Linux verständliche um.Spiele sind im Allgemeinen etwas problematischer, da sie häufig DirectX-Funktionen benötigen. Von Transgaming gibt es mit WineX (bei Sourceforge als CVS-Tree erhältlich) WINE Version mit DirectX Implementierung für Linux. WineX ist allerdings noch weit davon entfernt DirectX vollständig zu implementieren. Eine weitere Möglichkeit besteht darin, einen kompletten PC im PC zu emulieren und darin Windows zu installieren. Diesen Ansatz verfolgen proprietäre Programme wie VMware und Win4Lin . Es gibt auch schon ein entsprechendes Opensource-Projekt, Plex86, allerdings ist dieses noch nicht ausgereift genug um es im Alltag zu benutzen.Grösster Nachteil dieser Lösung ist der Leistungshunger den sie erfordert: Das Wirtsystem verbraucht etwa die Hälfte des physikalisch vorhandenen Arbeitsspeichers und einen Grossteil der Prozessorleistung, also nichts für Rechner unterhalb der Pentium II-Klasse.Apropos Spiele: Es gibt bereits eine Reihe hochkarätiger Spiele für Linux – beispielsweise Quake 3, Unreal Tournament und einige mehr. Leider reicht das Angebot bei weitem nicht an das von Windows heran, was auch auf die mangelnde Unterstützung vieler Spielefirmen zurückzuführen ist. Weiteres zum Thema Spielen unter Linux findet Ihr auf www.happypenguin.org und www.linuxgames.com.


Wie kann ich auf Windows-Partitionen zugreifen?
Ganz einfach als root:
# mkdir /mnt/win# mount -t vfat /dev/hdxy /mnt/win

Dabei wird von einer FAT-Partition ausgegangen, sollte es sich um eine NTFS-Partition handeln, reicht es vfat durch ntfs zu ersetzen. x steht in diesem Beispiel für die Festplatte (primary master=a, primary slave=b, secondary master=c usw.), y für die Partition (1 bis 4 sind primäre oder erweiterte, ab 5 logische Partitionen). Der Inhalt der Partition ist nun in /mnt/win zugreifbar. Wenn man einen Eintrag in der fstab (/etc/fstab) vornimmt, lässt sich das Dateisystem einfach mit

$ mount /mnt/win

mounten. Wie das geht wird in der fstab und mount Manpage ausführlich erklärt.



Wie greife ich auf Disketten zu?
Disketten werden einfach mit
# mount /dev/fd0 /floppy

in das Dateisystem eingebunden (mounten). Sofern der entsprechende Mountpoint in der fstab eingetragen wurde, reicht ein einfaches

$ mount /floppy

um den Datenträger zu mounten. Dies kann übrigens auch von normalen (nicht-root) Usern ausgeführt werden. Es ist wichtig Datenträger vor dem Herausnehmen wieder zu unmounten, was mit folgendem Befehl als User, welcher den Datenträger zuvor gemountet hat, gemacht wird:

# umount /floppy

Welche Dateisysteme unterstützt Linux?
Linux unterstützt eine breite Palette an Dateisystemen, darunter NTFS, HPFS, AFFS, UFS, SMBFS, HFS und NFS, einige davon allerdings nur lesend zuverlässig. Linux lässt sich auch in Zusammenhang mit Journaling Dateisystemen wie ext3, dem SuSE-Benutzern bekannten ReiserFS, IBM’s JFS und SGI’s XFS benutzen. übrigens: Es existiert auch ein Tool, das Zugriff auf ext2/ext3-Partitionen unter Windows ermöglicht: Explore2fs.

Wie kann man die Grösse seiner bestehenden FAT/ext2/ext3-Partition ändern?
Dies ist mit Programmen wie FIPS oder parted möglich. Beide sollten jeder aktuellen Distribution beiliegen und im Handbuch dokumentiert sein.

Warum soll man nach Möglichkeit nicht als root arbeiten?

root darf alles und Programme, die von root gestartet werden, dürfen auch alles (auch das Betriebssystem zerstümmeln und löschen)! Viren, Bugs in Programmen oder Fehler des Users können unter einem normalen Useraccount dem System absolut nichts antun. Als root zu arbeiten reduziert die Sicherheit des System gegenüber Viren auf die von Windows 9x. Es gibt unter Linux zwar nur eine kleine Anzahl an Viren, davon fast keiner in freier Wildbahn, aber auch einfache Tippfehler können das System zerstören wenn man als root arbeitet. Man sollte root also wirklich nur zur Systemadministration verwenden! Um ein einzelnes Programm als root zu starten kann man den Befehl “su” in einem Terminal oder auf der Konsole verwenden.

Wie kann ich meinen Linux-Rechner sicherer machen?

Mit diesem wirklich sehr umfassenden Thema beschäftigt sich die deutschsprachige Seite www.linux-secure.de und es existiert ein exzellentes, aber englisches HOWTO, ebenfalls eine sehr gute Seite dazu ist Securityfocus. Besonders wichtig ist es die Security Updates, die von dem jeweiligen Distributor zur verfügung gestellt werden, so schnell wie möglich zu installieren. Auch wenn das Thema sehr wichtig ist, so würde es den Rahmen dieser FAQ sprengen näher darauf einzugehen.