Allround-Konfigurations-Tools

Aus LinuxUser 11/2000

Allround-Konfigurations-Tools

Aus einem Guss

Wer als normaler Anwender aus der Mac- oder Windows-Welt kommt, der findet das unter Linux nicht unübliche manuelle Editieren von Konfigurationsdateien zum Zwecke der Systemkonfiguration häufig erst einmal befremdlich. Mit Linuxconf und Webmin existieren zwei distributionsübergreifende Tools, die für einen Großteil der in der Praxis relevanten Systemkonfigurationsarbeiten komfortable Frontends bieten. LinuxUser zeigt Ihnen im folgenden am Beispiel der Neukonfiguration des Bootmanagers Lilo und der Einbindung neuer Dateisysteme, wie sich diese Allround-Konfigurationstools für die grundlegende Systemkonfiguration einsetzen lassen.

Was für Unix-Gurus ein Vergnügen, ist für Umsteiger von anderen Betriebssystemen (zumindest anfangs) oft ein Graus: das manuelle Editieren von Konfigurationsdateien mit Hilfe eines Texteditors. Damit auch unter Linux Änderungen an der Systemkonfiguration komfortabler werden, haben sich einige Entwicklerteams an die Arbeit gemacht, für die wichtigsten Konfigurationsaufgaben grafische oder zumindest menübasierte Frontends zu schreiben. Im folgenden stellen wir Ihnen exemplarisch zwei der vielversprechendsten Allround-Konfigurationstools vor und geben Ihnen darüber hinaus die Hintergrundinformationen, die Sie benötigen, um bei Bedarf mit den beiden Tools bequem Ihren Bootmanager lilo neu zu konfigurieren bzw. neue Dateisysteme in Ihr System einzubinden.

Geschaffen für Linux

Linuxconf ist ein speziell für das Betriebssystem Linux geschriebenes GPL-Administrationstool, das distributionsübergreifend einsetzbar ist und sich durch seinen modularen Aufbau leicht erweitern lässt. Derzeit kann man es als textbasiertes Kommandozeilentool (linuxconf –parameter), als menübasiertes Konsolentool (linuxconf –text) und als GUI-basiertes X11-Tool (linuxconf im X-Terminal) aufrufen. In Planung ist weiterhin ein Web-Interface, mit dem die Administration eines Rechners auch von entfernten Rechnern aus möglich wird. Das Standardpaket enthält grundlegende Module für die Bereiche System- und Benutzerverwaltung sowie Netzwerke. Es gibt inzwischen aber eine Reihe von Zusatzmodulen [2] von anderen Entwicklern, mit denen die beachtliche Grundfunktionalität von Linuxconf noch erweitert werden kann. Linuxconf wird derzeit vor allem von Red-Hat-basierten Linux-Distributionen eingesetzt. Das Besondere an Linuxconf ist, dass es nicht nur ein normales Konfigurationstool ist, sondern den Systemzustand überwacht und bei auffallenden Inkonsistenzen Veränderungsvorschläge macht.

Administration über den Browser

Obgleich hinsichtlich der Funktionalität ähnlich wie Linuxconf steht hinter Webmin eine etwas andere Philosophie. Da wäre zunächst einmal der plattformübergreifende Ansatz. Webmin läuft nicht nur unter Linux, sondern auch unter einer Vielzahl weiterer Unix-Derivate. Ein weiterer Unterschied besteht sicherlich im verwendeten Lizenzmodell. Der Kern von Webmin steht unter einer BSD-Lizenz. Es existieren inzwischen eine Vielzahl von Zusatzmodulen [4], die größtenteils unter der GPL stehen. Der augenscheinlichste Unterschied zu anderen Administrationstools besteht aber sicherlich darin, dass Webmin über ein Web-Interface bedient wird. Da hinter Webmin ein kleiner Web-Server mit zahlreichen Perl/CGI-Skripten zur System- und Netzwerkadministration steckt, eignet er sich prinzipiell auch zur Fern-Adminstration einzelner Rechner in einem Netzwerk. Um Webmin nach der erfolgreichen Installation starten zu können, benötigen Sie einen Browser, der die HTML-Tags table und forms darstellen kann (z. B. Netscape oder Opera). Als URL geben Sie dann standardmäßig localhost:10000 an und nach einem geglückten Login als Superuser begrüßt Sie Webmin in Form einer recht ansehnlichen HTML-Seite.

