Wie kann YaST für die eigenen Zwecke angepasst werden? Wie Spiegelt man einen Web-Server? Wie installiert man NTP, DHCP, Samba und NFS? Wie kann ein Web-Server oder FTP-Server betrieben werden? Was ist VNC? Was ist besser SuSE 9.1 oder doch gleich 9.3. Es steht dabei die Frage im Raum, wann ist ein System eigentlich fertig installiert? Die Version 9.3 bittet zwar eine Menge an Neuerungen, wobei es aber auch noch viele Fehler in der Software gibt. Getreu dem Motte "Neue Software, neue Fehler". Bei der Version 9.1 sind hingegen viele Fehler bereits behoben worden.
Dieser Artikel soll Neueinsteigern helfen sich in der Welt von Linux ein wenig zurecht zu finden, wobei sicherlich auch einige Profis hier Anregungen erhalten. Dieser Artikel beschreibt eine SuSE 9.1 sowie eine SuSE 9.3 Installation und möchte dabei helfen einige Klippen zu umfahren und Anregungen zu geben.
| Vorbereitung des Servers | Einige Programme nachinstallieren |
| YaST Quellmedien | Das Konfigurationsprogramm YaST anpassen |
| SuSE Update CD's | Update CDs selbst erstellen und einspielen |
| YaST Installation | Eine eigene Installationsquelle herstellen |
| Clientinstallation | Die Clients über das Netzwerk installieren |
| Vollautomatisches Update | Ein vollautomatisches Update installieren |
| YaST-Installationsserver | Aufbau eines Installationsserver unter SuSE 9.3 |
| fcron | Ein erweitertes cron-Programm |
| wget | Eine Möglichkeit um Server zu spiegeln |
| rsync | Eine weitere Möglichkeit um Server zu spiegeln |
| rsyncd | Einen Synchronisationserver selbst anbieten |
| YaST sysconfig | Einbindung von eigenen Skripten. |
| ntp | Betrieb und Aufbau eine Zeitservers. |
| IP-Adressen | Der IP-Aufbau |
| DHCP | Netzwerkparameter automatisch vergeben |
| Masquerading | Der Server als Router |
| thttp | Ein kleiner WEB-Server |
| FTP | Programm zum Datenaustausch |
| NFS | Programm zum Datenaustausch |
| Samba | Ein Windows-Server Clon |
| VNC | Der grafische Remotezugriff |
| SLP | Wo ist welcher Service im Netz |
| cups | Wichtige Tipps zum Druckspooler |
| Krusader | Ein grafischer MC-Clon |
| Verschlüsselte Dateien | Anlegen und benutzen |
| Nvidia | Die Nvidia-Grafikkarten |
Tipps | Noch einige Tipps unter anderem mit/für |
| Löschen von benutzerabhängigen Dateien | |
| SuSE 9.3 | |
| Evolution | |
| Nützliche Programme | |
| Zweites CD-Laufwerk | |
| Dockingstation | |
| Onlinebanking mit Towitogo-Kartenleser und Moneyplex | |
| Installation einer Webcam mit PWC-Treiber incl. dem notwendigen Kernelcompilieren | |
| Psion Revo | |
| Kontact-Daten sichern |
In diesem Beispiel wird eine Standardinstalltion mit SuSE Professional durchgeführt wobei im Anschluss die aufgeführten Programme nachinstalliert wurden. Zum Abschluss wurde ein Onlineupdate durchgeführt. Unter SuSE 9.1 wurden folgende Programme nachinstalliert:
locate lokale Suchdatenbank kdirstat Zeigt die Größe der einzelnen Verzeichnisse an ksteak Englisch-Deutsch Übersetzungen gcc C-Compiler make Linker für die Programmerstellung thttp Ein kleiner Web-Server vsftp Ein FTP-Server wget Programm zum Spiegeln von Web-Seiten rsync Synchronisationsprogramm kdeartwork3 Zusätzliche Icons autoyast2-utils YaST Zusatzprogramme taper Datensicherungstool mozilla Web-Browser mozilla-deat deutsch für den Web-Browser
Unter SuSE 9.3 sind die Programme thttpd, taper und wipe nicht auf den Installations-CDs enthalten, aber auf der DVD. Diese können nun von dort installiert werden, oder sie werden aus dem Internet geladen. Das Paket autoyast2-utils ist bei dieser Version standardmäßig installiert und die Mozilla-Programme sind gegen die Firefox-Pakete ausgetauscht worden, die auch standardmäßig installiert sind.
Wenn in diesem Artikel bei einigen Programmen darauf verwiesen wird, dass diese auf der DVD vorhanden sind, so können Sie diese von der DVD aus installieren oder von der URL ftp.gwdg.de/pub/linux/suse/ftp.suse.com/suse/i386/9.3 herunter laden.
Nach erfolgtem Onlineupdate wurde in ein Terminal gewechselt, mit Root-Rechten, und das Programm "updatedb" gestartet, damit das Programm locate auf diese Datenbasis zugreifen kann. Dieser Rechner verfügt über zwei Schnittstellen. Die Schnittstelle eth1 ist die Verbindung ins Internet und wird vom Provider über DHCP eingestellt. Die zweite Schnittstelle eth0 bedient das Intranet und wurde mit der statischen Adresse 10.24.10.1/255.255.255.192 konfiguriert. Als Rechnername wurde "server" und als Domainname "earth.de" gewählt. [Anfang]
Um bei einer Nachinstallation von Programmen nicht Diskjokey spielen zu müssen, wurde ein neuer Verzeichnispfad /srv/ftp/suse/9.1/cd[1-5] angelegt und die CDs in die Verzeichnisse kopiert.Dieses muss nun dem Konfigurationsprogramm YaST noch mitgeteilt werden. Dazu wurde YaST aufgerufen und die Bereiche "Software/ Installationsquelle wechseln" angewählt. Mit "Hinzufügen/lokales Verzeichnis" wurden nun alle CD-Verzeichnisse eingebunden. Zum Abschluss darf nicht vergessen werden die CD zu deaktivieren.
Von nun an werden alle Programme automatisch aus diesen Verzeichnissen installiert. YaST speichert für jedes einzelne Quellmedium die Daten in ein Verzeichnis /var/adm/YaST/InstSrcManager/IS_CACHE_0x{Hex-Zahl} ab. Dabei ist nur die Datei DESCRIPTION/description interressant, da dort die Einträge für das Quellmedium stehen. Zum Beispiel kann mit dem Eintrag "=Default_activate : 0" die Quelle ausgeschaltet werden, und mit "1" wieder eingeschaltet werden.
Um auch die Updates immer auf dem Rechner zu haben, wird ein SuSE-Updateserver gespiegelt. Hierfür wurde ein Script geschrieben welches die aktuellen Updates herunterlädt und in das Verzeichnis /srv/ftp/suse/i386/update/{Version} kopiert. Ein Manko dabei ist, das immer die aktuellen Programme heruntergeladen werden, aber die damit überflüssig gewordenen Programmupdates nicht gelöscht werden. Hier gibt es nur die Möglichkeit von Zeit zu Zeit das gesamte Verzeichnis zu löschen und alle Updates nochmal herunter zu laden. Nach Beendigung eines Softwarezyklus können die Updates durchaus Größen von 4GB erreichen, pro Version versteht sich. Die Quellcodes haben dann eine Größe von leicht 15GB, weswegen hier die Updates nur ohne Quellcode geholt werden.
Das Script "/usr/local/bin/wget-suse" welches diese Aufgabe übernimmt, wird unter dem Punkt wget behandelt. Da nun die Updates auf einer lokalen Platte liegen, muss dieses neue Pfad /src/ftp/suse auch YaST mitgeteilt werden.
Im YAST Onlineupdate wählen Sie eine neue Datenquelle über die Option "Neuer Server". Es erscheint eine weitere Auswahl an möglichen URL-Typen. Wenn Sie die Punkte CD oder DVD auswählen wird nur noch das Device abgefragt. Die URL-Typen FTP, HTTP,NFS und Samba benötigen noch weitere Informationen um eine Verbindung zu der Datenquelle aufzubauen. Neben dem Servernamen und dem Verzeichnispfad zu den Updatedateien können Sie noch entscheiden ob der Zugang Anonym oder auf einen User mit Passwort erlaubt wurde. Diese Einstellung sind auf dem Server festgelegt. FTP, HTTP und Samba arbeiten dabei mit Benutzername und Passwort, wo hingegen die Verbindung über NFS nur über die Zugriffsrechte gesteuert wird. Die Verbindungsart HTTP wird in diesem Artikel nicht behandelt.
Um diese Daten nicht bei jedem Update einzugeben, können Sie YAST so konfigurieren das diese Daten immer vorhanden sind. Um zu vermeiden, das das Programm sich die neusten Serverdaten aus dem Internet herunter lädt, ändern Sie in der Datei /etc/sysconfig/onlineupdate den Parameter YAST2_LOADFTPSERVER="yes" in "no". Wenn Sie diesen Parameter auf "no" gesetzt haben, bedeutet dies, das eine aktuelle Liste der Downloadserver nicht mehr von www.suse.de herunter geladen wird. Wobei, bei "yes", eine Internetverbindung voraus gesetzt wird. Ohne Internetverbindung bricht das Onlineupdate sofort ab, da YaST die Datei /var/lib/YaST2/you/youservers jedes mal neu erzeugen will.
In der Datei /var/lib/YaST2/you/youservers werden alle Rechner die als Datenquellen zur Verfügung stehen eingetragen. Wenn Sie in dieser Datei einige Einträge für YAST verstecken möchten, aber diese Einträge nicht löschen wollen, so fügen Sie als erstes Zeichen das Kommentarzeichen "#" ein. Das Datum des letzten Updates, wie der letzte Server von dem das Update geholt wurde stehen in der Datei /var/lib/YaST2/you/config.
Um zu gewährleisten, das Sie sowohl ein Update aus dem Internet vornehmen können, wie auch von einem lokalen Verzeichnis oder Intranet, tragen Sie ihr lokales Verzeichnis, oder die Updateserver die nicht unter www.suse.de stehen, in der Datei /etc/youservers ein. Das lokales Verzeichnis können Sie mit "dir:///srv/ftp/suse/" eintragen. Damit ist gewährleistet das Sie sowohl den lokalen, wie auch den Internetzugriff auf die Updateverzeichnisse haben. Sie können dem Eintrag noch einen sprechenden Namen mitgeben wie "dir:///srv/ftp/suse/;lokales Verzeichnis". Dieser Name wird dann unter der Installationsquelle mit angezeigt.
Bei einem Update lädt das System alle notwendigen Updates vom Verzeichnis/Server in das lokales Verzeichnis "/var/lib/YaST2/you/mnt" herunter. Das bedeutet, das nach einem Update auf diesem Rechner alle Dateien zwei mal vorhanden sind. Einmal in /srv/ftp/suse/... und in /var/lib/YaST2/you/mnt. Da diese Unsinnig ist, sollten nach einem Update die Dateien in /var/lib/YaST2/you/mnt wieder gelöscht werden. Dieses wird erreicht in dem der Parameter YOU_REMOVE_SOURCE_PACKAGES auf "yes" in der Datei /etc/sysconfig/onlineupdate gesetzt wird. Diese sollte auch bei den Clients gesetzt werden, da die Updates auf dem Server immer aktuell vorhanden sind.
Die Parameter YOU_REMOVE_SOURCE_PACKAGES und YAST2_LOADFTPSERVER können alternative auch mit YaST/System/Editor und dann System/YaST2/Onlineupdate geändert werden. [Anfang]
SuSE Update Cd's erstellen und einspielen
Die Updates vom Internetserver werden in ein Verzeichnis mit der Struktur {Hardware}/update/{Version} abgelegt. In diesem Beispiel wäre das "i386/update/9.x" wobei das Root-Verzeichnis "/srv/ftp/suse" ist. Dahinter befinden sich dann alle weiteren Verzeichnisse die das Update benötigt. Dieser Updatepfad "i386/update/9.x" ist auf der CD auch mit zu erstellen, da sich diesen Pfad das YAST-Programm aus den Maschinen und den Softwareparametern selbst zusammenstellt. Eingespielt wird eine Update-CD über YaST/Software/Patch CD-Update. [Anfang]
YaST Installationsquelle erstellen
Das Ziel dieses Abschnittes ist es eine "echte" Installationsquelle für YaST, aus den SuSE-CDs, so zu erstellen, damit eine Installation der Clients über das Netzwerk erfolgen kann. Lesen Sie dafür bitte auch den Artikel unter portal.suse.com/sdb/de/2004/02/yast_instsrc.html. Da die CDs bereits auf die Platte kopiert wurden, werden wir diese Verzeichnisse auch als Datenbasis benutzen.
Kopieren Sie in das Verzeichnis /srv/ftp/suse/9.1 die Verzeichnisse "/srv/ftp/suse/9.1/cd1/media.1" und "/srv/ftp/suse/cd1/suse/setup". Sowie die Dateien "/srv/ftp/suse/9.1/cd1/content" und "directory.yast". In der kopierten Datei media.1/media ändern Sie die Anzahl der Medien auf 1. In der Datei "srv/ftp/suse/9.1/cd1/content" können Sie die LABEL-Variablen mit einem freien Text belegen. Der dort enthaltende Text wird später in YaST angezeigt werden. Dieser Text ist frei wählbar.
Falls noch nicht geschehen, sollten Sie nun das Paket "autoyast2_utils" installieren. Wechseln Sie in einem Terminal mit Rootrechten in das Verzeichnis /srv/ftp/suse/9.1 und führen dort nacheinander die Befehle "ls -A1 > directory.yast" und "create_package_descr -d cd1/suse/ -d cd2/suse/ -d cd3/suse/ -d cd4/suse -d cd5/suse -x setup/descr/" aus, damit die neue Installationsquelle erstellt wird.
Bei SuSE 9.3, wo das Programm create_packages_descr bereits installiert ist, steht es Programm leider nicht in der Pfad angabe. Deswegen müssen Sie das Prgramm aufrufen mit "/opt/kde3/share/apps/krpmview/create_package_descr -d cd1/suse/ -d cd2/suse/ -d cd3/suse/ -d cd4/suse -d cd5/suse -x setup/descr/".
Anschließen brauchen Sie nur die neue Installationsquelle einzubinden, siehe den letzte Eintrag, und die anderen Quellen deaktivieren. Obwohl hier SuSE 9.1 installiert ist, funktioniert es auch mit der SuSE 9.2 und 9.3 Version (Die CDs sind analog zu Version 9.1 auf den Server eingespielt worden). Beim Client kann jetzt eine FTP-Verbindung als Installationsquelle zum Server herzustellen werden. Dann können, über das Netzwerk, alle weiteren Installationen vorgenommen werden. Bei der hier beschriebenen Version müssen Sie auf dem Client als Installationsquelle "suse/9.x/cd1" angeben. Obwohl Sie hier die CD1 angeben, findet das Installationsprogramm automatisch die anderen CDs zur Installation.
Eine weitere Version wäre wenn Sie alle CDs in eine Verzeichnis kopieren würden. Dabei können Sie bereits vorhandene Dateien gefahrlos überschreiben. In diesem Beispiel wurden die Dateien in ein Verzeichnis "suse/9.1" kopiert. Die Verzeichnisse Media.2 bis Media.5 können Sie löschen. In der Datei Media.1/media ist die Anzahl der Medien von 5 auf 1 zu ändern, und in der Datei content die Einträge für LABEL anzupassen. Um die Installationsquelle zu erstellen müssen Sie auch hier die beiden Befehle ausführen:
ls -A1 > directory.yast create_package_descr -d suse/ -x suse/setup/descr/
Nun können Sie als Installationsverzeichnis immer suse/9.1 angeben. Welche der beiden Möglichkeiten Sie benutzen, hängt nur von ihrem Geschmack ab. Hier ist die erste Version installiert, Obwohl der Printscreen zur zweiten Variante gehört. [Anfang]
Clientinstallation über das Netzwerk
Wenn Sie einen Rechner komplett über das Netzwerk installieren möchten, so benötigen Sie dafür einige Disketten. Falls Sie diese mit dem YaST2-Controlcenter unter "System/Boot-Disketten erzeugen" erzeugen möchten - Reingefallen, dieser Punkt erstellt nämlich nicht alle notwendigen Disketten, dieses müssen Sie per Hand erledigen. Gehen Sie dazu in das Verzeichnis {cdrom}/boot und rufen dort folgende Programm hintereinander auf um die Disketten zu erstellen.
dd if=bootdsk1 of=/dev/fd0u1440 für Bootdisk1 dd if=bootdsk2 of=/dev/fd0u1440 für Bootdisk2 dd if=bootdsk3 of=/dev/fd0u1440 für Bootdisk3 dd if=modules1 of=/dev/fd0u1440 für Moduldisk1 dd if=modules2 of=/dev/fd0u1440 für Moduldisk2 dd if=modules3 of=/dev/fd0u1440 für Moduldisk3 dd if=modules4 of=/dev/fd0u1440 für Moduldisk4 dd if=modules5 of=/dev/fd0u1440 für Moduldisk5
Wenn Sie sich nicht die Arbeit mit den Disketten machen wollen, so können Sie natürlich auch CD1 als Bootmedium verwenden. Bevor Sie eine Installation über das Netzwerk vornehmen, müssen Sie wissen welche Netzwerkkarte Sie benutzen und wie der Treiber dazu heißt. Ferner benötigen Sie noch ihre eigene IP-Adresse und die Subnetmask falls kein DHCP installiert ist, und die IP-Adresse des Installationservers.
Nachdem Sie den Rechner gestartet haben, erscheint das YaST-Installationsmenü. Hier wählen Sie "Manuelle Installation" aus. Anschließend wählen Sie für die Sprache und die Tastaturbelegung "Deutsch". Um die Netzwerkkarte einzubinden gehen Sie in den Menüpunkt "Kernel-Module (Hardware-Treiber) und wählen dort "Netzwerktreiber laden" aus. Nun können Sie in dem Menü ihre Netzwerkkarte auswählen, hier z.B. "e100". Bei einigen Treibern kann es vorkommen, das noch ein Menüpunkt "Parameter" angezeigt wird. Hier müssen Sie, nur wenn nötig, noch Parameter für diese Karte mit angeben oder das Feld frei lassen. Nachdem die Netzwerkkarte installiert ist verlassen Sie diesen Menüpunkt mit "Zurück". Nun wählen Sie "Installation / System starten" und anschließend "Installation / Update starten" aus.
Als Quellmedium wählen Sie "Netzwerk" aus. Das Netzwerkprotokoll ist in diesem Beispiel "FTP". Die Frage "automatische Konfiguration via DHCP" wird in diesem Beispiel mit "Nein" beantwortet. Als eigene IP-Adresse wird nun "10.24.10.24" eingetragen und für das Subnet "255.255.255.192". Das Gateway erhält auch die eigene IP-Adresse "10.24.10.24" und auf die Frage des Namensservers wird die Taste ESC gedrückt. Der FTP-Server hat die IP-Adresse "10.24.10.1". Da der FTP-Zugang für Anonymus gesperrt ist wird die Frage nach einem Passwort mit "Ja" bestätigt. Nun folgt die Eingabe des Benutzers und seines Passwortes. Da kein Proxy installiert ist, wird diese Frage verneint. Zum Schluss muss noch des Serververzeichnis "suse/9.x/cd1" angegeben werden. Damit ist die Verbindung zum Installationsserver hergestellt, und es erfolgt eine normale Installation des Rechners. Hier werden nochmal die notwendigen Schritte tabellarisch aufgeführt:
{Von CD1 starten}
Manuelle Installation
Sprache = Deutsch
Tastatur = Deutsch
Kernel-Module (Hardware-Treiber)
Netzwerktreiber laden
{Netzwerkkarte auswählen}
Zurück
Installation / System starten
Installation / Update starten
Quellmedium = Netzwerk
Netzwerkprotokoll = FTP
eigene IP-Adresse = 10.24.10.24
Subnet = 255.255.255.192
Gateway = 10.24.10.24
Namensserver ESC
FTP-Server = 10.24.10.1
Passworteingabe = JA
Benutzername & Passwort
Proxy = NEIN
Serververzeichniss = suse/9.x/cd1
Aber wie so oft im Leben, hat sich dieses vorgehen bei SuSE 9.3 ein wenig geändert:
{Von CD starten}
Mit F4 auf Deutsch umstellen
Mit F3 auf FTP umschalten
FTP-Server = 10.24.10.1
Passworteingabe
Der Rest entspricht dem obigen vorgehen.
Unter dem Punkt Onlineupdate in YaST können Sie ein vollautomatisches Update konfiguriere. Durch die Aktivierung stellen Sie einen Cronjob für eine bestimmte Uhrzeit ein. Die erzeugte Datei /etc/cron.d/yast2-online-update enthält dann den Wert "00 14 * * * root online_update". Diese Einstellung setzt eine Internetverbindung voraus. Um auf einem bestimmten Server zuzugreifen, können Sie dem Programm online_update, mit dem Parameter -u, mitteilen von welchem Server er die Updates holen soll. In diesem Beispiel wäre es dann:
00 14 * * * root online_update -u ftp://{USER}:{PASSWORT}@10.24.10.1/suse
Dieses Job führt dann automatisch ein Update durch. Es werden keine Meldungen ausgegeben, das gerade ein Update stattfindet. Ein evtl. angemeldeter Benutzer bekommt hiervon nichts mit, außer das u.U. der Rechner ein wenig langsamer wird. Dieses vollautomatisches Update eignet sich für das Programm "fcron" welches weiter unten behandelt wird. [Anfang]
Mit der Version SuSE 9.3 wird auch ein YaST-Installationsserver mit ausgeliefert. Hierzu muss das Paket "yast2-instserver" installiert werden. Anschließend können Sie den Installationsserver unter YaST/Verschiedenes/Installations-Server einrichten. Dieses ist eine weitere, und vielleicht auch die bessere, Möglichkeit die Installationsquellen zur Verfügung zu stellen. Zum einen brauchen Sie nicht, wie weiter oben beschrieben, die Quellen umständlich zu erzeugen. Und zum anderen können Sie eine Clientinstallation durchführen, indem Sie als Installationsquelle SLP (wird weiter unten beschrieben) auswählen, womit die gesamte Vorgehensweise bei der FTP-Clientinstallations wegfallen würde. Bei der Konfiguration des Installationsservers müssen Sie sich zuerst entschließen, über welches Netzwerkprotokoll Sie die Daten zur Verfügung stellen wollen. Sie haben die Auswahl zwischen HTTP, FTP, NFS oder nur lokal. Wenn Sie wie in diesem Artikel bei HTTP und FTP mit Passwörten und dafür eingerichteten Benutzern arbeiten entfällt diese Option, da bei einer SLP-Installation keine Passwörter abgefragt werden. Es bleibt also nur die Option NFS übrig. Für das Quellverzeichnis wurde hier der Pfad "/srv/ftp/suse/" ausgewählt mit den NFS-Optionen "*" und "ro,root_squash,sync".
Nun werden die Quellen installiert. Dazu vergeben Sie einen Verzeichnisnamen, wo diese Quellen stehen sollen. Z.B. "9.1" und "9.3". Desweiteren sollten Sie das Feld aktivieren, wo der Installationsserver mittels SLP bekannt gemacht wird. Nachdem Sie nun der Aufforderung zum CD einlegen nachgekommen sind und alle Cd's einkopiert wurden, steht die neue Installationsquelle zur Verfügung. Sie können hierbei natürlich mehrere Quellen anlegen. Bei einer Netzwerkinstallation werden Sie dann gefragt von welcher Quelle aus Sie installieren möchten. Die Konfiguration finden Sie unter /etc/YaST2/instserver/instserver.xml. [Anfang]
Fcron (fcron.free.fr) ist dabei, die verbreiteten Programme Vixiecron und Anacron zu ersetzen. Deren Funktion ist, Programme regelmäßig oder zu bestimmten Zeiten auszuführen. Üblicherweise ermöglichen diese Programme, vorher spezifizierte Programme, zu einer bestimmten Uhrzeit, einem Datum oder Wochentag auszuführen.
Auch die Angabe von Perioden wie alle Stunde oder jede Minute gehört zu den normalen Fähigkeiten. Fcron ersetzt diese Programme komplett und erweitert diese um einige Funktionen: Zunächst ist es möglich das Ausführen eines Programms von der Systembelastung abhängig zu machen. Die Empfänger der Ausgabe-Mail können nun auch angegeben werden. Damit geht die Ausgabe-Mail nicht mehr zwingend an den ausführenden Benutzer.
Eine Funktion die hier zum Einsatz kommt ist für Computer gedacht, die nicht ständig angeschaltet sind. Es ist mit fcron möglich, Programme laufen zu lassen, abhängig von dem Einschalten des Rechners an.
Artikel über fcron finden Sie im Heft Linux-Magazin 3/2001. Im Artikel über fcron im Linux-User 7/2004 hat sich ein Fehler bei den Parametern eingeschlichen. 05m steht nicht wie angegeben für 5 Minuten sondern für 5 Monate.
Das Programm fcron-2.0.2.src.tar.gz wurde herunter geladen und unter /srv/ftp/programme/programme/fcron-2.0.2 abgelegt. Für die Installation des Programms wird dieses entpackt unter /tmp. Öffnen Sie ein Terminal mit Root-Rechten und wechseln Sie in das Verzeichnis /tmp/fcron-2.0.2. Dort werden nacheinander die Befehle "./configure" und "make" ausgeführt.
Um dieses Programm unter SuSE auszuführen muss nun das Installationsprogramm von fcron geändert werden. Im Script ./script/boot-install sind die Zeile 178 und 183 zu ändern!
Zeile 178 "cd $ROOTDIR/rc$j.d/ ; ln -f -s ../init.d/fcron S40fcron" in "cd $ROOTDIR/init.d/rc$j.d/ ; ln -f -s ../init.d/fcron S40fcron" Zeile 183 "cd $ROOTDIR/rc$j.d/ ; ln -f -s ../init.d/fcron K60fcron" in "cd $ROOTDIR/init.d/rc$j.d/ ; ln -f -s ../init.d/fcron K60fcron"
Anmerkung des Autors: In diesem Script wäre es besser die Verzeichnisse mit "find /etc -name rc5d -type d -printf %h\\n" zu suchen, da damit die Installation universeller wäre.
Nun kann der Befehl "make install" ausgeführt werden unter /tmp/fcron-2.0.2. Alle Anfragen wurden hier mit Y bestätigt. Da das Programm nun installiert ist, kann das Verzeichnis /tmp/fcron-2.0.2 gelöscht werden.
Da nun ein Benutzer "fcron" automatisch mit angelegt wurde, und dieser nur für das System notwendig ist, sollte die Anzeige beim Login unterbunden werden. Dafür gehen Sie in das Programm K/Kontrollzentrum/Systemverwaltung/Anmeldungsmanager. Wechseln Sie in den Systemverwaltungsmodus und geben das Root-Passwort ein. Auf der Registerkarte "Benutzer" haken Sie den Benutzer fcron an, damit dieser nicht mehr angezeigt wird.
Die Daten für fcron werden mit dem Befehl "fcrontab -e" erstellt. Diese können sowohl Systemweit, mit dem Benutzer Root, oder auch für lokale Benutzer angelegt werden. Eine Beschreibung finden Sie unter /usr/share/doc/fcron-2.0.2. Falls die fcrontab automatisch bearbeitet werden soll, so kann die Tabelle mit "fcrontab -l" ausgelesen werden und die Daten in einer Datei gespeichert werden. Ein erneutes einlesen erfolgt dann über "fcrontab -n {file}". Die System-, wie auch die Benutzerabhängigen fcrontabs finden Sie im Verzeichnis /var/spool/fcron. [Anfang]
Spiegeln von Internetseiten - wget
Als Beispiel für das das Spiegeln von Internetinhalten wird hier einer der SuSE-Updateserver genommen. Das Programm wget lädt komplette Internetseiten auf ein lokales Verzeichnis herunter und kann dafür sorgen das dieses Verzeichnis immer aktuell gehalten wird. Mehr Informationen zu wget wie auch zu den grafischen Oberflächen die auf wget aufsetzten erfahren Sie unter:
www.linux-user.de/ausgabe/2001/08/090-wget/wget.htmlFolgende Parameter kommen in diesem Beispiel zum Einsatz:
| -c | Bei einem Abbruch der Verbindung werden die restlichen Daten die noch nicht übertragen worden sind, beim nächsten Verbindungsaufbau übertragen. |
| -r | Von dem angegebenen Verzeichnis wird rekursiv geladen. Das heißt auch alle Unterverzeichnisse. |
| -l5 | Damit wird die Verzeichnistiefe angegeben. In diesem Beispiel heißt es, das genau 5 Unterverzeichnisse mit übertragen werden. Falls es ein 6. Unterverzeichnis geben sollte, so wird dieses nicht mehr übertragen. Mit diesem Parameter muss vorsichtig umgegangen werden, da Sie sich sonst das gesamte Internet auf ihren Rechner herunterladen könnten, und dafür ist ihre Platte viel zu klein. |
| -N | Ihre lokal gespeicherten Daten werden mit denen auf dem Server verglichen. Es werden dann nur die Daten übertragen die sich geändert haben. Damit kann das lokale Verzeichnis immer aktuell gehalten werden. |
| -nH | Bei dem anlegen der Verzeichnisse wird der Hostname nicht berücksichtigt. |
| -X | Exclude, welche Verzeichnisse nicht mit übertragen werden sollen. |
| --cut-dir=x | Beim Ablegen der Dateien, wird der Verzeichnissbaum mit erzeugt. Mit diesem Parameter geben Sie an, ab welcher Stelle der Verzeichnisbaum angelegt werden soll. |
Wechseln Sie in das Verzeichnis in dem Sie später die Daten ablegen möchten. In diesem Beispiel ist es /srv/ftp/suse. Dort rufen Sie das Programm wget wie folgt auf:
wget -r -l5 -N -nH --cut-dirs=2 -X \ /pub/suse/i386/update/9.1/rpm/src/ \ ftp://ftp.gwdg.de/pub/suse/i386/update/9.1/
Nach der Übertragung der Daten haben Sie folgende Verzeichnisstruktur: /srv/ftp/suse/i386/update/9.1/*. Wenn Sie die Parameter -nH und -cut-dir=2 nicht mit angegeben hätten, hätten Sie folgende Struktur auf ihrem Rechner: /srv/ftp/suse/ftp.gwdg.de/pub/suse/i386/update/9.1/*. Da diese beiden Parameter aber mit angegeben wurden, brauchen Sie bei einem Update nur noch das Verzeichnis /srv/ftp/suse anzugeben.
Da die Sourcecodes bis zu 15GB haben können, und diese für ein Update nicht relevant sind, wurde dieses Verzeichnis mit dem Parameter -X angegeben und nicht mit übertragen. Um diese zu automatisieren wurde ein Script wget-suse im Verzeichnis /usr/local/bin erstellt:
Script wget-suse |
#! /bin/sh # Script: wget-suse # Holen der SuSE Updates ohne Sourcen cd /srv/ftp/suse wget -r -l5 -N -nH --cut-dirs=2 -X \ /pub/suse/i386/update/9.1/rpm/src/ \ ftp://ftp.gwdg.de/pub/suse/i386/update/9.1/ wget -r -l5 -N -nH --cut-dirs=2 -X \ /pub/suse/i386/update/9.2/rpm/src/ \ ftp://ftp.gwdg.de/pub/suse/i386/update/9.2/ wget -r -l5 -N -nH --cut-dirs=2 -X \ /pub/suse/i386/update/9.3/rpm/src/ \ ftp://ftp.gwdg.de/pub/suse/i386/update/9.3/ cd i386/update chmod -R +r * |
Dieses Script wurde in fcron eingetragen mit "fcrontab -e" und "@ 3 /usr/local/bin/wget-suse". Damit werden die Updates automatisch 3 Minuten nachdem der Rechner eingeschaltet wurde abgeholt. Falls der Rechner durchlaufen sollte, wird automatisch alle 24 Stunden die Updates nochmals geholt. Hierfür wurde eine weitere Zeile in fcron erstellt: "@ * * 1 * * /usr/local/bin/wget-suse"
Da bei diesem Download die Dateirechte vom Downloadserver mit übertragen werden, kann es beim Update zu Problemen kommen, wenn nicht die Leserechte gesetzt wurden. Deswegen wird zum Abschluss rekursiv die Leserechte auf alle Dateien nochmals angewendet mit "chmod -R +r *".
Falls Sie hinter einer Firewall sitzen sollten, die Ihnen nur die Möglichkeit bittet über http auf das Internet zuzugreifen, können Sie sich auch über http die Verzeichnisse spiegeln lassen. Bei http werden zwar auch nur die angeforderten Daten übertragen, aber es wird der gesamte Verzeichnisbaum des zu spiegelnden Servers, auf ihren Rechner mit abgebildet. [Anfang]
rsync - Ein Syncronisationsprogramm
Um die Nachteile des Programms "wget" zu umgehen, können Sie eine Synchronisation einsetzen wie "rsync". Der Nachteil bei dem Programm "wget" ist, das Sie zwar alle ausgewählten Daten vom Server holen, aber keine Möglichkeit haben, über dieses Programm, die nicht mehr notwendigen alten Pakete zu löschen. Für rsync muss zuerst überprüft werden, ob der ausgewählte Server auch die Syncronisation unterstützt. In diesem Beispiel geben Sie einmal "rsync -n ftp.gwdg.de::" ein und Sie erhalten die Ausgabe:
Welcome to ftp.gwdg.de (134.76.11.100) in Goettingen, Germany. Contacts: mailto emoenke@gwdg.de This server does not support --checksum (-c) debian Debian FTP archive debian-cd Debian CD archive debian-non-US Debian non-US archive debian-security Debian security archive EMIS ftp://ftp.gwdg.de/pub/EMIS FreeBSD ftp://ftp.gwdg.de/pub/FreeBSD FreeGIS ftp://ftp.gwdg.de/pub/misc/freegis GNOME ftp://ftp.gwdg.de/pub/linux/gnome KDE ftp://ftp.gwdg.de/pub/linux/kde/ kernel ftp://ftp.gwdg.de/pub/linux/kernel.org Mandrakelinux ftp://ftp.gwdg.de/pub/linux/mandrakelinux MySQL ftp://ftp.gwdg.de/pub/misc/mysql OpenOffice ftp://ftp.gwdg.de/pub/openoffice SuSE ftp://ftp.gwdg.de/pub/linux/suse (>170 GB) SuSE-people ftp://ftp.gwdg.de/pub/linux/suse/ftp.suse.com/people XFree86 ftp://ftp.gwdg.de/pub/xfree86/XFree86 pub ftp://ftp.gwdg.de/pub/ (2 TB, you can specify any subdirectory) FTP name will disappear; please use pub/.../
Damit wissen Sie das rsync unterstützt wird, und welche "Variablen" Sie auf diesen Server benutzen können. Wir benutzen die "Variable SuSE". Für das Update-Script "rsync-suse" ergeben sich damit folgende Einträge:
Script rsync-suse |
#! /bin/sh # Holen der SuSE Updates ohne Sourcen cd /srv/ftp/suse/i386/update cd 9.1 rsync -avz --stats --exclude=*.src.rpm --delete \ ftp.gwdg.de::SuSE/ftp.suse.com/suse/i386/update/9.1/ . cd .. cd 9.2 rsync -avz --stats --exclude=*.src.rpm --delete \ ftp.gwdg.de::SuSE/ftp.suse.com/suse/i386/update/9.2/ . cd .. cd 9.3 rsync -avz --stats --exclude=*.src.rpm --delete \ ftp.gwdg.de::SuSE/ftp.suse.com/suse/i386/update/9.3/ . cd .. chmod -R +r * |
Nach der Einbindung in fcrontab haben wir damit erreicht, das die aktuellen Patches auf dem Server vorhanden sind, und die alte Programme automatisch gelöscht werden. Somit wird kein unnötiger Speicherplatz verschwenden. Weitere Informationen sind unter www.openschoolserver.de/sections-article25-p1.phtml , www.linuxnetmag.com/de/issue9/m9laptop1.html vorhanden. Im Gegensatz zu wget wo Sie das Verzeichnis angeben, welches nicht mit übertragen werden soll, können Sie hier Dateien angeben mit den entsprechenden Platzhaltern. Die Option -delete bewirkt dabei, das alle Dateien die auf dem lokalen Rechner vorhanden sind, aber nicht auf dem Downloadserver gelöscht werden. [Anfang]
rsyncd - Einen Syncronisationsserver selbst anbieten
Für die Installation des rsync-Daemons aktiviren Sie rsyncd in der Datei /etc/inetd.conf. Dazu suchen Sie folgende Zeilen und ändern diese ab. In der Regel muss bei der zweiten Zeile nur das vorgestellt Zeichen # gelöscht werden.
# the rsync deamon
rsync stream tcp nowait root /usr/sbin/tcpd /usr/sbin/rsyncd --daemon
Kontrollieren Sie in der Datei /etc/services das die Zeile "rsync 873/tcp" kein vorgestelltes Zeichen # besitzt. Wenn doch, muss dieses gelöscht werden. Natürlich können Sie sich diese Scritte auch ersparen, wenn Sie im Runlevel-Editor den Daemon rsyncd mit den Runlevel 3 und 5 startet. Die Installation ist damit abgeschlossen und Sie können mit der Konfiguration des rsync-Daemons vortfahren.
Zur Konfiguration des Daemons wird die Datei /etc/rsyncd.conf benötigt. Diese Datei unterteilt sich in einen allgemeinen Teil, in dem globale Einstellungen vorgenommen werden können, und den Teil der Paragrafen [NAME], wo spezielle Einstellungen vorgenommen werden. Hier können die globalen Einstellungen überschrieben werden.
Konfigurationsfile /etc/rsyncd.conf |
read only = true
use chroot = true
transfer logging = true
log format = %h %o %f %l %b
log file = /var/log/rsyncd.log
motd file = /etc/rsyncd.motd
secrets file = /etc/rsyncd.secrets
auth users = testuser
[SuSE]
path = /srv/ftp/suse
comment = ftp://ftp.earth.de/srv/ftp/suse => Allg. SuSE Installationsverzeichnis
[SuSE-Update]
path = /srv/ftp/suse
comment = ftp://ftp.earth.de/srv/ftp/suse => Allg. SuSE Updateverzeichnis
[SuSE91]
path = /srv/ftp/suse/9.1
comment = ftp://ftp.earth.de/srv/ftp/suse/9.1 => SuSE 9.1 Installationsverzeichnis
[SuSE92]
path = /srv/ftp/suse/9.2
comment = ftp://ftp.earth.de/srv/ftp/suse/9.2 => SuSE 9.2 Installationsverzeichnis
[SuSE93]
path = /srv/ftp/suse/9.3
comment = ftp://ftp.earth.de/srv/ftp/suse/9.3 => SuSE 9.3 Installationsverzeichnis
|
Die Datei /etc/rsyncd.secrets sind folgende Einträge vorhanden, da auch hier kein Anonymous-Zugang gewährt werden soll:
# user:password
testuser:s0nne
In dieser Datei werden alle Benutzer aufgeführt, bei denen später beim Verbindungsaufbau ein Passwort abgefragt wird. Wenn mehrere Benutzer auf ein Verzeichnis zugreifen sollen so werden diese bei "auth users" durch Komma getrennt. Eine Schwäche dieser Datei ist, das hier ein sichtbares Passwort eingetragen werden muss. Achten Sie daher darauf, das diese Datei nur die Rechte 600 besitzt und der Owner, sowie die Gruppe, root ist. Damit ist diese Datei zumindest etwas geschützt. Das Protokoll können Sie sich, gemäß dem Eintrag bei "log file" ansehen mit "less /var/log/rsyncd.log"
Wenn Sie nun von einem Client aus auf diese Verzeichnisse zugreifen wollen, so werden Sie an der Passworteingabe scheitern. Rsync wertet die lokalen Variablen USER und LOGNAME aus und übermittelt diese an rsyncd. Damit Sie den Datenaustausch mit dem "testuser" durchführen können, müssen Sie den Aufruf ein wenig modifizieren: "rsync -avz --stats testuser@ftp.earth.de ::SuSE91/ .". Nun werden Sie nach dem Passwort gefragt und der Download beginnt. Falls Sie dieses automatisieren möchten, schauen Sie sich bitte die Option "Passwordfile" im Manuel an.
Um einen allgemeinen beschreibenen Text beim Client mit anzuzeigen, wurde das File "/etc/rsyncd.motd" angelegt, welches eine allgemeine Begrüßung enthält. Durch den Aufruf von "rsync -n ftp.earth.de ::" erhalten Sie folgende Ausgabe:
Willkommen auf dem Server von Earth.de SuSE ftp://ftp.earth.de/srv/ftp/suse => Allg. SuSE Installationsverzeichnis SuSE-Update ftp://ftp.earth.de/srv/ftp/suse => Allg. SuSE Updateverzeichnis SuSE91 ftp://ftp.earth.de/srv/ftp/suse/9.1 => SuSE 9.1 Installationsverzeichnis SuSE92 ftp://ftp.earth.de/srv/ftp/suse/9.2 => SuSE 9.2 Installationsverzeichnis SuSE93 ftp://ftp.earth.de/srv/ftp/suse/9.3 => SuSE 9.3 Installationsverzeichnis
YaST sysconfig - Einbindung von eigenen Scripten
YaST liefert mit dem Sysconfig-Editor ein mächtiges Werkzeug um sein Softwaresystem den individuellen Bedürfnissen anzupassen. In diesem Beispiel wird die eben beschriebene Rsync-Funktionalitäten im Sysconfig-Editor abgebildet. Die Parameterdateien liegen im Verzeichnis /etc/sysconfig. Hier erstellen wir eine neue Datei "rsync". Dieses Konfigurationsdateien bestehen aus drei Bereichen:
| White Spaces | diese werden nicht ausgewertet und dienen nur der besseren Lesbarkeit des Scriptes |
| Komentare | Kommentarzeilen mit "#" werden von Unix nicht ausgewertet. Diese haben in diesen Scripten eine vielfältige Funktion auf die weiter unten eingegangen wird |
| Variablenzeile | VARIABLE=WERT, diese Zeilen werden von Unix ausgewertet |
Wegen diesen Scriptaufbau ist es möglich, die Config-Dateien in den Scripten auszulesen, und die Scripte damit arbeiten zu lassen, ohne die Funktionalität des Sysconfigeditores einzuschränken. Da in den Scripten, dieses ist die Unix-Konjunktion, nur die Variablenzeilen ausgewertet werden.
Die Kommentarzeilen: Hier gibt es zwei Arten. Die erste besteht aus zwei Kommentarzeichen "##" gefolgt von einem Parameter und einem Wert der vom Sysconfigeditor ausgewertet wird. Der zweite besteht aus nur einem Kommentarzeichen "#" mit einem freien Text dahinter. Alles was hier steht, erscheint im Sysconfigeditor als beschreibender Text.
Am Anfang einer Datei steht immer "## Path:" und "## Description:". Mit der Path-Angabe geben Sie den Ort an, wo diese Daten erscheinen sollen. Falls der angegebene Ort noch nicht vorhanden sein sollte, so erstellt der Sysconfigeditor diesen automatisch. Hier wurde ein bereits bestehender Ort "Other" genommen der einen neuen Unterpunkt "Updateserver" erhält. Die Description ist ein Texteintrag der erscheint wenn Sie auf diesen Punkt gehen und dient der Beschreibung des Unterpunktes. Um eine weitere Untergliederung in der Baumstrucktur zu erhalten, können Sie diese Anweisungen jederzeit im Script wiederholen.
Der folgende Eintrag legt fest was für einen Eintrag Sie haben wollen "## Type:".
| yesno | Erlaubt nur die Auswahl von Yes oder No |
| integer | Erlaubt nur die Eingabe von Zahlen |
| list(0,1,2,..) | Erlaubt nur die Auswahl der angebotenen numerischen Liste |
| string (off,medium,hard) | Erlaubt nur die Auswahl der Texteinträge |
| string | Hier kann ein freier Text eingegeben werden |
Mit der Angabe "## Default:" geben Sie einen Wert vor, der zwar geändert werden kann, auf dem aber jederzeit wieder zurückgegangen werden kann.
Falls es nun notwendig sein sollte, das Sie nach einer Parameteränderung einen Dienst neu starten müssen, gibt es noch die Einträge "## Service Restart:" und "## Service Reload:" gefolgt von dem zu startenden Dienst. In der Sysconfig-Datei /etc/sysconfig/rsync werden nun alle notwendigen Parameter eingegeben oder verändert die für die Datei /usr/local/bin/rsync-suse nötig sind. Die Datei rsync-suse lädt sich diese Parameter beim Aufruf des Scriptes ein mit ". /etc/sysconfig/rsync". Am Anfang der Zeile darf der Punkt gefolgt von einem Leerzeichen nicht vergessen werden! Nähere Informationen dazu, lesen Sie bitte in einem Unixhandbuch unter "forking" nach.
/usr/local/bin/rsync-suse |
#! /bin/sh # Script: rsync-suse # Guenther Zander, GPL, 2005 # Holen der SuSE Updates ohne Sourcen # Configdatei: /etc/sysconfig/rsync . /etc/sysconfig/rsync # Ins lokale Updateverzeichnis wechseln cd $UPDATE_VER #Update Parameter modifizieren if test $UPDATE_SOURCE = "no" then UPDATE_PARAMETER=$UPDATE_PARAMETER" --exclude=*.src.rpm" fi if test $RSYNC_LOG_AKTIV = "no" then $RSYNC_LOG=/dev/null fi # Protokolleintrag Startzeit echo "------------------------------------------------------------------" >> $RSYNC_LOG echo -n "Startzeit: " >> $RSYNC_LOG date >> $RSYNC_LOG for i in $UPDATE_VERSIONEN do echo >> $RSYNC_LOG echo "SuSE Update Version" $i >> $RSYNC_LOG echo "Aufruf: rsync "$UPDATE_PARAMETER" "$UPDATE_SERVER"/"$i"/ . >> "$RSYNC_LOG >> $RSYNC_LOG cd $i rsync $UPDATE_PARAMETER $UPDATE_SERVER/$i/ . >> $RSYNC_LOG cd .. done # Leserechte rekursiv setzen chmod -R +r * # Protokolleintrag Endzeit echo -n "Endzeit: " >> $RSYNC_LOG date >> $RSYNC_LOG echo >> $RSYNC_LOG |
/etc/sysconfig/rsync |
## Path: Other/Updateserver ## Description: Einstellungen der Parameter für den lokalen SuSE-Updateserver ## Type: string ## Default: "/srv/ftp/suse/i386/update" # # Geben Sie hier das lokale Verzeichnis ein, unter dem die einzelnen Updateversionen # gespeichert werden sollen. Den letzten Slash sowie die Versionsnummern, dürfen hier # nicht eingegeben werden. Z.B.: /srv/ftp/suse/i386/update # UPDATE_VER=/srv/ftp/suse/i386/update ## Type: string ## Default: "ftp.gwdg.de::SuSE/ftp.suse.com/suse/i386/update" # # Geben Sie hier den Downloadserver und das dazugehörende Verzeichnis an. Den letzten # Slash sowie die Versionsnummern, dürfen hier nicht eingegeben werden. Z.B.: # ftp.gwdg.de::SuSE/ftp.suse.com/suse/i386/update # UPDATE_SERVER=ftp.gwdg.de::SuSE/ftp.suse.com/suse/i386/update ## Type: string ## Default: "" # # Geben Sie die Versionsnummer, mit einem Leerzeichen getrennt an. # UPDATE_VERSIONEN="9.1 9.2 9.3" ## Type: string ## Default: "-avz --stats --delete" # # Geben Sie hier die notwendigen Parameter für rsync an. # UPDATE_PARAMETER="-avz --stats --delete" ## Type: yesno ## Default: no # # Sollen die Quellcodes mit heruntergeladen werden? Hierbei kann es sich um eine Datenmenge # von über 10GB handeln! # UPDATE_SOURCE="no" ## Path: Other/Updateserver/Logging ## Description: Loggingeinstellungenfür den lokalen SuSE-Updateserver ## Type: string ## Default: "/var/log/rsync.log" # # Geben sie den Ort an, wo die LOG-Datei gespeichert werden soll. # RSYNC_LOG="/var/log/rsync.log" ## Type: yesno ## Default: yes # # Soll ein LOG-Datei erstellt werden, wie unter RSYNC_LOG angegeben? # RSYNC_LOG_AKTIV="yes" |
Um auf den Clients immer eine korrekte, oder fast korrekte, Zeit zu haben wird die Timeserverfunktioanalität eingerichtet. Im Systemeditor wird dazu unter dem Punkt Network/Ntp der Wert der Variable XNTPD_INITIAL_NTPDATE auf AUTO-2 gesetzt. Damit werden alle Server, der Reihe nach, durchprobiert die in der Datei /etc/ntp.conf verzeichnet sind, um von dort die aktuelle Zeit zu erhalten. In diesem Beispiel wurde in der Datei /etc/ntp.conf die Zeile "server time.fu-berlin.de" eingetragen. Und ab dem nächsten anmelden stimmt die Zeit auch wieder. Natürlich können Sie in der Variablen auch, durch Leerzeichen getrennt, die Timeserver angeben die benutzt werden sollen. Im Runlevel-Editor muss der Dienst xntpd noch gestartet werden. Falls das Datum/Zeit eine zu große Differenz aufweist, wird diese Differenz in einem Schritt gesetzt werden. Damit wird erreicht, das ab sofort die aktuelle Zeit angezeigt wird. Ansonsten arbeitet das ntp-Protokoll normal mit seiner Zeitstauchung und Zeitstreckung weiter.
Durch die Übermittlung durch das Internet wird die Zeit die an diesem Server ankommt, nie die aktuelle sein. Sie wird immer um einige Millisekunden abweichen (Laufzeiten durch das Internet). Nur für Real-Time-Prozesse ist die absolute Zeit von Interesse. Aber die werden dann über eine DCF-77 Uhr im eigenen Netzwerk bedient werden. In diesem Netzwerk ist die relativ geringe Zeitabweichung nicht relevant.
Einen allgemeiner Artikel über dem Timeserver finden Sie unter www.linux-magazin.de/Artikel/ausgabe/2000/12/Timeserver/Timeserver.html. Und eine Liste aller Public NTP Servern finden Sie unter www.eecis.udel.edu/~mills/ntp/servers.html
Da der ntp-Dienst nun im Runlevel eingetragen ist, wird es beim Start des Rechners zu Wartezeiten führen, da die Daten übermittelt werden müssen, oder falls kein Verbindung mit dem Internet/Intranet besteht, die Pollingzeiten abgewartet werden müssen.
Um diese zu umgehen, und damit den Bootvorgang zu beschleunigen, wurde der xntpd-Dienst im Runleveleditor deaktiviert. Als Root wurde die fcrondatei um den Eintrag erweitert " @ 3 /etc/init.d/xntpd start" erweitert. Damit wird der Dienst aktiviert, wenn die Maschine bereits 3 Minuten eingeschaltet ist. Der Benutzer kann mit seinem Rechner bereits arbeiten und der Dienst wird im Hintergrund ausgeführt. Wie lange der Dienst nun braucht ist damit nicht mehr für den Benutzer relevant. Diese vorgehen gilt für den Server und den Clients gleichermaßen, wobei bei den Clients natürlich der Server eingetragen werden muss.
Falls es sich bei dem Client um einen Windowsrechner handeln sollte, darf nicht vergessen werden die Option "Uhr automatisch von Sommer- auf Winterzeit umstellen" zu deaktivieren.
Unter SuSE 9.1 können Sie mittels Yast diese Einstellungen auch vornehmen. Dazu aktivieren Sie den NTP-Clientdienst beim Systemstart und gehen auf den Button "Lookup". Damit wird ihr Timeserver im Intranet automatisch gefunden und eingetragen.
Unter SuSE 9.3 müssen Sie in der ersten Maske erst den Button "wählen" aktivieren, bevor Sie in das Auswahlmenü gelangen. Wenn Sie hier den Button "Lookup" betätigen und das lokale Netzwerk ausgewählt haben, wird ihnen auch hier der der Intranet Timeserver angezeigt werden. [Anfang]
Als Netzwerkadresse (Subnetmask) wurde hier die 255.255.255.192 festgelegt um später, falls nötig, auch ein Subnetting durchführen zu können. Der Server hat die IP-Adresse 10.24.10.1. Damit ergibt sich ein Adressraum für die Clients von 10.24.10.10 bis 10.24.10.39. Die Adressen 10.24.10.2 bis 10.24.10.9 sind für zukünftige Aufgaben reserviert. Bei den Clientadressen ist noch der Adressreum von 10.24.10.40 bis 10.24.10.62 für DHCP reserviert worden. [Anfang]
Als DHCP-Server wurde hier eine Minikonfiguration erstellt, die den Clients erlaubt eine IP zu bekommen und sich im Intranet/Internet zu bewegen. Wenn unter YaST der DHCP-Server aufgerufen wird, und die Pakete noch nicht installiert sein sollten, so holt YaST dieses erst einmal nach. Bevor Sie mit der Konfiguration anfangen können, müssen Sie sich entscheiden, auf welcher Netzwerkkarte der DHCP-Dienst laufen soll.
Bei den "Globalen Optionen" stellen Sie die Parameter ein, die für das gesamte Netzwerk gelten. Dazu aktivieren Sie die "Globalen Optionen" und gehen auf "Bearbeiten". Nun können Sie ihre Parameter dort anpassen. Anschließend gehen Sie auf Hinzufügen und wählen "Subnet" aus. Wieder durch den Button "Hinzufügen" können Sie nun alle Einstellungen vornehmen, die dieses Subnetz betreffen, wobei der Eintrag "range" den Adressbereich vorgibt, aus dem sich der DHCP-Dienst bedienen darf.
Falls YaST ihn einen Fehler beim Starten des Dientest melden sollte, müssen Sie in ein Terminal mit Rootrechten wechseln und von dort händisch "rcdhcpd restart" aufzurufen. Nun erhalten Sie auch einen Hinweis darauf, was der Fehler ist. Dieses wird Ihnen leider nicht unter YaST mitgeteilt.
Die Konfiguration wird unter /etc/dhcpd.conf gespeichert und sieht in diesem Beispiel wie folgt aus:
/etc/dhcpd.conf |
option domain-name "earth.de";
option domain-name-servers xxx.xxx.xxx.xxx, xxx.xxx.xxx.xxx;
option routers 10.24.10.1;
option ntp-servers 10.24.10.1;
option lpr-servers 10.24.10.1;
default-lease-time 600;
ddns-update-style none;
subnet 10.24.10.0 netmask 255.255.255.192 {
option host-name = concat("Client", binary-to-ascii(10,8,"",substring(leased-address,3,1)));
range 10.24.10.40 10.24.10.62;
default-lease-time 600;
max-lease-time 7200;
}
# Laptop mit XP
host xp-laptop {
fixed-address 10.24.10.39;
}
|
Wenn Sie den DHCP nicht über YaST installieren möchten, so können Sie natürlich auch alle Einträge in dieser Datei direkt vornehmen. Da sich die grafischen Oberfläche und die möglichen Optionen zwischen den SuSE-Versionen sehr verändert haben, wird hier nur die Konfigurationsdatei dargestellt, die Sie direkt bearbeiten können. Die hier angegebenen domain-name-servers müssen Sie gegen die DNS-Server ihres Providers austauschen.
Damit werden die IP-Adresse, die Subnetmask, die DNS-Server und die Domainsuche übertragen. Der Router wird in die Routingtabelle übertragen und ist damit auch funktionsfähig, aber dieser wird in Yast nicht unter den Routern angezeigt. Auch werden die Parameter für Rechnername und der Domainname nicht in YaST angezeigt.
Mit dem Parameter "concat" können Sie individuelle Rechnernamen vergeben. In diesem Beispiel heißen die Rechner anschließend "Client40" bis "Client62". Es ist dabei zu berücksichtigen daß nicht alle Betriebssystem diese Funktion unterstützen! Aus diesem Grunde wurde einem nicht Linux-Rechner eine feste IP-Adresse über die Option "host" zugewiesen. [Anfang]
Damit die Clients auf das Internet zugreifen können, muss der Server als Router eingestellt werden. Dieses wird unter den Firewalleinstellungen vorgenommen, indem das Feld Masquerading aktiviert wird und beim Router die IP-Weiterleitung aktiviert wird. Wenn nun die Clients den Standardrouter auf den Server setzen, können Sie in das Internet gelangen. [Anfang]
thttp - Ein kleiner Web-Server
Es muss nicht immer ein Apache Webserver sein, je nach Einsatzgebiet reicht mitunter ein kleiner und simpler Webserver wie thttp vollkommen aus. Zuerst muss das Paket thttp installiert werden. Defaultmäßig legt dieses Programm ein Verzeichnis /srv/www an. Falls ein anderes Verzeichnis gewünscht wird, so muss dieses in der Datei "/etc/init.d/thttpd" angepasst werden. Es handelt sich hierbei um den Parameter -d. Nachdem das Verzeichnis nun mit Dokumenten und ähnlichem gefüllt wurde, können die Clients darauf zugreifen, sowie der Dienst thttpd im Runlevel-editor aktiviert wurde. In diesem Beispiel bei den Runlevel 3 und 5.
Um nicht jedem Zugriff auf die Inhalte zu geben, ist es möglich eine Passwortdatei für die Zugriffe anzulegen. Dieses geschieht mit dem Aufruf "htpsswd {-c} /srv/www/.htpasswd [Benutzer]". Der Parameter -c muss nur beim ersten mal mit angegeben werden, damit die Passwortdatei (create) angelegt wird. Der Benutzer ist zwingend erforderlich, da das Programm dann das Passwort abfragt für diesen Benutzer. In diesem Fall wurde nur ein Benutzer angelegt -also "htpsswd -c /srv/www/.htpasswd testuser". Damit die Passwortdatei ausgewertet wird, muss sie im Verzeichnis /srv/www liegen und muss .htpasswd heißen. Die Passwortabfrage ist damit für die entfernten Rechner aktiv. Local wird die Passwortdatei nicht ausgewertet. [Anfang]
VsFTP - Very Secure File Transfer Protocol
Als FTP-Server wurde das Programm vsFTP ausgewählt. Diesen Server müssen Sie nachinstallieren, da er nicht standardmäßig installiert ist. Die Konfiguration des Servers wird in der Datei /etc/vsftpd.conf vollzogen. Eine Beschreibung der einzelnen Parameter finden Sie unter www.linuxfibel.de/ftp_srv.htm und die aktuellsten Informationen im Manuel (man vsftpd.conf). Dieses Programm legt beim Installieren das Verzeichnis /srv/ftp automatisch an.
In diesem Beispiel soll mittels Ftp auf die Daten zugegriffen werden, ohne die User/Gruppen-IDs dabei zu verändern. Des weiteren sollen nur Benutzer darauf zugreifen dürfen, die auch über eine Berechtigung verfügen. Das heißt es werden keine anonymen Zugänge zu den Daten gewährt. Damit können Sie auch keine Verbindung zum Server mit dem Programm "mc" herstellen, da dieser nur für den Anonymous-Zugang ausgelegt ist. Mit den Programmen "Konqueror" und "Krusader" können Sie aber eine Verbindung herstellen.
Mit einer Angabe des Benutzers bei chown_username, wird der berechtigte Benutzer überprüft. Eine Liste der gültigen Benutzer wird unter chroot_list_file erstellt. Damit der Benutzer bei seiner Anmeldung in "sein" Verzeichnis wechselt, muss dieses Verzeichnis unter local_root angegeben werden.
Weiter informationen zu vsFtp finden Sie im Internet unter: www.debianhowto.de/howto-archiv/de/vsftpd/installation_konfiguration.html
Die Konfigurationsdatei des Server ist hier wiedergegeben:
vsftpd.conf |
write_enable=YES dirmessage_enable=NO ftpd_banner="Welcome to Earth.de FTP service." ls_recurse_enable=YES hide_ids=YES local_enable=YES local_umask=022 chroot_local_user=NO chroot_list_enable=YES chroot_list_file=/etc/vsftpd.chroot_list local_max_rate=0 anonymous_enable=NO anon_world_readable_only=NO anon_upload_enable=NO anon_umask=022 anon_mkdir_write_enable=NO anon_other_write_enable=NO chown_uploads=YES chown_username=testuser anon_max_rate=0 syslog_enable=NO log_ftp_protocol=NO xferlog_enable=NO connect_from_port_20=YES idle_session_timeout=600 data_connection_timeout=300 pam_service_name=vsftpd listen=NO local_root=/srv/ftp |
Nun muss der Dienst noch gestartet werden. Dazu wird die Datei /etc/inetd.conf wie folgt abgeändert:
#ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd
ftp stream tcp nowait root /usr/sbin/tcpd vsftpd
Außerdem muss der Dienst "inetd" gestartet werden (rcxinetd start).
Damit steht der FTP-Server zur Verfügung, und wechselt immer in das Verzeichnis /srv/ftp, sowie sich ein Benutzer anmeldet. Ein Onlineupdate können Sie nun unter YaST durchführen indem Sie als Server "ftp://10.24.10.1/suse" angeben. [Anfang]
Da bei dem NFS-Protokoll keine Authentifizierung vorgesehen ist, es handelt sich hierbei um ein altes Protokoll wo dieses noch keine Rolle spielte, werden keine Zugriffe auf die Daten erlaubt werden. Alleine das Verzeichnis für die SuSE-CDs und die Updates werden freigegeben. Das Einrichten des NFS-Servers geschieht unter YaST/Netzwerkdienste/NFS-Server. Dort wurden das bereits vorhandene Verzeichnis wie folgt eingebunden:
/srv/ftp/suse/ *(ro,all_squash,sync)
Damit wird der NFS-Server beim Starten des Rechners automatisch mit gestartet. Das freizugebenden Verzeichnis befinden sich dann in seiner Konfigurationsdatei /etc/exports. Das Verzeichnis /srv/ftp/suse wurde dabei nur Read-Only freigegeben, da sich dort die Installations-CDs und die Updates befinden. Auf der Seite des NFS-Clients ist das zu mountende Laufwerke, in der Datei /etc/fstab aufgenommen worden mit:
10.24.10.1:/srv/ftp/suse /server/suse nfs ro,suid,dev,exec,auto,user,sync 0 0
Natürlich können Sie diese auch über YaST/Netzwerkdienste/NFS-Client eintragen. Die Verzeichnisse in die NFS die Dateien mountet, müssen bereits vorhanden sein. Das heißt, sie müssen bevor sie die Verbindungen herstellen das Verzeichnis /server/suse angelegt haben.
Weiterführende Informationen sind im Internet unter www.linuxfibel.de/nfs_srv.htm und www.linux-user.de/ausgabe/2002/03/082-nfs/linux-user-nfs-7.html verfügbar.
Wenn nun der Clientrechner gestartet wird, werden beim Bootvorgang die Verzeichnisse automatisch mit eingebunden. Dieses führt natürlich zu Wartezeit, falls der Server nicht erreichbar sein sollte, bevor der Bootvorgang weiter ausgeführt wird. Und was ist mit einem Laptop?
Es gibt nun einige Möglichkeiten für dieses Problem. Zu einem können Sie mittels fcron diesen Startvorgang verlegen, oder die Verbindung manuell herstellen wenn diese auch benötigt wird. Hier wird die letztere Möglichkeit beschrieben. Für beide Möglichkeiten müssen Sie erst einmal den NFS-Client aus dem Bootvorgang entfernen, indem Sie mit YaST/System/Runlevel-Editor den Dienst "nfs" deaktivieren. Die Einträge in der /etc/fstab dürfen dabei nicht gelöscht werden!
Um die Verbindung zu verwirklichen muss sichergestellt sein, das alle Benutzer auch die Möglichkeit besitzen, diese Laufwerke zu mounten. Dieses darf eigentlich nur root oder das System. Deswegen wird mit dem Programm "visudors" diese Rechte vergeben.
sudors-File |
# sudoers file.
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the sudoers man page for the details on how to write a sudoers file.
#
# Host alias specification
# User alias specification
# Cmnd alias specification
Cmnd_Alias NFSMOUNT = /usr/sbin/rcnfs
Cmnd_Alias MOUNT = /bin/mount
Cmnd_Alias UMOUNT = /bin/umount
# Defaults specification
# User privilege specification
root ALL=(ALL) ALL
{user} ALL=NOPASSWD:NFSMOUNT
{user} ALL=NOPASSWD:MOUNT
{user} ALL=NOPASSWD:UMOUNT
# Uncomment to allow people in group wheel to run all commands
# Same thing without a password
|
Ob man hierbei auf die Passworteingabe verzichtet (NOPASSWD), wie in dieser Datei eingestellt, sollte sich jeder Administrator genau überlegen. Weiterführende Informationen zu dem Programm "sudo" sind unter www.linux-user.de/ausgabe/2002/05/084-zubefehl/sudo.html zu erhalten. Der Eintrag {user} ist dabei gegen Ihren Benutzeraccount auszuwechseln.
Wenn Sie weitere Informationen zu der Handhabe von NFS-Verbindungen haben möchten, lesen Sie bitte die Artikel Netzgeflüster unter GNU/Linux SuSE mit KDE 3.x sowie den Artikel Laptopinstallation mit SuSE Linux 8.2 und 9.0. In diesen Artikeln finden Sie unter anderem beschrieben, wie Sie den Startvorgang beschleunigen können oder die NFS-Verbindundungen über Icons darstellen können. [Anfang]
Um auch Windows-Rechnern eine Möglichkeit zu bieten auf diesen Server zuzugreifen wird das SMB-Protokoll auf dem Server eingerichtet. Bei dieser Installation wird eine Arbeitsgruppe eingerichtet und kein Domaincontroller. Samba besteht aus drei Diensten. NMB ist der Samba Netbios Names Services der für die Namensauflösung zuständig ist, wenn das NetBios-Protokoll zum Einsatz kommen sollte. Dieses Protokoll wurde in der Testumgebung weder auf einem 98'er noch einem XP-Rechner installiert, sondern nur TCP/IP, und somit entfiel die Aktivierung von diesem Dienst. SMB ist der File-, und Druck-Server von Samba der auf dem Server läuft. Dann gibt es noch den SMBFS der für den Import der remote SMB-Shares verantwortlich ist und auf den Linux-Clients laufen muss.
Die Samba-Configuration wird abgespeichert unter /etc/samba/smb.conf. Dort ist auch die Datei smbpasswd enthalten, wo die Benutzer, die auf Samba zugreifen dürfen, hinterlegt werden. Um diese Benutzer anzulegen müssen Sie, mit Rootrechten, das Programm "smbpasswd -a {user}" aufrufen und anschließend das Passwort für den Benutzer zwei mal angeben. In der Datei smbfstab sind alle Shares einzutragen, die beim Starten des SMB-Dienst von anderen Quellen einzubinden sind. In diesem Beispiel wird davon kein Gebrauch gemacht. Auf dem Linux-Client muss nur einmal der Samba-Client aufgerufen werden, um die Arbeitsgruppe einzutragen. Kontrollieren Sie anschließend ob die Dienste auch gestartet wurden.
Wenn Sie ein 98'er-System einsetzen, so müssen Sie dort einen Benutzer "testuser" anlegen, da bei dem Zugriff auf den Share nur noch das Passwort abgefragt wird. Bei XP hingegen können Sie hierauf verzichten, da Sie dort auch den Benutzer eingeben können.
/etc/samba/smb.conf |
[global] workgroup = TUX-NET printing = cups printcap name = cups printcap cache time = 750 cups options = raw printer admin = @ntadmin, root, administrator username map = /etc/samba/smbusers map to guest = Bad User include = /etc/samba/dhcp.conf logon path = \\%L\profiles\.msprofile logon home = \\%L\%U\.9xprofile logon drive = P: add machine script = /usr/sbin/useradd -c Machine -d /var/lib/nobody -s /bin/false %m$ domain logons = No domain master = No passdb backend = smbpasswd security = user [printers] comment = All Printers path = /var/tmp printable = Yes create mask = 0600 browseable = No [print$] comment = Printer Drivers path = /var/lib/samba/drivers write list = @ntadmin root force group = ntadmin create mask = 0664 directory mask = 0775 [suse] comment = Novell SuSE Installationsmedien inherit acls = No path = /srv/ftp/suse/ read only = Yes [testuser] comment = Home von testuser inherit acls = Yes path = /home/testuser/ read only = No [dokumente] comment = Serverablage für Dokumente inherit acls = Yes path = /srv/ftp/documente/ read only = No [programme] comment = Serverablage für Programme und Scripte inherit acls = Yes path = /srv/ftp/programme/ read only = No |
VNC - Virtual Network Computing
Wenn Sie an ihrem Server eine kleine Änderung vornehmen wollen, so müssen Sie sich immer am Server befinden. Um diesen Gang zu ersparen wurde das VNC entwickelt. Mit diesem Programm können Sie von jedem Rechner aus, auf dem ein VNC-Clientprogramm installiert ist, ihren Server administrieren unter einer grafischen Oberfläche. Die folgenden Programme befinden sich im Verzeichnis /usr/X11R6/bin:
vncserver Serverstartprogramm
vncpasswd Passworterstellung
vncviewer Clientzugriffsprogramm
Eine Dokumentation ist in das Verzeichnis /usr/share/doc/packages/vnc vorhanden. Rufen Sie dort die Datei "index.html" auf, um die komplette Dokumention einzusehen. Um den Vncserver zu starten müssen Sie angemeldet sein und den Programmstart mit Root-Rechten ausführen. Da es aber widersinning ist, auf dem Server ständig einen aktiven Benutzer zu haben, wird Ihnen hier die Möglichkeit dargestellt, dieses als Demon laufen zu lassen.
Hierzu wurde ein normaler Useraccount "testuser" angelegt. Nachdem das Programm "vncserver" in einem Terminal zum ersten mal gestartet wurde, werden Sie nach einem Passwort gefragt. Diese Passwortdatei liegt anschließend unter $HOME/.vnc/passwd und ist verschlüsselt. Wenn Sie einmal ihr Passwort vergessen haben, können Sie diese Datei löschen. Beim nächsten Aufruf vom Vncserver werden Sie nach einem neuen Passwort gefragt. Oder Sie rufen das Program "vncpasswd" auf und geben ein neues Passwort ein. Dieses Passwort für den VNC-Zugriff muss nicht unbediengt dem Passwort des Account "testuser" entsprechen.
In diesem Verzeichnis wird eine weitere Datei "xstartup" erzeugt, die die Parameter für die Remoteconsole enthält. Die aktuelle LOG-Datei der Sitzung befindet sich ebenfalls in diesem Verzeichnis. In der Datei "xstartup" legen Sie fest, wie das Remoteterminal auszusehen hat. Standartmäßig wird die Remoteconsole mit dem Desktop twm gestartet. Da dieser Desktop nicht gerade Anwenderfreundlich ist, können Sie dieses mit dem Eintrag "kde &" ändern.
Installation einer VNC-Conection beim Systemstart.
Hier gibt es zwei Möglichkeiten. Die erste wäre, das der Vncserver beim Einloggen sofort Rootrechte besitzt um den Rechner zu administrieren. Siehe hierzu www.linuxnetmag.com/de/issue8/m8installation801.html und den Nachtrag für SuSE 9.0 unter www.linuxnetmag.com/de/issue9/m9netzwerkinst.html
Die zweite Möglichkeit die hier zur Anwendung kommt ist die, das ein Vncserver in einem UserSpace gestartet wird. Damit hat der Benutzer der den Vncserver aufruft, zuerst nur die Rechte eines normalen Benutzers. Wenn er dann Rootrechte auf dem Server benötigt, muss er sich diese zusätzlich erst holen. Tragen Sie dazu mit Rootrechten in die systemweite fcrontab die Zeile ein:
3 @ testuser /usr/X11R6/bin/vncserver -geometry 800x640 -name server.earth.de :1
Da beim Start des Systems nur der Rootuser angemeldet ist, führt dieser das Kommando su aus um in den Userspace des Users zu kommen. Da der User "root" den Befehl su aufruft, muss kein Passwort bei su eingegeben werden. Nun wird der Vncserver dort gestartet und die dortigen Config-Dateien eingelesen.
Hier wird der Server mit dem Parameter :1 als Displaynummer gestartet. Damit wird erreicht, das nur ein Server läuft. Dieses hat noch den Vorteil das der Serverport 5900+Displaynummer fest vorgegeben ist und vom Vncserver benutzt wird, so das genau diesen Port beobachten werden kann. Wenn der Server herunter gefahren wird, wird das aktuelle LOG-File im Verzeichnis /home/testuser/.vnc an das LOG-File in /var/log/vncserver angehängt und anschließend gelöscht.
Rufen Sie am Client, in einem Terminal, das Programm "vncviewer servername:Displaynummer" auf. Nach der Eingabe des Passworts haben Sie dann die Verbindung zum Server. Da die Übertragung der Daten aber unverschlüsselt ist, sollte der Vnc-Server nur über eine SSH-Verbindung betrieben werden. Nachdem Sie eine Verbindung mit "ssh -L 5901:Servername:5901 Servername" hergestellt haben, können Sie mit "vncviewer localhost:1" den Desktop starten.
Hier ist das Vorgehen noch einmal tabelarisch aufgeführt:
"testuser" anlegen Sich als "testuser" anmelden Im HOME-Verzeichnis das Programm "vncserver :1" aufrufen. Das Passwort für den Remotezugriff zwei mal eingeben. Auf die Frage, ob nur ein Read-Only-Passwort vergeben werden soll mit n beantworten Den nun gestartetet Server mit "vncserver -kill :1" beenden Den Eintrag "twm" in der Datei $HOME/.vnc/xstartup gegen "kde" auswechseln In den Benutzer Root wechseln "fcrontab -e" aufrufen und den Eintrag vornehmen "3 @ testuser /usr/X11R6/bin/vncserver -geometry 800x640 -name server.earth.de :1" Mit "init 1" den X-Server und das Netzwerk herunterfahren Mit "init 5" das System wieder starten
Wenn Sie SuSE 9.3 als Server einsetzen, so werden Sie fest stellen das der Client die Datei "kstartupconfig" nicht findet da der Verzeichnispfad auf diese Datei nicht im User-Environment vorhanden ist. Um dieses zu beheben fügen Sie als zweite Zeile in der Datei ~/.vnc/xstartup die Zeile "PATH=$PATH:/opt/kde3/bin" ein und starten den Vncserver neu.
Eine nette Möglichkeit des vncviewers noch zum Schluß: Wenn Sie den Viewer mit den Parametern "vncviewer -shared server:1" aufrufen, so können Sie dieses von belibig vielen Rechnern aus machen und alle erhalten den gleichen Bildschirm. Aber alle haben auch die gleiche Maussteuerung. Wenn Sie den Aufruf mit -noshared vornehmen, nehmen Sie allen anderen Rechnern diesen Bildschirm weg, und nur Sie haben noch die Kontrolle. [Anfang]
SLP - Service Location Protocol
Der SLP ist ein relativ neuer Service in der Umgebung von Linux. Er soll dazu dienen, das ein Administrator Informationen über Dienste erhält, die auf anderen Rechnern aktiv sind. Es handelt sich also um ein reines Auskunftssystem für einen Administrator. Einige Programme wie Swat, NTP, SSH, Samba, VNC, Rsync und der Installationsserver haben diese Unterstützung bereits eingebaut. Für die Dienste, bei denen es noch nicht eingebaut ist, kann dieses mittels einer Konfiguration nachgeholt werden. Dazu muss der Dienst SLPD natürlich auch auf allen Rechnern gestartet werden. Um dies gleich beim Booten des Systems einzutragen, geben Sie mit Rootrechten, "insserv slpd" ein. Den Dienst können Sie natürlich auch mit "rcslpd start/stop" Ein-, und Abschalten. Weitere Informationen finden Sie unter www.openslp.com oder im Administrationshandbuch. Aufgelistet finden Sie Datei des Installationsservers /etc/slp.reg.d/YaST-9.3.reg und des manuell angepassten SAMBA-Servers.
/etc/slp.reg.d/YaST-9.3.reg |
service:install.suse:nfs://10.24.10.1/srv/ftp/suse/9.3,en,65535 defaultbase=i386 description=SUSE LINUX Version 9.3 ++SuSE-Linux-Professional-i386++ label=SUSE LINUX Version 9.3 machine=i386,i486,i586,i686 vendor=SUSE LINUX AG version=9.3 # Register the samba server, if it is running service:smb://$HOSTNAME,en,65535 tcp-port=139 description=Samba Datei und Print Server description=suse - ist das Installationsverzeichnis description=dokumente - ist die Ablage description=programme - Verzeichnis für unterschiedliche Programme |
Leider richtet das Installationsprogramm von SuSE nicht alle notwendigen Benutzer für cups mit ein. Auch wenn Sie später einen Benutzer hinzufügen, kann cups diesen noch nicht kennen. Dieses merken Sie daran, das Sie den Drucker nur mit Rootrechten verwalten können. Um auch dem normalen Benutzer die Möglichkeit zu geben den Drucker zu administrieren, müssen Sie cups die Benutzer manuell mitteilen. Diese geschieht mit der Eingabe von "lppasswd -g sys -a {Benutzername}". Anschließend werden Sie zu einer Passworteingabe aufgefordert die nur für cups gilt. Der Einfachheit halber sollte mann hier allen Benutzern das gleiche Passwort geben. Bei diesem Passwort muss mindestens eine Zahl enthalten sein. Die Passwörter werden in der Datei /etc/cups/passwd.md5 gespeichert. [Anfang]
Krusader - ein grafischer MC-Clone
Krusader ist ein grafischer MC-Clone für die KDE-Oberfläche. Das Programm steht dann unter KDE/Programme zur Verfügung. Weiter Informationen finden Sie unter krusader.sourceforge.net. Um die vielfältigen Möglichkeiten des Programms zu nutzen, sollten die Pakete kdesdk3, kdiff3, rar, krename, lha, unarj und unace nachinstalliert werden. Dabei enthält das Paket kdesdk3 das Programm "kompare". Das Paket kdiff3 ist auf der DVD vorhanden. Das Programm "rar" kann aus dem Internet geladen werden: rar-3.5.0-0.pm.0.i586.rpm von packman.links2linux.de.Wenn Sie mit dem Krusader RPM-Files installieren wollen, so können Sie dieses unter "Datei/(rechte Maustaste)/Konqueror Menü/Actions/mit YaST installieren".[Anfang]
Ein Wort vorweg. Wenn Sie verschlüsselte Dateien anlegen, so Informieren Sie sich vorher ob dieses nach den nationalen Gesetzen erlaubt ist. Wenn Sie mit einem Laptop verreisen, so Informieren Sie sich vorher, ob Sie verschlüsselte Dateien und die darin erhaltenen Kryptografieverfahren einführen und auch anschließend wieder ausfüren dürfen. Hier gibt es viele nationale Unterschiede auch im Bereich Europas.
Ein verschlüsseltes Dateisystem wird automatisches beim Start gemountet, wenn die Datei /etc/cryptotab belegt ist. Diese Datei ist analog zu /etc/fstab aufgebaut. Standardmäßig wird für die Partition des Modul twofisch benutzt. Dieses Modul muss mit "modprobe loop_fish2" geladen worden sein, sonst ist ein Zugriff nicht möglich und das Paket "libmcrypt" muss installiert worden sein. Ob das Modul loop_fish2 geladen wurde, können Sie mit dem Befehl /sbin/lsmod überprüfen. Der Aufbau der Datei /etc/cryptfile ist dabei:
Device Pfad-Cript-File Mountpoint Filesystem Encryption Parameter
/dev/loop0 /tmp/.secur /mnt ext3 twofish default
Beim Starten wird die Datei /etc/init.d/boot.crypto abgearbeitet. Wenn die cryptotab leer ist wird dieser Punkt beim Startprozess übersprungen. Ansonsten wird bereits beim Booten nach einem Passwort gefragt, wobei das System solange stehen bleibt, bis ein Passwort eingegeben wurde. Gemountet wird dieses System mit zwei Befehlszeilen. Wobei das Programm losetup bereits eine Passwortabfrage vornimmt. In der ersten Zeile wird ein neues Device in das System eingehängt. Aber erst nach dem mounten dieses Devices, ist es möglich auf den Inhalt der verschlüsselten Systems zuzugreifen.
losetup -e twofish /dev/loop0 /Pfad-Crypt-File Device einhängen
mount -t ext3 /dev/loop0 Pfad Mountpiont einhängen
Dismountet wird das System mit den Befehlszeilen:
umount /Pfad-Crypt-File Mountpoint haushängen
losetup -d /dev/loop0 Device freigeben
Wie bereits erwähnt können Sie alternative auch in der /etc/fstab die Einträge vornehmen. Dazu muss sichergestellt sein das das Modul geladen ist. Z.B in dem Sie in der Datei /etc/init.d/boot.local die Zeile "modprobe loop_fish2" eintragen. Daraus kann sich folgender Beispieleintrag ergeben:
/daten/.security /mnt ext3 loop,encryption=twofish noauto,user
Während Sie unter SuSE 8.1 mit Yast2 nur verschlüsselte Partitionen anlegen konnten, ist diese Option ab SuSE 8.2 erweitert worden. Sie können nun dort auch verschlüsselte Dateien anlegen. Dazu wählen Sie unter YaST/System/Partionieren eine Partition aus, auf der Sie die Datei enlegen möchten. Über den Button "Kryptodatei" kommen Sie in ein Folgemenü, wo alle Parameter für dieses Datei angegeben werden können. Wenn Sie hier keinen Mountpoint angeben, so wird auch nur die Datei selbst erzeugt.
Das Modul loop_fish2 muss zu diesem Zeitpunkt geladen sein, damit eine Verschlüsselung vorgenommen werden kann. Anschließend noch ein chmod {Benutzer} auf die verschlüsselte Datei, da sonst nur root den Zugriff auf diese Datei besitzt./
In dieser verschlüsselten Datei sollte ein Verzeichnis angelegt werden unter dem zukünftig alle Daten abgelegt werden. Wenn dieses Verzeichnis nicht existiert, ist es später nicht erkennbar ob die Datei geladen wurden, da die verschlüsselte Datei in ein normales Verzeichnis gemountet wird.
Weiter Informationen finden Sie unter:
sdb.suse.de/de/sdb/html/jsj_crypto_filesystem_mini_howto.html
www.suse.de/de/private/support/howto/crypto
www.linux-magazin.de/artikel/ausgabe/2001/11/crypto/crypto.html
Linux-user 7/2003 Seite 42. Abgesperrter Datenbereich
Besonders lesenswert ist der Artikel http://www.heise.de/security/artikel/41202 der die technische Unmöglichkeit der Entschlüsselung behandelt.
Zum Abschluß noch einige Sicherheitsaspekte: Sie würden keine verschlüsselte Datei anlegen, wenn Sie nicht der Meinung wären, das Sie diese benötigen. Damit bei einem Verlust des Laptops, es dem Unbekannten erschwert wird, Rückschlüsse aus den Daten zu ziehen, sollten Sie alle Cache-Daten, wie z.B. der Downloadmanager von Mozilla, in das /temp-Verzeichnis legen. Für das Tmp-Verzeichnisse können Sie den Löschintervall anpassen. Dazu gehen Sie in den Sysconfigeditor unter System/Cron/MAX_DAYS_IN_TMP=1 (tägliches löschen) so wie System/Cron/CLEAR_TMP_DIRS_AT_BOOTUP=yes (beim hochfahren löschen).
Eine weitere Möglichkeit ist die Speicheraufrüstung auf mind. 512MB. Danach können Sie in der /etc/fstab die Swap-Partition ausschalten mit einem vorrangestellten "#". Wenn Sie nun den Laptop rebooten und die Swap-Partition anschließend einmal neu formatieren, sind auch hier alle alten Daten gelöscht.
Um eine einfache Möglichkeit zu erhalten, bei Bedarf, die verschlüsselte Datei, einzubinden, wurden die nachfolgende Script erstellt die sich am Ende des Artikels befinden. Das Script für SuSE 9.1 lädt alle notwendigen Module die zum Betrieb notwendig sind. Damit das Rootpasswort zum mounten der Datei nicht mehr eingegeben werden muss, wird hier ein Eintrag in /etc/sudoers erstellt. Sie müssen nur noch das Passwort eingeben um die Entschlüsselung zu starten. Um zu erkennen ob die Datei bereits eingehängt wurde, wird ein entsprechendes Icon auf den Desktop erzeugt. Beim schließen der Datei, werden auch die notwendigen Module wieder entladen und das Icon ändert sich.
Für die Version von SuSE 9.3 wurden einige Änderungen eingebaut. Hier können Sie dem Script einen individuellen Namen geben, den Sie dann noch in die Variablen eintragen müssen. Desweiteren können Sie einen bestimmten Benutzer eingeben der dieses Script und damit seine verschlüsselte Datei benutzen soll. Das Verzeichnis in dem die verschlüsselte Datei eingehängt werden soll, wird dabei bei jedem Aufruf neu erstellt und beim beenden wieder gelöscht. Dadurch ist es leichter zu erkennen, ob die Datei eingehängt worden ist. Falls Sie eine ältere verschlüsselte Datei weiter benutzen möchten, tauschen Sie im Script den Eintrag "twofish256" gegen "twofish" aus womit Sie dann ihre ältere Datei weiter benutzen können. Das Script für SuSE 9.3 sieht ein wenig unübersichtlich aus. Dieses ist leider nötig, da die Shell einige Probleme mit White-Spaces hat.
Bei der Version 9.3 ist die Datei "libmcrypt" nicht mehr nötig, da diese durch andere ersetzt wurde. Nachdem Sie die verschlüsselte Datei erzeugt haben, müssen Sie diese zuerst unmounten mit "umount /dev/loop0" und das Loopdevice aushängen mit "losetup -d /dev/loop0". Da YaST diese Datei so eingerichtet hat, das diese beim Start mit aktiviert wird, und damit beim Start des Systems nach dem Passwort gefragt wird, entfernen Sie den Eintrag in der Datei "/etc/cryptotab" oder löschen die Datei komplett.
Nun noch mit Rootrechten der verschlüsselte Datei auf den Benutzer übertragen mit "chown {Benutzer}:{Gruppe} Datei" und die Rechte setzen mit "chmod 600 Datei". Nun können Sie das Script aufrufen mit "loopdevice-{Benutzer} install" und die verschlüsselte Datei steht ab sofort für den Benutzer zur Verfügung. Darauf zugreifen tun Sie mit "sudo /usr/local/bin/loopdevice-{Benutzer}. [Anfang]
Besitzer einer Nvidia-Grafikkarte ist es sicherlich schon einmal passiert, das Sie nach einem Kernel-Update keine grafische Oberfläche mehr haben. Das hängt damit zusammen, das der Nvidia-Treiber neu eingebunden, bzw. der aktuelle Treiber installiert werden muss. Wenn Sie nun wie gewohnt unter YaST-Onlineupdate diesen Treiber installieren wollen werden Sie diese Auswahl nicht mehr sehen, falls Sie den Treiber bereits einmal installiert hatten. Aber auch hierfür gibt es einen Trick.
Sie gehen in YaST in das Online-Update und stellen
dort die Patch-Kategorie um auf "Installierbare und installierte Patche" um. Nun können Sie wieder auf den Eintrag für die Nvidia-Grafikkarte zugreifen. Dort wählen Sie mit der rechten Maustaste "Aktualisieren" aus und können nun die aktuelle Version über das Internet installieren. [Anfang]
Löschen von benutzerabhängigen TMP-Dateien
Während systemweite TMP-Verzeichnisse in "TMP_Dirs_to_Clear" mit einem Eintrag im Sysconfigeditor "System/Cron/Max_Dirs_in_tmp=1" täglich gelöscht werden können, ist dieses für benutzerabhängige Verzeichnisse nicht vorgesehen. Deswegen wurde ein Script entwickelt, welche in fcron eingestellt wurde. Zur einfache Bearbeitung der Einträge wurde auch hierfür wieder ein Eintrag für den Sysconfig-Editor erstellt.
/etc/sysconfig/clear_user_tmp |
## Path: Other/User-Tmp ## Description: Dateien in $HOME die automatisch gelöscht werden sollen. ## Type: string ## Default: "" # # Geben Sie hier die lokale Benutzerdateien oder Verzeichnisse an die automatisch # gelöscht werden sollen. # Z.B.: "tmp/* .Altdocs/* tempor.dat" # TAB="" |
/usr/local/bin/clear_user_tmp |
#! /bin/sh
# Script zum löschen von temporären Dateien im Home-Verzeichniss
# Günther Zander, Dez. 2004
# Eintragen als Fcron-Job mit: @ 3 /usr/local/bin/clear_user_tmp
# Tabelle der Verzeichnisse und Dateien
. /etc/sysconfig/clear_user_tmp
for a in `ls /home`
do
for b in $TAB
do
rm -R /home/$a/$b
done
done
|
Nach einem Onlineupdate von SuSE 9.3 war plötzlich mein KDE-Desktop verschwunden und der X-Server wurde mit TWM gestartet. Da mir dieses natürlich nicht gefiehl wurde in ein Terminal gewechselt (ALT+STRG+F1) und sich dort mit Rootrechten angemeldet. In der Datei /etc/sysconfig/displaymanager wurde der Wert der Variablen DISPLAYMANAGER wieder auf "kdm" eingestellt und in der Datei /etc/sysconfig/windowmanager der Wert der Variablen DEFAULT_WM auf "kde" gesetzt. Nun noch einmal "init 3" um den X-Server abzuschalten um anschließend mit "init 5" diesen wieder zu starten. [Anfang]
Um aus Evolution heraus nicht immer den Internet-Link kopieren zu müssen, um auf die Website zu gelangen, kann man einmal hier einen Browser eintragen "gconf-2 --set /desktop/gnome/url-handlers/http/command -t string 'mozilla %s'". Um eine Datensicherung von Evolution durchzuführen, müssen Sie folgende Daten kopieren:
~/evolution/* ~/.gnome2/accels/evolution ~/.gnome2_private/Evolution ~/.gconf/apps/evolution/*
Nützliche Programme Um auf nützliche Programme schneller zugreifen zu können, wurde die Programme der Gruppe "Programme" zugefügt.
/opt/kde3/bin/kmenuedit Der Menüeditor /opt/kde3/bin/Keditbookmarks Bookmarks der unterschiedlichen Browser bearbeiten
Das Programm Keditbookmarks greift damit auf die Dateien der Browser zu. Beim Mozilla stehen diese unter " ~/.mozilla/default/???.slt/bookmarks.html" und beim Konqueror unter " ~/.kde/share/apps/konqueror/bookmarks.xml"
Um nicht ewig beim betätigen der Druck-Taste einen komplette Bildschirm-Screen zu erhalten, können Sie auf der Taste Druck das Programm Ksnapshot eintragen, welches auch Bereiche des Bildschirmes kopieren kann. Um dieses Programm einzurichten rufen Sie das Programm "kmenuedit" auf und tragen unter Dienstprogramme/Desktop/KSnapshot die Taste Druck ein. [Anfang]
Wenn das zweite DVD-LW nicht erkannt wird, müssen die Rechte genauso gesetzen werden wie für das erste Laufwerk. In diesem Beispiel mit "chgrp users /dev/hdd". Nun kann auch jeder Anwender mit beiden LWs arbeiten. Ansonsten konnte es nur Root. [Anfang]
Wie es so ist im Leben, wenn man einen Computer hat, kommt meistens noch einer hinzu. Aus diesem Grunde war es nötig, einen Laptop über einen elektronischen Umschalter zu betreiben. Aber der Laptop "Toshiba Satellite 1110-Z20" verfügt nicht über alle notwendigen Schnittstellen, so das eine "Docking Station" installiert werden musste.
Hierbei wurde sich für das Modell "Digitus Connect USB 2.0 Docking Station" entschieden. Dieses Gerät wird mittels eines USB-Kabels mit dem Laptop verbunden und stellt anschließend folgende Geräte bereit:
1x PS2-Maus 1x PS2-Keyboard 1x Seriell SubD-9 1x Parallel SubD-25 1x Netzwerk 10/100MBit 2x USB 2.0
Nach dem Einstecken des Kabels, steht die Station unter SUSE 9.1 sofort zu Verfügung.
Keyboard und Maus: Die Maus wird über einen Treiber "Cypress PS2toUSB KBM Bridge" betrieben und als eine Standard-USB-Maus generiert. Die einzige "Macke" bei dem Betrieb mit der Station trat mit der Maus auf. Mitunter entwickelt der Mauszeiger ein Eigenleben, und wandert unberechenbar über den Bildschirm. Nachdem aber die ESC-Taste einmal gedrückt wurde, tat sie wieder das was sie sollte. Über diesem Weg wurde auch die Tastatur als normale USB-Tastatur erkannt und eingebunden.
Drucker: Der Drucker kann über die neue Schnittstelle /dev/usb/lp0 normal mittels Yast installiert werden, da hier ein "Prolific IEEE-1284 Controller" in der Station seinen Dienst tut.
Restlichen Ports: Noch verbleibenden Ports sind für USB 2.0 "Prolific PL2301", Seriell "Prolific PL2303", Modem "Docking AX88172" und die USB-Netzwerkkarte. Diese Ports wurden hier noch nicht getestet.
Monitor: Der Monitor der über die Umschaltbox angeschlossen ist, war mit dem installierten ATI-Grafiktreiber "ATI Readon LY" nicht dazu zu bewegen, den Laptopbildschirm vernünftig darzustellen. Es wurde immer ein virtueller Bildschirm angezeigt, der über die physischen Grenzen des Monitors hinausging. Erst als der Grafiktreiber auf "VESA-BIOS Graphics" umgestellt wurde, arbeitete der Monitor wie gewohnt. Dieses hat zur folge, das die 3D-Option nicht mehr aktiviert werden kann. [Anfang]
Towitogo Kartenleser fürs Online Banking mit Moneyplex
Für den Cardreader "Chipdrive micro 110 V4.30" muss der Towitoko-Driver von www.geocities.com/cprados , hier in der Version towitoko-2.0.7.tar.gz, herunter geladen werden.
Compiliert wird dieser, nach dem entpacken, mit "./configure && make && make install". Nun steht ein Programm /usr/local/towitoko/bin/tester zum Testen des Kartenlesers bereit.Nach der Installation der Pakete libchipcard und libchipcard-tools stehen unter KDE auch grafische Programme zum lesen der Karten zur Verfügung.
Mit "hbcicard dump -p {PIN}" können nun viele Daten angesehen werden. Sollte die Pin nur 4-stellig sein, so sollten Sie dieses nun auf 5 Stellen ändern. Da Moneyplex nur mind. 5 Stellen akzeptiert. Dieses können Sie entweder am Terminal der Bank oder an Rechner mit "hbcicard chgpin -p {PIN} -P {neue PIN}".
Damit Moneyplex auch mit diesem Kartentreiber zusammenarbeitet, muss der Treiber nochmals compiliert werden mit "./configure -enable-win32-com && make && make install". Nun noch die Pakete openhbci und Moneyplex installieren und das wars fürs erste. Mit dieser Compilerung können Sie mit hbcicard nicht mehr auf die Karte zugreifen, nur noch mit Moneyplex. D.h. auch die Programme zum Auslesen der Karte von der Krankenkasse (kmedicalcard) lassen sich nicht mehr benutzen. Der Kartentreiber für Moneyplex steht nun unter /usr/local/towitoko/lib/libtowitoko.so zur Verfügung.
In der Firewall muss noch der HBCI-Service, Port 3000, freigegeben werden.
FW_ALLOW_INCOMING_HIGHPORTS_TCP -> "HBCI" hinzufügen. FW_ALLOW_INCOMING_HIGHPORTS_UDP -> "HBCI" hinzufügen.
Die Parameter für das Programm stehen in der Datei ~/moneyplex/start. Falls Sie das Verzeichnis einmal verlegen sollten, so müssen Sie den Parameter APPPATH in der Datei moneyplex/start anpassen. [Anfang]
Creative Labs USB-Webcam "Webcam 5" installieren
Um zu erfahren ob die eigene Webcam von dem Treiber "pwc" unterstütz wird, muss leider erste das Paket pwc-9.0.2.tar.gz herunter geladen und entpackt werden. Dann befindet sich eine Anleitung unter .../pwc-9.0.2/site/index.html. Das liegt unter anderem daran, das ab der Version SuSE 9.1 der Treiber nicht mehr standardmäßig im Kernel vorhanden ist. Dieses soll aber in der nächsten Kernelversion rückgängig gemacht werden, so das der Treiber dann wieder Standardmäßig vorhanden ist.
Aber das nützt heute noch nichts. Zuerst muss ermittelt werden, um welche Webcam es sich handelt. Dazu wurde das Device ausgelesen mit dem Befehl "grep ^P /proc/bus/usb/devices". Als Ausgabe wurde geliefert "-> P: Vendor=041e ProcID=400c Rev=0.02. Damit war sichergestellt, dass das Modul PWC diese Webcam auch unterstützt. Eine Liste der unterstützten Webcams siehe unter .../pwc-9.0.2/site/index.html.
Die Pakete pwc-9.0.2.tar.gz und pwcx-9.0.tar.gz wurden von http://www.smcc.demon.nl/webcam herunter geladen. Nun müssen noch einige Programme gcc, make, ncurses, ncurses-devel, qt3-devel, libpng-devel und die kernel-source über YaST installiert werden. Dabei wird ncurses angemeckert, so das dieses Paket zuerst downgegradet werden muss. Bei dem anschließenden Online-Update wird es dann automatisch upgedatet.
Um den Treiber zu installieren, muss der Kernel neu übersetzt werden, aber Dank einer deutschen Anleitung http://www.thjahns.de/linux/download/webcam.pdf stellt dieses kein großes Problem dar. Hier sind alle notwendigen Schritte aufgezeigt.
Als root in einem Terminal anmelden
Verzeichnis /tmp/webcam erstellen
pwc-9.0.2.tar.gz entpacken in /tmp/webcam
pwcx-9.0.tar.gz entpacken in /tmp/webcam
cd /usr/src/linux
zcat /proc/config.gz > .config
make oldconfig
patch -p1 -s < /tmp/webcam/pwcx-9.0/patch-2.6.4
cp /tmp/webcam/pwcx-9.0/x86/libpwcx.a drivers/usb/media
cp /tmp/webcam/pwcx-9.0/pwcx/*.[ch] drivers/usb/media
cp /tmp/webcam/pwc-9.0.2/2.6/*.[ch] drivers/usb/media
make menuconfig
Code maturity level optios
"Select only drivers expected to compile cleanly" ausschalten mit der Leertaste
Exit
Device Drivers
USB Support
"USB Philips Cameras" als Modul mit der Taste M aktivieren
"PWCX decompressor module" als Modul mit der Taste M aktivieren
Exit
Exit
Exit
Do yo wish to save your new kernel configuration? (yes)
make modules moduls_install
Nun ist die Zeit gekommen einen Kaffee trinken zu gehen. Die Compilierung dauert auf einem 2GHz-Rechner ca. 30 Minuten. Auf einem 700MHz-Rechner ca. 100 Minuten. Wenn die Compilierung abgeschlossen ist, wurde der Rechner einmal neu gestartet, um zu sehen ob alles noch funktioniert. Mit dem Befehl "lsmod | grep pwc" muss nun das Modul pwc angezeigt werden.
Nach dem Kompilieren werden auf der Error-Konsole (Strg+ALT+F10) einige Module angezeigt mit der Meldung "unsupported module, tainting kernel". Dieses soll wohl bedeuten, das SuSE nun den Support einstellt, da der Kernel geändert worden ist. Nach einem Kernelupdate kann es sein das alles noch einmal wiederholt werden muss. Da diese Schritte aber verscriptet werden können, stellt dieses kein Problem dar. Nun steht Ihnen als Benutzer das Programm Gnomemeeting mit der Webcam unterstützung zur Verfügung.
Um Ihnen die Installation zu erleichtern, wurden diese Schritte in einem Script abgelegt. Dieses Script muss in dem selben Verzeichnis liegen wie die PWC Downloads.
pwc Installationsroutine |
#! /bin/sh
# Installationsroutine für Pwc-Treiber für SuSE 9.1
# Guenther Zander, July 2005
# check Packages
PACK="gcc make ncurses ncurses-devel qt3-devel libpng-devel kernel-source"
CODE=0
echo
for i in $PACK
do
rpm -q $i
# Errorcode 0 -> OK, !0 -> failed
if ! [ $? -eq 0 ]; then
CODE=1
fi
done
if [ $CODE -eq 1 ]; then
echo
echo "Installieren Sie zuerst die fehlenden Pakete!"
exit 1
fi
# check root-user
RUSER=`whoami`
RGROUP=`groups $RUSER | awk '{if ($1 == $RUSER); print $3}'`
if ! [ "$RGROUP" = "root" ]; then
echo
echo "Starten Sie das Script als root!"
exit 1
fi
echo
# aktuelles Verzeichnis ermitteln
SDIR=`pwd`
# Entpacken der Pakete
cd /tmp
mkdir webcam
cd webcam
tar -xzf $SDIR/pwc-9.0.2.tar.gz
tar -xzf $SDIR/pwcx-9.0.tar.gz
# Vorbereitungen
cd /usr/src/linux
zcat /proc/config.gz > .config
make oldconfig
patch -p1 -s < /tmp/webcam/pwcx-9.0/patch-2.6.4
cp /tmp/webcam/pwcx-9.0/x86/libpwcx.a drivers/usb/media
cp /tmp/webcam/pwcx-9.0/pwcx/*.[ch] drivers/usb/media
cp /tmp/webcam/pwc-9.0.2/2.6/*.[ch] drivers/usb/media
# Config manuell einstellen
make menuconfig
echo
echo "Bitte geben Sie ein > cd /usr/src/linux <"
echo "Bitte geben Sie ein > make modules modules_install <"
echo
|
Falls, aus welchem Grund auch immer, die beschriebenen Schritte wiederholt werden müssen, wurde sich zur Vorbereitung wie folgt beholfen:
Mittels YaST die Kernel-Sourcen deinstallieren Die Verzeichnisse /tmp/webcam und /usr/src/linux/include/config/usb/pwc* löschen Die Dateien /usr/src/linux/drivers/usb/media/.pwc* und pwc* sowie libpwcx.a löschen Die Dateien /usr/src/linux/.tmp_versions/pwc*.mod löschen Mittels YaST die Kernel-Sourcen installieren Mittel YaST ein Onlineupdate durchführen
Für die SuSE-Versionen 9.2 und 9.3 gibt es eine andere Möglichkeit diese Treiber zu installieren. Unter der Internetseite http://grubald.free.fr befinden sich fertige RPM-Pakete die Sie herunter laden können. Dazu müssen Sie lediglich wissen, welche Kernelversion Sie installiert haben (rpm -q kernel-default). Die Installation erfolgt dann mittels dem Befehl "rpm -i {Datei}.rpm".
Wenn unter SuSE 9.3 bei Gnomemeeting die Fehlermeldung "Fehler bei Gconf-Schlüssel" erscheint, führen Sie ein Onlineupdate durch und installieren den WebCam-Treiber. Nach einem Reboot des Rechners sollten Sie Gnomemeeting normal einrichten können. [Anfang]
Um unter SuSE 9.3 mit dem Psion arbeiten zu können, müssen die Pakete plptools-kde, plptools, klipsi und kpsion installiert werden. Die plptools bewirken, das mit dem Konqueror die Adresse "psion:/" eingegeben werden kann und somit der Psion, wie ein normales Laufwerk, behandelt werden kann. Das Paket "kpsion" stellt alle notwendigen Datensicherungsprogramme zur Verfügung. Und das Paket "klipsi" stellt eine remote Zwischenablage dar. Um den Psion unter dem Paket "kpsion" als Benutzer ansprechen zu können, muss die Erstinstallation des Psion unter dem Benutzer Root ausgeführt werden, da dann auch alle Zugriffsrechte gesetzt werden. [Anfang]
Wo Sie die Daten der einzelnen Komponenten für Kontact finden können, sind in dieser Tabelle aufgeführt
| KMail | (9.1)~/Mail/* (9.3)~/.kde/share/apps/kmail/mail |
| ~/.kde/share/apps/kmail/* | |
| ~/.kde/share/config/kmailrc | |
| Adressbuch | ~/.kde/share/config/kaddressbookrc |
| ~/.kde/share/apps/kabc/* | |
| ~/.kde/share/config/kresources/contact/* | |
| Kalender und Aufgaben | ~/.kde/share/config/korganizerrc |
| ~/.kde/share/config/kresources/calender/* | |
| ~/.kde/share/apps/korganizer/* | |
| Notizen | ~/.kde/share/apps/knotes/* |
| Der Autor |
|
Zu Linux kam der Autor mit der SuSE 6.1 Distribution. Nach einem Studium der Elektrotechnik und den ersten Jahren als Programmierer, ist er heute als Systemadministrator und in der Projektierung tätig. Zu erreichen ist über die Linux User Group / Barmbeker Linux Stammtisch in Hamburg. |
Scripte