Herzlich Willkommen auf meiner Homepage.

Der erste Teil dieser Site stellt die von mir angebotenen, kommerziellen Dienstleistungen vor. Der zweite Teil, myLinux, beschäftigt sich ausschließlich mit dem von mir betriebenen OpenSource Projekt myLinux Server.

Eine englische Version dieser Homepage ist in Vorbereitung.

Dienstleistungen

Software-Entwicklung
  • Schwerpunktmäßig verwendete Programmiersprachen:
    C/C++, Perl, PHP, JavaScript, Java, Pascal / Delphi, Visual Basic, Assembler, Fortran
  • Hauptsächlich verwendete Datenbanken:
    mySQL, Oracle, SQL Server
    Sprachen: SQL, PL/SQL (Oracle), Transact SQL (SQL Server)
Installation,
Konfiguration,
Administration
  • Linux (SuSE Linux, Linux from Scratch)
  • Windows (3.x, 9x, NT, 2000, XP)
  • OpenSource Systeme wie openLDAP, Samba, Apache, mySQL, sendmail, Cyrus IMAPD
Schulungen
  • Linux (Systemkonfiguration, KDE)
  • openLDAP (Zugriffsrechte, Nutzung in Authentifizierungssystemen)
  • openSSL (Aufbau einer Public Key Infrastructure)
  • Samba (Anbindung in Windows-Netze, mit oder ohne Windows Domain Controller; Authentifizierungsmethoden, insbesondere LDAP)
  • Apache (Webdienste, Verschlüsselung, Authentifizierungsmethoden - insbesondere LDAP, Zugriffsrechte)
  • mySQL
  • sendmail (Administration, Troubleshooting, Konfiguration, Authentifizierungsmethoden; insbesondere Konfiguration und Authentifizierung über LDAP)
  • Cyrus IMAPD (Administration, Troubleshooting, Konfiguration, Authentifizierungsmethoden; insbesondere Authentifizierung über LDAP)

Weitere Informationen sind in den folgenden Seiten enthalten:

Lebenslauf

Name: Oberg
Vorname: Michael
Adresse: Saarstraße 16
50677 Köln
Geburtsdatum: 31.07.1964
Geburtsort: Hilden
Familienstand: ledig
Schulausbildung: Einschulung 01.08.1970 Grundschule Haan
24.10.1970 - 31.08.1975 Grundschule Dönberg (Wuppertal)
01.09.1975 - 25.01.1985 Gymnasium Herder-Schule (Wuppertal)
26.02.1985 Abitur
Berufsausbildung: Studium der Mathematik Wintersemester 1986 - Wintersemester 1998
Schwerpunkt:
Numerische Mathematik
Nebenfach:
Physik (Wintersemester 1986 - Wintersemester 1988)
Informatik (Sommersemester 1989 - dieses Nebenfach wurde erst mit der Gründung des "Instituts für Angewandte Informatik" eingeführt)
Abschluß als Diplom-Mathematiker 22.12.1998
Zeugnis:
Seite 1 Seite 2
Bemerkung: In diesem Studium habe ich mehr als zehn Jahre lang EDV-Erfahrung sammeln können, so im Bereich Compilerbau, kontrolliertes numerisches Rechnen, u.a. auch mit Coprozessorsteuerung (Assembler), Programmierung von Parallelrechnern (CM2, CM5), Großrechnern und vieles mehr. Ich entschied mich schließlich gegen eine akademische Laufbahn, um mehr direkten Kontakt zu den eigentlichen EDV-Anwendern - den Geschäftskunden - zu bekommen.
Berufsausübung: Januar 1999 - Februar 2000 Verfassen des Informatik-Lehrbuches "Computer und Sprache", erschienen im Oktober 2000 bei "Deutscher Universitäts-Verlag GmbH Wiesbaden", ISBN 3-8244-0537-7
25.04.2000 Eintritt in die "ThinkWare Beratung und Entwicklung GmbH" in Köln
Tätigkeit: Systemingenieur / Projektleiter
Projekte (unter anderem): Konzeption des internen ThinkWare-Netzwerkes auf Basis von Linux-Servern; Mitarbeit bei der Erstellung von Netzwerkmanagement-Systemen für zwei große Mobilfunkanbieter; Mitarbeit bei der Erstellung des Reporting-Systems eines Protokolltester-Systems im Auftrag eines Zulieferers der TK-Branche; Konzeption und Mitarbeit bei der Erstellung des Troubleticket-Systems eines großen Mobilfunkanbieters (siehe auch Projekte)
01.09.2002 Liquidation von ThinkWare
23.09.2002 Beginn der Konzeption der "myLinux Server" Distribution in Absprache mit der Fourier Information GmbH in Köln; geplante Freigabe unter der GPL Ende September 2003 (siehe auch Projekte sowie myLinux)

Projekte

Zeitraum: April 2000 bis Juni 2000
Kunde: Telekommunikation
Team: 2 Personen
Beschreibung: Interface für eine Metadatenbank eines Netzwerkmanagement-Systems, die als API für Zugriffe auf die Datenbanken verschiedener anderer Subsysteme dienen sollte
Software: Oracle 7.3 (unter Windows NT 4.0 Server und SuSE Linux 6.4), PL/SQL, Toad

Zeitraum: sporadisch, während November 2000 bis Juni 2002
Kunde: ThinkWare-internes Projekt
Team: 1-3 Personen
Beschreibung: Reorganisation des vorher rein Windows-NT-4.0-basierten ThinkWare-Netzwerkes auf Basis von Linux-Servern
Software: SuSE Linux 6.4/7.0, Windows NT 4.0 Server/Workstation, Samba, sendmail, Cyrus IMAPD, Apache, PHP, Horde/IMP, openLDAP (damals nur Adressbuch), mySQL, myODBC, Microsoft Access 97 (als Interface für mySQL), Oracle 8.0.5

Zeitraum: Juli 2000 bis November 2000
Kunde: Telekommunikation
Team: ca. 20 Personen in Köln, noch weitere Standorte vorhanden
Beschreibung: Erstellung von Testspezifikationen für Alarm-Mapper in einem TeMIP-basierten Netzwerk-Management-System
Software: MS Word 97

Zeitraum: Oktober 2000 und November 2000
Kunde: -
Beschreibung: Besuch von TeMIP-Schulungen in Nizza und Sofia Antipolis, Frankreich; TeMIP Fundamentals, TeMIP Development Toolkit
Software: TeMIP, TeMIP Iconic Map, C++, C++-Framework Visual TeMIP
Seite 1 Seite 2

Zeitraum: Dezember 2000 bis Januar 2001, parallel zu anderen Projekten auch bis September 2001
Kunde: Telekommunikation
Team: ca. 20 Personen in Köln, noch weitere Standorte vorhanden
Beschreibung: Initial Upload für ein TeMIP-basiertes Netzwerk-Management-System - d.h. die Übernahme von Datenbeständen aus den älteren Netzwerkmanagement-Systemen für Teilnetze/Techniken in die Datenbank des neuen, zentralen Systems
Software: Perl 5, TeMIP, TNDL (TeMIP Network Data Loader)