Ein neuer lilo

Linuxconf und Webmin eignen sich für einen Großteil der Konfigurations- und Administrationsaufgaben, mit denen auch Primär-Anwender hin und wieder konfrontiert wird. Eine dieser gelegentlich anfallenden Aufgaben ist etwa die Neukonfiguration des Bootloaders. Dies ist immer dann erforderlich, wenn sich etwas an den zu bootenden Betriebssystemkernen ändert, wenn Sie also z. B. auf Ihrem Rechner neben Linux nachträglich ein weiteres Betriebssystem installieren oder wenn Sie einen neu kompilierten Kernel booten möchten. Unter Linux gibt es inzwischen zwar eine ganze Reihe von Bootloadern, der Linux-Loader lilo erfreut sich aber bei den Pinguinen immer noch größter Beliebtheit. Die grundlegende Vorgehensweise bei der Konfiguration von lilo ist eigentlich recht einfach. Für alle Betriebssysteme, dazu zählen auch verschiedene Linux-Kernel auf ein und derselben Distribution, die Ihnen von lilo kurz nach dem Anschalten Ihres Rechners zur Auswahl vorgelegt werden sollen, müssen zunächst in einer Konfigurationsdatei nähere Angaben gemacht werden. Damit die vorgenommenen Änderungen an der bestehenden Lilo-Konfiguration beim nächsten Reboot wirksam werden können, müssen sie abschließend noch mit dem Befehl

lilo /etc/lilo.conf

in den Master Boot Record (MBR) geschrieben werden.

Grundlagen

Die zentrale Konfigurationsdatei von Lilo heißt standardmäßig /etc/lilo.conf. Sie unterteilt sich in einen Einführungs-Abschnitt, in den Optionen eingetragen werden können, die für alle zu bootenden Betriebssysteme Geltung besitzen, und einen Definitionsabschnitt, in dem diese dann näher spezifiziert werden können. Wenn Sie die Neukonfiguration von Lilo nicht mit Hilfe eines Texteditors direkt an der Konfigurationsdatei vornehmen wollen, dann bieten Ihnen unsere beiden Allround-Konfigurationstools alternativ jeweils mehr oder weniger komfortable Frontends für die Erstellung, Änderung und Aktivierung der Inhalte von /etc/lilo.conf.

Abbildung 1: Lilo-Konfiguration per Frontend: die GUI-Variante von Linuxconf

Abbildung 1: Lilo-Konfiguration per Frontend: die GUI-Variante von Linuxconf

Bei Linuxconf finden Sie die entsprechende Config-Sektion unter boot mode/Lilo. Die globalen Einstellungen (Abschnitt 1) können über den Unterpunkt Configure LILO Defaults, bereits bestehende Booteinträge über die Unterpunkte Configure LILO linux configuration bzw. Configure LILO other OS configuration verändert werden. Darüber hinaus hält Linuxconf auch noch zwei spezielle Unterpunkte für die Einbindung weiterer Linux-Kernels sowie einen eigenen Unterpunkt zur Festlegung des Default-Betriebssystems (Default boot configuration) bereit. Die ggf. vorgenommenen Änderungen werden bei Linuxconf grundsätzlich erst beim Verlassen bzw. durch explizites Aufrufen des Menüpunkts File/Act_Changes und durch explizites Bestätigen durch den Systemadministrator wirksam. Sie werden dabei von Linuxconf genauestens über die geplanten Änderungen informiert und können diese ggf. auch ablehnen.

Abbildung 2: Webmin führt Sie per Formulare, Buttons und Links durch die Lilo-Konfiguration

Abbildung 2: Webmin führt Sie per Formulare, Buttons und Links durch die Lilo-Konfiguration

Webmin hält die Lilo-Konfiguration unter Linux Boot Konfiguration im Register Hardware für Sie bereit. Die einzelnen Menüpunkte sind dank deutscher Sprache und übersichtlicher Gliederungen weitgehend selbsterklärend. Dort, wo das Tool von Ihnen einen expliziten Eintrag erwartet, hält es für Sie ein Eingabeformular bereit, wie Sie es von anderen Webseiten auch gewohnt sind. Stehen prinzipiell nur einige wenigen Einträgen zur Wahl, finden Sie bei Webmin in der Regel eine Auswahlliste, aus der Sie den gewünschten Eintrag per Maus auswählen können. Ansonsten können Sie sich natürlich wie bei anderen Webseiten auch durch die einzelnen Links hindurchnavigieren.

Damit Sie mit den Einstellungsoptionen der Frontends klarkommen, ist ein Einblick in den prinzipiellen Aufbau der Datei /etc/lilo.conf sinnvoll. Aus Platzgründen kann ich Ihnen im folgenden aber nicht alle denkbaren Parameter vorstellen, sondern muss mich auf die Vorstellung derjenigen beschränken, mit denen Sie normalerweise in der Praxis konfrontiert werden. Wie oben bereits erwähnt beginnt die Lilo-Konfigurationsdatei mit einer Reihe von global wirksamen Einstellungen.

Globales…

Lilo möchte zunächst einmal wissen, für welchen Datenträger Sie den Bootloader erstellen wollen, genauer, auf welchem Datenträger sich der Bootsektor (boot=/dev/???) befindet, den Sie verändern wollen. Hier sollten Sie den Namen des Linux-Devices angeben, auf dem Sie Lilo einrichten möchten, z. B. /dev/hda für die erste IDE-Festplatte, /dev/sda für die erste SCSI-Platte oder /dev/fd0 für das 1. Diskettenlaufwerk. Weiterhin interessiert sich Lilo natürlich dafür, welches Betriebssystem Sie in Zukunft bevorzugt (default=label) startet werden, nachdem eine bestimmte Zeit (delay) verstrichen ist, oder im Falle eines festen Prompt, welches Betriebssystem gestartet werden soll, nachdem am Bootprompt lediglich die Eingabetaste gedrückt wurde. Manchmal stehen Ihnen bei den globalen Einstellungen auch noch einige Optimierungsoptionen (insbesondere compact oder linear) zur Auswahl. Da manche Laufwerke jedoch bei diesen Optionen Probleme bereiten können, sollten Sie diese nur dann aktivieren, wenn Sie sich sicher sind, dass Ihr Laufwerk damit zurechtkommt.

…und Lokales

Im zweiten Abschnitt der /etc/lilo.conf muss nun für jeden zu bootenden Linux-Kernel bzw. für jedes zu bootende andere Betriebssystem ein eigener Unterabschnitt eingetragen werden. Dabei wird ein Unterabschnitt für einen zu bootenden Linux-Kernel mit image=, gefolgt von dem exakten Dateinamen (und dessen Verzeichnisbaum) des zu bootenden Linux-Kernels (z. B. /boot/vmlinuz), eingeleitet. Handelt es sich bei dem zu bootenden System hingegen um ein anderes Betriebssystem als Linux, dann wird der Unterabschnitt mit other=, gefolgt von dem exakten Device-Namen (z. B. /dev/hda1 für die erste Partition der ersten IDE-Festplatte oder /dev/fd0 für das erste Diskettenlaufwerk), begonnen.

Nun muss das zu bootende Betriebssystem noch einen sinnvollen Namen (label=) erhalten. Da Sie diesen in Zukunft am Bootprompt eingeben müssen (es sei denn, sie booten das Default-Betriebssystem), empfiehlt es sich an dieser Stelle, einen relativ kurzen, aber dennoch eindeutigen Namen, z. B. win für Windows oder new1 für einen neuen Linux-Kernel, zu vergeben.

Handelt es sich um einen Linux-Eintrag erwartet Lilo darüber hinaus noch, dass Sie ihm mitteilen, welches Device (z. B. /dev/hda3) er im Zweifelsfall als Root (“/”) einhängen soll und ob dieses zunächst nur lesbar (read-only) oder auch beschreibbar (read-write) ge”mount”ed werden soll. Wenn Sie bei der Linux-Installation Ihre Linux-Partition mit dem Standard-Dateisystem von Linux (Second Extended Filesystem, ext2) formatiert haben, dann empfiehlt es sich, das root-Dateisystem zunächst read-only zu mounten, weil normalerweise bei jedem Bootvorgang das Dateisystemprüfprogramm e2fsck bzw. fsck gestartet wird. Diese Programme, die ähnlich wie ihr Windows-Kollege SCANDISK die vorhandenen Linux-Partitionen auf Fehler prüft, erwartet nämlich vor dem Prüfvorgang ein Read-only-gemountetes root-Dateisystem. Aber keine Angst: nachdem der Prüfvorgang abgeschlossen ist, wird das (hoffentlich “saubere”) root-Dateisystem automatisch als read-write gemountet, so dass Sie im Zweifelsfall Ihre Daten wieder darauf ablegen können. Weiterhin besteht die Möglichkeit, dem zu bootenden Linux-Kernel mit der Option append= noch einige Parameter zu übergeben, etwa wenn er die richtige Größe Ihres Arbeitsspeichers (RAM) von selbst nicht richtig erkennt (z. B. append=”mem=128M”) oder Sie in einen “sicheren” Modus (append=”failsafe”) booten möchten.