Zeitraum: Februar 2001 bis August 2001
Kunde: Telekommunikation
Team: ca. 20 Personen in Köln, noch weitere Standorte vorhanden
Beschreibung:
  • Erstellung einer grafischen Oberfläche zum Remote-Aufruf älterer Netzwerk-Management-Systeme von der TeMIP-Oberfläche aus
  • Administration der UNIX-Server und -Workstations für das Netzwerk-Management-System
  • Konfiguration von Exceed X-Servern unter Windows
Software: Perl 5, Perl/Tk, TeMIP Iconic Map, Tru64 UNIX 4.0F, Hummingbird Exceed, Windows NT 4.0

Zeitraum: Oktober 2001 bis November 2001
Kunde: Telekommunikation
Team: 1 Person
Beschreibung: Customization und Einrichtung eines von einer Partnerfirma gekauften, einfachen Troubleticket-Systems mit Webinterface
Software: Microsoft Internet Information Server 4.0/5.0, Active Server Pages / Visual Basic, Microsoft SQL Server 2000, Internet Explorer 5.0/5.5, Microsoft Office 2000 Web Components, HTML/DHTML, CSS, JavaScript

Zeitraum: Dezember 2001 bis Januar 2002
Kunde: ThinkWare-internes Projekt
Team: 1 Person
Beschreibung: Erstellung eines Programmgenerators für PHP-Skripte (in Vorbereitung auf einen erwarteten Kundenauftrag, die Erstellung eines stark erweiterten Troubleticket-Systems)
Software: Perl 5, PHP 4.0, Apache, Internet Information Server, mySQL, HTML, CSS, JavaScript, Internet Explorer 5.0/5.5, Netscape Navigator 4.5/4.7x/4.8

Zeitraum: Februar 2002 bis März 2002
Kunde: Telekommunikation
Team: 3 Personen
Beschreibung: Konzeptionierung und Mitarbeit an der Programmierung eines Troubleticket-Systems mit Webinterface als Ersatz für das oben genannte (Oktober 2001 bis November 2001) Tool
Vorteile gegenüber dem alten System u.a.:

  • weitgehende Betriebssystemunabhängigkeit, abgesehen von der Datenbank
  • schnelle Anpassbarkeit an veränderte Kundenwünsche durch Verwendung eines Programmgenerators (siehe Dezember 2001 bis Januar 2002)
  • deutlich erweiterter Funktionsumfang, angepaßt an die Kundenwünsche
  • stark verbesserte Performance
Software: PHP 4.0, Internet Information Server, Microsoft SQL Server 2000, HTML, CSS, JavaScript, Internet Explorer 5.0/5.5

Zeitraum: März 2002 bis Juni 2002
Kunde: Zulieferer für die TK-Branche
Team: 3 Personen
Beschreibung: Mitarbeit an einem Reporting-System auf Basis von Business Objects für ein Protokollmeßgerät (Ghepardo v. Sunrise Protel)
Software: Business Objects, VBA, Oracle 8.1.6/8.1.7, PL/SQL, Toad, PHP, Windows NT 4.0 Server

Zeitraum: Juni 2002 bis Juli 2002
Kunde: Telekommunikation
Team: 3 Personen
Beschreibung: Erweiterung des unter Februar 2002 bis März 2002 genannten Troubleticket-Systems
Ziele:

  • Erweiterung des Funktionsumfangs, insbesondere im Hinblick auf die Nutzung durch mehrere Abteilungen
  • Vorbereitung auf die Portierung des Webservers nach Linux
  • Anbindung von zwei Fremdsystemen: ein HTML-Plugin in ein Visual Basic Programm, außerdem Datenübernahme aus einer mySQL-Datenbank (zunächst über myODBC geplant, dann via XML)
Software: PHP 4.0, Apache, Internet Information Server, Microsoft SQL Server 2000, mySQL, HTML, CSS, JavaScript, Internet Explorer 5.0/5.5, Visual Basic, myODBC, XML

Zeitraum: August 2002
Kunde: ThinkWare-internes Projekt
Team: 3-5 Personen
Beschreibung: Mitarbeit an der Erstellung eines Workforce Management Systems
Client-Server-Architektur mit einer Oracle-Datenbank und Java/Swing-Clients; unter anderem sollte auch eine Anbindung an das oben genannte Troubleticket-System geschaffen werden
Bemerkung: Projekt wurde wegen der Insolvenzerklärung von ThinkWare abgebrochen.
Software: Java SDK 1.3.1, Swing, JDeveloper, JDBC, Oracle 8.1.7, Microsoft SQL Server 2000

Zeitraum: September 2002 bis Februar 2003
Kunde: Fourier Information GmbH
Team: 1 Person
Beschreibung: Konzeption und Erstellung einer Linux-Server-Distribution basierend auf SuSE Linux
Siehe auch Fourier Information GmbH / Lösungen / myLinux Server
Software: SuSE Linux 7.1, Windows NT 4.0 Workstation, Microsoft Outlook 2000, openLDAP, openSSL, PAM, Samba, sendmail, Cyrus IMAPD, Apache, PHP, SquirrelMail, LDAPExplorer, mySQL, Ghostscript, Bind 8/9, DHCPD, Berkeley FTPD, Perl 5, Bash

Zeitraum: März 2003
Kunde: Fourier Information GmbH
Team: 1 Person
Beschreibung: Entwicklung von Methoden zur schnellen Erfassung von Netzwerkkonzepten bei Kundengesprächen und Weiterverwendung dieser Informationen bei der Erstellung von Migrationsplänen und Test- bzw. Abnahmedokumenten
Software: Tiki, Perl 5, Microsoft Word 2000

Zeitraum: April 2003 bis Juni 2003
Kunde: Fourier Information GmbH
Team: 2 Personen
Beschreibung: Umstellung des Fourier-Netzwerkes auf eine Testinstallation des myLinux Server; Erweiterungen des myLinux Server; Mitarbeit an der neuen Homepage der Fourier Information GmbH; Einrichtung einer Knowledge-Datenbank für Fourier
Software: SuSE Linux 7.1, Windows NT 4.0 Workstation, Microsoft Outlook 2000, openLDAP, openSSL, PAM, Samba, sendmail, Cyrus IMAPD, Apache, PHP, SquirrelMail, LDAPExplorer, mySQL, Ghostscript, Bind 8/9, DHCPD, Berkeley FTPD, Perl 5, Bash, Tiki

Zeitraum: Juli 2003 bis September 2003
Kunde: Fourier Information GmbH
Team: 1 Person
Beschreibung: Neukonzeption der myLinux Server Distribution auf Basis von Linux from Scratch und Beyond Linux from Scratch (siehe auch myLinux)
Software: Linux from Scratch, openLDAP, openSSL, openSSH, PAM, Samba, sendmail, Cyrus IMAPD, Apache, PHP, SquirrelMail, LDAPExplorer, mySQL, Ghostscript, Bind 9, DHCPD, Perl 5, Bash

Preise