Handelt es sich dagegen um einen Lilo-Eintrag für ein anderes Betriebssystem, so müssen Sie diesem (wie im Falle von Windows) u. U. noch mitteilen, auf welcher Festplatte es die für den Bootvorgang erforderliche Partitionstabelle findet (bei Windows z. B. table=/dev/hda für die erste IDE-Festplatte).

Die vorgestellten Konfigurationstools bieten z. T. noch einige weitere Konfigurationsoptionen an. Wenn Sie sich nicht sicher sind, worum es sich dabei genau handelt, dann empfehle ich Ihnen, die Standard-Einstellungen zu übernehmen. Wenn Sie schließlich mit der Neukonfiguration des Lilo fertig sind, dann müssen diese Änderungen noch in den Master Boot Record geschrieben werden. Dies können Sie entweder mit den entsprechenden Bestätigungs-Buttons von Linuxconf oder Webmin veranlassen oder, im Falle einer manuellen Änderung, durch Aufruf von lilo /etc/lilo.conf. Beim nächsten Reboot begrüßt Sie nun (hoffentlich) ein neuer Lilo-Prompt mit den geänderten Auswahloptionen.

Neue Dateisysteme einbinden

Wenn Sie Ihrem Rechner ein neues Speichermedium (z. B. 2. Festplatte, DVD-Laufwerk o. ä.) gönnen oder etwa auf eine Festplattenpartition eines weiteren Rechners in Ihrem kleinen Privatnetzwerk zugreifen möchten, dann müssen Sie diesen Speicherzuwachs natürlich zuvor Ihrem Linux-System irgendwie mitteilen. Die zentrale Konfigurationsdatei für solche Mitteilungen ist unter Linux die Datei /etc/fstab. Nur diejenigen Laufwerke, die darin aufgeführt sind, können prinzipiell in das System eingebunden werden. Bei lokalen Dateisystemen funktioniert dies mit dem bekannten mount-Befehl, für den Zugriff auf NFS-Verzeichnisse von entfernten Rechnern sorgt normalerweise der Systemdienst netfs.

Abbildung 3: Einbinden neuer bzw. Veränderung bestehender Dateisysteme mit Linuxconf

Abbildung 3: Einbinden neuer bzw. Veränderung bestehender Dateisysteme mit Linuxconf

Abbildung 4: Das Webmin-Benutzerinterface zur Neueingabe/Änderung von Dateisystemen

Abbildung 4: Das Webmin-Benutzerinterface zur Neueingabe/Änderung von Dateisystemen

Wenn Sie die manuelle Eingabe neuer Einträge scheuen, bieten unsere beiden Allround-Konfigurationstools auch hier wieder die Möglichkeit, mehr oder weniger bequem neue Dateisysteme in die /etc/fstab einzutragen bzw. bestehende bei Bedarf zu verändern. Linuxconf hält die entsprechende Config-Sektion unter dem Punkt Filesystems für Sie bereit. Interessant sind insbesondere die Menüpunkte Access local drive, Access nfs volume und Configure swap files and partitions. Bei Webmin werden Sie in Platten- und Netzwerk-Dateisysteme unter dem Register System fündig.

Grundlagen

Ähnlich wie im obigen Fall der Lilo-Neukonfiguration ist es auch bei der Einbindung neuer Dateisysteme wichtig, den prinzipiellen Aufbau der Konfigurationsdatei zu verstehen, die letztlich von den Frontends der Konfigurationstools bearbeitet wird. Auch hier möchte ich mich aus Platzgründen auf die Vorstellung der jeweils wichtigsten Optionen beschränken. Zunächst einmal ist es interessant zu wissen, dass jedes prinzipiell einhängbare Dateisystem in der /etc/fstab durch genau eine Zeile repräsentiert wird. Die im folgenden vorgestellten Einstellungsoptionen werden dabei durch ein Leerzeichen bzw. Tabulator-getrennt hintereinander geschrieben.

An erster Stelle steht normalerweise jeweils der Name des zu mountenden Devices, z. B. dev/hda3 für die dritte Partition auf der ersten IDE-Festplatte oder /dev/sda4 für ein SCSI-Laufwerk. Da es inzwischen diverse Möglichkeiten des automatischen Einhängens von Wechselspeichermedien gibt, z. B. autofs oder supermount, kann es in der /etc/fstab Ihres Systems übrigens hier, wie im folgenden, durchaus zu kleineren Abweichungen kommen, auf die ich aber hier leider nicht näher eingehen kann. Konsultieren Sie ggf. die Manpages des betreffenden Automount-Tools.

An zweiter Stelle folgt der sogenannte Mountpoint, also jenes Verzeichnis im root-Dateisystem, in das das Device ggf. eingehängt werden soll. Manche Linux-Distributionen haben für Dateisysteme eigens ein /mnt-Verzeichnis eingerichtet, in dem sich die meisten Mountpoint-Verzeichnisse befinden. Wenn Sie ein neues Dateisystem einhängen wollen, dann müssen Sie also ggf. zuvor mit mkdir Verzeichnisname ein sinnvolles Verzeichnis anlegen, das mit dem entsprechenden Mountpoint-Eintrag in der /etc/fstab übereinstimmen muss. Die sogenannte Swap-Partition, das Äquivalent zur Auslagerungsdatei unter Windows, sollte übrigens den Mountpoint “none” erhalten.

An Position drei wird der Typ des Dateisystems näher spezifiziert. Zur Auswahl steht ein gutes Dutzend von Dateisystemtypen (siehe Tabelle “Die gängigsten Dateisystemtypen im Überblick”).

Die gängigsten Dateisystemtypen im Überblick

Dateisystem-Kürzel Dateisystem
ext2 Second Extended Filesystem, das derzeitige Standard-Dateisystem von Linux
swap spezielle Linux-Partition für die Speicherauslagerung
proc Proc Filesystem (ein virtuelles FS, das abrufbare Systeminformationen enthält)
msdos MSDOS-Dateisystem, das ältere DOS-Format (maximal 8 Zeichen für den Dateinamen)
vfat Windows95-Dateisystem, das heutige Windows-Format (auch längere Dateinamen)
iso9660 Dateisystem für CDROM-Laufwerke (nur Lesen)
nfs Network Filesystem (für entfernte Partitionen in lokalen Netzwerken)
reiserfs Reiser Filesystem (ein relativ stabiles Journaling Filesystem für Linux)
autofs/supermount zwei Kernel-basierte Lösungen, um austauschbare Datenträger automatisch einzuhängen

An den hinteren drei Positionen können schließlich noch einige weitere Optionen übergeben werden, mit denen die Eigenschaften des Dateisystems näher bestimmt werden. Position 4 enthält dabei nähere Angaben für den lokalen mount-Befehl bzw. dem entfernten Mount über nfs. An Position 5 können Informationen für den dump-Befehl (Backup von ganzen Partitionen) hinterlegt werden, während die letzte Position dazu dient, die Reihenfolge festzulegen, in der die einzelnen Dateisysteme im Falle eines Reboots von fsck geprüft werden sollen. Nähere Angaben zu diesen Zusatzoptionen finden Sie bei Bedarf in den entsprechenden Manpages zu mount, nfs, dump und fsck.

Insgesamt zeigen meines Erachtens die beiden hier behandelten Konfigurationsbeispiele, dass sich Frontends für Konfigurationsdateien wie Linuxconf und Webmin bisher nur sinnvoll bedienen lassen, wenn der Benutzer bereits über ein Minimum an Vorkenntnissen über den Aufbau der dahinterliegenden Konfigurationsdateien verfügt. Wenn diese Allround-Konfigurationstools auch für Linux-Anwender ohne entsprechende Vorkenntnisse bedienbar sein sollen, dann erscheint mir die Implementierung einer umfangreichen Hilfe bzw. Kurzerklärungen und Empfehlungen zu jedem Unterpunkt der Konfiguration unabdingbar.