Schulungen: 60 Euro / Stunde
Installation/Konfiguration/Administration: 60 Euro / Stunde
Software-Entwicklung: 70 Euro / Stunde

Diese Angaben verstehen sich als Nettopreise.

Impressum

Anschrift: Michael Oberg
Saarstraße 16
50677 Köln
Deutschland
Telefon: +49 (163) 7575935
EMail: michael.oberg@fourier-group.de
Umsatzsteuernummer: DE 214/5159/1448

Anmerkung: Mit Urteil vom 12. Mai 1998 hat das Landgericht Hamburg entschieden, dass man die Inhalte von gelinkten Seite gegebenenfalls mit zu verantworten hat. Dies kann, so das Landgericht Hamburg, nur dadurch verhindert werden, dass man sich ausdrücklich von diesen Inhalten distanziert. Rein vorsorglich betone ich daher ausdrücklich für alle Links auf andere Seiten, dass ich keinerlei Einfluss auf die Gestaltung und die Inhalte der gelinkten Seiten habe, und distanziere mich ausdrücklich von allen Inhalten aller gelinkten Seiten.

myLinux

Der myLinux Server ist ein Gnu/Linux-Betriebssystem, dessen Authentifizierungsmechanismen und teilweise auch dessen Konfiguration auf dem Verzeichnisdienst LDAP basieren.

Die Verbindung von persönlichen Informationen wie Telefonnummern, Anschrift etc. mit Authentifizierungsmechanismen, Zugriffsrechteverwaltung und digitalen Signaturen über die zentrale, unternehmensweit gültige Datenbank eines Verzeichnisdienstes wird von mehr und mehr Unternehmen als vorteilhaft oder gar notwendig empfunden.

Unter anderem bieten die folgenden kommerziellen Systeme derartige Features:

Im Bereich der freien OpenSource Projekte verwendet beispielsweise der Groupware Server Kolab (http://kolab.kroupware.org/) diese Technik.

Der Anspruch, konsequent alle Dienste eines Linux-Servers auf LDAP-Authentifizierung umzustellen, ist zur Zeit noch wenig verbreitet. Seit September gibt es ein entsprechendes Produkt von SuSE, den SuSE Linux Standard Server 8. Wie bei allen SuSE-Projekten ist eine Dokumentation der Entwicklung dieses Servers nicht verfügbar.

Der langfristige Anspruch des Projektes myLinux ist es, eine freie und vollständig dokumentierte Implementation eines solchen Systems zu schaffen.

LDAP

Das Herzstück des myLinux Server ist openLDAP. Dieser Verzeichnisdienst übernimmt die folgenden Aufgaben:

Adressbuch

Jeder Mailclient mit LDAP-Unterstützung (beispielsweise Microsoft Outlook, Outlook Express, Lotus Notes, Netscape Messenger, Eudora, Pegasus, KMail, Ximian Evolution, ...) kann zumindest die in LDAP gespeicherten eMail-Adressen verwenden und nach Name/Vorname suchen, wahrscheinlich auch weitere Daten abfragen (Telefonnummern, Anschriften etc., bis hin zu Verlinkungen von Einträgen wie "Manager" und "Mitarbeiter"). Optimiert wurde das LDAP-System für Microsoft Outlook (siehe Schemas).

Außerdem ist ein Download des Adressbuchinhalts als HTML-Tabelle bzw. Microsoft Excel Sheet über ein CGI-Skript (ldap2html.pl) möglich. Dieses kann auch für eine "Web Query" von Microsoft Excel oder Microsoft Access benutzt werden.

Authentifizierung

Zugriffsrechte

EMail-Konfiguration

Siehe auch sendmail.

Dedizierter Zugriff auf LDAP

Zugriffe werden per Default in drei Klassen unterteilt:

Siehe auch slapd.conf.

Eine Verwaltung der LDAP-Einträge ist unter Verwendung des LDAP-Explorers möglich.

Schemas

Das Patchfile inetorgperson.patch erweitert das Schema /etc/openldap/schemas/inetorgperson.schema um die Microsoft Outlook-Attribute c (country), URL (Homepage), otherFacsimiletelephoneNumber (private Faxnummer), reports (Mitarbeiter) und comment. Damit werden alle Attribute unterstützt, die auch von Microsoft LDAP / Active Directory über Microsoft Exchange 2000 zur Verfügung gestellt werden.

Dies sind übrigens nicht alle Attribute, die auch für Outlook-Kontakte zur Verfügung stehen.

Weitere benötigte Schemas sind samba.schema für Samba und sendmail.schema für sendmail, die jeweils mit diesen Programmen ausgeliefert werden. Die Schemas werden im Kopf der Datei slapd.conf aktiviert.

Siehe dazu auch den Abschnitt configure LDAP im Skript COMPILE-MYLINUX.

sendmail

Anders als die meisten Linux-Programme wird die Übersetzung von sendmail nicht über ein configure-Skript vorbereitet, sondern durch Einrichtung der Konfigurationsdatei site.config.m4. Hier werden folgende Features aktiviert:

Damit die sendmail-Konfigurationsdaten in der LDAP-Datenbank gespeichert werden können, muß das Schema sendmail.schema in LDAP eingebunden werden; siehe auch Schemas.

Die Konfiguration von sendmail erfolgt über die Datei sendmail.mc. Diese Datei ist auch im Livesystem für Konfigurationsänderungen vorhanden, und zwar unter /usr/src/sendmail/cf/cf/sendmail.mc.

Die Verbindung zwischen der SASL-Authentifizierung und sendmail wird durch die Konfigurationsdatei /usr/lib/sasl2/Sendmail.conf hergestellt. Hier wird die Verbindung zum LDAP-Server konfiguriert, es wird angegeben, welche Konfigurationsdaten in der LDAP-Datenbank gespeichert werden, es wird eine Verbindung zum LDA Cyrus IMAPD hergestellt, und die Pfade zu den SSL-Zertifikaten werden angegeben.

Die Verbindung zu Cyrus benätigt außerdem einen Patch: sendmail-cyrus.patch. Hier wird der Pfad zum lmtp-Socket umgestellt; siehe dazu auch die Datei cyrus.conf unter Cyrus IMAPD.

Zur Übersetzung von sendmail siehe den Abschnitt sendmail im Skript COMPILE-BLFS sowie den zweiten Übersetzungszyklus im Abschnitt sendmail im Skript COMPILE-MYLINUX.

Cyrus IMAPD

Zur Übersetzung von Cyrus IMAPD siehe die Abschnitte cyrus-sasl-2.1.14 und cyrus-imapd-2.1.14 im Skript COMPILE-MYLINUX.

Die Konfigurationsdatei /etc/cyrus.conf stellt seitens Cyrus die Verbindung zu sendmail her. Sie entspricht der mitgelieferten Datei master/conf/normal.conf, ausgenommen den Pfad zum lmtp-Socket (siehe dazu auch den Patch sendmail-cyrus.patch unter sendmail).

Die Datei imapd.conf konfiguriert die Pfade zu den Konfigurations- und Maildatenbanken von Cyrus, die Authentifizierungsmethode (saslauthd, wie bei sendmail), den MTA sendmail und die Pfade zu den SSL-Zertifikaten.

Der Patch cyrus-services.patch fügt die Namen der von Cyrus verwendeten TCP-Protokolle der Datei /etc/services hinzu. Übrigens wird bei dieser Gelegenheit auch der Name des Services "swat" (siehe SWAT) hinzugefügt.

Apache

Zur Übersetzung des Apache Webservers siehe den Abschnitt httpd-2.0.47 im Skript COMPILE-MYLINUX.

Die Datei /etc/httpd/httpd.conf enthält die gesamte Konfiguration des Webservers. Gegenüber der mitgelieferten Version /etc/httpd/httpd-std.conf wurden folgende Anpassungen gemacht:

Samba

Zur Übersetzung von Samba siehe den Abschnitt samba im Skript COMPILE-BLFS und sowie den zweiten Übersetzungszyklus im Abschnitt samba im Skript COMPILE-MYLINUX.

Damit die Samba-Kontoinformationen in der LDAP-Datenbank gespeichert werden können, muß das Schema samba.schema in LDAP eingebunden werden; siehe auch Schemas.

Die Datei /etc/samba/smb.conf konfiguriert unter anderem die SSL-verschlüsselte Verbindung zum LDAP-Server (ldap server/port/suffix/admin/ssl), die Paßwort-Synchronisation zwischen Windows und PAM (passwd program/chat, unix password sync), und die Einbindung von Windows-Maschinen (add user script).

Der myLinux Server enthält in der Default-Einstellung bereits mehrere Windows-Shares. Dazu gehören der Logon-Share [netlogon], in dem auch das Login-Script login.bat untergebracht werden muß (logon script), sowie das Heimatverzeichnis [home], welches auch als Netzlaufwerk zur Verfügung steht (logon drive). Auch das Verzeichnis für die Windows-Druckertreiber ([print$]), das Spool-Verzeichnis für alle Windows-Druckjobs ([printer]), der PDF-Drucker ([pdfprinter]) und dessen Ausgabeverzeichnis ([pdfdocs]) werden hier definiert.

Weitere Shares kann man manuell oder mit dem Samba-Administrations-Tool SWAT hinzufügen.

Das Paßwort des LDAP-Administrators wird mit dem Kommando smbpasswd -w <PASSWORD> gesetzt. Dies geschieht automatisch durch die Konfigurationsroutine usermanager/setup/samba.sh.

slapd.conf

Die Konfigurationsdatei /etc/openldap/slapd.conf enthält unter anderem folgende Einstellungen:

Zugriffsrechte

Die Vergabe von Zugriffsrechten auf das LDAP-Verzeichnis wurde bereits unter LDAP im Abschnitt "Dedizierter Zugriff auf LDAP" beschrieben.

Das explizite Erteilen von Zugriffsrechten ist dabei recht einfach ("... by dn=... write"). Die Schwierigkeit besteht darin, daß mit der Erteilung von Schreibrechten keine Sicherheitslücken geöffnet werden dürfen.

Um beispielsweise das Anlegen von UNIX-Benutzern oder -Gruppen dem LDAP-Administrator alleine vorzubehalten, muß das Anlegen solcher Objekte im Ordner "contacts" verboten werden - dies geht nur, indem man das Auslesen der für diese Objekte typischen Attribute (Paßwörter, ID Nummern) unmöglich macht.

Auch dürfen innerhalb von Benutzer- und Gruppen-Objekten bestimmte systemkritische Attribute nicht verändert werden (ID Nummern, Paßwörter, Gruppen- und Benutzernamen).

LDAP-Explorer

Eine Verwaltung der LDAP-Datenbank kann prinzipiell mit jedem LDAP-Administrations-Tool erfolgen. Allerdings unterstützt openLDAP derzeit nur TLS-Verschlüsselung, was für LDAP-Client-Tools derzeit noch wenig gebräuchlich ist. Ideal ist deshalb ein Webinterface, da dieses die SSL-Verschlüsselung des Apache-Webservers mitbenutzen kann. Ein solches Tool ist der LDAP-Explorer.

Der Patch LDAPExplorer.patch ändert das Verhalten dieses Programms in folgender Weise:

ht://dig

Zur Übersetzung von ht://dig siehe die Abschnitte htdig-3.1.6, catdoc-0.91.5, xpdf-2.02pl1 und conv_doc.pl im Skript COMPILE-MYLINUX.

Die Volltextindizierung von ht://dig wird über die Datei /usr/local/httpd/htdig.conf konfiguriert.

Wie bereits beim Apache Webserver beschrieben, umgeht ht://dig den Paßwortschutz und die SSL-verschlüsselung des Verzeichnisses "intranet". Dazu wird ein Alias "intranet-htdig" ohne Paßwortschutz definiert, auf den aber nur Prozesse zugreifen können, die auf dem Webserver selbst laufen.

Das CGI-Wrapper-Skript /usr/local/httpd/cgi-bin/intranet/htsearch.sh ersetzt bei allen durch ht://dig gefundenen Dokumenten den Alias "intranet-htdig" durch den Originalnamen "intranet" und aktiviert die SSL-Verschlüsselung, damit auf die Suchergebnisse auch zugegriffen werden kann. Der Wrapper wird durch den Patch htdig-search.patch aktiviert.

Um PDF- und Word-Dokumente indizieren zu können, verwendet ht://dig ein Wrapper-Skript namens convdoc.pl. Dieses wird mit dem Patch htdig-parsers.patch in der Konfigurationsdatei /usr/local/httpd/htdig.conf aktiviert und mit dem Patch htdig-convdoc.patch auf PDF- und Word-Dokumente durch Angabe der externen Parser xpdf und catdoc ausgerichtet.

PDF-Drucker

Der PDF-Drucker besteht im wesentlichen aus dem Skript /usr/local/sbin/mylinux/pdfprinter.pl sowie den zugehörigen Einstellungen unter Samba.

Um den Drucker in einem Windows-NT-Netzwerk nutzen zu können, muß allerdings auch noch ein Windows-Druckertreiber zur automatischen Installation hochgeladen werden. Im Prinzip kann jeder Postscript-Drucker verwendet werden. Ich verwende üblicherweise den Apple Color LaserWriter 12/600.

SWAT

Um das Administrationstool von Samba zu aktivieren, genügt ein Start des inetd (siehe COMPILE-BLFS, Abschnitt inetd zur Übersetzung und COMPILE-MYLINUX, Abschnitt samba bzgl. des Startskripts) sowie ein Eintrag in die Konfigurationsdatei /etc/inetd.conf.

Ein Zugang ist dann über einen Webbrowser per http://<RECHNERNAME>:901/ möglich.

Warnung: Man beachte, daß der Zugang nicht SSL-verschlüsselt ist, aber das UNIX-Paßwort von root abfragt. Dies darf nicht über unsichere Leitungen (Internet) geschehen.

Webmailer

Zur Installation des Webmailers SquirrelMail siehe die Abschnitte squirrelmail-1.4.1 und avelsieve im Skript COMPILE-MYLINUX.

Bei der Übersetzung wird eine der beiden Dateien german.default_pref oder us.default_pref als squirrelmail/data/default_pref installiert. Diese Datei bestimmt unter anderem die Namen der vorinstallierten Mail-Ordner - "Gelöschte Objekte" im Deutschen, "Trash" im Englischen etc.

Die Konfigurationsdatei squirrelmail/config/config.php wird sowohl bei der Installation als auch durch die Setup-Skripte komplett überschrieben.

Avelsieve ermöglicht die Verwaltung serverseitiger Filter für eMail, inklusive automatischer Antworten. Die für Sieve benutzte Authentifizierungsmethode wird durch den Patch avelsieve.patch geändert, so daß sie mit den Methoden des myLinux Server übereinstimmt (pam_ldap benötigt Klartext-Paßworte, diese werden aber in einer SSL-verschlüsselten Verbindung übertragen).

PhpMyAdmin

Zur Installation des mySQL-Administrationstools PhpMyAdmin siehe den Abschnitt phpMyAdmin-2.5.2-rc1 im Skript COMPILE-MYLINUX.

Der Patch phpMyAdminAuth.patch aktiviert die Authentifizierungsmethode "config". Bei dieser Methode wird ein Proxy-Account "pma" eingerichtet, dessen einzige Zugriffsrechte ein einloggen in mySQL sowie ein Lesen verschiedener Spalten der Benutzer- und Datenbanktabelle und der Tabellen-Zugriffsrechtstabelle sind. Derart eingeschränkte Zugriffsrechte sind notwendig, da es prinzipiell nicht möglich ist, ein Auslesen des "pma"-Paßwortes aus der PhpMyAdmin-Konfiguration zu verhindern. Über den Proxy-Account erfolgt dann die Authentifizierung des eigentlichen mySQL-Benutzers.

Da die Einrichtung des Proxy-Accounts eine laufende mySQL-Datenbank voraussetzt, andererseits ein Start der mySQL-Datenbank zur Übersetzungszeit eventuell durch eine noch laufende Datenbank verhindert wird, geschieht diese Einrichtung mittels eines "runonce"-Skripts, welches erst beim ersten Login als root in das fertig übersetzte System ausgeführt wird.

Setup-Skripte

adminuser.sh Erzeugt den Benutzer "testadmin", der bereits als Empfänger für die eMail-Adressen "postmaster" und "root" angegeben wurde. Dieses Skript wird beim ersten Login durch den "runonce"-Mechanismus aufgerufen.
apache.sh Erzeugt die Datei [httpd.conf|/etc/httpd/httpd.conf] aus dem Template /etc/httpd/httpd.conf-template durch einsetzen der eMail-Adresse von root, dem Servernamen und der Serveradresse (siehe Apache).
ca.sh Erzeugt das SSL-Stammzertifikat des Servers und die Verzeichnisstruktur der Certificate Authority.
createcontrolscript.sh Erzeugt ein Skript /root/install.sh sowie die "runonce"-Skripte in der Zielpartition, die die anderen Setup-Skripte aufrufen. Das Skript /root/install.sh muß in einer "change root"-Umgebung ausgeführt werden (chroot <ZIELDATEISYSTEM> /root/install.sh). Es sollte nicht in einem laufenden System ausgeführt werden, weil die Änderung der LDAP-Datenbank, der DNS-Einträge und der SSL-Zertifikate laufende Dienste durcheinander bringen würde.

Siehe auch die Konfiguration gegen Ende des Übersetzungsvorgangs (Übersetzen) durch das Skript MAIN und die Installationsroutine install-config.sh der Live-CD (siehe CD-Image), die durch das Skript CREATE-CD erstellt wird.

cyrus.sh Setzt das Paßwort des Mailadministrators cyrus nach dem Eintrag in mylinux.conf. Wird vom "runonce"-Mechanismus ausgeführt, da ein laufender LDAP-Server benötigt wird.
disks.sh Erzeugt die Verzeichnisstruktur unter /mnt und erzeugt die Dateien /etc/fstab und /etc/lilo.conf nach der unter mylinux.conf beschriebenen Partitionierung.
htdig.sh Erzeugt die ht://dig-Konfigurationsdatei /usr/local/httpd/htdig.conf aus dem Template /usr/local/httpd/htdig.conf.default durch einsetzen der eMail-Adresse von root und dem Rechnernamen in die Start-URL's.
ldap-client.sh Erzeugt die Konfigurationsdatei /etc/openldap/ldap.conf (verlinkt mit [ldap.conf|/etc/ldap.conf]) für die LDAP-Client-Tools und für pam_ldap mit Angabe des Rechnernamens und der LDAP-"base" (auch "suffix" genannt, siehe slapd.conf).
ldap-reset-db.sh Erzeugt eine minimale LDAP-Datenbank mit korrekter LDAP-"base" (bzw. "suffix", siehe slapd.conf) und korrekten Domain- und Hostnamen aus der Template-Datei ldap_db.ldif. Eine eMail-Umleitung auf einen Benutzer "testadmin" ist dort eingetragen, der Benutzer selbst existiert aber noch nicht in dieser Datenbank, weil zu seiner Erzeugung auch außerhalb von LDAP Tätigkeiten auszuführen sind.
ldap-server.sh Erzeugt die LDAP-Server-Konfigurationsdatei /etc/openldap/slapd.conf mit korrekter LDAP-"base" bzw. "suffix" und dem in mylinux.conf angegebenen LDAP-Administrator-Paßwort.

Warnung: Derzeit überschreibt das Skript die Konfigurationsdatei einfach. Daher müssen Änderungen der Konfiguration (z.B. der Zugriffsrechtestruktur) hier berücksichtigt werden.

ldapexplorer.sh Trägt die LDAP-"base" (bzw. "suffix", siehe slapd.conf) und den Hostname in zwei Skripte des LDAP-Explorers ein.
location.sh Setzt die Tastaturbelegung und die Zeitzone nach den Einstellungen von mylinux.conf.
mylinux.conf Zentrale Konfigurationsdatei des myLinux Server.
mylinux.sh Überträgt Daten aus der zentralen Konfigurationsdatei mylinux.conf (einem Bourne-Shell-Script) in die Konfigurationsdatei für die Perl-Scripts, /usr/lib/perl5/5.8.0/mylinux/env.pm.
mysql.sh Setzt das Paßwort für den mySQL-Administrator.
network.sh Konfiguriert die Netzwerk-Schnittstellen, den DNS- und den DHCP-Server.

Warnung: Die Konfigurationsdateien von DNS und DHCP werden überschrieben. Änderungen an diesen Dateien müssen in dieses Skript übernommen werden.

Warnung: Derzeit wird der Schlüssel für den Datenaustausch zwischen DNS und DHCP nicht neu gesetzt. Hier muß für jede Installation ein neuer Schlüssel erzeugt und in das Setup-Skript eingetragen werden.

phpmyadmin.sh Setzt das Paßwort für das mySQL-Proxy-Konto von PhpMyAdmin. In der Konfigurationsdatei phpMyAdmin/config.inc.php wird lediglich dieser Paßworteintrag geändert, manuelle Veränderungen bleiben erhalten.
samba.sh Erzeugt die Samba-Konfigurationsdatei /etc/samba/smb.conf mit korrekter Windows-Domain, Pfaden zum Benutzer-Manager, LDAP-Servername und LDAP-"base" (bzw. "suffix", siehe slapd.conf).

Warnung: Derzeit überschreibt das Skript die Konfigurationsdatei einfach. Daher müssen Änderungen der Konfiguration (z.B. der Zugriffsrechte oder Definition neuer Shares) hier berücksichtigt werden.

sendmail.sh Erzeugt die sendmail-Konfigurationsdatei /usr/src/sendmail/cf/cf/sendmail.mc mit korrektem LDAP- und sendmail-Servername, korrekter Domain und LDAP-"base" (bzw. "suffix", siehe slapd.conf). Aus dieser Datei wird dann die /etc/mail/sendmail.cf generiert.

Warnung: Derzeit überschreibt das Skript die Konfigurationsdatei einfach. Allerdings sollte bei sendmail auch keine Konfigurationsänderung nötig sein, da die meisten Konfigurationsdaten nicht hier, sondern in der LDAP-Datenbank gehalten werden.

squirrelmail.sh Erzeugt die SquirrelMail-Konfigurationsdatei squirrelmail/config/config.php mit korrekter Angabe der Organisation (für die Fenstertitel), Domain, SMTP-, IMAP- und LDAP-Servername und der LDAP-"base" (bzw. "suffix", siehe slapd.conf).
ssl.sh Erzeugt durch das Stammzertifikat (siehe ca.sh) digital signierte SSL-Zertifikate für LDAP, IMAP, SMTP und HTTP (Web).

Administration

Ein Großteil der Administration des laufenden Systems kann durch direkte Manipulation der LDAP-Datenbank erfolgen. Es gibt jedoch eine ganze Reihe von Maßnahmen, die nicht nur die LDAP-Datenbank, sondern auch noch andere Bestandteile des Linux-Systems betreffen. Für diese Maßnahmen existieren gesonderte Skripte:

cyruspasswd.pl Unterscheidet sich von dem Skript passwd.pl (siehe unten) nur durch zwei Dinge:

  • Der Benutzer cyrus liegt nicht im LDAP-Verzeichnis "users", sondern unter "special users", und
  • das Skript speichert das Paßwort für den Benutzermanager in einer geschützten Datei ab.
groupadd.pl Der einzige Grund, warum das Anlegen von Gruppen nicht auch über den LDAP-Explorer möglich ist, ist die automatische Erhöhung eines Zählers für die Gruppen-ID (gidNumber).
groupdel.pl Aus Gründen der Symmetrie ist auch das Löschen ein externes Kommando.
machineadd.pl Legt ein Windows-Maschinenkonto an.

Dieses Skript wird normalerweise nicht direkt aufgerufen, sondern durch Samba, sobald eine Windows-Maschine unter Angabe des Windows-Paßwortes von root der Windows-Domäne beizutreten versucht. Siehe "add user script" in der Datei /etc/samba/smb.conf.

Außerdem wird der Zähler für die Benutzer-ID erhöht (siehe auch useradd.pl).

machinedel.pl Löscht ein Windows-Maschinenkonto. Ist nur aus Gründen der Symmetrie ein externes Kommando.
passwd.pl Ändert das UNIX-Paßwort im LDAP-Verzeichnis.

Dieses Skript wird normalerweise nicht direkt aufgerufen, sondern durch Samba zwecks Synchronisation des UNIX- und des Windows-Paßwortes. Siehe "passwd program", "password chat" und "unix password sync" in der Datei /etc/samba/smb.conf.

Bemerkung: In der nächsten Version muß das normale passwd-Kommando durch ein anderes Programm ausgetauscht werden, welches auch bei Paßwortänderungen unter Linux eine Synchronisation dieser beiden Paßwörter durchführt. Das Programm passwd muß unter anderem Namen für Änderungen der Paßwörter von Systembenutzern wie root erreichbar bleiben.

useradd.pl Legt einen neuen Benutzer an. Im LDAP-Verzeichnis werden sowohl die Einträge für pam_ldap als auch für Samba gemacht. Außerdem werden folgende Tätigkeiten ausgeführt, die nicht über den LDAP-Explorer laufen können:

  • Automatische Erhöhung eines Zählers für die Benutzer-ID (uidNumber),
  • Anlegen des Heimatverzeichnisses des Benutzers,
  • Anlegen einer Mailbox und Aktivierung der eMail-Adresse des Benutzers,
  • Erzeugen eines Adressbucheintrags,
  • Erzeugen eines Registry-Skriptes, mit dem das Windows-Profil personalisiert wird (z.B. Angabe des Mailkontos für Outlook, oder Eintragen des Namens für die Office-Workgroup-Funktion). Das Template für dieses Registry-Skript ist /root/usermanager/data/regtemplate.reg.
userdel.pl Löscht den Benutzer und archiviert die folgenden Daten:

  • Heimatverzeichnis
  • LDAP-Eintrag mit Ausnahme der Paßwörter
  • Mailbox
  • Einstellungen des Webmailers

Der myLinux Benutzermanager installiert außerdem im Verzeichnis /usr/local/sbin/mylinux einige Skripte, die ein Administrator eventuell an die eigenen Bedürfnisse anpassen möchte.

daily.sh Führt die folgenden Aufgaben aus:

  • Setzt die Zeit nach dem Zeitserver ntp0.fau.de der Universität Erlangen (hier sollte ein anderer Server benutzt werden, oder zumindest eine andere Zeit, damit dieser Server nicht überlastet wird),
  • führt das Skript fixsievebug.sh aus (siehe unten),
  • erzeugt einen vollständigen Suchindex für das Kommando locate (dieses Kommando sollte eventuell besser als Benutzer nobody ausgeführt werden), und
  • erzeugt einen Volltextindex für ht://dig.
deltmpfiles Löscht alle Dateien aus den folgenden Temporär-Verzeichnissen, die älter sind als der letzte Aufruf des Skripts:

  • /tmp,
  • /var/lib/samba/pdfdocs (Output-Verzeichnis des PDF-Druckers),
  • /usr/local/httpd/htdocs/squirrelmail/attachments/ (Zwischenspeicher des Webmailers für Dateianhänge),
  • /usr/local/httpd/htdocs/ldap/tmp/ (Cookie-Verzeichnis des LDAP-Explorers).

Sollte etwa einmal die Woche ausgeführt werden.

fixsievebug.sh Sieve-Skripte definieren serverseitige Filter für eMails. Zur Aktivierung müssen diese Filter verlinkt werden (das Skript "default.script" erhält z.B. einen Link "default"). Zumindest die mit dem sehr alten Programm websieve erstellten Skripte wurden allerdings von Sieve nicht verlinkt. Das Skript fixsievebug.sh erzeugt die fehlenden Links, es sollte mindestens einmal täglich aufgerufen werden.
htsearch.html Kopie des Suchformulars von ht://dig, welches unter /usr/local/httpd/htdocs/htdig installiert ist.
htsearch.sh Kopie des Wrapper-Skriptes von ht://dig, welches unter /usr/local/httpd/cgi-bin/intranet installiert ist. Dieses Skript muß beispielsweise angepaßt werden, wenn ht://dig noch andere gesperrte Verzeichnisse außer /usr/local/httpd/htdocs/intranet durchsuchen soll.
ldap2html.pl Gibt den Adressbuch-Inhalt des LDAP-Verzeichnisses als HTML- bzw. (falls die Microsoft Office Web Components installiert sind) als Excel-Tabelle aus. Hier kann z.B. die Anzahl der ausgegebenen Spalten drastisch reduziert werden - diese Spalten werden zu Beginn des Skriptes aufgelistet.
pdfprinter.pl Der PDF-Drucker.

Übersetzung

Die Erstellung einer myLinux Server Installations-CD erfolgt mit den folgenden Teilschritten:

Wer den myLinux Server nur einsetzen, umkonfigurieren oder erweitern möchte, muß das System dazu nicht übersetzen. Es ist ohne weiteres möglich, einen myLinux Server von der Installations-CD aus zu erstellen, deren komprimiertes Image zum Download bereit steht. Es ist prinzipiell sogar möglich (vermutlich aber für ernsthaftes Arbeiten nicht sinnvoll), die Installations-CD als Live-CD zu benutzen.

Partition

Im Prinzip läßt sich der myLinux Server in einem beliebigen Verzeichnis übersetzen. Allerdings muß das System einmal gestartet werden (wegen des runonce-Mechanismus), um daraus eine Installations-CD erstellen zu können. Ein boot-fähiges Linux-System erfordert immer eine eigene root-Partition.

Für die Übersetzung von myLinux muß diese Partition mindestens vier Gigabytes umfassen.

Bei der Erstellung des myLinux Server 0.92 habe ich ein System mit folgender Partitionierung verwendet (siehe auch die Eintragungen unter mylinux.conf):

Im Zielverzeichnis bzw. in der Zielpartition müssen die Pakete untergebracht werden. Dabei ist folgende Verzeichnisstruktur einzuhalten:

Anstelle der beiden letztgenannten Download-Orte sollte man einen nahegelegenen Mirror aus den Listen www.linuxfromscratch.org bzw. www.linuxfromscratch.org/blfs wählen.

Das Verzeichnis mylinux-usermanager-0.92 (entstanden durch Entpacken von mylinux-usermanager-0.92.tgz) sollte sich nicht in der Zielpartition befinden. Bei der Erstellung des myLinux Server 0.92 habe ich es im Heimatverzeichnis von root belassen.

Die Konfigurationsdatei mylinux-usermanager-0.92/setup/mylinux.conf muß an das Zielsystem angepaßt werden. Dies betrifft vor allem die Partitionierung, darüber hinaus auch die Netzwerkanbindung.

Übersetzen

Die Übersetzung des myLinux-Systems geschieht mit einem einzigen Kommando:

LFS=<Zielpartition> nohup mylinux-usermanager-0.92/compile-scripts/MAIN &

Wegen des nohup-Kommandos ist ein Ausloggen möglich. Die Übersetzung - welche auf einem Pentium III / 800 MHz mit 128 MB RAM etwa siebeneinhalb Stunden dauert -, kann also beispielsweise über Nacht laufen.

Im vorliegenden Fall war die Zielpartition unter /mnt/hda4 eingehängt; das Kommando lautet dann:

LFS=/mnt/hda4 nohup mylinux-usermanager-0.92/compile-scripts/MAIN &

Die Übersetzung wird vollständig von dem Skript MAIN kontrolliert, welches verschiedene andere, im folgenden erklärte Skripte aufruft.

Automatisches Entpacken

In den drei Abschnitten der Übersetzung werden die Inhalte der Verzeichnisse LFS-Packages, BLFS-Packages und MyLinux-Packages in die von MAIN erstellten Verzeichnisse LFS-Sources, BLFS-Sources und MyLinux-Sources extrahiert. Dazu dienen die Skripte UNPACK-LFS, UNPACK-BLFS und UNPACK-MyLinux.

Statische Version

Das Skript COMPILE-STATIC erstellt statisch gelinkte Versionen der für eine Übersetzung notwendigen Pakete, darunter bash, gcc und glibc. Die Kommandos sind im wesentlichen dem Buch "Linux from Scratch" von Gerard Beekmans entnommen.

Dynamische Version

Mit den statisch gelinkten Programmen ist es möglich, eine "change root"-Umgebung zu schaffen und in dieser Programme zu übersetzen. Dies wird genutzt, um ein minimales Linux-System zu schaffen - eben "Linux from Scratch".

Die Skripte MAKETREE und MAKEKERNEL-HEADERS erstellen den Verzeichnisbaum eines Linux-Systems, inklusive Devices, proc-Dateisystem, verschiedenen Links und den Kernel-Header-Files.

Das Skript COMPILE-RUNTIME1 erzeugt eine Version der glibc. Das Buch "Linux from Scratch" schreibt hiernach einen Neustart der Shell vor. Nun läuft das Skript MAIN mit der Shell des ursprünglichen Linux-Systems, während die davon aufgerufenen Skripte in der "change root"-Umgebung laufen. Das Beenden von COMPILE-RUNTIME1 und der Start eines weiteren Skriptes per chroot-Kommando startet daher die Shell der "change root"-Umgebung neu.

Das Skript COMPILE-RUNTIME2 übersetzt einen Teil der LFS-Pakete, bis hin zur bash. Nach deren Übersetzung sollte die bash naheliegenderweise neu gestartet werden.

Dies geschieht durch den Wechsel zum Skript COMPILE-RUNTIME3, welches die restlichen Pakete übersetzt. Am Ende der Übersetzung wird die glibc erneut übersetzt. Da diese von der bash als "shared library" dynamisch eingebunden wird, empfiehlt sich anschließend abermals ein Neustart der bash.

Das Skript COMPILE-RUNTIME4 führt im wesentlichen Konfigurationsarbeiten aus und installiert die Kernel-Quellen.

Die Kommandos dieser Skripte sind im wesentlichen dem Buch "Linux from Scratch" von Gerard Beekmans entnommen.

Kernel

Zwischenzeitlich erzeugt MAIN ein Skript setup, welches Teile der myLinux Konfiguration übernimmt. Im wesentlichen sind dies die Netzwerk- und Dateisystem-Konfiguration. Anschließend werden über das Skript MAKEKERNEL die zwei Default-Kernel von myLinux erzeugt. Der Kernel scsikernel enthält nahezu sämtliche Netzwerkkarten und SCSI-Hostadapter fest eincompiliert, sollte also prinzipiell jedes System unterstützen.

Allerdings kann es zwischen den Treibern zu Konflikten kommen. Deshalb gibt es noch einen zweiten Kernel, idekernel, bei dem die SCSI-Hostadapter als Module compiliert wurden. Dieser Kernel kann natürlich nicht auf Systemen verwendet werden, bei denen das Boot-Device ein SCSI-Device ist. Ansonsten können SCSI-Geräte angesprochen werden, indem man einfach das zugehörige Modul lädt.

BLFS

Das Skript COMPILE-BLFS übersetzt verschiedene Pakete aus dem Buch "Beyond Linux from Scratch". Die Kommandos wurden im wesentlichen diesem Buch entnommen, teilweise (z.B. Samba) in Bezug auf die Konfiguration gekürzt, da diese Konfigurationen durch das nachfolgende Skript wieder überschrieben werden.

myLinux

Das Skript COMPILE-MYLINUX übersetzt Pakete, die nicht im Buch "Beyond Linux from Scratch" beschrieben werden, und übersetzt einige Pakte neu, die zuvor ohne LDAP-Unterstützung übersetzt wurden. (Anmerkung: xpdf ist ein BLFS-Paket, das ich aber nur hier übersetze, da es in dieser Distribution nur für ht://dig von Bedeutung ist.)

Konfiguration

Alle weiteren Kommandos innerhalb von MAIN befassen sich mit der Konfiguration des myLinux-Systems.

Starten

Nach der Übersetzung muß der Bootmanager installiert werden. Sofern das ursprüngliche System den Bootmanager lilo verwendet, kann dies durch Anpassung der Datei /etc/lilo.conf geschehen. Anschließend muß das Kommando lilo ausgeführt werden.

Alternativ dazu kann man auch das neue myLinux-System verwenden und das Kommando lilo in der "change root"-Umgebung starten:

chroot <Zielpartition> /sbin/lilo

Im vorliegenden Beispiel wurde die Zielpartition unter /mnt/hda4 eingehängt, also würde das Kommando lauten:

chroot /mnt/hda4 /sbin/lilo

Eine Datei /etc/lilo.conf wurde im Zielsystem nach den Angaben der Datei mylinux.conf erstellt. Allerdings wird in dieser Datei ausschließlich das neu erstellte myLinux System angegeben. Weitere Systeme (wie auch das ursprüngliche, von dem aus die Übersetzung gestartet wurde) müßten von Hand eingetragen werden.

Runonce-Mechanismus

Nach Installation des Bootmanagers kann der Computer neu gestartet werden. Nach dem Booten des neu übersetzten myLinux Server muß man sich als root einloggen (Paßwort mylinux). Durch den Login werden einige Skripte gestartet, die abschließende Konfigurationen ausführen. Dazu gehören übrigens auch Hintergrundjobs, die beispielsweise Volltextindizes erstellen. Diese Skripte sollte man durchlaufen lassen, bevor man den Rechner wieder herunterfährt oder auch eine Installations-CD erstellt.

CD-Image

Ein CD-Image wird aus dem laufenden System heraus durch das Skript CREATE-CD erzeugt. Dies geschieht mit folgendem Kommando:

<Pfad zum myLinux Package>/compile-scripts/CREATE-CD

Das Package-Verzeichnis muß komplett und unverändert sein. Es wird als Archiv auf die CD kopiert.

Idealerweise befindet sich das myLinux Package auf einer anderen Partition als das laufende System - wie es zu Beginn des Übersetzens der Fall war. In diesem Fall muß diese Partition unter /mnt eingehängt sein. Dies geschieht automatisch, wenn die Partition vor Beginn der Übersetzung in der Konfigurationsdatei mylinux.conf angegeben wurde.

Im angegebenen Beispiel war die myLinux-Partition /dev/hda4, die Übersetzung wurde von /dev/hda2 aus dem Heimatverzeichnis von root heraus angestoßen, und in der Datei mylinux.conf wurden die Partitionen /dev/hda2 und /dev/hda3 als zusätzliche Partitionen angegeben. Folglich werden diese unter /mnt/hda2 und /mnt/hda3 eingehängt, und das Kommando zum Erzeugen des CD-Images lautet:

/mnt/hda2/root/mylinux-usermanager-0.92/compile-scripts/CREATE-CD

Die Inhalte der Verzeichnisse /mnt und /proc werden bei der Image-Erstellung natürlich nicht auf die CD kopiert, ebensowenig wie die eventuell noch im Stammverzeichnis enthaltenen Package- und Source-Verzeichnisse.

Im Stammverzeichnis entstehen mehrere temporäre Verzeichnisse und Dateien und werden wieder gelöscht. Es bleiben ein Verzeichnis /CD, welches den kompletten CD-Inhalt enthält, und das Image /livecd.img selbst.

Falls die drei Source-Verzeichnisse vorher gelöscht werden, beträgt der Speicherbedarf circa 2.4 GB.

Funktionen

Das Skript führt mehrere Schritte aus:

Bemerkung: Das preinit-Skript hat noch ein nützliches Feature - es sucht noch vor der Prüfung des CD-Laufwerks eine Windows-Diskette mit einer Datei preinit und führt diese aus. Auf diese Weise kann das Verhalten der Live-CD modifiziert werden.

Download

CD-Images

Über diese Links können komprimierte Images bootfähiger myLinux-CD's heruntergeladen werden.

Das Paket mylinux-usermanager-x.xx.tgz ist in diesem CD-Image enthalten, nicht aber die Paketlisten.

Eine Kurzbeschreibung der Installation findet sich in der Datei InstallCD-Readme.txt, die ebenfalls in dem CD-Image enthalten ist. Die zu ändernde Konfigurationsdatei kann man sich unter mylinux.conf ansehen.

Datum Hyperlink Größe
09.10.2003 livecd-0.92.img.gz 239 MB

myLinux Package

Im Paket mylinux-usermanager-x.xx finden sich der Benutzermanager selbst, die Setup-Routinen, Patchfiles für die LDAP-Konfiguration verschiedener Softwarepakete, sowie die für die Übersetzung benötigten Skripte.

Datum Hyperlink Größe
09.10.2003 mylinux-usermanager-0.92.tgz 105 KB

Paketlisten

Zur Übersetzung von myLinux werden drei Paketserien benötigt:

Für alle drei Serien wird ein wget-Script angeboten; das für LFS stammt von der LFS-Website, die anderen sind an myLinux angepaßt.

Datum Hyperlink Größe
07.10.2003 readme-getscripts-0.92.txt 1 KB
07.10.2003 getlfs4.1.wget (mylinux 0.91) 5 KB
07.10.2003 getblfs-mylinux0.92.wget 4 KB
07.10.2003 getmylinux0.92.wget 3 KB

Dokumentation / Homepage

Diese komplette Homepage (abgesehen vom Download-Bereich) kann als Archiv heruntergeladen werden. Nach dem Entpacken in das Verzeichnis mylinuxproject.de muß man darin die Datei index.html mit einem beliebigen Webbrowser öffnen.

Datum Hyperlink Größe
09.10.2003 mylinuxproject-0.92.tgz 353 KB

Checksums

Mit dem Linux-Programm cksum gewonnene CRC-Prüfsummen der binären Dateien sind unter cksums.txt erhältlich.