Neben Linuxconf und Webmin gibt es selbstverständlich noch einige weitere Projekte, die einen umfassenden Ansatz der Systemkonfiguration anstreben. Im reinen Linux-Bereich sind hier sicherlich die Konfigurationstools von Linux-Mandrake und Caldera zu nennen. MandrakeSoft hat zum einen ein Entwickler-Projekt namens Harddrake ins Leben gerufen, welches zum Ziel hat, die Hardware-Erkennung und -konfiguration unter Linux komfortabler zu gestalten. Zum anderen ergänzt MandrakeSoft durch sein Konfigurationstool DrakConf, ähnlich übrigens wie sein Ziehvater Red Hat dies mit seinem Control-Panel versucht, die bisherigen Konfigurationsmöglichkeiten von Linuxconf um einige wichtige Elemente. Caldera hat bereits vor zwei Jahren ein Projekt mit ähnlich universalem Anspruch wie die hier vorgestellten Allround-Konfigurationstools ins Leben gerufen. Das Konfigurationstool nennt sich COAS (Caldera Open Administration System). Obwohl Caldera dieses Projekt ausdrücklich distributionsübergreifend und lizenzrechtlich weitgehend unbedenklich angelegt hat, scheint die Zukunft des Projekts derzeit eher ungewiss. Die letzte Release (1.1) von COAS wurde jedenfalls vor gut einem Jahr veröffentlicht. Im weiteren Unix-Umfeld gibt es natürlich schon länger menü- bzw. GUI-basierte Administrations- und Konfigurationstools, so z. B. das Monitoring & Administration Tool (MAT). Diese legen aber historisch bedingt in der Regel einen noch stärkeren Schwerpunkt auf die Bereiche Netzwerk- und Benutzerverwaltung als Linuxconf und Webmin dies ohnehin schon tun.

Aus der Sicht des Linux-Anwenders wäre ein GPL-basiertes Universal-Tool, das alle wesentlichen Elemente der Systemadministration in sich vereint und darüber hinaus auch von Unerfahreneren bedienbar ist, jedenfalls äußerst begrüßenswert. Leider zählt der Bereich der Systemkonfiguration derzeit noch zu den “heiligen Kühen” der verschiedenen Distributoren. Jeder kocht hier so sein eigenes Süppchen, wohl in der Hoffnung, durch ausreichend starke Produktdifferenzierung die Gunst der Käufer längerfristig für sich zu gewinnen, allen voran übrigens die deutsche SuSE mit ihrem Mammuttool yast. Dabei erscheint doch gerade ein distributionsübergreifend einsetzbares Allround-Konfigurationstool, das durch hohen Bedienkomfort wie umfassende Einstellungsoptionen gleichermaßen glänzt, die richtige Strategie, um noch mehr Windows-vertrossene Anwender auf den Linux-Desktop zu locken . Außerdem will man sich auch (oder gerade) als Anwender nicht dauerhaft an eine einzige Distribution binden, nur weil man den Umstieg auf gänzlich neue Konfigurationstools scheut.

Glossar

Master Boot Record

Der MBR ist der physikalisch erste Sektor einer Festplatte. Wenn Sie Ihr Betriebssystem von der Festplatte booten, dann lädt das BIOS den Inhalt des MBR an eine feste Adresse im Speicher. Dieser kleine Programmcode übernimmt dann die Kontrolle und lädt entweder direkt das Betriebssystem von einer startfähigen Festplatten-Partition, oder im Fall von mehreren parallel installierten Betriebssystemen einen Bootloader wie LILO.

Infos

[1] Homepage von Linuxconf: http://www.solucorp.qc.ca/linuxconf/

[2] Übersicht verfügbarer Module für Linuxconf: http://www.solucorp.qc.ca/linuxconf/modules.hc

[3] Homepage von Webmin: http://www.webmin.com/webmin/

[4] Übersicht über “Third Party” Modules für Webmin: http://www.thirdpartymodules.com/webmin/

[5] Homepage von SuSE: http://www.suse.de/

[6] Harddrake Projekt von MandrakeSoft: http://www.linux-mandrake.com/harddrake/

[7] COAS von Caldera: http://www.coas.org/

[8] Homepage von MAT: http://www.ee.ryerson.ca/~sblack/mat/

LinuxUser 11/2000 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben