Stadtwiki:Portal: Unterschied zwischen den Versionen

Aus dem Stadtwiki Karlsruhe:

K (Stadtwiki:TourBusStop - englische Variante verlinkt)
Zeile 1: Zeile 1:
  +
Debian GNU/Linux Anwenderhandbuch
{| width="100%"
 
  +
Frank Ronneburg
|style="vertical-align:top" |{{Navigationsleiste_Stadtwiki-Einstieg}}
 
  +
fr@openoffice.de
<div style="background:#698fb3;text-align:left;color: #fff;font-weight:bold;font-size:125%;margin: 10px 5px 0px 0; padding: 4px 4px 4px 14px;">Das Stadtwiki</div>
 
  +
Debian GNU/Linux Anwenderhandbuch
<div style="margin: 0px 5px 5px 0; padding: 0em 1em 1em 1em; border: 1px dotted #698fb3; border-top: 1px solid #698fb3; background-color:#f8fafc;">
 
  +
von Frank Ronneburg
* [[Stadtwiki|Lexikonartikel "Stadtwiki"]]
 
  +
3.0.0-11 - 21.02.2003
* [[Stadtwiki:Ziele|Ziele des Stadtwikis]]
 
  +
Veröffentlicht 2000, 2001, 2002, 2003
* [[Stadtwiki:Übersicht|Übersicht über thematische Inhalte]]
 
  +
Copyright © 1999, 2000, 2001, 2002, 2003 von Frank Ronneburg, Berlin, FRG
* [[Stadtwiki:Unterstützung|Das Stadtwiki unterstützen]]
 
  +
Versionsgeschichte
* [[Stadtwiki:Anmeldung|Informationen rund um die Anmeldung]]
 
  +
Version 3.0.0-11 21. Februar 2003 Geändert durch: fr
* [[Stadtwiki:Administratoren|Administratoren]]
 
  +
Version für Debian GNU/Linux 3.0 r0 "woody" - Bugfix Release
* [[Stadtwiki:Impressum|Impressum]]
 
  +
Inhaltsverzeichnis
</div>
 
  +
Über dieses Buch................................................................................................................................................... i
<div style="background:#698fb3;text-align:left;color: #fff;font-weight:bold;font-size:125%;margin: 10px 5px 0px 0; padding: 4px 4px 4px 14px;">Richtlinien und Konventionen</div>
 
  +
Download / Lokale Kopie....................................................................................................................................ii
<div style="margin: 0px 5px 5px 0; padding: 0em 1em 1em 1em; border: 1px dotted #698fb3; border-top: 1px solid #698fb3; background-color:#f8fafc;">
 
  +
Copyright und Lizenz.........................................................................................................................................iii
* [[Stadtwiki:Lizenzbestimmungen|Lizenzbestimmungen]]
 
  +
Unterstützung...................................................................................................................................................... iv
* Richtlinien
 
  +
1. Linux, Debian, Freie Software?...................................................................................................................... 1
** [[Stadtwiki:Richtlinien|Richtlinien]], [[Stadtwiki:Neutraler Standpunkt|Neutraler Standpunkt]], [[Stadtwiki:Wikiquette|Wikiquette - die Umgangsformen im Stadtwiki]], [[Stadtwiki:Urheberrechte beachten|Urheberrecht]], [[Stadtwiki:Löschregeln|Löschregeln]]
 
  +
1.1. Was ist GNU/Linux?............................................................................................................................ 1
* Konventionen
 
  +
1.1.1. Das GNU Projekt .................................................................................................................... 1
** [[Stadtwiki:Editierhilfe|Editierhilfen und -regeln]], [[Stadtwiki:Guter Artikel|guter Artikel]], [[Stadtwiki:Person|Personen-Artikel]], [[Stadtwiki:Selbstdarsteller|Selbstdarsteller]]
 
  +
1.1.2. Free Software Foundation ....................................................................................................... 3
</div>
 
  +
1.1.3. Geschichte des Linux Kernels................................................................................................. 3
<div style="background:#698fb3;text-align:left;color: #fff;font-weight:bold;font-size:125%;margin: 10px 5px 0px 0; padding: 4px 4px 4px 14px;">FAQ</div>
 
  +
1.1.4. Linux oder Minix?................................................................................................................... 6
<div style="margin: 0px 5px 5px 0; padding: 0em 1em 1em 1em; border: 1px dotted #698fb3; border-top: 1px solid #698fb3; background-color:#f8fafc;">
 
  +
1.1.5. Linux ®.................................................................................................................................. 8
Häufige Fragen und ihre Antworten (FAQ):
 
  +
1.1.6. Und dieser Pinguin...? ............................................................................................................. 8
* [[Stadtwiki:Allgemeine FAQ|Allgemeine Fragen]]
 
  +
1.2. Was ist Debian GNU?......................................................................................................................... 10
* [[Stadtwiki:Qualität|Qualität der Stadtwiki-Inhalte]]
 
  +
1.2.1. Der Name „Debian“ .............................................................................................................. 11
* [[Stadtwiki:Technische FAQ|Technische FAQ]]
 
  +
1.2.2. Die Geschichte von Debian................................................................................................... 11
* [[Stadtwiki:FAQ Rechtliches|Rechtliche FAQ]]
 
  +
1.2.3. Organisation .......................................................................................................................... 17
* [[Stadtwiki:Sandkasten]] zum Formatierungen testen
 
  +
1.2.4. Codenamen........................................................................................................................... 18
* [[Stadtwiki:Helferlein|MediaWiki-Helferlein]] (Tools zur Software)
 
  +
1.2.5. Debian für alle!...................................................................................................................... 18
* [[Stadtwiki:Tipps und Tricks]] (mit Vorlagen)
 
  +
1.2.6. Vorteile von Debian............................................................................................................... 20
</div>
 
  +
1.2.7. Umfang der Distribution ....................................................................................................... 24
<div style="background:#698fb3;text-align:left;color: #fff;font-weight:bold;font-size:125%;margin: 10px 5px 0px 0; padding: 4px 4px 4px 14px;">Aufgaben und Arbeitshilfen</div>
 
  +
1.2.8. Auf Debian GNU basierende Distributionen ........................................................................ 24
<div style="margin: 0px 5px 5px 0; padding: 0em 1em 1em 1em; border: 1px dotted #698fb3; border-top: 1px solid #698fb3; background-color:#f8fafc;">
 
  +
1.2.9. Das Debian GNU Logo......................................................................................................... 25
 
  +
1.3. Debian GNU/Hurd............................................................................................................................. 27
;Aufgaben :
 
  +
1.4. Freie Software / Open Source ............................................................................................................. 28
* [[Stadtwiki Diskussion:Aufgabenliste|Stadtwiki:Aufgabenliste]] - Wunschzettel für Stadtwiki-Dokumentation/Weiterentwicklung
 
  +
1.4.1. Open Source Initiative (OSI)................................................................................................. 29
* [[Spezial:Wantedpages|Fehlende Artikel im Stadtwiki]]
 
  +
1.4.1.1. Geschichte der OSI.................................................................................................. 29
* [[Stadtwiki:Gewünschte Bilder|Gewünschte Bilder]], siehe auch [[Stadtwiki:Bild|Bilder]], [[Stadtwiki:Fotografen|Fotografen]]
 
  +
1.4.1.2. Die Definition quelloffener Software ("Open Source Software") ........................... 30
* [[Stadtwiki:gewünschter Personenartikel|gewünschte Personen]], siehe auch [[Stadtwiki:Person]]
 
  +
1.5. SPI - Software in the Public Interest................................................................................................... 31
* [[Spezial:Maintenance| Wartung]] des Stadtwiki
 
  +
1.6. Wie und wo bekomme ich Debian GNU/Linux?................................................................................ 31
 
  +
1.6.1. Internet ................................................................................................................................. 31
; Arbeitshilfen :
 
  +
1.6.2. CD-ROMs ............................................................................................................................. 32
* [[Stadtwiki:Hauptseite]] (hier können die Boxen der [[Hauptseite]] bearbeitet werden)
 
  +
1.6.3. Usergroups & Installationspartys .......................................................................................... 32
* [[Stadtwiki:Kategorien]]
 
  +
1.6.4. Bücher zu Debian GNU/Linux.............................................................................................. 32
* [[Stadtwiki:Stadtplan]]
 
  +
1.7. Informationen im Netz........................................................................................................................ 34
* [[Stadtwiki:Vorlagen|Vorlagen für Artikel]]
 
  +
1.7.1. Mailinglisten ......................................................................................................................... 34
* [[Stadtwiki:Index]] - Das Inhaltsverzeichnis für die Stadtwiki:Artikel
 
  +
1.7.2. Webseiten .............................................................................................................................. 34
 
  +
1.7.2.1. debianHELP............................................................................................................. 34
; Administratives :
 
  +
1.7.2.2. debianPlanet............................................................................................................. 34
* [[Stadtwiki:Löschkandidaten|Artikel zum Löschen]]
 
  +
1.7.2.3. apt-get.org - inoffizielle Debian Pakete ................................................................... 35
*[[Stadtwiki:Artikel zum gleichen Thema|Artikel zum gleichen Thema]]
 
  +
1.7.3. IRC ....................................................................................................................................... 35
</div>
 
  +
1.7.4. Kommerzieller Support ......................................................................................................... 36
 
  +
2. Installation von Debian GNU/Linux............................................................................................................. 37
 
  +
2.1. Schnellinstallation in 10 Schritten ...................................................................................................... 37
<!--
 
  +
2.2. Update von Debian GNU/Linux 2.1 (slink) auf 2.2......................................................................... 37
 
  +
2.3. Update von Debian GNU/Linux 2.2 (potato) auf 3.0 ...................................................................... 38
(rechte Spalte)
 
  +
2.4. Aktualisieren von Debian GNU/Linux 2.1 ......................................................................................... 39
 
  +
2.5. Aktualisieren von Debian GNU/Linux 2.2 ......................................................................................... 39
-->
 
  +
2.6. Installation von Debian GNU/Linux 3.0............................................................................................. 40
| width="40%" style="vertical-align:top" |
 
  +
2.6.1. Veränderungen im Installations System ................................................................................ 40
 
  +
2.6.2. Neues in der Distribution ...................................................................................................... 41
<div style="background:#698fb3;text-align:left;color: #fff;font-weight:bold;font-size:125%;margin: 10px 5px 0px 0; padding: 4px 4px 4px 14px;">Stadtwiki Aktuell</div>
 
  +
2.6.3. Ein erster Start....................................................................................................................... 42
<div style="margin: 0px 5px 5px 0; padding: 0em 1em 1em 1em; border: 1px dotted #698fb3; border-top: 1px solid #698fb3; background-color:#f8fafc;">
 
  +
2.6.3.1. Bootmedium ............................................................................................................ 42
{{Hauptseite_Stadtwiki_aktuell}}<p style="font-size:70%; text-align:right;">[{{SERVER}}{{localurl:Vorlage:Hauptseite_Stadtwiki_aktuell|action=edit}} bearbeiten]</p>
 
  +
2.6.4. Das Debian-Installationsprogramm....................................................................................... 44
</div>
 
  +
2.6.4.1. Installation des Basissystems .................................................................................. 57
<div style="background:#698fb3;text-align:left;color: #fff;font-weight:bold;font-size:125%;margin: 10px 5px 0px 0; padding: 4px 4px 4px 14px;">Kommunikation</div>
 
  +
iii
<div style="margin: 0px 5px 5px 0; padding: 0em 1em 1em 1em; border: 1px dotted #698fb3; border-top: 1px solid #698fb3; background-color:#f8fafc;">
 
  +
2.6.5. Bootloader ............................................................................................................................. 69
* [[Stadtwiki:Treffen|Treffen]]
 
  +
2.6.6. Neustart ................................................................................................................................ 71
* [[Stadtwiki:Forum|Stadtwiki-Forum]]
 
  +
2.6.7. Fertigstellen der Installation.................................................................................................. 72
* [[Stadtwiki:Gästebuch|Gästebuch]]
 
  +
2.6.8. Paket Vorschläge und Empfehlungen.................................................................................... 87
</div>
 
  +
2.7. Installation von Debian/GNU Hurd .................................................................................................... 88
 
  +
2.7.1. Die Installations-CD.............................................................................................................. 88
<div style="background:#698fb3;text-align:left;color: #fff;font-weight:bold;font-size:125%;margin: 10px 5px 0px 0; padding: 4px 4px 4px 14px;">Öffentlichkeitsarbeit</div>
 
  +
2.7.2. Vorbereitungen ...................................................................................................................... 89
<div style="margin: 0px 5px 5px 0; padding: 0em 1em 1em 1em; border: 1px dotted #698fb3; border-top: 1px solid #698fb3; background-color:#f8fafc;">
 
  +
2.7.3. Installation unter Linux ......................................................................................................... 89
* [[Stadtwiki:Presse|Presse]] (mit Pressemitteilungen)
 
  +
2.7.4. Abschluß der Installation ...................................................................................................... 91
* [[Stadtwiki:Pressespiegel|Pressespiegel]]
 
  +
3. Betrieb............................................................................................................................................................. 93
* [[Stadtwiki:Logo]] <!-- Doppelpunkt statt Bindestrich als Markenzeichen?! -->
 
  +
3.1. Unix-Grundlagen ............................................................................................................................... 93
* [[Stadtwiki:Button|Verlinken auf das Stadtwiki (mit und ohne Button)]]
 
  +
3.2. Allgemeines zum neuen System ......................................................................................................... 93
* [[Stadtwiki:T-Shirt]] <!-- Doppelpunkt statt Bindestrich als Markenzeichen?! -->
 
  +
3.3. Ein Multiuser-, Multitasking-Betriebssystem..................................................................................... 93
* [[Stadtwiki:Offlinewerbung]] (Visitenkarten,...)
 
  +
3.4. Anmelden am System ......................................................................................................................... 93
* Danke an die [[Stadtwiki:Sponsoren|Sponsoren]]
 
  +
3.5. Anmelden als Superuser (root) ......................................................................................................... 95
</div>
 
  +
3.6. Benutzerverwaltung ............................................................................................................................ 95
 
  +
3.6.1. Benutzer hinzufügen ............................................................................................................. 96
<div style="background:#698fb3;text-align:left;color: #fff;font-weight:bold;font-size:125%;margin: 10px 5px 0px 0; padding: 4px 4px 4px 14px;">Geschichte</div>
 
  +
3.6.2. Benutzer löschen ................................................................................................................... 97
<div style="margin: 0px 5px 5px 0; padding: 0em 1em 1em 1em; border: 1px dotted #698fb3; border-top: 1px solid #698fb3; background-color:#f8fafc;">
 
  +
3.7. Virtuelle Konsolen .............................................................................................................................. 97
*[[Stadtwiki:Geschichte]] mit Informationen aus dem 1. Stadtwiki.
 
  +
3.8. System herunterfahren ........................................................................................................................ 98
*[[Stadtwiki:Meilensteine|Meilensteine]]
 
  +
3.9. Kommandozeile und Dokumentation ................................................................................................. 98
</div>
 
  +
3.10. Befehle wiederholen und ändern auf der Kommandozeile............................................................... 99
 
  +
3.10.1. Beschreibung der Kommandozeile...................................................................................... 99
<div style="background:#698fb3;text-align:left;color: #fff;font-weight:bold;font-size:125%;margin: 10px 5px 0px 0; padding: 4px 4px 4px 14px;">Vernetzung mit anderen Wikis</div>
 
  +
3.11. Dateien und Verzeichnisse .............................................................................................................. 100
<div style="margin: 0px 5px 5px 0; padding: 0em 1em 1em 1em; border: 1px dotted #698fb3; border-top: 1px solid #698fb3; background-color:#f8fafc;">
 
  +
3.12. Gruppen und Zugriffsrechte............................................................................................................ 102
* [[Stadtwiki:TourBusHaltestelle|TourBusHaltestelle]] ([[Stadtwiki:TourBusStop|auf Englisch]]): <small>Einstiegsseite für virtuelle Wiki-Touren</small>
 
  +
3.12.1. Gruppen............................................................................................................................ 102
* [[Stadtwiki:WikiNode|WikiNode]]: <small>Verweise auf andere Stadtwikis und Einstiegsseite von dort zurück</small>
 
  +
3.12.2. Zugriffsrechte .................................................................................................................... 103
</div>
 
  +
3.12.2.1. Einige Beispiele................................................................................................... 104
<div style="background:#698fb3;text-align:left;color: #fff;font-weight:bold;font-size:125%;margin: 10px 5px 0px 0; padding: 4px 4px 4px 14px;">Logbücher und Spezialseiten</div>
 
  +
3.13. Orientierung innerhalb von Debian ................................................................................................ 106
<div style="margin: 0px 5px 5px 0; padding: 0em 1em 1em 1em; border: 1px dotted #698fb3; border-top: 1px solid #698fb3; background-color:#f8fafc;">
 
  +
3.14. Arbeiten mit Dateien – Mini-Workshop ......................................................................................... 106
* Logbücher
 
  +
3.14.1. pwd – print working directory ........................................................................................... 106
** [[Stadtwiki:Datei-Logbuch|Dateilogbuch]], [[Stadtwiki:Lösch-Logbuch|Löschlogbuch]], [[Stadtwiki:Seitenschutz-Logbuch|Schutzlogbuch]], [[Stadtwiki:Geschützte Seiten|Geschützte Seiten]], [[Stadtwiki:Benutzerblockaden-Logbuch|Blockadelogbuch]]
 
  +
3.14.2. ls – list............................................................................................................................. 106
* Spezialseiten
 
  +
3.14.3. cd - change directory ........................................................................................................ 107
* [[Spezial:Ipblocklist|Blockierte IP-Adressen]], [[Spezial:Statistics|Statistik]], [[Spezial:Specialpages|weitere Spezialseiten]]
 
  +
3.14.4. mkdir - make directory..................................................................................................... 107
</div>
 
  +
3.14.5. cp - copy ........................................................................................................................... 107
 
  +
3.14.6. more - Anzeigen von Dateien ........................................................................................... 107
<div style="background:#698fb3;text-align:left;color: #fff;font-weight:bold;font-size:125%;margin: 10px 5px 0px 0; padding: 4px 4px 4px 14px;">Technische Informationen</div>
 
  +
3.14.7. mv - move .......................................................................................................................... 107
<div style="margin: 0px 5px 5px 0; padding: 0em 1em 1em 1em; border: 1px dotted #698fb3; border-top: 1px solid #698fb3; background-color:#f8fafc;">
 
  +
3.14.8. rm - remove ....................................................................................................................... 108
* [[Stadtwiki:Software|MediaWiki-Software]]
 
  +
3.14.9. rmdir - remove directory ................................................................................................. 108
* [[Stadtwiki:Server|Server]]
 
  +
3.14.10. Versteckte Dateien (.datei) .......................................................................................... 108
* [[Stadtwiki:Domains|Domains]]
 
  +
3.14.11. find & locate - Finden von Dateien .......................................................................... 109
* [[Stadtwiki:CSS]] (im Aufbau)
 
  +
3.14.12. gzip - gepackte Dateien ................................................................................................. 110
</div>
 
  +
3.14.13. split - geteilte Dateien ................................................................................................. 111
 
  +
3.14.14. tar - archivieren von Dateien......................................................................................... 112
<div style="background:#f19000;text-align:left;color: #fff;font-weight:bold;font-size:125%;margin: 10px 5px 0px 0; padding: 4px 4px 4px 14px;">Verein</div>
 
  +
3.14.14.1. tar - packen von Dateien.................................................................................. 114
<div style="margin: 0px 5px 5px 0; padding: 0em 1em 1em 1em; border: 1px dotted #698fb3; border-top: 1px solid #f19000; background-color:#fffbf5;">
 
  +
3.14.14.2. tar - Entpacken von Dateien ............................................................................ 114
Es gibt seit 12. Oktober [[2005]] einen Verein zur Förderung der Stadtwikis: [[Stadtwiki – Gesellschaft zur Förderung regionalen Freien Wissens]].
 
  +
3.14.14.3. tar - Komprimieren der Archive ...................................................................... 115
*[[Verein:Aufnahmeantrag|Mitglied werden]]
 
  +
3.14.14.4. tar - Benutzung von Bandlaufwerken / Streamer ............................................ 115
</div>
 
  +
3.14.15. file - Dateitypen ........................................................................................................... 115
|}
 
  +
3.15. Einige bash-Funktionen................................................................................................................. 116
 
  +
3.15.1. help ................................................................................................................................... 116
{{Portale}}
 
  +
3.16. Pipes............................................................................................................................................... 117
 
  +
3.17. ps und /proc ................................................................................................................................ 118
__NOTOC__
 
  +
3.18. Links .............................................................................................................................................. 119
__NOEDITSECTION__
 
  +
3.19. vi ................................................................................................................................................... 120
[[Kategorie:Stadtwiki| Stadtwiki:Portal]]
 
  +
3.19.1. vi für Fortgeschrittene ...................................................................................................... 120
  +
3.19.1.1. Programstart......................................................................................................... 120
  +
iv
  +
3.19.1.2. Einstellungen ....................................................................................................... 121
  +
3.19.1.3. Dateioperationen.................................................................................................. 121
  +
3.19.1.4. Cursorbewegungen .............................................................................................. 121
  +
3.19.1.5. Löschen................................................................................................................ 122
  +
3.19.1.6. Einfügen und ändern............................................................................................ 123
  +
3.19.1.7. Kopieren und einfügen ........................................................................................ 123
  +
3.19.1.8. Suchen und ersetzen ............................................................................................ 123
  +
3.19.1.9. Verschiedenes ...................................................................................................... 123
  +
3.20. Dateisysteme .................................................................................................................................. 124
  +
3.20.1. cfdisk und mount - Einbinden eines Dateisystems........................................................ 124
  +
3.20.2. /etc/fstab - Dateisysteme automatisch einbinden ....................................................... 127
  +
3.20.2.1. /etc/fstab - im Detail ..................................................................................... 127
  +
3.21. Internationalisierung und Lokalisierung ......................................................................................... 128
  +
4. Installation weiterer Pakete ......................................................................................................................... 132
  +
4.1. Organisation der Pakete .................................................................................................................... 132
  +
4.1.1. Distribution......................................................................................................................... 132
  +
4.1.2. Architektur .......................................................................................................................... 133
  +
4.1.3. Gruppen.............................................................................................................................. 134
  +
4.1.4. Das Debian-Paketformat - .deb ......................................................................................... 135
  +
4.2. dselect .......................................................................................................................................... 135
  +
4.2.1. Access............................................................................................................................... 136
  +
4.2.2. Update............................................................................................................................... 137
  +
4.2.3. Select............................................................................................................................... 137
  +
4.2.4. Install............................................................................................................................. 138
  +
4.2.5. Config............................................................................................................................... 138
  +
4.2.6. Remove............................................................................................................................... 138
  +
4.2.7. Quit ................................................................................................................................... 138
  +
4.2.8. Beispiel: boot-floppies.................................................................................................. 138
  +
4.3. Apt.................................................................................................................................................... 140
  +
4.3.1. Apt konfigurieren ................................................................................................................ 140
  +
4.3.2. apt-setup ......................................................................................................................... 142
  +
4.3.3. apt-cdrom ......................................................................................................................... 143
  +
4.3.4. apt-get............................................................................................................................. 143
  +
4.3.4.1. Status-Report ......................................................................................................... 143
  +
4.3.4.2. Status-Anzeige....................................................................................................... 144
  +
4.3.4.3. Optionen und Kommandos .................................................................................... 145
  +
4.3.5. apt - Offline nutzen ............................................................................................................ 149
  +
4.3.5.1. apt, auf beiden Rechnern...................................................................................... 149
  +
4.3.5.2. Die Konfigurationsdatei......................................................................................... 150
  +
4.3.5.3. Kopieren der Dateien mit wget............................................................................. 150
  +
4.3.6. apt-cache ......................................................................................................................... 151
  +
4.3.7. apt-proxy ......................................................................................................................... 155
  +
4.3.8. apt-move........................................................................................................................... 155
  +
4.3.9. apt-ftparchive...................................................................................................................... 156
  +
4.3.10. apt-show-source .......................................................................................................... 157
  +
4.3.11. apt-show-versions ...................................................................................................... 157
  +
4.3.12. auto-apt.......................................................................................................................... 158
  +
4.3.13. apt-listchanges .......................................................................................................... 158
  +
4.3.14. apt-config.......................................................................................................................... 159
  +
4.3.15. console-apt ................................................................................................................... 159
  +
4.3.16. aptitude......................................................................................................................... 161
  +
4.3.17. gnome-apt ....................................................................................................................... 163
  +
4.4. APT Pinning .................................................................................................................................... 171
  +
4.5. dpkg................................................................................................................................................. 172
  +
4.5.1. -l........................................................................................................................................ 172
  +
4.5.2. -S........................................................................................................................................ 173
  +
4.5.3. --force-confnew ............................................................................................................ 173
  +
v
  +
4.5.4. dpkg-scanpackage .......................................................................................................... 173
  +
4.5.5. dpkg-scansources .......................................................................................................... 174
  +
4.6. netselect ...................................................................................................................................... 174
  +
4.7. apt-spy.............................................................................................................................................. 175
  +
4.8. deborphan ...................................................................................................................................... 175
  +
4.9. debfoster ...................................................................................................................................... 177
  +
4.10. task-Pakete .................................................................................................................................. 178
  +
4.10.1. tasksel........................................................................................................................... 179
  +
4.11. Weitere wichtige Pakete.................................................................................................................. 180
  +
4.11.1. base-config ................................................................................................................... 180
  +
4.11.2. modconf........................................................................................................................... 180
  +
4.11.3. shadowconfig................................................................................................................. 180
  +
4.11.4. tzconfig......................................................................................................................... 181
  +
4.11.5. dlocate........................................................................................................................... 182
  +
4.11.6. gpm ................................................................................................................................... 182
  +
4.11.7. mc...................................................................................................................................... 185
  +
4.11.8. gmc ................................................................................................................................... 186
  +
4.11.9. screen............................................................................................................................. 187
  +
4.11.10. ssh ................................................................................................................................. 187
  +
4.12. Euro Symbol .................................................................................................................................. 188
  +
4.13. Menü-System ................................................................................................................................. 188
  +
4.14. Paketmanagement für Umsteiger.................................................................................................... 190
  +
4.15. Installation von fremden Paketen.................................................................................................... 191
  +
4.16. alien............................................................................................................................................. 191
  +
5. X11 ................................................................................................................................................................ 193
  +
5.1. Installation von XFree86 3.3.x.......................................................................................................... 193
  +
5.1.1. XF86Setup ......................................................................................................................... 195
  +
5.1.2. xf86config ....................................................................................................................... 204
  +
5.1.3. anXious............................................................................................................................. 211
  +
5.2. Installation von XFree86 4.x............................................................................................................. 226
  +
5.2.1. dexconf ............................................................................................................................... 244
  +
5.2.2. xf86cfg ............................................................................................................................... 244
  +
5.2.2.1. Textmodus.............................................................................................................. 245
  +
5.2.2.2. Grafikmodus .......................................................................................................... 246
  +
5.3. Starten von X ................................................................................................................................... 247
  +
5.3.1. xdm ..................................................................................................................................... 248
  +
5.3.2. gdm - GNOME Display Manager................................................................................... 248
  +
5.3.2.1. Der GDM-Daemon................................................................................................ 248
  +
5.3.2.2. Der GDM Daemon ................................................................................................ 249
  +
5.3.2.3. Der „Greeter“......................................................................................................... 249
  +
5.3.2.3.1. Benutzername und Paßwort ..................................................................... 249
  +
5.3.2.3.2. Menü ........................................................................................................ 249
  +
5.3.2.3.3. Der „Face Browser“ ................................................................................. 250
  +
5.3.2.3.4. Logo ......................................................................................................... 250
  +
5.3.2.4. Konfiguration......................................................................................................... 250
  +
5.3.2.4.1. Die Script-Verzeichnisse.......................................................................... 250
  +
5.3.2.4.2. Konfigurationsdatei - gdm.conf ............................................................. 251
  +
5.3.2.4.3. Daemon-Konfiguration ............................................................................ 251
  +
5.3.2.4.4. Sicherheitsoptionen.................................................................................. 254
  +
5.3.2.4.5. XDCMP Support...................................................................................... 255
  +
5.3.2.4.6. Optionen zur Benutzeroberfläche ............................................................ 256
  +
5.3.2.4.7. Greeter-Konfiguration .............................................................................. 256
  +
5.3.2.4.8. XDCMP-Chooser-Optionen .................................................................... 258
  +
5.3.2.4.9. Konfiguration des lokalen X-Servers ....................................................... 259
  +
5.3.2.5. GDM in deutsch ....................................................................................................... 259
  +
5.3.3. login.app ......................................................................................................................... 260
  +
5.4. X11 Schriften ................................................................................................................................... 260
  +
vi
  +
5.4.1. Allgemeines zu Schriften .................................................................................................... 261
  +
5.4.2. xfs - X11 Font-Server ........................................................................................................ 262
  +
5.4.3. xfstt - X11 True Type Font-Server................................................................................... 263
  +
5.4.3.1. Microsoft Fonts...................................................................................................... 264
  +
5.5. Windowmanager ............................................................................................................................... 265
  +
5.5.1. Fvwm.................................................................................................................................. 265
  +
5.5.2. Windowmaker ..................................................................................................................... 266
  +
5.5.3. Enlightenment ..................................................................................................................... 266
  +
6. GNOME........................................................................................................................................................ 268
  +
6.1. GNOME 1.4..................................................................................................................................... 268
  +
6.1.1. Windowmanager - Sawfish.................................................................................................. 269
  +
6.1.2. Desktop............................................................................................................................... 270
  +
6.1.2.1. Panel ...................................................................................................................... 271
  +
6.1.3. Nautilus ............................................................................................................................... 271
  +
6.2. GNOME 2.0..................................................................................................................................... 274
  +
6.3. Links ................................................................................................................................................ 279
  +
7. KDE .............................................................................................................................................................. 280
  +
7.1. KDE und Debian - die unendliche Geschichte... .............................................................................. 280
  +
7.2. KDE 2.2 ........................................................................................................................................... 280
  +
7.3. KDE 3.0.x ........................................................................................................................................ 286
  +
8. Internet ......................................................................................................................................................... 294
  +
8.1. Zugang zum Internet ......................................................................................................................... 294
  +
8.1.1. Modem ............................................................................................................................... 294
  +
8.1.1.1. Weitere Konfiguration............................................................................................ 299
  +
8.1.2. ISDN................................................................................................................................... 299
  +
8.1.2.1. Kanalbündelung..................................................................................................... 303
  +
8.1.3. DSL .................................................................................................................................... 304
  +
8.1.3.1. pppoeconf .............................................................................................................. 304
  +
8.1.3.2. pppstatus ................................................................................................................ 313
  +
8.2. Webbrowser ..................................................................................................................................... 314
  +
8.2.1. Netscape Communicator ..................................................................................................... 314
  +
8.2.1.1. Scrollmaus ............................................................................................................. 315
  +
8.2.1.2. Probleme beim Druck............................................................................................ 315
  +
8.2.1.3. Schaltflächen entfernen.......................................................................................... 316
  +
8.2.1.4. Schaltflächen hinzufügen....................................................................................... 316
  +
8.2.2. Mozilla ............................................................................................................................... 316
  +
8.2.3. Galeon ................................................................................................................................ 318
  +
8.2.3.1. Installation ............................................................................................................. 319
  +
8.2.3.2. Startzeit.................................................................................................................. 322
  +
8.2.3.3. Autovervollständigung .......................................................................................... 322
  +
8.2.3.4. Zoom...................................................................................................................... 323
  +
8.2.3.5. Reiter ..................................................................................................................... 323
  +
8.2.3.6. Lesezeichen ........................................................................................................... 323
  +
8.2.3.7. Intelligente Lesezeichen ........................................................................................ 323
  +
8.2.3.8. Chronik (History) .................................................................................................. 323
  +
8.2.3.9. Cookie und Image Manager .................................................................................. 323
  +
8.2.3.10. SSL, JAVA, Flash................................................................................................. 324
  +
8.2.4. lynx..................................................................................................................................... 324
  +
8.2.5. Mehrsprachige Webseiten ................................................................................................... 325
  +
8.3. E-Mail .............................................................................................................................................. 325
  +
8.3.1. mutt .................................................................................................................................... 329
  +
8.3.1.1. mutt und GnuPG.................................................................................................... 330
  +
8.3.1.2. Empfängerabhängige Signaturen........................................................................... 331
  +
8.3.2. fetchmail............................................................................................................................. 331
  +
8.3.2.1. Konfiguration......................................................................................................... 333
  +
8.3.3. Netscape Mail...................................................................................................................... 336
  +
vii
  +
8.3.4. Evolution ............................................................................................................................. 338
  +
8.4. Dateitransfer..................................................................................................................................... 349
  +
8.4.1. ftp ....................................................................................................................................... 349
  +
8.4.2. ncftp.................................................................................................................................... 351
  +
8.4.2.1. ncftp ....................................................................................................................... 351
  +
8.4.2.2. ncftpput / ncftpget.................................................................................................. 351
  +
8.4.2.3. ncftpls .................................................................................................................... 351
  +
8.4.3. gFTP................................................................................................................................... 351
  +
8.5. Eigene Homepage ............................................................................................................................. 352
  +
8.5.1. Bluefish ............................................................................................................................... 352
  +
8.5.2. Netscape Composer............................................................................................................. 354
  +
8.5.3. Screem................................................................................................................................ 354
  +
8.5.3.1. Editor ..................................................................................................................... 355
  +
8.5.3.2. Drag & Drop.......................................................................................................... 356
  +
8.5.3.3. Preview .................................................................................................................. 356
  +
8.5.3.4. External Browsers.................................................................................................. 356
  +
8.5.3.5. Dateibaum.............................................................................................................. 356
  +
8.5.3.6. „Tag“baum............................................................................................................. 356
  +
8.5.3.7. Upload Wizard....................................................................................................... 357
  +
8.5.3.8. Image Wizard......................................................................................................... 357
  +
8.5.3.9. Gallery Wizard....................................................................................................... 357
  +
8.6. Verschlüsselung................................................................................................................................ 357
  +
8.6.1. PGP .................................................................................................................................... 357
  +
8.6.2. GnuPG................................................................................................................................ 357
  +
8.6.2.1. GnuPG Schlüsselverwaltung ................................................................................. 360
  +
8.6.2.1.1. Austauschen von Schlüsseln .................................................................... 360
  +
8.6.2.1.2. Exportieren eines öffentlichen Schlüssels................................................ 360
  +
8.6.2.1.3. Importieren eines öffentlichen Schlüssels................................................ 361
  +
8.6.2.1.4. Bearbeiten eines Schlüssels ..................................................................... 361
  +
8.6.2.1.5. Schlüsselverteilung .................................................................................. 362
  +
8.6.2.2. GnuPG und mutt.................................................................................................... 363
  +
9. Drucken ........................................................................................................................................................ 364
  +
9.1. CUPS ............................................................................................................................................... 364
  +
9.1.1. Pakete ................................................................................................................................. 364
  +
9.1.1.1. Treiber.................................................................................................................... 365
  +
9.1.1.2. Samba Integration.................................................................................................. 365
  +
9.1.1.3. Tips ........................................................................................................................ 365
  +
9.1.2. Design................................................................................................................................. 366
  +
9.1.3. Scheduler............................................................................................................................ 366
  +
9.1.4. Konfigurationsdateien ......................................................................................................... 366
  +
9.1.5. Berkeley und System V Kommandos.................................................................................. 367
  +
9.1.6. Filter ................................................................................................................................... 367
  +
9.1.7. Administration.................................................................................................................... 367
  +
9.1.7.1. Kommandozeile..................................................................................................... 367
  +
9.1.7.1.1. Grundlagen............................................................................................... 367
  +
9.1.7.1.2. Drucker hinzufügen ................................................................................. 367
  +
9.1.7.1.3. Drucker verändern.................................................................................... 368
  +
9.1.7.1.4. Drucker löschen ....................................................................................... 370
  +
9.1.7.1.5. Standarddrucker festlegen........................................................................ 370
  +
9.1.7.1.6. Starten und stoppen von Druckern........................................................... 371
  +
9.1.7.2. Webbasiert ............................................................................................................. 371
  +
9.1.7.2.1. Administration ......................................................................................... 372
  +
9.1.7.2.2. Gruppen.................................................................................................... 372
  +
9.1.7.2.3. Dokumentation......................................................................................... 373
  +
9.1.7.2.4. Druckaufträge .......................................................................................... 373
  +
9.1.7.2.5. Drucker .................................................................................................... 374
  +
9.1.7.2.6. Software ................................................................................................... 378
  +
viii
  +
9.1.7.3. CUPS Konfigurationsdatei..................................................................................... 378
  +
9.1.7.3.1. Server Identität......................................................................................... 378
  +
9.1.7.3.2. Server Optionen ....................................................................................... 379
  +
9.1.7.3.3. Verschlüsselung........................................................................................ 379
  +
9.1.7.3.4. Filteroptionen........................................................................................... 380
  +
9.1.7.3.5. Netzwerkoptionen .................................................................................... 380
  +
9.1.7.3.6. Browsing .................................................................................................. 380
  +
9.1.7.3.7. Sicherheits Optionen................................................................................ 381
  +
9.1.7.3.8. Verzeichnisse............................................................................................ 381
  +
9.2. apsfilter............................................................................................................................................. 382
  +
9.2.1. Einstellen der Papiergröße................................................................................................... 393
  +
9.3. Drucken von True Type Fonts........................................................................................................... 393
  +
9.4. Netzwerkdrucker.............................................................................................................................. 394
  +
9.4.1. Linux – Linux...................................................................................................................... 394
  +
10. Grafik.......................................................................................................................................................... 396
  +
10.1. The Gimp ....................................................................................................................................... 396
  +
10.1.1. Kommandozeile................................................................................................................. 397
  +
10.1.1.1. Version (-v) ......................................................................................................... 397
  +
10.1.1.2. Batch Modus (-b)................................................................................................ 397
  +
10.1.1.3. No Interface (-n) ................................................................................................. 398
  +
10.1.1.4. No Data (--no-data)......................................................................................... 398
  +
10.1.1.5. Display (--display).......................................................................................... 398
  +
10.1.2. Menüs und Tastatur ........................................................................................................... 398
  +
10.1.2.1. Datei..................................................................................................................... 398
  +
10.1.3. Xtns (Extensions/Erweiterungen)-Menü........................................................................... 401
  +
10.1.4. Symbole im Hauptmenü.................................................................................................... 404
  +
10.1.5. Farbauswahl ...................................................................................................................... 405
  +
10.1.6. Pinsel, Muster, Farbverlauf ............................................................................................... 405
  +
10.1.7. Farbsysteme...................................................................................................................... 407
  +
10.1.8. Öffnen einer Datei ............................................................................................................. 407
  +
10.1.9. Speichern einer Datei ........................................................................................................ 407
  +
10.1.10. Ebenen............................................................................................................................ 408
  +
10.1.11. Grafiktypen..................................................................................................................... 408
  +
10.1.12. Undo............................................................................................................................... 409
  +
10.1.13. Fenster ............................................................................................................................. 409
  +
10.1.14. Konfiguration.................................................................................................................. 409
  +
10.1.14.1. Neues Bild ......................................................................................................... 409
  +
10.1.14.2. Anzeige.............................................................................................................. 410
  +
10.1.14.3. Oberfläche.......................................................................................................... 410
  +
10.1.14.4. Umgebung ......................................................................................................... 411
  +
10.1.14.5. Sitzung ............................................................................................................... 411
  +
10.1.14.6. Monitor .............................................................................................................. 411
  +
10.1.14.7. Directory Preferences ........................................................................................ 411
  +
10.1.15. Auswahlen...................................................................................................................... 412
  +
10.1.15.1. Gemeinsamkeiten .............................................................................................. 412
  +
10.1.15.2. Rechteckige Auswahl ........................................................................................ 413
  +
10.1.15.3. Elliptische Auswahl........................................................................................... 413
  +
10.1.15.4. Freihandauswahl................................................................................................ 413
  +
10.1.15.5. „Intelligente Schere“.......................................................................................... 414
  +
10.1.15.6. Bezier-Auswahl ................................................................................................. 414
  +
10.1.15.7. „Zauberstab“-Auswahl ...................................................................................... 415
  +
10.2. Scanner........................................................................................................................................... 415
  +
10.2.1. SANE einrichten ............................................................................................................... 416
  +
10.2.2. xscanimage....................................................................................................................... 417
  +
10.2.3. xsane................................................................................................................................. 419
  +
10.2.4. Scannen mit The Gimp...................................................................................................... 421
  +
10.3. Digitalkameras ............................................................................................................................... 422
  +
ix
  +
10.3.1. gPhoto ............................................................................................................................... 423
  +
10.3.1.1. Einstellungen ....................................................................................................... 423
  +
10.3.1.2. Benutzung............................................................................................................ 424
  +
10.3.1.3. Übertragung von Bildern/Thumbnails................................................................. 424
  +
10.3.1.4. Löschen von Bildern aus dem Kameraspeicher .................................................. 425
  +
10.3.1.5. Fotografieren........................................................................................................ 425
  +
10.3.1.6. Kamera konfigurieren .......................................................................................... 425
  +
10.3.1.7. Kamera-Informationen ........................................................................................ 425
  +
10.3.1.8. Bilder aus Verzeichnissen.................................................................................... 425
  +
10.3.1.9. Bearbeiten von Bildern........................................................................................ 425
  +
10.3.1.10. Automatische Nachbearbeitung von Bildern..................................................... 426
  +
10.3.1.11. Speichern von geöffneten Bildern ..................................................................... 426
  +
10.3.1.12. Drucken von Bildern.......................................................................................... 426
  +
10.3.1.13. Plugins ............................................................................................................... 427
  +
10.3.1.14. gPhoto auf der Kommandozeile ........................................................................ 427
  +
10.3.1.15. Weitere Informationen ....................................................................................... 427
  +
11. Office Pakete .............................................................................................................................................. 428
  +
11.1. OpenOffice.org............................................................................................................................... 428
  +
11.1.1. Installation........................................................................................................................ 429
  +
11.1.2. Konfiguration.................................................................................................................... 430
  +
11.1.3. Textverarbeitung............................................................................................................... 431
  +
11.1.4. Tabellenkalkulation ........................................................................................................... 433
  +
11.1.5. OpenOffice.org Links........................................................................................................ 434
  +
11.2. GNOME-Office.............................................................................................................................. 434
  +
11.3. KDE Office .................................................................................................................................... 434
  +
12. Text.............................................................................................................................................................. 435
  +
12.1. AbiWord......................................................................................................................................... 435
  +
12.2. xpdf ................................................................................................................................................ 437
  +
12.3. acroread.......................................................................................................................................... 438
  +
13. Kalkulation................................................................................................................................................. 440
  +
13.1. Gnumeric........................................................................................................................................ 440
  +
13.1.1. Eingeben von Daten .......................................................................................................... 440
  +
13.1.2. Zeichenketten und Zahlen ................................................................................................. 440
  +
13.1.3. Datumsfelder ..................................................................................................................... 440
  +
13.1.4. Ändern von Zellen............................................................................................................. 441
  +
13.1.5. Formeln ............................................................................................................................. 441
  +
13.1.6. Bezüge.............................................................................................................................. 442
  +
13.1.7. Funktionen........................................................................................................................ 442
  +
13.1.8. Namen ............................................................................................................................... 442
  +
14. Multimedia ................................................................................................................................................. 444
  +
14.1. Sound ............................................................................................................................................. 444
  +
14.1.1. Soundkarte einrichten........................................................................................................ 444
  +
14.2. Xmms............................................................................................................................................. 444
  +
14.2.1. „Skins“ .............................................................................................................................. 445
  +
14.2.2. Hauptfenster ...................................................................................................................... 445
  +
14.2.3. Titelliste (Playlist) ............................................................................................................. 447
  +
14.2.4. Equalizer........................................................................................................................... 448
  +
14.2.5. Voreinstellungen............................................................................................................... 449
  +
14.2.5.1. Audio I/O............................................................................................................. 449
  +
14.2.5.2. Visualization Plugins ........................................................................................... 450
  +
14.2.5.3. Options ................................................................................................................ 450
  +
14.2.6. Xmms von der Kommandozeile........................................................................................ 450
  +
14.2.7. Features ............................................................................................................................. 451
  +
14.2.8. Xmms und Netscape.......................................................................................................... 451
  +
14.3. zinf ................................................................................................................................................. 452
  +
14.4. gqmpeg........................................................................................................................................... 453
  +
x
  +
14.5. Grip ................................................................................................................................................ 454
  +
14.6. Videobearbeitung ............................................................................................................................ 457
  +
14.6.1. iLink / Firewire / IEEE1394.............................................................................................. 457
  +
14.6.2. dvgrab............................................................................................................................... 458
  +
14.6.3. Kino.................................................................................................................................. 458
  +
14.7. TV Karten ...................................................................................................................................... 459
  +
14.7.1. xawtv ................................................................................................................................ 460
  +
14.7.2. aletv .................................................................................................................................. 460
  +
14.8. Videoplayer .................................................................................................................................... 460
  +
14.8.1. xine ................................................................................................................................... 460
  +
14.9. Videokonferenzen ........................................................................................................................... 461
  +
14.9.1. Gnomemeeting .................................................................................................................. 461
  +
15. CD brennen ................................................................................................................................................ 467
  +
15.1. Hardware........................................................................................................................................ 467
  +
15.2. Kernel............................................................................................................................................. 467
  +
15.2.1. SCSI ................................................................................................................................. 467
  +
15.2.2. IDE ................................................................................................................................... 468
  +
15.3. Software ......................................................................................................................................... 468
  +
15.3.1. mkhybrid ........................................................................................................................... 469
  +
15.3.2. CDs aus der Shell .............................................................................................................. 469
  +
15.3.3. X-CD-Roast....................................................................................................................... 469
  +
15.3.3.1. Kopieren von CDs ............................................................................................... 471
  +
15.3.3.2. Erstellen von Daten-CDs ..................................................................................... 472
  +
15.3.3.3. Audio-CDs........................................................................................................... 473
  +
15.3.4. gcombust ........................................................................................................................... 474
  +
16. Netzwerk..................................................................................................................................................... 476
  +
16.1. Netzwerkkarte ................................................................................................................................ 476
  +
16.2. PCMCIA-Netzwerkkarte ................................................................................................................ 477
  +
16.3. TCP/IP ........................................................................................................................................... 479
  +
16.3.1. IP-Adressen ....................................................................................................................... 479
  +
16.3.2. IP-Interface-Konfiguration ................................................................................................ 480
  +
16.3.3. IP Routing ......................................................................................................................... 481
  +
16.3.4. Domain Name Server - DNS............................................................................................. 483
  +
16.3.5. resolv.conf ......................................................................................................................... 484
  +
17. Server-Dienste ............................................................................................................................................ 485
  +
17.1. Apache ........................................................................................................................................... 485
  +
17.1.1. Apache installieren & einrichten....................................................................................... 485
  +
17.1.2. Konfigurationsdateien ....................................................................................................... 487
  +
17.1.3. Logdateien........................................................................................................................ 487
  +
17.1.4. Starten & Stoppen ............................................................................................................. 487
  +
17.1.5. CGI-Programme................................................................................................................ 487
  +
17.1.6. Apache konfigurieren & optimieren.................................................................................. 488
  +
17.1.6.1. URL-Korrekturen ................................................................................................ 488
  +
17.1.6.2. Geschützte Verzeichnisse .................................................................................... 489
  +
17.1.6.3. SSI - Server Side Includes ................................................................................... 489
  +
17.1.6.4. Umleitungen ........................................................................................................ 491
  +
17.1.6.5. Fehlermeldungen ................................................................................................. 491
  +
17.2. FTP-Server ..................................................................................................................................... 491
  +
17.3. DHCP............................................................................................................................................. 494
  +
17.3.1. GNU/Linux Notebook als DHCP-Client........................................................................... 495
  +
17.3.2. MacOS als DHCP-Client .................................................................................................. 496
  +
17.4. Samba............................................................................................................................................. 497
  +
17.4.1. Entstehung von Samba...................................................................................................... 497
  +
17.4.2. Funktionen von Samba...................................................................................................... 497
  +
17.4.3. Samba-Werkzeuge............................................................................................................. 498
  +
17.4.4. SMB-Dateisysteme............................................................................................................ 499
  +
xi
  +
17.4.5. Konfiguration und Verwaltung .......................................................................................... 499
  +
17.4.6. SWAT ............................................................................................................................... 499
  +
17.4.7. gnosamba.......................................................................................................................... 499
  +
17.4.8. gnomba............................................................................................................................. 500
  +
17.5. netatalk........................................................................................................................................... 501
  +
17.5.1. tkchooser ........................................................................................................................... 503
  +
18. Exotische Hardware .................................................................................................................................. 504
  +
18.1. Notebook-Spezialitäten.................................................................................................................. 504
  +
18.1.1. divine ................................................................................................................................ 504
  +
18.1.2. wmbattery......................................................................................................................... 504
  +
18.1.3. netenv ............................................................................................................................... 505
  +
18.1.4. cardinfo............................................................................................................................. 505
  +
18.2. USB................................................................................................................................................ 505
  +
18.2.1. Kernel-Konfiguration ........................................................................................................ 505
  +
18.2.2. USB-Device-Dateisystem ................................................................................................. 509
  +
18.2.3. Human Interface Device (HID)-Konfiguration ................................................................. 509
  +
18.2.3.1. HID Maus-Konfiguration..................................................................................... 510
  +
18.2.3.2. HID Tastatur-Konfiguration................................................................................. 511
  +
18.2.3.3. HID Joystick- und Gamepad-Konfiguration........................................................ 511
  +
18.2.4. Scanner-Konfiguration ...................................................................................................... 511
  +
18.2.5. Modem-Konfiguration....................................................................................................... 511
  +
18.2.6. Drucker-Konfiguration ...................................................................................................... 512
  +
18.2.7. USB / Serielle Konfiguration ............................................................................................ 512
  +
18.2.8. CPiA Kamera-Konfiguration............................................................................................. 512
  +
18.2.9. OV511 Kamera-Konfiguration .......................................................................................... 512
  +
18.2.10. Massenspeicher-Konfiguration........................................................................................ 513
  +
18.3. PDA - Personal Digital Assistant.................................................................................................... 513
  +
18.3.1. pilot-link ............................................................................................................................ 513
  +
18.3.1.1. pilot-xfer .............................................................................................................. 514
  +
18.3.1.2. install-memo ........................................................................................................ 514
  +
18.3.1.3. memos.................................................................................................................. 514
  +
18.3.1.4. pilot-addresses ..................................................................................................... 514
  +
18.3.2. pi-address .......................................................................................................................... 515
  +
18.3.3. j-pilot ................................................................................................................................ 516
  +
18.3.3.1. Einstellungen ....................................................................................................... 516
  +
18.3.3.2. Kalender............................................................................................................... 516
  +
18.3.3.3. Adressen .............................................................................................................. 517
  +
18.3.3.4. Aufgaben ............................................................................................................. 518
  +
18.3.3.5. Suchen ................................................................................................................. 519
  +
18.3.3.6. Installation von Programmen............................................................................... 519
  +
18.3.3.7. Quit, Sync, Backup.............................................................................................. 520
  +
18.4. „Geräderte“ Mäuse.......................................................................................................................... 520
  +
18.4.1. Scrollrad unter XFree86.................................................................................................... 521
  +
19. Systemadministration................................................................................................................................ 523
  +
19.1. Bootloader...................................................................................................................................... 523
  +
19.1.1. lilo (i386).......................................................................................................................... 523
  +
19.1.1.1. lilo einrichten....................................................................................................... 523
  +
19.1.1.2. lilo und fremde Betriebssysteme ......................................................................... 523
  +
19.1.2. GRUB............................................................................................................................... 523
  +
19.1.2.1. Installation ........................................................................................................... 524
  +
19.1.2.2. Konfiguration....................................................................................................... 525
  +
19.1.2.2.1. update-grub ............................................................................................ 525
  +
19.1.2.2.2. Manuelle Konfiguration ......................................................................... 525
  +
19.1.2.3. Hardwarebezeichnungen ..................................................................................... 526
  +
19.1.2.4. Kommandozeile................................................................................................... 526
  +
19.1.2.5. weitere Informationen.......................................................................................... 527
  +
xii
  +
19.2. Init Scripte...................................................................................................................................... 527
  +
19.2.1. rcconf................................................................................................................................ 527
  +
19.2.2. update-rc.d......................................................................................................................... 527
  +
19.3. alternatives ..................................................................................................................................... 528
  +
19.4. hdparm ........................................................................................................................................... 529
  +
19.4.1. Optionen........................................................................................................................... 530
  +
19.4.2. Einbinden von hdparm...................................................................................................... 531
  +
19.5. Systemzeit ...................................................................................................................................... 532
  +
19.5.1. date ................................................................................................................................... 533
  +
19.5.2. rdate.................................................................................................................................. 534
  +
19.6. Kernel erzeugen .............................................................................................................................. 535
  +
19.6.1. Debian Kernel (kernel-package) ....................................................................................... 535
  +
19.6.2. klassische Kernel............................................................................................................... 536
  +
19.6.2.1. Anpassen des Kernels von Hand ......................................................................... 536
  +
19.6.2.2. Benötigte Programme.......................................................................................... 537
  +
19.6.2.3. Entpacken der Sourcen ........................................................................................ 537
  +
19.6.2.4. Konfiguration des Kernels ................................................................................... 537
  +
19.6.2.5. Übersetzen des Kernels........................................................................................ 538
  +
19.6.2.6. Übersetzen der Module........................................................................................ 538
  +
19.6.2.7. Tips ...................................................................................................................... 538
  +
19.6.3. SMP - Linux mit mehreren Prozessoren ........................................................................... 539
  +
19.6.3.1. Kernel 2.0 ............................................................................................................ 539
  +
19.6.3.2. Kernel 2.2 ............................................................................................................ 539
  +
19.7. Kernel Pakete ................................................................................................................................. 540
  +
19.8. Webbasierte Administration mit Webmin....................................................................................... 541
  +
19.8.1. Installation........................................................................................................................ 541
  +
19.8.2. Zugriff auf Webmin........................................................................................................... 542
  +
19.8.3. Kategorie Webmin............................................................................................................. 542
  +
19.8.3.1. Webmin Actions Log........................................................................................... 543
  +
19.8.3.2. Webmin Benutzer ................................................................................................ 544
  +
19.8.3.3. Webmin Konfiguration ........................................................................................ 544
  +
19.8.3.3.1. Webmin Konfiguration - IP-Zugriffskontrolle ....................................... 545
  +
19.8.3.3.2. Webmin Konfiguration - Anschluss und Adresse .................................. 546
  +
19.8.3.3.3. Webmin Konfiguration - Protokollierung .............................................. 547
  +
19.8.3.3.4. Webmin Konfiguration - Proxyserver .................................................... 547
  +
19.8.3.3.5. Webmin Konfiguration - Benutzerschnittstelle...................................... 548
  +
19.8.3.3.6. Webmin Konfiguration - Webmin-Module ............................................ 549
  +
19.8.3.3.7. Webmin Konfiguration - Betriebssystem ............................................... 550
  +
19.8.3.3.8. Webmin Konfiguration - Sprache........................................................... 551
  +
19.8.3.3.9. Webmin Konfiguration - Indexseitenoptionen ....................................... 552
  +
19.8.3.3.10. Webmin Konfiguration - Webmin aktualisieren................................... 552
  +
19.8.3.3.11. Webmin Konfiguration - Authentication.............................................. 553
  +
19.8.3.3.12. Webmin Konfiguration - Reassign Modules........................................ 554
  +
19.8.3.3.13. Webmin Konfiguration - Edit Categories............................................. 555
  +
19.8.3.3.14. Webmin Konfiguration - Webmin Themes .......................................... 556
  +
19.8.3.3.15. Webmin Konfiguration - Trusted Referers........................................... 557
  +
19.8.3.4. Webmin Server Index .......................................................................................... 557
  +
19.8.4. Kategorie System .............................................................................................................. 558
  +
19.8.4.1. Benutzer und Gruppen......................................................................................... 558
  +
19.8.4.2. Change Passwords ............................................................................................... 561
  +
19.8.4.3. Geplante Cron-Jobs ............................................................................................. 562
  +
19.8.4.4. Laufende Prozesse ............................................................................................... 563
  +
19.8.4.5. NFS-Exporte........................................................................................................ 564
  +
19.8.4.6. PAM-Authentification.......................................................................................... 565
  +
19.8.5. Kategorie Server................................................................................................................ 566
  +
19.8.5.1. Apache Webserver ............................................................................................... 567
  +
19.8.5.1.1. Apache Webserver - Prozesse und Grenzwerte ..................................... 568
  +
xiii
  +
19.8.5.1.2. Apache Webserver - Netzwerk und Adressen........................................ 570
  +
19.8.5.1.3. Apache Webserver - Apache-Module .................................................... 571
  +
19.8.5.1.4. Apache Webserver - MIME-Typen........................................................ 571
  +
19.8.5.1.5. Apache Webserver - Verschiedenes ....................................................... 572
  +
19.8.5.1.6. Apache Webserver - CGI ....................................................................... 573
  +
19.8.5.1.7. Apache Webserver - Per-Verzeichniseinstellungen ............................... 574
  +
19.8.5.1.8. Apache Webserver - Apache-Module neukonfigurieren........................ 575
  +
19.8.5.1.9. Apache Webserver - Definierte Parameter bearbeiten ........................... 576
  +
19.8.5.2. Postfix .................................................................................................................. 576
  +
19.8.5.2.1. Postfix Mailserver - Allgemeine Einstellungen ..................................... 577
  +
19.8.5.2.2. Postfix Mailserver - Adressumschreibung und Maskierung .................. 579
  +
19.8.5.2.3. Postfix Mailserver - Mail-Aliases .......................................................... 579
  +
19.8.5.2.4. Postfix Mailserver - Kanonische Verknüpfung ...................................... 580
  +
19.8.5.2.5. Postfix Mailserver - Virtuelle Domänen ................................................ 581
  +
19.8.5.2.6. Postfix Mailserver - Transportverknüpfung ........................................... 582
  +
19.8.5.2.7. Postfix Mailserver - Neu eingerichtete Verknüpfung............................. 583
  +
19.8.5.2.8. Postfix Mailserver - Lokale Lieferung................................................... 583
  +
19.8.5.2.9. Postfix Mailserver - Allgemeine Resourcenkontrolle............................ 584
  +
19.8.5.2.10. Postfix Mailserver - SMTP-Server-Einstellungen ............................... 585
  +
19.8.5.2.11. Postfix Mailserver - SMTP-Client-Einstellungen................................ 586
  +
19.8.5.2.12. Postfix Mailserver - Auslieferungsraten .............................................. 587
  +
19.8.5.2.13. Postfix Mailserver - Debugging-Funktionen........................................ 588
  +
19.8.5.3. DHCP .................................................................................................................. 589
  +
19.8.6. Kategorie Hardware .......................................................................................................... 594
  +
19.8.6.1. Festplatten Partitionen ......................................................................................... 594
  +
19.8.6.2. GRUB .................................................................................................................. 597
  +
19.8.6.3. Lilo ...................................................................................................................... 600
  +
19.8.6.4. Netzwerk.............................................................................................................. 603
  +
19.8.6.5. Systemzeit............................................................................................................ 606
  +
19.8.7. Andere ............................................................................................................................... 607
  +
19.8.7.1. Themes................................................................................................................. 609
  +
20. Systemsicherheit ........................................................................................................................................ 612
  +
20.1. task-harden..................................................................................................................................... 612
  +
20.2. Securing Debian HOWTO.............................................................................................................. 612
  +
20.2.1. Vor und während der Installation ...................................................................................... 613
  +
20.2.1.1. BIOS Einstellungen ............................................................................................. 613
  +
20.2.1.2. Plattenpartitionen................................................................................................. 613
  +
20.2.1.3. Superuser Passwort.............................................................................................. 613
  +
20.2.1.4. Shadow- und MD5 Passwörter ............................................................................ 614
  +
20.2.1.5. Aktivierte Dienste................................................................................................ 614
  +
20.2.1.6. Mailinglisten........................................................................................................ 614
  +
20.2.2. Nach der Installation ......................................................................................................... 614
  +
20.2.2.1. Absicherung des Bootloaders .............................................................................. 614
  +
20.2.2.2. Starten von Diskette............................................................................................. 615
  +
20.2.2.3. Mounten von Dateisystemen ............................................................................... 615
  +
20.2.2.4. Debian Sicherheitsupdates................................................................................... 616
  +
20.2.2.5. PAM - Pluggable Authentication Modules.......................................................... 616
  +
20.2.2.6. Anpassungen der /etc/inetd.conf ................................................................ 618
  +
20.2.2.7. /etc/login.defs............................................................................................. 619
  +
20.2.2.8. /etc/ftpusers ................................................................................................. 620
  +
20.2.2.9. Einsatz eines TCP Wrappers ............................................................................... 620
  +
20.2.2.10. Benutzung von su.............................................................................................. 620
  +
20.2.2.11. Benutzung von sudo ......................................................................................... 620
  +
20.2.2.12. Benutzung von chroot..................................................................................... 621
  +
20.2.2.13. Kernel Features.................................................................................................. 621
  +
20.2.2.14. Benutzung der svgalib.................................................................................... 622
  +
20.2.2.15. Sichere Übertragung von Dateien...................................................................... 622
  +
xiv
  +
20.2.2.16. Benutzung von Quotas....................................................................................... 622
  +
20.2.2.17. Zugriffsrechte von Logdateien .......................................................................... 622
  +
20.2.2.18. setuid Überprüfungen..................................................................................... 623
  +
20.2.2.19. chattr / lsattr .............................................................................................. 623
  +
20.2.2.20. Integrität des Dateisystems................................................................................ 623
  +
20.2.2.21. locate und slocate ....................................................................................... 623
  +
20.2.3. Sichere Dienste.................................................................................................................. 624
  +
20.2.3.1. ssh ........................................................................................................................ 624
  +
20.2.3.2. FTP ...................................................................................................................... 625
  +
20.2.3.3. X Anwendungen im Netz .................................................................................... 625
  +
20.2.3.4. Display Manager.................................................................................................. 625
  +
20.2.3.5. E-Mail.................................................................................................................. 626
  +
20.2.3.6. loghost - ein Server für Logdateien ..................................................................... 626
  +
20.2.3.7. BIND ................................................................................................................... 627
  +
20.2.3.8. snort ..................................................................................................................... 627
  +
20.2.4. Vor einem Einbruch........................................................................................................... 627
  +
20.2.4.1. Debian Sicherheits Updates................................................................................. 628
  +
20.2.4.2. Austausch von Software ...................................................................................... 628
  +
20.2.4.3. Kernel Patches ..................................................................................................... 628
  +
20.2.4.4. Weitere Möglichkeiten......................................................................................... 629
  +
20.2.5. Nach einem Einbruch... ..................................................................................................... 629
  +
21. Anpassen und Erzeugen von Debian Paketen.......................................................................................... 630
  +
21.1. Debian Pakete anpassen.................................................................................................................. 630
  +
21.2. Debian Pakete erzeugen.................................................................................................................. 630
  +
21.2.1. README.Debian ............................................................................................................. 631
  +
21.2.2. files ................................................................................................................................... 632
  +
21.2.3. changelog .......................................................................................................................... 632
  +
21.2.4. copyright........................................................................................................................... 632
  +
21.2.5. control............................................................................................................................... 633
  +
21.2.6. rules .................................................................................................................................. 633
  +
21.2.7. menu................................................................................................................................. 635
  +
21.2.8. postinst, preinst, postrm, prerm......................................................................................... 635
  +
21.2.9. dpkg-buildpackage ............................................................................................................ 636
  +
21.3. Package Dateien............................................................................................................................. 637
  +
22. Modellbahnen ............................................................................................................................................ 639
  +
22.1. Herkömmliche Systeme.................................................................................................................. 639
  +
22.2. Digitale Systeme ............................................................................................................................. 639
  +
22.3. Hardware........................................................................................................................................ 640
  +
22.3.1. Decoder ............................................................................................................................. 642
  +
22.3.1.1. 6603 Delta Decoder............................................................................................. 642
  +
22.3.1.2. 6080 Digital Decoder........................................................................................... 643
  +
22.3.1.3. 6090 Digital Decoder........................................................................................... 643
  +
22.3.1.4. 66031 Digital Decoder......................................................................................... 643
  +
22.3.1.5. „Wikinger“Lokomotiv Decoder .......................................................................... 643
  +
22.4. Software ......................................................................................................................................... 643
  +
22.4.1. Server ............................................................................................................................... 644
  +
22.4.1.1. erddcd .................................................................................................................. 644
  +
22.4.1.2. srcpd..................................................................................................................... 644
  +
22.4.2. Clients ............................................................................................................................... 645
  +
22.4.2.1. telnet .................................................................................................................... 645
  +
22.4.2.2. j-man.................................................................................................................... 645
  +
22.4.2.3. loco-panel ............................................................................................................ 647
  +
22.4.2.4. monitor ................................................................................................................ 648
  +
22.4.2.5. keyboard .............................................................................................................. 648
  +
22.4.2.6. recorder................................................................................................................ 648
  +
22.4.2.7. rcsh....................................................................................................................... 648
  +
xv
  +
22.4.2.8. rcman ................................................................................................................... 649
  +
22.4.2.9. srcptt .................................................................................................................... 650
  +
22.4.2.10. SpDrS60 ............................................................................................................ 650
  +
22.4.2.11. JoyCtrl ............................................................................................................... 650
  +
22.4.2.12. dtcltiny ............................................................................................................... 650
  +
22.5. Weitere Informationen .................................................................................................................... 653
  +
23. Weitere Infos .............................................................................................................................................. 654
  +
23.1. Abkürzungen / Begriffe .................................................................................................................. 654
  +
23.2. Debian Mirror ................................................................................................................................ 654
  +
23.2.1. absurd_debmirror .............................................................................................................. 655
  +
23.2.2. debmirror.......................................................................................................................... 655
  +
23.2.3. debmirror-wrapper ............................................................................................................ 656
  +
23.2.4. mirror................................................................................................................................ 656
  +
23.3. Erstellen von eigenen Debian GNU/Linux CD-ROMs................................................................... 658
  +
23.3.1. Konfiguration.................................................................................................................... 659
  +
23.3.2. Erstellen der CD-Images ................................................................................................... 662
  +
23.3.3. Aktualisieren von debian-cd.......................................................................................... 662
  +
23.4. Programmfehler (bugs) ................................................................................................................... 662
  +
23.5. Installations- und Rettungsdiskette ................................................................................................. 663
  +
23.6. Technische Informationen zu den Boot-Disketten.......................................................................... 663
  +
23.6.1. Quellcode .......................................................................................................................... 663
  +
23.6.2. Die Notfalldiskette ............................................................................................................ 663
  +
23.6.3. Kernel ersetzen .................................................................................................................. 664
  +
23.6.4. Die Basisdisketten ............................................................................................................. 664
  +
23.7. Deutsche Tastatur mit X11.............................................................................................................. 664
  +
23.7.1. Gerätedateien in /dev und ihre Bedeutung ...................................................................... 665
  +
23.7.2. Warenzeichen .................................................................................................................... 666
  +
23.8. Debian – Gesellschaftsvertrag ........................................................................................................ 666
  +
23.9. Die Debian-Richtlinien für freie Software...................................................................................... 667
  +
23.10. GNU Public License ..................................................................................................................... 668
  +
23.11. Open Publication License ............................................................................................................. 673
  +
23.12. GNU Free Document License 1.1 (GFDL)................................................................................... 675
  +
GNU Freie Dokumentationslizenz ................................................................................................ 675
  +
.1. Päambel ......................................................................................................................... 675
  +
.2. Anwendbarkeit und Definitionen................................................................................... 676
  +
.3. Wortwörtliche Kopien.................................................................................................... 676
  +
.4. Kopieren in Mengen ...................................................................................................... 677
  +
.5. Modifikationen .............................................................................................................. 677
  +
.6. Dokumente kombinieren ............................................................................................... 678
  +
.7. Sammlungen von Dokumenten ..................................................................................... 679
  +
.8. Aggregation mit unabhängigen Arbeiten ...................................................................... 679
  +
.9. Übersetzung................................................................................................................... 679
  +
.10. Termination.................................................................................................................. 679
  +
.11. Zukünftige Revisionen dieser Lizenz .......................................................................... 680
  +
.12. Wie Sie diese Lizenz für Ihre Dokumente nutzen können .......................................... 680
  +
.13. Begriffe ........................................................................................................................ 680
  +
Stichwortverzeichnis ....................................................................................................................................... 681
  +
xvi
  +
Tabellenverzeichnis
  +
4-1. RPM / DEB Paketmanagement ................................................................................................................... 190
  +
22-1. Delta Decoder - Dip-Schalter Einstellungen............................................................................................. 642
  +
22-2. Technische Daten Delta Decoder 66031 ................................................................................................... 643
  +
Abbildungsverzeichnis
  +
1-1. Tux - der Pinguin............................................................................................................................................ 9
  +
1-2. Organisation des Debian Teams.................................................................................................................... 17
  +
1-3. „Open Use“ Logo - „Swirl“ .......................................................................................................................... 26
  +
1-4. Offizielles Logo............................................................................................................................................ 26
  +
1-5. Open Source Initiative - Logo....................................................................................................................... 29
  +
2-1. BIOS Einstellungen...................................................................................................................................... 42
  +
2-2. Bootmenü ..................................................................................................................................................... 43
  +
2-3. Sprachauswahl.............................................................................................................................................. 45
  +
2-4. Sprachraum................................................................................................................................................... 45
  +
2-5. Release Informationen.................................................................................................................................. 45
  +
2-6. Hauptmenü ................................................................................................................................................... 46
  +
2-7. Tastatur Konfiguration.................................................................................................................................. 46
  +
2-8. Festplatte partitionieren................................................................................................................................ 47
  +
2-9. Auswahl der Festplatte(n) ............................................................................................................................. 48
  +
2-10. Informationen zu lilo.................................................................................................................................. 48
  +
2-11. Informationen zu ReiserFS......................................................................................................................... 49
  +
2-12. Partitionstabelle nicht gefunden .................................................................................................................. 49
  +
2-13. Partition anlegen......................................................................................................................................... 50
  +
2-14. Partition anlegen......................................................................................................................................... 50
  +
2-15. Partitionen anlegen..................................................................................................................................... 51
  +
2-16. Partitionen anlegen..................................................................................................................................... 51
  +
2-17. Swap Partition einbinden ............................................................................................................................ 52
  +
2-18. Swap Partition auswählen ........................................................................................................................... 53
  +
2-19. Swap Partition bestätigen ............................................................................................................................ 53
  +
2-20. root Dateisystem einbinden........................................................................................................................ 54
  +
2-21. Auswahl Dateisystem................................................................................................................................. 54
  +
2-22. Überprüfung auf defekte Blöcke ................................................................................................................. 55
  +
2-23. Überprüfung auf defekte Blöcke ................................................................................................................. 55
  +
2-24. Dateisystem formatieren ............................................................................................................................. 56
  +
2-25. Partition einbinden ..................................................................................................................................... 56
  +
2-26. Module installieren..................................................................................................................................... 57
  +
2-27. Auswahl Installationsmedium ..................................................................................................................... 58
  +
2-28. Installation Kernel und Module................................................................................................................... 58
  +
2-29. Konfiguration der Module.......................................................................................................................... 59
  +
2-30. Anmerkung Module ................................................................................................................................... 59
  +
2-31. Auswahl Module ........................................................................................................................................ 60
  +
2-32. Modul Netzwerkkarte Intel Pro 100............................................................................................................ 61
  +
2-33. Modul Netzwerkkarte Intel Pro 100............................................................................................................ 61
  +
2-34. Modul Netzwerkkarte Intel Pro 100............................................................................................................ 61
  +
2-35. Netzwerkkonfiguration............................................................................................................................... 62
  +
2-36. Netzwerk .................................................................................................................................................... ??
  +
2-37. Netzwerkkonfiguration DHCP.................................................................................................................... 63
  +
2-38. IP-Nummer................................................................................................................................................. 64
  +
2-39. Broadcast.................................................................................................................................................... 64
  +
2-40. Nameserver................................................................................................................................................. ??
  +
2-41. Domainname .............................................................................................................................................. 65
  +
2-42. Nameserver................................................................................................................................................. 66
  +
2-43. Installation Basissystem .............................................................................................................................. 66
  +
xvii
  +
2-44. Basisinstallation - Schritt 1 ......................................................................................................................... 67
  +
2-45. Basisinstallation - Schritt 2 ......................................................................................................................... 67
  +
2-46. Basisinstallation - Schritt 3 ......................................................................................................................... 67
  +
2-47. Basisinstallation - Schritt 4 ......................................................................................................................... 68
  +
2-48. Basisinstallation - Schritt 5 ......................................................................................................................... 68
  +
2-49. Basisinstallation - Schritt 6 ......................................................................................................................... 69
  +
2-50. System bootfähig machen ........................................................................................................................... 70
  +
2-51. LILO Sicherheitshinweis............................................................................................................................ 70
  +
2-52. Bootdisk ..................................................................................................................................................... 71
  +
2-53. Reboot ........................................................................................................................................................ 71
  +
2-54. Letzte Einstellungen................................................................................................................................... 72
  +
2-55. Zeitzone - GMT.......................................................................................................................................... 72
  +
2-56. Zeitzone - Bereich ...................................................................................................................................... 73
  +
2-57. Zeitzone - Stadt .......................................................................................................................................... 73
  +
2-58. MD5 Paßwörter .......................................................................................................................................... 74
  +
2-59. Shadow Paßwörter...................................................................................................................................... 74
  +
2-60. root Paßwort ............................................................................................................................................... 75
  +
2-61. root Paßwort ............................................................................................................................................... 76
  +
2-62. Benutzer anlegen ........................................................................................................................................ 76
  +
2-63. Benutzer - Username.................................................................................................................................. 77
  +
2-64. Benutzer - Realname .................................................................................................................................. 77
  +
2-65. Benutzer - Passwort.................................................................................................................................... 78
  +
2-66. Benutzer - Passwort.................................................................................................................................... 78
  +
2-67. PCMCIA entfernen .................................................................................................................................... ??
  +
2-68. PPP Installation .......................................................................................................................................... 79
  +
2-69. CD Installation, lesen der Pakete ................................................................................................................ 80
  +
2-70. CD Installation, lesen einer weiteren CD?.................................................................................................. 80
  +
2-71. APT weitere Quelle.................................................................................................................................... 81
  +
2-72. Security Updates ........................................................................................................................................ 81
  +
2-73. tasksel ......................................................................................................................................................... 82
  +
2-74. tasksel ......................................................................................................................................................... 82
  +
2-75. dselect......................................................................................................................................................... 83
  +
2-76. Package Installation.................................................................................................................................... 83
  +
2-77. Paket Konfiguration - less ........................................................................................................................... 84
  +
2-78. Paket Konfiguration - locale........................................................................................................................ 84
  +
2-79. Paket Konfiguration - locales ...................................................................................................................... ??
  +
2-80. Pakete entpacken ........................................................................................................................................ 85
  +
2-81. Pakete löschen nach der Installation ........................................................................................................... 86
  +
2-82. Installation beendet .................................................................................................................................... 86
  +
2-83. Login .......................................................................................................................................................... 86
  +
2-84. apt-get dselect-upgrade ............................................................................................................................... 87
  +
3-1. cfdisk .......................................................................................................................................................... 125
  +
3-2. Locales Konfiguration ................................................................................................................................ 129
  +
3-3. Locales Konfiguration ................................................................................................................................ 130
  +
4-1. dselect Startbild .......................................................................................................................................... 135
  +
4-2. dselect - access ........................................................................................................................................... 136
  +
4-3. dselect - select ............................................................................................................................................ 137
  +
4-4. apt-setup ..................................................................................................................................................... 142
  +
4-5. capt - Startbild ............................................................................................................................................ 159
  +
4-6. aptitude ......................................................................................................................................................... ??
  +
4-7. GNOME apt ............................................................................................................................................... 163
  +
4-8. GNOME apt - source.................................................................................................................................. 164
  +
4-9. GNOME apt - source.................................................................................................................................. 165
  +
4-10. GNOME apt - source................................................................................................................................ 165
  +
4-11. GNOME apt - source................................................................................................................................ 166
  +
4-12. GNOME apt - suchen............................................................................................................................... 167
  +
4-13. GNOME apt - Symbole............................................................................................................................ 168
  +
xviii
  +
4-14. GNOME apt ............................................................................................................................................. 169
  +
4-15. GNOME apt - Installation ......................................................................................................................... 170
  +
4-16. GNOME apt - Installation ......................................................................................................................... 170
  +
4-17. orphaner.................................................................................................................................................... 176
  +
4-18. editkeep .................................................................................................................................................... 176
  +
4-19. tasksel ....................................................................................................................................................... 179
  +
4-20. Module installieren - modconf .................................................................................................................. 180
  +
4-21. Midnight Commander ............................................................................................................................... 185
  +
4-22. GNU Midnight Commander...................................................................................................................... 186
  +
5-1. XF86 Setup................................................................................................................................................. 195
  +
5-2. XF86 Setup................................................................................................................................................. 196
  +
5-3. XF86 Setup................................................................................................................................................. 197
  +
5-4. XF86 Setup................................................................................................................................................. 198
  +
5-5. XF86 Setup................................................................................................................................................. 199
  +
5-6. XF86 Setup................................................................................................................................................. 200
  +
5-7. XF86 Setup................................................................................................................................................. 201
  +
5-8. Konfiguration von X11............................................................................................................................... 211
  +
5-9. Konfiguration von X11............................................................................................................................... 212
  +
5-10. Konfiguration von X11............................................................................................................................. 213
  +
5-11. Konfiguration von X11............................................................................................................................. 213
  +
5-12. Konfiguration von X11............................................................................................................................. 214
  +
5-13. Konfiguration von X11............................................................................................................................. 215
  +
5-14. Konfiguration von X11............................................................................................................................. 216
  +
5-15. Konfiguration von X11............................................................................................................................. 216
  +
5-16. Konfiguration von X11............................................................................................................................. 217
  +
5-17. Konfiguration von X11............................................................................................................................. 218
  +
5-18. Konfiguration von X11............................................................................................................................. 218
  +
5-19. Konfiguration von X11............................................................................................................................. 219
  +
5-20. Konfiguration von X11............................................................................................................................. 220
  +
5-21. Konfiguration von X11............................................................................................................................. 220
  +
5-22. Konfiguration von X11............................................................................................................................. 221
  +
5-23. Konfiguration von X11............................................................................................................................. 222
  +
5-24. Konfiguration von X11............................................................................................................................. 222
  +
5-25. Konfiguration von X11............................................................................................................................. 223
  +
5-26. Konfiguration von X11............................................................................................................................. 224
  +
5-27. Konfiguration von X11............................................................................................................................. 224
  +
5-28. Konfiguration von X11............................................................................................................................. 225
  +
5-29. Konfiguration von X11............................................................................................................................. 226
  +
5-30. XFree 4.x Installation - Debconf Xwrapper.............................................................................................. 228
  +
5-31. XFree 4.x Installation - Debconf XFree86 Konfigurationsdatei ............................................................... 228
  +
5-32. XFree 4.x Installation - Treiber................................................................................................................. 229
  +
5-33. XFree 4.x Installation - Kernel Framebuffer ............................................................................................. 231
  +
5-34. XFree 4.x Installation - Tastatur................................................................................................................ 231
  +
5-35. XFree 4.x Installation - Tastatur Schritt 2 ................................................................................................. 232
  +
5-36. XFree 4.x Installation - Tastatur Schritt 3 ................................................................................................. 233
  +
5-37. XFree 4.x Installation - Tastatur Schritt 4 ................................................................................................. 234
  +
5-38. XFree 4.x Installation - Tastatur Schritt 5 ................................................................................................. 235
  +
5-39. XFree 4.x Installation - Tastatur Schritt 5 ................................................................................................. 236
  +
5-40. XFree 4.x Installation - Maus Schnittstelle............................................................................................... 237
  +
5-41. XFree 4.x Installation - Maus Protokoll.................................................................................................... 238
  +
5-42. XFree 4.x Installation - Monitor Typ ........................................................................................................ 239
  +
5-43. XFree 4.x Installation - Monitor horizontaler Sync .................................................................................. 240
  +
5-44. XFree 4.x Installation - Monitor vertikaler Sync ...................................................................................... 241
  +
5-45. XFree 4.x Installation - Monitor horizontaler Sync .................................................................................. 242
  +
5-46. XFree 4.x Installation - Auflösungen ........................................................................................................ 243
  +
5-47. xf86cfg - Textmodus ................................................................................................................................ 245
  +
5-48. xf86cfg - Textmodus ................................................................................................................................ 245
  +
xix
  +
5-49. xf86cfg - X11 ........................................................................................................................................... 246
  +
5-50. GNOME Display Manager........................................................................................................................ 248
  +
5-51. Login.app.................................................................................................................................................. 260
  +
5-52. FVWM ..................................................................................................................................................... 265
  +
5-53. WindowMaker .......................................................................................................................................... 266
  +
5-54. Enlightenment .......................................................................................................................................... 266
  +
6-1. GNOME-Logo ........................................................................................................................................... 268
  +
6-2. GNOME-Desktop....................................................................................................................................... 269
  +
6-3. Sawfish ....................................................................................................................................................... 270
  +
6-4. GNOME Panel ........................................................................................................................................... 271
  +
6-5. Nautilus ...................................................................................................................................................... 271
  +
6-6. Nautilus ...................................................................................................................................................... 272
  +
6-7. Nautilus ...................................................................................................................................................... 273
  +
6-8. Nautilus ...................................................................................................................................................... 273
  +
6-9. GNOME 2 - Logo ...................................................................................................................................... 275
  +
6-10. GDM 2...................................................................................................................................................... 276
  +
6-11. GDM 2 Konfiguration ............................................................................................................................... 276
  +
6-12. GDM 2 grafisch........................................................................................................................................ 277
  +
6-13. GNOME 2 Splashscreen ........................................................................................................................... 277
  +
6-14. GNOME 2 Desktop.................................................................................................................................. 278
  +
6-15. GNOME 2 Menüs .................................................................................................................................... 279
  +
7-1. KDE 2.2 KDM ........................................................................................................................................... 281
  +
7-2. KDE 2.2 Splashscreen................................................................................................................................ 281
  +
7-3. KDE 2.2 Wizard ......................................................................................................................................... 282
  +
7-4. KDE 2.2 Wizard ......................................................................................................................................... 283
  +
7-5. KDE 2.2 Wizard ......................................................................................................................................... 283
  +
7-6. KDE 2.2 Wizard ......................................................................................................................................... 284
  +
7-7. KDE 2.2 Wizard ......................................................................................................................................... 285
  +
7-8. KDE 2.2 Info .............................................................................................................................................. 285
  +
7-9. KDE 3.0 KDM ........................................................................................................................................... 288
  +
7-10. KDE 3.0 Wizard ....................................................................................................................................... 288
  +
7-11. KDE 3.0 Wizard ....................................................................................................................................... 289
  +
7-12. KDE 3.0 Wizard ....................................................................................................................................... 290
  +
7-13. KDE 3.0 Wizard ....................................................................................................................................... 290
  +
7-14. KDE 3.0 Wizard ....................................................................................................................................... 291
  +
7-15. KDE 3.0 Splashscreen.............................................................................................................................. 292
  +
7-16. KDE 3.0 Info ............................................................................................................................................ 292
  +
8-1. PPPoE Konfiguration - Geräte .................................................................................................................... 304
  +
8-2. PPPoE Konfiguration - Suche ..................................................................................................................... 305
  +
8-3. PPPoE Konfiguration - eth0 Einrichtung .................................................................................................... 306
  +
8-4. PPPoE Konfiguration - Modifikation erlauben ........................................................................................... 307
  +
8-5. PPPoE Konfiguration - Übliche Optionen................................................................................................... 308
  +
8-6. PPPoE Konfiguration - Benutzername ........................................................................................................ 308
  +
8-7. PPPoE Konfiguration - Passwort................................................................................................................. 309
  +
8-8. PPPoE Konfiguration - Nameserver............................................................................................................ 310
  +
8-9. PPPoE Konfiguration - MSS-Größe............................................................................................................ 311
  +
8-10. PPPoE Konfiguration - Automatisch Starten ............................................................................................ 311
  +
8-11. PPPoE Konfiguration - Verbindung herstellen.......................................................................................... 312
  +
8-12. PPP Statusanzeige .................................................................................................................................... 313
  +
8-13. Netscape Communicator ........................................................................................................................... 314
  +
8-14. Mozilla ..................................................................................................................................................... 316
  +
8-15. Galeon Logo............................................................................................................................................. 318
  +
8-16. Galeon Browser........................................................................................................................................ 318
  +
8-17. Galeon Installation ................................................................................................................................... 319
  +
8-18. Galeon Import Bookmarks....................................................................................................................... 320
  +
8-19. Galeon Smart Bookmarks ........................................................................................................................... ??
  +
8-20. Galeon GNOME Integration ..................................................................................................................... 321
  +
xx
  +
8-21. Galeon Proxy Einstellungen..................................................................................................................... 322
  +
8-22. lynx........................................................................................................................................................... 324
  +
8-23. mutt ............................................................................................................................................................ ??
  +
8-24. Netscape - Mail ........................................................................................................................................ 336
  +
8-25. Netscape - Mail/Einstellungen .................................................................................................................. 336
  +
8-26. Netscape - Mail/Einstellungen .................................................................................................................. 337
  +
8-27. Evolution - Startbild ................................................................................................................................. 338
  +
8-28. Evolution - Willkommen.......................................................................................................................... 339
  +
8-29. Evolution - Identität ................................................................................................................................... ??
  +
8-30. Evolution - Erhalten von E-Mail ............................................................................................................... 340
  +
8-31. Evolution - Erhalten von E-Mail ............................................................................................................... 341
  +
8-32. Evolution - Verschicken von E-Mails ......................................................................................................... ??
  +
8-33. Evolution - Zugangsverwaltung ................................................................................................................ 342
  +
8-34. Evolution - Zeitzone................................................................................................................................. 343
  +
8-35. Evolution - Import von Daten ................................................................................................................... 344
  +
8-36. Evolution - Fertig ..................................................................................................................................... 345
  +
8-37. Evolution - Übersicht ............................................................................................................................... 346
  +
8-38. Evolution - E-Mail ................................................................................................................................... 347
  +
8-39. Evolution - Kalender ................................................................................................................................ 348
  +
8-40. GNOME FTP ........................................................................................................................................... 351
  +
8-41. Bluefish .................................................................................................................................................... 353
  +
8-42. Netscape Composer.................................................................................................................................. 354
  +
8-43. Screem...................................................................................................................................................... 354
  +
9-1. CUPS Diagramm........................................................................................................................................ 366
  +
9-2. CUPS Administration - Webinterface ......................................................................................................... 371
  +
9-3. CUPS Administration - Übersicht............................................................................................................... 372
  +
9-4. CUPS Administration - Gruppen (Classes)................................................................................................. 373
  +
9-5. CUPS Administration - Druckaufträge ....................................................................................................... 374
  +
9-6. CUPS Administration - Druckerverwaltung ............................................................................................... 375
  +
9-7. CUPS Administration - Drucker hinzufügen - Name ................................................................................. 375
  +
9-8. CUPS Administration - Drucker hinzufügen - Schnittstelle ....................................................................... 376
  +
9-9. CUPS Administration - Drucker hinzufügen - Hersteller ........................................................................... 376
  +
9-10. CUPS Administration - Drucker hinzufügen - Treiber ............................................................................. 377
  +
9-11. CUPS Administration - Druckerparameter ändern ................................................................................... 378
  +
10-1. The Gimp Menü ....................................................................................................................................... 396
  +
10-2. The Gimp Menü - Datei ............................................................................................................................ 398
  +
10-12. The Gimp Hauptmenü............................................................................................................................ 404
  +
10-13. The Gimp - Farbauswahl........................................................................................................................ 405
  +
10-14. The Gimp Auswahl - Pinsel .................................................................................................................... 405
  +
10-15. The Gimp Auswahl - Muster................................................................................................................... 406
  +
10-16. The Gimp Auswahl - Verlauf .................................................................................................................. 406
  +
10-17. The Gimp Ebenen................................................................................................................................... 408
  +
10-18. The Gimp Menü - Datei/Einstellungen ................................................................................................... 409
  +
10-19. The Gimp - Auswahlwerkzeuge.............................................................................................................. 412
  +
10-20. The Gimp - Auswahlwerkzeug/Rechteck ............................................................................................... 413
  +
10-21. The Gimp - Auswahlwerkzeug/Elipse .................................................................................................... 413
  +
10-22. The Gimp - Auswahlwerkzeug/Freihand ................................................................................................ 414
  +
10-23. The Gimp - Auswahlwerkzeug/Intelligente Auswahl ............................................................................. 414
  +
10-24. The Gimp - Auswahlwerkzeug/Bezier .................................................................................................... 414
  +
10-25. The Gimp - Auswahlwerkzeug/Zauberstab............................................................................................. 415
  +
10-26. xscanimage Auswahl.............................................................................................................................. 418
  +
10-27. xscanimage scannen ............................................................................................................................... 418
  +
10-28. xsane Auswahl........................................................................................................................................ 419
  +
10-29. xsane scannen......................................................................................................................................... 419
  +
10-30. xsane Vorschau....................................................................................................................................... 420
  +
10-31. xsane Gimp Menü .................................................................................................................................. 421
  +
10-32. xsane Gimp Menü .................................................................................................................................. 422
  +
xxi
  +
10-33. gPhoto .................................................................................................................................................... 423
  +
10-34. gPhoto Einstellungen .............................................................................................................................. 423
  +
10-35. gPhoto speichern .................................................................................................................................... 426
  +
10-36. gPhoto drucken....................................................................................................................................... 426
  +
11-1. OpenOffice.org - Splashscreen.................................................................................................................. 428
  +
11-2. .................................................................................................................................................................. 430
  +
11-3. OpenOffice.org - spadmin ......................................................................................................................... 431
  +
11-4. OpenOffice.org - Textverarbeitung............................................................................................................ 431
  +
11-5. .................................................................................................................................................................. 432
  +
11-6. OpenOffice.org - Tabellenkalkulation ....................................................................................................... 433
  +
12-1. AbiWord ................................................................................................................................................... 436
  +
12-2. xpdf........................................................................................................................................................... 437
  +
12-3. Acrobat-Reader ........................................................................................................................................ 439
  +
13-1. Gnumeric Eingabe.................................................................................................................................... 440
  +
13-2. Gnumeric Eingabezeile ............................................................................................................................. 441
  +
13-3. Gnumeric Eingabezeile ............................................................................................................................. 442
  +
14-1. xmms........................................................................................................................................................ 445
  +
14-2. Xmms Playlist .......................................................................................................................................... 447
  +
14-3. Xmms Equalizer....................................................................................................................................... 448
  +
14-4. Xmms OpenGL Plugin............................................................................................................................. 450
  +
14-5. Xmms/Netscape ....................................................................................................................................... 451
  +
14-6. Zinf ........................................................................................................................................................... 452
  +
14-7. Gqmpeg .................................................................................................................................................... 454
  +
14-8. Grip........................................................................................................................................................... 454
  +
14-9. Grip........................................................................................................................................................... 456
  +
14-10. Kino........................................................................................................................................................ 458
  +
14-11. xine ......................................................................................................................................................... 460
  +
14-12. Gnomemeeting ....................................................................................................................................... 461
  +
14-13. Gnomemeeting - Konfiguration 1/4 ........................................................................................................ 461
  +
14-14. Gnomemeeting - Konfiguration 2/4 ........................................................................................................ 462
  +
14-15. Gnomemeeting - Konfiguration 3/4 ........................................................................................................ 463
  +
14-16. Gnomemeeting - Konfiguration 4/4 ........................................................................................................ 464
  +
14-17. Gnomemeeting - Fenster ......................................................................................................................... 465
  +
14-18. Gnomemeeting - Übertragung................................................................................................................. 466
  +
15-1. Kernel SCSI.............................................................................................................................................. 467
  +
15-2. X-CD-Roast.............................................................................................................................................. 469
  +
15-3. X-CD-Roast.............................................................................................................................................. 470
  +
15-4. X-CD-Roast.............................................................................................................................................. 471
  +
15-5. X-CD-Roast.............................................................................................................................................. 473
  +
15-6. X-CD-Roast.............................................................................................................................................. 474
  +
15-7. gcombust .................................................................................................................................................. 475
  +
17-1. MacOS TCP/IP......................................................................................................................................... 496
  +
17-2. MacOS DHCP.......................................................................................................................................... 497
  +
17-3. Gnosamba................................................................................................................................................. 500
  +
17-4. gnomba..................................................................................................................................................... 500
  +
17-5. MacOS Auswahl ...................................................................................................................................... 501
  +
17-6. MacOS Paßwort ....................................................................................................................................... 502
  +
17-7. MacOS Laufwerke ................................................................................................................................... 502
  +
18-1. WMBattery............................................................................................................................................... 504
  +
18-2. Cardinfo.................................................................................................................................................... 505
  +
18-3. USB Kernel Konfiguration ........................................................................................................................ 505
  +
18-4. pi-Address ................................................................................................................................................ 515
  +
18-5. j-pilot Konfiguration................................................................................................................................. 516
  +
18-6. j-pilot Kalender ........................................................................................................................................ 517
  +
18-7. j-pilot Adressen ........................................................................................................................................ 517
  +
18-8. j-pilot Aufgaben ....................................................................................................................................... 518
  +
18-9. j-pilot Suchen ........................................................................................................................................... 519
  +
xxii
  +
18-10. j-pilot Installation ................................................................................................................................... 519
  +
19-1. rcconf........................................................................................................................................................ 527
  +
19-2. Webmin - Spracheinstellung ..................................................................................................................... 542
  +
19-3. Kategorie Webmin.................................................................................................................................... 542
  +
19-4. Kategorie Webmin - Actions Log ............................................................................................................. 543
  +
19-5. Kategorie Webmin - Benutzer................................................................................................................... 544
  +
19-6. Kategorie Webmin - Konfiguration ........................................................................................................... 545
  +
19-7. Kategorie Webmin - Konfiguration - IP-Zugriffskontrolle ....................................................................... 545
  +
19-8. Kategorie Webmin - Konfiguration - Anschluss und Adresse .................................................................. 546
  +
19-9. Kategorie Webmin - Konfiguration - Protokollierung............................................................................... 547
  +
19-10. Kategorie Webmin - Konfiguration - Proxyserver .................................................................................. 547
  +
19-11. Kategorie Webmin - Konfiguration - Benutzerschnittstelle .................................................................... 548
  +
19-12. Kategorie Webmin - Konfiguration - Module ......................................................................................... 549
  +
19-13. Kategorie Webmin - Konfiguration - Betriebssystem ............................................................................. 550
  +
19-14. Webmin - Spracheinstellung ................................................................................................................... 551
  +
19-15. Webmin - Indexseitenoptionen............................................................................................................... 552
  +
19-16. Webmin - Webmin aktualisieren ............................................................................................................. 552
  +
19-17. Webmin - Authentication ........................................................................................................................ 553
  +
19-18. Webmin - Reassign Modules................................................................................................................... 554
  +
19-19. Webmin - Edit Categories ....................................................................................................................... 555
  +
19-20. Webmin - Webmin Themes..................................................................................................................... 556
  +
19-21. Webmin - Trusted Referers ..................................................................................................................... 557
  +
19-22. Kategorie Webmin - Servers ................................................................................................................... 557
  +
19-23. Kategorie Webmin - System.................................................................................................................... 558
  +
19-24. Kategorie Webmin - System - Benutzer und Gruppen............................................................................ 559
  +
19-25. Kategorie Webmin - System - Benutzer und Gruppen - ändern.............................................................. 559
  +
19-26. Kategorie Webmin - System - Benutzer und Gruppen - Batch ............................................................... 560
  +
19-27. Kategorie Webmin - System - Benutzer und Gruppen - Anmeldungen.................................................. 561
  +
19-28. Kategorie Webmin - System - Passwörter ändern................................................................................... 562
  +
19-29. Kategorie Webmin - System - Cron-Jobs................................................................................................ 562
  +
19-30. Kategorie Webmin - System - Laufende Prozesse .................................................................................. 563
  +
19-31. Kategorie Webmin - System - Prozessinformationen ............................................................................. 564
  +
19-32. Kategorie Webmin - System - NFS-Exporte........................................................................................... 565
  +
19-33. Kategorie Webmin - System - PAM-Authentification............................................................................. 565
  +
19-34. Kategorie Webmin - System - Edit PAM Service ................................................................................... 565
  +
19-35. Kategorie Server..................................................................................................................................... 566
  +
19-36. Kategorie Server - Apache ...................................................................................................................... 567
  +
19-37. Kategorie Server - Apache - Prozesse und Grenzwerte .......................................................................... 568
  +
19-38. Kategorie Server - Apache - Netzwerk und Adressen ............................................................................ 570
  +
19-39. Kategorie Server - Apache - Apache-Module......................................................................................... 571
  +
19-40. Kategorie Server - Apache - MIME-Typen............................................................................................. 572
  +
19-41. Kategorie Server - Apache - Verschiedenes ............................................................................................ 572
  +
19-42. Kategorie Server - Apache - CGI ............................................................................................................ 573
  +
19-43. Kategorie Server - Apache - Per-Verzeichniseinstellungen .................................................................... 574
  +
19-44. Kategorie Server - Apache - Apache-Module neu konfigurieren............................................................ 575
  +
19-45. Kategorie Server - Apache - Definierte Parameter bearbeiten ................................................................ 576
  +
19-46. Kategorie Server - Postfix ....................................................................................................................... 576
  +
19-47. Postfix Mailserver - Allgemeine Einstellungen ...................................................................................... 577
  +
19-48. Postfix Mailserver - Adressumschreibung und Maskierung ................................................................... 579
  +
19-49. Postfix Mailserver - Mail-Aliases ........................................................................................................... 579
  +
19-50. Postfix Mailserver - Kanonische Verknüpfung ....................................................................................... 580
  +
19-51. Postfix Mailserver - Virtuelle Domänen.................................................................................................. 581
  +
19-52. Postfix Mailserver - Transportverknüpfung ............................................................................................ 582
  +
19-53. Postfix Mailserver - Neu eingerichtete Verknüpfung.............................................................................. 583
  +
19-54. Postfix Mailserver - Lokale Lieferung .................................................................................................... 583
  +
19-55. Postfix Mailserver - Allgemeine Resourcenkontrolle ............................................................................. 584
  +
19-56. Postfix Mailserver - SMTP-Server-Einstellungen................................................................................... 585
  +
xxiii
  +
19-57. Postfix Mailserver - SMTP-Client-Einstellungen ................................................................................... 586
  +
19-58. Postfix Mailserver - Auslieferungsraten.................................................................................................. 587
  +
19-59. Postfix Mailserver - Debugging-Funktionen........................................................................................... 588
  +
19-60. Kategorie Server - DHCP........................................................................................................................ 589
  +
19-61. Kategorie Server - DHCP - Subnet bearbeiten........................................................................................ 590
  +
19-62. Kategorie Server - DHCP - Hosts und Hostgruppen............................................................................... 591
  +
19-63. Kategorie Server - DHCP - Client Einstellungen.................................................................................... 592
  +
19-64. Kategorie Server - DHCP - Vergaben ..................................................................................................... 593
  +
19-65. Kategorie Hardware - Festplatten............................................................................................................ 594
  +
19-66. Kategorie Hardware - IDE-Parameter bearbeiten ................................................................................... 595
  +
19-67. Kategorie Hardware - Partition erstellen................................................................................................. 596
  +
19-68. Kategorie Hardware - Bearbeite Mount .................................................................................................. 596
  +
19-69. Kategorie Hardware - GRUB.................................................................................................................. 597
  +
19-70. Kategorie Hardware - GRUB - Edit Boot Option ................................................................................... 598
  +
19-71. Kategorie Hardware - GRUB - Add Boot Option ................................................................................... 599
  +
19-72. Kategorie Hardware - GRUB - Global Options ...................................................................................... 600
  +
19-73. Kategorie Hardware - GRUB - Install GRUB......................................................................................... 600
  +
19-74. Kategorie Hardware - Lilo ...................................................................................................................... 600
  +
19-75. Kategorie Hardware - Lilo - Boot-Kernel bearbeiten.............................................................................. 601
  +
19-76. Kategorie Hardware - Lilo - Globale Einstellungen ............................................................................... 602
  +
19-77. Kategorie Hardware - Lilo - Konfiguration anwenden............................................................................ 603
  +
19-78. Kategorie Hardware - Netzwerk.............................................................................................................. 603
  +
19-79. Kategorie Hardware - Netzwerk - Netzwerkschnittstellen...................................................................... 603
  +
19-80. Kategorie Hardware - Netzwerk - Aktive Schnittstelle bearbeiten ......................................................... 604
  +
19-81. Kategorie Hardware - Netzwerk - Routing und Gateways...................................................................... 604
  +
19-82. Kategorie Hardware - Netzwerk - DNS-Client ....................................................................................... 605
  +
19-83. Kategorie Hardware - Netzwerk - Host-Adressen .................................................................................. 605
  +
19-84. Kategorie Hardware - Systemzeit............................................................................................................ 606
  +
19-85. Kategorie Hardware - Systemzeit - Konfiguration.................................................................................. 607
  +
19-86. Kategorie Andere ................................................................................................................................... 607
  +
19-87. Kategorie Andere - Command Shell ....................................................................................................... 608
  +
19-88. Kategorie Andere - Eigene Befehle ........................................................................................................ 608
  +
19-89. Kategorie Andere - SSH-/Telnet-Login .................................................................................................. 608
  +
19-90. Kategorie Andere - System und Server Status ........................................................................................ 609
  +
22-1. Digitale Steuerung - Bedienelemente........................................................................................................ 639
  +
22-2. Digitale Steuerung - Kabel 6015/6017...................................................................................................... 640
  +
22-3. Digitale Steuerung - Kabel 6604............................................................................................................... 641
  +
22-4. Digitale Steuerung - j-man Hauptfenster .................................................................................................. 646
  +
22-5. Digitale Steuerung - j-man Lok hinzufügen.............................................................................................. 646
  +
22-6. Digitale Steuerung - j-man Mehrfachcontroler ......................................................................................... 646
  +
22-7. Digitale Steuerung - j-man Goliath ........................................................................................................... 647
  +
22-8. Digitale Steuerung - loco-panel................................................................................................................. 647
  +
22-9. Digitale Steuerung - rcman ....................................................................................................................... 649
  +
22-10. Digitale Steuerung - dtcltiny ................................................................................................................... 650
  +
22-11. Digitale Steuerung - dtcltiny New loco / General ................................................................................... 651
  +
22-12. Digitale Steuerung - dtcltiny New loco / Funcs ...................................................................................... 652
  +
22-13. Digitale Steuerung - dtcltiny New loco / Speeds .................................................................................... 652
  +
xxiv
  +
Über dieses Buch
  +
Dieses Buch beschreibt die Installation des Debian GNU Betriebssystems und führt dann über die Installation
  +
von weiteren Paketen und deren Konfiguration zu einem kompletten, sinnvoll konfiguriertem System. Hierbei
  +
wird besonders Wert darauf gelegt, daß ein hoher Bezug zur Praxis gewahrt bleibt. Es wird nicht auf jedes
  +
einzelne der über 6000 Debian GNU-Pakete eingegangen, noch eine komplette Aufstellung geboten. Anhand
  +
einer gut zusammengestellten Auswahl sinnvoller Komponenten führt das Buch zu einem fertigen System, mit
  +
dem sowohl im Internet gesurft als auch Briefe geschrieben oder auch Grafiken erstellen werden können.
  +
Als Besonderheit wird auch auf die speziellen Anforderungen bei der Installation und Einrichtung von Debian
  +
GNU/Linux auf den verschiedenen Architekturen eingegangen. Debian GNU/Linux ist neben der sehr
  +
verbreiteten PC-Architektur (i386) auch auf anderen Prozessoren lauffähig. Es wird auf die Architekturen
  +
powerpc (Apple PowerPC, IBM RS/6000 ...), m68k (Amiga, Atari, Apple Macintosh) und alpha (DEC Alpha)
  +
eingegangen.
  +
Die Installation wird auf allen Hardwarearchitekturen auf Basis von Debian GNU/Linux beschrieben, zusätzlich
  +
wird für die Intel-Architektur auch die Installation von Debian GNU/Hurd beschrieben.
  +
Dieses Buch wurde komplett mittels Freier Software erstellt. Als Betriebssystems diente dabei natürlich von
  +
Anfang an Debian GNU/Linux. Der Text wurde mittels VIM erfasst und im DocBook Format erstellt. Grafiken
  +
und Screenshots wurden mittels The Gimp erstellt.
  +
Die gedruckte Ausgabe dieses Buches ist in der ersten Auflage bei Addison Wesley erschienen und im
  +
Buchhandel unter dem Titel „Debian GNU/Linux Anwenderhandbuch“ erhältlich gewesen. Sie beschreibt die
  +
Version 2.2 "potato" der Debian GNU/Linux Distribution. Die Originalausgabe der ersten Auflage ist nicht mehr
  +
verfügbar, der Sonderdruck der Buchhandlung Lehmanns ist ebenfalls leider vergriffen. Bei der Buchhandlung
  +
Lehmanns waren auch preisgünstige Bundles dieses Buches zusammen mit CD-ROMs verfügbar.
  +
Momentan wird an einer zweiten Auflage gearbeitet, die digitale Version ist bereits verfügbar. In dieser Auflage
  +
wird auf Debian GNU/Linux 3.0 "woody" eingegangen.
  +
Eine ständig aktualisierte Version dieses Buches finden sie im Internet unter
  +
http://www.openoffice.de/linux/buch/. Weiterhin ist dieses Buch als HTML, PDF und TXT (ab 3.0R1) Version
  +
auf den Debian GNU/Linux CD-ROMs enthalten die von Lehmanns Buchhandlung bezogen werden können.
  +
i
  +
Download / Lokale Kopie
  +
Nicht jeder Leser der digitalen Ausgabe kann oder möchte dieses Buch online im Netz lesen. Die Installation
  +
auf dem lokalen System oder in einem Intranet ist ausdrücklich erlaubt, ja sogar erwünscht. Achten Sie aber
  +
bitte darauf das lokale Kopien in regelmäßigen Abständen aktualisiert werden sollten.
  +
Ähnliches gilt für Kopien auf anderen, frei zugänglichen, Webservern im Netz. Auch dies ist gern gesehen,
  +
solange der Administrator für eine aktuelle Version sorgt. Danke!
  +
Die Debian Pakete zu diesem Buch können auch übers Netz installiert werden, falls Sie ihr System von einer
  +
anderen Debian GNU CD installiert haben. Tragen Sie dazu folgende Zeile in die Datei
  +
/etc/apt/sources.list ein:
  +
deb http://www.openoffice.de/debian/ stable main
  +
Danach können die Pakete dahb-html (HTML-Version), dahb-pdf (PDF-Version) und dahb-txt
  +
(ASCII-Text Version) installiert werden.
  +
Bei einer langsamen Anbindung an das Internet können alternativ zur HTML Version auch die Pakete
  +
dahb-html-content (HTML-Dateien) und dahb-html-pics (Bilder zu den HTML-Dateien) installiert
  +
werden. Bei Aktualisierungen im Text ist so nicht der erneute, komplette Download aller Bilder notwendig.
  +
Wenn Sie noch nicht über ein Debian GNU System verfügen, so finden sich unter
  +
http://www.openoffice.de/linux/packages/ auch Pakete für RPM Systeme wie zum Beispiel RedHat, SuSE oder
  +
Mandrake.
  +
Die HTML Version ist zusätzlich in den Formaten .tgz, .tar.bz2 und .zip auf dem Server verfügbar und
  +
somit auf jedem aktuellen Betriebssystem lesbar.
  +
Auf dieser Seite findet sich auch eine Version des Buches die auf PDAs der Firma 3Com, also dem beliebten
  +
PalmPilot, lesbar ist. Als Viewer für Palm OS steht das Programm „Plucker“ als Freie Software zur Verfügung.
  +
„Plucker“ findet sich unter www.plkr.org/.
  +
ii
  +
Copyright und Lizenz
  +
Copyright (c) 1999, 2000, 2001 by Frank Ronneburg. This material may be distributed only subject to the terms
  +
and conditions set forth in the Open Publication License, v1.0 (8 June 1999) or later (the latest version of which
  +
is available at OpenContent - http://www.opencontent.org/openpub/).
  +
iii
  +
Unterstützung
  +
Dank geht an alle, die mich bei der Arbeit an diesem Buch mit Rat, Tat, Lob und Tips auf technischer und
  +
moralischer Seite unterstützt haben.
  +
Dies waren (in alphabetischer Reihenfolge): Harald Barth, Uwe Bauermann, Roman Beigelbeck, Holger
  +
Blaschka, Wolfgang Borgert, Christoph Claus, Marcus Franke, Ulrich Gehring, Thomas Güttler, Karl-Heinz
  +
Haag, Silvia Hasselbach, Andreas Heck, Guido Hennecke, Sebastian Hetze, Werner Heuser, Thomas Hilke,
  +
Wolfgang Jährling, Uwe Kerstan, Stephan Knoops, Gerd Knorr, Matthias Kranz, Matthias Maisenbacher,
  +
Angelika Meier, Marc F. Neininger, Georg Neis, Mike Neuhaus, Markus Poguntke, Wolfgang Reiser, Wilhelm
  +
Schaefer, Matthias Schmitt, Andreas Schockenhoff Friedemann Schorer, Frank Sertic, Max Moritz Sievers,
  +
Alexander Stielau, Bernd Sommerfeld, Joachim von Thadden, Andreas Tille, Janto Trappe, Urs Tränkner,
  +
Torsten Vogt, Holger Wagemann, Michael Wiedmann, Matthias Wolle, Siegmar Zander.
  +
Dank euch allen!
  +
iv
  +
Kapitel 1. Linux, Debian, Freie Software?
  +
Dieser Abschnitt versucht zur Klärung von Begriffen rund um Linux und Freie Software beizutragen.
  +
1.1. Was ist GNU/Linux?
  +
GNU/Linux ist ein Unix-ähnliches, multiuser/ multitasking Betriebssystem. Es wurde ursprünglich für x86 und
  +
kompatible Architekturen entwickelt. Im Laufe der Zeit wurde GNU/Linux aber auch auf viele andere
  +
Prozessor-Architekturen portiert.
  +
Ein Betriebssystem ist eine Menge von grundlegenden Programmen, die ein Rechner zum Arbeiten benötigt.
  +
Der Kern (kernel) ist das Stück Software, welches für alle Basisaufgaben (Zugriffe auf die Hardware usw.) von
  +
anderen Programmen zuständig ist. Debian verwendet den Linux-Betriebssystemkern, eine Freie Software, die
  +
von Linus Torvalds ins Leben gerufen wurde und heute von über 1000 Programmierern auf der ganzen Welt
  +
weiterentwickelt wird. Ein großer Teil der grundlegenden Anwendungen stammt aus dem GNU Projekt und ist
  +
ebenfalls frei. GNU steht für „GNU is not Unix“ und wurde von Richard Stallman ins Leben gerufen.
  +
1.1.1. Das GNU Projekt
  +
Das GNU Projekt wurde 1983 gestartet, um ein vollständig freies Unix-artiges Betriebssystem zu entwickeln -
  +
das GNU System. Varianten des GNU Systems, die den Linux Kernel verwenden, sind weit verbreitet; obwohl
  +
diese System oft als „Linux“ bezeichnet werden, werden sie korrekter als GNU/Linux Systeme bezeichnet.
  +
Richard Stallman kündigte den Start des Projektes durch folgenden Text in den Newsgroup
  +
net.unix-wizards und net.usoft an:
  +
From CSvax:pur-ee:inuxc!ixn5c!ihnp4!houxm!mhuxi!eagle!mit-vax!mit-eddie!RMS@MIT-OZ
  +
From: RMS%MIT-OZ@mit-eddie
  +
Newsgroups: net.unix-wizards,net.usoft
  +
Subject: new UNIX implementation
  +
Date: Tue, 27-Sep-83 12:35:59 EST
  +
Organization: MIT AI Lab, Cambridge, MA
  +
Free Unix!
  +
Starting this Thanksgiving I am going to write a complete
  +
Unix-compatible software system called GNU (for Gnu’s Not Unix), and
  +
give it away free to everyone who can use it. Contributions of time,
  +
money, programs and equipment are greatly needed.
  +
To begin with, GNU will be a kernel plus all the utilities needed to
  +
write and run C programs: editor, shell, C compiler, linker,
  +
assembler, and a few other things. After this we will add a text
  +
formatter, a YACC, an Empire game, a spreadsheet, and hundreds of
  +
other things. We hope to supply, eventually, everything useful that
  +
normally comes with a Unix system, and anything else useful, including
  +
on-line and hardcopy documentation.
  +
GNU will be able to run Unix programs, but will not be identical
  +
to Unix. We will make all improvements that are convenient, based
  +
on our experience with other operating systems. In particular,
  +
we plan to have longer filenames, file version numbers, a crashproof
  +
file system, filename completion perhaps, terminal-independent
  +
display support, and eventually a Lisp-based window system through
  +
which several Lisp programs and ordinary Unix programs can share a screen.
  +
Both C and Lisp will be available as system programming languages.
  +
We will have network software based on MIT’s chaosnet protocol,
  +
far superior to UUCP. We may also have something compatible
  +
with UUCP.
  +
1
  +
Kapitel 1. Linux, Debian, Freie Software?
  +
Who Am I?
  +
I am Richard Stallman, inventor of the original much-imitated EMACS
  +
editor, now at the Artificial Intelligence Lab at MIT. I have worked
  +
extensively on compilers, editors, debuggers, command interpreters, the
  +
Incompatible Timesharing System and the Lisp Machine operating system.
  +
I pioneered terminal-independent display support in ITS. In addition I
  +
have implemented one crashproof file system and two window systems for
  +
Lisp machines.
  +
Why I Must Write GNU
  +
I consider that the golden rule requires that if I like a program I
  +
must share it with other people who like it. I cannot in good
  +
conscience sign a nondisclosure agreement or a software license
  +
agreement.
  +
So that I can continue to use computers without violating my principles,
  +
I have decided to put together a sufficient body of free software so that
  +
I will be able to get along without any software that is not free.
  +
How You Can Contribute
  +
I am asking computer manufacturers for donations of machines and money.
  +
I’m asking individuals for donations of programs and work.
  +
One computer manufacturer has already offered to provide a machine. But
  +
we could use more. One consequence you can expect if you donate
  +
machines is that GNU will run on them at an early date. The machine had
  +
better be able to operate in a residential area, and not require
  +
sophisticated cooling or power.
  +
Individual programmers can contribute by writing a compatible duplicate
  +
of some Unix utility and giving it to me. For most projects, such
  +
part-time distributed work would be very hard to coordinate; the
  +
independently-written parts would not work together. But for the
  +
particular task of replacing Unix, this problem is absent. Most
  +
interface specifications are fixed by Unix compatibility. If each
  +
contribution works with the rest of Unix, it will probably work
  +
with the rest of GNU.
  +
If I get donations of money, I may be able to hire a few people full or
  +
part time. The salary won’t be high, but I’m looking for people for
  +
whom knowing they are helping humanity is as important as money. I view
  +
this as a way of enabling dedicated people to devote their full energies to
  +
working on GNU by sparing them the need to make a living in another way.
  +
For more information, contact me.
  +
Arpanet mail:
  +
RMS@MIT-MC.ARPA
  +
Usenet:
  +
...!mit-eddie!RMS@OZ
  +
...!mit-vax!RMS@OZ
  +
US Snail:
  +
Richard Stallman
  +
166 Prospect St
  +
Cambridge, MA 02139
  +
2
  +
Kapitel 1. Linux, Debian, Freie Software?
  +
Um die juristischen und organisatorischen Aspekte des GNU-Projektes zu betreuen sowie um die Verbreitung
  +
von und das Verständnis für Freie Software zu fördern, gründete sich die Free Software Foundation. Über die
  +
Free Software Foundation entstand die GNU General Public License (GPL) und die GNU Lesser General
  +
Public License ( LGPL, ursprünglich GNU Library General Public License genannt), die sich weltweit als die
  +
meistverwandten Lizenzen für Freie Software etablieren konnten.
  +
Neben der GPL gibt es noch etliche andere Lizenzen, die diese Freiheiten gewähren und sich somit als
  +
Lizenzen für Freie Software qualifizieren. Von diesen sollte speziell die FreeBSD-Lizenz erwähnt werden,
  +
deren Hauptunterschied zur GPL ist, daß sie die Freiheit nicht zu schützen sucht.
  +
Das GNU-Projekt setzt sich zusammen aus Unterprojekten, die von Freiwilligen oder Unternehmen betreut
  +
werden und zumeist der Erstellung und Pflege einer funktionalen Komponente dienen. Diese Unterprojekte
  +
werden wiederum als „GNU Projekte“ oder „offizielle GNU Projekte“ bezeichnet.
  +
Der Name des GNU-Projektes leitet sich von dem rekursiven Akronym „GNU’s Not Unix“, also „GNU ist nicht
  +
Unix“ ab. Da Unix ursprünglich nicht nur eine Art von Systemen sondern auch ein kommerzielles Produkt
  +
bezeichnete, war dies dazu gedacht, klar zu machen, daß das GNU-Projekt ein System schaffen soll, welches
  +
zwar kompatibel zu aber nicht identisch mit Unix ist.
  +
1.1.2. Free Software Foundation
  +
Die Free Software Foundation ( http://www.fsf.org/) ist eine steuerfreie, gemeinnützige Organisation, die
  +
Kapital für die Arbeit am GNU Projekt aufbringt.
  +
Die FSF Europe http://www.fsfeurope.org/, widmet sich den europäischen Aktivitäten im Bereich Freie
  +
Software. Als offizielle Schwesterorganisation der Free Software Foundation in den Vereinigten Staaten wird
  +
sie ihre Aktivitäten im Umkreis des GNU-Projekts konzentrieren, aber nicht auf diese beschränken. Die FSF
  +
Europe nahm am 10.März 2001 den Betrieb auf.
  +
Die Hauptaufgaben der FSF Europe sind es, Initiativen Freier Software in Europa zu koordinieren, ein
  +
Kompetenzzentrum für Politiker und Journalisten bereitzustellen und Infrastruktur für Freie-Software-Projekte
  +
und speziell das GNU-Projekt zur Verfügung zu stellen.
  +
1.1.3. Geschichte des Linux Kernels
  +
Leider ist heute nicht mehr der genaue Tag bekannt an dem Linus Benedict Torvalds (alle Welt nennt ihn nur
  +
Linus, also nicht wundern wenn nicht immer der ganze Name genannt wird) mit der Entwicklung des Linux
  +
Kernels begann. Jedoch läßt folgendes Posting aus dem Usenet schon recht genau auf die ersten Aktivitäten
  +
schliessen:
  +
From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)
  +
Newsgroups: comp.os.minix
  +
Subject: Gcc-1.40 and a posix-question
  +
Message-ID: <1991Jul3.100050.9886@klaava.Helsinki.FI>
  +
Date: 3 Jul 91 10:00:50 GMT
  +
Hello netlanders,
  +
Due to a project I’m working on (in minix), I’m interested in the posix
  +
standard definition. Could somebody please point me to a (preferably)
  +
machine-readable format of the latest posix rules? Ftp-sites would be
  +
nice.
  +
Die erste Version des Linux Kernels wurde von Linus Torvalds am 17. September 1991 im Usenet angekündigt.
  +
Bereits kurz darauf fanden sich einige kompetente Helfer, die begeistert an der Entwicklung teilnahmen.
  +
From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)
  +
Newsgroups: comp.os.minix
  +
Subject: What would you like to see most in minix?
  +
3
  +
Kapitel 1. Linux, Debian, Freie Software?
  +
Summary: small poll for my new operating system
  +
Message-ID: <1991Aug25.205708.9541@klaava.Helsinki.FI>
  +
Date: 25 Aug 91 20:57:08 GMT
  +
Organization: University of Helsinki
  +
Hello everybody out there using minix -
  +
I’m doing a (free) operating system (just a hobby, won’t be big and
  +
professional like gnu) for 386(486) AT clones. This has been brewing
  +
since april, and is starting to get ready. I’d like any feedback on
  +
things people like/dislike in minix, as my OS resembles it somewhat
  +
(same physical layout of the file-system (due to practical reasons)
  +
among other things).
  +
I’ve currently ported bash(1.08) and gcc(1.40), and things seem to work.
  +
This implies that I’ll get something practical within a few months, and
  +
I’d like to know what features most people would want. Any suggestions
  +
are welcome, but I won’t promise I’ll implement them :-)
  +
Linus (torvalds@kruuna.helsinki.fi)
  +
PS. Yes - it’s free of any minix code, and it has a multi-threaded fs.
  +
It is NOT protable (uses 386 task switching etc), and it probably never
  +
will support anything other than AT-harddisks, as that’s all I have :-(.
  +
Einen Überblick über die Geschichte der Linux Entwicklung soll folgende Auflistung bieten:
  +
Urknall
  +
3. Juli 1991
  +
Einige Gerätetreiber sowie der Festplattentreiber und einige User-Level Funktionen sind implementiert.
  +
0.01
  +
17. September 1991
  +
Linus veröffentlicht die Version 0.01 des Kernels für einen kleinen Kreis von Leuten die Interesse an der
  +
weiteren Entwicklung bekundet haben. Natürlich ist das Archiv mit dieser historischen Version auch heute
  +
noch verfügbar: http://www.kernel.org/pub/linux/kernel/Historic/linux-0.01.tar.gz.
  +
0.02
  +
05. Oktober 1991
  +
Die erste „offizielle“ Version des Linux Kernels erscheint. Mit dieser Version laufen bereits die bash, gcc,
  +
gnu-make, gnu-sed und compress. Linus kündigt diese Version durch folgendes Posting im Usenet an:
  +
From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)
  +
Newsgroups: comp.os.minix
  +
Subject: Free minix-like kernel sources for 386-AT
  +
Message-ID: <1991Oct5.054106.4647@klaava.Helsinki.FI>
  +
Date: 5 Oct 91 05:41:06 GMT
  +
Organization: University of Helsinki
  +
Do you pine for the nice days of minix-1.1, when men were men and wrote
  +
their own device drivers? Are you without a nice project and just dying
  +
to cut your teeth on a OS you can try to modify for your needs? Are you
  +
finding it frustrating when everything works on minix? No more allnighters
  +
to get a nifty program working? Then this post might be just
  +
for you :-)
  +
As I mentioned a month(?) ago, I’m working on a free version of a
  +
minix-lookalike for AT-386 computers. It has finally reached the stage
  +
where it’s even usable (though may not be depending on what you want),
  +
and I am willing to put out the sources for wider distribution. It is
  +
4
  +
Kapitel 1. Linux, Debian, Freie Software?
  +
just version 0.02 (+1 (very small) patch already), but I’ve successfully
  +
run bash/gcc/gnu-make/gnu-sed/compress etc under it.
  +
Sources for this pet project of mine can be found at nic.funet.fi
  +
(128.214.6.100) in the directory /pub/OS/Linux. The directory also
  +
contains some README-file and a couple of binaries to work under linux
  +
(bash, update and gcc, what more can you ask for :-). Full kernel
  +
source is provided, as no minix code has been used. Library sources are
  +
only partially free, so that cannot be distributed currently. The
  +
system is able to compile "as-is" and has been known to work. Heh.
  +
Sources to the binaries (bash and gcc) can be found at the same place in
  +
/pub/gnu.
  +
ALERT! WARNING! NOTE! These sources still need minix-386 to be compiled
  +
(and gcc-1.40, possibly 1.37.1, haven’t tested), and you need minix to
  +
set it up if you want to run it, so it is not yet a standalone system
  +
for those of you without minix. I’m working on it. You also need to be
  +
something of a hacker to set it up (?), so for those hoping for an
  +
alternative to minix-386, please ignore me. It is currently meant for
  +
hackers interested in operating systems and 386’s with access to minix.
  +
The system needs an AT-compatible harddisk (IDE is fine) and EGA/VGA. If
  +
you are still interested, please ftp the README/RELNOTES, and/or mail me
  +
for additional info.
  +
I can (well, almost) hear you asking yourselves "why?". Hurd will be
  +
out in a year (or two, or next month, who knows), and I’ve already got
  +
minix. This is a program for hackers by a hacker. I’ve enjouyed doing
  +
it, and somebody might enjoy looking at it and even modifying it for
  +
their own needs. It is still small enough to understand, use and
  +
modify, and I’m looking forward to any comments you might have.
  +
I’m also interested in hearing from anybody who has written any of the
  +
utilities/library functions for minix. If your efforts are freely
  +
distributable (under copyright or even public domain), I’d like to hear
  +
from you, so I can add them to the system. I’m using Earl Chews estdio
  +
right now (thanks for a nice and working system Earl), and similar works
  +
will be very wellcome. Your (C)’s will of course be left intact. Drop me
  +
a line if you are willing to let me use your code.
  +
Linus
  +
PS. to PHIL NELSON! I’m unable to get through to you, and keep getting
  +
"forward error - strawberry unknown domain" or something.
  +
0.03
  +
26. Oktober 1991
  +
Eine weitere schon benutzbare Version.
  +
0.10
  +
November 1991
  +
0.11
  +
19. Dezember 1991
  +
Dieses war die erste Version die eigenständig, ohne zuhilfenahme eines anderen Betriebssystemes,
  +
lauffähig war. Es gab keinen SCSI Support, aber einige Entwickler arbeiteten bereits daran. Voraussetzung
  +
war also eine AT-Bus Festplatte.
  +
Es gab weder init noch login, nach den Systemstart landete man direkt in einer bash. Es gab Ansätze
  +
für die Implementierung von Virtual Memory, es waren aber mindestens 4MB RAM (vier!) notwendig um
  +
5
  +
Kapitel 1. Linux, Debian, Freie Software?
  +
GNU Programme, insbesondere den GCC benutzen zu können. Ein einfacher Systemstart war aber auch
  +
schon mit 2MB möglich.
  +
0.11+VM
  +
Dezember (Weihnachten) 1991
  +
Da viele Leute versuchten den Kernel mit nur 2MB RAM zu übersetzen und dies fehlschlug, wurde diese
  +
Version einigen Leuten zugänglich gemacht um die virtuelle Speicherverwaltung zu testen.
  +
0.12
  +
05. Januar 1992
  +
Dies war die erste Version die mehr Funktionen hatte als unbedingt benötigt werden. Mit dieser Version
  +
wurde der Kernel unter die GPL gestellt. Die ältere Lizenz unter der der Kernel stand war in vielen
  +
Punkten deutlich strenger.
  +
0.95
  +
März 1992
  +
0.96
  +
April 1992
  +
Dies war die erste Version mit der es möglich war das X-Window System zu betreiben.
  +
1.1.4. Linux oder Minix?
  +
Am 29. Januar 1992 postete Professor Andrew Tanenbaum, der Entwickler von Minix, in der Newsgroup
  +
comp.os.minix einen Artikel der sich zu einer längerem Diskussion ausweitete. Minix war zu dieser Zeit ein
  +
Unix-Artiges Betriebssystem welches von Tanenbaum zu Lehrzwecken entwickelt wurde.
  +
Hier nun das ursprüngliche Posting von Professor Tanenbaum, der interessierte Leser findet den kompletten
  +
Thread unter http://alge.anart.no/linux/history/linux_is_obsolete.txt.
  +
From: ast@cs.vu.nl (Andy Tanenbaum)
  +
Newsgroups: comp.os.minix
  +
Subject: LINUX is obsolete
  +
Date: 29 Jan 92 12:12:50 GMT
  +
Organization: Fac. Wiskunde & Informatica, Vrije Universiteit, Amsterdam
  +
I was in the U.S. for a couple of weeks, so I haven’t commented much on
  +
LINUX (not that I would have said much had I been around), but for what
  +
it is worth, I have a couple of comments now.
  +
As most of you know, for me MINIX is a hobby, something that I do in the
  +
evening when I get bored writing books and there are no major wars,
  +
revolutions, or senate hearings being televised live on CNN. My real
  +
job is a professor and researcher in the area of operating systems.
  +
As a result of my occupation, I think I know a bit about where operating
  +
are going in the next decade or so. Two aspects stand out:
  +
6
  +
Kapitel 1. Linux, Debian, Freie Software?
  +
1. MICROKERNEL VS MONOLITHIC SYSTEM
  +
Most older operating systems are monolithic, that is, the whole operating
  +
system is a single a.out file that runs in ’kernel mode.’ This binary
  +
contains the process management, memory management, file system and the
  +
rest. Examples of such systems are UNIX, MS-DOS, VMS, MVS, OS/360,
  +
MULTICS, and many more.
  +
The alternative is a microkernel-based system, in which most of the OS
  +
runs as separate processes, mostly outside the kernel. They communicate
  +
by message passing. The kernel’s job is to handle the message passing,
  +
interrupt handling, low-level process management, and possibly the I/O.
  +
Examples of this design are the RC4000, Amoeba, Chorus, Mach, and the
  +
not-yet-released Windows/NT.
  +
While I could go into a long story here about the relative merits of the
  +
two designs, suffice it to say that among the people who actually design
  +
operating systems, the debate is essentially over. Microkernels have won.
  +
The only real argument for monolithic systems was performance, and there
  +
is now enough evidence showing that microkernel systems can be just as
  +
fast as monolithic systems (e.g., Rick Rashid has published papers comparing
  +
Mach 3.0 to monolithic systems) that it is now all over but the shoutin‘.
  +
MINIX is a microkernel-based system. The file system and memory management
  +
are separate processes, running outside the kernel. The I/O drivers are
  +
also separate processes (in the kernel, but only because the brain-dead
  +
nature of the Intel CPUs makes that difficult to do otherwise). LINUX is
  +
a monolithic style system. This is a giant step back into the 1970s.
  +
That is like taking an existing, working C program and rewriting it in
  +
BASIC. To me, writing a monolithic system in 1991 is a truly poor idea.
  +
2. PORTABILITY
  +
Once upon a time there was the 4004 CPU. When it grew up it became an
  +
8008. Then it underwent plastic surgery and became the 8080. It begat
  +
the 8086, which begat the 8088, which begat the 80286, which begat the
  +
80386, which begat the 80486, and so on unto the N-th generation. In
  +
the meantime, RISC chips happened, and some of them are running at over
  +
100 MIPS. Speeds of 200 MIPS and more are likely in the coming years.
  +
These things are not going to suddenly vanish. What is going to happen
  +
is that they will gradually take over from the 80x86 line. They will
  +
run old MS-DOS programs by interpreting the 80386 in software. (I even
  +
wrote my own IBM PC simulator in C, which you can get by FTP from
  +
ftp.cs.vu.nl = 192.31.231.42 in dir minix/simulator.) I think it is a
  +
gross error to design an OS for any specific architecture, since that is
  +
not going to be around all that long.
  +
MINIX was designed to be reasonably portable, and has been ported from the
  +
Intel line to the 680x0 (Atari, Amiga, Macintosh), SPARC, and NS32016.
  +
LINUX is tied fairly closely to the 80x86. Not the way to go.
  +
Don‘t get me wrong, I am not unhappy with LINUX. It will get all the people
  +
who want to turn MINIX in BSD UNIX off my back. But in all honesty, I would
  +
suggest that people who want a **MODERN** "free" OS look around for a
  +
microkernel-based, portable OS, like maybe GNU or something like that.
  +
Andy Tanenbaum (ast@cs.vu.nl)
  +
P.S. Just as a random aside, Amoeba has a UNIX emulator (running in user
  +
space), but it is far from complete. If there are any people who would
  +
like to work on that, please let me know. To run Amoeba you need a few 386s,
  +
one of which needs 16M, and all of which need the WD Ethernet card.
  +
7
  +
Kapitel 1. Linux, Debian, Freie Software?
  +
1.1.5. Linux ®
  +
1996-1997 gab es große Verwirrung um den Begriff Linux. Das bei IDG Books erschiene Buch von Naba
  +
Barkakati, „Linux Secrets“ trug auf dem Cover den Text: „Linux is a registered trademark of William R. Della
  +
Croce, Jr.“. Tatsächlich hatte Mr. Croce den Begriff Linux schützen lassen. Glücklicherweise klärte sich das
  +
Problem aber dadurch das die Rechte an Linus abgetreten wurden. Auch zu dieser Geschichte finden sich einige
  +
Dokumente im Netz:
  +
Is Linux trademarked?, Linux Journal, Nov 1996, Petition to cancel trademark , Action Taken on Linux
  +
Trademark, Linux Journal, Mar 1997, Linux Trademark Dispute, Linux Journal, Aug 1997 und Ownership of
  +
Linux Trademark Resolved, Linux Journal, Nov 1997.
  +
1.1.6. Und dieser Pinguin...?
  +
Anfang 1996 waren einige Leute auf der Linux Kernel Mailingliste der Meinung es sei Zeit für ein Linux Logo
  +
oder ein Maskottchen. Wie viele solche mehr „phylosophischen“ Diskussionen ergab sich hieraus eine längere
  +
Diskussion.
  +
Linus legte seine Vorstellungen in folgender Mail am 9. Mai 1996 dar:
  +
Re: Linux Logo prototype.
  +
Linus Torvalds (torvalds@cs.helsinki.fi)
  +
Thu, 9 May 1996 17:48:56 +0300 (EET DST)
  +
Somebody had a logo competition announcement, maybe people can send
  +
their ideas to a web-site..
  +
Anyway, this one looks like the poor penguin is not really strong
  +
enough to hold up the world, and it’s going to get squashed. Not a
  +
good, positive logo, in that respect..
  +
Now, when you think about penguins, first take a deep calming breath,
  +
and then think "cuddly". Take another breath, and think
  +
"cute". Go back to "cuddly" for a while (and go on breathing), then
  +
think "contented".
  +
With me so far? Good..
  +
Now, with penguins, (cuddly such), "contented" means it has either
  +
just gotten laid, or it’s stuffed on herring. Take it from me, I’m an
  +
expert on penguins, those are really the only two options.
  +
Now, working on that angle, we don’t really want to be associated
  +
with a randy penguin (well, we do, but it’s not politic, so we
  +
won’t), so we should be looking at the "stuffed to its brim with
  +
herring" angle here.
  +
So when you think "penguin", you should be imagining a slighly overweight
  +
penguin (*), sitting down after having gorged itself, and
  +
having just burped. It’s sitting there with a beatific smile - the world
  +
is a good place to be when you have just eaten a few gallons
  +
of raw fish and you can feel another "burp" coming.
  +
(*) Not FAT, but you should be able to see that it’s sitting down because
  +
it’s really too stuffed to stand up. Think "bean bag" here.
  +
Now, if you have problems associating yourself with something that gets
  +
off by eating raw fish, think "chocolate" or something, but
  +
you get the idea.
  +
8
  +
Kapitel 1. Linux, Debian, Freie Software?
  +
Ok, so we should be thinking of a lovable, cuddly, stuffed penguin
  +
sitting down after having gorged itself on herring. Still with me?
  +
NOW comes the hard part. With this image firmly etched on your
  +
eyeballs, you then scetch a stylizied version of it. Not a lot of
  +
detail - just a black brush-type outline (you know the effect you
  +
get with a brush where the thickness of the line varies). THAT
  +
requires talent. Give people the outline, and they should say
  +
[ sickly sweet voice, babytalk almost ]"Ooh, what a cuddly penguin, I
  +
bet he is just _stuffed_ with herring", and small children will
  +
jump up and down and scream "mommy mommy, can I have one too?".
  +
Then we can do a larger version with some more detail (maybe leaning
  +
against a globe of the world, but I don’t think we really want
  +
to give any "macho penguin" image here about Atlas or anything). That
  +
more detailed version can spank billy-boy to tears for all I
  +
care, or play ice-hockey with the FreeBSD demon. But the simple,
  +
single penguin would be the logo, and the others would just be
  +
that cuddly penguin being used as an actor in some tableau.
  +
Linus
  +
Die Meinungen ob grade ein Pinguin geeignet wäre Linux nach aussen hin darzustellen gingen auseinander. Es
  +
gab die verschiedensten Entwürfe, in den verschiedensten Abwandlungen.
  +
Abbildung 1-1. Tux - der Pinguin
  +
Linus Torvalds setzte sich schlußendlich durch und so kam es zu einem Pinguin als Logo für Linux. Folgendes
  +
Statement von Linus beendete schlieslich die Diskussion.
  +
Re: Linux Logo
  +
Linus Torvalds (torvalds@cs.helsinki.fi)
  +
Sun, 12 May 1996 09:39:19 +0300 (EET DST)
  +
9
  +
Kapitel 1. Linux, Debian, Freie Software?
  +
Umm.. You don’t have any gap to fill in.
  +
"Linus likes penguins". That’s it. There was even a headline on it in some
  +
Linux Journal some time ago (I was bitten by a Killer Penguin in Australia -
  +
I’m not kidding). Penguins are fun.
  +
As to why use a penguin as a logo? No good reason, really. But a logo doesn’t
  +
really ave to _mean_ anything - it’s the association that counts. And I can
  +
think of many worse things than have linux being associated with penguins.
  +
Having a penguin as a logo also gives more freedom to people wanting to use
  +
linux-related material: instead of being firmly fixed with a specific logo
  +
(the triangle, or just "Linux 2.0" or some other abstract thing), using
  +
something like a penguin gives people the chance to make modifications that
  +
are still recognizable.
  +
So you can have a real live penguin on a CD cover, for example, and people
  +
will get the association. Or you can have a penguin that does something
  +
specific (a Penguin writing on wordperfect for the WP Linux CD, whatever -
  +
you get the idea).
  +
Compare that to a more abstract logo (like the windows logo - it’s not a
  +
bad logo in itself). You can’t really do anything with a logo like that.
  +
It just "is".
  +
Anyway, go to "http://www.isc.tamu.edu/~lewing/linux/" for some nice examples..
  +
Linus
  +
Nun brauchte das Kind noch einen Namen. Der erste Hinweiß auf den Namen „Tux“ findet sich in folgender
  +
E-Mail:
  +
Re: Let’s name the penguin! (was: Re: Linux 2.0 really _is_ released..)
  +
James Hughes (jamesh@interpath.com)
  +
Mon, 10 Jun 1996 20:25:52 -0400
  +
(T)orvolds (U)ni(X) --> TUX!
  +
Dieser Name wurde dann auch von der Community akzeptiert. Es gibt noch viele nette Geschichten um das
  +
Linux Logo und den Kult der sich darum entwickelt hat. Neben Stofftierchen und Schlüsselanhänger gibt es
  +
mittlerweile Linux Pinguine in allen nur denkbaren Erscheinungsformen.
  +
Unter http://www.woodsoup.org/projs/tux_aqfh/doc/ finden sich weitere Linux und Informationen zu Tux.
  +
1.2. Was ist Debian GNU?
  +
Debian ist ein freies Betriebssystem (OS) für Ihren Rechner. Ein Betriebssystem ist eine Menge von
  +
grundlegenden Programmen, die Ihr Rechner zum Arbeiten benötigt. Debian verwendet den
  +
Linux-Betriebssystemkern, aber die meisten grundlegenden Systemwerkzeuge stammen aus dem GNU-Projekt;
  +
daher der Name GNU/Linux.
  +
Debian GNU/Linux ist mehr als nur ein Betriebssystem: Es enthält einige tausend Softwarepakete,
  +
vorkompilierte Software in einfach zu installierenden Paketen.
  +
Das Debian-Projekt ist eine Gemeinschaft von Individuen die in Gemeinschaftsarbeit ein freies Betriebssystem
  +
entwickeln. Dieses Betriebssystem wird Debian GNU/Linux genannt, oder einfach nur Debian.
  +
10
  +
Kapitel 1. Linux, Debian, Freie Software?
  +
Debian-Systeme verwenden im Augenblick den Linux-Kern. Linux ist ein von Linus Torvalds begonnenes
  +
komplett freies Stück Software, das von tausenden Programmierern weltweit unterstützt wird.
  +
Im Gegensatz zu anderen Linux-Distributionen wird Debian GNU, ähnlich wie der eigentliche Linux-Kernel,
  +
von einer großen Gruppe von Freiwilligen auf der ganzen Welt zusammengestellt. Eine Übersicht über die
  +
weltweite Verteilung der Entwickler ist in der Weltkarte der Entwickler dargestellt. Auf Basis dieser Daten
  +
wurden von Edward Betts weitere Auswertungen vorgenommen und Grafiken erstellt. Aus diesen ist
  +
beispielsweise ersichtlich das der durchschnittliche Debian Entwickler kurz vor der Küste von Grönland lebt...
  +
Der Ergebnisse dieser kuriosen Forschung finden sich auf Edwards Webseite
  +
http://people.debian.org/~edward/average/.
  +
Für die Kommunikation der Entwickler untereinander und die Verteilung der Pakete dient das Internet. Für
  +
jedes der (mittlerweise einige tausend) Debian GNU-Pakete gibt es einen sogenannten „Maintainer“, der dieses
  +
Paket betreut. Viele der Maintainer betreuen auch mehrere Pakete.
  +
Die Debian-Entwickler haben ihren hohen Anspruch an die freie Verbreitung von Debian im Debian Social
  +
Contract festgeschrieben. Sie finden die deutsche Übersetzung im Anhang.
  +
1.2.1. Der Name „Debian“
  +
Der Name „Debian“ stammt vom Schöpfer der Distribution, Ian Murdock, der den Namen aus dem Namen
  +
seiner Frau, Debra, und seinem Vornamen bildete (Deb-Ian). Die offizielle Aussprache für den Namen ist: „deb
  +
ee n“.
  +
1.2.2. Die Geschichte von Debian
  +
Debian 0.01 bis 0.90
  +
(August-Dezember 1993): Das Debian Projekt wurde offiziell von Ian Murdock am 16. August 1993
  +
gegründet. Ian Murdock began diese neue Distribution als offenes Entwicklungsprojekt, ganz im Sinne des
  +
GNU- oder auch des Linux-Kernel Projektes. Dieses Ziel erfüllte zu dieser Zeit keine andere Distribution.
  +
Das Debian Projekt wurde vom November 1994 an, vom GNU Projekt der FSF ( Free Software
  +
Foundation) für 12 Monate gesponsort.
  +
Debian 0.91
  +
(Januar 1994): diese Version hatte ein einfaches Paketsystem, mit dem Pakete installiert und gelöscht
  +
werden konnten. Ein paar Dutzend Entwickler arbeiteten zu dieser Zeit an Debian.
  +
Debian 0.93R5
  +
(März 1995): Zu dieser Zeit waren für jedes Paket ein oder mehrere Entwickler zuständig. Das
  +
Paketmanagement wurde über dpkg abgewickelt, welches nach der Basisinstallation eingesetzt wird.
  +
Im August 1995 startete Hartmut Koptein die erste Portierung von Debian GNU/Linux auf eine Nicht-Intel
  +
Plattform. Hartmut schreib zu seinen ersten Versuchen mit der m68k Architektur: „Many, many packages
  +
were i386-centric (little endian, -m486, -O6 and all for libc4) and it was a hard time to get a starting base
  +
of packages on my machine (an Atari Medusa 68040, 32 MHz). After three months (in November 1995), I
  +
uploaded 200 packages from 250 available packages, all for libc5!“
  +
Später startete er, zusammen mit Vincent Renardias und Martin Schulze, eine weitere Portierung, diesmal
  +
auf die PowerPC Platform.
  +
Debian 0.93R6
  +
(November 1995): dselect wurde eingeführt. Dies war die letzte Debian-Version, die noch auf dem
  +
Binärformat a.out basierte. Circa 60 Entwickler arbeiten an Debian GNU/Linux.
  +
11
  +
Kapitel 1. Linux, Debian, Freie Software?
  +
Debian 1.1
  +
Buzz (Juni 1996): Die erste Version mit einem sogenannten Codenamen. Wie alle späteren stammt auch
  +
dieser Codename aus dem Film „Toy Story“. Diese Idee wurde von Bruce Perens, der zu dieser Zeit der
  +
„Project Leader“ war, eingeführt. Diese Version benutzte ausschließlich das neue ELF-Format sowie die
  +
Kernel Version 2.0 und umfaßte 474 Pakete.
  +
Ian kommentierte den neuen Project Leader wie folgt: „Bruce was the natural choice to succeed me, as he
  +
had been maintaining the base system for nearly a year, and he had been picking up the slack as the amount
  +
of time I could devote to Debian declined rapidly.“
  +
Bruce initiierte viele wichtige Projekte innerhalb des Debian Projektes, hierzu gehören die Debian Free
  +
Software Guidelines, der Debian Social Contract, das Open Hardware Project. Weiterhin war Bruce
  +
massgeblich an der Bildung von SPI ( Software in the Public Interest, Inc.) beteiligt.
  +
Debian 1.2
  +
Rex (Dezember 1996): 848 Pakete, 120 Entwickler.
  +
Debian 1.3
  +
Bo (Juli 1997): 974 Pakete, 200 Entwickler.
  +
Debian 2.0
  +
Hamm (Juli 1998): Die erste Debian-Version, die neben der i386-Architektur auch die
  +
m68k-Rechnerfamilie, also Amiga, Atari und Macintosh Computer, unterstützte. Diese Version, mit Ian
  +
Jackson als Project Leader, basierte bereits auf der glibc2 (oder aus historischer Sicht: libc6), hatte über
  +
1500 Pakete, und circa 400 Entwickler stellten die Pakete zusammen.
  +
Wichert Akkerman lösste Ian Jackson als Project Leader im Januar 1999 ab.
  +
Debian 2.1
  +
Slink (09 März 1999): Ab dieser Version wurden zusätzlich die Architekturen Alpha und Sparc unterstützt.
  +
Project Leader war Wichert Akkerman, 2250 Pakete gehörten zu dieser Version, die auf 2 offiziellen CDs
  +
ausgeliefert wurde. Weiterhin gehörte ab dieser Version apt - als neues Programm zur Paketverwaltung -
  +
zum Umfang.
  +
Aufgrund einiger unerwarteter Fehler, die in der letzten Minute entdeckt wurden, ist das Erscheinen von
  +
Debian 2.1 um eine Woche verschoben worden. Ursprünglich war der 02.03.1999 als Termin ins Auge
  +
gefasst worden. Der entscheidende Fehler war, daß dpkg, der Packetmanager, nur funktioniert, wenn die
  +
Ortsangabe „locale“" auf der Standardeinstellung ist.
  +
Es war den Entwicklern wichtiger, den Ruf der absolute Fehlerfreiheit von Debian zu retten als den Termin
  +
einzuhalten.
  +
Am 21. April 1999 bildeten die Firma Corel, das K Desktop Projekt (KDE) und das Debian Projekt eine
  +
Allianz nachdem Corel verkündete eine eigene Linux Distribution auf Debian-Basis herauszubringen. Im
  +
Laufe des Sommers erschien mit Storm Linux (www.stormix.com) eine weitere, auf Debian basierende
  +
Linux-Distribution.
  +
Zur gleichen Zeit gab sich das Debian Projekt auch ein neues Logo, diesmal in doppelter Ausfertigung. Ein
  +
offizielles Logo für die Webseiten und alle von Debian erstellten Materialien und ein unoffizielles Logo für
  +
Materialien von anderen Herstellern.
  +
Debian 2.2
  +
Potato (15. August 2000): Apt ist hier zentraler Bestandteil. Die Anzahl der Pakete wurde gegenüber der
  +
Version 2.1 fast verdoppelt. Integration von GNOME, glibc 2.1, Kernel 2.2.13/14, XFree 3.3.6
  +
Mit dieser Version wurden auch die Architekturen PowerPC und Arm freigegeben.
  +
12
  +
Kapitel 1. Linux, Debian, Freie Software?
  +
Diese Version ist Joel Klecker gewidmet, einem Debian-Entwickler, der unerwartet im Alter von 21 Jahren
  +
starb ( http://www.debian.org/News/2000/20000815).
  +
Die Release 1 (Debian GNU/Linux 2.2 R1) wurde am 14.11.2000 freigegeben, die Release 2 folgte am
  +
05.12.2000. Die letzte Version, Release 3 folgte am 17.04.2001.
  +
Am 29. März 2001 wurde Ben Collins zum neuen Debian Project Leader (DPL) gewählt.
  +
Die Release 3 wurde vom Pressesprecher des Projektes, Martin „Joey“ Schulze in folgender Mail
  +
angekündigt:
  +
Date: Tue, 17 Apr 2001 00:43:00 +0200
  +
From: Martin Schulze <joey@finlandia.infodrom.north.de>
  +
To: Debian Announcements <debian-announce@lists.debian.org>
  +
Subject: Debian GNU/Linux 2.2r3 released
  +
Content-Length: 4923
  +
Lines: 134
  +
------------------------------------------------------------------------
  +
The Debian Project http://www.debian.org/
  +
Debian GNU/Linux 2.2r3 released press@debian.org
  +
April 17, 2001
  +
------------------------------------------------------------------------
  +
The third revision of Debian GNU/Linux 2.2 (nickname ‘potato’) has
  +
been released. This point release, version 2.2r3, mostly includes
  +
security updates, along with a few corrections to important bugs in
  +
the stable distribution.
  +
Upgrading to this revision online can be done by pointing the ‘apt’
  +
package tool (see sources.list(5) manual page) to one of Debian’s many
  +
FTP mirrors. A list is available at:
  +
<http://www.debian.org/distrib/ftplist>
  +
Security Updates
  +
This release contains the following security updates, for which the
  +
Security Team has released the advisory listed.
  +
Debian Security Advisory ID Package(s)
  +
DSA 004 nano
  +
DSA 005 slocate
  +
DSA 008 dialog
  +
DSA 009 stunnel
  +
DSA 010 gnupg
  +
DSA 011 mgetty
  +
DSA 012 micq
  +
DSA 013 mysql, mysql-gpl
  +
DSA 014 splitvt
  +
DSA 015 sash
  +
DSA 016 wu-ftpd
  +
DSA 017 jazip
  +
DSA 018 tinyproxy
  +
DSA 019 squid
  +
DSA 021 apache, apache-ssl
  +
DSA 022 exmh
  +
DSA 024 cron
  +
DSA 025 openssh
  +
DSA 026 bind
  +
DSA 027 openssh
  +
DSA 028 man-db
  +
DSA 029 proftpd
  +
DSA 030 xfree86
  +
13
  +
Kapitel 1. Linux, Debian, Freie Software?
  +
DSA 031 sudo
  +
DSA 032 proftpd
  +
DSA 033 analog
  +
DSA 034 eperl
  +
DSA 035 man2html
  +
DSA 036 mc, gmc
  +
DSA 037 nextaw, xaw3d, xaw95
  +
DSA 038 sgml-tools
  +
DSA 039 glibc
  +
DSA 040 slrn
  +
DSA 042 gnuserv, xemacs21
  +
DSA 044 mailx
  +
DSA 047 kernel
  +
19 Nov 2000 cupsys
  +
21 Nov 2000 ethereal
  +
20 Nov 2000 tcpdump
  +
Miscellaneous Bugfixes
  +
acroread Corrected NLS handling
  +
aview Corrected dependencies
  +
boot-floppies Many improvements
  +
cslatex Important correction
  +
elvis-tiny Corrected file recovery
  +
glibc Corrected security upload
  +
mtools Corrected for arm architecture
  +
netpbm,-nonfree hpcdtoppm is non-free, sorry
  +
nvi Fixes potential file corruption
  +
postfix Fixes potential black hole for mails
  +
postgresql Fixes potential data loss
  +
python Fixes file creation problem
  +
syslog-ng Fixes potential DoS problem
  +
w3m, w3m-ssl Fixes old security problem
  +
watchdog Fixes suspicious reboots
  +
xpdf, xpdf-i Correction to security update
  +
xtide Fix copyright violation
  +
xviddetect Added support for more graphic cards
  +
yaboot Fixes a serious booting bug
  +
A complete list of all accepted and rejected packages together with
  +
rationale can be found here:
  +
<http://people.debian.org/~joey/2.2r3/>
  +
URLs
  +
A complete list of the packages that have changed with this
  +
release can be found at:
  +
<http://http.us.debian.org/debian/dists/Debian2.2r3/ChangeLog>
  +
<http://non-us.debian.org/debian-non-US/dists/Debian2.2r3/non-US/ChangeLog>
  +
The current stable distribution can be found at:
  +
<ftp://ftp.debian.org/debian/dists/stable>
  +
<ftp://non-us.debian.org/debian-non-US/dists/stable>
  +
Proposed updates to the stable distribution can be found at:
  +
<ftp:/ftp.debian.org/debian/dists/proposed-updates>
  +
<ftp:/non-us.debian.org/debian-non-US/dists/proposed-updates>
  +
Stable distribution information (release notes, errata, etc.):
  +
14
  +
Kapitel 1. Linux, Debian, Freie Software?
  +
<http://www.debian.org/releases/stable/>
  +
Security announcements and information:
  +
<http://security.debian.org/>
  +
About Debian
  +
The Debian Project is an organization of free software developers who
  +
volunteer their time and effort in order to produce completely free
  +
operating systems Debian GNU/Linux and Debian GNU/Hurd.
  +
Contact Information
  +
For further information, please visit the Debian web pages at
  +
<http://www.debian.org/> or send mail to <press@debian.org>.
  +
Am 5. November 2001 erschien die Release 4 von Debian 2.2. Die dazugehörige Pressemitteilung findet
  +
sich unter http://www.debian.org/News/2001/20011105. Dieses Release, Revision 2.2r4, enthält
  +
hauptsächlich Sicherheits-Updates sowie Korrekturen von einigen ernsthaften Fehlern in der stabilen
  +
Distribution.
  +
Die fünfte Revision von Debian GNU/Linux 2.2 (Codename ‘potato’) wurde am 10. Januar 2002
  +
freigegeben. Diese Revision enthält hauptsächlich Sicherheits-Aktualisierungen sowie Korrekturen von
  +
einigen ernsthaften Fehlern in der stabilen Distribution. Benutzer, die regelmäßig von security.debian.org
  +
aktualisieren, werden kaum Pakete aktualisieren müssen. Eine Übersicht der aktualisierten Pakete findet
  +
sich unter http://www.debian.org/News/2002/20020110.
  +
Mit der sechsten Release wurde am 3. April 2002 eine weitere Aktualisierung der „potato“ Release
  +
freigegeben. Eine Übersicht der veränderten Pakete (auch bei dieser Release handelt es sich dabei
  +
größtenteils um Sicherheitskritische Veränderungen) ist unter
  +
http://http.us.debian.org/debian/dists/Debian2.2r6/ChangeLog und
  +
http://non-us.debian.org/debian-non-US/dists/Debian2.2r6/non-US/ChangeLog zu finden.
  +
Noch vor der Freigabe von Debian 3.0 erschien am 13. Juli 2002 die siebte Release von Debian 2.2. Diese
  +
Revision enthält hauptsächlich Sicherheits-Aktualisierungen sowie Korrekturen von einigen ernsthaften
  +
Fehlern in der stabilen Distribution.
  +
Debian 3.0
  +
Woody wurde am 19.07.2002, nach fast zwei Jahren Entwicklungszeit freigegeben. Der Codename für
  +
diese Version wurde mit dem Codefreeze von Potato am 15.01.2000 festgelegt. Am 01.07.2001 startete
  +
Anthony Towns (der Release Manager dieser Version) mit folgender Mail die „Freeze“-Phase dieser
  +
Version:
  +
To: debian-devel-announce@lists.debian.org
  +
Subject: Debian 3.0 (woody) Freeze Begins
  +
From: Anthony Towns <ajt@debian.org>
  +
Date: Sun, 1 Jul 2001 11:04:48 +1000
  +
Mail-Followup-To: debian-devel-announce@lists.debian.org
  +
Sender: Anthony Towns <aj@azure.humbug.org.au>
  +
User-Agent: Mutt/1.2.5i
  +
Hello world, and welcome to a new week, a new month, and a new phase of
  +
woody’s development cycle.
  +
Welcome to the woody freeze.
  +
As previously proposed, the freeze will proceed in four phases: first
  +
policy will be frozen, followed by the base system, followed by standard
  +
installs, and concluding with the remainder of Debian. The aim of this
  +
first part of the freeze is to finalise our expectations of the release
  +
15
  +
Kapitel 1. Linux, Debian, Freie Software?
  +
(what we want packages to look like, what architectures we’re going to
  +
release) and to prepare ourselves for the freezing the base system by
  +
ensuring that the base system is releasable.
  +
Note that this does *not* involve a freeze on package development yet:
  +
bugfixes, and new features are still welcome, and will continue being
  +
added to woody in the usual way. What it does mean is that your packages
  +
will be frozen in the near future, so now is probably a good time to
  +
limit yourself to only introducing new features that have already been
  +
heavily tested upstream, and fixing bugs.
  +
In detail, the goals for this phase are:
  +
* Finalise debian-policy: accept any further proposals that woody
  +
packages should concern themselves with; and ensure -policy is a
  +
useful document for people working on quality assurance.
  +
Deadline: final version of debian-policy for woody needs to be
  +
uploaded to the archive by July 21st.
  +
* Finalise our target architectures. As well as alpha, arm, i386,
  +
m68k, powerpc and sparc, we have the opportunity to include ia64
  +
(Intel’s new 64bit Itanium architecture), hppa (HP’s PA-RISC
  +
architecture), mips and mipsel (SGI and Decstation machines), too.
  +
Requirements for inclusion in woody are fairly simple and have been
  +
met, or are close to being met, by all those architectures. For
  +
reference, they are: a working, relatively stable toolchain,
  +
a usable system (including all of base and standard; and a fair
  +
chunk of optional and extra), and a functional install. (Hurd people,
  +
see below)
  +
Deadline: someone from each architecture that wants to release
  +
needs to mail -release with their current status, and a successful
  +
install report by July 24th.
  +
* Determine whether cryptographic software can be moved from
  +
non-US/main to main. Ben Collins (project leader) is hustling this
  +
through the appropriate avenues.
  +
Deadline: legal advice needs to be obtained by July 21st.
  +
* Ensure the base system is releasable on all architectures:
  +
this means making sure we know what packages, exactly, the base
  +
system consists of on all architectures; and fixing any and all
  +
release critical bugs (ie, with severities critical, grave or
  +
serious) in those packages.
  +
Deadline: base packages need to be free of RC bugs by July 21st.
  +
If all goes well, the next phase will begin on the 1st of August. If
  +
all goes incredibly well, we’ll release in November. Ha ha ha.
  +
The main risk that may affect moving on to the next phase is the
  +
possiblity of finding release critical bugs in the base system that
  +
take significant amounts of time to fix.
  +
As you’ve noticed by a careful analysis of the subject line, the woody
  +
release will be numbered Debian 3.0, in recognition of the large number
  +
of changes made since potato. This is, to put it mildly, a somewhat
  +
controversial decision, but it’s one I get to make. Personally, I’m
  +
pretty happy with the way woody’s progressing, and I think by the time
  +
it’s released it’ll easily live up to that number -- and by that I mean
  +
16
  +
Kapitel 1. Linux, Debian, Freie Software?
  +
the "3", not the ".0".
  +
On the subject of controversial decisions, one I’m not going to make today
  +
is what to call the release after woody. That one will be made when woody
  +
is released and a new testing distribution is forked from woody. Besides
  +
which, I still haven’t gotten around to rewatching Toy Story.
  +
While I may not be too concerned one way or another about the name of the
  +
next release, I do have some ideas about how it might be good to handle
  +
the next release. My overriding goal for this release was to manage to
  +
get a short, controllable freeze; one that we can get over and done with
  +
in a few months, rather than letting it drag on for seven months with no
  +
end in sight, but this came at a cost of letting the development cycle
  +
go on for quite a while: ten and a half months, as it turned out. For
  +
the next cycle (assuming this freeze actually turns out to be relatively
  +
short and controlled), I think it would be interesting to see if we can
  +
do the same thing again, with a short (2 or 3 month) development cycle,
  +
for a 5 to 7 month release cycle.
  +
Which would mean you mightn’t need to worry too much about not getting
  +
the neat new feature you were planning on working on into woody, if
  +
that’s any consolation.
  +
And on that note, I’m inclined to think Hurd is probably better off
  +
targetting the next freeze, (in, say, six to eight months from today)
  +
rather than woody. In particular, Hurd is at present both a difficult
  +
target to port to (and thus has a quite limited range of software when
  +
compared to the Linux ports of Debian) and isn’t able to self install.
  +
In short, the freeze, she is begun. Have at it.
  +
Cheers,
  +
aj
  +
--
  +
Anthony Towns <ajt@debian.org>
  +
Debian Release Manager
  +
Am 16. Dezember 2002 folgte die erste Release von Debian 3.0. Hier wurde einige kleinere Probleme
  +
behoben und einige Pakete aktualisiert. Mit der sofort darauf folgenden Release 1a erschienen einige neu
  +
erstellte Pakete auf den Servern nachdem sich kleinere Probleme ergeben hatten. Die meisten Nutzer
  +
bemerkten dies jedoch garnicht...
  +
Debian 3.1
  +
Als Sarge wird die folgende Debian Version bezeichnet, die Entwicklung hat begonnen.
  +
1.2.3. Organisation
  +
Der offene Character der Debian Distribution legt die Vermutung nahe das die Entwicklung ungeordnet oder gar
  +
chaotisch organisiert ist. Das Gegenteil ist der Fall. Eine fest definierte Struktur legt Aufgabenbereiche,
  +
Verantwortlichkeiten und Zuständigkeiten fest. Folgende Grafik gibt einen Überblick über de Organisation:
  +
17
  +
Kapitel 1. Linux, Debian, Freie Software?
  +
Abbildung 1-2. Organisation des Debian Teams
  +
1.2.4. Codenamen
  +
Wie schon kurz beschrieben stammen die Codenamen der Debian Distribution aus dem Film „Toy Story“ der
  +
Firma Pixar. Folgende Figuren wurden bisher benutzt:
  +
buzz
  +
Buzz Lightyear der Astronaut
  +
rex
  +
der Dinosaurier
  +
bo
  +
Bo Peep das Mädchen welches das Schaf behütet
  +
hamm
  +
das Schweinchen
  +
slink
  +
Slinky Dog der Spielzeug Hund
  +
potato
  +
Mr. Potato Head die Kartoffel
  +
woody
  +
der Cowboy
  +
sarge
  +
der grüne Soldat
  +
Weiterhin wird noch der Name sid verwendet, dies ist der Junge von nebenan der Spielzeug zerstört... Der
  +
Name Sid wird für die jeweils in der Entwicklung befindliche Verison verwendet, deshalb steht der Name Sid
  +
auch für „Still in development“.
  +
18
  +
Kapitel 1. Linux, Debian, Freie Software?
  +
1.2.5. Debian für alle!
  +
Debian GNU/Linux stellt in doppelter Hinsicht ein Betriebssystem für alle dar.
  +
Die vollkommen freie Verfügbarkeit des Systems macht es auch für den kleinsten Geldbeutel möglich, an ein
  +
umfangreiches System mit vielen hundert Programmen zu kommen. CD-ROMs sind schon für wenige Euro
  +
erhältlich. Die Preise für Debian GNU/Linux-CDs liegen meist unter denen anderer Distributionen. Dies liegt
  +
nicht daran, daß Debian GNU/Linux minderwertiger ist. Hinter Debian steht keine Firma, die Geld verdienen
  +
muß, um zu existieren. Das Kopieren der CDs von Freunden oder Bekannten ist möglich und sogar erwünscht!
  +
Die Lizenz erlaubt die Installation von Debian GNU/Linux auf beliebig vielen Computern.
  +
Ein weiterer Punkt ist die Verfügbarkeit von Debian GNU/Linux für die unterschiedlichsten
  +
Hardware-Architekturen. Somit läßt sich Debian GNU/Linux auf (fast) jedem vorhandenen Computer
  +
installieren. Die Palette reicht hierbei von normalen, i386 basierten (Intel, AMD, Cyrix usw.) Maschinen, über
  +
PowerPC (Apple PowerMac, IBM RS/6000...), Sun Sparc und UltraSparc, DEC Alpha bis hinunter zu älteren,
  +
auf dem Motorola 68000er-Prozessor basierenden Systemen wie Amiga, Atari oder ältere Apple-Rechnern, mit
  +
mindestens einer Motorola 68020 CPU und einer MMU (Memory Management Unit), zum Beispiel Amiga
  +
3000/4000, Macintosh SE/30 usw.
  +
Momentan ist Debian GNU/Linux auf folgenden Architekturen verfügbar, bzw. wird auf diese portiert:
  +
Intel x86 („i386“)
  +
Die erste Architektur für die Debian GNU/Linux verfügbar war.
  +
IA-64 („ia64“, http://www.debian.org/ports/ia64/)
  +
Die Intel 64 Bit Architektur, eine relativ neue Portierung.
  +
DEC Alpha („alpha“, http://www.debian.org/ports/alpha/)
  +
Der erste Release erfolgte mit Debian 2.1. Eine der länger bestehenden Portierungen, und ziemlich stabil.
  +
ARM („arm“, http://www.debian.org/ports/arm/)
  +
Wurde mit „potato“ freigegeben. Eine neue Portierung, motiviert durch Corels interessante NetWinder
  +
Maschine.
  +
Motorola m68k („m68k“, http://www.debian.org/ports/m68k/)
  +
Erster Release mit der Debian Version 2.0. Der am meisten etablierte Port nach dem Intel x86. Der Debian
  +
m68k Port läuft auf einer großen Bandbreite von Computern, die auf der Motorola 68k Prozessorfamilie
  +
basieren - im besonderen die Sun3 Workstationfamilie, die Apple Macintosh Personal-Computer, und die
  +
Atari und Amiga Personal-Computer.
  +
MIPS („mips“, http://www.debian.org/ports/mips/)
  +
Relative neue Portierung, die in SGI Computern (debian-mips - big-endian) und Digital DecStations
  +
(debian-mipsel - little-endian) verwendet wird.
  +
HP PA-RISC („hppa“, http://www.debian.org/ports/hppa/)
  +
Eine Portierung von Debian GNU/Linux auf die PA-RISC wurde gerade begonnen. Die Webseiten des
  +
Projektes finden sich unter http://parisc-linux.org/.
  +
Motorola/IBM PowerPC („powerpc“, http://www.debian.org/ports/powerpc/)
  +
Debian/PowerPC wurde mit Debian 2.2 („potato“) das erste Mal offiziell veröffentlicht. Die Portierung
  +
läuft auf vielen der Apple Macintosh PowerMac Modellen, den CHRP- und PReP-Rechnern sowie
  +
beispielsweise auf einigen IBM RS/6000 Maschinen.
  +
Sun SPARC („sparc“, http://www.debian.org/ports/sparc/)
  +
Zum ersten Mal mit Debian 2.1 veröffentlicht. Diese Portierung läuft sowohl auf der SPARCstation
  +
Familie von Workstations, als auch auf einem Teil ihrer Nachfolger in der Sun4 Architektur.
  +
19
  +
Kapitel 1. Linux, Debian, Freie Software?
  +
Sun UltraSPARC („sparc64“, http://www.debian.org/ports/sparc64/)
  +
Dies ist auch der Beginn einer Portierung auf die Sun UltraSPARC (sun4u) Workstation-Familie. Dieser
  +
64bit Prozessor hat den Vorteil der Rückwärts-Kompatibilität mit seinem Vorgänger, so daß die
  +
UltraSPARC Portierung in der Lage sein wird, Sparc Binärfiles auszuführen.
  +
S/390 („s390“, http://www.debian.org/ports/s390/)
  +
Ein Port von Debian GNU/Linux auf die S/390-Architektur (IBM Großrechner) wird gerade begonnen.
  +
Weitere Portierungen des Debian GNU Systems, die nicht die Hardware betreffen sondern statt dem Linux
  +
Kernel einen alternativen Kernel benutzen, sind:
  +
Debian GNU/Hurd („hurd-i386“, http://www.debian.org/ports/hurd/)
  +
GNU Hurd ist eine völlig neues Betriebssystem, das von der GNU Gruppe aufgebaut wird. In der Tat ist
  +
GNU Hurd die letzte Komponente, die es möglich macht, ein komplettes GNU Betriebssystem aufzubauen
  +
- und Debian GNU/Hurd wird ein solches (vielleicht sogar das Erste) GNU Betriebssystem sein. Das
  +
gegenwärtige Projekt ist auf der i386 Architektur aufgebaut.
  +
Debian GNU/NetBSD, (http://www.debian.org/ports/netbsd/)
  +
Dies ist eine Portierung des Debian Betriebssystems inklusive apt, dpkg und GNU-Software auf den
  +
NetBSD-Kernel. Sie befindet sich im Augenblick in einem sehr vorläufigem Stadium, aber da NetBSD ein
  +
Produktionslevel-Kernel ist, sollte sich die Verwendbarkeit von Debian GNU/NetBSD sehr rasch
  +
entwickeln. Im Augenblick ist Debian GNU/NetBSD für Intel x86 am weitesten fortgeschritten, aber die
  +
Arbeit an der Unterstützung für Alpha-basierende Computer hat bereits begonnen.
  +
Debian GNU/MiNT, (http://debian-mint.nocrew.org/)
  +
Dies ist eine experimentelle Portierung von Debian auf Basis des MiNT-Kernels, ein Unix-artiger Kernel
  +
für Atari m68k Computer.
  +
Debian Beowulf, (http://www.debian.org/ports/beowulf/)
  +
Obwohl nicht wirklich eine Portierung, so wird Beowulf doch ein Ersatz für viele Großrechner in
  +
Forschung und Entwicklung sein. Dieses Projekt arbeitet daran, Beowulf-Cluster unter Debian laufen zu
  +
lassen.
  +
Die Installation unterscheidet sich auf den verschiedenen Architekturen nur in der Aufteilung der Festplatte
  +
sowie im ersten Starten des Linux Kernels. Sobald das Debian GNU/Linux-Installationsprogramm gestartet ist,
  +
gestaltet sich die weitere Installation auf allen Architekturen gleich. In diesem Buch werden die notwendigen
  +
Schritte für einige Architekturen beschrieben.
  +
Natürlich gibt es, durch die unterschiedliche Hardware der verschiedenen Architekturen, einige Details zu
  +
beachten, aber dies ist auch bei unterschiedlichen i386-basierten Systemen der Fall. Beispielsweise trifft man
  +
bei der i386er-Familie auf diverse verschiedene Typen von Mäusen. Verbreitet sind hier Geräte mit seriellen und
  +
mit PS/2-Anschlüssen. Auf Apple Macintosh (m68k und powerpc) wird die Maus über den sogenannten
  +
ADB-Anschluß versorgt, die entsprechende Gerätedatei hierzu ist /dev/adbmouse.
  +
Man sollte sich also keinesfalls von der Lektüre dieses Buches oder der Installation von Debian GNU/Linux
  +
abhalten lassen, auch wenn man keinen i386-basierten Computer sein eigen nennt...
  +
Debian GNU/Linux wird aber auch den verschiedenen Ansprüchen an freie Software gerecht. Wenn Sie ein
  +
System mit 100% freier Software aufsetzen wollen, so wird Sie Debian GNU/Linux dabei unterstützen. Alle
  +
Programme im Bereich main sind von den Maintainern (Betreuern) der Pakete geprüft und entsprechend der
  +
Lizenz in diesen Bereich aufgenommen worden. Pakete in diesem Bereich unterliegen beispielsweise keinerlei
  +
Einschränkungen in der Nutzung oder in der Verteilung. Sie können diese zur Entwicklung von Gentechnik
  +
verwenden und diese Software in jedes Land der Welt exportieren oder von dort importieren. Man kann geteilter
  +
Meinung darüber sein, ob man Gentechnik unterstützen will oder nicht, die Lizenz zur Software läßt Ihnen aber
  +
jeden Weg frei...
  +
20
  +
Kapitel 1. Linux, Debian, Freie Software?
  +
1.2.6. Vorteile von Debian
  +
Die Debian Distribution ist allgemein als qualitativ sehr hochwertig anerkannt. Administratoren die bereits auf
  +
Debian setzen wissen die Vorteile zu schätzen. Trotzdem kommt es häufig zu Diskussionen warum dieser
  +
Distribution der Vorzug gegenüber anderen, kommerziellen Distributionen gegeben werden sollte. Insbesondere
  +
bei strategischen Entscheidungen, beispielsweise der Umstellung oder Aktualisierung von einer großen Anzahl
  +
von Systemen, können die folgenden Fakten als Argumentationsgrundlage helfen.
  +
Das Debian Team hat die Vorteile von Debian auf der Webseite http://www.debian.org/intro/why_debian
  +
zusammengefasst.
  +
Debian wird von den Benutzern gewartet
  +
Das komplette Debian System wird von den Benutzern selber entwickelt. Einige hundert Entwickler
  +
betreuen jeweils ein oder mehrere Programmpakete die auch von dem jeweiligen Entwickler selbst
  +
eingesetzt werden. Daraus resultiert ein hohes Interesse an der Funktions- und Integrationsfähigkeit eines
  +
jeden Paketes. Sollte dennoch ein Problem auftauchen so wird der Entwickler mit Sicherheit ein hohes,
  +
persönliches Interesse an der schnellen Beseitigung des Problems haben.
  +
Zuverlässigkeit zuerst
  +
Debian setzt auf eine konservative Auswahl von Komponenten. Es ist wichtiger das das Gesamtsystem in
  +
jedem Fall funktioniert, auch wenn dafür an manchen Stellen auf etwas Komfort verzichtet werden muß.
  +
Als Beispiel sei hier die Verwendung des Kernels 2.2.x auch noch in der Debian Release 3.0 genannt. Auf
  +
den Einsatz des Kernels in der Version 2.4.x wurde verzichtet da das Team der Meinung ist das die neue
  +
Version noch nicht ausgereift genug ist und auch der Kernel 2.2 alle notwendigen Funktionen mitbringt.
  +
Natürlich stehen Pakete mit dem Kernel 2.4 zur Verfügung, diese können bei Bedarf einfach installiert
  +
werden.
  +
Lange Releasezyklen
  +
Die Lebensdauer einer Debian Version beträgt bisher mindestens ein Jahr. Debian 2.2 (potato) „überlebte“
  +
sogar über 18 Monate. Dies bedeutet einen guten Investitionsschutz in die geleistete Arbeit. Natürlich
  +
bedeutet dies nicht das diese Version veraltet oder gar unsicher ist, Softwareupdates werden umgehend bei
  +
Bedarf zur Verfügung gestellt und können sehr einfach installiert werden.
  +
Sicherheit
  +
Debian nimmt die Sicherheit sehr ernst. Der grösste Teil der Probleme, auf die das Team aufmerksam wird,
  +
ist innerhalb von 48 Stunden korrigiert.
  +
Die Erfahrung zeigt, dass „Sicherheit durch Verschleierung“ (englisch: „security trough obscurity“) nicht
  +
funktioniert. Die öffentliche Entschleierung erlaubt es, bessere Lösungen für Sicherheits-Probleme
  +
schneller zu finden. Die Seite http://www.debian.org/security/ zeigt den Stand von Debian in bezug auf
  +
verschiedene bekannte Sicherheits-Mängel, die auch Debian betreffen könnten.
  +
Um die neuesten Debian Sicherheitsgutachten zu erhalten, tragen Sie sich in die debian-security-announce
  +
Mailing-Liste ein. Sie können apt verwenden, um ganz einfach die neuesten Sicherheitsupdates
  +
einzuspielen.
  +
Bitte schicken Sie sicherheitsspezifische Fehlermeldungen an security@debian.org. (Entwickler mögen die
  +
Mailing-Listen „debian-security“ und „debian-security-private“ verwenden, um die Mitglieder des
  +
Security Teams über Probleme in ihren Paketen zu informieren.)
  +
Einfach Installation
  +
Wenn Sie gehört haben, Linux und speziell Debian sei schwierig zu installieren, dann haben Sie noch keine
  +
aktuelle Debian-Version ausprobiert. Der Installations-Vorgang wird stetig verbessert. Sie können die
  +
Installation direkt von DOS, von CD oder über das Netzwerk vornehmen. Die Beschränkung auf den
  +
kleinsten gemeinsamen Nenner garantiert die Funktion auf jeder Hardware.
  +
21
  +
Kapitel 1. Linux, Debian, Freie Software?
  +
Upgradefähigkeit
  +
Ein Debian GNU System kann mit verschiedenen Methoden auf eine neue Version (beispielsweise von 2.2
  +
auf 3.0) aktualisiert werden. Dies kann per CD-ROM oder per Netzwerk von einem Server erfolgen. Ein
  +
Neustart des Systems ist dabei nicht erforderlich. Auch Aktualisierungen über mehrere Versionen hinweg,
  +
beispielsweise von 1.3 direkt auch die Version 3.0, sind durch das ausgereifte Paketmanagement möglich.
  +
Dies ist im kommerziellen Umfeld ein nicht zu unterschätzender Vorteil, da so bestehende Systeme mit
  +
einer minimalen Downtime auf den aktuellen Stand gebracht werden können.
  +
Vergleiche mit andere Distributionen haben gezeigt das dies ein einmaliges Feature von Debian ist.
  +
Verfügbarkeit
  +
Debian ist nicht nur auf CD-ROMs verfügbar. Über 150 FTP Server weltweit stellen diese Distribution zur
  +
Verfügung, einer davon steht sicher auch in Ihrer Nähe. Ein Liste finden Sie unter
  +
http://www.debian.org/misc/README.mirrors.
  +
Architekturen
  +
Debian ist für die verschiedensten Hardwarearchitekturen verfügbar und unterstützt neben dem Linux
  +
Kernel beispielsweise auch den Hurd-Kernel (siehe Debian für alle!)
  +
Ein Administrator eines heterogenen Netzwerkes hat damit den Vorteil das gleiche Betriebssystem und
  +
sogar die gleiche Version auf allen Maschinen betreiben zu können. Dies senkt den Wartungsaufwand
  +
deutlich.
  +
Große Auswahl an Software-Paketen
  +
Debian beinhaltet fast 7000 verschiedene Software-Pakete. Jedes einzelne Stück ist freie Software. Wenn
  +
Sie kommerzielle Software einsetzen, die unter Linux läuft, dann können Sie diese immer noch benutzen -
  +
es kann sogar sein, dass es eine Installations-Routine in Debian gibt, die die Software automatisch
  +
installiert und einrichtet.
  +
Klare Trennung von Nicht-Freier Software
  +
Debian legt großen Wert auf den Einsatz von Freier Software. Sie können sicher sein das ausschliesslich
  +
Freie Software auf Ihrem System installiert wird, wenn Sie dieses System im kommerziellen Einsatz
  +
betreiben oder Systeme an Kunden verkaufen, so müssen Sie sich nicht um Lizenzen kümmern. Software
  +
die nicht unter einer Lizenz steht die den Anforderungen an Freie Software gerecht wird, kann natürlich
  +
auch eingesetzt werden, hierfür wurde der Bereich „non-free“ eingerichtet.
  +
Integration
  +
Debian Pakete sind sehr gut in das Gesamtsystem integriert. Diverse Programme und Werkzeuge tragen zu
  +
einem konsistenten und aufgeräumten System bei.
  +
Die Basis hierfür sind fein abgestimmte Abhängigkeiten (dependencies) zwischen den Paketen. Das
  +
Menüsystem, welches alle populären Programme in die Menüs der verschiedenen Windowmanager
  +
integriert, die Dokumentation zu allen Paketen welche sowohl auf der Kommandozeile als auch über Web
  +
verfügbar ist und die Unterstützung von verschiedenen Versionen eines Programmes (beispielsweise
  +
mehrere vim Versionen) machen Debian einmalig.
  +
Die Installation eines Paketes erzwingt durch die definierten Abhängigkeiten auch die Installation der
  +
benötigten Bibliotheken. Nicht-funktionierende Pakete nach der Installation gibt es somit unter Debian
  +
GNU nicht.
  +
Die übersichtliche Implementation der SysV Bootscripte vereinfacht die Administration und erleichtert die
  +
Fehlersuche. Updates werden so ebenfalls einfacher, auch wenn selber Veränderungen an den Scripten
  +
vorgenommen wurden.
  +
Zusätzlich können update-rc.d und rc benutzt werden um die SysV Initscripte durch eigene zu ersetzen.
  +
22
  +
Kapitel 1. Linux, Debian, Freie Software?
  +
Quellcode
  +
Für alle Pakete in der Distribution ist der Quellcode (Source) verfügbar. Die gesamte Distribution ist Freie
  +
Software nach den Debian Free Software Guidelines (Die Debian-Richtlinien für freie Software) das
  +
bedeutet, jeder kann Pakete verbessern und weitergeben.
  +
Der Quellcode der Pakete und die von Debian Team vorgenommenen Veränderungen werden in getrennten
  +
Dateien gehalten. Somit ist es nicht notwendig die kompletten Quellen zu besorgen wenn ein neues Debian
  +
Paket erstellt werden soll. Dies ist insbesonderen bei großen Paketen (emacs, XFree86, gcc usw.) wichtig
  +
und kann einiges an Kosten sparen.
  +
Hohe Qualität
  +
Die Betreuer (Maintainer) der Pakete haben ein hohes presönliches Interesse an den von ihnen betreuten
  +
Paketen. Die meisten von ihnen betreuen ein solches Paket weil sie es selber einsetzen. Das Ergebnis sind
  +
Pakete von höchster Qualität, die von hochmotivierten und technisch versierten Personen erstellt werden.
  +
Insgesamt führt dies zu einer hochqualitativen Distribution.
  +
Vorkonfiguration
  +
Jedes Debian Paket ist bereits sinnvoll vorkonfiguriert. Dadurch ist jedes Paket sofort nach der Installation
  +
einsatzbereit. Natürlich kann auch jedes Paket noch nachträglich von Hand konfiguriert werden. Die
  +
vorgenommenen Änderungen werden bei einem Update beibehalten.
  +
Fehlerdatenbank
  +
Das Bug Tracking System verwaltet alle bekannten Fehler in der Debian Distribution und ist öffentlich
  +
zugänglich. In den meisten Fällen werden Fehler in wenigen Tagen beseitigt.
  +
Es wird nicht versucht, die Tatsache, dass Software nicht immer so funktioniert wie sie soll, zu
  +
verheimlichen. Benutzer können Fehlerberichte einschicken und werden informiert, wenn der
  +
Fehlerbericht abgeschlossen wird. Dieses System erlaubt es dem Debian Team, auf Probleme sehr schnell
  +
und ehrlich zu reagieren. Die Geschichte zeigt, dass das Prinzip „Sicherheit durch Undurchschaubarkeit“
  +
(„security through obscurity“) nicht funktioniert.
  +
Qualitätssicherung
  +
Das Debian Projekt legt mehr Wert auf Qualität und Stabilität als auf schnelle Neuerscheinungen. Wenn
  +
eine neue Debian Version erscheint sind alle schwerwiegenden Fehler beseitigt und es wurde eine
  +
ausgiebige Testphase durchlaufen.
  +
Die gesamte Distribution wird von den Entwicklern und von interessierten Benutzern vom Anfang der
  +
Entwicklung an getestet. Die gesammte Entwicklungsversion steht während der gesamten
  +
Entwicklungszeit zum Download bereit.
  +
Einen Überblick über den aktuellen Stand der Pakete in Bezug auf bekannte Fehler kann man sich auf den
  +
Webseiten der „Debian Quality Assurance“ unter bugs.debian.org verschaffen.
  +
Remote Administration
  +
Das gesamte Debian GNU System kann remote Administriert werden. Dies umfasst sowohl die
  +
Konfiguration und die Paketverwaltung als auch das hinzufügen und löschen von Paketen.
  +
Dieses einmalige Feature von Debian kann ohne einen Reboot des Systems zur Aktualisierung eines
  +
Systems genutzt werden. Lediglich die grade aktualisierten Dienste stehen unter Umständen für einige
  +
Minuten nicht zur Verfügung.
  +
23
  +
Kapitel 1. Linux, Debian, Freie Software?
  +
Syslog
  +
Debian benutzt auch für die Logdateien der Programme eine einheitliche Struktur. Sie werden in den
  +
Dateien im Verzeichnis /var/log/ die Einträge finden die Sie dort erwarten.
  +
Support
  +
Debian hat kein Büro in irgendeinem Land dieser Welt mit einem Supportteam. Dies hat sich als großer
  +
Vorteil erwiesen, da alle Fragen auf den Mailinglisten innerhalb weniger Stunden beantwortet werden.
  +
Die Verantwortung für den Support wird somit von der Gemeinschaft der Debian Benutzer getragen und
  +
nicht in fremde Hände gegeben.
  +
Ein Frage, die Sie an eine der Mailing-Listen schicken, wird oft innerhalb einer Viertelstunde beantwortet,
  +
gratis und durch Entwickler. Vergleichen Sie das mit typischem Telefon-Support: Stunden am Telefon
  +
verbracht, gegen teureres Geld und nur um jemanden an den Draht zu bekommen, der das System nicht
  +
mal genügend gut kennt, um Ihre Frage zu verstehen.
  +
1.2.7. Umfang der Distribution
  +
Auch wenn man die Größe betrachtet liegt die Debian Distribution ganz vorne. Hierbei bezieht sich Größe nicht
  +
nur auf die Anzahl der Pakete sondern auch auf die Anzahl der Codezeilen der Pakete. Ein Team von spanischen
  +
Debian Benutzern hat sich die Mühe gemacht verschiedene Daten zur Potato Release zsammenzutragen. Die
  +
Ergebnisse wurden bereits in verschiedenen Magazinen veröffentlicht und sind natürlich auch im Web unter
  +
http://people.debian.org/~jgb/debian-counting/ einzusehen.
  +
1.2.8. Auf Debian GNU basierende Distributionen
  +
Debian GNU/Linux wird als Basis von einigen kommerziellen Distributionen eingesetzt. Die Hersteller
  +
ergänzen Debian an einigen Punkten wie zum Beispiel bei der Installation und legen ein gedrucktes Handbuch
  +
bei. Support vom Hersteller via Telefon oder E-Mail wird teilweise ebenfalls geboten.
  +
Dem Open Source Gedanken entsprechend stellen die Hersteller Teile oder auch die gesamten
  +
Eigenentwicklungen wieder als Freie Software zur Verfügung. Einige dieser Entwicklungen sind auch bereits in
  +
die Debian GNU/Linux Distribution eingeflossen.
  +
Natürlich gibt es auch einige Distributionen die auf Debian basieren und ebenfalls freie Software sind. Die
  +
solide Basis von Debian ist in allen Entwicklerlagern hochgeschätzt.
  +
Natürlich stellen die Entwickler während der Arbeit an dem Produkt auch Fehler in der Software oder in den
  +
Debian Paketen fest. Auch diese Ergebnisse werden gemeldet bzw. von en Entwicklern gleich gefixt und
  +
fliessen wieder in das Gesamtprojekt ein.
  +
Folgende Distributionen basieren aus Debian GNU/Linux:
  +
Corel Linux
  +
Homepage: http://linux.corel.com.
  +
VA Linux
  +
Homepage: http://www.valinux.com.
  +
FederalLinux
  +
Homepage: http://rhinohide.cx/fedlinux/.
  +
Stormix
  +
Leider mußte die Firma Stormix den Geschäftsbetrieb aufgrund von finanziellen Schwierigkeiten
  +
einstellen. Homepage: http://www.stormix.com/.
  +
24
  +
Kapitel 1. Linux, Debian, Freie Software?
  +
Demudi
  +
(Debian Multimedia Distribution) ist keine eigentliche Distribution. Auf der Basis von Debian
  +
GNU/Linux wurde die Distribution um Multimedia Pakete (Audio, Grafik und Video) ergänzt. Weiterhin
  +
wurde der Kernel um mit Realtime Funktionen ausgestattet um die Bearbeitung von Daten in Echtzeit zu
  +
ermöglichen. Homepage: http://www.demudi.org.
  +
Tomukas
  +
Tomukas ist eine auf Debian basierende Distribution die auch auf Rechnern mit nur 4MB Hauptspeicher
  +
und 386er Prozessor installierbar ist. Auch wenn diese Distribution sehr klein gehalten ist, ist eine
  +
Festplatte zur Installation und zum Betrieb notwendig.
  +
Homepage: http://melkor.dnp.fmph.uniba.sk/~garabik/tomukas/.
  +
Progeny
  +
Homepage: http://www.progeny.com.
  +
Openrock
  +
Homepage: http://www.openrock.net.
  +
Debian JP
  +
Homepage: http://www.debian.or.jp/.
  +
PingOO
  +
Homepage: http://www.linuxedu.org/.
  +
Linux-YeS
  +
Homepage: http://eugene.mplik.ru/doc/lys/.
  +
M.N.I.S. Linux
  +
Homepage: http://www.mnis.fr/.
  +
Linux Router Project
  +
Homepage: http://www.linuxrouter.org/.
  +
KNOPPIX
  +
KNOPPIX ist eine komplett von CD lauffähige Zusammenstellung von GNU/Linux-Software mit
  +
automatischer Hardwareerkennung und Unterstützung für viele Grafikkarten, Soundkarten, SCSI-Geräte
  +
und sonstige Peripherie. KNOPPIX kann als Linux-Demo, Schulungs-CD, Rescue-System oder als
  +
Plattform für kommerzielle Software-Produktdemos angepasst und eingesetzt werden. Es ist keinerlei
  +
Installation auf Festplatte notwendig. Auf der CD können durch transparente Dekompression bis zu 2
  +
Gigabyte an lauffähiger Software installiert sein.
  +
Homepage: http://www.knoppix.de/.
  +
Floppix
  +
Homepage: http://floppix.ccai.com/.
  +
Dlite
  +
Homepage: http://opensrc.org/dlite/dlite.html.
  +
Homepage: http://www.libranet.com/.
  +
25
  +
Kapitel 1. Linux, Debian, Freie Software?
  +
1.2.9. Das Debian GNU Logo
  +
Das Debian Logo ist in zwei Versionen, einer offiziellen und einer öffentlichen, verfügbar. Die öffenliche
  +
Version kann immer verwendet werden wenn auf das Debian Projekt verwiesen werden soll. Ein Link auf die
  +
Webseite des Projektes sollte dabei selbstverständlich sein.
  +
Abbildung 1-3. „Open Use“ Logo - „Swirl“
  +
Das Offizielle Logo darf nur im Zusammenhang mit Produkten eingesetzt werden die mittels einer
  +
dokumentierten Prozedur hergestellt wurden, beispielsweise die offiziellen Debian CD-ROMs, oder wenn eine
  +
besondere Genehmigung vom Projekt vorliegt.
  +
Abbildung 1-4. Offizielles Logo
  +
26
  +
Kapitel 1. Linux, Debian, Freie Software?
  +
Beide Logos finden sich in den verschiedensten Formaten auf der Seite http://www.debian.org/logos/.
  +
Weiterhin ist das Debian Logo auch im ASCII Format verfügbar. Diese Version kann beispielsweise als Ersatz
  +
für die Datei /etc/issue dienen. Farbige ASCII-Versionen des Logos finden sich zum Beispiel unter
  +
http://people.debian.org/~arthur/debian-issue.sh und http://people.debian.org/~jaqque/debian-issue.sh .
  +
Hier eine einfache Version:
  +
_,met$$$$$gg.
  +
,g$$$$$$$$$$$$$$$P.
  +
,g$$P"" """Y$$.".
  +
,$$P’ ‘$$$.
  +
’,$$P ,ggs. ‘$$b:
  +
‘d$$’ ,$P"’ . $$$
  +
$$P d$’ , $$P
  +
$$: $$. - ,d$$’
  +
$$; Y$b._ _,d$P’ _, _, ,’‘.
  +
Y$$. ‘.‘"Y$$$$P"’ ‘$$’ ‘$$’ ‘. ,’
  +
‘$$b "-.__ $$ $$ ‘’
  +
‘Y$$b $$ $$ _, _
  +
‘Y$$. ,d$$$g$$ ,d$$$b. $$,d$$$b.‘$$’ g$$$$$b.‘$$,d$$b.
  +
‘$$b. ,$P’ ‘$$ ,$P’ ‘Y$. $$$’ ‘$$ $$ "’ ‘$$ $$$’ ‘$$
  +
‘Y$$b. $$’ $$ $$’ ‘$$ $$’ $$ $$ ,ggggg$$ $$’ $$
  +
‘"Y$b._ $$ $$ $$ggggg$$ $$ $$ $$ ,$P" $$ $$ $$
  +
‘"""" $$ ,$$ $$. $$ ,$P $$ $$’ ,$$ $$ $$
  +
‘$g. ,$$$ ‘$$._ _., $$ _,g$P’ $$ ‘$b. ,$$$ $$ $$
  +
‘Y$$P’$$. ‘Y$$$$P’,$$$$P"’ ,$$. ‘Y$$P’$$.$$. ,$$.
  +
1.3. Debian GNU/Hurd
  +
GNU Hurd ist ein Unix-Kernel des GNU-Projektes. Hurd besteht, im Gegensatz zum monolitischen
  +
Linux-Kernel, aus einem kleinen, dem sogenannten Mikro-Kernel, und vielen als Modulen ausgelegten
  +
Erweiterungen. Diese Module können Treiber für Hardware oder verschiedene Dateisysteme sein.
  +
Auch beim Linux-Kernel ist es bereits möglich viele Funktionen als Modul zu übersetzen und so den
  +
eigentlichen Kernel klein zu halten. Der Linux-Kernel wurde jedoch nicht von Anfang an für ein modulares
  +
Konzept ausgelegt so das die Möglichkeiten hier beschränkt sind. Ein fehlerhafter SCSI-Treiber beispielsweise
  +
kann das gesamte System lahmlegen.
  +
Das dem Hurd-Kernel zugrundeliegende Konzept eines Mikro-Kernels erlaubt es Treiber (für verschiedene
  +
Hardware oder Dateisysteme beispielsweise) wie ein normales Programm einzubinden. Ein fehlerhafter Treiber
  +
wird so bei einem Absturz nicht auch noch den Kernel mitreissen.
  +
Einige Debian Entwickler unterstützen seit einigen Monaten die Entwicklung von Hurd indem sie Pakete für
  +
den Hurd Kernel übersetzen und im Netz zur Verfügung stellen. Alle zur Paketverwaltung notwendigen
  +
Werkzeuge stehen zur Verfügung.
  +
Für die eigentliche Installation von Debian GNU/Hurd stehen bereits CD-Images zum Download bereit. Diese
  +
basieren momentan noch auf den Bootdisketten vom Debian GNU/Linux i386, für die Installation von Hurd
  +
müssen Sie einmalig für kurze Zeit auf einen Linux Kernel zurückgreifen. Die CD-Images sind bootfähig und
  +
sind für die Installation von Debian GNU/Hurd angepasst worden.
  +
Debian GNU/Hurd ist ein Debian GNU-System, das den Hurd-Kernel verwendet. Abgesehen vom
  +
Kernel-Management wird es genauso installiert und gewartet wie Debian GNU/Linux. Momentan unterstützt
  +
27
  +
Kapitel 1. Linux, Debian, Freie Software?
  +
Hurd lediglich die i386-Architektur, wird aber in Zukunft sicher auch auf andere Architekturen portiert oder
  +
auch andere Microkernel benutzen.
  +
Weitere Informationen zu Debian GNU/Hurd finden sich auf der Seite http://kt.linuxcare.com/debian-hurd/.
  +
1.4. Freie Software / Open Source
  +
Debian GNU/Linux ist freie Software, auch Open Source Software genannt – aber warum muß man dann für
  +
Debian GNU/Linux etwas bezahlen?
  +
Freie Software unterscheidet sich von Freibier in einem ganz entscheidenden Punkt: im Preis. Sicher kann es
  +
auch schon mal passieren, daß man eine Debian GNU/Linux-CD kostenlos bekommt, aber der Begriff freie
  +
Software beschreibt nicht das Verschenken von CDs. Der Preis, den Sie für eine Debian GNU/Linux-CD
  +
bezahlen, setzt sich aus den Kosten für die Zusammenstellung der CD sowie dem Herstellungsprozeß, also dem
  +
Pressen der CDs und dem Druck der Dokumentation und des Covers, sowie den Kosten, die dem Hersteller der
  +
CDs für den Download der Software entstehen, und schließlich auch den Vertrieb der Pakete, zusammen. Sie
  +
können die Debian GNU/Linux-Software auf so vielen Rechnern wie Sie möchten installieren; es fallen
  +
keinerlei Lizenzkosten pro Installation an. Sie können die Debian GNU/Linux-CDs beliebig an Freunde und
  +
Bekannte verleihen oder auch Kopien der CDs weitergeben, ohne Lizenzkosten. Sie können Debian GNU/Linux
  +
auf Ihrem Rechner zuhause oder in der Firma installieren, Sie zahlen nichts extra dafür.
  +
Natürlich können Sie Debian GNU/Linux aus dem Internet von einem der vielen Debian GNU/Linux
  +
FTP-Server kopieren und installieren. Bei den momentanen Kosten für Internetzugänge ist dies aber sicherlich
  +
teurer als eine CD-ROM.
  +
Zu jedem Debian GNU/Linux-Paket sind auf den FTP-Servern im Verzeichnis source/ die Programme im
  +
Quellcode (source) verfügbar. Diese stehen jedermann zur Verfügung und jeder kann an der weiteren
  +
Entwicklung teilnehmen. Die Möglichkeit, Änderungen an den Quellen vorzunehmen und diese Änderungen an
  +
die Hauptentwickler zu geben, damit diese die Änderungen in das Programm aufnehmen, machen die hohe
  +
Effektivität der Open Source Software aus. Achten Sie darauf, wenn Sie an der Entwicklung freier Software
  +
teilnehmen wollen: nicht jedes Programm, das sich als „Open Source“ bezeichnet, erfüllt dieses Kriterium. Es
  +
geht nicht allein darum, Einblick in den Quellcode zu gewähren, wichtig ist auch, daß es jedermann freisteht,
  +
Änderungen vorzunehmen und daß auch diese wieder für jedermann zugänglich gemacht werden, indem die
  +
Änderungen in den Quellcode einfließen.
  +
Ein dritter entscheidender Punkt ist, daß alle freie Software auch für alle Zeit freie Software bleiben muß. Dies
  +
schützt freie Softwareprojekte davor, daß irgend jemand freie Software zu seinem Eigentum erklärt und
  +
„eigene“ Produkte daraus erstellt. Im Anhang finden Sie einige Links zu weiteren Informationen zu diesem
  +
recht komplexen Thema.
  +
Freie Software zeichnet sich weiterhin dadurch aus, daß die Verwendung dieser Software wirklich frei ist, Sie
  +
können diese Software einsetzen, wofür Sie wollen, zuhause, im Büro, privat, kommerziell, zum Spielen, zur
  +
Produktion von Filmen, zur Produktion von Waffen. Dieser letzte Punkt mag abschreckend klingen, aber
  +
niemand soll in der Verwendung freier Software reglementiert werden.
  +
Es gibt viele verschiedene Lizenzen für „freie Software“: einige sind mehr, andere weniger „frei“. Wenn Sie
  +
sich für den Einsatz eines speziellen Programms in einem speziellem (zum Beispiel im kommerziellen Einsatz)
  +
Bereich interessieren, lesen Sie die Lizenzbedingungen der jeweiligen Software. Diese Lizenzen finden Sie
  +
unter /usr/doc/ beziehungsweise /usr/share/doc/.
  +
Richard Stallman fasste dies in den frühen 80er Jahren zusammen und formulierte vier „Freiheiten“:
  +
0. Freiheit:
  +
Die Freiheit, ein Programm für jeden Zweck einsetzen zu dürfen
  +
1. Freiheit:
  +
Die Freiheit, untersuchen zu dürfen, wie ein Programm funktioniert, und es den eigenen Bedürfnissen
  +
anzupassen
  +
28
  +
Kapitel 1. Linux, Debian, Freie Software?
  +
2. Freiheit:
  +
Die Freiheit, Kopien für Andere machen zu dürfen
  +
3. Freiheit:
  +
Die Freiheit, das Programm verbessern zu dürfen und diese Verbesserungen zum allgemeinen Wohl
  +
zugänglich zu machen
  +
1.4.1. Open Source Initiative (OSI)
  +
Die OSI ist eine non-profit Organisation mit dem Zweck der Organisation und Verbreitung der Open Source
  +
Definition zum Nutzen der Community.
  +
Abbildung 1-5. Open Source Initiative - Logo
  +
Informationen über die Struktur und Organisation der OSI sowie die verschiedenen Lizenzen für Open Source
  +
Software finden sich auf den Open Source Initiative Webseiten.
  +
Die von der OSI veröffentlichte „Definition quelloffener Software“ geht auf die von Bruce Perens begonnenen
  +
ersten Versionen der „Debian Free Software Guidelines (DFSG)“ zurück. Die DFSG wurden im Juni 1997, nach
  +
einer monatlangen E-Mail Konferenz, endgültig fertiggestellt. Bruce entfernte die Debian spezifischen Passagen
  +
im Text und schuf so die erste Version der „Open Source Definition“.
  +
1.4.1.1. Geschichte der OSI
  +
Die Vorgeschichte der Open Source Initiative beruht auf der gesamten Entwicklungsgeschichte von Unix, der
  +
im Internet entwickelten Freien Software und der „Hacker Kultur“.
  +
Das „Open Source“ Label selbst entstand im Rahmen eines strategischen Treffens am 3. Februar 1998 in Palo
  +
Alto, California. Dabei waren unter anderem anwesend: Todd Anderson, Chris Peterson (Foresight Institute),
  +
John „maddog“ Hall und Larry Augustin (beide Linux International), Sam Ockman (Silicon Valley Linux
  +
User’s Group) und Eric Raymond.
  +
Dieses Treffen, welchem viele Diskussionen auf Mailinglisten vorangingen, war eine Reaktion auf die
  +
Ankündigung der Firma Netscape die Sourcen ihrers Browsers freizugeben. Dieses Projekt wurde später unter
  +
dem Namen Mozilla bekannt. Eric Raymond wurde von der Firma Netscape im Vorfeld der Ankündigung
  +
gebeten bei der Freigabe des Quellcodes und den damit verbundenen Formalitäten zu helfen.
  +
Die Open Source Definition ist von den Debian Free Software Guidelines abgeleitet. Bruce Perens verfasste die
  +
erste Version, welche durch den regen E-Mail Kontakt mit verschiedenen Debian Enwicklern im Juni 1997
  +
verfeinert wurde.
  +
Die Open Source Initiative ist mittlerweile als „California public benefit“ (eine nicht-kommerzielle)
  +
Vereinigung anerkannt. Die Adresse für Spenden lautet:
  +
29
  +
Kapitel 1. Linux, Debian, Freie Software?
  +
Law Offices of Lawrence E. Rosen
  +
702 Marshall St. Ste. 301
  +
Redwood City, CA 94063
  +
1.4.1.2. Die Definition quelloffener Software ("Open Source Software")
  +
Version 1.9
  +
Einführung
  +
„Quelloffen“ („Open Source“) bedeutet nicht nur freien Zugang zum Quellcode. Bei quelloffener Software
  +
müssen die Lizenzbestimmungen in Bezug auf die Weitergabe der Software folgenden Kriterien entsprechen:
  +
1. Freie Weitergabe
  +
Die Lizenz darf niemanden in seinem Recht einschränken, die Software als Teil eines Software-Paketes, das
  +
Programme unterschiedlichen Ursprungs enthält, zu verschenken oder zu verkaufen. Die Lizenz darf für den
  +
Fall eines solchen Verkaufs keine Lizenz- oder sonstigen Gebühren festschreiben.
  +
2. Quellcode
  +
Das Programm muss den Quellcode beinhalten. Die Weitergabe muss sowohl für den Quellcode als auch für die
  +
kompilierte Form zulässig sein. Wenn das Programm in irgendeiner Form ohne Quellcode weitergegeben wird,
  +
so muss es eine allgemein bekannte Möglichkeit geben, den Quellcode zum Selbstkostenpreis zu bekommen,
  +
vorzugsweise als gebührenfreien Download aus dem Internet. Der Quellcode soll die Form eines Programms
  +
sein, die ein Programmierer vorzugsweise bearbeitet. Absichtlich unverständlich geschrieb ner Quellcode ist
  +
daher nicht zulässig. Zwischenformen des Codes, so wie sie etwa ein Präprozessor oder ein Konverter
  +
("Translator") erzeugt, sind unzulässig.
  +
3. Abgeleitete Software
  +
Die Lizenz muss Veränderungen und Derivate zulassen. Außerdem muss sie es zulassen, dass die solcherart
  +
entstandenen Programme unter denselben Lizenzbestimmungen weitervertrieben werden können wie die
  +
Ausgangssoftware.
  +
4. Unversehrtheit des Quellcodes des Autors
  +
Die Lizenz darf die Möglichkeit, den Quellcode in veränderter Form weiterzugeben, nur dann einschränken,
  +
wenn sie vorsieht, dass zusammen mit dem Quellcode so genannte "Patch files" weitergegeben werden dürfen,
  +
die den Programmcode bei der Kompilierung verändern. Die Lizenz muss die Weitergabe von Software, die aus
  +
verändertem Quellcode entstanden ist, ausdrücklich erlauben. Die Lizenz kann verlangen, dass die abgeleiteten
  +
Programme einen anderen Namen oder eine andere Versionsnummer als d e Ausgangssoftware tragen.
  +
5. Keine Diskriminierung von Personen oder Gruppen
  +
Die Lizenz darf niemanden benachteiligen.
  +
6. Keine Einschränkungen bezüglich des Einsatzfeldes
  +
Die Lizenz darf niemanden daran hindern, das Programm in einem bestimmten Bereich einzusetzen.
  +
Beispielsweise darf sie den Einsatz des Programms in einem Geschäft oder in der Genforschung nicht
  +
ausschließen.
  +
7. Weitergabe der Lizenz
  +
Die Rechte an einem Programm müssen auf alle Personen übergehen, die diese Software erhalten, ohne dass für
  +
diese die Notwendigkeit bestünde, eine eigene, zusätzliche Lizenz zu erwerben.
  +
8. Die Lizenz darf nicht auf ein bestimmtes Produktpaket beschränkt sein
  +
Die Rechte an dem Programm dürfen nicht davon abhängig sein, ob das Programm Teil eines bestimmten
  +
Software-Paketes ist. Wenn das Programm aus dem Paket herausgenommen und im Rahmen der zu diesem
  +
Programm gehörenden Lizenz benutzt oder weitergegeben wird, so sollen alle Personen, die dieses Programm
  +
dann erhalten, alle Rechte daran haben, die auch in Verbindung mit dem ursprünglichen Software-Paket gewährt
  +
wurden.
  +
9. Die Lizenz darf die Weitergabe zusammen mit anderer Software nicht einschränken
  +
30
  +
Kapitel 1. Linux, Debian, Freie Software?
  +
Die Lizenz darf keine Einschränkungen enthalten bezüglich anderer Software, die zusammen mit der
  +
lizenzierten Software weitergegeben wird. So darf die Lizenz z. B. nicht verlangen, dass alle anderen
  +
Programme, die auf dem gleichen Medium weitergegeben werden, auch quelloffen sein müssen.
  +
1.5. SPI - Software in the Public Interest
  +
SPI ist eine Non-profit-Organisation, die gegründet wurde, um Projekten, die Software für die Allgemeinheit
  +
entwickeln, zu helfen. Sie ermutigt Programmierer, die GNU General Public License (GPL) oder eine andere
  +
Lizenz die freie Weiterverbreitung und den freien Gebrauch der Software erlaubt, zu benutzen.
  +
Hardware-Entwickler ermutigt SPI, die Dokumentation zu ihrer Arbeit zu veröffentlichen, damit Treiber für
  +
ihre Produkte geschrieben werden können.
  +
SPI wurde am 16. Juni 1997 als Non-profit-Organisation im Staat New York der USA gegründet. Seitdem
  +
wurde sie eine Schirm-Organisation für verschiedene Projekte der Gemeinschaft. Die Statuten und das
  +
Gründungs-Zertifikat definieren das Ziel und die Arbeitsweise von SPI. SPI hat einen Vorstand, der aus vier
  +
Mitgliedern besteht: einem Präsidenten, einem Vize-Präsidenten, einem Beisitzer und einem Kassierer.
  +
SPI unterstützt momentan folgende Projekte: Berlin, Debian, GNOME, LSB, Open Source, Open Hardware.
  +
Wenn Sie etwas an SPI spenden möchten oder nicht auf elektronischem Wege kommunizieren wollen, erreichen
  +
Sie SPI unter der Adresse:
  +
Software in the Public Interest, Inc.
  +
PO BOX 273
  +
Tracy, CA 95378-0273
  +
USA
  +
Weitere Informationen zu SPI finden Sie im Internet.
  +
1.6. Wie und wo bekomme ich Debian GNU/Linux?
  +
Die Bezugsquellen für Debian GNU/Linux sind recht vielfältig, auch wenn man nicht an jeder Ecke über diese
  +
Distribution stolpert, wie bei anderen. Debian wurde auch schon als Beilage in Zeitschriften gesichtet, dies ist
  +
aber seltener der Fall.
  +
1.6.1. Internet
  +
Aktuellste Bezugsquelle ist natürlich der Debian FTP-Server sowie seine weltweiten Mirrors. Der Debian
  +
FTP-Server ist unter ftp://ftp.debian.org zu erreichen, allerdings sollten Sie einen mirror in Ihrer Nähe benutzen,
  +
Sie erreichen mit ziemlicher Sicherheit hier bessere Übertragungsraten.
  +
Eine aktuelle Liste aller Debian FTP-Server finden Sie unter:
  +
ftp://ftp.de.debian.org/debian/README.mirrors.html.
  +
Das Debian-Team unterscheidet zwei Klassen von FTP-Servern: sogenannte „primary-“ und „secondary mirror
  +
sites“. Ein Primary Server hat eine sehr gute Anbindung ans Netz, ist 24 Stunden am Tag verfügbar und hat
  +
einen leicht zu merkenden Namen in der Form: ftp.<country>.debian.org . Natürlich werden diese
  +
mirrors ständig automatisch mit dem Debian Master Server abgeglichen.
  +
Ein Secondary Server ist meist schlechter angebunden und führt oft keine komplette Kopie des Debian Servers.
  +
Versuchen Sie immer, den Ihnen am nächsten gelegenen Server zu benutzen, hier haben Sie in der Regel die
  +
besten Übertragungsraten. Ein geographisch nahegelegener Server muß dabei nicht zwingend der schnellste
  +
sein, das Programm netselect hilft Ihnen, den optimalen Server zu ermitteln.
  +
Für den deutschsprachigen Raum stehen die beiden Server ftp://ftp.de.debian.org (Deutschland) (dieser ist auch
  +
als ftp://ftp.debian.de erreichbar) sowie ftp://ftp.at.debian.org (Österreich) zur Verfügung. Beide führen auch
  +
den Bereich Non-US, welcher Programme enthält, die aufgrund von Exportbeschränkungen oder
  +
Softwarepatenten nicht in den USA verteilt werden darf.
  +
31
  +
Kapitel 1. Linux, Debian, Freie Software?
  +
Die Benutzung eines solchen FTP-Servers ist kostenfrei, bedenken Sie aber, daß der Download von großen
  +
Datenmengen trotzdem Kosten hervorruft, Sie finden diese spätestens auf ihrer nächsten Rechnung für Ihren
  +
Telefonanschluß. Weitere Kosten können bei Ihrem Internetprovider entstehen, wenn dort nach Onlinezeit oder
  +
Übertragungsvolumen abgerechnet wird.
  +
1.6.2. CD-ROMs
  +
Einfacher und meist auch kostengünstiger ist es, sich Debian GNU/Linux auf einer CD-ROM zu beschaffen.
  +
Auch für die Beschaffung einer CD-ROM finden Sie Informationen auf den Debian-Webseiten unter:
  +
http://www.debian.org/distrib/vendors . Bereits seit mehreren Jahren vertreibt die Fachbuchhandlung Lehmanns
  +
die Debian GNU/Linux Distribution auf CD-ROM. Sie können die CDs auch unter http://www.lob.de online
  +
bestellen. Hier sind die Debian GNU/Linux 2.2-CDs für i386 und powerpc sowie die sourcen verfügbar.
  +
Lehmanns betreibt auf Ihrem Server auch die deutschsprachige Mailingliste zu Debian. Um an dieser
  +
Mailingliste teilzunehmen, schreiben Sie einfach eine E-Mail an majordomo@jfl.de mit dem Text:
  +
subscribe debian-user-de. Der Betreff (Subject) der Mail ist hierbei gleichgültig. Diese Mailingliste ist
  +
relativ stark frequentiert, machen Sie sich also auf einige Mails pro Tag gefaßt.
  +
Bei LinuxLand International (http://www.linuxland.de) können Sie ebenfalls ein Paket mit Debian CDs
  +
inklusive der deutschen Übersetzung von „Debian GNU/Linux Guide“ von Goerzen, Othman und Bramer.
  +
Dieses Paket ist nur für die i386-Architektur erhältlich.
  +
Wenn Sie Interesse an Debian GNU/Linux 2.2-CDs für irgendeine Architektur haben, schreiben Sie einfach
  +
dem Autor dieses Buches eine freundliche E-Mail... Dort erhalten Sie auch CDs der jeweiligen „unstable“
  +
Version von Debian GNU/Linux.
  +
Unter http://www.openoffice.de finden Sie ein umfassendes Angebot für alle Architekturen. Soweit es sinnvoll
  +
ist werden dort auch CDs der in der Entwicklung befindlichen Version (unstable) angeboten. Auf dem gleichen
  +
Server finden Sie im übrigen auch immer die aktuelle Version dieses Buches.
  +
Die von OpenOffice bezogenen CDs werden aktuell auf CD gebrannt, somit ist die Aktualität der Programme
  +
sichergestellt.
  +
Natürlich können Sie sich auch von einem anderen Debian-Freund eine CD kopieren, dies ist sicher die
  +
preiswerteste Variante, um an Debian zu kommen.
  +
1.6.3. Usergroups & Installationspartys
  +
Von den vielen Linux Usergroups werden häufig sogenannte Installationspartys durchgeführt. Auf diesen
  +
besteht die Möglichkeit, unter fachlicher Anleitung neben anderen Distributionen auch Debian GNU/Linux auf
  +
dem mitgebrachten Rechner zu installieren. Eine Linux Usergroup in Ihrer Nähe finden Sie über die Liste der
  +
deutschsprachigen Linux Usergroups des Linux Magazins: http://www.linux-magazin.de/Usergroups/.
  +
Grundsätzlich kann der Besuch bei einer solchen Linux Usergroup nur jedem Interessierten nahegelegt werden,
  +
der dort mögliche Erfahrungsaustausch ist sehr hilfreich und die meisten auftretenden Probleme bei der
  +
Installation und beim Betrieb von Debian GNU/Linux lassen sich dort schnell lösen.
  +
1.6.4. Bücher zu Debian GNU/Linux
  +
Mittlerweile gibt es eine ganze Reihe Bücher zu Debian GNU/Linux. Erfreulicherweise sind auch einige
  +
deutschsprachige Werke darunter.
  +
Deutschsprachige Bücher
  +
Titel: Debian GNU/Linux
  +
Autor: Ganten, Peter H.
  +
Untertitel: Grundlagen, Installation, Administration und Anwendung
  +
Datum/Seiten: 2000, 792
  +
Verlag: Springer, Berlin
  +
32
  +
Kapitel 1. Linux, Debian, Freie Software?
  +
Titel: Debian GNU/Linux PowerPack
  +
Autor: Ganten, Peter H.
  +
Untertitel: Grundlagen, Installation, Administration und Anwendung
  +
Beschreibung: Die komplette offizielle Debian Distribution auf CD
  +
Datum/Seiten: 2000, 792
  +
Verlag: Springer, Berlin
  +
Titel: Debian GNU/Linux Guide
  +
Autoren: John Goerzen, Ossama Othman
  +
Beschreibung: Übersetzung des
  +
offiziellen "Debian GNU/Linux Guide".
  +
Seiten: 362
  +
Titel: Debian GNU/Linux-Anwenderhandbuch
  +
Autor: Ronneburg, Frank
  +
Datum/Seiten: 2001, 600
  +
Verlag: Addison-Wesley, München
  +
Titel: Debian GNU/Linux-Anwenderhandbuch
  +
Autor: Ronneburg, Frank
  +
Datum/Seiten: 2001, 600
  +
Verlag: Lehmanns Sonderausgabe (Originalverlag Addison Wesley)
  +
Titel: Debian GNU/Linux-Anwenderhandbuch, mit 6 CD-ROMs Debian GNU/Linux 2.2
  +
Autor: Ronneburg, Frank
  +
Datum/Seiten: 2001, 600
  +
Verlag: Lehmanns Sonderausgabe (Originalverlag Addison Wesley)
  +
Englischsprachige Bücher
  +
Titel: Debian GNU/Linux
  +
Autor: John Goerzen and Ossama Othman
  +
Untertitel: Guide to Installation and Usage
  +
Datum/Seiten: 1999, 200
  +
Verlag: New Riders
  +
Titel: Learning Debian GNU/Linux
  +
Autor: McCarty, B.
  +
Untertitel: A Guide to Debian GNU/Linux for New Users
  +
Datum/Seiten: 1999
  +
Verlag: O’Reilly
  +
Titel: Debian GNU/Linux for dummies
  +
Autor: Bellomo, Michael
  +
Datum/Seiten: 2000, 384
  +
Verlag: IDG Books
  +
Titel: Installing Debian GNU/Linux
  +
Autor: Down, Thomas
  +
Datum/Seiten: 1999, 250 Seiten
  +
Verlag: Sams Publishing
  +
Titel: Debian GNU/Linux 2.1 Unleashed mit CD-ROM
  +
Autoren: Camou, Mario; Goerzen, John; VanCouwenberghe, Aaron
  +
Datum/Seiten: 2000
  +
Verlag: Sams Publishing
  +
33
  +
Kapitel 1. Linux, Debian, Freie Software?
  +
Titel: Debian GNU/Linux Bible
  +
Autor: Steve Hunger
  +
Seiten: 696
  +
Verlag: Hungry Minds, Inc
  +
1.7. Informationen im Netz
  +
An dieser Stelle folgen einige Hinweise auf weitere Informationsquellen im Internet, die zu Rate gezogen
  +
werden können falls Sie nicht die gewünschten Informationen in diesem Buch finden (was aber kaum
  +
vorstellbar ist :-)).
  +
Auf den Seiten des Debian Projektes finden sich Informationen zur Unterstützung bei Debian Problemen unter
  +
http://www.debian.org/support/.
  +
1.7.1. Mailinglisten
  +
Die deutschsprachige Mailingliste zu Debian wird auf dem Server der Buchhandlung Lehmanns zur Verfügung
  +
gestellt. Um an dieser Mailingliste teilzunehmen, schreiben Sie einfach eine E-Mail an majordomo@jfl.de
  +
mit dem Text: subscribe debian-user-de. Der Betreff (Subject) der Mail ist hierbei gleichgültig. Diese
  +
Mailingliste ist relativ stark frequentiert, machen Sie sich also auf einige Mails pro Tag gefaßt.
  +
Nach der Anmeldung bekommt jeder Teilnehmer einmalig die FAQ (Frequently Asked Questions - Häufig
  +
gestellte Fragen (und Antworten)) dieser Mailingliste zugeschickt. Diese ist auch im Web verfügbar unter:
  +
http://www.sylence.de/dudfaq/debian-user-de-FAQ.html.
  +
Ein Archiv dieser Mailingliste findet sich gleich an mehreren Stellen im Netz
  +
http://www.jfl.de/cgi-bin/asche.scripte/debianliste (Webbasiertes Archiv bei Lehmanns mit Volltextsuche),
  +
http://www.geocrawler.com/lists/3/Debian-Linux/249/0/ (Webbasiertes Archiv bei Mail-Archive),
  +
http://www.infodrom.ffis.de/Mail-Archive/index.php3?list=debian-user-de (Webbasiertes, monatliches Archiv
  +
bei Infodrom Oldenburg).
  +
Eine Übersicht über die Mailinglisten des Debian Projektes finden sich auf den Webseiten unter
  +
http://www.debian.org/MailingLists/. Mit Ausnahme einiger spezieller Liste die sich mit den
  +
landessprachlichen Besonderheiten befassen, ist die Sprache auf diesen Listen englisch.
  +
1.7.2. Webseiten
  +
Neben der eigenlichen Debian Webseite (www.debian.org) ist eine interessante Informationsquelle die
  +
wöchentlich erscheinenden „Debian Weekly News“. In diesem Newsletter wird über wichtige Änderungen in
  +
der Debian Distribution, über Diskussionen auf den Mailinglisten und anderer Klatsch und Tratsch berichtet. Zu
  +
finden sind die Debian Weekly News unter http://www.debian.org/News/weekly/. Bereits vor der
  +
Veröffentlichung sind die Seiten unter www.infodrom.org/~joey/Writing/DWN/ zu finden.
  +
Auch ausserhalb des Debian Projektes gibt es einige Webseiten zum Thema Debian, von denen hier nur eine
  +
Auswahl gezeigt werden kann. Auf der Debian Webseite findet sich unter http://www.debian.org/related_links
  +
eine Liste weiterer Links zu Linux und Debian.
  +
Als deutschsprachiges Forum im Web wären http://www.debianforum.de/ und
  +
http://forum.winner.de/forumdisplay.php?forumid=18 zu nennen.
  +
1.7.2.1. debianHELP
  +
http://www.debianhelp.org/
  +
34
  +
Kapitel 1. Linux, Debian, Freie Software?
  +
1.7.2.2. debianPlanet
  +
http://www.debianplanet.org/
  +
1.7.2.3. apt-get.org - inoffizielle Debian Pakete
  +
Auf der Seite www.apt-get.org finden sich Hinweise zu nicht offiziellen Debian Paketquellen im Netz. Betreuer
  +
von solchen inoffiziellen Debian Paketen können ihre Seiten dort selbst anmelden. Hier finden sich
  +
beispielsweise Pakete zu XFree 4.2.x die zum Zeitpunkt der Veröffentlichung von Debian 3.0 (woody) noch
  +
nicht verfügbar waren und auch nachträglich nicht in diese Version von Debian aufgenommen wurden.
  +
1.7.3. IRC
  +
IRC ( Internet Relay Chat) ist eine Möglichkeit sich in Echtzeit mit anderen Personen auf der gesamten Welt zu
  +
unterhalten. Ein IRC-Kanal speziell für Debian kann im Open Projects IRC Netzwerk genutzt werden. Das
  +
„Open Projects Network“ wurde von Robert (lilo) Levin gegründet um der Free Software Community bei der
  +
Arbeit zu helfen. Eine ausführliche deutschprachige Anleitung zum IRC findet sich unter
  +
http://duplox.wz-berlin.de/texte/rps/.
  +
Im IRC haben sich einige Verhaltensregeln etabliert die auch von neuen Benutzern berücksichtigt werden
  +
sollten. Eine Übersicht die in den deutschsprachigen Linux Channels zusammengestellt wurde findet sich unter
  +
http://www.linuxger.de/LinuxGER.html. Eine ähnliche Seite speziell für den Channel #debian ist unter
  +
http://channel.debian.de/faq/. zu erreichen.
  +
Um sich mit dem Netzwerk zu verbinden, benötigen Sie einen IRC-Client. Einige der bekanntesten sind ircII,
  +
BitchX, tkirc, X-Chat und Zircon, diese sind auch als Pakete verfügbar. Wenn Sie den Client installiert haben,
  +
müssen Sie ihm mitteilen, sich zu dem entsprechenden Server zu verbinden. Benutzen Sie dabei
  +
irc.debian.org oder irc.eu.openprojects.net. In den meisten Clients erreichen Sie dieses, in dem Sie
  +
folgendes eingeben:
  +
/server irc.debian.org
  +
Wenn Sie verbunden sind, kommen Sie in den Kanal #debian durch Eingabe von
  +
/join #debian
  +
Neben dem Kanal #debian finden sich noch weitere Kanäle auf dem Server irc.eu.openprojects.net die
  +
sich mit Debian GNU beschäftigen. Das Debian Projekt nutzt die Infrastruktur des Open Projects Network für
  +
folgende Kanäle:
  +
• #debian - hier kommunizieren Benutzer und Entwickler, bitte beachten Sie das dieser Channel ziemlich
  +
überlaufen ist.
  +
• #debian-boot - in diesem Kanal werden Fragen zu den Debian Bottdisketten und dem Debian
  +
Installationsystem (debian-installer) diskutiert. Dieser Kanal ist nicht für den Support von Benutzern gedacht.
  +
• #debian-jr - hier finden sich interessierte Mitstreiter die am internen Projekt „Debian Junior (Jr.)“
  +
mitarbeiten wollen. Dieses Projekt beschäftigt sich mit Debian Paketen für Kinder in allen Alterstufen.
  +
• #debian.de - der deutschsprachige Debian Kanal.
  +
Weitere Kanäle befassen sich mit verschiedenen Landessprachen, wie zum Beispiel Französisch
  +
(#debian-fr), Russisch (#debian-ru) und Japanisch (#debianja und #debian-jp).
  +
Im Kanal #debian-br finden sich Brasilianische Debian Nutzer, dort werden auch Themen der Übersetzung
  +
von Debian diskutiert.
  +
Natürlich finden sich auch im deutschprachigen Teil des Internets Server auf denen man Debian Benutzer findet.
  +
Allen voran steht hier das „IRCNet“, welches im Sprachgebrauch einfach als IRC bezeichnet wird.
  +
Das IRCnet besteht in Deutschland hauptsächlich aus IRC-Servern, die auf Universitätsrechnern laufen. Leider
  +
nimmt die Zahl drastisch ab, seit viele dieser Server missbraucht wurden. Einige Server sind hier aufgelistet.
  +
35
  +
Kapitel 1. Linux, Debian, Freie Software?
  +
Der Server irc.netsurf.de ist nicht über das deutsche Forschungsnetz angeschlossen und sollte von Leuten aus
  +
kommerziellen Netzwerken benutzt werden.
  +
• irc.fu-berlin.de
  +
• irc.uni-paderborn.de
  +
• irc.rz.uni-karlsruhe.de
  +
• irc.belwue.de
  +
• irc.netsurf.de
  +
Im IRCnet finden sich neben dem Debian Kanal #Debian.DE noch die Kanäle #linux.de und LinuxGER die
  +
sich mit Themen rund um Linux befassen.
  +
1.7.4. Kommerzieller Support
  +
Debian ist freie Software und bietet ausschliesslich Support auf freiwilliger Basis über das Internet (per WWW,
  +
IRC oder Mailinglisten) an. Das Projekt kann keine Mitarbeiter beschäftigen die eine Telefon Hotline besetzen
  +
oder Vor-Ort Service beim Kunden leisten.
  +
Natürlich gibt es aber auch genau in diesem Bereich Bedarf. Deshalb bietet das Debian Projekt auf der Webseite
  +
http://www.debian.org/consultants/ eine Aufstellung von Beratern an die solche Dienstleitungen anbieten. Die
  +
Namen sind nach Ländern sortiert, innerhalb eines Landes aber einfach in der Reihenfolge der Anmeldung
  +
sortiert.
  +
Wenn Sie nicht erst einen Vertrag abschliessen möchten sondern nur eine schnelle Hilfe zu Debian benötigen,
  +
so stellt die Linux Information Systems AG (http://www.linux-ag.com/) unter der Nummer 0190-883 885 (1,86
  +
Euro/Minute) einen telefonischen, distributionsunabhängigen Support zur Verfügung.
  +
36
  +
Kapitel 2. Installation von Debian GNU/Linux
  +
2.1. Schnellinstallation in 10 Schritten
  +
Wenn Sie bereits eine Linux-Distribution installiert haben, sind Sie schon mit den grundsätzlichen Schritten
  +
einer Linux-Installation vertraut. Debian GNU/Linux unterscheidet sich nur in wenigen Details von anderen
  +
Distributionen bei der Installation: Sie haben sehr viele Freiheiten und können viele Schritte beeinflußen, Sie
  +
müssen dies aber nicht tun.
  +
Wenn Sie auf Probleme mit dieser Kurzinstallation stoßen, lesen Sie das Kapitel „Installation“, dort wird
  +
ausführlicher auf die Installation eingegangen. Dieser Abschnitt soll fortgeschrittenen GNU/Linux-Anwendern
  +
die Möglichkeit geben, relativ schnell zu einem lauffähigen System zu kommen.
  +
• Platz – Sie benötigen eine freie/nicht mehr benötigte Partition oder eine komplett unbenutzte Festplatte.
  +
Wenn Sie keine Partition frei haben, benutzen Sie das Programm fips.exe (auf der CD unter install/ zu
  +
finden), um eine bestehende Partition unter DOS zu verkleinern.
  +
• Boot – Starten Sie den Rechner neu, Sie können entweder direkt von der CD-ROM booten (ändern Sie im
  +
Bios die Bootreihenfolge!), oder erstellen Sie Bootdisketten aus den Dateien
  +
dists/stable/main/disks-i386/current/disks-1.44/rescue.bin und
  +
dists/stable/main/disks-i386/current/disks-1.44/root.bin sowie
  +
dists/stable/main/disks-i386/current/disks-1.44/driver-1.bin,
  +
dists/stable/main/disks-i386/current/disks-1.44/driver-2.bin und
  +
dists/stable/main/disks-i386/current/disks-1.44/driver-3.bin auf der CD-ROM.
  +
Benutzen Sie hierzu unter Linux das Programm dd mit der Option if=rescue.bin of=/dev/fd0 oder
  +
unter DOS das Programm rawrite2.exe.
  +
• Fragen – Beantworten Sie alle Fragen des Debian GNU/Linux-Installationsprogramms mit der
  +
Eingabe-/Returntaste wenn Sie sich mit der Antwort nicht sicher sind.
  +
• International – Wählen Sie die gewünschte Tastaturbelegung aus.
  +
• Teilung – Erstellen Sie auf dem freien Festplattenplatz mindestens zwei Partitionen. Benutzen Sie eine als
  +
swap-, die andere als root-Partition.
  +
• Kern – Installieren Sie den Kernel und die Module von der CD-ROM. Geben Sie das passende Device
  +
(Gerätedatei) an, meist ist dies: hdc, hdd, hdb, hda, scd0. Probieren Sie diese in der hier angegebenen
  +
Reihenfolge durch.
  +
• Teile – Wählen Sie die benötigten Module für Ihr System aus.
  +
• Basis – Installieren Sie das Basissystem von der CD-ROM oder einem anderen Medium.
  +
• Zeit – Wählen Sie die passende Zeitzone aus.
  +
• Abschluß – Starten Sie das System neu, geben Sie nach dem Laden des Kernels ein Paßwort für den
  +
Superuser an und legen Sie, wie es das Installationsprogramm vorgibt, einen neuen Benutzer an. Installieren
  +
Sie die weiteren Pakete, nachdem Sie eine der für Sie zusammengestellten Konfigurationen ausgewählt
  +
haben.
  +
2.2. Update von Debian GNU/Linux 2.1 (slink) auf 2.2
  +
Benutzen Sie auf keinen Fall dselect, um ein Update von Debian GNU/Linux 2.1 auf die Version 2.2
  +
durchzuführen! dselect ist unter Umständen nicht in der Lage, einige der notwendigen Abhängigkeiten beim
  +
Update aufzulösen.
  +
Natürlich müssen Sie nicht Ihr komplettes System neu installieren, wenn Sie die neuesten Pakete von Debian
  +
GNU/Linux 2.2 benutzen wollen. Ein bestehendes Debian GNU/Linux 2.1 kann mit den CD-ROMs ebenfalls
  +
auf den aktuellen Stand gebracht werden. Hierbei sind jedoch einige Dinge zu beachten. Im Laufe der
  +
Entwicklung von Debian GNU/Linux 2.2 wurden sehr viele der Systembibliotheken (libraries) und Programme
  +
37
  +
Kapitel 2. Installation von Debian GNU/Linux
  +
durch neuere Versionen ersetzt. Ein Update dieser Bibliotheken mit dselect würde wegen der komplexen
  +
Abhängigkeiten fehlschlagen. Im folgenden werden wir die nötigen Schritte zu einem sicheren Update
  +
beschreiben.
  +
Mounten Sie die erste Debian GNU/Linux 2.2-CD als Superuser (root) von Hand mit: mount /dev/cdrom
  +
/cdrom, und ändern Sie die Datei /etc/apt/sources.list so, daß über einen direkten Zugriff auf die CD
  +
installiert werden kann. Der Eintrag hierfür lautet:
  +
# - CD von Hand unter /cdrom gemountet
  +
deb file:/cdrom/debian unstable main
  +
Führen Sie nun zuerst das Kommando: apt-get update aus. Es liest die Liste der auf der CD vorhandenen
  +
Pakete neu ein. Danach können Sie die neuen Bibliotheken mit apt-get dist-upgrade installieren. Keine
  +
Angst: wenn apt-get dist-upgrade fehlschlagen sollte, starten Sie es einfach noch einmal. Auf apt wird
  +
später noch detailliert eingegangen.
  +
Wenn dieser Vorgang erfolgreich abgeschlossen wurde, können Sie mit dselect und der Installationsmethode
  +
apt alle weiteren Pakete aktualisieren.
  +
Danach können Sie jeden anderen Weg wählen, um weitere Pakete zu installieren und den Rest des Systems zu
  +
aktualisieren.
  +
2.3. Update von Debian GNU/Linux 2.2 (potato) auf 3.0
  +
Dieses Update ist in dem meisten Fällen sehr einfach durchzuführen. Tragen Sie einfach die gewünschten
  +
Installationsquellen in die Datei /etc/apt/sources.list ein und aktualisieren Sie die Paketinformationen
  +
mittels apt-get update. Das eigentliche Upgrade wird danach mittels apt-get dist-upgrade
  +
durchgeführt.
  +
In einigen Fällen ist ein Update von „potato“ (Debian Version 2.2) auf „woody“ (Debian Version 3.0) ist via
  +
CD-ROM nicht ganz problemlos möglich. Probleme scheint es dabei ausschlieslich auf Systemen zu geben die
  +
auf dem Stand von Debian 2.2 Release 0 sind. Bei diesen Systemen wurden nach dem offiziellen Release der
  +
ersten Version keinerlei Updates auf neuere Release Versionen (Potato R1-R6) durchgeführt. Die Ursache der
  +
Probleme scheint hierbei die interne Umstellung auf „package-pools“ zu sein, was dazu führt das die Pakete
  +
nicht mehr unter /dists/woody/main/usw... auf den CD-ROMs liegen sondern unter
  +
/pool/main/usw.... Die Package-Files (Beschreibungen) sind aber noch an der alten Stelle (u.U.).
  +
Damit kann mit „potato“ Release 1 installierte Version von apt noch nicht umgehen. Ein Ausweg ist ein Update
  +
von apt von Hand. Hierzu sind nur wenige Schritte notwendig:
  +
1.
  +
Melden Sie sich als Superuser/root am System an.
  +
2.
  +
Mounten Sie die 1. CD Debian GNU/Linux 3.0 mount /cdrom. Hier müssen Sie ggf. noch das
  +
entsprechende Devicefile angeben falls an nach der Installation etwas (zum Beispiel an der Hardware)
  +
verändert wurde: mount /dev/hdd /cdrom.
  +
3.
  +
Installieren der neuen C Bibliothek: dpkg -i /cdrom/pool/main/g/glibc/libc6_*
  +
4.
  +
Installieren der libstd++: find /cdrom/ -name libstd\*glib\* |xargs dpkg -i
  +
5.
  +
Installieren von apt find /cdrom/ -name apt_\* |xargs dpkg -i
  +
38
  +
Kapitel 2. Installation von Debian GNU/Linux
  +
6.
  +
Debian 3.0 CD ROMs in die sources.list aufnehmen apt-setup
  +
7.
  +
Danach kann das System ganz normal aktualisiert werden. apt-get dist-upgrade Frage mit: "Yes,
  +
do as I say!" beantworten um Perl zu aktualisieren.
  +
2.4. Aktualisieren von Debian GNU/Linux 2.1
  +
Wenn Sie zufrieden mit Ihrem seit vielen Monaten gepflegten Debian GNU/Linux 2.1-System sind und keinen
  +
Wert auf die aktuellsten Pakete legen, müssen Sie natürlich nicht auf die Version 2.2 umstellen. Trotzdem
  +
sollten Sie einige Pakete auf den neuesten Stand bringen. Dies hat verschiedene Gründe. Zum einen sind in den
  +
vergangenen Monaten viele Fehler (englisch: bugs) und Sicherheitslücken gefunden und beseitigt worden. Dies
  +
betrifft auch Fehler im Zusammenhang mit dem Datum 2000-Problem (Y2k-Bug). Zum anderen möchte
  +
vielleicht doch der eine oder andere die neueste Version von XFree86 installieren oder am „GNOME-Trend“
  +
teilhaben. Auch hierzu bietet Debian GNU/Linux einen Weg...
  +
Auf der Webseite: „Vincent’s bazaar“ finden Sie Links zu allen eben beschriebenen Programmen und Paketen,
  +
passend zu Debian GNU/Linux 2.1. Wenn Sie apt benutzen, können Sie mit folgenden Einträgen in
  +
/etc/apt/sources.list Ihr System auf den aktuellen Stand der Entwicklung bringen:
  +
deb http://www.debian.org/~vincent/ y2k-update main
  +
deb http://www.debian.org/~vincent/ slink-update main
  +
deb http://www.debian.org/~vincent/ xfree-update main
  +
deb http://security.debian.org/ stable updates
  +
Sie können aber auch die Pakete zunächst auf ihre Festplatte kopieren und mittels dpkg -i paket.deb von
  +
Hand installieren. Zum Download eignet sich neben einem Webbrowser (zum Beispiel der Netscape
  +
Communicator) sehr gut das Programm wget.
  +
Wenn Sie einen aktuellen Linux-Kernel 2.2.x mit Debian GNU/Linux 2.1 verwenden wollen, kann es notwendig
  +
sein, einige Pakete aus Debian GNU/Linux 2.2 zu installieren. Debian GNU/Linux 2.1 erschien, als der
  +
Linux-Kernel 2.2.x noch in der Entwicklungsphase war, daher sind nicht alle Pakete vollkommen kompatibel zu
  +
neueren Kernels. Um welche Pakete es sich dabei handelt, erfahren Sie auf der Seite „Errata: Linux-Kernel
  +
2.2.x mit Slink“ ( http://www.debian.org/releases/2.1/running-kernel-2.2.de.html)
  +
Wir empfehlen aber in jedem Fall ein komplettes Update auf Debian GNU/Linux 2.2.
  +
2.5. Aktualisieren von Debian GNU/Linux 2.2
  +
Die Debian Version 2.2 (potato) wurde mit einem Linux Kernel der Version 2.2 veröffentlicht. Trotzdem kann
  +
es sinnvoll sein auf einem solchen System einen Kernel der Version 2.4 einzusetzen, beispielsweise um USB
  +
Geräte ohne große Patches am Kernel verwenden zu können.
  +
Neben dem eigentlichen Kernel sollten auch einige Pakete aktualisiert werden, wenn nicht gleich der Umstieg
  +
auf Debian „woody“ gewagt werden soll.
  +
Zunächst sollte ein Blick auf den aktuellen Stand der aktuellen Pakete für diese Umstellung geworfen werden:
  +
http://www.fs.tum.de/~bunk/kernel-24.html.
  +
Um die Aktualisierung mit apt vorzunehmen, müssen folgende Einträge in der Datei
  +
/etc/apt/sources.list hinzugefügt werden.
  +
deb http://people.debian.org/~bunk/debian potato main
  +
deb-src http://people.debian.org/~bunk/debian potato main
  +
Nun kann das System mit folgenden Befehlen aktualisiert werden:
  +
39
  +
Kapitel 2. Installation von Debian GNU/Linux
  +
apt-get update
  +
apt-get -u dist-upgrade
  +
Nach der Installation der Pakete ist Ihr System einsatzbereit für den Kernel 2.4.
  +
2.6. Installation von Debian GNU/Linux 3.0
  +
Die Release 3.0 von Debian GNU/Linux zeichnet sich durch viele Verbesserungen und einen noch größeren
  +
Umfang an Paketen gegenüber den Vorgänger Versionen aus. Unterstützte bereits die Version 2.2 ("potato")
  +
sechs Hardwarearchitekturen (Intel x86, Motorola, Alpha, SPARC, PowerPC und ARM), so kann die Version
  +
3.0 mit diesen sechs und gleich vier neuen Architekturen (MIPS, Intel Itanium, HP PA-RISC und S/390)
  +
aufwarten.
  +
Der in Debian 2.2 verwendete Linux Kernel in der Version 2.2 wurde für die Debian Release 3.0 aktualisiert.
  +
Hierbei wurden viele Fehler beseitigt welche sowohl den Kernel selbst als auch die dazugehörigen Programme
  +
betreffen. Weiterhin sind viele neue Treiber für die Hardware hinzugekommen oder wurden durch bereinigte
  +
Versionen ergänzt.
  +
Neu in dieser Release ist der Linux Kernel in der Version 2.4, welcher alternativ bei der Installation, oder
  +
nachträglich als Paket, installiert werden kann. Das Debian Entwicklerteam ist nicht der Meinung, daß der
  +
Linux Kernel in der Version 2.4 auf allen von Debian unterstützten Architekturen die notwendige Stabilität
  +
erreicht hat, sodaß beide Kernel zur Auswahl stehen.
  +
2.6.1. Veränderungen im Installations System
  +
Ältere Debian Versionen installierten zunächst ein sogenanntes "Basis-System" aus einem tar-Archiv, um dann
  +
weitere Pakete über das Debian Paketmanagement in das System zu integrieren. Mit dieser Release wird eine
  +
neue Methode eingeführt, das Installationssystem benutzt das Programm debootstrap, um alle vom Basis
  +
System benötigten Pakete zu holen, zu entpacken und zu installieren. Die Pakete können dabei wie gehabt lokal
  +
vorliegen (auf CD-ROM oder im Dateisystem) oder auch per FTP/HTTP aus dem Netz geholt werden. Diese
  +
Installation des Basissystem direkt aus Debian Paketen bietet eine größere Flexibilität bei Updates und von
  +
Komponenten des Basissystems.
  +
Als weitere Veränderung ist das überarbeitete Task-System zu nennen. Bisher bestanden Tasks aus Paketen, in
  +
denen die Abhängigkeiten zu anderen Paketen definiert waren. Das neue System verwendet spezielle Header
  +
innerhalb der existierenden Pakete, um die Tasks zu definieren zu denen ein Paket gehört. Dies macht es deutlich
  +
einfacher, einzelne Komponenten eines Tasks zu installieren; es ist nicht mehr nötig alle Pakete zu installieren.
  +
So gut wie alle Pakete benutzen in dieser Release Debconf um die Konfiguration während der Installation oder
  +
ein späteres neukonfigurieren des Paketes vorzunehmen. Debconf verfügt dabei über verschiedene Frontends:
  +
nicht-interaktiv, dialog (curses-basiert) und ein GNOME-Frontend. Debconf wurde auch intern stark erweitert,
  +
sodaß Debconf eine zentrale Rolle im Debian System bildet. Beispielsweise verfügt Debconf über eine LDAP
  +
Schnittstelle, Konfigurationsdaten können so zentral auf einem LDAP Server liegen und verwaltet werden.
  +
Die bei der Installation verwendeten Kernel unterstützen verschiedene Hardwareausstattungen. Für die Intel
  +
Architektur sind folgende verfügbar:
  +
vanilla
  +
Kernel Version 2.2.x, dies ist der Standard Kernel für das Debian System mit fast allen Treibern des Linux
  +
Kernels als Modulen.
  +
ide
  +
Kernel Version 2.2.x, ähnlich wie der „vanilla“ Kernel, jedoch mit den Kernel Patches zur Unterstützung
  +
von UDMA66 Geräten.
  +
40
  +
Kapitel 2. Installation von Debian GNU/Linux
  +
compact
  +
Kernel Version 2.2.x, hier wurden viele selten benutzte Treiber weggelassen (Sound, Video4Linux usw.),
  +
dafür sind häufig benötigte Treiber (NE2000, 3COM 3c905, Tulip, Via-Rhine und Intel EtherExpress
  +
Pro100) im Kernel integriert. Somit kann eine Installation über das Netzwerk mit zwei Disketten (root und
  +
rescue) durchgeführt werden. Weiterhin sind Treiber für die RAID Controller DAC960, und Compaq’s
  +
SMART2 RAID integriert.
  +
idepci
  +
Kernel Version 2.2.x, diese Version unterstützt ausschliesslich IDE und PCI Geräte sowie einige wenige
  +
ISA Geräte. Dieser Kernel sollte benutzt werden, wenn es beim Starten des Kernels zu Problemen mit
  +
SCSI Geräten kommt. In diesem Kernel ist der ide-floppy Treiber integriert, sodaß eine Installation auch
  +
von LS120 oder ZIP Laufwerken vorgenommen werden kann.
  +
bf24
  +
Kernel Version 2.4.x, dieser aktuelle Kernel unterstützt viele neue Hardwarekomponenten, welche nicht
  +
von älteren Versionen unterstützt wurden. Die USB und IDE Unterstützung wurde verbessert, neuere
  +
Netzwerkkarten Treiber wurden integriert und es werden die Dateisysteme Ext3 und ReiserFS unterstützt.
  +
Als weitere Neuerung bei der Installation von CD-ROM ist zu sagen, daß es nun möglich ist, die oben
  +
genannten Kernel allesamt von der ersten CD aus zu installieren.
  +
2.6.2. Neues in der Distribution
  +
Die Programme zur Verwaltung von Paketen, dpkg und apt wurden an vielen Stellen verbessert und erweitert.
  +
apt unterstützt nun das „pinning“ von Paketen, welches es ermöglicht Programmversionen aus verschiedenen
  +
Entwicklungszweigen (testing/unstable/stable) auszuwählen, während das eigentliche System auf einem
  +
anderen Releasestand bleibt. apt sorgt auch hierbei dafür das alle Abhängigkeiten erfüllt werden und lädt die
  +
benötigten Pakete automatisch auf das System.
  +
Für Entwickler sind die sogenannten „build dependencies“ interessant. Das Kommando apt-get build-dep
  +
PAKET sorgt dafür, daß alle zur Erzeugung eines Paketes benötigten Pakete auf dem System vorhanden sind.
  +
Zur Ablösung des in die Jahre gekommenen und bei vielen Benutzern (un-)beliebten Installationsprogrammes
  +
dselect wurden verschiedene Alternativen entwickelt. Interessierte Benutzer sollten einen Blick auf
  +
aptitude werfen.
  +
„Woody“ wird gleich mit zwei Versionen von XFree86 ausgeliefert. Bereits bekannt sollte die Version 3.3.6
  +
sein. Diese kann eingesetzt werden, wenn es Probleme mit der neuen Version 4.1 gibt. Die Version 4.1 von
  +
XFree86 unterstützt mehr Grafikkarten und bietet eine bessere Hardwareerkennung sowie 3D Beschleunigung.
  +
Xinerama erlaubt die Verwendung von mehreren Monitoren, die zu einer großen Arbeitsfläche
  +
zusammengefasst werden.
  +
Debian 3.0 ist sicherer geworden. Die Basisinstallation enthält weniger Dienste, die jeder für sich ein
  +
potentielles Risiko darstellen. In der neuen Release sind mehr sicherheitsorientierte Programme enthalten.
  +
Hierzu gehören beispielsweise Porgramme zu Administration eines Firewalls, zur Sicherung des Rechners oder
  +
zur Entdeckung von Einbrüchen. Das Paket System wurde ebenfalls erweitert, es können nun zu jedem Paket
  +
die digitalen Checksummen geprüft werden. So kann eine Installation eines Paketes verhindert werden, wenn
  +
die Checksumme nicht übereinstimmt. Dies ermöglicht sichere, automatische Updates von Systemen über das
  +
Internet.
  +
Debian 3.0 ist von Übersetzerteams in der ganzen Welt auf die jeweiligen landesspezifischen Anforderungen
  +
angepasst worden. Es sind Voreinstellungen für mehr Sprachen als bisher vorhanden und eine größere Anzahl
  +
von Programmen unterstützt verschiedene Landessprachen. Die zur Installation verwendeten Bootdisketten
  +
beispielsweise wurden ebenfalls in viele Sprachen übersetzt. Besonders gut werden in Debian 3.0 die Sprachen
  +
Französisch, Deutsch, Italienisch, Japanisch, Portugiesisch, Spanisch, Katalanisch und Dänisch unterstützt; an
  +
15 weiteren Sprachen wird aktiv gearbeitet.
  +
Diese Debian Version enthält zum ersten Mal verschiedene freie grafische Webbrowser wie Mozilla, Galeon
  +
und Konqueror. Zum ersten Mal ist auch die grafische Benutzeroberfläche KDE, in der Version 2.2, enthalten.
  +
Die Version 1.4 von GNOME rundet die Auswahl der grafischen Benutzeroberflächen ab.
  +
41
  +
Kapitel 2. Installation von Debian GNU/Linux
  +
Eine sehr ausführliche Installationsanleitung finden Sie auf Ihrer Debian GNU/Linux CD unter
  +
doc/install.txt oder doc/install.html, sowie im Netz unter http://debian.org/doc/. Dort wird
  +
auch auf Probleme mit spezieller Hardware eingegangen und detailliert beschrieben, welche alternativen
  +
Möglichkeiten zur Installation geboten werden. Es wurde hier darauf verzichtet, diese Informationen nochmals
  +
zu wiederholen, statt dessen wird die Installation anhand eines typischen Beispiels beschrieben.
  +
2.6.3. Ein erster Start
  +
Die Installation von Debian kann von den verschiedensten Medien aus erfolgen. Zunächst ist es jedoch
  +
notwendig den Rechner mit einem Minimalsystem, welches auch das eigentliche Installationsprogramm enthält,
  +
zu starten.
  +
Generell kann jeder der im folgenden beschriebenen Variante der Bootimages nicht nur zur Installation
  +
verwendet werden, sondern bietet auch die Möglichkeit das System im Fehlerfall zu reparieren.
  +
Die Installation von Debian GNU/Linux benötigt mindestens 12 MB RAM und einen Swap-Bereich, oder aber
  +
14 MB RAM, wenn kein Swap-Bereich zur Verfügung steht. Die aus älteren Debian Versionen bekannt
  +
„lowmem“ Bootdiskette ist in der Version 3.0 nicht mehr enthalten. Das installierte Basissystem benötigt
  +
mindestens 64 MB Plattenplatz auf einer eigenen Partition sowie eine weitere Partition für den Swap-Bereich.
  +
Wenn weitere Pakete installiert werden sollen, so ist dies nach Bedarf bei der Planung der Partitionen zu
  +
berücksichtigen.
  +
2.6.3.1. Bootmedium
  +
Als Bootmedium für den ersten Start des Systems kommen sowohl CD-ROMs als auch Disketten in Frage.
  +
Zunächst sollte im BIOS des Rechners überprüft werden, ob die Möglichkeit besteht, direkt von CD-ROM zu
  +
booten. Die Aufteilung der Menüs ist - je nachdem von welchem Hersteller das BIOS kommt - unterschiedlich.
  +
Im Zweifelsfall sind die nötigen Informationen im Handbuch des Motherboards zu finden.
  +
Abbildung 2-1. BIOS Einstellungen
  +
Wenn das System das Booten von CD-ROM nicht unterstützt, können Bootdisketten erzeugt werden. Sie finden
  +
die nötigen Images auf Ihrer Debian GNU/Linux-CD im Verzeichnis /cdrom/install/ als Dateien:
  +
rescue.bin und root.bin. Alternativ können statt der Rescue Diskette (rescue.bin), auch die Dateien
  +
bf24.bin, compact.bin, idepci.bin, sbm.bin genutzt werden; diese bieten die oben genannten
  +
alternativen Kernelkonfigurationen.
  +
42
  +
Kapitel 2. Installation von Debian GNU/Linux
  +
Wenn Ihnen ein anderes GNU/Linux-System (oder ein anders PC-Unix) zur Verfügung steht, können Sie die
  +
Images mit dem Kommando: dd if=rescue.bin of=/dev/fd0 auf eine Diskette schreiben (ggf. den Pfad
  +
zu der Datei angeben). Wenn Sie nicht über ein lauffähiges GNU/Linux-System zur Erstellung der
  +
Bootdisketten verfügen, können Sie mit dem DOS-Programm rawrite2.exe, welches sich ebenfalls auf der
  +
Debian GNU/Linux-CD befindet, das Image auf eine Diskette schreiben. Achten Sie darauf, daß beim
  +
Schreiben keine Fehlermeldungen auftreten. Wenn Sie eine Diskette nicht fehlerfrei erstellen können, sollte
  +
diese Diskette in den Müll wandern, probieren Sie es mit einer anderen Diskette noch einmal.
  +
Um das System von Disketten zu starten muss zuerst die „rescue“ Diskette eingelegt werden (auch wenn eine
  +
Neuinstallation vorgenommen wird). Nach dem laden des Linux Kernels werden Sie aufgefordert die „root“
  +
Disketten einzulegen und die Return Taste zu drücken.
  +
Auf Systemen die über ein via USB angeschlossenes Diskettenlaufwerk verfügen, kann so zwar von der ersten
  +
Diskette gebootet werden, leider wird aber nicht die root-Diskette in einem USB Laufwerk unterstützt. Speziell
  +
auf diesen Problemfall angepasste Bootdisketten für die Debian Version 3.0 werden unter
  +
www-user.rhrk.uni-kl.de/~blochedu/usb-install/ von Eduard Bloch zur Verfügung gestellt.
  +
Sollten beim Start von Diskette oder CD-ROM Probleme auftreten, so gibt es noch einen dritten Weg, Debian
  +
GNU/Linux zu starten, das Programm loadlin.exe. Sie müssen hierzu auf Ihrem Rechner ein lauffähiges
  +
MS-DOS-System installiert haben und sollten auf die CD-ROM zugreifen können. Auf der ersten CD finden Sie
  +
im Verzeichnis /install alle benötigten Dateien sowie das Script boot.bat. Dieses Script können Sie direkt
  +
ausführen, das Debian GNU/Linux-Installationsprogramm sollte nach kurzer Zeit geladen werden.
  +
Wird das Boot-Medium korrekt erkannt, sehen Sie einen Begrüßungstext mit einigen Informationen zur
  +
Installation von Debian.
  +
Abbildung 2-2. Bootmenü
  +
Beim Start von der ersten CD-ROM kann zwischen verschiedenen Kernelversionen zur Installation gewählt
  +
werden. Die Auswahl erfolgt durch Angabe der gewünschten Version am Bootprompt. Folgende Kernel stehen
  +
zur Auswahl:
  +
vanilla
  +
Kernel Version 2.2.x, dies ist der Standard Kernel für das Debian System mit fast allen Treibern des Linux
  +
Kernels als Modulen.
  +
compact
  +
Kernel Version 2.2.x: hier wurden viele selten benutzte Treiber weggelassen (Sound, Video4Linux usw.),
  +
43
  +
Kapitel 2. Installation von Debian GNU/Linux
  +
dafür sind häufig benötigte Treiber (NE2000, 3COM 3c905, Tulip, Via-Rhine und Intel EtherExpress
  +
Pro100) im Kernel integriert. Somit kann eine Installation über das Netzwerk mit zwei Disketten (root und
  +
rescue) durchgeführt werden. Weiterhin sind Treiber für die RAID Controller DAC960, und Compaq’s
  +
SMART2 RAID integriert.
  +
idepci
  +
Kernel Version 2.2.x: diese Version unterstützt ausschlieslich IDE und PCI Geräte sowie einige wenige
  +
ISA Geräte. Dieser Kernel sollte benutzt werden, wenn es beim Starten des Kernels zu Problemen mit
  +
SCSI Geräten kommt. In diesem Kernel ist der ide-floppy Treiber integriert, sodaß eine Installation auch
  +
von LS120 oder ZIP Laufwerken vorgenommen werden kann. Dies ist auch der Default Kernel, falls nichts
  +
anderes ausgewählt wurde.
  +
bf24
  +
Kernel Version 2.4.x: dieser aktuelle Kernel unterstützt viele neue Hardwarekomponenten, welche nicht
  +
von älteren Versionen unterstützt wurden. Die USB und IDE Unterstützung wurde verbessert, neuere
  +
Netzwerkkarten Treiber wurden integriert und es werden die Dateisysteme Ext3 und ReiserFS unterstützt.
  +
rescue
  +
Diese spezielle Option dient zum Starten eines Rettungssystems, um ein defektes System instandzusetzen.
  +
Es kann als Option jedes beliebige Root-Dateisystem angegeben werden. Der Kernel wird dabei vom
  +
Bootmedium geladen. Weitere Rettungssysteme auf der ersten CD-ROM sind: rescbf24, resccomp,
  +
rescvanl. So kann beispielsweise mittels rescbf24 root=/dev/hda3 ein Rettungssystem mit dem
  +
Kernel 2.4 gestartet werden, welches die Partition /dev/hda3 als Root-Dateisystem benutzt.
  +
Für Fortgeschrittene Benutzer sind folgende Optionen interessant, die am Bootprompt angegeben werden
  +
können:
  +
quiet
  +
Es werden während der Installation nur absolut notwendige Fragen gestellt.
  +
verbose
  +
Es werden sehr viele Fragen während der Installation gestellt.
  +
debug
  +
Zur Fehlersuche für Entwickler. Meldungen werden auf tty3 ausgegeben.
  +
bootkbd
  +
Mit dieser Option kann die zu verwendende Tastaturtabelle angegeben werden, beispielsweise
  +
bootkbd=qwertz/de-latin1-nodeadkeys.
  +
Zunächst sollte versucht werden das Installationsprogramm ohne Angabe von weiteren Parametern zu starten.
  +
2.6.4. Das Debian-Installationsprogramm
  +
Direkt nach dem Laden des Linux-Kernels wird das eigentliche Installationsprogramm gestartet. Dieses
  +
Programm wird Sie durch die Installation führen. Sie können jederzeit zu jedem beliebigen Punkt der
  +
Installation zurückkehren oder auch die komplette Installation von Anfang an neu beginnen. In den meisten
  +
Fällen genügt es, die Fragen, bei denen Sie sich nicht ganz sicher sind, mit einem einfachen Druck auf die
  +
Eingabetaste zu bestätigen. Die voreingestellten Werte sind sinnvoll und führen zu einem funktionsfähigen
  +
System.
  +
Zuerst erfolgt die Auswahl der gewünschten Sprache für die Installation. Das Installationsystem steht in 19
  +
verschiedenen Sprachen zur Verfügung.
  +
44
  +
Kapitel 2. Installation von Debian GNU/Linux
  +
Abbildung 2-3. Sprachauswahl
  +
Bei der Auswahl eines deutschsprachigen Installationsprogrammes kann zwischen verschiedenen
  +
Sprachräumen gewählt werden.
  +
Abbildung 2-4. Sprachraum
  +
Die nächste Maske zeigt einige Informationen zu Debian GNU/Linux und der Bootdiskette an. Die sogenannten
  +
Release Notes (Versions-Informationen) informieren über die Debian GNU/Linux-Version, sowie die
  +
Versionsnummer und das Herstellungsdatum der Bootdiskette. Hier finden Sie auch eine kurze Information zu
  +
SPI – „Software in the Public Interest“, der nicht-kommerziellen Organisation hinter Debian GNU/Linux und
  +
zur FSF ().
  +
45
  +
Kapitel 2. Installation von Debian GNU/Linux
  +
Abbildung 2-5. Release Informationen
  +
Nun gelangt man in das eigentliche Hauptmenü des Installationsprogramms. Von hier aus können Sie zu jeder
  +
Zeit zu jedem beliebigen Punkt der Installation wechseln und Schritte, bei denen Sie sich nicht sicher waren,
  +
nochmals wiederholen. Das Installationsprogramm führt in einer sinnvollen Reihenfolge durch die Installation:
  +
es ist normalerweise nicht notwendig, andere Menüpunkte als die vorgeschlagenen auszuwählen. Wie gesagt, es
  +
ist nicht nötig, aber möglich. Sie haben hier alle Freiheiten.
  +
Abbildung 2-6. Hauptmenü
  +
Zuerst wird die Konfiguration der Tastatur angeboten. Die Belegung der Tastatur ist sofort nach der Auswahl
  +
aus diesem Menü aktiviert.
  +
46
  +
Kapitel 2. Installation von Debian GNU/Linux
  +
Abbildung 2-7. Tastatur Konfiguration
  +
Wenn Sie Debian GNU/Linux auf einem neuen System (oder einer neuen Festplatte) installieren, werden Sie
  +
nun zur Partitionierung der Festplatte aufgefordert. Wenn bereits ein Linux-System auf einer Partition installiert
  +
war, wird dieser Schritt automatisch übergangen und es wird zum nächsten Schritt, dem einbinden einer
  +
Swap-Partition, verzweigt.
  +
Abbildung 2-8. Festplatte partitionieren
  +
Wählen Sie nun aus der Liste der Festplatten, die vom Installationsprogramm gefunden wurde, die gewünschte
  +
Festplatte aus. Haben Sie nur eine einzige IDE-Festplatte in Ihrem System, so wird lediglich das Device
  +
/dev/hda zur Auswahl angeboten. Weitere IDE-Festplatten werden vom Linux-Kernel als /dev/hdb (Slave
  +
am Primary Controller), /dev/hdc (Master am Secondary Controller) und /dev/hdd (Slave am Secondary
  +
47
  +
Kapitel 2. Installation von Debian GNU/Linux
  +
Controller) verwaltet. SCSI-Festplatten werden mit /dev/sda, /dev/sdb, /dev/sdc usw. bezeichnet,
  +
aufsteigend nach der eingestellten Adresse (SCSI ID).
  +
Abbildung 2-9. Auswahl der Festplatte(n)
  +
Im nächsten Schritt werden Sie auf einige Beschränkungen mit älteren Motherboard-Bios-Versionen
  +
hingewiesen. Diese können dazu führen, daß der Linux-Kernel nicht geladen werden kann. Dies tritt aber nur
  +
auf mehrere Jahre alten Systemen auf und kann meist ignoriert werden.
  +
Abbildung 2-10. Informationen zu lilo
  +
Neu in dieser Debian Release ist die Unterstützung von sogenannten „Journaling Filesystemen“. Diese sind in
  +
der Lage, nach einem Systemabsturz das Dateisystem anhand eines Journals sehr schnell wiederherzustellen.
  +
48
  +
Kapitel 2. Installation von Debian GNU/Linux
  +
Ein langwieriger Check des Dateisystemes, wie beispielsweise vom Extended 2 Dateisystem (ext2) her bekannt,
  +
kann dabei entfallen. Die „woody“ Release unterstützt neben dem Extended 3 Dateisystem (ext3), welches
  +
ebenfalls ein „Journaling Filesystem“ ist, auch das ReiserFS. Dieses benötigt zusätzlichen Plattenplatz zur
  +
Verwaltung des Journals.
  +
Abbildung 2-11. Informationen zu ReiserFS
  +
Wenn eine fabrikneue Festplatte zur Installation benutzt wird, so ist auf dieser noch keine Partitionstabelle
  +
geschrieben worden. Zu Partitionierung der Festplatte wird das Programm cfdisk verwendet. Es benötigt
  +
zwingend eine solche Partitionstabelle, auch wenn diese noch keine Einträge enthält.
  +
Abbildung 2-12. Partitionstabelle nicht gefunden
  +
49
  +
Kapitel 2. Installation von Debian GNU/Linux
  +
Es wird nun das Programm cfdisk gestartet. Mit diesem können in den freien Bereichen der Festplatte neue
  +
Partitionen angelegt oder auch bereits vorhandene Partitionen gelöscht werden. VORSICHT! Änderungen, die
  +
hier durchgeführt werden und mit write auf die Festplatte geschrieben wurden, lassen sich nicht wieder
  +
rückgängig machen!
  +
In dem hier gezeigten Beispiel wird eine komplette IDE-Festplatte für die Installation von Debian GNU/Linux
  +
verwendet.
  +
Abbildung 2-13. Partition anlegen
  +
Über den Menüpunkt new kann eine neue, primäre Partition erzeugt werden. In unserem Beispiel wurde eine
  +
Größe von 1,8 Gigabyte (1800 Megabyte) gewählt. Diese Partition wird später das GNU/Linux-Dateisystem
  +
aufnehmen und von dieser wird auch der eigentliche Linux-Kernel geladen. Diese Partition müssen Sie mit dem
  +
Menüpunkt „Bootable“ bootfähig machen.
  +
Abbildung 2-14. Partition anlegen
  +
50
  +
Kapitel 2. Installation von Debian GNU/Linux
  +
In dem verbliebenen Platz wird eine weitere Partition eingerichtet. Diese dient dem System als Swap-Bereich,
  +
um im Betrieb über mehr (virtuellen) Speicherplatz zu verfügen. Nach der Zuweisung des Festplattenplatzes für
  +
diese Partition muss noch der Typ geändert werden, sodaß das System diese Partition auch als Swap-Bereich
  +
erkennt. Dies geschieht über den Menüpunkt type, dort ist der Typ der zweiten Partition auf „82 - Linux Swap“
  +
zu setzen. Dies ist schon die Voreinstellung, wenn Sie den Menüpunkt type auswählen, hier reicht ein Druck
  +
auf die Eingabetaste.
  +
Sie können auch die verschiedensten anderen Dateisysteme anlegen. Wie Sie in der Auflistung sehen können,
  +
werden viele im DOS/Windows-Bereich verbreitete Formate, sowie eine ganze Reihe von Unix-Dateisystemen
  +
unterstützt.
  +
Abbildung 2-15. Partitionen anlegen
  +
Nachdem mindestens eine Root (/) und eine Swap-Partition eingerichtet sind, sollte sich in etwa folgendes Bild
  +
ergeben.
  +
51
  +
Kapitel 2. Installation von Debian GNU/Linux
  +
Abbildung 2-16. Partitionen anlegen
  +
Es wurden nun 2 Partitionen erstellt, /dev/hda1 (die erste Partition auf der Master-Festplatte am Primary IDE
  +
Controller) wird das Root-Dateisystem aufnehmen, /dev/hda2 ist die Swap-Partition.
  +
Natürlich können nach Belieben weitere Partitionen, zum Beispiel für /home oder /var angelegt werden.
  +
Wenn die Einteilung der Festplatte abgeschlossen ist, müssen die Daten noch in die bereits erwähnte
  +
Partitionstabelle geschrieben werden. Bis jetzt wurden noch keine Daten auf der Festplatte verändert. Wenn
  +
nicht sichergestellt ist, das es sich um die gewünschte Festplatte handelt, oder wenn noch wichtige Daten auf
  +
der Festplatte vermutet werden, so ist an dieser Stelle das Programm mit „Quit“ zu verlassen! Wenn aber alles
  +
wie geplant eingeteilt wurde, können die Einstellungen mit „Write“ in die Partitionstabelle geschrieben werden.
  +
Das Installationsprogramm findet nun die Signatur einer Swap-Partition auf der Festplatte und bietet an, diese in
  +
das System einzubinden.
  +
Abbildung 2-17. Swap Partition einbinden
  +
52
  +
Kapitel 2. Installation von Debian GNU/Linux
  +
Wenn Sie mehrere Swap-Partitionen angelegt haben, die auch auf verschiedenen Festplatten liegen können, so
  +
können Sie diesen Menüpunkt vom Hauptmenü aus unter „Formatieren und Einbinden einer Swap-Partition“
  +
noch einmal anwählen.Wiederholen Sie dies so lange, bis alle vorhandenen Swap-Partitionen eingebunden sind.
  +
Bei nur einer Swap-Partition wird diese Auswahl übersprungen. Während des Formatierens der Partition kann
  +
der Bereich auf defekte Blöcke hin geprüft werden. Bei modernen Geräten ist dies nicht notwendig, sodaß hier
  +
problemlos darauf verzichtet werden kann.
  +
Abbildung 2-18. Swap Partition auswählen
  +
Hier nochmal zur Sicherheit die Abfrage, ob diese Partition wirklich als Swap-Partition eingerichtet werden soll
  +
und damit alle Daten verlorengehen.
  +
Abbildung 2-19. Swap Partition bestätigen
  +
53
  +
Kapitel 2. Installation von Debian GNU/Linux
  +
Im folgenden Schritt wird ein Linux-Dateisystem formatiert und ins System eingebunden. Wenn das System auf
  +
verschiedenen Partitionen installiert werden soll, so ist dieser Schritt mehrfach auszuführen.
  +
Abbildung 2-20. root Dateisystem einbinden
  +
Es muss mindestens eine Partition als Root-Dateisystem eingebunden werden. Wenn lediglich eine
  +
Linux-Partition vorhanden ist, so wird keine Auswahl der verfügbaren Partitionen angezeigt.
  +
Nun kann das zu verwendende Dateisystem ausgewählt werden. Ältere Debian Versionen verwendeten immer
  +
das Extended 2 Dateisystem, dies ist auch heute noch eine gute Wahl: es hat sich in vielen Installationen
  +
bewährt.
  +
Ein um die Funktionalitäten eines Journaling Filesystems erweitertes ext2 Dateisystem ist unter dem Namen
  +
ext3 / Extended 3 Filesystem verfügbar. Vorteilhaft ist hier das dieses auch kompatibel zum bisherigen
  +
Extended 2 Dateisystem ist, natürlich geht dann das Journal verloren. Sie können eine mit dem Extended 3
  +
Dateisystem formatierte Partition auch mit älteren Kerneln oder Rettungsdisketten zusammen verwenden.
  +
Alternativ steht noch das ReiserFS zur Verfügung. Auch dieses bietet die Funktionen eines Journaling
  +
Filesystems. ReiserFS wird jedoch von vielen Fachleuten als zu unausgereift angesehen, sodaß ein Einsatz eher
  +
auf Testsystemen sinnvoll erscheint.
  +
Aufgrund der Kompatibilität zum Extended 2 Dateisystem ist das Extended 3 Dateisystem hier eine gute Wahl.
  +
54
  +
Kapitel 2. Installation von Debian GNU/Linux
  +
Abbildung 2-21. Auswahl Dateisystem
  +
Auch für diese Partition kann eine Überprüfung auf defekte Blöcke während der Formatierung erfolgen, wie
  +
schon beschrieben ist dies bei neueren Systemen nicht notwendig.
  +
Abbildung 2-22. Überprüfung auf defekte Blöcke
  +
Hier noch einmal zur Sicherheit die Abfrage, ob Sie sich für die richtige Partition entschieden haben.
  +
55
  +
Kapitel 2. Installation von Debian GNU/Linux
  +
Abbildung 2-23. Überprüfung auf defekte Blöcke
  +
Im Gegensatz zur Swap-Partition, dauert das Formatieren des Root-Dateisystems etwas länger. Dies ist
  +
abhängig von der Größe der Partition. Sie können diesen Vorgang am Bildschirm verfolgen.
  +
Abbildung 2-24. Dateisystem formatieren
  +
Sie werden abschließend gefragt, ob die eben formatierte Partition in das System eingebunden werden soll.
  +
Bestätigen Sie dies mit der Eingabetaste.
  +
56
  +
Kapitel 2. Installation von Debian GNU/Linux
  +
Abbildung 2-25. Partition einbinden
  +
2.6.4.1. Installation des Basissystems
  +
Nachdem die Platte mit mindestens zwei Partitionen vorbereitet wurde, können nun der eigentliche
  +
Linux-Kernel sowie die dazugehörenden Module installiert werden.
  +
Abbildung 2-26. Module installieren
  +
Sie haben die Möglichkeit, den Kernel und die Module von verschiedenen Medien aus zu installieren. Wenn Sie
  +
von einer CD-ROM gebootet haben, ist es sinnvoll, auch den Rest der Installation von diesem Medium
  +
durchzuführen. Verfügen Sie aber beispielsweise über ein Notebook ohne CD-ROM, so können Sie Debian
  +
GNU/Linux auch komplett über Disketten installieren. Eine weitere Option ist die Installation von einer anderen
  +
57
  +
Kapitel 2. Installation von Debian GNU/Linux
  +
Partition, egal ob diese bereits gemountet wurde oder nicht. Diese Partition kann auch mit einem DOS- oder
  +
Windows-Dateisystem formatiert sein. Dies kann dann sinnvoll sein, wenn Sie sich Debian GNU/Linux bei
  +
einem Bekannten auf eine Festplatte kopiert haben oder wenn Sie die Dateien mit einem anderen
  +
Betriebssystem aus dem Internet von einem FTP-Server geladen haben. Der mit Debian GNU/Linux gelieferte
  +
Kernel unterstützt hierzu die Dateisysteme der gebräuchlichsten Betriebssysteme.
  +
Wir gehen hier aber von der Installation per CD-ROM aus. Ist bereits eine CD-ROM eingelegt, so wird diese
  +
vom Installationsprogramm erkannt.
  +
Abbildung 2-27. Auswahl Installationsmedium
  +
Es werden nun zunächst der Kernel (dies geht recht schnell), sowie die Module (Treiber) installiert. Der
  +
angezeigte Pfad kann sich, je nachdem welcher Kernel für die Installation gewählt wurde, von dem hier
  +
gezeigten unterscheiden.
  +
Abbildung 2-28. Installation Kernel und Module
  +
58
  +
Kapitel 2. Installation von Debian GNU/Linux
  +
Es können nun zusätzliche Treiber – sogenannte Module – in den Kernel eingebunden werden. Dies ist im
  +
Normalfall nicht notwendig, da viele Treiber bereits fest in den Kernel integriert sind.
  +
Abbildung 2-29. Konfiguration der Module
  +
Exemplarisch soll hier die Installation eines Modules für eine Netzwerkkarte gezeigt werden. Es kann durchaus
  +
der Fall sein, daß die Netzwerkkarte bereits vom Kernel erkannt wurde. Dies ist der Fall, wenn der Treiber für
  +
die betreffende Karte fest in den Kernel integriert wurde. In diesem Fall braucht kein Modul für die Karte
  +
geladen zu werden.
  +
Tip: Netzwerkkarte: Um festzustellen, ob bereits ein Treiber für die Netzwerkkarte im laufenden Kernel
  +
integriert ist, kann mit der Tastenkombination ALT+F2 (ALT+F1 wechselt auf die erste Konsole zurück) auf
  +
eine Konsole umgeschaltet werden. Zunächst muss diese Konsole durch drücken der Eingabetaste aktiviert
  +
werden. Mit dem Kommando: dmesg | grep eth kann festgestellt werden, ob der Kernel bereits beim Start
  +
eine Netzwerkkarte gefunden und eingebunden hat:
  +
# dmesg | grep eth
  +
eth0: PCnet/PCI II 79C970A at 0x1000, 00 50 56 8c 32 53
  +
#
  +
Ist dies nicht der Fall, muss ein Modul geladen werden.
  +
Wenn zu einem späteren Zeitpunkt weitere Module geladen werden sollen, so kann dazu jederzeit das
  +
Programm modconf benutzt werden.
  +
Tip: Notebook: Wenn Sie Debian GNU/Linux auf einem Notebook installieren, sollten Sie an dieser Stelle
  +
ein wenig vom normalen Pfad der Installation abweichen und zunächst die Treiber für den PCMCIA
  +
Steckplatz installieren. Wählen Sie hierzu den Menüpunkt Alternative: Konfiguration der
  +
PCMCIA-Unterstützung. Danach können Sie ganz normal das Netzwerk konfigurieren.
  +
59
  +
Kapitel 2. Installation von Debian GNU/Linux
  +
Abbildung 2-30. Anmerkung Module
  +
Die Module sind in verschiedene Gruppen eingeteilt, werfen Sie ruhig mal einen Blick in jedes Verzeichnis.
  +
Abbildung 2-31. Auswahl Module
  +
Am Beispiel einer Netzwerkkarte werden wir kurz erläutern, wie beim Einbinden von Modulen prinzipiell
  +
vorzugehen ist. Wählen Sie zuerst die gewünschte Gruppe aus (kernel/drivers/net - Treiber für
  +
Netzwerkkarten). Sie erhalten dann eine Liste aller verfügbaren Treiber. Netzwerkkarten, die über einen
  +
PCI-Bus verfügen, benötigen meist keinerlei Parameter und lassen sich mit wenigen Schritten einbinden. Bei
  +
älteren ISA-Karten müssen oft weitere Angaben zu IO-Bereich und Interrupt gemacht werden. Hilfreich ist hier,
  +
wenn Sie diese Angaben bereits von einem anderen auf diesem Rechner laufenden Betriebssystem in Erfahrung
  +
bringen können. Sehr verbreitet sind NE2000-kompatible Netzwerkkarten. Oft reicht es bei diesen, nur den
  +
Parameter io anzugeben, typische Werte sind hier: 0x280, 0x300, 0x320 usw.
  +
60
  +
Kapitel 2. Installation von Debian GNU/Linux
  +
Die hier ausgewählte Intel EtherExpress Pro 100M PCI-Karte braucht hingegen keine weiteren Parameter und
  +
läßt sich so sehr einfach in das System einbinden.
  +
Abbildung 2-32. Modul Netzwerkkarte Intel Pro 100
  +
Abbildung 2-33. Modul Netzwerkkarte Intel Pro 100
  +
61
  +
Kapitel 2. Installation von Debian GNU/Linux
  +
Abbildung 2-34. Modul Netzwerkkarte Intel Pro 100
  +
Sind alle Module erfolgreich geladen, verlassen Sie dieses Menü. Sollten bei einzelnen Komponenten Probleme
  +
auftreten, ist dies nicht weiter schlimm. Momentan ist es ausreichend, wenn alle zur Installation benötigten
  +
Geräte funktionsfähig sind. Netzwerkkarten, Soundkarten usw. können später konfiguriert werden.
  +
Auch wenn Sie in Ihrem System keine Netzwerkkarte installiert haben, sind einige Angaben zum Netzwerk
  +
nötig; versuchen Sie also nicht an diesem Menüpunkt vorbeizukommen: es wird Ihnen nicht gelingen.
  +
Abbildung 2-35. Netzwerkkonfiguration
  +
Eine wichtige Information ist der Name des Systems (hostname). Wenn Sie den Rechner sofort oder später in
  +
ein bestehendes Netzwerk einbinden wollen, sollten Sie mit dem zuständigen Administrator einen geeigneten
  +
62
  +
Kapitel 2. Installation von Debian GNU/Linux
  +
Namen vereinbaren, um Konflikte zu vermeiden. Für ein privates Netzwerk können Sie den vorgegebenen Wert,
  +
debian, belassen oder einen beliebigen anderen eingeben.
  +
Abbildung 2-36. Netzwerk
  +
Je nachdem ob Sie vorher eine Netzwerkkarte konfiguriert haben oder nicht, werden Sie nun mit einigen
  +
weiteren Fragen konfrontiert. Dies bedeutet nicht, daß Sie nicht später per Modem oder ISDN ins Internet
  +
kommen, doch dazu später mehr.
  +
Wenn in Ihrem Netz ein DHCP-Server zur Verfügung steht, können Sie von diesem alle weiteren
  +
Netzwerkeinstellungen beziehen. Meist werden diese jedoch von Hand eingegeben.
  +
Abbildung 2-37. Netzwerkkonfiguration DHCP
  +
63
  +
Kapitel 2. Installation von Debian GNU/Linux
  +
Geben Sie hier die IP-Nummer an, die Sie dem Netzwerkinterface geben wollen. Die hier vorgegebenen Werte
  +
sind reservierte Nummern, die Sie zu Hause in einem lokalen Netzwerk ohne Probleme benutzen können.
  +
Abbildung 2-38. IP-Nummer
  +
In einem Firmennetz oder wenn Sie von Ihrem Provider mehrere feste IP-Nummern bekommen haben, setzen
  +
Sie hier die entsprechenden Werte ein.
  +
Ihre Netzmaske:
  +
Abbildung 2-39. Broadcast
  +
64
  +
Kapitel 2. Installation von Debian GNU/Linux
  +
Geben Sie hier die IP-Nummer des Gateways ein.
  +
Abbildung 2-40. Nameserver
  +
Nun erfolgt die Abfrage des Domainnamens. Wenn Sie eine eigene Domain beantragt haben, setzen Sie den
  +
Namen dort ein. Wenn Sie ein privates Netzwerk zu Hause benutzen, können Sie sich auch einen netten Namen
  +
ausdenken. Eventuell ist es auch sinnvoll, den Domainnamen Ihres Providers einzusetzen. Wenn Sie sich nicht
  +
sicher sind, lassen Sie das Feld einfach frei.
  +
Abbildung 2-41. Domainname
  +
65
  +
Kapitel 2. Installation von Debian GNU/Linux
  +
Meist werden Sie einen anderen Rechner als Nameserver nutzen; geben Sie dessen IP-Nummer hier ein. Die
  +
IP-Nummer des Nameservers erfahren Sie im Zweifelsfall bei Ihrem Provider. Mehrere Nameserver können
  +
nacheinander, durch Leerzeichen getrennt, eingegeben werden.
  +
Abbildung 2-42. Nameserver
  +
Der nächste Punkt führt zur Installation des Basissystems. Es wird ein grundlegendes System auf der
  +
vorbereiteten Platte installiert. Dieses Basissystem enthält alle nötigen Programme, um die Installation später zu
  +
vervollständigen.
  +
Abbildung 2-43. Installation Basissystem
  +
66
  +
Kapitel 2. Installation von Debian GNU/Linux
  +
Die Installation kann – je nachdem wie schnell das System ist – einige Minuten in Anspruch nehmen. Es wird
  +
ein Grundsystem installiert, in dem alle weiteren Programme vorhanden sind, die benötigt werden. Die
  +
Installation erfolgt von der CD-ROM, von der bereits der Kernel und die Module installiert wurden.
  +
Abbildung 2-44. Basisinstallation - Schritt 1
  +
Abbildung 2-45. Basisinstallation - Schritt 2
  +
67
  +
Kapitel 2. Installation von Debian GNU/Linux
  +
Abbildung 2-46. Basisinstallation - Schritt 3
  +
Abbildung 2-47. Basisinstallation - Schritt 4
  +
68
  +
Kapitel 2. Installation von Debian GNU/Linux
  +
Abbildung 2-48. Basisinstallation - Schritt 5
  +
Der Fortschritt der Installation kann detailiert auf der vierten Konsole beobachtet werden. Mit der
  +
Tastenkombination ALT+F4 kann auf diese Konsole gewechselt werden.
  +
Abbildung 2-49. Basisinstallation - Schritt 6
  +
2.6.5. Bootloader
  +
Im folgenden wird die Festplatte für den automatischen Start von Debian GNU/Linux vorbereitet. Alternativ
  +
können Sie hier auch eine Boot-Diskette erzeugen; diese kann später als Rettungssystem verwendet werden.
  +
69
  +
Kapitel 2. Installation von Debian GNU/Linux
  +
Normalerweise ist dies aber nicht notwendig, denn jedes Debian Installationsystem kann auch als
  +
Rettungssystem verwendet werden. Dies gilt auch für die CD-ROM, von der das System installiert wurde.
  +
Abbildung 2-50. System bootfähig machen
  +
Es wird ein neuer MBR (Master Boot Record) auf der Festplatte installiert. Sie können bestimmen, an welcher
  +
Stelle er installiert werden soll. Normalerweise wird der Bootloader in den MBR installiert, wenn ein anderer
  +
Bootloader (beispielsweise ein kommerzielles Produkt) verwendet werden soll, so ist der Linux Loader (lilo) in
  +
den Bootsektor der Root-Partition (hier /dev/hda1) zu installieren.
  +
Der Linux Loader (lilo) wird zunächst ohne weitere Absicherung installiert. Dies bedeutet, daß jeder der Zugriff
  +
auf die Hardware des Rechners erlangt und ohne weiteres das System mit eigenen Parametern starten kann. Auf
  +
diese Weise ist es sehr einfach, Rechte des Systemadministrators zu erlangen, ohne ein Passwort zu kennen!
  +
LILO sollte später mit einem Passwort abgesichert werden, dies ist im Abschnitt über Systemsicherheit genauer
  +
beschrieben.
  +
Abbildung 2-51. LILO Sicherheitshinweis
  +
70
  +
Kapitel 2. Installation von Debian GNU/Linux
  +
Es wird nun angeboten, eine Boot-Diskette zu erstellen. Wenn Sie Ihr System von CD-ROM booten können, ist
  +
es kein Problem, dies zu übergehen: Sie können jederzeit mit der CD booten und das System im Notfall
  +
reparieren. Es schadet aber auch nicht, eine solche Diskette zu erstellen.
  +
Abbildung 2-52. Bootdisk
  +
2.6.6. Neustart
  +
Damit ist die Installation abgeschlossen. Das System muss nun einmalig neu gestartet werden, dabei werden
  +
noch einige kleiner Einstellungen vorgenommen.
  +
Abbildung 2-53. Reboot
  +
71
  +
Kapitel 2. Installation von Debian GNU/Linux
  +
Hier nochmal ein Hinweis, daß Sie das System auch von Diskette neu starten können. Dies funktioniert in
  +
gleicher Weise auch von der Installations-CD-ROM, welche das gleiche Image benutzt, wie es auch für die
  +
Rettungsdiskette verwendet wird.
  +
Ihr System wird nun neu gestartet und die Installation ist fast abgeschlossen...
  +
2.6.7. Fertigstellen der Installation
  +
Nachdem das System gestartet ist, werden noch einige letzte Einstellungen vorgenommen.
  +
Abbildung 2-54. Letzte Einstellungen
  +
Debian GNU/Linux verwaltet die Systemzeit, und somit auch die Umschaltung zwischen Sommer- und
  +
Winterzeit, über sogenannte Zeitzonen. Wählen Sie, wie gezeigt die für Ihre Region sinnvollen Werte. Um die
  +
Zeitzone später zu ändern, kann das Programm tzconfig verwendet werden.
  +
72
  +
Kapitel 2. Installation von Debian GNU/Linux
  +
Abbildung 2-55. Zeitzone - GMT
  +
Abbildung 2-56. Zeitzone - Bereich
  +
73
  +
Kapitel 2. Installation von Debian GNU/Linux
  +
Abbildung 2-57. Zeitzone - Stadt
  +
MD5 verschlüsselte Passwörter sollten in jedem Fall verwendet werden. Diese bieten eine höhere Sicherheit
  +
gegen Angriffe.
  +
Abbildung 2-58. MD5 Paßwörter
  +
Die Verwendung von „Shadow-“ Paßwörtern macht das System vor Angriffen deutlich sicherer (die Paßwörter
  +
werden in einer Datei gespeichert die, nicht wie die Datei /etc/passwd, die von jedem Benutzer gelesen
  +
werden kann, sondern nur vom Benutzer root lesbar ist).
  +
74
  +
Kapitel 2. Installation von Debian GNU/Linux
  +
Abbildung 2-59. Shadow Paßwörter
  +
Als nächster Schritt steht Ihnen die Auswahl des Paßwortes für den Systemadministrator (root) bevor. Sie
  +
sollten dieses Paßwort besonders sorgsam auswählen! Achten Sie darauf, daß es nicht Teile Ihres Namens
  +
enthält und möglichst aus einem Gemisch aus Buchstaben, Zahlen und Sonderzeichen besteht. Bei der Auswahl
  +
der verwendeten Zeichen ist darauf zu achten, daß das System durchaus in einen Zustand geraten kann indem
  +
noch keine deutsche Tastaturbelegung geladen ist. Enthält das Passwort des Systemadminisrators dann Umlaute
  +
so werden Sie massive Probleme mit der Anmeldung am System haben. Verwenden Sie besser Sonderzeichen
  +
die auch auf einer Tastatur mit amerikanischem Tastaturlayout zu erreichen sind. Der Systemadministrator hat
  +
Zugriff auf alle Teile des Systems, deshalb ist dieses Paßwort besonders sensibel.
  +
Abbildung 2-60. root Paßwort
  +
75
  +
Kapitel 2. Installation von Debian GNU/Linux
  +
Wie jedes gute Paßwort, so möchte auch dieses zur Bestätigung ein weiteres Mal eingegeben werden und wird
  +
natürlich nicht am Bildschirm angezeigt.
  +
Abbildung 2-61. root Paßwort
  +
Sie haben nun die Gelegenheit, einen neuen Benutzer - zusätzlich zum Administrator - einzurichten. Sie sollten
  +
dies auf alle Fälle tun, es ist nicht üblich und sogar gefährlich, die tägliche Arbeit am System als Administrator
  +
durchzuführen. Melden Sie sich immer als normaler Benutzer am System an und benutzen Sie das Kommando
  +
su, um Systemverwaltungsaufgaben durchzuführen.
  +
Abbildung 2-62. Benutzer anlegen
  +
76
  +
Kapitel 2. Installation von Debian GNU/Linux
  +
Geben Sie zuerst den gewünschten Benutzernamen ein. Dies können zum Beispiel Ihr Vorname oder Ihre
  +
Initialen sein:
  +
Abbildung 2-63. Benutzer - Username
  +
Hier sollten Sie Vor- und Nachnamen eingeben. Bedenken Sie, daß die hier gemachten Angaben auch später
  +
weiterverwendet werden, beispielsweise beim Versenden von E-Mail. Wenn Sie also als „Donald Duck“ im
  +
Netz auftauchen wollen, können Sie das hier eingeben... Zum guten Ton gehört aber die Verwendung des echten
  +
Namens.
  +
Abbildung 2-64. Benutzer - Realname
  +
77
  +
Kapitel 2. Installation von Debian GNU/Linux
  +
Auch für diesen Benutzer werden Sie wieder um ein Paßwort gebeten. Auch dieses sollten Sie sorgfältig
  +
auswählen. Normale Benutzer haben zwar nicht alle Rechte auf einem GNU/Linux-System, wenn ein
  +
Eindringling jedoch erst mal Zugriff auf ein System erlangt hat, gelingt es oft, sich weitere Rechte zu
  +
verschaffen.
  +
Abbildung 2-65. Benutzer - Passwort
  +
Natürlich müssen Sie auch dieses Paßwort zweimal eingeben um sicherzugehen, daß sich keine Tippfehler
  +
eingeschlichen haben.
  +
Abbildung 2-66. Benutzer - Passwort
  +
78
  +
Kapitel 2. Installation von Debian GNU/Linux
  +
Wenn Ihr System nicht über PCMCIA-Slots verfügt, können Sie die Unterstützung hierfür entfernen lassen.
  +
Abbildung 2-67. PCMCIA entfernen
  +
Nun können Sie wählen, ob Sie die weitere Installation über PPP (Point-to-Point-Protokoll) von einem der
  +
vielen Debian FTP-Server durchführen möchten. Wenn Sie über einen schnellen Zugang verfügen, können Sie
  +
diese Möglichkeit in Erwägung ziehen. Normalerweise sollten Sie aber die Installation von einer CD-ROM, wie
  +
bisher beschrieben, durchführen.
  +
Abbildung 2-68. PPP Installation
  +
79
  +
Kapitel 2. Installation von Debian GNU/Linux
  +
Wenn Sie, wie hier gezeigt, die weitere Installation nicht über PPP durchführen, wird versucht, von dem bei der
  +
Installation des Basissystems gefundenem CD-ROM die Paketdateien mit den verfügbaren Debian-Paketen zu
  +
lesen. Sie sollten hier zunächst die erste CD eingelegt haben, von der Sie auch das Basissystem installiert haben.
  +
Abbildung 2-69. CD Installation, lesen der Pakete
  +
Wenn Sie über mehrere Debian GNU/Linux-CDs verfügen, können Sie diese hier nacheinander einlesen. Die
  +
vorhandenen CDs werden in der Datei /etc/apt/sources.list mit einer eindeutigen Kennung eingetragen
  +
und die Paketdateien eingelesen.
  +
Natürlich können weitere CD-ROMs oder andere Installationsquellen auch zu einem späteren Zeitpunkt
  +
hinzugefügt werden; das dazugehörige Programm (welches auch hier grade zum Einsatz kommt) heisst
  +
apt-setup.
  +
Abbildung 2-70. CD Installation, lesen einer weiteren CD?
  +
80
  +
Kapitel 2. Installation von Debian GNU/Linux
  +
Wenn alle vorhandenen CD-ROMs eingelesen wurden, können Sie weitere Quellen hinzufügen, von denen
  +
Paketdateien gelesen werden sollen. In den meisten Fällen werden dies sicher FTP-Server sein, die über die
  +
aktuellsten Debian-Pakete verfügen.
  +
Abbildung 2-71. APT weitere Quelle
  +
Sofern das neu installierte System über einen Anschluß an das Internet verfügt, sollten in jedem Fall die
  +
Security Updates in die Konfiguration aufgenommen werden.
  +
Abbildung 2-72. Security Updates
  +
81
  +
Kapitel 2. Installation von Debian GNU/Linux
  +
Das Programm tasksel erlaubt das einfache Auswählen von Paketdateien. Hierbei müssen nicht viele einzelne
  +
Pakete gewählt werden, vielmehr können sinnvolle Zusammenstellungen für verschiedene Anwendungszwecke
  +
gewählt werden.
  +
Abbildung 2-73. tasksel
  +
Sie können nun, über das hier gezeigte Programm taskselect, welches Sie auch zu einem späteren Zeitpunkt
  +
erneut starten können, zwischen verschiedenen für Sie zusammengestellten Konfigurationen wählen. Jedes der
  +
hier angezeigten Pakete wählt eine Gruppe weitere Pakete aus. Eine ausführlichere Beschreibung zu
  +
taskselect finden Sie in einem späteren Kapitel.
  +
Abbildung 2-74. tasksel
  +
82
  +
Kapitel 2. Installation von Debian GNU/Linux
  +
Abschliessend können weitere Pakete gezielt mittels dselect zur Installation ausgewählt werden. Dies kann
  +
aber auch zu einem späteren Zeitpunkt bei Bedarf erfolgen.
  +
Abbildung 2-75. dselect
  +
Nach der Auswahl der gewünschten Pakete werden diese noch einmal angezeigt. Sie können noch einmal einen
  +
Blick auf die Auswahl werfen und ggf. an dieser Stelle abbrechen.
  +
Je nachdem ob Sie eine oder mehrere CDs zur Installation verwenden, kann es vorkommen, daß Sie
  +
aufgefordert werden, eine andere CD einzulegen.
  +
Abbildung 2-76. Package Installation
  +
83
  +
Kapitel 2. Installation von Debian GNU/Linux
  +
Gleich im Anschluß werden einige Pakete sich zu Wort melden, die einer weiteren Konfiguration bedürfen. Hier
  +
zum Beispiel das Paket less, welches einen Mime-Handler konfigurieren möchte.
  +
Abbildung 2-77. Paket Konfiguration - less
  +
Debian GNU/Linux unterstützt verschiedene Sprachen. Hier kann ausgewählt werden, welche benötigt werden
  +
und welche aus dem System entfernt werden sollen.
  +
Abbildung 2-78. Paket Konfiguration - locale
  +
84
  +
Kapitel 2. Installation von Debian GNU/Linux
  +
Aus den verfügbaren Sprachen („C“ steht dabei für englisch) kann eine als systemweite Sprache gewählt
  +
werden.
  +
Abbildung 2-79. Paket Konfiguration - locales
  +
Das Entpacken der gewünschten Pakete erfordert bei den meisten Paketen keine weitere Benutzereingabe, Sie
  +
können sich jetzt, je nach Anzahl der ausgewählten Pakete, erst mal eine kleine Pause genehmigen. Sollten Sie
  +
jetzt während der Installation zu einzelnen Paketen auf Fragen stoßen, die Sie nicht beantworten können, so
  +
lesen Sie in dem entsprechenden Abschnitt dieses Buches weiter nach, wie dieses Programm zu konfigurieren
  +
ist.
  +
Abbildung 2-80. Pakete entpacken
  +
85
  +
Kapitel 2. Installation von Debian GNU/Linux
  +
Nach der Installation der ausgewählten Pakete, können Sie die Archive von Ihrer Platte löschen. Wenn Sie die
  +
Pakete via FTP aus dem Netz geholt haben, kann es aber auch sinnvoll sein, die Archive auf der Platte zu halten,
  +
um einen erneuten Download zu vermeiden.
  +
Abbildung 2-81. Pakete löschen nach der Installation
  +
Hiermit ist die Installation abgeschlossen und Sie bekommen noch einige Tips zur Verwendung von virtuellen
  +
Konsolen.
  +
Abbildung 2-82. Installation beendet
  +
Wenn alles geglückt ist, können Sie sich an Ihrem neuen Debian GNU/Linux-System anmelden.
  +
86
  +
Kapitel 2. Installation von Debian GNU/Linux
  +
Abbildung 2-83. Login
  +
2.6.8. Paket Vorschläge und Empfehlungen
  +
Das Debian Paketsystem bietet Vorschläge (recommend) und Empfehlungen (suggest) für Pakete an. Diese
  +
werden von APT nicht berücksichtigt und somit sind einige nützliche und wichtige Pakete (beispielsweise ssh
  +
und gnupg) noch nicht installiert. Leider lassen sich diese Pakete nicht direkt via APT installieren, es ist ein
  +
kurzer Umweg über dselect notwendig.
  +
Mit dem Kommando
  +
dselect --expert select quit
  +
werden die vom Paketmanagement bisher nicht ausgewählten Pakete ermittelt und zur Installation ausgewählt.
  +
Es erscheint einmalig das Programm dselect. Dieses kann einfach durch einen Druck auf die Return-Taste
  +
beendet werden. Abschliessend sind die noch fehlenden Pakete mittels
  +
apt-get dselect-upgrade
  +
zu installieren.
  +
87
  +
Kapitel 2. Installation von Debian GNU/Linux
  +
Abbildung 2-84. apt-get dselect-upgrade
  +
Hiermit ist die Installation eines einfachen Debian GNU/Linux-Systems abgeschlossen. In den folgenden
  +
Kapiteln finden Sie weitere Informationen, wie Sie das System an Ihre Bedürfnisse anpassen können und
  +
weitere Pakete installieren.
  +
2.7. Installation von Debian/GNU Hurd
  +
Die Debian Entwickler unterstützen seit einigen Monaten die Entwicklung von HURD indem sie Pakete für den
  +
HURD Kernel übersetzen und im Netz zur Verfügung stellen. Alle zur Paketverwaltung notwendigen
  +
Werkzeuge stehen zur Verfügung.
  +
Natürlich gibt es auch für dieses Debian Projekt eine eigene Webseite auf der sich neben aktuellen
  +
Informationen auch Links zur Dokumentation, Installation und zur Entwicklung finden. Die Adresse lautet
  +
http://www.debian.org/ports/hurd/.
  +
Für die eigentliche Installation von Debian GNU/Hurd stehen unter
  +
ftp://ftp.fsn.hu/pub/CDROM-Images/debian-unofficial/ CD-Images zum Download bereit. Diese basieren
  +
momentan noch auf den Bootdisketten vom Debian GNU/Linux i386, für die Installation von HURD müssen
  +
Sie einmalig für kurze Zeit auf einen Linux Kernel zurückgreifen. Die CD-Images sind bootfähig und sind für
  +
die Installation von Debian GNU/Hurd nur leicht angepasst worden.
  +
Eine Liste von weiteren Mirror-Servern auf denen diese CD-Images liegen, findet sich unter
  +
http://www.debian.org/ports/hurd/hurd-cd.
  +
Wie Sie diese Images auf CD brennen finden Sie in einem anderen Kapitel dieses Buches beschrieben.
  +
2.7.1. Die Installations-CD
  +
Die Debian GNU/Hurd Installation verläuft prinzipiell wie die Installation von Debian GNU/Linux. Nach der
  +
Installation eines Minimal-Systemes erfolgt ein Reboot und alle weiteren Pakete werden über das
  +
Minimal-System installiert und konfiguriert.
  +
Somit konnten große Teile der Debian GNU/Linux Installationsroutinen auch für Debian GNU/Hurd benutzt
  +
werden. Die Installation auf diesem Weg mit einer CD-ROM hat einige Vorteile:
  +
88
  +
Kapitel 2. Installation von Debian GNU/Linux
  +
• Mit einem laufenden Linux System im Arbeitsspeicher und den notwendigen Daten für die Installation von
  +
Hurd auf der CD, kann die Installation auf einem System erfolgen auf dem bisher noch nie ein
  +
Betriebssystem installiert war.
  +
• Da es unter Hurd (noch) keine Programme zum partitionieren der Festplatte gibt, kann dies unter Linux
  +
geschehen.
  +
• Die Installation geht schnell und ist den meisten Benutzern bereits von Debian GNU/Linux vertraut.
  +
Hurd unterstützt momentan noch keine Partitionen die über 1GB groß sind. Natürlich können aber mehrere
  +
Partitionen während der Installation erzeugt werden. Hurd benutzt das Extended 2 Dateisystem (ext2), welches
  +
bereits von Linux bekannt sein dürfte. Der entsprechende Aufruf um ein Dateisystem zu erzeugen lautet
  +
beispielsweise: mke2fs -O sparse_super -o hurd /dev/hda1. Als ergänzende Option ist -o hurd
  +
anzugeben, die Installationsroutine berücksichtigt dies bereits.
  +
2.7.2. Vorbereitungen
  +
• 1. Erzeugen einer GRUB Bootdiskette
  +
Auf der CD-ROM befindet sich unter /install/grub-boot-0.5.95.image ein Image für eine GRUB
  +
Bootdiskette. Diese kann mit dem Kommando dd auf eine Diskette geschrieben werden.
  +
• 2. Verstehen der „Basics“ Fahren Sie nur mit der Installation fort wenn Sie sich ganz sicher sind das Sie die
  +
verschiedenen Namensgebungen für Laufwerke und Partitionen unter Linux, Hurd und bei GRUB verstanden
  +
haben. Hier kann es leicht zu Verwechslungen kommen. Deshalb sollte der folgende Abschnitt sehr
  +
aufmerksam gelesen werden.
  +
Hurd nummeriert Festplatte in aufsteigender Reihenfolge, beginnend mit 0. Hierbei ist es bei IDE Fetsplatte
  +
unabhängig ob die Festplatte als Master oder Slave eingestellt ist, die zweite Platte ist immer hd1. Ebenso wird
  +
bei SCSI Festplatten verfahren. Die erste und zweite Festplatte werden als sd0 bzw. sd1 bezeichnet, egal
  +
welche SCSI ID den Platten gegeben wurde. Obwohl die Bezeichnungen bereits so verwendet wurden, hier
  +
nochmal der Hinweiß: IDE Festplatten werden als hdx und SCSI Festplatten als sdx bezeichnet.
  +
Die Partitionen auf einer Festplatte werden immer als sn bezeichnet, wobei n für die Partitionsnummer steht
  +
und die Nummerierung mit 1 begonnen wird. Die dritte Partition auf der ersten IDE Festplatte würde somit als
  +
hd0s3 bezeichnet werden. Die dritte Partition auf der zweiten SCSI Festplatte bezeichnte man als sd1s3.
  +
Verwirrend, nicht war...?
  +
GRUB bezeichnet die Partitionen etwas anders. Zunächst werden Festplatten und Partitionen beginnend mit 0
  +
hochgezählt. Die Bezeichnung lautet (hdN,n), inklusive der runden Klammern. Alle Festplatten werden
  +
fortlaufend hochgezählt, beginnend mit den IDE Festplatten, danach die SCSI Festplatten. Mal ein Beispiel: bei
  +
einer IDE Festplatte im System lautet die Bezeichnung für die ersten Partition (hd0,0). Nehmen wir aber mal
  +
(hd1,2), dies kann bereits die erste SCSI Festplatte sein, wenn nur eine IDE Festplatte im System steckt. Es
  +
kann aber auch die zweite IDE Festplatte sein. Alles verstanden? Wenn nicht beginnen Sie bitte am Anfang des
  +
Kapitels von vorne.... ;-)
  +
2.7.3. Installation unter Linux
  +
Die Installation des Hurd Systems erfolgt zunächst unter Debian GNU/Linux, viele der Arbeitsschritte werden
  +
Ihnen bakannt vorkommen wenn Sie schon einmal Debian GNU/Linux installiert haben. Nach dem ersten
  +
Reboot des Systems steht jedoch ein System mit Hurd Kernel zur Verfügung.
  +
Die Basisinstallætion läuft in 7 Schritten ab:
  +
• 1. Booten des Installationssystems
  +
89
  +
Kapitel 2. Installation von Debian GNU/Linux
  +
Die Installationsroutine kann mit jeder der bekannten Methoden erfolgen, es kann direkt von der CD-ROM,
  +
von DOS/Windows aus oder von den boot/root Disketten gestartet werden. Wenn keine CD-ROM zur
  +
Verfügung steht kann auch von einem kompletten Set Disketten installiert werden.
  +
• 2. Partitionen
  +
Zunächst sollten Sie über den Menüpunkt „Partition a Hard Disk“ einen Blick auf die vorhandenen
  +
Festplatten und Partitionen werfen. Wenn Sie später weitere Partitionen in das System einbinden möchten, so
  +
sollten Sie diese jetzt bereits anlegen. Unter Hurd stehen noch keine Programme für diese Aufgaben zur
  +
Verfügung. Für den Anfang sollten 500-600MB für das System ausreichen.
  +
• 3. Namen
  +
Notieren Sie sich genau die geplante Partitionierung des Systems. Erstellen Sie eine Tabelle in der sowohl die
  +
Bezeichnungen für GRUB als auch für Hurd vermerkt sind.
  +
• 4. Erstellen von Partitionen
  +
Legen Sie nun die gewünschten Partitionen an. Achten Sie darauf auch eine Swap Partition anzulegen, Hurd
  +
ist da sehr kleinlich wenn es keine solche Partition finden kann... Es kann für Linux und Hurd eine
  +
gemeinsame Swap Partition verwendet werden.
  +
• 5. Formatierung
  +
Formatieren Sie nun, über den Menüeintrag „Initialize a Hurd or Linux Partition“ die für Hurd vorgesehene /
  +
(root) Partition und mounten diese. Es dürfen keine weiteren Partitionen gemountet werden.
  +
• 6. Basissystem
  +
Installieren Sie das Basissystem über „Install the Base System“.
  +
• 7. Reboot
  +
Legen Sie nun die GRUB-Bootdiskette ein und starten Sie das System über „Reboot the System“. Wenn Sie
  +
das Sytem von CD-ROM gestartet haben müssen Sie die Bootreihenfolge im Bios verändern oder die CD aus
  +
dem Laufwerk nehmen.
  +
Wenn die Hurd Partition (hd0,0) (GRUB Bezeichnungsschema) und sd0s1 (HURD Bezeichnungsschema)
  +
ist. so startet das System vollkommen automatisch. Zur Errinerung: dies würde bedeuten das Hurd auf der
  +
ersten Partition der ersten Festplatte installiert wurde und das sich keine IDE Festplatten im System befinden.
  +
Sollte aber die Bezeichnung (hd0,0) (GRUB Bezeichnungsschema) und hd0s1 (HURD
  +
Bezeichnungsschema) sein, so wird GRUB leicht irritiert sein und um eine Korrektur bitte. Sie wissen jetzt aber
  +
bereits das die korrekte Antwort hd0s1 lautet. Die Frage ob /boot/serverboot.gz verwendet werden soll
  +
ist mit einem Druck auf die Eingabestaste (RETURN) zu beantworten.
  +
Wenn keine der beiden Varianten auf Ihr System zutrifft, so stellt GRUB ein Bootmenü zur Verfügung in dem
  +
die TAB-Taste zur Vervollständigung der Eingabe verwendet werden kann.
  +
Hier ein Beispiel: die Aufforderung „Press any key to continue“ und das drücken der Eingabetaste bringt ein
  +
Menü zum Vorschein. Mit der Taste c gelangt man in die Kommandozeile. Von hier kann Schritt für Schritt die
  +
korrekte Eingabe zusammengestellt werden.
  +
grub$ root TABÊ
  +
Possible commands are: root rootnoverify
  +
grub$ root (TABË
  +
90
  +
Kapitel 2. Installation von Debian GNU/Linux
  +
Possible disks are: fd0 hd0 hd1
  +
grub$ root (hd0,TABÌ
  +
Possible partitions are:
  +
Partition num: 0, Filesystem type is unknown, partition type 0x82
  +
Partition num: 1, Filesystem type is ext2fs, partition type 0x83
  +
Partition num: 2, Filesystem type is ext2fs, partition type 0x83
  +
Partition num: 4, Filesystem type is ext2fs, partition type 0x83
  +
Partition num: 5, Filesystem type is ext2fs, partition type 0x83
  +
Partition num: 6, Filesystem type is ext2fs, partition type 0x83
  +
grub$ root (hd0,4)Í
  +
Filesystem type is ext2fs, partition type 0x83
  +
grub$ kernel /boot/gnumach.gz root=hd0s5 -s
  +
grub$ module /boot/serverboot.gz
  +
grub$ boot
  +
Ê Drücken Sie hier die TAB-Taste.
  +
Ë Drücken Sie hier die (- und die TAB-Taste.
  +
Ì Wählen Sie eine der vorab angezeigten Festplatten aus und drücken Sie wieder die TAB-Taste.
  +
Í Wenn die Festplatte und Partition korrekt sind, kann die Auswahl mit der Eingabetaste abgeschlossen
  +
werden.
  +
Wenn alle Angaben korrekt sind, kann das System gestartet werden. Auf der Bootdiskette kann später dann die
  +
Datei /boot/grub/menu.lst so verändert werden das die Einträge den tatsächlichen Gegebenheiten
  +
entsprechen.
  +
2.7.4. Abschluß der Installation
  +
Die Installation wird nach dem Neustart des Systems nun bereits mit einem laufenden Hurd-Kernel
  +
abgeschlossen:
  +
• Wenn das System gestartet ist, rufen Sie ./native-install auf. Danach muß das System mit dem
  +
Kommando reboot nochmal neu gestartet werden. Achten Sie ganz besonders auf die Meldungen und
  +
notieren Sie sich die Bezeichnung des CD-ROMs.
  +
• Auch nach diesem Start rufen Sie ./native-install nocheinmal auf. Diesmal werden viele bereits
  +
installierte Pakete abschliessend konfiguriert. Danach muß das System nochmals rebootet werden.
  +
• Melden Sie sich nun als Benutzer „root“ an und wechseln Sie in das Verzeichnis /dev. Nun müssen alle
  +
benötigten Gerätedateien angelegt werde, auch für die Swap-Partition und das CD-ROM. Dies geschieht mit
  +
dem Kommando MAKEDEV hd2 hd0s2 hd0s3 usw..
  +
• Ändern Sie die Datei /etc/fstab mit dem Editor ae und fügen Sie die benötigten Partitonen hinzu,
  +
beispielsweise:
  +
/dev/hd0s1 none swap sw 0 0
  +
/dev/hd1,1 /CD1 ext2 rw 1 1
  +
/CD1 ist der empfohlene Pfad wenn auch die zweite Hurd-CD zur Installation verwendet wird. Wie schon
  +
erwähnt kann die Swap-Partition ebenfalls von Linux verwendet werden.
  +
• Nun muß die Swap-Partition mit swapon -a aktiviert werden.
  +
91
  +
Kapitel 2. Installation von Debian GNU/Linux
  +
• Das CD-ROM wird mit einem sogenannten „translator“ aktiviert: settrans -a /cdrom /hurd/isofs
  +
/dev/hd2s1, die Bezeichnung muß natürlich angepasst werden.
  +
• Nun können weitere Pakete mit dselect installiert werden. Unter „Access“ wählen Sie „Mounted
  +
filesystem“ und geben /cdrom/dists/unstable ein. Wundern Sie sich nicht über einige
  +
Fehlermeldungen, lediglich ../main/binary-hurd-i386 enthält Pakete, die Bereiche „contrib“ und
  +
„non-US“ sind in diesem bereits enthalten.
  +
• Fahren Sie mit „Update“ und „Select“ fort. Sie können weitere Pakete auswählen, um Probleme zu
  +
minimieren sollte darauf aber erst einmal verzichtet werden. Die Auswahl von „Install“ sollte ohne größere
  +
Probleme durchlaufen.
  +
• Das abmelden der CD-ROM erfolgt in zwei Schritten, die Kommandos
  +
settrans -g /cdrom
  +
settrans -g /dev/hd2s1
  +
sollten zum gewünschten Ergebniss führen.
  +
Hiermit ist die Installation abgeschlossen. Es können nun weitere Pakete installiert werden.
  +
92
  +
Kapitel 3. Betrieb
  +
3.1. Unix-Grundlagen
  +
Im folgenden finden Sie eine Einführung in die wichtigsten Unix-Kommandos sowie eine Beschreibung des
  +
Editors vi. Im Gegensatz zu anderen Betriebssystemen speichert Debian GNU/Linux alle nötigen Einstellungen
  +
in reinen Textdateien. Diese lassen sich mit den einfachsten Werkzeugen, wie zum Beispiel dem Editor vi,
  +
bearbeiten. Es werden keine Programme mit grafischer Benutzeroberfläche benötigt, der Systemadministrator
  +
hat 100%igen Zugriff auf alle Einstellungen, zur Not auch von außerhalb über eine simple Telefonleitung oder
  +
über das Internet via telnet oder besser ssh. Es werden die wichtigsten Grundlagen zur Systemadministration
  +
vermittelt, so daß Sie in jedem Fall Ihr System wieder zum Leben erwecken können.
  +
Sicher gibt es einfacher zu bedienende Editoren als vi, dieser hat jedoch den Vorteil, schon direkt nach der
  +
Basisinstallation von Debian GNU/Linux vorhanden zu sein. Auch auf anderen Unix-Systemen trifft man auf
  +
diesen Standard-Editor, so daß man die Vorkenntnisse auch hier nutzen kann.
  +
Da bisher keine grafische Oberfläche installiert wurde (diese ist beispielsweise für den Betrieb eines Servers
  +
nicht notwendig), finden Sie im folgenden ausschließlich textbasierte Programme.
  +
Debian GNU/Linux stellt dem Systembetreiber aber auch zahlreiche grafische Werkzeuge zur Administration
  +
zur Verfügung, einige von ihnen werden später vorgestellt.
  +
3.2. Allgemeines zum neuen System
  +
Wenn Sie es bis hierher geschafft haben, Debian GNU/Linux auf Ihrem System zu installieren und das erste
  +
Mal zu starten, steht Ihnen nun ein lauffähiges Debian GNU/Linux-System zur Verfügung.
  +
Alle installierten Programme wurden schon für Sie sinnvoll vorkonfiguriert. Dennoch ist es natürlich an vielen
  +
Stellen angebracht, dem System den letzten Schliff zu geben. Im folgenden erfahren Sie einiges über den
  +
Aufbau und die Funktionalität des Debian GNU/Linux-Systems, danach wird auf einige spezielle Programme
  +
eingegangen.
  +
3.3. Ein Multiuser-, Multitasking-Betriebssystem
  +
Debian GNU/Linux basiert auf dem Design der in den 60er Jahren entstandenen Unix-Systeme. Anders als die
  +
im täglichen Gebrauch – zu Hause oder in Büros – verbreiteten DOS-, Windows- und MacOS-Betriebssysteme,
  +
ist Unix im Serverbereich und auf Systemen mit vielen Benutzern, auf ein und demselben Rechner, verbreitet.
  +
Dies bedeutet u.a., daß Debian GNU/Linux viele Funktionen von Hause aus mitbringt, die den anderen
  +
Betriebsystemen fehlen oder die zusätzlich erworben und installiert werden müssen. Debian erlaubt mehreren
  +
Benutzern die gleichzeitige Nutzung eines Rechners ( Multiuser), hierzu ist es nötig mehrere, auch gleiche
  +
Programme, zur selben Zeit auszuführen. Diese Funktion nennt man Multitasking.
  +
Ein Großteil der Komplexität und Leistungsfähigkeit von Unix-Systemen hat ihren Ursprung in diesen beiden
  +
Funktionen. Zum Beispiel muß das System bei mehreren Benutzern verhindern, daß ein Benutzer Dateien eines
  +
anderen versehentlich löschen kann.
  +
Hat man dies einmal verstanden, fällt es viel leichter viele der Vorgänge und Eigenheiten eines Unix-Systems
  +
besser zu verstehen. Sie werden im folgenden lernen, diese beiden Funktionen sinnvoll zu nutzen.
  +
3.4. Anmelden am System
  +
Um Debian GNU/Linux zu benutzen, müssen Sie sich am System anmelden. Dies geschieht über die Eingabe
  +
eines sogenannten Usernamens und eines Paßwortes. Über diese Kombination kann das System feststellen,
  +
welche Zugriffsrechte der Benutzer hat und welche persönlichen Einstellungen zu verwenden sind.
  +
93
  +
Kapitel 3. Betrieb
  +
Wenn Sie Debian GNU/Linux selber installiert haben, wurden Sie bereits bei der Installation nach einem
  +
Benutzernamen und einem Paßwort sowie einigen anderen Angaben gefragt. Möchten Sie sich an einem
  +
anderen System anmelden, fragen Sie den Systembetreuer nach einem Zugang.
  +
Sie sollten in jedem Fall nicht auf die Idee kommen, für Ihren Zugang zu einem Linux-System auf ein Paßwort
  +
zu verzichten (auch wenn dies grundsätzlich möglich ist und Sie „sowieso nur alleine zu Hause“ an dem
  +
Computer arbeiten!). Ein Zugang ohne Paßwort steht für jeden anderen spätestens bei der ersten Verbindung ins
  +
Internet offen, bitte bedenken Sie das!
  +
Auch ist es bei der Installation möglich, auf die Einrichtung eines normalen Benutzers zu verzichten. Dies mag
  +
in einigen wenigen Fällen sinnvoll sein, es ist aber meistens davon abzuraten. Der Superuser (root) hat generell
  +
alle Zugriffrechte an einem System. Debian GNU/Linux installiert aus Sicherheitsgründen einige Pakete so, daß
  +
die zugehörigen Programme nicht als Superuser ausgeführt werden können. Weiterhin ist es standardmäßig
  +
unter Debian GNU/Linux nicht ohne weiteres möglich, sich als Superuser über ein Netzwerk am System
  +
anzumelden. Es kann also zu Problemen und Verwirrung kommen, wenn Sie keinen normalen Benutzer
  +
angelegt haben.
  +
Wenn Sie Ihr Debian GNU/Linux-System starten, sehen Sie eine Aufforderung zur Anmeldung am System. Je
  +
nach Konfiguration kann dies eine textbasierte oder eine grafische Anmeldung sein. Im einfachsten Fall sehen
  +
Sie in etwa folgendes:
  +
Debian GNU/Linux woody surimi tty1
  +
book login:
  +
Bei einer unveränderten Debian-Installation steht in der ersten Zeile nach „Debian GNU/Linux“ der Name der
  +
Debian-Version (hier „woody“ für die Version 3.0), der Name des Rechners („surimi“) sowie Name und
  +
Nummer der Konsole, auf der Sie sich befinden.
  +
Geben Sie nun Ihren Benutzernamen ein und drücken Sie RETURN, Sie werden dann nach Ihrem Paßwort
  +
gefragt.
  +
Passwort:
  +
Geben Sie hier Ihr gewähltes Paßwort ein. Beachten Sie, daß das Paßwort bei der Eingabe aus
  +
Sicherheitsgründen nicht angezeigt wird. Sollte die Anmeldung fehlschlagen, prüfen Sie, ob eventuell die
  +
Feststelltaste gedrückt wurde.
  +
War die Anmeldung erfolgreich, sehen Sie eine kurze Willkommensnachricht, die in etwa so aussieht:
  +
Linux surimi 2.4.4 #1 Wed May 16 09:21:01 EST 2001 i686 unknown
  +
Copyright (C) 1993-1999 Software in the Public Interest, and others
  +
Most of the programs included with the Debian GNU/Linux system are
  +
freely redistributable; the exact distribution terms for each program
  +
are described in the individual files in /usr/doc/*/copyright
  +
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
  +
permitted by applicable law.
  +
Last login: Sat Jul 3 21:53:40 on tty4.
  +
You have mail.
  +
$
  +
Das letzte Zeichen, $, wurde von einem Programm, der sogenannten shell, ausgegeben. Deshalb nennt man dies
  +
auch den „shell-prompt“. Hier können Sie verschiedene Kommandos eingeben und so das System steuern oder
  +
Programme starten.
  +
Als erster Versuch eignet sich das Kommando whoami gut.
  +
Der Cursor rechts neben dem Shell-Prompt (meist ein blinkender Unterstrich (_)) zeigt an, an welcher Stelle Sie
  +
das nächste Zeichen auf der Tastatur eingeben sollen. Tippen Sie den Befehl whoami ein und drücken Sie
  +
RETURN.
  +
whoami zeigt Ihren Benutzernamen an, Sie gelangen dann wieder zum Shell-Prompt zurück.
  +
94
  +
Kapitel 3. Betrieb
  +
Wenn Sie Ihre Arbeit mit Debian beendet haben, sollten Sie sich wieder vom System abmelden. Hierfür können
  +
Sie den Befehl „exit“ benutzen. Eine weitere Möglichkeit ist das gleichzeitige Drücken der Tasten STRG+d,
  +
auch hiermit verlassen Sie die momentane shell, Ihre Benutzerumgebung.
  +
Bedenken Sie, daß – wenn Sie sich nicht vom System abmelden – andere Leute Ihren Zugang mißbrauchen
  +
können, falls Sie sich von Ihrem Rechner entfernen!
  +
3.5. Anmelden als Superuser (root)
  +
Debian GNU/Linux ist als Multiuser-System dafür ausgelegt, mehrere Benutzer gleichzeitig bei der Arbeit zu
  +
unterstützen. Hierbei wurde besonderer Wert darauf gelegt, daß ein Programm eines Benutzers, wenn es denn
  +
mal abstürzt, nicht das komplette System abstürzen läßt. Über Zugriffrechte, die den Benutzern eines Systems
  +
von dem Systemadministrator zugewiesen werden, wird verhindert, daß wichtige Dateien im System von
  +
Unbefugten verändert oder gar gelöscht werden.
  +
Manchmal ist es aber nötig, selbst wichtige Systemdateien zu verändern. Hierzu gehört die Installation von
  +
neuen Programmen (normalerweise über das Programm dselect) oder auch die Konfiguration des
  +
Netzwerkes. Ein solcher Eingriff ist ebenfalls nötig, wenn man eine serielle Maus angeschlossen hat und diese
  +
gegen ein Modell mit PS/2-Anschluß austauschen möchte.
  +
Um diese Änderungen vornehmen zu können, müssen Sie mehr Zugriffsrechte zu Ihrem System erlangen als
  +
Ihnen als normaler Benutzer zur Verfügung stehen. Sie müssen „root“ werden, sich also als Superuser/
  +
Systemadministrator am System anmelden.
  +
Am einfachsten gelingt dies, wenn Sie sich bereits am Login-Prompt mit dem Benutzernamen root und dem
  +
dazugehörigen Paßwort anmelden. Das Paßwort haben Sie bereits bei der Installation gewählt, wenn Sie das
  +
System selber installiert haben. Arbeiten Sie an einem fremden System, bitten Sie den Systemadministrator, die
  +
gewünschten Einstellungen für Sie vorzunehmen.
  +
Manchmal ist das Paßwort für den Superuser auch mehreren Personen bekannt, dies ist z.B. an Universitäten
  +
oder in Firmen üblich, um zu gewährleisten, daß möglichst immer ein Systembetreuer ansprechbar ist.
  +
Melden Sie sich nun als Superuser (root) an. Überprüfen Sie mit dem Befehl whoami Ihre Identität. Loggen Sie
  +
sich möglichst bald wieder aus, wenn Sie als Superuser am System gearbeitet haben! Sie haben als Superuser
  +
alle Zugriffsrechte, um das gesamte System im schlimmsten Fall zu zerstören. Spielen Sie nicht mit dem
  +
System herum, solange Sie als Superuser angemeldet sind. Führen Sie nur die absolut notwendigen Arbeiten
  +
aus und melden Sie sich dann als normaler Benutzer wieder an!
  +
Alternativ besteht auch die Möglichkeit, den Befehl su zu benutzen. Sie können so die Rechte eines anderen
  +
Benutzers erlangen, ohne sich am System ab- und wieder anmelden zu müssen.
  +
Probieren Sie es einmal aus: Melden Sie sich mit Ihrem normalen Benutzernamen an (nicht root!). Geben Sie
  +
das Kommando su ein. Sie werden nun nach dem Paßwort für den Superuser gefragt: geben Sie es ein. Der
  +
Shell-Prompt sollte nun von $ auf # wechseln. Sie können so leicht feststellen, daß Sie nun als Superuser
  +
angemeldet sind. Natürlich können Sie dies auch jederzeit wieder mit whoami überprüfen.
  +
Sie können mit dem Befehl su auch die Identität jedes anderen Benutzers annehmen, solange Sie das Paßwort
  +
kennen oder als Superuser am System angemeldet sind. Benutzen Sie hierzu ebenfalls den Befehl su und geben
  +
dahinter (durch ein Leerzeichen getrennt) den Namen des Benutzers an. Beispiel: su donald.
  +
Vielleicht werden Sie bemerken (nachdem Sie das Kommando su einige Zeit benutzt haben), daß nicht alle
  +
Einstellungen so sind, wie Sie vielleicht erwarten. Um auch mit dem Kommando su alle Einstellungen so
  +
vorzufinden, als ob man sich direkt von einem Login-Prompt angemeldet hätte, benutzen Sie den Befehl su -
  +
donald, also mit dem Zeichen - nach dem Kommando su.
  +
3.6. Benutzerverwaltung
  +
Die Benutzerverwaltung eines Systems stellt an den Systemadministrator verschiedene Anforderungen. Bereits
  +
während der Installation von Debian GNU kann ein Benutzer hinzugefügt werden. Dies sollte auch auf jeden
  +
Fall geschehen. Nachdem das System in den produktiven Betrieb übergegangen ist, sind Aufgaben wie das
  +
95
  +
Kapitel 3. Betrieb
  +
anlegen oder löschen von Benutzern, das anpassen von Zugriffsrechten oder Quotas (beispielsweise zur
  +
Beschränkung des Plattenplatzes je Benutzer) durch den Systemadministrator zu erledigen.
  +
Informationen zu Zugriffsrechten finden sich an anderer Stelle in dieser Dokumentation, hier soll es zunächst
  +
um das hinzufügen und löschen von Benutzeraccounts gehen.
  +
3.6.1. Benutzer hinzufügen
  +
Das hinzufügen neuer Benutzer ist Aufgabe des Systemadministrators und muss daher mit Superuser-Rechten
  +
durchgeführt werden. Neben dem klassischen Weg, dem hinzufügen der erforderlichen Daten mittels eines
  +
Editors in den entsprechenden Dateien, steht unter Debian GNU das Programm adduser zur Verfügung.
  +
adduser [--home DIR] [--shell SHELL] [--no-create-home] [--uid ID]
  +
[--firstuid ID] [--lastuid ID] [--gecos GECOS] [--ingroup GROUP | --gid ID]
  +
[--disabled-password] [--disabled-login] user
  +
Add a normal user
  +
adduser --system [--home DIR] [--shell SHELL] [--no-create-home] [--uid ID]
  +
[--gecos GECOS] [--group | --ingroup GROUP | --gid ID]
  +
[--disabled-password]
  +
[--disabled-login] user
  +
Add a system user
  +
adduser --group [--gid ID] group
  +
addgroup [--gid ID] group
  +
Add a system group
  +
adduser user group
  +
Add an existing user to an existing group
  +
Global configuration is in the file /etc/adduser.conf.
  +
Other options are [--quiet] [--force-badname] [--help] [--version]
  +
[--conf
  +
FILE].
  +
adduser kennt eine Reihe von Optionen die in der Manpage beschrieben sind oder, in verkürzeter Form,
  +
mittels adduser -h angezeigt werden. Für den „Hausgebrauch“ ist es ausreichend das Programm ohne weitere
  +
Optionen aufzurufen, adduser verfügt über einen interaktiven Modus in dem alle notwendigen Angaben
  +
erfragt werden.
  +
sushi:~# adduser
  +
Enter a username to add: dd
  +
Adding user dd...
  +
Adding new group dd (1001).
  +
Adding new user dd (1001) with group dd.
  +
Creating home directory /home/dd.
  +
Copying files from /etc/skel
  +
Enter new UNIX password:
  +
Retype new UNIX password:
  +
passwd: password updated successfully
  +
Changing the user information for dd
  +
Enter the new value, or press return for the default
  +
Full Name []: Donald Duck
  +
Room Number []:
  +
Work Phone []:
  +
Home Phone []:
  +
Other []:
  +
Is the information correct? [y/n] y
  +
96
  +
Kapitel 3. Betrieb
  +
Zunächst ist der Benutzer (Loginname) anzugeben. Hier bietet es sich an eine kurze Zeichenkette zu wählen,
  +
diese Angabe wird bei jeder Anmeldung am System benötigt.
  +
Unter Debian GNU wird für jeden neuen Benutzer auch gleich eine eigene Gruppe erzeugt, die
  +
Heimatverzeichnisse für jeden Benutzer (mit Ausnahme von „root“) befinden sich unterhalb von /home/. Dort
  +
wird für jeden Benutzer ein Verzeichnis mit dem Namen des Benutzers erzeugt. Weiterhin werden alle dateien
  +
aus dem Verzeichnis /etc/skel/ in das Homeverzeichnis des Benutzers kopiert. Hierbei handelt es sich um
  +
verschiedene Voreinstellungen, beispielsweise für die bash, welche dann von Benutzer angepasst werden
  +
können.
  +
sushi:~# ls -a /etc/skel/
  +
. .. .alias .bash_logout .bash_profile .bashrc .cshrc
  +
Es wird dann (zur Sicherheit doppelt) nach einem Passwort gefragt. Weiterhin sollte der „Full Name“ des
  +
Benutzers korrekt angegeben werden. Alle weiteren Angaben stammen aus der Urzeit der Unix Systeme und
  +
müssen nicht ausgefüllt werden. Abschliessend kann noch entschieden werden ob alle Angaben korrekt
  +
ausgefüllt wurden. Ist dies der Fall so wird der Benutzer dem System hinzugefügt und der Zugang steht ab
  +
sofort zur Verfügung. Wird das Programm abgebrochen (durch Eingabe von„n“ oder auch „CTRL+C“ so
  +
werden alle bereits erzeugten Dateien, Verzeichnisse und Einträge in Konfigurationsdateien wieder entfernt.
  +
3.6.2. Benutzer löschen
  +
Das entfernen von Benutzern aus dem System ist deutlich einfacher. Hierzu steht das Kommando deluser zu
  +
Verfügung. Auch diese Programm kann interaktiv benutzt werden, hier aber ein Beispiel mit der Angabe des
  +
Benutzernamens auf der Kommandozeile:
  +
sushi:~# deluser dd
  +
Removing user dd...
  +
done.
  +
Zu beachten ist das dabei nicht das Homeverzeichnis des Benutzers gelöscht wird. Dies bleibt dem
  +
Systemadministrator überlassen.
  +
3.7. Virtuelle Konsolen
  +
Der Linux-Kernel unterstützt virtuelle Konsolen. Dies ist eine Methode, um Ihren Bildschirm und die Tastatur
  +
(sowie die Maus, falls das Programm gpm installiert wurde) so benutzen zu können, als wenn Sie an mehreren
  +
Geräten gleichzeitig arbeiten würden und diese alle mit dem gleichen Rechner-System verbunden wären.
  +
Die Benutzung der virtuellen Konsolen ist sehr einfach. Über die Tastenkombinationen ALT+F1, ALT+F2,
  +
ALT+F3 bis ALT+F6 können Sie zwischen den verschiedenen virtuellen Bildschirmen umschalten. Probieren
  +
Sie es aus, indem Sie sich mehrfach einloggen und auf den verschiedenen Konsolen unterschiedliche Befehle
  +
ausführen.
  +
Debian GNU/Linux ist standardmäßig für die Benutzung von sechs virtuellen Konsolen eingerichtet, auf diesen
  +
wird automatisch das Programm login gestartet. Sie können auf diese mit den Funktionstasten F1 bis F6
  +
zugreifen (jeweils zusammen mit der ALT-Taste). Technisch sind auch noch mehr virtuelle Konsolen möglich,
  +
Debian GNU/Linux verwendet die siebte Konsole (ALT+F7) für das X-Window-System, die grafische
  +
Benutzeroberfläche.
  +
97
  +
Kapitel 3. Betrieb
  +
Wenn Sie X benutzen, so verwendet dies automatisch die siebte virtuelle Konsole. Diese wird beim Start von X
  +
automatisch aktiviert, unabhängig davon, ob Sie das Kommando startx benutzen oder X über xdm oder ein
  +
anderes Programm starten.
  +
Um von der grafischen Oberfläche X wieder auf die textbasierte Konsole zu wechseln, drücken Sie die
  +
Tastenkombination CTRL+ALT+F1 (oder +F2, +F3 usw. ...).
  +
Sie müssen sich also nur merken, daß – wenn Sie von X auf eine Konsole wechseln möchten – zusätzlich die
  +
Taste CTRL zu drücken ist.
  +
Wenn Sie sich einmal mit der Arbeitsweise der virtuellen Konsolen vertraut gemacht haben, werden Sie diese
  +
zu schätzen wissen. Sie können so schnell zwischen einem Editor und dem Compiler umschalten und auf der
  +
dritten Konsole noch die Logdateien im Auge behalten! Dies können Sie auch unter X erreichen, indem Sie
  +
mehrere Fenster öffnen, in vielen Fällen ist es aber gar nicht nötig, auf einem Rechner X zu installieren –
  +
beispielsweise bei einem Server.
  +
Es ist sogar möglich, mehrere X-Server auf verschiedenen virtuellen Konsolen zu starten. Dies kann für den
  +
gleichzeitigen Betrieb von X mit verschiedenen Farbtiefen sinnvoll sein.
  +
3.8. System herunterfahren
  +
Schalten Sie Ihr Debian GNU/Linux-System niemals einfach aus! Sie riskieren in diesem Fall einen Verlust
  +
Ihrer Daten!
  +
Wenn Sie Ihren Computer zu Hause benutzen, möchten Sie ihn vielleicht nachts abschalten (eigentlich schaltet
  +
kein richtiger Linux-Fan seinen Computer jemals ab, aber trotzdem wollen wir diesen Ausnahmefall kurz
  +
besprechen...).
  +
Es ist eine sehr schlechte Idee, einen Linux-Computer nach der Arbeit einfach auszuschalten oder die
  +
RESET-Taste zu drücken. Der Linux-Kernel hat, um die Performance zu erhöhen, einen internen
  +
Festplatten-Cache. Das bedeutet, daß Informationen temporär im Speicher (RAM) des Computers abgelegt
  +
werden, bevor sie auf der Festplatte gespeichert werden. Die beschleunigt viele Aktionen stark. Periodisch
  +
werden diese Informationen auf die Festplatte gespeichert. Dies können Sie auch selber durch das Kommando
  +
sync erreichen.
  +
Um Ihren Rechner ordnungsgemäß herunterzufahren, benutzen Sie bitte das Kommando reboot oder drücken
  +
Sie CTRL+ALT- und DEL-Tasten gleichzeitig. Debian GNU/Linux wird nun unmittelbar alle Programme
  +
beenden, alle Daten auf Festplatte speichern und den Rechner neu starten.
  +
Um den Rechner abzuschalten, müssen Sie Superuser (root) sein. Benutzen Sie das Kommando shutdown -h
  +
now. Wenn Sie die Zeile System halted, it’s safe to turn off the computer. sehen, können Sie
  +
den Rechner ausschalten.
  +
Bei neueren Computern mit Advanced Power Management-Unterstützung (APM) und einem Kernel, der dies
  +
unterstützt, schaltet sich der Rechner selbsttätig ab.
  +
Sie können aber auch als normaler User den Rechner jederzeit mit der Tastenkombination CTRL-ALT-ENTF
  +
herunterfahren, wenn der Superuser dies nicht deaktiviert hat (in /etc/inittab). Keine Angst, das System
  +
wird auch so korrekt runtergefahren.
  +
3.9. Kommandozeile und Dokumentation
  +
Einige einfache Beispiele für die Kommandozeile (alles das, was Sie hinter dem Shell-Prompt eingeben) wurden
  +
bereits ein paar Seiten zuvor besprochen. Nun beschäftigen wir uns mit etwas umfangreicheren Beispielen.
  +
Eine minimale Kommandozeile enthält lediglich einen einzigen Befehl, ohne Parameter, z.B. whoami. Aber
  +
auch dies läßt sich noch ausbauen, geben Sie einfach mal man whoami ein.
  +
Der Befehl man ruft die Bedienungsanleitung (manual page) für das Programm whoami auf. Mit der Taste
  +
SPACE können Sie in der Anleitung weiterblättern, die Taste q beendet das Programm man.
  +
Hier ein noch erweitertes Beispiel:
  +
man -k Postscript
  +
98
  +
Kapitel 3. Betrieb
  +
Diese Kommando besteht aus 3 Teilen: Zuerst der eigentlich Name des Kommandos, man, gefolgt von einer
  +
sogenannten Option, - hier -k, abschließend dann das Argument Postscript.
  +
Optionen verändern das Verhalten eines Programms. In den meisten Fällen werden Optionen mit dem Zeichen -
  +
eingeleitet. Die GNU-Programme kennen außerdem eine ausführliche Form der Optionen; für die Option -k
  +
wäre dies dann --apropos.
  +
Probieren Sie dies nun einmal mit dem Befehl man, gefolgt von der Option -h und einmal in der ausführlichen
  +
Form mit der Option -help aus. Die Ergebnisse sind gleich.
  +
Jedes Kommando hat seine eigenen Optionen. Es wird versucht, diese soweit möglich zu vereinheitlichen, so
  +
daß Sie die Optionen -help und --version bei allen GNU-Programmen antreffen sollten. Probieren Sie das
  +
ruhig einmal mit einigen verschiedenen Kommandos aus.
  +
Aus historischen Gründen gibt es einige – manchmal geradezu bizarre – Abweichungen, die sich bis heute
  +
erhalten haben. So ist es z.B. möglich, bei den Kommandos tar oder ps das Zeichen „-“ vor den Optionen
  +
einfach wegzulassen.
  +
Alle Zeichen, die nicht zu einer Option gehören und kein Kommandoname sind, nennt man Argumente.
  +
Argumente können verschiedene Zwecke erfüllen. Meistens handelt es sich um Namen von Dateien, die mit
  +
dem entsprechenden Kommando bearbeitet werden sollen. In dem oben genannten Beispiel (man -k
  +
Postscript) ist Postscript das Wort, welches vom Kommando man gesucht werden soll. Es wird dann
  +
nicht die Anleitung zum Programm Postscript gesucht, sondern es wird in allen Anleitungen nach dem Wort
  +
Postscript gesucht und alle Namen der entsprechenden Anleitungen angezeigt. Im Beispiel von man
  +
whoami ist man das Kommando und whoami das zu suchende Argument.
  +
Wenn Sie nur wenige Programme auf Ihrem System installiert haben, sehen Sie wenige Suchergebnisse oder
  +
sogar nur die Meldung: Postscript: nothing appropriate.
  +
3.10. Befehle wiederholen und ändern auf der Kommandozeile
  +
Alles was Sie hinter einem Shell-Prompt eingeben, ist in irgendeiner Form Teil eines Kommandos. Die bei
  +
Debian GNU/Linux standardmäßig genutzte Shell (bash) hat verschiedene Funktionen, um das Eingeben und
  +
nachträgliche Ändern von Befehlszeilen zu erleichtern.
  +
Sie können bereits eingegebene Kommandos wiederholen oder leicht verändern, um sie dann auszuführen.
  +
Probieren Sie es aus: Führen Sie irgendein Kommando, zum Beispiel whoami aus; drücken Sie dann die Taste
  +
PFEIL-OBEN. Der letzte Befehl erscheint wieder am Shell-Prompt. Sie brauchen nun nur noch RETURN zu
  +
drücken, um ihn noch einmal auszuführen.
  +
Wenn Sie einige Befehle eingegeben haben, können Sie mit den Tasten PFEIL-OBEN und PFEIL-UNTEN
  +
diese Befehle noch einmal anzeigen lassen. Sie können so Befehle mehrfach ausführen oder Tippfehler
  +
nachträglich korrigieren, ohne die ganze Zeile nochmals eingeben zu müssen.
  +
Am einfachsten können Sie den Cursor in der Befehlszeile mit den Pfeiltasten bewegen. Tippen Sie einfach mal
  +
einen Befehl, z.B. whoami, ein. Gehen Sie nun mit dem Cursor an die Stelle mit dem Tippfehler und löschen
  +
Sie mit BACKSPACE oder DELETE die gewünschten Zeichen. Geben Sie die noch fehlenden Zeichen ein und
  +
drücken Sie RETURN.
  +
Es gibt noch viele leistungsstarke Funktionen in der shell. Eine detaillierte Beschreibung bekommen Sie mit
  +
dem Befehl man bash. Die komplette Dokumentation finden Sie unter /usr/share/doc/bash/.
  +
An dieser Stelle möchten wir Ihnen nur einige, häufig benutze Funktionen vorstellen. Drücken Sie CTRL-a, der
  +
Cursor springt damit an den Anfang der Zeile. CTRL-k löscht von der aktuellen Position bis zum Ende die
  +
komplette Eingabe (k für „kill“). Probieren Sie dies mitten in einer längeren Zeile einmal aus. Die Kombination
  +
CRTL-a, dann CTRL-k löscht die komplette Zeile. Die gelöschten Zeichen werden, unabhängig von der Länge,
  +
„gespeichert“ und können mit CTRL-y wieder an jeder Stelle eingefügt werden. Und zu guter Letzt: CTRL-e
  +
bringt den Cursor ans Zeilenende.
  +
Spielen Sie einfach mal ein wenig mit diesen Funktionen herum: Sie werden schnell merken, daß sich mit ihnen
  +
sehr effizient arbeiten läßt!
  +
99
  +
Kapitel 3. Betrieb
  +
3.10.1. Beschreibung der Kommandozeile
  +
Die Kommandos, die Sie an einem Shell-Prompt eingeben können, folgen einer bestimmten Syntax. Wenn Sie
  +
beispielsweise man man eingeben, erhalten Sie die Anleitung (man page) zu dem Kommando man. In dieser
  +
Anleitung finden Sie weitere Beschreibungen zum Kommando man und den Optionen dieses Kommandos.
  +
Beispielsweise finden Sie dort:
  +
man -k [-M path] keyword ...
  +
Optionen, die in den eckigen Klammern ([]) stehen, sind optional und können ausgelassen werden. Sie können
  +
also den Befehl man auch ohne die Option -M benutzen, wenn Sie diese aber doch einsetzen, müssen Sie als
  +
Parameter den passenden Pfad angeben. Für die Option -k müssen Sie einen Suchbegriff (keyword) angeben.
  +
Die drei Punkte (...) bedeuten, daß Sie nach mehreren Begriffen suchen können. Trennen Sie diese durch ein
  +
Leerzeichen.
  +
Hier noch ein Beispiel für eine etwas komplexere Beschreibung:
  +
man [-c|-w|-tZT device] [-adhu7V] [-m system[,...]] [-L
  +
locale] [-p string] [-M path] [-P pager] [-r prompt] [-S
  +
list] [-e extension] [[section] page ...] ...
  +
Sie müssen nicht jede kleine Option verstehen – wichtig ist das Prinzip.
  +
Neu ist in dieser Beschreibung das Zeichen |, es steht für „oder“ – nicht zu verwechseln mit der Verwendung
  +
dieses Zeichens in der Shell, hier ist nur die Man-Page gemeint. Sie können also eine der Optionen -c, -w oder
  +
-tZT benutzen, zusammen mit einem Device als Argument.
  +
Gruppen von Optionen, wie -adhu7V bedeuten, daß Sie eine oder mehrere dieser Optionen gleichzeitig nutzen
  +
können. Dabei ist es nicht selbstverständlich, daß alle möglichen Kombinationen auch Sinn machen oder gar
  +
funktionieren. Lesen Sie dazu die komplette Anleitung zu man.
  +
Beachten Sie weiterhin, wie die eckigen Klammern verschachtelt sind: [[section] page]. Dies bedeutet:
  +
wenn Sie eine section angeben, müssen Sie auch eine page angeben.
  +
3.11. Dateien und Verzeichnisse
  +
Dateien auf einer Festplatte dienen zur Organisation und Speicherung von Daten, ähnlich einem Blatt Papier.
  +
Dateien können in Verzeichnissen (oder „Schubladen“) geordnet sein. Im folgenden einige Informationen über
  +
die Organisation von Dateien und Verzeichnissen bei Debian GNU/Linux.
  +
Das Zeichen / repräsentiert das sogenannte „root-“Verzeichnis. Alle weiteren Dateien und Verzeichnisse sind
  +
hier angeordnet. Wenn Sie vorher schon mal mit einem DOS- oder Windows-System gearbeitet haben,
  +
entspricht dies „in etwa“ dem Laufwerk C:. Machen Sie sich aber ab sofort mit dem Gedanken vertraut, daß es
  +
unter Linux keine Laufwerksbuchstaben gibt! Unter Linux finden Sie alle Laufwerke (Festplatten, CD-ROMs,
  +
Disketten...) unterhalb des „root-“Verzeichnisses (/).
  +
Beispielsweise stellt /home/fr das User-Verzeichnis des Benutzers „fr“ dar. Unterhalb des
  +
„root-“Verzeichnisses findet sich auf jedem Debian GNU/Linux-System das Verzeichnis home. In diesem
  +
befinden sich weitere Unterverzeichnisse. Die Namensgebung dieser Verzeichnisse ist identisch mit den
  +
Benutzernamen, die beim Einrichten neuer Benutzer vergeben werden.
  +
/etc/X11/XF86Config, dies ist die Konfigurationsdatei für das X-Window-System.
  +
Wichtig: Linux unterscheidet Groß- und Kleinschreibung bei den Pfaden und Dateinamen.
  +
Die Verzeichnisse sind in einer Struktur ähnlich einem Baum angeordnet. Vom „root-“Verzeichnis / verzweigt
  +
alles zu den weiteren Verzeichnissen. Unterhalb von / finden sich folgende Dateien und Verzeichnisse:
  +
/
  +
|-- System.map
  +
|-- bin
  +
|-- boot
  +
|-- cdrom
  +
100
  +
Kapitel 3. Betrieb
  +
|-- dev
  +
|-- etc
  +
|-- floppy
  +
|-- home
  +
|-- initrd
  +
|-- lib
  +
|-- lost+found
  +
|-- mnt
  +
|-- proc
  +
|-- root
  +
|-- sbin
  +
|-- tmp
  +
|-- usr
  +
|-- var
  +
|-- vmlinuz
  +
Hier als Beispiel die weitere Verzweigung unterhalb von /usr (Sie finden hier hauptsächlich Programme, die
  +
von allen Benutzern ausgeführt werden können):
  +
/usr/
  +
|-- X11R6
  +
|-- bin
  +
|-- dict
  +
|-- doc
  +
|-- games
  +
|-- i486-linuxlibc1
  +
|-- include
  +
|-- info
  +
|-- lib
  +
|-- local
  +
|-- man
  +
|-- openwin -> X11R6
  +
|-- sbin
  +
|-- share
  +
‘-- src
  +
Bis hierhin sollten Sie auf Ihrem System (je nachdem welche Pakete Sie installiert haben) in etwa die gleiche
  +
Struktur vorfinden. Deutliche Unterschiede von System zu System finden sich unterhalb von /home: die dortige
  +
Struktur ist abhängig von den Benutzern, für die sie angelegt wurde:
  +
/home
  +
|-- fr
  +
|-- ftp
  +
|-- geka
  +
‘-- mw
  +
Diese Verzeichnisse stellen die sogenannten „Home-Verzeichnisse“ der Benutzer dar, nach dem Anmelden am
  +
System befindet sich jeder Benutzer in seinem privaten Verzeichnis unterhalb von /home. In diesem Beispiel
  +
existieren die User fr, geka und mw. Das Verzeichnis ftp wurde im Laufe der Installation des FTP-Servers
  +
auf diesem Rechner eingerichtet. Dies stellt in diesem Sinne keinen eigentlichen Benutzer dar. Abweichend
  +
davon finden Sie das Home-Verzeichnis des Superusers (root) unterhalb von / als /root/. So können Sie für
  +
alle Benutzer des Systems die Homeverzeichnisse auf einer eigenen Partition halten. Für den Fall, daß das
  +
System beim Starten in einen unstabilen Zustand gerät und die Partition mit den Home-Verzeichnissen der
  +
Benutzer nicht mounten kann, besteht trotzdem für den Superuser die Möglichkeit, auf sein Home-Verzeichnis
  +
zuzugreifen.
  +
Keines der Verzeichnisse unterhalb von / entspricht einem physikalischem Gerät, wie zum Beispiel einer
  +
Festplatte oder einem CD-ROM. Weiterhin verwendet Linux keine Buchstaben wie unter DOS zur Verwaltung
  +
dieser Geräte. Der Verzeichnisbaum stellt eine Abstraktion der vorhandenen Hardware dar, Sie können die
  +
Verzeichnisse benutzen, ohne Kenntnis von der eigentlichen Hardware zu haben. Alle Dateien Ihres Systems
  +
können auf einer einzigen Festplatte liegen oder auf vielen verschiedenen, einige davon in Ihrem Rechner,
  +
andere in anderen Rechnern irgendwo im Netzwerk.
  +
101
  +
Kapitel 3. Betrieb
  +
Keine Panik, wenn Sie dies jetzt nicht völlig verstehen: die Idee dahinter ist anders als bei anderen
  +
Betriebssystemen. Es reicht wenn Sie sich merken, daß es keine Laufwerksbuchstaben gibt, Laufwerke – so wie
  +
Sie sie kennen – tauchen innerhalb des Verzeichnisbaumes auf, beispielsweise als /cdrom oder /floppy,
  +
wobei diese auch an jeder anderen Stelle liegen können, häufig unterhalb von /mnt.
  +
3.12. Gruppen und Zugriffsrechte
  +
Unix-Betriebssysteme, und damit auch Debian GNU/Linux, sind dafür ausgelegt, daß mehrere Benutzer zur
  +
gleichen Zeit am System arbeiten können. Dabei müssen bestimmte private Dateien vor anderen Benutzern
  +
geschützt werden, aber auch Systemdateien vor den Benutzern geschützt werden. Sie können sie sehr leicht
  +
selber überprüfen:
  +
Melden Sie sich mit Ihrem Benutzernamen am System an, benutzen Sie nicht den Zugang des Superusers (root),
  +
und geben Sie das Kommando: rm /etc/resolv.conf ein.
  +
bash-2.03$ rm /etc/resolv.conf
  +
rm: remove write-protected file ‘/etc/resolv.conf’? y
  +
rm: cannot unlink ‘/etc/resolv.conf’: Permission denied
  +
Das System schützt diese Datei vor Veränderungen durch andere Benutzer als dem Superuser. Wenn jeder
  +
Benutzer Veränderungen an wichtigen Systemdateien vornehmen könnte, würde dies schnell zu Problemen
  +
führen. Sehen wir uns die Datei einmal etwas näher an:
  +
Geben Sie nun das Kommando ls -l /etc/resolv.conf ein. Sie bekommen diese Ausgabe:
  +
-rw-r--r-- 1 root root 119 Nov 02 1999 /etc/resolv.conf
  +
Die Option -l des Kommandos ls gibt den Dateinamen sowie alle weiteren Informationen zu der Datei aus.
  +
Diese Informationen sind ziemlich einfach zu verstehen. Die Größe der Datei ist 119 Byte, die Datei wurde
  +
zuletzt am 02. November 1999 geändert und der Dateiname ist /etc/resolv.conf. Weiter links wird die
  +
Sache etwas komplizierter...
  +
Kurz und knapp: -rw-r--r-- steht für die eigentlichen Zugriffsrechte der Datei, die 1 steht für die Anzahl der
  +
(hard) Links auf diese Datei (oder die Anzahl der Dateien in einem Verzeichnis) und root root bezeichnet
  +
den Besitzer sowie die Gruppe, zu der die Datei gehört.
  +
Doch nun etwas ausführlicher...
  +
3.12.1. Gruppen
  +
Jede Datei auf Ihrem Debian GNU/Linux-System hat zwei Eigentümer: einen User und eine Gruppe. Das oben
  +
angeführte Beispiel ist da etwas verwirrend, es gibt sowohl einen User als auch eine Gruppe root. Gruppen
  +
sind, wie auch im echten Leben, Ansammlungen von Personen, sprich Benutzern auf einem System. Diese
  +
Mitglieder einer Gruppe können gemeinsamen Zugriff auf bestimmte Dateien haben, beispielsweise auf alle
  +
Dateien unterhalb von /var/www/projekte/debian/, wenn sie gemeinsam an den Webseiten zu einem
  +
Debian-Projekt arbeiten sollen. Sie können auch beispielsweise bestimmte Benutzer der Gruppe dialout
  +
(bedeutet soviel wie „rauswählen“) zuordnen, damit diese per Modem eine Verbindung ins Netz herstellen
  +
können.
  +
Das Kommando groups zeigt Ihnen an, zu welchen Gruppen Sie gehören. Dies ist abhängig von dem
  +
Benutzernamen, mit dem Sie sich am System angemeldet haben.
  +
Sehen Sie sich nun die Datei /etc/group an, benutzen Sie hierzu beispielsweise das Kommando more (more
  +
/etc/group). Beachten Sie die Gruppe root, in dieser sollte als einziger der Benutzer root eingetragen sein
  +
sowie Ihre eigene Gruppe, auch hier sollten nur Sie eingetragen sein. Es gibt einige weitere Gruppen in dieser
  +
Datei, beispielsweise dialout (siehe oben), floppy – diese Benutzer können auf das Diskettenlaufwerk
  +
zugreifen und andere. Nach der Installation sind keine weiteren Benutzer in den verschiedenen Gruppen
  +
aufgeführt, dies ist die Aufgabe des Systemverwalters, also Ihre ;-). Hier ein Beispiel für eine veränderte Datei
  +
/etc/group aus einem laufenden System:
  +
root:x:0:
  +
daemon:x:1:fr
  +
102
  +
Kapitel 3. Betrieb
  +
bin:x:2:
  +
sys:x:3:
  +
adm:x:4:
  +
tty:x:5:
  +
disk:x:6:
  +
lp:x:7:lp
  +
mail:x:8:fr,geka,mw
  +
news:x:9:
  +
uucp:x:10:
  +
proxy:x:13:
  +
kmem:x:15:
  +
dialout:x:20:fr
  +
fax:x:21:fr
  +
voice:x:22:fr
  +
cdrom:x:24:fr
  +
floppy:x:25:fr
  +
tape:x:26:fr
  +
sudo:x:27:fr
  +
audio:x:29:fr
  +
dip:x:30:
  +
majordom:x:31:majordom
  +
postgres:x:32:
  +
www-data:x:33:fr
  +
backup:x:34:fr
  +
msql:x:36:fr
  +
operator:x:37:fr
  +
list:x:38:fr
  +
irc:x:39:fr
  +
src:x:40:fr
  +
gnats:x:41:
  +
shadow:x:42:
  +
utmp:x:43:telnetd
  +
video:*:44:
  +
staff:x:50:fr
  +
games:x:60:fr
  +
qmail:x:70:
  +
users:x:100:fr
  +
telnetd:x:101:
  +
fr:x:1000:
  +
mw:x:1001:
  +
geka:x:1002:
  +
fr2:x:1003:
  +
nogroup:x:65534:
  +
mysql:x:102:
  +
Weitere Informationen zu dieser Datei bekommen Sie mit dem Kommando man group.
  +
Mit dem Kommando ls -l /home können Sie sich einen Überblick über die Stammverzeichnisse aller
  +
Benutzer auf dem System verschaffen. Jedes Verzeichnis sollte auch dem dazugehörigen Benutzer gehören.
  +
Wenn Sie das System neu installiert haben, werden Sie der einzige Benutzer sein. Deshalb auch hier ein
  +
Beispiel aus der Praxis:
  +
bash-2.03$ ls -l /home/
  +
total 8
  +
drwxr-sr-x 65 fr fr 5120 Jan 19 02:48 fr
  +
dr-xr-xrwx 45 fr fr 1024 Jan 9 22:44 ftp
  +
drwxr-sr-x 12 geka geka 1024 Jan 19 03:20 geka
  +
drwxr-sr-x 5 mw mw 1024 Jan 4 08:27 mw
  +
103
  +
Kapitel 3. Betrieb
  +
3.12.2. Zugriffsrechte
  +
Neben dem Besitzer und der Gruppe, zu denen eine Datei gehört, verfügt jede Datei auch über Zugriffsrechte,
  +
über die festgelegt wird, wer diese Datei lesen, schreiben oder ausführen darf. Es gibt noch weitere Details, die
  +
wir aber übergehen wollen.
  +
Wie wir schon vorher gesehen haben, werden die Zugriffsrechte bei dem Kommando ls -l ganz links an den
  +
ersten zehn Stellen angezeigt. Die erste Stelle hat nicht direkt etwas mit den Zugriffsrechten zu tun, sie zeigt
  +
vielmehr den Dateityp an. Ein „-“ steht für eine normale Datei, ein d kennzeichnet ein Verzeichnis und ein l
  +
steht für einen Link.
  +
Die weiteren neun Stellen lassen sich in drei Gruppen teilen. Dies sind von links nach rechts: der Besitzer der
  +
Datei (owner), die Gruppe (group) und schließlich die Allgemeinheit (world). Jeder dieser drei Gruppen
  +
gehören drei dieser neuen Stellen. Jeder dieser drei Stellen steht für r lesen (read), w schreiben (write) und x
  +
ausführen (execute).
  +
Im Detail bedeuten die drei Buchstaben r, w und x folgendes:
  +
r – lesen : bei Dateien kann der Inhalt der Datei gelesen werden. Bei Verzeichnissen kann man den Inhalt des
  +
Verzeichnisses auflisten lassen.
  +
w – schreiben : bei Dateien kann diese Datei verändert und gespeichert werden. Bei Verzeichnissen können
  +
neue Dateien angelegt und bereits bestehende Dateien gelöscht werden.
  +
x – ausführen : Dateien können als Kommando ausgeführt werden. Dies macht nur Sinn, wenn diese Datei
  +
wirklich ein Kommando darstellt. Sie können eine Grafik ausführbar machen, es ergibt aber keinen Sinn. Da
  +
Verzeichnisse nicht ausgeführt werden können, bedeutet hier ein gesetztes x, daß Sie in dieses Verzeichnis
  +
wechseln können. Um also in einem Verzeichnis mit Dateien arbeiten zu können, benötigen Sie die
  +
Kombination x und r sowie gegebenenfalls auch w.
  +
Für Verzeichnisse ist dies alles ein wenig verwirrend, daher hier einige Beispiele:
  +
r--Eigentümer, Gruppe oder andere können den Inhalt dieses Verzeichnisses auflisten. Die Dateien selber in
  +
dem Verzeichnis können gelesen, gelöscht oder verändert werden.
  +
r-x Dieser Modus erlaubt das Auflisten der Dateien in dem Verzeichnis und gibt den Zugriff auf die Dateien
  +
frei. Sie können allerdings keine neuen Dateien anlegen oder bestehende Dateien löschen. Das Ansehen und
  +
Verändern von Dateien ist erlaubt, Programme können ausgeführt werden, wenn dies von den Rechten der
  +
Dateien selber her erlaubt ist.
  +
--x Sie können auf die Dateien in dem Verzeichnis zugreifen, diese aber nicht auflisten. Sie müssen also wissen
  +
welche Dateien sich in dem Verzeichnis befinden, um auf diese zugreifen zu können.
  +
rwx Sie können alles mit den Dateien anstellen, solange die Rechte der Dateien selber dies zulassen.
  +
Daraus folgen einige interessante Tatsachen, die Sie beachten sollten:
  +
Schreibrechte auf einem Verzeichnis entscheiden darüber, ob Sie eine Datei in einem Verzeichnis löschen
  +
dürfen. Eine Datei deren Rechte auf nur-lesen gesetzt sind, kann gelöscht werden, wenn Sie die nötigen Rechte
  +
haben um in diesem Verzeichnis zu schreiben! Weiterhin können Sie eine Datei in einem Nur-lesen-Verzeichnis
  +
nicht löschen, auch wenn Sie die nötigen Zugriffsrechte auf die Datei selber haben.
  +
Dies bedeutet auch, daß Sie, wenn Sie der Besitzer eines Verzeichnisses sind, auch die Dateien darin löschen
  +
können, auch wenn diese dem Superuser (root) gehören.
  +
Zugriffsrechte auf ein Verzeichnis haben also auch direkten Einfluß auf die Dateien in diesem Verzeichnis, an
  +
dieser Stelle kommen die Zugriffsrechte auf Dateien ins Spiel. Wenn Sie keinen Zugriff auf das Verzeichnis
  +
haben, spielen auch die Rechte an den Dateien für Sie keine Rollen, Sie kommen ja eh nicht an die Dateien...
  +
3.12.2.1. Einige Beispiele
  +
Um die Zugriffsrechte von Dateien und Verzeichnissen zu verändern, steht das Kommando chmod unter Debian
  +
GNU/Linux zur Verfügung. Spielen wir einmal ein wenig damit herum:
  +
Erzeugen Sie zunächst eine neue Datei, beispielsweise mit dem Kommando touch testdatei. Das
  +
Kommando touch wird normalerweise dazu benutzt, die Datei mit einem aktuellen „Zeitstempel“ zu versehen.
  +
Wenn Sie jedoch einen Dateinamen angeben, der noch nicht existiert, so wird diese Datei neu angelegt, mit
  +
104
  +
Kapitel 3. Betrieb
  +
einer Länge von 0 Byte. Überprüfen Sie dies mit dem Kommando ls -l und werfen Sie einen Blick auf die
  +
Zugriffsrechte:
  +
bash-2.03$ touch testdatei
  +
bash-2.03$ ls -l testdatei
  +
-rw-r--r-- 1 fr fr 0 Jan 19 18:15 testdatei
  +
Bei Ihrem Versuch wird die Datei natürlich einen anderen Zeitstempel haben und Benutzer- und
  +
Gruppenzugehörigkeit entsprechen Ihrem Loginnamen. Die Zugriffsrechte (-rw-r--r--) werden von Debian
  +
GNU/Linux automatisch für neue Dateien auf die gezeigten Werte gesetzt. Sie können diese Vorgabe mit dem
  +
Kommando umask ändern.
  +
Sehen Sie sich zunächst die Man-Page zu chmod mit dem Kommando man chmod an. Wir werden hier nicht
  +
auf jedes Detail eingehen, sondern an einigen Beispielen zeigen, wie sich chmod mit verschiedenen Parametern
  +
auswirkt.
  +
Führen Sie das Kommando chmod u+x testdatei aus. Sehen Sie sich die Veränderung mit ls -l
  +
testdatei an. Es wurden Rechte zum Ausführen (x - execute) der Datei für den Besitzer (u - User)
  +
hinzugefügt (+ - Pluszeichen).
  +
bash-2.03$ chmod u+x testdatei
  +
bash-2.03$ ls -l testdatei
  +
-rwxr--r-- 1 fr fr 0 Jan 19 18:15 testdatei
  +
Ein solches Kommando können Sie beispielsweise auf ein selbstgeschriebenes Shellscript oder Perl-Programm
  +
anwenden, damit es auch ausführbar ist.
  +
Wenn Sie nun noch möchten, daß niemand außer Ihnen einen Blick in Ihre Arbeit werfen kann, so müssen Sie
  +
die Rechte zum Lesen der Datei für die Gruppe (g - Group) sowie alle anderen Benutzer (o - Other) entfernen
  +
(- - Minuszeichen). Sie können dies mit dem Kommando chmod go-r testdatei erreichen:
  +
bash-2.03$ chmod go-r testdatei
  +
bash-2.03$ ls -l testdatei
  +
-rwx------ 1 fr fr 0 Jan 19 18:15 testdatei
  +
Wie Sie gesehen haben, können Sie mit den Zeichen + (Plus) oder - (Minus) Rechte hinzufügen oder entfernen.
  +
Manchmal ist es damit etwas verwirrend, einen gewünschten Zustand herzustellen. Daher bietet chmod noch die
  +
Option = (Gleichheitszeichen), welche genau die angegebenen Rechte setzt und alle anderen löscht. Auch hier
  +
können Sie wieder die Buchstaben ugo (User, Group, Other) benutzen:
  +
bash-2.03$ chmod ugo=rx testdatei
  +
bash-2.03$ ls -l testdatei
  +
-r-xr-xr-x 1 fr fr 0 Jan 19 18:15 testdatei
  +
Die Datei ist nun für jeden Benutzer lesbar und kann auch von jedem ausgeführt werden. Weiterhin kann keiner
  +
der Benutzer diese Datei schreiben.
  +
Entfernen Sie nun die Rechte zum Ausführen der Datei für alle Benutzer (chmod a-x testdatei), bei einer
  +
Testdatei brauchen wir diese nicht.
  +
Versuchen Sie einmal die Datei zu löschen. Zur Erinnerung: Sie hatten vor kurzem die Datei mit dem
  +
Kommando chmod ugo=rx testdatei behandelt. Löschen Sie also die Datei mit dem Kommando rm
  +
testdatei:
  +
bash-2.03$ rm testdatei
  +
rm: schreibgeschützte Datei »testdatei« entfernen?
  +
Wenn Sie die Umgebungsvariablen nicht passend gesetzt haben, wird Ihnen die Fehlermeldung in englischer
  +
Sprache präsentiert.
  +
Da Sie (und auch kein anderer) keine Rechte haben, die Datei zu schreiben, fragt das Kommando rm, ob Sie
  +
diese Aktion wirklich durchführen wollen. Dies ist eine spezielle Funktion von rm und hat eigentlich wenig mit
  +
den Zugriffsrechten zu tun. Wenn Sie die Datei wirklich löschen möchten, können Sie die Frage bestätigen.
  +
Stören Sie sich nicht an der Ausgabe der Rechte an Zahlenform, des Kommandos rm, Sie können die Bedeutung
  +
in der Man-Page nachlesen.
  +
105
  +
Kapitel 3. Betrieb
  +
3.13. Orientierung innerhalb von Debian
  +
Es gibt einige Unterschiede zwischen Debian GNU/Linux und anderen Distributionen. Selbst wenn Sie Linux
  +
und andere Distributionen bereits kennen, gibt es einige Dinge, die Sie wissen sollten, um Ihr System in einem
  +
gut zu wartendem Zustand zu halten. Dieser Abschnitt dient Ihrer Orientierung.
  +
Das wichtigste Konzept, das man verstehen muß, ist die Paketverwaltung von Debian. Im wesentlichen müssen
  +
Sie akzeptieren, daß große Teile Ihres System unter der Kontrolle der Paketverwaltung stehen. Sie können nicht
  +
so ohne weiteres „von Hand“ (zum Beispiel wenn Sie eine eigene Version des Apache-Servers aus den Sourcen
  +
übersetzt haben) ein Paket aktualisieren. Diese Aufgabe nimmt Ihnen das Debian GNU/Linux-Paketsystem ab.
  +
Nutzen Sie dies, um Pakete zu aktualisieren. Folgende Bereiche stehen unter der Kontrolle dieses Paketsystems:
  +
• /usr (mit Ausnahme von /usr/local)
  +
• /var (Sie können sich ggf. /var/local anlegen)
  +
• /bin
  +
• /sbin
  +
• /lib
  +
Wenn Sie zum Beispiel /usr/bin/perl ersetzen, weil Sie auf einer CD oder auf einem FTP-Server eine
  +
aktuellere Version wie auf Ihren Debian GNU/Linux- CDs gefunden haben (kaum zu glauben, daß sowas
  +
wirklich passiert...), wird das zunächst funktionieren.
  +
Wenn Sie nun jedoch ein Paket mit dselect installieren, welches ebenfalls irgendeine Perl-Version benötigt, so
  +
wird dselect immer die Version heranziehen, die auf Ihrem Installationspfad enthalten ist. Das heißt, daß dselect
  +
unter Umständen eine ältere Version installiert, obwohl Sie schon eine neuere Version übersetzt hatten. Bitte
  +
beachten Sie das!
  +
Aktualisieren Sie jedoch Ihr Perl-Paket, über dpkg/dselect oder apt, dann wird die Datei durch die aus dem
  +
Debian-Paket ersetzt. Erfahrene Anwender können dieses verhindern, indem Sie das entsprechende Paket auf
  +
hold (in der Paketauswahl von dselect mit der Taste =) setzen oder dpkg-divert benutzen.
  +
Wenn Sie bestimmte Pakete durch eigene, modifizierte Versionen ersetzen wollen, sollten Sie sich intensiv mit
  +
dem Debian GNU/Linux-Paketmanagement befassen.
  +
Eine der wichtigsten Vereinbarungen, an den Sie sich gewöhnen müssen, ist, daß sich alle
  +
Konfigurationsdateien unterhalb von /etc/ befinden. Hierbei ist es vielfach so, daß für einzelne Programme
  +
zusätzliche Verzeichnisse bei der Installation erzeugt werden, meist geschieht dies für Programme, die über
  +
mehr als eine Konfigurationsdatei verfügen, beispielsweise für den Webserver apache.
  +
Unter /usr/doc/ beziehungsweise /usr/share/doc/ finden Sie die Dokumentation zu den auf Ihrem
  +
System installierten Paketen. Zu vielen Paketen finden Sie in dem entsprechenden Verzeichnis eine Datei
  +
README.Debian (oder ähnlich), welche die speziellen Anpassungen an Debian GNU/Linux beschreibt.
  +
Weiterhin befinden sich in jedem Verzeichnis auch die jeweiligen Lizenzen zu den Paketen.
  +
3.14. Arbeiten mit Dateien – Mini-Workshop
  +
Um mit Ihrem System arbeiten zu können, müssen Sie etwas über das Erzeugen, Verschieben, Umbenennen und
  +
Löschen von Dateien und Verzeichnissen erfahren.
  +
3.14.1. pwd – print working directory
  +
Zunächst ist es jedoch wichtig zu wissen, an welcher Stelle des Verzeichnisbaumes man sich befindet. Wie
  +
schon beschrieben, befinden Sie sich nach dem Anmelden am System in Ihrem Home-Verzeichnis. Sie können
  +
dies mit dem Kommando pwd überprüfen. Die Ausgabe sollte in etwa so aussehen:
  +
bash-2.02$ pwd
  +
/home/fr
  +
Wobei auf Ihrem System statt fr Ihr eigener Benutzername, mit dem Sie sich angemeldet haben, erscheint.
  +
106
  +
Kapitel 3. Betrieb
  +
3.14.2. ls – list
  +
Dieses Kommando zeigt, wenn es ohne weitere Parameter verwendet wird, alle Dateien in dem aktuellen
  +
Verzeichnis an. Nach dem Anmelden an einem neu installierten Debian GNU/Linux-System befinden Sie sich in
  +
Ihrem Home-Verzeichnis, und dieses ist leer. Das Kommando ls wird also nichts anzeigen. (Das Verzeichnis ist
  +
nicht wirklich leer, Sie sehen lediglich mit dem Kommando ls ohne Parameter nicht die angelegten Dateien.)
  +
Sie können aber auch das Kommando ls mit einem Pfad als Option aufrufen. Beispielsweise zeigt ls / das
  +
„root-“Verzeichnis des Systems an.
  +
3.14.3. cd - change directory
  +
Mit diesem Kommando können Sie in ein anderes Verzeichnis (directory) wechseln. cd /tmp wechselt
  +
beispielsweise in das Verzeichnis für temporäre Dateien unterhalb von /.
  +
Auf zwei Besonderheiten möchte ich an dieser Stelle eingehen, die nicht nur mit dem Kommando cd
  +
funktionieren, aber zum besseren Verständnis hier gut untergebracht sind.
  +
Das Zeichen ~ steht als Abkürzung für den kompletten Pfad zu Ihrem privaten Home-Verzeichnis. cd mit der
  +
Option ~, also cd ~, wechselt ins Home-Verzeichnis.
  +
Weiterhin möchte man häufig in ein Verzeichnis in der Struktur höher wechseln. Sicher könnte man mit pwd
  +
nachsehen, wo man sich gerade befindet und dann dem Kommando cd den passenden Pfad übergeben. Als
  +
einfache Alternative steht aber das Kürzel .. für das übergeordnete Verzeichnis zur Verfügung. cd .. wechselt
  +
also ins übergeordnete Verzeichnis (beachten Sie das Leerzeichen).
  +
Eine weitere Abkürzung stellt . dar. Diese steht für das aktuelle Verzeichnis, in dem Sie sich gerade befinden,
  +
doch dazu gleich in einem anderen Beispiel.
  +
3.14.4. mkdir - make directory
  +
Mit diesem Kommando können Sie weitere Verzeichnisse anlegen. Wechseln Sie in Ihr Home-Verzeichnis mit
  +
cd ~ und erzeugen Sie ein Verzeichnis test (mit mkdir test). Überprüfen Sie mit ls, ob es funktioniert hat.
  +
Erzeugen Sie nach Belieben einige weitere Verzeichnisse, auch unterhalb von test.
  +
3.14.5. cp - copy
  +
Mit diesem Kommando können Sie Kopien von Dateien erzeugen. Kopieren Sie die Datei /etc/profile in
  +
Ihr Home-Verzeichnis mit cp /etc/profile . (Hier also das versprochene Beispiel mit nur einem Punkt.)
  +
Prüfen Sie mit ls, ob sich in Ihrem Verzeichnis nun eine Datei profile befindet.
  +
3.14.6. more - Anzeigen von Dateien
  +
more profile zeigt Ihnen den Inhalt der Datei profile seitenweise auf der Konsole an. Sie können mit der
  +
SPACE-Taste seitenweise weiterblättern und mit der Taste q das Programm more wieder verlassen. more zeigt
  +
am unteren Bildschirmrand die aktuelle Position in der Datei in Prozent an. Am Ende einer Datei wird more
  +
automatisch beendet. more kann, wie die meisten anderen Programme auch, über Optionen auf der
  +
Kommandozeile gesteuert werden. Sie können diese Optionen auch in die Umgebungsvariable MORE schreiben,
  +
die Optionen werden dann bei jedem Aufruf von more benutzt.
  +
Lesen Sie die man-page zu more, das Programm hat noch einige andere interessante Möglichkeiten.
  +
Tip: Sollten Sie auf eine gepackte Datei stoßen, so können Sie diese mit dem Kommando zmore ansehen.
  +
Wenn Ihnen die Optionen von more nicht ausreichen, sollten Sie einen Blick auf das Programm less werfen.
  +
Es verfügt über die gleichen Funktionen, wurde aber noch um einige nützliche Funktionen erweitert.
  +
107
  +
Kapitel 3. Betrieb
  +
3.14.7. mv - move
  +
Zum Verschieben von Dateien benötigt das Kommando mv zwei Parameter: der erste Parameter ist die
  +
Quelldatei, der zweite die Zieldatei. Verschieben Sie die Datei profile in das erstellte Verzeichnis test, mit
  +
mv profile test. mv dient aber auch zum Umbenennen von Dateien. Wechseln Sie in das Verzeichnis test
  +
und benennen Sie die Datei profile in testdatei um (mv profile testdatei).
  +
Weiterhin können Sie mit mv auch Verzeichnisse verschieben oder umbenennen, die Syntax unterscheidet sich
  +
dabei nicht, egal ob Sie mit Dateien oder Verzeichnissen arbeiten.
  +
Beachten Sie das es mit mv nicht möglich ist mehrere Dateien auf einmal umzubenennen. Hierzu bedarf es eines
  +
kleinen Scriptes oder anderer entsprechender Hilfsmittel.
  +
3.14.8. rm - remove
  +
Mit dem Kommando rm können Sie eine oder mehrere Dateien löschen. Im einfachsten Fall geben Sie den
  +
Namen der zu löschenden Datei an, also: rm ichwillweg.txt (Sollte diese nicht existieren, so können Sie
  +
diese mit dem Kommando touch ichwillweg.txt anlegen). Als Parameter kann dem Kommando rm eine
  +
Reihe von Dateinamen mitgegeben werden, diese werden durch Leerzeichen getrennt: rm ichwillweg.txt
  +
ichauch.txt metoo.asc removeme.txt done.sh, dieses Kommando löscht fünf Dateien von der Platte.
  +
An dieser Stelle ein wichtiger Hinweis: Es gibt kein undelete unter Linux. Dateien, die Sie mit rm gelöscht
  +
haben, können Sie nicht zurückholen. (Es gibt Programme, die auch mit dem zur Zeit aktuellen
  +
ext2-Dateisystem gelöschte Dateien zurückholen können. Dies ist aber momentan noch in der Entwicklung.
  +
Besser ist es, auf ein „journaling Filesystem“ für Linux zu warten, ext3, XFS oder reiserFS sind da zu nennen,
  +
diese werden solche Funktionen besser unterstützen.)
  +
Wenn Sie ein Verzeichnis inklusive aller darin enthaltenen Dateien löschen möchten, können Sie dies auch mit
  +
dem Kommando rm erledigen. Hierzu dient die Option -rf. Ein Beispiel: rm -rf /home/fr/test/ löscht
  +
im Home-Verzeichnis das Verzeichnis test mit allen Dateien und Unterverzeichnissen. Etwas, was Sie nicht
  +
ausprobieren sollten (man findet das manchmal, weil sich Leute einen Spaß daraus machen...). Als weiteres
  +
Beispiel folgendes (nicht abtippen!!!): rm -rf / (nicht abtippen!!!). Wie schon beschrieben stellt / das
  +
Startverzeichnis des gesamten Verzeichnisbaums dar. Sie würden also Ihr komplettes System von der Platte
  +
verbannen.... Also nicht auf diesen kleinen Spaß hereinfallen...
  +
3.14.9. rmdir - remove directory
  +
Nun fehlt uns noch ein Kommando, um lediglich ein Verzeichnis, in dem sich keine Dateien befinden, zu
  +
entfernen. rmdir mit dem Verzeichnisnamen erledigt dies für uns. Natürlich läßt sich auch rm dafür nutzen, mit
  +
den entsprechenden Optionen, Sie können selbst entscheiden, welches Kommando Sie benutzen wollen... Noch
  +
schnell ein Beispiel: rmdir test entfernt das Verzeichnis test im aktuellen Verzeichnis.
  +
3.14.10. Versteckte Dateien (.datei)
  +
Namen von versteckten Dateien oder Verzeichnissen beginnen mit einem Punkt (.). Sie können das Kommando
  +
ls mit der Option -a dazu bringen, auch diese versteckten Dateien anzuzeigen. Sie können das sehr einfach in
  +
Ihrem Homeverzeichnis ausprobieren, dort werden bei der Einrichtung eines neuen Benutzers und später durch
  +
verschiedene Programme diverse versteckte Dateien und Verzeichnisse angelegt.
  +
Wechseln Sie in Ihr Homeverzeichnis (mit dem Kommando cd) und sehen Sie sich den Inhalt des
  +
Verzeichnisses einmal an, inklusive der versteckten Dateien (mit dem Kommando ls -la). Sie sehen nun die
  +
„normalen“ Dateien sowie auch die versteckten Dateien. Dabei wird Ihnen vielleicht auffallen, daß es zwei
  +
etwas außergewöhnliche Dateien, nämlich . und .. gibt. Diese stellen das aktuelle Verzeichnis „.“, in dem Sie
  +
sich befinden, sowie das übergeordnete Verzeichnis .. dar. Wenn Sie das Kommando ls mit der Option -lA
  +
benutzen, werden diese beiden Dateien nicht mit angezeigt.
  +
Der Grund für versteckte Dateien liegt nicht in der Geheimhaltung von Daten. Vielmehr ist es im täglichen
  +
Umgang mit dem System nicht sinnvoll, alle möglichen Dateien anzuzeigen, die sich in Ihrem Homeverzeichnis
  +
befinden. Viele Programme legen dort auch individuelle Konfigurationsdateien ab, es hat sich eingebürgert,
  +
108
  +
Kapitel 3. Betrieb
  +
diese Dateien oder Verzeichnisse mit einem Punkt beginnen zu lassen, so daß diese nicht bei der normalen
  +
Arbeit mit Dateien stören.
  +
Über diese Konfigurationsdateien in Ihrem Verzeichnis können Sie das Verhalten oder Aussehen von
  +
Programmen verändern. Diese Änderungen sind nur wirksam, wenn Sie sich mit Ihrem Benutzernamen am
  +
System angemeldet haben. Systemweite Konfigurationsdateien finden Sie im Verzeichnis /etc/.
  +
3.14.11. find & locate - Finden von Dateien
  +
Um Dateien in Ihrem System zu finden, stehen Ihnen auf der Kommandozeile zwei Programme zur Verfügung:
  +
find und locate. Mit dem Programm find können Sie die Festplatte nach Dateien durchsuchen, dies kann je
  +
nach Größe der Platten einige Zeit dauern. find verfügt über einige Parameter, die Sie in der Man-Page
  +
nachlesen können.
  +
bash-2.03$ find --help
  +
Usage: find [path...] [expression]
  +
default path is the current directory; default expression is -print
  +
expression may consist of:
  +
operators (decreasing precedence; -and is implicit where no others are given):
  +
( EXPR ) ! EXPR -not EXPR EXPR1 -a EXPR2 EXPR1 -and EXPR2
  +
EXPR1 -o EXPR2 EXPR1 -or EXPR2 EXPR1 , EXPR2
  +
options (always true): -daystart -depth -follow --help
  +
-maxdepth LEVELS -mindepth LEVELS -mount -noleaf --version -xdev
  +
tests (N can be +N or -N or N): -amin N -anewer FILE -atime N -cmin N
  +
-cnewer FILE -ctime N -empty -false -fstype TYPE -gid N -group NAME
  +
-ilname PATTERN -iname PATTERN -inum N -ipath PATTERN -iregex PATTERN
  +
-links N -lname PATTERN -mmin N -mtime N -name PATTERN -newer FILE
  +
-nouser -nogroup -path PATTERN -perm [+-]MODE -regex PATTERN
  +
-size N[bckw] -true -type [bcdpfls] -uid N -used N -user NAME
  +
-xtype [bcdpfls]
  +
actions: -exec COMMAND ; -fprint FILE -fprint0 FILE -fprintf FILE FORMAT
  +
-ok COMMAND ; -print -print0 -printf FORMAT -prune -ls
  +
Für den normalen Einsatz ist es allerdings ausreichend, wenn Sie sich folgendes Beispiel einprägen:
  +
bash-2.02$ find / -name resolv.conf
  +
/etc/resolv.conf
  +
find: /var/spool/cron/atjobs: Permission denied
  +
find: /var/spool/cron/atspool: Permission denied
  +
find: /var/lib/xdm/authdir: Permission denied
  +
Nach einiger Zeit hat find die Datei im Verzeichnis /etc/ gefunden. Verzeichnisse, auf die find keinen
  +
Zugriff hat, werden als Fehlermeldung ausgegeben. Direkt hinter dem Kommando find können Sie das
  +
Verzeichnis angeben, in dem mit der Suche begonnen werden soll. Im Beispiel wird das gesamte Dateisystem
  +
(/) durchsucht. Wenn Sie den Namen einer Datei nicht genau kennen, können Sie auch nur einen Teil des
  +
Namens angeben und den Rest mit den üblichen Wildcards ersetzen. Beachten Sie, daß jedes Kommando zuerst
  +
von der Shell interpretiert und dann ausgeführt wird. Sie müssen also beispielsweise den * vor der Shell
  +
„verstecken“, indem Sie das Zeichen \ voranstellen. Die Shell wird nun das folgende Zeichen ignorieren und
  +
direkt an das Kommando weiterreichen:
  +
bash-2.02$ find / -name resol\*
  +
/etc/resolv.conf
  +
find: /var/spool/cron/atjobs: Permission denied
  +
find: /var/spool/cron/atspool: Permission denied
  +
find: /var/lib/xdm/authdir: Permission denied
  +
Der zweite Weg, um Dateien zu finden, bietet sich über das Programm locate. Dieses ist um einiges schneller
  +
beim Finden von Dateien, da es eine Datenbank benutzt, die einmal am Tag aktualisiert wird. Es ist also nicht
  +
notwendig, jedesmal die komplette Platte zu durchsuchen. Allerdings funktioniert das Aktualisieren der
  +
Datenbank nur, wenn Ihr Rechner zu der Zeit in Betrieb ist, zu der auch diese Aktualisierung stattfindet. Da
  +
hierbei die komplette Festplatte durchsucht wird, kann der Vorgang einige Zeit dauern.
  +
109
  +
Kapitel 3. Betrieb
  +
Sollten Sie Ihren Rechner ausschalten, so können Sie auch (als Superuser) die Datenbank von locate – mit
  +
dem Kommando updatedb zu jeder anderen Zeit aktualisieren. Sie können aber auch die Zeit, zu der
  +
updatedb gestartet wird, in der Datei /etc/crontab Ihren Bedürfnissen anpassen.
  +
Wenn Ihnen diese Änderungen zu kompliziert erscheinen, können Sie auch das Paket anacron installieren,
  +
dieses sorgt dafür, daß Cronjobs, die eigentlich während der Zeit ausgeführt werden sollten, zu der Sie Ihren
  +
Rechner ausgeschaltet hatten, nachträglich ausgeführt werden.
  +
Dadurch, daß die Datenbank einmal täglich aktualisiert wird, kann locate natürlich auch nur Dateien finden,
  +
die zu diesem Zeitpunkt bereits vorhanden waren. Später erzeugte Dateien werden von locate nicht angezeigt.
  +
Das klang jetzt etwas aufwendig, locate ist aber sehr leicht zu bedienen, wie folgendes Beispiel beweist:
  +
bash-2.02$ locate XF86Config
  +
/etc/X11/XF86Config
  +
/usr/X11R6/lib/X11/XF86Config
  +
/usr/X11R6/lib/X11/XF86Config.eg
  +
/usr/X11R6/man/man5/XF86Config.5x.gz
  +
Wie Sie sehen, findet locate alle Dateien, die den Suchbegriff beinhalten, ohne daß Sie mit Wildcards arbeiten
  +
müssen.
  +
Wenn Sie find und locate vergleichen, werden Sie feststellen, daß find leistungsfähiger ist, locate
  +
dagegen im täglichen Gebrauch Dateien wesentlich schneller finden kann.
  +
Wenn Sie häufiger mit locate oder auch die Datenbank nicht als Superuser aktualisieren lassen, werden Sie
  +
merken, daß unter Umständen nicht alle Dateien angezeigt werden. Dies liegt daran, daß nur Dateien in die
  +
Datenbank wandern, auf die das Programm updatedb Zugriff hat.
  +
Weiterhin zeigt locate aber auch Dateien an, die ein normaler User nicht sehen sollte, dies ist vielleicht nicht
  +
gewünscht.
  +
Debian GNU/Linux beinhaltet noch das Paket slocate. Diese spezielle Version zeigt nur die Dateien an, auf
  +
die der jeweilige User auch Zugriff hat. Sie können zusätzlich das Paket suidmanager installieren, damit kann
  +
slocate über das dazugehörige Programm suidregister Ihnen auch die Dateien anzeigen, auf die Sie
  +
normalerweise keinen Zugriff haben, natürlich erst nach Angabe des entsprechenden Paßwortes.
  +
Beachten Sie bitte auch den Hinweis am Ende der Installation von slocate:
  +
sushi:/root# apt-get install slocate
  +
Reading Package Lists... Done
  +
Building Dependency Tree... Done
  +
The following NEW packages will be installed:
  +
slocate
  +
0 packages upgraded, 1 newly installed, 0 to remove and 27 not upgraded.
  +
Need to get 0B/23.2kB of archives. After unpacking 143kB will be used.
  +
Selecting previously deselected package slocate.
  +
(Reading database ... 67742 files and directories currently installed.)
  +
Unpacking slocate (from .../utils/slocate_2.1-5.1.deb) ...
  +
Adding ‘diversion of /usr/bin/locate to /usr/bin/locate.notslocate by slocate’
  +
Adding ‘diversion of /usr/bin/updatedb to /usr/bin/updatedb.notslocate by slocate’
  +
Adding ‘diversion of /usr/share/man/man1/locate.1.gz to /usr/share/man/man1/locate.notslocate.1.gz Adding ‘diversion of /usr/share/man/man1/updatedb.1.gz to /usr/share/man/man1/updatedb.notslocate.Adding ‘diversion of /etc/cron.daily/find to /etc/cron.daily/find.notslocate by slocate’
  +
Setting up slocate (2.1-5.1) ...
  +
Adding group slocate (104)...
  +
Done.
  +
Changing permissions on: /usr/bin/slocate
  +
Changing permissions on: /var/lib/slocate to: 0750
  +
WARNING: You should run ’/etc/cron.daily/slocate’ as root. locate will not work properly until you 110
  +
Kapitel 3. Betrieb
  +
3.14.12. gzip - gepackte Dateien
  +
Manchmal ist es sinnvoll, große Dateien zu komprimieren, sei es um Plattenplatz zu sparen, sei es um die
  +
Downloadzeiten zu verkürzen. Das Programm der Wahl unter Debian GNU/Linux ist gzip (GNU Zip).
  +
Erstellen Sie zuerst eine Testdatei, um mit gzip experimentieren zu können, und sehen Sie sich die Größe
  +
dieser Datei an.
  +
bash-2.03$ cd
  +
bash-2.03$ cp /etc/profile ./testdatei
  +
bash-2.03$ ls -l testdatei
  +
-rw-r--r-- 1 fr fr 359 Jan 20 20:10 testdatei
  +
Komprimieren Sie nun die Datei testdatei mit gzip und sehen Sie sich wieder das Ergebnis an:
  +
bash-2.03$ gzip testdatei
  +
bash-2.03$ ls -l testdatei.gz
  +
-rw-r--r-- 1 fr fr 275 Jan 20 20:10 testdatei.gz
  +
Beachten Sie, daß die Datei nun die Endung .gz bekommen hat. Somit ist klar zu erkennen, mit welchem
  +
Programm die Datei gepackt wurde und daß diese Datei überhaupt gepackt ist.
  +
Um nun diese Datei wieder in den ursprünglichen Zustand zu versetzen, können Sie gzip mit der Option -d
  +
aufrufen:
  +
bash-2.03$ gzip -d testdatei.gz
  +
bash-2.03$ ls -l testdatei
  +
-rw-r--r-- 1 fr fr 359 Jan 20 20:10 testdatei
  +
Somit ist der alte Zustand wieder hergestellt. Der Erfolg ist bei so kleinen Dateien nicht sehr groß, Sie können
  +
das gleiche Experiment aber auch mit anderen, größeren Dateien probieren.
  +
3.14.13. split - geteilte Dateien
  +
Sicher standen Sie schon einmal vor dem Problem, daß eine Datei zu groß war. Sei es, um diese auf einem
  +
Medium zu transportieren oder um diese übers Netz zu verschicken. Unter Debian GNU/Linux ist es mit den
  +
Programmen split und cat möglich, Dateien zu zerteilen und wieder zusammenzufügen.
  +
Kopieren Sie die Datei /bin/bash in Ihr Homeverzeichnis. Diese Datei hat eine Größe von etwas mehr als 450
  +
Kilobyte.
  +
bash-2.03$ cd
  +
bash-2.03$ cp /bin/bash .
  +
bash-2.03$ ls -l bash
  +
-rwxr-xr-x 1 fr fr 461720 Jan 22 15:42 bash
  +
Sie können nun diese Datei mit dem Kommando split in kleinere Stücke teilen. Hierzu benötigt split
  +
Angaben über die maximale Größe der einzelnen Dateien sowie die Erweiterung des Dateinamens, die an jede
  +
Datei angehängt werden soll.
  +
Mit der Option -b teilen Sie split die Größe mit. Ohne weitere Angaben geht split davon aus, daß der Wert
  +
in Byte angegeben wurde. Das ist natürlich nicht sehr praktikabel. Deshalb können Sie hinter dem Zahlenwert
  +
die Buchstaben k für Kilobyte oder m für Megabyte angeben.
  +
Als Kennung für die einzelnen Dateien erweitert split den Dateinamen der ersten Datei mit aa, den zweiten
  +
mit ab und so weiter. Wenn Sie eine eigene Erweiterung (Prefix) zu jeder Datei erzeugen wollen, so können Sie
  +
diese mit angeben, hier im Beispiel wird „einzel“ angegeben:
  +
bash-2.03$ split -b100k bash einzel
  +
bash-2.03$ ls -l einzel*
  +
-rw-r--r-- 1 fr fr 102400 Jan 22 15:42 einzelaa
  +
-rw-r--r-- 1 fr fr 102400 Jan 22 15:42 einzelab
  +
-rw-r--r-- 1 fr fr 102400 Jan 22 15:42 einzelac
  +
-rw-r--r-- 1 fr fr 102400 Jan 22 15:42 einzelad
  +
111
  +
Kapitel 3. Betrieb
  +
-rw-r--r-- 1 fr fr 52120 Jan 22 15:42 einzelae
  +
Das Zusammenfügen der Dateien ist ebenfalls sehr einfach.
  +
bash-2.03$ cat einzel* > bash-neu
  +
bash-2.03$ ls -l bash*
  +
-rwxr-xr-x 1 fr fr 461720 Jan 22 15:42 bash
  +
-rw-r--r-- 1 fr fr 461720 Jan 22 15:43 bash-neu
  +
Anhand der Länge sehen wir, daß die Datei wieder hergestellt wurde.
  +
3.14.14. tar - archivieren von Dateien
  +
Häufig bekommt man Archive aus dem Netz in gepackter Form. Das Packen von Archiven beinhaltet zwei
  +
Dinge: erstens die Zusammenfassung von mehreren Dateien zu einer einzigen und zweitens das Komprimieren
  +
der Daten, um Plattenplatz zu sparen oder auch die Übertragungszeit zu verringern. Historisch gesehen verteilen
  +
sich diese beiden Funktionen unter Unix auch auf zwei Programme. Üblicherweise benutzt man zum
  +
Zusammenfassen der Dateien das Programm tar (Tape Archive) und zum Komprimieren das Programm gzip.
  +
Etwas bessere Ergebnisse beim Komprimieren von Daten erreicht das (neuere) Programm bzip2. Die
  +
GNU-Version des Programms tar, welche auch bei Debian GNU/Linux verwendet wird, kann beide
  +
Komprimierungsverfahren benutzen, so daß man nicht mit verschiedenen Programmen hantieren muß.
  +
Altgediente Programme, wie zum Beispiel tar, verfügen häufig über eine Vielzahl von Funktionen. Einige
  +
davon werden heute kaum noch verwendet, sind aber trotzdem noch aus Kompatibilitätsgründen verfügbar,
  +
beispielsweise können Sie die Blockgröße bestimmen, mit der die Daten auf das Medium geschrieben werden.
  +
Eine solche Funktion werden Sie heute nur noch in sehr seltenen Fällen benötigen.
  +
Einen Überblick über die Optionen von tar bekommen Sie mit der Option --help:
  +
bash-2.03$ tar --help
  +
GNU «tar» schreibt mehrere Dateien in ein Archiv auf Band oder Festplatte und
  +
kann einzelne Dateien aus diesem Archiv herausholen.
  +
Verwendung: tar [OPTION]... [Datei]...
  +
Beispiele:
  +
tar -cf archiv.tar foo bar # archiv.tar mit den Dateien foo und bar erzeugen.
  +
tar -tvf archiv.tar # Inhalt von archiv.tar ausführlich anzeigen.
  +
tar -xf archiv.tar # Alle Dateien aus archiv.tar extrahieren
  +
Wenn eine lange Option ein Argument erfordert, ist es für die entsprechende
  +
kurze Option auch erforderlich. Das gleich gilt für optionale Argumente.
  +
Aktionen:
  +
-t, --list Inhalt eines Archivs anzeigen
  +
-x, --extract, --get Dateien aus Archiv holen
  +
-c, --create neues Archiv erzeugen
  +
-d, --diff, --compare Dateien im Archiv und im Dateisystem vergleichen
  +
-r, --append Dateien an das Archiv anhängen
  +
-u, --update nur Dateien anhängen, die jünger sind als ihre Archiv-Version
  +
-A, --catenate »tar«-Dateien an ein Archiv anhängen
  +
--concatenate wie ’-A’
  +
--delete aus Archiv löschen (nicht auf Magnetbändern!)
  +
Operation modifiers:
  +
-W, --verify attempt to verify the archive after writing it
  +
--remove-files remove files after adding them to the archive
  +
-k, --keep-old-files don’t replace existing files when extracting
  +
--overwrite overwrite existing files when extracting
  +
-U, --unlink-first remove each file prior to extracting over it
  +
--recursive-unlink empty hierarchies prior to extracting directory
  +
-S, --sparse handle sparse files efficiently
  +
112
  +
Kapitel 3. Betrieb
  +
-O, --to-stdout extract files to standard output
  +
-G, --incremental handle old GNU-format incremental backup
  +
-g, --listed-incremental=FILE
  +
handle new GNU-format incremental backup
  +
--ignore-failed-read do not exit with nonzero on unreadable files
  +
Datei-Eigenschaften:
  +
--owner=NAME Eigentümer für hinzugefügte Dateien auf NAME setzen
  +
--group=NAME Gruppe für hinzugefügte Dateien auf NAME setzen
  +
--mode=RECHTE Zugriffsrechte für hinzugefügte Dateien auf RECHTE setzen
  +
--atime-preserve Zugriffszeit beim Auspacken erhalten
  +
-m, --modification-time Änderungszeit beim Auspacken erhalten
  +
--same-owner Eigentümer beim Auspacken erhalten
  +
--no-same-owner Eigentümer beim Auspacken auf Ausführenden setzen
  +
--numeric-owner Zahlen für Benutzer bzw. Gruppen benutzen
  +
-p, --same-permissions Zugriffsrechte beim Auspacken erhalten
  +
--no-same-permissions Keine Zugriffsrechte erhalten
  +
--preserve-permissions wie ’-p’
  +
-s, --same-order zu entpackende Dateinamen wie im Archiv sortieren
  +
--preserve-order wie ’-s’
  +
--preserve wie ’-p’ und ’-s’ zusammen
  +
Geräteauswahl und -einstellung:
  +
-f, --file=ARCHIV Gerät oder Datei ARCHIV benutzen
  +
--force-local Archiv-Datei ist lokal, auch wenn der Name
  +
einen Doppelpunkt enthält
  +
--rsh-command=BEFEHL statt «rsh» den BEFEHL benutzen
  +
-[0-7][lmh] Laufwerk und Schreibdichte angeben
  +
-M, --multi-volume mehrteiliges Archiv anlegen/listen/herausholen
  +
-L, --tape-length=ZAHL Medium wechseln, wenn ZAHL KBytes geschrieben sind
  +
-F, --info-script=DATEI am Ende jedes Mediums das Skript DATEI
  +
ausführen (impliziert ’-M’)
  +
--new-volume-script=DATEI wie ’-F DATEI’
  +
--volno-file=DATEI Teil-Nummer in DATEI benutzen/aktualisieren
  +
Blockung des Gerätes:
  +
-b, --block-size=BLÖCKE BLÖCKE à 512 Bytes pro Record
  +
--record-size=GRÖSSE GRÖSSE Bytes pro Record, Vielfaches von 512
  +
-i, --ignore-zeros Blöcke mit Nullen im Archiv ignorieren (heißt EOF)
  +
-B, --read-full-blocks Blockung beim Lesen ändern (für 4.2BSD "Pipes")
  +
Archive format selection:
  +
-V, --label=NAME create archive with volume name NAME
  +
PATTERN at list/extract time, a globbing PATTERN
  +
-o, --old-archive, --portability write a V7 format archive
  +
--posix write a POSIX format archive
  +
-j, --bzip2 filter the archive through bzip2
  +
-z, --gzip, --ungzip filter the archive through gzip
  +
-Z, --compress, --uncompress filter the archive through compress
  +
--use-compress-program=PROG filter through PROG (must accept -d)
  +
Local file selection:
  +
-C, --directory=DIR change to directory DIR
  +
-T, --files-from=NAME get names to extract or create from file NAME
  +
--null -T reads null-terminated names, disable -C
  +
--exclude=PATTERN exclude files, given as a globbing PATTERN
  +
-X, --exclude-from=FILE exclude globbing patterns listed in FILE
  +
-P, --absolute-names don’t strip leading ‘/’s from file names
  +
-h, --dereference dump instead the files symlinks point to
  +
--no-recursion avoid descending automatically in directories
  +
-l, --one-file-system stay in local file system when creating archive
  +
-K, --starting-file=NAME begin at file NAME in the archive
  +
-N, --newer=DATUM nur Dateien jünger als DATUM sichern
  +
--newer-mtime Datum und Zeit nur vergleichen, wenn sich der
  +
113
  +
Kapitel 3. Betrieb
  +
Datei-Inhalt geändert hat
  +
--after-date=DATUM wie ’-N’
  +
--backup[=CONTROL] Sicherheitskopie vor dem Löschen, wählt Versionskontrolle
  +
--suffix=SUFFIX Sicherheitskopie vor dem Löschen, Namenserweiterung SUFFIX
  +
Informationen:
  +
--help Hilfe anzeigen und «tar» beenden
  +
--version Versionsnummer anzeigen und «tar» benden
  +
-v, --verbose zu bearbeitende Dateien ausführlich listen
  +
--checkpoint Verzeichnisnamen beim Lesen des Archivs zeigen
  +
--totals geschriebene Bytes beim Schreiben des Archivs zeigen
  +
-R, --block-number Blocknummer innerhalb des Archivs mit jeder Meldung zeigen
  +
-w, --interactive Bestätigung für jede Aktion verlangen
  +
--confirmation wie ’-w’
  +
Die Namenserweiterung für Sicherheitskopien ist ‘~’, wenn nicht mit --suffix oder
  +
der Umgebungsvariablen SIMPLE_BACKUP_SUFFIX etwas anderes eingestellt ist.
  +
Die Versionskontrolle kann mit --backup oder der Umgebungsvariablen VERSION_CONTROL
  +
gesetzt werden. Mögliche Werte sind:
  +
t, numbered nummerierte Sicherheitskopien
  +
nil, existing nummerierte Sicherheitskopien, wenn schon nummerierte vorhanden sind,
  +
sonst einfache
  +
never, simple immer einfache Sicherheitskopien
  +
GNU »tar« kann keine ’--posix’-Archive lesen. Wenn die
  +
Umgebungsvariable POSIXLY_CORRECT gesetzt ist, sind GNU-Erweiterungen
  +
mit ’--posix’ nicht zulässig.
  +
Unterstützung für POSIX ist nur teilweise implementiert, rechne derzeit noch
  +
nicht damit!
  +
ARCHIV kann DATEI, RECHNER:DATEI oder BENUTZER@RECHNER:DATEI sein; DATEI kann
  +
eine Datei oder ein Gerät (z.B. ein Streamer) sein.
  +
Die Voreinstellung für _dieses_ »tar« ist ’-f- -b20’.
  +
Fehlermeldungen an <bug-tar@gnu.org>.
  +
Tip: Wenn die Anzeige eines längeren Textes nicht komplett auf dem Bildschirm erfolgen kann, können Sie
  +
den Text seitenweise ausgeben lassen, indem Sie die Ausgabe über eine „Pipe“ an das Programm more
  +
weiterreichen: tar --help | more
  +
Für den täglichen Gebrauch kommen Sie aber mit maximal zehn von diesen vielen Optionen aus. Auch in
  +
diesem Abschnitt zeigen wir einige Beispiele aus der Praxis auf.
  +
3.14.14.1. tar - packen von Dateien
  +
Um mehrere Dateien in einem Archiv zusammenzufassen, benutzen Sie die Optionen -cf (create – erzeugen
  +
und file – Datei):
  +
linux:/home/fr# tar -cf /tmp/test.tar /etc/
  +
tar: Removing leading ‘/’ from member names
  +
Dies erzeugt eine neue Datei (/tmp/test.tar) mit allen Dateien aus dem Verzeichnis /etc/. tar entfernt
  +
automatisch das jedem Pfad vorangestellte /, bevor die Dateien in das Archiv aufgenommen werden. Dies
  +
verhindert, daß beim späteren Entpacken versehentlich Daten überschrieben werden.
  +
114
  +
Kapitel 3. Betrieb
  +
3.14.14.2. tar - Entpacken von Dateien
  +
Um die Daten wieder zu entpacken, benutzen Sie die Option -x (extract – entpacken). Beachten Sie, daß die
  +
Daten immer an der aktuellen Position im Dateisystem entpackt werden. Wenn Sie sich nicht sicher sind,
  +
erstellen Sie ein temporäres Arbeitsverzeichnis und verschieben Sie danach die Daten an die gewünschte Stelle:
  +
linux:/home/fr# mkdir bla
  +
linux:/home/fr# cd bla
  +
linux:/home/fr/bla# tar -xf /tmp/test.tar
  +
linux:/home/fr/bla# ls
  +
etc
  +
tar zum Plaudern bringen...: Benutzen Sie die zusätzliche Option -v, um den Vorgang des Packens oder
  +
Entpackens der Daten verfolgen zu können: tar -xvf /tmp/test.tar.
  +
3.14.14.3. tar - Komprimieren der Archive
  +
Bisher haben wir tar zum Zusammenfügen von Dateien benutzt, nun werden wir das Archiv zusätzlich noch
  +
komprimieren. Hierzu stehen bei GNU-Tar die Optionen -z für das Komprimieren mit gzip und -I zum
  +
komprimieren mit bzip2 zur Verfügung. Die Benutzung ist ganz einfach, verwenden Sie tar wie oben gezeigt
  +
und fügen Sie beispielsweise die Option -z hinzu.
  +
Jedes Zeichen zählt...: Zur Vereinfachnung können Sie den Strich - vor den Optionen einfach weglassen,
  +
tar versucht die erste Zeichenkette hinter dem Kommando als Optionen zu interpretieren: tar xvf
  +
/tmp/test.tar.
  +
Hier ein Beispiel, wie Sie ein gepacktes Archiv erzeugen können:
  +
linux:/home/fr# tar cvfz /tmp/test.tar.gz /etc/
  +
Beachten Sie, daß es üblich ist, entweder wie hier gezeigt die Endung .gz anzuhängen, oder aber die Kurzform
  +
.tgz zu verwenden.
  +
tar kann mit beiden Endungen „umgehen“, genaugenommen ist der Dateiname völlig egal. Die Endungen
  +
dienen nur der besseren Übersicht für den Benutzer.
  +
3.14.14.4. tar - Benutzung von Bandlaufwerken / Streamer
  +
Wenn Sie die Daten auf einem Tape-Streamer speichern wollen, können Sie die Daten auch direkt auf das Gerät
  +
speichern. Geben Sie dazu statt dem Dateinamen des Archives einfach das entsprechende Device an:
  +
linux:/home/fr# tar cvfz /dev/st0 /etc/
  +
Das Device /dev/st0 wird von Streamern benutzt, die über einen SCSI-Anschluß verfügen. Wenn Sie die
  +
Daten von diesem Gerät wieder einlesen wollen, benutzen Sie dazu ebenfalls das entsprechende Device.
  +
linux:/home/fr# tar xvfz /dev/st0
  +
115
  +
Kapitel 3. Betrieb
  +
3.14.15. file - Dateitypen
  +
Es ist üblich, Dateien so zu benennen, daß der Typ der Datei aus dem Namen erkenntlich ist. Programme sind
  +
nicht zwingend auf eine solche Endung angewiesen, diese dient nur der besseren Übersicht für den Benutzer
  +
(mit Ausnahme von Dateinamen, die fest in das Programm einkompiliert sind, wie zum Beispiel Namen von
  +
Konfigurationsdateien). Textdateien bekommen die Endung .txt, Perl-Programme die Endung .pl und Bilder
  +
die Endung .jpeg oder .tiff und so weiter. Trotzdem kann es passieren, daß Dateien entweder keine oder
  +
eine falsche Endung haben. Debian GNU/Linux stellt Ihnen das Programm file zur Verfügung, welches die
  +
meisten Dateitypen ermitteln kann.
  +
Die Benutzung von file ist denkbar einfach: rufen Sie das Programm einfach zusammen mit dem Namen der
  +
zu bestimmenden Datei(en) auf, Sie können hier einen oder mehrere Dateinamen, auch mit Wildcards, angeben:
  +
bash-2.03$ file /bin/bash /etc/passwd /etc/init.d/lpd
  +
/bin/bash: ELF 32-bit LSB executable, Intel 80386, version 1, dynamically
  +
linked (uses shared libs), stripped
  +
/etc/passwd: ASCII text
  +
/etc/init.d/lpd: Bourne shell script text
  +
file listet nun die verschiedenen Dateinamen mit den Dateitypen auf.
  +
3.15. Einige bash-Funktionen
  +
Wir möchten hier nur kurz auf die Debian GNU/Linux-Standard-Shell, die bash, eingehen. Weitere
  +
Informationen finden Sie in der Man-Page zur bash.
  +
Eine der nützlichsten Funktionen der bash ist die Möglichkeit, Programm- und Dateinamen zu
  +
vervollständigen. Sie können dies zu jeder Zeit am Shell-Prompt ausprobieren: tippen Sie ein paar Zeichen
  +
eines Befehls und drücken Sie die TAB-Taste. Wenn die Eingabe bis zu der Stelle, an der Sie die TAB-Taste
  +
gedrückt haben, eindeutig war, es also kein zweites Programm gibt, das mit den gleichen Buchstaben beginnt,
  +
wird die Eingabe automatisch vervollständigt. Sollte es zwei oder mehr Möglichkeiten geben, so werden Sie
  +
lediglich einen „Piepton“ hören. Ein nochmaliges Drücken der TAB-Taste zeigt Ihnen alle möglichen
  +
Alternativen an. Probieren Sie es an einem Beispiel einmal aus: nehmen wir an, Sie möchten sich die Datei
  +
/var/log/syslog ansehen. Dazu benutzen Sie das Programm more. Geben Sie also mo ein und drücken Sie
  +
die TAB-Taste zweimal. Nun sollten Sie zumindest die Programme mount und more angezeigt bekommen.
  +
Geben Sie nun so lange weitere Zeichen ein, bis die Eingabe eindeutig ist, in diesem Beispiel sollte also ein r
  +
ausreichen. Drücken Sie nun die TAB-Taste, und der Befehl wird vervollständigt. Probieren Sie dies noch
  +
einmal (als Superuser) mit dem Dateinamen /var/log/syslog aus. Probieren Sie immer nach einigen
  +
Zeichen mit der TAB-Taste die Eingabe zu vervollständigen.
  +
Eine weitere recht nützliche Funktion ist das Wiederholen von bereits eingegebenen Kommandos. Sie können
  +
mit den Pfeiltasten (AUF und AB) durch die sogenannte „History“ der bash blättern und bereits ausgeführte
  +
Kommandos noch einmal ausführen oder auch gleich auf der Kommandozeile ändern.
  +
3.15.1. help
  +
Die bash verfügt, neben der obligatorischen Manpage, auch über eine eingebaute Hilfe Funktion. Mit dem
  +
Kommando help wird eine Übersicht der in der bash enthaltenen Kommandos angezeigt.
  +
GNU bash, version 2.05a.0(1)-release (i386-pc-linux-gnu)
  +
These shell commands are defined internally. Type ‘help’ to see this list.
  +
Type ‘help name’ to find out more about the function ‘name’.
  +
Use ‘info bash’ to find out more about the shell in general.
  +
A star (*) next to a name means that the command is disabled.
  +
%[DIGITS | WORD] [&] . filename
  +
: [ arg... ]
  +
alias [-p] [name[=value] ... ] bg [job_spec]
  +
116
  +
Kapitel 3. Betrieb
  +
bind [-lpvsPVS] [-m keymap] [-f fi break [n]
  +
builtin [shell-builtin [arg ...]] case WORD in [PATTERN [| PATTERN].
  +
cd [-PL] [dir] command [-pVv] command [arg ...]
  +
compgen [-abcdefgjkvu] [-o option] complete [-abcdefgjkvu] [-pr] [-o
  +
continue [n] declare [-afFrxi] [-p] name[=value
  +
dirs [-clpv] [+N] [-N] disown [-h] [-ar] [jobspec ...]
  +
echo [-neE] [arg ...] enable [-pnds] [-a] [-f filename]
  +
eval [arg ...] exec [-cl] [-a name] file [redirec
  +
exit [n] export [-nf] [name ...] or export
  +
false fc [-e ename] [-nlr] [first] [last
  +
fg [job_spec] for NAME [in WORDS ... ;] do COMMA
  +
function NAME { COMMANDS ; } or NA getopts optstring name [arg]
  +
hash [-r] [-p pathname] [-t] [name help [-s] [pattern ...]
  +
history [-c] [-d offset] [n] or hi if COMMANDS; then COMMANDS; [ elif
  +
jobs [-lnprs] [jobspec ...] or job kill [-s sigspec | -n signum | -si
  +
let arg [arg ...] local name[=value] ...
  +
logout popd [+N | -N] [-n]
  +
printf format [arguments] pushd [dir | +N | -N] [-n]
  +
pwd [-PL] read [-ers] [-t timeout] [-p promp
  +
readonly [-anf] [name ...] or read return [n]
  +
select NAME [in WORDS ... ;] do CO set [--abefhkmnptuvxBCHP] [-o opti
  +
shift [n] shopt [-pqsu] [-o long-option] opt
  +
source filename suspend [-f]
  +
test [expr] time [-p] PIPELINE
  +
times trap [arg] [signal_spec ...] or tr
  +
true type [-apt] name [name ...]
  +
typeset [-afFrxi] [-p] name[=value ulimit [-SHacdflmnpstuv] [limit]
  +
umask [-p] [-S] [mode] unalias [-a] [name ...]
  +
unset [-f] [-v] [name ...] until COMMANDS; do COMMANDS; done
  +
variables - Some variable names an wait [n]
  +
while COMMANDS; do COMMANDS; done { COMMANDS ; }
  +
Zu jedem der aufgelisteten Kommandos sind ebenfalls mit dem Kommando, help genauere Informationen zu
  +
bekommen, beispielsweise zu shift.
  +
shift: shift [n]
  +
The positional parameters from $N+1 ... are renamed to $1 ... If N is
  +
not given, it is assumed to be 1.
  +
Wenn tiefergehende Informationen benötigt werden hilft ein Blick in die Manpage von bash weiter.
  +
3.16. Pipes
  +
Bereits sehr früh wurde das Prinzip der „Pipes“, Röhren ist keine schlechte Übersetzung, integriert. Sie können
  +
etwas „hineinschieben“ und am anderen Ende kommt es wieder heraus. Wie bereits beschrieben, gibt es sehr
  +
viele kleine, spezialisierte Programme unter Unix, die mit speziellen Parametern aufgerufen werden können.
  +
Sinnvoll wäre eine Schnittstelle zwischen diesen Programmen, um Daten auszutauschen oder auch das Ergebnis
  +
eines Programmlaufs in einem weiteren Programm aufzubereiten. Diese Schnittstelle ist in Form von „Pipes“
  +
realisiert. Sicher haben Sie schon das Kommando ls benutzt, um sich die Dateien in einem Verzeichnis
  +
anzeigen zu lassen. Wenn Sie aber in einem Verzeichnis mit sehr vielen Dateien die Anzahl der Dateien
  +
ermitteln möchten, kann das Zählen leicht etwas umständlich werden. Um Zeichen, Wörter oder Zeilen in einer
  +
Datei zu zählen, gibt es aber das Kommando wc (Word Count). Ein Weg wäre also, die Ausgabe von ls -l in
  +
eine Datei zu schreiben und mittels wc -l die Zeilen zählen zu lassen. Der Umweg über eine Datei läßt sich
  +
aber mittels einer Pipe umgehen.
  +
Unix benutzt hierfür das Zeichen | (Pipe). Verknüpfen Sie einfach die beiden Kommandos mittels dieses
  +
Zeichens zu einer Zeile: ls -l | wc -l, gibt Ihnen die Anzahl der Dateien im aktuellen Verzeichnis aus. Nur
  +
117
  +
Kapitel 3. Betrieb
  +
ein kleiner Haken an dieser Stelle: ls gibt als erste Zeile keinen Dateinamen aus, sondern eine Zeile, in der
  +
Informationen über das Verzeichnis aufgezeigt werden, Sie müssen also vom Ergebnis eine Zeile subtrahieren,
  +
um auf das genaue Ergebnis zu kommen.
  +
Wenn Sie sich die Rechnenarbeit ersparen wollen, können Sie auch die Option -1 statt -l beim Kommando ls
  +
benutzen, doch das führt jetzt zu weit...
  +
Ein weiteres Beispiel für die Benutzung von Pipes werden wir im folgenden Abschnitt zu ps aufzeigen. Sie
  +
werden im Laufe der Zeit an vielen Stellen auf weitere Anwendungsfälle stoßen.
  +
3.17. ps und /proc
  +
Um auf einem Debian GNU/Linux-System die vielen gleichzeitig laufenden Programme im Zaum halten zu
  +
können, muß man sich natürlich auch einen Überblick über diese verschaffen. Dazu dient unter anderem das
  +
Programm ps. ps liest die benötigten Informationen unter Linux aus dem Verzeichnis /proc des Dateisystems.
  +
/proc ist nicht tatsächlich auf einer Festplattenpartition abgelegt, sondern wird vom Kernel ständig aktualisiert
  +
und in den Verzeichnisbaum eingeblendet. Somit hat der Benutzer auf einfachste Art und Weise Zugriff auf die
  +
Informationen.
  +
Rufen Sie ps einfach einmal ohne weitere Parameter in einer shell auf. Dies sollte Ihnen in etwa folgendes
  +
Ergebnis anzeigen:
  +
bash-2.02$ ps
  +
PID TTY TIME CMD
  +
3522 pts/5 00:00:00 bash
  +
3523 pts/5 00:00:00 ps
  +
Ohne weitere Optionen zeigt ps die Prozesse der aktuellen Shell an. In der ersten Spalte sehen Sie die
  +
Prozeß-ID (PID), diese dient dazu, ein Programm im System eindeutig zu identifizieren. Zu diesem Zeitpunkt
  +
sind das die Shell selber sowie das Programm ps, welches ja gerade gestartet wurde. ps verfügt über eine
  +
Vielzahl von Optionen, mit denen Sie sich detailliertere Informationen zu den laufenden Programmen ansehen
  +
können.
  +
Eine Kurzübersicht über die verfügbaren Optionen erhalten Sie, wie bei allen GNU-Programmen, über die
  +
Option --help.
  +
bash-2.02$ ps --help
  +
********* simple selection ********* ********* selection by list *********
  +
-A all processes -C by command name
  +
-N negate selection -G by real group ID (supports names)
  +
-a all w/ tty except session leaders -U by real user ID (supports names)
  +
-d all except session leaders -g by session leader OR by group name
  +
-e all processes -p by process ID
  +
T all processes on this terminal -s processes in the sessions given
  +
a all w/ tty, including other users -t by tty
  +
g all, even group leaders! -u by effective user ID (supports names)
  +
r only running processes U processes for specified users
  +
x processes w/o controlling ttys t by tty
  +
*********** output format ********** *********** long options ***********
  +
-o,o user-defined -f full --Group --User --pid --cols
  +
-j,j job control s signal --group --user --sid --rows
  +
-O,O preloaded -o v virtual memory --cumulative --format --deselect
  +
-l,l long u user-oriented --sort --tty --forest --version
  +
X registers --heading --no-heading
  +
********* misc options *********
  +
-V,V show version L list format codes f ASCII art forest
  +
-m,m show threads S children in sum -y change -l format
  +
-n,N set namelist file c true command name n numeric WCHAN,UID
  +
-w,w wide output e show environment -H process heirarchy
  +
118
  +
Kapitel 3. Betrieb
  +
Am häufigsten werden Sie sicher Optionen wie a, u, x und w benutzen. Diese werden nach dem Kommando
  +
einfach zusammengefaßt, also beispielsweise ps auxw.
  +
Nun noch das versprochene Beispiel zum Thema Pipe: Nehmen wir an, Sie benötigen die Prozeß-ID eines
  +
Programms, um es mittels kill zu beenden. Auf einem System mit vielen Prozessen kann dies ein Problem
  +
sein. Die Lösung ist eine Kombination aus den Programmen ps und grep, welche mittels einer Pipe verkettet
  +
werden. Das benötigte Kommando würde wie folgt aussehen: ps aux|grep netscape. ps mit den Optionen
  +
aux gibt alle laufenden Prozesse in einer ausführlichen Form aus. grep filtert aus der Ausgabe des Programms
  +
ps alle Zeilen heraus, in denen die Zeichenfolge netscape vorkommt. Sie sollten nun eine recht knappe
  +
Ausgabe bekommen und die gewünschte Prozeß-ID leicht finden können.
  +
Weitere Informationen zu ps finden Sie in der Man-Page zu ps (man ps).
  +
3.18. Links
  +
Unter Unix werden sogenannte Links bereits seit vielen Jahren eingesetzt. Sie kennen diese vielleicht schon von
  +
anderen Betriebssystemen unter dem Namen „Verknüpfungen“. Um einen Link zu erzeugen, bedient man sich
  +
des Kommandos ln. Auch dieses Kommando verfügt über die Option --help, welche Ihnen eine kurze
  +
Information zu den verfügbaren Optionen gibt:
  +
bash-2.02$ ln --help
  +
Benutzung: ln [OPTION]... ZIEL [VERKNÜPFUNGSNAME]
  +
oder: ln [OPTION]... ZIEL... VERZEICHNIS
  +
oder: ln [OPTION]... --target-directory=VERZEICHNIS ZIEL...
  +
Erzeugen einer Verknüpfung des angegebenen ZIELES mit optionaler VERKNÜPFUNG.
  +
Wenn mehr als ein ZIEL angegeben wird, muß das letzte Argument ein Verzeichnis
  +
sein. Erzeugen von Verknüpfungen für jedes ZIEL in VERZEICHNIS. Als Standardvorgabe
  +
werde harte Verknüpfungen erstellt, symbolische Verknüpfungen
  +
mit --symbolic. Beim Erzeugen von harten Verknüpfungen muß jedes ZIEL
  +
existieren.
  +
--backup=[KONTROLLE] Erzeugen von Sicherungen für vorhandene Zieldateien.
  +
-b Wie --backup, akzeptiert aber kein Argument.
  +
-d, -F, --directory Verzeichnisse hart verknüpfen. (Nur Super-User)
  +
-f, --force Vorhandene Ziele entfernen.
  +
-n, --no-dereference Behandeln eines Zieles, das eine symbolische
  +
Verknüpfung auf ein Verzeichnis ist, wie
  +
normale Datei.
  +
-i, --interactive Nachfrage vor Entfernen vorhandener Ziele.
  +
-s, --symbolic Symbolische statt harter Verknüpfung erzeugen
  +
-S, --suffix=SUFFIX Überschreiben der normalen Anhänge für
  +
Sicherungen.
  +
--target-directory=VERZ Angabe des VERZeichnisses in dem die Verknüpfungen
  +
erstellt werden sollen.
  +
-v, --verbose Ausgabe des Namens jeder Datei vor dem
  +
Verknüpfen.
  +
--help Anzeige dieser Hilfe und beenden.
  +
--version Ausgabe der Versionsinformation und beenden.
  +
Der Anhang für Sicherheitskopien ist ~, außer wenn er --suffix oder
  +
SIMPLE_BACKUP_SUFFIX gesetzt wurde. Die Versionskontrolle kann mit
  +
--backup oder VERSION_CONTROL gesetzt werden. Mögliche Werte sind:
  +
none, off Niemals Sicherung erzeugen (selbst wenn --backup
  +
angegeben wurde)
  +
numbered, t Erzeugen von numerierten Sicherheitskopien
  +
existing, nil Numeriert wenn numerierte Backups existieren, sonst einfach.
  +
simple, never Immer einfache Sicherheitskopien erzeugen
  +
119
  +
Kapitel 3. Betrieb
  +
Berichten Sie Fehler an <bug-fileutils@gnu.org>.
  +
Aber das sieht komplizierter aus als, es ist. In 98% aller Fälle wird ihnen ln in der „Sparversion“ als ln -s
  +
originaldatei link-zur-datei ausreichen. Weitere Informationen finden Sie wie immer auch in der
  +
Man-Page.
  +
3.19. vi
  +
Der Unix-Standard-Editor vi ist nach der Installation des Basissystems auf jedem Debian GNU/Linux-System
  +
verfügbar. vi wird schon seit vielen Jahren auf Unix-Systemen eingesetzt, seine für Anfänger kryptische
  +
Bedienung rührt aus der langen Geschichte dieses Editors her. In der Urzeit der Computertechnik standen keine
  +
aufwendigen grafischen Arbeitsplätze zur Verfügung. Textdrucker mit Tastatur oder – etwas moderner –
  +
Text-Terminals ( VT100, ein Modell der Firma DEC, ist noch heute ein Begriff), die seriell an der Rechner
  +
angeschlossen wurden, waren Stand der Technik.
  +
Trotzdem ist es sinnvoll, ein paar wenige Grundlagen über den vi zu erfahren. Dieser Editor ist einfach immer
  +
verfügbar, auch auf einem minimalem System. Wenn Sie sich etwas in den vi eingearbeitet haben, werfen Sie
  +
mal einen Blick auf vim, vi improved, der eine erweiterte Version des vi ist.
  +
Beim vi wird zwischen einem Kommando- und einem Eingabemodus unterschieden. Durch Drücken der Taste
  +
i für „Input“ kommen Sie in den Eingabemodus. Ein Druck auf die Taste Esc beendet den Eingabemodus und
  +
man befindet sich wieder im Kommandomodus. Zum Eingabemodus gibt es nicht viel zu sagen, es können
  +
damit weitere Zeichen in die Datei eingegeben werden.
  +
Interessanter ist der Kommando-Modus des vi. Mit einzelnen Tasten können Sie im Text navigieren oder auch
  +
Zeichen/Zeilen löschen. Laden Sie einfach eine Datei, beispielsweise mit dem Kommando: cp /etc/hosts .
  +
(legt eine Kopie der Datei im aktuellen Verzeichnis ab), vi ./hosts (startet vi und lädt die Datei). In dieser
  +
Datei befinden sich die lokalen Zuordnungen des Rechnernamens zur IP-Nummer. Nach dem Start des vi
  +
befinden Sie sich im Kommandomodus. Sie können nun ein einzelnes Zeichen löschen, indem Sie die Taste x
  +
drücken. Ein solcher Befehl kann mit der Taste u rückgängig gemacht werden.
  +
Um den Cursor im Text zu bewegen, können Sie die Pfeiltasten benutzen. Sollte dies aufgrund fehlerhafter
  +
Einstellungen (zum Beispiel über eine telnet-Verbindung) einmal nicht funktionieren, können Sie in jedem Fall
  +
mit den Tasten h (links), j (runter), k (rauf) und l (rechts) navigieren.
  +
Viele der vi-Kommandos lassen sich auch „vervielfältigen“. Beispielsweise löscht 9x 9 Zeichen ab der
  +
aktuellen Position. Dies funktioniert mit den meisten anderen Kommandos ebenso.
  +
Wenn Sie die Änderungen in einer Datei speichern wollen, können Sie dies mit :w tun. Dateien unter einem
  +
anderen Namen speichern Sie mit :w neu.txt. Sie können den vi beenden, indem Sie :q eingeben. Auch hier
  +
sind Kombinationen möglich, so können Sie eine Datei mit :wq speichern und den Editor verlassen.
  +
Häufig möchte man Zeilen kopieren: hierzu dient der Befehl yy. Dieser speichert die aktuelle Zeile in einem
  +
Puffer, die gespeicherten Daten lassen sich mit p wieder an einer anderen Stelle einfügen. Analog dazu lassen
  +
sich mit 7yy 7 Zeilen kopieren... und so weiter.
  +
Soweit zu den Grundzügen des Editors vi. Mit diesen wenigen Kommandos sind Sie in der Lage, Anpassungen
  +
an den Konfigurationsdateien Ihres Debian GNU/Linux-Systems vorzunehmen.
  +
3.19.1. vi für Fortgeschrittene
  +
Wenn Sie sich eine Zeit lang mit diesem Editor beschäftigt haben, können Sie folgende Liste verwenden um ihr
  +
vi-Know-How zu vertiefen.
  +
3.19.1.1. Programstart
  +
Bereits beim Programstart können einige Optionen angegeben werden, diese sind unter anderem:
  +
• vi name - Startet den Editor und lädt die Datei name.
  +
• vi name1 name2 name3 - Startet den Editor und lädt die Dateien name1,name2 und name1.
  +
120
  +
Kapitel 3. Betrieb
  +
• vi -R name - Startet den Editor und lädt die Datei name im Nur-Lese Modus.
  +
• vi -r name - Startet den Editor und restauriert die Datei name nach einem Absturz.
  +
3.19.1.2. Einstellungen
  +
Wenn der Editor gestartet ist können einige Einstellungen verändert werden. Sollen diese Änderungen dauerhaft
  +
gespeichert werden, so können diese in die Datei ~/.vimrc eingetragen werden.
  +
• :set - zeigt die aktuellen Benutzereinstellungen.
  +
• :set all - zeigt alle Einstellungen.
  +
• :set option - Aktiviert eine Option. Beispiel: set number Aktiviert die Anzeige der Zeilennummern.
  +
• :set nooption - Deaktiviert eine Option. Beispiel: set nonumber Deaktiviert die Anzeige der
  +
Zeilennummern.
  +
• :set option? - Zeigt die möglichen Werte dieser Option.
  +
3.19.1.3. Dateioperationen
  +
• ZZ - Speichert die Datei und beendet das Programm.
  +
• :wq - Speichert die Datei und beendet das Programm.
  +
• :w - Speichert die Datei.
  +
• :w! - Speichert die Datei auch wenn de Zugriffsrechte auf Nur-Lesen gesetzt sind.
  +
• :w name - Speichert die Datei unter dem Namen name.
  +
• :q - Beendet das Programm.
  +
• :q! - Beendet das Programm, Änderungen werden verworfen.
  +
• :e name - Lädt die Datei name.
  +
• :e! name - Lädt die Datei name erneut und verwirft alle bisherigen Änderungen.
  +
• :e + name - Lädt die Datei name und springt ans Ende der Datei.
  +
• :e +n name - Lädt die Datei name und springt in die Zeile n.
  +
• :n - Geht zur nächsten der geladenen Dateien.
  +
• :args - Listet die aktuelle Liste der Dateien.
  +
• :rew - Springt zur ersten Datei in der Dateiliste.
  +
• :f - zeigt den Namen der aktuellen Datei und die aktuelle Zeilennummer an.
  +
• :q - Beendet das Programm.
  +
• :q - Beendet das Programm.
  +
• :q - Beendet das Programm.
  +
• :q - Beendet das Programm.
  +
121
  +
Kapitel 3. Betrieb
  +
3.19.1.4. Cursorbewegungen
  +
• Pfeiltasten - Mit den Pfeiltasten kann der Cursor wie in anderen Anwendungen bewegt werden.
  +
• CTRL - d - Springt eine halbe Seite nach unten.
  +
• CTRL - u - Springt eine halbe Seite nach oben.
  +
• CTRL - f - Springt eine Seite nach unten.
  +
• CTRL - b - Springt eine Seite nach oben.
  +
• :0 - Springt zum Anfang der Datei.
  +
• :n - Springt zur Zeile n der Datei.
  +
• :$ - Springt zum Ende der Datei.
  +
• 0 - Springt zum Anfang der Zeile.
  +
• ^ - Springt zum ersten Zeichen welches kein Leerzeichen ist.
  +
• $ - Springt zum Ende der Zeile.
  +
• RETURN - Springt zum Anfang der nächsten Zeile.
  +
• % - Zeigt die zugehörige Klammer.
  +
• G - Springt zu letzten Zeile.
  +
• H - Springt zu erste Zeile im aktuellen Fenster.
  +
• L - Springt zu letzten Zeile im aktuellen Fenster.
  +
• M - Springt in die Mitte des aktuellen Fensters.
  +
• - - Springt zum ersten Nicht-Leerzeichen der vorhergehenden Zeile.
  +
• + - Springt zum ersten Nicht-Leerzeichen der nächsten Zeile.
  +
• j - Springt zur nächsten Zeile, in der gleichen Spalte.
  +
• k - Springt zur vorhergehenden Zeile, in der gleichen Spalte.
  +
• h - ein Zeichen nach rechts.
  +
• l - ein Zeichen nach links.
  +
• w - ein Wort vorwärts.
  +
• b - ein Wort rückwärts.
  +
• e - zum Ende des Wortes.
  +
• ) - zum nächsten Satz.
  +
• ( - zum vorhergehenden Satz.
  +
• } - zum nächsten Absatz.
  +
• { - zum vorhergehenden Absatz.
  +
3.19.1.5. Löschen
  +
• x - Löscht das Zeichen unter dem Cursor.
  +
• X - Löscht das Zeichen vor dem Cursor.
  +
• D - Löscht alles bis zum Ende der Zeile.
  +
• ^d - Löscht alles bis zum Anfang der Zeile.
  +
• dd - Löscht die gesamte Zeile.
  +
• ndd - Löscht n Zeilen.
  +
122
  +
Kapitel 3. Betrieb
  +
• dnw - Löscht n Wörter ab der Cursorposition.
  +
3.19.1.6. Einfügen und ändern
  +
• i - aktiviert den Eingabemodus vor dem Cursor.
  +
• I - aktiviert den Eingabemodus vor dem ersten Nicht-Leerzeichen.
  +
• a - aktiviert den Eingabemodus nach dem Cursor.
  +
• A - aktiviert den Eingabemodus nach dem Ende der Zeile.
  +
• o - beginnt eine neue Zeile nach der aktuellen Zeile und aktiviert den Eingabemodus.
  +
• O - beginnt eine neue Zeile über der aktuellen Zeile und aktiviert den Eingabemodus.
  +
• rn - ersetzt das Zeichen unter dem Cursor durch das Zeichen n, der Eingabemodus wird nicht aktiviert.
  +
• R - aktiviert den Eingabemodus, Zeichen werden überschrieben.
  +
• C - Ändert den Text bis zum Zeilenende.
  +
• D - Löscht den Text bis zum Zeilenende.
  +
• s - ersetzt Zeichen.
  +
• S - ersetzt Zeilen.
  +
• J - ersetzt Zeilen.
  +
3.19.1.7. Kopieren und einfügen
  +
• y - kopiert die aktuelle Zeile.
  +
• nyy - kopiert n Zeilen.
  +
• p - fügt die kopierten Zeilen nach der aktuellen Zeile ein.
  +
• P - fügt die kopierten Zeilen vor der aktuellen Zeile ein.
  +
Auch gelöschte Zeilen können mit den aufgeführten Kommandos eingefügt werden.
  +
3.19.1.8. Suchen und ersetzen
  +
• /text - sucht vorwärts nach text.
  +
• ?text - sucht rückwärts nach text.
  +
• n - sucht nochmal in der gleichen Richtung.
  +
• N - sucht nochmal in der umgekehrten Richtung.
  +
• [ addr ] s/from/to/ [ g ] - ersetzt einmalig from durch to. Mit addr kann ein Bereich angegeben
  +
werden in dem die Aktion durchgeführt werden soll. Die Zeilennummern sind durch ein Komma zu trennen.
  +
g führt die Aktion an jeder gefundenen Stelle durch. Beispiel: :2,10s/a/b/g ersetzt in den Zeilen von 2 bis
  +
10 alle Buchstaben a durch b.
  +
123
  +
Kapitel 3. Betrieb
  +
3.19.1.9. Verschiedenes
  +
• u - Undo, wiederruft die letzte Änderung.
  +
• U - Stellt die aktuelle Zeile wieder her.
  +
• ~ - Ändert Groß-/Kleinschreibung.
  +
• . - Wiederholt das letzte Kommando.
  +
Tip: Unter DOS/Windows erstellte Dateien erscheinen unter GNU/Linux häufig mit doppelten
  +
Zeilenendezeichen, da auf diesen Systemen eine Kombination aus CR+LF verwendet wird. CR (Carriage
  +
Return) hat den ASCII-Code 13, LF (Line Feed) den ASCII-Code 10.
  +
Um diese Dateien zu konvertieren gibt es verschiedene Lösungsansätze, im vi benutzt man das Kommando
  +
:se ff=unix. Sollten noch überflüssige RETURN-Zeichen (^M) am Zeilenende auftauchen, so lassen sich
  +
diese mittels :1,$s/^M//g entfernen. Dabei muß man das ^M durch Drücken von STRG-V, gefolgt von
  +
STRG-M, eingeben. STRG-V dient dazu, die nachfolgend gedrückte Taste(nkombination) direkt in den Text
  +
zu übernehmen.
  +
3.20. Dateisysteme
  +
Als Dateisystem bezeichnet man auf einem Debian GNU/Linux (und auf allen anderen Unix-Systemen) den
  +
kompletten Verzeichnisbaum ab dem „root-“Verzeichnis /. Als Dateisystem wird aber auch die
  +
Organisationsform der Daten auf einem Medium (Festplatte, Diskette) bezeichnet, die von Betriebssystem zu
  +
Betriebssystem unterschiedlich ist.
  +
Jedes physikalische Gerät, auf dem Sie Daten speichern wollen, müssen Sie zunächst mit einem Dateisystem
  +
versehen. Wenn Sie verschiedene Partitionen auf einem Medium erstellen, kann jede dieser Partitionen mit
  +
einem anderen Dateisystemtyp versehen werden. Jedes Betriebssystem verwendet mindestens einen eigenen
  +
Dateisystemtyp, viele verwenden auch mehrere oder können mit verschiedenen Typen umgehen.
  +
Häufig sind im Debian GNU/Linux-Umfeld Kombinationen aus Linux und Windows-Dateisystemen
  +
anzutreffen. Debian GNU/Linux kann mit einer großen Zahl von Dateisystemen umgehen, Sie können somit
  +
sehr einfach Ihre Daten von anderen Betriebssystemen auf Ihr Debian GNU/Linux-System übernehmen.
  +
3.20.1. cfdisk und mount - Einbinden eines Dateisystems
  +
Unter Debian GNU/Linux gibt nur einen einzigen Verzeichnisbaum (beginnend mit /). In diesem sind, als
  +
Unterverzeichnisse, alle physikalischen Geräte zu finden. Es werden keine Buchstaben zu Identifikation der
  +
Geräte benutzt.
  +
Mit Ausnahme des Root-Dateisystems (/, welches beim Systemstart automatisch angemeldet wird) müssen Sie
  +
alle weiteren Dateisysteme erst einmal in das System einbinden. Dabei kann, wie bereits beschrieben, jedes
  +
physikalische Gerät über mehrere Partitionen verfügen. Jedes dieser Dateisysteme wird im System in einem
  +
Verzeichnis (dem sogenannten „mount-point“) „eingehängt“. Das ist so einfach, wie es sich anhört, Sie können
  +
einen Mountpoint mit dem Kommando mkdir erzeugen und an dieser Stelle im Dateisystem das Medium
  +
einhängen.
  +
Um dem System weitere Dateisysteme hinzuzufügen (dies können Sie im Normalfall nur als Superuser tun),
  +
dient das Kommando mount. Bei der Installation von Debian GNU/Linux von CD-ROM wurde das
  +
Dateisystem (/cdrom) bereits benutzt und vom Installationsprogramm ins System eingebunden. Hierbei wurde
  +
ein Link von dem entsprechenden Device auf das neue Device: /dev/cdrom angelegt. Sie müssen sich somit
  +
nicht das Device Ihres CD-ROMs merken (oder herausfinden), sondern können diesen Link benutzen. Weiterhin
  +
wurde bei der Installation das Verzeichnis /cdrom angelegt. Sie können nun eine eingelegte CD sehr leicht mit
  +
dem Kommando mount /dev/cdrom /cdrom „mounten“.
  +
124
  +
Kapitel 3. Betrieb
  +
Der Mount-Point kann anstelle von /cdrom jedes andere, beliebige Verzeichnis sein. Beachten Sie jedoch, daß
  +
Verzeichnisse, an deren Stelle Sie ein Dateisystem mounten möchten, keine weiteren Dateien enthalten sollten.
  +
Das Mounten eines Dateisystems funktioniert auch, wenn sich bereits Dateien in dem Verzeichnis befinden, Sie
  +
können lediglich nicht mehr auf diese Dateien zugreifen. Die Dateien werden nicht gelöscht, sie werden
  +
praktisch von dem gemounteten Dateisystem „überlagert“.
  +
In der Praxis reicht dieses Wissen jedoch nicht lange aus. Sicher werden Sie irgendwann den Wunsch haben,
  +
den Festplattenplatz Ihres Systems zu erweitern. Der erste Schritt ist natürlich der mechanische Einbau der
  +
Festplatte. Schon hierbei (eigentlich schon beim Kauf der Platte) müssen Sie sich für den Anschluß an einem
  +
der beiden IDE-Busse oder am SCSI-Hostadapter entscheiden.
  +
Bei einem IDE-System notieren Sie sich, ob Sie die Platte am ersten (primary) oder am zweiten (secondary)
  +
Bus und ob die Platte als erste ( Master) oder zweite ( Slave) am jeweiligen Bus betrieben wird.
  +
Am SCSI-Bus notieren Sie sich die ID der Platte und kontrollieren ob, und wenn ja mit welcher ID, noch
  +
weitere Geräte angeschlossen sind. Beachten Sie hierbei auch externe Geräte!
  +
Im nächsten Schritt müssen Sie mindestens eine Partition auf der neuen Platte anlegen. Diese kann den
  +
gesamten Festplattenplatz in Anspruch nehmen, Sie können aber auch mehrere, kleine Partitionen anlegen.
  +
Unter Debian GNU/Linux haben Sie die Auswahl zwischen zwei Programmen: fdisk und cfdisk. Wir
  +
werden im folgenden cfdisk, aufgrund der ansprechenderen Oberfläche, vorstellen.
  +
Ermitteln Sie zunächst das entsprechende Device für die neue Festplatte, mit Hilfe der zuvor notierten Daten.
  +
Für IDE-Laufwerke ist die Bezeichnung folgende:
  +
• /dev/hda - Master am primären Bus
  +
• /dev/hdb - Slave am primären Bus
  +
• /dev/hdc - Master am sekundären Bus
  +
• /dev/hdd - Slave am sekundären Bus
  +
Dabei ist unerheblich, ob es sich um eine Festplatte oder ein CD-ROM handelt.
  +
Bei SCSI-Laufwerken ist die Bestimmung etwas anders. Zunächst ist zu beachten, daß zwischen Festplatten,
  +
CD-ROMs/CD-Brennern und anderen Geräten unterschieden wird. Die Gerätedateien für SCSI-Festplatten
  +
werden mit /dev/sdX bezeichnet, wobei X für einen Buchstaben steht, angefangen bei a und dann aufsteigend
  +
nach SCSI-ID zugeordnet. Hier ein denkbares Beispiel:
  +
• /dev/sda – SCSI-Platte mit der kleinsten ID (z.B.: 0)
  +
• /dev/sdb – SCSI-Platte mit der mittleren ID (z.B.: 2)
  +
• /dev/sdc – SCSI-Platte mit der größten ID (z.B.: 3)
  +
SCSI CD-ROMs oder CD-Brenner werden ähnlich bezeichnet. Die Gerätedatei wird als /dev/scdX
  +
bezeichnet, hier steht X für eine Zahl, beginnend bei 0. Beispielsweise:
  +
• /dev/scd0 - SCSI CD-ROM/Brenner (z.B. ID: 3)
  +
• /dev/scd1 - SCSI CD-ROM/Brenner (z.B. ID: 5)
  +
Natürlich müssen/können Sie auf einer CD-ROM kein Dateisystem anlegen, dies sollte hier nur der
  +
Anschauung dienen.
  +
Nachdem Sie nun das Ihrer Platte entsprechende Device bestimmt haben, können Sie cfdisk mit dem
  +
entsprechenden Device als Option starten, beispielsweise: cfdisk /dev/hdb. Bei einer neuen Festplatte
  +
werden nach dem Programmstart keinerlei Partitionen angezeigt. In diesem Beispiel, mit einer 16GB-Festplatte,
  +
wurde eine einzige Partition mit einem Linux Extended 2 (ext2-) Dateisystem angelegt.
  +
125
  +
Kapitel 3. Betrieb
  +
Abbildung 3-1. cfdisk
  +
Die erste Partition wird als /dev/hdb1 angelegt, eine zweite würde /dev/hdb2 genannt werden und so
  +
weiter...
  +
Sie können sich innerhalb von cfdisk mit den Cursortasten bewegen und mit der RETURN-Taste den
  +
ausgewählten Menüpunkt auswählen.
  +
Wenn Sie alle gewünschten Partitionen, oder auch nur eine einzige, angelegt haben, können Sie nun das
  +
eigentliche Dateisystem auf der Partition erzeugen. Hierzu steht Ihnen unter Debian GNU/Linux das
  +
Kommando mke2fs zu Verfügung. Auch diesem Kommando müssen Sie natürlich wieder angeben, welche
  +
Festplatte und vor allem auch welche Partition Sie mit dem Dateisystem beschreiben wollen. Für unser Beispiel
  +
beginnen wir mit der ersten Partition auf unserer Platte, also dem Device /dev/hdb1:
  +
sushi:~# mke2fs /dev/hdc1
  +
mke2fs 1.15, 18-Jul-1999 for EXT2 FS 0.5b, 95/08/09
  +
Filesystem label=
  +
OS type: Linux
  +
Block size=4096 (log=2)
  +
Fragment size=4096 (log=2)
  +
128256 inodes, 256032 blocks
  +
12801 blocks (5.00%) reserved for the super user
  +
First data block=0
  +
8 block groups
  +
32768 blocks per group, 32768 fragments per group
  +
16032 inodes per group
  +
Superblock backups stored on blocks:
  +
32768, 98304, 163840, 229376
  +
Writing inode tables: done
  +
Writing superblocks and filesystem accounting information: done
  +
126
  +
Kapitel 3. Betrieb
  +
Die bei Ihnen angezeigten Werte werden, je nach verwendeter Platte, von den hier gezeigten abweichen. (Gute
  +
Beobachter werden bemerken, daß in diesem Beispiel nicht die 16GB-Platte formatiert wurde, diese stand leider
  +
nicht zur Verfügung...)
  +
Nun können Sie die frisch formatierte Partition zu Ihrem Dateisystem hinzufügen: mount /dev/hdb1 /mnt
  +
und mit dem Kommando df überprüfen, ob nichts schiefgelaufen ist.
  +
Die Ausgabe könnte auf einem System mit mehreren Festplatten wie folgt aussehen:
  +
sushi:~# df
  +
Filesystem 1k-blocks Used Available Use% Mounted on
  +
/dev/hda1 5767132 4352356 1121804 80% /
  +
/dev/hdb1 16247612 14355348 1066928 94% /home/ftp
  +
/dev/hdc1 24597980 21574360 1774080 93% /home/ftp/debian
  +
/dev/hda2 18263244 15157492 2178016 88% /home/ftp/images
  +
In dieser Auflistung sollten Sie dann auch die neu eingebundene Festplattenpartition finden.
  +
3.20.2. /etc/fstab - Dateisysteme automatisch einbinden
  +
Vielleicht werden Sie nach einem Neustart des Systems bemerkt haben, daß die neu eingebundene Festplatte
  +
nicht automatisch ins System eingebunden wird. Wenn Sie möchten, daß bestimmte andere Partitionen
  +
zusätzlich zu / (root) ins System eingebunden werden, so müssen Sie diese in die Datei /etc/ fstab (für:
  +
„file system table“) aufnehmen. Weiterhin ist es sinnvoll, dort auch Dateisysteme einzutragen, die zwar nicht
  +
automatisch gemountet werden sollen, auf die Sie aber trotzdem schnellen Zugriff haben möchten,
  +
beispielsweise CD-ROMs, die öfter gewechselt werden.
  +
Nach der Basisinstallation von Debian GNU/Linux sind bereits einige Einträge in der Datei /etc/fstab
  +
vorhanden:
  +
# /etc/fstab: static file system information.
  +
#
  +
# <file system> <mount point> <type> <options> <dump > <pass>
  +
/dev/hda1 / ext2 defaults 0 1
  +
/dev/hda2 none swap sw 0 0
  +
proc /proc proc defaults 0 0
  +
Bei der Installation wurden (mindestens) das Root-Dateisystem (/) sowie eine Swap-Partition angelegt. Der
  +
dritte Eintrag dient dem „virtuellen“ Verzeichnis /proc, welches zur Laufzeit des Systems diverse
  +
Informationen zum System und zur Hardware enthält. Dieses verbraucht keinen Festplattenplatz.
  +
Die erste Spalte beschreibt das Device und die zu mountende Partition. Die zweite Spalte verweist auf das
  +
Verzeichnis im Dateisystem, an der die Partition eingebunden werden soll. Beachten Sie, daß dieses Feld bei
  +
einer Swap-Partition mit dem Text „none“ anstatt eines Verzeichnisses gefüllt wird. Die dritte Spalte beschreibt
  +
den Typ des Dateisystems. Eine Beschreibung der weiteren Spalten finden Sie weiter unten, übernehmen Sie die
  +
Werte erst einmal wie gezeigt.
  +
Um die im vorigen Abschnitt beschriebene Festplatte /dev/hdc automatisch ins System einzubinden,
  +
erweitern Sie die Datei um folgenden Eintrag:
  +
/dev/hdc1 /mnt ext2 defaults 0 2
  +
Weitere nützliche Einträge sind folgende:
  +
/dev/hdc /cdrom iso9660 ro 0 0
  +
/dev/fd0 /floppy auto noauto,sync 0 0
  +
Der erste Eintrag ermöglicht es Ihnen, eine CD-ROM einfach mit dem Kommando mount /cdrom anstatt
  +
mount /dev/cdrom /cdrom einzubinden. Gleiches gilt für die zweite Zeile, diesmal aber für das
  +
Diskettenlaufwerk. Um mit DOS-formatierten Disketten umzugehen, sehen Sie sich das Paket mtools an.
  +
127
  +
Kapitel 3. Betrieb
  +
3.20.2.1. /etc/fstab - im Detail
  +
Wie Sie schon gesehen haben, sind die Einträge in der Datei /etc/fstab in tabellarischer Form angeordnet:
  +
# /etc/fstab: static file system information.
  +
#
  +
# <file system> <mount point> <type> <options> <dump > <pass>
  +
/dev/hda1 / ext2 defaults 0 1
  +
/dev/hda2 none swap sw 0 0
  +
proc /proc proc defaults 0 0
  +
Zeilen, die mit einem Kommentar (# - „Gartenzaun“) beginnen, können Sie ignorieren, das System tut dies auch.
  +
Mit den ersten drei Spalten haben wir uns ja schon kurz beschäftigt, diese enthalten die Einträge für die
  +
Partition, den Mount-Punkt und den Dateisystemtyp. Die letzten drei Spalten bedürfen einiger Erklärungen.
  +
Die fünfte Spalte wird von dem Programm dump benutzt um festzustellen, wann diese Partition gesichert
  +
werden soll. dump und restore dienen zur Sicherung von Daten.
  +
Die sechste Spalte wird beim Systemstart von dem Programm fsck ausgewertet. Damit wird festgestellt, in
  +
welcher Reihenfolge die Dateisysteme beim Systemstart geprüft werden sollen. Die Root-Partition (/) sollte
  +
hier den Wert 1 erhalten. Dateisysteme, die nicht überprüft werden sollen, wie zum Beispiel swap oder
  +
CD-ROMs, bekommen den Wert 0, alle anderen Dateisysteme bekommen eine 2.
  +
Nein, das ist kein Fehler im Text... zur vierten Spalte kommen wir jetzt. Diese bedarf einiger Erklärungen. Die
  +
Einträge in der vierten Spalte werden beim Mounten des Dateisystems benutzt. Sie können hier einen (im
  +
einfachsten Fall den Text: default) oder mehrere Werte angeben.
  +
• async oder sync - Stellt die Datenübertragung (I/O) auf synchronen oder asynchronen Modus. Im
  +
synchronen Modus werden alle veränderten Daten sofort auf das Medium geschrieben, der asynchrone
  +
Modus speichert diese zwischen und schreibt später auf das Medium.
  +
• ro oder rw - Mountet das Dateisystem zum „Nur-lesen“ (ro - read-only) oder zum Lesen und Schreiben (rw -
  +
read-write). Wenn Sie keine Änderungen an einem Dateisystem vornehmen wollen, so können sie dieses „ro“
  +
mounten, um versehentliche Änderungen zu verhindern. Ebenso ist dieser Modus für CD-ROMs geeignet.
  +
• auto oder noauto - Beim Systemstart oder wenn Sie das Kommando mount -a benutzen, werden alle
  +
Dateisysteme gemountet, welche Sie mit dem Eintrag auto versehen haben. Dateisysteme, die nicht
  +
dauerhaft zur Verfügung stehen, wie zum Beispiel Disketten oder CD-ROMs, sollten den Eintrag noauto
  +
bekommen. Sie verhindern so eine Fehlermeldung beim Systemstart, müssen diese Dateisysteme allerdings
  +
dann von Hand einbinden.
  +
• dev oder nodev - nodev ignoriert die Gerätedateien auf dem gemounteten Dateisystem.
  +
• user oder nouser - Normalerweise können Dateisysteme nur vom Superuser (root) in das System
  +
eingebunden werden. Mit dem Wert user erlauben Sie auch normalern Benutzern das Mounten von
  +
Dateisystemen. Sie können so beispielsweise den Zugriff auf das Diskettenlaufwerk oder das CD-ROM für
  +
alle Benutzer erlauben.
  +
• exec oder noexec - Erlaubt oder verbietet das Ausführen von Programmen, die sich auf diesem Dateisystem
  +
befinden.
  +
• suid oder nosuid - Wertet das Suid-Bit aus oder nicht.
  +
• defaults - Der eigentlich wichtigste Wert, den dieses Feld annehmen kann. Aktiviert die Optionen: rw,
  +
dev, suid, exec, auto, nouser, async. Sie können einzelne Werte mit weiteren Parametern
  +
überschreiben.
  +
128
  +
Kapitel 3. Betrieb
  +
3.21. Internationalisierung und Lokalisierung
  +
Die im Debian Projekt eingesetzte Software ist in weiten Bereichen bereits auf die Belange der
  +
nicht-englischsprachigen Benutzer angepasst. Diese Aufgabe ist für die Entwickler und Übersetzer nicht leicht
  +
zu bewerkstelligen da in den seltensten Fällen eine wörtliche Übersetzung ausreichen würde. In den
  +
Programmmenüs könnte man die meisten Ergebnisse noch akzeptieren, die Übersetzung der Onlinehilfe, der
  +
manpages und der Dokumentation stellt aber eine echte Herausforderung dar.
  +
Ein Vorteil den die Freie Software in diesem Bereich ausspielen kann ist aber sicher die weltweit verteilte
  +
Entwicklung. Hierdurch wird es jedem Benutzer, auch Nicht-Programmierern, ermöglich an
  +
Entwicklungsprojekten teilzunehmen.
  +
Doch wie benutzt man nun die bereits übersetzten Programme? Die Steuerung der gewünschten Sprache erfolgt
  +
über eine Umgebungsvariable. Wenn Sie nach der Installation keine Veränderungen an Ihrem System
  +
vorgenommen haben, so sollte die Variable LANG den Wert C haben, somit wird die Sprache Englisch
  +
verwendet. Sie können den Wert der Variablen mit dem Kommando echo auf der Kommandozeile prüfen.
  +
fr@sushi:~$ echo $LANG
  +
C
  +
Das Verhalten läßt sich recht gut an weit verbreiteten Kommandos prüfen, bei denen man davon ausgehen kann
  +
das bereits eine Übersetzung in viele Sprachen existiert. Das Kommando ls ist recht gut geeignet.
  +
fr@sushi:~$ ls --help
  +
Usage: ls [OPTION]... [FILE]...
  +
List information about the FILEs (the current directory by default).
  +
Sort entries alphabetically if none of -cftuSUX nor --sort.
  +
-a, --all do not hide entries starting with .
  +
...
  +
Das war zu erwarten und sollte soweit bekannt sein... Setzen Sie nun die Variable auf einen anderen Wert, da Sie
  +
dieses Buch lesen wird Sie vielleicht die deutsche Sprache interessieren.
  +
fr@sushi:~$ export LANG=de_DE
  +
fr@sushi:~$ ls --help
  +
Benutzung: ls [OPTION]... [DATEI]...
  +
Auflistung von Informationen der DATEIen (Standardvorgabe ist das momentante
  +
Verzeichnis). Alphabetsches Sortieren der Einträge, falls weder -cftuSUX
  +
noch --sort angegeben.
  +
-a, --all Einträge, die mit . beginnen, nicht verstecken.
  +
...
  +
Diese Einstellungen sind in dieser Form lediglich für die aktuelle Shell gültig. Wenn die Spracheinstellungen
  +
für das gesammte System geändert werden sollen, so können die Veränderungen in den Konfigurationsdateien
  +
im Verzeichnis /etc vorgenommen werden. Eleganter ist es aber die Debian Werkzeuge für diese Aktionen zu
  +
benutzen.
  +
Das Paket locales enthält zunächst die notwendigen Dateien um verschiedene Sprachen auf einem Debian
  +
System nutzen zu können. Diese nehmen relativ viel Platz auf der Festplatte ein, normalerweise werden auf
  +
einem System nur die wenigsten der enthaltenen Sprachen benötigt. Wenn das Paket localepurge installiert
  +
wird, so wird regelmässig geprüft welche dieser Dateien wirklich benötigt werden, alle anderen werden
  +
gelöscht.
  +
Während der Installation des Paketes locales wird die Konfiguration des Paketes vorgenommen, nachträglich
  +
kann dies mittels dpkg-reconfigure locales geschehen.
  +
129
  +
Kapitel 3. Betrieb
  +
Abbildung 3-2. Locales Konfiguration
  +
Zunächst sind die auf dem System gewünschten Sprachen und Zeichensätze zu wählen. Die hier gemachten
  +
Angaben werden in der Datei /etc/locale-gen gespeichert. Einträge in dieser Datei können auch von Hand
  +
vorgenommen werden, in diesem Fall ist nach der Änderung das Kommando locale-gen auszuführen. Im hier
  +
gezeigten Beispiel werden alle mit de_DE beginnenden Werte ausgewählt, insbesondere auch die Euro Variante.
  +
Die Benutzung des Euro Zeichens ist unter Debian GNU sehr einfach möglich, Informationen hierzu finden sich
  +
im Abschnitt Euro Symbol
  +
Abbildung 3-3. Locales Konfiguration
  +
130
  +
Kapitel 3. Betrieb
  +
Im nächsten Schritt kann nun, aus den eben gewählten Sprachen, die für das gesamte System gültige Sprache
  +
gewählt werden. Dieser Wert sollte nur auf einen anderen Wert wie „C“ gestellt werden wenn Sie sicher sind
  +
das dies keinen Einfluss auf wichtige Funktionen hat. Sind beispielsweise Scripte zur Systemadministration
  +
geschrieben worden die Ausgaben von Programmen auswerten, so kann es nun passieren das diese Ausgaben in
  +
einer anderen Sprache erscheinen. Das Script kann diese Ausgaben nun nicht mehr korrekt auswerten. In
  +
diesem Fall wird die Einstellung besser auf dem Wert „C“ belassen.
  +
Tip: Scripte sollte immer selbst dafür sorgen das alle Umgebungsvariablen richtig gesetzt sind. Um die
  +
Spracheinstellungen zu setzten kann in jedes Script die Zeile export LANG=C eingefügt werden.
  +
131
  +
Kapitel 4. Installation weiterer Pakete
  +
Um weitere Pakete auf einem Debian GNU/Linux-System zu installieren, stehen mehrere Programme zur
  +
Verfügung. dselect ist das älteste von diesen. dselect stellt ein überaus mächtiges Programm mit vielen
  +
Möglichkeiten und allen Freiheiten dar. Dies hat aber leider nicht bei allen Anwendern (gerade bei Einsteigern)
  +
zur Beliebtheit beigetragen. dselect verfügt über eine sehr ausführliche Online-Hilfe, aber mal ehrlich: wer
  +
liest so etwas schon... Aber wer über einige wenige Kenntnisse von dselect verfügt, wird sehen, daß alles
  +
ganz einfach ist, und die Mächtigkeit dieses Werkzeuges schnell zu schätzen wissen.
  +
Die nächste Generation der Debian GNU/Linux-Installationsprogramme stellt apt dar. Mit der Version 3.0 von
  +
Debian GNU/Linux ist die komplette Umstellung des Paketmanagements auf apt erfolgt.
  +
Unabhängig davon, welches Programm Sie zur Installation benutzen, Sie müssen in jedem Fall auswählen,
  +
welche Pakete Sie installieren möchten. Dies ist bei Debian GNU/Linux keine leichte Aufgabe, mittlerweile
  +
umfaßt die Distribution einige tausend Pakete! Um Ihnen die Auswahl zu erleichtern, wurden von den
  +
Entwicklern sogenannte „task“-Pakete zusammengestellt. Diese „Gruppierung“ von Paketen vereinfacht Ihnen
  +
die Auswahl. Wählen Sie beispielsweise das Paket task-gnome-desktop aus, so werden alle nötigen Pakete
  +
für einen GNOME Desktop ausgewählt und installiert. Weitere Informationen zu diesen Paketen finden Sie im
  +
Abschnitt task-Pakete.
  +
Programme wie apt-get oder gnome-apt oder auch das bereits erwähnte dselect können zum Auswählen
  +
und Installieren einzelner Pakete benutzt werden.
  +
Die Paketverwaltung unter Debian GNU/Linux stellt eines der Highlights dieser Distribution dar. Wir wollen
  +
hier nicht auf jedes Detail eingehen, hier aber trotzdem ein paar Sätze zu den grundsätzlichen Vorgängen bei der
  +
Installation eines Paketes sagen.
  +
Jedes Programmpaket enthält in der Regel einige verschiedene Dateien, die zur Funktion dieses Programms
  +
benötigt werden. Hierzu gehören natürlich das Programm selber, die Bibliotheken, Dateien mit Daten wie zum
  +
Beispiel Grafiken für Spiele, die Anleitung (man-pages) usw. Bei der Installation eines Programms muß
  +
sichergestellt sein, daß alle Dateien am richtigen Platz im Verzeichnisbaum installiert werden.
  +
Wenn Sie später ein Programm wieder von Ihrem System entfernen wollen, ist es ebenfalls wichtig zu wissen,
  +
welche Dateien zu einem Programm gehören und wo sie sich befinden. Weiterhin ist festzustellen, ob Dateien
  +
installiert wurden, die mittlerweile von anderen Programmen benutzt werden. In diesem Fall darf das Paket
  +
unter Umständen nicht entfernt werden.
  +
Ebenso kann der Fall eintreten, daß ein Programm auf den neuesten Stand gebracht werden soll. Bei diesem
  +
Vorgang werden Dateien aktualisiert und eventuell auch einige Dateien gelöscht, die von der neuen Version
  +
nicht mehr benötigt werden. Auch dies muß so durchgeführt werden, daß nicht andere Programme danach nicht
  +
mehr funktionsfähig sind.
  +
Das Debian GNU/Linux-Paketsystem wacht über alle diese Vorgänge und hält Ihr System immer in einem
  +
benutzbaren Zustand.
  +
4.1. Organisation der Pakete
  +
Debian GNU/Linux organisiert die Pakete in einer festgelegten Hierarchie. Unter anderem werden Bereiche mit
  +
allgemeiner, freier Software (main), die den DFSG ( Debian Free Software Guidelines - Die Debian-Richtlinien
  +
für freie Software) entspricht, und Bereiche mit Software, die nicht unter solchen freien Lizenzen steht
  +
(non-free), unterschieden. Die nächste Ebene beschreibt die Architektur, also die Prozessorfamilie, auf der die
  +
Binärpakete laufen. Auch die Sourcen (Quellcodes) zu den Paketen sind in dieser Ebene angesiedelt. In der
  +
letzten Ebene finden sich diverse Verzeichnisse, in denen die eigentlichen Pakete zu Gruppen, wie zum Beispiel
  +
„Games“ oder „X11“, zusammengefaßt werden.
  +
Hier nun eine Übersicht der verschiedenen Ebenen.
  +
4.1.1. Distribution
  +
Die sogenannten „Distributionen“ innerhalb der gesamten Debian GNU/Linux Distribution bezeichnen
  +
verschiedene Bereiche, die sich durch die Lizenzen, unter denen die Pakete die in diesen Bereichen stehen,
  +
132
  +
Kapitel 4. Installation weiterer Pakete
  +
unterscheiden.
  +
• Main - Dies ist der Hauptbestandteil von Debian. Diese Pakete sind unter einem Copyright veröffentlicht, das
  +
eine freie Weiterverteilung ermöglicht, und enthalten den vollständigen Quellcode.
  +
• Contrib - Die Pakete in diesem Verzeichnis sind für sich frei, jedoch benötigen sie nichtfreie (Non-Free)
  +
Software oder Bibliotheken (z.B. Motif oder Qt), um zu funktionieren. Sie können daher nicht in den Bereich
  +
„main“ von Debian GNU/Linux einfließen.
  +
• Non-Free - Pakete in diesem Verzeichnis müssen nicht unbedingt Geld kosten, jedoch haben sie einige
  +
Bedingungen, die eine Weiterverteilung der Software einschränken. Beispielsweise kann ein Autor die
  +
Verbreitung der Software auf CD-ROM untersagen.
  +
• Non-US - Diese Pakete dürfen nicht aus den USA exportiert werden, es handelt sich meist um
  +
Verschlüsselungssoftware. Einige sind, aufgrund der Lizenzen, ebenfalls nichtfreie Software.
  +
4.1.2. Architektur
  +
Hier eine Übersicht der von Debian GNU/Linux unterstützten beziehungsweise in der Entwicklung befindlichen
  +
Architekturen. Nicht alle hier vorgestellten Architekturen wurden mit den Debian GNU/Linux-Versionen 2.1
  +
oder 2.2 „released“, sprich freigegeben. Bitte beachten Sie auch, daß nicht alle auf CD-ROM im Handel
  +
erhältlich sind. Am einfachsten sind CDs für die i386-Architektur zu bekommen. Einen „normalen PC“ hat
  +
einfach fast jeder.
  +
• Intel x86 (i386)
  +
Die erste Architektur und nicht direkt eine Portierung. Mit dieser Architektur begann alles.
  +
• DEC Alpha (alpha)
  +
Der erste Release erfolgte mit Debian 2.1. Eine der länger bestehenden Portierungen und ziemlich stabil.
  +
• ARM (arm)
  +
Eine neue Portierungs-Bestrebung, motiviert durch Rebels (ehemals Corel) interessante-NetWinder
  +
Maschine.
  +
• Motorola 68k (m68k)
  +
Erster Release war mit Debian 2.0. Der am meisten etablierte Port nach dem Intel x86. Der Debian m68k Port
  +
läuft auf einer großen Bandbreite von Computern, die auf der Motorola 68k-Prozessorfamilie basieren - im
  +
besonderen die Sun3-Workstationfamilie, die Apple Macintosh Personal-Computer und die Atari und Amiga
  +
Personal-Computer, aber auch einigen aus dem Industriebereich stammenden VME-Bus Boards.
  +
• MIPS
  +
Es wurde schon etwas an der Portierung von Debian auf die MIPS-Architektur, die u.a. in SGI-Computern
  +
verwendet wird, gearbeitet. Wenn Sie eine SGI besitzen und daran interessiert sind, die Portierung voran zu
  +
bringen, senden Sie eine E-Mail an debian-mips@lists.debian.org. Prozessoren der Firma MIPS
  +
finden sich aber auch in Rechnern der Firma DEC, der sogenannten DECStation-Familie.
  +
• Motorola/IBM PowerPC (powerpc)
  +
Diese Portierung läuft auf vielen Apple Macintosh PowerMac-Rechnern und kann auch auf den meisten
  +
Motorola-Computern laufen. Ältere Macintosh-Rechner benutzen die m68k-Prozessoren, diese werden nicht
  +
als PowerMac bezeichnet.
  +
133
  +
Kapitel 4. Installation weiterer Pakete
  +
• Sun SPARC (sparc)
  +
Zum ersten Mal mit Debian 2.1 veröffentlicht. Diese Portierung läuft sowohl auf der SPARCstation-Familie
  +
von Workstations als auch auf einem Teil ihrer Nachfolger in der Sun4-Architektur.
  +
• Sun UltraSPARC(sparc64)
  +
Dies ist auch der Beginn einer Portierung auf die Sun UltraSPARC (sun4u) Workstation-Familie. Dieser
  +
64bit-Prozessor hat den Vorteil der Rückwärts-Kompatibilität mit seinem Vorgänger, so daß die
  +
UltraSPARC-Portierung in der Lage sein wird, Sparc-Binärfiles auszuführen. Dieses Projekt braucht zur Zeit
  +
Entwickler. Wenn Sie einen UltraSPARC-basierenden Computer haben und helfen möchten, senden Sie bitte
  +
eine E-Mail an die Liste unter debian-ultralinux@lists.debian.org, um Ihre Mitarbeit anzubieten.
  +
• Debian GNU/Hurd (hurd-i386)
  +
GNU Hurd ist ein völlig neues Betriebssystem, das von der GNU-Gruppe aufgebaut wird. Hurd wird in der
  +
Debian Distribution den Linux-Kernel ersetzen, daher der Name Debian GNU/Hurd.
  +
• Debian Beowulf
  +
Obwohl nicht wirklich eine Portierung, so wird Beowulf doch ein Ersatz für viele Großrechner in Forschung
  +
und Entwicklung sein. Deshalb scheint hier der richtige Platz zu sein. Dieses Projekt arbeitet daran,
  +
Beowulf-Cluster unter Debian laufen zu lassen und ein Netzwerk der beteiligten Menschen ganz nach dem
  +
Bazar-Modell zu schaffen.
  +
4.1.3. Gruppen
  +
Innerhalb der hier vorgestellten Gruppen (als Verzeichnisse auf den CDs oder auf den FTP-Servern angelegt)
  +
finden Sie die eigentlichen Pakete.
  +
• Administration - Programme zur Systemadministration.
  +
• Base - Teile des Basissystems, wie zum Beispiel verschiedene Kernel.
  +
• Communication - Terminalprogramme usw. .
  +
• Development - Diverse Programmiersprachen, Compiler, Interpreters, C/C++ Header, usw.
  +
• Documentation - HOWTOs, FAQs und andere Dokumentation sowie Programme, um diese zu lesen.
  +
• Editors - Textverarbeitungen, Editoren für Programmierer.
  +
• Electronics - Simulatoren für elektronische Schaltungen usw.
  +
• Games - Spiele.
  +
• Graphics - Grafikprogramme.
  +
• Ham Radio - Programme für Amateurfunker.
  +
• Interpreters - Interpreter wie Perl, Python und Tcl/Tk.
  +
• Libraries - Bibliotheken, die von verschiedenen Programmen genutzt werden.
  +
• Mail - Alles rund um E-Mail. Mailserver, Mailprogramme usw.
  +
• Mathematics - Mathematische und wissenschaftliche Programme.
  +
• Miscellaneous - Diverses, was sonst nirgends hineinpaßt.
  +
• Network - Netzwerkserver und Clientprogramme.
  +
134
  +
Kapitel 4. Installation weiterer Pakete
  +
• Newsgroups - Software für öffentliche Diskussionsforen.
  +
• Old Libraries - ältere Versionen von Bibliotheken.
  +
• Other Operating Systems and File Systems - Zugriff auf andere Betriebs- oder Dateisysteme.
  +
• Shells - verschiedene Shells.
  +
• Sound - Alles für den guten Ton.
  +
• TeX - Donald Knuth’s Schriftsatzprogramm.
  +
• Text Processing - Werkzeuge zum Umgang mit Textdateien.
  +
• Utilities - verschiedene Werkzeuge.
  +
• - Programme für das WWW, Server und Clients.
  +
• X Window - X Servers, Window Managers und anderes.
  +
4.1.4. Das Debian-Paketformat - .deb
  +
Das Debian-Paketformat beinhaltet eine Vielzahl von Informationen zu jedem Paket um sicherzustellen, das
  +
sich jedes einzelne perfekt in das System integriert. Debian-Paketnamen enden immer mit .deb, somit können
  +
sie leicht von anderen Dateien oder von Paketen aus anderen Distributionen unterschieden werden. Das
  +
bekannteste Feature des Debian-Paketformates sind die Abhängigkeiten ( dependency) zwischen den Paketen.
  +
Abhängigkeiten zwischen den Paketen erlauben es zum Beispiel einzelnen Programmen, auf gemeinsame
  +
Bestandteile anderer Pakete zuzugreifen, meist sind dies Libraries ( Systembibliotheken). Dies verhindert ein
  +
unnötiges, doppeltes Installieren von Dateien, auf einem durchschnittlichen System kann so die Zahl der
  +
installierten Dateien deutlich reduziert werden.
  +
Betrachten wir uns zunächst einmal den einfachsten Fall: ein Paket benötigt zwingend ein zweites Paket, um zu
  +
funktionieren. Das Paket mail-crypt ist eine Erweiterung zu Emacs, um E-Mail mit PGP zu verschlüsseln.
  +
Wenn PGP nicht installiert ist, wird auch mail-crypt nicht funktionieren. Somit wurde vom Debian
  +
Paket-Betreuer (Maintainer) dem Paket die Abhängigkeit zu PGP mitgegeben. Ebenso bedingt mail-crypt die
  +
Installation von emacs, da es eine Erweiterung dazu ist, macht es keinen Sinn, dies alleine zu installieren.
  +
Weiterhin sind in den Paketbeschreibungen auch Konflikte zwischen den Paketen festgelegt. So ist es unter
  +
Debian GNU/Linux nicht möglich, zwei oder mehrere der Programme exim, smail, sendmail, postfix oder
  +
qmail zu installieren, da diese alle das virtuelle Paket mail delivery agent zur Verfügung stellen. Die
  +
Abhängigkeiten erlauben es, daß genau ein Programm, welches für den Mailtransport zuständig ist, installiert
  +
werden kann. Dann haben Sie aber die freie Auswahl zwischen den verfügbaren Paketen.
  +
Nun wäre es denkbar, daß ein Programm zum Erstellen von E-Mail (beispielsweise mutt), da es ja eine
  +
Möglichkeit benötigt, auch Mails auszuliefern, von smail abhängt. Damit würde man dem Benutzer von mutt
  +
vorschreiben, welchen MTA (Mail Transfer Agent) er zu benutzen hat. Debian GNU/Linux-Pakete gehen auch
  +
hier einen besonderen Weg. Von den Maintainern der Pakete wird zusätzlich ein „virtueller“ Name festgelegt.
  +
Die Programme exim, smail, sendmail und qmail beispielsweise verfügen noch über die Information, daß
  +
Sie einen „mail-transport-agent“ zur Verfügung stellen. Somit bleibt Ihnen die freie Auswahl zwischen einem
  +
dieser Programme.
  +
Das Debian-Paketsystem überwacht zu jeder Zeit alle diese Abhängigkeiten und sorgt dafür, daß Ihr System in
  +
einem sicheren, lauffähigen Zustand bleibt.
  +
4.2. dselect
  +
Im Laufe der Basisinstallation von Debian GNU/Linux konnten Sie aus einigen vorab zusammengestellten
  +
Konfigurationen ein System auswählen. Die ausgewählten Pakete wurden aber noch nicht installiert. Im
  +
folgenden wird die Bedienung von dselect beschrieben und die fehlenden Pakete installiert.
  +
Starten Sie nun das Programm dselect.
  +
135
  +
Kapitel 4. Installation weiterer Pakete
  +
Abbildung 4-1. dselect Startbild
  +
Wenn Sie dselect zum ersten Mal aufrufen, ist es unbedingt notwendig, die ersten vier Menüpunkte (Access,
  +
Update, Select und Install) genau in dieser Reihenfolge aufzurufen.
  +
4.2.1. Access
  +
Mit diesem Menüpunkt legen Sie fest, von welchem Medium Sie die weiteren Pakete installieren wollen. Sie
  +
finden hier auch einen Eintrag für das Programm apt, welches im nächsten Abschnitt beschrieben wird. Dieses
  +
sollte auch mit dselect die bevorzugte Installationsmethode sein.
  +
Abbildung 4-2. dselect - access
  +
136
  +
Kapitel 4. Installation weiterer Pakete
  +
Wenn Sie andere Installationsmethoden verwenden wollen, lesen Sie in der Dokumentation zu dselect nach,
  +
welche Schritte dazu notwendig sind.
  +
4.2.2. Update
  +
Update liest die Dateien mit den Paketinformationen ein und erstellt daraus eine Liste der verfügbaren Pakete.
  +
Wenn Sie mehrere CDs zur Verfügung haben, werden Sie aufgefordert, diese nacheinander einzulegen.
  +
4.2.3. Select
  +
Unter diesem Punkt können Sie weitere Pakete zur Installation auswählen. Sie bekommen zuerst eine kurze
  +
Hilfe angezeigt, die mit der SPACE-Taste verlassen werden kann. Sie können zu jeder Zeit mit der Taste ? ein
  +
Hilfe-Menü aufrufen. Debian GNU/Linux organisiert die Pakete nach verschiedenen Gruppen, wie zum
  +
Beispiel base oder x11. Sie können einzelne Pakete oder ganze Gruppen von Paketen mit der Taste +
  +
auswählen oder mit der Taste - von der Auswahl ausschliessen.
  +
Debian GNU/Linux umfaßt einige Pakete, die unbedingt zum reibungslosen Betrieb benötigt werden, zum
  +
Beispiel die bash oder login. Diese Pakete können natürlich nicht entfernt werden. Wenn diese Pakete fehlen
  +
würden, würde Ihr System unbenutzbar werden.
  +
Abbildung 4-3. dselect - select
  +
Debian GNU/Linux überprüft schon bei der Auswahl von Paketen die Abhängigkeiten zwischen den mit +
  +
markierten Paketen. Sollte es zu Problemen kommen, sei es weil Pakete sich im Betrieb stören würden oder
  +
weil ein anderes Paket unbedingt zur Installation des gewählten Paketes benötigt wird, so wird das
  +
Installationsprogramm Sie darauf hinweisen. Zwingend benötigte Pakete werden schon ausgewählt,
  +
überflüssige Pakete abgewählt. Weiterhin werden Ihnen auch Pakete zur Auswahl angeboten, deren Installation
  +
im Zusammenhang mit den ausgewählten Paketen sinnvoll ist.
  +
Sollten Sie einmal nicht mit dem Vorschlag des Installationsprogramms einverstanden sein, können Sie den
  +
Vorschlag des Programms mit der Taste R wieder rückgängig machen.
  +
Mit den Tasten o und I können Sie die Ansicht der Paketliste verändern. o Beeinflußt die Sortierung und
  +
blendet die Informationen zu den Gruppen ein oder aus, I verändert die Anzeige der Paketinformationen.
  +
Normalerweise wird der Bildschirm horizontal zur Hälfte geteilt, wobei in der oberen Hälfte die Paketliste und
  +
137
  +
Kapitel 4. Installation weiterer Pakete
  +
in der unteren Hälfte die Informationen zum gerade ausgewählten Paket zu sehen sind. I verändert die Länge
  +
der Paketinformationen oder blendet diese komplett aus.
  +
Wenn Sie ein bestimmtes Paket suchen, können Sie mit der Taste / eine Suchroutine aktivieren und einen
  +
Suchbegriff eingeben. Mit der Taste \ können Sie den gleichen Begriff noch einmal suchen.
  +
Wenn Sie Ihre Paketauswahl abgeschlossen haben, drücken Sie die Eingabetaste, und das
  +
Installationsprogramm überprüft noch einmal Ihre Auswahl auf eventuelle Konflikte oder Probleme. Sollten
  +
noch Konflikte bei der Auswahl auftreten, so wird Sie das Installationsprogramm darauf hinweisen. Sie können
  +
bei Konflikten auch wieder mit den Tasten + und - die Probleme beheben. Wenn Sie es trotz allem nicht
  +
schaffen, alle Konflikte zu beseitigen (was bei der Installation von Paketen aus dem Debian
  +
GNU/Linux-Entwicklungsbereich unstable passieren kann), so können Sie auch noch bestehende Konflikte
  +
mit der Taste Q akzeptieren und den Menüpunkt select verlassen. Dies sollte aber der Ausnahmefall sein.
  +
4.2.4. Install
  +
Mit diesem Menüpunkt können Sie die ausgewählten Pakete auf Ihrem System installieren. Je nach der
  +
Installationsmethode, die Sie unter Access gewählt haben, werden Sie aufgefordert, die passenden CDs
  +
einzulegen, oder die Pakete werden übers Netzwerk installiert oder von einer anderen Partition installiert... oder,
  +
oder, oder...
  +
Die Installation der meisten Pakete erfolgt ohne weitere Rückfragen. Bei einigen Paketen werden aber weitere
  +
Angaben benötigt, beispielsweise bei der Installation von exim, welches von Debian GNU/Linux zum
  +
Versenden von E-Mail verwendet wird. Auf die wichtigsten solcher Pakete werden wir in den weiteren Kapiteln
  +
eingehen, bitte sehen Sie in den entsprechenden Kapitel, nach (exim finden Sie im Kapitel „Internet“, Abschnitt
  +
„E-Mail“ beschrieben).
  +
4.2.5. Config
  +
Sie können diesen Menüpunkt auswählen, wenn es während der Installation von Paketen zu Problemen
  +
gekommen ist. Für alle bereits installierten, aber noch nicht konfigurierten Pakete wird die dazugehörige
  +
Konfigurationsroutine aufgerufen. Sie können dies aber auch jederzeit aus einer Shell heraus mit dgkp
  +
--pending --configure durchführen.
  +
4.2.6. Remove
  +
Hiermit können Sie Pakete, die Sie unter Select mit der Taste - zum Löschen markiert haben, von Ihrer
  +
Festplatte entfernen. Ein großer Vorteil von Debian GNU/Linux ist es, daß mit diesem Verfahren nur die
  +
Programme selber entfernt werden, alle Konfigurationsdateien verbleiben auf der Festplatte. Wenn Sie zu einem
  +
späteren Zeitpunkt ein Paket, welches Sie schon einmal installiert hatten, wieder installieren, so werden die
  +
noch vorhandenen Konfigurationsdateien verwendet.
  +
Wenn Sie ein Programm inklusive der Konfigurationsdateien von Ihrem System entfernen wollen, benutzen Sie
  +
den Befehl: dgpk --purge irgendeinpaket.
  +
4.2.7. Quit
  +
Dieser Menüpunkt stellt die höchsten Ansprüche an den Benutzer, wer möchte schon an dieser Stelle das
  +
Installationsprogramm beenden...? Also auf keinen Fall die Eingabetaste drücken, bevor die Festplatte gut
  +
gefüllt ist...
  +
4.2.8. Beispiel: boot-floppies
  +
Am Beispiel des Paketes boot-floppies wird nun exemplarisch die Installation von Software vorgestellt.
  +
boot-floppies dient zur Erstellung eigener Installationsdisketten für Debian GNU/Linux. Sie werden dieses
  +
Paket vielleicht nicht benötigen, es soll aber auch nur als Beispiel dienen, Sie können es später wieder entfernen.
  +
138
  +
Kapitel 4. Installation weiterer Pakete
  +
Starten Sie nun dselect (als Superuser), falls Sie es schon beendet haben. Wählen Sie nun den Punkt „Select“
  +
aus und suchen Sie das Paket boot-floppies. Markieren Sie das Paket mit der Taste + zur Installation. Der
  +
Entwickler dieses Pakets hat festgelegt, daß es ohne die folgenden Pakete nicht funktionieren wird:
  +
• libc6-pic
  +
• slang1-pic
  +
• sysutils
  +
• makedev (>= 1.6-15)
  +
• newt0.25
  +
• newt0.25-dev
  +
• popt
  +
• zlib1g
  +
• zlib1g-dev
  +
• recode
  +
• make
  +
• gettext
  +
• slice
  +
• m4
  +
• lynx (>= 2.6)
  +
• debiandoc-sgml (>= 1.1.10)
  +
• man-db
  +
• tetex-bin
  +
• tetex-extra
  +
Weiterhin empfiehlt er, daß die Pakete lynx (>= 2.6) und sgml-tools vorhanden sein sollten. Die Ziffern hinter
  +
den Namen sind die Versionsnummer, die das betreffende Paket erfüllen sollte.
  +
Wird das Boot-floppies-Paket nun mit dem Pluszeichen ausgewählt, so erscheint das folgende Fenster (in
  +
diesem Fall sind die Pakete libc6-dev und newt0.25 schon installiert):
  +
dselect - recursive package listing mark:+/=/- verbose:v help:?
  +
EIOM Pri Section Package Description
  +
_* Opt admin boot-floppie Scripts to create the Debian installation floppy
  +
_* Opt devel libc6-pic The GNU C library version 2 (PIC library)
  +
_* Opt devel slang1-pic The S-Lang programming library, shared library su
  +
_* Opt devel newt0.25-dev Developer’s toolkit for newt windowing library
  +
_* Opt devel popt C library for parsing command line parameters
  +
*** Std devel libc6-dev The GNU C library version 2 (development files).
  +
_* Opt devel slang1-dev The S-Lang programming library, development versi
  +
*** Opt base newt0.25 Not Erik’s Windowing Toolkit - text mode windowin
  +
Zur Erklärung steht dann im unteren Teil:
  +
boot-floppies depends on libc6-pic
  +
boot-floppies depends on slang1-pic
  +
boot-floppies depends on newt0.25-dev
  +
boot-floppies depends on popt
  +
Mit großem R kann der Ursprungszustand, also vor Eingabe des Pluszeichens, wieder hergestellt werden. Dies
  +
kann sinnvoll sein, wenn Sie versehentlich ein falsches Paket ausgewählt haben oder der Installationsvorgang
  +
andere, noch benötigte Pakete entfernen würde:
  +
139
  +
Kapitel 4. Installation weiterer Pakete
  +
dselect - recursive package listing mark:+/=/- verbose:v help:?
  +
EIOM Pri Section Package Description
  +
__ Opt admin boot-floppie Scripts to create the Debian installation floppy
  +
__ Opt devel libc6-pic The GNU C library version 2 (PIC library)
  +
__ Opt devel slang1-pic The S-Lang programming library, shared library su
  +
__ Opt devel newt0.25-dev Developer’s toolkit for newt windowing library
  +
__ Opt devel popt C library for parsing command line parameters
  +
*** Std devel libc6-dev The GNU C library version 2 (development files).
  +
__ Opt devel slang1-dev The S-Lang programming library, development versi
  +
*** Opt base newt0.25 Not Erik’s Windowing Toolkit - text mode windowin
  +
Mit großem D werden die Veränderungen, die dselect vorgenommen hat, wieder rückgängig gemacht:
  +
dselect - recursive package listing mark:+/=/- verbose:v help:?
  +
EIOM Pri Section Package Description
  +
_* Opt admin boot-floppie Scripts to create the Debian installation floppy
  +
__ Opt devel libc6-pic The GNU C library version 2 (PIC library)
  +
__ Opt devel libc6-pic The GNU C library version 2 (PIC library)
  +
__ Opt devel slang1-pic The S-Lang programming library, shared library su
  +
__ Opt devel newt0.25-dev Developer’s toolkit for newt windowing library
  +
__ Opt devel popt C library for parsing command line parameters
  +
*** Std devel libc6-dev The GNU C library version 2 (development files).
  +
__ Opt devel slang1-dev The S-Lang programming library, development versi
  +
*** Opt base newt0.25 Not Erik’s Windowing Toolkit - text mode windowin
  +
Mit dem großem U werden die Vorschläge von dselect wiederhergestellt:
  +
dselect - recursive package listing mark:+/=/- verbose:v help:?
  +
EIOM Pri Section Package Description
  +
_* Opt admin boot-floppie Scripts to create the Debian installation floppy
  +
_* Opt devel libc6-pic The GNU C library version 2 (PIC library)
  +
_* Opt devel slang1-pic The S-Lang programming library, shared library su
  +
*** Opt base newt0.25 Not Erik’s Windowing Toolkit - text mode windowin
  +
Sie können mit diesen Tasten also die Vorschläge von dselect für das aktuelle Paket akzeptieren oder auch
  +
rückgängig machen sowie individuelle Pakete, für die dselect Ihnen nur eine Installationsempfehlung gibt,
  +
ebenfalls installieren.
  +
Durch die mehrfache Eingabe des kleinen i können Informationen über das aktuelle Paket abgerufen werden.
  +
Nach der abschließenden Auswahl betätigen Sie die Return-Taste und gelangen dann zurück zum Hauptmenü.
  +
Sie können nun mit „Install“ die gewünschten Pakete installieren.
  +
Soweit zur Beschreibung von dselect. Dieses Programm wird in naher Zukunft von apt, beziehungsweise
  +
einem auf apt basierendem Programm, abgelöst werden. Im folgenden werden wir Ihnen diese Programme
  +
vorstellen.
  +
4.3. Apt
  +
Apt stellt die nächste Generation der Debian GNU/Linux-Paketverwaltung dar. Die „Backends“, also die
  +
Programme im Hintergrund, welche die eigentliche Arbeit verrichten, sind zum großen Teil fertiggestellt. Die
  +
„Frontends“, Programme mit einer Benutzeroberfläche, befinden sich noch in der Entwicklung.
  +
Zunächst werden wir Ihnen zeigen, wie Sie Apt konfigurieren und mit Hilfe der Kommandozeile Pakete
  +
verwalten. Später stellen wir Ihnen einige der Frontends zu Apt vor.
  +
140
  +
Kapitel 4. Installation weiterer Pakete
  +
4.3.1. Apt konfigurieren
  +
Wenn Sie Apt bereits über das Programm dselect als Installationsmethode benutzt haben, so haben Sie
  +
wahrscheinlich bereits Apt auf Ihre Bedürfnisse angepaßt. Hier noch einige weitergehende Informationen zu
  +
Apt:
  +
Apt steht für „A Package Tool“, ein Programm also, welches den Systemadministrator (also Sie :-) ) bei der
  +
Installation und Verwaltung von Programmen unterstützen soll. Der erste Schritt zur Benutzung von Apt ist die
  +
Anpassung der Konfigurationsdatei /etc/apt/sources.list . In dieser Datei befinden sich die
  +
Informationen, von welcher Quelle die Pakete geholt werden sollen. Apt unterstützt eine große Zahl
  +
verschiedener Installationsquellen. Momentan sind dies: cdrom, file, http und ftp. Jede dieser Quellen
  +
wird in einer einzelnen Zeile in der Datei beschrieben. Dabei wird auch die Reihenfolge berücksichtigt, weiter
  +
oben stehende Einträge haben eine höhere Priorität. Das Format der Einträge läßt sich wie folgt beschreiben:
  +
deb uri distribution [component1] [component2] [...]
  +
Ein Eintrag könnte also wie folgt aussehen:
  +
deb ftp://ftp.debian.org/debian stable main
  +
In der ersten Spalte findet sich der Hinweis auf die Art der Quelle. Mögliche Werte sind hier deb für Debian
  +
Pakete im Binärformat (dies ist der gebräuchliste Wert) oder aber deb-src für Pakete die im Quellcode
  +
vorliegen. Einträge der letztere Art benötigt man beispielsweise um ein Paket aus den Quellpaketen neu zu
  +
übersetzen.
  +
Das Feld uri beschreibt die Installationsquelle und den Pfad zum „root-“Verzeichnis der Debian Distribution.
  +
Auf einer CD-ROM ist der Pfad im Normalfall das Verzeichnis /debian .
  +
Mit dem Feld distribution stellen Sie die gewünschte Version ein, die Sie installieren möchten.
  +
Normalerweise wird man sich zwischen stable für die aktuelle, stabile Version oder für unstable, die
  +
Entwicklerversion, entscheiden. Wie schon am Anfang dieses Buches beschrieben, bekommt jede
  +
Debian-Version einen Namen. Sie können auch diesen Namen hier einsetzen, also slink für die Version 2.1
  +
oder potato für die Version 2.2 .
  +
Die Felder „component“ werden mit den einzelnen Bereichen der Distribution gefüllt. Hier können
  +
beispielsweise: main, contrib, non-free, non-US stehen. Zulässig sind ein oder mehrere Einträge, die durch
  +
Leerzeichen voneinander getrennt werden.
  +
Nun noch einige genauere Informationen zu den Installationsquellen:
  +
file
  +
dient zur Benutzung eines Verzeichnisses als Quelle für die Pakete. Dies kann ein lokales oder ein per NFS
  +
gemountetes Verzeichnis sein.
  +
cdrom
  +
benutzt ein lokal installiertes CD-ROM als Installationsquelle. Wenn die Distribution auf mehreren CDs
  +
vorliegt, wird auch dies unterstützt. Benutzen Sie das Programm apt-cdrom, um die nötigen Einträge in
  +
der Datei /etc/apt/sources.list vorzunehmen, oder benutzen Sie das Programm apt-setup.
  +
http
  +
benutzt einen HTTP-Server als Installationsquelle. Wenn die Shell-Umgebungsvariable $http_proxy
  +
gesetzt ist (im Format: http://server:port/ ), so wird dieser anstelle einer direkten Verbindung zum
  +
Server benutzt. Sie können auch Proxy-Server, die eine Authentifizierung verlangen, benutzen. Hierzu ist
  +
der Proxy im Format: http://user:pass@server:port/ anzugeben. Bitte beachten Sie, daß die
  +
Benutzernamen und Paßwörter auf diesem Wege unverschlüsselt übertragen werden.
  +
ftp
  +
stellt sicher die am häufigsten verwendete Methode für Apt dar. Die Daten werden per FTP (File Transfer
  +
Protocol) auf den Rechner übertragen. Ein Beispiel finden Sie weiter unten.
  +
141
  +
Kapitel 4. Installation weiterer Pakete
  +
copy
  +
Diese Methode ist identisch mit der Methode „file“, mit dem Unterschied, daß die Pakete vor der
  +
Installation in das Verzeichnis /var/apt/cache/archives/ kopiert werden. Dies kann zum Beispiel
  +
auf Systemen Sinn machen, die keine Verbindung zum Netz haben und per ZIP-Medium aktualisiert
  +
werden sollen.
  +
Hier nun einige Beispiele. Denken Sie daran, daß Sie durchaus mehrere dieser Einträge in der
  +
Konfigurationsdatei gleichzeitig verwenden können.
  +
deb http://www.debian.org/archive stable main contrib
  +
Ein solcher Eintrag benutzt das Archiv auf http://www.debian.org mit den Bereichen stable/main und
  +
stable/contrib.
  +
Folgender Eintrag holt die Dateien via FTP aus dem Verzeichnis /debian , es wird die noch nicht fertige
  +
„unstable“ Version von Debian GNU/Linux benutzt und auf die Bereiche main, contrib und non-free
  +
zugegriffen:
  +
deb ftp://ftp.debian.org/debian unstable main contrib non-free
  +
Nochmal ein ähnlicher Eintrag, diesmal für die stabile Version und lediglich den Bereich main.
  +
deb ftp://ftp.debian.org/debian stable main
  +
Wenn Sie die beiden vorhergehenden Zeilen in Ihrer Konfiguration einsetzen, werden beide Zeilen in einem
  +
FTP-Zugriff bearbeitet.
  +
deb file:/home/vincent/debian stable main contrib non-free
  +
Ein solcher Eintrag benutzt eine lokale Kopie der Daten auf der Festplatte. Dies kann auch ein per NFS
  +
gemountetes Verzeichnis sein.
  +
4.3.2. apt-setup
  +
Mit apt-setup können Sie über eine Benutzeroberfläche die Einträge in der Datei /etc/apt/sources.list
  +
ergänzen. apt-setup kann hierzu die Methoden „http“, „ftp“ und „filesystem“ benutzen, für die Methode
  +
„cdrom“ wird auf das Programm apt-cdrom zurückgegriffen. Ein weiteren Menüpunkt („edit sources list by
  +
hand“) ruft einen Editor (vi) auf, Sie können dann weitere Einträge von Hand aufnehmen. Nach Verlassen des
  +
Editors wird versucht, von den angegebenen Quellen die Package-Dateien zu lesen.
  +
Abbildung 4-4. apt-setup
  +
142
  +
Kapitel 4. Installation weiterer Pakete
  +
Als einzige Option kann beim Starten der Wert „probe“ übergeben werden. Dies führt dazu, daß eine eingelegte
  +
CD-ROM sofort eingelesen wird.
  +
4.3.3. apt-cdrom
  +
Dieses Kommando wird von apt-setup zur Integration von neuen CD-ROMs verwendet, kann aber auch
  +
eigenständig eingesetzt werden.
  +
Im einfachsten Fall führt das Kommando apt-cdrom add dazu das die eingelegte CD mit den entsprechenden
  +
Werten in die Datei sources.list aufgenommen wird. Hierzu ist ein entsprechender Eintrag in der Datei
  +
/etc/fstab notwendig. Ein solcher Eintrag wird bereits bei der Installation angelegt und muss normalerweise
  +
nur bei Veränderungen an der Hardware angepasst werden.
  +
Wird apt-cdrom ohne weitere Angaben aufgerufen, so werden Informationen über weitere Optionen
  +
ausgegeben.
  +
apt 0.5.4 for linux i386 compiled on Aug 19 2001 01:02:40
  +
Usage: apt-cdrom [options] command
  +
apt-cdrom is a tool to add CDROM’s to APT’s source list. The
  +
CDROM mount point and device information is taken from apt.conf
  +
and /etc/fstab.
  +
Commands:
  +
add - Add a CDROM
  +
ident - Report the identity of a CDROM
  +
Options:
  +
-h This help text
  +
-d CD-ROM mount point
  +
-r Rename a recognized CD-ROM
  +
-m No mounting
  +
-f Fast mode, don’t check package files
  +
-a Thorough scan mode
  +
-c=? Read this configuration file
  +
-o=? Set an arbitary configuration option, eg -o dir::cache=/tmp
  +
See fstab(5)
  +
4.3.4. apt-get
  +
apt-get ist die eigentliche Benutzerschnittstelle zur Verwaltung von Paketen. Dieses Programm ohne grafische
  +
Benutzeroberfläche ist recht einfach zu bedienen. Grafische Alternativen befinden sich in der Entwicklung, dazu
  +
später mehr.
  +
4.3.4.1. Status-Report
  +
Bevor apt-get die gewünschten Aktionen, wie zum Beispiel das Löschen oder die Installation einzelner
  +
Pakete, ausführt die das System verändern, werden Sie über den zukünftigen Zustand des Systems informiert.
  +
Es werden folgende Informationen angezeigt: die Anzahl der Pakete, die aktualisiert werden (neuere Version),
  +
die Anzahl der Pakete, die nicht verändert werden (kept back), die Anzahl der zu löschenden Pakete sowie die
  +
Anzahl der neu zu installierenden Pakete.
  +
Zusätzlich werden, wenn Sie die Option install benutzen, die Pakete ausgewählt und angezeigt, die aufgrund
  +
der Abhängigkeiten der zu installierenden Pakete benötigt werden.
  +
The following extra packages will be installed:
  +
143
  +
Kapitel 4. Installation weiterer Pakete
  +
libdbd-mysql-perl xlib6 zlib1 xzx libreadline2 libdbd-msql-perl
  +
mailpgp xdpkg fileutils pinepgp zlib1g xlib6g perl-base
  +
bin86 libgdbm1 libgdbmg1 quake-lib gmp2 bcc xbuffy
  +
squake pgp-i python-base debmake ldso perl libreadlineg2
  +
ssh
  +
Sollte es notwendig sein, Pakete zu löschen, oder Sie haben selber entschieden, Pakete zu entfernen, so werden
  +
auch diese gesondert angezeigt.
  +
The following packages will be REMOVED:
  +
xlib6-dev xpat2 tk40-dev xkeycaps xbattle xonix
  +
xdaliclock tk40 tk41 xforms0.86 ghostview xloadimage xcolorsel
  +
xadmin xboard perl-debug tkined xtetris libreadline2-dev perl-suid
  +
nas xpilot xfig
  +
Sehen Sie sich diese Liste in jedem Fall aufmerksam an. So stellen Sie sicher, daß keine Pakete gelöscht
  +
werden, die Sie noch benötigen.
  +
Wenn Sie Pakete neu installieren, werden Sie auch darüber informiert:
  +
The following NEW packages will installed:
  +
zlib1g xlib6g perl-base libgdbmg1 quake-lib gmp2 pgp-i python-base
  +
Dies dient nur zu Ihrer Information, diese Pakete sind bisher nicht auf Ihrem System installiert.
  +
Bei der Auswahl der Pakete haben Sie die Möglichkeit, einzelne Pakete in der aktuellen Version zu behalten,
  +
diese werden nicht aktualisiert (kept back).
  +
The following packages have been kept back
  +
compface man-db tetex-base msql libpaper svgalib1
  +
gs snmp arena lynx xpat2 groff xscreensaver
  +
Immer wenn Sie Ihr System mit der Option upgrade aktualisieren, kann es passieren, daß einzelne Pakete nicht
  +
aktualisiert werden können, weil sie auf Paketen basieren, die noch nicht in der benötigten Version verfügbar
  +
sind, oder aber es gibt Konflikte mit bereits installierten Paketen. In diesem Fall werden die Pakete im aktuellen
  +
Zustand gehalten. Sie können apt-get install benutzen, um diese Pakete trotzdem zu aktualisieren.
  +
The following held packages will be changed:
  +
cvs
  +
Wenn Sie ein auf „hold“ gesetztes Paket aktualisieren, bekommen Sie die Meldung, daß dieses Paket verändert
  +
(changed) wird. Außer bei apt-get install kann Ihnen diese Meldung auch bei apt-get dist-upgrade
  +
begegnen.
  +
Abschließend finden Sie noch eine Zusammenfassung über die Anzahl der betroffenen Pakete. Weiterhin wird
  +
angezeigt, welches Datenvolumen übertragen werden muß und wieviel Festplattenplatz zusätzlich benötigt wird
  +
(oder auch frei wird).
  +
206 packages upgraded, 8 newly installed, 23 to remove and 51 not upgraded.
  +
12 packages not fully installed or removed.
  +
Need to get 65.7M/66.7M of archives. After unpacking 26.5M will be used.
  +
Die erste Zeile ist eine knappe Zusammenfassung in Zahlen zu den bereits vorher ausgegebenen Informationen.
  +
In der zweiten Zeile finden Sie die nicht installierten Pakete, die bereits entpackt, aber nicht konfiguriert
  +
wurden. In der dritten Zeile finden Sie die Informationen über den benötigten Platz und die zu übertragenden
  +
Daten. Hierbei steht die erste Zahl für die tatsächlich noch zu übertragenden Daten und die zweite für den
  +
Gesamtwert. Wenn bereits Pakete bei einer vorherigen Installation übertragen wurden, aber nicht installiert
  +
werden konnten, so werden diese gespeichert und nicht noch einmal übertragen.
  +
Wenn Sie nun mit der Installation beginnen (dies müssen Sie bei apt-get install mit einem y anstoßen),
  +
werden die Pakete von dem ausgewählten Medium gelesen und installiert.
  +
144
  +
Kapitel 4. Installation weiterer Pakete
  +
4.3.4.2. Status-Anzeige
  +
Während des Downloads von Archiven und Paketdateien zeigt apt-get eine Reihe von Informationen an:
  +
sushi:/root# apt-get update
  +
Get:1 ftp://linux frozen/main Packages [833kB]
  +
Get:2 ftp://linux frozen/main Release [93B]
  +
Get:3 ftp://linux frozen/contrib Packages [33.4kB]
  +
Get:4 ftp://linux frozen/contrib Release [96B]
  +
Get:5 ftp://linux frozen/non-free Packages [78.1kB]
  +
Get:6 ftp://linux frozen/non-free Release [97B]
  +
Get:7 ftp://linux stable/non-US Packages [8880B]
  +
Get:8 ftp://linux stable/non-US Release [95B]
  +
Fetched 953kB in 12s (74.1kB/s)
  +
Reading Package Lists... Done
  +
Building Dependency Tree... Done
  +
Unmittelbar während des Downloads wird auch der Fortschritt angezeigt, inklusive der voraussichtlich
  +
benötigten Zeit für die Übertragung:
  +
11% [5 frozen/non-free ‘Waiting for file’ 0/32.1k 0%] 2203b/s 1m52s
  +
In den mit Get: beginnenden Zeilen steht die benutzte Methode (hier ftp) und der benutzte Server. Den
  +
Servernamen können Sie in einem lokalen Netz auch verkürzt angeben, wie hier mit linux gezeigt. Weiterhin
  +
wird der Bereich (frozen und stable) angezeigt sowie die Verzeichnisse ( main, contrib usw.) und die
  +
Dateinamen mit der Dateigröße.
  +
Bei der Installation von Paketen sieht der Vorgang ähnlich aus:
  +
sushi:/root# apt-get install aptitude
  +
Reading Package Lists... Done
  +
Building Dependency Tree... Done
  +
The following NEW packages will be installed:
  +
aptitude
  +
0 packages upgraded, 1 newly installed, 0 to remove and 3 not upgraded.
  +
Need to get 148kB of archives. After unpacking 471kB will be used.
  +
Get:1 ftp://ftp.debian.de potato/main aptitude 0.0.4a-3 [148kB]
  +
Fetched 148kB in 5s (25.3kB/s)
  +
Selecting previously deselected package aptitude.
  +
(Reading database ... 22625 files and directories currently installed.)
  +
Unpacking aptitude (from .../aptitude_0.0.4a-3_i386.deb) ...
  +
Setting up aptitude (0.0.4a-3) ...
  +
Hier wird, in der Zeile „Get:“, der Dateiname der zu installierenden Datei angezeigt und danach das Paket
  +
entpackt und installiert.
  +
4.3.4.3. Optionen und Kommandos
  +
apt-get benutzt folgende Syntax:
  +
apt-get [options] [command] [package ...]
  +
Die Optionen werden Sie sicher seltener benötigen, daher zuerst einige Worte zu den einzelnen Kommandos:
  +
check
  +
Bei jedem Start von apt (mit der Ausnahme, wenn Sie die Option update benutzen) wird eine Reihe von
  +
Prüfungen durchgeführt, um sicherzustellen, daß apt funktionsfähig und Ihr System in einem guten
  +
Zustand ist. Sie können diese Prüfungen auch zu jeder Zeit selber anstoßen:
  +
sushi:/root# apt-get check
  +
Reading Package Lists... Done
  +
Building Dependency Tree... Done
  +
145
  +
Kapitel 4. Installation weiterer Pakete
  +
Als erstes werden die Paketdateien anhand der Informationen in /etc/apt/sources.list eingelesen.
  +
Wenn Sie diesen Vorgang noch einmal wiederholen, werden Sie feststellen, daß der zweite Test deutlich
  +
schneller beendet ist, die Informationen werden von apt gecacht. Für Paketdateien, die nicht gefunden
  +
werden, wird ggf. eine Warnung ausgegeben, diese Pakete werden dann ignoriert.
  +
Im zweiten Schritt wird eine detaillierte Analyse des Systems durchgeführt, inklusive aller
  +
Abhängigkeiten. Es werden von jedem installierten oder bereits entpackten, aber noch nicht konfiguriertem
  +
Paket die Abhängigkeiten geprüft. Wenn dabei ein Problem auftaucht, wird dies angezeigt und apt-get
  +
bricht die weitere Bearbeitung ab.
  +
sushi:/root# apt-get check
  +
Reading Package Lists... Done
  +
Building Dependancy Tree... Done
  +
You might want to run apt-get -f install’ to correct these.
  +
Sorry, but the following packages have unmet dependencies:
  +
9fonts: Depends: xlib6g but it is not installed
  +
uucp: Depends: mailx but it is not installed
  +
blast: Depends: xlib6g (>= 3.3-5) but it is not installed
  +
adduser: Depends: perl-base but it is not installed
  +
aumix: Depends: libgpmg1 but it is not installed
  +
debiandoc-sgml: Depends: sgml-base but it is not installed
  +
bash-builtins: Depends: bash (>= 2.01) but 2.0-3 is installed
  +
cthugha: Depends: svgalibg1 but it is not installed
  +
Depends: xlib6g (>= 3.3-5) but it is not installed
  +
libreadlineg2: Conflicts:libreadline2 (<< 2.1-2.1)
  +
In diesem Beispiel gibt es eine ganze Reihe Probleme, einige Pakete sind gar nicht installiert, oder es sind
  +
falsche Versionen installiert. Für jedes einzelne Paket, bei dem ein Problem festgestellt wurde, wird eine
  +
Zeile ausgegeben, mit den Informationen, um welches Paket es sich handelt und welches Problem
  +
festgestellt wurde.
  +
Es gibt zwei Möglichkeiten, wie es zu solchen Problemen kommen kann: Bei einem „Upgrade“ kann es
  +
passieren, daß ein benötigtes Paket fehlt, oder aber während der Installation eines Paketes ist ein Problem
  +
aufgetreten. Wenn letzteres aufgetreten ist, dann wurde das Paket zwar entpackt, aber nicht korrekt
  +
konfiguriert.
  +
Beide Situationen können von apt in den meisten Fällen mit der Option -f selbst behoben werden. Wenn
  +
Sie dselect mit der Methode apt benutzen, wird immer die Option -f verwendet, um eine einfache
  +
Bedienung zu gewährleisten.
  +
Trotzdem kann es passieren, daß bei einem schweren Problem apt nicht in der Lage ist, das Problem zu
  +
beheben. In diesem Fall müssen Sie von Hand mit dem Programm dpkg den Konflikt beseitigen. Sie
  +
können danach mit apt-get fortfahren.
  +
update
  +
aktualisiert die Übersicht der verfügbaren Pakete, liest also die Informationen aus den Dateien
  +
Packages.gz der jeweiligen Distribution ein. Sie sollten update immer ausführen, wenn Sie wissen, daß
  +
sich die Inhalte der Paketdateien beziehungsweise die verfügbaren Pakete auf dem Server geändert haben.
  +
Auf jeden Fall sollten Sie update vor dem Aufruf von upgrade oder dist-upgrade aufrufen.
  +
upgrade
  +
Um alle auf dem System installierten Pakete auf die aktuelle Version zu bringen, können Sie upgrade
  +
benutzen. Alle bereits installierten Pakete, von denen eine neuere Version verfügbar ist, werden
  +
aktualisiert. Es werden keine Pakete gelöscht, die bereits installiert sind (und in den neuen Paketdateien
  +
nicht mehr enthalten sind), oder Pakete installiert, die noch nicht auf dem System vorhanden sind. Pakete,
  +
die bereits installiert sind und es bei einem Upgrade erforderlich machen, den Status anderer Pakete zu
  +
verändern, werden nicht aktualisiert. apt-get update muß vorab ausgeführt werden, so daß
  +
sichergestellt ist, daß die Paketinformationen auf dem neuesten Stand sind.
  +
146
  +
Kapitel 4. Installation weiterer Pakete
  +
dist-upgrade
  +
ist eigentlich eine Ergänzung oder Erweiterung zu upgrade. Es wird hierbei dafür Sorge getragen, daß für
  +
das System wichtigere Pakete zuerst installiert werden. Hierbei werden in engen Grenzen auch
  +
Abhängigkeiten verändert, um ein Paket installieren zu können. Dies ist dann notwendig, wenn ein System
  +
komplett auf eine neue Version umgestellt werden soll und kein „sanfter“ Übergang gewährleistet werden
  +
kann.
  +
dselect-upgrade
  +
Mit dieser Option werden auch die Paketinformationen „recommends“ und „suggests“ ausgewertet. dies ist
  +
sonst nur mittels dselect möglich. Diese Vörschläge für weitere Pakete sind zur Funktion des
  +
gewünschten Paketes nicht zwingend erforderlich, können aber durchaus sinnvoll sein.
  +
install
  +
Diese Option benötigt noch einen oder mehrere Paketnamen. Jedes dieser Pakete (der Paketname, also
  +
beispielsweise sendmail, reicht hierbei aus) sowie die noch benötigten Pakete (diese werden automatisch
  +
ermittelt) werden auf Basis der Informationen in /etc/apt/sources.list geholt und installiert. Wenn
  +
Sie hinter den Namen des Paketes ein Minuszeichen (-) setzen, wird das Paket aus dem System entfernt,
  +
wenn es bereits installiert ist. Achten Sie darauf, daß das Minuszeichen direkt nach dem Paketnamen steht,
  +
ohne ein Leerzeichen dazwischen. Diese Funktion kann auch bei Konflikten bei der Installation einzelner
  +
Pakete sehr nützlich sein, Sie können so Pakete in einem Vorgang löschen und installieren. Die Option
  +
„install“ wählt immer die aktuellste verfügbare Version eines Paketes aus. Es kann jedoch sinnvoll sein
  +
auch Zugriff auf ältere Programmversionen zu haben. Hierzu kann aber der Version 0.5.3 von apt
  +
folgende Syntax verwendet werden: apt-get install sane/unstable. Durch einen Slash getrennt
  +
kann hinter dem Paketnamen die gewünschte Release eines Paketes angegeben werden.
  +
remove
  +
Diese Funktion ist identisch mit der vorherigen, nur mit dem Unterschied, daß die Pakete standardmäßig
  +
entfernt werden, statt sie zu installieren. Analog zu dem eben Beschriebenen können Sie hier in
  +
Pluszeichen (+) verwenden, um Pakete zu installieren.
  +
check
  +
dient lediglich zur Diagnose. Es wird überprüft, ob sich irgendwelche Unstimmigkeiten in den Paketen
  +
finden.
  +
clean
  +
Dies löscht das lokale Verzeichnis, in dem sich die zu installierenden Pakete befinden. Alles, mit
  +
Ausnahme der lock-Datei, wird aus /var/cache/apt/archives/ und
  +
/var/cache/apt/archives/partial/ gelöscht.
  +
source
  +
Dieses Kommando holt die notwendigen Dateien zur Erzeugung eines Binärpaketes. Es können so
  +
angepasste Pakete erzeugt werden oder aber Pakete auf einer anderen Architektur übersetzt werden.
  +
Wichtig ist hier bei ein entsprechender „deb-src“ Eintrag in der Datei sources.list. Um alle zu einem
  +
Paket gehörenden Dateien von einem Server zu holen, reicht das Kommando apt-get source
  +
paketname. Es werden die aktuellen Versionen der Dateien paketname.orig.tar.gz,
  +
paketname.dsc und paketname.diff.gz im aktuellen Verzeichnis gespeichert.
  +
Um aus den Quellen direkt in Binärpaket zu erzeugen, kann die Option -b angegeben werden. Das
  +
komplette Kommando lautet dann apt-get source -b paketname. Wenn die benötigten Source
  +
Pakete bereits vorliegen, kann ds Binärpaket auch direkt mit dem Kommando dpkg-buildpackage
  +
-rfakeroot -us -uc erzeugt werden.
  +
build-dep
  +
Die meisten Softwarepakete benötigen bei der Übersetzung aus den Quellpaketen weiter
  +
Entwicklungspakete wie Librarys und Header Dateien. Diese werden häufig nicht mitgeliefert und liegen
  +
147
  +
Kapitel 4. Installation weiterer Pakete
  +
in gesonderten Paketen vor. Das Debian Paketsystem sieht sogenannte „build dependencies“ vor in denen
  +
alle Abhängigkeiten zur Erzeugung eines Paketes beschrieben sind.
  +
Das Kommando apt-get build-dep paketname sorgt dafür das alle zur Übersetzung eines Paketes
  +
benötigten Dateien auf dem System vorhanden sind.
  +
moo
  +
Als kleine versteckte Option haben die Entwickler auch noch noch ein sogenanntes „Easter-Egg“
  +
eingebaut:
  +
fr@nigiri:~$ apt-get moo
  +
(__)
  +
(oo)
  +
/------\/
  +
/ | ||
  +
* /\---/\
  +
~~ ~~
  +
...."Have you mooed today?"...
  +
Soweit zu den Parametern. Sie können noch folgende Optionen benutzen um apt-get zu steuern.
  +
-h
  +
Zeigt die Hilfe zu apt-get an.
  +
-m
  +
Ignoriere eventuell fehlende Pakete
  +
-d
  +
Holt die gewünschten Pakete vom Server, ohne diese zu installieren.
  +
-f
  +
Behebt die defekten Abhängigkeiten zwischen den Paketen. apt-get -f install versucht, diese
  +
automatisch zu reparieren.
  +
-s
  +
Simulation, führt keine Aktionen aus.
  +
-u
  +
Zeigt auch die zu aktualisierenden Pakete an.
  +
-y
  +
Aktualisiert alle Pakete automatisch indem alle Fragen mit „Yes“ beantwortet werden.
  +
Hier nun ein Beispiel aus der Praxis zur Benutzung von Apt:
  +
Beachten Sie bitte, daß Pakete nur mit Superuser-Rechten (root) installiert werden können.
  +
Zuallererst muß apt die Informationen über die verfügbaren Pakete erhalten, hierzu dient das Kommando
  +
apt-get update.
  +
sushi:/root # apt-get update
  +
Hit ftp://192.168.0.5 potato/main Packages
  +
148
  +
Kapitel 4. Installation weiterer Pakete
  +
Hit ftp://192.168.0.5 potato/main Release
  +
Get:1 ftp://192.168.0.5 potato/non-free Packages [78.6kB]
  +
Get:2 ftp://192.168.0.5 potato/non-free Release [99B]
  +
Fetched 68.5kB in 0s (104kB/s)
  +
Reading Package Lists... Done
  +
Building Dependency Tree... Done
  +
Nachdem das System nun über den aktuellen Stand der Pakete informiert ist, können Sie weitere Pakete mittels
  +
Apt installieren, hier gezeigt am Beispiel von sane:
  +
sushi:/root# apt-get install sane
  +
Reading Package Lists... Done
  +
Building Dependency Tree... Done
  +
The following extra packages will be installed:
  +
libgimp1 libsane
  +
The following NEW packages will be installed:
  +
libgimp1 libsane sane
  +
0 packages upgraded, 3 newly installed, 0 to remove and 3 not upgraded.
  +
Need to get 703kB of archives. After unpacking 1729kB will be used.
  +
Do you want to continue? [Y/n]
  +
Beachten Sie hierbei, daß automatisch die benötigten Pakete libgimp1 und libsane ausgewählt wurden.
  +
Insgesamt werden also drei Pakete installiert. Weiter unten erhalten Sie noch Informationen über den später
  +
benötigten Plattenplatz der Pakete sowie über die Größe der Pakete, die ja eventuell via FTP erst übertragen
  +
werden müssen. Wenn Sie mit den Angaben so einverstanden sind, bestätigen Sie dies mit der Eingabetaste,
  +
oder drücken Sie die Taste n und danach die Eingabetaste, um den Vorgang zu beenden.
  +
Wenn mehrere Pakete gleichzeitig installiert werden sollen, so können diese einfach hintereinander auf der
  +
Kommandozeile angegeben werden.
  +
4.3.5. apt - Offline nutzen
  +
Normalerweise wird apt mit einem direkten Zugriff zu einem Archiv benutzt, sei es daß die Daten auf einer
  +
lokalen Festplatte liegen oder von einer CD-ROM kommen oder über ein Netzwerk installiert werden sollen.
  +
Trotzdem kann es sinnvoll sein, wenn Sie keine aktuellen CDs zur Hand haben oder Ihnen der Download der
  +
Dateien zu langwierig ist, die Daten auf einem anderen Medium, zum Beispiel ein ZIP, von einem Rechner mit
  +
den aktuellen Paketen zu kopieren und zu installieren.
  +
Problematisch ist dabei, daß ein solches Medium nicht ausreicht, um eine komplette Debian-Distribution
  +
aufzunehmen. Aber es reicht ja auch aus, nur die benötigten Pakete zu kopieren. Sie müssen also mittels apt
  +
eine Liste der benötigten Pakete erstellen und diese auf dem Rechner mit einer schnellen Anbindung ans Netz
  +
downloaden. Für den Download der Dateien ist das Programm wget gut geeignet.
  +
Weiterhin müssen Sie apt dazu bringen, die Paketdateien von dem neuen Medium zu lesen. Dieses sollte mit
  +
einem Dateisystem formatiert sein, welches mit langen Dateinamen umgehen kann; dies wären zum Beispiel:
  +
ext2, vfat oder fat32.
  +
4.3.5.1. apt, auf beiden Rechnern
  +
Wenn apt auf beiden Rechnern installiert ist, können Sie über die Statusdatei (status) feststellen lassen,
  +
welche Pakete auf dem Zielrechner fehlen. Die Verzeichnisstruktur auf dem Medium sollte wie folgt aussehen:
  +
/medium/
  +
archives/
  +
partial/
  +
lists/
  +
partial/
  +
status
  +
sources.list
  +
apt.conf
  +
149
  +
Kapitel 4. Installation weiterer Pakete
  +
4.3.5.2. Die Konfigurationsdatei
  +
In der Konfigurationsdatei teilen Sie apt mit, daß die Debian-Pakete auf dem Medium zu speichern sind und
  +
daß dort auch die Konfigurationsdateien zu finden sind. Die Datei sources.list sollte den Server enthalten,
  +
von dem die Pakete geholt werden sollen. Die Datei status ist eine Kopie der Datei
  +
/var/lib/dpkg/status von Ihrem Zielrechner.
  +
Die Datei apt.conf enthält die nötigen Informationen, um das Medium zu benutzen:
  +
APT
  +
{
  +
/* nur notwendig, wenn die beiden Rechner nicht die gleiche Architektur haben */
  +
Architecture "i386";
  +
Get::Download-Only "true";
  +
};
  +
Dir
  +
{
  +
/* die status-Datei auf dem Medium nutzen. */
  +
State "/medium/";
  +
State::status "status";
  +
/* auf dem Medium cachen */
  +
Cache::archives "/medium/archives/";
  +
/* da ist auch die Datei sources.list */
  +
Etc "/medium/";
  +
};
  +
Auf Ihrem Zielrechner mounten Sie zuerst das Medium und kopieren die Datei /var/lib/dpkg/status
  +
dorthin. Erzeugen Sie dann die Verzeichnisse, die oben in der Struktur gezeigt sind (archives/partial/ und
  +
lists/partial/).
  +
Die weiteren Schritte können Sie auf dem zweiten Rechner durchführen. Passen Sie die Datei sources.list
  +
an. Dann führen Sie folgendes auf diesem Rechner aus:
  +
export APT_CONFIG="/medium/apt.conf"
  +
apt-get update
  +
apt-get dist-upgrade
  +
Sie können auch alle anderen apt-Optionen oder auch gnome-apt benutzen.
  +
Wenn alle Dateien auf das Medium übertragen wurden, können Sie diese zu Ihrem Zielrechner transportieren
  +
und die Pakete wie folgt installieren:
  +
export APT_CONFIG="/medium/apt.conf"
  +
apt-get check
  +
apt-get --no-d -o dir::etc::status=/var/lib/dpkg/status dist-upgrade
  +
Bitte beachten Sie, daß hierbei wieder die lokale status-Datei benutzt wird!
  +
4.3.5.3. Kopieren der Dateien mit wget
  +
Wenn Sie nicht die Möglichkeit haben, die Dateien auf einem Rechner mit apt aus dem Netz zu kopieren,
  +
können Sie alternativ auch das Programm wget benutzen. Dieses ist nicht Teil der Debian
  +
GNU/Linux-Basisinstallation, Sie müssen also zunächst das Paket installieren.
  +
wget dient zum Kopieren von Webseiten inklusive der dazugehörigen Grafiken und eventueller weiterer mit
  +
dieser Seite verlinkten Seiten. Wir werden wget aber zum gezielten Kopieren der benötigten Debian-Pakete von
  +
einem Server benutzen.
  +
150
  +
Kapitel 4. Installation weiterer Pakete
  +
Sie können die Pakete mittels wget kopieren, indem Sie apt-get mit der Option -*-print-uris dazu
  +
benutzen, um eine Liste der benötigten Pakete mit der kompletten URL für wget zu erzeugen.
  +
Entgegen dem eben vorgestellten Beispiel brauchen Sie hier keine extra Konfigurationsdateien (außer natürlich
  +
der Datei /etc/apt/sources.list, welche von apt benötigt wird). Führen Sie die folgenden Kommandos
  +
auf dem Rechner aus, auf dem die Pakete später installiert werden sollen.
  +
apt-get dist-upgrade
  +
apt-get -qq --print-uris dist-upgrade > uris
  +
awk ’{print "wget -O " $2 " " $1}’ < uris > /medium/wget-script
  +
Drücken Sie „n“ nach dem ersten Kommando und prüfen Sie, daß die Auswahl korrekt ist. Die benötigten
  +
Pakete wurden nun zur späteren Installation markiert. In der zweiten Zeile wird mit apt-get und den
  +
entsprechenden Optionen eine Liste der zu installierenden Pakete erzeugt und in die Datei uris geschrieben.
  +
Das letzte Kommando ergänzt die Liste der Pakete um die nötigen Aufrufe des Kommandos wget.
  +
Die Datei /medium/wget-script enthält nun eine Liste mit Kommandos, welche die benötigten Pakete aus
  +
dem Netz holen. Sie können dieses jetzt auf dem Medium ausführen:
  +
cd /medium
  +
sh -x ./wget-script
  +
Hierbei ist es unerheblich, ob das Transportmedium sich noch in dem Rechner befindet, auf dem die Pakete
  +
installiert werden sollen (was keinen Sinn machen würde, Sie könnten sich den Umweg über wget dann
  +
sparen), oder ob Sie das Medium in einem Rechner mit einer besseren Netzanbindung anmelden und dort das
  +
Script ausführen. Die Pakete werden lediglich auf das Medium übertragen und nicht installiert.
  +
Wenn alle Dateien übertragen wurden, können Sie das Medium zu Ihrem Zielrechner transportieren und die
  +
Pakete mit folgendem Kommando installieren:
  +
apt-get -o dir::cache::archives="/medium/" dist-upgrade
  +
4.3.6. apt-cache
  +
Mit apt-cache können die verschiedensten Abfragen zu den bekannten Paketen (also auch zu den noch nicht
  +
installierten) erstellt werden. Dies beschränkt sich nicht nur auf Paketnamen oder die zu einem Paket
  +
gehörenden Dateinamen sondern es können auch Informationen zu den Metadaten erfragt werden.
  +
Wenn Sie nicht die Option -h oder --help benutzen muß mindestens eines der folgenden Kommandos
  +
angegeben werden.
  +
add
  +
fügt die angegebene Package-Datei dem Package-Cache hinzu.
  +
gencaches
  +
diese Option bewirkt das gleiche wie apt-get check. Es werden die Source und Package Caches aus
  +
den Informationen in /etc/apt/sources.list und /var/lib/dpkg/status erstellt.
  +
showpkg
  +
diese Option zeigt Informationen über die weiterhin auf der Kommandozeile angegebenen Pakete. Es
  +
werden die verfügbaren Versionen der Pakete sowie die gesammten Abhängigkeiten dieser Pakete
  +
angezeigt. Hierbei wird zwischen sogenannten „forward“-Dependencies und „reverse“-Dependencies
  +
unterschieden. Forward-Dependencies (dies sind die im normalen Sprachgebrauch verwendeten
  +
Abhängigkeiten) beziehen sich auf die Pakete die das angefragte Paket benötigt um einwandfrei zu
  +
funktionieren. Reverse-Dependecies beschreiben die Pakete die das angefragte Paket benötigen um zu
  +
funktionieren. Ein Beispiel: apt-cache showpkg bash gibt folgendes Ergebnis aus:
  +
151
  +
Kapitel 4. Installation weiterer Pakete
  +
Package: bash
  +
Versions:
  +
2.05a-12(/var/lib/apt/lists/192.168.1.1_home_ftp_debian_dists_sid_
  +
main_binary-i386_Packages)(/var/lib/dpkg/status)
  +
2.05a-11(/var/lib/apt/lists/192.168.1.1_home_ftp_debian_dists_woody_
  +
main_binary-i386_Packages)
  +
Reverse Depends:
  +
kernel-patch-ltt,bash 2.0
  +
kernel-patch-lkcd,bash 2.0
  +
kernel-patch-kdb,bash 2.0
  +
kernel-patch-acl,bash 2.0
  +
horde2,bash
  +
cron-apt,bash 2.03-6
  +
common-lisp-controller,bash 2.04-9
  +
cdcontrol,bash 2.0
  +
bash-doc,bash 2.03-1
  +
bash-builtins,bash 2.05a-12
  +
base-files,bash 2.03-3
  +
txt2regex,bash 2.04
  +
openmosix,bash 2.0
  +
mosix,bash 2.0
  +
mkrboot,bash
  +
mason,bash
  +
kernel-patch-ulog,bash 2.0
  +
kernel-patch-ttl,bash 2.0
  +
kernel-patch-ltt,bash 2.0
  +
kernel-patch-kiobuf-bigmem,bash 2.0
  +
kernel-patch-kiobuf,bash 2.0
  +
kernel-patch-kdb,bash 2.0
  +
kernel-patch-irc,bash 2.0
  +
kernel-patch-badram,bash 2.0
  +
htmlheadline,bash 2.04-1
  +
horde,bash 2.03-6
  +
gopherweblink,bash
  +
gibraltar-bootsupport,bash
  +
foomatic-bin,bash 2.05
  +
diffmon,bash 2.0
  +
cron-apt,bash 2.03-6
  +
common-lisp-controller,bash 2.04-9
  +
colorgcc,bash
  +
cdcontrol,bash 2.0
  +
bug,bash 2.04-1
  +
bash-doc,bash 2.03-1
  +
bash-builtins,bash 2.05a-11
  +
base-files,bash 2.03-3
  +
Dependencies:
  +
2.05a-12 - base-files (2 2.1.12) libc6 (2 2.2.4-4) libncurses5 (2 5.2.20020112a-1) grep-dctrl (2.05a-11 - base-files (2 2.1.12) libc6 (2 2.2.4-4) libncurses5 (2 5.2.20020112a-1) bash-completion Provides:
  +
2.05a-12 -
  +
2.05a-11 -
  +
Reverse Provides:
  +
Es müssen also, damit dieses Paket funktioniert, mindestens die unter „Dependencies:“ aufgeführten
  +
Pakete installiert sein. Eine weitere wichtige Information sind die „Reverse Depends:“. Dies sind Pakete
  +
die von diesem Paket (bash) abhängen.
  +
152
  +
Kapitel 4. Installation weiterer Pakete
  +
stats
  +
Es wird eine Statistik über den aktuellen Cache ausgegeben. Es sind keine weiteren Argumente notwendig.
  +
Folgende Informationen werden ausgegeben:
  +
fr@sushi:~$ apt-cache stat
  +
Total Package Names : 8953 (358k)
  +
Normal Packages: 6872
  +
Pure Virtual Packages: 259
  +
Single Virtual Packages: 176
  +
Mixed Virtual Packages: 115
  +
Missing: 1531
  +
Total Distinct Versions: 9133 (438k)
  +
Total Dependencies: 47613 (1143k)
  +
Total Ver/File relations: 19322 (309k)
  +
Total Provides Mappings: 1889 (37.8k)
  +
Total Globbed Strings: 110 (1273)
  +
Total Dependency Version space: 179k
  +
Total Slack space: 86.3k
  +
Total Space Accounted for: 2374k
  +
Total Package Names Anzahl der Paketnamen die im Cache gefunden wurden
  +
Normal Packages Dies sind Pakete deren Namen in einer Abhängigkeit zu einem anderen Paket stehen,
  +
hierunter fällt eine große Zahl der Pakete.
  +
Pure Virtual Packages Anzahl der „virtuellen“ Paketnamen im Cache. Dies sind Pakete die ein Paket zur
  +
Verfügung stellen, deren Name aber nicht mit diesem zu tun hat, als Beispiel sein hier
  +
mail-transport-agent genannt, einige Pakete (beispielsweise exim, qmail und sendmail) stellen
  +
das Paket mail-transport-agent zur Verfügung, es gibt aber kein Paket mit dem Namen
  +
mail-transport-agent.
  +
Single Virtual Packages Dies ist die Anzahl der Pakete die ein virtuelles Paket zur Verfügung stellen, dies
  +
aber nur einmalig im Cache auftaucht. Das virtuelle Paket X11-text-viewer wird beispielsweise nur von
  +
xless zur Verfügung gestellt.
  +
Mixed Virtual Packages Anzahl der Pakete die sowohl als virtuelle als auch als reale Pakete vorhanden
  +
sind. debconf ist als reales Paket vorhanden, wird aber auch von debconf-tiny zur Verfügung gestellt.
  +
Missing Pakete die in einer Abhängigkeit benannt werden, aber nicht im Cache zu finden sind. Dies kann
  +
vorkommen wenn kein Zugriff auf eine komplette Debian Distribution gegeben ist oder wenn Pakete aus
  +
der Distribution entfernt wurden.
  +
Total Distinct Versions Die Anzahl der Paketversionen im Cache. Diese ist im Normalfall gleich der
  +
Anzahl der gesamten Pakete. Wenn jedoch zwei Distributionen (beispielsweise „stable“ und „testing“)
  +
benutzt werden, kann es vorkommen das mehrere Versionen eines Paketes verfügbar sind. In diesem Fall
  +
kann die Zahl deutlich über der der gesamten Pakete liegen.
  +
Total Dependencies Die Anzahl der gesamten Abhängigkeiten zwischen allen Paketen im Cache.
  +
Total Ver/File relations
  +
Total Provides Mappings
  +
Total Globbed Strings
  +
Total Dependency Version space
  +
Total Slack space
  +
Total Space Accounted for
  +
dump
  +
Zeigt eine kurze Information zu jedem Paket an, dies ist für den normalen Benutzer wenig sinnvoll und ist
  +
zur Fehlersuche für Entwickler gedacht.
  +
153
  +
Kapitel 4. Installation weiterer Pakete
  +
dumpavail
  +
Zeigt eine Liste der verfügbaren Pakete.
  +
unmet
  +
Zeigt eine Zusammanfassung aller nicht erfüllten Abhängigkeiten.
  +
show
  +
Hat einen ähnliche Effekt wie das Kommando dpkg --print-avail und zeigt die Paketinformationen
  +
für die angegebenen Pakete.
  +
search
  +
Führt eine Volltextsuche über alle verfügbaren Paketdateien durch. Es können Reguläre Ausdrücke benutzt
  +
werden. Es werden die Paketnamen und Beschreibungen nach dem Suchbegriff durchsucht und es wird der
  +
Paketname und die Kurzbeschreibung der entsprechenden Pakete ausgegeben. Wenn die Option --full
  +
angegeben wird, entspricht die Ausgabe der von show. Mit der Option --names-only wird die
  +
Paketbeschreibung nicht durchsucht, die Suche beschränkt sich auf den Paketnamen.
  +
Mehrere Suchargumente können angegeben werden und werden dann über eine UND-Verknüpfung
  +
ausgewertet.
  +
depends
  +
Zeigt alle Abhängigkeiten eines Paketes an. Weiterhin werden alle anderen Pakete angezeigt die die
  +
geforderten Abhängigkeiten erfüllten können.
  +
fr@wasabi@sushi:~$ apt-cache depends bash
  +
bash
  +
Depends: base-files
  +
PreDepends: libc6
  +
PreDepends: libncurses5
  +
Suggests: grep-dctrl
  +
Conflicts: <bash-completion>
  +
Replaces: bash-doc
  +
Replaces: <bash-completion>
  +
policy
  +
Die Option policy zeigt zu einem Paket die installierte sowie die verfügbaren Versionen aus den
  +
erreichbaren Quellen an.
  +
fr@nigiri:~$ apt-cache policy bash
  +
bash:
  +
Installed: 2.05b-5
  +
Candidate: 2.05b-5
  +
Version Table:
  +
*** 2.05b-5 0
  +
500 ftp://ftp.freenet.de sid/main Packages
  +
100 /var/lib/dpkg/status
  +
2.05b-3 0
  +
500 ftp://ftp.freenet.de testing/main Packages
  +
500 ftp://ftp.freenet.de sarge/main Packages
  +
2.05a-11 0
  +
500 ftp://ftp.freenet.de woody/main Packages
  +
154
  +
Kapitel 4. Installation weiterer Pakete
  +
pkgnames
  +
Zeigt eine Liste aller Paketnamen. Optional kann eine Zeichenkette angegeben werden die als Suchprefix
  +
verwendet wird.
  +
dotty
  +
Dieser Option kann eine Liste von Paketnamen mitgegeben werden. Die Ausgabe erfolgt in einem Format
  +
welches vom Programm dotty aus dem Paket GraphVis (http://www.research.att.com/sw/tools/graphviz/)
  +
gelesen werden kann. So kann eine grafische Darstellung der Paketabhängigkeiten erstellt werden.
  +
Normalerweise werden alle Abhängigkeiten verfolgt, was zu sehr großen Dateien führen kann. Dies kann
  +
mit der Option APT::Cache::GivenOnly in der Datei /etc/apt/config deaktiviert werden.
  +
4.3.7. apt-proxy
  +
apt-proxy ist ein Cache der zusammen mit APT von allen Debian Systemen aus im Netz genutzt werden
  +
kann. Lokale Netzwerke verfügen normalerweise über eine höhere Bandbreite wie für das gesammte Netz nach
  +
aussen ins Internet zur Verfügung steht. Durch einen gemeinsam genutzten Cache können bereits auf einem
  +
System installierte Pakete auch allen anderen Systemen verfügbar gemacht werden, ohne das diese Pakete
  +
nochmals aus dem Internet geholt werden.
  +
apt-proxy kann als Cache effizienter mit Debian Paketen umgehen wie beispielsweise Squid. Dies liegt zum
  +
einen daran das apt-proxy die Paketdateien auswertet und alte Versionen löscht die nicht mehr benötigt
  +
werden. Zum anderen verwendet apt-proxy zur Übertragung von Dateien das Programm rsync, so daß
  +
abgebrochene Downloads fortgesetzt werden können. Alternativ können auch die Protokolle HTTP und FTP
  +
zum Download genutzt werden.
  +
Nach der Installation muss zunächst in der Datei apt-proxy.conf ein gut erreichbarer Debian Server
  +
eingetragen werden, von diesem werden dann alle Pakete geholt. Auf alle Clients die den APT Proxy benutzen
  +
sollen ist die Konfiguration so anzupassen das der Rechner auf dem apt-proxy installiert ist als Quelle
  +
verwendet wird. apt-proxy läuft auf dem Port 9999, die Einträge in der Datei sources.list auf den Clients
  +
müssen folgendes Format haben
  +
deb http://SERVER:9999/main woody main contrib non-free
  +
deb http://SERVER:9999/non-US woody/non-US main contrib non-free
  +
deb-src http://SERVER:9999/main woody main contrib non-free
  +
deb-src http://SERVER:9999/non-US woody/non-US main contrib non-free
  +
Hierbei ist zu beachten das „SERVER“ durch den entsprechenden Rechnernamen/IP Nummer ersetzt wird.
  +
Nachdem diese Anpassungen vorgenommen worden sind, wird auf einem der Clients das Kommando apt-get
  +
update aufgerufen um auf dem Server die Verzeichnisse zu initialisieren und die Paketlisten verfügbar zu
  +
machen. Nun können alle Clients diesen zentralen Dienst transparent nutzen.
  +
Wenn bereits auf dem Server ein Verzeichnis mit Debian Paketen vorliegt, so kann dies mittels
  +
apt-proxy-import in den Cache von apt-proxy integriert werden.
  +
4.3.8. apt-move
  +
apt-move ist ein Shell-Skript mit dem eine Anzahl von lokal vorliegenden Debian Paketen in eine
  +
Verzeichnisstruktur verschoben werden kann die wiederrum einem Debian Archiv entspricht. Die Dateien
  +
werden dabei in einer Verzeichnisstruktur unterhalb von $LOCALDIR/pool/... abgelegt, die Variable
  +
$LOCALDIR kann dabei in der Konfigurationsdatei festgelegt werden. Hauptsächlich wurde apt-move
  +
entwickelt um via apt-get aus dem Netz übertragene Dateien aus dem Datei-Cache in ein Debian-Archiv zu
  +
übernehmen, die Konfiguration kann jedoch so angepasst werden das jede beliebige Sammlung von Paketen
  +
(beispielsweise von CD-ROMs) dem Archiv hinzugefügt werden kann.
  +
155
  +
Kapitel 4. Installation weiterer Pakete
  +
Weiterhin besteht die Möglichkeit mittels der Optionen sync und mirror eine Kopie, auch von Teilen, eines
  +
Debian Servers zu erstellen. Auch können überflüssige, veraltete Pakete gelöscht werden und es können lokale
  +
Packages.gz und Sources.gz Dateien erzeugt werden.
  +
apt-move kennt eine ganze Reihe von Kommandos und Optionen:
  +
$Id: apt-move,v 1.79 2002/10/23 22:16:33 herbert Exp $
  +
Usage: apt-move [-c conffile] [-d dist] [-fqt] COMMAND
  +
Commands:
  +
get - update your master files from local apt.
  +
getlocal - alias of get.
  +
fsck - fix broken repositories, use with caution.
  +
move - move cache files into mirror tree.
  +
movefile - move files specified on the command line.
  +
delete - delete obsolete packages.
  +
packages - create new local Packages files.
  +
update - alias for ’get move delete packages’.
  +
local - alias for ’move delete packages’.
  +
localupdate - alias for ’getlocal move delete packages’.
  +
mirror - update your local mirror from remote rsync site.
  +
sync - same as mirror, but only gets packages that
  +
you currently have installed on your system.
  +
exclude - prints a list of all packages EXCLUDED from the
  +
mirror by the .exclude file (ignores -t).
  +
listbin - prints lists of packages which can serve as the
  +
input to mirrorbin. Takes the arguments mirror,
  +
sync, or repo.
  +
listsrc - same as listbin, but lists source packages.
  +
mirrorbin - same as mirror, but gets the packages specified
  +
on stdin.
  +
mirrorsrc - same as mirrorbin, but gets source packages.
  +
Options:
  +
-c Specify an alternative configuration file.
  +
-d Override the DIST setting.
  +
-f Override the MAXDELETE setting (use with caution).
  +
-q Be quiet; suppress normal output.
  +
-t Show what apt-move would do, but do not actually do anything.
  +
See the apt-move(8) manpage for further details.
  +
Bevor apt-move eingesetzt werden kann, ist die Konfigurationsdatei /etc/apt-move.conf anzupassen.
  +
Diese Datei ist, wie alle Konfigurationsdateien auf einem Debian System, recht gut kommentiert. Wichtig ist es
  +
die Optionen APTSITES (entsprechend den Einträgen in der Datei /etc/apt/sources.list), LOCALDIR und
  +
DIST anzupassen. Diese beschreiben die Server von denen die Dateien geholt werden sollen, die lokalen
  +
Bereich in dem die Pakete gespeichert werden sollen und die gewünschte Distribution.
  +
Nach der Anpassung dieser drei Optionen wird apt-move zumindest keinen größeren Schaden anrichten....
  +
;-). Weitere Anpassungen können später noch vorgenommen werden, beispielsweise ist es sinnvoll nach
  +
einiger Zeit nicht mehr benötigte Dateien zu löschen, dies wird durch setzen der Option DELETE auf yes
  +
erreicht.
  +
In jedem Fall sollten die ersten Versuche mit apt-move immer den Parameter -t beinhalten, dieser testet nur
  +
die Einstellungen und es werden keine Aktionen durchgeführt.
  +
Sollen bestimmte Dateien (beispielsweise Kernel-Sourcen) ausgeschlossen werden, so können diese in einer
  +
Exclude-Datei festgelegt werden. Ein Beispiel für eine solche Datei findet sich unter
  +
/usr/share/doc/apt-move/examples/SAMPLE.exclude.
  +
156
  +
Kapitel 4. Installation weiterer Pakete
  +
4.3.9. apt-ftparchive
  +
apt-ftparchive erzeugt Index Dateien die von APT benutzt werden können um auf ein Paketverzeichnis
  +
zuzugreifen. Die Funktionalität ist vergleichbar mit der von dpkg-scanpackages und dpkg-scansources
  +
und kann diese Programme ersetzen.
  +
Die wichtigsten Kombinationen sind:
  +
packages binarypath [overridefile [pathprefix]]
  +
sources srcpath [overridefile [pathprefix]]
  +
contents path
  +
generate config [groups]
  +
clean config
  +
4.3.10. apt-show-source
  +
Dieses Programm vergleicht die APT Listen mit Source Dateien sowie das dpkg Status File und zeigt auf von
  +
welchen Paketen höhere Versionsnummer wie bereits installiert verfügbar sind. Um festzustellen welche
  +
Version die Sourcen eines Programmes haben, müssen natürlich entsprechende Einträge in der sources.list
  +
vorhanden sein. Hierbei ist auch darauf zu achten welche Release (potato, woody usw.) in den jeweiligen Zeilen
  +
angegeben ist.
  +
fr@wasabi:~$ apt-show-source -p bash
  +
Sorry, no newer source package available for bash
  +
In diesem Beispiel ist keine aktuellere Version dieses Pakete als Source Paket verfügbar. Zeigt jedoch die
  +
„deb-src“ Zeile auf eine ältere Release, so kann durchaus der Fall eintreten das das Source Paket auf einem
  +
älteren Stand ist.
  +
fr@wasabi:~$ apt-show-source -p bash
  +
Inst. Package (Version) | Newest Source Package (Version)
  +
-------------------------------------------------------------------------------
  +
bash (2.05a-12) | bash (2.05a-11)
  +
4.3.11. apt-show-versions
  +
Dieses Kommando zeigt die aktuell installierten Pakete, die Version und die Release an. Mittels der Option -p
  +
kann nur ein bestimmtes Paket angegeben werden, -r erlaubt die Filterung mittels Wildcard. Die Option -u
  +
zeigt alle Pakete die aktualisiert werden können.
  +
fr@surimi:~$ apt-show-versions -h
  +
Apt-Show-Versions v.0.02 (c) Christoph Martin
  +
Usage:
  +
apt-show-versions shows available versions of installed packages.
  +
Options:
  +
-stf|--status-file=<file> Use <file> as the dpkg status file instead
  +
of /var/lib/dpkg/status
  +
-ld|list-dir=<directory> Use <directory> as path to apt’s list files instead
  +
of /var/state/apt/lists/ or /var/lib/apt/lists/
  +
157
  +
Kapitel 4. Installation weiterer Pakete
  +
-p|--package=<package> Print versions for <package>.
  +
-r|--regex Read package with -p as regex
  +
-u|--upgradeable Print only upgradeable packages
  +
-a|--allversions Print all available versions.
  +
-b|--brief Short output.
  +
-v|--verbose Verbose messages.
  +
-h|--help Print this help.
  +
fr@surimi:~$ apt-show-versions -r -p kernel*
  +
kernel-image-2.4.13-686: No available version
  +
kernel-image-2.2.20-udma100-ext3/unstable upgradeable from 2.2.20-6 to 2.2.20-7
  +
kernel-source-2.2.20/testing uptodate 2.2.20-5
  +
kernel-image-2.4.5-686-smp: No available version
  +
kernel-headers-2.2.20-udma100-ext3/unstable uptodate 2.2.20-7
  +
kernel-package/unstable uptodate 8.004
  +
4.3.12. auto-apt
  +
auto-apt dient zur Installation von Programmen „bei Bedarf“. Dies kann beispielsweise bei der
  +
Softwareentwicklung oder auch schon beim einfachen übersetzen eines neuen Kernel sinnvoll sein. Mitunter
  +
fehlt auf frisch installierten Debian Systemen noch das Paket bin86 welches für das erzeugen eines Kernels
  +
benötigt wird. Um automatisch die fehlenden Pakete zu installieren wird einfach dem Aufruf von make das
  +
Kommando auto-apt vorangestellt: auto-apt make bzImage. Werden nun während des Durchlaufes
  +
fehlende Programme festgestellt, so ermittelt auto-apt zu welchem Paket diese gehören und installiert die
  +
fehlenden Pakete inklusive aller Abhängigkeiten.
  +
4.3.13. apt-listchanges
  +
In den meisten Debian Paketen sind sogenannte „changelog“ Dateien enthalten. In diesen dokumentiert der
  +
Betreuer eines Paketes die Änderungen zu vorhergehenden Version. Ein Blick in diese Dateien nach einem
  +
Update ist bei der Fehlersuche hilfreich wenn Probleme aufgetreten sind. Beispielsweise können in der neuen
  +
Version eines Paketes Dateien an einem anderen Ort liegen oder ein Dienst „horcht“ plötzlich auf einem
  +
anderen Port.
  +
Da diese Änderungen erst nach der Installation bemerkt werden kann es zu unerwünschten Unterbrechungen im
  +
Betrieb kommen. Abhilfe schafft hier das Paket apt-listchanges. Dieses zeigt vor der Installation eines
  +
Paketes die Veränderungen die im Changelog dokumentiert sind an, der Administrator hat die Möglichkeit den
  +
Installationsvorgang an dieser Stelle abzubrechen.
  +
fr@wasabi:~# apt-get install libmng1
  +
...
  +
Reading changelogs... Done
  +
libmng (1.0.3-4) unstable; urgency=low
  +
* Build with renamed version of lcms.
  +
-- Luis Arocha <data@debian.org> Mon, 3 Jun 2002 18:27:19 +0100
  +
apt-listchanges: Mailing changelogs to fr
  +
Selecting previously deselected package liblcms1-dev.
  +
(Reading database ... 115754 files and directories currently installed.)
  +
...
  +
158
  +
Kapitel 4. Installation weiterer Pakete
  +
apt-listchanges wird bei der Installation über Debconf konfiguriert, es kann dort eine E-Mailadresse
  +
angegeben werden an die die Changelog Informationen gesendet werden. Weiterhin kann bei der KOnfiguration
  +
gewählt werden ,ob nach dem Anzeigen des Changelogs die Installation fortgesetzt werden soll oder, (wie in
  +
diesem Beispiel, die Installation abgebrochen werden soll.
  +
4.3.14. apt-config
  +
MIttels apt-config läßt sich der Inhalt der Datei /etc/apt/config sowie die voreingestellten Werte
  +
anzeigen. Weiterhin lassen sich auch einzelne Werte mit diesem Tool setzen.
  +
Die Optionen von apt-config lesen sich recht übersichtlich:
  +
apt 0.5.4 for linux i386 compiled on Aug 19 2001 01:02:39
  +
Usage: apt-config [options] command
  +
apt-config is a simple tool to read the APT config file
  +
Commands:
  +
shell - Shell mode
  +
dump - Show the configuration
  +
Options:
  +
-h This help text.
  +
-c=? Read this configuration file
  +
-o=? Set an arbitary configuration option, eg -o dir::cache=/tmp
  +
apt-config sollte nicht als Kommando eingesetzt werden, es ist eigentlich als Systemkommando für die
  +
Verwendung innerhalb von Installations Skripten vorgesehen.
  +
4.3.15. console-apt
  +
Mit Console-Apt oder auch capt können Sie über eine textbasierte Oberfläche, ähnlich wie bei dselect, die
  +
Pakete auf Ihrem System verwalten.
  +
Abbildung 4-5. capt - Startbild
  +
159
  +
Kapitel 4. Installation weiterer Pakete
  +
Sie können capt auch als console-apt oder apt-find aufrufen (apt-find war der Vorgänger von capt).
  +
capt kann aber auch apt-get ersetzen. Hierzu wurden alle nötigen Kommandozeilenparameter, die von
  +
apt-get bekannt sind, auch in capt umgesetzt.
  +
-U, \-upgrade
  +
Aktualisiert alle installierten Pakete, von denen eine neuere Version verfügbar ist.
  +
-u, \-update
  +
Aktualisiert die Liste der verfügbaren Pakete.
  +
-i, \-install <package>
  +
Installiert die gewünschten Pakete und führt ggf. vorher einen Download durch.
  +
-r, \-remove <package>
  +
Entfernt Pakete aus dem System.
  +
-h, \-help
  +
Zeigt eine kurze Hilfe zu den verfügbaren Optionen an.
  +
-v, \-version
  +
Zeigt die Programmversion (von capt an.
  +
Mit diesen Parametern haben Sie also die Möglichkeit, alle Funktionen von apt-get nachzubilden. Doch capt
  +
kann natürlich noch mehr. Starten Sie capt ohne Parameter und Sie können nun capt über eine textbasierte
  +
Oberfläche bedienen. Die wichtigste Taste (zumindest am Anfang) ist das Fragezeichen (?), mit dem Sie eine
  +
Übersicht der Tastaturbelegung aufrufen können. Grundsätzlich ist die Bedienung von capt an die auch bei
  +
vielen anderen Programmen bekannten Konventionen angelehnt. Wenn Sie sich ein wenig mit more oder vi
  +
auskennen, werden Sie sich auch schnell in capt zurechtfinden.
  +
Hier eine Übersicht der Tastaturbelegung von capt:
  +
RETURN
  +
Zeigt die Paketabhängigkeiten (dependencies) an.
  +
d
  +
Zeigt die Paketbeschreibung (description) an.
  +
s
  +
Ändert die Sortierung in der Anzeige. Sie können zwischen einer Sortierung nach Namen, nach Sektion
  +
und Namen, nach Archivgröße, nach installierter Größe und nach Status und Namen wählen.
  +
/
  +
Suchen nach Programmnamen.
  +
r
  +
Setzt die beim Suchen markierten Einträge zurück.
  +
n
  +
Springt zum nächsten Eintrag, der dem Suchbegriff entspricht.
  +
+ oder SPACE
  +
Markiert ein Paket zur Installation/Upgrade.
  +
160
  +
Kapitel 4. Installation weiterer Pakete
  +
- oder TAB
  +
Markiert ein Paket zum Löschen.
  +
U
  +
Aktualisiert alle älteren Pakete (Upgrade).
  +
c oder BACKSPACE
  +
Vervollständigt alle noch offenen Installations- oder Löschvorgänge, bei denen zuvor Probleme aufgetreten
  +
sind.
  +
u
  +
Aktualisiert die Liste der verfügbaren Pakete.
  +
R
  +
Liste den Cache für Apt neu ein.
  +
j oder PFEIL-UNTEN
  +
Bewegt den Auswahlbalken zum nächsten Eintrag.
  +
k oder PFEIL-OBEN
  +
Bewegt den Auswahlbalken zum vorherigen Eintrag.
  +
^ oder g
  +
Springt an den Anfang der Liste.
  +
$ oder G
  +
Springt ans Ende der Liste.
  +
CTRL+F oder PAGE-UP
  +
Springt eine Bildschirmlänge nach oben.
  +
CTRL+B oder PAGE-DOWN
  +
Springt eine Bildschirmlänge nach unten.
  +
[
  +
Scrollt in der Paketbeschreibung nach oben.
  +
]
  +
Scrollt in der Paketbeschreibung nach unten.
  +
?
  +
Ruft die Hilfeseiten auf.
  +
q
  +
Beendet das Programm beziehungsweise verläßt die Hilfeseite.
  +
4.3.16. aptitude
  +
aptitude verfolgt eine etwas andere Philosophie wie dselect. Es wird streng nach installierten, nicht
  +
installierten, virtuellen Paketen und Paketen mit einer neueren Version unterschieden. Innerhalb dieser vier
  +
Gruppen werden alle Pakete in einer Baumstruktur dargestellt, die auch die Verzeichnisstruktur innerhalb des
  +
Debian Archives darstellt, also beispielsweise: main/admin oder non-US/non-free.
  +
161
  +
Kapitel 4. Installation weiterer Pakete
  +
Sie können einzelne Teile der Struktur aufklappen und in den einzelnen Bereichen Pakete auswählen.
  +
Abbildung 4-6. aptitude
  +
Auch bei aptitude decken sich die meisten Tastaturbelegungen mit dselect beziehungsweise capt.
  +
PFEIL-UNTEN
  +
Bewegt den Auswahlbalken zum nächsten Eintrag.
  +
PFEIL-OBEN
  +
Bewegt den Auswahlbalken zum vorherigen Eintrag.
  +
RETURN
  +
Klappt ein Verzeichnis auf/zu.
  +
^
  +
Springt zum Verzeichnis zu dem das Paket gehört.
  +
+
  +
Markiert ein Paket zur Installation. Bitte beachten Sie, daß aptitude momentan noch nicht die
  +
Abhängigkeiten prüft! Diese Funktion ist noch nicht realisiert.
  +
-
  +
Markiert ein Paket zum Löschen. Momentan ist es nicht möglich, das Paket zusammen mit den
  +
Konfigurationsdateien über aptitude zu löschen (purge).
  +
i
  +
Zeigt die Beschreibung des Paketes an.
  +
d
  +
Zeigt die Abhängigkeiten des Paketes an.
  +
162
  +
Kapitel 4. Installation weiterer Pakete
  +
v
  +
Zeigt die verfügbaren Versionen des Paketes an.
  +
u
  +
Aktualisiert die Liste der verfügbaren Pakete.
  +
g
  +
Startet die Installation der ausgewählten Pakete.
  +
Die Bedeutung der verschiedenen Hintergrundfarben innerhalb des Programms:
  +
schwarz
  +
„Normalzustand“ eines Paketes. Beim nächsten Installationsdurchlauf wird dieses Paket nicht verändert.
  +
Fett geschriebene Pakete sind bereits installiert.
  +
rot
  +
Paket ist in einem unbrauchbaren Zustand oder kann nicht installiert werden.
  +
blau
  +
Paket wird mit einer neueren Programmversion aktualisiert.
  +
weiß
  +
Dieses Paket könnte aktualisiert werden, es wurde aber auf dem aktuellen Stand fixiert (hold).
  +
grün
  +
Paket wird installiert.
  +
magenta
  +
Paket wird gelöscht.
  +
4.3.17. gnome-apt
  +
Dieses Programm passt sich mit seiner GTK+-basierten Oberfläche perfekt in den aktuellen Debian GNOME
  +
Desktop ein. Auch mit gnome-apt können Sie alle wichtigen Aufgaben erfüllen, die bei der Paketverwaltung
  +
anfallen.
  +
163
  +
Kapitel 4. Installation weiterer Pakete
  +
Abbildung 4-7. GNOME apt
  +
Sehen wir uns zunächst die Menüs der Reihe nach an.
  +
„File“ – hier finden sich zwei Einträge zur Konfiguration des Programms sowie der Punkt „Quit“, welcher das
  +
Programm beendet. „General Preferences“ bietet die Möglichkeit, die Paketbeschreibung im Hauptfenster des
  +
Programms auszublenden („Show package details in main window“). Sie haben so mehr Platz, um die Paketliste
  +
mit den verschiedenen Kategorien anzeigen zu lassen. Weiterhin können Sie hier die Reihenfolge der Spalten in
  +
der Paketliste verändern.
  +
Interessanter ist der zweite Eintrag „Sources“. Hier können Sie die Quellen angeben, von denen aus die
  +
Paketinformationen sowie die eigentlichen Debian-Pakete installiert werden sollen. An dieser Stelle können Sie
  +
zum ersten Mal Abschied vom Texteditor nehmen, um die Datei /etc/apt/sources.list zu bearbeiten.
  +
Abbildung 4-8. GNOME apt - source
  +
164
  +
Kapitel 4. Installation weiterer Pakete
  +
Hinter der Schaltfläche „Add source“ verbirgt sich ein Assistent, der Sie durch die notwendigen Einstellungen
  +
führt. Ein Bild sagt wie so oft mehr als viele Worte, hier ein Beispiel für die Konfiguration einer neuen
  +
Installationsquelle:
  +
Abbildung 4-9. GNOME apt - source
  +
Im ersten Dialog können Sie die gewünschte Version von Debian GNU/Linux auswählen. Normalerweise wird
  +
dies „stable“ für die stabile Version sein. Wenn Sie mit der Entwicklerversion experimentieren wollen, wählen
  +
Sie „unstable“, und wenn die Ihnen vorliegenden Pakete in kein Schema passen, steht Ihnen auch noch „other“
  +
zur Auswahl.
  +
165
  +
Kapitel 4. Installation weiterer Pakete
  +
Abbildung 4-10. GNOME apt - source
  +
Geben Sie hier nun die Adresse an, unter der die Pakete zu finden sind. Dies bezieht sich auf den Punkt im
  +
Verzeichnisbaum, an dem sich das Verzeichnis „dists“ befindet. Sie können auch einen bestehenden Eintrag aus
  +
der Liste wählen.
  +
166
  +
Kapitel 4. Installation weiterer Pakete
  +
Abbildung 4-11. GNOME apt - source
  +
Wählen Sie hier nun eine oder mehrere Optionen aus. Sie bestimmen hier, aus welchen Bereichen der
  +
Distribution Pakete installiert werden sollen.
  +
Die neue Quelle erscheint danach in der Liste und kann über „Remove source“ wieder entfernt werden oder
  +
über „Edit source“ nachträglich verändert werden. Allein diese Funktion wird einigen Nutzern so gut gefallen,
  +
daß Sie daraufhin nicht mehr auf gnome-apt verzichten wollen...
  +
Hinter dem zweiten Menüpunkt „Actions“ finden Sie die eigentlichen Funktionen, die die notwendigen
  +
Aktionen auslösen, die Sie in der Paketliste eingestellt haben. „Update“ liest die Paketdateien neu ein und
  +
aktualisiert die Übersicht. Falls die Dateien nicht auf einem lokalen Medium vorliegen (CD-ROM oder
  +
Festplatte), werden diese per ftp oder http-Protokoll vom angegebenen Server geholt. „Complete run“ installiert
  +
die ausgewählten Pakete beziehungsweise entfernt die nicht mehr gewünschten Pakete aus dem System. „Mark
  +
upgrades“ entspricht einem apt-get upgrade und markiert alle neuen Pakete, so daß diese beim nächsten
  +
Anwählen von „Complete run“ aktualisiert werden. „Mark smart upgrade“ hingegen dient zur Aktualisierung
  +
eines Debian-Systems auf die nächste Version. Dies entspricht einem apt-get dist-upgrade.
  +
„Package“ – hier ist der wichtigste Menüpunkt sicherlich „Search“. Hierunter verbirgt sich ein recht mächtiges
  +
Werkzeug, um aus der umfangreichen Liste einzelne Pakete zu finden.
  +
167
  +
Kapitel 4. Installation weiterer Pakete
  +
Abbildung 4-12. GNOME apt - suchen
  +
Beachten Sie, daß hierbei nicht nur nach Namen von Paketen gesucht wird, sondern auch die
  +
Paketbeschreibungen sowie alle anderen verfügbaren Informationen durchsucht werden. Unix-Kundige
  +
erreichen sowas auch mit einem geschickten grep auf die passenden Dateien, aber hier steht Ihnen diese
  +
Funktion direkt zur Verfügung.
  +
Die weiteren Einträge im Menü „Package“ ändern den Status eines Paketes, dies läßt sich aber auch mit einem
  +
Mausklick in der Paketliste in der passenden Spalte erreichen.
  +
Das nächste Menü – „View“ – erlaubt Ihnen, auf vielfältige Weise die Anzeige der Paketliste zu verändern. Der
  +
erste Eintrag „Details“ entspricht der Anzeige der Paketinformationen im Hauptfenster und wird nur benötigt,
  +
falls Sie dieses in den Einstellungen für das Hauptfenster ausgeschaltet haben. Hinter dem Menüpunkt
  +
„Columns“ können Sie wählen, welche Spalten im Hauptfenster angezeigt werden sollen.
  +
Am spannendsten sind die letzten beiden Einträge: hier können Sie sehr detailliert beeinflussen, in welcher
  +
Reihenfolge die Pakete in der Paketliste angezeigt werden sollen. Mittels „Group“ beeinflussen Sie die Anzeige
  +
der gesamten Pakete. Sie können hier zwischen einer alphabetischen Sortierung, nach Sektion, nach Priorität
  +
oder nach Status wählen. Die Sortierung nach Sektion wird Ihnen von dselect her bekannt vorkommen. Dabei
  +
werden die Pakete nach ihrer Zugehörigkeit, zum Beispiel „admin“ oder „x11“, angezeigt. Eine Sortierung nach
  +
Status wird Ihnen im allgemeinen lediglich die installierten und die noch nicht installierten Pakete anzeigen,
  +
also zwei Gruppen. Weiterhin lassen sich die Pakete nach Priorität anzeigen, hierbei wird unterschieden in
  +
„Extra“, „Important“, „No version available“, „Optional“, „Required“ sowie „Standard“
  +
Der Menüpunkt „Order“ dient der Sortierung innerhalb der eben beschriebenen Gruppen, auch hier können Sie
  +
wieder zwischen den oben genannten vier Varianten wählen.
  +
Die Einträge im Menü „Advanced“ sind momentan noch ohne Funktion, hier können Sie später Paketlisten imund
  +
exportieren. Im Menü „Help“ verbergen sich allgemeine Informationen zu gnome-apt (Eintrag „About...“)
  +
sowie eine Übersicht über die Bedeutung der verwendeten Symbole:
  +
168
  +
Kapitel 4. Installation weiterer Pakete
  +
Abbildung 4-13. GNOME apt - Symbole
  +
Sie werden gnome-apt normalerweise zur Installation neuer Pakete auf Ihrem System einsetzen. Wählen Sie
  +
hierzu im Menü „Actions“ den Eintrag „Update“, um die Paketinformationen zu aktualisieren. Danach wählen
  +
Sie die gewünschten Pakete aus, hier am Beispiel von 2utf gezeigt.
  +
Abbildung 4-14. GNOME apt
  +
169
  +
Kapitel 4. Installation weiterer Pakete
  +
Sie können natürlich noch weitere Pakete auswählen, dies soll lediglich ein einfaches Beispiel sein. Wenn Sie
  +
lediglich dieses eine neue Paket installieren möchten, wählen Sie nun aus dem Menü „Action“ den Eintrag
  +
„Complete run“ aus. Sie bekommen noch einmal angezeigt, welche Aktionen nun durchgeführt werden, mit
  +
einem Mausklick auf „OK“ wird das gewünschte Paket installiert.
  +
Abbildung 4-15. GNOME apt - Installation
  +
Wenn Sie auch die Pakete, die seit der letzten Installation auf dem Server aktualisiert wurden, auf Ihrem System
  +
aktualisieren möchten, wählen Sie vor der Installation aus dem Menü „Action“ noch den Eintrag „Mark
  +
upgrades“ aus.
  +
170
  +
Kapitel 4. Installation weiterer Pakete
  +
Abbildung 4-16. GNOME apt - Installation
  +
4.4. APT Pinning
  +
Eine besondere Stärke des Debian Paketmanagements ist das unterschiedliche Release Stände verwendet
  +
werden können. Hierzu sind zumindest zwei Releases (beispielsweise „woody“ und „testing“) mit
  +
entsprechenden Einträgen in der Datei /etc/apt/sources.list anzugeben. Nun kann mittels apt-get
  +
--target-release der gewünschte Release Stand für ein Paket gewählt werden.
  +
Sinnvoll ist dieses Feature leider nur mit zwei Releases einsetzbar, werden drei Debian Releases (beispielsweise
  +
zusätzlich „testing“) oder aber eine Nicht-Debian Paketquelle gemischt, so kommt es zu seltsamen Ergebnissen.
  +
Die Lösung für dieses Problem ist eine Erweiterung der Datei /etc/apt/preferences.
  +
Hier zunächst ein Beispiel für eine sinnvolle /etc/apt/preferences Datei, auf den meisten Systemen wird
  +
diese Datei nicht existieren (sie wird auch nicht zwingend benötigt) und muss daher neu angelegt werden.
  +
* Track stable:
  +
Explanation: see http://www.argon.org/~roderick/apt-pinning.html
  +
Package: *
  +
Pin: release o=Debian,a=stable
  +
Pin-Priority: 900
  +
Package: *
  +
Pin: release o=Debian,a=testing
  +
Pin-Priority: 400
  +
Package: *
  +
Pin: release o=Debian,a=unstable
  +
Pin-Priority: 300
  +
Package: *
  +
Pin: release o=Debian
  +
171
  +
Kapitel 4. Installation weiterer Pakete
  +
Pin-Priority: -1
  +
* Track testing:
  +
Explanation: see http://www.argon.org/~roderick/apt-pinning.html
  +
Package: *
  +
Pin: release o=Debian,a=testing
  +
Pin-Priority: 900
  +
Package: *
  +
Pin: release o=Debian,a=unstable
  +
Pin-Priority: 300
  +
Package: *
  +
Pin: release o=Debian
  +
Pin-Priority: -1
  +
Bereits beim einmaligen Aufruf von apt-get kann mittels der Option -t der Wert für „APT::Default-Release“
  +
gesetzt werden. Diese Einstellung gilt jedoch lediglich für diesen einen Aufruf von apt-get. Beispiel:
  +
apt-get --t unstable install paketname. Dies kann durchaus ein sehr nützliches Feature sein, kann
  +
sich aber in anderen Fällen auch problematisch auswirken.
  +
Die gute Seite: Sind in der sources.list die Releases „testing“ und unstable definiert und in der Datei
  +
apt.conf ist der Wert für APT::Default-Release auf „testing“ gesetzt, so ergeben sich folgende Prioritäten
  +
für das Paket „foo“:
  +
release version priority
  +
no -t switch -t unstable
  +
testing 1.1 990 500
  +
unstable 1.2 500 990
  +
Ist das Paket „foo“ nicht installiert und es wird apt-get install foo aufgerufen, so wird die Version 1.1
  +
aus „testing“ installiert, da diese die höchste Priorität hat.
  +
Mittels apt-get -t unstable install foo kann gezielt die Version 1.2 aus „unstable“ installiert werden,
  +
da für diesen einen Aufruf von apt-get die Priorität erhöht wird.
  +
4.5. dpkg
  +
dpkg ist die Basis der Debian Paketverwaltung. Mit diesem Programm kommen Sie nur in seltenen Fällen in
  +
Berührung, meist werden Sie Frontends wie APT benutzen. Hier trotzdem einigen nützliche Beisþiele.
  +
4.5.1. -l
  +
Mit der Option -l können die tatsächlichen Paketnamen ermittelt werden. Diese weichen häufig von den
  +
eigentlichen Befehlen ab.
  +
wasabi:~$ dpkg -l mozilla*
  +
Gewünscht=Unbekannt/Installieren/R=Entfernen/P=Säubern/Halten
  +
| Status=Nicht/Installiert/Config/U=Entpackt/Fehlgeschl. Konf./Halb install.
  +
|/ Fehler?=(keiner)/Halten/R=Neuinst. notw/X=beides (Status, Fehler: GROß=schlecht)
  +
||/ Name Version Beschreibung
  +
+++-==============-==============-============================================
  +
ii mozilla 1.0.0-1 Mozilla Web Browser - dummy package
  +
ii mozilla-browse 1.0.0-1 Mozilla Web Browser - core and browser
  +
rc mozilla-browse 0.0.20020226.1 An Open Source WWW browser for X and GTK+ (C
  +
ii mozilla-browse 0.0.20020610.0 An Open Source WWW browser for X and GTK+ (C
  +
ii mozilla-chatzi 1.0.0-1 Mozilla Web Browser - irc client
  +
pn mozilla-chatzi <keine> (keine Beschreibung vorhanden)
  +
172
  +
Kapitel 4. Installation weiterer Pakete
  +
pn mozilla-chatzi <keine> (keine Beschreibung vorhanden)
  +
pn mozilla-cvs <keine> (keine Beschreibung vorhanden)
  +
pn mozilla-cvs-de <keine> (keine Beschreibung vorhanden)
  +
ii mozilla-dev 1.0.0-1 Mozilla Web Browser - development files
  +
un mozilla-dmotif <keine> (keine Beschreibung vorhanden)
  +
ii mozilla-dom-in 1.0.0-1 A tool for inspecting the DOM of pages in Mo
  +
ii mozilla-dom-in 0.0.20020610.0 A tool for inspecting the DOM of pages in Mo
  +
ii mozilla-js-deb 1.0.0-1 JavaScript debugger for use with Mozilla
  +
pn mozilla-js-deb <keine> (keine Beschreibung vorhanden)
  +
rc mozilla-locale 0.9.9-3 Mozilla German Language/Region Package.
  +
pn mozilla-locale <keine> (keine Beschreibung vorhanden)
  +
pn mozilla-locale <keine> (keine Beschreibung vorhanden)
  +
ii mozilla-mailne 1.0.0-1 Mozilla Web Browser - mail and news support
  +
pn mozilla-mailne <keine> (keine Beschreibung vorhanden)
  +
pn mozilla-mailne <keine> (keine Beschreibung vorhanden)
  +
ii mozilla-psm 1.0.0-1 Mozilla Web Browser - Personal Security Mana
  +
pn mozilla-psm-cv <keine> (keine Beschreibung vorhanden)
  +
ii mozilla-psm-sn 0.0.20020610.0 PSM - Personal Security Manager for Mozilla
  +
un mozilla-smotif <keine> (keine Beschreibung vorhanden)
  +
pn mozilla-snapsh <keine> (keine Beschreibung vorhanden)
  +
pn mozilla-snapsh <keine> (keine Beschreibung vorhanden)
  +
ii mozilla-xmlter 1.0.0-1 Mozilla Web Browser - XML enabled
  +
pn mozilla-xmlter <keine> (keine Beschreibung vorhanden)
  +
pn mozilla-xmlter <keine> (keine Beschreibung vorhanden)
  +
Problematisch ist hierbei das der Name des Paketes abgeschnitten wird, dies kann durch setzen der Variablen
  +
COLUMNS verändert werden: COLUMNS=132 dpkg -l mozilla*.
  +
4.5.2. -S
  +
Mit der Option -S kann ermittelt werden zu welchem Paket eine Datei gehört. Dies trifft lediglich auf bereits
  +
installierte Pakete zu. Eine Suche in nicht installierten Paketen ist auf diesem Wege nicht möglich.
  +
fr@wasabi:~$ dpkg -S gdm.conf
  +
gdm: /etc/gdm/factory-gdm.conf
  +
gdm: /etc/gdm/gdm.conf
  +
fr@wasabi:~$ dpkg -S /etc/gdm/gdm.conf
  +
gdm: /etc/gdm/gdm.conf
  +
Hierbei kann das weglassen oder hinzufügen des Pfades zu der gesuchten Datei zu unterschiedlichen
  +
Ergebnissen führen.
  +
4.5.3. --force-confnew
  +
Sollte ein mal aus Versehen eine der Konfigurationsdateien verschwunden sein oder eine andere wichtige Datei
  +
fehlen, so kann ein komplettes Paket einfach erneut installiert werden. Hierzu ist zunächst das betroffene Paket
  +
zu besorgen, beispielsweise mit apt-get -d install paket. Nun kann das Paket installiert werden, die
  +
Option --force-confnew überschreibt dabei alle Konfigurationsdateien: dpkg -i --force-confnew
  +
/var/cache/apt/archives/paket.deb.
  +
173
  +
Kapitel 4. Installation weiterer Pakete
  +
4.5.4. dpkg-scanpackage
  +
Pakete die aus dem Internet geholt wurden und in irgendeinem Verzeichnis auf der Festplatte schlummern
  +
lassen sich mit den bisher beschriebenen Methoden nur mühsam installieren. Eleganter wäre es auch diese
  +
Pakete in die sources.list einzubinden. Doch leider scheitert dies an der fehlenden Datei Packages.gz.
  +
Diese Datei kann mit dem Programm dpkg-scanpackage erzeugt werden.
  +
Die Datei Packages.gz enthält Informationen darüber, welche Pakete sich in diesem Verzeichnis befinden.
  +
Mit dem Kommando dpkg-scanpackages ./ /dev/null | gzip > Packages.gz, welches direkt in
  +
dem Verzeichnis aufgerufen wird in dem sich die Pakete befinden, läßt sich diese Datei erzeugen. Wenn weitere
  +
oder aktualisierte Pakete in diesem Verzeichnis abgelegt werden muß das Kommandos natürlich erneut
  +
aufgerufen werden.
  +
Wenn die Pakete auf dem System im Verzeichnis /home/ftp/meinepakete/ abgelegt sind, lautet der Eintrag
  +
in der Datei /etc/apt/sources.list:
  +
deb file:/home/ftp/meinepakete ./
  +
Der Pfad ist den lokalen Gegebenheiten anzupassen.
  +
4.5.5. dpkg-scansources
  +
Natürlich ist es nicht nur möglich für Binärpakete entsprechende Package Dateien zu erzeugen, dies kann auch
  +
für die Source Pakete geschehen.
  +
Es werden zunächst die drei, den Binärpaket zugehörigen, Sourcedateien mit den Endungen .orig.tar.gz,
  +
.dsc und .diff.gz benötigt. Diese werden in einem eigenen Verzeichnis abgelegt. Die Programme zur
  +
Verwaltung von Debian Paketen greifen bei Source Paketen auf die Datei Sources.gz zu. Diese kann mit dem
  +
Kommando dpkg-scansources ./ | gzip > Sources.gz erzeugt werden. Hierbei ist zu beachten das
  +
dpkg-scansources kein Override-File benötigt. Die Angabe „/dev/null“ muss hierbei also entfallen.
  +
4.6. netselect
  +
Debian GNU kann sehr komfortabel mittels apt-get und entsprechenden Einträgen in der Datei
  +
sources.list über das Internet aktualisiert werden. Der Zugriff auf die via HTTP oder FTP verfügbaren
  +
Debian-Server ist dabei unterschiedlich schnell. Natürlich möchte man einen netzwerktechnisch besonders gut
  +
erreichbaren Server zur Installation nutzen, doch welcher ist das...? Hier hilft das Paket netselect.
  +
netselect prüft aus der Liste der Debian Mirrors die Verfügbarkeit und die Übertragungsrate jedes einzelnen
  +
Servers. Abschliessend wird der am besten erreichbare Server ausgegeben. Anhand dieser Angaben kann ein
  +
Eintrag in der Datei sources.list erfolgen.
  +
Eine detailierte Statistik aller angefragten Server kann mit der Option -vv ausgegeben werden. Weiterhin ist es
  +
möglich auf der Kommandozeile nur eine Auswahl von Servern anzugeben, aus diesen wird dann der schnellste
  +
ermittelt.
  +
fr@sushi:~$ netselect ftp.debian.org ftp.de.debian.org ftp.fr.debian.org
  +
0 ftp.debian.org
  +
fr@sushi:~$ netselect -vv ftp.debian.org ftp.de.debian.org ftp.fr.debian.org
  +
Running netselect to choose 1 out of 3 addresses.
  +
..............................
  +
ftp.debian.org 0 ms 2 hops 90% ok ( 9/10) [ 0]
  +
ftp.de.debian.org 0 ms 2 hops 90% ok ( 9/10) [ 0]
  +
ftp.fr.debian.org 0 ms 2 hops 90% ok ( 9/10) [ 0]
  +
0 ftp.debian.org
  +
174
  +
Kapitel 4. Installation weiterer Pakete
  +
Ab der Version 0.3 von netselect ist das Kommando netselect-apt im Paket enthalten. Als Parameter kann die
  +
gewünschte Release („potato“, „woody“, „sid“ usw.) angegeben werden. netselect-apt holt zunächst die
  +
Liste aller Debian Mirrors, ermittelt den schnellsten Server und erzeugt (Achtung: im aktuellen Verzeichnis!)
  +
eine entsprechende Datei sources.list.
  +
fr@sushi:~$ netselect-apt woody
  +
Retrieving the list of mirrors from www.debian.org...
  +
--16:09:46-- http://www.debian.org/mirror/mirrors_full
  +
=> ‘mirrors_full’
  +
...(weitere Aktivitäten)
  +
Writing the sources.list in the current directory.
  +
Done.
  +
fr@sushi:~$ ls -l sources.list
  +
-rw-rw-r-- 1 fr fr 545 Mai 23 2002 sources.list
  +
Die so entstandene Datei kann nun an die bestehende sources.list angehängt werden oder diese komplett
  +
ersetzen.
  +
4.7. apt-spy
  +
apt-spy dient zur automatischen Erzeugung einer sources.list für apt. Hierzu wird aus dem Netz die
  +
Datei ftp://ftp.us.debian.org/debian/README.mirrors geholt und auf Einträge für Debian
  +
Mirror-Server hin untersucht. Alle diese Server werden hinsichtlich Antwortzeit und Bandbreite getestet. Die
  +
drei am besten zu erreichenden Server, dies müssen nicht zwingend die geographisch am nächsten gelegenen
  +
Server sein, werden dann in die Datei /etc/apt/sources.list aufgenommen.
  +
4.8. deborphan
  +
deborphan ist ein Programm, das Pakete auf einem Debian-/GNU System überprüft. Wird ein Paket gefunden
  +
von dem keine anderen Pakete abhängig sind, so wird der Name ausgegeben. Dies ist hauptsächlich sinnvoll um
  +
installierte Bibliotheken zu finden die nicht mehr benötigt werden.
  +
surimi:~# deborphan
  +
libxosd0
  +
libwww0
  +
libgsm1
  +
libqxt0
  +
libwnck4
  +
libavifile0.6
  +
lapack
  +
libzvt2-0
  +
libid3-3.7-13
  +
libgtop2
  +
libflac1
  +
libnautilus0
  +
libpanel-applet2-0
  +
libstdc++2.10
  +
Die angezeigten Paketen können nun mit den üblichen Tools entfernt werden. Wenn die Liste zunächst genau
  +
kontrolliert wurde (um zu verhindern das noch benötigte Pakete versehentlich gelöscht werden), können die
  +
175
  +
Kapitel 4. Installation weiterer Pakete
  +
nicht benötigten Pakete mit dpkg --purge ‘deborphan‘ oder dpkg --purge ‘deborphan
  +
--guess-all‘ gelöscht werden.
  +
Es stehen weiterhin zwei Frontends für deborphan zur Verfügung. Das Programm orphaner läßt Sie
  +
„rekursiv“ Pakete entfernen.
  +
Abbildung 4-17. orphaner
  +
Mit editkeep kann verwendet werden, um eine Liste der Pakete zu erstellen die nicht mehr von deborphan
  +
angezeigt werden sollen.
  +
176
  +
Kapitel 4. Installation weiterer Pakete
  +
Abbildung 4-18. editkeep
  +
4.9. debfoster
  +
debfoster entfernt automatisch nicht zwingend auf dem System benötigte Pakete. Hierzu wird eine Liste aller
  +
Pakete welche zur Installation ausgewählt wurden erstellen. In dieser Liste sind keine Pakete aufgeführt die
  +
aufgrund einer Abhängigkeit zu einem Paket installiert wurden. debfoster kann nach jedem Start von dpkg
  +
oder apt aufgerufen werden um nicht länger benötigte Pakete aus dem System zu entfernen.
  +
debfoster erfordert zunächst einen höheren Aufwand nach dem ersten Start. Es wird eine Liste aller Pakete
  +
definiert, die Antworten werden gespeichert, so daß beim nächsten Start nur bei veränderten Paketen
  +
nachgefragt wird.
  +
gnome-office is keeping the following 24 packages installed:
  +
abiword-gnome bonobo-conf dia-common dia-gnome evolution ganso gnucash
  +
gnumeric gtkhtml guile1.4-slib libbonobo-conf0 libcamel0 libdate-manip-perl
  +
libfinance-quote-perl libgnome-pilot1 libgtkhtml-data libguppi16
  +
libgwrapguile1 libhtml-tableextract-perl libole2-0 libpisock4 libunicode0
  +
mrproject slib
  +
Keep gnome-office? [Ynpsiuqx?], [H]elp: Y
  +
nautilus1.1 is keeping the following 10 packages installed:
  +
libeel2-1 libeel2-data libgail-common libgail13 libgail15
  +
libgnome-desktop-0 libgtkhtml2-0 libnautilus1.1-2 nautilus1.1-data
  +
nautilus1.1-gtkhtml
  +
Keep nautilus1.1? [Ynpsiuqx?], [H]elp: Y
  +
aptconf is keeping the following 11 packages installed:
  +
configlet-frontends gnome-sudo libxml-grove-perl libxml-perl
  +
177
  +
Kapitel 4. Installation weiterer Pakete
  +
python-configlet python-gdk-imlib python-glade python-gnome python-gtk
  +
python-xml python2.1-xml
  +
Keep aptconf? [Ynpsiuqx?], [H]elp:
  +
Weiterhin läßt sich debfoster über die Kommandozeile steuern. Somit lassen sich viele Aktionen
  +
automatisieren.
  +
Usage: debfoster [-ck FILE] [-adefhinopqrsvV] package1 package2-
  +
Installs package1, deinstalls package2
  +
-v, --verbose Be a loudmouth
  +
-V, --version Show version and copyright information
  +
-h, --help Show this message
  +
-q, --quiet Silently build keeper file
  +
-f, --force Force system to conform to keeper file
  +
-m, --mark-only Do not install or delete packages
  +
-u, --upgrade Try to upgrade dependencies
  +
-c, --config FILE Specify configuration file
  +
-k, --keeperfile FILE Specify keeper file
  +
-n, --no-keeperfile Don’t read keeper file
  +
-i, --ignore-default-rules Ignore default rules
  +
-a, --show-keepers Show packages on keeper list
  +
-s, --show-orphans Show orphaned packages
  +
-d, --show-depends PACKAGE Show all depends of PACKAGE
  +
-e, --show-dependents PACKAGE Show dependents of PACKAGE
  +
-p, --show-providers PACKAGE Show packages providing PACKAGE
  +
-r, --show-related PACKAGE Show packages brought in by PACKAGE
  +
-t, --use-tasks Make tasks visible as packages
  +
-o, --option OPT=VAL Override any configuration option
  +
See also: debfoster(8)
  +
debfoster 2.5 -- Copyright (C) 2000,2001 Wessel Dankers.
  +
Distributed under the GNU General Public License.
  +
4.10. task-Pakete
  +
Die Auswahl aus einigen tausend Debian GNU/Linux-Paketen ist gerade für den Einsteiger nicht einfach. Aber
  +
auch Profis verlieren in der Masse der Pakete leicht den Überblick. Wer nicht zu jedem Paket die Beschreibung
  +
lesen und anhand dieser entscheiden will, ob ein Paket installiert werden soll oder nicht, kann sich in die Hände
  +
der Debian-Entwickler begeben und bereits sorgfältig zusammengestellte Paketgruppen installieren. Es stehen
  +
mittlerweile eine ganze Reihe solcher task- Pakete zur Verfügung. Alle diese Pakete beginnen im Paketnamen
  +
mit task-, so daß Sie diese beispielsweise in dselect leicht heraussuchen (mit der Taste / ) und installieren
  +
können.
  +
task- Pakete stehen in verschiedenen Bereichen der Debian GNU/Linux-Distribution zur Verfügung. Anhand
  +
des Bereiches und des Namens läßt sich schon der Anwendungsbereich erkennen. Im Bereich net finden sich
  +
die Pakete task-dialup, task-dialup-isdn, task-gnome-net und task-samba. Alle diese Pakete
  +
beinhalten eine Auswahl von nützlichen Paketen im Bereich Netzwerk, hierzu gehören auch
  +
Netzwerkverbindungen über analoge oder digitale (ISDN) Telefonverbindungen.
  +
Wenn Sie ein solches Paket installieren, hier zum Beispiel das Paket task-dialup-isdn, werden eine ganze
  +
Reihe weiterer Pakete ausgewählt und einige andere zur Installation vorgeschlagen. Benutzen Sie hierzu
  +
zunächst einmal dselect:
  +
dselect - recursive package listing mark:+/=/- verbose:v help:?
  +
EIOM Pri Section Package Description
  +
_* Opt net task-dialup- Dialup utilities
  +
178
  +
Kapitel 4. Installation weiterer Pakete
  +
_* Opt net task-dialup Dialup utilities
  +
_* Xtr net isdnutils ISDN utilities
  +
_* Xtr net diald dial on demand daemon for PPP and SLIP.
  +
_* Xtr admin dialdcost Cost estimation and X Control panel for DIALD
  +
_* Opt mail fetchmail POP2/3, APOP, IMAP mail gatherer/forwarder
  +
_* Opt web junkbuster The Internet Junkbuster!
  +
_* Xtr web wwwoffle World Wide Web OFFline Explorer
  +
__ Xtr news leafnode NNTP server for small leaf sites
  +
_* Opt news inn News transport system ‘InterNetNews’ by the ISC a
  +
__ Xtr news cnews Simple News Server for Usenet news.
  +
__ Opt non-free diablo News transport system without reader support.
  +
_* Opt net lftp Sophisticated command-line FTP/HTTP client progra
  +
_* Opt admin suidmanager Manage File Permissions
  +
__ Xtr comm mgetty Smart Modem getty replacement
  +
__ Xtr net isdnbutton Start and Stop ISDN connections and display statu
  +
__ Opt interpre python-tk Writing Tk applications with Python (Tkinter).
  +
__ Opt web htdig WWW search system for an intranet or small intern
  +
_* Opt news inewsinn NNTP client news injector, from InterNetNews (INN
  +
__ Opt news innfeed This is the new INN feeder program ‘innfeed.’
  +
Wenn Sie mit der Auswahl einverstanden sind, übernehmen Sie die Vorgaben einfach mit der Eingabetaste. Sie
  +
können aber auch weitere Pakete auswählen, nützlich ist beispielsweise das Paket isdnbutton.
  +
Neben der Auswahl dieser task- Pakete via dselect oder Apt steht mittlerweile auch ein spezielles
  +
Programm zur Verfügung, welches sich speziell der task- Pakete annimmt: taskselect.
  +
4.10.1. tasksel
  +
Mit dem Programm tasksel können Sie auf alle verfügbaren task-Pakete zugreifen. Nach dem Start
  +
bekommen Sie eine Liste der verfügbaren Pakete angezeigt. Sie können mit den Cursortasten zwischen den
  +
Paketen wechseln und mit der Taste ENTER oder SPACE ein Paket zur Installation auswählen. Nochmaliges
  +
Drücken der Taste hebt diese Auswahl wieder auf.
  +
Abbildung 4-19. tasksel
  +
Mit der Taste a wählen Sie alle verfügbaren Task-Pakete aus, mit der Taste n wird die Auswahl für alle bereits
  +
ausgewählten Pakete umgekehrt. Über die Taste i bekommen Sie weitere Informationen zu dem angewählten
  +
Paket, dort werden Ihnen auch die zu diesem Paket gehörenden, weiteren Pakete angezeigt. Die Taste q beendet
  +
das Programm.
  +
179
  +
Kapitel 4. Installation weiterer Pakete
  +
tasksel ist sehr nützlich wenn Sie sich nicht lange Gedanken über jedes einzelne zu installierende Paket
  +
machen wollen. Viele Anwender kennen sicher noch eine ähnliche Funktion aus der Installation von Debian 2.1.
  +
Dort konnte vor dem ersten Start von dselect auch eine solche Vorauswahl getroffen werden. Leider kam man
  +
zu einem späteren Zeitpunkt nie wieder an diese Stelle... Dieser Mangel wurde nun mit tasksel behoben.
  +
4.11. Weitere wichtige Pakete
  +
Im folgenden werden wir einige Programme vorstellen, die aus unserer Sicht auf keinem System fehlen sollten.
  +
Die Auswahl ist sicherlich Geschmacksache und läßt sich noch weiter fortsetzen. Sie werden im Laufe der Zeit
  +
sicher Ihre eigenen Lieblingstools finden.
  +
4.11.1. base-config
  +
Mittels base-config können die bereits bei der Installation vorgenommenen Einstellungen für die Zeitzone
  +
sowie die APT-Quellen zur Installation weiterer Pakete neu festgelegt werden. Abschliessend kann direkt ein
  +
Frontend zur Paketauswahl (dselect, aptitude, taskselect o.ä., je nachdem welche Programme bereits
  +
installiert wurden) aufgerufen werden.
  +
Alternativ können für diese beiden Schritte (Zeitzone, Paketquellen) auch die Programme tzconfig und
  +
apt-setup aufgerufen werden.
  +
4.11.2. modconf
  +
Mittels modconf können zusätzliche Module in den Kernel geladen werden. modconf stellt ein einfaches
  +
Interface für die Kommandozeile Tools insmod bzw. modprobe dar. modprobe wird ohne weitere Parameter
  +
aufgerufen.
  +
Abbildung 4-20. Module installieren - modconf
  +
Wie schon bei der Installation des Basissystems ist es notwendig das zur Hardware passende Modul zu
  +
ermitteln und ggf. notwendige Parameter anzugeben.
  +
180
  +
Kapitel 4. Installation weiterer Pakete
  +
4.11.3. shadowconfig
  +
Hiermit kann die Verwendung von Shadow-Passwörter ein- und ausgeschaltet werden. Auch diese Option
  +
konnte bereits bei der Systeminstallation gewählt werden.
  +
nigiri:~# shadowconfig
  +
Usage: /sbin/shadowconfig on | off
  +
Als einzige Option kann diesem Kommando der Wert „on“ oder „off“ übergeben werden. Zubeachten ist das
  +
beim aus- und wieder einschalten dieser Option alle Informationen über den Gültigkeitszeitraum eines
  +
Passwortes verloren gehen.
  +
4.11.4. tzconfig
  +
Mit dem Kommando tzconfig kann die Zeitzone erneut eingestellt werden. Hier eine Beispielsitzung mit
  +
diesem Programm:
  +
nigiri:~# tzconfig
  +
Your current time zone is set to Australia/Victoria
  +
Do you want to change that? [n]: y
  +
Please enter the number of the geographic area in which you live:
  +
1) Africa 7) Australia
  +
2) America 8) Europe
  +
3) US time zones 9) Indian Ocean
  +
4) Canada time zones 10) Pacific Ocean
  +
5) Asia 11) Use System V style time zones
  +
6) Atlantic Ocean 12) None of the above
  +
Then you will be shown a list of cities which represent the time zone
  +
in which they are located. You should choose a city in your time zone.
  +
Number: 8
  +
Amsterdam Andorra Athens Belfast Belgrade Berlin Bratislava Brussels
  +
Bucharest Budapest Chisinau Copenhagen Dublin Gibraltar Helsinki Istanbul
  +
Kaliningrad Kiev Lisbon Ljubljana London Luxembourg Madrid Malta Minsk
  +
Monaco Moscow Nicosia Oslo Paris Prague Riga Rome Samara San_Marino
  +
Sarajevo Simferopol Skopje Sofia Stockholm Tallinn Tirane Tiraspol
  +
Uzhgorod Vaduz Vatican Vienna Vilnius Warsaw Zagreb Zaporozhye Zurich
  +
Please enter the name of one of these cities or zones
  +
You just need to type enough letters to resolve ambiguities
  +
Press Enter to view all of them again
  +
Name: [] Berlin
  +
Your default time zone is set to ’Europe/Berlin’.
  +
Local time is now: Mit Okt 30 08:32:26 CET 2002.
  +
Universal Time is now: Mit Okt 30 07:32:26 UTC 2002.
  +
nigiri:~#
  +
181
  +
Kapitel 4. Installation weiterer Pakete
  +
4.11.5. dlocate
  +
Wenn Sie sich ein wenig mit den Internas des Debian-Paket-Systems auseinandergesetzt haben, sind Sie mit
  +
Sicherheit auch auf dpkg, das ursprüngliche Programm zum Paketmanagement gestoßen. dpkg kann mit den
  +
Optionen -L und -S dazu benutzt werden, in den Paketdateien nach den Paketnamen zu suchen, in denen sich
  +
bestimmte Dateien befinden. Als schnelle Alternative dazu bietet sich das Programm dlocate an. Intern
  +
benutzt dlocate das GNU-Programm locate und kann über Parameter auch beispielsweise alle Dateien, die
  +
zu einem Paket gehören, anzeigen, den benötigten Plattenplatz und Checksummen berechnen oder auch die
  +
passenden Man-Pages auflisten.
  +
Wenn Sie dlocate ohne weitere Parameter aufrufen, bekommen Sie eine kurze Übersicht der Optionen:
  +
linux:/home/fr/buch# dlocate
  +
Usage: dlocate [option] [string...]
  +
Options:
  +
(no option) string list all records that match
  +
-S string list records where files match
  +
-L package list all files in package
  +
-l package almost-emulation of ’dpkg -l’
  +
-s package print package’s status
  +
-ls package ’ls -ldF’ of all files in package
  +
-du package ’du -sck’ of all files in package
  +
-conf package list conffiles in package
  +
-lsconf package ’ls -ldF’ of conffiles in package
  +
-md5sum package list package’s md5sums (if any)
  +
-md5check package check package’s md5sums (if any)
  +
-man package list package’s man pages (if any)
  +
The -L, -s, and -S commands are roughly analagous to the
  +
equivalent dpkg commands.
  +
Suchen von nicht installierten Dateien: Die Programme dlocate oder auch dpkg -S können nur Dateien
  +
finden, die bereits auf Ihrem System installiert sind. Manchmal kommt es aber vor, daß Sie eine Datei oder
  +
ein Programm benötigen, von dem Sie den Namen kennen, aber nicht wissen, in welchem Paket es sich
  +
verbirgt. Sie können mit dem Kommando apt-cache search exim.conf nach der gewünschten Datei
  +
suchen.
  +
Die zweite Möglichkeit ist folgende: Datei Contents-i386.gz (auf anderen Architekturen wie i386 setzen Sie
  +
bitte die entsprechende Architektur ein) enthält eine Liste aller Dateien mit den entsprechenden Paketnamen.
  +
Das Kommando zcat Contents-i386.gz | grep exim.conf sucht aus dieser Datei den Paketnamen
  +
heraus, in der sich die Datei exim.conf befindet.
  +
4.11.6. gpm
  +
gpm erlaubt ihnen die Benutzung der Maus, soweit Sie eine an Ihrem Rechner angeschlossen haben, auch auf
  +
der textbasierten Konsole. Installieren Sie das Paket mit dselect oder apt. Während der Installation wird ein
  +
Konfigurationsscript aufgerufen, welches nach dem Anschluß der Maus, dem Typ sowie einigen anderen
  +
Parametern fragt.
  +
Sie können dieses Konfigurationsscript auch später jederzeit verwenden, entweder wenn es bei der
  +
Erstkonfiguration Probleme gab oder wenn Sie eine andere Maus angeschlossen haben. Hierzu rufen Sie als
  +
Superuser (root) das Script mit gpmconfig auf.
  +
182
  +
Kapitel 4. Installation weiterer Pakete
  +
Am Beispiel einer Maus mit PS/2-Anschluß, wie sie an den meisten neueren Rechnern zu finden ist, werden wir
  +
die Konfiguration aufzeigen. Installieren Sie zunächst das Paket gpm, zum Beispiel mit apt-get install
  +
gpm.
  +
Unpacking gpm (from .../misc/gpm_1.17.8-6.deb) ...
  +
Setting up gpm (1.17.8-6) ...
  +
Configuring gpm (mouse event server):
  +
Current configuration: -m /dev/ttyS0 -t ms -l "a-zA-Z0-9_.:~/\300-\326\330-\366\370-\377"
  +
Device: /dev/ttyS0
  +
Type: ms
  +
Append: -l "a-zA-Z0-9_.:~/\300-\326\330-\366\370-\377"
  +
Do you want to change anything (Y/n)?
  +
Die vorgegebenen Werte sind für eine, ebenfalls recht verbreitete Maus an der seriellen Schnittstelle (COM1)
  +
passend. Wenn Sie über eine solche Maus verfügen, können Sie die vorgegebenen Werte beibehalten. Bei einer
  +
PS/2-Maus sind aber einige andere Einstellungen nötig. Wählen Sie also Y und fahren Sie mit der Installation
  +
wie folgt fort:
  +
gpm has an experimental mouse test program which may help you determine
  +
your mouse’s type and which device it’s attatched to.
  +
You *must* not run any other software which needs the mouse, e.g. X,
  +
selection or gpm, while running this program.
  +
Do you want to run gpm’s mouse-test program (Y/n)?
  +
Wenn Sie sich sicher sind, daß Ihre Maus am PS/2-Anschluß angeschlossen ist, können Sie dieses
  +
Testprogramm überspringen, es schadet aber auch nicht, es zu benutzen. Probieren Sie es ruhig mal aus:
  +
This program is designed to help you in detecting what type your
  +
mouse is. Please follow the instructions of this program. If you’re
  +
bored before it is done, you can always press your ’Interrupt’ key
  +
(usually Ctrl-C)
  +
*** Remember: don’t run any software which reads the mouse device
  +
*** while making this test. This includes "gpm","selection", "X"
  +
Note that this program is by no means complete, and its main role is
  +
to detect how does the middle button work on serial mice
  +
/dev/atibm: No such device
  +
/dev/inportbm: No such device
  +
/dev/jbm: No such device
  +
/dev/logibm: No such device
  +
ttyS1: No such file or directory
  +
Trying with 1200 baud
  +
The possible device nodes are:
  +
/dev/psaux
  +
/dev/rtc
  +
/dev/ttyS0
  +
/dev/ttyS1
  +
/dev/ttyS2
  +
/dev/ttyS3
  +
I’ve still 6 devices which may be your mouse,
  +
Please move the mouse. Press any key when done
  +
(You can specify your device name on cmdline, in order to
  +
avoid this step.
  +
Different baud rates are tried at different times
  +
183
  +
Kapitel 4. Installation weiterer Pakete
  +
Das Testprogramm hat auf unserem Beispielrechner 6 mögliche Gerätedateien festgestellt, an denen die Maus
  +
angeschlossen sein könnte. Für die PS/2-Maus ist gleich das erste, also /dev/psaux zuständig. Bewegen Sie nun
  +
die Maus und drücken Sie danach eine Taste.
  +
removing "/dev/ttyS0" from the list
  +
removing "/dev/ttyS1" from the list
  +
removing "/dev/ttyS2" from the list
  +
removing "/dev/ttyS3" from the list
  +
Trying with 9600 baud
  +
The possible device nodes are:
  +
/dev/psaux
  +
Where is your mouse [/dev/psaux]?
  +
Das Testprogramm hat nun alle Anschlüsse, an denen es keine Maus festgestellt hat, aus der Liste entfernt,
  +
geben Sie nun das gefundene Device an.
  +
> /dev/psaux
  +
What type is your mouse (or help) [ps2]?
  +
Der Maustyp ist bei einer PS/2-Maus recht leicht zu bestimmen, wenn Sie eine andere Maus benutzen, werfen
  +
Sie einfach mal mit help einen Blick in die Liste:
  +
> help
  +
gpm-Linux 1.17.8, $Date: 1999/01/03 21:02:51 $
  +
Available mouse types are:
  +
name (synonym) description
  +
mman (Mouseman) - The MouseMan protocol used by new Logitech mice.
  +
ms - For Microsoft mice (2 or 3 buttons). Some old 2 button mice
  +
send some spurious packets, which can be misunderstood as
  +
middle-button events. If this is happens to you, use the
  +
’bare’ mouse type.
  +
ms+ - Like ’ms’, but allows dragging with the middle button.
  +
ms+lr - ’ms+’, but you can reset m by pressing lr (see man page).
  +
bare (Microsoft) - For some 2 button Microsoft mice. Same as ’ms’ except that
  +
gpm will not attempt to simulate a third button.
  +
msc (MouseSystems) - For most 3 button serial mice.
  +
sun - For Sparc mice.
  +
mm (MMSeries) - For MM series mice.
  +
logi (Logitech) - For old serial Logitech mice.
  +
bm (BusMouse) - For some busmice, including Microsoft and Logitech busmice.
  +
ps2 (PS/2) - For most busmice connected to a PS/2 port (round with 6 metal pins).
  +
ncr - For pointing pens found on some laptops.
  +
wacom - For Wacom tablets.
  +
genitizer - For "Genitizer" tablets. They are used in relative mode.
  +
logim - For turning on the MouseSystems compatible mode (3 buttons)
  +
of some Logitech mice.
  +
pnp - For the new ’plug and play’ mice produced by Microsoft.
  +
Try it if ’-t ms’ does not work.
  +
imps2 - For the Microsoft IntelliMouse on a PS/2 port (round
  +
connector with 6 pins), 3 buttons (wheel is unused).
  +
ms3 - For the Microsoft IntelliMouse (serial), 3 buttons (wheel is unused).
  +
netmouse - For the "Genius NetMouse". This one has two normal buttons
  +
plus ’up’/’down’ buttons.
  +
cal - For a Calcomp UltraSlate.
  +
calr - For a Calcomp UltraSlate in relative mode.
  +
twid - For the "Twidddler" keyboard.
  +
syn (synaptics) - For the "Synaptics" serial TouchPad.
  +
synps2 (synaptics_ps2) - For the "Synaptics" PS/2 TouchPad.
  +
184
  +
Kapitel 4. Installation weiterer Pakete
  +
brw - For the Fellowes Browser - 4 buttons (and a wheel) (dual protocol?).
  +
js (Joystick) - For "Joystick" mouse emulation.
  +
summa - For a Summa/Genius tablet in absolute mode (906,1212B,EasyPainter...).
  +
mtouch - For MicroTouch touch-screens (only button-1 events right now).
  +
acecad - For Acecad tablet in absolute mode (Sumagrapics MM-Series mode).
  +
kmiabps2 - For the Kensignton Mouse in a box on a PS/2 port (round
  +
connector with 6 pins), 3 buttons.
  +
Default for i386 is ms
  +
What type is your mouse (or help) [ps2]?
  +
> ps2
  +
Der erkannte Maustyp ist für unser Beispiel aber korrekt und kann so beibehalten werden.
  +
Set the responsiveness (normally not needed) []?
  +
>
  +
Repeat protocol (leave blank to turn repeating off) []?
  +
>
  +
Do you want to add any additional arguments [-l "a-zA-Z0-9_.:~/\300-\326\330-\366\370-\377"]?
  +
>
  +
Do you want to test this configuration (y/N)?
  +
Diese vier Punkte können Sie erst einmal so belassen. Sie können u.a. die Empfindlichkeit der Maus einstellen,
  +
dies können Sie aber auch jederzeit später nach dem Studium der Man-Page zu gpm detailliert erledigen.
  +
Current configuration: -m ttyS1 -t ps2 -l "a-zA-Z0-9_.:~/\300-\326\330-\366\370-\377"
  +
Device: ttyS1
  +
Type: ps2
  +
Append: -l "a-zA-Z0-9_.:~/\300-\326\330-\366\370-\377"
  +
Abschließend bekommen Sie noch einmal alle Daten angezeigt und können diese auch noch einmal ändern
  +
(dazu müssen Sie aber die ganze Konfiguration noch einmal durchgehen...).
  +
Do you want to change anything (Y/n)? n
  +
Starting mouse interface server: gpm.
  +
Wenn Sie mit den Einstellungen zufrieden sind, geben Sie ein n ein, und die Konfiguration wird gesichert und
  +
der gpm-Server gestartet. Sie können nun, wenn alles korrekt konfiguriert wurde, mit der Maus auf der Konsole
  +
Bereiche markieren und kopieren. Programme, die die Maus auch auf der Konsole unterstützen, wie zum
  +
Beispiel mc, können Sie auch mit der Maus bedienen.
  +
4.11.7. mc
  +
mc und gmc (welcher weiter unten beschrieben wird) basieren beide auf dem Paket mc-common, welches die
  +
grundlegenden Funktionen für beide Pakete zur Verfügung stellt.
  +
mc ähnelt stark dem aus der DOS-Welt bekannten Norton Commander. Soweit möglich wird auch die Maus auf
  +
der textbasierten Oberfläche unterstützt.
  +
Einige Höhepunkte des mc sind:
  +
• Arbeiten mit gepackten Dateien.
  +
• Wiederherstellen von gelöschten Dateien, dies unterliegt einigen Einschränkungen (benötigt mindestens
  +
Kernel 2.1.x).
  +
Wenn Sie bereits mit dem nc unter DOS gearbeitet haben, werden Ihnen viele Dinge vertraut vorkommen.
  +
185
  +
Kapitel 4. Installation weiterer Pakete
  +
Abbildung 4-21. Midnight Commander
  +
4.11.8. gmc
  +
Eine Version des Programms Midnight Commander mit grafischer Benutzeroberfläche, der gmc, steht erst nach
  +
der Installation von X11 sowie natürlich des Paketes gmc zur Verfügung. gmc steht für „GNU Midnight
  +
Commander“ und stammt aus dem GNOME-Projekt. gmc ist der Standard-Dateimanager unter GNOME.
  +
Abbildung 4-22. GNU Midnight Commander
  +
186
  +
Kapitel 4. Installation weiterer Pakete
  +
Das Fenster des GNU Midnight Commanders teilt sich in zwei Bereiche. Das linke Fenster zeigt den
  +
Verzeichnisbaum, das rechte Fenster stellt den aktuellen Inhalt des ausgewählten Verzeichnisses dar. Um den
  +
Inhalt eines anderen Verzeichnisses anzeigen zu lassen, reicht ein einfacher Mausklick auf das gewünschte
  +
Verzeichnis im linken Fenster. Wenn im Verzeichnisbaum neben dem Verzeichnisnamen ein + Zeichen
  +
angezeigt wird, können Sie mit einem Mausklick auf dieses Zeichen die weiteren Unterverzeichnisse anzeigen
  +
lassen. Das + Zeichen wird dann zu einem - Zeichen, mit einem weiteren Mausklick können Sie die
  +
Unterverzeichnisse wieder ausblenden.
  +
4.11.9. screen
  +
screen ist ein sehr nützliches Programm im Zusammenhang mit virtuellen Konsolen. In der Urzeit der
  +
Unix-Geschichte waren ASCII-Terminals, die an den Rechner über die serielle Schnittstelle angeschlossen
  +
wurden, sehr verbreitet. Manchmal findet man solche Geräte auch noch heute im Einsatz oder kann diese
  +
günstig erstehen. Einem Einsatz an der seriellen Schnittestelle eines handelsüblichen PCs steht, außer dem
  +
passenden Kabel, nichts im Weg. Leider stehen dann an einem solchen Terminal keine virtuellen Konsolen zur
  +
Verfügung.
  +
Das gleiche Problem stellt sich beispielsweise, wenn man sich von außen über eine Modemverbindung an
  +
einem Rechner anmeldet, auch hier ist man auf ein einziges Terminal festgelegt.
  +
Abhilfe schafft hier das Programm screen, dieses „emuliert“ mehrere virtuelle Terminals und kann auch die
  +
Sitzung nach dem Abbruch der Verbindung aufrechterhalten. Sie können, wenn Sie einen Account auf einem
  +
Rechner mit einer guten Internetanbindung haben, sich beispielsweise auf diesem einloggen, einen Download
  +
starten, sich abmelden und Stunden oder Tage später wieder anmelden und die Sitzung mit screen wieder
  +
aufnehmen: der Download wird mittlerweile beendet sein und Sie können sich die Daten mit voller
  +
Geschwindigkeit auf Ihren Rechner holen.
  +
screen ist so etwas wie ein Full-screen-Windowmanager für die Konsole, welcher mehrere Prozesse, meist
  +
interaktive Shells, verwaltet. Jedes virtuelle Terminal hat die Funktionalität eines VT100-Terminals, mit
  +
zusätzlichen Funktionen aus anderen Standards wie zum Beispiel ANSI X3.64 und ISO 2022 (hier wurden
  +
Funktionen wie Einfügen und Löschen von Zeilen und die Unterstützung von verschiedenen Zeichensätzen
  +
entliehen). Jedes Terminal besitzt eine History-Funktion und Daten können per cut+paste zwischen den
  +
Terminals kopiert werden.
  +
Wenn Sie screen starten, wird ein Terminal mit einer Shell (oder einem anderen Programm) gestartet, Sie
  +
werden zunächst keinen Unterschied zu einer anderen Shell feststellen. Sie können aber nun zu jeder Zeit neue
  +
Terminals erzeugen, jedes mit einer neuen Shell, ebenso wie bei den „richtigen“ Terminals unter der
  +
Linux-Konsole. Sie können natürlich auch Terminals schließen, eine Liste der aktiven Terminals ansehen, die
  +
Ausgaben in einer Datei aufzeichnen und so weiter. Alle gestarteten Programme laufen weiter, auch wenn Sie
  +
zwischen den Terminals umschalten.
  +
screen-Kommandos werden generell mit der Tastenkombination CRTL+a eingeleitet. Mit der Kombination
  +
CRTL+a+? bekommen Sie eine Hilfe zu screen in Form einer Befehlsübersicht. Hier eine kurze Übersicht der
  +
wichtigsten Kommandos:
  +
• ? - Übersicht der Kommandos
  +
• c - erzeugt ein neues Terminal
  +
• n - wechselt zum nächsten Terminal
  +
• w - zeigt an, wie viele Terminals aktiv sind
  +
Weitere Informationen zu screen finden Sie auf der Seite http://www.gnu.org/software/screen/ sowie auf den
  +
Seiten von Sven Guckes unter: http://www.math.fu-berlin.de/~guckes/screen/.
  +
187
  +
Kapitel 4. Installation weiterer Pakete
  +
4.11.10. ssh
  +
Secure Shell (ssh) ist ein Ersatz für rlogin und rsh und stellt eine verschlüsselte Verbindung in einem
  +
(unsicheren) Netzwerk – allen voran dem Internet – her. Sie sollten generell auf die Verwendung von
  +
Programmen verzichten, die insbesondere Paßwörter, aber auch Daten, unverschlüsselt übermitteln. Vermeiden
  +
Sie wenn möglich auch die Benutzung von telnet. Die Telnet-Version, die von Debian GNU/Linux verwendet
  +
wird, unterstützt ebenfalls eine verschlüsselte Übertragung, aber gewöhnen Sie sich nicht daran, auf anderen
  +
Systemen ist dies kein Standard.
  +
ssh verschlüsselt eine Verbindung bereits vor der Übertragung des Paßwortes. Sie können also einigermaßen
  +
sicher von jedem Ort aus sich auf einem Rechner einloggen. Ein Angreifer, der versucht auf einem Rechner auf
  +
der Übertragungsstrecke Ihr Paßwort aus dem Datenstrom zu filtern, hat so nur eine geringe Chance auf Erfolg.
  +
Er müßte genau zu dem Zeitpunkt das Datenpaket erwischen, mit dem Sie bei den ssh-Instanzen den Key
  +
austauschen!
  +
Die einfachste Form der Benutzung von ssh ist der Aufruf mit der Angabe des gewünschten Zielrechners. Das
  +
Kommando: ssh hoshi.openoffice.de stellt eine verschlüsselte Verbindung zu diesem Rechner her und
  +
meldet Sie mit dem gleichen Benutzernamen wie auf dem lokalen Rechner an. Sie können zusätzlich einen
  +
anderen Benutzernamen mit der Option -l angeben: ssh -l fr hoshi.openoffice.de.
  +
Wenn die beiden Benutzernamen identisch sind und der Rechner, von dem aus Sie sich einloggen, in der Datei
  +
/etc/hosts.equiv oder /etc/ssh/shosts.equiv aufgeführt ist, können Sie sich ohne Paßwortabfrage
  +
anmelden.
  +
Weitere Informationen finden Sie in der Man-Page zu ssh (man ssh).
  +
4.12. Euro Symbol
  +
Um auf einem Debian System auch das Euro Symbol auf der Konsole und unter X benutzen zu können wurde
  +
von Javier Fernández-Sanguino Peña das „Debian Euro HOWTO“
  +
(http://www.debian.org/doc/manuals/debian-euro-support/) geschrieben. Weiterhin stehen die beiden Pakete
  +
euro-support und tetex-eurosym zur Verfügung.
  +
4.13. Menü-System
  +
Über das Debian GNU-Menüsystem werden alle auf dem System installierten Pakete automatisch in die Menüs
  +
und Menüleisten der Windowmanager oder auch des GNOME-Panels eingebunden. Neu installierte Pakete
  +
werden automatisch den Menüs hinzugefügt, dies erledigen die Installationsscripte der einzelnen Pakete. Sie
  +
können diese Einträge in den Menüs als Systemadministrator für alle Benutzer auf dem System ändern oder
  +
aber Ihre eigenen Menüs erzeugen bzw. die systemweit installierten verändern.
  +
Die Debian GNU-Menüstruktur stellt sich wie folgt dar:
  +
Apps -- Menü für Anwendungen
  +
Editors -- Programme zur Bearbeitung von Texten
  +
Net -- E-Mail, News, Webbrowser, IRC, etc.
  +
Programming -- Debugger, etc.
  +
Shells -- bash, ksh, zsh, etc.
  +
Tools -- Diverse Tools: xclock, xmag, xman, etc.
  +
Viewers -- Bildbetrachter, gs, xawtv, etc.
  +
Math -- gnuplot, octave, oleo, etc.
  +
Graphics -- xpaint, xfig, xtiff, etc.
  +
Emulators -- dosemu, etc.
  +
Sound -- TkMidity, etc.
  +
System -- System Verwaltung und Beobachtung
  +
Games -- Menü für Spiele
  +
Adventure -- Abenteuer, zork, MOO’s, etc
  +
Arcade -- alles was schnell ist...
  +
Board -- Brettspiele: Gnuchess, pente, gnugo
  +
Card -- Solitare, etc
  +
188
  +
Kapitel 4. Installation weiterer Pakete
  +
Puzzles -- xpuzzles, ...
  +
Sports -- Sportliche Spiele
  +
Strategy -- lincity, freeciv
  +
Tetris-like -- Alles was runterf&auml;llt....
  +
Toys -- oneko, xeyes, etc.
  +
Screen --
  +
Lock -- xlock, etc.
  +
Screen-saver -- Bildschirmschoner
  +
Root-window -- Hintergründe
  +
Window-managers -- Umschalten zwischen verschiedenen Windowmanagern
  +
Modules -- fvwm modules, etc.
  +
XShells -- shells (xterm, rxvt, ...)
  +
Verändern Sie nichts an dieser Struktur. Die Paketbetreuer haben die Möglichkeit, Ergänzungen zu dieser
  +
Struktur einzubringen, als Anwender sollten Sie dies aber so belassen.
  +
Nach jeder Veränderung an den Menüeintragen müssen Sie das Programm update-menus aufrufen. Beachten
  +
Sie hierbei, daß dies jeweils mit dem Benutzernamen erfolgen muß zu dem auch die Menüeinträge geändert
  +
wurden. Systemweite Änderungen werden vom Superuser (root) mittels update-menus dem System
  +
bekanntgegeben. Bei der Installation von Paketen wird update-menus automatisch aufgerufen.
  +
Für jedes unter Debian GNU/Linux installierte Paket wird im Verzeichniss /usr/lib/menu/ mit dem
  +
jeweiligen Namen des Paketes (also zum Beispiel xterm) eine Datei angelegt. In dieser stehen Informationen
  +
zum Namen des Paketes, zum Text, der in den Menüs erscheinen soll und zur Position des Eintrages in den
  +
Menüs. Ändern Sie nichts in diesen Dateien, diese können bei einem Update des Paketes überschrieben werden.
  +
Für systemweite Veränderungen steht das Verzeichniss /etc/menu/ zur Verfügung. In diesem kann der
  +
Systemadministrator eigene Dateien erzeugen oder Kopien einzelner Dateien aus /usr/lib/menu/ ablegen
  +
und diese verändern.
  +
Hier eine Übersicht der Syntax dieser Dateien am Beispiel von GNUPlot:
  +
?package(gnuplot):\ der Name des Paketes
  +
needs=text\ Benutzeroberfläche die von diesem Programm benötigt wird,
  +
die möglichen Parameter dazu sind:
  +
needs=X11: dieses Programm benötigt X11
  +
needs=text: für Programme die nur im Text-Modus laufen
  +
(unter X11 muß der Windowmanager hierzu ein
  +
xterm oder rxvt starten)
  +
needs=vc: Programm läuft nur auf der Linux Konsole
  +
needs=wm: Programm startet einen anderen Windowmanager
  +
section=Apps/Math\ bezeichnet den Eintrag im Menübaum
  +
title="Gnuplot"\ der Text für den Eintrag (nicht zu lang)
  +
command="/usr/bin/gnuplot" der Pfad und Programmname der aufgerufen werden soll
  +
Wenn Sie beispielsweise den Text, der für das Programm GNUPlot in den Menüs erscheint, ändern wollen,
  +
können Sie den Text in der Zeile title="Gnuplot"\ zwischen den Anführungszeichen ändern. Vergessen Sie
  +
nicht, danach update-menus aufzurufen.
  +
Um einzelne Anwendungen an anderer Stelle im Menubaum erscheinen zu lassen, verändern Sie einfach die
  +
Zeile section=Apps/Math\.
  +
Änderungen an den persönlichen Einstellungen für das Debian GNU/Linux-Menüsystem kann jeder Benutzer
  +
individuell in seinem Homeverzeichniss, unterhalb von .menu vornehmen. Wenn dieses Verzeichnis noch nicht
  +
existiert, können Sie dieses mit mkdir .menu anlegen. Sie können nun in diesem Verzeichnis eigene Dateien
  +
anlegen oder Dateien aus /usr/lib/menu/ kopieren und verändern. Diese Änderungen sind nicht Systemweit
  +
gültig und werden nur für den jeweiligen Benutzer wirksam. Auch hier ist anschließend wieder das Programm
  +
update-menus aufzurufen, diesmal aber nicht als Superuser, sondern mit dem zugehörigen Account des
  +
Benutzers.
  +
Neben dem Verändern von Einträgen besteht auch die Möglichkeit, Menüeinträge komplett auszublenden.
  +
Hierzu erzeugt man einfach eine leere Datei mit dem Namen des Paketes, welches nicht mehr im Menübaum
  +
auftauchen soll. Das Kommando touch ist hierzu hervorragend geeignet:
  +
189
  +
Kapitel 4. Installation weiterer Pakete
  +
cd ~/.menu
  +
touch gnuplot
  +
...würde also beispielsweise den Eintrag für Gnuplot aus den Menüs entfernen. Auch dies funktioniert natürlich
  +
für jeden Benutzer im Verzeichnis ~/.menu/ oder systemweit unter /etc/menu/. Weitere Informationen zum
  +
Debian GNU/Linux-Menüsystem finden Sie in der Dokumentation zu dem Paket menu oder auf den Webseiten
  +
http://www.debian.org/doc/packaging-manuals/menu.html/. Dort sind auch weitere Internas beschrieben, wie
  +
zum Beispiel Informationen darüber, was zu tun ist, wenn man ein eigenes Debian-Paket bei der Installation
  +
automatisch ins Menüsystem einbinden möchte.
  +
4.14. Paketmanagement für Umsteiger
  +
Dieser Abschnitt soll Umsteigern von anderen GNU Linux Distributionen das Paketmanagement erleichtern.
  +
Wenn Sie sich bereits in die Syntax von RPM eingearbeitet haben und mit den wichtigsten Kommandos vertraut
  +
sind, finden Sie hier schnell die entsprechenden Kommandos für Ihr neues Debian GNU System.
  +
Tabelle 4-1. RPM / DEB Paketmanagement
  +
RPM DEB Aktion
  +
rpm -i name dpkg -i name Installiert das Paket name
  +
rpm -Va debsums -a Überprüft die Checksummen aller
  +
installierten Dateien auf dem System
  +
rpm -qf /etc/syslog.conf dpkg -S /etc/syslog.conf Zeigt an zu welchem Paket die Datei
  +
/etc/syslog.conf gehört
  +
rpm -ql name dpkg -L name Listet alle Dateien des Paketes name
  +
auf
  +
rpm -qpi name.rpm dpkg -I name.deb Zeigt die Informationen zum
  +
Paketarchiv name.xxx
  +
rpm -qpl name.rpm dpkg -c name.deb Listet alle Dateien des Paketarchives
  +
name.xxx auf
  +
rpm -qia dpkg -l Listet alle Pakete mit Informationen
  +
zu den Paketen. Das rpm-Kommando
  +
zeigt alle Paketinformationen, die
  +
dpkg-Variante nur die
  +
Kurzinformationen.
  +
Kurzinformationen können mit rpm
  +
über das Kommando rpm -qa
  +
--qf ’%-20{NAME}
  +
%-10{VERSION} %{SUMMARY}\n’
  +
ausgegeben werden.
  +
rpm: Funktion nicht implementiert dpkg -r name Entfernt das Paket name,
  +
Konfigurationsdateien werden nicht
  +
gelöscht
  +
rpm -e name dpkg --purge name Entfernt das Paket name inklusive
  +
aller Konfigurationsdateien
  +
rpm -qi name dpkg -s name Zeigt die Paketinformationen (Name,
  +
Status, Version, Abhängigkeiten
  +
usw.) zu dem Paket name an.
  +
rpm -q --qf ’%-20{NAME}
  +
%-10{VERSION}
  +
%{SUMMARY}\n’name
  +
dpkg --list name Zeigt eine Kurzbeschreibung zu dem
  +
Paket name an.
  +
190
  +
Kapitel 4. Installation weiterer Pakete
  +
RPM DEB Aktion
  +
rpm -qa --qf ’[%{=NAME}:
  +
%{FILENAMES}\n]’ string
  +
dpkg -S string Sucht nach dem String string in den
  +
Paketinformationen/Dateilisten aller
  +
installierten Pakete
  +
rpm -q --whatrequires name dpkg Welche Pakete hängen von dem
  +
Paket string ab.
  +
rpm -q -requires name dpkg Welche Abhängigkeiten hat das
  +
Paket string.
  +
rpm -q --scripts name dpkg Zeigt die Scripte des Paketes string
  +
an.
  +
4.15. Installation von fremden Paketen
  +
Debian GNU/Linux verwendet ein eigenes Paketformat, welches von keiner anderen Distribution (außer
  +
solchen, die auf Debian GNU/Linux basieren) verwendet wird. Natürlich sind aus diesem Grunde alle
  +
Programme zur Installation auf dieses Paketformat abgestimmt. Wir sind sicher, daß Sie alle benötigten Pakete
  +
in der Debian GNU/Linux-Distribution finden werden, trotzdem zeigen wir Ihnen hier einen Weg, um fremde
  +
Pakete auf einem Debian GNU/Linux-System zu installieren. Dies kann auch zur Installation von
  +
kommerzieller Software nützlich sein, die häufig im rpm-Format vorliegt.
  +
4.16. alien
  +
Um Pakete in fremden Formaten auf einem Debian GNU/Linux zu installieren, dient das Programm alien.
  +
alien ist natürlich auf allen Linux-Distributionen lauffähig und kann alle verbreiteten Paketformate entpacken
  +
und in das Format der verwendeten Distribution konvertieren.
  +
Natürlich gibt es bei solchen Konvertierungen manchmal Probleme. Das zu installierende Paket wird in den
  +
meisten Fällen Bibliotheken verwenden, die nicht zwingend auf dem Zielsystem vorhanden sind, oder eventuell
  +
nicht in der passenden Version vorliegen. Gegebenenfalls sind auch diese Bibliotheken via alien zu
  +
installieren. In den meisten Fällen geht die Installation aber problemlos über die Bühne.
  +
alien hat eine Reihe von Optionen, eine Übersicht bekommen Sie, wenn Sie alien ohne weitere Optionen
  +
aufrufen.
  +
linux:/home/fr/rpm2deb# alien
  +
Usage: alien [options ...] file [...]
  +
file [...] Package file or files to convert.
  +
-d, --to-deb Generate a Debian deb package. (default)
  +
Enables the following options:
  +
--patch=<patch> Specify patch file to use instead of automatically
  +
looking for patch in /var/lib/alien.
  +
--nopatch Do not use patches.
  +
-r, --to-rpm Generate a RedHat rpm package.
  +
-t, --to-tgz Generate a Slackware tgz package.
  +
--to-slp Generate a Stampede .slp package.
  +
-i, --install Install generated package.
  +
-g, --generate Unpack, but do not generate a new package.
  +
-s, --single Like --generate, but do not create .orig directory.
  +
-c, --scripts Include scripts in package.
  +
-k, --keep-version Do not change version of generated package.
  +
--description=<desc> Specify package description.
  +
-h, --help Display this help message.
  +
-v, --version Display alien’s version number.
  +
Die Benutzung von alien ist denkbar einfach. Im einfachsten Fall gibt man alien einfach den Namen des zu
  +
konvertierenden Paketes, alien erstellt dann daraus ein Paket mit der Endung .deb. Dieses können Sie dann
  +
191
  +
Kapitel 4. Installation weiterer Pakete
  +
wie jedes andere Paket unter Debian GNU/Linux installieren. Als Beispiel soll uns das Programm pi-address
  +
dienen. Wenn Sie über einen Palm-Pilot verfügen, sollten Sie das Debian Paket nach dem Versuch nicht
  +
löschen, wir kommen später noch einmal darauf zurück.
  +
linux:/home/fr/rpm2deb# alien pilot-address-0.3.0-1.i386.rpm
  +
-- Examining pilot-address-0.3.0-1.i386.rpm
  +
-- Unpacking pilot-address-0.3.0-1.i386.rpm
  +
2813 blocks
  +
----
  +
-- Automatic package debianization
  +
-- Building the package pilot-address_0.3.0-2_i386.deb
  +
dh_testdir
  +
# Nothing to do.
  +
dh_testdir
  +
dh_testroot
  +
dh_clean -k
  +
dh_installdirs
  +
cp -a ‘ls |grep -v debian‘ debian/tmp
  +
dh_installdocs
  +
dh_installexamples
  +
dh_installmenu
  +
dh_installcron
  +
dh_installchangelogs
  +
dh_compress
  +
dh_suidregister
  +
dh_installdeb
  +
dh_shlibdeps
  +
dh_gencontrol
  +
dh_makeshlibs
  +
dh_md5sums
  +
dh_builddeb
  +
dpkg-deb: building package ‘pilot-address’ in ‘../pilot-address_0.3.0-2_i386.deb’.
  +
Generation of pilot-address_0.3.0-2_i386.deb complete.
  +
-- Successfully finished
  +
linux:/home/fr/rpm2deb# ls -l
  +
total 860
  +
-rw-r--r-- 1 root root 437258 Feb 2 16:22 pilot-address-0.3.0-1.i386.rpm
  +
-rw-r--r-- 1 root root 435982 Feb 2 16:23 pilot-address_0.3.0-2_i386.deb
  +
Sie können beispielsweise ein RedHat-Paket mit dem Kommando alien paket.rpm konvertieren, Sie
  +
erhalten dann ein Debian-Paket mit der Endung .deb. In diesem Beispiel würde die Datei also paket.deb
  +
heißen. Sie können dieses dann wie üblich mit dpkg -i paket.deb installieren.
  +
192
  +
Kapitel 5. X11
  +
Die Basisinstallation von Debian GNU/Linux sieht keine grafische Benutzeroberfläche vor. Aus Sicht des
  +
Einsteigers macht das die Installation nicht gerade leichter, da heute jeder mit der Handhabung einer Maus
  +
vertraut ist. Wie Sie aber gesehen haben, stellt eine textbasierte Installationsroutine auch kein wirkliches
  +
Hindernis dar. Für eine textbasierte Installation sprechen zwei Gründe: zum einen wird nicht auf allen Systemen
  +
eine grafische Benutzeroberfläche benötigt (zum Beispiel Server), und zweitens sind nicht alle von Debian
  +
GNU/Linux unterstützten Architekturen (z. B. m68k) von der Hardwareausstattung her in der Lage, eine
  +
sinnvolle grafische Installation durchzuführen.
  +
Debian GNU/Linux verwendet, wie alle anderen Linux-Distributionen auch, das X-Window-System zur
  +
Darstellung der grafischen Benutzeroberfläche. Die Treiber für die verschiedenen Grafikkarten werden vom
  +
XFree86-Team entwickelt (http://www.xfree86.org). XFree86 ist eine freie Implementation des
  +
X-Window-Systems, welches auf allen Unix-ähnlichen Betriebssystemen läuft. Die „86“ im Namen läßt
  +
vermuten, daß diese Software nur auf 3/4/586er-Prozessoren lauffähig ist. Ursprünglich wurde XFree86 auch
  +
dafür entwickelt, mittlerweile ist XFree86 aber auch auf anderen Prozessor-Architekturen lauffähig. Somit
  +
müssen Debian GNU/Linux-Benutzer auf keiner Architektur auf den Luxus einer grafischen Oberfläche
  +
verzichten.
  +
X11 selbst entstand im Jahre 1986 als Ergebnis der beiden Vorgängerprojekte V und W. Im Laufe der
  +
Entwicklung wurden die grundlegenden Protokolle weiterentwickelt, blieben aber immer zu den älteren
  +
Versionen kompatibel. 1992 erschien dann die erste Version von X11 für PCs. Das XFree86-Projekt selbst
  +
startete mit einem Referenzserver für die PC-Plattform, welcher von Thomas Röll (heute Xi Graphics)
  +
geschrieben wurde, welcher dem Projekt zur Verfügung gestellt wurde.
  +
Ungeachtet dessen ist es natürlich ohne weiteres möglich, auch mit Debian GNU/Linux in den Genuß einer
  +
grafischen Benutzeroberfläche zu kommen. Um eine Grafikkarte zu benutzen benötigt man, wie bei anderen
  +
Betriebssystemen auch, einen Treiber. Diese Treiber stehen in Form sogenannter „X-Server“ zur Verfügung. Es
  +
werden im folgenden die Installation dieses Servers und einige ausgewählte Anwendungen vorgestellt.
  +
Die aktuelle Version 4 von XFree86 ist ab der Version „woody“, also Debian GNU/Linux 3.0, in die
  +
Distribution integriert worden. Die ältere Version 3.3.6 ist jedoch weiterhin verfügbar, so das bei Problemen mit
  +
den Treibern aus XFree 4 jederzeit auf die Version 3 zurückgegriffen werden kann.
  +
5.1. Installation von XFree86 3.3.x
  +
Wie bei allen neuen Treibern, die man in ein Debian GNU/Linux-System einbindet, ist es vorteilhaft, möglichst
  +
genaue Informationen über die verwendete Hardware zu haben. Bei der Vielfalt der auf dem Markt angebotenen
  +
Grafikkarten kann es da schon manchmal etwas schwierig sein, herauszufinden, welches Modell man in seinem
  +
Rechner hat. Gerade bei Komplettgeräten hat man nicht unbedingt die genaue Modellbezeichnung zur Hand.
  +
Schwierig wird es auch bei Motherboards mit einem integrierten Grafikchip. Eine Übersicht der unterstützten
  +
Chipsets für die zur Zeit aktuelle Version 3.3.6 von XFree86 finden Sie unter der URL:
  +
http://www.xfree86.org/3.3.6/README3.html#3 . Bitte beachten Sie: Dies ist eine Liste der Grafikchips auf
  +
den jeweiligen Karten, Sie finden keine Namen der Kartenhersteller. Wenn größere Probleme bei der
  +
Installation der Grafikkarte auftauchen, müssen Sie im schlimmsten Fall Ihren Rechner öffnen und einen Blick
  +
auf die Grafikkarte werfen. Aber meist ist das nicht notwendig. Das Programm xviddetect erkennt die
  +
meisten Grafikkarten und gibt auch gleich den Namen des passenden X-Servers aus:
  +
fr@linux:~$ xviddetect
  +
The XFree86 server for Matrox Graphics, Inc. MGA G400 AGP is
  +
svga
  +
Wenn Sie lediglich auf den Namen des benötigten X-Servers Wert legen, können Sie xviddetect mit der
  +
Option -q aufrufen.
  +
Hier noch ein anderes Beispiel, diesmal ist xviddetect allerdings nicht in der Lage die Karte zu erkennen:
  +
fr@linux:~$ xviddetect
  +
Sorry, I wasn’t able to determine a driver for your video card. This script
  +
193
  +
Kapitel 5. X11
  +
only detects PCI and some SBUS devices. If you know, or figure out, which X
  +
driver to use, please submit a wishlist bug against this package with the
  +
appropriate info. Please see http://bugs.debian.org/ for information about
  +
submitting bugs.
  +
I will now display a list of PCI devices I found on your computer. Please
  +
send the line associated with your video device if you do find a driver.
  +
80867190|i386|Intel Corporation|440BX/ZX - 82443BX/ZX Host bridge
  +
80867191|i386|Intel Corporation|440BX/ZX - 82443BX/ZX AGP bridge
  +
80867110|i386|Intel Corporation|82371AB PIIX4 ISA
  +
80867111|i386|Intel Corporation|82371AB PIIX4 IDE
  +
80867112|i386|Intel Corporation|82371AB PIIX4 USB
  +
80867113|i386|Intel Corporation|82371AB PIIX4 ACPI
  +
10222020|i386|Advanced Micro Devices [AMD]|53c974 [PCscsi]
  +
109e0350|i386|Brooktree Corporation|Bt848 TV with DMA push
  +
12741371|i386|Ensoniq|ES1371 [AudioPCI-97]
  +
10b79050|i386|3Com Corporation|3c905 100BaseTX [Boomerang]
  +
11030004|i386|unknown manufacturer|unknown model
  +
11030004|i386|unknown manufacturer|unknown model
  +
105d5348|i386|Number 9 Computer Company|Revolution 4
  +
Wenn Sie einen genaueren Blick auf die Liste der gefundenen PCI-Geräte werfen, werden Sie sicher Ihre
  +
Grafikkarte darunter finden. In diesem Fall ist es der Eintrag in der letzten Zeile. Sie können mit diesen
  +
Angaben die entsprechende Karte und den dazugehörigen X-Server bestimmen. Eine weitere Hilfe ist
  +
SuperProbe, doch dazu gleich mehr.
  +
Für die Konfiguration von XFree86 stehen bei Debian GNU/Linux drei Programme zur Auswahl, zwei
  +
Versionen mit textbasierter und eine Version mit grafischer Oberfläche. Installieren Sie zunächst die benötigten
  +
Pakete. Ein sinnvoller Start ist das Paket xf86setup, in diesem befinden sich die Konfigurationsprogramme
  +
xf86config und XF86Setup. Das Paket xf86setup benötigt einige weitere Pakete, wie immer werden Sie
  +
während der Installation mit dselect oder apt darüber informiert, welche weiteren Pakete benötigt werden.
  +
Das dritte Konfigurationsprogramm, anXious, finden Sie im Paket xviddetect.
  +
Folgende Pakete, die zum X-Window-System gehören, werden benötigt: xbase-clients, xfonts-100dpi
  +
oder xfonts-75dpi, xfonts-base, xserver-common, xserver-vga16 oder ein anderer xserver,
  +
tcl8.0, tk8.0, xlib6g.
  +
Während der Installation dieser Pakete werden Sie gefragt, ob Sie den gerade installierten X-Server als
  +
„default“ einstellen wollen und ob Sie eine Konfigurationsdatei für XFree86 erzeugen wollen. Wenn Sie dies
  +
tun wollen, wird das textbasierte Installationsprogramm xf86config gestartet. Es schadet nicht diesen Schritt
  +
zu überspringen, Sie können später xf86config immer noch von Hand starten.
  +
Versuchen Sie zunächst, einige nähere Informationen zu Ihrer Grafikkarte herauszubekommen. Im Paket
  +
xf86setup befindet sich das sehr nützliche Programm SuperProbe (beachten Sie die Groß- und
  +
Kleinschreibung!). Führen Sie dieses Programm einmal als Superuser aus, erhalten Sie beispielsweise folgende
  +
Informationen:
  +
SuperProbe Version 2.20 (17 June 1999)
  +
(c) Copyright 1993,1994 by David Wexelblat <dwex@xfree86.org>
  +
(c) Copyright 1994-1998 by The XFree86 Project, Inc
  +
This work is derived from the ’vgadoc2.zip’ and
  +
’vgadoc3.zip’ documentation packages produced by Finn
  +
Thoegersen, and released with all appropriate permissions
  +
having been obtained. Additional information obtained from
  +
’Programmer’s Guide to the EGA and VGA, 2nd ed’, by Richard
  +
Ferraro, and from manufacturer’s data books
  +
Bug reports are welcome, and should be sent to XFree86@XFree86.org.
  +
In particular, reports of chipsets that this program fails to
  +
correctly detect are appreciated.
  +
194
  +
Kapitel 5. X11
  +
Before submitting a report, please make sure that you have the
  +
latest version of SuperProbe (see http://www.xfree86.org/FAQ).
  +
First video: Super-VGA
  +
Chipset: Matrox (chipset unknown) (PCI Probed)
  +
Signature data: 8 (please report)
  +
RAMDAC: Generic 8-bit pseudo-color DAC
  +
(with 6-bit wide lookup tables (or in 6-bit mode))
  +
Entscheidend sind die letzten Zeilen. Das Testprogramm hat in diesem Beispiel eine Grafikkarte der Firma
  +
Matrox gefunden. Diese wird von XFree86-Server „SVGA“ unterstützt.
  +
Eine weitere Möglichkeit – neben dem Öffnen des Rechners – Informationen über die Grafikkarte zu
  +
bekommen, besteht darin, die Ausgabe des Kommandos cat /proc/pci nach Informationen zu durchsuchen.
  +
Hier ein Ausschnitt der Ausgabe des Befehls mit den Informationen zu der gleichen Karte:
  +
Bus 1, device 0, function 0:
  +
VGA compatible controller: Matrox Unknown device (rev 3).
  +
Vendor id=102b. Device id=525.
  +
Medium devsel. Fast back-to-back capable.
  +
Master Capable. Latency=32. Min Gnt=16.Max Lat=32.
  +
Prefetchable 32 bit memory at 0xe8000000 [0xe8000008].
  +
Non-prefetchable 32 bit memory at 0xe4000000 [0xe4000000].
  +
Non-prefetchable 32 bit memory at 0xe5000000 [0xe5000000].
  +
Auch hier ist wieder die Information, daß es sich um eine Matrox-Karte handelt, zu finden. Alternativ läßt sich
  +
auch das Programm lspci aus dem Paket pciutils einsetzen, dieses bereitet die Ausgabe etwas
  +
ansprechender auf.
  +
Sollten Sie mit diesen Methoden keine ausreichenden Informationen über die im Rechner eingebaute
  +
Grafikkarte bekommen, können Sie immer noch probieren, das X-Window-System mit dem SVGA-Treiber zum
  +
Laufen zu bekommen. Dieser unterstützt die gebräuchlichsten Karten. Ansonsten hilft in vielen Fällen auch ein
  +
Blick in den Rechner. Meist sind die benötigten Informationen auf dem größten Chip zu finden, oder aber die
  +
Platine wurde vom Hersteller mit nützlichen Informationen bedruckt. Wer seinen Rechner aber individuell
  +
zusammengestellt hat, wird wissen, welche Karte im Rechner steckt.
  +
Weiterhin ist es wichtig festzustellen, an welchem Anschluß die Maus steckt und um was für ein Maus-Modell
  +
es sich handelt. Wenn Sie das Programm gpm bereits installiert haben, sind Ihnen diese Angaben aber vertraut.
  +
Doch nun zu den eigentlichen Konfigurationsprogrammen.
  +
5.1.1. XF86Setup
  +
Einen ersten Versuch sollten Sie mit XF86Setup starten.
  +
195
  +
Kapitel 5. X11
  +
Abbildung 5-1. XF86 Setup
  +
XF86Setup erlaubt die Konfiguration des X-Window-Systems über eine grafische Oberfläche. Hierzu wird
  +
bereits ein X-Server gestartet (VGA16), der auf allen Grafikkarten in einer minimalen Auflösung lauffähig ist.
  +
Nach dem Start können Sie, falls die Maus noch nicht funktioniert, mit den Tasten TAB, SPACE und RETURN
  +
durch die Menüs wandern und die gewünschten Einstellungen vornehmen. Am besten fangen Sie mit den
  +
Einstellungen zur Maus an, Sie haben es dann einfacher, den Rest zu konfigurieren.
  +
Wenn Sie den Menüpunkt Mouse wählen, bekommen Sie zuerst eine kurze Hilfe angezeigt. Sie finden hier u. a.
  +
Angaben zu den üblichen Gerätedateien (Devices, z.B. /dev/psaux oder /dev/ttyS0), an denen die Maus
  +
angeschlossen sein könnte. Verlassen Sie die Hilfe mit der RETURN
  +
Im folgenden können Sie alle Einstellungen für die Maus vornehmen. Die beiden wichtigsten Parameter sind
  +
das sogenannte „Mouse Protocol“ und das „Mouse Device“. Sollte die Maus bereits funktionieren, sind hier im
  +
allgemeinen keine Einstellungen nötig.
  +
196
  +
Kapitel 5. X11
  +
Abbildung 5-2. XF86 Setup
  +
Im hier gezeigten Beispiel wird eine PS/2-Maus verwendet. Wählen Sie also das gewünschte Protokoll der
  +
Maus (den Maus-Typ) und das dazugehörige Device aus. Wenn es Ihnen zu mühselig ist, aus der langen Liste
  +
das passende Device auswählen, können Sie das Device auch von Hand eingeben. Haben Sie alle Einstellungen
  +
vorgenommen, so aktivieren Sie die Schaltfläche Apply unten rechts auf dem Bildschirm. Die bisher
  +
vorgenommenen Einstellungen für die Maus werden damit übernommen und wenn alles korrekt angegeben
  +
wurde, können Sie alle weiteren Einstellungen per Maus vornehmen.
  +
Zur Einstellung der Tastatur gibt es nicht viel zu sagen, wählen Sie die passende Sprache aus.
  +
197
  +
Kapitel 5. X11
  +
Abbildung 5-3. XF86 Setup
  +
Stellen Sie nun unter Card den Typ Ihrer Grafikkarte ein. Sie können den Hersteller und das Modell aus einer
  +
sehr umfangreichen Liste auswählen. Bei einigen Karten können genauere Einstellungen über die Schaltfläche
  +
„Detailed Setup“ gemacht werden, beispielsweise wenn der Speicherausbau der Karte nicht korrekt erkannt
  +
wird. Im allgemeinen sind dort aber keine Einstellungen nötig.
  +
198
  +
Kapitel 5. X11
  +
Abbildung 5-4. XF86 Setup
  +
Auch die Einstellungen für den Monitor sind recht einfach vorzunehmen, wählen Sie einen passenden Monitor
  +
aus der Liste aus, von dem Sie glauben, daß er Ihrem Modell am nächsten kommt. Wenn Sie sich nicht sicher
  +
sind, wählen Sie lieber erst mal einen kleineren, leistungsschwächeren Monitor aus, Sie können sonst Ihren
  +
Monitor beschädigen. Wenn Sie in Ihrem Handbuch zum Monitor die technischen Daten für die horizontalen
  +
und vertikalen Frequenzen finden können, können Sie diese auch unter „Monitor sync rates“ eintragen, so
  +
nutzen Sie die Möglichkeiten Ihres Gerätes optimal.
  +
199
  +
Kapitel 5. X11
  +
Abbildung 5-5. XF86 Setup
  +
Unter „modeselection“ stellen Sie die gewünschten Auflösungen und die Anzahl der gewünschten Farben ein.
  +
Sie können mehrere Auflösungen vorauswählen, zwischen denen Sie später mit STRG + ALT + + oder STRG
  +
+ ALT + - (auf dem Zehnerblock) umschalten können. Dies funktioniert natürlich im laufenden Betrieb, ohne
  +
Neustart des Systems. Wenn Sie nur über eine sehr einfache Grafikkarte mit sehr wenig Speicher verfügen,
  +
wählen Sie besser eine Farbtiefe von 8 Bit (8 bpp), aber im allgemeinen sollten Sie mindestens 16 Bit zum
  +
vernünftigen Arbeiten mit X auswählen.
  +
200
  +
Kapitel 5. X11
  +
Abbildung 5-6. XF86 Setup
  +
Unter „Other“ verbergen sich einige momentan weniger wichtige Einstellungen, die wir hier nur kurz
  +
beschreiben wollen:
  +
201
  +
Kapitel 5. X11
  +
Abbildung 5-7. XF86 Setup
  +
• Allow server to be killed with hotkey sequence (Ctrl-Alt-Backspace)
  +
Hier können Sie das Beenden des X-Servers mit dieser Tastenkombination unterbinden.
  +
• Allow video mode switching
  +
Wenn Sie unter „Modeselection“ verschiedene Auflösungen gleichzeitig gewählt haben, können Sie während
  +
des Betriebes zwischen diesen mit der Tastenkombination STRG+ALT sowie + oder - auf dem Zehnerblock
  +
der Tastatur umschalten. Sie können diese Funktion hier ausschalten.
  +
• Don’t Trap Signals - prevents the server from exiting cleanly
  +
Wenn diese Option nicht aktiviert ist, kann der X-Server Signale wie zum Beispiel SIGTERM abfangen.
  +
• Allow video mode changes from other hosts
  +
Erlaubt Änderungen der Bildschirmauflösung während der Laufzeit des Servers auch von anderen Rechnern
  +
aus.
  +
• Allow changes to keyboard and mouse settings from other hosts
  +
Erlaubt die Änderung von Tastatur und Mauseinstellungen von anderen Rechnern aus.
  +
202
  +
Kapitel 5. X11
  +
Wählen Sie nun die Schaltfläche „Done“ und bestätigen Sie die nächste Mitteilung mit „OK“. Es wird nun
  +
versucht, den X-Server mit den eingestellten Parametern zu starten. Sollte dies fehlschlagen, d. h. der Server
  +
kann gar nicht gestartet werden, versuchen Sie es noch einmal mit der Konfiguration. Stellen Sie dann aber nicht
  +
zu hohe Werte ein und achten Sie darauf, daß Sie auch den benötigten X-Server installiert haben. Ein fehlender
  +
X-Server macht sich durch eine solche Zeile: couldn’t execute "usr/X11R6/bin/XF86_SVGA" no
  +
such file or directory bemerkbar. In diesem Fall installieren Sie das benötigte Paket.
  +
Zur Auswahl stehen Ihnen folgende X-Server (XFree 3.3.5):
  +
• xserver-3dlabs
  +
• xserver-8514
  +
• xserver-agx
  +
• xserver-common
  +
• xserver-fbdev
  +
• xserver-ggi
  +
• xserver-i128
  +
• xserver-mach32
  +
• xserver-mach64
  +
• xserver-mach8
  +
• xserver-mono
  +
• xserver-p9000
  +
• xserver-s3v
  +
• xserver-s3
  +
• xserver-svga
  +
• xserver-vga16
  +
• xserver-w32
  +
Genauere Informationen, welche Karte von welchem Server unterstützt wird, finden Sie auf den Seiten des
  +
XFree-Projektes unter http://www.xfree86.org .
  +
Wenn der X-Server gestartet wird, können Sie die Konfigurationsdatei abspeichern. Unter Debian GNU/Linux
  +
finden Sie die Datei XF86Config unter /etc/X11/.
  +
Normalerweise wird der X-Server in der niedrigsten Auflösung, die in der Konfigurationsdatei eingetragen ist,
  +
gestartet. Wenn Sie dies ändern wollen, um nicht immer von Hand umschalten zu müssen, können Sie die nicht
  +
benötigten Einträge aus der Konfigurationsdatei löschen oder den gewünschten Eintrag als ersten in die Teile
  +
mit den Auflösungen eintragen.
  +
Suchen Sie hierzu in der Datei /etc/X11/XF86Config nach einem Eintrag in der Form:
  +
Section "Screen"
  +
Driver "SVGA"
  +
Die Zeile „Driver“ beschreibt hierbei den installierten X-Server. Einige Zeilen tiefer finden Sie einen Abschnitt
  +
„Display“ zu jeder möglichen Farbtiefe („Depth“)
  +
SubSection "Display"
  +
Depth 16
  +
Modes "1600x1200" "800x600" "1280x1024"
  +
ViewPort 0 0
  +
EndSubSection
  +
In diesem Beispiel würde der X-Server (SVGA) immer mit der Auflösung 1600x1200 Punkte starten, mit der
  +
Möglichkeit, auf 800x600 und 1280x1024 Punkte herunterzuschalten, bei einer Farbtiefe von 16 Bit. Wenn Sie
  +
203
  +
Kapitel 5. X11
  +
die Konfigurationsdatei neu erstellen, zum Beispiel wie hier beschrieben mit dem Programm XF86Config,
  +
werden die Einträge zur Sicherheit immer aufsteigend sortiert in die Zeile geschrieben. Somit ist sichergestellt,
  +
daß immer zuerst mit einer kleinen Auflösung gestartet wird, so daß Ihr Monitor nicht überlastet wird.
  +
Wenn Sie mit der Konfiguration von X über das Programm XF86Setup keinen Erfolg hatten, probieren Sie es
  +
mit dem Programm xf86config.
  +
5.1.2. xf86config
  +
Dieses zweite, textorientierte, Programm erlaubt es Ihnen ebenfalls, eine Konfigurationsdatei für XFree86 zu
  +
erstellen. Auch dieses Programm müssen Sie als Superuser (root) starten.
  +
linux:~# xf86config
  +
This program will create a basic XF86Config file, based on menu selections you
  +
make.
  +
In the Debian system, the XF86Config file resides in /etc/X11. A sample
  +
XF86Config file is supplied in the directory
  +
/usr/share/doc/xserver-common/examples; it is configured for a standard VGA
  +
card and monitor with 640x480 resolution. This program will ask for a pathname
  +
when it is ready to write the file.
  +
You can either take the sample XF86Config as a base and edit it for your
  +
configuration, or let this program produce a base XF86Config file for your
  +
configuration and fine-tune it. Refer to the file
  +
/usr/share/doc/xserver-common/README.Config.gz for a detailed overview of the
  +
configuration process.
  +
For accelerated servers (including accelerated drivers in the SVGA server),
  +
there are many chipset and card-specific options and settings. This program
  +
does not know about these. On some configurations some of these settings must
  +
be specified. Refer to the server manual pages and chipset-specific READMEs.
  +
Before continuing with this program, make sure you know the chipset and amount
  +
of video memory on your video card. The SuperProbe program can help with
  +
this. It is also helpful if you know what server you want to run.
  +
Press enter to continue, or CTRL-C to abort.
  +
Zunächst sehen Sie einige Informationen speziell zur Debian GNU/Linux-Version dieses Programms. Da
  +
XFree86 nicht nur auf GNU/Linux-Systemen lauffähig ist, finden sich die Konfigurationsdateien standardmäßig
  +
nicht an der auf Debian-Systemen üblichen Stelle. Dies wurde für das Debian-Paket korrigiert. Wenn Sie
  +
Probleme mit der Konfiguration haben oder weitere Informationen benötigen, finden Sie an dieser Stelle einen
  +
Hinweis auf die entsprechenden Dateien in Ihrem System.
  +
Zunächst müssen Sie die angeschlossene Maus bestimmen.
  +
First specify a mouse protocol type. Choose one from the following list:
  +
1. Microsoft compatible (2-button protocol)
  +
2. Mouse Systems (3-button protocol)
  +
3. Bus Mouse
  +
4. PS/2 Mouse
  +
5. Logitech Mouse (serial, old type, Logitech protocol)
  +
6. Logitech MouseMan (Microsoft compatible)
  +
7. MM Series
  +
8. MM HitTablet
  +
9. Microsoft IntelliMouse
  +
10. Acecad tablet
  +
If you have a two-button mouse, it is most likely of type 1, and if you have
  +
a three-button mouse, it can probably support both protocol 1 and 2. There are
  +
204
  +
Kapitel 5. X11
  +
two main varieties of the latter type: mice with a switch to select the
  +
protocol, and mice that default to 1 and require a button to be held at
  +
boot-time to select protocol 2. Some mice can be convinced to do 2 by sending
  +
a special sequence to the serial port (see the ClearDTR/ClearRTS options).
  +
If you have a PS/2 mouse, you should use type 4 regardless of how many
  +
buttons it has.
  +
Enter a protocol number: 4
  +
If your mouse has only two buttons, it is recommended that you enable
  +
Emulate3Buttons.
  +
Please answer the following question with either ’y’ or ’n’.
  +
Do you want to enable Emulate3Buttons? n
  +
Now give the full device name that the mouse is connected to, for example
  +
/dev/tty00. Just pressing enter will use the default, /dev/mouse.
  +
Mouse device: /dev/psaux
  +
Zum Arbeiten unter X11 ist es sehr nützlich, wenn Sie über eine Maus mit drei Tasten verfügen, dies erleichtert
  +
viele Operationen, wie zum Beispiel das Kopieren und Einfügen von Texten. Auch viele Windowmanager
  +
benutzen alle drei Maustasten.
  +
Am weitesten verbreitet sind Mäuse mit PS/2-Anschluß, für diese ist in jedem Fall der Typ 4 zu wählen,
  +
unabhängig davon, wie viele Tasten die Maus tatsächlich hat. Serielle Mäuse werden je nach Anzahl der Tasten
  +
über den Typ 1 oder 2 aktiviert.
  +
Die zweite Frage sollten Sie mit „y“ beantworten, wenn Ihre Maus nur über zwei Tasten verfügt. Sie können
  +
dann die dritte Maustaste durch gleichzeitiges Drücken beider Tasten simulieren. Bei einer Dreitastenmaus
  +
können Sie die Frage mit „n“ beantworten.
  +
Die nächste Frage bezieht sich auf den Anschluß der Maus. Wenn Sie bereits einen Link /dev/mouse auf das
  +
entsprechende Device angelegt haben, können Sie an dieser Stelle einfach die Eingabetaste drücken. Bei einer
  +
Maus am PS/2-Anschluß lautet das passende Device: /dev/psaux, serielle Mäuse werden über /dev/ttyS0
  +
oder /dev/ttyS1 angesprochen.
  +
Beginning with XFree86 3.1.2D, the X server uses the new X11R6.1 XKEYBOARD
  +
extension to manage the keyboard layout. This requires you to answer a
  +
number of questions to add certain entries to the XF86Config file.
  +
The following dialogue will allow you to select from a list of already
  +
preconfigured keymaps. If you don’t find a suitable keymap in the list,
  +
the program will try to combine a keymap from additional information you
  +
are asked then. Such a keymap is by default untested and may require
  +
manual tuning. Please report success or required changes for such a
  +
keymap to XFREE86@XFREE86.ORG for addition to the list of preconfigured
  +
keymaps in the future.
  +
Press enter to continue, or CTRL-C to abort.
  +
Dies sind einige Hinweise, daß seit einigen Versionen von XFree86 die XKEYBOARD-Erweiterung zur
  +
Unterstützung von Tastaturen aktiviert wurde, dies ist für Sie nicht weiter interessant.
  +
List of preconfigured keymaps:
  +
1 Standard 101-key, US encoding
  +
2 Microsoft Natural, US encoding
  +
3 KeyTronic FlexPro, US encoding
  +
4 Standard 101-key, US encoding with ISO9995-3 extensions
  +
5 Standard 101-key, German encoding
  +
6 Standard 101-key, French encoding
  +
7 Standard 101-key, Thai encoding
  +
8 Standard 101-key, Swiss/German encoding
  +
205
  +
Kapitel 5. X11
  +
9 Standard 101-key, Swiss/French encoding
  +
10 Standard 101-key, US international
  +
11 Brazilian ABNT2
  +
12 None of the above
  +
Enter a number to choose the keymap.
  +
5
  +
Wählen Sie nun aus der Liste der angezeigten Tastaturbelegungen eine passende aus. Für den deutschsprachigen
  +
Raum ist dies die Nummer 5, oder auch die Nummer 8 für weiter südlich wohnende Pinguine...
  +
Now we want to set the specifications of the monitor. The two critical
  +
parameters are the vertical refresh rate, which is the rate at which the
  +
the whole screen is refreshed, and most importantly the horizontal sync rate,
  +
which is the rate at which scanlines are displayed.
  +
The valid range for horizontal sync and vertical sync should be documented
  +
in the manual of your monitor. If in doubt, check the monitor database
  +
/usr/share/doc/xserver-common/Monitors.gz to see if your monitor is there.
  +
Press enter to continue, or CTRL-C to abort.
  +
Im nächsten Schritt werden Sie nach einigen Angaben zu Ihrem Monitor gefragt. Wenn Sie im Handbuch keine
  +
technischen Daten finden oder das Handbuch verschwunden ist, finden Sie vielleicht in der Datei
  +
/usr/share/doc/xserver-common/Monitors.gz die passenden Angaben (benutzen Sie das Kommando
  +
zmore, um mit gzip gepackte Dateien anzusehen).
  +
You must indicate the horizontal sync range of your monitor. You can either
  +
select one of the predefined ranges below that correspond to industrystandard
  +
monitor types, or give a specific range.
  +
It is VERY IMPORTANT that you do not specify a monitor type with a horizontal
  +
sync range that is beyond the capabilities of your monitor. If in doubt,
  +
choose a conservative setting.
  +
hsync in kHz; monitor type with characteristic modes
  +
1 31.5; Standard VGA, 640x480 @ 60 Hz
  +
2 31.5 - 35.1; Super VGA, 800x600 @ 56 Hz
  +
3 31.5, 35.5; 8514 Compatible, 1024x768 @ 87 Hz interlaced (no 800x600)
  +
4 31.5, 35.15, 35.5; Super VGA, 1024x768 @ 87 Hz interlaced, 800x600 @ 56 Hz
  +
5 31.5 - 37.9; Extended Super VGA, 800x600 @ 60 Hz, 640x480 @ 72 Hz
  +
6 31.5 - 48.5; Non-Interlaced SVGA, 1024x768 @ 60 Hz, 800x600 @ 72 Hz
  +
7 31.5 - 57.0; High Frequency SVGA, 1024x768 @ 70 Hz
  +
8 31.5 - 64.3; Monitor that can do 1280x1024 @ 60 Hz
  +
9 31.5 - 82.0; Monitor that can do 1280x1024 @ 76 Hz
  +
10 31.5 - 95.0; Monitor that can do 1280x1024 @ 85 Hz
  +
11 Enter your own horizontal sync range
  +
Enter your choice (1-11): 9
  +
You must indicate the vertical sync range of your monitor. You can either
  +
select one of the predefined ranges below that correspond to industrystandard
  +
monitor types, or give a specific range. For interlaced modes,
  +
the number that counts is the high one (e.g. 87 Hz rather than 43 Hz).
  +
1 50-70
  +
2 50-90
  +
3 50-100
  +
4 40-150
  +
5 Enter your own vertical sync range
  +
Enter your choice: 4
  +
206
  +
Kapitel 5. X11
  +
You must now enter a few identification/description strings, namely an
  +
identifier, a vendor name, and a model name. Just pressing enter will fill
  +
in default names.
  +
The strings are free-form, spaces are allowed.
  +
Enter an identifier for your monitor definition: monitor
  +
Enter the vendor name of your monitor: no-name
  +
Enter the model name of your monitor: nichts
  +
Zunächst müssen Sie Angaben zur horizontalen Frequenz des Monitors machen, Sie können einen passenden
  +
Typ aus der Liste wählen oder über die Auswahl „11“ die genauen Angaben aus dem Handbuch des Monitors
  +
eingeben.
  +
Im nächsten Schritt wählen Sie einen der vorgegebenen Werte für die vertikale Frequenz aus, oder geben Sie die
  +
genauen Werte über die Auswahl „5“ ein.
  +
Danach können Sie beliebige Angaben zur Definition Ihres Monitors in der Konfigurationsdatei machen.
  +
Now we must configure video card specific settings. At this point you can
  +
choose to make a selection out of a database of video card definitions.
  +
Because there can be variation in Ramdacs and clock generators even
  +
between cards of the same model, it is not sensible to blindly copy
  +
the settings (e.g. a Device section). For this reason, after you make a
  +
selection, you will still be asked about the components of the card, with
  +
the settings from the chosen database entry presented as a strong hint.
  +
The database entries include information about the chipset, what server to
  +
run, the Ramdac and ClockChip, and comments that will be included in the
  +
Device section. However, a lot of definitions only hint about what server
  +
to run (based on the chipset the card uses) and are untested.
  +
If you can’t find your card in the database, there’s nothing to worry about.
  +
You should only choose a database entry that is exactly the same model as
  +
your card; choosing one that looks similar is just a bad idea (e.g. a
  +
GemStone Snail 64 may be as different from a GemStone Snail 64+ in terms of
  +
hardware as can be).
  +
Do you want to look at the card database? y
  +
0 2 the Max MAXColor S3 Trio64V+ S3 Trio64V+
  +
1 3DLabs Oxygen GMX PERMEDIA 2
  +
2 3DVision-i740 AGP Intel 740
  +
3 3Dlabs Permedia2 (generic) PERMEDIA 2
  +
4 928Movie S3 928
  +
5 ABIT G740 8MB SDRAM Intel 740
  +
6 AGP 2D/3D V. 1N, AGP-740D Intel 740
  +
7 AGX (generic) AGX-014/15/16
  +
8 ALG-5434(E) CL-GD5434
  +
9 AOpen AGP 2X 3D Navigator PA740 Intel 740
  +
10 AOpen PA2010 Voodoo Banshee
  +
11 AOpen PA45 SiS6326
  +
12 AOpen PA50D SiS6326
  +
13 AOpen PA50E SiS6326
  +
14 AOpen PA50V SiS6326
  +
15 AOpen PA80/DVD SiS6326
  +
16 AOpen PG128 S3 Trio3D
  +
17 AOpen PG975 3dimage975
  +
Enter a number to choose the corresponding card definition.
  +
Press enter for the next page, q to continue configuration.
  +
Im folgenden können Sie den Typ Ihrer Grafikkarte festlegen. Am besten benutzen Sie hierzu die mitgelieferte
  +
Datenbank, beantworten Sie also die Frage mit „y“.
  +
207
  +
Kapitel 5. X11
  +
Sie bekommen nun die erste Seite der Datenbank angezeigt. Die Liste ist alphabetisch, aufsteigend sortiert. Sie
  +
können mit der Taste RETURN weiterblättern. Wenn Sie die passende Grafikkarte gefunden haben, geben Sie
  +
die Zahl ein, die Sie in der entsprechenden Zeile am linken Bildschirmrand sehen.
  +
414 Matrox Millennium G200 SD 4MB mgag200
  +
415 Matrox Millennium G200 SD 8MB mgag200
  +
416 Matrox Millennium G400 16MB mgag400
  +
417 Matrox Millennium G400 32MB mgag400
  +
418 Matrox Millennium II 16MB mga2164w
  +
419 Matrox Millennium II 4MB mga2164w
  +
420 Matrox Millennium II 8MB mga2164w
  +
421 Matrox Mystique mga1064sg
  +
422 Matrox Mystique G200 16MB mgag200
  +
423 Matrox Mystique G200 4MB mgag200
  +
424 Matrox Mystique G200 8MB mgag200
  +
425 Matrox Productiva G100 4MB mgag100
  +
426 Matrox Productiva G100 8MB mgag100
  +
427 MediaGX mediagx
  +
428 MediaVision Proaxcel 128 ET6000
  +
429 Mirage Z-128 ET6000
  +
430 Miro CRYSTAL VRX Verite 1000
  +
431 Miro Crystal 10SD with GenDAC S3 801/805
  +
Enter a number to choose the corresponding card definition.
  +
Press enter for the next page, q to continue configuration.
  +
417
  +
Your selected card definition:
  +
Identifier: Matrox Millennium G400 32MB
  +
Chipset: mgag400
  +
Server: XF86_SVGA
  +
Do NOT probe clocks or use any Clocks line.
  +
Press enter to continue, or CTRL-C to abort.
  +
Hier als Beispiel die schon anfangs vorgestellte Matrox-Karte, nach einigen Seiten werden Sie sicher auch Ihre
  +
Karte in der Liste finden. Häufig gibt es mehrere Einträge für die gleiche Karte, sie unterscheiden sich meist in
  +
der Speicherausstattung oder auch im benutzten Chipset. Für viele Karten gibt es auch einen allgemeingültigen
  +
Eintrag in der Datenbank (generic), diesen können Sie verwenden, wenn Sie nicht ganz genau den
  +
gewünschten Typ finden.
  +
Nach der Auswahl der Karte wird das verwendete Chipset sowie der benötigte X-Server angezeigt. Beachten
  +
Sie, daß Sie genau diesen X-Server auch als Debian-Paket installieren müssen, der Ihrer Karte entspricht.
  +
Wichtig ist auch die nächste Zeile, hier finden Sie für diese Karte den Hinweis, daß es nicht nötig ist, weitere
  +
Angaben zu den Frequenzen der Karte zu machen oder diese automatisch ermitteln zu lassen. Der X-Server
  +
kann anhand der bisherigen Angaben alle weiteren Parameter ermitteln.
  +
Now you must determine which server to run. Refer to the manpages and other
  +
documentation. The following servers are available (they may not all be
  +
installed on your system):
  +
1 The XF86_Mono server. This a monochrome server that should work on any
  +
VGA-compatible card, in 640x480 (more on some SVGA chipsets).
  +
2 The XF86_VGA16 server. This is a 16-color VGA server that should work on
  +
any VGA-compatible card.
  +
3 The XF86_SVGA server. This is a 256 color SVGA server that supports
  +
a number of SVGA chipsets. On some chipsets it is accelerated or
  +
supports higher color depths.
  +
4 The accelerated servers. These include XF86_S3, XF86_Mach32, XF86_Mach8,
  +
XF86_8514, XF86_P9000, XF86_AGX, XF86_W32, XF86_Mach64, XF86_I128,
  +
XF86_S3V, and XF86_3DLabs.
  +
208
  +
Kapitel 5. X11
  +
These four server types correspond to the four different "Screen" sections in
  +
XF86Config (vga2, vga16, svga, accel).
  +
5 Choose the server from the card definition, XF86_SVGA.
  +
Which one of these screen types do you intend to run by default (1-5)? 5
  +
The server to run is selected by changing the first line of the
  +
/etc/X11/Xserver file. For example, setting it to "/usr/bin/X11/XF86_SVGA"
  +
selects the SVGA server.
  +
Please answer the following question with either ’y’ or ’n’.
  +
Do you want this program to modify the /etc/X11/Xserver file? y
  +
Sie müssen nun den passenden X-Server bestimmen. Im Normalfall sollten Sie hier die „5“ auswählen, der
  +
X-Server wurde ja bereits bei der Auswahl der Grafikkarte bestimmt.
  +
Die nächste Frage sollten Sie auf alle Fälle mit „y“ beantworten, das Konfigurationsprogramm wird dann die
  +
Datei /etc/X11/Xserver entsprechend Ihrer Auswahl modifizieren, so daß der passende X-Server gestartet
  +
werden kann.
  +
Now you must give information about your video card. This will be used for
  +
the "Device" section of your video card in XF86Config.
  +
You must indicate how much video memory you have. It is probably a good
  +
idea to use the same approximate amount as that detected by the server you
  +
intend to use. If you encounter problems that are due to the used server
  +
not supporting the amount memory you have (e.g. ATI Mach64 is limited to
  +
1024K with the SVGA server), specify the maximum amount supported by the
  +
server.
  +
How much video memory do you have on your video card:
  +
1 256K
  +
2 512K
  +
3 1024K
  +
4 2048K
  +
5 4096K
  +
6 Other
  +
Enter your choice:
  +
You must now enter a few identification/description strings, namely an
  +
identifier, a vendor name, and a model name. Just pressing enter will fill
  +
in default names (possibly from a card definition).
  +
Your card definition is Matrox Millennium G400 32MB.
  +
The strings are free-form, spaces are allowed.
  +
Enter an identifier for your video card definition:
  +
You can simply press enter here if you have a generic card, or want to
  +
describe your card with one string.
  +
Enter the vendor name of your video card:
  +
Enter the model (board) name of your video card:
  +
Die nächste Frage nach der Speicherausstattung Ihrer Karte können Sie anhand der Vorgaben aus der Liste
  +
beantworten oder auch mit RETURN übergehen, der vorhandene Speicher wird vom X-Server im allgemeinen
  +
automatisch erkannt.
  +
Auch für die Grafikkarten müssen Sie eine ID, den Hersteller und das Modell angeben. Wenn Sie die Karte aus
  +
der Datenbank ausgewählt haben, können Sie die Werte mit RETURN einfach übernehmen.
  +
209
  +
Kapitel 5. X11
  +
A Clockchip line in the Device section forces the detection of a
  +
programmable clock device. With a clockchip enabled, any required
  +
clock can be programmed without requiring probing of clocks or a
  +
Clocks line. Some cards don’t have a programmable clock chip.
  +
Choose from the following list:
  +
1 Chrontel 8391 ch8391
  +
2 ICD2061A and compatibles (ICS9161A, DCS2824) icd2061a
  +
3 ICS2595 ics2595
  +
4 ICS5342 (similar to SDAC, but not completely compatible) ics5342
  +
5 ICS5341 ics5341
  +
6 S3 GenDAC (86C708) and ICS5300 (autodetected) s3gendac
  +
7 S3 SDAC (86C716) s3_sdac
  +
8 STG 1703 (autodetected) stg1703
  +
9 Sierra SC11412 sc11412
  +
10 TI 3025 (autodetected) ti3025
  +
11 TI 3026 (autodetected) ti3026
  +
12 IBM RGB 51x/52x (autodetected) ibm_rgb5xx
  +
Just press enter if you don’t want a Clockchip setting.
  +
What Clockchip setting do you want (1-12)?
  +
Bei einigen Karten ist es notwendig, explizit den verwendeten Clockchip anzugeben, Sie können dies im
  +
allgemeinen aber mit RETURN übergehen und dem X-Server überlassen.
  +
For most modern configurations, a Clocks line is neither required or
  +
desirable. However for some older hardware it can be useful since it
  +
prevents the slow and nasty sounding clock probing at server start-up.
  +
Probed clocks are displayed at server startup, along with other server
  +
and hardware configuration info. You can save this information in a file
  +
by running ’X -probeonly 2>output_file’. Be warned that clock probing is
  +
inherently imprecise; some clocks may be slightly too high (varies per run).
  +
At this point X -probeonly can be run, and, if possible, clock information
  +
extracted from the output. It is recommended that you do this yourself and if
  +
a set of clocks is shown then you add a clocks line (note that the list of
  +
clocks may be split over multiple Clocks lines) to your Device section
  +
afterwards. Be aware that a clocks line is not appropriate for most modern
  +
hardware that has programmable clocks.
  +
You must be root to be able to run X -probeonly now.
  +
The card definition says to NOT probe clocks.
  +
Do you want me to run ’X -probeonly’ now? n
  +
Zur Ermittlung einiger Werte kann nun der X-Server in einem Testmodus gestartet werden. In unserem Beispiel
  +
ist dies nicht notwendig, übergehen Sie diesen Test, indem Sie „n“ eingeben.
  +
For each depth, a list of modes (resolutions) is defined. The default
  +
resolution that the server will start-up with will be the first listed
  +
mode that can be supported by the monitor and card.
  +
Currently it is set to:
  +
"640x480" "800x600" "1024x768" "1280x1024" for 8bpp
  +
"640x480" "800x600" "1024x768" "1280x1024" for 16bpp
  +
"640x480" "800x600" "1024x768" "1280x1024" for 24bpp
  +
"640x480" "800x600" "1024x768" for 32bpp
  +
Note that 16, 24 and 32bpp are only supported on a few configurations.
  +
Modes that cannot be supported due to monitor or clock constraints will
  +
210
  +
Kapitel 5. X11
  +
be automatically skipped by the server.
  +
1 Change the modes for 8bpp (256 colors)
  +
2 Change the modes for 16bpp (32k/64k colors)
  +
3 Change the modes for 24bpp (24-bit color, packed pixel)
  +
4 Change the modes for 32bpp (24-bit color)
  +
5 The modes are OK, continue.
  +
Enter your choice: 5
  +
Sie bekommen nun die anhand Ihrer Angaben ermittelten Auflösungen und Farbtiefen angezeigt. Sie sollten
  +
diese Werte erst einmal so akzeptieren und später, wenn nötig, verfeinern.
  +
The XF86Config file is about to be written. Ensure you do not accidentally
  +
overwrite a previously configured one.
  +
Write configuration to /etc/X11/XF86Config? y
  +
Zuletzt wird die Konfigurationsdatei unter /etc/X11/ als XF86Config gespeichert. Wenn Sie die Datei an
  +
einem anderen Ort sichern wollen, geben Sie hier „n“ ein. In diesem Fall ist aber nicht sichergestellt, daß der
  +
X-Server die Datei findet, da diese bei Debian GNU/Linux immer unter /etc/X11/ gesucht wird.
  +
Sie können nun versuchen, den X-Server mit dem Kommando startx zu starten.
  +
5.1.3. anXious
  +
anXious ist ein neues Programm zur Konfiguration des X-Servers und ist Bestandteil des Paketes xviddetect.
  +
anXious benutzt das Programm xviddetect, um den benötigten X-Server für die Grafikkarte zu bestimmen,
  +
abschließend werden die benötigten Pakete mit apt-get installiert.
  +
Wie bei jedem kommandozeilenbasierten Programm kennt auch anXious die Option --help:
  +
anXious - a X Configuration tool (c) 2000 Randolph Chung; GPLv2
  +
anXious [--skipsetup] [--skipconfig] [--forcesetup] [--forceconfig] [--dodebug]
  +
[--quiet]
  +
anXious --help
  +
--skipsetup: skip the setup phase; do not try to install a server
  +
--skipconfig: skip the config phase; do not try to write a config file
  +
--forcesetup: override automatic detection of phases; force setup step
  +
--forceconfig: override automatic detection of phases; force config step
  +
--quiet: runs anXious more quietly
  +
--dodebug: Turns on debugging output
  +
--help: shows this message
  +
anXious has a setup stage, where it helps you determine what packages to
  +
install, and a configuration stage, where it writes out an XF86Config file.
  +
This program will automatically guess which step is needed based on
  +
what is available on your system. You can force anXious to start from
  +
scratch by using the --forcesetup and --forceconfig options.
  +
Wie zu sehen ist, können Sie die einzelnen Phasen der Konfiguration überspringen und auch eine neue
  +
Konfiguration erstellen, falls schon eine Datei existieren sollte.
  +
Im folgenden wird eine komplette Neukonfiguration beschrieben, wie sie auch bei der Neuinstallation eines
  +
Systems automatisch gestartet wird:
  +
211
  +
Kapitel 5. X11
  +
Abbildung 5-8. Konfiguration von X11
  +
anXious kann das Program xviddetect benutzen, um PCI (oder auf der Sparc-Architektur SBUS)
  +
Grafikkarten zu erkennen und so den benötigten X-Server zu bestimmen. Sie können diese Überprüfung aber
  +
auch übergehen.
  +
Abbildung 5-9. Konfiguration von X11
  +
212
  +
Kapitel 5. X11
  +
Hier als Beispiel ein automatisch bestimmter X-Server (VGA16). Im folgenden werden Sie durch einige weitere
  +
Schritte zur Konfiguration geführt.
  +
Abbildung 5-10. Konfiguration von X11
  +
Nachdem die wichtigsten Einstellungen durchgeführt wurden, werden von anXious die benötigten X-Server
  +
installiert. Sie können hier auswählen, ob weitere Schriften im gleichen Schritt installiert werden sollen. Auf
  +
alle Fälle sollten Sie die 75dpi-Schriften installieren. In einigen Fällen kann es sinnvoll sein, auch die
  +
100dpi-Schriften zu installieren. Hierzu finden Sie später noch weitere Informationen.
  +
213
  +
Kapitel 5. X11
  +
Abbildung 5-11. Konfiguration von X11
  +
Debian GNU/Linux enthält verschiedene Terminal-Emulatoren, je nachdem welche auf Ihrem
  +
Installationsmedium verfügbar sind, können Sie hier nun einige auswählen, die nach der Konfiguration
  +
installiert werden. Sie sollten hier in jedem Fall das normale xterm installieren. Alle anderen sind im
  +
Funktionsumfang erweitert und im täglichen Betrieb vielleicht sinnvoller, Sie können diese aber später immer
  +
noch installieren.
  +
214
  +
Kapitel 5. X11
  +
Abbildung 5-12. Konfiguration von X11
  +
In diesem Schritt können Sie zwischen verschiedenen Windowmanagern wählen. Debian GNU/Linux verfügt
  +
über eine ganze Reihe verschiedener Windowmanager, Sie sehen hier nur die momentan, anhand der
  +
Paketdateien gefundenen, verfügbaren. Sie können später problemlos weitere Windowmanager installieren.
  +
Abbildung 5-13. Konfiguration von X11
  +
215
  +
Kapitel 5. X11
  +
Im nächsten Schritt können Sie das Program xdm installieren lassen. Hiermit können Sie sich unter der
  +
grafischen Oberfläche am System anmelden. Falls Sie bei der weiteren Konfiguration Schwierigkeiten haben
  +
kann es vorkommen, daß der X-Server nicht lauffähig ist. Somit haben Sie auch keine Möglichkeit sich via xdm
  +
anzumelden. An dieser Stelle sollten Sie darauf verzichten xdm zu installieren, um Schwierigkeiten zu
  +
vermeiden. Sie können die Installation später noch nachholen oder eine der Alternativen zu xdm, auf die später
  +
noch eingegangen wird, benutzen.
  +
Abbildung 5-14. Konfiguration von X11
  +
Im nächsten Schritt wählen Sie den Maustyp aus. Aktuelle Rechner verfügen meist über eine Maus mit
  +
PS/2-Anschluß. Wenn Sie im Textmodus das Programm gpm benutzen, sollten Sie hier den Punkt 4, „GPM
  +
Repeater“ auswählen. Die Auswahl „Other“ ist auszuwählen, wenn kein passendes Modell in der Liste zu
  +
finden ist, zum Beispiel wenn Sie eine USB-Maus einsetzen. Sie müssen dann später noch von Hand die
  +
entsprechende Änderung in der Konfigurationsdatei vornehmen.
  +
216
  +
Kapitel 5. X11
  +
Abbildung 5-15. Konfiguration von X11
  +
Wenn Sie eine Maus mit nur zwei Tasten einsetzen, können Sie hier die Emulation der dritten Taste (durch
  +
gleichzeitiges Drücken beider Maustasten) aktivieren.
  +
Abbildung 5-16. Konfiguration von X11
  +
217
  +
Kapitel 5. X11
  +
Geben Sie hier das Ihrer Maus entsprechende Device oder einen Link darauf an. Wenn Sie das Programm gpm
  +
einsetzen, so geben Sie hier das Device /dev/gpmdata an.
  +
Abbildung 5-17. Konfiguration von X11
  +
Hier nun die Auswahl der Tastatur, die Liste ist länger als hier angezeigt, Sie können mit den Pfeiltasten durch
  +
die Liste wandern.
  +
218
  +
Kapitel 5. X11
  +
Abbildung 5-18. Konfiguration von X11
  +
Aus dieser Liste wählen Sie eine Auflösung, mit der Ihr Monitor optimal arbeitet. Wählen Sie in keinem Fall
  +
einen zu großen Wert!
  +
Abbildung 5-19. Konfiguration von X11
  +
219
  +
Kapitel 5. X11
  +
Wählen Sie hier die vertikale Synchronisationsrate Ihres Monitors, Angaben hierzu finden Sie im Handbuch
  +
Ihres Monitors.
  +
Abbildung 5-20. Konfiguration von X11
  +
Hier können Sie Ihrem Monitor eine Bezeichung geben, die innerhalb der Konfigurationsdatei verwendet wird.
  +
220
  +
Kapitel 5. X11
  +
Abbildung 5-21. Konfiguration von X11
  +
Wählen Sie hier aus, mit wie viel Videospeicher Ihre Grafikkarte bestückt ist.
  +
Abbildung 5-22. Konfiguration von X11
  +
221
  +
Kapitel 5. X11
  +
Auch für die Grafikkarte können Sie hier eine Bezeichnung eingeben.
  +
Abbildung 5-23. Konfiguration von X11
  +
Hier können Sie wählen, welcher Clockchip sich auf der Grafikkarte befindet. Meist kann dieser automatisch
  +
bestimmt werden, so daß hier „none“ gewählt werden kann.
  +
222
  +
Kapitel 5. X11
  +
Abbildung 5-24. Konfiguration von X11
  +
Sie können nun ermitteln lassen, welche Frequenzen von der Grafikkarte unterstützt werden. Bei neueren
  +
Karten ist dies nicht notwendig.
  +
Abbildung 5-25. Konfiguration von X11
  +
223
  +
Kapitel 5. X11
  +
Wählen Sie hier die gewünschte Farbtiefe aus. Für die ersten Versuche sind 256 Farben (8bpp) ausreichend,
  +
später können Sie diesen Wert erhöhen.
  +
Abbildung 5-26. Konfiguration von X11
  +
Stellen Sie hier die gewünschte Auflösung ein, mit der der X-Server starten soll.
  +
224
  +
Kapitel 5. X11
  +
Abbildung 5-27. Konfiguration von X11
  +
Hier können Sie mehrere Auflösungen wählen zwischen denen Sie während des Betriebes umschalten können.
  +
Abbildung 5-28. Konfiguration von X11
  +
225
  +
Kapitel 5. X11
  +
Wenn Sie bereits eine funktionsfähige Konfiguration erstellt haben, können Sie die neue Konfiguration an einem
  +
anderen Ort speichern.
  +
Abbildung 5-29. Konfiguration von X11
  +
Hiermit ist die Konfiguration abgeschlossen.
  +
5.2. Installation von XFree86 4.x
  +
Nach der Installation des Basissytems stehen zunächst alle notwendigen Programme zur Verwaltung und
  +
Administration sowie für den grundlegenden Betrieb des Systems zur Verfügung. Dies umfasst noch keine
  +
grafische Benutzeroberfläche, diese wird auch vielfach (beispielsweise bei Serversystemen) nicht benötigt.
  +
Debian GNU/Linux verwendet, wie alle anderen Linux-Distributionen auch, das X-Window-System zur
  +
Darstellung der grafischen Benutzeroberfläche. Die Treiber für die verschiedenen Grafikkarten werden vom
  +
XFree86-Team entwickelt (http://www.xfree86.org). XFree86 ist eine freie Implementation des
  +
X-Window-Systems, welches auf allen Unix-ähnlichen Betriebssystemen läuft. Die „86“ im Namen läßt
  +
vermuten, daß diese Software nur auf 3/4/586er-Prozessoren lauffähig ist. Ursprünglich wurde XFree86 auch
  +
dafür entwickelt, mittlerweile ist XFree86 aber auch auf anderen Prozessor-Architekturen lauffähig. Somit
  +
müssen Debian GNU/Linux-Benutzer auf keiner Architektur auf den Luxus einer grafischen Oberfläche
  +
verzichten.
  +
X11 selbst entstand im Jahre 1986 als Ergebnis der beiden Vorgängerprojekte V und W. Im Laufe der
  +
Entwicklung wurden die grundlegenden Protokolle weiterentwickelt, blieben aber immer zu den älteren
  +
Versionen kompatibel. 1992 erschien dann die erste Version von X11 für PCs. Das XFree86-Projekt selbst
  +
startete mit einem Referenzserver für die PC-Plattform, welcher von Thomas Röll (heute Xi Graphics)
  +
geschrieben wurde, welcher dem Projekt zur Verfügung gestellt wurde.
  +
226
  +
Kapitel 5. X11
  +
Ungeachtet dessen ist es natürlich ohne weiteres möglich, auch mit Debian GNU/Linux in den Genuß einer
  +
grafischen Benutzeroberfläche zu kommen. Um eine Grafikkarte zu benutzen benötigt man, wie bei anderen
  +
Betriebssystemen auch, einen Treiber. Diese Treiber stehen in Form sogenannter „X-Server“ zur Verfügung. Es
  +
werden im folgenden die Installation dieses Servers und einige ausgewählte Anwendungen vorgestellt.
  +
Wie bei allen neuen Treibern, die man in ein Debian GNU/Linux-System einbindet, ist es vorteilhaft, möglichst
  +
genaue Informationen über die verwendete Hardware zu haben. Bei der Vielfalt der auf dem Markt angebotenen
  +
Grafikkarten kann es da schon manchmal etwas schwierig sein, herauszufinden, welches Modell man in seinem
  +
Rechner hat. Gerade bei Komplettgeräten hat man nicht unbedingt die genaue Modellbezeichnung zur Hand.
  +
Schwierig wird es auch bei Motherboards mit einem integrierten Grafikchip. Eine Übersicht der unterstützten
  +
Chipsets für die zur Zeit aktuelle Version 4 von XFree86 finden Sie unter der URL:
  +
http://www.xfree86.org/4.1.1/Status.html . Bitte beachten Sie: Dies ist eine Liste der Grafikchips auf den
  +
jeweiligen Karten, Sie finden keine Namen der Kartenhersteller. Wenn größere Probleme bei der Installation der
  +
Grafikkarte auftauchen, müssen Sie im schlimmsten Fall Ihren Rechner öffnen und einen Blick auf die
  +
Grafikkarte werfen. Aber meist ist das nicht notwendig.
  +
Mit der Version 4 von XFree86 wird nur noch ein einziger X-Server benötigt. Die Treiber für die verschiedenen
  +
Grafikkarten werden über Module, wie schon vom Linux Kernel her bekannt, geladen.
  +
Zunächst müssen die benötigten Pakete installiert werden. Hierzu kann tasksel benutzt werden, hier ist das
  +
Paket „X window system“ auszuwählen. Natürlich können auch gezielt die benötigten Pakete, beispielsweise
  +
mit apt-get installiert werden. Dies sind mindestens: xserver-common und xserver-xfree86,
  +
xfonts-base sowie eventuell weitere Fonts und natürlich ein Window Manager und ein grafischer Desktop,
  +
wie in folgendem Beispiel:
  +
debian:~# apt-get install xserver-xfree86 xserver-common xfonts-base gnome-core
  +
gnome-panel gnome-control-center sawfish-gnome gnome-session gnome-terminal
  +
Reading Package Lists... Done
  +
Building Dependency Tree... Done
  +
The following extra packages will be installed:
  +
cpp cpp-2.95 defoma dialog docbook-xml esound-common file gconf gdk-imlib1
  +
gnome-bin gnome-libs-data gnome-mime-data gnome-panel-data gs gs-common gsfonts
  +
gsfonts-x11 imlib-base imlib1 libart2 libaudiofile0 libbz2-1.0 libcapplet0
  +
libcapplet1 libcdparanoia0 libdps1 libesd0 libfreetype6 libgconf11
  +
libgdk-pixbuf-gnome2 libgdk-pixbuf2 libgimpprint1 libglade-gnome0 libglade0
  +
libglib1.2 libgmp3 libgnome-vfs-common libgnome-vfs0 libgnome32 libgnomeprint-bin
  +
libgnomeprint-data libgnomeprint15 libgnomesupport0 libgnomeui32 libgnorba27
  +
libgnorbagtk0 libgtk1.2 libgtk1.2-common libgtkxmhtml1 libjpeg62 liboaf0
  +
liborbit0 libpanel-applet0 libpaperg libpng2 librep9 libscrollkeeper0 libtiff3g
  +
libungif4g libxaw7 libxml1 libxml2 libxslt1 libzvt2 oaf perl perl-modules rep
  +
rep-gtk rep-gtk-gnome scrollkeeper sgml-base sgml-data xbase-clients
  +
xfree86-common xlibmesa3 xlibs xutils
  +
The following NEW packages will be installed:
  +
cpp cpp-2.95 defoma dialog docbook-xml esound-common file gconf gdk-imlib1
  +
gnome-bin gnome-control-center gnome-core gnome-libs-data gnome-mime-data
  +
gnome-panel gnome-panel-data gnome-session gnome-terminal gs gs-common
  +
gsfonts gsfonts-x11 imlib-base imlib1 libart2 libaudiofile0 libbz2-1.0 libcapplet0
  +
libcapplet1 libcdparanoia0 libdps1 libesd0 libfreetype6 libgconf11
  +
libgdk-pixbuf-gnome2 libgdk-pixbuf2 libgimpprint1 libglade-gnome0 libglade0
  +
libglib1.2 libgmp3 libgnome-vfs-common libgnome-vfs0 libgnome32 libgnomeprint-bin
  +
libgnomeprint-data libgnomeprint15 libgnomesupport0 libgnomeui32 libgnorba27
  +
libgnorbagtk0 libgtk1.2 libgtk1.2-common libgtkxmhtml1 libjpeg62 liboaf0 liborbit0
  +
libpanel-applet0 libpaperg libpng2 librep9 libscrollkeeper0 libtiff3g libungif4g
  +
libxaw7 libxml1 libxml2 libxslt1 libzvt2 oaf perl perl-modules rep rep-gtk
  +
rep-gtk-gnome sawfish-gnome scrollkeeper sgml-base sgml-data xbase-clients
  +
xfonts-base xfree86-common xlibmesa3 xlibs xserver-common xserver-xfree86 xutils
  +
0 packages upgraded, 87 newly installed, 0 to remove and 0 not upgraded.
  +
Need to get 0B/41.7MB of archives. After unpacking 117MB will be used.
  +
Do you want to continue? [Y/n]
  +
In der Version 3.0 von Debian verwenden fast alle Pakete zur Konfiguration das neu eingeführte „debconf“
  +
System. Dies ermöglicht es vor der Installation eines Paketes alle benötigten Daten vom Administrator zu
  +
erfragen. Für die XFree 4 Pakete ist dies auch der Fall.
  +
227
  +
Kapitel 5. X11
  +
Natürlich ist es dem Systemadministrator freigestellt die Konfigurationsdateien von Hand, unter Umgehung von
  +
Debconf, zu bearbeiten. In wenigen exotischen Fällen kann es notwendig sein Änderungen direkt in der Datei
  +
/etc/X11/XF86Config-4 vorzunehmen. Die ersten beiden Dialoge beschäftigen sich mit genau dieser Frage,
  +
wie hier gezeigt ist „Yes“ auszuwählen um die Konfigurationsdaten für das Xwrapper Script via Debconf zu
  +
verwalten. Mit dem Xwrapper wir festgelegt welche XFree Version (es können gleichzeitig sowohl die Version
  +
3.x als auch 4.x installiert werden) verwendet werden soll und mit welchen Parametern diese gestartet wird.
  +
Abbildung 5-30. XFree 4.x Installation - Debconf Xwrapper
  +
Im zweiten Schritt kann auch die Konfigurationsdatei für XFree86 selbst unter die Kontrolle von Debconf
  +
gestellt werden.
  +
228
  +
Kapitel 5. X11
  +
Abbildung 5-31. XFree 4.x Installation - Debconf XFree86 Konfigurationsdatei
  +
Mit XFree86 4 steht nur noch ein XServer zur Verfügung, die Treiber für die einzelnen Grafikkarten werden als
  +
Module hinzugeladen und können im nächsten Schritt aus einer Liste ausgewählt werden.
  +
229
  +
Kapitel 5. X11
  +
Abbildung 5-32. XFree 4.x Installation - Treiber
  +
Xfree86 unterstützt in der Version 4 Treiber für die verschiedenen Grafikkarten die als Modul hinzgeladen
  +
werden können. Hier kann der für die verwendete Karte benötigte Treiber ausgewählt werden. Wenn Sie sich
  +
nicht sicher sind welche Karte in Ihrem System steckt, so können Sie das Programm lspci zur Hilfe nehmen.
  +
surimi:# lspci
  +
00:00.0 Host bridge: Intel Corp. 440BX/ZX - 82443BX/ZX Host bridge (rev 03)
  +
00:01.0 PCI bridge: Intel Corp. 440BX/ZX - 82443BX/ZX AGP bridge (rev 03)
  +
00:07.0 ISA bridge: Intel Corp. 82371AB PIIX4 ISA (rev 02)
  +
00:07.1 IDE interface: Intel Corp. 82371AB PIIX4 IDE (rev 01)
  +
00:07.2 USB Controller: Intel Corp. 82371AB PIIX4 USB (rev 01)
  +
00:07.3 Bridge: Intel Corp. 82371AB PIIX4 ACPI (rev 02)
  +
00:0b.0 Multimedia audio controller: Ensoniq ES1371 [AudioPCI-97] (rev 06)
  +
00:0d.0 SCSI storage controller: Advanced Micro Devices [AMD] 53c974 [PCscsi] (rev 10)
  +
00:0f.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8029(AS)
  +
00:11.0 Multimedia video controller: Brooktree Corporation Bt848 TV with DMA push (rev 12)
  +
00:13.0 Unknown mass storage controller: Triones Technologies, Inc. HPT366 / HPT370 (rev 01)
  +
00:13.1 Unknown mass storage controller: Triones Technologies, Inc. HPT366 / HPT370 (rev 01)
  +
01:00.0 VGA compatible controller: Number 9 Computer Company Revolution 4 (rev 02)
  +
lspci ist ein separates Paket welches Sie ggf. erst installieren müssen. Mit Unix Bordmittel läßt sich ein
  +
ähnliches Ergebniss mit dem Kommando cat /proc/pci erziehlen. Die Ausgabe von lspci ist etwas
  +
„aufgeräumter“. In dem hier gezeigten Beispiel ist die letzte Zeile entscheidend, suchen Sie in der Ausgabe
  +
nach einer Zeile die mit „VGA“ beginnt. Neben dem Hersteller der Karte (Number Nine) wird auch der Typ
  +
(Revolution 4) angezeigt. Bei sehr neuen Karten kann es vorkommen das diese noch nicht erkannt werden, die
  +
230
  +
Kapitel 5. X11
  +
bedeutet aber nicht das die Karte nicht doch mit einem XFree Treiber funktioniert. Die meisten Karten
  +
funktionieren auch mit dem Treiber eines älteren Modells.
  +
Auch wenn Sie über eine Grafikkarte mit AGP Anschluss verfügen, können die Informationen wie beschrieben
  +
über lspci abgerufen werden. Der Linux Kernel macht an dieser Stelle keine Unterscheidung.
  +
Abbildung 5-33. XFree 4.x Installation - Kernel Framebuffer
  +
Hier kann bestimmt werden ob die Kernel-Framebuffer-Schnittstelle verwendet werden soll.
  +
231
  +
Kapitel 5. X11
  +
Abbildung 5-34. XFree 4.x Installation - Tastatur
  +
XFree4 kann auf unterschiedliche Hardwarearchitekturen eingesetzt werden. Diese verwenden zum Teil sehr
  +
unterschiedliche Tastaturen. Auf den meisten Systemen kann die vorgegebene Einstellung belassen werden.
  +
232
  +
Kapitel 5. X11
  +
Abbildung 5-35. XFree 4.x Installation - Tastatur Schritt 2
  +
Als nächstes folgt eine Hilfe zur Konfiguration des Tastaturtyps. Es sind in den verschiedenen Ländern sehr
  +
vielen unterschiedliche Tastaturen im Umlauf, die Anzahl und Belegung der Tasten unterscheidet sich dabei
  +
jeweils. Es werden einige Beispiele gezeigt für sinnvolle Werte.
  +
233
  +
Kapitel 5. X11
  +
Abbildung 5-36. XFree 4.x Installation - Tastatur Schritt 3
  +
Hier ist der gewünschte Tastaturtyp anzugeben.
  +
234
  +
Kapitel 5. X11
  +
Abbildung 5-37. XFree 4.x Installation - Tastatur Schritt 4
  +
Im nächsten Schritt kann das Layout der Tastatur gewählt werden, für den deutschsprachigen Bereich ist die
  +
Angabe von „de“ ausreichend.
  +
235
  +
Kapitel 5. X11
  +
Abbildung 5-38. XFree 4.x Installation - Tastatur Schritt 5
  +
Hier kann das Verhalten bei der Eingabe von Akzenten auf der Tastatur verändert werden.
  +
236
  +
Kapitel 5. X11
  +
Abbildung 5-39. XFree 4.x Installation - Tastatur Schritt 5
  +
237
  +
Kapitel 5. X11
  +
Abbildung 5-40. XFree 4.x Installation - Maus Schnittstelle
  +
Wählen Sie hier die Schnittstellen an der die Maus angeschlossen ist. Serielle Mäuse sind meist über einen
  +
9-poligen, trapezförmigen Stecker angeschlossen. Ein PS/2 Anschluss ist rund mit 5 Anschlüssen, ein USB
  +
Anschluss hat einen flachen, rechteckigen Stecker. Andere Anschlussformen sind eher unüblich.
  +
238
  +
Kapitel 5. X11
  +
Abbildung 5-41. XFree 4.x Installation - Maus Protokoll
  +
Hier ist das Protokoll der Maus auszuwählen. Bei PS/2 und seriellen Mäusen sind verschiedene Protokolle
  +
gebräuchlich, manchmal sind auf der Verpackung oder der Unterseite der Maus Hinweise zur finden. Im
  +
Zweifelsfall müssen verschiedene Alternativen ausprobiert werden.
  +
239
  +
Kapitel 5. X11
  +
Abbildung 5-42. XFree 4.x Installation - Monitor Typ
  +
Hier ist der Typ des Monitors auszuwählen. Wenn kein LCD Monitor angeschlossen ist so ist hier „No“
  +
auszuwählen.
  +
240
  +
Kapitel 5. X11
  +
Abbildung 5-43. XFree 4.x Installation - Monitor horizontaler Sync
  +
Es können hier die Werte für die horizontaler Synchronisation des Monitors angegeben werden. Diese sind ggf.
  +
dem Handbuch zu entnehmen.
  +
241
  +
Kapitel 5. X11
  +
Abbildung 5-44. XFree 4.x Installation - Monitor vertikaler Sync
  +
Es können hier die Werte für die vertikale Synchronisation des Monitors angegeben werden. Diese sind ggf.
  +
dem Handbuch zu entnehmen.
  +
242
  +
Kapitel 5. X11
  +
Abbildung 5-45. XFree 4.x Installation - Monitor horizontaler Sync
  +
Hier können verschiedene Auflösungen gleichzeitig ausgewählt werden mit denen der X-Server betrieben
  +
werden soll. Zwischen diesen Auflösungen kann im laufenden Betrieb umgeschaltet werden. Der X-Server wird
  +
immer mit der höchsten hier ausgewählten Auflösung starten.
  +
243
  +
Kapitel 5. X11
  +
Abbildung 5-46. XFree 4.x Installation - Auflösungen
  +
Abschliessend kann noch die Farbtiefe des X-Servers gewählt werden. Moderne Grafikkarten verfügen über
  +
ausreichend Speicher um auch in hohen Auflösungen mit 24 Bit arbeiten zu können.
  +
Die eingegebenen Werte werden in der Systemdatenbank (via debconf) gespeichert. Wenn Sie später
  +
Änderungen an den gespeicherten Werten vornehmen möchten, so kann hierzu das Kommando
  +
dpkg-reconfigure xserver-xfree86 verwendet werden.
  +
5.2.1. dexconf
  +
Während der Installation von XFree 86 wurden verschiedene Werte abgefragt und mittels debconf in der
  +
Systemdatenbank gespeichert. Aus diesen Angaben wurde eine Konfigurationsdatei erzeugt, so das das X
  +
Window System lauffähig ist. Wenn Sie von Hand Veränderungen an der Konfigurationsdatei vorgenommen
  +
haben oder gar die Datei versehentlich glöscht haben, so sind die ursprünglichen Einstellungen nicht verloren.
  +
Um die Daten aus der Datenbank auszulesen und eine Konfigurationsdatei zu erzeugen kann das Programm
  +
dexconf verwendet werden. Mit dexconf können keine Werte in der Datenbank verändert werden, benutzen
  +
Sie hierzu dpkg-reconfigure und den Namen des zu konfigurierenden Paketes.
  +
Ein simpler Aufruf von dexconf erzeugt die Konfigurationsdatei /etc/X11/XF86Config-4 mit den Werten
  +
aus der Datenbank. Weitere Optimierungen können von Hand vorgenommen werden, oder Sie greifen auf eines
  +
der folgenden Tools zurück. Im einfachsten Fall gelingt eine Neukonfiguration des X-Servers mittels
  +
dpkg-reconfigure xserver-xfree86.
  +
244
  +
Kapitel 5. X11
  +
5.2.2. xf86cfg
  +
Auch mit der Version 4 von XFree86 wird ein eigenständiges Administrationswerkzeug geliefert. Zu beachten
  +
ist das eine Konfiguration von XFree mit diesem Programm nicht via Debconf verwaltet wird.
  +
xf86cfg ist auf die neuen Funktionen von XFree86 4 angepasst und unterstützt die Verwaltung von mehreren
  +
Grafikkarten und Monitoren sowie verschiedene gleichzeitig angeschlossenen Eingabegeräte wie zum Beispiel
  +
mehreren Mäuse oder eine Maus und ein Grafiktablett.
  +
Beim ersten Start von xf86cfg wird die aktuelle Konfigurationsdatei eingelesen und die dort bereits definierten
  +
Geräte dargestellt.
  +
5.2.2.1. Textmodus
  +
Der Textmodus bietet, ähnlich wie das Debian Installationsprogramm, die Möglichkeit über ein Menü zu den
  +
verschiedenen Abschnitten der Konfiguration zu springen. Hier können Geräte hinzugefügt oder bereits
  +
konfigurierte verändert werden.
  +
Abbildung 5-47. xf86cfg - Textmodus
  +
Hier ein Beispiel für die Auswahl der Grafikkarte.
  +
245
  +
Kapitel 5. X11
  +
Abbildung 5-48. xf86cfg - Textmodus
  +
5.2.2.2. Grafikmodus
  +
Wird xf86cfg ohne weitere Parameter gestartet, so wird ein X Server initalisiert, die Konfiguration kann dann
  +
bereits mit einer Grafischen Oberfläche erfolgen. Ist die Maus nach dem Start nicht funktionsfähig, so können
  +
die Optionen über die Tastatur angewählt werden. Achten Sie darauf das neu hinzugefügte Geräte immer oben
  +
links in der Ecke erscheinen, diese überdecken eventuell dort bereits vorhandene Geräte. Jedes Gerät kann mit
  +
der Maus verschoben werden.
  +
246
  +
Kapitel 5. X11
  +
Abbildung 5-49. xf86cfg - X11
  +
Neue Geräte können über die Symbole am oberen Rand des Fensters hinzugefügt werden. Nachdem alle
  +
Parameter für das neue Gerät eingestellt wurden, kann dieses mit „enable“ eingebunden werden. Dies wird
  +
durch eine Verbindungslinie zum Rechner dargestellt.
  +
5.3. Starten von X
  +
Sie können nun, falls Sie bereits einen Windowmanager installiert haben, die grafische Oberfläche mit startx
  +
starten. Wenn noch kein Windowmanager installiert ist, merken Sie das spätestens nach dem Start der
  +
grafischen Oberfläche. Sie können dann keines der Fenster verschieben, verkleinern oder sonstwie damit
  +
arbeiten. Im Abschnitt über Windowmanager finden Sie einige Vorschläge, installieren Sie mindestens eines
  +
dieser Pakete. Wenn Sie verschiedene Windowmanager installieren, können Sie (bei den meisten) während des
  +
Betriebes zwischen diesen umschalten. Sie müssen dazu weder Ihre Programme noch den X-Server oder gar
  +
den Rechner neu starten.
  +
Wenn Ihr Monitor nach einige Sekunden kein brauchbares Bild anzeigt, können Sie den X-Server mit der
  +
Tastenkombination CTRL+ALT+BACKSPACE (oder CTRL+AUSSCHALTEN beim Macintosh) zwangsweise
  +
beenden. Versuchen Sie dann noch einmal den X-Server zu konfigurieren.
  +
247
  +
Kapitel 5. X11
  +
Wenn Sie sich gleich nach dem Start des Rechners auf der grafischen Oberfläche einloggen wollen, installieren
  +
Sie eines der Pakete login.app, gdm oder auch xdm. Stellen Sie aber vorher unbedingt sicher, daß der
  +
X-Server richtig konfiguriert und funktionsfähig ist. Es kann sonst dazu kommen, daß Sie sich überhaupt nicht
  +
mehr am System anmelden können!
  +
5.3.1. xdm
  +
XDM ist die älteste und auch auf anderen Unix-Systemen weit verbreitete Methode zum Anmelden am System
  +
mit einer grafischen Oberfläche. XDM wird auch häufig übers Netzwerk eingesetzt, um sich von einem
  +
X-Terminal oder einem anderen Betriebssystem mit X11-Emulation auf einem Unix-System anzumelden.
  +
Natürlich können Sie XDM auch auf Ihrem lokalen System einsetzen, es gibt aber verschiedene andere
  +
Programme, die optisch ansprechender gestaltet sind und über mehr Funktionen verfügen.
  +
5.3.2. gdm - GNOME Display Manager
  +
GDM ist ein Ersatz für den bekannten XDM, einem Display Manager für X11. GDM wurde von Grund auf neu
  +
geschrieben und enthält keinerlei Code aus anderen Programmen.
  +
Abbildung 5-50. GNOME Display Manager
  +
5.3.2.1. Der GDM-Daemon
  +
GDM wurde im Hinblick auf größtmögliche Sicherheit entworfen. Beim Start liest GDM zunächst die
  +
Konfigurationsdatei ein und startet für jedes lokale Display einen X-Server sowie einen eigenen Prozeß. Der
  +
Hauptprozeß wartet dann auf eventuelle XDMCP Requests von anderen Rechnern oder Terminals und
  +
überwacht auch die lokalen Display-Sitzungen.
  +
248
  +
Kapitel 5. X11
  +
Ein gestarteter GDM-Prozeß ruft nach dem Start des X-Servers das Programm gdmlogin auf, welches das
  +
eigentliche Programm zum Anmelden am System unter einer grafischen Oberfläche darstellt. Dieses Programm
  +
läuft unter einer eigenen User-ID und kommuniziert mit dem Hauptprogramm.
  +
GDM unterstützt neben den normalen Paßwortdateien die Benutzung von Shadow-Paßwörtern sowie PAM
  +
(Pluggable Authentication Modules).
  +
Entfernte Rechner oder X-Terminals können über den XDMCP Port auf den GDM-Daemon zugreifen. GDM
  +
erlaubt allen Rechnern, die im Abschnitt „service“ der Konfigurationsdatei des TCP Wrappers beschrieben sind,
  +
den Zugriff. Sie können die XDMCP-Unterstützung aber auch komplett deaktivieren.
  +
Um widerstandfähiger gegen die in letzter Zeit leider sehr beliebten DOS (Denial of Service-) Angriffe zu sein,
  +
wurden einige Überprüfungen eingebaut. Sie können über die Konfiguration viele Protokollparameter u.ä.
  +
verändern. Wenn Sie sich nicht sicher sind, sollten Sie allerdings besser nichts an diesen Einstellungen
  +
verändern. Für die meisten Anforderungen sind die Standardeinstellungen gut geeignet.
  +
Alle Zugriffe auf Dateien werden von GDM mit der User-ID des jeweiligen Benutzers ausgeführt. GDM verfügt
  +
über einen sogenannten „Face Browser“, mit diesem wird für jeden Benutzer des Systems ein Bild in der
  +
Login-Maske angezeigt. Dieses kann vom Benutzer durch ein eigenes Foto ersetzt werden, die Dateigröße kann
  +
vom Systemverwalter begrenzt werden, auf Systemen mit vielen Benutzern sollten Sie diese Funktion aus
  +
Geschwindigkeitsgründen deaktivieren.
  +
5.3.2.2. Der GDM Daemon
  +
GDM unterstützt auch das X Display Manager Protocol (XDMCP), mit dem sich X-Sessions auf entfernten
  +
Rechnern betreiben lassen.
  +
GDM lauscht hierzu auf dem UDP Port 177 und beantwortet Anfragen (QUERYs und
  +
BROADCAST_QUERYs), indem ein „WILLING“, also eine Bestätigung, gesendet wird.
  +
GDM kann auch so konfiguriert werden, daß INDIRECT-Queries beantwortet werden und ein sogenannter
  +
„host chosser“ auf dem entfernten Display angezeigt wird. GDM merkt sich die Auswahl des Benutzers und
  +
leitet die Auswahl an den entsprechenden Server weiter.
  +
GDM unterstützt lediglich den MIT-MAGIC-COOKIE-1 zur Authentifizierung. Da es recht einfach ist, bei der
  +
Verwendung von XDMCP einen Rechner mit DOS (Denial of Service)-Angriffen lahmzulegen, wurden einige
  +
Funktionen eingebaut, um diesem entgegenzuwirken. Detailliertere Informationen finden Sie weiter unten.
  +
Obwohl GDM über diesen Schutz verfügt, sollten Sie sich nicht alleine darauf verlassen. Das X-Protokoll ist
  +
anfällig gegen Angriffe und Sie sollten, wenn es möglich ist, den Port 177 in Ihrem Firewall sperren.
  +
Bedenken Sie auch, daß bei der Verwendung von X übers Netzwerk alle Eingaben von der Tastatur (also auch
  +
Paßwörter) unverschlüsselt übertragen werden. Eine weitere Gefahr sind Cookies, die auf einem per NFS
  +
gemounteten Verzeichnis gespeichert werden.
  +
5.3.2.3. Der „Greeter“
  +
Der „Greeter“ dient zur „Begrüßung“ der Benutzer am System und stellt die eigentliche Eingabemaske für den
  +
Benutzernamen und das Paßwort zur Verfügung. Am oberen Rand des Fensters finden Sie ein Menü mit
  +
verschiedenen Einträgen. Das voreingestellte GNOME-Logo kann durch ein anderes ersetzt oder ganz
  +
deaktiviert werden. Ebenso können Sie den „Face-Browser“, der normalerweise nicht aktiv ist, aktivieren.
  +
5.3.2.3.1. Benutzername und Paßwort
  +
In das Textfeld werden Benutzername und Paßwort eingegeben. gdmlogin kommuniziert dabei mit dem
  +
darunterliegenden Daemon gdm und zeigt über dem Texteingabefeld die nächste benötigte Eingabe an. Diese
  +
kann sich, je nach verwendetem Authentifizierungssystem, ändern.
  +
249
  +
Kapitel 5. X11
  +
5.3.2.3.2. Menü
  +
Über die Menüleiste können Sie verschiedene Desktop-Umgebungen auswählen sowie die gewünschte Sprache
  +
einstellen. Weiterhin finden Sie hier die Möglichkeit, das System herunterzufahren oder einen Neustart zu
  +
veranlassen; Sie müssen sich hier nicht erst komplett am System anmelden (natürlich werden Sie aber nach dem
  +
entsprechenden Paßwort gefragt).
  +
Wenn Sie auf dem Login-Bildschirm noch andere Anwendungen benutzen möchten, zum Beispiel um den
  +
Systemstatus anzuzeigen, so können Sie das Fenster auch als Icon verkleinern.
  +
5.3.2.3.3. Der „Face Browser“
  +
Wenn Sie den Face Browser aktivieren, kann vom Systemadministrator oder von jedem einzelnen Benutzer ein
  +
Bild zu dem entsprechenden Benutzernamen abgelegt werden. Sie können dann mit einem Mausklick auf das
  +
passende Bild den Benutzer auswählen und müssen lediglich das entsprechende Paßwort angeben.
  +
Da der „Greeter“ mit einer eigenen User-ID läuft (aus Sicherheitsgründen werden nicht die Administratorrechte
  +
verwendet), müssen die Bilder für den entsprechenden User lesbar sein. Jeder Benutzer, der sein Bild mit dem
  +
Dateinamen photo im Verzeichnis ~/.gnome/ ablegt, muß sein Homeverzeichnis und das Verzeichnis
  +
~/.gnome/ sowie die Datei photo selber für die Benutzergruppe „other“ lesbar machen.
  +
Wenn die Bilder systemweit vom Administrator installiert werden, müssen diese Dateien für den Benutzer
  +
„gdm“ lesbar sein.
  +
Sie können über die Konfigurationsdatei bestimmte Benutzer aus dem „Face Browser“ ausblenden. Hierzu
  +
werden alle nicht gewünschten Benutzernamen in den Abschnitt Exclude eingetragen.
  +
Bedenken Sie bitte, daß es ein Sicherheitsrisiko ist, alle Benutzernamen eines Systems preiszugeben, genau dies
  +
geschieht mit dem „Face Browser“. Insbesondere sollten Sie diese Funktion nicht über das Internet benutzen.
  +
Potentiellen Angreifern wird so der Zugriff erleichtert, der Benutzername ist schon mal bekannt. Das ist ein
  +
Punkt, den ein Angreifer nicht mehr herausfinden muß.
  +
5.3.2.3.4. Logo
  +
Sie können das Logo durch ein eigenes ersetzen. Hierzu muß das Logo in einem Format vorliegen, welches von
  +
der Imlib verarbeitet werden kann, also zum Beispiel: GIF, JPG, PNG, TIFF, XPM und einige andere...
  +
Weiterhin muß das Logo natürlich auch für den Benutzer lesbar sein, unter dem der gdm-Prozeß läuft.
  +
5.3.2.4. Konfiguration
  +
Die Konfigurationsdateien zu GDM finden Sie unter /etc/gdm/. Dort befindet sich die Datei gdm.conf sowie
  +
einige Unterverzeichnisse:
  +
Init/
  +
PostSession/
  +
PreSession/
  +
Sessions/
  +
gdm.conf
  +
In der Datei /etc/gdm/gdm.conf befinden sich die Parameter sowohl für gdmlogin als auch für
  +
gdmchooser, da sich viele Funktionen dieser beiden Programme überschneiden.
  +
Die restliche Konfiguration wird über Scripte vorgenommen, die von den Paketen in den anderen Verzeichnissen
  +
abgelegt werden. So können von der Paketverwaltung ganz einfach zum Beispiel neue Windowmanager
  +
hinzugefügt werden, ohne daß der Systemadministrator etwas an der Konfiguration ändern muß.
  +
250
  +
Kapitel 5. X11
  +
5.3.2.4.1. Die Script-Verzeichnisse
  +
In diesem Abschnitt werden die Verzeichnisse /Init, /PreRoot und /PostRoot beschrieben.
  +
Wenn der X-Server erfolgreich gestartet wurde, versucht GDM das Script Init/<displayname> auszuführen.
  +
Dies wird im Normalfall Init/:0 für das erste lokale Display sein. Wenn diese Datei nicht gefunden wird,
  +
versucht GDM das Script Init/Default auszuführen. Dieses wird mit den Rechten des Superusers (root)
  +
ausgeführt und GDM wird so lange blockiert, bis das Script beendet wird. Sie können in diesem Script zum
  +
Beispiel Programme wie xconsole oder xsetroot aufrufen.
  +
Der Systemadministrator kann bestimmen, ob Programme, die von dem Init-Script aufgerufen werden, vor dem
  +
Starten der Benutzersitzung beendet werden sollen oder nicht. Dies wird über die Variable „KillInitClients“
  +
gesteuert. Informationen hierzu finden weiter unten.
  +
Wenn ein Benutzer sich erfolgreich am System angemeldet hat, versucht GDM ein „PreSession Script“ zu
  +
starten. Diese Scripte verhalten sich sehr ähnlich wie die Init-Skripte, PreSession/<displayname> wird
  +
zunächst ausgeführt. Sollte diese Datei nicht existieren, versucht GDM die Datei PreSession/Default
  +
auszuführen. Auch diese Scripte werden mit „Root“-Rechten ausgeführt und GDM wird blockiert bis das Script
  +
beendet ist. Sie können dieses Script zum Beispiel für Accounting-Zwecke nutzen. Die Umgebungsvariable
  +
$USER enthält den Loginnamen des Benutzers. Wenn das Script ohne Fehler ausgeführt wurde, muß es den
  +
Wert 0 zurückgeben, andernfalls bricht GDM den Loginvorgang ab.
  +
Danach wird das „Session Script“ ausgeführt. Dieses befindet sich im Verzeichnis etc/gdm/Session.
  +
Welches von diesen Scripten ausgeführt wird, hängt von der Auswahl des Benutzers aus dem „Session“-Menü
  +
ab. Wenn keine Auswahl getroffen wird, und der Benutzer bisher keine Session in der Datei ~/.gnome/gdm
  +
gespeichert hat, wird das Script Sessions/Default ausgeführt.
  +
Wenn der Benutzer die Sitzung beendet, wird das „PostSession“-Script ausgeführt. Die Funktion ist ähnlich wie
  +
bei den „Init“- und den „PreSession“-Scripten. Zunächst wird versucht das Script
  +
PostSession/<displayname> auszuführen, wenn dieses nicht gefunden wird, wird mit dem Script
  +
PostSession/Default fortgefahren. Auch diese Scripte werden mit Superuser-Rechten ausgeführt, der
  +
Daemon wird während der Zeit gestoppt und die Umgebungsvariable $USER enthält den Benutzernamen
  +
desjenigen Benutzers, der die Session beendet hat.
  +
Beachten Sie bitte, daß dieses Script auch ausgeführt wird, wenn ein Fehler (zum Beispiel ein I/O Error)
  +
aufgetreten ist. Es kann nicht immer sichergestellt werden, daß alle X-Anwendungen während der Laufzeit
  +
dieses Scriptes funktionieren.
  +
Keines der „Init“-, „PreSession“- oder „PostSession“- Scripte ist zwingend erforderlich. GDM funktioniert
  +
hervorragend ohne diese Scripte. Allerdings benötigen Sie mindestens ein „Session“- Script, damit GDM
  +
funktioniert.
  +
5.3.2.4.2. Konfigurationsdatei - gdm.conf
  +
Die GDM-Konfigurationsdatei /etc/gdm/gdm.conf unterteilt sich in verschiedene Bereiche, welche durch
  +
Variablen die verschiedenen Teile von GDM beeinflussen.
  +
Die Syntax dieser Datei entspricht der bei GNOME-Programmen Konventionen. Schlüsselwörter (Keywords) in
  +
eckigen Klammern definieren die einzelnen Bereiche, Text vor einem Gleichheitszeichen stellt Variablen dar
  +
und die nach dem Gleichheitszeichen folgenden Zeichen oder Zahlen stellen den Wert, der dieser Variablen
  +
zugewiesen werden soll, dar. Wenn Sie eine bestimmte Funktion aktivieren oder deaktivieren möchten, werden
  +
hierfür häufig die Zahlen 0 (für deaktiviert) und 1 (für aktiviert) benutzt.
  +
5.3.2.4.3. Daemon-Konfiguration
  +
[daemon]
  +
Chooser
  +
Chooser=bin/gdmchooser - -disable-sound
  +
Programmname und kompletter Pfad für das Programm gdmchooser, gefolgt von weiteren Argumenten.
  +
251
  +
Kapitel 5. X11
  +
DefaultPath
  +
DefaultPath=/bin:/usr/bin:/usr/bin/X11:/usr/local/bin
  +
Hier können Sie den Suchpfad angeben, der als Umgebungsvariable gesetzt werden soll. Wenn Sie aus
  +
Ihrem System weitere Verzeichnisse mit Programmen angelegt haben, die allen Benutzern zugänglich sein
  +
sollen, so können Sie diese Verzeichnisse hier mit angeben.
  +
DisplayInitDir
  +
DisplayInitDir=etc/gdm/Init
  +
Diese Variable enthält das Verzeichnis, in dem sich die „Init-Skripte“ befinden. Weiter unten finden Sie
  +
nähere Informationen zu den eigentlichen Scripten.
  +
Greeter
  +
Greeter=bin/gdmlogin - -disable-sound
  +
Kompletter Pfad und Name für das Programm gdmlogin mit eventuellen weiteren Argumenten.
  +
Group
  +
Group=gdm
  +
Die Benutzergruppe, unter der die Programme gdmlogin und gdmchooser laufen.
  +
HaltCommand
  +
HaltCommand=/sbin/shutdown -h now
  +
Kompletter Pfad und Programmname sowie weitere Argumente, welches aufgerufen wird, wenn der
  +
Benutzer aus dem Menü die Option „Halt“ aktiviert.
  +
KillInitClients
  +
KillInitClients=1
  +
Mit dieser Option aktivieren oder deaktivieren Sie das Beenden aller Programme, die über die Init-Skripte
  +
gestartet wurden, nachdem der Benutzer sich einloggt. Die Standard-Einstellung ist hier „1“, die
  +
Programme werden damit beendet.
  +
LogDir
  +
LogDir=var/gdm
  +
Diese Variable enthält das Verzeichnis, in dem sich die Logdateien von GDM befinden. Wenn Sie hier
  +
keinen Wert angeben, wird der Wert der Variablen ServAuthDir verwendet. Angaben zu dieser Variablen
  +
finden Sie weiter unten.
  +
PidFile
  +
PidFile=var/run/gdm.pid
  +
Name und Pfad der Datei, welche die Prozeß-ID des Programms gdm enthält.
  +
252
  +
Kapitel 5. X11
  +
PostSessionScriptDir
  +
PostSessionScriptDir=etc/gdm/PostSession
  +
Beschreibt das Verzeichnis, in dem sich die Scripte befinden, welche nach dem Ausloggen des Benutzers
  +
ausgeführt werden. Weitere Informationen hierzu finden Sie unter „Script Directories“.
  +
PreSessionScriptDir
  +
PreSessionScriptDir=etc/gdm/PreSession
  +
Das Verzeichnis, in dem sich die Scripts befinden, die vor dem Einloggen des Benutzers ausgeführt
  +
werden. Auch hierzu finden Sie weitere Informationen unter „Script Directories“.
  +
RebootCommand
  +
RebootCommand=/sbin/shutdown -r now
  +
Kompletter Pfad, Programmname und weitere Argumente für das Programm, welches ausgeführt wird,
  +
wenn der Benutzer aus dem „System-Menü“ die Option „Reboot“ auswählt. Dies ist normalerweise das
  +
Programm shutdown.
  +
RootPath
  +
RootPath=/sbin:/usr/sbin:/bin:/usr/bin:/usr/bin/X11:/usr/local/bin
  +
Suchpfad, der für den Benutzer „root“ sowie für die Scripte (Init, PreSession, PostSession), die von GDM
  +
ausgeführt werden, gesetzt wird.
  +
ServAuthDir
  +
ServAuthDir=/var/gdm
  +
Das Verzeichnis, welches die X-Authentifizierungsdateien für die einzelnen Displays enthält. Dieses
  +
Verzeichnis muß dem Benutzer und der Gruppe „gdm“ gehören und die Zugriffsrechte 750 haben.
  +
SessionDir
  +
SessionDir=etc/gdm/Sessions
  +
Dieses Verzeichnis enthält die Scripte für die verschiedenen Session-Typen, die auf dem System verfügbar
  +
sind.
  +
User
  +
User=gdm
  +
Der Benutzername, unter dem gdmlogin und gdmchooser laufen.
  +
UserAuthDir
  +
UserAuthDir=
  +
Das Verzeichnis, in dem die .Xauthority-Dateien der einzelnen Benutzer liegen. Wenn hier kein Wert
  +
angegeben ist, wird die Datei im Homeverzeichnis des Benutzers verwendet.
  +
253
  +
Kapitel 5. X11
  +
UserAuthFBDir
  +
UserAuthFBDir=/tmp
  +
Falls GDM die Datei .Xauthority eines Benutzers nicht aktualisieren kann, wird ein „Fallback cookie“
  +
in diesem Verzeichnis erzeugt.
  +
UserAuthFile
  +
UserAuthFile=.Xauthority
  +
Dateiname, in der die benutzerspezifischen Cookies gespeichert werden.
  +
5.3.2.4.4. Sicherheitsoptionen
  +
[security]
  +
AllowRoot
  +
AllowRoot=0
  +
Normalerweise sind Logins des Systemadministrators verboten. Wenn Sie diese Variable auf den Wert „1“
  +
setzen, kann sich auch der Systemadministrator auf der grafischen Oberfläche am System anmelden.
  +
Auf Systemen, die PAM (Plugable Authentification Modules) unterstützen, wird dieser Parameter ignoriert.
  +
Bei diesen Systemen entscheiden die PAM-Bibliotheken, ob ein Benutzer einloggen darf oder nicht.
  +
RelaxPermissions
  +
RelaxPermissions=0
  +
GDM ignoriert normalerweise Dateien und Verzeichnisse, die für andere Benutzer wie den Besitzer
  +
schreibbar sind.
  +
Wenn Sie den Standardwert verändern, können Sie die im folgenden beschriebenen Verhaltensweisen
  +
aktivieren:
  +
0 - nur Verzeichnisse und Dateien, die dem Benutzer gehören, werden beachtet.
  +
1 - Zugriff auf Dateien und Verzeichnisse, die von der Gruppe schreibbar sind.
  +
2 - Zugriff auf von allen schreibbare Dateien und Verzeichnisse.
  +
RetryDelay
  +
RetryDelay=3
  +
Zeit in Sekunden, die nach einem fehlgeschlagenen Login gewartet wird, bis eine erneute Eingabe im
  +
Textfeld möglich ist.
  +
UserMaxFile
  +
UserMaxFile=65536
  +
Begrenzung in Byte der von GDM lesbaren Dateigröße.
  +
Beachten Sie in diesem Zusammenhang auch die Option „RelaxPermissions“. gdm und gdmlogin sind aus
  +
Sicherheitsgründen sehr kleinlich beim Zugriff auf Dateien. Neben der Beachtung der Zugriffsrechte wird
  +
darauf verzichtet, symbolische Links zu verfolgen. Auch Dateien, die von weiteren Benutzern wie dem
  +
Besitzer der Datei schreibbar sind, können unter Umständen nicht gelesen werden.
  +
254
  +
Kapitel 5. X11
  +
VerboseAuth
  +
VerboseAuth=0
  +
Hiermit beeinflussen Sie die Anzeige der Fehlermeldungen bei der Authentifizierung im „Greeter“.
  +
Abhängig von den Systemeinstellungen können Benutzernamen angezeigt werden, wenn Sie diese Option
  +
aktivieren.
  +
5.3.2.4.5. XDCMP Support
  +
[xdmcp]
  +
DisplaysPerHost
  +
DisplaysPerHost=1
  +
Zur Verhinderung von DOS-Angriffen erlaubt GDM normalerweise nur ein Display je entferntem Host.
  +
Sie können diesen Wert erhöhen, falls dies nicht ausreichend ist.
  +
Enable
  +
Enable=0
  +
Wenn Sie diesen Wert auf 1 setzen, aktivieren Sie den XDMCP Support für Remote- bzw. X-Terminals.
  +
GDM hört auf dem UDP Port 177 auf Anfragen, hierzu finden Sie weiter unten weitere Angaben.
  +
Wenn GDM entsprechend übersetzt (compiliert) wurde, kann der Zugriff über die
  +
TCP-Wrapper-Bibliothek gesteuert werden. Der Name für diesen Service lautet „gdm“.
  +
Sie sollten dann:
  +
gdm: .my.domain
  +
in die Datei /etc/hosts.allow eintragen. In der Man-Page zu hosts_access(5) finden Sie weitere
  +
Angaben hierzu.
  +
HonorIndirect
  +
HonorIndirect=1
  +
Aktiviert XDMCP INDIRECT, also die remote Ausführung von gdmchooser, für X-Terminals, welche
  +
keinen eigenen Display Browser unterstützen.
  +
MaxPending
  +
MaxPending=4
  +
Maximale Anzahl der gleichzeitig offenen Verbindungen. Dient zur Verhinderung von DOS-Angriffen.
  +
Dieser Parameter beschränkt nicht die Anzahl der maximal möglichen Remote-Displays. Es wird lediglich
  +
die Anzahl der gleichzeitigen Verbindungen begrenzt.
  +
MaxPendingIndirect
  +
MaxPendingIndirect=4
  +
Maximale Anzahl der „host chooser“.
  +
255
  +
Kapitel 5. X11
  +
MaxSessions
  +
MaxSessions=16
  +
Maximale Anzahl der gleichzeitigen Remote-Display-Verbindungen.
  +
MaxWait
  +
MaxWait=30
  +
Timeout in Sekunden, wie lange auf eine Antwort von einem Remote-Display gewartet werden soll.
  +
Danach wird die Sitzung als beendet angesehen und für eine neue Anfrage freigegeben.
  +
MaxWaitIndirect
  +
MaxWaitIndirect=30
  +
Maximale Zeit in Sekunden, die auf einen Display Request vom Chooser gewartet wird.
  +
Port
  +
Port=177
  +
Die UDP-Portnummer, auf der GDM auf Anfragen wartet. Sie sollten diesen Wert nicht verändern.
  +
5.3.2.4.6. Optionen zur Benutzeroberfläche
  +
[gui]
  +
Gtkrc
  +
Gtkrc=
  +
Pfad zur gtkrc mit dem „Theme“, welches bei den Programmen gdmlogin und gdmchooser benutzt
  +
werden soll.
  +
MaxIconWidth
  +
MaxIconWidth=128
  +
Maximale Breite der Icons (Symbole) in Pixeln, die im „Face-Browser“ angezeigt werden. Größere Bilder
  +
werden entsprechen skaliert.
  +
MaxIconHeight
  +
MaxIconHeight=128
  +
Maximale Höhe der Icons (Symbole) in Pixeln, die im „Face-Browser“ angezeigt werden. Größere Bilder
  +
werden entsprechend skaliert.
  +
5.3.2.4.7. Greeter-Konfiguration
  +
[greeter]
  +
Browser
  +
Browser=0
  +
256
  +
Kapitel 5. X11
  +
Wenn Sie diesen Wert auf „1“ setzen, wird der „Face-Browser“ aktiviert.
  +
DefaultFace
  +
DefaultFace=share/pixmaps/nophoto.png
  +
Dieses Bild wird angezeigt, wenn der Benutzer kein persönliches Bild installiert hat. Geben Sie den Pfad
  +
und Dateinamen an. Jeder Benutzer kann in seinem Homeverzeichnis unter .gnome/photo ein
  +
persönliches Bild ablegen. Dieser Pfad und die Datei muß für den Benutzer „gdm“ lesbar sein. Das
  +
Dateiformat muß von der Imlib unterstützt werden, also zum Beispiel PNG oder JPEG.
  +
DefaultLocale
  +
DefaultLocale=english
  +
Die gewünschte Sprache, die für eine Session verwendet werden soll, solange keine anderen Informationen
  +
in ~user/.gnome/gdm gefunden werden und der Benutzer keine andere Sprache aus dem Menü „Locale“
  +
im „Greeter“ ausgewählt hat.
  +
Dies funktioniert leider in der aktuellen Version von gdm noch nicht. Eine Lösung finden Sie weiter unten.
  +
Exclude
  +
Exclude=bin,daemon,adm,lp,sync,shutdown,halt,mail,...
  +
Eine durch Kommata getrennte Liste der Benutzer des Systems, die nicht im „Face-Browser“ angezeigt
  +
werden sollen. Benutzer, die auf diesem Wege ausgeklammert wurden, können sich trotzdem am System
  +
anmelden.
  +
Font
  +
Font=-adobe-helvetica-bold-r-normal-*-*-180-*-*-*-*-*-*
  +
Schriftart, die für den Begrüßungstext im „Greeter“ benutzt werden soll.
  +
GlobalFaceDir
  +
GlobalFaceDir=share/faces/
  +
Systemweites Verzeichnis für Bilder der einzelnen Benutzer. In diesem kann der Systemadministrator für
  +
jeden Benutzer ein Photo ablegen, ohne auf die Homeverzeichnisse der Benutzer zugreifen zu müssen. Die
  +
Dateinamen entsprechen hierbei den Benutzernamen.
  +
Ein Beispiel: <GlobalFaceDir>/fr enthält ein Photo des Benutzers „fr“. Sie müssen die Erweiterung
  +
des Dateinamens nicht angeben. Die Dateinamen entsprechen den Namen der Benutzer.
  +
Auch diese Datei muß in einem von der Imlib lesbaren Format vorliegen.
  +
Wenn der Benutzer eine persönliche Datei in seinem Homeverzeichnis abgelegt hat, so wird diese immer
  +
bevorzugt behandelt.
  +
Icon
  +
Icon=share/pixmaps/gdm.xpm
  +
Ein Symbol, welches von gdmlogin benutzt wird, wenn das Fenster als Symbol (Icon) abgelegt wird.
  +
Auch diese Grafik muß in einem von der Imlib lesbaren Format vorliegen und für den Benutzer „gdm“
  +
lesbar sein. Wenn keine Datei angegeben wird, ist diese Funktion (Verkleinern des Fensters) deaktiviert.
  +
257
  +
Kapitel 5. X11
  +
LocaleFile
  +
LocaleFile=etc/gdm/locale.alias
  +
Datei im GNU locale Format mit den Einträgen der unterstützten Sprachen auf dem aktuellen System.
  +
Logo
  +
Logo=share/pixmaps/gnome-logo-large.png
  +
Pfad und Dateiname zur Grafik, die als Logo angezeigt wird. Wenn keine Datei angegeben wird, ist die
  +
Funktion deaktiviert. Auch diese Datei muß von der Imlib unterstützt werden und für den Benutzer „gdm“
  +
lesbar sein.
  +
Quiver
  +
Quiver=1
  +
Wenn diese Option aktiv ist, „schüttelt“ sich das Login-Fenster, wenn ein falscher Benutzername oder ein
  +
falsches Paßwort angegeben wird.
  +
SystemMenu
  +
SystemMenu=0
  +
Schaltet die Menüs „Shutdown“ und „Halt“ aus.
  +
Welcome
  +
Welcome=Welcome to %n
  +
Der Begrüßungstext, der im „Greeter“ in der Nähe des Logos angezeigt wird. Folgende Steuerzeichen
  +
werden unterstützt:
  +
%% Das ‘%’-Zeichen
  +
%d Der Hostname des Systems
  +
%h der komplette Name inklusive Domain
  +
%m Prozessor-Typ
  +
%n Nodename (meist Hostname ohne Domain)
  +
%r Release (Betriebssystem-Version)
  +
%s Sysname (Betriebssystem)
  +
5.3.2.4.8. XDCMP-Chooser-Optionen
  +
[chooser]
  +
DefaultHostImage
  +
DefaultHostImage=share/pixmaps/nohost.png
  +
Dateiname und Pfad für das Symbol, welches angezeigt wird, falls kein spezielles Symbol für diesen Host
  +
gefunden wird.
  +
258
  +
Kapitel 5. X11
  +
HostImageDir
  +
HostImageDir=share/hosts
  +
Verzeichnis für spezielle Symbole für einzelne Hosts. Diese werden von gdmchooser angezeigt.
  +
Der Dateiname entspricht dem kompletten Hostname (FQDN).
  +
ScanTime
  +
ScanTime=3
  +
Wartezeit für eine Antwort auf einen BROADCAST_QUERY.
  +
5.3.2.4.9. Konfiguration des lokalen X-Servers
  +
[servers]
  +
0
  +
0=/usr/bin/X11/X
  +
In diesem Abschnitt werden die lokalen X-Server definiert. Jede Zeile steht für eine Displaynummer und
  +
das Kommando, welches zum Start des Servers aufgerufen wird.
  +
GDM hängt "-auth <ServAuthDir>/:n.Xauth :n" hinter jede Zeile, wobei „n“ die Nummer des
  +
Displays darstellt.
  +
5.3.2.5. GDM in deutsch
  +
Wie schon im Abschnitt zur Konfigurationsdatei von GDM beschrieben, ist die Auswahl der Sprache momentan
  +
noch nicht komplett in GDM implementiert. Wenn Sie dennoch Wert auf eine deutschsprachige Begrüßung
  +
legen, müssen Sie am Startscript von GDM eine kleine Veränderung vornehmen.
  +
GDM wird über die Datei /etc/init.d/gdm gestartet. Mit dem Parameter „start“ beginnt in dieser Datei der
  +
Abschnitt mit den zum Start von GDM nötigen Kommandos. Suchen Sie diesen Abschnitt und fügen Sie vor
  +
dem Start von GDM die Zeile export LANG=de ein. Hier ein Ausschnitt aus der Datei:
  +
...
  +
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
  +
DAEMON=/usr/bin/gdm
  +
NAME=gdm
  +
DESC="GNOME Display Manager"
  +
test -f $DAEMON || exit 0
  +
case "$1" in
  +
start)
  +
echo -n "Starting $DESC: "
  +
# Ergänzung für deutsche Texte
  +
export LANG=de
  +
start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid --exec $DAEMON
  +
echo "$NAME."
  +
;;
  +
stop)
  +
...
  +
259
  +
Kapitel 5. X11
  +
Wenn Sie nun GDM neu starten (mit dem Kommando: /etc/init.d/gdm stop ; /etc/init.d/gdm
  +
start), sollten die Menüs in der gewünschten Sprache erscheinen.
  +
Als Krönung können Sie nun noch den Text „Welcome to ...“ in der GDM-Konfigurationsdatei durch einen
  +
passenden Text ersetzen.
  +
Beachten Sie, daß dieser Eingriff die Sprache für alle Benutzer des Systems verändert und nur als
  +
Zwischenlösung zu sehen ist, bis GDM in der Lage ist, die Sprache selber zu verwalten!
  +
Nach dem Anmelden am System werden Sie bemerken, daß Programme, die auf GNOME basieren, immer
  +
noch über englisch-sprachige Menüs verfügen. Auch dies ist auf die noch fehlende Implementation in GDM
  +
zurückzuführen. Wenn Sie die komplette Benutzeroberfläche eindeutschen möchten, finden Sie im Abschnitt
  +
über GNOME weitere Hinweise hierzu. Der Eingriff hierfür ist im Prinzip der gleiche wie hier für GDM
  +
gezeigt.
  +
5.3.3. login.app
  +
Login.app ist kein Display-Manager wie xdm oder gdm, Sie können diesen also nicht verteilt im Netz nutzen,
  +
sondern nur lokal auf einem Rechner. Dafür wurde Login.app aber auch nicht entworfen Ziel war es, ein
  +
kleines, schnelles und gut aussehendes grafisches Login zu bieten.
  +
Abbildung 5-51. Login.app
  +
Sie können Ihr System auch von Login.app aus herunterfahren, geben Sie hierzu als Benutzernamen „halt“,
  +
„reboot“ oder auch „suspend“, gefolgt vom Paßwort für den Superuser, an.
  +
Die Homepage zu Login.app finden Sie unter: http://www.fukt.hk-r.se/~per/login/.
  +
5.4. X11 Schriften
  +
Wer viel mit Texten hantiert oder Debian GNU/Linux im grafischen Bereich einsetzt, kommt nicht um den
  +
Einsatz von unterschiedlichsten Schriften herum. Die grafische Oberfläche X11 setzt standardmäßig Schriften
  +
im Postscript-Format ein. Debian GNU/Linux liefert eine ganze Reihe von diesen Schriften mit. Auf anderen
  +
Betriebssystemen haben sich aber auch Schriften im sogenannten True-Type-Format durchgesetzt, diese findet
  +
man bei vielen kommerziellen Programmen oder als Zugabe auf CDs in diversen Computerzeitschriften sowie
  +
im Internet. Im folgenden wird beschrieben, wie diese Schriften unter Debian GNU/Linux genutzt werden
  +
können.
  +
260
  +
Kapitel 5. X11
  +
Wenn Sie Display-Manager, wie zum Beispiel xdm oder gdm, einsetzen, sollten Sie diesen zuallererst
  +
deaktivieren. Sie müssen einige Änderungen an den Konfigurationsdateien ihres X-Servers vornehmen, dies
  +
kann dazu führen, daß dieser nicht mehr korrekt startet und das System in einen unbenutzbaren Zustand bringt.
  +
Nach erfolgreicher Änderung können Sie den Display-Manager natürlich wieder aktivieren. Sie können xdm
  +
deaktivieren, indem Sie das Kommando: /etc/init.d/xdm stop ausführen, beachten Sie jedoch, daß so
  +
beim nächsten Neustart des Systems der xdm wieder gestartet wird. Um xdm dauerhaft zu deaktivieren, können
  +
Sie einfach das Paket löschen (mit dpkg -r xdm) oder am Anfang der Datei /etc/init.d/xdm die Zeile
  +
exit 0 einfügen. Für die folgenden Versuche können Sie mit dem Kommando startx den X-Server starten.
  +
5.4.1. Allgemeines zu Schriften
  +
Sicher ist Ihnen schon aufgefallen, daß viele Seiten im Web auf Ihrem Linux-System mit kleineren Schriften
  +
dargestellt werden als auf anderen Betriebssystemen. Dies hängt mit der Auflösung unter den verschiedenen
  +
Betriebssystemen zusammen. Der von anderen Betriebssystemen verwendeten Auflösung von 72 dpi (Dots per
  +
Inch) stehen 75 dpi unter X11 gegenüber. Dies führt dazu, daß viele Schriften zu klein dargestellt werden, diese
  +
erscheinen in ca. 2/3 der eigentlichen Größe. Eine 12-Punkte-Schrift erscheint somit nur als 9 Punkte und eine 9
  +
Punkte als 6-Punkte-Schrift.
  +
Es gibt drei Ansatzpunkte, um dies zu beheben. Zuerst können Sie dem X-Server die gewünschte Auflösung
  +
mitteilen. Wenn Sie einen Login-Manager wie XDM benutzen, ändern Sie hierzu in der Datei
  +
/etc/X11/xdm/Xservers die Zeile:
  +
:0 local /usr/X11R6/bin/X
  +
in
  +
:0 local /usr/X11R6/bin/X -dpi 120
  +
Wenn Sie GDM als Login-Manager benutzen, tragen Sie die Option -dpi 120 in die Datei
  +
/etc/X11/gdm/gdm.conf, im Abschnitt „servers“, ein.
  +
[servers]
  +
0=/usr/bin/X11/X vt7 -dpi 120
  +
Als nächsten Schritt sorgen Sie dafür, daß die X11-Schriften mit 100dpi installiert sind und vom X-Server
  +
zuerst gefunden werden. Ändern Sie hierzu die Datei /etc/X11/XF86Config wie folgt:
  +
Section "Files"
  +
RgbPath "/usr/X11R6/lib/X11/rgb"
  +
FontPath "/usr/X11R6/lib/X11/fonts/100dpi/"
  +
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/"
  +
FontPath "/usr/X11R6/lib/X11/fonts/misc/"
  +
FontPath "/usr/X11R6/lib/X11/fonts/Type1/"
  +
FontPath "/usr/X11R6/lib/X11/fonts/Speedo/"
  +
EndSection
  +
Wichtig ist hierbei die Reihenfolge. Die Zeile mit dem Pfad zu den 100dpi-Schriften muß vor der Zeile mit den
  +
75dpi-Schriften stehen.
  +
Nun stehen wir noch vor dem Problem, daß Schriften, die nicht in der benötigten Größe auf dem System
  +
vorhanden sind, vom X-Server automatisch durch Kopieren einzelner Pixel vergrößert werden. Dies führt zu
  +
sehr häßlichen „Treppeneffekten“ bei den Schriften. Sie können diese umgehen, indem Sie den X-Server
  +
anweisen, zuerst skalierbare Schriften zu nutzen, dann Bitmap-Schriften der passenden Größe und zuletzt die
  +
Bitmap-Schriften zu skalieren. Dies erfordert etwas mehr Rechenaufwand vom System, führt aber zu den besten
  +
Ergebnissen. Wenn Sie über einen langsamen Rechner verfügen sollten Sie sich überlegen, auf die skalierten
  +
261
  +
Kapitel 5. X11
  +
Schriften zu verzichten. Hier ein Ausschnitt aus der Datei /etc/X11/XF86Config mit den passenden
  +
Einträgen:
  +
Section "Files"
  +
RgbPath "/usr/X11R6/lib/X11/rgb"
  +
FontPath "/usr/X11R6/lib/X11/fonts/Type1/"
  +
FontPath "/usr/X11R6/lib/X11/fonts/Speedo/"
  +
FontPath "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"
  +
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"
  +
FontPath "/usr/X11R6/lib/X11/fonts/misc/"
  +
FontPath "/usr/X11R6/lib/X11/fonts/100dpi/"
  +
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/"
  +
EndSection
  +
Beachten Sie in jedem Fall, daß die benötigten Pakete mit den Schriften installiert sein müssen.
  +
5.4.2. xfs - X11 Font-Server
  +
Installieren Sie zunächst das Paket xfs_*.deb. Die Konfigurationsdatei zu xfs (/etc/X11/xfs/config)
  +
enthält, ebenso wie die X11-Konfiguration, die Pfade zu den Schriften auf Ihrem System. Auch können Sie hier
  +
die Auflösung der Schriften einstellen.
  +
# paths to search for fonts
  +
catalogue =
  +
/usr/X11R6/lib/X11/fonts/100dpi/:unscaled,
  +
/usr/X11R6/lib/X11/fonts/75dpi/:unscaled,
  +
/usr/X11R6/lib/X11/fonts/misc/,
  +
/usr/X11R6/lib/X11/fonts/Speedo/,
  +
/usr/X11R6/lib/X11/fonts/Type1/,
  +
/usr/X11R6/lib/X11/fonts/100dpi/,
  +
/usr/X11R6/lib/X11/fonts/75dpi/
  +
# x1,y1,x2,y2,...
  +
default-resolutions = 100,100,75,75
  +
Überprüfen Sie die Einstellungen und passen Sie diese ggf. Ihrem System an. Starten Sie danach den
  +
Font-Server neu mit dem Kommando: /etc/init.d/xfs restart . Bevor Sie den X-Server so
  +
konfigurieren, daß er den Font-Server benutzt, anstatt die Fonts direkt zu laden, können Sie die
  +
Funktionsfähigkeit des Font-Servers testen. Hierzu dient das Kommando fslsfonts:
  +
$ fslsfonts -server unix/:7100
  +
-adobe-courier-bold-i-normal--0-0-0-0-m-0-iso8859-1
  +
-adobe-courier-bold-o-normal--0-0-100-100-m-0-iso8859-1
  +
-adobe-courier-bold-o-normal--0-0-75-75-m-0-iso8859-1
  +
....
  +
Dieses Kommando sollte Ihnen alle installierten Schriften auf Ihrem System anzeigen. Wenn die Installation bis
  +
hierhin erfolgreich war, können Sie sich daran wagen, den X-Server von der Benutzung des neuen Font-Servers
  +
zu überzeugen. Hierzu müssen Sie wieder einmal einige Änderungen an der Datei /etc/X11/XF86Config
  +
vornehmen.
  +
Section "Files"
  +
FontPath "unix/:7100"
  +
FontPath "/usr/X11R6/lib/X11/fonts/misc/"
  +
EndSection
  +
262
  +
Kapitel 5. X11
  +
Reduzieren Sie den kompletten Abschnitt mit den Pfaden zu den Schriften auf die beiden oben gezeigten
  +
Zeilen. Dies veranlaßt den X-Server dazu, zuerst den Font-Server zu benutzen. Lassen Sie auch die eine Zeile
  +
mit dem direkten Pfad in der Datei stehen für den Fall, daß der Font-Server nicht erreichbar sein sollte.
  +
Sie können nun den X-Server wieder starten (mit startx) und wenn alles funktioniert auch den
  +
Login-Manager xdm wieder aktivieren. Wenn Sie den X-Server gestartet haben, können Sie in einem
  +
X-Terminal überprüfen, ob auch alle Schriften gefunden werden:
  +
$ xlsfonts
  +
-adobe-courier-bold-i-normal--0-0-0-0-m-0-iso8859-1
  +
-adobe-courier-bold-o-normal--0-0-100-100-m-0-iso8859-1
  +
-adobe-courier-bold-o-normal--0-0-75-75-m-0-iso8859-1
  +
....
  +
5.4.3. xfstt - X11 True Type Font-Server
  +
Um True-Type-Schriften benutzen zu können, benötigen Sie zunächst einen sogenannten Font-Server.
  +
Mit der Version 4.0 von XFree86 werden auch True-Type-Fonts direkt vom X-Server ,unterstützt. Die
  +
Verwendung eines speziellen Font-Servers ist nicht notwendig.
  +
Wenn die ältere Version 3.x von XFree86 zu Einsatz kommt, so ist der Einsatz eines Font-Servers für True-Type
  +
Fonts notwendig. Unter Debian GNU/Linux dient hierzu das Paket xfstt_*.deb. Dieses können Sie wie
  +
gewohnt mit Apt oder dselect installieren.
  +
Installieren Sie nun einige True-Type-Fonts. Sie finden Schriften in diesem Format auf vielen Seiten im Netz
  +
oder auf CD-ROMs von Computerzeitschriften. Kopieren Sie die Dateien (mit der Endung .ttf) in das
  +
Verzeichnis /usr/share/fonts/truetype. Stellen Sie auch sicher, daß die Schriften vom Font-Server
  +
gelesen werden können.
  +
Starten Sie danach den Font-Server neu mit dem Kommando: /etc/init.d/xfstt force-reload. Auch
  +
bei diesem Font-Server können Sie vorab kontrollieren, ob alles korrekt installiert wurde. Beachten Sie bitte,
  +
daß die Standardeinstellungen unter Debian den Port 7101 statt 7100 für den True Type Font-Server benutzen.
  +
Weiterhin sind die Zugriffsrechte so vergeben, daß ein Zugriff nur als Superuser möglich ist. Wenn Sie
  +
versuchen, als Benutzer auf den Server zuzugreifen, erhalten Sie folgende Meldung:
  +
$ fslsfonts -server unix/:7101
  +
_FSTransSocketUNIXConnect: Can’t connect: errno = 111
  +
fslsfonts: unable to open server "unix/:7101"
  +
Als Superuser sollten Ihnen die verfügbaren Schriften angezeigt werden:
  +
# fslsfonts -server unix/:7101
  +
-ttf-arial black-medium-r-normal-regular-0-0-0-0-p-0-iso8859-1
  +
-ttf-arial mt black-medium-r-normal-regular-0-0-0-0-p-0-iso8859-1
  +
-ttf-arial narrow-bold-i-normal-bold italic-0-0-0-0-p-0-iso8859-1
  +
Wenn bis hierher keine Probleme aufgetreten sind, können Sie dem X-Server beibringen, auch diesen
  +
Font-Server zu benutzen. Wie schon bei den Schriften, ist auch hier die Reihenfolge der Einträge entscheidend,
  +
Einträge weiter oben in der Liste werden vorrangig behandelt. In diesem Beispiel wird also zuerst der True Type
  +
Font-Server befragt, danach der normale Font-Server. Der entsprechende Ausschnitt aus der Datei
  +
/etc/X11/XF86Config:
  +
Section "Files"
  +
FontPath "unix/:7101"
  +
263
  +
Kapitel 5. X11
  +
FontPath "unix/:7100"
  +
FontPath "/usr/X11R6/lib/X11/fonts/misc/"
  +
EndSection
  +
Auch nach dieser Änderung können Sie wieder, nachdem Sie mit startx den X-Server gestartet haben, die
  +
Verfügbarkeit der Schriften prüfen:
  +
$ xlsfonts | grep ttf
  +
-ttf-arial black-medium-r-normal-regular-0-0-0-0-p-0-iso8859-1
  +
-ttf-arial mt black-medium-r-normal-regular-0-0-0-0-p-0-iso8859-1
  +
-ttf-arial narrow-bold-i-normal-bold italic-0-0-0-0-p-0-iso8859-1
  +
....
  +
Sie können nun die neuen Schriften in Programmen wie The Gimp, Netscape oder Staroffice benutzen. Wenn
  +
Sie weitere True-Type-Schriften installieren (durch einfaches Kopieren der Dateien nach
  +
/usr/share/fonts/truetype/), müssen Sie den Font-Server neu starten, damit die Schriften dem System
  +
bekannt gemacht werden. Benutzen Sie dazu das Kommando: /etc/init.d/xfstt restart.
  +
5.4.3.1. Microsoft Fonts
  +
Sicherlich kennen Sie das Problem von unleserlichen Fonts auf Webseiten, häufig werden diese unleserlich
  +
klein dargestellt. Grund hierfür ist das der Designer der Seite fest eingestellte Schriften benutzt hat die auf dem
  +
Zielsystem nicht verfügbar sind. Das Problem läßt sich zwar durch entsprechende Browsereinstellungen
  +
umgehen, eleganter ist es jedoch die benötigten Schriften einfach zu installieren.
  +
Auf dem Webseiten der Firma Microsoft finden sich einige TrueType Fonts zum Download. Leider liegen diese
  +
nur in einem selbstentpackenden Format vor, welches zudem noch ein installiertes Windows benötigt...
  +
Zur Lösung all dieser Probleme ist das Debian Paket msttcorefonts verfügbar, dieses benötigt ausserdem das
  +
Paket cabextract welches die Selbstentpackenden Archive extrahieren kann. Aufgrund von
  +
Lizenzbedingungen sind die eigentlichen Archive mit den TrueType Schriften nicht in dem Debian Paket
  +
enthalten, diese werden jedoch während der Installation des Paketes vom Server geholt.
  +
sushi:/home/fr# apt-get install msttcorefonts
  +
Reading Package Lists... Done
  +
Building Dependency Tree... Done
  +
The following extra packages will be installed:
  +
cabextract
  +
The following NEW packages will be installed:
  +
cabextract msttcorefonts
  +
0 packages upgraded, 2 newly installed, 0 to remove and 158 not upgraded.
  +
Need to get 19.3kB of archives. After unpacking 164kB will be used.
  +
Do you want to continue? [Y/n]
  +
Get:1 ftp://ftp.freenet.de woody/contrib msttcorefonts 0.8.2 [4276B]
  +
Get:2 ftp://ftp.freenet.de woody/main cabextract 0.2-2 [15.0kB]
  +
Fetched 19.3kB in 1s (14.0kB/s)
  +
Wähle vormals gewähltes Paket cabextract.
  +
(Lese Datenbasis ... 96010 Dateien und Verzeichnisse sind momentan installiert.)
  +
Packe cabextract aus (von .../cabextract_0.2-2_i386.deb) ...
  +
Wähle vormals gewähltes Paket msttcorefonts.
  +
Packe msttcorefonts aus (von .../msttcorefonts_0.8.2_all.deb) ...
  +
Installiere cabextract (0.2-2) ...
  +
Installiere msttcorefonts (0.8.2) ...
  +
These fonts are provided by Microsoft "in the interest of crossplatform
  +
compatibility". You are free to download these fonts and
  +
use them for your own use, but you may not redistribute these fonts
  +
without first registering with Microsoft and following their restrictions.
  +
264
  +
Kapitel 5. X11
  +
--16:18:19-- http://www.microsoft.com/typography/downloads/andale32.exe
  +
=> ‘andale32.exe’
  +
Verbindungsaufbau zu www.microsoft.com:80... verbunden!
  +
HTTP Anforderung gesendet, warte auf Antwort... 200 OK
  +
Länge: 198,384 [application/x-msdownload]
  +
0K -> .......... .......... .......... .......... .......... [ 25%]
  +
50K -> .......... .......... .......... .......... .......... [ 51%]
  +
100K -> .......... .......... .......... .......... .......... [ 77%]
  +
150K -> .......... .......... .......... .......... ... [100%]
  +
...
  +
Nach dem Download aller Fontpakete, werden diese entpackt und die Dateien an die entsprechenden Stellen
  +
kopiert.
  +
Nach der Installation des Paketes stehen die folgenden Schriften zur Verfügung: Andale Mono, Arial Black,
  +
Arial (Bold, Italic, Bold Italic), Comic Sans MS (Bold), Courier New (Bold, Italic, Bold Italic), Georgia (Bold,
  +
Italic, Bold Italic), Impact, Times New Roman (Bold, Italic, Bold Italic), Trebuchet (Bold, Italic, Bold Italic),
  +
Verdana (Bold, Italic, Bold Italic), Webdings.
  +
5.5. Windowmanager
  +
Zum sinnvollen Betrieb einer grafischen Benutzeroberfläche unter Debian GNU/Linux reicht es nicht aus, einen
  +
X-Server zu installieren. Neben den eigentlichen Anwendungen wird auch ein sogenannter Windowmanager
  +
benötigt. Das X-Window-System selbst stellt ein geöffnetes Fenster ohne irgendwelche Rahmen dar. Sie können
  +
mit dem Programm arbeiten, aber das Fenster weder verschieben noch vergrößern oder irgendwelche anderen
  +
Fensteroperationen vornehmen. Diese Funktionen übernimmt der sogenannte Windowmanager.
  +
Debian GNU/Linux verfügt über eine große Anzahl verschiedener Windowmanager. Sie unterscheiden sich im
  +
Aussehen und in der Funktionalität. Einige dieser Windowmanager können auch über sogenannte „Themes“
  +
(äußere Erscheinungsbilder) während der Laufzeit im Aussehen verändert werden.
  +
Sie können unter Debian/GNU Linux verschiedene Windowmanager installieren und zwischen diesen
  +
wechseln. Ein Neustart der laufenden Anwendungen ist hierfür nicht notwendig. Im folgenden werden wir
  +
einige Windowmanager vorstellen, schauen Sie sich aber ruhig mal um, Sie werden sicher Ihren persönlichen
  +
Favoriten finden.
  +
5.5.1. Fvwm
  +
Einer der Klassiker unter den Windowmanagern. Die aktuelle Version 2 wird auch häufig als fvwm2 bezeichnet.
  +
Ein beliebter Ableger des fvwm ist fvwm95, welcher einem Redmonder Betriebssystem nachempfunden ist, so
  +
daß der Umstieg leicht fällt.
  +
265
  +
Kapitel 5. X11
  +
Abbildung 5-52. FVWM
  +
Die Homepage finden Sie unter: http://www.fvwm.org
  +
5.5.2. Windowmaker
  +
Ein sehr beliebter Windowmanager, der dem Betriebssystem NeXTStep nachempfunden ist.
  +
Abbildung 5-53. WindowMaker
  +
Die Homepage finden Sie unter: http://windowmaker.org
  +
5.5.3. Enlightenment
  +
Enlightenment ist ein weiterer WindowManager, Ziel der Entwicklung war es, einen möglichst weitgehend
  +
konfigurierbaren WindowManager zu schaffen. Dieses betrifft sowohl das Aussehen wie auch die Bedienung.
  +
266
  +
Kapitel 5. X11
  +
Abbildung 5-54. Enlightenment
  +
Themes und weitere Informationen zu Enlightenment finden Sie unter: http://www.enlightenment.org/.
  +
267
  +
Kapitel 6. GNOME
  +
6.1. GNOME 1.4
  +
Abbildung 6-1. GNOME-Logo
  +
Mit der Version 1.4 von GNOME, einer einfach zu benutzenden aber dennoch leistungsfähigen grafischen
  +
Benutzeroberfläche, wurde viele Neuerungen gegenüber der Version 1.0 eingeführt. Der Dateimanager (gmc)
  +
wurde durch „Nautilus“ ersetzt. Nautilus ist weit mehr als ein Dateimanager. Durch die Integration von
  +
Internetdiensten kann Nautilus auch als Webbrowser benutzt werden. Das markieren eines Textes erlaubt eine
  +
direkte Suche im Netz, beispielsweise über Google. Nautilus zeigt die verschiedensten Dateiformate direkt an,
  +
beispielsweise lassen sich MP3 direkt abspielen.
  +
Mit dieser Version wurde auch der Windowmanager Sawfish in den GNOME Desktop aufgenommen. Weiterhin
  +
wurde die Kommunikationsfähigkeit mit anderen X Anwendungen, dazu zählt auch KDE, verbessert. Über ein
  +
sogenanntes „Lauch Feedback“ kann angezeigt werden das Anwendungen gestartet werden, dies ist
  +
insbesondere bei sehr großen Anwendungen sinnvoll, so kommt der Benutzer nicht in die Versuchung eine
  +
Anwendung zweimal zu starten. Ein komplett überarbeiteter Browser für die Dokumentation von GNOME und
  +
Medusa, ein Indizierungstool für die lokalen Dateisysteme runden diese Version von GNOME ab.
  +
Hinter den Kulissen hat sich auch einiges getan, Entwickler werden sich beispielsweise über VFS freuen, ein
  +
virtuelles, erweiterbares Dateisystem. Doch die entwicklung von GNOME Anwendungen soll nicht Thema
  +
dieses Abschnittes sein.
  +
GNOME besteht auf Debian Systemen aus mehreren Paketen, es ist nicht notwendig alle Komponenten von
  +
GNOME zu installieren. Die Konfigurationsdateien von GNOME werden im Heimatverzeichnis des jeweiligen
  +
Benutzers abgelegt. Es werden hierzu einige neue Verzeichnisse angelegt:
  +
fr@wasabi:-$ ls .gnome*
  +
.gnome-errors
  +
.gnome:
  +
accels application-info apps Background control-center default.wm gdm
  +
Gnome gnome-hint gnome-vfs metadata.db panel panel.d session
  +
Terminal theme-switcher-capplet wm-properties
  +
.gnome-desktop:
  +
fr’s Home Müll starthere.desktop
  +
.gnome_private:
  +
panel.d
  +
268
  +
Kapitel 6. GNOME
  +
Abbildung 6-2. GNOME-Desktop
  +
Je nachdem welche Programme installiert wurde können sich die Konfigurationen zu diesen Programm auch in
  +
anderen Verzeichnissen verstecken. Wenn Probleme mit der folgenden Beschreibung auftauchen, so ist es
  +
denkbar das bereits vorher Veränderungen an der Konfiguration vorgenommen wurden und sich beispielsweise
  +
die Fenster nicht wie beschrieben verhalten. In einem solchen Fall kann einfach das Verzeichnis des betroffenen
  +
Programmes umbenannt oder gelöscht werden, es wird beim nächsten Aufruf wieder neu angelegt und mit den
  +
Voreinstellungen versehen. Im Falle von GNOME müssen Sie sich erneut am System anmelden.
  +
6.1.1. Windowmanager - Sawfish
  +
Unter der grafischen Oberfläche X11, welche im allgemeinen auf Linux Systemen durch die X-Server aus dem
  +
XFree86 Projekt zur Verfügung gestellt wird, werden Fenster zunächst ohne Rahmen und Bedienelemente
  +
(Schliessen, Verkleinern, Vergrössern usw.) dargestellt. Dies wird einem sogenannten Window Manager
  +
überlassen. Der Benutzer hat die freie Wahl zwischen verschiedenen Varianten, im Zusammenspiel mit
  +
GNOME ist es jedoch sinnvoll auf den Windowmanager des GNOME Projektes, Sawfish, zu setzen. Die
  +
Integration von Sawfish und das Zusammenspiel mit anderen GNOME Komponenten ist am weitesten
  +
fortgeschritten. Der Wechsel zu einem anderen Windowmanager kann jedoch jederzeit über das GNOME
  +
Kontrollzentrum erfolgen, hierzu müssen natürlich die entsprechenden Pakete installiert sein.
  +
269
  +
Kapitel 6. GNOME
  +
Sawfish ist ein über eine Lisp-basierte Script-Sprache erweiterbarer Windowmanager. Das komplette Aussehen
  +
der Fenster ist konfigurierbar. Sawfish wurde von Grund auf neu geschrieben, es wurden keinerlei Sourcecodes
  +
aus anderen Windowmanagern wiederverwendet.
  +
Das Ziel von Sawfish ist es, sich auf die eigentlichen Aufgaben eines Windowmanagers zu beschränken. Dieser
  +
Windowmanager verfügt über keinerlei Funktionen, die auch oder besser von anderen Anwendungen erledigt
  +
werden können (zum Beispiel das Einbinden von Hintergrundbildern). Alle höheren Funktionen sind in der
  +
Sprache Lisp realisiert, so daß diese in Zukunft leicht erweitert oder verändert werden können. Von den Menüs
  +
(diese benutzen GTK+), über das Verschieben, Vergrößern usw. von Fenstern, virtuelle Desktops und viele
  +
andere Funktionen, alles wurde in Lisp realisiert.
  +
Als Benutzer können Sie Sawfish umkonfigurieren, indem Sie entweder die Dateien in .sawfish/ in Ihrem
  +
Homeverzeichnis verändern (wenn Sie über Kenntnisse in Lisp verfügen) oder ganz einfach das integrierte
  +
Konfigurationssystem benutzen, welches Sie über die Menüs im GNOME Kontrollzentrum erreichen. Dieses
  +
wurde in GTK+ implementiert.
  +
Sawfish wird mit verschiedenen Themen installiert, Sie können diese für jedes Fenster einzeln einstellen.
  +
Abbildung 6-3. Sawfish
  +
Wie von den meisten anderen Windowmanagern oder auch von anderen Betriebssystemen mit grafischen
  +
Oberflächen bekannt, können Fenster mittels Sawfisch auf dem Desktop verschoben werden. Hierzu ist die linke
  +
Maustaste zu drücken während sich der Mauszeiger über der Titelzeile des zu verschiebenden Fensters befindet.
  +
Bei gedrückt gehaltener Maustaste folgt das Fenster dem Mauspfeil.
  +
Fenster können horizontal und vertikal verkleinert und vergrößert werden, indem die linke Maustaste gedrückt
  +
gehalten wird während sich der Mauszeiger auf dem Rahmen der Fensters befindet. Der Mauspfeil verändert
  +
dabei seine Form zu einem dünneren Pfeil mit einem Querbalken an der Spitze. Das gleichzeitige horizontale
  +
und vertikale Verändern der Größe ist an den vier Ecken des Fensters möglich.
  +
Oben links in der Titelzeile des Fensters findet sich ein Symbol mit einem Kreuz, dieses dient zum schliessen
  +
des Fensters, wenn mit der linken Maustaste auf dieses Symbol geklickt wird. Ein Klick mit der rechten
  +
Maustaste bringt ein Menü zum Vorschein mit dem sich verschiedene Optionen des Fensters, beispielsweise das
  +
Aussehen oder das Fokusverhalten beeinflussen lassen. Weiterhin können Fenster über dieses Menü auf anderen
  +
virtuelle Desktops verschoben werden.
  +
Am rechten Rand der Titelzeile sind drei Symbole dargestellt, das erste verbirgt bei einem Klick mit der linken
  +
Maustaste das Fenster im Panel, mit der rechten Maustaste erscheint das eben nereits beschriebene Menü. Mit
  +
dem zweiten Symbol läßt sich das Fenster auf die volle Auflösung des Bildschirms vergrößern (Linke
  +
Maustaste). Wenn das Fenster bereits die volle Größe erreicht hat, so läßt es sich mit dieser Schaltfläche auf die
  +
letzte Größe verkleinern. Das dritte Symbol rollt das Fenster zusammen so das lediglich die Titelzeile angezeigt
  +
wird. Dieser Effekt läßt sich auch durch einen schnellen Doppelklick auf die Titelzeile erreichen.
  +
270
  +
Kapitel 6. GNOME
  +
6.1.2. Desktop
  +
Der GNOME Desktop besteht aus verschiedenen Komponenten. Neben dem eigentlichen Desktop (dem
  +
Hintergrund des Bildschirms) zählt man noch das Panel (eine Zeile mit Symbolen am unteren und oberen
  +
Bildschirmrand) dazu.
  +
6.1.2.1. Panel
  +
Wenn keine Veränderungen an der Konfiguration vorgenommen wurden, so werden nach dem Start von
  +
GNOME zwei Panels angezeigt. Am unteren Bildschirmrand findet sich ein breiteres Panel, am oberen
  +
Bildschirmrand ein etwas schmaleres.
  +
Abbildung 6-4. GNOME Panel
  +
Am äußeren linken und rechten Rand findet sich zunächst jeweils ein Symbol mit einem Pfeil. Dieses dient zum
  +
einrollen das Panels an den jeweiligen Rand des Bildschirms. Es wird nach einem Klick mit der linken
  +
Maustaste auf dieses Symbol lediglich der Pfeil angezeigt, ein erneuter Mausklick rollt das Panel wieder aus.
  +
Hinter dem zweiten Symbol von links, dem GNOME Logo, verbirgt sich ein Menü aus dem sich die
  +
installierten Anwendungen auf dem System starten lassen. Das Debian Menüsystem sorgt dafür da alle
  +
Anwendungen in diesem Menü erscheinen. Weiterhin können in diesem Menü, unter dem Punkt „Panel“
  +
verschiedene Einstellungen das Panel betreffend vorgenommen werden. Wie bereits von dem anderen, sehr
  +
verbreiteten, Betriebssystem bekannt kann hier auch die aktuelle Sitzung beendet werden. Leider ist dieses
  +
Symbol nicht mit „Start“ beschriftet.... (kleiner Scherz ;-) ).
  +
6.1.3. Nautilus
  +
Mit „Nautilus“ wurde ein komplett neuer Dateimanager geschaffen. Die Funktionalität geht dabei über die eines
  +
herkömmlichen Dateimanagers hinaus, die Entwickler sprechen daher von einer „Desktop-Shell“. Neben den
  +
üblichen Funktionen eines Dateimanagers wie erzeugen, kopieren, löschen, umbenennen und verschieben von
  +
Dateien, bietet Nautilus durch die Integration in den Desktop und die Einbeziehung von bereits auf dem System
  +
installierten Komponenten viele weitere Funktionen.
  +
271
  +
Kapitel 6. GNOME
  +
Abbildung 6-5. Nautilus
  +
Die Übersicht bietet die Möglichkeit die Objekte in verschiedenen Ansichten anzuzeigen. Voreingestellt ist die
  +
Ansicht als Symbol (Icon), hierbei wird für jedes Objekt ein dem Typ entsprechendes Bild angezeigt. Nautilius
  +
erzeugt für Grafiken, welche in den verschiedensten Formaten vorliegen können, ein verkleinertes Icon. Bei
  +
Textdateien wird der Anfang der Datei dargestellt.
  +
Abbildung 6-6. Nautilus
  +
272
  +
Kapitel 6. GNOME
  +
Neben der Ansicht als Icon können die Objekte auch in Listenform angezeigt werden. Für spezielle Dateitypen
  +
stehen zusätzliche Ansichten zur Verfügung. Werden in einem Verzeichnis beispielsweise MP3 Dateien
  +
gefunden, so kann als Ansicht „Musik“ gewählt werden. Es werden dann nicht die Dateinamen, sondern Titel
  +
und Interpret angezeigt. Die Dateien können direkt aus Nautilus heraus abgespielt werden.
  +
Abbildung 6-7. Nautilus
  +
In Nautilus können auch direkt Webseiten geladen werden, hierzu wird ein installiertes Mozilla Paket
  +
vorausgesetzt.
  +
273
  +
Kapitel 6. GNOME
  +
Abbildung 6-8. Nautilus
  +
274
  +
Kapitel 6. GNOME
  +
6.2. GNOME 2.0
  +
Abbildung 6-9. GNOME 2 - Logo
  +
Mit der Version 2.0 von GNOME wurden nicht nur viele Programme aktualisiert, es hat sich auch hinter der
  +
Bühne viel verändert. So benutzt GNOME 2 nun komplett die GTK 2 Bibliotheken und wurde im Hinblick auf
  +
Geschwindigkeit an vielen Stellen optimiert.
  +
GNOME 2.0 ist nicht in der Debian Version 3.0 „woody“ enthalten, es stehen jedoch auf diese Version
  +
angepasste Pakete im Netz zur Verfügung. Hierzu ist der Eintrag
  +
275
  +
Kapitel 6. GNOME
  +
deb http://people.debian.org/~kov/debian woody gnome2
  +
der Datei /etc/apt/sources.list hinzuzufügen.
  +
Debian GNU/Linux Systeme die bereits auf „sarge“ (Debian GNU/Linux 3.1) aktualisiert wurden kommen
  +
ohne einen solchen Eintrag aus. Dort sind alle GNOME 2 Pakete bereits enthalten.
  +
Als Basis für eine sinnvolle Paketauswahl kann zunächst das Meta-Paket gnome2 dienen. Dieses Paket enthält
  +
Abhängigkeiten zu wichtigen Paketen, nicht aber zu Spielen, Office Anwendungen oder Paketen zur
  +
Softwareentwicklung. Wenn Programme aus solchen Bereichen ebenfalls installiert werden sollen, so sind die
  +
Pakete gnome-extras, gnome-office oder gnome-devel zu installieren.
  +
Um einen Login auf der grafischen Oberfläche X zu ermöglichen steht auch unter GNOME 2 der GDM zur
  +
Verfügung. Hierbei kann weiterhin auf den GDM aus GNOME 1.4 zurückgegriffen werden, die neue Version
  +
steht als Paket gdm2 zur Verfügung.
  +
Abbildung 6-10. GDM 2
  +
Wenn noch keine Anpassungen am GDM vorgenommen wurden, so startet GDM mit dem oben gezeigten
  +
Aussehen. Eine Neuerung ist die Möglichkeit (nach Eingabe des entsprechenden Passwortes) die GDM
  +
Konfiguration aus dem GDM Menü heraus zu starten. Weiterhin kann das System über Menüeinträge
  +
neugestartet (Reboot), ausgeschaltet (Shutdown) oder in den Ruhezustand (Suspend) versetzt werden.
  +
276
  +
Kapitel 6. GNOME
  +
Abbildung 6-11. GDM 2 Konfiguration
  +
In der GDM Konfiguration kann beispielsweise auch das Aussehen des GDM angepasst werden. Eine Neuerung
  +
ist hier eine grafische Variante des GDM.
  +
Abbildung 6-12. GDM 2 grafisch
  +
GNOME 2 wurde auch mit einem neuen Splashscreen versehen, weiterhin haben sich die Ladezeiten der
  +
GNOME Komponenten deutlich verringert.
  +
277
  +
Kapitel 6. GNOME
  +
Abbildung 6-13. GNOME 2 Splashscreen
  +
Auf der Oberfläche hat sich für den Benutzer zunächst nur wenig getan, auffällig ist das viele der Icons auf dem
  +
Desktop überarbeitet wurden. Unter GNOME 2 stehen ebenfalls Panels zur Verfügung welche Menüs, Icons
  +
oder Applets aufnehmen können. Als Dateimanager kommt in diesem Beispiel Nautilus 2 zum Einsatz welcher
  +
ebenfalls auf die neue GNOME Version angepasst wurde.
  +
Abbildung 6-14. GNOME 2 Desktop
  +
278
  +
Kapitel 6. GNOME
  +
Es werden zunächst zwei Panels für den Benutzer eingerichtet. Das Panel am unteren Bildschirmrand ist
  +
zunächst leer und dient lediglich zum Umschalten zwischen laufenden Anwendungen. Das Panel am oberen
  +
Bildschirmrand (Applications / Anwendungen) verfügt auf der linken Seite über zwei Menüeinträge. Über den
  +
ersten Eintrag können Programme gestartet werden oder es können Einstellungen verändert werden.
  +
Abbildung 6-15. GNOME 2 Menüs
  +
Über das zweite Menü (Action / Aktionen) können Programme ausgeführt, Dateien gesucht oder ein Screenshot
  +
erstellt werden. Zwei weitere Einträge in diesem Menü dienen zum verriegeln des Desktops und zum abmelden
  +
am System.
  +
6.3. Links
  +
GNOME FootNotes - GNOME Desktop News Themes, Icons, Backgrounds...
  +
279
  +
Kapitel 7. KDE
  +
Dieser Abschnitt beschreibt die Installation und den Einsatz von KDE 3.0.x unter Debian GNU/Linux.
  +
7.1. KDE und Debian - die unendliche Geschichte...
  +
Lange Zeit waren für Debian GNU/Linux keine angepassten Debian Pakete verfügbar. Das Debian Team legt
  +
großen Wert darauf das ausschlieslich Freie Software in die Distribution aufgenommen wird. Die Lizenzen von
  +
KDE und den dazugehörigen Programmen genügten auch dieser Anforderung. Leider setzt KDE auf die QT
  +
Bibliotheken der Norwegischen Firma Troll Tech auf, und diese waren in der Vergangenheit nicht unter einer
  +
Freien Softwarelizenz verfügbar.
  +
Mit der Version 2.0 der QT Bibliotheken änderte Troll Tech die Lizensierung, leider war dies zu spät als das die
  +
entsprechenden Pakete noch in die Debian Version 2.2 (potato) einfliessen konnten. Entsprechende Pakete
  +
mussten aus externen Quellen installiert werden.
  +
Erst mit der Version 3.0 von Debian fanden KDE Pakete eine festen Platz in der Distribution. Leider hat es auch
  +
bei dieser Version nicht für eine aktuelle Version „gereicht“, es wird die Version 2.2 von KDE installiert. Im
  +
folgenden wird daher für KDE 3.0 beschrieben wie eine Installation aus dem Netz erfolgen kann.
  +
7.2. KDE 2.2
  +
Die Installation von KDE 2.2 kann direkt von den Debian GNU/Linux 3.0 „woody“ CD-ROMs erfolgen. Die
  +
KDE Komponenten sind in viele einzelne Pakete aufgeteilt, es steht jedoch ein Meta-Paket kde zur Verfügung.
  +
Sinnvoll ist weiterhin die Auswahl von kdm um einen Login mit der grafischen Oberfläche zu erlauben und
  +
kde-i18n-de welches die benötigten Dateien enthält um eine deutschsprachige Benutzeroberfläche
  +
darzustellen. Es stehen weitere Pakete für viele weitere Sprachen zur Verfügung.
  +
Die Installation kann nun beispielsweise auf der Kommandozeile erfolgen:
  +
debian:~# apt-get install kde kde-i18-n kdm
  +
Reading Package Lists... Done
  +
Building Dependency Tree... Done
  +
The following extra packages will be installed:
  +
ark kab karm kate kcalc kcharselect kchart kcoloredit kcron kdebase
  +
kdebase-audiolibs kdebase-doc kdebase-libs kdelibs3 kdelibs3-bin kdepasswd
  +
kdewallpapers kdf kdict kedit kfind kformula kfract kghostview khexedit
  +
kiconedit kit kivio kjots kmail knewsticker knode knotes koffice
  +
koffice-libs konqueror konsole kontour korn koshell kpackage kpaint kpm
  +
kpresenter kruler kscreensaver ksirc ksnapshot kspread ksysv ktimer kugar
  +
kuser kview kword libkdenetwork1 libkmid libkonq3 secpolicy
  +
The following NEW packages will be installed:
  +
ark kab karm kate kcalc kcharselect kchart kcoloredit kcron kde kde-i18n-de
  +
kdebase kdebase-audiolibs kdebase-doc kdebase-libs kdelibs3 kdelibs3-bin
  +
kdepasswd kdewallpapers kdf kdict kdm kedit kfind kformula kfract kghostview
  +
khexedit kiconedit kit kivio kjots kmail knewsticker knode knotes koffice
  +
koffice-libs konqueror konsole kontour korn koshell kpackage kpaint kpm
  +
kpresenter kruler kscreensaver ksirc ksnapshot kspread ksysv ktimer kugar
  +
kuser kview kword libkdenetwork1 libkmid libkonq3 secpolicy
  +
0 packages upgraded, 62 newly installed, 0 to remove and 0 not upgraded.
  +
Need to get 4632kB/43.2MB of archives. After unpacking 131MB will be used.
  +
Do you want to continue? [Y/n]
  +
Media Change: Please insert the disc labeled ’Debian GNU/Linux 3.0 beta _Woody_ -
  +
Unofficial i386 Binary-1 (20020625)’ in the drive ’/cdrom/’ and press enter
  +
Preconfiguring packages ...
  +
Selecting previously deselected package kdelibs3-bin.
  +
(Reading database ... 22682 files and directories currently installed.)
  +
Unpacking kdelibs3-bin (from .../kdelibs3-bin_2.2.2-13_i386.deb) ...
  +
Selecting previously deselected package kdelibs3.
  +
...
  +
280
  +
Kapitel 7. KDE
  +
Unpacking kde (from .../m/meta-kde/kde_2.2.25_all.deb) ...
  +
Selecting previously deselected package kde-i18n-de.
  +
Unpacking kde-i18n-de (from .../kde-i18n-de_4%3a2.2.2-2_all.deb) ...
  +
Setting up kdewallpapers (2.2.2-14) ...
  +
Setting up kdebase-doc (2.2.2-14) ...
  +
...
  +
Setting up ktimer (2.2.2-9) ...
  +
Setting up kde (2.2.25) ...
  +
Der Übersichtlichkeit halber wurde die Ausgabe an einigen Stellen etwas gekürzt (...). Nachdem nun alle Pakete
  +
installiert sind, kann der Display Manager (KDM) gestartet werden. Hierbei ist darauf zu achten das der
  +
X-Server installiert und konfiguriert wurde!
  +
debian:~# /etc/init.d/kdm start
  +
Starting K Desktop Manager: done.
  +
Einige Augenblicke später sollte ein grafischer Login zur Verfügung stehen. Mit einem Benutzernamen und
  +
dem entsprechenden Passwort kann nun die Anmeldung am System erfolgen.
  +
Abbildung 7-1. KDE 2.2 KDM
  +
Nach der Anmeldung informiert der „Splashscreen“ über den Fortschritt der Anmeldung. Bisher wurde für
  +
diesen Benutzer noch keine Konfiguration erstellt, so daß die Sprache hier noch englisch ist.
  +
281
  +
Kapitel 7. KDE
  +
Abbildung 7-2. KDE 2.2 Splashscreen
  +
Nach der ersten Anmeldung eines Benutzers am neuen System (es sind noch keine Konfigurationsdateien für
  +
KDE im Heimatverzeichnis des Benutzers vorhanden) wird ein „Wizard“ gestartet der die wichtigsten
  +
Einstellung abfragt.
  +
Abbildung 7-3. KDE 2.2Wizard
  +
282
  +
Kapitel 7. KDE
  +
Zunächst ist das Lannd und die gewünschte Sprache zu wählen. Der Eintrag „Germany (de)“ findet sich im
  +
Menü unter „Europe/Central“. Je nachdem welche Sprachen installiert wurden werden diese unter „Please
  +
choose your language“ zur Auswahl angeboten.
  +
Die Einstellungen werden sofort aktiviert, wirken sich allerdings nur auf neu gestartete Anwendungen aus.
  +
Abbildung 7-4. KDE 2.2Wizard
  +
Die nächste Einstellung beeinflusst das Aussehen und das Verhalten des Fenstermanagers. Hier kann zwischen
  +
einer KDE eigenen Variante und der Emlation verschiedener anderer Betriebssysteme gewählt werden.
  +
283
  +
Kapitel 7. KDE
  +
Abbildung 7-5. KDE 2.2Wizard
  +
Im nächsten Schritt kann die Reaktionsgeschwindigkeit von KDE geändert werden. Auf langsamen Systemen
  +
können die Effekte reduziert werden um die Belastung des Prozessors zu verringern.
  +
Abbildung 7-6. KDE 2.2Wizard
  +
284
  +
Kapitel 7. KDE
  +
Sogenannte „Themes“ verändern die Farben und das Aussehen der Anwendungen. Auch hier kann zwischen
  +
verschiedenen Varianten gewählt werden.
  +
Abbildung 7-7. KDE 2.2Wizard
  +
Zum Abschluss der Konfiguration kann das KDE Control Center gestartet werden um weitere Einstellungen
  +
vorzunehmen. Die wichtigsten Einstellungen sind jedoch vorgenommen worden und die grafische Oberfläche
  +
KDE ist nun einsatzbereit.
  +
285
  +
Kapitel 7. KDE
  +
Abbildung 7-8. KDE 2.2 Info
  +
Nach jeder Anmeldung am System erscheint nun ein Fenster mit nützlichen Tips. Über Schaltflächen können
  +
weitere Tips gelesen werden. Soll dieses Fenster nicht nach jeder Anmeldung erscheinen, so kann dieses
  +
Verhalten unten links im Fenster deaktiviert werden.
  +
7.3. KDE 3.0.x
  +
Die KDE Pakete für die Debian Distribution werden seit einiger Zeit von Ralph Nolden, welcher selbst im KDE
  +
Projekt mitarbeitet, betreut. Zur Installation der KDE 3.0 Pakete aus dem Internet ist zunächst ein
  +
entsprechender Eintrag in der Datei /etc/apt/sources.list vorzunehmen.
  +
deb ftp://ftp.kde.org/pub/kde/stable/latest/Debian/woody/ ./
  +
Leider sind noch nicht alle KDE Pakete an einer zentralen Stelle verfügbar, wenn spezielle Anwendungen
  +
benötigt werden die nicht unter der oben genannten Adresse verfügbar sind, so lohnt sich ein Blick auf
  +
mypage.bluewin.ch/kde3-debian/ und www.cupis.co.uk/debian/kde3.html sowie
  +
www.davidpashley.com/debian-kde/faq.html.
  +
Nach einer Aktualisierung der Paketlisten (apt-get update) kann die Installation erfolgen. Natürlich können
  +
einzelne Pakete ausgewählt werden, wenn nur bestimmte Programme benutzt werden sollen. Wenn jedoch KDE
  +
als Standard-Desktop eingesetzt werden soll, so ist es sinnvoll die entsprechenden Meta-Packages auszuwählen.
  +
Diese lassen sich mittels apt-cache sehr leicht ermitteln:
  +
fr@nigiri:~$ apt-cache search metapackage | grep kde
  +
kdeadmin - KDE Administration tools metapackage
  +
kdebase - KDE Base metapackage
  +
kdegames - KDE Games metapackage
  +
kdegraphics - KDE Graphics metapackage
  +
kdelibs - KDE core libraries metapackage
  +
286
  +
Kapitel 7. KDE
  +
kdemultimedia - KDE Multimedia metapackage
  +
kdenetwork - KDE Network metapackage
  +
kdepim - KDE Personal Information Management metapackage
  +
kdeutils - KDE Utilities metapackage
  +
kde - The K Desktop Environment
  +
kde-devel - The K Desktop Environment (development files)
  +
kde-extras - The K Desktop Environment (extras)
  +
kde-games - The K Desktop Environment (Games and Toys)
  +
education-desktop-kde - DebianEdu KDE desktop applications
  +
Etwas Vorsicht ist an dieser Stelle angesagt: die ersten Pakete in der gezeigten Liste gehören zur Version 3.0.x
  +
von KDE (ohne Bindestrich), Pakete weiter unten (mit Bindestrich) gehören zu der Version 2.2 von KDE.
  +
Als nächstes können die Pakete installiert werden. Dies kann mit den üblichen Werkzeugen (apt-get,
  +
dselect. gnome-apt usw.) erfolgen. Sinnvoll ist zumindest die Installation der Pakete kdebase, kdeadmin,
  +
kdelibs. Je nach Bedarf können natürlich weitere Pakete installiert werden, wie beispielsweise kde-i18n-de
  +
und kdm.
  +
debian:~# apt-get install kde-i18n-de kdebase kdeadmin kdelibs kdm
  +
Reading Package Lists... Done
  +
Building Dependency Tree... Done
  +
The following extra packages will be installed:
  +
kaddressbook kappfinder kate kcmlinuz kcontrol kcron kdat kdcop kdebase-bin
  +
kdebase-data kdebugdialog kdelibs-bin kdelibs-data kdelibs4 kdm kdeprint
  +
kdesktop kfind khelpcenter khotkeys kicker kioslave klipper kmenuedit
  +
konqueror konqueror-nsplugins konsole kpackage kpager kpersonalizer
  +
kscreensaver ksmserver ksplash ksysguard ksysv ktip kuser kwin kwuftpd kxkb
  +
libarts1 libarts1-qt libasound2 libcupsys2 libkonq4 libpng3 libqt3 libqt3-mt
  +
libsensors1 secpolicy
  +
The following NEW packages will be installed:
  +
kaddressbook kappfinder kate kcmlinuz kcontrol kcron kdat kdcop kde-i18n-de
  +
kdeadmin kdebase kdebase-bin kdebase-data kdebugdialog kdelibs kdelibs-bin
  +
kdelibs-data kdelibs4 kdeprint kdesktop kfind khelpcenter khotkeys kicker
  +
kioslave klipper kmenuedit konqueror konqueror-nsplugins konsole kpackage
  +
kpager kpersonalizer kscreensaver ksmserver ksplash ksysguard ksysv ktip
  +
kuser kwin kwuftpd kxkb libarts1 libarts1-qt libasound2 libcupsys2 libkonq4
  +
libpng3 libqt3 libqt3-mt libsensors1 secpolicy
  +
0 packages upgraded, 53 newly installed, 0 to remove and 1 not upgraded.
  +
Need to get 39.2MB/39.6MB of archives. After unpacking 107MB will be used.
  +
Do you want to continue? [Y/n]
  +
Media Change: Please insert the disc labeled ’Debian GNU/Linux 3.0 beta _Woody_ -
  +
Unofficial i386 Binary-1 (20020625)’ in the drive ’/cdrom/’ and press enter
  +
Selecting previously deselected package libasound2.
  +
(Reading database ... 22600 files and directories currently installed.)
  +
Unpacking libasound2 (from .../libasound2_0.9.0beta10a-3_i386.deb) ...
  +
Selecting previously deselected package libarts1.
  +
Unpacking libarts1 (from .../libarts1_1.0.4-1_i386.deb) ...
  +
Selecting previously deselected package libpng3.
  +
Unpacking libpng3 (from .../libpng3_1.2.1-1.1_i386.deb) ...
  +
...
  +
Selecting previously deselected package kdelibs.
  +
Unpacking kdelibs (from .../kdelibs_4%3a3.0.4-1_all.deb) ...
  +
Setting up libasound2 (0.9.0beta10a-3) ...
  +
Setting up libarts1 (1.0.4-1) ...
  +
Setting up libpng3 (1.2.1-1.1) ...
  +
Setting up libcupsys2 (1.1.14-3) ...
  +
...
  +
Setting up kdebase (3.0.4-1) ...
  +
Setting up kdelibs (3.0.4-1) ...
  +
287
  +
Kapitel 7. KDE
  +
Der Übersichtlichkeit halber wurde die Ausgabe an einigen Stellen etwas gekürzt (...). Nachdem nun alle Pakete
  +
installiert sind, wird der Display Manager (KDM) automatisch gestartet. Hierbei ist darauf zu achten das der
  +
X-Server zuvor installiert und konfiguriert wurde! Nachträglich kann KDM natürlich auch gestartet werden.
  +
debian:~# /etc/init.d/kdm start
  +
Starting K Desktop Manager: done.
  +
Einige Augenblicke später sollte ein grafischer Login zur Verfügung stehen. Mit einem Benutzernamen und
  +
dem entsprechenden Passwort kann nun die Anmeldung am System erfolgen.
  +
Abbildung 7-9. KDE 3.0 KDM
  +
Nach der ersten Anmeldung eines Benutzers am neuen System (es sind noch keine Konfigurationsdateien für
  +
KDE im Heimatverzeichnis des Benutzers vorhanden) wird ein „Wizard“ gestartet der die wichtigsten
  +
Einstellung abfragt.
  +
288
  +
Kapitel 7. KDE
  +
Abbildung 7-10. KDE 3.0Wizard
  +
Zunächst ist das Land und die gewünschte Sprache zu wählen. Der Eintrag „Germany (de)“ findet sich im Menü
  +
unter „Europe/Central“. Je nachdem welche Sprachen installiert wurden werden diese unter „Please choose
  +
your language“ zur Auswahl angeboten.
  +
Die Einstellungen werden sofort aktiviert.
  +
Abbildung 7-11. KDE 3.0Wizard
  +
289
  +
Kapitel 7. KDE
  +
Die nächste Einstellung beeinflusst das Aussehen und das Verhalten des Fenstermanagers. Hier kann zwischen
  +
einer KDE eigenen Variante und der Emlation verschiedener anderer Betriebssysteme gewählt werden.
  +
Abbildung 7-12. KDE 3.0Wizard
  +
Im nächsten Schritt kann die Reaktionsgeschwindigkeit von KDE geändert werden. Auf langsamen Systemen
  +
können die Effekte reduziert werden um die Belastung des Prozessors zu verringern.
  +
290
  +
Kapitel 7. KDE
  +
Abbildung 7-13. KDE 3.0Wizard
  +
Sogenannte „Themes“ verändern die Farben und das Aussehen der Anwendungen. Auch hier kann zwischen
  +
verschiedenen Varianten gewählt werden.
  +
Abbildung 7-14. KDE 3.0Wizard
  +
291
  +
Kapitel 7. KDE
  +
Zum Abschluss der Konfiguration kann das KDE Control Center gestartet werden um weitere Einstellungen
  +
vorzunehmen. Die wichtigsten Einstellungen sind jedoch vorgenommen worden und die grafische Oberfläche
  +
KDE ist nun einsatzbereit.
  +
Nach der Anmeldung informiert der „Splashscreen“ über den Fortschritt der Anmeldung.
  +
Abbildung 7-15. KDE 3.0 Splashscreen
  +
292
  +
Kapitel 7. KDE
  +
Abbildung 7-16. KDE 3.0 Info
  +
Nach jeder Anmeldung am System erscheint nun ein Fenster mit nützlichen Tips. Über Schaltflächen können
  +
weitere Tips gelesen werden. Soll dieses Fenster nicht nach jeder Anmeldung erscheinen, so kann dieses
  +
Verhalten unten links im Fenster deaktiviert werden.
  +
293
  +
Kapitel 8. Internet
  +
Ohne das Internet wäre die schnelle Weiterentwicklung des Linux-Kernels oder auch von Debian GNU/Linux
  +
völlig undenkbar. Die Kommunikation zwischen den Entwicklern untereinander und auch zu den Benutzern
  +
wäre ohne den Internetdienst E-Mail undenkbar. Die Softwareverteilung über andere Medien als das Internet
  +
(beispielsweise per Post auf CD-ROMs) würde die Entwicklungszeiten in die Höhe treiben. Debian GNU/Linux
  +
bietet mit apt ein mächtiges Werkzeug, um auch über das Internet oder aus dem lokalen Netzwerk Pakete zu
  +
installieren. Im folgenden finden Sie zunächst die nötigen Informationen, um per Modem oder ISDN ins Netz zu
  +
kommen. Weiterhin zeigen wir Ihnen die interessantesten Anwendungen, die Sie für die verschiedenen Dienste
  +
im Netz benötigen. In einem späteren Abschnitt wird die Konfiguration von Netzwerkkarten beschrieben.
  +
8.1. Zugang zum Internet
  +
Ein Zugang zum Internet kann mittels verschiedener Methoden hergestellt werden. Momantan sind wohl DSL
  +
Zugänge am attraktivsten, diese bieten neben einem guten Preis, auch pauschal als sogenannte „Flatrate“, auch
  +
sehr schnelle Übertragungsraten. Leider sind DSL Zugänge nicht flächendeckend verfügbar. Etwas langsamer,
  +
aber ebenfalls zu günstigen Konditionen verfügbar sind ISDN Zugänge, das Schlußlicht in Punkte
  +
Datenübertragungsleistung bilden Modem Verbindungen ins Internet. Hier trotzdem die erwähnten
  +
Zugangmöglichkeiten in der umgekehrten Reihenfolge, diese stellt die technische Entwicklung der letzten Jahre
  +
dar.
  +
8.1.1. Modem
  +
Um mit einem an der seriellen Schnittstelle angeschlossenem Modem ins Internet zu kommen, steht Ihnen unter
  +
Debian GNU/Linux das Werkzeug pppconfig zu Verfügung. Sie müssen pppconfig als Superuser aufrufen,
  +
da alle Einstellungen, die das Modem betreffen, systemweit gültig sind.
  +
Vorab ist es sinnvoll, wenn Sie von Ihrem ISP (Internet Service Provider) alle benötigten Daten besorgen.
  +
Wichtig sind insbesondere folgende Daten:
  +
• Ihr Login- oder Benutzernamen
  +
• Ihr Paßwort
  +
• Telefonnummer zur Einwahl beim Provider
  +
pppconfig wird Sie noch nach weiteren Informationen fragen, aber für die meisten Anwendungen reichen
  +
diese Angaben.
  +
+-------------------------------- Main Menu ---------------------------------+
  +
| This is the PPP configuration utility. It does not connect to your isp: it|
  +
| just configures ppp so that you can do so with a utility such as pon. It |
  +
| will ask for the username, password, and phone number that your ISP gave |
  +
| you. If your ISP uses PAP or CHAP, that is all you need. If you must use |
  +
| a chat script, you will need to know how your ISP prompts for your username
  +
| and password. If you do not know what your ISP uses, try PAP. Use the up |
  +
| and down arrow keys to move around the menus. Hit ENTER to select an item.
  +
| Use the TAB key to move from the menu to <OK> to <CANCEL> and back. When |
  +
| you are ready to move on to the next menu go to <OK> and hit ENTER. To go |
  +
| back to the main menu go to <CANCEL> and hit enter. |
  +
| +------------------------------------------------------------------------+ |
  +
| | Create Create a connection | |
  +
| | Change Change a connection | |
  +
| | Delete Delete a connection | |
  +
| | Quit Exit this utility | |
  +
| | | |
  +
| +------------------------------------------------------------------------+ |
  +
| |
  +
| |
  +
+----------------------------------------------------------------------------+
  +
| < OK > <Cancel> |
  +
294
  +
Kapitel 8. Internet
  +
+----------------------------------------------------------------------------+
  +
Mit pppconfig können Sie eine individuelle Konfiguration für einen oder mehrere ISPs erstellen. pppconfig
  +
stellt noch keine Verbindung ins Internet für Sie her, hierzu können Sie später das Programm pon benutzen.
  +
Debian GNU/Linux PPP Configuration Utility
  +
+-------------------------------- Provider Name -------------------------------+
  +
| |
  +
| Enter the name you wish to use to refer to this isp. You will probably |
  +
| want to give the default name of ’provider’ to your primary isp. That way, |
  +
| you can dial it by just giving the command ’pon’. Give each additional isp |
  +
| a unique name. For example, you might call your employer ’theoffice’ and |
  +
| your university ’theschool’. Then you can connect to your isp with ’pon’, |
  +
| your office with ’pon theoffice’, and your university with ’pon theschool’. |
  +
| |
  +
| MeinProvider________________________________________________________________ |
  +
| |
  +
| |
  +
| |
  +
| <Ok> <Cancel> |
  +
| |
  +
+------------------------------------------------------------------------------+
  +
Zuerst werden Sie nach dem Namen Ihres Providers gefragt. Sie können hier jeden beliebigen Namen
  +
verwenden. Diese Angabe werden Sie später brauchen, um dann endgültig die Verbindung herzustellen.
  +
Benutzen Sie dazu das Programm pon zusammen mit dem hier angegebenen Namen, also pon
  +
MeinProvider. Wenn Sie mit pppconfig mehrere Konfigurationen für unterschiedliche ISPs erstellt haben,
  +
können Sie jeweils mit dem passenden Providernamen die Verbindung aufbauen.
  +
Debian GNU/Linux PPP Configuration Utility
  +
+-----------------------| Configure Nameservers (DNS) |------------------------+
  +
| |
  +
| Choose a method. ’Static’ means that the same nameservers will be used |
  +
| every time this provider is used. You will be asked for the nameserver |
  +
| numbers in the next screen. ’Dynamic’ means that pppd will automatically |
  +
| get the nameserver numbers each time you connect to this provider. ’None’ |
  +
| means that DNS will be handled by other means, such as BIND (named) or |
  +
| manual editing of /etc/resolv.conf. Use the up and down arrow keys to move |
  +
| among the selections, and press the spacebar to select one. When you are |
  +
| finished, use TAB to select <OK> and ENTER to move on to the next item. |
  +
| |
  +
| (*) Static Use static DNS |
  +
| ( ) Dynamic Use dynamic DNS |
  +
| ( ) None DNS will be handled by other means |
  +
| |
  +
| |
  +
| |
  +
| |
  +
| |
  +
| <Ok> <Cancel> |
  +
| |
  +
+------------------------------------------------------------------------------+
  +
An dieser Stelle können Sie bestimmen, wie der Zugriff auf einen oder mehrere Nameserver stattfinden soll.
  +
Wenn Sie „Static“ auswählen, werden Sie vom Installationsprogramm nach mindestens einer IP-Nummer eines
  +
Nameservers gefragt. Bei der Option „Dynamic“ wird diese Information automatisch bei der Einwahl zu Ihrem
  +
Provider übermittelt. Dies ist eine gute Wahl, wenn Sie über verschiedene Provider ins Internet gehen wollen.
  +
Wenn Sie „None“ auswählen, müssen Sie sich selber um die Angaben zum Nameserver für Ihr System
  +
kümmern, beispielsweise in /etc/resolv.conf, oder Sie installieren einen eigenen Nameserver (Paket:
  +
bind) auf Ihrem System.
  +
Debian GNU/Linux PPP Configuration Utility
  +
295
  +
Kapitel 8. Internet
  +
+--------------------------------| IP number |---------------------------------+
  +
| |
  +
| Enter the IP number for your primary nameserver. |
  +
| |
  +
| 194.25.2.129________________________________________________________________ |
  +
| |
  +
| |
  +
| |
  +
| |
  +
| <Ok> <Cancel> |
  +
| |
  +
+------------------------------------------------------------------------------+
  +
Hier ein Beispiel für die Benutzung eines festen Nameservers. Erfragen Sie die korrekte
  +
Nameserver-IP-Nummer für Ihre Konfiguration bei Ihrem Provider.
  +
Debian GNU/Linux PPP Configuration Utility
  +
+-----------------| Authentication Method for MeinProvider |------------------+
  +
| |
  +
| Please select the authentication method for this connection. PAP is the |
  +
| method most often used in Windows 95, so if your ISP supports the NT or |
  +
| Win95 dial up client, try PAP. The method is now set to CHAT. |
  +
| |
  +
| PAP Peer Authentication Protocol |
  +
| Chat Use chat for login:/password: authentication |
  +
| CHAP Crypto Handshake Auth Protocol |
  +
| |
  +
| Previous Return to previous menu |
  +
| Quit Exit this utility |
  +
| |
  +
| |
  +
| |
  +
| <Ok> <Cancel> |
  +
| |
  +
+------------------------------------------------------------------------------+
  +
Debian GNU/Linux PPP Configuration Utility
  +
+--------------------------------| User Name |---------------------------------+
  +
| |
  +
| Enter the username given to you by your ISP. |
  +
| |
  +
| hoshi_______________________________________________________________________ |
  +
| |
  +
| |
  +
| |
  +
| |
  +
| |
  +
| <Ok> <Cancel> |
  +
| |
  +
+------------------------------------------------------------------------------+
  +
Geben Sie hier den Benutzernamen an, unter dem Sie bei Ihrem Provider registriert sind. Sie können sich diesen
  +
Namen im allgemeinen selbst aussuchen.
  +
Debian GNU/Linux PPP Configuration Utility
  +
+---------------------------------| Password |---------------------------------+
  +
| |
  +
| Enter the password your ISP gave you. |
  +
| |
  +
| sagichnich__________________________________________________________________ |
  +
| |
  +
| |
  +
| |
  +
| <Ok> <Cancel> |
  +
296
  +
Kapitel 8. Internet
  +
| |
  +
+------------------------------------------------------------------------------+
  +
Geben Sie hier das Paßwort ein, welches Sie mit Ihrem Provider vereinbart haben. Achten Sie hier auf Großund
  +
Kleinschreibung!
  +
Debian GNU/Linux PPP Configuration Utility
  +
+----------------------------------| Speed |-----------------------------------+
  +
| |
  +
| Enter your modem port speed (e.g. 9600, 19200, 38400, 57600, 115200). |
  +
| I suggest that you leave it at 115200. |
  +
| |
  +
| 115200______________________________________________________________________ |
  +
| |
  +
| |
  +
| |
  +
| |
  +
| |
  +
| <Ok> <Cancel> |
  +
| |
  +
+------------------------------------------------------------------------------+
  +
Stellen Sie hier die Schnittstellengeschwindigkeit ein. Dies ist nicht die Übertragungsgeschwindigkeit Ihres
  +
Modems. Diese Frage bezieht sich auf die in Ihrem Rechner eingebaute Schnittstelle, an der Sie das Modem
  +
angeschlossen haben. Moderne Modems können die Daten, die von und zu Ihrem Provider über die Leitung
  +
gehen, komprimieren. Deshalb ist es sinnvoll hier einen möglichst hohen Wert einzustellen, um das Modem
  +
nicht mit der Verbindung zum Rechner auszubremsen.
  +
Debian GNU/Linux PPP Configuration Utility
  +
+------------------------------| Pulse or Tone |-------------------------------+
  +
| |
  +
| Select method of dialing. Since almost everyone has touch-tone, you should |
  +
| leave the dialing method set to tone unless you are sure you need |
  +
| pulse. Use the up and down arrow keys to move among the selections, and |
  +
| press the spacebar to select one. When you are finished, use TAB to |
  +
| select <OK> and ENTER to move on to the next item. |
  +
| |
  +
| (*) Tone |
  +
| ( ) Pulse |
  +
| |
  +
| |
  +
| |
  +
| <Ok> <Cancel> |
  +
| |
  +
+------------------------------------------------------------------------------+
  +
Hier können Sie zwischen Ton- oder Impulswählverfahren wählen. Mittlerweile sind in Deutschland fast alle
  +
Anschlüsse tonwahlfähig. Ändern Sie diese Einstellung nur, wenn es mit der Tonwahl Probleme gibt.
  +
Debian GNU/Linux PPP Configuration Utility
  +
+-------------------------------| Phone Number |-------------------------------+
  +
| |
  +
| Enter the number to dial. Don’t include any dashes. See your modem manual |
  +
| if you need to do anything unusual like dialing through a PBX. |
  +
| |
  +
| 191011______________________________________________________________________ |
  +
| |
  +
| |
  +
| |
  +
| |
  +
| |
  +
| <Ok> <Cancel> |
  +
| |
  +
297
  +
Kapitel 8. Internet
  +
+------------------------------------------------------------------------------+
  +
Tragen Sie hier die Einwahlnummer Ihres Providers ein. Wenn Sie Ihr Modem über eine Telefonanlage
  +
angeschlossen haben, kann es nötig sein, eine 0 oder eine andere Nummer vorzuwählen. Sollte Ihr Modem nicht
  +
über die Telefonanlage wählen können, sehen Sie in Ihr Handbuch zum Modem, es gibt für jedes Modem eine
  +
Option, daß das Modem auch dann wählt, wenn es kein Freizeichen bekommt. Dies ist oft bei Telefonanlagen
  +
der Fall, wenn diese ein anderes Freizeichen benutzen als im öffentlichen Telefonnetz.
  +
Debian GNU/Linux PPP Configuration Utility
  +
+------------------------| Choose Modem Config Method |------------------------+
  +
| |
  +
| |
  +
| Answer ’yes’ to have the port your modem is on identified automatically. |
  +
| It will take several seconds to test each serial port. Answer ’no’ if |
  +
| you would rather enter the serial port yourself |
  +
| |
  +
| |
  +
| |
  +
| |
  +
| |
  +
| <Yes> <No> |
  +
| |
  +
+------------------------------------------------------------------------------+
  +
Sie können hier die seriellen Schnittstellen in Ihrem Rechner suchen lassen und im nächsten Schritt die
  +
gewünschte aus einer Liste auswählen.
  +
Debian GNU/Linux PPP Configuration Utility
  +
+----------------------------| Select Modem Port |-----------------------------+
  +
| |
  +
| Below is a list of all the serial ports that appear to have hardware |
  +
| that can be used for ppp. One that seems to have a modem on it has |
  +
| been preselected. If no modem was found ’Manual’ was preselected. To |
  +
| accept the preselection just hit TAB and then ENTER. Use the up and |
  +
| down arrow keys to move among the selections, and press the spacebar |
  +
| to select one. When you are finished, use TAB to select <OK> and ENTER |
  +
| to move on to the next item. |
  +
| |
  +
| (*) /dev/ttyS0 |
  +
| ( ) /dev/ttyS1 |
  +
| ( ) Manual Enter the port by hand. |
  +
| |
  +
| |
  +
| |
  +
| |
  +
| |
  +
| <Ok> <Cancel> |
  +
| |
  +
+------------------------------------------------------------------------------+
  +
Markieren Sie hier die Schnittstelle, an der Ihr Modem angeschlossen ist. Beachten Sie bitte, daß /dev/ttyS0
  +
dem COM-Port 1 und /dev/ttyS1 dem COM-Port 2 entspricht.
  +
Debian GNU/Linux PPP Configuration Utility
  +
+-----------------------| Properties of MeinProvider |-------------------------+
  +
| |
  +
| |
  +
| Number 191011 Telephone number |
  +
| User hoshi ISP user name |
  +
| Password sagichnich ISP password |
  +
| Speed 115200 Port speed |
  +
| Com /dev/ttyS0 Modem com port |
  +
| Method PAP Authentication method |
  +
298
  +
Kapitel 8. Internet
  +
| |
  +
| Advanced Advanced Options |
  +
| |
  +
| Finished Write files and return to main menu. |
  +
| Previous Return to previous menu |
  +
| Quit Exit this utility |
  +
| |
  +
| |
  +
| |
  +
| |
  +
| <Ok> <Cancel> |
  +
| |
  +
+------------------------------------------------------------------------------+
  +
Zum Abschluß können Sie noch einmal alle Angaben überprüfen. Wenn Sie weitere Konfigurationsdateien zu
  +
anderen Providern erstellen wollen, können Sie mit „Finished“ die Eingaben speichern und zum Anfang
  +
zurückkehren.
  +
Wenn Sie das Programm verlassen, können Sie nun mit pon "Providername" die Verbindung aufbauen. In
  +
der Datei /var/log/messages wird der Verbindungsaufbau protokolliert, Sie können dies mit dem
  +
Kommando tail -f /var/log/messages verfolgen. Sollten Probleme auftreten, wie zum Beispiel ein
  +
falsches Paßwort, so können Sie dies hier verfolgen.
  +
Die Option -f bewirkt, daß ständig aus der Datei gelesen wird und alle neuen Einträge angezeigt werden. Sie
  +
können diesen Befehl mit CTRL+C abbrechen.
  +
Wenn Ihnen diese Informationen nicht ausreichen, finden Sie in der Datei /var/log/ppp.log detailliertere
  +
Informationen. Auch diese können Sie sich mit dem Kommando tail -f ansehen.
  +
Um zu prüfen, ob die Verbindung aufgebaut wurde, können Sie den Befehl ifconfig benutzen. Dieser sollte
  +
das Device ppp0 anzeigen.
  +
Mit dem Kommando ping www.linux-magazin.de können Sie testen, ob Datenpakete über das Netz
  +
geschickt werden.
  +
Das Kommando poff beendet die Verbindung.
  +
8.1.1.1. Weitere Konfiguration
  +
Es ist sinnvoll, für häufig verwendete Gerätedateien im Verzeichniss /dev/ einen Link mit einem geläufigeren
  +
Namen anzulegen. Wenn Sie herausgefunden haben, welches Device von Ihrem Modem benutzt wird, legen Sie
  +
einen entsprechenden Link „modem“ an. Beispielsweise mit ln -s /dev/ttyS1 /dev/modem. Sie können
  +
nun aus jeder Anwendung heraus einfach auf /dev/modem zugreifen, ohne sich die genaue Bezeichnung der
  +
Gerätedatei merken zu müssen.
  +
Wenn Sie Probleme haben, unter Linux die passende Gerätedatei zur seriellen Schnittstelle Ihres Rechners zu
  +
finden, können Sie folgende Tabelle zur Hilfe nehmen. Aus dieser können Sie die Bezeichnung der Schnittstelle
  +
unter DOS und Linux entnehmen, weiterhin finden Sie den passenden Linux-Befehl, um den Link anzulegen.
  +
DOS Linux Befehl
  +
COM1 /dev/ttyS0 "ln -s /dev/ttyS0 /dev/modem"
  +
COM2 /dev/ttyS1 "ln -s /dev/ttyS1 /dev/modem"
  +
COM3 /dev/ttyS2 "ln -s /dev/ttyS2 /dev/modem"
  +
COM4 /dev/ttyS3 "ln -s /dev/ttyS3 /dev/modem"
  +
8.1.2. ISDN
  +
Vielleicht verfügt der eine oder andere Leser dieses Buches inszwischen über einen ISDN-Anschluß. Diese
  +
digitalen Telefonanschlüsse bieten im Normalfall 3 Telefonnummern und 2 gleichzeitig nutzbare (B-) Kanäle,
  +
so daß Sie sich im Internet rumtreiben können und gleichzeitig telefonieren können. Die Übertragungsrate
  +
299
  +
Kapitel 8. Internet
  +
beträgt 64 kBit je B-Kanal, einige Provider unterstützen die Bündelung beider Kanäle, so daß Sie mit 128 kBit
  +
im Netz surfen können, hierbei fallen natürlich auch die doppelten Telefonkosten an.
  +
Für die Konfiguration einer ISDN-Karte müssen Sie zunächst einige Module laden. Es ist nicht notwendig einen
  +
neuen Kernel zu übersetzen, alle benötigten Module wurden zusammen mit dem von Debian GNU/Linux
  +
installierten Kernel installiert. Zunächst sollten Sie versuchen die Module von Hand zu laden, wenn Sie die
  +
passenden Parameter herausgefunden haben, tragen Sie die entsprechenden Werte beispielsweise in die Datei
  +
/etc/modules ein.
  +
Beachten Sie, daß Module nur mit den Zugriffsrechten des Superusers (root) geladen werden können. Laden Sie
  +
zunächst das Modul „isdn“, am einfachsten mit dem Kommando modprobe isdn. Überprüfen Sie mit dem
  +
Kommando lsmod, ob das Modul geladen wurde, hierbei wird Ihnen vielleicht auffallen, daß zusätzlich das
  +
Modul „slhc“ automatisch geladen wurde, vergessen Sie nicht, dieses später auch in Ihre Konfiguration
  +
aufzunehmen (in der Datei /etc/modules).
  +
Sie können das Laden der Module auch in einem anderen Fenster, oder auf einer anderen Konsole, mit dem
  +
Kommando tail -f /var/log/syslog verfolgen, dies ist auch bei den weiteren Modulen und zur
  +
Fehlersuche sehr hilfreich. Für die Module „slhc“ und „isdn“ sollten Sie folgendes in diesem Logfile finden:
  +
Mar 7 09:57:16 debian kernel: CSLIP: code copyright 1989 Regents of the
  +
University of California
  +
Mar 7 09:57:16 debian kernel: ISDN subsystem Rev: 1.93/1.80/1.95/1.60/
  +
1.17/1.3 loaded
  +
Dies war der einfachste Teil... etwas komplizierter ist das Laden des eigentlichen Treibers für Ihre ISDN-Karte.
  +
Für die (teuren) aktiven ISDN-Karten wie zum Beispiel die AVM B1 stehen eigene Treiber zur Verfügung,
  +
lesen Sie bitte in der Dokumentation nach, wie diese zu laden sind.
  +
Für die weit verbreiteten passiven ISDN-Karten steht Ihnen das Modul hisax zur Verfügung. Diesem Modul
  +
müssen Sie über entsprechende Parameter unter anderem mitteilen, welche Karte Sie verwenden.
  +
Beispielsweise können Sie eine ältere „Creatix“ oder „Teles“ ISDN-Karte für den ISA-Steckplatz Ihres
  +
Rechners mit folgenden Parametern einbinden: modprobe hisax type=1 protocol=2 io=0xf80
  +
mem=0xd0000 irq=9. Für eine AVM Fritz PCI-Karte kommt folgende Zeile in Frage: modprobe hisax
  +
type=5 io=0x340 irq=10 protocol=2. Natürlich müssen Sie einen freien IRQ (Interrupt) wählen, die
  +
bereits benutzten IRQs finden Sie in der Datei /proc/interrupts. Weitere Parameter für die verschiedenen
  +
Karten entnehmen Sie der Dokumentation.
  +
Wenn auch dieses Modul erfolgreich geladen wurde, sollten Sie in etwa folgende Einträge in der Datei
  +
/var/log/syslog finden:
  +
Mar 7 10:49:12 debian kernel: HiSax: Linux Driver for passive ISDN cards
  +
Mar 7 10:49:12 debian kernel: HiSax: Version 3.3c (module)
  +
Mar 7 10:49:12 debian kernel: HiSax: Layer1 Revision 2.36
  +
Mar 7 10:49:12 debian kernel: HiSax: Layer2 Revision 2.20
  +
Mar 7 10:49:12 debian kernel: HiSax: TeiMgr Revision 2.13
  +
Mar 7 10:49:12 debian kernel: HiSax: Layer3 Revision 2.10
  +
Mar 7 10:49:12 debian kernel: HiSax: LinkLayer Revision 2.40
  +
Mar 7 10:49:12 debian kernel: HiSax: Approval certification valid
  +
Mar 7 10:49:12 debian kernel: HiSax: Approved with ELSA Quickstep series cards
  +
Mar 7 10:49:12 debian kernel: HiSax: Approval registration numbers:
  +
Mar 7 10:49:12 debian kernel: HiSax: German D133361J CETECOM ICT Services GmbH
  +
Mar 7 10:49:12 debian kernel: HiSax: EU (D133362J) CETECOM ICT Services GmbH
  +
Mar 7 10:49:12 debian kernel: HiSax: Approved with Eicon Technology Diva 2.01 PCI cards
  +
Mar 7 10:49:12 debian kernel: HiSax: Total 1 card defined
  +
Mar 7 10:49:12 debian kernel: HiSax: Card 1 Protocol EDSS1 Id=HiSax (0)
  +
Mar 7 10:49:12 debian kernel: HiSax: Teles 8.0/16.0 driver Rev. 2.11
  +
Mar 7 10:49:12 debian kernel: HiSax: Teles 16.0 config irq:9 mem:0xD0000 cfg:0xF80
  +
Mar 7 10:49:12 debian kernel: Teles0: ISAC version (60): 2085 V2.3
  +
Mar 7 10:49:12 debian kernel: Teles0: HSCX version A: V2.1 B: V2.1
  +
Mar 7 10:49:12 debian kernel: Teles 16.0: IRQ 9 count 0
  +
Mar 7 10:49:12 debian kernel: Teles 16.0: IRQ 9 count 5
  +
Mar 7 10:49:12 debian kernel: HiSax: DSS1 Rev. 2.21
  +
Mar 7 10:49:12 debian kernel: HiSax: 2 channels added
  +
300
  +
Kapitel 8. Internet
  +
Mar 7 10:49:12 debian kernel: HiSax: MAX_WAITING_CALLS added
  +
Nun müssen Sie nur noch einige Programme, die sich im Paket isdnutils befinden, installieren und einige
  +
Anpassungen an den Konfigurationsdateien vornehmen. Am einfachsten benutzen Sie hierzu wieder apt-get.
  +
debian:/home/fr# apt-get install isdnutils
  +
Reading Package Lists... Done
  +
Building Dependency Tree... Done
  +
The following NEW packages will be installed:
  +
isdnutils
  +
0 packages upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
  +
Need to get 0B/1184kB of archives. After unpacking 2556kB will be used.
  +
Selecting previously deselected package isdnutils.
  +
(Reading database ... 5587 files and directories currently installed.)
  +
Unpacking isdnutils (from .../net/isdnutils_3.0-17.deb) ...
  +
Setting up isdnutils (3.0-17) ...
  +
Starting isdn services :.
  +
Nach der Installation werden die notwendigen Programme automatisch gestartet, wenn Sie das ISDN-System
  +
bereits einmal konfiguriert hatten, ist sofort alles funktionsfähig. Ansonsten müssen Sie jetzt einige
  +
Anpassungen vornehmen.
  +
Bestandteil des Paketes isdnutils ist das Konfigurationsprogramm isdnconfig. Mit diesem können Sie die
  +
benötigten Konfigurationsdateien erzeugen (sie werden eigentlich nur an die passende Stelle kopiert...).
  +
Isdnutils configuration
  +
=======================
  +
1 network devices
  +
2 synchronous ppp daemon
  +
3 modem emulation
  +
4 isdnlog configuration
  +
5 voice box configuration
  +
Q Quit
  +
Your choice :1
  +
Starten Sie nun isdnconfig, es werden im einfachsten Fall lediglich die ersten beiden Auswahlmöglichkeiten
  +
benötigt. Wenn Sie Funktionen wie Kanalbündelung, Modememulation oder einen Anrufbeantworter benötigen,
  +
lesen Sie bitte in der Dokumentation weiter.
  +
Wählen Sie zunächst den Punkt „1“.
  +
Isdnutils configuration network interfaces
  +
======================= ------------------
  +
Searching for existing configuration files...
  +
Found : NONE
  +
Devices should be named :
  +
- rawip interface isdn0 isdn1 ...
  +
- synchronous ppp interface ippp0 ippp1 ...
  +
Name for new interface : ippp0
  +
Installed new config file /etc/isdn/device.ippp0 .
  +
This file is only an example.
  +
You have to edit this file for it to work.
  +
Press [Enter]
  +
Hinter dem ersten Menüpunkt können Sie die gewünschten Netzwerk-Interfaces aktivieren. Für den Anfang ist
  +
es völlig ausreichend lediglich das Device ippp0 zu benutzen. Beachten Sie den Hinweis, daß lediglich eine
  +
Beispieldatei installiert wurde, die Sie noch Ihren Bedürfnissen anpassen müssen. Doch dazu gleich mehr.
  +
301
  +
Kapitel 8. Internet
  +
Isdnutils configuration synchronous ppp daemon
  +
======================= ----------------------
  +
Searching for existing configuration files...
  +
Found : ippp0
  +
Normal setup : one ipppd for all devices: /dev/ippp0 /dev/ippp1 ...
  +
All ippp* network interfaces are handled by a single ipppd
  +
process using a single config file.
  +
Special setup : one ipppd for each device: /dev/ippp0 /dev/ippp1 ...
  +
Each ippp* network interface is handled by its own ipppd
  +
process, using a specific config file for each.
  +
You need to use pppbind on each network interface to select
  +
which /dev/ippp* device will be used.
  +
Usually only a single ippp interface is used (for connecting to an ISP), so
  +
the above isn’t really relevant to most users.
  +
Name for new configuration (ippp0 ippp1 ...) : ippp0
  +
Hinter dem zweiten Menüpunkt verbergen sich weitere Scripte für die verschiedenen Gerätedateien, auch hier
  +
ist es ausreichend, einen Eintrag für ippp0 vorzunehmen.
  +
Verlassen Sie nun das Konfigurationsprogramm, alle notwendigen Dateien wurden unter /etc/isdn/
  +
installiert und müssen nun noch angepaßt werden. Beginnen wir zunächst mit der Datei ipppd.ippp0, hier ist
  +
lediglich die vierte Zeile, welche mit „echo ... “ beginnt, zu löschen, damit die Datei von den ISDN-Scripten
  +
akzeptiert wird:
  +
#!/bin/sh
  +
# REMOVE the next line once configuration is complete #########################
  +
echo "Warning! $0 not configured yet! Aborting..."; exit 1
  +
# REMOVE the above line once configuration is complete ########################
  +
Die zu löschende Zeile ist deutlich in dem Script markiert.
  +
Damit ist die Konfiguration dieser Datei abgeschlossen. Sie können sich natürlich noch die weiteren Einträge
  +
ansehen, in der Dokumentation finden Sie weitere Informationen zur Bedeutung der einzelnen Einträge.
  +
Laden Sie nun die Datei device.ippp0 in einen Editor und entfernen Sie auch in dieser Datei die oben
  +
beschriebene Zeile.
  +
In dieser zweiten Datei müssen Sie allerdings noch einige weitere Änderungen vornehmen, die wichtigsten
  +
Abschnitte sind in der Datei mit XXX_ markiert. Suchen Sie zunächst nach einer Zeile, die mit LOCALMSN
  +
beginnt. Ändern Sie die vorgegebene Nummer durch die Nummer, die Sie Ihrer ISDN-Karte zuweisen möchten.
  +
Setzen Sie vor die Nummer noch die Ortskennzahl (Vorwahl) ohne die führende 0, für Berlin also nicht 030,
  +
sondern nur 30.
  +
Nach dem gleichen Muster verändern Sie den Eintrag REMOTEMSN durch die Einwahlnummer Ihres Providers.
  +
LOCALMSN=30987654321
  +
REMOTEMSN=30191011
  +
Wenn Ihr Provider keine Authentifizierung per Telefonnummer unterstützt, lesen Sie bitte in der Dokumentation
  +
weiter.
  +
Einen Blick sollten Sie noch auf den Eintrag DIALMODE etwas weiter unten in der Datei werfen. Der
  +
Standardwert ist hier auto, dies führt dazu, daß bei jedem Netzzugriff versucht wird, eine Verbindung zu Ihrem
  +
Internetprovider aufzubauen. Dies kann unter Umständen recht teuer werden, Sie können den Wert auch auf
  +
manual ändern, müssen dann allerdings den Verbindungsaufbau „freigeben“. Dies können Sie beispielsweise
  +
mit folgendem kleinen Script erledigen, welches als /bin/i gespeichert werden kann:
  +
#!/bin/sh
  +
302
  +
Kapitel 8. Internet
  +
case "$1" in
  +
start)
  +
/usr/sbin/isdnctrl dialmode ippp0 auto
  +
echo "ISDN on"
  +
;;
  +
stop)
  +
/usr/sbin/isdnctrl dialmode ippp0 off
  +
echo "ISDN off"
  +
;;
  +
*)
  +
echo "Usage: $0 {start|stop}"
  +
exit 1
  +
;;
  +
esac
  +
exit 0
  +
Achten Sie darauf, daß Script ausführbar zu machen, mit chmod +x /bin/i. Ein i start gibt nun die
  +
ISDN-Verbindung frei, nach einem i stop ist kein weiterer Verbindungsaufbau möglich. So können Sie
  +
sichergehen, daß kein wildgewordenes Programm oder eine Webseite, die sich selber immer wieder aktualisiert,
  +
Ihre Telefonkosten in die Höhe treibt.
  +
Hiermit ist die Konfiguration abgeschlossen, Sie müssen nun lediglich das ISDN-Subsystem noch einmal neu
  +
starten, da sich die Konfiguration geändert hat:
  +
debian:/etc/isdn# /etc/init.d/isdnutils stop
  +
Stopping isdn services : interfaces.
  +
debian:/etc/isdn# /etc/init.d/isdnutils start
  +
Starting isdn services : interfaces.
  +
Beachten Sie bitte, daß es notwendig ist, einen geeigneten Nameserver in die Datei /etc/resolv.conf
  +
einzutragen, da sonst keine Rechnernamen aufgelöst werden können. Wenn Sie dort noch keinen Eintrag
  +
vorgenommen haben, holen Sie dies jetzt nach. Sinnvolle Werte erfahren Sie bei Ihrem Provider. Über den
  +
Aufbau der Datei finden Sie weitere Informationen im Abschnitt über Netzwerke.
  +
Sie können nun mit den Kommandos route und ifconfig überprüfen, ob die ISDN-Interfaces vorhanden
  +
sind:
  +
debian:/etc/isdn# route
  +
Kernel IP routing table
  +
Destination Gateway Genmask Flags Metric Ref Use Iface
  +
10.0.0.2 * 255.255.255.255 UH 0 0 0 ippp0
  +
localnet * 255.255.255.240 U 0 0 0 eth0
  +
default * 0.0.0.0 U 0 0 0 ippp0
  +
debian:/etc/isdn# ifconfig
  +
ippp0 Link encap:Point-to-Point Protocol
  +
inet addr:10.0.0.1 P-t-P:10.0.0.2 Mask:255.255.255.255
  +
UP POINTOPOINT RUNNING NOARP MTU:1500 Metric:1
  +
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
  +
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
  +
collisions:0 txqueuelen:30
  +
Eventuell werden Ihnen noch weitere Interfaces angezeigt, beispielsweise wenn noch eine weitere
  +
Netzwerkkarte im Rechner installiert ist.
  +
Auf einer Konsole oder in einem Terminalfenster können Sie nun die Verbindung mit ping www.debian.org
  +
testen, Sie können aber auch einen Webbrowser starten und gleich eine Runde im Netz surfen...
  +
303
  +
Kapitel 8. Internet
  +
8.1.2.1. Kanalbündelung
  +
Mittels der Kanalbündelung (Multilink) können zwei ISDN Kanäle gleichzeitig zur Übertragung von Daten
  +
genutzt werden. Dies kann die Downloadzeiten im besten Fall halbieren (wenn auch der Server über eine
  +
entsprechende Anbindung verfügt), hat aber auch im allgemeinen die doppelten Kosten für die zweite Leitung
  +
zur Folge.
  +
Zunächst sollte eine funktionierende ISDN Konfiguration (für einen Kanal) vorliegen um beispielsweise Fehler
  +
bei der Authentifizierung auszuschliessen. Weiterhin ist ein Backup der Konfiguration immer sinnvoll.
  +
Alle folgenden Schritte werden im Verzeichnis /etc/isdn/ durchgeführt. Zunächst ist die Datei
  +
device.ippp0 zu kopieren, die Zieldatei muß device.ippp1 heissen.
  +
Einzige notwendige Änderung ist das hinzufügen des Eintrages +mp in der Datei ipppd.ippp0.
  +
Das war es auch schon. Nachzulesen ist das ganze noch in der Datei README.MPPP.
  +
Nun muß das ISDN System mit /etc/init.d/isdnutils stop und /etc/init.d/isdnutils start
  +
neugestartet werden. Beachten Sie das der zweite Kanal nicht automatisch bei Bedarf aktiviert wird, sondern
  +
mit dem Kommando isdnctrl dial ippp1 aktiviert wird. Das Kommando isdnctrl hangup ippp1
  +
beendet den zweiten Kanal.
  +
8.1.3. DSL
  +
Mittlerweile sind schnelle und preisgünstige Internetanschlüsse in vielen Gebieten verfügbar. Leider
  +
funktioniert diese neue Technik nur in Gegenden die nicht per Glasfaser versorgt werden, was leider in vielen
  +
Bereichen der neuen Bundesländer in einigen Bezirken in Berlin der Fall ist.
  +
Die Konfiguration einer DSL Verbindung zu Ihrem Provider ist recht einfach. Es wird eine Netzwerkkarte
  +
benötigt die mit dem DSL-Splitter (falls auch ein ISDN Telefonanschluß zur Telefonie genutzt werden soll)
  +
oder direkt mit DSL Anschluß (DSL-Modem) verbunden wird. Die benötigten Kabel sowie eine Anleitung
  +
werden im allgemeinen mitgeliefert.
  +
Wenn ein lokales Netz aufgebaut werden soll so ist natürlich eine zweite Netzwerkkarte notwendig.
  +
Ein DSL Anschluß stellt direkt vor Ort einen Netzwerkanschluß zur Verfügung. Nun spricht dieser leider nicht
  +
direkt das Protokoll IP, vielmehr ist es notwendig über diese Anbindung wiederrum ein PP Protokoll zu
  +
benutzen, dieses nennt sich PPPoE: PPP over Ethernet. Hierfür steht unter Debian GNU ein spezielles Paket
  +
sowie ein kleines Konfigurationsscript und ein Monitoring Tool zur Verfügung.
  +
pppoe - PPP over Ethernet driver
  +
pppoeconf - configures PPPoE/ADSL
  +
pppstatus - console-based PPP status monitor
  +
Mittels apt-get install pppoe pppoeconf pppstatus müssen zunächst die Pakete installiert werden.
  +
Zwingend notwendig ist lediglich das Paket pppoe. Das Paket pppoeconf erleichtert jedoch die Konfiguration,
  +
pppstatus kann nützlich sein um die Verbindung und den Status zu überprüfen.
  +
8.1.3.1. pppoeconf
  +
Nach der Installation der Pakete wird zunächst das Programm pppoeconf benutzt um die notwendigen
  +
Konfigurationsdateien zu erstellen.
  +
304
  +
Kapitel 8. Internet
  +
Abbildung 8-1. PPPoE Konfiguration - Geräte
  +
pppoeconf sucht zunächst nach bereits konfigurierten Netzwerkkarten. Für weit verbreitete Modelle ist in
  +
vielen Kerneln bereits ein Treiber integriert, für andere Modelle stehen Treiber als Module zur Verfügung. Die
  +
modularen Treiber können vor dem Start von pppoeconf von Hand oder mittels modconf geladen werden.
  +
Es sollte an dieser Stelle mindestens eine Netzwerkkarte (eth0) angezeigt werden. Ist dies nicht der Fall so ist
  +
zunächst dafür zu sorgen das ein entsprechendes Modul geladen wird. Wenn in dem gezeigten Dialog „No“
  +
gewählt wird, kann ein Modul mittels modconf integriert werden.
  +
Werden hier zwei oder mehr Netzwerkkarten angezeigt so wird dieses System vermutlich als Router für ein
  +
lokales Netz eingesetzt.
  +
305
  +
Kapitel 8. Internet
  +
Abbildung 8-2. PPPoE Konfiguration - Suche
  +
Im nächsten Schritt werden die erkannten Netzwerkkarten nach einem DSL-Anschluß (DSL-Modem)
  +
durchsucht. Sollte kein entsprechender Anschluß gefunden werden so ist die Verkabelung zu überprüfen. Auch
  +
kann es sein das der Anschluß vom Provider noch nicht freigeschaltet wurde. Details zur Fehlersuche an der
  +
Hardware (DSL-Modem) sind in der Bedienungsanleitung nachzulesen.
  +
306
  +
Kapitel 8. Internet
  +
Abbildung 8-3. PPPoE Konfiguration - eth0 Einrichtung
  +
Wird an einer einer der Schnittstellen/Netzwerkkarten ein DSL-Anschluß gefunden, so wird angeboten diesen
  +
im folgenden zu konfigurieren.
  +
Abbildung 8-4. PPPoE Konfiguration - Modifikation erlauben
  +
307
  +
Kapitel 8. Internet
  +
Werden bereits bestehende Konfigurationsdateien gefunden, so wird eine Warnung ausgegeben doch zunächst
  +
ein Backup der Dateien zu erstellen.
  +
Abbildung 8-5. PPPoE Konfiguration - Übliche Optionen
  +
Wenn vor der Benutzung eines DSL-Anschlusses bereits PPP benutzt wurde (beispielsweise über eine
  +
Modemverbindung) so kann es vorkommen das bereits einige gebräuchliche Werte umkonfiguriert wurden. Hier
  +
können die wichtigsten Werte geprüft und ggf. korrigiert werden.
  +
308
  +
Kapitel 8. Internet
  +
Abbildung 8-6. PPPoE Konfiguration - Benutzername
  +
Die meisten Provider schicken die benötigten Login-Informationen per Post. Einige beschreiben diese auf eine
  +
seltsame Art, in der Annahme, der Benutzer würde diese Daten in die vom Provider gelieferten
  +
Setup-Programme eingeben. Tatsächlich aber werden daraus ganz normalle PPP-Benutzernamen und
  +
-Passwörter generiert, und Sie können das ebenfalls tun und die richtigen Werte in die folgenden Dialog-Fenster
  +
eingeben.
  +
Die Daten für eine T-DSL Anschluß der Deutschen Telekom sehen prinzipiell so aus:
  +
Anschlusskennung: 11111111111
  +
T-Onlinenummer: 222222222222
  +
Mitbenutzer: 0001
  +
Daraus ergibt sich als Benutzername: 111111111111222222222222#0001@t-online.de.
  +
Insbesondere ist auf die Länge der einzelnen Teile (Anschlusskennung und T-Onlinenummer) zu achten.
  +
Wichtig ist auch die Mitbenutzernummer welche durch das Zeichen „#“ abgetrennt wird. Es ist in jedem Fall
  +
die Zeichenkette „@t-online.de“ anzuhängen.
  +
Es scheint neuerdings auch 12-stellige T-Onlinenummern zu geben. Ich diesem Fall muss das Zeichen „#“
  +
entfallen.
  +
309
  +
Kapitel 8. Internet
  +
Abbildung 8-7. PPPoE Konfiguration - Passwort
  +
Hier wird das vom Provider benannte Passwort angegeben. Achtung! Dies wird im Klartext am Bildschirm
  +
angezeigt. Bitte kurz umdrehen und überprüfen ob ein böser Passwortklau grade über die Schulter schaut...
  +
Abbildung 8-8. PPPoE Konfiguration - Nameserver
  +
310
  +
Kapitel 8. Internet
  +
Die Konfiguration des Nameservers (Einträge in der Datei resolv.conf) kann automatisch bei der
  +
Verbindungsaufnahme erfolgen. Somit ist sichergestellt das immer ein gut erreichbarer Nameserver bekannt ist,
  +
auch wenn die Konfiguration des Providers verändert wird.
  +
Abbildung 8-9. PPPoE Konfiguration - MSS-Größe
  +
Hier kann die Paketgröße der IP-Pakete verändert werden, einige Router können Probleme bereiten wenn die
  +
Paketgröße auf 1500 belassen wird.
  +
311
  +
Kapitel 8. Internet
  +
Abbildung 8-10. PPPoE Konfiguration - Automatisch Starten
  +
Es kann bei jedem Systemstart automatisch eine Verbindung zum Provider aufgebaut werden. Es ist zu beachten
  +
das hier bei ggf. Verbindungskosten anfallen die insbesondere bei einer zeitbasierten Abrechnung ins Gewicht
  +
fallen können.
  +
312
  +
Kapitel 8. Internet
  +
Abbildung 8-11. PPPoE Konfiguration - Verbindung herstellen
  +
Nach der erfolgreichen Konfiguration kann direkt eine erste Verbindung ins Netz hergestellt werden.
  +
8.1.3.2. pppstatus
  +
Neben den üblichen Tools zur Überprüfung einer Internetverbindung (ping, host, tcpdump usw.) steht
  +
speziell zur Kontrolle von PPP-Verbindungen das Programm pppstatus zur Verfügung.
  +
313
  +
Kapitel 8. Internet
  +
Abbildung 8-12. PPP Statusanzeige
  +
Hier finden sich Informationen über die verwendete Schnittstelle, die maximale Übertragungsrate und das
  +
Übertragungsvolumen der Daten. In der oberen Hälfte wird in einer Säulengrafik die Übertragungsrate
  +
angezeigt.
  +
8.2. Webbrowser
  +
Nachdem Sie nun erfolgreich die Verbindung ins Internet aufgebaut haben, können Sie die verschiedensten
  +
Dienste (WWW, FTP, News...) nutzen. Jeder dieser Dienste, wobei WWW sicher der populärste ist, kann mit
  +
einem eigenständigen Programm genutzt werden. Einige Programme können auch mehrere dieser Dienste
  +
abfragen, aber auf alle Fälle haben Sie mit Debian GNU/Linux für jeden Dienst die Auswahl zwischen
  +
verschiedenen Programmen.
  +
8.2.1. Netscape Communicator
  +
Der Communicator der Firma Netscape ist für verschiedene Betriebssysteme verfügbar und auch in einer
  +
Linux-Version auf den Debian GNU/Linux Servern oder den CD-ROMs zu bekommen. Wie der Name
  +
„Communicator“ schon nahelegt, handelt es sich um ein Programm, welches verschiedene Funktionen
  +
ausführen kann und somit mehrere Internetdienste nutzbar macht. Ältere Versionen trugen den Namen
  +
„Navigator“ und stellten lediglich die Möglichkeit Webseiten anzuzeigen zur Verfügung. Funktionen wie Mail
  +
und News kamen erst später (mit dem Communicator) hinzu.
  +
Die Pakete wurden für Debian GNU/Linux vom Betreuer des Paketes in kleine Teile getrennt, so daß man auch
  +
nur die Teile des Communicators installieren kann, die man benötigt. Weiterhin können Sie ohne Probleme
  +
verschiedene Versionen gleichzeitig installieren, momentan sind die Versionen 4.08, 4.61 und 4.7x auf den
  +
Debian GNU/Linux-Servern zu beziehen.
  +
314
  +
Kapitel 8. Internet
  +
Abbildung 8-13. Netscape Communicator
  +
Installieren Sie die gewünschten Pakete wie gewohnt mit apt, dpkg oder dselect. Sie benötigen in jedem Fall
  +
die Pakete *-base-*, *-smotif-* (oder *-dmotif-*, wenn Sie über eine kommerzielle Motif-Version
  +
verfügen) sowie *-java-*. Die Pakete *-nethelp-* und *-spellchk-* sind nicht unbedingt erforderlich.
  +
8.2.1.1. Scrollmaus
  +
Um eine Scrollmaus (also eine Maus mit Rad) zusammen mit dem Netscape Communicator (und auch den
  +
anderen Anwendungen aus dem Paket wie beispielsweise der Composer) verwenden zu können, ist zunächst die
  +
grundsätzliche Unterstützung solcher Hardware durch den X-Server zu gewährleisten.
  +
8.2.1.2. Probleme beim Druck
  +
Vielleicht haben Sie sich auch schon über einige Webseiten geärgert die sich nicht vernünftig ausdrucken
  +
liessen. Da der Traum vom papierlosen Büro ja noch nicht Realität geworden ist und immernoch viele Leute
  +
den Wunsch haben „etwas in der Hand zu halten“ gibt es aber auch für dieses Problem eine Lösung.
  +
Auf der Webseite http://mickey.edvz.uni-linz.ac.at/enprt/ findet sich ein Programm mit dessen Hilfe Webseiten
  +
zunächst in LaTeX umgewandelt werden und mit zusätzlich Informationen wie beispielsweise URL, Seitentitel
  +
und Seite/Seitenanzahl sowie Druckdatum versehen werden.
  +
315
  +
Kapitel 8. Internet
  +
Die Installation gestaltet sich einfach, nach dem entpacken des Paketes sind einige Parameter anzupassen und
  +
das Script ist in der Netscape Konfiguration als Druckerkommendo einzutragen.
  +
8.2.1.3. Schaltflächen entfernen
  +
Haben Sie die Schaltflächen „Shop“, „Security“ oder „Home“ schon mal benutzt? Diese können leicht durch
  +
folgende Einträge in der Datei ~/.Xdefaults entfernt werden
  +
Netscape*toolBar.myshopping.isEnabled: false
  +
Netscape*toolBar.destinations.isEnabled: false
  +
Netscape*toolBar.search.isEnabled: false
  +
Netscape*toolBar.viewSecurity.isEnabled: false
  +
Netscape*toolBar.home.isEnabled: false
  +
Netscape*toolBar.print.isEnabled: false
  +
Danach ist die Datei mit xrdb -merge ~/.Xdefaults neu einzulesen und der Browser neu zu starten.
  +
8.2.1.4. Schaltflächen hinzufügen
  +
Natürlich ist es genauso gut möglich eigene Schaltflächen hinzuzufügen. Auch hierzu sind Ergänzungen in der
  +
Datei ~/.Xdefaults notwendig. Folgendes Beispiel fügt eine Schaltfläche „Find In Page“ hinzu.
  +
Netscape*toolBar.userCommand1.commandName: findInObject
  +
Netscape*toolBar.userCommand1.labelString: Find
  +
Netscape*toolBar.userCommand1.commandIcon: Search
  +
Auch bei dieser Änderung ist die Datei mit xrdb -merge ~/.Xdefaults neu einzulesen und der Browser
  +
neu zu starten.
  +
Ein Mausklick auf diese Schaltfläche öffnet nun das „Suchen“ Fenster.
  +
8.2.2. Mozilla
  +
Die Geschichte von Mozilla beginnt am 22. Januar 1998. An diesem Tag gab die Firma Netscape
  +
Communications bekannt, dass ihre damals Marktführende Browsersuite Netscape Communicator 4.0 ab sofort
  +
kostenlos verfügbar ist. Desweiteren sollte der Quellcode des Nachfolgeprodukts Communicator 5.0 (der sich
  +
damals noch in der Entwicklung befand und nie veröffentlicht wurde) als freie Software veröffentlicht werden.
  +
Da Software jedoch nicht auf Bäumen wächst war es notwendig, die weitere Entwicklung und Pflege der nun
  +
freien Codebasis von Netscape 5.0 zu koordinieren. Schließlich müssen Patches und Verbesserungen von
  +
Benutzern, Hobbyentwicklern und Firmen auf der ganzen Welt verwaltet werden und in einen gemeinsamen
  +
Entwicklungszweig einfließen.
  +
Der Browser sollte kein exklusives Projekt der Firma Netscape sein. Er sollte ein freies Software Projekt sein
  +
wie der Linux Kernel oder das GNU Projekt oder der Apache Webserver. Es sollte jeder anderen Firma und
  +
jeder Einzelperson möglich sein, sich an der weiteren Entwicklung zu beteiligen und den Browser oder
  +
bestimmte Teile davon in eigenen Programmen zu verwenden.
  +
Um diesen Zielen gerecht zu werden, gründete Netscape das "Mozilla Projekt", welches den ebenfalls in
  +
"Mozilla" umgetauften Netscape Browser seitdem weitgehend unabhängig von Netscape weiterentwickelt. Der
  +
Name "Mozilla" war übrigens der interne Codename für Netscape’s Navigator seit Version 1.0.
  +
316
  +
Kapitel 8. Internet
  +
Abbildung 8-14. Mozilla
  +
Um sich in den Netscape Sourcecode einzuarbeiten und die weitere Entwicklung auf eine solide Basis zu stellen,
  +
begannen die Entwickler Netscape’s Sourcecode zu überarbeiten. Nach sechs Monaten stellte sich allerdings
  +
heraus, dass es keinen Sinn machte auf dem Netscape Code aufzubauen. Netscape baute noch auf Mosaic
  +
(erster grafische Webbrowser) auf und der Code war über die Jahre „gewachsen“ und entsprechend chaotisch.
  +
Deshalb begannen die Entwickler den Netscape Code wegzuschmeissen und Mozilla von Grund auf neu zu
  +
Entwickeln. Den Kern von Mozilla bildet die Rendering Engine Gecko (ursprünglich Raptor). Sie wurde mit
  +
besonderem Augenmerk auf geringen Speicherverbrauch, schnellen Seitenaufbau und Konformität zu den
  +
offiziellen Web Standards des W3C entwickelt. Um Mozilla möglichst modular aufzubauen wurde das
  +
Komponentenmodell XPCOM entwickelt. XPCOM stellt eine plattformunabhängige Abwandlung von
  +
Microsoft’s Komponentenmodell COM dar. Mit Hilfe von XPCOM ist es beispielsweise möglich einen eigenen
  +
Browser zu schreiben und Gecko als Rendering Engine zu nutzen.
  +
Mozilla besteht aus verschiedenen Paketen, diese müssen nicht komplett installiert werden.
  +
mozilla-psm - Mozilla Web Browser - Personal Security Manager (PSM)
  +
mozilla-dev - Mozilla Web Browser - development files
  +
mozilla-js-debugger - JavaScript debugger for use with Mozilla
  +
mozilla-browser - Mozilla Web Browser - core and browser
  +
mozilla-mailnews - Mozilla Web Browser - mail and news support
  +
mozilla-chatzilla - Mozilla Web Browser - irc client
  +
mozilla-dom-inspector - A tool for inspecting the DOM of pages in Mozilla.
  +
mozilla - Mozilla Web Browser - dummy package
  +
mozilla-xmlterm - Mozilla Web Browse - XML enabled
  +
317
  +
Kapitel 8. Internet
  +
mozilla-locale-de-at - Mozilla German Language/Region Package.
  +
Zum einfachen Handling steht ein „Dummy“ Paket mozilla zur Verfügung mit dem eine brauchbare
  +
Installation schnell und einfach vorgenommen werden kann. Natürlich kann auch zunächst das Paket
  +
mozilla-browser installiert werden, welches mit Komponenten wie beispielsweise den Mail und News
  +
Funktionen (mozilla-mailnews) ergänzt wird.
  +
Das Paket mozilla-locale-de-at sorgt dafür das Mozilla mit einer deutschsprachigen Oberfläche versehen
  +
wird.
  +
8.2.3. Galeon
  +
Galeon ist ein Webbrowser für den GNOME Desktop und steht unter der GPL. Zum Anzeigen der Webseiten
  +
verwendet er Gecko, die Rendering Engine von Mozilla. Galeon ist sehr portabel und sollte sich auf jedem
  +
Unix System kompilieren lassen, auf dem auch GNOME läuft (wie z.B. GNU/Linux oder FreeBSD).
  +
Abbildung 8-15. Galeon Logo
  +
Das Ziel der Galeon Programmierer ist es, einen modernen und standardkonformen aber gleichzeitig auch
  +
schlanken Browser zu schaffen. Ein sehr wichtiger Punkt dabei ist, dass Galeon wirklich nur ein Browser ist.
  +
Anders als z.B. Mozilla besitzt Galeon keinen eigenen Mail oder News Client. Um E-Mail zu versenden kann
  +
man seinen bevorzugten Mail Client (z.B.: Evolution, mutt, kmail, balsa oder was auch immer) angeben. Man
  +
muss also nicht, wie z.B. bei Mozilla immer die E-Mail Adresse in seinen Mail Client kopieren oder Tools wie
  +
muttzilla verwenden, wenn man ein anderes Mail Programm als Mozilla Mail verwendet.
  +
318
  +
Kapitel 8. Internet
  +
Abbildung 8-16. Galeon Browser
  +
Downloads kann Galeon wahlweise selbst tätigen oder von einem externen Programm durchführen lassen. So
  +
kann man z.B. GTM (Gnome Transfer Manager) oder sogar wget (wird dann in einem eigenen Terminal
  +
ausgeführt) als Download Manager konfigurieren.
  +
8.2.3.1. Installation
  +
Die Installation erfolgt einfach mittels apt-get install galeon.
  +
TIP: Bei Debian ist der Mozilla Personal Security Manager (das Mozilla Modul, das für SSL verantwortlich
  +
ist) in ein separates Paket abgespalten. Um in Galeon SSL nutzen zu können, muss das Paket mozilla-psm
  +
installiert werden.
  +
Beim ersten Start ruft Galeon seinen Konfigurations Druiden auf. Dort wird gefragt ob Bookmarks von
  +
Netscape (4.x) oder Mozilla importiert werden sollen und es können diverse Einstellungen z.B. für die zu
  +
verwendenden Proxies vorgenommen werden. Neben der Übernahme der Netscape Bookmarks ist auch der
  +
Import einiger Netscape Einstellungen möglich (z.B. Startseite, Java, Java Script usw.).
  +
319
  +
Kapitel 8. Internet
  +
Abbildung 8-17. Galeon Installation
  +
Abbildung 8-18. Galeon Import Bookmarks
  +
320
  +
Kapitel 8. Internet
  +
Abbildung 8-19. Galeon Smart Bookmarks
  +
Abbildung 8-20. Galeon GNOME Integration
  +
321
  +
Kapitel 8. Internet
  +
Abbildung 8-21. Galeon Proxy Einstellungen
  +
8.2.3.2. Startzeit
  +
Besonders interessant ist die Startzeit von Galeon. Zumindest was die Startzeit angeht ist Galeon damit wohl
  +
der momentan schnellste vollwertige Browser für Unix.
  +
TIP: Wenn schon eine frühere Version von Galeon installiert ist, dann sollten mit dem Kommando
  +
galeon-config-tool --clean alle Konfigurationsdateien der alten Version gelöscht werden, bevor mit einer
  +
neueren Version von Galeon grarbeitet wird. Galeon läuft dadurch deutlich schneller. Wenn wichtige
  +
Lesezeichen in Galeon gespeichert wurden, sollten diese vorher gesichert werden. Die Bookmarks finden
  +
sich in der Datei ~/.galeon/bookmarks.xml.
  +
Die Oberfläche von Galeon ist sehr übersichtlich und macht einen aufgeräumten Eindruck. Zwar sehen die
  +
Standardbuttons von Galeon recht langweilig aus, jedoch kommt Galeon mit einer kleinen Auswahl an Themes
  +
sowohl für die Browser Buttons als auch für den Spin Button (der Button ganz rechts in der Toolbar). Wem die
  +
mitgelieferten Themes nicht ausreichen, der findet unter galeon.sourceforge.net/themes/ weitere Themes und
  +
eine Anleitung zur Erstellung von eigenen Themes.
  +
8.2.3.3. Autovervollständigung
  +
Wie alle modernen Browser kann auch Galeon eine URL in der URL Zeile während der Eingabe automatisch
  +
vervollständigen. Vielen Benutzern ist diese Funktion allerdings oft zu aufdringlich. Deshalb kann man es
  +
322
  +
Kapitel 8. Internet
  +
entweder abstellen oder aber eine halbautomatische Vervollständigung auswählen. Dann wird eine URL,
  +
ähnlich wie in der GNU bash mit der Tab-Taste vervollständigt.
  +
8.2.3.4. Zoom
  +
Die Browsertoolbar enthält neben den üblichen Buttons (Vor, Zurück, Stop usw.) auch eine Zoom Kontrolle um
  +
die Zoom Stufe für die Seite festzulegen. Galeon zoomt dabei wie Mozilla nur den Text der Seite, die Bilder
  +
werden nicht gezoomt (anders wie z.B. bei Opera).
  +
Ein sehr sinnvolles Feature, welches in Mozilla leider (noch) nicht enthalten ist, ist der Vollbildmodus. Mit dem
  +
Menüpunkt „Vollbild“ im Menü „Ansicht“ bzw. der Taste F11 wird Galeon in den Vollbildmodus geschaltet
  +
und mit F11 kann der Vollbildmodus wieder deaktiviert werden.
  +
Wenn man sich Galeon etwas näher anschaut findet man aber auch gänzlich neue Features, die es in keinem
  +
anderen Browser gibt. So zum Beispiel die Funktion „Sitzung speichern“ im Menü „Datei“. Hier kann man die
  +
gesamte zur Zeit laufende Browsersession mit allen Browser Fenstern, Tabs und geöffneten Webseiten in eine
  +
Datei speichern. Bei Bedarf kann man diese Datei wieder öffnen und Galeon stellt den in der Datei
  +
festgehaltenen Zustand wieder her.
  +
8.2.3.5. Reiter
  +
In Anlehnung an Opera’s MDI Oberfläche bietet auch Galeon die Möglichkeit, mehrere Webseiten in einem
  +
Browserfenster in so genannten Reitern zu öffnen. In jedem Galeon Fenster kann über die Tastenkombination
  +
„STRG+T“ ein neuer Reiter erzeugt werden. Alternativ kann man Galeon auch anweisen, Popups und Links
  +
automatisch in einem neuen Reiter zu öffnen. Die Reiter sind auf einem Notebook Display einfacher zu
  +
überschauen als mehrere Browser Fenster. Darüber hinaus benötigt ein Reiter auch weniger System Ressourcen
  +
als eine neue Browser Instanz in einem eigenen Fenster.
  +
8.2.3.6. Lesezeichen
  +
Ohne Frage sind die Lesezeichen eines der wichtigsten Features für einen Browser. Galeon speichert seine
  +
Lesezeichen in einem eigenen XML Format unter ~/.galeon/bookmarks.xml. Der Import von Lesezeichen aus
  +
Netscape 4.x und Mozilla wird vom Browser direkt unterstützt. Für andere Browser (z.B. den Microsoft Internet
  +
Explorer) existieren Tools um die Lesezeichen in Galeon’s Bookmark Format zu konvertieren.
  +
Die Lesezeichen können entweder über den Dialog „Lesezeichen bearbeiten“ oder direkt über das Lesezeichen
  +
Menü verwaltet werden. Das Lesezeichenmenü ist gut durchdacht. Jeder Ordner enthält einen Unterpunkt
  +
„Ordner-Optionen“, über den man schnell einen neuen Unterordner anlegen oder die aktuelle Seite als
  +
Lesezeichen in diesem Ordner ablegen kann. Daneben ist auch das gleichzeitige Öffnen aller Lesezeichen eines
  +
Ordners in neuen Browser Fenstern oder in extra Reitern möglich.
  +
Bis jetzt ist es leider nicht möglich, die Lesezeichen alphabetisch sortieren zu lassen. Abgesehen von diesem
  +
Manko verfügt Galeon über eine vorbildliche Lesezeichenverwaltung.
  +
8.2.3.7. Intelligente Lesezeichen
  +
Galeon’s so genannte „Intelligente Lesezeichen“ sind Eingabefelder auf der Browsertoolbar, mit denen
  +
bestimmte Suchmaschinen wie z.B. Google, Debian’s Package Suche oder andere mit Begriffen gefüttert
  +
werden. Nach dem Bestätigen lädt Galeon direkt die Seite mit den Suchergebnissen.
  +
8.2.3.8. Chronik (History)
  +
Auch die Chronik von Galeon kann sich sehen lassen. Sie kann entweder in einem eigenen Fenster oder
  +
angedockt im linken Teil des Browserfensters dargestellt werden.
  +
Alle bereits besuchten Webseiten können nach der jeweiligen Domain (z.B. www.debian.org) gruppiert werden.
  +
Um nicht alles auf einmal angezeigt zu bekommen, kann man sich nur die Einträge aus einem bestimmten
  +
Zeitraum (Heute, Gestern, Vor zwei Tagen, aktuelle Woche oder Monat) anzeigen lassen.
  +
323
  +
Kapitel 8. Internet
  +
8.2.3.9. Cookie und Image Manager
  +
Galeon bietet gleich zwei nützliche Tools um sich vor der Spionage durch übereifrige „Marktforscher“ zu
  +
schützen. Im Cookie Manager können alle bereits gespeicherten Cookies eingesehen und bei Bedarf wieder von
  +
der Platte gelöscht werden. Danaben kann man auch Cookies von bestimmten Seiten komplett sperren.
  +
Mit dem Image Manager können Bilder von bestimmte Sites geblockt werden. Damit kann man sich vor so
  +
genannte „Web Bugs“, also unsichtbare Grafiken von Fremdseiten mit denen Benutzerprofile erstellt werden,
  +
schützen.
  +
8.2.3.10. SSL, JAVA, Flash
  +
So lange der von Galeon verwendete Mozilla SSL unterstützt, funktioniert SSL auch in Galeon ohne Probleme.
  +
Mit Java hat Galeon leider noch seine Probleme. Manche Sites funktionieren garnicht und andere können den
  +
Browser crashen.
  +
Bei Flash sieht es dagegen schon wesentlich besser aus. Galeon verwendet das selbe Plugin das sich im Plugin
  +
Verzeichnis von Mozilla befindet und funktioniert damit einwandfrei.
  +
8.2.4. lynx
  +
lynx ist ein Webbrowser, der über keinerlei grafische Benutzerschnittstelle oder die Möglichkeit Grafiken
  +
anzuzeigen, verfügt. lynx ist auf Systemen ohne X-Window-System lauffähig und läuft komplett textbasiert auf
  +
der Linux-Konsole. lynx ist in der Lage, Tabellen darzustellen, Frames können ebenfalls (sehr eingeschränkt)
  +
benutzt werden. Auf älteren Systemen (386- oder m68k-Systeme) ist lynx oft der einzige Browser, der
  +
verwendbar ist.
  +
Aber auch auf leistungsstarken Systemen hat lynx viele Freunde gefunden, die Ladezeiten von Webseiten sind
  +
ohne Grafiken um einiges schneller, und wer auf der Suche nach reinen Informationen ist, benötigt keine Bilder.
  +
Wenn Sie eigene Webseiten erstellen, achten Sie darauf, daß diese auch mit lynx vernünftig dargestellt werden
  +
können. Verzichten Sie wenn möglich auf Frames und setzen Sie Tabellen sparsam ein.
  +
Abbildung 8-22. lynx
  +
324
  +
Kapitel 8. Internet
  +
Starten Sie lynx auf der Kommandozeile, Sie können als Option gleich dahinter die gewünschte URL angeben.
  +
In den untersten beiden Zeilen werden Ihnen die wichtigsten Tastaturbelegungen angezeigt. Sie können mit den
  +
Cursortasten RAUF und RUNTER durch den Text der Seite navigieren. Links erscheinen in einer anderen
  +
Farbe, Sie können diese mit der Taste PFEIL-RECHTS oder RETURN auswählen und mit der Taste LINKS
  +
kommen Sie wieder zur vorhergehenden Seite. Wenn Sie lynx in einem X-Terminal ausführen, können Sie die
  +
Links auch ganz normal wie bei einem grafischen Browser mit der Maus auswählen. Um diese Funktion auf der
  +
Konsole nutzen zu können, müssen Sie das Paket gpm installiert haben.
  +
Weitere wichtige Tastaturkürzel sind:
  +
• H - zeigt die lynx-Hilfe an.
  +
• O - Optionen, mit denen Sie Ihre persönlichen Einstellungen vornehmen können.
  +
• P - Print, druckt die aktuelle Seite aus.
  +
• G - Go, öffnet eine neue URL.
  +
• M - Main Screen, geht zur Startseite zurück.
  +
• Q - Quit, beendet das Programm.
  +
• / - Sucht in der aktuellen Seite nach einem String.
  +
Wenn lynx die Webseiten nicht farbig darstellt, kontrollieren Sie die Einstellungen Ihrer Terminalemulation.
  +
Einfache Emulationen, wie zum Beispiel vt100, sind nicht in der Lage, Texte farbig darzustellen. Wählen Sie
  +
eine Emulation wie zum Beispiel linux (die Standardeinstellung der Konsolen), xterm-color oder
  +
xterm-debian, diese sind in der Lage, Texte farbig darzustellen.
  +
Weiterhin können Sie die farbige Ausgabe mit der Option -color auf der Kommandozeile erzwingen.
  +
8.2.5. Mehrsprachige Webseiten
  +
Webmaster, die großen Wert auf eine möglichst umfassende Leserschaft ihrer Webseiten legen, haben die
  +
Möglichkeit, ihre Webseiten in verschiedenen Sprachen abzulegen. Vielfach werden dann Links zu diesen
  +
Seiten benutzt, die Startseite ist im allgemeinen in Englisch gehalten.
  +
Mittlerweile benutzen aber auch einige Webmaster die sogenannte content negotiation auf ihren Seiten.
  +
Mit dieser kann der Benutzer seine bevorzugte Sprache einstellen und bekommt die Webseiten dann in der
  +
ausgewählten Sprache angezeigt, wenn diese Sprache verfügbar ist.
  +
Je nach verwendetem Browser unterscheiden sich die Einstellungen, die Sie vornehmen müssen.
  +
Wenn Sie den textbasierten Browser lynx benutzen, tragen Sie in der Datei .lynxrc (in Ihrem
  +
Home-Verzeichnis) die Variable preferred_language=de ein, beziehungsweise ändern diese auf den
  +
gewünschten Wert.
  +
Sie können dies auch über die Taste o (der Buchstabe) ändern.
  +
Wenn eine Seite nicht in deutscher Sprache verfügbar ist, können Sie mit der Zeile:
  +
preferred_language=de; q=1.0, en; q=0.7, fr; q=0.3 Englisch (en) als zweite und Französisch
  +
(fr) als dritte Sprache einstellen.
  +
Wenn Sie den Netscape Communicator (ab Version 4.0) benutzen, wählen Sie aus dem Menü „Edit“ den Punkt
  +
„Preferences“, und klicken Sie auf „Navigator“ - „Languages“ - „Add“. Wählen Sie dort die weitere
  +
gewünschte Sprache aus und klicken Sie auf „OK“.
  +
Sie können jetzt einmal den Erfolg auf den Webseiten des Debian-Projektes unter http://www.debian.org testen.
  +
Wenn alles geklappt hat, sollten Sie die Seiten nun in der von Ihnen gewählten Sprache sehen.
  +
8.3. E-Mail
  +
Elektronische Post (E-Mail) ist sicher eine der wichtigsten und beliebtesten Anwendungen im Internet. Der
  +
Austausch von Nachrichten ist auch gleichzeitig einer der ältesten Dienste im Netz. Um mit Ihrem
  +
Linux-System Mail versenden und empfangen zu können, reicht es im einfachsten Fall aus, die passenden
  +
325
  +
Kapitel 8. Internet
  +
Einstellungen im Netscape Communicator vorzunehmen. Doch für ein „erwachsenes“ Debian GNU-System
  +
sollte man sich einfach ein paar Minuten mehr Zeit nehmen und einen richtigen Mailserver konfigurieren.
  +
Wie Sie vielleicht bei der Installation des Basissystems schon bemerkt haben, kommen Sie nicht um die
  +
Installation eines MTA (Mail Transfer Agent) herum. Standardmäßig benutzt Debian GNU/Linux hierzu das
  +
Programm exim, Sie können aber auch smail, qmail oder sendmail verwenden. Im einfachsten Fall haben
  +
Sie bei der Installation von exim einfach den Punkt 5 No Configuration gewählt. Das ist nicht weiter
  +
schlimm, exim wird so einfach nicht funktionieren...
  +
Die Installation eines eigenen Mailservers auf Ihrem Rechner hat den entscheidenden Vorteil, daß Sie die von
  +
Ihnen erstellten Mails jederzeit abschicken können. Schicken Sie die Mail einfach an den lokalen Mailserver
  +
und wenn Sie das nächste Mal die Verbindung zu Ihrem Provider herstellen, werden alle Mails ausgeliefert.
  +
Somit müssen Sie nicht für jede einzelne Mail die Verbindung aufbauen. Dazu müssen Sie aber zunächst exim
  +
neu konfigurieren:
  +
Starten Sie (als Superuser) das Programm eximconfig.
  +
hoshi:/# eximconfig
  +
You already have an exim configuration. Continuing with eximconfig
  +
will overwrite it. It will not keep any local modifications you have made.
  +
If that is not your intention, you should break out now. If you do continue,
  +
then your existing file will be renamed with .O on the end.
  +
[---Press return---]
  +
Zuerst bekommen Sie einen Hinweis, daß bereits eine Konfigurationsdatei für exim gefunden wurde. Diese
  +
wird während der neuen Konfiguration umbenannt in /etc/exim.conf.O
  +
==============================================================================
  +
You must choose one of the options below:
  +
(1) Internet site; mail is sent and received directly using SMTP. If your
  +
needs don’t fit neatly into any category, you probably want to start
  +
with this one and then edit the config file by hand.
  +
(2) Internet site using smarthost: You receive Internet mail on this
  +
machine, either directly by SMTP or by running a utility such as
  +
fetchmail. Outgoing mail is sent using a smarthost. optionally with
  +
addresses rewritten. This is probably what you want for a dialup
  +
system.
  +
(3) Satellite system: All mail is sent to another machine, called a "smart
  +
host" for delivery. root and postmaster mail is delivered according
  +
to /etc/aliases. No mail is received locally.
  +
(4) Local delivery only: You are not on a network. Mail for local users
  +
is delivered.
  +
(5) No configuration: No configuration will be done now; your mail system
  +
will be broken and should not be used. You must then do the
  +
configuration yourself later or run this script, /usr/sbin/eximconfig,
  +
as root. Look in /usr/share/doc/exim/example.conf.gz
  +
Select a number from 1 to 5, from the list above.
  +
Enter value (default=‘1’, ‘x’ to restart): 2
  +
Sie müssen sich nun für einen der 5 möglichen Punkte entscheiden. Punkt fünf erstellt keine
  +
Konfigurationsdatei. Dies ist die schlechteste Wahl, da so Ihr System keine Mails ausliefern wird. Punkt vier ist
  +
für Systeme ohne Netzanbindung (also weder über eine Netzwerkkarte noch über ein Modem oder per ISDN)
  +
sinnvoll, auch dies lassen wir jetzt außen vor, ein Debian GNU/Linux-Rechner ohne Netzwerk ist kein
  +
„richtiger“ Computer... ;-)) . Punkt drei würde alle Mails zu einem „Smarthost“ ausliefern; dies ist im
  +
allgemeinen ein Rechner bei Ihrem Provider mit einer guten Anbindung ans Netz und einem sinnvoll
  +
konfigurierten Mailserver. Allerdings wird keine Mail an die Benutzer (außer root und postmaster)
  +
ausgeliefert... das ist auch nicht erstrebenswert.
  +
326
  +
Kapitel 8. Internet
  +
Bleiben noch die Punkte eins und zwei übrig. Punkt eins ist auszuwählen, wenn keiner der anderen Punkte Ihren
  +
Bedürfnissen genügt. Hierbei werden alle Mails direkt an den Empfänger beziehungsweise dessen Mailserver
  +
ausgeliefert. Eine solche Konfiguration ist für Einsteiger nicht sinnvoll, da noch sehr viel von Hand geändert
  +
werden muß.
  +
In den meisten Fällen ist der Punkt zwei also der optimale, diesen werden wir jetzt exemplarisch durchgehen:
  +
==============================================================================
  +
What is the ‘visible’ mail name of your system? This will appear on
  +
From: lines of outgoing messages.
  +
Enter value (default=‘localhost’, ‘x’ to restart): hoshi.openoffice.de
  +
Die erste Frage dreht sich um den „sichtbaren“ Namen Ihres Systems. Dies ist im Normalfall der volle Name
  +
des Rechners, unter dem dieser auch von anderen Systemen im Netz erreichbar ist. Dies muß nicht zwingend
  +
mit einem Teil Ihrer E-Mail-Adresse identisch sein. Im Zweifelsfall fragen Sie Ihren Provider nach der richtigen
  +
Einstellung.
  +
==============================================================================
  +
Does this system have any other names which may appear on incoming
  +
mail messages, apart from the visible name above (hoshi.openoffice.de) and
  +
localhost?
  +
By default all domains will be treated the same; if you want different
  +
domain names to be treated differently, you will need to edit the config
  +
file afterwards: see the documentation for the "domains" director
  +
option.
  +
If there are any more, enter them here, separated with spaces or commas.
  +
If there are none, say ‘none’.
  +
Enter value (default=‘none’, ‘x’ to restart):
  +
Sie können hier noch weitere Namen für Ihr System angeben, die in den Mails, die an Ihr System geliefert
  +
werden, auftauchen. Dies kann zum Beispiel der Fall sein, wenn Sie den Namen Ihres Rechners verändert haben
  +
und noch nicht alle Bekannten von der neuen Adresse unterrichtet haben, oder wenn Sie mehrere Domains auf
  +
einem Rechner betreiben. Normalerweise müssen Sie hier nichts eingeben.
  +
==============================================================================
  +
All mail from here or specified other local machines to anywhere on
  +
the internet will be accepted, as will mail from anywhere on the
  +
internet to here.
  +
Are there are any domains you want to relay mail for---that is, you
  +
are prepared to accept mail for them from anywhere on the internet, but
  +
they are not local domains.
  +
If there are any, enter them here, separated with spaces or commas. You
  +
can use wildcards. If there are none, say ‘none’. If you want to relay
  +
mail for all domains that specify you as an MX, then say ‘mx’
  +
Enter value (default=‘none’, ‘x’ to restart):
  +
Diese Frage betrifft das Mail-„relaying“, also das Weiterleiten von Mails, die nicht für Ihren Rechner bestimmt
  +
sind. Auch diese Angabe werden Sie im Normalfall überspringen können.
  +
==============================================================================
  +
Obviously, any machines that use us as a smarthost have to be excluded
  +
from the relaying controls, as using us to relay mail for them is the
  +
whole point.
  +
Are there any networks of local machines you want to relay mail for?
  +
If there are any, enter them here, separated with spaces or commas. You
  +
should use the standard address/length format (e.g. 194.222.242.0/24)
  +
If there are none, say ‘none’.
  +
327
  +
Kapitel 8. Internet
  +
You need to double the colons in IPv6 addreses (e.g. 5f03::1200::836f::::/48)
  +
Enter value (default=‘none’, ‘x’ to restart):
  +
Hier die Frage, ob Sie Mail für Rechner in Ihrem Netz „relayen“ wollen, also als „Smarthost“ für andere
  +
auftreten wollen. Auch dies überspringen wir einfach. (Wenn Sie tiefer in die Materie der Mailserver einsteigen
  +
wollen, lesen Sie bitte die Dokumentation zu dem betreffenden MTA).
  +
==============================================================================
  +
You may want to filter out unsolicited commercial email, (UCE, also known
  +
as spam). Unfortunately it is difficult keeping up with all the spamming
  +
sites and abused relays.
  +
The Realtime Blackhole List is a spam filter that someone else maintains
  +
(see http://maps.vix.com/rbl/). They are very quick to add sites, so
  +
if you bounce on this you may occasionally miss legitimate mail. Adding
  +
a header is an alternative---then individual users can choose what to do
  +
with RBL mail using their personal filter files.
  +
Note that the RBL only works if you receive mail directly. If it is stored
  +
for you at your ISP, the RBL won’t work as it depends on the IP address the
  +
connection comes from.
  +
Would you like to use the RBL? (’f’ilter, ’r’eject, or ’n’o)?
  +
Enter value (default=‘n’, ‘x’ to restart):
  +
Hier geht es um unerwünschte Mails, sogenannten SPAM. Sie können diese ausfiltern, dies funktioniert aber
  +
nur, wenn das System von außen direkt Mails entgegennimmt. Wenn Sie Ihre Mail via POP3 abholen,
  +
übergehen Sie auch diesen Punkt.
  +
==============================================================================
  +
Which machine will act as the smarthost and handle outgoing mail?
  +
Enter value (‘x’ to restart): mail.openoffice.de
  +
Names are localhost:hoshi.openoffice.de!
  +
Hier nun die Frage nach dem Mailserver Ihres Providers, der als Smarthost benutzt werden soll. Geben Sie hier
  +
den Namen des Servers an, im Zweifelsfall fragen Sie Ihren Provider nach dem Namen. Häufig wird ein
  +
Konstrukt: mail.providername.de gewählt, dies muß aber nicht so sein.
  +
==============================================================================
  +
Mail for the ‘postmaster’ and ‘root’ accounts is usually redirected
  +
to one or more user accounts, of the actual system administrators.
  +
By default, I’ll set things up so that mail for ‘postmaster’ and for
  +
various system accounts is redirected to ‘root’, and mail for ‘root’
  +
is redirected to a real user. This can be changed by editing /etc/aliases.
  +
Note that postmaster-mail should usually be read on the system it is
  +
directed to, rather than being forwarded elsewhere, so (at least one of)
  +
the users you choose should not redirect their mail off this machine.
  +
Which user account(s) should system administrator mail go to ?
  +
Enter one or more usernames separated by spaces or commas . Enter
  +
‘none’ if you want to leave this mail in ‘root’s mailbox - NB this
  +
is strongly discouraged. Also, note that usernames should be lowercase!
  +
Enter value (‘x’ to restart): fr
  +
Sie können hier einen Benutzernamen wählen (hier: fr), der eventuell auftretende Fehlermeldungen, die das
  +
System per Mail versendet, erhalten soll. Normalerweise erhalten die Benutzer root und postmaster diese Mails.
  +
==============================================================================
  +
You already have an /etc/aliases file. Do you want to replace this with
  +
a new one (the old one will be kept and renamed to aliases.O)? (y/n)
  +
Enter value (default=‘y’, ‘x’ to restart):
  +
328
  +
Kapitel 8. Internet
  +
In der Datei /etc/aliases können Sie eigene Abkürzungen systemweit definieren. eximconfig trägt dort
  +
den vorab gewählten Benutzer auch über einen Alias ein, so daß dieser die Fehlermails bekommt.
  +
Wenn Sie zum Beispiel möchten, daß der Benutzer fr mit der E-Mail Adresse fr@openoffice.de auch als
  +
frank.ronneburg (komplette Adresse: frank.ronneburg@openoffice.de, das ist nur ein Beispiel. Bitte
  +
keine Mails an diese Adresse schicken.) zu erreichen ist, tragen Sie folgendes in die Datei /etc/aliases ein:
  +
frank.ronneburg: fr
  +
The following configuration has been entered:
  +
==============================================================================
  +
Mail generated on this system will have ‘hoshi.openoffice.de’ used
  +
as the domain part (after the @) in the From: field and similar places.
  +
The following domain(s) will be recognised as referring to this system:
  +
localhost, hoshi.openoffice.de
  +
Mail for postmaster, root, etc. will be sent to fr.
  +
Local mail is delivered.
  +
Outbound remote mail is sent via mail.openoffice.de.
  +
Is this OK ? Hit Return or type ‘y’ to confirm it and install,
  +
or ‘n’ to make changes (in which case we’ll go round again, giving you
  +
your previous answers as defaults. (y/n) y
  +
Zum Abschluß nochmal eine Übersicht, bevor die Konfiguration geschrieben wird.
  +
Keeping previous /etc/exim.conf as /etc/exim.conf.O
  +
Keeping previous /etc/aliases as /etc/aliases.O
  +
Keeping previous /etc/mailname as /etc/mailname.O
  +
Configuration installed.
  +
Fertig. Nun können Sie versuchen, E-Mails zu verschicken. Bitte versuchen Sie zuerst, lokal auf Ihrem Rechner
  +
zwischen verschiedenen Benutzern Mails zu versenden. Wenn dies funktioniert, können Sie auch die
  +
Verbindung ins Netz testen.
  +
Zusätzlich kann noch für jeden Benutzer, der Mails nach draußen senden können soll, ein Eintrag in
  +
/etc/email-addresses gemacht werden. Dieser sorgt dafür, dass alle Vorkommen Ihrer lokalen Adresse in
  +
eine von Ihrem Mail-Provider akzeptierte Adresse umgesetzt werden. Die Einträge haben die Form user:
  +
mailuser@mailprovider, also z.B. root: matt.schmitt00@gmx.de.
  +
Viele Freemail-Provider verlangen, daß man zuerst seine Mails abruft, bevor man welche verschickt, siehe dazu
  +
auch fetchmail.
  +
Doch nun zu den eigentlichen Programmen, mit denen Sie Ihre E-Mails bearbeiten können.
  +
8.3.1. mutt
  +
mutt ist ein von Michael R. Elkins entwickelter MUA (Mail User Agent), welcher als Nachfolger des
  +
mittlerweile nicht mehr weiterentwickelten Programms elm gilt. mutt bietet alle nur denkbaren Funktionen und
  +
ist komplett konfigurierbar.
  +
mutt besitzt eine textbasierte Oberfläche, ist also nicht per Maus zu bedienen. Dies stellt aber kein Manko dar.
  +
Bedenken Sie, daß Sie E-Mails sowieso als Text verfassen, also die Maus nicht benötigen. Mit einigen wenigen
  +
Kommandos (und den Fingern auf der Tastatur...) läßt sich mutt sehr schnell und effizient bedienen. Das
  +
wichtigste Kommando ist am Anfang sicher der Druck auf die Taste ?, mit dieser rufen Sie die Hilfe von mutt
  +
329
  +
Kapitel 8. Internet
  +
auf. An dieser Stelle auch gleich der Hinweis: alle Veränderungen, die Sie an der Tastaturbelegung von mutt
  +
vornehmen, werden gleich in die Hilfe übernommen.
  +
Abbildung 8-23. mutt
  +
Wie schon erwähnt, ist mutt individuell konfigurierbar. Alle möglichen Optionen hier zu beschreiben würde zu
  +
weit führen. Schauen Sie auf die unten angeführten Webseiten von Sven Guckes und Felix von Leitner, dort
  +
finden Sie auch Konfigurationsdateien, die wirklich vorbildlich dokumentiert sind.
  +
Die meisten Benutzer werden sicher ihre Mail von einem POP3-Server ihres Providers beziehen. Die hierzu
  +
nötigen Einträge in der Datei .muttrc (in Ihrem Homeverzeichnis) sehen wie folgt aus:
  +
set pop_host=pop3.openoffice.de
  +
set pop_user=popname
  +
set pop_delete
  +
Sie müssen natürlich den Namen des Mailservers sowie Ihren Benutzernamen anpassen. Der Eintrag set
  +
pop_delete veranlaßt den POP-Server die empfangenen Mails auf dem Server zu löschen. Zu Testzwecken
  +
können Sie diesen Eintrag erst mal weglassen, Sie bekommen dann aber auch die bereits empfangenen Mail
  +
beim nächsten Mal erneut. Drücken Sie nun die Taste G, und mutt stellt die Verbindung zum Server her und
  +
überträgt Ihre Mails.
  +
Damit sollten Sie erst einmal in der Lage sein, Mails zu senden und zu empfangen.
  +
8.3.1.1. mutt und GnuPG
  +
Um Mail mit GnuPG zu signieren oder zu verschlüsseln, müssen Sie nur wenige Änderungen an Ihrer .muttrc
  +
vornehmen. Natürlich sollten Sie zuerst GnuPG installieren und ein Schlüsselpaar erzeugt haben. Die
  +
notwendigen Schritte sind im Abschnitt Verschlüsselung beschrieben.
  +
Hier nun noch einige Links zu Seiten im Web, auf denen Sie weitere Informationen zu mutt finden:
  +
http://www.mutt.org/ die eigentliche Hauptseite zu mutt.
  +
http://www.linux-magazin.de/ausgabe/1997/07/Mutt/mutt.html ein Artikel von Felix von Leitner im Linux
  +
Magazin.
  +
http://www.math.fu-berlin.de/~leitner/mutt/ die Seiten von Felix zu mutt
  +
http://www.math.fu-berlin.de/~guckes/mutt/ umfangreiche Sammlung von Sven Guckes
  +
330
  +
Kapitel 8. Internet
  +
8.3.1.2. Empfängerabhängige Signaturen
  +
mutt besitzt eine ganze Reihe nützlicher Funktionen, welche durch enstprechende Anpassungen verfügbar
  +
gemacht werden. Beispielsweise können Signaturen je nach Empfänger unterschiedlich gestaltet werden.
  +
Hierzu sind Anpassungen wie im folgenden beschrieben notwendig
  +
send-hook . set signature=~/.signature
  +
send-hook meier set signature=~/.signature-meier
  +
Dieses würde für den Empfänger „meier“ eine individuelle Signatur verwenden, alle anderen Emfänger müssen
  +
mit einer allgemeinen Signatur vorlieb nehmen.
  +
8.3.2. fetchmail
  +
fetchmail dient zum Empfangen und Weiterleiten von „Remote“-email über TCP/IP-Verbindungen (wie zum
  +
Beispiel SLIP oder PPP-Verbindungen). Es empfängt email vom Remote-Mail-Server und leitet diese an das
  +
lokale Mailsystem weiter, so daß Sie die Mails mit jedem normalen Mailprogramm (beispielsweise elm oder
  +
mutt) lesen und bearbeiten können.
  +
fetchmail unterstützt alle üblichen Mail-Empfangsprotokolle, die im Internet gebräuchlich sind: POP2, POP3
  +
(inklusive POP3 mit RFC1938 Einmalpasswörtern), RPOP, APOP, KPOP, Compuserve’s POP3 mit RPA,
  +
Microsoft’s NTLM, Daemon Internet’s SDPS, alle Varianten von IMAP (inklusive IMAP4rev1 mit RFC1731
  +
Kerberos v4 oder GSSAPI Authentifizierung oder CRAM-MD5 Authentifizierung) und ESMTP ETRN.
  +
Fetchmail unterstützt auch die „End-to-end“ Encryption mittels OpenSSL.
  +
Um fetchmail unter Debian GNU/Linux benutzen zu können, müssen Sie zunächst das eigentliche Paket
  +
installieren. Am einfachsten benutzen Sie hierzu das Kommando apt-get install fetchmail. Leider ist
  +
damit die Installation noch nicht ganz abgeschlossen, Sie müssen nun noch die Datei ~/.fetchmailrc
  +
erzeugen. Hierzu gibt es in der Dokumentation ein Script, welches die Konfiguration für Sie erledigen kann. Sie
  +
können dies als Superuser (root) aufrufen oder mit dem Kommando
  +
su -c "sh /usr/doc/fetchmail/contrib/fetchsetup"
  +
starten, auch hier werden Sie nach dem Paßwort für den Superuser gefragt.
  +
Hier ein Beispiel für eine Konfiguration mit dem normalen POP3-Protokoll:
  +
bash-2.04$ su -c "sh /usr/doc/fetchmail/contrib/fetchsetup"
  +
Password:
  +
# Fetchsetup is a shell script for creating a .fetchmailrc file,
  +
# that will be used by the program "fetchmail" to connect to your
  +
# mail domain and retrieve your mail.
  +
# This script is linux specific, so it may not work on another system.
  +
# Kent Robotti <krobot@erols.com> (3-31-99)
  +
Continue? (Y/n) :
  +
Remote mail site?: pop.boo.com <Your service providers mail domain name>
  +
Remote mail site?: mail.openoffice.de
  +
Protocol?: pop3 <My service provider uses the ’pop3’ mail protocol>
  +
Protocol?: auto <If not sure put: auto>
  +
Choices: apop auto etrn imap imap-gss imap-k4 kpop pop2 pop3 rpop sdps
  +
Protocol?: pop3
  +
Remote username?: jerry <My username or login is jerry>
  +
Remote username?: hoshi
  +
Remote password?: ? <What’s the password for?: hoshi>
  +
331
  +
Kapitel 8. Internet
  +
Remote password?: XXXXXXX
  +
Create /root/.fetchmailrc file? (Y/n) :
  +
This is your /root/.fetchmailrc file.
  +
poll "mail.openoffice.de"
  +
protocol pop3
  +
username "hoshi"
  +
password "aa"
  +
mda "/usr/bin/procmail -d %s"
  +
Fetchmail will retrieve your mail and put it in:
  +
/var/spool/mail/fr
  +
I put that (m)ail (d)elivery (a)gent in .fetchmailrc
  +
because i found it on your system, this doesn’t mean
  +
it’s correct or the one you want to use.
  +
The first time you run fetchmail, you should run it
  +
this way: # fetchmail -k
  +
Beachten Sie, das Paßwort bei der Eingabe angezeigt wird und auch im Klartext, also unverschlüsselt in der
  +
Datei gespeichert wird. Sorgen Sie dafür, daß die Zugriffsrechte so gesetzt sind, daß niemand anderes Ihr
  +
Paßwort aus der Datei lesen kann.
  +
Wenn Sie, wie hier gezeigt, eine Datei .fetchmailrc für einen normalen Benutzer anlegen wollen, müssen
  +
Sie diese später noch in das entsprechende Verzeichnis kopieren und mit den nötigen Zugriffsrechten versehen.
  +
Die so erzeugte Datei hat dann folgenden Inhalt:
  +
poll "mail.openoffice.de"
  +
protocol pop3
  +
username "hoshi"
  +
password "XXXXXX"
  +
mda "/usr/bin/procmail -d %s"
  +
Der Aufbau ist sehr einfach und Sie können sich auch sehr schnell eine solche Datei mit einem Texteditor selber
  +
erzeugen, ohne das Konfigurationsprogramm zu Hilfe zu nehmen. Neben den Einträgen für den Mailserver
  +
(poll), das Protokoll (protocol), den Benutzernamen (username) und dem Paßwort (password) findet sich am
  +
Ende der Datei der Eintrag mda. Dieser stellt den Pfad und das Kommando mit weiteren Parametern dar, wie der
  +
zu verwendende Mail Delivery Agent (MDA) aufgerufen werden soll. In diesem Beispiel wird das Programm
  +
procmail benutzt welches Ihnen viele weitere Möglichkeiten bietet, Mails vor dem Lesen bzw. vor der
  +
Auslieferung in eine Mailbox zu bearbeiten.
  +
Wenn Sie procmail nicht installiert haben, wird fetchmail beispielsweise smail, sendmail oder exim
  +
direkt verwenden.
  +
Wenn Sie die erste Konfiguration von fetchmail abgeschlossen haben, können Sie als ersten Versuch das
  +
Kommando fetchmail -k aufrufen. Es wird damit versucht, alle Mails vom angegebenen Mailserver
  +
abzuholen und in die lokale Mailbox zu kopieren. Die Mails werden durch die Option -k nicht vom Server
  +
gelöscht, dies sollten Sie bei Ihren ersten Versuchen auch so belassen.
  +
fetchmail verfügt über eine ganze Reihe weiterer Optionen und wie jedes gute GNU-Programm können Sie
  +
mit dem Parameter --h etwas mehr über diese Optionen erfahren:
  +
usage: fetchmail [options] [server ...]
  +
Options are as follows:
  +
-?, --help display this option help
  +
-V, --version display version info
  +
-c, --check check for messages without fetching
  +
-s, --silent work silently
  +
-v, --verbose work noisily (diagnostic output)
  +
-d, --daemon run as a daemon once per n seconds
  +
-N, --nodetach don’t detach daemon process
  +
332
  +
Kapitel 8. Internet
  +
-q, --quit kill daemon process
  +
-L, --logfile specify logfile name
  +
--syslog use syslog(3) for most messages when running as a daemon
  +
--invisible don’t write Received & enable host spoofing
  +
-f, --fetchmailrc specify alternate run control file
  +
-i, --idfile specify alternate UIDs file
  +
--postmaster specify recipient of last resort
  +
--nobounce redirect bounces from user to postmaster.
  +
-I, --interface interface required specification
  +
-M, --monitor monitor interface for activity
  +
--plugin specify external command to open connection
  +
--plugout specify external command to open smtp connection
  +
-p, --protocol specify retrieval protocol (see man page)
  +
-U, --uidl force the use of UIDLs (pop3 only)
  +
-P, --port TCP/IP service port to connect to
  +
--preauth preauthentication type (password/kerberos/ssh)
  +
-t, --timeout server nonresponse timeout
  +
-E, --envelope envelope address header
  +
-Q, --qvirtual prefix to remove from local user id
  +
-u, --username specify users’s login on server
  +
-a, --all retrieve old and new messages
  +
-K, --nokeep delete new messages after retrieval
  +
-k, --keep save new messages after retrieval
  +
-F, --flush delete old messages from server
  +
-n, --norewrite don’t rewrite header addresses
  +
-l, --limit don’t fetch messages over given size
  +
-w, --warnings interval between warning mail notification
  +
-S, --smtphost set SMTP forwarding host
  +
-D, --smtpaddress set SMTP delivery domain to use
  +
-Z, --antispam, set antispam response values
  +
-b, --batchlimit set batch limit for SMTP connections
  +
-B, --fetchlimit set fetch limit for server connections
  +
-e, --expunge set max deletions between expunges
  +
-m, --mda set MDA to use for forwarding
  +
--bsmtp set output BSMTP file
  +
--lmtp use LMTP (RFC2033) for delivery
  +
-r, --folder specify remote folder name
  +
Wenn Sie Parameter, beim Start von fetchmail auf der Kommandozeile, angeben, so werden diese die Werte,
  +
die in der Konfigurationsdatei stehen, überschreiben. Sie können auf der Kommandozeile mehrere verschiedene
  +
Server angeben, von denen versucht werden soll, Mails abzuholen, ebenso können Sie in der
  +
Konfigurationsdatei mehrere Einträge haben, die solche Server beschreiben.
  +
8.3.2.1. Konfiguration
  +
Allgemeine Optionen
  +
-V *-version
  +
Zeigt die Versionsinformationen zur installierten fetchmail-Version, sowie zur Version des Linux
  +
Kernels an. Es werden nur Informationen angezeigt und keinerlei Mails übertragen. Statt dessen werden,
  +
für jeden in der Konfiguration angegebenen Server, alle Konfigurationsoptionen angezeigt. Hier ein
  +
Beispiel für eine solche Konfiguration:
  +
bash-2.04$ fetchmail -V
  +
This is fetchmail release 5.3.4+NTLM+SDPS+NLS
  +
Linux sushi 2.3.47 #2 Wed Feb 23 16:32:17 CET 2000 i686 unknown
  +
Taking options from command line and /home/fr/.fetchmailrc
  +
Idfile is /home/fr/.fetchids
  +
Fetchmail will forward misaddressed multidrop messages to fr.
  +
Options for retrieving from hoshi@mail.openoffice.de:
  +
True name of server is mail.openoffice.de
  +
333
  +
Kapitel 8. Internet
  +
Protocol is POP3.
  +
Server nonresponse timeout is 300 seconds (default).
  +
Default mailbox selected.
  +
Only new messages will be retrieved (*-all off).
  +
Fetched messages will not be kept on the server (*-keep off).
  +
Old messages will not be flushed before message retrieval (*-flush off).
  +
Rewrite of server-local addresses is enabled (*-norewrite off).
  +
Carriage-return stripping is enabled (stripcr on).
  +
Carriage-return forcing is disabled (forcecr off).
  +
Interpretation of Content-Transfer-Encoding is enabled (pass8bits off).
  +
MIME decoding is disabled (mimedecode off).
  +
Idle after poll is disabled (idle off).
  +
Nonempty Status lines will be kept (dropstatus off)
  +
Messages will be delivered with "/usr/bin/procmail -d %s".
  +
Recognized listener spam block responses are: 571 550 501 554
  +
Single-drop mode: 1 local name(s) recognized.
  +
No UIDs saved from this host.
  +
Diese Option ist bei der Fehlersuche in einer Konfiguration sehr hilfreich.
  +
-c *-check
  +
Gibt einen Statuscode zurück, aus dem ersichtlich ist, ob auf dem Server Mail zum Abholen bereitliegt
  +
oder nicht, auch hierbei werden keine Daten übertragen oder auf dem Server gelöscht. Diese Option
  +
deaktiviert den „Daemon“ Modus. Weiterhin arbeitet diese Option nicht mit dem ETRN Protokoll (RFC
  +
1985) zusammen und ist etwas problematisch im Zusammenhang mit mehreren Sites. Der Statuswert ist
  +
negativ, wenn Sie gelesene aber nicht gelöschte Mail in der Mailbox auf dem Server zurücklassen und das
  +
verwendete Protokoll bereits gelesene von neuen Nachrichten nicht unterscheiden kann. Diese Option
  +
funktioniert sehr gut mit IMAP, mit den meisten POP3 Servern und funktioniert nicht mit POP2.
  +
-s *-silent
  +
Unterdrückt alle Informationen über den Status oder den Fortschritt bei der Verarbeitung von Nachrichten,
  +
diese Meldungen werden normalerweise auf der Standardausgabe für Fehlermeldungen ausgegeben.
  +
Fehlermeldungen werden aber weiterhin dorthin ausgegeben. Mit der Option *-verbose können Sie diese
  +
Option überschreiben.
  +
-v *-verbose
  +
Mit dieser Option werden alle Kontrollnachrichten, die zwischen fetchmail und dem Mailserver
  +
ausgetauscht werden, auf der Standardfehlerausgabe ausgegeben. Diese Option überschreibt die Option
  +
*-silent. Wenn Sie diese Option doppelt (als -v -v) angeben, werden datailliertere Informationen
  +
ausgegeben.
  +
Übergabe Optionen
  +
-a *-all
  +
(Schlüsselwort: all) Holt sowohl alte (bereits gelesene) sowie neue Nachrichten vom Server.
  +
Normalerweise werden nur neue, also ungelesene Nachrichten übertragen. Wenn POP3 als Protokoll
  +
verwendet wird, benutzt fetchmail das Kommando RETR statt TOP. POP2 verhält sich immer so, als ob
  +
diese Option aktviert ist, bei ETRN funktioniert diese Option nicht.
  +
-k *-keep
  +
(Schlüsselwort: keep) Normalerweise werden übertragene Nachrichten auf dem Mailserver gelöscht, so
  +
daß diese beim nächsten Mal nicht nocheinmal übertragen werden. Diese Option belässt die übertragenen
  +
Mails auf dem Server. Diese Option funktioniert nicht mit ETRN.
  +
334
  +
Kapitel 8. Internet
  +
-K *-nokeep
  +
(Schlüsselwort: nokeep) Diese Option löscht die übertragenen Mails auf dem Server, dies ist auch die
  +
Standardeinstellung. Sie können diese Option auf der Kommandozeile angeben, falls Sie in der
  +
Konfiguration die Option -k angegeben haben.
  +
-F *-flush
  +
Diese Option funktioniert nur mit dem Protokollen POP3 oder IMAP. Alte Mails, die bereits übertragen
  +
wurden, werden auf dem Server gelöscht, bevor neue Nachrichten übertragen werden. Diese Option
  +
funktioniert nicht mit dem Protokoll ETRN. Bitte beachten Sie: Wenn Ihr Mailprogramm während der
  +
Übertragung abstürzt und fetchmail abgebrochen wird, werden beim nächsten Aufruf von fetchmail
  +
auch Nachrichten gelöscht, die Sie noch nie zu Gesicht bekommen haben. Normalerweise sollten Sie
  +
besser die Option -k benutzen, hierbei werden die Mails nach der erfolgreichen Übertragung gelöscht.
  +
Protokoll und Abfrage Optionen
  +
-p *-protocol
  +
(Schlüsselwort: proto[col]) Mit dieser Option können Sie das gewünschte Protokoll zur Kommunikation
  +
mit dem Mailserver angeben. Wenn kein Protokoll vorgegeben wird, wird der Wert AUTO verwendet. Sie
  +
können diese Option mit den folgenden Werten belegen:
  +
AUTO - probiert die Protokolle IMAP, POP3 und POP2. Nicht verfügbare Protokolle werden übersprungen.
  +
SDPS - Benutzt das POP3 Protokoll mit den „Daemon Internet’s“ SDPS Erweiterungen.
  +
-U *-uidl
  +
(Schlüsselwort: uidl) Benutzt bei der Verwendung von POP3 die UIDL (unique ID listing, beschrieben im
  +
RFC 1725). Die Überprüfung auf neue Nachrichten wird auf der Seite des Clients vorgenommen.
  +
Zusammen mit der Option -k läßt sich über eine Mailbox ein Verteiler für eine Gruppe von Benutzern
  +
realisieren.
  +
-P *-port
  +
(Schlüsselwort: port) Hiermit können Sie eine vom Standard abweichende Portnummer für das verwendete
  +
Protokoll angeben.
  +
-t *-timeout <Sekunden>
  +
(Schlüsselwort: timeout) - Hiermit können Sie eine Zeit bestimmen, die fetchmail auf eine Antwort vom
  +
Server warten soll.
  +
*-plugin <Komando>
  +
(Schlüsselwort: plugin) - Sie können ein externes Programm verwenden um eine TCP Verbindung
  +
aufzubauen. Dies kann bei der Verwendung eines Firewalls sinnvoll sein. Dem Programm werden die
  +
beiden Parameter Servername und Portnummer übergeben, fetchmail schreibt und ließt von der
  +
Standardein- und ausgabe des PlugIns.
  +
Wenn Sie mit den Einstellungen zufrieden sind, können Sie den Aufruf von fetchmail in die Scripte
  +
einbauen, die auf Ihrem System die TCP/IP-Verbindung zu Ihrem Provider aufbauen. Leider sind die Scripte
  +
ip-up und ip-down unter Debian noch nicht so weit vereinheitlicht, daß das Installationsprogramm von
  +
fetchmail dies für Sie erledigen könnte, so daß an dieser Stelle wieder Handarbeit angesagt ist. Sie finden
  +
unter /usr/doc/fetchmail die Scripte fetchmail-up und fetchmail-down als Beispiele. Sie sollten das
  +
Script fetchmail-up an eine Stelle in das Script /etc/init.d/ip-up einbauen, an der die IP-Verbindung
  +
bereits aufgebaut wurde, so daß automatisch alle Mails abgeholt werden, nachdem Sie die Verbindung
  +
hergestellt haben. Entsprechend sollten Sie das Script fetchmail-down vor dem Abbau der Verbindung
  +
einbauen, so daß nochmal schnell neue Mails abgeholt werden.
  +
335
  +
Kapitel 8. Internet
  +
8.3.3. Netscape Mail
  +
Wenn Sie auf eine grafische Oberfläche zur Bearbeitung Ihrer E-Mail Wert legen, sollten Sie einen Blick auf
  +
den „Messenger“ werfen. Dieser vereint die Funktionen eines Mail- und Newsreaders in einem Programm. Sie
  +
können diesen Programmteil aus der Menüleiste des Browsers, unter „Communicator“ – „Messenger“, starten.
  +
Wenn Sie das Programm aus der Kommandozeile starten, können Sie die Option -mail oder -messenger
  +
angeben, dies öffnet direkt das entsprechende Fenster (und nur dieses).
  +
Abbildung 8-24. Netscape - Mail
  +
Wenn Sie das Programm zum ersten Mal starten, sind natürlich noch keine privaten Mails in Ihrem Mailfolder
  +
enthalten, Sie finden lediglich eine Begrüßungsmail vor. Um Mail zu empfangen, sind zunächst einige
  +
Einstellungen vorzunehmen. Vorbedingung, damit Sie Ihre E-Mail vom Server Ihres Providers abholen können,
  +
ist natürlich eine funktionierende Verbindung per Modem, ISDN oder Netzwerk. Die nötigen Einstellungen
  +
können Sie in folgendem Fenster vornehmen, welches Sie über das Menü „Edit“ – „Preferences...“ erreichen
  +
können.
  +
336
  +
Kapitel 8. Internet
  +
Abbildung 8-25. Netscape - Mail/Einstellungen
  +
„Klappen“ Sie zunächst das Untermenü „Mail & Newsgroups“ durch einen Mausklick auseinander und wählen
  +
Sie zunächst den Eintrag „Identity“. Geben Sie hier Ihren eigenen Vor- und Nachnamen ein. In das zweite Feld
  +
tragen Sie Ihre E-Mail Adresse ein. Wenn Sie sich bei diesem Wert nicht sicher sind, fragen Sie Ihren Provider.
  +
Benutzen Sie in keinem Fall die hier angegebenen Werte oder irgendwelche anderen Namen von Personen, Sie
  +
machen sich damit keine Freunde im Netz!
  +
In das Feld „Reply-to address“ können Sie eine von der Absenderadresse abweichende Adresse angeben, zu
  +
dieser werden dann die Antworten auf Ihre Mail geschickt. Normalerweise werden Sie dieses Feld freilassen.
  +
Auch das Feld „Organization“ können Sie freilassen oder mit dem Namen Ihrer Firma ausfüllen.
  +
In das Feld „Signature File“ können Sie den Pfad und Dateinamen zu einer Datei eintragen, die automatisch an
  +
jede von Ihnen verschickte Mail angehängt wird. Beachten Sie bitte, daß diese Datei vier Zeilen nicht
  +
übersteigen sollte. Üblicherweise wird hierfür der Dateiname .signature in Ihrem Home-Verzeichnis
  +
verwendet.
  +
337
  +
Kapitel 8. Internet
  +
Abbildung 8-26. Netscape - Mail/Einstellungen
  +
Klicken Sie nun auf den nächste Eintrag „Mail Servers“. Hier müssen Sie zwei Server eintragen, einen für die
  +
ankommenden und einen für die abgehenden Mails. Die meisten Provider unterstützen das Protokoll POP3, mit
  +
dem Sie Ihre Mails empfangen können. Üblich ist es hier, daß auch der entsprechende Server bei Ihrem
  +
Provider den Namen „pop3.provider.de“ bekommt, klären Sie dies im Zweifelsfall mit Ihrem Provider. Über die
  +
Schaltfläche „Add“ können Sie einen Server in die Liste eintragen. Tragen Sie im folgenden Fenster den Server
  +
Ihres Providers ein, für die ersten Versuche sollten Sie die Option „Leave messages on server“ aktivieren, Sie
  +
finden diese unter der Karteikarte „POP“. Dies verhindert, daß die Mails nach der Übertragung vom Server
  +
gelöscht werden.
  +
Für die von Ihnen geschriebenen, ausgehenden Mails tragen Sie in das Feld „Outgoing Mail (SMTP) Server“
  +
den Namen des entsprechenden Servers bei Ihrem Provider ein. Übliche Namen sind hier „mail.provider.de“
  +
oder auch „smtp.provider.de“.
  +
Wenn Sie alle Einstellungen vorgenommen haben, klicken Sie auf „OK“ und klicken Sie danach auf die
  +
Schaltfläche „Get Msg“ oben links im Fenster. Nun sollten die Mails übertragen werden.
  +
8.3.4. Evolution
  +
In vielen Firmen aber auch im privaten Bereich wird Outlook zur Kommunikation,
  +
Terminplanung/-koordination, Adressverwaltung usw. eingesetzt. Die Verbindung dieser zentralen Funktionen
  +
innerhalb eines Programmes hat dieser Software zu einer weiten Verbreitung verholfen. Die Firma Ximian hat
  +
mit dem auf Gnome aufsetzenden Evolution eine Software geschaffen die nicht nur von der Funktionalität
  +
sondern auch vom Aussehen her an MS-Outlook angelehnt ist. Dies erleichtert den Umstieg auf Linux am
  +
Desktop.
  +
338
  +
Kapitel 8. Internet
  +
Abbildung 8-27. Evolution - Startbild
  +
Beim ersten Start von Evolution können bestehende Daten, beispielsweise Mails oder Adressen, übernommen
  +
werden. Ein Assistent führt durch diesen Vorgang.
  +
Abbildung 8-28. Evolution - Willkommen
  +
339
  +
Kapitel 8. Internet
  +
Hier muss zunächst der Vor- und Nachname sowie die E-Mail Adresse angegeben werden. Es gehört zum guten
  +
Ton im Netz den tatsächlichen Vor- und Nachnamen anzugeben.
  +
Abbildung 8-29. Evolution - Identität
  +
Die Einlieferung von E-Mails kann auf verschiedensten Wegen erfolgen. Wenn die E-Mail direkt vom Server
  +
des Providers geholt wird, so wird dies meist über eines der Protokolle POP oder IMAP erfolgen. Wenn die
  +
Mails über ein externes Programm, wie beispielsweise fetchmail, abgeholt werden, so kann auch auf die
  +
lokal vorliegenden Dateien zugegriffen werden.
  +
340
  +
Kapitel 8. Internet
  +
Abbildung 8-30. Evolution - Erhalten von E-Mail
  +
Hier kann die Pause zwischen den Überprüfungen nach neuer E-Mail eingestellt werden.
  +
Abbildung 8-31. Evolution - Erhalten von E-Mail
  +
341
  +
Kapitel 8. Internet
  +
Um E-Mails zu versenden muss an dieser Stelle ein Mailserver konfiguriert werden. Die notwendigen Daten
  +
erhalten Sie von Ihrem Provider.
  +
Abbildung 8-32. Evolution - Verschicken von E-Mails
  +
Evolution kann verschiedene Zugänge zu mehreren Providern verwalten. Die eben erstellte Konfiguration kann
  +
zum Standardzugang gemacht werden.
  +
342
  +
Kapitel 8. Internet
  +
Abbildung 8-33. Evolution - Zugangsverwaltung
  +
Stellen Sie hier die Zeitzone ein. Ein Mausklick auf die Karte vergrößert den entsprechenden Ausschnitt.
  +
343
  +
Kapitel 8. Internet
  +
Abbildung 8-34. Evolution - Zeitzone
  +
Wenn bereits andere Programmme zum Empfang von E-Mail verwendet wurden, so können hier die
  +
vorhandenen Daten importiert werden.
  +
344
  +
Kapitel 8. Internet
  +
Abbildung 8-35. Evolution - Import von Daten
  +
Wenn alle Daten erfolgreich eingegeben wurden, so wird Evolution gestartet.
  +
345
  +
Kapitel 8. Internet
  +
Abbildung 8-36. Evolution - Fertig
  +
Neben der Menüleiste am oberen Bildschirmrand finden sich innerhalb des Fensters von Evolution auf der
  +
linken Seite einige Symbole zum direkten Zugriff auf die einzelnen Komponenten von Evolution.
  +
Hier ist zunächst eine Zusammenfassung zu finden, in dieser ist eine Zusammenstellung der wichtigsten
  +
Informationen (Anzahl neuer Mails, aktuelle Termine und Aufgaben, Wetter, News...) zu sehen. Auch hier kann
  +
wieder direkt durch Mausklick auf die Komponenten zugegriffen werden.
  +
346
  +
Kapitel 8. Internet
  +
Abbildung 8-37. Evolution - Übersicht
  +
Die E-Mail Komponente bietet ein geteiltes Fenster, im oberen Bereich ist eine Liste der eingegangenen Mails
  +
zu sehen, darunter der Inhalt der ausgewählten Mail. Evolution kann mit Anhängen an E-Mails umgehen, diese
  +
werden am Ende der Mail angezeigt und können einzeln „ausgeklappt“ werden. Weiterhin können Mails nicht
  +
nur beantwortet sondern auch weitergeleitet werden. Es können verschiedene Ordner angelegt werden um
  +
gelesene Mail dort einzusortieren. Über einfach zu definierende Filter, diese können auch automatisch anhand
  +
einer E-Mail erzeugt werden, kann eine bessere Übersicht bei hohem Mailaufkommen erreicht werden.
  +
Evolution besitzt die Fähigkeit Mails in sogenannten „Threads“ darzustellen. E-Mail Verschlüsselung mittels
  +
PGP oder GnuPG wird ebenfalls unterstützt.
  +
347
  +
Kapitel 8. Internet
  +
Abbildung 8-38. Evolution - E-Mail
  +
Die Kalenderfunktion bietet verschiedene Ansichten wie „Tag“, „Arbeitswoche“ (Montag-Freitag), „Woche“
  +
und „Monat“. Ein Doppelklick auf eine Zeit im Kalender öffnet ein neues Fenster in dem ein neuer Termin
  +
definiert werden kann.
  +
Abbildung 8-39. Evolution - Kalender
  +
348
  +
Kapitel 8. Internet
  +
8.4. Dateitransfer
  +
8.4.1. ftp
  +
Um Dateien zwischen verschiedenen Rechnern kopieren zu können, wurde das Protokoll ftp (File Transfer
  +
Protocol) geschaffen. Um die Sache nicht unnötig zu verkomplizieren, wurde auch das Kommando für diese Art
  +
der Datenübertragung ftp genannt. Sicher kennen Sie schon die Funktion des Downloads von Dateien über
  +
einen Webbrowser. Häufig zeigen solche Links auf Webseiten auch direkt auf sogenannte FTP-Server.
  +
Unter Debian GNU/Linux können Sie in einer Shell Dateien von einem FTP-Server auf Ihren Rechner kopieren.
  +
Das Kommando ftp ist nicht sehr komfortabel, erfüllt aber seinen Zweck. Alternativ können Sie auch das
  +
Programm ncftp installieren, welches einige Arbeitsschritte vereinfacht.
  +
Hier eine kleine Beispielsitzung mit dem Programm ftp, wir besorgen uns den neuesten Kernel-Patch:
  +
fr@debian:~$ ftp ftp.kernel.org
  +
Connected to zeus.kernel.org.
  +
220 ProFTPD 1.2.0pre10 Server (ProFTPD) [zeus.kernel.org]
  +
Name (ftp.kernel.org:fr): ftp
  +
331 Anonymous login ok, send your complete e-mail address as password.
  +
Password:
  +
230- Welcome to the
  +
LINUX KERNEL ARCHIVES
  +
ftp.kernel.org
  +
"Much more than just kernels"
  +
IF YOU’RE ACCESSING THIS SITE VIA A WEB BROWSER
  +
PLEASE USE THE HTTP URL BELOW INSTEAD!
  +
...
  +
Starten Sie das Programm ftp und geben Sie gleich dahinter den Namen des Servers an, von dem Sie die Datei
  +
kopieren möchten. Alternativ können Sie auch zuerst das Programm ohne Servernamen starten und danach mit
  +
dem Befehl open ftp.kernel.org die Verbindung herstellen. Nach kurzer Zeit sollten Sie nach einem
  +
Loginnamen gefragt werden. Wenn Sie auf dem Zielrechner über einen eigenen Zugang verfügen und eine
  +
Datei aus einem nicht öffentlichen Bereich kopieren möchten, geben Sie hier Ihren Benutzernamen und danach
  +
Ihr Paßwort an. Achtung: Bedenken Sie, daß das FTP-Protokoll keinerlei Verschlüsselung von Daten vornimmt!
  +
Ihr Benutzername und vor allem auch das Paßwort werden im Klartext übertragen und können unter Umständen
  +
von einem Angreifer (Hacker) mitgelesen werden. Wenn Sie Daten aus nicht-öffentlichen Bereichen kopieren
  +
möchten, verwenden Sie besser das Kommando scp (Secure Copy) aus dem Paket ssh.
  +
Bei einem Zugriff auf einen öffentlichen (public) FTP-Server können Sie immer den Benutzernamen „ftp“ oder
  +
„anonymous“ sowie als Paßwort Ihre eigene E-Mail-Adresse verwenden.
  +
Nach erfolgreichem Login, erhalten Sie die Meldung, daß es sich bei dem entfernten Rechner um ein
  +
Unix-System handelt und daß der Übertragungsmodus auf binäre Übertragung gesetzt wurde. Eine Übertragung
  +
von Dateien im Textmodus (ASCII) ist nur in den seltensten Fällen sinnvoll, Sie können auch Textdateien
  +
problemlos im Binärmodus übertragen.
  +
Sie können nun viele der normalen Kommandos, die Sie bereits aus der normalen Unix-Shell kennen,
  +
verwenden:
  +
ftp> ls
  +
349
  +
Kapitel 8. Internet
  +
200 PORT command successful.
  +
150 Opening ASCII mode data connection for file list.
  +
lrwxrwxrwx 1 hpa ftpadmin 18 Nov 5 1999 debian -> pub/mirrors/debian
  +
lrwxrwxrwx 1 hpa ftpadmin 21 Nov 9 1999 debian-cd -> pub/mirrors/debian-cd
  +
dr-xr-x--- 2 mirrors ftpadmin 4096 Oct 12 1999 for_mirrors_only
  +
drwxr-xr-x 7 korg korg 4096 Aug 11 10:19 pub
  +
lrwxrwxrwx 1 hpa ftpadmin 18 Nov 8 1999 redhat -> pub/mirrors/redhat
  +
lrwxrwxrwx 1 root root 10 Oct 28 1999 welcome.msg -> pub/README
  +
226 Transfer complete.
  +
ftp> cd /pub/linux/kernel
  +
250 CWD command successful.
  +
ftp> ls
  +
200 PORT command successful.
  +
150 Opening ASCII mode data connection for file list.
  +
-r--r--r-- 1 korg korg 18458 Mar 12 1994 COPYING
  +
-r--r--r-- 1 korg korg 36981 Sep 16 1996 CREDITS
  +
drwxr-xr-x 4 korg korg 4096 Oct 5 1999 Historic
  +
-r--r--r-- 1 korg korg 12056 Sep 16 1996 README
  +
drwxr-xr-x 2 korg korg 4096 Apr 14 11:55 SillySounds
  +
drwxr-xr-x 4 korg korg 4096 Jul 10 02:34 crypto
  +
drwxr-xr-x 18 korg korg 4096 Aug 7 08:04 people
  +
drwxr-xr-x 4 korg korg 4096 Mar 7 10:38 ports
  +
drwxr-xr-x 3 korg korg 12288 Aug 17 23:40 testing
  +
drwxr-xr-x 2 korg korg 4096 Oct 5 1999 v1.0
  +
drwxr-xr-x 2 korg korg 16384 Oct 5 1999 v1.1
  +
drwxr-xr-x 2 korg korg 4096 Oct 5 1999 v1.2
  +
drwxr-xr-x 2 korg korg 28672 Oct 5 1999 v1.3
  +
drwxr-xr-x 2 korg korg 12288 Oct 5 1999 v2.0
  +
drwxr-xr-x 2 korg korg 36864 Oct 5 1999 v2.1
  +
drwxr-xr-x 2 korg korg 4096 Jun 28 10:52 v2.2
  +
drwxr-xr-x 2 korg korg 16384 May 23 15:51 v2.3
  +
drwxr-xr-x 2 korg korg 4096 Aug 9 19:26 v2.4
  +
226 Transfer complete.
  +
ftp> cd v2.4
  +
250 CWD command successful.
  +
Wie Sie sehen funktionieren die Kommandos ls und cd wie gewohnt. Natürlich können Sie beim Kommando
  +
ls auch Wildcards verwenden:
  +
ftp> ls L*
  +
200 PORT command successful.
  +
150 Opening ASCII mode data connection for file list.
  +
-rw-r--r-- 1 korg korg 0 Aug 9 19:16 LATEST-IS-2.4.0-test6
  +
ftp> ls *test6*
  +
200 PORT command successful.
  +
150 Opening ASCII mode data connection for file list.
  +
-rw-r--r-- 1 korg korg 0 Aug 9 19:16 LATEST-IS-2.4.0-test6
  +
-rw-r--r-- 1 korg korg 18106527 Aug 9 19:16 linux-2.4.0-test6.tar.bz2
  +
-rw-r--r-- 1 korg korg 248 Aug 9 19:16 linux-2.4.0-test6.tar.bz2.sign
  +
-rw-r--r-- 1 korg korg 22299559 Aug 9 19:16 linux-2.4.0-test6.tar.gz
  +
-rw-r--r-- 1 korg korg 248 Aug 9 19:16 linux-2.4.0-test6.tar.gz.sign
  +
-rw-r--r-- 1 korg korg 450477 Aug 9 19:16 patch-2.4.0-test6.bz2
  +
-rw-r--r-- 1 korg korg 248 Aug 9 19:16 patch-2.4.0-test6.bz2.sign
  +
-rw-r--r-- 1 korg korg 537149 Aug 9 19:16 patch-2.4.0-test6.gz
  +
-rw-r--r-- 1 korg korg 248 Aug 9 19:16 patch-2.4.0-test6.gz.sign
  +
226 Transfer complete.
  +
ftp> hash
  +
Hash mark printing on (1024 bytes/hash mark).
  +
ftp> get patch-2.4.0-test6.bz2
  +
local: patch-2.4.0-test6.bz2 remote: patch-2.4.0-test6.bz2
  +
200 PORT command successful.
  +
150 Opening BINARY mode data connection for patch-2.4.0-test6.bz2 (450477 bytes).
  +
#########
  +
...
  +
350
  +
Kapitel 8. Internet
  +
Hier finden wir gleich mehrere neue Kommandos: hash schaltet die Anzeige des Übertragungsfortschrittes ein,
  +
für 1024 Byte wird ein Zeichen „#“ gesetzt. Wenn Sie nun die Datei patch-2.4.0-test6.bz2 auf Ihren
  +
Rechner übertragen wollen, benutzen Sie hierzu das Kommando get mit dem gewünschten Dateinamen. Wenn
  +
Sie mehrere Dateien nacheinander übertragen wollen, können Sie das Kommando mget verwenden, hierbei
  +
können Sie Wildcards verwenden.
  +
Natürlich können Sie auch Dateien von Ihrem Rechner zu einem entfernten Rechner übertragen, hierzu dient
  +
das Kommando put beziehungsweise mput. Beachten Sie hierbei, daß Sie normalerweise nicht in jedes
  +
beliebige Verzeichnis auf einem FTP-Server schreiben dürfen. Eine Übertragung von Dateien auf einen Server
  +
setzt immer die passenden Zugriffsrechte voraus.
  +
Wenn Sie ein wenig mit dem „klassischem“ FTP gearbeitet haben, werden Sie bemerken, daß es nicht sehr
  +
komfortabel zu handhaben ist, hier kommt als textbasierte Alternative das Programm ncftp oder eine grafische
  +
Variante ins Spiel.
  +
8.4.2. ncftp
  +
Das Paket ncftp ist ein sehr leistungsfähiger Ersatz für das ursprüngliche Programm ftp und besteht neben
  +
dem eigentlichen Programm zur Datenübertragung (ncftp) noch aus den Programmen: ncftpget, ncftpput
  +
und ncftpls sowie ncftpbookmark (zur Verwaltung von Lesezeichen) und ncftpbatch (um größere
  +
Downloads zu organisieren).
  +
8.4.2.1. ncftp
  +
Natürlich verfügt ncftp über alle Funktionen, die Sie von ftp kennen. Sehr praktisch ist, daß Sie, wie Sie es
  +
aus der Standard-Debian GNU/Linux-Shell kennen, Dateinamen mit der TAB-Taste vervollständigen können
  +
und Kommandos noch einmal über die Cursortasten aufrufen und verändern können.
  +
Wenn ncftp gestartet ist, erhalten Sie mit dem Kommando help eine Übersicht der Kommandos. Geben Sie
  +
hinter dem Kommando help an, zu welchem Kommando Sie eine Hilfe wünschen. Das Kommando help
  +
showall zeigt noch einige weitere Kommandos.
  +
8.4.2.2. ncftpput / ncftpget
  +
Diese beiden Kommandos sind eine Schnittstelle zu ncftp und können über Scripte gesteuert werden.
  +
8.4.2.3. ncftpls
  +
Mit diesem Programm können Sie sich den Inhalt eines FTP-Servers ansehen, ohne ein interaktives Programm
  +
starten zu müssen.
  +
8.4.3. gFTP
  +
Eine sehr leistungsfähige Alternative zu der Kommandozeilen-Version des Programms ftp stellt das Programm
  +
gFTP dar. Sie müssen sich hierbei nicht um die diversen Kommandos kümmern und können, ähnlich wie bei
  +
einem Dateimanager, Dateien oder Verzeichnisse kopieren.
  +
351
  +
Kapitel 8. Internet
  +
Abbildung 8-40. GNOME FTP
  +
gFTP ist so programmiert, daß Sie mehrere FTP-Verbindungen gleichzeitig öffnen können (multithreaded) und
  +
somit nicht warten müssen, bis ein Download beendet ist, um einen weiteren zu beginnen. Praktisch ist auch,
  +
daß Sie Dateien von FTP- oder HTTP-Servern (Webserver) downloaden können. gFTP unterstützt weiterhin den
  +
Download von kompletten Verzeichnissen, und abgebrochene Downloads können fortgesetzt werden.
  +
Weitere Funktionen von gFTP sind:
  +
• Lesezeichen zum schnellen Zugriff auf Server
  +
• „Caching“ von Verzeichnissen
  +
• „Drag & Drop“-Unterstützung
  +
• Verbindung auch per Kommandozeile: gftp user:pass@ftp-site:port/directory
  +
• Ansehen und Verändern von Dateien auf dem Server
  +
• Oberfläche in vielen Sprachen, auch deutsch
  +
8.5. Eigene Homepage
  +
Viele Provider bieten Ihren Kunden einige Megabyte Festplattenplatz für die eigene Homepage an. Das im
  +
WWW (World Wide Web) verwendete Format für diese Seiten nennt sich HTML (Hypertext Markup
  +
Language). Die Namen der Dateien enden üblicherweise auf .html und können mit jedem beliebigen
  +
Texteditor erzeugt werden.
  +
Es schadet nichts, wenn Sie sich mit der Syntax von HTML-Dateien beschäftigen, eine erstklassige Referenz
  +
finden Sie unter: http://www.teamone.de/selfaktuell/ , die Dokumentation ist aber auch als Debian-Paket
  +
(selfhtml) verfügbar.
  +
Wenn Sie sich nicht so sehr für die Internas des HTML-Standards interessieren, können Sie auch einen der
  +
nachfolgend bechriebenen HTML-Editoren verwenden.
  +
352
  +
Kapitel 8. Internet
  +
8.5.1. Bluefish
  +
Auch mit bluefish sollten Sie sich ein wenig in der HTML-Syntax auskennen, da Sie mit bluefish die Seite
  +
im HTML-Quellcode sehen und verändern können. Hier eine Übersicht der wichtigsten Funktionen:
  +
• „Wizards“ zur Unterstützung bei der Erstellung von Seiten, Tabellen, Frames usw. ...
  +
• Öffnen von Dateien direkt aus dem Web
  +
• Erzeugen von verkleinerten Grafiken und Erzeugen von passenden Links zur Originalgrafik
  +
• Erstellen von eigenen Werkzeugleisten
  +
• Projekt-Management
  +
• Referenz für PHP3, SSI und RXML
  +
• CSS-Dialog
  +
• Referenz für PHP3, SSI und RXML
  +
• Syntax highlighting
  +
Abbildung 8-41. Bluefish
  +
Die Webseite zu Bluefish ist unter der URL http://bluefish.openoffice.nl/ zu finden.
  +
Wenn Sie einen Text markieren und eine Funktion auswählen, so wird dieser Text von dem gewählten
  +
HTML-Code umschlossen. Wenn kein Text markiert ist, wird der HTML-Code eingefügt und der Cursor
  +
zwischen Start- und Endemarkierung des Codes positioniert.
  +
Aus dem Menü können Sie alle im HTML-3.2-Standard definierten Sonderzeichen per Mausklick einbinden.
  +
HTML 4.0 läßt eine unbegrenzte Anzahl von Sonderzeichen zu, so daß auf diese Einbindung verzichtet wurde.
  +
CSS (cascading style sheets) werden in der Version 1 unterstützt, CSS2 wird auch von der Seite der meisten
  +
Browser nicht unterstützt.
  +
353
  +
Kapitel 8. Internet
  +
Bluefish speichert die Farben, URLs, Fonts usw. je angelegtem Projekt. Wenn Sie ein Projekt öffnen, finden Sie
  +
alle Einstellungen wie bei der letzten Sitzung vor. Sie können diese über den Projekt-Editor verändern.
  +
8.5.2. Netscape Composer
  +
Einen Schritt weiter geht der Netscape Composer. In diesem können Sie, wie in einer Textverarbeitung, die Seite
  +
direkt verändern. Sie sehen also sofort, wie die Seite später aussieht, ohne erst einen Browser starten zu müssen.
  +
Abbildung 8-42. Netscape Composer
  +
Wenn Sie schon mal mit einer modernen Textverarbeitung gearbeitet haben, werden Sie auch sehr schnell mit
  +
dem Netscape Composer eine eigene Homepage erzeugen können.
  +
8.5.3. Screem
  +
screem ist ein Programm zum Erstellen und Verwalten von Webseiten. HTML Tags können sehr leicht über
  +
eine Liste eingefügt werden, das Erstellen von Tabellen oder Styles wird durch Werkzeuge unterstützt. screem
  +
benutzt Plugins und kann so leicht erweitert werden. screem basiert auf GNOME und GTK+.
  +
354
  +
Kapitel 8. Internet
  +
Abbildung 8-43. Screem
  +
8.5.3.1. Editor
  +
Der eingebaute Editor hat eine Reihe nützlicher Funktionen, welche das Erstellen von Seiten vereinfachen.
  +
• Syntax highlighthing - Im Editor werden alle HTML Tags farbig markiert. So können Sie schnell
  +
zusammenhängende Start- und Endtags erkennen. Tags werden gruppiert, Sie können eine Vorder- und
  +
Hintergrundfarbe für jede Gruppe wählen.
  +
• Inline tagging - Wenn Sie mit der Maus über einem Tag stehen, steht Ihnen ein PopUp Menü mit allen in
  +
diesem Tag erlaubten HTML-4.0-Attributen zur Verfügung. Sie erreichen dieses Menü wie folgt: Der Cursor
  +
steht innerhalb eines Tags, direkt vor der schließenden spitzen Klammer, wenn Sie nun die Taste SPACE
  +
drücken, erscheint das Menü. Sie können nun einen Eintrag aus dem Menü wählen, oder einfach
  +
weitertippen, das Menü verschwindet dann wieder. Diese Option ist im Normalfall deaktiviert, Sie können sie
  +
in den Voreinstellungen einschalten.
  +
• Context sensitive menu - Ein Klick mit der rechten Maustaste irgendwo im Editorfenster öffnet ein Menü. Sie
  +
können hier Seiten speichern, neue Seiten erzeugen, auf die „Edit“ und CVS-Menüs zugreifen sowie
  +
nützliche Programme und Plugins starten. Zwei weitere Optionen erscheinen, wenn sich der Mauszeiger über
  +
einem Tag befindet. Hinter „TAG NAME“ verbirgt sich das zuvor beschriebene „inline tagging“, hinter „Tag
  +
Attributes“ steckt ein Dialog, in dem Sie alle Attribute des Tags verändern können. Wenn Sie ein
  +
Java-Dokument geladen haben, sehen Sie ein hierzu passendes Menü.
  +
• Auto completion - Wenn Sie das Zeichen < eingeben, wird versucht den Tag zu vervollständigen, bis Sie das
  +
Zeichen > eingeben.
  +
• Auto entity insertion - Wenn Sie Zeichen eingeben die nicht Teil des normalen ASCII-Zeichensatzes sind,
  +
beispielsweise Umlaute, so werden diese automatisch in entsprechende HTML-Syntax umgesetzt.
  +
355
  +
Kapitel 8. Internet
  +
8.5.3.2. Drag & Drop
  +
screem unterstützt Drag & Drop innerhalb des Programms wie auch extern, beispielsweise aus dem
  +
Dateimanager heraus. Drag & Drop kennen Sie sicher, so daß ein Objekt mit der linken Maustaste gehalten wird
  +
und im Fenster abgelegt wird. Dieses fügt den relativen Dateinamen in das Dokument ein.
  +
Wenn Sie das Objekt mit der mittleren Maustaste ablegen, haben Sie einige weitere Optionen:
  +
• Insert relative filename - Konvertiert den gesamten Pfadnamen der Datei in einen relativen Pfad zum
  +
aktuellen Dokument.
  +
• Insert complete filename - Fügt den kompletten Pfadnamen ein.
  +
• Insert Tag - Dies fügt einen HTML-Tag ein, abhängig vom Dateityp. Bei einer HTML-Datei wird ein Link
  +
erzeugt. Bei einer Grafik wird diese als Image-Tag eingefügt. Wenn der Dateityp nicht erkannt wird, wird ein
  +
Link zu der Datei erzeugt.
  +
• Insert tag attribute - Wenn Sie beispielsweise aus der Farbpalette eine Farbe in einen Tag ziehen, so wird
  +
dieser um color= mit der entsprechenden Farbe ergänzt.
  +
• Insert inline - hier wird der Inhalt der Datei, also beispielweise ein Text, direkt in die Datei eingefügt.
  +
8.5.3.3. Preview
  +
screem kann direkt die erstellten Seiten anzeigen, Sie benötigen kein externes Programm. Momentan benutzt
  +
screem hierzu GtkXmHtml, ein Teil von GTK+. Leider unterstützt dieses mehr HTML 3.2 und nicht komplett
  +
HTML 4.0. Dies wird in Zukunft wahrscheinlich auf Mozilla umgestellt, so daß sich bestehende Probleme dann
  +
erledigen. Sie können aber auch einen externen Browser benutzen, bis dies so weit ist.
  +
8.5.3.4. External Browsers
  +
Wenn Sie einen externen Browser benutzen, können Sie zwischen 3 verschiedenen Browsern wählen. Der vierte
  +
ist der Standard-GNOME-Browser, normalerweise ist dies Netscape, dies können Sie aber über die
  +
GNOME-Einstellungen definieren.
  +
Bei einem externem Browser müssen Sie zuerst Ihre Seite speichern, um die Veränderung zu sehen.
  +
Die drei frei definierbaren Browser sind noch nicht belegt, bei der ersten Auswahl können Sie die nötigen
  +
Programmnamen in einem Dialog festlegen. Wenn Sie einen dieser Browser nachträglich ändern wollen,
  +
klicken Sie mit der rechten Maustaste auf das Icon in der Symbolleiste.
  +
8.5.3.5. Dateibaum
  +
Dateibaum wird nur verwendet, wenn Sie an einer kompletten Site arbeiten, nicht an einer einzelnen Seite. Sie
  +
können damit Dateien in den Editor laden oder über externe Programme darauf zugreifen. Auch können Sie
  +
Dateien kopieren, umbenennen und verschieben.
  +
Wenn Sie an einem Projekt arbeiten und einen Link verändern (zum Beispiel indem Sie eine Datei
  +
umbenennen), müssen Sie sich nicht durch alle Dateien einzeln wühlen, screem erledigt dies für Sie in allen
  +
zur Site gehörenden Dateien.
  +
Wenn Sie mit der rechten Maustaste auf den Dateibaum klicken, erhalten Sie ein Menü, über das Sie neue, leere
  +
Seiten erzeugen, Dateien und Verzeichnisse löschen oder umbenennen können oder auch Dateien öffnen
  +
können.
  +
356
  +
Kapitel 8. Internet
  +
8.5.3.6. „Tag“baum
  +
Über diese Funktion können Sie schnell auf alle HTML-Funktionen zugreifen. Wenn Sie zusätzlich Bluefish
  +
installiert haben, so können Sie auch auf PHP3, RXML und SSI-Funktionen zugreifen.
  +
Die Einträge in dieser Liste werden aus der Datei /usr/lib/screem/screem.tagtree gelesen. Sie können
  +
diese mit einem Editor ergänzen. Wenn Sie eine Datei $HOME/.screem/.tagtree anlegen und dort
  +
Ergänzungen vornehmen, werden diese an die Liste angehängt.
  +
Wenn Sie auf eine Funktion klicken, so wird diese eingefügt und der Cursor zwischen Start- und Endtag
  +
positioniert. Wenn Sie vorher einen Text markiert haben, wird dieser von dem Tag eingeschlossen.
  +
8.5.3.7. Upload Wizard
  +
Mit dem Upload Wizard können Sie sehr leicht Ihre Seiten im Netz aktualisieren. Zunächste müssen Sie die
  +
Adresse, die Übertragungsmethode, Pfad, Usernamen und Paßwort angeben. Der Upload Wizard benutzt das
  +
Programm sitecopy, beachten Sie bitte, daß deshalb auch die nötigen Daten im Verzeichnis .sitecopy
  +
gespeichert werden.
  +
8.5.3.8. Image Wizard
  +
Der Image Wizard unterstützt Sie beim Einfügen von Bildern in Ihre Webseiten. Neben einer Vorschau vor dem
  +
Einfügen der Grafik wird die Originalgröße (in Pixeln und Byte) angezeigt. Weiterhin können automatisch
  +
Verkleinerungen der Grafik erzeugt werden und auf Wunsch wird die Grafik auch an eine passende Stelle
  +
kopiert.
  +
8.5.3.9. Gallery Wizard
  +
Hiermit können Sie eine Bildergalerie aus einem Verzeichnis mit Bildern erzeugen. Sie können angeben, wie
  +
viele Zeilen und Spalten auf einer Seite erscheinen sollen, wenn nötig werden automatisch mehrere Seiten
  +
angelegt und passende Links erzeugt. Zu jedem Bild wird eine verkleinerte Version erstellt, mit einem
  +
Mausklick auf diese sehen Sie die Grafik in der Originalgröße.
  +
Sie können diese Funktion benutzen, ohne eine Seite oder ein Projekt geöffnet zu haben.
  +
8.6. Verschlüsselung
  +
8.6.1. PGP
  +
PGP – Pretty Good Privacy (in deutsch etwa: ziemlich gute Privatsphäre) – war lange Jahre der Standard zur
  +
Verschlüsselung und wurde hauptsächlich zur Verschlüsselung von E-Mails verwendet (obwohl sich auch
  +
andere Daten damit verschlüsseln lassen). PGP benutzt ein Verfahren mit digitalen Schlüsseln und ermöglicht
  +
damit einen sicheren Austausch von Daten zwischen Personen, die sich noch nie getroffen haben. Durch die
  +
Verfügbarkeit der Quellcodes wurde PGP von Entwicklern in der ganzen Welt auf so ziemlich jedes
  +
Betriebssystem portiert.
  +
PGP verwendet die Algorithmen IDEA und RSA, die leider lange Zeit durch Softwarepatente geschützt waren.
  +
Diese Tatsache führte zur Entwicklung einer komplett freien Alternative, deren Entwicklung mittlerweile soweit
  +
fortgeschritten ist, daß wir auf eine weitere Beschreibung von PGP verzichten möchten und auf GnuPG
  +
verweisen. Mittlerweile ist dieses Patent aber abgelaufen, so das auch GPG die RSA Verschlüsselung nutzen
  +
kann.
  +
357
  +
Kapitel 8. Internet
  +
8.6.2. GnuPG
  +
GnuPG steht für „GNU Privacy Guard“ und ist ein kompletter, freier Ersatz für PGP. Die Algorithmen IDEA
  +
oder RSA werden nicht benutzt, so daß GnuPG ohne Einschränkungen benutzt werden kann. GnuPG
  +
implementiert den OpenPGP-Standard, der aus den Datenformaten von PGP 5.x und 6.x entwickelt wurde. Die
  +
Homepage von GnuPG finden Sie unter folgender URL: http://www.gnupg.org/de/gnupg.html.
  +
Folgende Eigenschaften zeichnen GnuPG aus:
  +
• Vollständiger PGP-Ersatz.
  +
• Es werden keine patentierten Verfahren verwendet.
  +
• GPL - GNU Public Lizenz.
  +
• Kann als Filterprogramm verwendet werden.
  +
• Vollständige OpenPGP-Implementierung.
  +
• Gegenüber PGP erweiterte Funktionalität und Sicherheitserweiterungen.
  +
• Ver- und entschlüsselt PGP-5.x-Daten.
  +
• ElGamal (unterschreiben und verschlüsseln), DSA, 3DES, Blowfish, Twofish, CAST5, MD5, SHA-1.
  +
• RIPE-MD-160 und TIGER werden unterstützt.
  +
• Einfache Implementierung neuer Verfahren durch Erweiterungsmodule.
  +
• Benutzer-ID wird im Standardformat erzeugt.
  +
• Unterstützung für Schlüsselverfallsdatum.
  +
• Benutzerführung in Englisch, Französisch, Deutsch, Italienisch, Polnisch, brasilianischem Portugiesisch,
  +
Russisch und Spanisch.
  +
• Online-Hilfe.
  +
• Wahlweise anonyme Adressaten.
  +
• Eingebaute Unterstützung für Schlüsselserver (http://wwwkeys.pgp.net).
  +
Um verschlüsselte E-Mails austauschen zu können, müssen Sie sich zuerst ein eigenes Schlüsselpaar, bestehend
  +
aus einem privaten und einem öffentlichen Schlüssel, erzeugen. Mit einem geeigneten Mailprogramm (dieses
  +
muß die Verschlüsselung von Mails per PGP/GnuPG unterstützen, mutt oder spruce sind dazu in der Lage)
  +
können Sie dann verschlüsselte Mail austauschen. Lassen Sie sich von Ihrem Mailpartner hierzu seinen
  +
öffentlichen Schlüssel (public key) zuschicken und schicken Sie ihm im Gegenzug Ihren .
  +
Sie können nun Mails mit Ihrem privaten Schlüssel und dem öffentlichen Schlüssel Ihres Partners verschlüsseln.
  +
Im Gegenzug kann dieser die von Ihnen verschlüsselte Mail nur mit seinem privaten und Ihrem öffentlichen
  +
Schlüssel entschlüsseln.
  +
Dieses Verfahren schützt jedoch noch nicht vor gefälschten Schlüsseln. Um sicherzugehen, daß ein öffentlicher
  +
Schlüssel auch wirklich von der entsprechenden Person stammt, können Sie Ihren Schlüssel von verschiedenen
  +
Leuten unterschreiben (signieren) lassen. Hierzu müssen Sie sich persönlich mit Leuten treffen, die
  +
GnuPG/PGP einsetzen und dieser Person Ihren öffentlichen Schlüssel übergeben (auf Diskette) sowie sich
  +
ausweisen. Wenn Sie niemanden kennen, der GnuPG/PGP einsetzt, wenden Sie sich an eine Linux User Group
  +
in Ihrer Nähe, dort finden Sie mit Sicherheit jemanden, der Wert auf sichere Kommunikation legt. Eine weitere
  +
Möglichkeit bietet die Zeitschrift c’t an. Auf größeren Messen wie der CeBIT bietet die c’t ebenfalls die
  +
Gelegenheit, Schlüssel zu signieren (http://www.heise.de/ct/pgpCA/).
  +
Mit dem Kommando gpg --gen-key erzeugen Sie sich ein neues Schlüsselpaar.
  +
bash-2.03$ gpg --gen-key
  +
gpg (GnuPG) 0.9.3; Copyright (C) 1999 Free Software Foundation, Inc.
  +
This program comes with ABSOLUTELY NO WARRANTY.
  +
This is free software, and you are welcome to redistribute it
  +
under certain conditions. See the file COPYING for details.
  +
358
  +
Kapitel 8. Internet
  +
gpg: Warnung: Sensible Daten könnten auf Platte ausgelagert werden.
  +
Um dies zu vermeiden, kann das Programm suid(root) installiert werden.
  +
Bitte wenden Sie sich hierzu an den Systemadministrator.
  +
gpg: /home/fr/.gnupg: Verzeichnis erzeugt
  +
gpg: /home/fr/.gnupg/options: neue Optionendatei erstellt
  +
gpg: /home/fr/.gnupg/secring.gpg: Schlüsselbund erstellt
  +
gpg: /home/fr/.gnupg/pubring.gpg: Schlüsselbund erstellt
  +
gpg: /home/fr/.gnupg/trustdb.gpg: trust-db erzeugt
  +
Bitte wählen Sie, welche Art von Schlüssel Sie möchten:
  +
(1) DSA und ElGamal (voreingestellt)
  +
(2) DSA (nur signieren/beglaubigen)
  +
(4) ElGamal (signieren/beglaubigen und verschlüsseln)
  +
Ihre Auswahl?
  +
Sie können hier zwischen verschiedenen Schlüsseln wählen, die voreingestellten Werte sind aber auf jeden Fall
  +
sinnvoll. Sie sollten diese einfach akzeptieren.
  +
Der DSA Schlüssel wird 1024 Bits haben.
  +
Es wird ein neues ELG-E Schlüsselpaar erzeugt.
  +
kleinste Schlüssellänge ist 768 Bit
  +
standard Schlüssellänge ist 1024 Bit
  +
größte sinnvolle Schlüssellänge ist 2048 Bit
  +
Welche Schlüssellänge wünschen Sie? (1024)
  +
Hier können Sie die Länge des zu erzeugenden Schlüssels festlegen. Längere Schlüssel sind schwerer zu
  +
„knacken“, allerdings benötigen diese auch etwas mehr Zeit, wenn man mit Ihnen arbeitet. 1024 Bit sind ein
  +
sinnvoller Wert.
  +
Die verlangte Schlüssellänge beträgt 1024 Bit
  +
Bitte wählen Sie, wie lange der Schlüssel gültig bleiben soll.
  +
0 = Schlüssel verfällt nie
  +
<n> = Schlüssel verfällt nach n Tagen
  +
<n>w = Schlüssel verfällt nach n Wochen
  +
<n>m = Schlüssel verfällt nach n Monaten
  +
<n>y = Schlüssel verfällt nach n Jahren
  +
Der Schlüssel bleibt wie lange gültig? (0)
  +
GnuPG unterstützt auch ein Verfallsdatum bei Schlüsseln. Vielleicht möchten Sie ja für die Mitarbeiter in Ihrer
  +
Firma mit Zeitverträgen verhindern, daß diese den Schlüssel auch später noch verwenden können. Für Ihren
  +
privaten Schlüssel benötigen Sie ein solches Verfallsdatum im Normalfall nicht.
  +
Der Schlüssel verfällt nie.
  +
Ist dies richtig? (j/n) j
  +
Sie ben&ouml;tigen eine User-ID, um Ihren Schlüssel eindeutig zu machen; das
  +
Programm baut diese User-ID aus Ihrem echten Namen, einem Kommentar und
  +
Ihrer E-Mail-Adresse in dieser Form auf:
  +
"Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>"
  +
Ihr Name ("Vorname Nachname"): Frank Ronneburg
  +
E-Mail-Adresse: fr@leenuks.de
  +
Kommentar:
  +
Sie haben diese User-ID gewählt:
  +
"Frank Ronneburg <fr@leenuks.de>"
  +
Ändern: (N)ame, (K)ommentar, (E)-Mail oder (F)ertig/(B)eenden? f
  +
Geben Sie hier mindestens Ihren Namen und Ihre E-Mail Adresse ein.
  +
Sie ben&ouml;tigen ein Mantra, um den geheimen Schlüssel zu schützen.
  +
Geben Sie das Mantra ein:
  +
Geben Sie das Mantra nochmal ein:
  +
359
  +
Kapitel 8. Internet
  +
Sie benötigen nun noch ein „Mantra“, also ein Paßwort für Ihren privaten, geheimen Schlüssel.
  +
Wir müßen eine ganze Menge Zufallszahlen erzeugen. Sie können dies
  +
unterstützen, indem Sie z.B. in einem anderen Fenster/Konsole irgendetwas
  +
tippen oder irgendwelche anderen Programme benutzen.
  +
+++++.....+++++...............+++++......++++++++++.......+++++..................
  +
+++++...........+++++....++++++++++++++++++++.+++++...+++++......................
  +
..+++++....+++++....++++++++++++++++++++...+++++.+++++.....+++++..+++++...+++++..
  +
......+++++>+++++.+++++.....................+++++
  +
Wir müßen eine ganze Menge Zufallszahlen erzeugen. Sie können dies
  +
unterstützen, indem Sie z.B. in einem anderen Fenster/Konsole irgendetwas
  +
tippen oder irgendwelche anderen Programme benutzen.
  +
.++++++++++......+++++........++++++++++.........................+++++.....++++++
  +
++++.+++++.+++++......+++++.+++++++++++++++.....+++++......+++++.+++++...+++++...
  +
..................+++++.+++++....+++++...........++++++++++.......++++++++++.....
  +
....+++++>........+++++............>..+++++..<.........+++++........>.....+++++..
  +
...................+++++^^^
  +
Öffentlichen und geheimen Schlüssel erzeugt und signiert.
  +
bash-2.03$
  +
GnuPG erzeugt nun aus Ihren Angaben ein Schlüsselpaar und legt dieses im Verzeichniss .gnupg in Ihrem
  +
Homeverzeichnis ab. Damit ist die eigentliche Erzeugung des Schlüssels schon abgeschlossen.
  +
8.6.2.1. GnuPG Schlüsselverwaltung
  +
In diesem Abschnitt werden die grundlegenden Schritte der Schlüsselverwaltung beschrieben. Eine ausführliche
  +
Anleitung, auch zu allen anderen Funktionen von GnuPG, finden Sie in der deutschen Übersetzung des „GNU
  +
Privacy Handbook“ unter http://www.gnupg.org/gph/de/manual/.
  +
8.6.2.1.1. Austauschen von Schlüsseln
  +
Um mit anderen zu kommunizieren, müssen Sie untereinander Ihre öffentlichen Schlüssel austauschen. Dies
  +
kann per E-Mail, über einen Key-Server oder auch per persönlicher Übergabe erfolgen. Zum Auflisten der
  +
Schlüssel in Ihrem öffentlichen Schlüsselbund verwenden Sie die Befehlszeilen-Option --list-keys.
  +
fr@surimi:~$ gpg --list-keys
  +
/home/fr/.gnupg/pubring.gpg
  +
---------------------------
  +
pub 1024D/887EB817 2000-12-12 Frank Ronneburg <fr@leenuks.de>
  +
sub 1024g/B91B2CCC 2000-12-12
  +
pub 768R/3B54E019 1996-02-14 Frank Ronneburg <fr@hoshi.in-berlin.de>
  +
Wenn Sie bereits weitere öffentliche Schlüssel, oder weitere IDs, hinzugefügt haben wird diese Liste länger
  +
ausfallen. Beispielhaft findet sich in dieser Auflistung auch ein alter PGP-Key.
  +
8.6.2.1.2. Exportieren eines öffentlichen Schlüssels
  +
Um jemandem Ihren öffentlichen Schlüssel zu schicken, müssen Sie diesen zunächst exportieren. Hierzu
  +
benutzt man die Kommandozeilen-Option --export. Zur Indentifikation des zu exportierenden öffentlichen
  +
Schlüssels dient entweder die Schlüssel-ID oder irgendein Teil der Benutzer-ID.
  +
gpg --output Ronneburg.gpg --export Ronneburg
  +
Der Schlüssel wird in einem binären Format exportiert, doch kann dies unerwünscht sein, wenn Sie den
  +
Schlüssel per E-Mail verschicken oder auf einer WWW-Seite veröffentlichen wollen. GnuPG unterstützt daher
  +
360
  +
Kapitel 8. Internet
  +
die Kommandozeilen-Option --armor die bewirkt, daß der Output im ASCII-Format ausgegeben wird. (Im
  +
Allgemeinen kann jeder Output von GnuPG - beispielsweise Schlüssel, verschlüsselte Dokumente oder
  +
Unterschriften - im ASCII-Format dargestellt werden, indem man die --armor-Option hinzufügt.)
  +
fr@surimi:~$ gpg --armor --export Ronneburg
  +
-----BEGIN PGP PUBLIC KEY BLOCK-----
  +
Version: GnuPG v1.0.4 (GNU/Linux)
  +
Comment: Weitere Infos: siehe http://www.gnupg.org
  +
mQGiBDo2SPYRBACkgxUYL30WWgBFybJWKc8eENKDC/8fWbmsKLVFlmvayYu8ykeW
  +
GiiUvh6zKhidoa7Vve796kq9N1v5VRvy4qKDMUvLlLA/4k4OHZg0rKcQIIOzuGba
  +
d3dGGCUcNqFYjlgnML2NP40+Kr4Rs6MAWk7gqZ4IofP4n9VmgOil1WzMmwCghZMB
  +
orTO/atjGfWz/m30IgbpSisD/iw6mKPYdz7PJB50jCn6bpZt7dFAaQVJrlfSPS4J
  +
iRUGPghVEPSfNtNd3N1PymRWv3j1CYC41Nl92wxLI8QFXdQv44smNdao7YDSdpkR
  +
4+y+pWBCeitXqCj/9eVOVGvEM+mLmsvpg/M/qa6a+EF/iJW+3Mb63xmrumeHGBD6
  +
GUllA/0f7B9u2Hqx4078QWZmxycpD8XI43Yq3r1pkHb28BryMi6tE/qkfsgxywlD
  +
Blnl6WTpzBxgsMLdm7BNz/B41fk8AnCAtnftoOa8+Q0TKodrDtLkrXdW0z0RltNZ
  +
...
  +
2NSr7iQUlIhGBBgRAgAGBQI6Nkj6AAoJEF+d1jKIfrgXJBwAnj038AMs+feNTOyP
  +
qkdlhcd+kHHTAJ0dKZe7keaAIJkz4FJQhBhrk/bHpw==
  +
=yDka
  +
-----END PGP PUBLIC KEY BLOCK-----
  +
8.6.2.1.3. Importieren eines öffentlichen Schlüssels
  +
Ein öffentlicher Schlüssel kann zu Ihrem öffentlichen Schlüsselbund hinzugefügt werden, und zwar mit
  +
folgender Option: --import
  +
fr@surimi:~$ gpg --import /tmp/frank.gpg
  +
gpg: Schlüssel 887EB817: Öffentlicher Schlüssel importiert
  +
gpg: Anzahl insgesamt bearbeiteter Schlüssel: 1
  +
gpg: importiert: 1
  +
8.6.2.1.4. Bearbeiten eines Schlüssels
  +
Wenn ein Schlüssel einmal importiert ist, sollte er auf Authentizität überprüft werden. GnuPG arbeitet mit einem
  +
wirksamen und flexiblen Vertrauensmodell, bei dem Sie nicht jeden Schlüssel persönlich zu authentifizieren
  +
brauchen, den Sie importieren. Einige Schlüssel können dies jedoch erfordern. Ein Schlüssel wird dadurch
  +
authentifiziert, daß Sie den Fingerabdruck des Schlüssels überpüfen und dann den Schlüssel unterschreiben, um
  +
seine Gültigkeit zu bestätigen. Der Fingerabdruck eines Schlüssels kann schnell mit der Befehlszeilen-Option
  +
--fingerprint geprüft werden, um aber den Schlüssel zu bestätigen, müssen Sie ihn editieren.
  +
fr@surimi:~$ gpg --edit-key Borgert
  +
gpg (GnuPG) 1.0.4; Copyright (C) 2000 Free Software Foundation, Inc.
  +
This program comes with ABSOLUTELY NO WARRANTY.
  +
This is free software, and you are welcome to redistribute it
  +
under certain conditions. See the file COPYING for details.
  +
pub 1024R/9B668109 erstellt: 1998-06-28 verfällt: never Vertrauen: -/q
  +
(1) W. Borgert <debacle@knorke.in-berlin.de>
  +
Befehl> fpr
  +
pub 1024R/9B668109 1998-06-28 W. Borgert <debacle@knorke.in-berlin.de>
  +
361
  +
Kapitel 8. Internet
  +
Fingerabdruck: 6F 74 32 AB 53 DD 09 F1 3B 69 E6 3F 79 8A 70 53
  +
Um den Fingerabdruck zu überprüfen, müssen Sie den Eigentümer des Schlüssels kontaktieren und die
  +
Fingerabdrücke vergleichen. Sie können persönlich oder per Telefon mit ihm sprechen oder auf beliebigem
  +
anderen Wege kommunizieren, solange nur garantiert ist, daß es sich um den rechtmäßigen Eigentümer handelt.
  +
Stimmen beide Fingerabdrücke überein, dann können Sie sicher sein, daß Sie eine echte Kopie des öffentlichen
  +
Schlüssels haben.
  +
Nach dem Prüfen des Fingerabdrucks können Sie den Schlüssel unterschreiben, um ihn zu authentifizieren. Da
  +
die Schlüsselüberprüfung ein Schwachpunkt in der Kryptographie mit öffentlichem Schlüssel ist, sollten Sie
  +
äußerste Sorgfalt walten lassen und den Fingerabdruck eines Schlüssels immer gemeinsam mit dem Eigentümer
  +
prüfen, bevor Sie den Schlüssel unterschreiben.
  +
Befehl> sign
  +
pub 1024R/9B668109 erstellt: 1998-06-28 verfällt: never Vertrauen: -/q
  +
Fingerabdruck: 6F 74 32 AB 53 DD 09 F1 3B 69 E6 3F 79 8A 70 53
  +
W. Borgert <debacle@knorke.in-berlin.de>
  +
Sind Sie wirklich sicher, daß Sie vorstehenden Schlüssel mit Ihrem
  +
Schlüssel beglaubigen wollen: "Frank Ronneburg <fr@leenuks.de>"
  +
Wirklich unterschreiben?
  +
Sie können sich jederzeit vergewissern, welche Unterschrift Sie hinzugefügt haben. Jede Benutzer-ID auf dem
  +
Schlüssel hat dann sowohl eine oder mehrere Eigenbeglaubigungen als auch eine Unterschrift von jedem
  +
Benutzer, der den Schlüssel authentifiziert hat.
  +
Befehl> check
  +
uid Frank Ronneburg <fr@leenuks.de>
  +
sig! 887EB817 2000-12-12 [Eigenbeglaubigung]
  +
sig! 9B668109 2001-01-26 W. Borgert <debacle@knorke.in-berlin.de>
  +
sig! 801EA932 2001-04-02 Martin Schulze <joey@infodrom.north.de>
  +
sig! 13282FF2 2000-12-18 Werner Heuser (none) <wehe@debian.org>
  +
sig! EF439690 2000-12-21 Michael Piefel <piefel@informatik.hu-ber
  +
sig! 258D8781 2001-03-31 Michael Bramer <grisu@debian.org>
  +
sig! DA4A1116 2001-04-04 Bernhard Reiter <bernhard@intevation.de>
  +
sig! 86574ACA 2001-04-04 Georg C. F. Greve <greve@gnu.org>
  +
sig! 496A1827 2001-04-06 Sebastian Rittau <srittau@jroger.in-berl
  +
sig! 9C6D5E59 2001-04-10 Karl Bartel <karlb@gmx.net>
  +
Befehl>
  +
8.6.2.1.5. Schlüsselverteilung
  +
Im Idealfall wird ein Schlüssel durch persönliche Übergabe an Ihre Korrespondenzpartner weitergegeben. In der
  +
Praxis werden jedoch Schlüssel oft per E-Mail oder irgendein anderes elektronisches Kommunikationsmittel
  +
weitergegeben. Die Weitergabe per E-Mail ist durchaus annehmbar, wenn Sie nur einige wenige
  +
Korrespondenzpartner haben. Wenn Sie viele Korrespondenzpartner haben, könnten Sie beispielsweise Ihre(n)
  +
öffentlichen Schlüssel auf Ihrer Homepage im Web publizieren. Das setzt jedoch voraus, daß Ihre
  +
Korrespondenzpartner auch wissen, wo sie Ihre(n) Schlüssel finden können.
  +
Um dieses Problem zu lösen, gibt es Key-Server, die öffentliche Schlüssel sammeln und weitergeben. Ein bei
  +
dem Server eingegangener öffentlicher Schlüssel wird entweder der Datenbank des Servers hinzugefügt oder
  +
mit Ihrem eventuell schon vorhandenen Schlüssel zusammengeführt. Wenn eine Anfrage nach einem Schlüssel
  +
362
  +
Kapitel 8. Internet
  +
beim Server eingeht, durchsucht dieser seine Datenbank und sendet den angeforderten öffentlichen Schlüssel
  +
zurück, wenn er ihn gefunden hat.
  +
Ein oder mehr Schlüssel können unter Verwendung der Kommandozeilen-Option --send-keys an den
  +
Key-Server geschickt werden. Die Option erwartet eine Schlüssel-ID oder Benutzer-ID als Argument und
  +
schickt die so spezifizierten Schlüssel an den Key-Server. Der Key-Server, an den die Schlüssel geschickt
  +
werden sollen, wird durch die Kommandozeilen-Option --keyserver spezifiziert. In ähnlicher Weise wird die
  +
Option --recv-keys benutzt, um Schlüssel von einem Key-Server zu holen, doch müssen Sie hier den Schlüssel
  +
mit einer Schlüssel-ID spezifizieren.
  +
Hier ein Beispiel mit dem der Autor seinen Public-Key auf dem Server aktualisiert.
  +
fr@surimi:~$ gpg --keyserver wwwkeys.eu.pgp.net --send-key 887EB817
  +
gpg: Senden an ‘wwwkeys.eu.pgp.net’ erfolgreich (status=200)
  +
Hier wird ein bereits vorhandener Key aktualisiert.
  +
fr@surimi:~$ gpg --keyserver wwwkeys.eu.pgp.net --recv-key 86574ACA
  +
gpg: Schlüssel 86574ACA von wwwkeys.eu.pgp.net wird angefordert ...
  +
gpg: Schlüssel 86574ACA: 3 neue User-IDs
  +
gpg: Schlüssel 86574ACA: 15 neue Signaturen
  +
gpg: Anzahl insgesamt bearbeiteter Schlüssel: 1
  +
gpg: neue User-IDs: 3
  +
gpg: neue Signaturen: 15
  +
Weltweit gibt es eine Vielzahl bekannter Key-Server. Die größeren Key-Server synchronisieren sich
  +
wechselseitig. Am Besten benutzen Sie einen gut erreichbaren Key-Server im Internet und tauschen dann
  +
regelmäßig über diesen Schlüssel aus.
  +
Neben dem im Beispiel gezeigten Server gibt es noch eine ganze Reihe weiterer Key-Server im Netz. Dies sind
  +
beispielsweise http://www.pca.dfn.de/dfnpca/pgpkserv/ und http://germany.keyserver.net/en/.
  +
8.6.2.2. GnuPG und mutt
  +
Die Einbindung von GnuPG in mutt ist durch ein mitgeliefertes Beispiel sehr einfach zu realisieren. Wenn Sie
  +
keine individuellen Einstellungen benötigen reicht das einfügen der Zeile
  +
source /usr/share/doc/mutt/examples/gpg.rc
  +
in der Datei ~/.muttrc aus. Natürlich können Sie auch eine Kopie der Beispieldatei in Ihrem
  +
Heimatverzeichnis erzeugen und die Werte Ihren Bedürfnissen anpassen.
  +
363
  +
Kapitel 9. Drucken
  +
In der langen Entwicklungsgeschichte von Unix gibt es zwei bedeutende Drucksysteme, Berkeley Line Printer
  +
Daemon („lpd“) und das AT&T Line Printer System. Im Laufe der Jahre gab es einige Alternativen zu diesen
  +
Systemen (beispielsweise LPRng) doch an den grundlegenden Funktionen hat sich kaum etwas geändert.
  +
Das betagte Drucksystem führte aufgrund der begrenzten Funktionalitäten zu einigen Problemen und so
  +
begannen einige Entwickler eigene Erweiterungen in die Programme einzubauen, ohne das Problem
  +
grundsätzlich zu lösen.
  +
Von der Firma Easy Software Products wurde CUPS (Common UNIX Printing System) entwickelt und unter
  +
der GPL (bzw. LGPL für die API Library) freigegeben. CUPS benutzt das Protokoll IPP (Internet Printing
  +
Protocol) und bietet die von System V und Berkeley gewohnten Kommandozeilen-Tools. Ein Umstieg auf
  +
CUPS lohnt sich, probieren Sie es aus.
  +
Natürlich besteht immer noch die Möglichkeit auch die „klassischen“ Drucksysteme einzusetzen. Zur
  +
Konfiguration des klassischen Drucksystems stehen verschiedene Programme zur Verfügung. apsfilter und
  +
magicfilter helfen Ihnen bei dieser Aufgabe. Sie können aber nur eines der beiden Pakete installieren, wir
  +
werden deshalb später nur auf apsfilter eingehen.
  +
9.1. CUPS
  +
Historisch gesehen stammen die bisherigen Drucksysteme unter Unix entweder aus der Familie der BSD
  +
Systeme (LPD, definiert durch den RFC 1179) oder aus dem AT&T Lager. Beide Drucksysteme wurden in den
  +
70er Jahren entworfen und sind auf die Anforderungen der damaligen Drucktechnik
  +
(Zeilendrucker/Nadeldrucker) ausgelegt. Von den verschiedenen Herstellern kommerzieller Unixes wurden
  +
gelegentlich Erweiterungen eingebracht.
  +
Natürlich gab es auch einige Entwicklungen, die versuchten die etablierten Drucksysteme zu ersetzen. Zu
  +
nennen sind hier LPRng, Palladin und PLP. Leider hat keiner dieser Ansätze grundlegende Änderungen oder
  +
Verbesserungen gebracht.
  +
In den letzten Jahren gab es diverse Versuche, eine neue Standard Schnittstelle zu definieren, unter anderem den
  +
Entwurf zum POSIX Standard, welcher vom „Institute of Electrical and Electronics Engineers, Inc.“ (IEEE, Nr.
  +
IEEE-1387.4) herausgegeben wurde, sowie das „Internet Printing Protocol“ (IPP) entwickelt von der „Internet
  +
Engineering Task Force“ (IETF) durch die „Printer Working Group“ (PWG, IETF-IPP). Der POSIX Standard
  +
definiert einheitliche Kommandozeilen Werkzeuge, ebenso wie eine C Schnittstelle zur Druckerverwaltung und
  +
zur Verwaltung der Druckaufträge.
  +
Das „Internet Printing Protocol“ definiert Erweiterungen zum Protokoll HTTP (HyperText Transport Protocol
  +
1.1 [RFC2616]), um das Drucken auf Netzwerkdruckern zu ermöglichen. IPP/1.0 wurde von der IETF als
  +
experimenteller Request for Comments (RFC) im Oktober 1999 akzeptiert. Seitdem entwickelte die Printer
  +
Working Group eine erweiterte Spezifikation für die Version IPP/1.1, welche von der IETF als empfohlener
  +
Standard akzeptiert wurde. Anders als der POSIX Standard erfreut sich IPP einer weitreichenden Unterstützung
  +
durch die Industrie, und es scheint sich als Netzwerk Drucklösung für alle Betriebssysteme durchzusetzen.
  +
CUPS benutzt IPP/1.1, um ein umfassendes und modernes Drucksystem für Unix Systeme mit einer
  +
weitreichenden Unterstützung für moderne Drucker und Protokolle zu bieten. Natürlich bleibt die
  +
Kompatibilität zu den bestehenden Anwendungen erhalten. CUPS ist Freie Software und wird unter der GNU
  +
General Public License und der GNU Lesser General Public License zur Verfügung gestellt..
  +
9.1.1. Pakete
  +
Folgende Debian Pakete, die mit CUPS im Zusammenhang, stehen sind verfügbar.
  +
• cupsys - Common UNIX Printing System(tm) - Server
  +
• cupsys-bsd - Common UNIX Printing System(tm) - BSD Kommandos
  +
• cupsys-client - Common UNIX Printing System(tm) - System V Kommandos
  +
• qtcups - Qt basierte Administration für CUPS.
  +
364
  +
Kapitel 9. Drucken
  +
• cupsys-driver-gimpprint - gimp-print Druckertreiber für CUPS
  +
• gtklp - GTK basierte Administration für CUPS
  +
• kups - KDE basierte Administration für CUPS
  +
sowie einige weitere Pakete die von diesen abhängen, hauptsächlich Libraries.
  +
Nach der Installation der gewünschten Pakete ist CUPS wie gewohnt bereits so gut wie einsatzbereit. Sie sollten
  +
aber noch den Administrativen Zugriff erlauben. Hierzu wurde eine Gruppe „lpadmin“ eingerichtet, zu der die
  +
Benutzer hinzugefügt werden können, die Administrative Rechte am Drucksystem haben sollen.
  +
In der Grundeinstellung erlaubt die Konfiguration aus Sicherheitsgründen lediglich Verbindungen vom lokalen
  +
System. Diese Einstellung kann in der Datei /etc/cups/cupsd.conf geändert werden. Am Ende dieser
  +
Datei finden sich die Zugriffsbeschränkungen. Achten Sie darauf, den Zugriff nur von Systemen zu erlauben
  +
denen Sie vertrauen oder aktivieren Sie eine Authentifizierung.
  +
9.1.1.1. Treiber
  +
Die CUPS Pakete beinhalten Treiber für HP LaserJet und DeskJet, Epson Stylus Color sowie Stylus Photo
  +
Drucker.
  +
9.1.1.2. Samba Integration
  +
Sie können Samba zur Zusammenarbeit mit CUPS bewegen, um CUPS-Drucker den Windows-Clients im Netz
  +
zur Verfügung zu stellen.
  +
Hierzu gibt es zwei Möglichkeiten.
  +
Samba benutzt das System V Drucksystem. Hierzu muß die Samba Konfiguration (in /etc/samba/smb.conf)
  +
wie folgt ergänzt werden:
  +
[global]
  +
printing = sysv
  +
printcap name = lpstat
  +
[printers]
  +
lpq command = /usr/bin/lpstat %p
  +
lprm command = /usr/bin/cancel %p-%j
  +
print command = /usr/bin/lp -d%p -oraw %s ; /bin/rm -f %s
  +
Damit dies funktioniert muß das Paket cupsys-client installiert werden.
  +
Alternativ unterstützen aktuelle Samba Versionen direkt das Drucken zu einem CUPS System. Auch hierzu muß
  +
an der Samba Konfiguration etwas verändert werden.
  +
[global]
  +
printing = cups
  +
printcap name = /etc/printcap.cups
  +
9.1.1.3. Tips
  +
CUPS unterstützt das „browsing“ über Broadcast Requests, um andere CUPS Server und Drucker im Netz zu
  +
finden und diese den Clients zur Verfügung zu stellen. Auch diese Funktion ist normalerweise ausgeschaltet.
  +
Wenn diese Funktion aktiviert wird, kann dies dazu führen, daß Dial-on-demand Verbindungen bei einem
  +
Broadcast aktiviert werden. Dies kann zu ungewollt hohen Online-Kosten führen. Wenn Sie diese Funktion
  +
aktivieren, achten Sie darauf das die Broadcast Adresse entsprechend setzen.
  +
Wenn Sie das Kommando enable aus dem Paket cupsys-client benutzen kann es zu Problemen mit dem
  +
gleichnamigen Befehl aus der bash kommen. Diese Probleme können umgangen werden wenn Sie das
  +
Kommando cupsenable benutzen, welches sich genauso verhält. Um die Konsistenz zu waren, sind ebenfalls
  +
die Kommandos cupsdisable, cupsaccept und cupsreject verfügbar.
  +
365
  +
Kapitel 9. Drucken
  +
9.1.2. Design
  +
Wie die meisten anderen Drucksysteme wurde für CUPS ebenfalls ein zentraler Prozess geschaffen, welcher die
  +
Druckaufträge verwaltet, administrative Befehle entgegennimmt und Statusinformationen weitergibt. Die Grafik
  +
zeigt die grundlegende Organisation von CUPS.
  +
Abbildung 9-1. CUPS Diagramm
  +
9.1.3. Scheduler
  +
Der CUPS Scheduler ist ein HTTP/1.1 kompatibler Server, der einerseits die Druckaufträge entgegennimmt,
  +
aber auch eine Webbasierte Administrationsoberfläche zur Verfügung stellt. Über diese ist neben einer
  +
grafischen Administration ein Monitoring möglich.
  +
Der Scheduler verwaltet auch eine Liste der verfügbaren Drucker im Netz und organisiert die Verwaltung der
  +
benötigten Filter und Backends für die verschiedenen Drucker.
  +
9.1.4. Konfigurationsdateien
  +
Die Konfigurationsdateien teilen sich in folgende Typen auf:
  +
- HTTP Server Konfiguration
  +
- Drucker und Klassen Definitionen
  +
- MIME Types und Konvertierungsinformationen
  +
- PostScript Printer Description ("PPD") Dateien
  +
Die Konfiguration des HTTP Servers für CUPS ähnelt sehr der Konfiguration des Apache Webservers, hier
  +
werden die Zugriffe und Eigenschaften des Servers definiert.
  +
Die Drucker und Klassenbeschreibungen beschreiben die verfügbaren Drucker und Klassen. Druckerklassen
  +
sind Gruppen von Druckern. Druckjobs, die an eine Klasse geschickt werden, werden auf dem ersten
  +
verfügbaren Drucker im Round-Robin Prinzip gedruckt.
  +
In der Liste der MIME Types finden sich alle unterstützten MIME Types (zum Beispiel „text/plain“,
  +
„application/postscript“ usw.) sowie einige „magic rules“, um den Typ einer Datei zu bestimmen. Diese werden
  +
vom HTTP Server benutzt, um den „Content-Type“ für „GET“ und „HEAD“ Anfragen zu bestimmen.
  +
Weiterhin benutzt der IPP Handler die MIME Types ebenfalls zur Bestimmung der Dateitypen.
  +
In den Konvertierungsinformationen finden sich die verfügbaren Filter. Filter werden benutzt, um die von einem
  +
Programm kommenden Daten in für den Drucker verständliche Daten umzuwandeln.
  +
366
  +
Kapitel 9. Drucken
  +
Die PPD Dateien beschreiben die Fähigkeiten eines Druckers, dies beschränkt sich nicht nur auf Postscript
  +
Drucker. PPD Dateien für Nicht-Postscript Drucker beeinhalten zusätzliche Filterfunktionen durch „cupsFilter“,
  +
um diese Drucker optimal zu unterstützen.
  +
9.1.5. Berkeley und System V Kommandos
  +
CUPS bietet die von System V und Berkley Unixes bekannten Befehle für Druckaufträge und Statusabfragen.
  +
Die Kommandos „lpstat“ und „lpc status“ zeigen auch Informationen über Netzwerkdrucker
  +
(printer@server), wenn das „browsing“ aktiviert ist.
  +
Die System V Administrations Kommandos können benutzt werden, um Drucker und Klassen zu verwalten.
  +
Das Berkleley Tool lpc wird nur im „read-only“ Modus unterstützt.
  +
9.1.6. Filter
  +
Ein Filterprogramm liest Daten von der Standardeingabe oder aus einer Datei, wenn ein Dateiname angegeben
  +
wird. Alle Filter müssen einen gemeinsamen Befehlssatz unterstützen, wie zum Beispiel den Namen des
  +
Druckers, die Job ID, einen Benutzernamen, einen Job Titel, die Anzahl der gewünschten Kopien und weitere
  +
Druckoptionen. Alle Ausgaben werden auf die Standardausgabe geschickt.
  +
Filter sind für die verschiedensten Dateiformate verfügbar und können bei Bedarf verknüpft werden, um das
  +
gewünschte Ergebnis zu erzielen.
  +
Der PostScript Filter basiert auf Ghostscript 5.50.
  +
9.1.7. Administration
  +
9.1.7.1. Kommandozeile
  +
9.1.7.1.1. Grundlagen
  +
Jeder unter CUPS benutzte Drucker wird über ein, der Hardware entsprechendes, Device angesprochen.
  +
Devices unter CUPS werden als URI („Uniform Resource Identifiers“), ähnlich wie URLs („Uniform Resource
  +
Locators“ die Sie aus Ihrem Webbrowser kennen, bezeichnet. Der erste parallele Port unter Linux würde der
  +
URI parallel:/dev/lp1 entsprechen.
  +
Eine komplette Liste aller auf Ihrem System gefundenen Devices kann mit dem Kommando lpinfo -v
  +
angezeigt werden.
  +
surimi:~# lpinfo -v
  +
file file
  +
network socket
  +
network http
  +
network ipp
  +
network lpd
  +
direct parallel:/dev/lp1
  +
serial serial:/dev/ttyS1?baud=115200
  +
serial serial:/dev/ttyS2?baud=115200
  +
direct usb:/dev/usb/lp0
  +
network smb
  +
Das erste Wort jeder Zeile beschreibt den Typ des Devices, danach folgt die URI oder eine andere
  +
Zugriffsmethode.
  +
Weiterhin gehört zu jedem unter CUPS eingerichteten Drucker eine sogenannte PPD-Datei („PostScript Printer
  +
Description“), welche die Eigenschaften des Druckers beschreibt. PPD-Dateien werden sowohl für PostScript
  +
als auch für Nicht-PostScript Drucker verwendet.
  +
367
  +
Kapitel 9. Drucken
  +
9.1.7.1.2. Drucker hinzufügen
  +
Um einen Drucker hinzuzufügen kann das Kommando lpadmin -p benutzt werden. Die komplette Syntax zu
  +
diesem Kommando lautet: lpadmin -p printer -E -v device -m ppd. Um beispielsweise einen
  +
HP-Deskjet Drucker, der an der parallelen Schnittstelle angeschlossen ist, hinzuzufügen kann das Kommando
  +
lpadmin -p DeskJet -E -v parallel:/dev/lp1 -m deskjet.ppd
  +
benutzt werden. Hier gleich noch ein Beispiel für einen HP LaserJet Drucker der über einen Netzwerkanschluß
  +
(JetDirect) verfügt, und dem die IP-Adresse 11.22.33.44 zugewiesen wurde
  +
lpadmin -p LaserJet -E -v socket://11.22.33.44 -m laserjet.ppd
  +
Eine Übersicht über die verfügbaren PPD-Dateien und welche Drucker sich mit diesen ansteuern lassen findet
  +
sich unter file:///usr/share/doc/cupsys/online-docs/sam.html, wenn CUPS bereits auf Ihrem System installiert
  +
ist. Diese Liste enthält nur Druckertreiber die zum Standardumfang von CUPS gehören, wenn Sie weitere
  +
Treiber installiert haben, tauchen diese nicht in der Dokumentation auf.
  +
9.1.7.1.3. Drucker verändern
  +
Zur Veränderung von Druckern von der Kommandozeile aus ist ebenfalls das Kommando lpadmin geignet.
  +
Die Syntax lautet:
  +
lpadmin -p printer options
  +
Als weitere Argumente können angegeben werden:
  +
• -c class Fügt den Drucker der genannten Gruppe hinzu. Wenn diese Gruppe nicht existiert wird sie erzeugt.
  +
• -i Interface Kopiert das benannte Interface Script zum Drucker. Interface Scripte werden ausschlieslich von
  +
System V Druckertreibern benutzt. Da hierbei alle anderen Filter deaktiviert werden, sollte dieses Verfahren
  +
nur benutzt werden wenn kein anderer Treiber zur Verfügung steht,
  +
• -m model Bezeichnet den Standard Druckertreiber, normalerweise eine PPD Datei. Eine Liste aller
  +
verfügbaren Modelle kann mit dem Kommando lpinfo -m angezeigt werden. Wenn das Paket
  +
cupsys-driver-gimpprint installiert wurde, steht eine deutlich größere Anzahl von Druckertreibern zur
  +
Verfügung.
  +
surimi:~# lpinfo -m
  +
bjc-30.ppd.gz CANON BJC 30, CUPS+GIMP-print v4.1.7
  +
bjc-50.ppd.gz CANON BJC 50, CUPS+GIMP-print v4.1.7
  +
bjc-55.ppd.gz CANON BJC 55, CUPS+GIMP-print v4.1.7
  +
bjc-80.ppd.gz CANON BJC 80, CUPS+GIMP-print v4.1.7
  +
bjc-85.ppd.gz CANON BJC 85, CUPS+GIMP-print v4.1.7
  +
bjc-1000.ppd.gz CANON BJC 1000, CUPS+GIMP-print v4.1.7
  +
bjc-2000.ppd.gz CANON BJC 2000, CUPS+GIMP-print v4.1.7
  +
bjc-3000.ppd.gz CANON BJC 3000, CUPS+GIMP-print v4.1.7
  +
bjc-4300.ppd.gz CANON BJC 4300, CUPS+GIMP-print v4.1.7
  +
bjc-4400.ppd.gz CANON BJC 4400 photo, CUPS+GIMP-print v4.1.7
  +
bjc-6000.ppd.gz CANON BJC 6000, CUPS+GIMP-print v4.1.7
  +
bjc-6100.ppd.gz CANON BJC 6100, CUPS+GIMP-print v4.1.7
  +
bjc-6200.ppd.gz CANON BJC 6200, CUPS+GIMP-print v4.1.7
  +
bjc-6500.ppd.gz CANON BJC 6500, CUPS+GIMP-print v4.1.7
  +
bjc-7000.ppd.gz CANON BJC 7000, CUPS+GIMP-print v4.1.7
  +
bjc-7100.ppd.gz CANON BJC 7100, CUPS+GIMP-print v4.1.7
  +
bjc-8200.ppd.gz CANON BJC 8200, CUPS+GIMP-print v4.1.7
  +
bjc-s400.ppd.gz CANON S400, CUPS+GIMP-print v4.1.7
  +
bjc-s450.ppd.gz CANON S450, CUPS+GIMP-print v4.1.7
  +
bjc-s800.ppd.gz CANON S800, CUPS+GIMP-print v4.1.7
  +
368
  +
Kapitel 9. Drucken
  +
bjc-s4500.ppd.gz CANON S4500, CUPS+GIMP-print v4.1.7
  +
compaq-ij750.ppd.gz COMPAQ IJ750, CUPS+GIMP-print v4.1.7
  +
epson9.ppd EPSON 9-Pin Series CUPS v1.1
  +
epson24.ppd EPSON 24-Pin Series CUPS v1.1
  +
escp2-83.ppd.gz EPSON Stylus Color 83, CUPS+GIMP-print v4.1.7
  +
escp2-400.ppd.gz EPSON Stylus Color 400, CUPS+GIMP-print v4.1.7
  +
escp2-440.ppd.gz EPSON Stylus Color 440, CUPS+GIMP-print v4.1.7
  +
escp2-460.ppd.gz EPSON Stylus Color 460, CUPS+GIMP-print v4.1.7
  +
escp2-480.ppd.gz EPSON Stylus Color 480, CUPS+GIMP-print v4.1.7
  +
escp2-500.ppd.gz EPSON Stylus Color 500, CUPS+GIMP-print v4.1.7
  +
escp2-580.ppd.gz EPSON Stylus Color 580, CUPS+GIMP-print v4.1.7
  +
escp2-600.ppd.gz EPSON Stylus Color 600, CUPS+GIMP-print v4.1.7
  +
escp2-640.ppd.gz EPSON Stylus Color 640, CUPS+GIMP-print v4.1.7
  +
escp2-660.ppd.gz EPSON Stylus Color 660, CUPS+GIMP-print v4.1.7
  +
escp2-670.ppd.gz EPSON Stylus Color 670, CUPS+GIMP-print v4.1.7
  +
escp2-680.ppd.gz EPSON Stylus Color 680, CUPS+GIMP-print v4.1.7
  +
escp2-740.ppd.gz EPSON Stylus Color 740, CUPS+GIMP-print v4.1.7
  +
escp2-760.ppd.gz EPSON Stylus Color 760, CUPS+GIMP-print v4.1.7
  +
escp2-777.ppd.gz EPSON Stylus Color 777, CUPS+GIMP-print v4.1.7
  +
escp2-800.ppd.gz EPSON Stylus Color 800, CUPS+GIMP-print v4.1.7
  +
escp2-850.ppd.gz EPSON Stylus Color 850, CUPS+GIMP-print v4.1.7
  +
escp2-860.ppd.gz EPSON Stylus Color 860, CUPS+GIMP-print v4.1.7
  +
escp2-880.ppd.gz EPSON Stylus Color 880, CUPS+GIMP-print v4.1.7
  +
escp2-900.ppd.gz EPSON Stylus Color 900, CUPS+GIMP-print v4.1.7
  +
escp2-980.ppd.gz EPSON Stylus Color 980, CUPS+GIMP-print v4.1.7
  +
escp2-1160.ppd.gz EPSON Stylus Color 1160, CUPS+GIMP-print v4.1.7
  +
escp2-1500.ppd.gz EPSON Stylus Color 1500, CUPS+GIMP-print v4.1.7
  +
escp2-1520.ppd.gz EPSON Stylus Color 1520, CUPS+GIMP-print v4.1.7
  +
escp2-3000.ppd.gz EPSON Stylus Color 3000, CUPS+GIMP-print v4.1.7
  +
escp2-pro-xl.ppd.gz EPSON Stylus Color Pro XL, CUPS+GIMP-print v4.1.7
  +
escp2-pro.ppd.gz EPSON Stylus Color Pro, CUPS+GIMP-print v4.1.7
  +
stcolor.ppd EPSON Stylus Color Series CUPS v1.1
  +
escp2.ppd.gz EPSON Stylus Color, CUPS+GIMP-print v4.1.7
  +
escp2-700.ppd.gz EPSON Stylus Photo 700, CUPS+GIMP-print v4.1.7
  +
escp2-720.ppd.gz EPSON Stylus Photo 720, CUPS+GIMP-print v4.1.7
  +
escp2-750.ppd.gz EPSON Stylus Photo 750, CUPS+GIMP-print v4.1.7
  +
escp2-780.ppd.gz EPSON Stylus Photo 780, CUPS+GIMP-print v4.1.7
  +
escp2-790.ppd.gz EPSON Stylus Photo 790, CUPS+GIMP-print v4.1.7
  +
escp2-870.ppd.gz EPSON Stylus Photo 870, CUPS+GIMP-print v4.1.7
  +
escp2-890.ppd.gz EPSON Stylus Photo 890, CUPS+GIMP-print v4.1.7
  +
escp2-1200.ppd.gz EPSON Stylus Photo 1200, CUPS+GIMP-print v4.1.7
  +
escp2-1270.ppd.gz EPSON Stylus Photo 1270, CUPS+GIMP-print v4.1.7
  +
escp2-1280.ppd.gz EPSON Stylus Photo 1280, CUPS+GIMP-print v4.1.7
  +
escp2-1290.ppd.gz EPSON Stylus Photo 1290, CUPS+GIMP-print v4.1.7
  +
escp2-2000.ppd.gz EPSON Stylus Photo 2000P, CUPS+GIMP-print v4.1.7
  +
escp2-ex.ppd.gz EPSON Stylus Photo EX, CUPS+GIMP-print v4.1.7
  +
stphoto.ppd EPSON Stylus Photo Series CUPS v1.1
  +
escp2-photo.ppd.gz EPSON Stylus Photo, CUPS+GIMP-print v4.1.7
  +
pcl-340.ppd.gz HP DeskJet 340, CUPS+GIMP-print v4.1.7
  +
pcl-400.ppd.gz HP DeskJet 400, CUPS+GIMP-print v4.1.7
  +
pcl-500.ppd.gz HP DeskJet 500, CUPS+GIMP-print v4.1.7
  +
pcl-501.ppd.gz HP DeskJet 500C, CUPS+GIMP-print v4.1.7
  +
pcl-520.ppd.gz HP DeskJet 520, CUPS+GIMP-print v4.1.7
  +
pcl-540.ppd.gz HP DeskJet 540C, CUPS+GIMP-print v4.1.7
  +
pcl-550.ppd.gz HP DeskJet 550C, CUPS+GIMP-print v4.1.7
  +
pcl-560.ppd.gz HP DeskJet 560C, CUPS+GIMP-print v4.1.7
  +
pcl-601.ppd.gz HP DeskJet 600 series, CUPS+GIMP-print v4.1.7
  +
pcl-600.ppd.gz HP DeskJet 600/600C, CUPS+GIMP-print v4.1.7
  +
pcl-690.ppd.gz HP DeskJet 690 series, CUPS+GIMP-print v4.1.7
  +
pcl-810.ppd.gz HP DeskJet 810C, CUPS+GIMP-print v4.1.7
  +
pcl-812.ppd.gz HP DeskJet 812C, CUPS+GIMP-print v4.1.7
  +
pcl-840.ppd.gz HP DeskJet 840C, CUPS+GIMP-print v4.1.7
  +
pcl-842.ppd.gz HP DeskJet 842C, CUPS+GIMP-print v4.1.7
  +
pcl-850.ppd.gz HP DeskJet 850C, CUPS+GIMP-print v4.1.7
  +
369
  +
Kapitel 9. Drucken
  +
pcl-855.ppd.gz HP DeskJet 855C, CUPS+GIMP-print v4.1.7
  +
pcl-870.ppd.gz HP DeskJet 870C, CUPS+GIMP-print v4.1.7
  +
pcl-890.ppd.gz HP DeskJet 890C, CUPS+GIMP-print v4.1.7
  +
pcl-895.ppd.gz HP DeskJet 895C, CUPS+GIMP-print v4.1.7
  +
pcl-900.ppd.gz HP DeskJet 900 series, CUPS+GIMP-print v4.1.7
  +
pcl-1100.ppd.gz HP DeskJet 1100C, CUPS+GIMP-print v4.1.7
  +
pcl-1120.ppd.gz HP DeskJet 1120C, CUPS+GIMP-print v4.1.7
  +
pcl-1200.ppd.gz HP DeskJet 1200C, CUPS+GIMP-print v4.1.7
  +
pcl-1220.ppd.gz HP DeskJet 1220C, CUPS+GIMP-print v4.1.7
  +
pcl-1600.ppd.gz HP DeskJet 1600C, CUPS+GIMP-print v4.1.7
  +
pcl-2000.ppd.gz HP DeskJet 2000 series, CUPS+GIMP-print v4.1.7
  +
pcl-2500.ppd.gz HP DeskJet 2500 series, CUPS+GIMP-print v4.1.7
  +
deskjet.ppd HP DeskJet Series CUPS v1.1
  +
pcl-4.ppd.gz HP LaserJet 4 series, CUPS+GIMP-print v4.1.7
  +
pcl-4l.ppd.gz HP LaserJet 4L, CUPS+GIMP-print v4.1.7
  +
pcl-4v.ppd.gz HP LaserJet 4V, 4Si, CUPS+GIMP-print v4.1.7
  +
pcl-5.ppd.gz HP LaserJet 5 series, CUPS+GIMP-print v4.1.7
  +
pcl-5si.ppd.gz HP LaserJet 5Si, CUPS+GIMP-print v4.1.7
  +
pcl-6.ppd.gz HP LaserJet 6 series, CUPS+GIMP-print v4.1.7
  +
pcl-2.ppd.gz HP LaserJet II series, CUPS+GIMP-print v4.1.7
  +
pcl-3.ppd.gz HP LaserJet III series, CUPS+GIMP-print v4.1.7
  +
laserjet.ppd HP LaserJet Series CUPS v1.1
  +
pcl-P1000.ppd.gz HP PhotoSmart P1000, CUPS+GIMP-print v4.1.7
  +
pcl-P1100.ppd.gz HP PhotoSmart P1100, CUPS+GIMP-print v4.1.7
  +
lexmark-3200.ppd.gz LEXMARK 3200, CUPS+GIMP-print v4.1.7
  +
lexmark-4076.ppd.gz LEXMARK 4076, CUPS+GIMP-print v4.1.7
  +
lexmark-z31.ppd.gz LEXMARK Z31, CUPS+GIMP-print v4.1.7
  +
lexmark-z52.ppd.gz LEXMARK Z52, CUPS+GIMP-print v4.1.7
  +
okidata9.ppd OKIDATA 9-Pin Series CUPS v1.1
  +
okidat24.ppd OKIDATA 24-Pin Series CUPS v1.1
  +
• -r class löscht einen Drucker aus der Gruppe. Wird der letzte Drucker einer Gruppe gelöscht, so wird auch
  +
die Gruppe gelöscht.
  +
• -v device-uri Setzt die Gerätedatei für die Kommunikation mit dem Drucker. Wenn für diesen Drucker bereits
  +
ein Druckjob anliegt, so wird dieser neugestartet und an das neue Device gesendet.
  +
• -D info Hier kann die Beschreibung für diesen Drucker angegeben werden. Beispielsweise „Drucker im Büro
  +
Mr. Torvalds“.
  +
• -E „Enable“ aktiviert den Drucker. Diese Option hat die gleichen Folgen wie die Kommandos enable(1) und
  +
accept(8).
  +
• -L location Beschreibt den Standort des Druckers.
  +
• -P ppd-file Name der zu verwendenden PPD Datei.
  +
9.1.7.1.4. Drucker löschen
  +
Um einen Drucker zu löschen wird die Option -x benutzt. Um den Drucker „LaserJet“ zu löschen kann
  +
folgendes Kommando benutzt werden:
  +
lpadmin -x LaserJet
  +
370
  +
Kapitel 9. Drucken
  +
9.1.7.1.5. Standarddrucker festlegen
  +
Der Standarddrucker wird mit der Option -d (default) gesetzt.
  +
lpadmin -d LaserJet
  +
9.1.7.1.6. Starten und stoppen von Druckern
  +
Die Kommandos enable und disable starten und stoppen den angegebenen Drucker.
  +
enable LaserJet
  +
disable LaserJet
  +
Gestoppte Drucker akzeptieren weiterhin Druckaufträge, diese werden jedoch erst gedruckt nachdem der
  +
Drucker wieder aktiviert wurde. Dies gibt dem Administrator die Chance ein Druckerproblem zu lösen ohne das
  +
Druckaufträge verloren gehen.
  +
accept LaserJet
  +
reject LaserJet
  +
Mit diesen Kommandos werden alle aufgelaufenen Druckaufträge gedruckt und weitere Druckaufträge nicht
  +
angenommen. Wenn der Drucker längere Zeit nicht zur Verfügung steht kann dieser so deaktiviert werden.
  +
9.1.7.2. Webbasiert
  +
Die Administration von CUPS kann auch komplett über ein Webinterface erfolgen. Hierzu wird ein
  +
Webbrowser benötigt, CUPS benutzt den Port 631 für das Konfigurationsinterface. Aus Sicherheitsgründen läßt
  +
sich das Webinterface zunächst nur von lokalen Rechner aus benutzen, unter der URL http://localhost:631 wird
  +
das Webinterface zur Verfügung gestellt.
  +
Abbildung 9-2. CUPS Administration - Webinterface
  +
371
  +
Kapitel 9. Drucken
  +
Alle Bereiche über die eine Veränderung der Konfiguration vorgenommen werden kann, sind nur mit einem
  +
Usernamen und dem passenden Passwort erreichbar. In jedem Fall kann die Administration als Superuser (root)
  +
erfolgen.
  +
Die grafische Administration gliedert sich in folgende Bereiche, die über die Startseite oder von jeder Seite aus
  +
über die Navigationsleiste am oberen Bildschirmrand, erreicht werden können:
  +
9.1.7.2.1. Administration
  +
Administration bietet eine Übersicht über die Bereiche „Classes“, „Jobs“ und „Printers“.
  +
Abbildung 9-3. CUPS Administration - Übersicht
  +
9.1.7.2.2. Gruppen
  +
Classes hier können Druckergruppen definiert werden. Wenn ein Druckauftrag an eine Gruppe gesendet wird,
  +
so wird der erste verfügbare Drucker dieser Gruppe den Auftrag bearbeiten. Dies ist in größeren Firmen
  +
372
  +
Kapitel 9. Drucken
  +
sinnvoll, so wird vermieden das auf eine Druckauftrag lange gewartet werden muß.
  +
Abbildung 9-4. CUPS Administration - Gruppen (Classes)
  +
9.1.7.2.3. Dokumentation
  +
Help an dieser Stelle finden sich Links auf die englische Dokumentation.
  +
373
  +
Kapitel 9. Drucken
  +
9.1.7.2.4. Druckaufträge
  +
Jobs hier können noch anstehende Druckaufträge verwaltet werden.
  +
Abbildung 9-5. CUPS Administration - Druckaufträge
  +
9.1.7.2.5. Drucker
  +
Printers sicher der wichtigste Punkt, die Verwaltung der Drucker. Hier können Drucker hinzugefügt oder
  +
374
  +
Kapitel 9. Drucken
  +
verändert werden.
  +
Abbildung 9-6. CUPS Administration - Druckerverwaltung
  +
In diesem Beispiel wurde bereits ein Drucker eingerichtet. Normalerweise ist diese Seite nach der Installation
  +
von CUPS leer. Durch einen Klick auf „Add Printer“ kann ein neuer Drucker dem System hinzugefügt werden.
  +
Abbildung 9-7. CUPS Administration - Drucker hinzufügen - Name
  +
375
  +
Kapitel 9. Drucken
  +
Zunächst sind für den Drucker ein Name, der Standort und eine Beschreibung anzugeben.
  +
Abbildung 9-8. CUPS Administration - Drucker hinzufügen - Schnittstelle
  +
Wenn der Drucker lokal an der Parallelen Schnittstelle des Rechners angeschlossen ist, wählen Sie hier „Parallel
  +
Port #1“ aus.
  +
CUPS bietet aber noch weitere Möglichkeiten um Daten auf Druckern auszugeben die nicht lokal instaliert sind.
  +
• http druckt direkt zum CUPS Port eines CUPS Servers.
  +
• ipp druckt über das Internet Printing Protocol.
  +
• ipd druckt über eine Queue des Internet Printing Protocols.
  +
• smb druckt auf freigegebenen Druckern die an Windows-Systemen hängen. Hierzu muß zusätzlich das Paket
  +
samba installiert sein, da das Programm smbspool benötigt wird.
  +
376
  +
Kapitel 9. Drucken
  +
Abbildung 9-9. CUPS Administration - Drucker hinzufügen - Hersteller
  +
Hier ist der Hersteller des Druckers anzugeben.
  +
Abbildung 9-10. CUPS Administration - Drucker hinzufügen - Treiber
  +
377
  +
Kapitel 9. Drucken
  +
An dieser Stelle geschieht die genaue Auswahl des geeigneten Druckertreibers. Versuchen Sie möglichst genau
  +
den richtigen Treiber auszuwählen.
  +
Damit ist die Einrichtung eines Drucker grundsätzlich abgeschlossen. Es sollte trotzdem noch ein Blick auf die
  +
weiteren Parameter geworfen werden.
  +
Abbildung 9-11. CUPS Administration - Druckerparameter ändern
  +
Hier sollten zumindest die Werte für die Papiergröße und die Druckauflösung angepasst werden. Je nach
  +
verwendetem Drucker und Treiber stehen hier noch weitere Optionen zur Verfügung. Weiterhin kann für jeden
  +
Druckauftrag eine Start- oder Endeseite gedruckt werden.
  +
9.1.7.2.6. Software
  +
Software verweist auf die Webseite http://www.cups.org.
  +
9.1.7.3. CUPS Konfigurationsdatei
  +
Die Konfigurationsdateien für CUPS finden sich unter /etc/cups/. Normalerweise ist es nicht notwendig an
  +
diesen Dateien etwas zu verändern, dennoch hier ein Überblick über die möglichen Einträge in der Datei
  +
/etc/cups/cupsd.conf.
  +
Wenn Sie bereits mit der Konfiguration des Apache Webservers vertraut sind, werden Sie auch mit dieser Datei
  +
schnell zurechtkommen.
  +
9.1.7.3.1. Server Identität
  +
• ServerName myhost.domain.com - Der Name des Servers, Voreinstellung ist der Hostname des Systems.
  +
• ServerAdmin root@your.domain.com - Die E-Mailadresse des Administrotors. Voreinstellung ist
  +
root@hostname.
  +
378
  +
Kapitel 9. Drucken
  +
9.1.7.3.2. Server Optionen
  +
• AccessLog /var/log/cups/access_log - Pfad und Dateiname der Logdatei für die Zugriffe auf den
  +
Server. Wenn kein führendes / Zeichen angegeben ist wird die Datei relativ zum ServerRoot abgelegt. Wird
  +
hier syslog angegeben, so werden die Daten an den Syslog Daemon geschickt.
  +
• DataDir /usr/share/cups - Das Verzeichnis mit den Datendateien für CUPS.
  +
• DefaultCharset utf-8 - Benutzter Zeichensatz.
  +
• DefaultLanguage en - Benutzte Sprache.
  +
• DocumentRoot /usr/share/cups/doc - Das Verzeichnis für die HTML Dokumente.
  +
• ErrorLog /var/log/cups/error_log - Pfad und Dateiname der Logdatei für die Zugriffe auf den
  +
Server. Wenn kein führendes / Zeichen angegeben ist wird die Datei relativ zum ServerRoot abgelegt. Wird
  +
hier syslog angegeben, so werden die Daten an den Syslog Daemon geschickt.
  +
• FontPath /usr/share/cups/fonts - Das Verzeichnis für die Schriften.
  +
• LogLevel info - Kontrolliert wieviele Informationen in ErrorLog geschrieben werden. Folgende Werte
  +
sind erlaubt:
  +
debug2 Log everything.
  +
debug Log almost everything.
  +
info Log all requests and state changes.
  +
warn Log errors and warnings.
  +
error Log only errors.
  +
none Log nothing.
  +
• MaxLogSize 0 - Die Maximale Größe jeder Logdatei ab der die Datei umkopiert und gepackt wird.
  +
Voreinstellung ist 1048576 (1MB). Die Angabe 0 deaktiviert diese Funktion.
  +
• PageLog /var/log/cups/page_log - Pfad und Dateiname der PageLog Datei. Wenn kein führendes /
  +
Zeichen angegeben ist wird die Datei relativ zum ServerRoot abgelegt. Wird hier syslog angegeben, so
  +
werden die Daten an den Syslog Daemon geschickt.
  +
• PreserveJobHistory Yes - Bestimmt ob die Druckauftragsliste gespeichert werden soll.
  +
• PreserveJobFiles No - Bestimmt ob die Druckaufträge gespeichert werden sollen.
  +
• AutoPurgeJobs No - Entfernt automatisch Druckjobs die durch Quotas begrenzt werden.
  +
• MaxJobs 0 - Maximale Anzahl der Jobs (aktive und abgeschlossene) die im Speicher gehalten werden. 0
  +
bedeutet kein Limit.
  +
• Printcap /etc/printcap - Pfad und Dateiname zur verwendeten Printcap. Keine Angabe unterdrückt die
  +
Erzeugung der Datei.
  +
• RequestRoot /var/spool/cups - In diesem Verzeichnis werden die Druckdateien gespeichert.
  +
• RemoteRoot remroot - Der Name des Benutzers der ohne Autorisierung Zugriff von einem anderen
  +
System erhalten kann.
  +
• ServerBin /usr/lib/cups - Das Verzeichnis für die benötigten Programme.
  +
• ServerRoot /etc/cups - Das Root-Verzeichnis für die Programme.
  +
9.1.7.3.3. Verschlüsselung
  +
• ServerCertificate /etc/cups/ssl/server.crt - Datei mit dem Serverzertifikat.
  +
• ServerKey /etc/cups/ssl/server.key - Datei mit dem Serverkey.
  +
379
  +
Kapitel 9. Drucken
  +
9.1.7.3.4. Filteroptionen
  +
• User lp und Group sys - Benutzer und Gruppe unter der der Server bei einem externen Kommando läuft.
  +
• RIPCache 8m - Speicher je RIP (Raster Image Prozessor) um Grafiken zu cachen. Der Wert kann jede ganze
  +
Zahl sein, gefolgt von „k“, „m“ oder „g“ für Kilo-, Mega-, oder Gigabyte.
  +
• TempDir /var/spool/cups/tmp - Das Verzeichnis für temporäre Dateien. Dieses Verzeichnis muß für
  +
den oben genannten Benutzer beschreibbar sein.
  +
• FilterLimit 0 - Maximale Anzahl von Filtern je Druckauftrag. Ein normaler Druckjob benötigt
  +
mindestens einen Wert von 200, der Wert 0 bedeutet kein Limit.
  +
9.1.7.3.5. Netzwerkoptionen
  +
• Port 631 - Port auf dem der Daemon horcht.
  +
• Listen hostname - Adresse auf der der Daemon horcht.
  +
• HostNameLookups On - Aktivieren der Nameserverabfragen bei Zugriffen.
  +
• KeepAlive On - Aufrechterhalten der Verbindung.
  +
• KeepAliveTimeout 60 - Zeit nach der KeepAlive-Verbindungen beendet werden.
  +
• MaxClients 100 - Maximale Anzahl der gleichzeitigen Client Verbindungen.
  +
• MaxRequestSize 0 - Maximale Größe der HTTP Anfragen und der Druckdateien. 0 deaktiviert diese
  +
Funktion.
  +
• Timeout 300 - Zeit zur der eine Anfrage ungültig wird.
  +
9.1.7.3.6. Browsing
  +
• Browsing On - Aktiviert die Netzwerkweiten Druckerinformationen.
  +
• BrowseAddress x.y.z.255 - Die Broadcast Adresse für das Browsing.
  +
• BrowseShortNames Yes - Benutzung von Kurznamen für die Drucker, beispielsweise „laserjet“ statt
  +
„laserjet@host.domain.de“.
  +
• BrowseAllow und BrowseDeny - Definieren die Ein- und Ausgangsmasken für auf den Server zugreifende
  +
Browser. Erlaubt sind folgende Notationen für die Adressen:
  +
All
  +
None
  +
*.domain.com
  +
.domain.com
  +
host.domain.com
  +
nnn.*
  +
nnn.nnn.*
  +
nnn.nnn.nnn.*
  +
nnn.nnn.nnn.nnn
  +
nnn.nnn.nnn.nnn/mm
  +
nnn.nnn.nnn.nnn/mmm.mmm.mmm.mmm
  +
• BrowseInterval 30 - Zeit zwischen zwei Aktualisierungen.
  +
380
  +
Kapitel 9. Drucken
  +
• BrowseOrder allow,deny oder BrowseOrder deny,allow - Reihenfolge der erlaubten/verweigerten
  +
Zugriffe. Aktualisierungen.
  +
• BrowsePoll address:port - Server die nach Druckern befragt werden sollen.
  +
• BrowsePort 631 - Port auf dem die Abfrage erfolgen soll.
  +
• BrowseRelay source-address destination-address - Weiterleiten von Anfragen.
  +
• BrowseTimeout 300 - Wenn innerhalb der Angegebenen Zeit keine Antwort von einem Drucker kommt, so
  +
wird dieser aus der Liste entfernt.
  +
• ImplicitClasses On - Druckaufträge die an einen Drucker geschickt werden unter dessen Namen
  +
ebenfalls eine Druckergruppe vorhanden ist, werden an die Gruppe gesendet.
  +
9.1.7.3.7. Sicherheits Optionen
  +
• SystemGroup lpadmin - Gruppenname für die Administrativen Aufgaben.
  +
• AuthType Basic - Die zu verwendende Authorisation, diese kann auf die Werte
  +
None - Perform no authentication
  +
Basic - Perform authentication using the HTTP Basic method.
  +
Digest - Perform authentication using the HTTP Digest method.
  +
eingestellt werden.
  +
• AuthClass System - Authorisationsgruppe, diese kann „Anonymous“, „User“ oder „System“ (für die
  +
Benutzer in der Gruppe „SystemGroup“) annehmen.
  +
• AuthGroupName System - Name der Gruppe für die zu Authentifizierende Gruppe.
  +
• AuthGroupName System - Name der Gruppe für die zu Authentifizierende Gruppe.
  +
9.1.7.3.8. Verzeichnisse
  +
Die Zugriffe auf die verschiedenen, zur Administartion von CUPS benötigten Verzeichnisse, können
  +
(wiederrum ähnlich der Apache Konfiguration) beschränkt werden. Hierzu stehen folgende Direktiven zur
  +
Verfügung.
  +
• Allow und Deny - Mit diesen Direktiven können Zugriffe erlaubt oder verboten werden. Die Reihenfolge
  +
läßt sich durch die Direktive Order beeinflussen.
  +
Für beide Direktiven sind folgende Notationen erlaubt
  +
All
  +
None
  +
*.domain.com
  +
.domain.com
  +
host.domain.com
  +
nnn.*
  +
nnn.nnn.*
  +
nnn.nnn.nnn.*
  +
nnn.nnn.nnn.nnn
  +
nnn.nnn.nnn.nnn/mm
  +
nnn.nnn.nnn.nnn/mmm.mmm.mmm.mmm
  +
Um die host und domain Notationen benutzen zu können, muß die Option HostNameLookups aktiviert
  +
sein.
  +
381
  +
Kapitel 9. Drucken
  +
• Encryption - hierfür sind folgende Werte möglich
  +
Always - Always use encryption (SSL)
  +
Never - Never use encryption
  +
Required - Use TLS encryption upgrade
  +
IfRequested - Use encryption if the server requests it
  +
• Location / - Für Location können die verschiedenen Verzeichnisse angegeben werden, zu jedem Eintrag
  +
können die oben beschriebenen Werte benutzt werden. Beispielsweise
  +
<Location /classes>
  +
#
  +
# You may wish to limit access to printers and classes, either with Allow
  +
# and Deny lines, or by requiring a username and password.
  +
#
  +
Order Deny,Allow
  +
Deny From All
  +
Allow From 127.0.0.1
  +
</Location>
  +
Beschränkt die Zugriffe auf das Verzeichnis /classes auf den lokalen Rechner.
  +
9.2. apsfilter
  +
Installieren Sie zuerst das Paket apsfilter, zum Beispiel mittels dpkg:
  +
dpkg -i apsfilter_5.1.3-3.deb
  +
Selecting previously deselected package apsfilter.
  +
(Reading database ... 61629 files and directories currently installed.)
  +
Unpacking apsfilter (from .../text/apsfilter_5.1.3-3.deb) ...
  +
Setting up apsfilter (5.1.3-3) ...
  +
apsfilterconfig is an interactive script for configuring apsfilter.
  +
Do you wish to run apsfilterconfig now? [yes/no] yes
  +
apsfilter benötigt mindestens die Pakete lpr oder lprng sowie file und awk. Sinnvoll ist es, auch die
  +
Pakete gs, a2ps, dvips, transfig, netpbm und mailx zu installieren.
  +
Auch bei diesem Paket steht Ihnen ein Konfigurationsprogramm zur Verfügung. Sie können dieses auch später
  +
jederzeit als apsfilterconfig aufrufen. Hierzu benötigen Sie, ebenso wie für die Installation von Paketen
  +
unter Debian GNU/Linux, Superuserrechte, da es sich um eine Konfiguration handelt, die systemweit gilt.
  +
Da es aber angeboten wird, können Sie auch gleich das Konfigurationsprogramm starten, geben Sie hierzu yes
  +
ein und drücken Sie die Taste RETURN.
  +
_/_/ _/_/ _/ _/ _/
  +
_/ _/ _/_/_/ _/_/_/ _/ _/ _/_/_/_/ _/_/ _/ _/_/
  +
_/_/_/_/ _/ _/ _/_/ _/_/_/_/ _/ _/ _/ _/_/_/_/ _/_/
  +
_/ _/ _/ _/ _/_/ _/ _/ _/ _/ _/ _/
  +
_/ _/ _/_/_/ _/_/_/ _/ _/ _/ _/_/ _/_/_/ _/
  +
_/
  +
_/
  +
Hi, welcome to the apsfilter SETUP and thanks for using apsfilter !
  +
Before we begin with the SETUP, I’d like to make you familiar
  +
with the apsfilters licence:
  +
1. apsfilter follows the GNU public license (GPL), see COPYRIGHT
  +
382
  +
Kapitel 9. Drucken
  +
2. and this little "Postcard License":
  +
"I’d like to get a postcard from you ! I’m interested in,
  +
who is using apsfilter, where you live, and where in the
  +
world apsfilter is doing it’s job"
  +
Please send me an e-mail to request-snailmail@klemm.gtn.com to
  +
get my postal address, this is questioned later in SETUP....
  +
ACCEPT LICENSE [Y|y|J|j|N|n] ? y
  +
Der Autor von apsfilter hat sein Programm unter die GPL gestellt und mit dem kleinen Zusatz versehen,
  +
ihm eine Postkarte zu schicken, wenn Ihnen das Programm gefällt und Sie es benutzen wollen. Wenn Sie dem
  +
Autor eine Postkarte schicken wollen, senden Sie ihm eine E-Mail unter der angegebenen Adresse. Akzeptieren
  +
Sie die Lizenz mit y.
  +
LICENSE accepted, thanks !!!
  +
_/ _/ _/ _/ _/_/
  +
_/_/ _/_/ _/_/_/ _/ _/_/_/ _/ _/_/_/
  +
_/ _/ _/ _/ _/ _/ _/ _/_/_/_/_/ _/ _/_/_/_/ _/ _/
  +
_/ _/ _/ _/ _/ _/ _/ _/ _/ _/
  +
_/ _/ _/_/_/ _/ _/ _/_/_/ _/ _/_/_/ _/
  +
_/
  +
_/_/
  +
Is Internet Mail up and running on *this* machine
  +
to request my postal address
  +
to follow the rules of the "Postcard License" ???
  +
Request my snail mail address now [Y|y|N|n] ? n
  +
Wenn Sie auf Ihrem System bereits ein Programm zum Versenden von E-Mail eingerichtet haben (exim, smail
  +
oder sendmail), können Sie gleich an dieser Stelle die Anschrift des Autors anfordern. Wenn Sie sich nicht
  +
sicher sind, wählen Sie einfach n.
  +
Vergessen Sie aber nicht, dies später nachzuholen, wenn Sie apsfilter benutzen. Die Autoren von freier
  +
Software investieren einen Großteil ihrer Freizeit in die Entwicklung von Software. Wenn Sie die Lizenz eines
  +
solchen Programms akzeptieren, sollten Sie auch so nett sein und der Aufforderung des Autors nach einer
  +
Postkarte nachkommen.
  +
o.k. for now ...
  +
... but please don’t forget to request it later ...
  +
Please *don’t* forget it !!!
  +
_/ _/ _/ _/ _/ _/ _/
  +
_/_/_/ _/_/_/_/ _/_/_/ _/ _/_/_/_/ _/_/_/ _/_/_/
  +
_/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/
  +
_/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/
  +
_/ _/ _/ _/ _/_/ _/ _/_/_/ _/ _/ _/_/_/_/ _/ _/ _/ _/_/_/
  +
_/
  +
_/_/
  +
cleaning global config file...
  +
looking for available filter programs on this system...
  +
found filter a2ps
  +
found filter bmptoppm
  +
missing filter djpeg
  +
found filter dvips
  +
found filter fig2dev
  +
found filter fig2dev
  +
383
  +
Kapitel 9. Drucken
  +
found filter fig2dev
  +
missing filter g3cat
  +
found filter g3topbm
  +
found filter giftopnm
  +
found filter groff
  +
found filter grog
  +
found filter gs
  +
missing filter html2ps
  +
missing filter pnmtolps
  +
found filter ppmtopgm
  +
found filter pnmtops
  +
missing filter ras2ps
  +
found filter rasttopnm
  +
missing filter recode
  +
found filter tifftopnm
  +
missing filter bunzip
  +
found filter bunzip2
  +
missing filter compress
  +
found filter gzip
  +
missing filter melt
  +
missing filter pack
  +
apsfilterconfig sucht auf Ihrem System nach Programmen die in den Filtern eingesetzt werden können,
  +
beispielsweise um Grafiken zu konvertieren. Je nachdem welche Pakete Sie bereits installiert haben, werden
  +
mehr oder weniger Filter gefunden. Mit Hilfe dieser Programme können über die Filter die verschiedensten
  +
Dateiformate direkt ausgedruckt werden.
  +
================================================================
  +
A P S F I L T E R V 513 *** The Unix Print Solution ***
  +
================================================================
  +
copyright Andreas Klemm 1993, 1994, 1995, 1996, 1997, 1998, 1999
  +
andreas@klemm.gtn.com
  +
http://www.FreeBSD.org/~andreas/apsfilter
  +
----------------------------------------
  +
for Unix systems with BSD compatible
  +
line printer scheduler (lpd)
  +
or with LPRng (new!)
  +
FreeBSD / NetBSD / OpenBSD / BSDI
  +
Linux and other flavours of Unix
  +
----------------------------------------
  +
++++ INSTALLATION PROGRAM ++++
  +
[ press <RETURN> to continue ]
  +
Als nächstes sehen Sie eine Seite mit allgemeinen Informationen zu apsfilter. Die Versionsnummer (in der
  +
ersten Zeile) sollten Sie bei Rückfragen an den Autor immer mit angeben, in diesem Beispiel verwenden wir die
  +
Version "513". Danach sehen Sie die Copyright-Information sowie noch einmal die E-Mail Adresse des Autors
  +
und die URL der apsfilter- Homepage sowie eine Kurzbeschreibung von apsfilter.
  +
Drücken Sie die Taste RETURN, wenn Sie alle Informationen gelesen haben.
  +
================================================================
  +
A P S F I L T E R S E T U P -- PROGRAM INFO --
  +
================================================================
  +
This SETUP script supports the user/administrator by
  +
- configuring serial and parallel printers
  +
- creating printer spool directories as needed
  +
- auto-creation of /etc/printcap config-file
  +
384
  +
Kapitel 9. Drucken
  +
for apsfilter (add / overwrite printer)
  +
- setting up apsfilter (which gs driver to use,
  +
paper size, print resolution and color depth)
  +
- printing a test page (settings may be modified
  +
until successfull ouput of a testpage)
  +
- saves some SETUP settings in /etc/apsfilterrc
  +
it does not:
  +
- complete printer management in /etc/printcap
  +
(delete/modify printer)
  +
----------------------------------------------------------------
  +
[ press <RETURN> to continue ]
  +
Es folgt eine detailliertere Beschreibung, welche Schritte durch das Konfigurationsprogramm durchgeführt
  +
werden.
  +
==================================================================
  +
A P S F I L T E R S E T U P -- MAIN MENUE --
  +
==================================================================
  +
currently selected
  +
------------------------------------------------------------------
  +
(D) Available Device Drivers in your gs binary (gs -h)
  +
(R) Ghostscript 5.50 docu about printer drivers (devices.txt)
  +
(1) Printer Driver Selection [ ]
  +
(2) Interface Setup []
  +
For printing the test page:
  +
(3) Print Resolution in "dots per inch" []
  +
(4) Toggle Monochrom/Color (1bpp=bw) []
  +
(5) Paper Format [a4]
  +
(T) Print Test Page (after step 1-5)
  +
(V) View perf.log (times of print attempts)
  +
(C) ==> Continue printer setup with values shown above
  +
(Q) Quit Setup
  +
Your choice ? 1
  +
Sie gelangen nun zum eigentlichen Hauptmenü für die Konfiguration von apsfilter. Sie können die
  +
einzelnen Punkte mit den Buchstaben beziehungsweise den Zahlen, die den Punkten vorangestellt sind,
  +
auswählen (beispielsweise „D“ oder „4“ usw.). Die beiden ersten Punkte sind für Debian GNU/Linux bereits
  +
korrekt voreingestellt. Wählen Sie also zuerst den Menüpunkt 1 - „Printer Driver Selection“ aus.
  +
----------------------------------------------------------------
  +
A P S F I L T E R S E T U P -- Printer Driver Selection --
  +
----------------------------------------------------------------
  +
Please select a category that contains your printer driver
  +
1 - for Apple and Apple compatible printer
  +
2 - for Canon and Canon compatible printer
  +
3 - for Epson and ESC/2 compatible printer
  +
4 - for HP Deskjets and DeskJet compatible printer
  +
5 - for HP LaserJets and LaserJet compatible printer
  +
6 - for HP Paint-/DesignJets and compatible printer
  +
7 - for DEC, IBM, NEC, Okidata and compatible printer
  +
8 - for other non PS printer, includes new gs 5.5 uniprint driver
  +
9 - for a _true_ Postscript printer"
  +
385
  +
Kapitel 9. Drucken
  +
Hint: feel free to browse through all categories, by simply not
  +
selecting any driver (i.e.: by hitting only the <RETURN> key).
  +
Your choice ? 5
  +
Zuerst müssen Sie eine passende Gruppe auswählen, zu der Ihr Drucker am besten paßt. Da die Hersteller von
  +
Druckern in der Regel keine Linux-Treiber zu ihren Druckern mitliefern, werden Sie für die neuesten am Markt
  +
erhältlichen Modelle keinen optimalen Treiber finden. Probieren Sie einfach einen ähnlichen Drucker aus, in der
  +
Regel wird dies funktionieren.
  +
Für unser Beispiel wählen wir einen „HP LaserJet“, also einen Laserdrucker aus.
  +
-----------------------------------------------------------------
  +
List of ghostscript5.03 HP LaserJet printer driver
  +
-----------------------------------------------------------------
  +
(1) laserjet - HP LaserJet
  +
(2) ljet2p - HP LaserJet IId/IIp/III with TIFF compression
  +
(3) ljet3 - HP LaserJet III with Delta Row compression
  +
(4) ljet3d - HP LaserJet IIID with duplex capability
  +
(5) ljet4 - HP LaserJet 4 (defaults to 600dpi)
  +
(6) lj4dith - HP LaserJet 4 with Floyd-Steinberg dithering
  +
(7) ljetplus - HP LaserJet Plus
  +
(8) lj5mono - HP LaserJet 5 and 6 family (PCL5 / PCL XL), bitmap
  +
(9) lj5gray - HP LaserJet 5 and 6 family, gray-scale bitmap
  +
-----------------------------------------------------------------
  +
Please enter the printer driver of your choice
  +
or type <RETURN> to choose another category/driver:
  +
Your choice ? 5
  +
Anschließend können Sie aus einer Liste von verschiedenen Modellen wählen. Auch hier gilt wieder: wenn Sie
  +
nicht genau Ihren Druckertyp finden, wählen Sie einen Typ, der Ihrem Drucker weitestgehend entspricht.
  +
Glücklicherweise finden wir in unserem Beispiel aber genau das gewünschte Modell, einen LaserJet 4, in der
  +
Liste. Wählen Sie den gewünschten Typ durch Eingabe der entsprechenden Zahl, die vor dem Typ steht, hier
  +
also die 5.
  +
Please confirm selection [ ljet4 ]
  +
OK y/n ? y
  +
Der gewählte Typ wird nochmal vom Installationsprogramm ausgegeben, und Sie werden nochmal
  +
aufgefordert, dies mit y zu bestätigen, wenn Sie mit der Auswahl einverstanden sind.
  +
==================================================================
  +
A P S F I L T E R S E T U P -- MAIN MENUE --
  +
==================================================================
  +
currently selected
  +
------------------------------------------------------------------
  +
(D) Available Device Drivers in your gs binary (gs -h)
  +
(R) Ghostscript 5.50 docu about printer drivers (devices.txt)
  +
(1) Printer Driver Selection [ljet4 ]
  +
(2) Interface Setup []
  +
For printing the test page:
  +
(3) Print Resolution in "dots per inch" [default]
  +
(4) Toggle Monochrom/Color (1bpp=bw) [default]
  +
(5) Paper Format [a4]
  +
(T) Print Test Page (after step 1-5)
  +
(V) View perf.log (times of print attempts)
  +
(C) ==> Continue printer setup with values shown above
  +
(Q) Quit Setup
  +
Your choice ? 2
  +
386
  +
Kapitel 9. Drucken
  +
Nachdem Sie nun den Typ des Druckers eingestellt haben, müssen Sie noch die Schnittstelle festlegen. In der
  +
Urzeit der Computertechnik war es durchaus üblich, Drucker über die serielle Schnittstelle anzuschließen. Diese
  +
Modelle trifft man auch heute noch vereinzelt an, meist als Nadeldrucker. Normalerweise wird aber ein Drucker
  +
meist an den parallelen Port eines Rechners angeschlossen. Wählen Sie also erst einmal die 2.
  +
----------------------------------------------------------------
  +
A P S F I L T E R S E T U P -- Interface Setup --
  +
----------------------------------------------------------------
  +
The easiest way, to connect a printer to your computer is by
  +
using the parallel interface, because it’s usually *faster*,
  +
more standardized and therefore much easier to configure.
  +
When configuring a serial printer, the installation dialogue
  +
asks you many questions about how to configure the serial
  +
interface of your computer, so that it works well with your
  +
printers current settings.
  +
When using the serial interface, then you have to choose special
  +
cables, depending on the communication protocol between computer
  +
and printer (hardware/software handshaking). Many pitfalls here !
  +
currently selected: Interface: []
  +
Device: []
  +
1) configure a parallel printer (best choice !)
  +
2) configure a serial printer (more work, but possible)
  +
Your choice ? 1
  +
Hier können Sie also zwischen einem Drucker an der parallelen oder der seriellen Schnittstelle wählen. Geben
  +
Sie eine 1 für den parallelen Port ein.
  +
----------------------------------------------------------------
  +
A P S F I L T E R Parallel Interface Settings -- Device --
  +
----------------------------------------------------------------
  +
Depending on your flavour of Unix, you have to enter the
  +
*full path* to your parallel Interface. In case of trouble please
  +
contact your local system administrator or read your operating
  +
systems technical documentation, FreeBSD handbook or Linux HowTo.
  +
Some examples:
  +
FreeBSD, NetBSD, OpenBSD: LPT1: /dev/lpt0 LPT2: /dev/lpt1
  +
Linux: LPT1: /dev/lp0 LPT2: /dev/lp1
  +
SunOS4: /dev/bpp0 /dev/bpp1
  +
currently selected: Interface: [parallel]
  +
Device: []
  +
Full path of parallel print device: /dev/lp0
  +
Wählen Sie nun aus der angezeigten Tabelle den Anschluß aus, an dem Ihr Drucker angeschlossen ist. Der
  +
Linux Kernel verwaltet die parallelen Schnittstellen als /dev/lp0 für die erste sowie /dev/lp1 für die zweite
  +
parallele Schnittstelle. Normalerweise verfügt ein Rechner nur über eine parallele Schnittstelle, diese wird unter
  +
DOS als LPT1: bezeichnet, dies entspricht /dev/lp0 unter Linux.
  +
In 99% aller Fälle wird also /dev/lp0 die richtige Eingabe an dieser Stelle sein.
  +
==================================================================
  +
A P S F I L T E R S E T U P -- MAIN MENUE --
  +
==================================================================
  +
currently selected
  +
387
  +
Kapitel 9. Drucken
  +
------------------------------------------------------------------
  +
(D) Available Device Drivers in your gs binary (gs -h)
  +
(R) Ghostscript 5.50 docu about printer drivers (devices.txt)
  +
(1) Printer Driver Selection [ljet4 ]
  +
(2) Interface Setup [parallel]
  +
For printing the test page:
  +
(3) Print Resolution in "dots per inch" [default]
  +
(4) Toggle Monochrom/Color (1bpp=bw) [default]
  +
(5) Paper Format [a4]
  +
(T) Print Test Page (after step 1-5)
  +
(V) View perf.log (times of print attempts)
  +
(C) ==> Continue printer setup with values shown above
  +
(Q) Quit Setup
  +
Your choice ? c
  +
Die Punkte 3, 4 und 5 können Sie erst einmal so belassen, fahren Sie jetzt mit c - Continue printer
  +
setup... fort.
  +
================================================================
  +
A P S F I L T E R I N S T A L L A T I O N
  +
================================================================
  +
apsfilter installation....
  +
saving original printcap -> /etc/printcap.orig
  +
creating a working copy of printcap -> /etc/printcap.old
  +
Is your printer a (c)olor printer
  +
or a (m)ono printer ?
  +
? m
  +
An dieser Stelle erstellt das Konfigurationsprogramm eine Kopie der Datei /etc/printcap als
  +
/etc/printcap.org. In dieser Datei befinden sich alle nötigen Informationen zu Ihrem Drucker sowie
  +
anderen Druckern, die eventuell übers Netz zu erreichen sind.
  +
Wählen Sie nun noch zwischen einem Farb- oder Schwarz-Weiß-Drucker aus. Laserdrucker mit Farbfähigkeiten
  +
sind momentan noch nicht in Preisregionen angelangt, die man sich zu Hause auf den Schreibtisch stellt, so daß
  +
in unserem Beispiel ein m für „monochrome“ die richtige Wahl ist. Benutzer eines farbfähigen Druckers wählen
  +
hier c.
  +
Starting with lpN where N is 1
  +
making apsfilter label in /etc/printcap...
  +
** creating printcap entries in /etc/printcap...
  +
--> ascii|lp1|ljet4-a4-ascii-mono|ljet4 ascii mono:\
  +
setting up spooldir for /var/spool/lpd/ljet4-a4-ascii-mono done.
  +
--> lp|lp2|ljet4-a4-auto-mono|ljet4 auto mono:\
  +
setting up spooldir for /var/spool/lpd/ljet4-a4-auto-mono done.
  +
--> raw|lp3|ljet4-a4-raw|ljet4 auto raw
  +
setting up spooldir for /var/spool/lpd/ljet4-raw done.
  +
cannot find the directory for printerfilter (symlinks)
  +
creating /var/lib/apsfilter/filter...
  +
Finished creating/updating /etc/printcap...
  +
Now some important news/informations follow...
  +
Please read them carefully !
  +
[ press <RETURN> to continue ]
  +
388
  +
Kapitel 9. Drucken
  +
Das Konfigurationsprogramm hat nun die Datei /etc/printcap neu erstellt. Es wurden verschiedene Einträge
  +
vorgenommen, die Sie später direkt mit dem Kommando lpr anwählen können, beispielsweise mit: lpr -p
  +
ascii dateiname.
  +
Im folgenden finden Sie noch einige Informationen zu apsfilter.
  +
_/ _/
  +
_/_/ _/ _/_/ _/ _/ _/ _/_/_/
  +
_/ _/ _/ _/_/_/_/ _/ _/ _/ _/_/
  +
_/ _/_/ _/ _/ _/ _/ _/ _/_/
  +
_/ _/ _/_/_/ _/ _/ _/_/_/
  +
See the ANNOUNCE and ChangeLog files for more informations about
  +
changes in apsfilter. Some more of them I will tell you during
  +
this SETUP script ...
  +
Now it’s possible to setup apsfilter, that you can use
  +
different print resolutions, i.e.:
  +
lpr -Plow test.ps (to print with 180dpi)
  +
lpr -Pmed test.ps (to print with 360dpi)
  +
lpr -Phigh test.ps (to print with 720dpi)
  +
See the file INSTALL for more infos on this.
  +
The INSTALL file contains a working example !
  +
[ press <RETURN> to continue ]
  +
_/ _/
  +
_/_/ _/ _/_/ _/ _/ _/ _/_/_/
  +
_/ _/ _/ _/_/_/_/ _/ _/ _/ _/_/
  +
_/ _/_/ _/ _/ _/ _/ _/ _/_/
  +
_/ _/ _/_/_/ _/ _/ _/_/_/
  +
For printing ASCII files apsfilter now uses a2ps V. 4.12 or higher.
  +
Old patched a2ps and rewindstdin have gone !
  +
As an alternative to a2ps you can use recode by setting the new
  +
environment variable USE_RECODE_NOT_A2PS in one of the apsfilterrc
  +
files.
  +
[ press <RETURN> to continue ]
  +
_/ _/
  +
_/_/ _/ _/_/ _/ _/ _/ _/_/_/
  +
_/ _/ _/ _/_/_/_/ _/ _/ _/ _/_/
  +
_/ _/_/ _/ _/ _/ _/ _/ _/_/
  +
_/ _/ _/_/_/ _/ _/ _/_/_/
  +
Note: apsfilter is now customizeable, by different apsfilterrc files !
  +
A) system wide configuration file for every printer driver type:
  +
/etc/apsfilterrc
  +
B) system wide configuration file for special printer driver type:
  +
/etc/apsfilterrc.<GS_DRIVERNAME>
  +
If defining INSECURE in /etc/apsfilterrc it’s possible to allow
  +
user to overwrite the settings (A+B):
  +
C) user defined settings for every printer driver type:
  +
$HOME/.apsfilterrc
  +
D) user defined settings for special printer driver type:
  +
389
  +
Kapitel 9. Drucken
  +
$HOME/.apsfilterrc.<GS_DRIVERNAME>
  +
The config files are read in that order (if present), so
  +
option D can overwrite settings done in A + B + C
  +
[ press <RETURN> to continue ]
  +
_/
  +
_/ _/_/ _/_/ _/_/_/ _/_/ _/_/ _/_/_/_/ _/_/
  +
_/_/ _/_/_/_/ _/ _/ _/ _/ _/ _/ _/_/_/_/
  +
_/ _/ _/ _/ _/ _/ _/ _/ _/
  +
_/ _/_/_/ _/ _/ _/ _/_/ _/_/ _/_/_/ _/ _/ _/
  +
Here an IMPORTANT LAST NOTE about REMOTE PRINTING, a thing that caused
  +
trouble for several people, that aren’t familiar with lpd, input filters
  +
and remote printing.
  +
Apsfilter is designed as a "lpd-input filter". This means - and this
  +
is really bad news - that apsfilter (as input filter) works only, if
  +
the printer, you want to print on, is locally on that machine,
  +
where you installed apsfilter !
  +
FreeBSD is the only operating system known to me, that patched the
  +
stock Berkeley lineprinter daemon, to allow input filters to work
  +
with remote printers !!!
  +
[ press <RETURN> to continue ]
  +
_/_/_/ _/
  +
_/ _/ _/_/ _/_/_/ _/_/_/ _/_/_/
  +
_/ _/ _/_/_/_/ _/_/ _/ _/ _/ _/ _/
  +
_/ _/ _/ _/_/ _/ _/ _/ _/ _/
  +
_/_/_/ _/_/_/ _/_/_/ _/ _/_/_/ _/ _/ _/ _/ _/
  +
_/
  +
_/_/
  +
Apsfilter should be installed on a Server or Desktop machine,
  +
where the printer(s) is(are) connected to.
  +
User on other machines (Unix or Windows) in the network are then
  +
able to print onto "apsfilter print server"’s printer.
  +
Windows 95 needs samba on the apsfilter print server.
  +
Windows NT machines are able to print with Berkeley LPD protocol,
  +
if you installed the necessary service for this. This is usually
  +
done during NT installation, but can be done later as well.
  +
[ press <RETURN> to continue ]
  +
_/_/_/ _/
  +
_/ _/ _/_/ _/_/_/ _/_/_/ _/_/_/
  +
_/ _/ _/_/_/_/ _/_/ _/ _/ _/ _/ _/
  +
_/ _/ _/ _/_/ _/ _/ _/ _/ _/
  +
_/_/_/ _/_/_/ _/_/_/ _/ _/_/_/ _/ _/ _/ _/ _/
  +
_/
  +
_/_/
  +
FreeBSD’s line printer scheduler allows you to use network (remote)
  +
390
  +
Kapitel 9. Drucken
  +
printer !!!
  +
If you have a FreeBSD system 2.2.x (or higher), it’s possible to install
  +
apsfilter on a machine without printers and to print onto remote (network)
  +
printers.
  +
FreeBSD doesn’t have the typical limitation, that line printer input
  +
filters (like apsfilter) doesn’t work with remote printers.
  +
Other systems need the hack in apsfilter, that print output is send
  +
to a printer called "remote", which has to be installed by you manually
  +
in /etc/printcap. See my comments in the apsfilter shellscript.
  +
[ press <RETURN> to continue ]
  +
_/_/_/
  +
_/ _/ _/ _/_/ _/_/ _/_/_/ _/_/ _/_/
  +
_/_/_/ _/_/ _/ _/ _/ _/ _/ _/ _/
  +
_/ _/ _/ _/ _/ _/ _/ _/ _/
  +
_/ _/ _/_/ _/ _/ _/ _/_/ _/ _/ _/
  +
I’d really like to get some mails from you,
  +
- why you like apsfilter
  +
- how apsfilter saved your or your companies printing problems
  +
Please send apsfilter promotion e-mails to the following e-mail address:
  +
apsfilter-promo@klemm.gtn.com
  +
BTW: I plan to include this promo stuff to the apsfilter homepage.
  +
In return you get the possibility to introduce you and your company
  +
and how apsfilter solved your or your companies printing problems ;-)
  +
[ press <RETURN> to continue ]
  +
_/ _/ _/ _/ _/ _/
  +
_/ _/ _/ _/ _/ _/
  +
_/ _/ _/ _/ _/ _/ _/ _/ _/
  +
_/ _/ _/ _/ _/ _/ _/ _/ _/
  +
_/ _/ _/ _/ _/ _/
  +
How to get current infos about apsfilter (news, updates, patches, ...)
  +
Apsfilter’s homepage:
  +
http://www.FreeBSD.org/~andreas
  +
You also find a picture of me and can read about who I am, what I
  +
do for free Unix systems, especially FreeBSD and what my current
  +
activities are.
  +
There are also other interesting resources, please visit my Unix Promo
  +
corner, Unix vs. NT, which contains many interesting links concerning
  +
that ;-)
  +
[ press <RETURN> to continue ]
  +
_/_/_/ _/ _/ _/_/_/ _/ _/
  +
391
  +
Kapitel 9. Drucken
  +
_/ _/ _/ _/ _/ _/_/_/_/ _/_/_/
  +
_/_/_/ _/_/_/_/ _/_/_/ _/ _/ _/_/
  +
_/ _/ _/ _/ _/ _/ _/ _/_/
  +
_/_/ _/ _/_/_/ _/ _/_/ _/_/_/
  +
Our band "64Bits":
  +
Please visit our band’s homepage, from there you get band
  +
informations and you can download cool songs.
  +
Currently there is a Rock ballade available for download as
  +
MPEG 3 file, please see:
  +
http://www.FreeBSD.org/~andreas/64bits/
  +
Please send us e-mail, how you find the song, etc.
  +
Since we only have few time to probe because of job (you know ;-)
  +
we currently are unable to make live concerts.
  +
So YOU are our virtual audience and we’d LOVE to get some feedback ;-)
  +
Thanks !
  +
[ press <RETURN> to continue ]
  +
One last check for filter programs....
  +
cleaning global config file...
  +
looking for available filter programs on this system...
  +
found filter a2ps
  +
found filter bmptoppm
  +
missing filter djpeg
  +
found filter dvips
  +
found filter fig2dev
  +
found filter fig2dev
  +
found filter fig2dev
  +
missing filter g3cat
  +
found filter g3topbm
  +
found filter giftopnm
  +
found filter groff
  +
found filter grog
  +
found filter gs
  +
missing filter html2ps
  +
missing filter pnmtolps
  +
found filter ppmtopgm
  +
found filter pnmtops
  +
missing filter ras2ps
  +
found filter rasttopnm
  +
missing filter recode
  +
found filter tifftopnm
  +
missing filter bunzip
  +
found filter bunzip2
  +
missing filter compress
  +
found filter gzip
  +
missing filter melt
  +
missing filter pack
  +
[ press <RETURN> to continue ]
  +
_/_/_/ _/
  +
_/ _/ _/_/ _/_/_/ _/_/ _/
  +
_/ _/ _/ _/ _/ _/ _/_/_/_/ _/
  +
_/ _/ _/ _/ _/ _/ _/
  +
_/_/_/ _/_/ _/ _/ _/_/_/ _/
  +
That’s it...
  +
392
  +
Kapitel 9. Drucken
  +
...have fun !!!
  +
Andreas ///
  +
Zum Abschluß wurden nochmals die Filter überprüft und die Konfiguration ist damit abgeschlossen.
  +
Sie können nun aus Anwendungen heraus, wie zum Beispiel Netscape, oder direkt von der Kommandozeile
  +
(mit lpr dateiname) drucken.
  +
9.2.1. Einstellen der Papiergröße
  +
Die Einstellung der Papiergröße auf einem Debian GNU/Linux-System wird während der Installation von
  +
Ghostscript abgefragt. Der Wert wird in der Datei /etc/papersize gespeichert und kann dort auch jederzeit
  +
geändert werden. Normalerweise werden Sie dort den Wert A4 vorfinden, weitere sinnvolle Werte wären zum
  +
Beispiel auch A3 oder letter. Die meisten Programme benutzen diesen Wert, um die korrekte Papiergröße
  +
einzustellen.
  +
Wenn Sie CUPS als Drucksystem benutzen, kann die Papiergröße dort eingestellt werden.
  +
9.3. Drucken von True Type Fonts
  +
Der Ausdruck von Dateien erfolgt unter Debian GNU/Linux immer über das Programm ghostscript.
  +
ghostscript ist unter Debian GNU/Linux in zwei Versionen verfügbar, eine Version im Bereich main, die
  +
andere im Bereich non-free. Beide Versionen unterstützen auch True Type Fonts. Sie sollten auf alle Fälle
  +
schon einen Font-Server für X11 mit Unterstützung für True-Type-Schriften installiert haben, wenn Sie diese
  +
auch drucken möchten.
  +
Erzeugen Sie zuerst eine Liste aller verfügbaren True-Type-Schriften und fügen Sie diese an die Liste der
  +
ghostscript-Schriften mit dem Kommando: xfstt --gslist --sync >> /etc/gs.Fontmap an.
  +
Verändern Sie nun die Datei /etc/gs.Fontmap sinngemäß wie in folgendem Beispiel. Aus:
  +
(Arial) (/usr/share/fonts/truetype/arial.ttf) ;
  +
(Arial Bold Italic) (/usr/share/fonts/truetype/arialbi.ttf) ;
  +
wird:
  +
/MS-Arial (/usr/share/fonts/truetype/arial.ttf) ;
  +
/MS-Arial-Bold-Italic (/usr/share/fonts/truetype/arialbi.ttf) ;
  +
(Arial Bold Italic) /MS-Arial-Bold-Italic ;
  +
/Arial /MS-Arial ;
  +
Diese Veränderung stellt sicher, daß alle True-Type-Schriften unter einem eindeutigen Namen verfügbar sind.
  +
Weiterhin wird ghostscript so dazu veranlaßt, die True-Type-Schriften anstatt der Standard Schriften zu
  +
verwenden.
  +
Um zu erreichen, daß ghostscript den Font „Helvetica“ durch den True Type Font „Arial“ ersetzt, können
  +
Sie folgenden Eintrag vornehmen:
  +
/Helvetica /MS-Arial ;
  +
/Helvetica-Oblique /MS-Arial-Italic ;
  +
/Helvetica-Bold /MS-Arial-Bold ;
  +
/Helvetica-BoldOblique /MS-Arial-Bold-Italic ;
  +
Um zu überprüfen, daß Schriften auch von ghostscript gedruckt werden, erstellen Sie folgendes kleines
  +
Script und speichern es als Datei printfont:
  +
#!/bin/sh
  +
set -e
  +
IFS= ’)’
  +
393
  +
Kapitel 9. Drucken
  +
while read fontname rest
  +
do
  +
cat << EOM | lpr
  +
%!PS
  +
(/usr/lib/ghostscript/5.50/prfont.ps) run
  +
$fontname) DoFont
  +
EOM
  +
done
  +
Dieses Script erzeugt eine Liste aller Fonts, die ghostscript bekannt sind, und druckt diese aus. Wenn Sie
  +
nur einige wenige oder einen bestimmten Font drucken wollen, können Sie auch dieses Script benutzen:
  +
#!/bin/sh
  +
set -e
  +
while read -p "Font name, or ^D to exit: " fontname
  +
do
  +
cat << EOM | lpr
  +
%!PS
  +
(/usr/lib/ghostscript/5.50/prfont.ps) run
  +
$fontname DoFont
  +
EOM
  +
done
  +
Rufen Sie nun eines der beiden Scripte wie folgt auf: xfstt --gslist --sync | printfont.
  +
9.4. Netzwerkdrucker
  +
Wenn Sie über zwei Rechner oder sogar über ein kleines Netz verfügen, so haben Sie sicher nicht an jedem
  +
Rechner einen eigenen Drucker angeschlossen. Debian GNU/Linux bietet Ihnen die Möglichkeit, auch über das
  +
Netzwerk zu drucken. Voraussetzung ist dazu natürlich ein Drucker mit einer funktionierenden Konfiguration
  +
(lesen Sie dazu den Abschnitt über apsfilter) sowie ein funktionsfähiges Netzwerk mit mindestens zwei
  +
Rechnern.
  +
Im folgenden werden wir beschreiben, wie Sie einen an einem Debian GNU/Linux-Rechner angeschlossenen
  +
Drucker von verschiedenen Betriebssystemen aus benutzen können. Lesen Sie hierzu auch die Abschnitte über
  +
Samba und netatalk.
  +
9.4.1. Linux – Linux
  +
Wenn Sie von einem Debian GNU/Linux-Rechner auf einen an einem anderen Debian GNU/Linux-Rechner
  +
angeschlossenen Drucker drucken wollen, ist dies recht einfach einzurichten. Zunächst müssen Sie auf dem
  +
Rechner, an dem der Drucker angeschlossen ist, diesen für die anderen Rechner freigeben. Dies geschieht durch
  +
folgenden Eintrag in der Datei /etc/hosts.equiv:
  +
hoshi.openoffice.de
  +
sushi.openoffice.de
  +
192.168.22.33
  +
Dies gibt den Zugriff auf den lokalen Drucker von den Rechnern „hoshi“, „sushi“ und einem Namenlosen
  +
Rechner mit der IP-Nummer 192.168.22.33 im internen Netz, frei. Sie müssen nun noch auf den anderen
  +
Rechnern die Datei /etc/printcap um einen Eintrag für den Remote-Drucker erweitern:
  +
lp|Remote printer entry:\
  +
:lp=:\
  +
:rm=linux.openoffice.de:\
  +
:rp=lp:\
  +
:sd=/var/spool/lpd/remote:\
  +
:mx#0:\
  +
:sh:
  +
394
  +
Kapitel 9. Drucken
  +
Ändern Sie bitte die Rechner- und Domainnamen entsprechend Ihrer Verhältnisse und starten Sie den
  +
Druckerdämon mit /etc/init.d/lpd restart neu.
  +
395
  +
Kapitel 10. Grafik
  +
10.1. The Gimp
  +
The Gimp ist die Kurzform für „The GNU Image Manipulation Programm“. The Gimp stellt ein umfangreiches
  +
Programm zur Bildbearbeitung dar. Folgende Debian GNU/Linux-Pakete stehen derzeit zur Auswahl:
  +
gimp1.1, gimp1.1-nonfree, gimp-data-extras. Sinnvoll sind weitere Ergänzungen wie gimp-manual
  +
(ein sehr umfangreiches, englischsprachiges Handbuch zu Gimp), xpcd-gimp (eine Erweiterung für
  +
Photo-CDs) und xsane-gimp1.1 (eine Schnittstelle zu vielen Scannern und Kameras). Weiterhin ist auch die
  +
ältere, aber stabile Version 1.0 von Gimp in Debian GNU/Linux 2.2 enthalten. Wir werden hier aber auf die
  +
neuere Version 1.1 eingehen.
  +
Weiterhin ist es sicher kein Fehler, einige weitere Schriften (fonts) zu installieren. Empfehlenswert sind hier die
  +
Pakete freefont und sharefont sowie das Paket gsfonts-x11, welches Schriften aus Ghostscript unter
  +
X11 verfügbar macht. Weitere Schriften finden sich oft auf CDs zu Computerzeitschriften oder im Netz. Diese
  +
liegen meist nicht im von X11 verwendeten Postscript-Format vor, sondern als sogenannte True-Type Fonts. Sie
  +
können über einen True-Type Fontserver verfügbar gemacht werden.
  +
Doch zurück zu The Gimp. The Gimp wurde zunächst auf Basis von Motif, einem kommerziellem Toolkit,
  +
entwickelt. Die Entwickler wollten das Programm jedoch einer breiten Masse verfügbar machen und so wurden
  +
schon früh Anpassungen an den freien Motif-Klone Lesstif gemacht. Doch dieses Paket konnte die
  +
Anforderungen der Entwickler nicht befriedigen, so daß Sie sich selbst an die Arbeit machten und ein eigenes
  +
Toolkit, GTK (Gimp Toolkit) entwickelten. Schon bald wurde GTK ausgegliedert und als eigenes Projekt
  +
weitergeführt. GTK ist mittlerweile die Basis von vielen freien Softwareprojekten, das bekannteste dürfte
  +
(neben The Gimp selber) das GNOME-Projekt sein. Ein doppelter Erfolg für die Entwickler von The Gimp also.
  +
Die Oberfläche von The Gimp teilt sich in ein Hauptfenster mit der Menüleiste und den Schaltflächen für die
  +
verschiedenen Werkzeuge sowie jeweils einem Fenster für jede neue oder geladene Grafik.
  +
Abbildung 10-1. The Gimp Menü
  +
396
  +
Kapitel 10. Grafik
  +
Wundern Sie sich nicht, daß in den Menüs des Hauptfensters keine Einträge zum Speichern von Grafiken
  +
vorhanden sind... Zu jeder geladenen Grafik sind im jeweiligen Fenster eigene Menüs vorhanden, welche über
  +
die rechte Maustaste erreicht werden können. Aktionen, die sich auf die Grafik selber beziehen, können
  +
hierüber ausgeführt werden. Allgemeingültige Aktionen (Einstellungen, Drucken, Scannen....) sind über das
  +
Menü im Hauptfenster zu erreichen.
  +
10.1.1. Kommandozeile
  +
Da Gimp auf Unix-Systemen entwickelt wurde, läßt sich Gimp nicht nur von der Kommandozeile starten,
  +
sondern es lassen sich auch über diverse Parameter auf der Kommandozeile Funktionen aufrufen oder das
  +
Aussehen und Verhalten von Gimp beeinflussen. Sie können Gimp aber auch einfach nur von der
  +
Kommandozeile aus starten, indem Sie gimp eingeben. Wie auch bei allen anderen Programmen üblich, läßt
  +
sich Gimp mit der Option -h oder --help dazu bringen, die verfügbaren Kommandozeilenparameter
  +
anzuzeigen.
  +
bash-2.03$ gimp -h
  +
Benutzung: gimp [Option ...] [Datei ...]
  +
G&uuml;ltige Möglichkeiten sind:
  +
-h --help Gibt diese Hilfe aus.
  +
-v --version Gibt Versionsinformationen aus.
  +
-b --batch <Befehle> Startet im Stapelmodus.
  +
-g --gimprc <gimprc> Benutzt ein alternatives Profil.
  +
-n --no-interface Startet ohne Oberfläche.
  +
-r --restore-session Versucht eine abgelegte Sitzung wiederherzustellen.
  +
--no-data Lädt keine Muster, Farbverläufe, Farbpaletten und Pinsel.
  +
--verbose Zeigt Startmeldungen.
  +
--no-splash Verbirgt Startfenster.
  +
--no-splash-image Lädt kein Bild ins Startfenster.
  +
--no-shm Keiner geteilter Speicher zwischen GIMP und Plug-ins.
  +
--no-xshm Benutzt die Xshm Erweiterung nicht.
  +
--console-messages Warnungen in einer Konsole statt in einem Dialog.
  +
--debug-handlers Aktiviert Fehlersuchroutinen.
  +
--display <Anzeige> Benutzt die angegebene X Anzeige.
  +
--system-gimprc <gimprc> Benutzt alternatives Systemprofil.
  +
10.1.1.1. Version (-v)
  +
Wenn Sie die bei Ihnen installierte Gimp-Version herausbekommen möchten, benutzen Sie die Option -v:
  +
bash-2.03$ gimp -v
  +
GIMP Version 1.1.17
  +
10.1.1.2. Batch Modus (-b)
  +
Mit den Optionen -b oder -batch können Sie Gimp-Kommandos oder Scheme-Kommandos (Scheme ist die
  +
von Gimp verwendete Script-Sprache) direkt von der Kommandozeile (Standardeingabe) oder aus einer Datei
  +
heraus ausführen.
  +
Beachten Sie, wenn Sie direkt auf der Kommandozeile Befehle an Gimp übergeben, daß Sie bestimmte Zeichen
  +
(quotes) vor der Shell mit einem Backslash (\) „verstecken“ (maskieren) müssen.
  +
gimp -b ’((gimp-palette-set-background \’(255 0 0)) ... (gimp-displays-flush))’
  +
397
  +
Kapitel 10. Grafik
  +
Die Option -b muß als letzte auf der Kommandozeile angegeben werden, da alles, was danach folgt, von Gimp
  +
als Kommando interpretiert wird.
  +
10.1.1.3. No Interface (-n)
  +
Mit dieser Option öffnet Gimp keinerlei Fenster, dies ist eigentlich nur im Zusammenhang mit dem Batch
  +
Modus (-b) sinnvoll.
  +
10.1.1.4. No Data (--no-data)
  +
Diese Option beschleunigt den Start von Gimp, indem keine Pinsel, Muster, Farbverläufe und Farbpaletten
  +
geladen werden. Vielfach werden Sie nur einige oder keine von diesen benötigen. Sie können Pinsel und Muster
  +
auch später laden, indem Sie über das Menü Datei - Dialoge auf Pinsel oder Muster klicken.
  +
10.1.1.5. Display (--display)
  +
Über die Option --display können Sie Gimp auf dem Display (Bildschirm) eines anderen Rechners im Netz
  +
starten. Hierbei wird Gimp auf dem lokalen Rechner ausgeführt, die Darstellung der Fenster und Menüs erfolgt
  +
auf dem angegebenen Rechner.
  +
bash-2.03$ gimp --display gimp.meinedomain.de:0.0
  +
Sie können hierzu aber auch die Umgebungsvariable $DISPLAY benutzen: export
  +
DISPLAY=gimp.meinedomain.de:0.0 .
  +
10.1.2. Menüs und Tastatur
  +
Die Werkzeugleiste von Gimp besteht aus drei Pull-Down-Menüs, vielen Icons sowie einer Fläche zur
  +
Farbauswahl und einer Fläche zur Musterauswahl.
  +
10.1.2.1. Datei
  +
Das erste Menü, „Datei“, besteht aus folgenden Einträgen:
  +
Abbildung 10-2. The Gimp Menü - Datei
  +
398
  +
Kapitel 10. Grafik
  +
• Neu - öffnet einen Dialog, in dem Sie Angaben für eine neue Grafik machen können.
  +
Abbildung 10-3. The Gimp Menü - Datei/Neu
  +
Sie können die Höhe und Breite der Grafik entweder in Bildpunkten (Pixeln) oder in Millimeter, Punkt, Pica
  +
und einigen anderen Einheiten angeben. Weiterhin bestimmen Sie hier die Auflösung der Grafik, auch hier
  +
können Sie zwischen verschiedenen Einheiten wählen. Im unteren Bereich können Sie auf Wunsch ein
  +
Graustufenbild erzeugen, voreingestellt ist immer „RGB“. Im Bereich „Füllart“ können Sie beispielsweise
  +
einen transparenten Hintergrund einstellen.
  +
• Öffnen - hier können Sie eine bestehende Grafik in Gimp laden.
  +
399
  +
Kapitel 10. Grafik
  +
Abbildung 10-4. The Gimp Menü - Datei/Öffnen
  +
Eine solche Dateiauswahl ist Ihnen sicher aus vielen anderen Programmen bekannt, zusätzlich können Sie
  +
hier allerdings den Dateityp der zu ladenden Datei bestimmen, in den meisten Fällen ist hier aber keine
  +
Auswahl notwendig, The Gimp erkennt alle Dateitypen automatisch.
  +
• Holen - Hier verbirgt sich ein weiteres Menü: Wenn Sie keine weiteren Pakete installiert haben, finden Sie
  +
hier lediglich den Eintrag „Screen Shot“, mit dem Sie Teile oder den gesamten Bildschirm „fotografieren“
  +
können.
  +
Abbildung 10-5. The Gimp Menü - Datei/Holen
  +
Ist das Paket SANE installiert - dieses stellt Treiber für die verschiedensten Scanner zur Verfügung und wird
  +
später noch genauer beschrieben – so finden Sie hier weitere Einträge, über die Sie Grafiken direkt aus The
  +
400
  +
Kapitel 10. Grafik
  +
GIMP einscannen können.
  +
• Einstellungen - ein Dialog für diverse Einstellungen. Hier finden Sie sehr viele Einstellmöglichkeiten, spielen
  +
Sie einfach mal ein wenig damit herum... wir kommen später noch einmal darauf zurück.
  +
• Dialoge - Zugriff auf verschiedene Dialoge, ohne daß eine Grafik geladen ist.
  +
Abbildung 10-6. The Gimp Menü - Datei/Dialoge
  +
• Die weiteren Einträge stellen die zuletzt bearbeiteten Grafiken dar, Sie können diese hier sehr schnell wieder
  +
laden, ohne sich durch den Verzeichnisbaum kämpfen zu müssen.
  +
• Beenden - Hier können Sie die Anwendung beenden. Bei noch nicht gespeicherten Bildern werden Sie
  +
gefragt ob diesen gesichert werden sollen, oder ob die Änderungen verloren gehen dürfen. Diesen
  +
Menüpunkt werden sie kaum benötigen... ;-)
  +
Vielleicht ist Ihnen aufgefallen, daß es keine Möglichkeit gibt, Grafiken zu speichern. Gimp öffnet zu jeder
  +
geladenen oder neu erstellten Grafik ein eigenes Fenster. Sie finden dort über die rechte Maustaste eine
  +
Möglichkeit, die Grafik zu speichern.
  +
10.1.3. Xtns (Extensions/Erweiterungen)-Menü
  +
• Modul Browser - Eine Übersicht der zusätzlich installierten Module, normalerweise ist diese Liste leer.
  +
• DB Anzeiger - über diesen Menüpunkt bekommen Sie Informationen zu den Internas von The Gimp.
  +
• Plugin Details - Hier können Sie sich weitere Informationen zu allen installierten Plugins ansehen.
  +
401
  +
Kapitel 10. Grafik
  +
Abbildung 10-7. The Gimp Menü - Xtns/Plugin Details
  +
• Script-Fu - hinter diesem Eintrag befinden sich eine ganze Reihe von, meist in Scheme geschriebenen,
  +
Scripten, mit denen Sie sehr schnell zum Beispiel Schaltflächen für Ihre Webseite erzeugen können oder auch
  +
ein Hintergrundbild für Ihren Desktop erstellen können.
  +
Abbildung 10-8. The Gimp Menü - Xtns/Script Fu
  +
Die Scripte sind in verschiedene Bereiche geteilt, mitunter verwenden diese einige Schriften, die
  +
normalerweise nicht auf jedem System verfügbar sind. Installieren Sie hierzu auch Pakete aus den Bereichen
  +
non-free wenn nötig, oder verändern Sie die Vorgabewerte so, daß Schriften verwendet werden, die auch
  +
auf Ihrem System installiert sind. Hier ein Beispiel aus dem Bereich „Logos“, der Eintrag „Neon“:
  +
402
  +
Kapitel 10. Grafik
  +
Abbildung 10-9. The Gimp Menü - Xtns/Script Fu-Neon
  +
...und hier das Ergebnis:
  +
Abbildung 10-10. The Gimp Menü - Xtns/Script Fu-Neon
  +
Experimentieren Sie einfach mit den anderen Einträgen herum.
  +
• Video in Frames aufteilen - mit dieser Funktion können Sie Videos, die im Format MPEG vorliegen, in
  +
einzelne Dateien aufteilen. Die einzelnen Bilder werden im Gimp-eigenen Format XCF im aktuellen
  +
Verzeichnis gespeichert.
  +
403
  +
Kapitel 10. Grafik
  +
Abbildung 10-11. The Gimp Video
  +
Sie können hier angeben, ob nur ein bestimmter Bereich des Videos umgewandelt werden soll und welcher
  +
Name den einzelnen Dateien vorangestellt werden soll.
  +
Die eingebaute Konvertierungsroutine kann Videos im MPEG1-Format aufsplitten. Wenn Sie das Programm
  +
XAnim installiert haben, kann The Gimp auch dieses verwenden.
  +
• Web Browser - Hier befinden Sich einige Einträge zu The Gimp, ein Mausklick auf einen der Einträge lädt
  +
die entsprechende Seite in den Webbrowser.
  +
10.1.4. Symbole im Hauptmenü
  +
Über die Symbole haben Sie schnellen Zugriff auf die wichtigsten Funktionen von Gimp, natürlich haben Sie
  +
auch über die Menüleisten Zugriff auf alle Funktionen. Sie können das Hauptmenü in der Größe verändern, die
  +
Symbole werden dann neu angeordnet. Wir gehen hier von einer unveränderten Fenstergröße aus.
  +
Abbildung 10-12. The Gimp Hauptmenü
  +
404
  +
Kapitel 10. Grafik
  +
In der ersten Zeile mit Symbolen finden Sie die verschiedenen Möglichkeiten, Bereiche auszuwählen, diese
  +
gehen von einfachen, rechteckigen Bereichen bis hin zur Pfadauswahl.
  +
In den nächsten Zeilen finden Sie Werkzeuge zum Verschieben, Vergrößern und Beschneiden sowie Werkzeuge
  +
zur Umwandlung (drehen, skalieren, Perspektive, umkippen) und Textwerkzeuge.
  +
In den letzten Zeilen befinden sich Werkzeuge zum Zeichnen in allen möglichen Formen, zum Löschen usw.
  +
Einige dieser Werkzeuge verfügen über Einstellmöglichkeiten, diese erreichen Sie mit einem Doppelklick auf
  +
das Symbol. Wenn Sie auf ein anderes Symbol klicken, während ein Einstelldialog für ein Werkzeug geöffnet
  +
ist, wird der entsprechende Dialog angezeigt. Einige andere Werkzeuge öffnen bei jeder Benutzung einen
  +
Dialog, diese sind von diesem Verhalten nicht betroffen.
  +
10.1.5. Farbauswahl
  +
Die Farbauswahl besteht aus zwei Feldern, welche die Vorder- und Hintergrundfarbe darstellen. Wenn Sie auf
  +
eine dieser beiden Flächen doppelklicken, erscheint ein weiterer Dialog, in dem Sie eine andere Farbe wählen
  +
können. Ein Mausklick auf den kleinen Pfeil vertauscht die Vorder- und Hintergrundfarbe.
  +
Abbildung 10-13. The Gimp - Farbauswahl
  +
10.1.6. Pinsel, Muster, Farbverlauf
  +
Das letzte Feld unten rechts bietet 3 Flächen, die den aktuellen Pinsel, das aktuelle Muster und den aktuellen
  +
Farbverlauf darstellen. Wenn Sie die linke Maustaste über dem Feld Muster oder Farbverlauf gedrückt halten,
  +
wird die Ansicht vergrößert. Ein Doppelklick auf eines der drei Felder öffnet den entsprechenden Dialog, aus
  +
dem Sie eine neue Auswahl treffen können.
  +
405
  +
Kapitel 10. Grafik
  +
Abbildung 10-14. The Gimp Auswahl - Pinsel
  +
Die Pinsel.
  +
Abbildung 10-15. The Gimp Auswahl - Muster
  +
Die Muster.
  +
406
  +
Kapitel 10. Grafik
  +
Abbildung 10-16. The Gimp Auswahl - Verlauf
  +
Die Verläufe.
  +
10.1.7. Farbsysteme
  +
The Gimp arbeitet mit den Farbsystemen RGB, Graustufen und Indizierte Farben. Bei einer RGB-Grafik wird
  +
jeder Punkt der Grafik durch je einen Wert für die Farben Rot, Grün und Blau dargestellt. Eine Indizierte Grafik
  +
ist genauso aufgebaut, die Anzahl der Farben und deren Werte werden jedoch aus einer Farbtabelle bezogen und
  +
sind somit auf die vorgegebenen Werte festgelegt. Eine Grafik in Graustufen kann auch mit Indizierten Farben
  +
realisiert werden, die Verwendung von RGB erlaubt jedoch ein wesentlich flexibleres Arbeiten mit der Grafik.
  +
In den meisten Fällen sollten Sie sich bei einer neuen Datei für das RGB-Format entscheiden, mit diesem haben
  +
Sie die meisten Möglichkeiten und können auf die meisten Funktionen innerhalb von The Gimp zugreifen.
  +
10.1.8. Öffnen einer Datei
  +
Beim Öffnen einer Datei können Sie den Dateityp angeben, in 99,9% aller Fälle kann Gimp diesen aber auch
  +
selber ermitteln, so daß Ihnen hier nichts weiter bleibt, als den gewünschten Dateinamen auszuwählen.
  +
10.1.9. Speichern einer Datei
  +
Haben Sie diesen Eintrag schon im Hauptmenü vermißt? Keine Angst, The Gimp kann natürlich auch Ihre
  +
Werke auf Festplatte sichern. Positionieren Sie hierzu die Maus über der Grafik und drücken Sie die rechte
  +
Maustaste. Unter dem Menü „Datei“ finden Sie die beiden Einträge „Speichern“ und „Speichern unter“.
  +
Beim Speichern von Grafiken gelangen Sie in einen Dialog, der dem beim Öffnen von Dateien sehr ähnlich ist.
  +
Sie können hier den gewünschten Pfad auswählen sowie den Dateinamen eingeben, unter dem die Grafik
  +
gespeichert werden soll. Normalerweise sichert The Gimp Ihre Grafik gleich in dem Format, welches Sie als
  +
Dateiendung verwenden. Eine Datei mit der Endung .xcf würde im Gimp-eigenen Format gespeichert werden,
  +
während die Endung .jpg oder .jpeg zu einer Datei im JPEG-Format führen würde.
  +
Natürlich können Sie das Dateiformat auch explizit auswählen. Beachten Sie bitte, daß eventuell nicht alle
  +
gewünschten Dateiformate für den erstellten Grafiktyp (RGB, Graustufen, Indizierte Farben) verfügbar sind.
  +
Alle nicht verfügbaren Dateiformate werden in der Auswahl deaktiviert, also grau dargestellt, und können nicht
  +
407
  +
Kapitel 10. Grafik
  +
angewählt werden. Später werden wir beschreiben, wie Sie den Grafiktyp verändern können, so daß Sie die
  +
Grafik in dem gewünschten Format speichern können.
  +
10.1.10. Ebenen
  +
Bei umfangreichen Grafiken unterstützt Sie Gimp mit sogenannten Ebenen (englisch: Layer). Sie können Ihr
  +
Werk in verschiedenen, übereinander liegenden Schichten anlegen und so nur in bestimmten Bereichen der
  +
Grafik arbeiten. Wenn Sie mit Ebenen arbeiten, können Sie die Grafik nicht in den normalen Dateiformaten
  +
(.tiff, .jpeg usw.) speichern. Diese Formate können nicht mit den Informationen über Ebenen umgehen, Sie
  +
müssen zuerst die Ebenen zusammenführen, um die Grafik zu sichern. Natürlich können Sie die Grafik im
  +
Gimp-eigenen Format (.xcf) sichern, wenn Sie die Ebenen erhalten möchten.
  +
Abbildung 10-17. The Gimp Ebenen
  +
Sie erreichen den Ebenen-Dialog über die Menüleiste im Hauptfenster (Datei - Dialoge - Ebenen & Kanäle)
  +
oder, wenn sich der Mauszeiger über der Grafik befindet, mit der rechten Maustaste.
  +
10.1.11. Grafiktypen
  +
The Gimp arbeitet intern mit drei verschiedenen Farbmodellen: RGB, Graustufen und Indizierte Farben.
  +
Mitunter kann es notwendig sein, während der Arbeit mit The Gimp das Farbmodell zu wechseln. Dies liegt
  +
daran, daß nicht alle Funktionen alle Farbmodelle unterstützen. Weiterhin ist ein solcher Wechsel notwendig,
  +
wenn Sie verschiedene Grafiken mit verschiedenen Farbmodellen zusammenführen wollen oder beim Speichern
  +
von Dateien in einigen Formaten.
  +
Die Vorgehensweise zum Umwandeln einer Grafik in ein anderes Farbmodell ist in jedem Fall gleich. Drücken
  +
Sie die rechte Maustaste, während sich der Mauszeiger über der Grafik befindet, und wählen Sie den
  +
Menüpunkt „Bild“, dort können Sie zwischen den drei Farbmodellen wählen.
  +
Bei der Umwandlung in RGB oder Graustufen wird die gewünschte Aktion sofort durchgeführt, die Auswahl
  +
von Indizierten Farben führt Sie zunächst zu einem Dialog. Wenn Sie hier „Erstelle optimale Palette“ wählen
  +
408
  +
Kapitel 10. Grafik
  +
(die ist schon vorgewählt), können Sie die maximale Anzahl der Farben angeben, die später in der Grafik
  +
benutzt werden sollen. Sie können hier noch mit den weiteren Einstellungen experimentieren, die vorgegebenen
  +
Werte sind aber in den meisten Fällen ausreichend.
  +
10.1.12. Undo
  +
Mit der Funktion können Sie Arbeitsschritte rückgängig machen. Sie erreichen diese Funktion über das Menü
  +
(Bearbeiten - Rückgängig) oder mit der Tastenkombination CTRL+Z. Normalerweise können Sie bis zu 5
  +
Arbeitsschritte rückgängig machen, dies können Sie in den Voreinstellungen verändern.
  +
10.1.13. Fenster
  +
Jedesmal wenn Sie eine bestehende Grafik öffnen, wird diese in einem neuen Fenster dargestellt. Sie können so
  +
viele Fenster öffnen, wie Sie möchten, dies wird nur durch die verfügbare Hardware beschränkt. Unabhängig
  +
von der Anzahl der geöffneten Fenster, steht Ihnen immer nur ein Hauptmenü zur Verfügung.
  +
Die Fenster haben keine eigenen Menüleisten wie sonst üblich. Sie haben zwei Möglichkeiten, an die
  +
benötigten Funktionen zu gelangen. Mit der rechten Maustaste erhalten Sie an jeder Stelle in der Grafik ein
  +
Pop-Up-Menü mit allen Funktionen.
  +
Unter anderem für Benutzer eines Apple-Computers, diese verfügen nur über eine Maustaste, wurde in Gimp
  +
1.1 in der oberen linken Ecke die Möglichkeit geschaffen, mit der linken Maustaste auf das Menü zuzugreifen.
  +
Die Menüpunkte „Datei“, „Bearbeiten“, „Auswahl“ usw. beinhalten die üblichen Einträge. Der Menüeintrag
  +
„Ansicht“ dient zum Zoomen (Verkleinern oder Vergrößern) der Ansicht, also eine Lupenfunktion. Weiterhin
  +
finden Sie hier Informationen zum Fenster sowie einige Einstellmöglichkeiten.
  +
10.1.14. Konfiguration
  +
Gimp ist sehr individuell konfigurierbar. Viele der Einstellungen können über eine grafische Oberfläche
  +
vorgenommen werden, andere werden über die Dateien gimprc und gtkrc im Verzeichnis .gimp gesteuert.
  +
Auch Gimp unterscheidet zwischen systemweiten und benutzerbezogenen Konfigurationsdateien.
  +
Benutzerbezogene Konfigurationsdateien befinden sich immer im Homeverzeichnis des Benutzers, im
  +
Verzeichnis .gimp.
  +
Gimp verfügt über einen sehr umfangreichen Konfigurationsdialog. Sie können die veränderten Einstellungen
  +
mit einem Mausklick auf „OK“ für die aktuelle Sitzung aktivieren oder über die Schaltfläche „Speichern“
  +
dauerhaft speichern.
  +
Die Einstellungen von The Gimp sind innerhalb des Dialoges in verschiedene Bereiche (Neues Bild, Anzeige,
  +
Oberfläche, Umgebung, Sitzung, Monitor und Verzeichnisse) aufgeteilt, teilweise mit weiteren Untermenüs.
  +
10.1.14.1. Neues Bild
  +
Hier finden Sie verschiedene Parameter, die beim Erstellen einer neuen Grafik greifen. Wenn Sie bestimmte
  +
Werte häufig verwenden wollen, beispielsweise eine bestimmte Größe für Banner auf Webseiten, so können Sie
  +
diese hier einstellen.
  +
409
  +
Kapitel 10. Grafik
  +
Abbildung 10-18. The Gimp Menü - Datei/Einstellungen
  +
• Standard-Bildgröße und Längeneinheit - Hier können Sie die Vorgabewerte für neu zu erstellende Grafiken
  +
einstellen.
  +
• Standard-Auflösung und Auflösungseinheit - Wählen Sie hier die Auflösung und die Einheit.
  +
• Standard Bildtyp - Gimp benutzt normalerweise RGB als Standardwert, Sie können dies auch auf Graustufen
  +
einstellen, wenn Sie häufig damit arbeiten. Indiziert wird nicht in den Voreinstellungen unterstützt, so daß nur
  +
sehr wenige Funktionen von Gimp dies unterstützen. Hier können Sie auch die Speichergröße für neue
  +
Grafiken begrenzen.
  +
10.1.14.2. Anzeige
  +
• Transparenz - Stellen Sie hier die Größe und die Farbe für die Bereiche einer Grafik ein, die transparent
  +
dargestellt werden sollen.
  +
10.1.14.3. Oberfläche
  +
• Vorschaugröße - Hiermit stellen Sie die Größe der Vorschau für die verschiedenen Plug-Ins ein. Dies betrifft
  +
nicht direkt die Einstellungen für die Grafik, beeinflußt aber die Geschwindigkeit bei der Erstellung dieser
  +
Vorschau. Sie können hier zwischen sechs verschiedenen Größen wählen.
  +
410
  +
Kapitel 10. Grafik
  +
• Größe der Dokumentenliste - Hier können Sie einstellen, wie viele der zuletzt bearbeiteten Grafiken im Menü
  +
„Datei“ eingebunden werden sollen. Voreingestellt ist der Wert 4.
  +
• Werkzeugkasten - Auf Wunsch können Sie die Anzeige von Pinseln, Mustern und Verläufen unterbinden.
  +
• Hilfesystem - Hier können Sie die Popup-Hilfe und die kontextsensitive Hilfe abschalten und zwischen dem
  +
internen Programm und einem externen Programm (Netscape) zur Anzeige der Hilfedateien wählen.
  +
• Bildfenster - Neben Einstellungen für Lineale, Fenstergrößen und Statusanzeigen, können Sie hier die
  +
Geschwindigkeit der markierten Linie, diese werden hier als Ameisen bezeichnet, um eine Auswahl
  +
verändern, den Titel des Fensters verändern und einige Einstellungen zum Mauszeiger vornehmen.
  +
• Werkzeugeinstellungen - Hier können Sie die globalen Pinseleinstellungen deaktivieren.
  +
10.1.14.4. Umgebung
  +
• Zurückhaltende Speicherausnutzung - Bei Systemen mit wenig Arbeitsspeicher können Sie diese Funktion
  +
aktivieren. Gimp arbeitet dann etwas langsamer, verbraucht aber auch etwas weniger Speicher.
  +
• Stufen der Rückgängigmachung - Hier können Sie einstellen, wie viele Arbeitsschritte widerufen werden
  +
können. Voreingestellt ist der Wert 5, Sie können diesen erhöhen, beachten Sie jedoch, daß jeder
  +
Arbeitsschritt, der im Speicher gehalten wird, auch Arbeitsspeicher (RAM) verbraucht.
  +
• Größe des Datenspeichers - Alternativ können Sie hier den Wert auch in (Mega-/Kilo-)Byte angeben.
  +
• Interpolationsart - Nicht immer ist genau die gewünschte Farbe verfügbar. Gimp kann in so einem Fall die
  +
geeignetste Farbe ermitteln. Normalerweise wird hierzu eine lineare Interpolation benutzt. Wenn Sie
  +
(beispielsweise nachdem Sie eine Grafik verkleinert haben) mit den Farben nicht zufrieden sind, können Sie
  +
diesen Wert auf eine kubische Interpolation verändern und den Vorgang wiederholen. Kubische Interpolation
  +
benötigt etwas mehr Zeit, führt aber oft zu besseren Ergebnissen. Eine weitere Möglichkeit ist die Einstellung
  +
„nächster Nachbar“, bei dem eine benachbarte Farbe ausgewählt wird.
  +
• Dateien sichern - Beim Speichern von Dateien kann The Gimp bei einigen Dateiformaten ein Vorschaubild
  +
speichern, welches vor dem Laden angezeigt werden kann. Dies können Sie hier deaktivieren. Weiterhin
  +
können Sie hier einstellen, ob die Auswahl des Menüpunktes „Sichern“ die Datei immer, auch wenn nichts an
  +
der Grafik verändert wurde, abspeichert.
  +
10.1.14.5. Sitzung
  +
• Hier finden Sie einige Parameter zu Fensterpositionen und weiteren Geräten.
  +
10.1.14.6. Monitor
  +
• Hier können Sie die Monitorauflösung einstellen oder den vom X-Server gelieferten Wert übernehmen.
  +
10.1.14.7. Directory Preferences
  +
Gimp benutzt zwei Arten von Verzeichnissen: öffentliche und private. In den öffentlichen Verzeichnissen finden
  +
Sie zum Beispiel Pinsel, auf die alle Benutzer des Systems zugreifen können. In den privaten Verzeichnissen
  +
(unterhalb von /home/user/.gimp/) können Sie Dateien (auch Pinsel usw.) ablegen, auf die nur Sie Zugriff
  +
haben.
  +
Sie können jeweils mehrere Verzeichnisse angeben.
  +
411
  +
Kapitel 10. Grafik
  +
• Temporäres Verzeichnis - in diesem Verzeichnis sichert Gimp Dateien, die während der Benutzung
  +
zwischenzeitlich benötigt werden.
  +
• Auslagerungsverzeichnis - Gimp speichert viele Daten zwischen. Dies spart einiges an Arbeitsspeicher. Gimp
  +
versucht dies zu optimieren.
  +
• Pinsel - in diesem Verzeichnis können Sie Pinsel ablegen. Sie können hier mehrere Verzeichnisse angeben.
  +
• Erzeugte Pinsel - hier werden von Ihnen neu erstellte Pinsel gesichert.
  +
• Muster - verschiedene Verzeichnisse für Muster
  +
• Farbpaletten - Verzeichnisse, in denen sich Farbpaletten befinden.
  +
• Farbverläufe - Verzeichnisse, in denen sich Farbverläufe befinden.
  +
• Plugins - Verzeichnisse, in denen sich Plugins befinden.
  +
• Module - Verzeichnisse, in denen sich Module befinden.
  +
10.1.15. Auswahlen
  +
Eine Auswahl (oder Selektion) ist ein Bereich der Grafik, den Sie mit der linken Maustaste markiert haben. Sie
  +
können mehrere Auswahlen gleichzeitig aktiv halten. Alle Operationen, die Sie ausführen, wirken nur auf den
  +
selektierten Bereich, unabhängig davon, ob Sie eine einfache oder eine Mehrfachauswahl aktiviert haben.
  +
Gimp verfügt über verschiedene Auswahlwerkzeuge, Sie finden diese in den ersten Icon-Zeilen des
  +
Hauptmenüs. Wenn Sie eines dieser Werkzeuge aktivieren, verändert sich der Mauszeiger in ein
  +
Auswahlwerkzeug, wenn Sie sich gleichzeitig über einer Grafik befinden.
  +
Abbildung 10-19. The Gimp - Auswahlwerkzeuge
  +
Das letzte Werkzeug ist nicht im eigentlichen Sinne ein Auswahlwerkzeug, dient aber auch zum Verschieben
  +
von Auswahlen und sollte deshalb hier nicht fehlen.
  +
10.1.15.1. Gemeinsamkeiten
  +
Bei allen Auswahlwerkzeugen können Sie mit einen Doppelklick auf das jeweilige Symbol weitere
  +
Einstellungen vornehmen. Alle Auswahlwerkzeuge verfügen über eine „weiche“ Auswahl, diese beeinflußt den
  +
Rand des ausgewählten Bereiches. Diese Option kann mit einem Schieberegler im Radius beeinflußt werden,
  +
größere Werte ergeben einen größeren Radius.
  +
Alle Auswahlwerkzeuge, mit Ausnahme der rechteckigen Auswahl, verfügen über eine
  +
Weichzeichner-Funktion, diese ergibt eine mehr oder weniger starke Ausprägung der Pixel an den Rändern.
  +
Einige Auswahlwerkzeuge verfügen noch über weitere spezifische Einstellmöglichkeiten.
  +
Sie können die ausgewählten Bereiche mit einigen Tasten beeinflussen. Normalerweise ersetzt eine Auswahl die
  +
bisher bestehende. Mit Hilfe einer Taste können Sie die bestehende Auswahl ergänzen oder den neu selektierten
  +
Bereich aus der bestehenden Auswahl entfernen. Hier eine Übersicht der Tasten:
  +
• Alt - Verschiebt eine Auswahl. Halten Sie die Taste gedrückt, der Mauspfeil verändert sein Aussehen, Sie
  +
können nun mit der linken Maustaste den selektierten Bereich greifen und verschieben.
  +
412
  +
Kapitel 10. Grafik
  +
• Shift - Ergänzt eine Auswahl. Wenn Sie die Taste Shift gedrückt halten, wird der bereits selektierte Bereich
  +
nicht gelöscht, sondern bleibt bestehen und wird um den neuen Bereich ergänzt.
  +
• STRG - Beschneidet eine Auswahl. Der neu selektierte Bereich wird aus der bestehenden Auswahl entfernt.
  +
Wenn der neu selektierte Bereich keinen bereits ausgewählten Bereich überschneidet, hat dies keinerlei
  +
Effekt.
  +
• Shift & STRG - wenn die neue Auswahl eine breits bestehende Auswahl überlappt, so wird diese
  +
Überlappung als neue Auswahl aktiviert. Wenn es keine Überlappung gibt, wird kein Bereich ausgewählt.
  +
In jedem Fall beginnt ein selektierter Bereich an der Stelle, an der Sie die linke Maustaste drücken, und endet an
  +
der Stelle, an der Sie die Taste wieder loslassen. Während dessen wird der selektierte Bereich farbig markiert
  +
und nach Loslassen der Maustaste von einer gestrichelten Linie umschlossen. Durch die verschiedenen
  +
Kombinationen mit den Tasten können Sie das Verhalten, wie oben beschrieben, beeinflussen.
  +
10.1.15.2. Rechteckige Auswahl
  +
Dies ist die einfachste Form der Auswahl. Es wird ein rechteckiger Bereich der Grafik selektiert. Den Startpunkt
  +
setzen Sie durch Drücken der linken Maustaste, halten Sie die Taste gedrückt, bis Sie den Endpunkt erreicht
  +
haben.
  +
Abbildung 10-20. The Gimp - Auswahlwerkzeug/Rechteck
  +
Durch Drücken der Taste STRG wird das Ende der Auswahl (die Stelle, an der Sie die Maustaste loslassen)
  +
nicht als Endpunkt, sondern als Zentrum der Auswahl definiert.
  +
Mit der Taste Shift erreichen Sie eine quadratische Auswahl.
  +
10.1.15.3. Elliptische Auswahl
  +
Abbildung 10-21. The Gimp - Auswahlwerkzeug/Elipse
  +
Mit diesem Werkzeug erzeugen Sie elliptische oder kreisförmige Auswahlen. Klicken Sie mit der linken
  +
Maustaste in die Grafik und halten Sie die Maustaste gedrückt. Wenn Sie nun die Maus bewegen, wird ein
  +
elliptischer Bereich markiert, durch zusätzliches Drücken der Taste SHIFT wird ein kreisrunder Bereich
  +
markiert. Vielleicht haben Sie bemerkt, daß die Auswahl am Rand der Ellipse beginnt und dort auch endet.
  +
Wenn Sie die Taste CTRL drücken, wird der Startpunkt der Auswahl als Mittelpunkt der Ellipse gesetzt.
  +
413
  +
Kapitel 10. Grafik
  +
10.1.15.4. Freihandauswahl
  +
Abbildung 10-22. The Gimp - Auswahlwerkzeug/Freihand
  +
Bei der Freihandauswahl setzen Sie durch Drücken der linken Maustaste den ersten Anker, wenn Sie nun die
  +
Maus bewegen, folgt die Auswahl dem Mauszeiger. Wenn Sie die Maustaste loslassen, wird die Auswahl durch
  +
eine gerade Linie von End- zum Startpunkt geschlossen. Mit dieser Auswahl können Sie so ziemlich jeden
  +
Bereich, auch wenn er noch so unförmig ist, selektieren.
  +
10.1.15.5. „Intelligente Schere“
  +
Abbildung 10-23. The Gimp - Auswahlwerkzeug/Intelligente Auswahl
  +
Diese Auswahl funktioniert ähnlich wie die Freihandauswahl, nur werden hier die Farben der umliegenden
  +
Pixel berücksichtigt und die Auswahl angepaßt. Sie können die Empfindlichkeit dieser Anpassung durch einen
  +
Doppelklick auf das Symbol einstellen.
  +
Bei Grafiken mit sehr „unruhigen“ Bildinhalten und wenig Kontrast ist diese Auswahl nicht sehr wirkungsvoll,
  +
Sie können aber versuchen, über die Einstellung der Empfindlichkeit eine bessere Auswahl zu erzielen.
  +
Weiterhin gibt es bei dieser Auswahl eine Option „Sample Merged“, diese erweitert die Auswahl auf alle
  +
sichtbaren Ebenen.
  +
10.1.15.6. Bezier-Auswahl
  +
Abbildung 10-24. The Gimp - Auswahlwerkzeug/Bezier
  +
Dieses Auswahlwerkzeug verhält sich völlig anders, als alle bisher beschriebenen. Sie beginnen eine Selektion
  +
indem Sie mit der linken Maustaste einmal klicken, dies setzt den Startpunkt. Der Punkt erscheint in einem
  +
kleinen Kreis, einem sogenannten Anker (englisch: anchor).
  +
414
  +
Kapitel 10. Grafik
  +
Wiederholen Sie dies rund um den Bereich, den Sie auswählen möchten, an jeder Stelle wird ein weiterer Punkt
  +
gesetzt. Wenn Sie die Auswahl abgeschlossen haben, klicken Sie noch einmal auf den Startpunkt.
  +
Damit ist die Auswahl aber noch nicht ganz abgeschlossen, bisher haben Sie nur einige gerade Linien erzeugt.
  +
Wählen Sie nun einen der Anker aus, indem Sie ihn nochmal anklicken, halten Sie dabei die Maustaste
  +
gedrückt. Wenn Sie nun die Maus bewegen, sehen Sie zwei Linien, die sich von diesem Punkt entfernen, jede
  +
am Ende mit einem Quadrat markiert. Eine von diesen befindet sich in der Nähe des Mauspfeils. Diese Punkte
  +
werden „handles“ genannt und dienen zum Verändern der Kurve. Halten Sie dazu einen dieser Punkte mit der
  +
Maus fest und bewegen Sie ihn. Je nach Abstand zum Anker und abhängig von dem Winkel in dem Sie den
  +
Punkt von der ursprünglichen Position wegbewegen, können Sie die Kurve verändern. Dies hört sich viel
  +
komplizierter an als es ist!
  +
Mit den Tasten STRG und Shift können Sie jeden der Anker verschieben.
  +
Mit der Shift Taste können Sie die beiden zu einem Anker gehörenden „handles“ beeinflussen.
  +
Nun ein kleines Beispiel, wie Sie diese Auswahl einsetzen können:
  +
Erstellen Sie zunächst eine neue Grafik mit der Größe von 256x256 Pixeln. Zeichnen Sie nun mit dem
  +
Bezier-Werkzeug ein Dreieck, klicken Sie hierzu mit der linken Maustaste viermal in das Bild, einmal oben in
  +
der Mitte, einmal unten rechts, dann unten links und zum Abschluß noch einmal auf den Startpunkt. Hiermit
  +
haben Sie die nötigen Anker für die Bezierkurve gesetzt.
  +
Selektieren Sie nun den obersten, ersten Anker. Ein Mausklick auf diesen Punkt erzeugt die zu diesem Anker
  +
gehörenden „Handles“. Wenn Sie nun die Maustaste gedrückt halten und die Maus nach links bewegen,
  +
erscheinen einige weitere Linien. Beachten Sie, daß sich die Linie zu einer Kurve verwandelt hat. Wandern Sie
  +
ein wenig mit der Maus umher und beobachten Sie, was passiert...
  +
Lassen Sie nun die Maustaste los und wählen Sie den gleichen Punkt noch einmal, diesmal aber zusammen mit
  +
der Taste STRG (halten Sie beide (Maus- und Tastatur-) Tasten gedrückt). Bewegen Sie nun die Maus, jetzt
  +
wird der Ankerpunkt zusammen mit der Kurve verschoben.
  +
Probieren Sie das gleiche noch einmal, diesmal aber mit der SHIFT-Taste. Sie können nun einzelne Handles
  +
bewegen.
  +
Wenn Sie die Handles stören, klicken Sie einfach irgendwo außerhalb des Dreieckes in das Bild. Wenn Sie mit
  +
der Form zufrieden sind, klicken Sie innerhalb der Form, aber nicht auf einen der Handles. Die Form wird zu
  +
einer Auswahl, diese können Sie nun beispielsweise mit einer Farbe füllen oder ausschneiden.
  +
10.1.15.7. „Zauberstab“-Auswahl
  +
Abbildung 10-25. The Gimp - Auswahlwerkzeug/Zauberstab
  +
Der Zauberstab ist das mächtigste Auswahlwerkzeug von Gimp. Der Mauspfeil funktioniert ähnlich wie bei der
  +
Freihand-Auswahl, allerdings wird nach Loslassen der Maustaste von Gimp versucht, zu „erraten“, welchen
  +
Bereich Sie tatsächlich markieren wollten. Dies wird anhand der Farben der umliegen Pixel ermittelt. Der
  +
selektierte Bereich wird erst nach nochmaligem Drücken und Loslassen der linken Maustaste zu einer richtigen
  +
Auswahl.
  +
Der Zauberstab hat noch einige weitere spannende Funktionen, die Sie am besten einfach mal ausprobieren.
  +
Interessant ist noch die Funktion „Convert to Bezier Curve“, welche die aktuelle Auswahl in eine Bezierkurve
  +
umwandelt und die Bezier-Auswahl aktiviert.
  +
415
  +
Kapitel 10. Grafik
  +
10.2. Scanner
  +
Für die Ansteuerung von Scannern unter Linux wurde eine universelle Schnittstelle, genannt SANE, entwickelt.
  +
SANE steht für „Scanner Access Now Easy“, mal wieder eine der im Unix-Bereich sehr beliebten
  +
Abkürzungen. SANE liest aber nicht nur Daten von Scannern ein (auch wenn dies die häufigste Anwendung
  +
sein wird), sondern kann von einer großen Zahl von Geräten Bilddaten einlesen. Hierzu zählen auch Kameras.
  +
SANE stellt den verschiedensten Anwendungen eine Schnittstelle zur Verfügung, so daß ein Treiber für ein
  +
Gerät nur einmal entwickelt werden muß. SANE geht dabei noch einen Schritt weiter als ähnliche Treiber auf
  +
anderen Betriebssystemen, SANE erlaubt auch ein Scannen übers Netz, der Scanner muß also nicht zwingend
  +
an dem Rechner angeschlossen sein, auf dem zum Beispiel die Bildbearbeitungssoftware läuft.
  +
SANE umfaßt neben den Treibern für verschiedene Geräte auch eine eigene grafische Oberfläche, so daß man
  +
auch ohne ein Extraprogramm Daten einlesen kann. Diese Oberfläche benutzt, ebenso wie GNOME und The
  +
Gimp, das GTK Toolkit.
  +
Weiterhin können Sie SANE auch auf einem Rechner ohne grafische Oberfläche benutzen, beispielsweise auf
  +
einem Server, und die Dienste von SANE so anderen Rechnern im Netz zur Verfügung stellen. Für die ersten
  +
Gehversuche mit SANE müssen Sie nicht einmal über einen Scanner verfügen, ein Pseudo-Treiber erlaubt die
  +
Benutzung von SANE zum Einlesen von Dateien im PNM-Format. Auch ist SANE nicht auf den Betrieb unter
  +
Linux beschränkt, Sie können SANE auch unter diversen anderen Unix-Versionen betreiben.
  +
SANE unterstützt die meisten Scanner mit SCSI-Schnittstelle und vermehrt auch Modelle mit USB-Anschluß.
  +
Ältere Scanner zum Anschluß an die parallele Schnittstelle werden nur sehr begrenzt unterstützt, eine Übersicht
  +
finden Sie unter der URL http://www.pro-linux.de/t_hardware/pscanner.html.
  +
10.2.1. SANE einrichten
  +
Zuerst müssen Sie natürlich die Debian-Pakete zu SANE auf Ihrem System installieren. Diese sind: sane,
  +
libsane, xsane, xsane-gimp und sane-gimp. Installieren Sie zunächst einmal sane wie folgt:
  +
sushi:/home/fr/# apt-get install sane
  +
Reading Package Lists... Done
  +
Building Dependency Tree... Done
  +
The following extra packages will be installed:
  +
libgimp1 libsane
  +
The following NEW packages will be installed:
  +
libgimp1 libsane sane
  +
0 packages upgraded, 3 newly installed, 0 to remove and 3 not upgraded.
  +
Need to get 703kB of archives. After unpacking 1729kB will be used.
  +
Do you want to continue? [Y/n]
  +
Get:1 ftp://localhost unstable/main libsane 1.0.1-1999-10-21-6 [567kB]
  +
Get:2 ftp://localhost unstable/main sane 1.0.1-1999-10-21-6 [73.8kB]
  +
Get:3 ftp://localhost unstable/main libgimp1 1.0.4-2.0.1 [61.9kB]
  +
Fetched 703kB in 16s (42.4kB/s)
  +
Selecting previously deselected package libsane.
  +
(Reading database ... 62718 files and directories currently installed.)
  +
Unpacking libsane (from .../libsane_1.0.1-1999-10-21-6_i386.deb) ...
  +
Selecting previously deselected package libgimp1.
  +
Unpacking libgimp1 (from .../libgimp1_1.0.4-2.0.1_i386.deb) ...
  +
Selecting previously deselected package sane.
  +
Unpacking sane (from .../sane_1.0.1-1999-10-21-6_i386.deb) ...
  +
Setting up libgimp1 (1.0.4-2.0.1) ...
  +
Setting up libsane (1.0.1-1999-10-21-6) ...
  +
Setting up sane (1.0.1-1999-10-21-6) ...
  +
Zusätzlich wurden automatisch die benötigten Pakete libgimp1 und libsane installiert. Nun steht Ihnen das
  +
Programm sane-find-scanner zur Verfügung, mit diesem können Sie nun feststellen, welches Device für
  +
Ihren Scanner benutzt wird. Der Scanner muß dazu natürlich angeschlossen und eingeschaltet sein.
  +
sushi:/# sane-find-scanner
  +
416
  +
Kapitel 10. Grafik
  +
sane-find-scanner: found processor "HP C2520A 3503" at device /dev/sg0
  +
Legen Sie nun einen Link vom angegebenen Device auf /dev/scanner an: ln -s /dev/sg0
  +
/dev/scanner. Alternativ können Sie auch in der passenden Datei unter /etc/sane.d/ den Eintrag
  +
anpassen... aber die Methode, einen Link anzulegen, ist einfacher und universeller. Ein solcher Link wird im
  +
übrigen auch schon bei der Basisinstallation per CD-ROM für das Device /dev/cdrom vorgenommen und ist
  +
auch für andere Geräte, wie zum Beispiel ein Modem (ein Link von /dev/ttyS1 auf /dev/modem zum
  +
Beispiel), sinnvoll.
  +
Werfen Sie nun noch einen Blick in die Datei /etc/sane.d/dll.conf. In dieser finden Sie einen Eintrag für
  +
jeden verfügbaren Treiber. Sie können die nicht benötigten auskommentieren, wichtiger ist aber, daß der
  +
Treiber, den Sie wirklich benötigen, nicht auskommentiert ist. Die Datei /etc/sane.d/dll.conf:
  +
# enable the next line if you want to allow access through the network:
  +
# The following backends may hang when they are not present:
  +
# abaton, apple, tamarack
  +
# hp backend may core when not present
  +
# The following backends will print warning messages when not present:
  +
# s9036, agfafocus
  +
net
  +
#abaton
  +
#agfafocus
  +
#apple
  +
artec
  +
canon
  +
coolscan
  +
#dc25
  +
#dc210
  +
dmc
  +
epson
  +
hp
  +
microtek
  +
microtek2
  +
#mustek
  +
pint
  +
#pnm
  +
qcam
  +
ricoh
  +
#s9036
  +
sharp
  +
snapscan
  +
#tamarack
  +
umax
  +
Prüfen Sie nun mittels scanimage -L, ob das entsprechende Gerät gefunden wird:
  +
# scanimage -L
  +
device ‘hp:/dev/sg0’ is a Hewlett-Packard C2520A flatbed scanner
  +
device ‘hp:/dev/scanner’ is a Hewlett-Packard C2520A flatbed scanner
  +
Durch den angelegten Link wird das Gerät nun zweimal angezeigt. Beachten Sie, daß hier auch der benötigte
  +
Treiber angezeigt wird, dies ist der Eintrag am Anfang der Zeile, direkt hinter device. In diesem Fall wird also
  +
der hp-Treiber verwendet. Sie können nun einen ersten Versuch starten, indem Sie das Kommando scanimage
  +
--device hp > abc.pnm benutzen, um ein Bild zu scannen und in die Datei abc.pnm zu schreiben. Sie
  +
müssen natürlich das für Ihren Scanner passende Device angeben.
  +
Damit ist die eigentliche Installation des Scanners abgeschlossen. Kommen wir nun zum Abschluß: eine
  +
Benutzeroberfläche muß her.
  +
417
  +
Kapitel 10. Grafik
  +
10.2.2. xscanimage
  +
Dazu stehen Ihnen gleich mehrere Programme zur Auswahl. Neben xsane steht Ihnen auch noch xscanimage
  +
zur Verfügung. xsane wird bei der Installation so eingerichtet, daß Sie auch direkt aus The Gimp heraus
  +
scannen können. xscanimage steht Ihnen bereits zur Verfügung, es wird zusammen mit dem Paket sane
  +
installiert.
  +
Abbildung 10-26. xscanimage Auswahl
  +
Nach dem Start von xscanimage müssen Sie zunächst das passende Gerät auswählen. Danach wird die
  +
eigentliche Benutzeroberfläche gestartet.
  +
Abbildung 10-27. xscanimage scannen
  +
418
  +
Kapitel 10. Grafik
  +
Im Feld „Filename“ können Sie einen Dateinamen eingeben oder über die Schaltfläche „Browse“ auswählen,
  +
unter dem der Scan später gespeichert werden soll. Unter „Scan Mode“ können Sie zwischen „Lineart“,
  +
„Halftone“ „Grayscale“ oder „Color“ wählen sowie die Auflösung des Scans einstellen. Weiter unten lassen
  +
sich Einstellungen zu Kontrast und Helligkeit vornehmen. Links unten im Fenster wird die Größe des Scans
  +
einmal für die Auflösung (die Einheit ist abhänging von der Auswahl im Menü unter „Preferences“ - „Length
  +
Unit“) sowie für die spätere Größe der Datei angezeigt. Die Schaltfläche „Preview Window“ öffnet ein Fenster,
  +
in dem Sie eine Vorschau des Scans sehen können. Diese wird normalerweise erst einmal in Schwarz-Weiß
  +
erstellt, Sie können dies aber unter „Scan Mode“ verändern. Im „Preview“-Fenster können Sie mit der linken
  +
Maustaste einen Bereich markieren, der Scan wird dann auf diesen Ausschnitt begrenzt.
  +
10.2.3. xsane
  +
Als zweite grafische Schnittstelle zu Ihrem Scanner steht noch xsane zur Verfügung. Hierzu ist zuerst das Paket
  +
sane-gimp1.1 (am einfachsten via apt-get install sane-gimp1.1) zu installieren. Auch xsane startet
  +
zuerst mit einer Auswahl der verfügbaren Geräte, diesmal aber etwas eindrucksvoller:
  +
Abbildung 10-28. xsane Auswahl
  +
xsane erscheint auf den ersten Blick nicht so mächtig wie xscanimage; doch der Schein trügt. Hinter den
  +
Menüpunkten „Preferences“ und „View“ verbergen sich zahlreiche Auswahl- und Einstellmöglichkeiten.
  +
419
  +
Kapitel 10. Grafik
  +
Abbildung 10-29. xsane scannen
  +
Einiges kennen Sie schon von xscanimage her, neu ist aber die Auswahl unter „Scan mode“ zwischen „Scan“,
  +
„Copy“ und „Fax“. Die Option „Scan“ erstellt eine Datei auf Ihrer Festplatte. Mittels „Copy“ wird die Ausgabe
  +
direkt auf einem Drucker ausgegeben und „Fax“ schließlich gibt die gescannten Daten über eine Telefonleitung
  +
an ein entferntes Faxgerät weiter.
  +
420
  +
Kapitel 10. Grafik
  +
Abbildung 10-30. xsane Vorschau
  +
Natürlich verfügt auch xsane über eine Vorschau beim Scannen. Hierbei wird die Vorlage mit einer niedrigen
  +
Auflösung ohne Farben eingescannt und Sie können dann mit der Maus den gewünschten Bereich auswählen.
  +
10.2.4. Scannen mit The Gimp
  +
Wenn Sie direkt aus The Gimp heraus scannen möchten, wählen Sie einfach aus dem Menü „Datei“ den Eintrag
  +
„Holen“ und den gewünschten Gerätetreiber. Die Benutzung gestaltet sich genauso, mit dem einzigen
  +
Unterschied, daß die gescannten Daten nicht auf der Festplatte gepeichert werden, sondern direkt in The Gimp
  +
geladen und dort bearbeitet werden können.
  +
Abbildung 10-31. xsane Gimp Menü
  +
421
  +
Kapitel 10. Grafik
  +
Da xsane als Plugin in The Gimp integriert ist, stehen Ihnen auch bei der Benutzung aus The Gimp heraus alle
  +
Funktionen (wie zu Beispiel die Vorschau) zur Verfügung.
  +
Abbildung 10-32. xsane Gimp Menü
  +
10.3. Digitalkameras
  +
Digitalkameras sind mittlerweile mit mehreren Millionen Pixeln in der Lage qualitativ hochwertige Bilder zu
  +
liefern. Um diese an einem Debian GNU/Linux-System zu betreiben, ist das Programm gPhoto die erste Wahl.
  +
Momentan werden von gPhoto über hundert verschiedene Kamera-Modelle der verschiedensten Hersteller
  +
unterstützt.
  +
422
  +
Kapitel 10. Grafik
  +
Wenn Sie den Kauf einer Digitalkamera planen, sollten Sie zuerst einen Blick in die Dokumentation zu gPhoto
  +
werfen oder auf der Webseite http://www.gphoto.org/index.html prüfen, welches Modell unterstützt wird.
  +
Einige Hersteller halten die Informationen über die verwendeten Protokolle zum Datenaustausch geheim, somit
  +
ist eine Unterstützung dieser Kameras von gPhoto nicht sichergestellt.
  +
10.3.1. gPhoto
  +
Abbildung 10-33. gPhoto
  +
10.3.1.1. Einstellungen
  +
Beim ersten Start von gPhoto müssen Sie einige Einstellungen zu Ihrem Kameramodell und zur Schnittstelle, an
  +
der die Kamera angeschlossen ist, vornehmen. Speichern Sie dann diese Einstellungen ab.
  +
423
  +
Kapitel 10. Grafik
  +
Abbildung 10-34. gPhoto Einstellungen
  +
Wenn Sie später noch Änderungen an diesen Einstellungen vornehmen wollen, können Sie dies über das Menü
  +
„Configure“ - „Select Port-Camera Model“ vornehmen.
  +
10.3.1.2. Benutzung
  +
Der Menüpunkt „Get Index“ im Menü „Camera“ erzeugt eine Übersicht der in der Kamera gespeicherten
  +
Bilder. Sie können mit gPhoto zwei verschiedene Arten dieses Indexes erzeugen.
  +
„Thumbnails“ erzeugt eine verkleinerte Ansicht zu jedem in der Kamera gespeicherten Bild. Sie können mit
  +
einem Mausklick auf jedes einzelne Bild dieses zum späteren Speichern auf der Festplatte auswählen.
  +
„No Thumbnails“ ist um einiges schneller bei der Darstellung der Übersicht. Für jedes in der Kamera
  +
gespeicherte Bild wird eine Schaltfläche angezeigt. Sie können nun mit einem Mausklick die gewünschten
  +
Bilder zum Speichern auswählen. Wenn Sie trotzdem eine verkleinerte Ansicht eines bestimmten Bildes sehen
  +
möchten, klicken Sie zweimal auf die entsprechende Schaltfläche.
  +
10.3.1.3. Übertragung von Bildern/Thumbnails
  +
Nachdem Sie eines oder mehrere Bilder ausgewählt haben, die Sie von der Kamera auf die Festplatte Ihres
  +
Computers übertragen möchten, können Sie die Bilder selber und/oder die verkleinerten Ansichten der Bilder
  +
an einem beliebigen Ort speichern. Auch hierbei gibt es wieder zwei verschiedene Wege:
  +
„Open in Window“, diese Option lädt die ausgewählten Bilder in das Programm gPhoto. Sie können nun
  +
Veränderungen an dem Bild vornehmen oder das Bild in verschiedenen Formaten speichern.
  +
„Save to disk“, diese Aktion speichert die ausgewählten Bilder direkt auf die Festplatte. Sie werden vorher noch
  +
aufgefordert, den Pfad, in dem die Bilder gespeichert werden sollen, auszuwählen. Weiterhin müssen Sie einen
  +
Dateinamen angeben. Dieser wird mit der Nummer des Bildes sowie der Endung für das Dateiformat ergänzt.
  +
Wenn Sie zum Beispiel die Bilder 1 und 2 zum Speichern ausgewählt haben und als Dateinamen „Urlaubsbild“
  +
gewählt haben, so werden die beiden Bilder als „Urlaubsbild-001.jpg“ und „Urlaubsbild-002.jpg“ in dem
  +
ausgewählten Verzeichnis gespeichert.
  +
Es ist ebenfalls möglich, zusätzlich die Bilder als verkleinerte Versionen zu speichern. Dies kann zum Beispiel
  +
zur Erstellung von Webseiten nützlich sein. Sie können dies über das Menü „Camera“ - „Get Selected“
  +
424
  +
Kapitel 10. Grafik
  +
aktivieren. Die Auswahl „Images“ speichert das Bild in der vollen Größe, die Auswahl „Thumbnails“ speichert
  +
nur die verkleinerte Version der Bilder, und die Auswahl „Both“ speichert beide Versionen der Bilder.
  +
Die aktuelle Version erlaubt es auf der Kommandozeile alle auf der Kamera gespeicherten Bilder auf den
  +
Rechner zu übertragen. Hierbei ist anzugeben an welchem Anschluss die Kamera angeschlossen ist: gphoto2
  +
--port "usb:" --get-all-images. Danach können dann die Bilder auch gelscht werden: gphoto2
  +
--port "usb:" --delete-all-images
  +
10.3.1.4. Löschen von Bildern aus dem Kameraspeicher
  +
Über den Menüpunkt „Camera“ - „Delete Selected Images“ können Sie die ausgewählten Bilder von der
  +
Kamera löschen. Vor dem eigentlichen Löschen der Bilder müssen Sie die Aktion noch einmal bestätigen.
  +
Das Löschen von Bildern auf der Kamera von einem externen Programm wird nicht von allen Kameras
  +
unterstützt. In diesem Fall bekommen Sie eine entsprechende Meldung.
  +
10.3.1.5. Fotografieren
  +
Über den Menüpunkt „Take Picture“ im „Camera“-Menü können Sie direkt fotografieren. Das Bild wird in
  +
gPhoto angezeigt. Beachten Sie bitte, daß nicht alle Kameramodelle diese Funktion unterstützen.
  +
10.3.1.6. Kamera konfigurieren
  +
Der Menüpunkt „Configure Camera“ aus dem Menü „Configure“ dient zur Einstellung der verschiedensten
  +
Parameter Ihrer Kamera. Dies ist sehr abhängig von den Fähigkeiten Ihrer Kamera und der passenden, von
  +
gPhoto verwendeten Bibliothek.
  +
10.3.1.7. Kamera-Informationen
  +
Auch diese Funktion ist von Ihrem Kameramodell abhängig. Zum Beispiel können Angaben über die Anzahl
  +
der auf der Kamera gespeicherten Bilder, die Anzahl der noch zu speichernden Bilder oder den Status der
  +
Batterie angezeigt werden.
  +
10.3.1.8. Bilder aus Verzeichnissen
  +
Sie können mit gPhoto auch komplette Verzeichnisse mit Bildern durchsuchen und anzeigen lassen. Über das
  +
Menü „File“ können Sie den Eintrag „Open Directory...“ auswählen und das gewünschte Verzeichnis
  +
selektieren. Es wird Ihnen dann eine Übersicht der in diesem Verzeichnis gefundenen Bilder angezeigt.
  +
Dieser Modus funktioniert genauso wie das Einlesen der Bilder von einer Kamera. Sie können auch hier
  +
einzelne Bilder durch einen Mausklick auswählen und danach eine Option aus dem Menü, zum Beispiel „Get
  +
Selected“, oder der Menüleiste auswählen. Sie können ein anderes Verzeichnis auswählen, indem Sie „Get
  +
Index“ aus dem Kamera-Menü auswählen.
  +
In diesem Modus sind mit Ausnahme von „Take Picture“, „Delete Selected Images“, und das „Live Preview“
  +
Plugin alle Funktionen von gPhoto verfügbar. Sehr nützlich ist in diesem Zusammenhang der „HTML Gallerie
  +
Generator“.
  +
10.3.1.9. Bearbeiten von Bildern
  +
gPhoto kann geöffnete Bilder mit einigen eingebauten Funktionen bearbeiten. Hierbei ist es egal, ob es sich um
  +
Bilder handelt, die gerade von einer Kamera übertragen wurden, oder ob die Bilder von der Festplatte stammen.
  +
Im Menü „Edit“ finden Sie zwei Menüpunkte:
  +
„Image Orientation“: hier verbergen sich Optionen zum Drehen (rotating) und Spiegeln (flipping) der Bilder.
  +
„Image Dimension“: Hier finden Sie einige Optionen zum Verändern der Bildgröße. Sie können sofort das Bild
  +
in der Größe halbieren oder verdoppeln, oder die gewünschte Größe genau angeben. Wenn Sie hier „Constrain
  +
Proportions“ aktivieren, wird das Seitenverhältnis beibehalten.
  +
425
  +
Kapitel 10. Grafik
  +
Auch auf diese Funktionen können Sie über die Werkzeugleiste zugreifen.
  +
10.3.1.10. Automatische Nachbearbeitung von Bildern
  +
Mit der automatischen Nachbearbeitung von Bildern können Sie die Funktionalität von gPhoto selber erweitern.
  +
Über diese Funktion wird nach dem Laden eines Bildes das von Ihnen angegebene Script ausgeführt und auf
  +
das Bild angewendet.
  +
Mit einem Mausklick auf die Schaltfläche „Post-Process“ am unteren Rand des gPhoto-Fensters können Sie ein
  +
Fenster öffnen, in dem Sie diese Funktionalität aktivieren und deaktivieren können („Enable Post-Processing“).
  +
In dem Textfeld können Sie einen Befehl eingeben, der nach dem Laden jedes Bildes ausgeführt werden soll.
  +
Hierbei können Sie die Variable „%s“ für den Namen des aktuellen Bildes einsetzen.
  +
Unter Debian GNU/Linux gibt es eine Vielzahl von Programmen, die auf der Kommandozeile Bilddaten
  +
bearbeiten können. Die Pakete netpbm und imagemagic liefern Ihnen alle nur denkbaren Funktionen. Sie
  +
können auf diesem Wege auch das Programm The Gimp in gPhoto einbinden, um Ihre Bilder zu bearbeiten.
  +
Lesen Sie dazu im Abschnitt The Gimp nach, wie Sie dieses Programm über die Kommandozeile steuern
  +
können.
  +
10.3.1.11. Speichern von geöffneten Bildern
  +
Wenn Sie an den geladenen Bildern Änderungen vorgenommen haben oder die Bilder noch gar nicht
  +
gespeichert haben, so können Sie dies über den Menüpunkt „Save Opened Image(s)“ vornehmen. Diese
  +
Funktion erreichen Sie auch über die Werkzeugleiste.
  +
Abbildung 10-35. gPhoto speichern
  +
In dem dann erscheinenden Fenster wählen Sie das Verzeichnis aus, in dem die Bilder gespeichert werden
  +
sollen.
  +
Wenn Sie nur das aktuelle Bild speichern möchten, klicken Sie nicht auf „Save all opened images“, sondern
  +
geben Sie den vollen Dateinamen an. Das Dateiformat bestimmen Sie, indem Sie die entsprechende Endung,
  +
also zum Beispiel .gif oder .jpg, angeben.
  +
Zum Speichern aller geöffneten Bilder aktivieren Sie die Option „Save all opened images“ und geben den
  +
gewünschten Begin des Dateinamens an. Dieser wird - wie schon zuvor beschrieben - um die laufende Nummer
  +
des Bildes und die Endung .jpg für jedes Bild erweitert.
  +
10.3.1.12. Drucken von Bildern
  +
Das Drucken von Bildern aus gPhoto ist sehr einfach. Wenn Sie das gewünschte Bild in gPhoto geöffnet haben,
  +
wählen Sie einfach aus dem Menü „File“ den Eintrag „Print“ aus. Auch für diese Funktion finden Sie in der
  +
Werkzeugleiste ein Symbol.
  +
Abbildung 10-36. gPhoto drucken
  +
426
  +
Kapitel 10. Grafik
  +
In dem dann erscheinenden Fenster können Sie weitere Optionen für das zum Druck verwendete Kommando
  +
lpr angeben. Voraussetzung für einen erfolgreichen Druck ist natürlich, daß Sie zuvor Ihren Drucker richtig
  +
konfiguriert haben. Informationen hierzu finden Sie im Abschnitt Drucken.
  +
10.3.1.13. Plugins
  +
gPhoto verfügt momentan über zwei Plugins:
  +
Live Camera!: mit diesem Plugin können Sie das laufende Kamerabild sehen. Sie können hier ebenfalls ein Bild
  +
„knipsen“.
  +
HTML Gallery: Dieses Plugin erzeugt eine Webseite mit allen Bildern aus dem aktuellen Index. Zunächst
  +
können Sie hier einen Titel eingeben, danach können Sie ein Layout für die Seiten wählen. Abschließend
  +
müssen Sie noch das Verzeichnis auswählen, in dem die Bilder und die Webseiten gespeichert werden sollen.
  +
Ein Beispiel für eine mit gPhoto erstellte Seite finden Sie unter der URL: http://www.gphoto.org/webserver .
  +
Wenn Sie eigene Vorlagen für Webseiten erzeugen möchten, werfen Sie einen Blick auf die Seite
  +
http://www.gphoto.org/docs.php3 unter den Punkt „HTML Gallery engine specs“.
  +
10.3.1.14. gPhoto auf der Kommandozeile
  +
Auch gPhoto läßt sich von der Kommandozeile aus bedienen bzw. mit verschiedenen Parametern aufrufen.
  +
Einige der Parameter benötigen ein laufendes X-System, um zu funktionieren.
  +
Wenn Sie gPhoto von der Kommandozeile aus mit der Option -h aufrufen, bekommen Sie eine Übersicht der
  +
Funktionen angezeigt.
  +
fr@linux:~$ gphoto -h
  +
gPhoto v.0.3.5 - the GNU digital camera application
  +
Covered by the GNU GPL. Type "gphoto -v" for details.
  +
Usage: gphoto [-h] [-n] [-s # filename] [-t # filename]
  +
[-d #] [-l filename]
  +
-n display the # of pictures
  +
-s # filename save image # as filename
  +
-t # filename save thumbnail # as filename
  +
-d # delete image # from camera
  +
-l filename save live preview as filename
  +
-h display this help screen
  +
-v display information about the 0.3.5 version
  +
Hier einige Beispiele:
  +
gphoto -s 2 /var/www/wasser.jpg
  +
Speichert Bild Nummer 2 als Datei wasser.jpg im Verzeichnis /var/www/ ab.
  +
gphoto -s 5 wasser.jpg -t 5 wasser-small.jpg
  +
Speichert das Bild Nummer 5 im aktuellen Verzeichnis in voller Größe und in verkleinerter Form.
  +
Mit diesen Optionen von gPhoto können Sie sehr leicht eigene Shell-Scripte, zum Beispiel für eine Webcam,
  +
erstellen.
  +
10.3.1.15. Weitere Informationen
  +
Mehr Infos zu gPhoto finden Sie auf der Webseite unter der URL http://www.gphoto.org.
  +
427
  +
Kapitel 11. Office Pakete
  +
Als „Office Pakete“ bezeichnet man Zusammenstellungen von Anwendungen welche im Bürobereich genutzt
  +
werden. Hauptsächlich sind dies Textverarbeitungen und Tabellenkalkulationen, aber auch Grafik- und
  +
Präsentationsprogramme gehören in diesen Bereich. Mitunter sind auch E-Mail Programme in diesen
  +
Sammlungen anzutreffen. An dieser etwas unklaren Deffinition zeigt sich schon das Office Pakete
  +
unterschiedlich ausgestattet sein können.
  +
Office Pakete können dabei aus einzelnen Anwendungen, welche in einem Paket oder Projekt zusammengeführt
  +
werden, oder aber in einer einzigen Anwendung bestehen. Unter GNU/Linux sind die bekanntesten, als Freie
  +
Software verfügbaren, Pakete: KOffice, Gnome Office und OpenOffice.org.
  +
11.1. OpenOffice.org
  +
Abbildung 11-1. OpenOffice.org - Splashscreen
  +
OpenOffice.org ist ein Open Source Projekt mit der Zielsetzung, die international führende Office-Suite zu
  +
entwickeln, die auf allen wichtigen Plattformen läuft und Zugang zu Funktionen und Daten durch transparente
  +
Schnittstellen und ein XML-basiertes Dateiformat gewährt.
  +
OpenOffice.org basiert auf den Quelltexten von StarOffice 5.1 welche von Sun als OpenSource Software
  +
freigegeben wurden. Dieses zunächst einfach „OpenOffice“ genannte Paket, eine Umbenennung war notwendig
  +
da der Name bereits für ein anderes Produkt genutzt wurde, umfasst die Anwendungen Textverarbeitung,
  +
Tabellenkalkulation, Zeichenprogramm und Präsentation. Leider konnten nicht alle Komponenten von
  +
StarOffice als Freie Software in OpenOffice.org einfliessen, da Teile von externen Herstellern eingekauft
  +
wurden. Im wesentlichen handelte es sich dabei um die Rechtschreibkorrektur und das Drucksystem, beide
  +
Teile wurden mittlerweile in OpenOffice.org durch Komponenten aus dem OSS Bereich ersetzt, so daß dieses
  +
Paket wieder voll einsatzfähig ist.
  +
428
  +
Kapitel 11. Office Pakete
  +
OpenOffice.org besteht aus Textverarbeitung, Tabellenkalkulation, Präsentation, Zeichenprogramm, einem
  +
Modul zur Erstellung von Diagrammen, einem Formel-Editor und Dateiformat-Wandler (inklusive der Formate
  +
für Microsoft Office).
  +
11.1.1. Installation
  +
OpenOffice.org ist noch nicht Bestandteil der Debian Distribution, ist aber aufgrund der Popularität trotzdem in
  +
einigen Debian CD Distributionen integriert, bzw. auf einer extra CD zu finden. Eine Integration in das
  +
Paketmanagement sollte dabei selbstverständlich sein, so das die gewünschten Pakete analog zu einer
  +
Installation aus dem Netz installiert werden können.
  +
Für eine Installation der OpenOffice.org Pakete aus dem Netz auf einem Debian GNU/Linux 3.0 „woody“
  +
System ist folgende Zeile in der Datei /etc/apt/sources.list hinzuzufügen:
  +
deb http://ftp.freenet.de/pub/ftp.vpn-junkies.de/openoffice/ woody main contrib
  +
Wird auf dem System bereits die Entwicklerversion eingesetzt, so ist folgende Zeile zu verwenden:
  +
deb http://ftp.freenet.de/pub/ftp.vpn-junkies.de/openoffice/ unstable main contrib
  +
Auf dem Server sind verschiedene Versionen von OpenOffice.org für die Debian Releases „woody“, „sid“,
  +
„sarge“ usw. zu finden. Der Eintrag ist entsprechend der gewünschten Release anzupassen.
  +
Die Debian Pakete von OpenOffice.org werden von einem Team von Entwicklern gepflegt und sind auch für
  +
Nicht-Intel Architekturen verfügbar. Unter linux-debian.de/openoffice/ sind aktuelle Informationen,
  +
beispielweise auch ein Verzeichnis der Mirror Server im Netz, zu OpenOffice.org auf Debian GNU/Linux zu
  +
finden.
  +
OpenOffice.org wurde in viele kleinere Pakete aufgeteilt um so dem Administrator eine gezielte Auswahl der
  +
gewünschten Komponenten zu erlauben.
  +
fr@nigiri:~$ apt-cache search openoff
  +
openoffice.org - high-quality office productivity suite
  +
openoffice.org-bin - OpenOffice.org office suite binary files
  +
openoffice.org-help-de - OpenOffice.org office suite help (German)
  +
openoffice.org-help-en - OpenOffice.org office suite help (English)
  +
openoffice.org-help-es - OpenOffice.org office suite help (Spanish)
  +
openoffice.org-help-fr - OpenOffice.org office suite help (French)
  +
openoffice.org-help-it - OpenOffice.org office suite help (Italian)
  +
openoffice.org-help-sv - OpenOffice.org office suite help (Swedish)
  +
openoffice.org-l10n-ar - arabic language package for openoffice.org
  +
openoffice.org-l10n-da - danish language package for openoffice.org
  +
openoffice.org-l10n-de - german language package for openoffice.org
  +
openoffice.org-l10n-el - greek language package for openoffice.org
  +
openoffice.org-l10n-en - english_us language package for openoffice.org
  +
openoffice.org-l10n-es - spanish language package for openoffice.org
  +
openoffice.org-l10n-fr - french language package for openoffice.org
  +
openoffice.org-l10n-it - italian language package for openoffice.org
  +
openoffice.org-l10n-ja - japanese language package for openoffice.org
  +
openoffice.org-l10n-ko - korean language package for openoffice.org
  +
openoffice.org-l10n-nl - dutch language package for openoffice.org
  +
openoffice.org-l10n-pl - polish language package for openoffice.org
  +
openoffice.org-l10n-pt - portuguese language package for openoffice.org
  +
openoffice.org-l10n-ru - russian language package for openoffice.org
  +
openoffice.org-l10n-sv - swedish language package for openoffice.org
  +
openoffice.org-l10n-tr - turkish language package for openoffice.org
  +
openoffice.org-l10n-zh-cn - chinese_simplified language package for openoffice.org
  +
openoffice.org-l10n-zh-tw - chinese_traditional language package for openoffice.org
  +
429
  +
Kapitel 11. Office Pakete
  +
openoffice.org-spellcheck-de-at - German spellchecking for OpenOffice.org (Austria)
  +
openoffice.org-spellcheck-de-ch - German spellchecking for OpenOffice.org (Switzerland)
  +
openoffice.org-spellcheck-de-de - German spellchecking for OpenOffice.org (Germany)
  +
openoffice.org-spellcheck-fr-fr - French spellchecking for OpenOffice.org
  +
gramps - Genealogical Research and Analysis Management Program
  +
libming-fonts-openoffice - Fonts for use with the Ming Library for SWF Creation
  +
libspreadsheet-writeexcel-perl - Perl5 module to create Excel spreadsheets.
  +
mybulgarian - Bulgarian dictionary for OpenOffice
  +
myhungarian - The Hungarian dictionary for OpenOffice.
  +
ooqstart-gnome - OpenOffice QuickStarter applet for GNOME
  +
ttf-openoffice - OpenOffice TrueType Fonts
  +
Viele Pakete dienen der Internationalisierung der Oberfläche (Pakete „openoffice.org-l10n-*“), hier sollte das
  +
Paket für eine deusche Benutzeroberfläche installiert werden. Absolut notwendig sind die Pakete
  +
„openoffice.org“ und „openoffice.org-bin“, welche die eigentliche Programme enthalten. Sinnvoll für den
  +
deutschsprachigen Anwender sind „openoffice.org-help-de“ - die Hilfedateien und
  +
„openoffice.org-spellcheck-de-de“ - die Rechtschreibprüfung.
  +
Die gewünschten Pakete können nun mittels apt-get install openoffice.org openoffice.org-bin
  +
openoffice.org-l10n-de (usw.) installiert werden.
  +
11.1.2. Konfiguration
  +
Beim ersten Aufruf des Programmes wird für jeden Benutzer ein Installationsprogramm gestartet. Dies ist
  +
notwendig da individuelle Parameter wie zum Beispiel Benutzername, Adresse usw. gespeichert werden. Die
  +
Einstellungen werden in der Datei ~/.sversionrc sowie im Verzeichniss ~/.openoffice gespeichert.
  +
Weiterhin werden in diesem Verzeichniss Links angelegt mit denen dieses Installationsprogramm jederzeit,
  +
durch Aufruf von .openoffice/[version]/setup, wieder aufgerufen werden kann. Ist dieses jedoch
  +
bereits einmalig aufgeführt worden, so stehen dort das reparieren und entfernen der Konfiguration zur Auswahl.
  +
Die wesentlichen Einstellungen lassen sich über das Menü „Extras“ - „Optionen“ in einem umfangreichen
  +
Dialog konfigurieren.
  +
Abbildung 11-2.
  +
Ein weiteres Programm zu Konfiguration findet sich ebenfalls, als spadmin, in diesem Verzeichnis. Mit
  +
spadmin läßt sich ein Drucker konfigurieren. Dieser Drucker kann übrigens auch so konfiguriert werden das
  +
430
  +
Kapitel 11. Office Pakete
  +
die Dateien im PDF Format auf der Festplatte gespeichert werden. Eine Faxlösung kann an dieser Stelle
  +
ebenfalls konfiguriert werden.
  +
Abbildung 11-3. OpenOffice.org - spadmin
  +
Sind alle Einstellungen vorgenommen, so läßt sich OpenOffice.org auf der Kommandozeile durch das
  +
Kommando openoffice starten. Im ersten Menü („Datei“) lassen sich unter dem Eintrag „Neu“ leere
  +
Dokumente als Textverarbeitung, Tabellenkalkulation usw. erzeugen. Alle OpenOffice.org Komponenten
  +
werden auch in das Debian Menüsystem aufgenommen, womit entsprechende Einträge in jeder Desktop
  +
Umgebung (GNOME oder KDE) bzw. bei jedem Windowmanager zur Verfügung stehen.
  +
11.1.3. Textverarbeitung
  +
Als wichtigstes Teil von OpenOffice.org ist zuerst sicher der Textverarbeitungsteil zu sehen. Wird das
  +
Programm wie oben beschrieben aus der Kommandozeile oder aus dem Menü heraus gestartet, so wird dieser
  +
Teil des Paketes gestartet.
  +
431
  +
Kapitel 11. Office Pakete
  +
Abbildung 11-4. OpenOffice.org - Textverarbeitung
  +
Auf die Funktionen des Programms kann entweder über die Menüleiste oder aber über die Symbolleisten
  +
zugegriffen werden. Beide Leisten passen sich der jeweiligen Anwendung an, was bedeutet das die Einträge je
  +
nach Anwendungsfall (Textverarbeitung, Tabellenkalkulation usw.) unterschiedlich sind.
  +
Die wichtigsten Einträge in der Menüleiste sind:
  +
• Datei: hier finden sich Unterpunkte für das Öffnen und Schließen, sowie Speichern und Drucken von
  +
Dokumenten sowie andere grundlegende Funktionen
  +
• Bearbeiten: Einträge für das Editieren (Ausschneiden, Kopieren, Einfügen) von Text, Suchen, ...
  +
Ansicht: Ansichtsoptionen, Symbolleisten ein- und ausblenden, ...
  +
• Einfügen: für das Einfügen von Objekten, Sonderzeichen, erzwungenen Seitenumbrüchen, ...
  +
• Format: Formatierungsoptionen für Schrift, Absatz, ...
  +
• Extras: Rechtschreibung, Optionen, ...
  +
• Fenster: Steuerung der Fenster
  +
• Hilfe: Hilfefunktion mit Suchmöglichkeit
  +
Ein weiteres sinnvolles Werkzeug ist der „Stylist“. Sollte dieses Fenster nicht zu sehen sein so kann es jederzeit
  +
mit der Taste F11 aufgerufen werden.
  +
432
  +
Kapitel 11. Office Pakete
  +
Abbildung 11-5.
  +
Mit dem Stylisten lassen sich Überschriften, Abschnitte usw. festlegen.
  +
11.1.4. Tabellenkalkulation
  +
Eine weitere wichtige Komponente ist die Tabellenkalkulation.
  +
433
  +
Kapitel 11. Office Pakete
  +
Abbildung 11-6. OpenOffice.org - Tabellenkalkulation
  +
11.1.5. OpenOffice.org Links
  +
Deutschsprachige Webseiten zu OpenOffice.org de.openoffice.org
  +
Vorlagen u.a., auch für den deutschsprachigen Raum www.ooodocs.org
  +
11.2. GNOME-Office
  +
Als GNOME-Office bezeichnet man eine Zusammenstellung verschiedener Komponenten aus dem GNOME
  +
Projekt. Folgende Pakete gehören zum GNOME-Office Projekt: Gnumeric, AbiWord, Balsa, Evolution, GFax,
  +
Galeon, Gimp, Eye of GNOME, Sodipodi, Sketch, Guppi, Dia, Achtung, GnuCash, MrProject, Toutdoux und
  +
GNOME-DB
  +
Als Meta-Paket kann gnome-office installiert werden, dieses Paket enthält die notwendigen Abhängigkeiten
  +
für die GNOME-Office Komponenten.
  +
11.3. KDE Office
  +
K-Office oder KDE Office wurde aus Komponenten des KDE Projektes zusammengestellt. Diese sind KWord,
  +
KSpread, KPresenter, Kivio, Kontour, Krita, Kugar und KChart. Als Meta-Paket kann hier koffice installiert
  +
werden.
  +
434
  +
Kapitel 12. Text
  +
Um Linux nicht nur im Serverbereich populär zu machen, ist es wichtig, daß auch Anwendungen entwickelt
  +
werden, die aus dem typischen Office-Bereich stammen. Sicher kamen auch Sie schon einmal in die Situation,
  +
einen Brief erstellen zu müssen. Debian GNU/Linux bietet eine Vielzahl von Texteditoren, mit diesen lassen
  +
sich Texte in „Rohform“ erfassen, also ohne Formatierungen wie fett, kursiv usw. Diese Werkzeuge werden von
  +
jedem Programmierer benötigt und sind vielfach auf diese Benutzergruppe angepaßt.
  +
Sehr beliebt sind auch Programme und Werkzeuge, mit denen sich gut gestaltete Texte erstellen lassen, die aber
  +
über keine grafische Benutzeroberfläche verfügen. Die Texte werden dabei in einem beliebigen Editor erfaßt
  +
und mit Kennzeichnungen für die Formatierung versehen, ähnlich wie Sie es vielleicht aus der Sprache des Web
  +
kennen, dem HTML-Format. Je nach verwendetem Format lassen sich mit den verschiedensten Programmen
  +
alle nur denkbaren Ausgabeformate erstellen, wie HTML, Postscript, PDF oder auch ganz einfacher
  +
ASCII-Text.
  +
Mit Programmen zur weiteren Bearbeitung und Gestaltung von Texten, wie man Sie von anderen
  +
Betriebssystemen kennt, sah es lange Zeit unter GNU/Linux schlecht aus. Die erste bekanntere Anwendung war
  +
WordPerfect, die schon lange unter Unix lauffähig war, und auf GNU/Linux angepaßt wurde. Ein weiteres
  +
Paket, Applixware, ist ebenfalls schon lange erhältlich, aber nicht sehr verbreitet. Am populärsten dürfte wohl
  +
das Paket StarOffice sein, welches seit mehreren Jahren unter GNU/Linux lauffähig ist, und von Anfang an,
  +
entgegen der Philisophie auf anderen Betriebssystemen, kostenfrei für den privaten Gebrauch unter GNU/Linux
  +
verfügbar war.
  +
Alle diese Office-Pakete, die auch über eine Textverarbeitung verfügen, sind nicht Bestandteil von Debian
  +
GNU/Linux, da diese nicht den Richtlinien für freie Software im Sinne von Debian entsprechen. Auch wenn
  +
sie, wie StarOffice, kostenlos abgegeben werden. Dies bedeutet natürlich nicht, daß Sie diese Programme nicht
  +
unter Debian GNU/Linux installieren können...
  +
Mit der nächsten Version wird der Quellcode von StarOffice unter einer freien Lizenz verfügbar sein und somit
  +
auch in Debian GNU/Linux einfließen können, diese Software wird dann unter dem Namen
  +
(http://www.openoffice.org) OpenOffice verbreitet werden.
  +
Aber natürlich gibt es auch in diesem Bereich freie Alternativen, die den Weg in die Debian
  +
GNU/Linux-Distribution gefunden haben.
  +
12.1. AbiWord
  +
Neben Gimp und Gnumeric stellt AbiWord als Textverarbeitung einen wichtigen Baustein im Bereich der
  +
Office-Anwendungen dar. Diese Textverarbeitung stellt als OpenSource Projekt eine kleine Besonderheit dar:
  +
neben der Betriebssystemplattform Unix wird auch die Windows-Welt unterstützt. Als Grundlage diente den
  +
Programmierern von AbiWord das Toolkit gtk+, welches auch bei GNOME, Gimp und vielen anderen
  +
Anwendungen benutzt wird.
  +
AbiWord unterstützt folgende Funktionen:
  +
• Formatierung von Zeichen (fett, fursiv, unterstrichen usw.)
  +
• Absatzausrichtung
  +
• Rechtschreibkontrolle
  +
• Dateiformate: XML sowie HTML und ASCII-Text
  +
• Import von Word97 und RTF-Dokumenten.
  +
• Interaktive Lineale und Tabulatoren
  +
• Styles
  +
• unbegrenztes Undo/Redo
  +
• suchen und ersetzen
  +
• Grafiken
  +
• Druckfunktion
  +
435
  +
Kapitel 12. Text
  +
Wenn Sie schon einmal mit einer Textverarbeitung gearbeitet haben, wird Ihnen der Einstieg in AbiWord sehr
  +
leicht fallen. Über die Symbolleiste am oberen Fensterrand sind die meisten Funktionen direkt zu erreichen,
  +
weitere finden sich in der Menüleiste. Momentan wird als einziges Format für Grafiken innerhalb des Textes das
  +
Dateiformat PNG unterstützt, beachten Sie dies auch beim Import von Dateien, die Grafiken werden hier nicht
  +
mit importiert.
  +
Wenn Sie bereits Ihr System so konfiguriert haben, daß unter GNOME alle Programme mit deutschsprachigen
  +
Menüs und Dialogen arbeiten, wird Ihnen sicher auffallen, daß dies bei AbiWord (noch) nicht der Fall ist. Hier
  +
ist momentan noch ein wenig Handarbeit notwendig. Beim ersten Start von AbiWord wird in Ihrem
  +
Homeverzeichnis ein Verzeichniss .AbiSuite angelegt. In diesem befindet sich die Datei AbiWord.Profile,
  +
in welcher folgende Änderungen vorzunehmen sind:
  +
- Ändern Sie alle Wörter _builtin_ in _custom_
  +
- Ändern Sie die Zeichenkette „EnEN“ in den drei Einträgen MenuLabelSet="EnEN", StringSet="EnEN"
  +
und ToolbarLabelSet="EnEN" in "DeDE".
  +
Wenn Sie statt Deutsch eine andere Sprache verwenden wollen, stehen Ihnen folgende Sprachen zur Auswahl
  +
(wählen Sie die passende Variable):
  +
• DaDK: Danish
  +
• DuNL: Dutch
  +
• EsES: Spanish
  +
• FiFI: Finnish
  +
• FrFR: French
  +
• ItIT: Italian
  +
• NoNO: Norwegian
  +
Abbildung 12-1. AbiWord
  +
436
  +
Kapitel 12. Text
  +
Nach einem Neustart von AbiWord erscheinen die Menüs in der gewünschten Sprache. Die
  +
Rechtschreibprüfung von AbiWord benutzt die Datei american.hash, um den von Ihnen geschriebenen Text
  +
zu überprüfen. Diese Datei benutzt das gleiche Format wie das Programm ispell, Sie können diese Datei einfach
  +
durch eine Datei in der gewünschten Sprache ersetzen. Debian GNU/Linux liefert einige dieser Wörterbucher
  +
mit, eine komplette Liste finden Sie unter: http://fmg-www.cs.ucla.edu/geoff/ispell-dictionaries.html
  +
Nach der Installation von AbiWord zeigt ein symbolischer Link auf das Standard-Wörterbuch von ispell:
  +
fr@sushi:~$ ls -l /usr/share/abisuite/dictionary/american.hash
  +
lrwxrwxrwx 1 root root 32 Sep 1 16:44 /usr/share/abisuite/dictionary/american.hash 12.2. xpdf
  +
xpdf dient zur Anzeige von Dateien im PDF-Format unter X. Im Gegensatz zum später beschriebenen
  +
Acrobat-Reader ist xpdf OpenSource Software.
  +
Abbildung 12-2. xpdf
  +
Alle benötigten Funktionen sind über die Schaltflächen am unteren Fensterrand zu erreichen. Oft benötigte
  +
Funktionen können auch mit der rechten Maustaste aufgerufen werden.
  +
Sie können über die Schaltflächen im Dokument navigieren und auch das Dokument drucken, soweit ein
  +
Drucker angeschlossen und konfiguriert ist.
  +
437
  +
Kapitel 12. Text
  +
12.3. acroread
  +
Alternativ zu xpdf können Sie auch den Acrobat-Reader von Adobe zum Betrachten von PDF-Dateien
  +
benutzen. Auch dieses Programm verfügt über einige Optionen, die auf der Kommandozeile angegeben werden
  +
können.
  +
Usage: /usr/bin/X11/acroread [options] [list of files]
  +
Options:
  +
-display <display>
  +
This option specifies the host and display to use.
  +
-geometry [<width>x<height>][{+|-}<x offset>{+|-}<y offset>]
  +
Size and/or location of the document windows.
  +
-help
  +
Prints the common command-line options.
  +
-helpall
  +
Prints out all command-line options.
  +
-iconic
  +
Launches in an iconic state on the desktop.
  +
-toPostScript [options] pdf_file ... [ps_dir]
  +
-toPostScript [options] -pairs pdf_file_1 ps_file_1 ...
  +
-toPostScript [options]
  +
Converts the given pdf_files to PostScript.
  +
In the first form, if the last file specified is a directory,
  +
then all preceding files will be converted to PostScript
  +
and the generated PostScript files will be placed into ps_dir.
  +
If a directory is not specified, then the PostScript files
  +
will be placed in the same directory as the original file.
  +
In the second form, the file list contains pairs, each
  +
consisting of a PDF filename and a corresponding PostScript
  +
filename.
  +
The third form specifies a filter, reading a PDF file from
  +
standard input and writing the PostScript file to standard
  +
output.
  +
The following are valid options for the conversion of PDF to
  +
PostScript:
  +
-binary - emit binary PostScript where possible
  +
-end <int> - identify the last page in the document to be converted
  +
(default is the last page of the document)
  +
-fast - emit PostScript such that all fonts are emitted once
  +
at the beginning of the document. This results in faster
  +
transmission times and smaller PostScript documents but
  +
requires more PostScript printer VM.
  +
-landscape - rotate the pages to print landscape
  +
-reverse - reverse the page order of the output
  +
-odd - emit only odd-numbered pages
  +
-even - emit only even-numbered pages
  +
-annotsOff - don’t print annotations
  +
-level1 - emit Level 1 PostScript (default is Level 2 PostScript)
  +
-level2 - emit Level 2 PostScript
  +
-level3 - emit Level 3 PostScript
  +
-printerhalftones - use the printer default halftones.
  +
-scale <int> - scale the pages according to the scale factor
  +
(default is 100 percent)
  +
-shrink - scale the pages to fit the page size
  +
-size <pagesize> - set the page size. The following page sizes
  +
are recognized:
  +
letter - letter size paper
  +
438
  +
Kapitel 12. Text
  +
tabloid - tabloid size paper
  +
ledger - ledger size paper
  +
legal - legal size paper
  +
executive - executive size paper
  +
a3 - standard A3 size
  +
a4 - standard A4 size
  +
a5 - standard A5 size
  +
b4 - standard B4 size
  +
b5 - standard B5 size
  +
wxh - custom size paper where w is the integer width
  +
in points and h is the integer height in points
  +
-start <int> - identify the first page in the document to be converted
  +
(default is the first page of the document)
  +
-xrm <X resource specification>
  +
Standard X Window System resource specification on command line.
  +
Abbildung 12-3. Acrobat-Reader
  +
Am interessantesten sind hier die Optionen, um aus der PDF-Datei eine Datei im Postscript-Format zu
  +
erzeugen. Hier haben Sie auch die Möglichkeit, nur gerade oder ungerade Seiten auszugeben oder die
  +
Papierausrichtung (Hoch- / Querformat) zu verändern. Sehr nützlich ist auch die Option, um die Seiten in der
  +
Postscriptdatei in umgekehrter Reichenfolge anzuordnen, Sie müssen so bei einigen Druckern die Seiten nach
  +
dem Ausdruck nicht von Hand umsortieren.
  +
Normalerweise werden Sie den Acrobat-Reader aber lediglich mit dem Dateinamen der zu ladenden Datei
  +
aufrufen. Die meisten Einstellungen können aber natürlich auch über die grafische Oberfläche vorgenommen
  +
werden.
  +
439
  +
Kapitel 13. Kalkulation
  +
13.1. Gnumeric
  +
Gnumeric ist eine Tabellenkalkulation aus dem GNOME-Projekt. Gnumeric verfügt über eine große Anzahl
  +
mathematischer Funktionen, die Sie vielleicht schon von Tabellenkalkulationen auf anderen Betriebssystemen
  +
kennen.
  +
Das Ziel der Entwickler von Gnumeric ist es, möglichst viele nützliche Funktionen zu implementieren und so
  +
eine leistungsfähige und ressourcenschonende Alternative zu kommerziellen Produkten zu bieten. Um den
  +
Umstieg zu erleichtern, wurde Gnumeric zum Beispiel mit Importfunktionen für Dateien im Excel-Format
  +
ausgestattet.
  +
Wenn Sie bereits mit einer Tabellenkalkulation gearbeitet haben, wird Ihnen der Ein- oder Umstieg auf
  +
Gnumeric leichtfallen.
  +
Bei einer Tabellenkalkulation können Sie in jede Zelle eines Arbeitsblattes Texte, Zahlen, Formeln oder
  +
Verweise auf andere Zellen eingeben. Jede Änderung hat eine Neuberechnung der Zellen zur Folge, die sich auf
  +
das Eingabefeld beziehen. Des weiteren können Sie Schriftgrößen und Farben sowie weitere Attribute jeder
  +
einzelnen Zelle verändern.
  +
Um auf alle Funktionen zugreifen zu können, müssen die Pakete gnumeric und libguppi13 installiert
  +
werden.
  +
13.1.1. Eingeben von Daten
  +
Um Daten in eine Zelle einzugeben, klicken Sie einfach mit der linken in die gewünschte Zelle. Die aktive Zelle
  +
wird mit einem grauen Rahmen markiert. Sie können die Markierung auch mit den Cursortasten bewegen und
  +
so eine andere Zelle aktivieren.
  +
13.1.2. Zeichenketten und Zahlen
  +
Am einfachsten gestaltet sich die Eingabe von Zeichenketten und Zahlen in einer Zelle. Hierbei handelt es sich
  +
um feste Werte, der Wert, den Sie in eine solche Zelle eingeben, wird auch am Bildschirm angezeigt. Für diese
  +
Eingabewerte gibt es keine spezielle Syntax. Die einzige Beschränkung, die diesen Felder auferliegt ist, daß
  +
diese nicht mit einem „=“-Zeichen beginnen dürfen, da es für die Eingabe von Formeln reserviert ist.
  +
Abbildung 13-1. Gnumeric Eingabe
  +
13.1.3. Datumsfelder
  +
Datumsfelder sind spezielle Zellen, in denen eine Zeichenkette eingegeben wurde, welche als Datum erkannt
  +
wird. Der von Ihnen eingegebene Wert wird in eine serielle Zahl umgewandelt, welche das eigentliche Datum
  +
darstellt. Über das automatisch vergebene Format der Zelle wird das gewünschte Datum dargestellt.
  +
440
  +
Kapitel 13. Kalkulation
  +
Als serielle Zahl bezeichnet man einen Wert, welcher ständig ab einem bestimmten Startwert (meist 0) um eins
  +
erhöht wird.
  +
Datumsfelder können zusammen mit der Funktion „autoausfüllen“ benutzt werden, auf diese gehen wir später
  +
noch ein.
  +
13.1.4. Ändern von Zellen
  +
Nachdem Sie nun schon einige Zellen mit Werten oder Texten gefüllt haben, ist Ihnen vielleicht aufgefallen,
  +
daß es recht praktisch ist, mit den Cursortasten zwischen den Zellen wechseln zu können. Wenn Sie aber die
  +
Daten in einer Zelle verändern wollen, können Sie nicht innerhalb dieser Zelle mit den Cursortasten zwischen
  +
den einzelnen Zeichen „navigieren“.
  +
Vielleicht ist Ihnen schon die Eingabezeile unterhalb der Werkzeugleiste aufgefallen.
  +
Abbildung 13-2. Gnumeric Eingabezeile
  +
Wenn Sie bisher nur Texte und Zahlen eingegeben haben, enthält diese Eingabezeile die gleichen Werte wie die
  +
in der Tabelle markierte Zelle. Wenn Sie bereits eine Formel eingegeben haben, sehen Sie in der Eingabezeile
  +
die Formel und in der Zelle das Ergebnis.
  +
Sie können nun mit der Taste F2 in den erweiterten Eingabemodus wechseln. Nun können Sie auch mit den
  +
Cursortasten in der Zelle bzw. in der Eingabezeile umherwandern. Sie verlassen diesen Modus mit der
  +
Eingabetaste oder mit einem Mausklick auf eine andere Zelle.
  +
13.1.5. Formeln
  +
Formeln sind das Kernstück jeder Tabellenkalkulation. Eine Formel kann als Argumente alle möglichen Werte,
  +
wie zum Beispiel Zahlen, Verweise auf Felder oder ganze Bereiche usw., enthalten.
  +
Eine Formel beginnt immer mit einem Gleichheitszeichen „=“. Alles nach diesem Zeichen wird entsprechend
  +
berechnet.
  +
Die einfachsten Formeln benutzen die vier Symbole für die Grundrechenarten: +, -, * und /. Wenn Sie also
  +
beispielsweise in eine Zelle die Formel =8+2 eingeben und die Eingabetaste drücken, wird Gnumeric diese
  +
Eingabe als Formel erkennen und den Wert „10“ in der Zelle berechnen.
  +
Gnumeric befolgt alle bekannten Regeln der Mathematik, Sie müssen also unter Umständen durch
  +
entsprechende Klammern dafür sorgen, daß Formeln, die Punkt- und Strichrechnung enthalten, in der
  +
441
  +
Kapitel 13. Kalkulation
  +
gewünschten Reihenfolge berechnet werden. Die Formel =(5*)+(49/7) wird als Ergebnis den Wert „32“
  +
liefern.
  +
13.1.6. Bezüge
  +
Sicher haben Sie schon bemerkt, daß die Zeilen und Spalten in Gnumeric mit Zahlen bzw. Buchstaben
  +
bezeichnet sind. Dies erlaubt es, wie auf einem Schachbrett jedes Feld eindeutig zu beschreiben. Das Feld in der
  +
linken, oberen Ecke wird mit „A1“ bezeichnet, das Feld rechts daneben mit „b1“ usw. Sie können diese
  +
Feldbezeichnungen auch genau in dieser Form in Formeln verwenden. Wenn Sie beispielsweise im Feld A1 den
  +
Wert 55 eingetragen haben, so würde das Ergebnis der Formel =a1+45 „100“ lauten.
  +
13.1.7. Funktionen
  +
In Gnumeric wurden die meisten mathematischen Funktionen aus den Bereichen Mathematik,
  +
Finanzmathematik, Statistik und Wissenschaft implementiert. Jede Funktion stellt sich im Prinzip wie folgt dar:
  +
=FUNKTION(ARGUMENTE).
  +
Wenn Sie bereits mit Tabellenkalkulationen auf anderen Betriebssystemen gearbeitet haben, müssen Sie sich
  +
unter Umständen ein wenig umstellen - alle Funktionen in Gnumeric werden in englischer Sprache geschrieben.
  +
Dies ist in anderen Programmen, wie zum Beispiel Excel anders, hier wird die Muttersprache des Anwenders
  +
auf die Funktionen angewendet.
  +
Hier einige einfache Beispiele für Funktionen:
  +
=SUM(A1,A2,A4,B5)
  +
=AVERAGE(A1:A16)
  +
=EXP(1)
  +
=PI()
  +
=MIN(A1,A2,B6)
  +
Wenn eine Funktion mehrere Argumente verarbeiten kann, wie in diesem Beispiel die Funktion SUM, so können
  +
Sie hier eine unbegrenzte Anzahl von Argumenten angeben.
  +
13.1.8. Namen
  +
Sie können einer Zelle, die eine sehr komplexe Formel enthalten kann, einen leicht zu merkenden Namen
  +
zuweisen. Namen können aber auch einem Zellbereich zugewiesen werden, es reicht dann, innerhalb einer
  +
Formel den Namen zu benutzen, und nicht den Bereich, auf den sich die Formel bezieht.
  +
Hier wieder einige Beispiele für die Verwendung von Namen:
  +
=VLOOKUP (C1, "gnu", DataBase, 2, 0)
  +
=LN(E_Constant)
  +
=SUM(DataBase, E_Constant)
  +
Diese setzt voraus, daß dem Bereich „$A$1:$B$500“ (oder ein anderer Bereich) der Name „DataBase“
  +
zugewiesen wurde und der Name „E_Constant“ auf einen Wert 2.71828182845 verweist.
  +
Sie können einer Zelle oder einem Bereich einen Namen zuweisen, indem Sie auf die gewünschte Zelle klicken
  +
oder mit der linken Maustaste den Bereich markieren und anschließend aus dem Menü „Bearbeiten“ den
  +
Eintrag „Definiere Zellennamen“ auswählen.
  +
442
  +
Kapitel 13. Kalkulation
  +
Abbildung 13-3. Gnumeric Eingabezeile
  +
In diesem Dialog können Sie einen neuen Namen für den gewählten Bereich angeben oder bereits definierte
  +
Namen verändern bzw. die zugewiesenen Bereiche anpassen.
  +
Sie sollten für Zellen oder Bereiche keine Namen verwenden, die schon von den in Gnumeric implementierten
  +
Funktionen verwendet werden. Dies würde natürlich zu Konflikten führen.
  +
443
  +
Kapitel 14. Multimedia
  +
Auch der Bereich Multimedia hat bei GNU/Linux längst Einzug gehalten, neben Soundkarten sind hier
  +
insbesondere TV-Karten, DVDs und natürlich die Videobearbeitung zu nennen.
  +
14.1. Sound
  +
14.1.1. Soundkarte einrichten
  +
Um eine Soundkarte unter Debian GNU/Linux zu aktivieren, müssen Sie die nötigen Treiber als Module laden
  +
oder fest in den Kernel einkompilieren. Bei einer Soundkarte gibt es keinen Grund, die Treiber nicht als Module
  +
zu laden, eine Soundkarte wird normalerweise nicht beim Systemstart benötigt und kann also problemlos später
  +
als Modul geladen werden.
  +
GNU/Linux unterstützt eine Vielzahl von Soundkarten, Sie müssen also zunächst herausfinden, welche
  +
Soundkarte sich in Ihrem Rechner befindet. Wenn Sie ein Motherboard mit integriertem Soundchip verwenden
  +
oder GNU/Linux auf einem Notebook verwenden wollen, werden Sie keine eigene Soundkarte als Steckkarte in
  +
Ihrem Rechner finden. Wenn sich eine Steckkarte in Ihrem Rechner befindet, hilft oft ein Blick auf die auf der
  +
Karte aufgedruckten Angaben. Viele Karten und Chipsätze sind zu den sehr verbreiteten
  +
„Soundblaster“-Karten kompatibel, diese verwenden das Kernelmodul sb. Sehr verbreitet sind auch Karten, die
  +
das Modul es1371 verwenden, zu diesen gehören auch einige preiswertere Soundblaster-Modelle.
  +
Für alle Soundkarten müssen Sie jedoch zuallererst das Modul soundcore laden, am einfachsten mit dem
  +
Kommando modprobe soundcore. Dieses stellt Funktionalitäten zur Verfügung, die von allen weiteren
  +
Treibern für Soundkarten benutzt werden. Laden Sie danach das benötigte Modul für Ihre Soundkarte,
  +
beispielsweise mit modprobe es1371. Ob das Laden der Module erfolgreich war, sehen Sie schon auf der
  +
Kommandozeile, ein Blick in die Datei /var/log/syslog verrät Ihnen aber noch mehr Details.
  +
Wenn Sie eine ältere Soundkarte verwenden, die in einem der ISA-Steckplätze Ihres Rechners untergebracht ist,
  +
dann müssen Sie eventuell beim Laden des Moduls weitere Parameter wie zum Beispiel den benötigten
  +
Interrupt dieser Karte angeben. Bei neueren Karten, die im PCI-Steckplatz des Rechners untergebracht sind, ist
  +
dies nicht der Fall.
  +
Damit ist die eigentliche Installation der Soundkarte bereits abgeschlossen. Wenn Sie weitere Funktionen der
  +
Karte nutzen wollen (wie zum Beispiel eine MIDI-Schnittstelle), so kann es notwendig sein, weitere Module zu
  +
laden.
  +
Die Funktionsfähigkeit der Karte und der geladenen Treiber können Sie sehr leicht von der Kommandozeile aus
  +
feststellen. Auch Soundkarten werden unter GNU/Linux, wie alle anderen Geräte auch, über Gerätedateien
  +
angesprochen. Mit dem Kommando cat können Sie eine Sounddatei einfach über die Gerätedatei /dev/audio
  +
zur Soundkarte schicken. Meist wurde während der Installation von Debian GNU/Linux bereits die ein oder
  +
andere Sounddatei auf Ihrem Rechner installiert, Sie können diese mit dem Kommando locate .wav suchen
  +
und eine dieser Dateien dann ausgeben lassen. Hier ein prinzipielles Beispiel, passen Sie dieses bitte an Ihre
  +
Gegebenheiten an:
  +
fr@linux:~$ locate .wav
  +
/usr/share/sounds/logout.wav
  +
/usr/share/sounds/panel/slide.wav
  +
/usr/share/sounds/phone.wav
  +
...
  +
fr@linux:~$ cat /usr/share/sounds/logout.wav > /dev/audio
  +
Wenn dieser Test erfolgreich ist, können Sie sich an die weitere Arbeit machen und einige der im folgenden
  +
vorgestellten Programme ausprobieren.
  +
444
  +
Kapitel 14. Multimedia
  +
14.2. Xmms
  +
Xmms, das „X Multimedia Sound System“, ist ein sehr vielfältiges Programm zum Abspielen von Audio-CDs
  +
und Musik-Dateien aller Art. Xmms kann über Plugins erweitert werden, es existieren auch Plugins mit denen
  +
sich Videodaten anzeigen lassen. Die Oberfläche von Xmms erinnert an einen Cassetten- oder Videorecorder, so
  +
daß Sie sich schnell in die Bedienung einfinden werden.
  +
In der Titelzeile des Programms finden Sie drei Schaltflächen: die linke verkleinert Xmms, die mittlere zeigt nur
  +
noch die Titelzeile an und die rechte beendet Xmms. Im Fenster selber wird Ihnen der Status (Play, Pause, Stop)
  +
und die Spielzeit des aktuellen Songs angezeigt.
  +
14.2.1. „Skins“
  +
Xmms kann über sogenannte „skins“ im Aussehen verändert werden. Einige Beispiele finden Sie zum
  +
Download auf der Homepage von Xmms ( http://www.xmms.org ), kopieren Sie diese in das Verzeichnis
  +
~/.xmms/Skins/. Sie müssen das Archiv nicht entpacken, Xmms kann auch mit gepackten „skins“ umgehen.
  +
Beachten Sie bitte, daß dazu das Programm unzip installiert sein muss. Starten Sie nun Xmms, mit der
  +
Tastenkombination ALT+S öffnet sich ein Fenster, in dem Sie die installierten „skins“ auswählen können.
  +
Xmms speichert den zuletzt gewählten „skins“ in der Datei ~/.xmms/config. Sie können hier auch
  +
auswählen, daß bei jedem neuen Song auch das Aussehen geändert werden soll.
  +
Wenn Sie die „skins“ in Ihrem Homeverzeichnis (~/.xmms/Skins/ speichern, stehen diese nur Ihnen zur
  +
Verfügung. Sie können die Archive auch (als Superuser) unter /usr/share/xmms/Skins/ installieren, so daß
  +
sie allen Benutzern zur Verfügung stehen.
  +
Kleiner Tip: Xmms kann auch die „skins“ des Programms WinAmp verwenden.
  +
14.2.2. Hauptfenster
  +
Wenn Sie in den Bereich des Spectrum Analyzers klicken, können Sie das Aussehen verändern. Im linken
  +
Bereich sehen Sie die Buchstaben O A I D V, diese öffnen bei einem Mausklick ein Menü oder führen eine
  +
Aktion aus.
  +
445
  +
Kapitel 14. Multimedia
  +
Abbildung 14-1. xmms
  +
Rechts davon sehen Sie den Titel des aktuellen Songs sowie die Spielzeit und die Position des Songs in der
  +
Titelliste (Playlist). Weiter unten sehen Sie statistische Angaben zu:
  +
• MP3 Bitrate in kBps (meist 128 oder 112)
  +
• Sample Rate in kHz (meist 44)
  +
• Stereo oder Mono
  +
Weiter finden einen Schieberegler für die Lautstärke, für die Balance sowie die Schaltflächen EQ für den
  +
Equalizer und PL für die Playlist (Titelliste).
  +
Der größte Schieberegler bewegt sich während des Abspielen eines Songs nach rechts, je nach aktueller
  +
Position im Lied. Sie können diesen mit der Maus an jede beliebige Stelle im Song schieben.
  +
Sie können Xmms auch über die Tastatur bedienen:
  +
446
  +
Kapitel 14. Multimedia
  +
• z - springt zum letzten Song
  +
• x - abspielen
  +
• c - Pause
  +
• v - Stop
  +
• b - nächster Song
  +
• l - öffnet die Dateiauswahl
  +
• j - springt zu einem anderen Song über eine Auswahl
  +
• CRTL+l - öffnet die Auswahl, um eine URL hinzuzufügen
  +
• CRTL+p - Voreinstellungen
  +
• CTRL+v - Visualisierungs-Plugin
  +
• CTRL+r - Restspielzeit
  +
• CTRL+a - „Always on Top“
  +
• CTRL+w - zeigt nur eine schmale Zeile des Programms an
  +
• CTRL+d - doppelte Größe
  +
• CTRL+j - springt zu einer bestimmten Zeit im Song
  +
• CTRL+z - springt zum Anfang der Liste
  +
• Shift+Control+w - öffnet/schließt die Playlist
  +
• ALT+g - öffnet/schließt den Equalizer
  +
• ALT+s - öffnet den „Skin selector“
  +
14.2.3. Titelliste (Playlist)
  +
Sie können sich eine individuelle Liste Ihrer Lieblingstitel zusammenstellen und speichern.
  +
Abbildung 14-2. Xmms Playlist
  +
447
  +
Kapitel 14. Multimedia
  +
Das dazugehörige Fenster erreichen Sie über die Schaltfläche PL auf der rechten Seite des Fensters. Am unteren
  +
Rand des neuen Fensters finden Sie fünf Schaltflächen, hinter jeder dieser fünf Schaltflächen verbirgt sich ein
  +
Menü (halten Sie die Maustaste gedrückt).
  +
Die fünf Menüs, von links nach rechts:
  +
File +
  +
• + url - fügt eine URL hinzu
  +
• + dir - fügt ein Verzeichnis hinzu, rekursiv also mit allen Unterverzeichnissen
  +
• + file - fügt eine Datei hinzu
  +
File -
  +
• - misc - löscht alle Dateien in der Liste
  +
• - crop - löscht alle, mit Ausnahme der ausgewählten Dateien aus der Liste
  +
• - file - löscht die ausgewählten Dateien
  +
Sel All
  +
• inv sel - kehrt die aktuelle Auswahl um
  +
• sel zero - selektiert keine Datei
  +
• sel all - selektiert alle Dateien
  +
Misc Opt
  +
• sort - ruft ein Menü mit Sortieroptionen auf
  +
• file inf - Dateiinformationen
  +
• misc opts - extra Optionen
  +
Load List
  +
• new list - erzeugt eine neue Playlist
  +
• save list - speichert die aktuelle Liste
  +
• load list - lädt eine Liste, von der Festplatte oder aus dem Netz
  +
14.2.4. Equalizer
  +
Sie erreichen den Equalizer über die Schaltfläche EQ, dies öffnet ein neues Fenster.
  +
448
  +
Kapitel 14. Multimedia
  +
Abbildung 14-3. Xmms Equalizer
  +
Um den Equalizer zu aktivieren, müssen Sie ihn mit der Schaltfläche ON einschalten. Auch werden die hier
  +
vorgenommenen Einstellungen in der Datei ~/.xmms/config gespeichert, wenn Sie Xmms beenden. Über die
  +
Schaltfläche Preset können Sie verschiedene Einstellungen laden, das Format von WinAmp wird auch hier
  +
unterstützt.
  +
14.2.5. Voreinstellungen
  +
Sie erreichen die Voreinstellungen über das Menü (Options/Preferences) oder mit der Tastenkombination
  +
CTRL+p. Die Voreinstellungen sind in die vier Bereiche „Audio I/O Plugins“, „Effect/General Plugins“,
  +
„Visualization Plugins“ und „Options“ aufgeteilt.
  +
14.2.5.1. Audio I/O
  +
Hier finden Sie verschiedene Plugins für unterschiedliche Medien und Formate. Sie können verschiedene Input
  +
Plugins wählen und konfigurieren:
  +
• CD Audio Player - Geben Sie hier das Device an, an dem Ihr CD-ROM angeschlossen ist. Weiterhin können
  +
Sie hier die Lautstärke einstellen.
  +
Um mit diesem PlugIn Audio CDs abspielen zu können, muß in der Playlist (über File +) die
  +
entsprechende Gerätedatei (meist wird dies /dev/cdrom sein) hinzugefügt werden. Die Anzeige der Titel
  +
auf der CD kann automatisch erfolgen wenn der Rechner ans Internet angeschlossen ist. Als Voreinstellung
  +
wird http://www.freedb.org, bzw. einer der Server, benutzt.
  +
• MPEG Layer 1/2/3 Player - hier können Sie den Buffer und einen Proxy-Server einstellen. Weiterhin können
  +
Sie hier das Speichern der Daten aus dem Netz auf die Festplatte aktivieren.
  +
• Wave Player - keine Einstellmöglichkeiten
  +
• id software cin player - ebenfalls keine Einstellungen, Player für das Quake II Format
  +
Von den Output Plugins kann nur eins zur Zeit aktiv sein:
  +
• OSS Driver - dieses Plugin versorgt die Soundkarte mit den nötigen Daten. Wenn Sie über mehrere
  +
Soundkarten in Ihrem Rechner verfügen, können Sie hier eine auswählen. Weiterhin können Sie hier
  +
bestimmen, wieviel Speicher zur Pufferung von Daten verwendet werden soll.
  +
• eSound Output Plugin - Wenn Sie eSound (http://www.tux.org/~ricdude/EsounD.html) installiert haben,
  +
können Sie hier den Server wählen, der benutzt werden soll.
  +
449
  +
Kapitel 14. Multimedia
  +
• Disk Writer Plugin - Mit diesem Plugin können Sie jeden Sound, der von den Input Plugins gelesen werden
  +
kann, im WAV-Format speichern.
  +
• Effect/General Plugins - Hier haben Sie verschiedene Plugins zur Auswahl, beispielsweise um Xmms mit
  +
einem Joystick oder einer Infrarotschnittstelle zu steuern. Ziemlich lustig ist auch das „Echo“ Plugin...
  +
probieren Sie es aus!
  +
14.2.5.2. Visualization Plugins
  +
Hier finden Sie einige tolle Plugins, um Ihre Songs auch grafisch richtig zur Geltung zu bringen. Am
  +
beeindruckensten ist sicher das OpenGL Plugin, Sie können hier die Tasten z, x, c, v, b wie im
  +
Hauptfenster benutzen. Zusätzlich können Sie die Pfeiltasten zum Verändern der x- und z-Achsen und die
  +
Tasten q und w zum Verändern der y-Achse benutzen. Die RETURN-Taste setzt die Werte zurück.
  +
Abbildung 14-4. Xmms OpenGL Plugin
  +
14.2.5.3. Options
  +
Hier finden Sie diverse Einstellmöglichkeiten, die u.a. das Aussehen von Xmms beeinflussen oder das Verhalten
  +
verändern.
  +
14.2.6. Xmms von der Kommandozeile
  +
Meist werden Sie Xmms über ein Menü Ihres Windowmanagers oder aus dem GNOME Panel starten. Xmms
  +
verfügt aber auch über ein paar sehr nützliche Kommandozeilenoptionen. Wenn Sie Xmms mit einem oder
  +
mehreren Dateinamen von der Kommandozeile aufrufen und Xmms bereits gestartet ist, so wird die aktuelle
  +
Titelliste durch die auf der Kommandozeile angegebenen Dateien ersetzt.
  +
450
  +
Kapitel 14. Multimedia
  +
Die komplette Übersicht erhalten Sie mit der Option --help:
  +
Usage: xmms [options] [files] ...
  +
Options:
  +
-h, --help Display this text and exit.
  +
-n, --session Select XMMS session (Default: 0)
  +
-r, --rew Skip backwards in playlist
  +
-p, --play Start playing current playlist
  +
-u, --pause Pause current song
  +
-s, --stop Stop current song
  +
-f, --fwd Skip forward in playlist
  +
-e, --enqueue Add file to current playlist
  +
-m, --show-main-window Show the main window
  +
-v, --version Print version number and exit.
  +
Die meisten Optionen sind selbsterklärend, nützlich ist die Option -e, diese fügt die angegebenen Dateien der
  +
aktuellen Playliste hinzu.
  +
14.2.7. Features
  +
Die meisten Features von Xmms wurden bereits angesprochen, daher hier nur einige Stichpunkte: MP2 und
  +
MP3 streams, WAV/AU samples, diverse Modul-Formate (mod, xm, s3m, med, it, 669, amf, dsm, far gdm, imf,
  +
m15, mtm, stm, stx, ult, uni), CD Audio, Shout / Icecast, Spectrum Analyzer, Winamp 2.0 Skinunterstützung
  +
(wsz-Dateien), Gnome/Afterstep/WindowMaker Dock-Applikation, Maus mit Scrollrad...
  +
14.2.8. Xmms und Netscape
  +
Sie können Xmms direkt aus Netscape benutzen, um Internetradio zu hören, stellen Sie dazu in Netscape unter
  +
„Edit/Preferences/Navigator/Applications“ einen neuen Mimetype „audio/x-scpls“ mit der Anwendung „xmms
  +
%s“ ein. Dies funktioniert mit dem Server http://www.shoutcast.com.
  +
Für MP3-Dateien vom Server http://www.mp3.com benutzen Sie die Werte: mimetype: audio/x-mpegurl, suffix:
  +
m3u, application: xmms %s .
  +
451
  +
Kapitel 14. Multimedia
  +
Abbildung 14-5. Xmms/Netscape
  +
Eine gute Übersicht aktueller MP3-Server finden Sie in dem Telepolis-Artikel „MP3: Gratis, legal und qualitativ
  +
wertvoll“ unter der URL: http://www.heise.de/tp/deutsch/inhalt/musik/3479/1.html.
  +
14.3. zinf
  +
Zinf ist ein erweiterbarer Audio Player für verschiedene Plattformen. Zinf benutzt eine optimierte Version des
  +
Xing MPEG Decoders, welches ihn zu einem der schnellsten Player mit dem besten Klang macht. Die
  +
Homepage zur Zinf finden Sie unter der URL: http://www.zinf.org/. Dort finden Sie auch verschiedene
  +
„Themes“.
  +
452
  +
Kapitel 14. Multimedia
  +
Abbildung 14-6. Zinf
  +
Die herausragenden Features von Zinf sind:
  +
• Spielt alle MPEG 1, MPEG 2 und MPEG 2.5 encodeten Dateien.
  +
• Unterstützung von Xing’s Variable Bitrate Encoding Technology.
  +
• Spielt Songs aus dem Netz über HTTP unicast streaming (Shoutcast) oder IceCast style title streaming.
  +
• Speichert ShoutCast und IceCast Streams auf der Festplatte.
  +
• Playlist Editor.
  +
• Vom Benutzer einstellbarer Buffer für langsame Rechner.
  +
Zusätzlich unterstützt die Linux-Version die Funktionen:
  +
• Enlightened Sound Daemon Support
  +
• Kommandozeilen und ncurses-Oberfläche.
  +
14.4. gqmpeg
  +
Gqmpeg ist eine grafische Oberfläche zu mpg123. Über die Konfiguration können Sie alle Optionen
  +
beeinflussen, die Sie auch bei mpg123 auf der Kommandozeile angeben können. Gqmpeg verfügt auch über eine
  +
sogenannte „Playlist“: hier können Sie Ihre Lieblingstitel eintragen, die dann abgespielt werden.
  +
Gqmpeg läßt sich, trotz grafischer Oberfläche, in weiten Teilen auch über die Tastatur steuern. Hierzu können
  +
Sie folgende Tasten nutzen:
  +
• p oder SPACE : Abspielen
  +
• s : Stop
  +
• n : Nächsten Titel abspielen
  +
• b : Vorherigen Titel abspielen
  +
• l : Öffnen der Playlist
  +
• m : startet den Mixer
  +
• i : zeigt Informationen zum aktuellen Titel
  +
453
  +
Kapitel 14. Multimedia
  +
• - : leiser
  +
• + oder = : lauter
  +
• CTRL - : Balance links
  +
• CTRL + : Balance rechts
  +
• CTRL t : Zeitanzeige
  +
• CTRL o : Einstellungen
  +
• CTRL i : Fenster verkleinern
  +
• CTRL a : Infos zum Programm
  +
• CTRL q : Programm beenden
  +
Optisch kann Gqmpeg in der Standardversion nicht mit anderen Playern mithalten. Gqmpeg kann über
  +
sogenannte „Skins“ im Aussehen verändert werden. Hier drei verschiedene Versionen von Gqmpeg:
  +
Abbildung 14-7. Gqmpeg
  +
Die Webseiten zu Gqmpeg finden Sie unter der URL: http://www.netpedia.net/hosting/gqview/mpeg-index.html,
  +
dort finden Sie auch die eben gezeigten „Skins“, welche im Verzeichnis .gqmpeg/skins/ in Ihrem
  +
Home-Verzeichnis abgelegt und entpackt werden müssen.
  +
14.5. Grip
  +
Grip ist ein GTK-basierter CD-Player und CD-Ripper, Sie können damit von Ihren Audio-CDs eigene
  +
MP3-Dateien erzeugen. Grip beinhaltet alle Funktionen von cdparanoia, kann aber auch externe Programme
  +
benutzen. cdda2wav ist beispielsweise ebenfalls geeignet. Grip unterstützt freedb. (http://www.freedb.org/) ist
  +
eine Datenbank im Netz, die über Informationen zu vielen tausend CDs verfügt. Sie müssen also nicht mühsam
  +
die Titel vom CD-Cover abtippen, Grip holt die Informationen für Sie automatisch aus dem Netz.
  +
454
  +
Kapitel 14. Multimedia
  +
Abbildung 14-8. Grip
  +
Grip arbeitet auch mit DigitalDJ (http://nostatic.org/ddj/ddj.html), einer SQL-Datenbank, die Ihre Titel
  +
verwaltet, zusammen.
  +
Aufgrund von Lizenzproblemen ist kein Programm zum Erzeugen von MP3-Dateien in Debian GNU/Linux
  +
enthalten. Grip ist aber schon so konfiguriert, daß Sie sehr leicht ein solches Programm selber installieren
  +
können. Hierzu müssen Sie die Sourcen (Quellcode) zum Beispiel von lame (http://www.sulaco.org/mp3) oder
  +
bladeenc (http://bladeenc.mp3.no) besorgen, übersetzen und installieren.
  +
Dies hört sich schwieriger an als es ist... Mit folgenden Befehlen läßt sich die Installation von bladeenc als
  +
Superuser erledigen (die Ausgaben wurden etwas gekürzt):
  +
debian:/home/fr# tar xvfz bladeenc-0.92.0-src-stable.tar.gz
  +
bladeenc-0.92.0/
  +
bladeenc-0.92.0/Makefile.in
  +
bladeenc-0.92.0/README
  +
bladeenc-0.92.0/stamp-h.in
  +
...
  +
bladeenc-0.92.0/bladeenc/docs/en/index-5.html
  +
bladeenc-0.92.0/bladeenc/docs/en/index-6.html
  +
bladeenc-0.92.0/bladeenc/docs/en/index.html
  +
debian:/home/fr# cd bladeenc-0.92.0
  +
debian:/home/fr/bladeenc-0.92.0# ./configure
  +
creating cache ./config.cache
  +
checking for a BSD compatible install... /usr/bin/install -c
  +
checking whether build environment is sane...
  +
...
  +
creating bladeenc/docs/Makefile
  +
creating bladeenc/docs/en/Makefile
  +
creating config.h
  +
455
  +
Kapitel 14. Multimedia
  +
debian:/home/fr/bladeenc-0.92.0# make
  +
make all-recursive
  +
make[1]: Entering directory ‘/home/fr/bladeenc-0.92.0’
  +
Making all in bladeenc
  +
...
  +
make[2]: Entering directory ‘/home/fr/bladeenc-0.92.0’
  +
make[2]: Leaving directory ‘/home/fr/bladeenc-0.92.0’
  +
make[1]: Leaving directory ‘/home/fr/bladeenc-0.92.0’
  +
debian:/home/fr/bladeenc-0.92.0# make install
  +
Making install in bladeenc
  +
make[1]: Entering directory ‘/home/fr/bladeenc-0.92.0/bladeenc’
  +
Making install in docs
  +
make[2]: Entering directory ‘/home/fr/bladeenc-0.92.0/bladeenc/docs’
  +
...
  +
make[2]: Nothing to be done for ‘install-data-am’.
  +
make[2]: Leaving directory ‘/home/fr/bladeenc-0.92.0’
  +
make[1]: Leaving directory ‘/home/fr/bladeenc-0.92.0’
  +
Danach können Sie Grip zum Erstellen von MP3-Dateien benutzen. Wählen Sie hierzu zunächst unter „Tracks“
  +
die gewünschten Tracks mit der rechten Maustaste aus. Unter „Rip“ klicken Sie nun auf „Rip+Encode“.
  +
Abbildung 14-9. Grip
  +
Die Dateien werden zunächst von der CD gelesen und als .wav-Dateien gespeichert. Diese werden dann in das
  +
MP3-Format umgewandelt. Beide Schritte laufen parallel ab, Sie können dies an den beiden
  +
Fortschrittsanzeigen sehen.
  +
456
  +
Kapitel 14. Multimedia
  +
Die Webseiten zu Grip finden Sie unter der URL: http://www.nostatic.org/grip/
  +
14.6. Videobearbeitung
  +
Die Bearbeitung von Videos ist mittlerweile auch auf GNU/Linux Systemen möglich. Lange Zeit mangelte es
  +
an entsprechender Software, kommerzielle Anbieter haben bis heute nicht diesen Markt erschlossen. Als
  +
Ausnahme ist hier lediglich die Firma Mainconcept mit dem Produkt MainActor zu nennen.
  +
Glücklicherweise haben sich aber auch in diesem Marktsegment Programierer gefunden die passende Lösungen
  +
als Freie Software anbieten. Diese wird im folgenden vorgestellt.
  +
Es wird hier lediglich auf die komplett digitale Bearbeitung von Videos eingegangen. Die hier vorgestellte
  +
Software kann natürlich auch mit Filmen die aus analogen Quellen digitalisiert wurden umgehen. Dieser Schritt
  +
der digitalisierung von analogen Bildmaterial wird jedoch nicht beschrieben.
  +
14.6.1. iLink / Firewire / IEEE1394
  +
Die offiziell als IEEE1394 bezeichnete, serielle, Schnittstelle findet in vielen modernen Digitalen
  +
Videokameras Anwendung. Die Übertragungsrate von 400 MBit/Sekunde eignet sich hervoragend zur
  +
Übertragung von großen Datenmengen (wie beispielsweise Videodaten). Bei Apple ist dieser schnelle Anschluß
  +
in den aktuellen G3/G4 MACs und im neuen iMAC DV sowie in den neuen Powerbooks vorhanden und heißt
  +
dort "Firewire". Sony nennt die Schnittstelle "iLink" und rüstet viele Notebooks von Hause aus damit aus. Trotz
  +
der unterschiedlichen Bezeichnungen meinen alle Hersteller die IEEE1394 Schnittstelle.
  +
Um Videos von einer DV (Digital Video) Kamera auf ein GNU/Linux System zu übertragen, benötigt man eine
  +
Firewire/iLink oder auch IEEE1394 Schnittstelle am Rechner und natürlich eine Kamera mit dieser
  +
Schnittstelle. Für Desktop Systeme sind PCI Karten mit IEEE1394 ab ca. 70 Euro erhältlich.
  +
Um die IEEE1394 Schnittstelle auch unter GNU/Linux ansprechen zu können, muß der verwendete Kernel mit
  +
den entsprechenden Treibern ausgestattet sein. Es existieren Treiber für die Kernel Version 2.2.x, es wird jedoch
  +
dringend zu einem Kernel der Reihe 2.4 geraten. Die Debian Kernel Pakete der Version 2.4 liefern die
  +
benötigten Treiber als Module mit. Benötigt werden die Module „ieee1394“ (IEEE1394 Treiber), „ohci1394“
  +
(Chipsatz Unterstützung) und „raw1394“ („roher“ Zugriff auf die Geräte). Diese können wie gewohnt mittels
  +
modprobe geladen werden. Eventuell wird ein anderer Chipsatz Treiber benötigt (beispielsweise „aic5800“)
  +
dies ist von der verwendeten Hardware abhängig.
  +
wasabi:~# lsmod |grep 1394
  +
raw1394 6416 0 (unused)
  +
ohci1394 15008 0 (unused)
  +
ieee1394 24584 0 [raw1394 ohci1394]
  +
Die IEEE1394 Schnittstelle ist „hot-plug“ fähig, Geräte können also gefahrlos im laufenden Betrieb
  +
miteinander verbunden werden. Dies kann auch im Syslog verfolgt werden.
  +
Jul 9 12:27:21 localhost kernel: ieee1394: registered ohci1394 driver, initializing now
  +
Jul 9 12:27:21 localhost kernel: ohci1394: looking for Ohci1394 cards
  +
Jul 9 12:27:21 localhost kernel: ohci1394_0: remapped memory spaces reg 0xc48bf000
  +
Jul 9 12:27:21 localhost kernel: ohci1394_0: allocated interrupt 9
  +
Jul 9 12:27:21 localhost kernel: ohci1394_0: soft reset finished
  +
Jul 9 12:27:21 localhost kernel: ohci1394_0: max packet size = 2048 bytes
  +
Jul 9 12:27:21 localhost kernel: ohci1394_0: 4 iso contexts available
  +
Jul 9 12:27:21 localhost kernel: ohci1394_0: Receive DMA ctx=0 initialized
  +
Jul 9 12:27:21 localhost kernel: ohci1394_0: Receive DMA ctx=1 initialized
  +
Jul 9 12:27:21 localhost kernel: ohci1394_0: AT dma ctx=0 initialized
  +
Jul 9 12:27:21 localhost kernel: ohci1394_0: AT dma ctx=1 initialized
  +
Jul 9 12:27:21 localhost kernel: ohci1394_0: Receive DMA ctx=2 initialized
  +
Jul 9 12:27:21 localhost kernel: ohci1394_0: resetting bus on request and attempting to become root
  +
Jul 9 12:27:21 localhost kernel: ieee1394: detected 1 ohci1394 adapter
  +
457
  +
Kapitel 14. Multimedia
  +
Jul 9 12:27:21 localhost kernel: ohci1394_0: PhyControl: 800301FF
  +
Jul 9 12:27:21 localhost kernel: ohci1394_0: SelfID process finished (phyid 0, root)
  +
Jul 9 12:27:21 localhost kernel: ohci1394_0: selfid packet 0x807f8056 rcvd
  +
Jul 9 12:27:21 localhost kernel: ieee1394: including selfid 0x56807f80
  +
Jul 9 12:27:21 localhost kernel: ohci1394_0: This node self-id is 0x807f8056
  +
Jul 9 12:27:21 localhost kernel: ohci1394_0: calling self-id complete
  +
Jul 9 12:27:21 localhost kernel: ohci1394_0: Got phy packet ctx=0 ... discarded
  +
14.6.2. dvgrab
  +
dvgrab (http://www.schirmacher.de/arne/dvgrab/) speichert Audio und Video Daten von einem digitalen
  +
Camcorder in AVI Dateien. Diese AVI Dateien können später mit einer beliebigen anderen Software
  +
weiterbearbeitet werden.
  +
dvgrab verfügt über einige Parameter, hier nur zwei einfache Beispiele:
  +
Das Kommando dvgrab film speichert alle von Camcorder kommenden Daten in den Dateien
  +
film_001.avi, film_002.avi usw. Die Dateigröße wird dabei auf knapp ein Gigabyte beschnitten.
  +
Um nur eine bestimmte Anzahl von Bildern (Frames) zu speichern kann folgendes Kommando verwendet
  +
werden: dvgrab --frames 750 film. /50 Frames entsprechen bei einem PAL Camcorder 30 Sekunden
  +
Filmzeit.
  +
Weitere Parameter und Optionen liefert die Dokumentation zu dvgrab.
  +
14.6.3. Kino
  +
Kino ist ein einfaches Programm zum bearbeiten von Videos. Die Möglichkeit digitale Videos direkt vom
  +
Camcorder auf Platte zu schreiben vermeidet den Umgang mit der Kommandozeilenversion von dvgrab.
  +
458
  +
Kapitel 14. Multimedia
  +
Abbildung 14-10. Kino
  +
Auf der rechten Seite besteht über verschiedene Reiter Zugriff auf die Funktionen „Editor“, „Capture“,
  +
„Timeline“ und „Export“ von Kino.
  +
Im Editor können Filme zusammengeschnitten oder Stücke herausgeschnitten werden. Der Bereich Capture
  +
dient zum einlesen der Filme. Die Dateien werden im AVI-Format gespeichert.
  +
14.7. TV Karten
  +
TV-Karten auf Basis des Brooktree Chips bt848 / bt878 sind weitverbreitet und werden von vielen Herstellern
  +
eingesetzt. Zunächst müssen die notwendigen Module geladen werden:
  +
modprobe videodev
  +
modprobe i2c
  +
modprobe bttv pll=1 card=1
  +
Die notwendigen Parameter für das bttv-Modul weichen je nach verwendeter Karte ab. Um den für die
  +
installierte Karte passenden Treiber zu finden ist ein Blick in die Datei
  +
/usr/src/linux/Documentation/video4linux/bttv/CARDLIST hilfreich. Diese Datei ist Bestandteil
  +
459
  +
Kapitel 14. Multimedia
  +
der Kernel Sourcen. Weitere Informationen zum bttv Treiber finden sich auf der Seite von Gerd Knorr
  +
(bytesex.org/bttv/).
  +
14.7.1. xawtv
  +
Um nun ein Fernsehbild auf den Monitor zu zaubern, bedarf es noch einer passenden Anwendung. Mit xawtv
  +
steht diese unter Debian zur Verfügung. Während der Installation kann eine systemweite Konfigurationsdatei
  +
erzeugt werden, diese wird aus einem Scan aller Kanäle erstellt. xawtv wurde von Gerd Knorr geschrieben,
  +
aktuelle Debian Pakete stehen auf seiner Homepage (http://bytesex.org/xawtv/) zur Verfügung.
  +
14.7.2. aletv
  +
Um auch Videotext Seiten nutzen zu können wird das Paket aletv benötigt. Die Webseiten von aletv sind
  +
unter http://www.goron.de/~froese/ zu finden.
  +
14.8. Videoplayer
  +
14.8.1. xine
  +
xine xine.sourceforge.net) (gesprochen „ksin“) ist ein GPL-lizenzierter Video-Player für Unix, Linux und
  +
andere Systeme. Es werden u.a. folgende Formate unterstützt: MPEG-1 Audio und Video, MPEG-2 Audio und
  +
Video, MP3, AVI (verschiedene Formate, auch DivX), Ogg Vorbis, QuickTime (eingeschränkt).
  +
xine spielt sowohl Audio- und Videodaten eines Streams. Die dazu benötigte Hardware-Leistung ist abhängig
  +
vom Format des Streams. Die untere Grenze für MPEG-2 bei voller Bildrate ist ein Pentium II mit 400MHz.
  +
xine kann CDs, SVCDs und DVDs direkt abspielen. Leider ist in vielen Ländern das Abspielen verschlüsselter
  +
DVDs durch „nichtauthorisierte“ Software verboten oder rechtlich unklar. Aus diesem Grund besitzt xine keine
  +
Funktion zum Abspielen verschlüsselter DVDs.
  +
Abbildung 14-11. xine
  +
460
  +
Kapitel 14. Multimedia
  +
xine kann aus dem Menü oder aus einem Terminal gestartet werden. Auf der Kommandozeile können direkt
  +
Video CDs (mittels: xine vcd://1) oder DVDs (mittels: xine dvd://VTS_01_1.VOB) abgespielt werden.
  +
Das Standard-Plugin zum Abspielen von DVDs (wie im oberen Beispiel) unterstützt weder Menüs noch
  +
verschlüsselte DVDs. Bessere DVD-Plugins sind „xine-dvdnav“, „xine-dmd“, „xine-d5d“.
  +
14.9. Videokonferenzen
  +
14.9.1. Gnomemeeting
  +
Gnomemeeting ist ein Client für Video- und Telefonkonferenzen, welcher durch die H.323 Kompatibilität
  +
Verbindungen zu Microsoft Netmeeting Clients erlaubt.
  +
Abbildung 14-12. Gnomemeeting
  +
Bei ersten Start von Gnomemeeting sind einige Einstellungen vorzunehmen.
  +
461
  +
Kapitel 14. Multimedia
  +
Abbildung 14-13. Gnomemeeting - Konfiguration 1/4
  +
Zunächst sind einige persönliche Daten einzugeben, diese können auf einem öffentlichen Server gespeichert
  +
werden, so ist es möglich das andere Benutzer Kontakt aufnehmen können. Wenn dies nicht gewünscht ist, so
  +
kann die Übermittlung der Daten unten links im Fenster deaktiviert werden.
  +
462
  +
Kapitel 14. Multimedia
  +
Abbildung 14-14. Gnomemeeting - Konfiguration 2/4
  +
Weiterhin muss der Netzwerktyp ausgewählt werden.
  +
463
  +
Kapitel 14. Multimedia
  +
Abbildung 14-15. Gnomemeeting - Konfiguration 3/4
  +
464
  +
Kapitel 14. Multimedia
  +
Abbildung 14-16. Gnomemeeting - Konfiguration 4/4
  +
Damit ist die Konfiguration von Gnomemeeting abgeschlossen.
  +
Abbildung 14-17. Gnomemeeting - Fenster
  +
465
  +
Kapitel 14. Multimedia
  +
In der Voreinstellung bietet Gnomemeeting nur ein recht beschränktes Fenster, über das Menü können einige
  +
weitere Komponenten, beispielsweise ein Chat Fenster und ein Menü für Einstellungen, aktiviert werden.
  +
Abbildung 14-18. Gnomemeeting - Übertragung
  +
In der URL Zeile kann nun die IP Nummer des Kommunikationpartners eingegeben werden, wenn dort
  +
ebenfalls eine entsprechende Software läuft und der Partner das Gespräch annimmt, so sollte ein Videobild
  +
erscheinen.
  +
466
  +
Kapitel 15. CD brennen
  +
Wenn Sie einen CD-Brenner besitzen, so können Sie diesen natürlich auch unter Debian GNU/Linux benutzen.
  +
Bevor wir auf die einzelnen Programme eingehen, sind jedoch einige Vorarbeiten zu erledigen.
  +
15.1. Hardware
  +
CD-Brenner sind mit SCSI- oder IDE-Schnittstellen im Handel erhältlich. Wenn Sie den Kauf eines
  +
CD-Brenners noch vor sich haben, sollten Sie sich, wenn möglich, für ein SCSI-Modell entscheiden. Diese sind
  +
in der Anschaffung nur unwesentlich teurer. Der Vorgang des Brennens einer CD erfordert aus technischen
  +
Gründen einen kontinuierlichen Datenstrom. Ein CD-Brenner verfügt über etwas Zwischenspeicher (Cache),
  +
um eventuelle Engpässe überbrücken zu können. Trotzdem kann es zu Abbrüchen kommen, falls Ihr System
  +
nicht in der Lage ist, die benötigten Daten schnell genug zu liefern. SCSI-Systeme sind hier im Vorteil.
  +
Auch sollten Sie vor dem Kauf des Gerätes einen Blick in die Liste der von cdrecord (mit diesem Programm
  +
werden die Daten auf die CD geschrieben) unterstützten Geräte werfen. Für die Version 1.8 von cdrecord
  +
lautet die URL:
  +
http://www.fokus.gmd.de/research/cc/glone/employees/joerg.schilling/private/cdwriters-1.8.html
  +
Wenn Sie das Gerät bereits angeschlossen haben, können Sie mit dem Kommando dmesg | more überprüfen,
  +
ob die Geräte gefunden wurden. Suchen Sie nach Zeilen, die mit scsi: beginnen. Auf einem System mit
  +
IDE-Geräten, die über eine SCSI-Emulation betrieben werden, werden Sie in etwa folgendes finden:
  +
scsi0 : SCSI host adapter emulation for IDE ATAPI devices
  +
scsi : 1 host.
  +
Vendor: GoldStar Model: CD-ROM CRD-8241B Rev: 2.03
  +
Type: CD-ROM ANSI SCSI revision: 02
  +
Detected scsi CD-ROM sr0 at scsi0, channel 0, id 0, lun 0
  +
scsi : detected 1 SCSI generics 1 SCSI cdroms total.
  +
*sr0: scsi3-mmc drive: 1x/24x cd/rw xa/form2 cdda tray
  +
Für ein reines SCSI-System bekommen Sie folgendes angezeigt:
  +
scsi0 : Tekram DC390/AM53C974 V2.0d 1998/12/25
  +
scsi : 1 host.
  +
DC390: Target 4: Sync transfer 10.0 MHz, Offset 15
  +
Vendor: TEAC Model: CD-R58S Rev: 1.0G
  +
Type: CD-ROM ANSI SCSI revision: 02
  +
Detected scsi CD-ROM sr0 at scsi0, channel 0, id 4, lun 0
  +
sr0: scsi3-mmc drive: 24x/24x writer cd/rw xa/form2 cdda tray
  +
Die genauen Bezeichnungen der Geräte sowie die Adressen sind natürlich von der Konfiguration Ihres Rechners
  +
abhängig. Wenn Ihre Geräte nicht erkannt werden, müssen Sie die benötigten Module laden beziehungsweise
  +
einen neuen Kernel übersetzen.
  +
15.2. Kernel
  +
Um einen CD-Brenner benutzen zu können, ist es wichtig zu wissen, welche Schnittstelle das Gerät besitzt:
  +
15.2.1. SCSI
  +
Wenn Sie bereits ein SCSI-Gerät besitzen, haben Sie sicher schon den nötigen Treiber für den SCSI-Hostadapter
  +
(SCSI-Controller) eingebunden. Der Standard-Debian GNU/Linux-Kernel verfügt über fast alle verfügbaren
  +
Treiber. Wenn Sie einen eigenen Kernel erstellt haben, sorgen Sie dafür, daß der Hostadapter erkannt wird.
  +
Weiterhin ist es nötig, das Modul für den Generischen SCSI-Treiber sg zu laden. Auch dies können Sie mit dem
  +
Kommando modprobe sg erledigen.
  +
Sie können die Module auch fest in den Kernel einbinden:
  +
467
  +
Kapitel 15. CD brennen
  +
Abbildung 15-1. Kernel SCSI
  +
Je nachdem ob Sie ein Modul erstellen wollen, oder den Treiber in den Kernel compilieren wollen, wählen Sie
  +
hier M oder Y. Übersetzen Sie dann den Kernel neu und starten Sie das System noch einmal.
  +
Damit sind die nötigen Schritte für SCSI-CD-Brenner abgeschlossen.
  +
15.2.2. IDE
  +
Für ein IDE-Gerät ist die Kernel-Konfiguration etwas schwieriger, aber lesen Sie ruhig weiter... Wählen Sie
  +
zunächst das Menü „Block Devices“ und deaktivieren Sie den Punkt „IDE CD-ROM support“. Aktivieren Sie
  +
dafür den Punkt „SCSI emulation support“ einige Zeilen tiefer. Gehen Sie nun zum Hauptmenü der
  +
Kernel-Konfiguration zurück und wählen Sie das Menü „SCSI support“ an. Dort aktivieren Sie den SCSI
  +
Support (das ist korrekt, auch wenn Sie ein IDE-Gerät einsetzen). Weiterhin aktivieren Sie im gleichen Menü
  +
die Punkte „SCSI CD-ROM drivers“ und „SCSI generic support“.
  +
Speichern Sie diese Konfiguration und übersetzen Sie einen neuen Kernel.
  +
15.3. Software
  +
Die grafischen Oberflächen unter GNU/Linux benutzen in der Regel Programme wie mkisofs, zum Erstellen
  +
des CD-Images, und cdrecord, um die Daten auf die CD zu schreiben. Eine sehr schöne Übersicht zu vielen
  +
verfügbaren Programmen, um CDs unter GNU/Linux zu erstellen, finden Sie unter:
  +
http://sites.inka.de/~W1752/cdrecord/frontend.de.html. Keines dieser grafischen Frontends kommt aber an die
  +
Leistungsfähigkeit der zugrundeliegenden Programme (mkisofs und cdrecord) heran. Wenn Sie sich mit den
  +
Programmen auf Kommandozeilenebene auseinandersetzen möchten, empfehlen wir Ihnen einen Blick auf die
  +
Webseiten: http://www.fokus.gmd.de/research/cc/glone/employees/joerg.schilling/private/cdrecord.html. Eine
  +
deutsche Übersetzung der cdrecord-Dokumentation finden Sie unter
  +
http://sites.inka.de/~W1752/cdrecord/online/.
  +
468
  +
Kapitel 15. CD brennen
  +
Eine weitere empfehlenswerte Seite ist
  +
http://www.fokus.gmd.de/research/cc/glone/employees/joerg.schilling/private/cdb.html, mit einer großen
  +
Übersicht über alles an Programmen, was zur CD-Erstellung benötigt wird.
  +
Für den täglichen Gebrauch werden Sie aber mit den hier beschriebenen grafischen Tools sicher auskommen.
  +
Weitere Informationen zum Erstellen von CDs unter GNU/Linux finden Sie im CD-Writing HOWTO unter:
  +
http://www.linuxdoc.org/HOWTO/CD-Writing-HOWTO.html.
  +
15.3.1. mkhybrid
  +
mkhybrid ist ebenso wie mkisofs ein Programm, um CD-Images zu erzeugen, die dann (im einfachsten Fall)
  +
mit cdrecord auf einen Rohling gebrannt werden. Weitere Informationen finden Sie unter der URL:
  +
ftp://ftp.gwdg.de/pub/linux/misc/mkhybrid/
  +
15.3.2. CDs aus der Shell
  +
Wenn Sie keinen Wert auf komfortable grafische Oberflächen legen oder CDs aus einem Script heraus erzeugen
  +
lassen wollen, so können Sie natürlich auch die kommandozeilenbasierten Programme benutzen. Mit dem
  +
Programm mkisofs erzeugen Sie ein CD-Image, welches die später zu brennende CD darstellt.
  +
Tip: Vor dem eigentlichen Brennvorgang haben Sie die Möglichkeit, das Image zu überprüfen. Mit dem
  +
sogenannten „loop device“ im Linux-Kernel können Sie eine Datei wie ein Dateisystem mounten. Geben Sie
  +
hierzu dem Kommando mount die Option -o loop hinzu, ein Beispiel: mount meinecd.raw /cdrom -o
  +
loop. Das Image entfernen Sie aus dem Dateisystem wie gewohnt mit dem Kommando umount.
  +
Wenn Sie mit dem Inhalt des Images zufrieden sind, können Sie mit dem Kommando cdrecord das Image auf
  +
eine CD schreiben. Dem Kommando cdrecord sind hierzu im wesentlichen die Optionen -dev (für das
  +
benutzte Gerät) und -speed (die Geschwindigkeit, mit der CDs geschrieben werden können) anzugeben.
  +
Weitere Optionen finden Sie in der Dokumentation zu cdrecord.
  +
Natürlich können Sie auch auf eine Überprüfung des Images verzichten und die Daten praktisch in einem Rutsch
  +
von der Festplatte auf die CD befördern, verketten Sie hierzu mittels einer Pipe (|) die beiden Kommandos:
  +
mkisofs -R /cdrom/ | cdrecord dev=0,2,0 speed=8 -fs=8m -eject -v -
  +
Achten Sie bitte peinlichst genau darauf, die richtigen Angaben für den Parameter dev zu benutzen, dies könnte
  +
Sie sonst den Inhalt einer kompletten Festplatte kosten!
  +
Einsteiger sollten auf alle Fälle eines der im folgenden vorgestellten Programme mit grafischer Oberfläche
  +
benutzen.
  +
15.3.3. X-CD-Roast
  +
X-CD-Roast war eines der ersten Programme mit einer grafischen Oberfläche zur Herstellung von CDs auf
  +
Unix-Systemen. Den aktuellen Stand der Entwicklung finden Sie auf der Homepage von X-CD-Roast unter:
  +
http://www.xcdroast.org
  +
469
  +
Kapitel 15. CD brennen
  +
Abbildung 15-2. X-CD-Roast
  +
X-CD-Roast zeichnet sich durch folgende Features aus:
  +
• Einfach zu bedienende grafische Oberfläche.
  +
• Automatische Erkennung von SCSI- und IDE-Geräten.
  +
• Erzeugen von ISO9660-CDs, „mastering“
  +
• Erzeugen von Audio-CDs.
  +
• Schnelles Kopieren von CDs, Audio und Daten.
  +
X-CD-Roast unterstützt sowohl SCSI als auch IDE CD-Brenner. Natürlich können Sie diese Geräte auch
  +
gemischt betreiben. Die meisten der im Handel erhältlichen Geräte werden von X-CD-Roast automatisch
  +
erkannt. Beim ersten Start wird X-CD-Roast Sie dazu auffordern, die Konfiguration zu prüfen beziehungsweise
  +
neu zu erstellen. Die meisten Einstellungen sind sehr einfach, etwas mehr Aufmerksamkeit sollten Sie den
  +
Pfaden oder Partitionen widmen, auf denen die Daten zwischengespeichert werden. Sie können hier komplette,
  +
ungenutzte Partitionen verwenden oder, falls Sie keine freie Partition auf einer Ihrer Festplatten haben, die
  +
Daten in ein Verzeichnis schreiben lassen.
  +
Wenn Sie Audio-CDs nicht nur kopieren, sondern auch eigene CDs zusammenstellen wollen, können Sie in der
  +
Konfiguration auch die nötigen Einstellungen für Ihre Soundkarte vornehmen, Sie haben dann die Möglichkeit,
  +
direkt in die Titel reinzuhören.
  +
470
  +
Kapitel 15. CD brennen
  +
Abbildung 15-3. X-CD-Roast
  +
In der Konfiguration des CD-Brenners sollten Sie noch die gewünschte Brenngeschwindigkeit angeben, diese
  +
kann nicht automatisch ermittelt werden. Wundern Sie sich nicht, daß Sie hier keine acht-fache
  +
Brenngeschwindigkeit einstellen können, diese finden Sie später im Menü für den eigentlichen Brennvorgang.
  +
15.3.3.1. Kopieren von CDs
  +
Wenn Sie nur über einen CD-Brenner verfügen und kein extra CD-ROM zum Lesen der Daten in Ihrem Rechner
  +
haben, müssen Sie zunächst die Original-CD einlesen und als Datei (image) auf Ihrer Festplatte speichern.
  +
Beachten Sie, daß hierzu genügend Platz auf der Partition frei sein muß, eine CD faßt knapp 700 MB Daten.
  +
471
  +
Kapitel 15. CD brennen
  +
Abbildung 15-4. X-CD-Roast
  +
Wenn Sie über mehr Platz verfügen, können Sie natürlich auch mehrere Images auf der Platte vorhalten und von
  +
diesen bei Bedarf Kopien erstellen.
  +
Natürlich können Sie auch CDs direkt kopieren, ohne den Umweg über ein Image zu machen. Sie erreichen
  +
diese Funktion über die Schaltfläche „Quick CD-Copy“. Hierzu ist es aber wichtig, daß das zum Lesen der
  +
Daten verwendete Gerät mindestens doppelt, besser dreifach, so schnell die Daten lesen kann wie diese dann
  +
von dem Brenner auf CD geschrieben werden. Beim Brennen von CDs müssen die Daten ohne Unterbrechung
  +
auf den CD-Rohling geschrieben werden. Die CD-Brenner verfügen über einen Zwischenspeicher (meist 1-2
  +
MB), um kleinere Aussetzer in der Datenübertragung zu überbrücken. Wenn jedoch auf der Original-CD
  +
Kratzer sind, die vom Lesegerät korrigiert werden können, ist es manchmal nötig, diesen Bereich noch einmal
  +
einzulesen. Dies kann den Datenfluß unterbrechen, wenn das Lesegerät nicht schnell genug ist.
  +
In jedem Fall sind Sie auf der sicheren Seite, wenn Sie die Daten (auch wenn Sie über ein Lese- und ein
  +
Schreibgerät verfügen) zunächst auf die Festplatte schreiben und von dort auf den Rohling brennen.
  +
472
  +
Kapitel 15. CD brennen
  +
15.3.3.2. Erstellen von Daten-CDs
  +
Abbildung 15-5. X-CD-Roast
  +
Auch das Erstellen eigener CDs ist mit X-CD-Roast recht einfach. Zunächst müssen Sie natürlich das
  +
Verzeichnis angeben, in dem sich die Daten befinden, die Sie auf die CD brennen wollen. Sie können dann noch
  +
Angaben zum Titel der CD und zum Hersteller sowie eine kurze Beschreibung eingeben. Zuletzt müssen Sie
  +
sich noch für einen CD-Typ entscheiden. X-CD-Roast kann die verschiedensten Formate erzeugen, unter
  +
GNU/Linux sollten Sie im allgemeinen das ISO9660-Format verwenden, welches auch von den meisten
  +
anderen Betriebssystemen gelesen werden kann. Wenn Sie Daten in die Windows-Welt transportieren möchten,
  +
steht Ihnen auch ein spezielles Windows98/NT-Format zu Auswahl. Sie können sich aber auch gezielt einzelne
  +
Parameter zusätzlich auswählen und so die vorgegebenen Werte ergänzen.
  +
Wenn Sie alle gewünschten Einstellungen vorgenommen haben, können Sie ein Image erzeugen lassen und
  +
dieses dann auf eine CD schreiben.
  +
Vielleicht ist es Ihnen schon passiert, daß Sie eine CD erstellt haben und diese nicht Ihren Vorstellungen
  +
entsprach. Für solche Fälle gibt es zwar nicht die Möglichkeit, die CD zu korrigieren, aber Sie können sich den
  +
Inhalt der späteren CD schon vorher ansehen. Der Linux-Kernel verfügt hierzu über ein sogenanntes
  +
„loop-device“, mit dem Sie eine Datei, also auch ein CD-Image, wie jedes andere Gerät in das Dateisystem
  +
einbinden. Sie können dies, als Superuser, ganz einfach mit dem Kommando mount und der zusätzlichen
  +
Option -o loop erreichen:
  +
sushi:~# mount linux-cd.raw /mnt -o loop
  +
Nun können Sie, wie auf jeden anderen Bereich in Ihrem Dateisystem, mit den normalen Programmen den
  +
Inhalt der CD kontrollieren. Wenn Sie mit dem Ergebnis zufrieden sind, können Sie die Datei auf einen
  +
CD-Rohling befördern.
  +
15.3.3.3. Audio-CDs
  +
Das Erstellen von Audio-CDs beziehungsweise das kopieren einzelner Tracks von einer Audio-CD, ist von der
  +
Bedienung her sehr einfach, jedoch unterstützen nicht alle CD-ROMs bzw. CD-Brenner dies optimal. Um CDs
  +
473
  +
Kapitel 15. CD brennen
  +
in einer optimalen Qualität zu bekommen, sollten Sie in jedem Fall die Daten zunächst auf Festplatte speichern.
  +
Legen Sie nun die zu kopierende Audio-CD ein und klicken Sie auf „Update Information-Windows“, damit das
  +
Inhaltsverzeichnis der CD neu eingelesen wird.
  +
Abbildung 15-6. X-CD-Roast
  +
Sie können nun einzelne Titel (Tracks) auswählen oder die komplette CD auf die Festplatte übertragen. Klicken
  +
Sie hierzu auf „Read Tracks“. Über „Select/Show Tracks to Read“ können Sie die gewünschten Titel
  +
auswählen. Die Lesegeschwindigkeit sollten Sie, im Interesse der besten Qualität, möglichst nicht zu schnell
  +
einstellen. Wenn beim Lesen der Tracks von der Audio-CD in einem CD-ROM Probleme auftreten oder Sie das
  +
Gefühl haben, daß die Qualität nicht optimal ist, sollten Sie versuchen, die Tracks noch einmal, diesmal aber
  +
mit dem CD-Brenner einzulesen.
  +
Wenn Sie zum Einlesen ein IDE-Gerät benutzen, stellen Sie den Wert für „Audio-Read-Mode“ in den
  +
Voreinstellungen auf „ATAPI“. Sie können hier noch diverse andere Werte einstellen, sie werden in der
  +
Dokumentation näher erläutert.
  +
Wenn alle gewünschten Stücke eingelesen sind und Sie eine Soundkarte konfiguriert haben, können Sie sich die
  +
Stücke über die Schaltfläche „Play Audio-Track“ vor dem Schreibvorgang anhören. Prüfen Sie dabei, ob Sie mit
  +
der Qualität der einzelnen Tracks zufrieden sind.
  +
Abschließend können Sie über die Schaltfläche „Select/Show Tracks to Write“ die Titel auswählen, die Sie auf
  +
den Rohling brennen möchten. Hier können Sie ebenfalls die Reihenfolge der Titel auf der CD festlegen. Wenn
  +
Sie auch WAV-Dateien auf die CD brennen möchten, müssen Sie die Option „Fix wav-Files“ aktivieren. Bei
  +
einigen CD-Brennern kann es notwendig sein, die Option Swap Audio zu aktivieren, dies werden Sie nach der
  +
ersten CD sehr schnell merken.
  +
15.3.4. gcombust
  +
gcombust ist eine grafische Oberfläche für die Programme mkisofs / mkhybrid / cdda2wav / cdrecord und
  +
cdlabelgen. Die Homepage finden Sie unter der URL: http://www.abo.fi/~jmunsin/gcombust/. Die
  +
474
  +
Kapitel 15. CD brennen
  +
herausragenden Eigenschaften von gcombust sind:
  +
• CD-Erstellung „On-The-Fly“, ohne ein Image zu erzeugen.
  +
• CD - CD-Kopie, ohne ein Image zu erzeugen. Auch bei Audio-CDs
  +
• Tooltips, Direkthilfe am Mauszeiger
  +
• Leichte Erstellung von ISO-Images. Sie können Sich die CD selber zusammenstellen, ohne auf der Platte ein
  +
Verzeichnis mit Links anlegen zu müssen.
  +
• Erstellung von Audio-CDs
  +
• Konvertierung von WAV nach Audio und umgekehrt.
  +
• Drucken von CD Covern, über cdlabelgen
  +
• Multisession-Unterstützung
  +
• Erstellen von bootfähigen CDs
  +
• Laden und Speichern von Verzeichnissen, zum Beispiel für Backups.
  +
• NLS (National Language Support) und DnD (Drag and Drop)-Unterstützung.
  +
Abbildung 15-7. gcombust
  +
475
  +
Kapitel 16. Netzwerk
  +
Wenn Sie über verschiedene Rechner verfügen, liegt der Gedanke nahe, ein kleines Netzwerk aufzubauen. Dies
  +
kann sinnvoll sein, um Daten zwischen den Rechnern auszutauschen, um Festplatten, Drucker oder Scanner, die
  +
an einem Rechner angeschlossen sind, auch an anderen Rechnern nutzen zu können oder auch, um einfach mal
  +
damit experimentiert zu haben.
  +
Eine weitere Anwendung wäre, über das Netzwerk und den Linux-Server auch anderen Rechnern, eventuell mit
  +
anderen Betriebssystemen, einen Zugang zum Internet zu verschaffen.
  +
Netzwerkkarten sind sehr preiswert zu haben, schon ab 15 Euro pro Stück für die einfachsten Modelle.
  +
Weiterhin benötigen Sie noch ein passendes Kabel. Ein einfaches Netzwerk läßt sich mit zwei 10
  +
MBit-Netzwerkkarten und einem BNC-Kabel aufbauen. Eine solche Zusammenstellung ist häufig auch als
  +
Komplettpaket zu bekommen.
  +
Stand der Dinge sind aber 100MBit-Karten (welche nur unwesentlich teurer sind). Diese benötigen allerdings
  +
sogenannte TP (Twisted Pair-) Kabel, die über einen Hub miteinander verbunden werden. Es sind auch spezielle
  +
(gekreuzte) TP-Kabel im Handel, damit können Sie jedoch maximal zwei Rechner miteinander verbinden.
  +
Auch die Kombination: zwei 100MBit-Karten, Hub und Kabel bekommen Sie im Paket. Für ein Notebook
  +
benötigen Sie eine Netzwerkkarte im PCMCIA-Format, diese sind ab ca. 35 Euro erhältlich.
  +
Nachdem Sie die Hardware beschafft und in Ihrem Rechner installiert haben, müssen Sie diese noch Ihrem
  +
Debian GNU/Linux bekannt machen, sprich den passenden Treiber installieren und das TCP/IP Routing
  +
aufsetzen. Sollten Sie die nötigen Eintragungen nicht während der Basisinstallation vorgenommen haben (dies
  +
ist der einfachste Weg!), so müssen Sie die Treiber nachträglich installieren.
  +
16.1. Netzwerkkarte
  +
Das Einbinden einer Netzwerkkarte ist nicht weiter schwierig, in den meisten Fällen reicht das Laden eines
  +
einzigen Modules aus. Auch bei Netzwerkkarten ist es sehr von Vorteil, wenn der Hersteller und der Typ der
  +
Karte bekannt ist. Bei großen Herstellern (3Com, Intel usw.) ist dies recht einfach, dort sind die Angaben meist
  +
auf der Karte aufgedruckt. Wenn Sie aber eine Karte von einem unbekannten Hersteller gekauft haben, wird die
  +
Sache etwas schwieriger. Hier sollten Sie einen Blick auf den größten Chip werfen und den Hersteller und ggf.
  +
die Nummer notieren.
  +
Bei neueren Karten mit PCI-Bus kommen momentan hauptsächlich zwei Treiber in die engere Auswahl:
  +
sogenannte NE2000-kompatible Karten werden vom Modul ne2k-pci bedient. Ebenfalls weit verbreitet sind
  +
Karten mit einem RealTek-Chipsatz, hierfür ist in Kerneln mit der Version 2.2.x das Modul rtl8139 zuständig.
  +
Dieses wurde ab dem Kernel 2.4 in 8139too umbenannt.
  +
Ältere ISA-Bus-Karten, die man manchmal sogar geschenkt bekommt, sind ebenfalls häufig
  +
NE2000-kompatibel. Für diese Karten benötigen Sie das Modul 8390 (welches von modprobe automatisch mit
  +
dem eigentlichen Treiber geladen wird) sowie das Modul ne. Oft ist es bei diesen Karten allerdings nötig, dem
  +
Modul weitere Parameter mitzugeben. In den meisten Fällen kommt man mit dem Kommando: modprobe ne
  +
io=0x300 aus. Weitere Werte für den Parameter io sind: 0x280, 0x320, 0x340 usw. In Ausnahmefällen
  +
kann auch die Angabe des Interrupts weiterhelfen, Beispiel: modprobe ne irq=7 io=0x300. Mit dem
  +
Kommando cat /proc/interrupts können Sie herausfinden, welche Interrupts bereits benutzt werden.
  +
Wenn Sie erfolgreich die Treiber für Ihre Karte laden konnten, können Sie diese Angaben dauerhaft in die Datei
  +
/etc/modules eintragen.
  +
Nun müssen Sie noch die Netzwerkkarte konfigurieren und die passenden Routen für Ihr Netzwerk setzen.
  +
Tragen Sie die gewünschten Werte in die Datei /etc/network/interfaces ein:
  +
# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
  +
# The loopback interface
  +
iface lo inet loopback
  +
# The first network card - this entry was created during the Debian installation
  +
# (network, broadcast and gateway are optional)
  +
iface eth0 inet static
  +
476
  +
Kapitel 16. Netzwerk
  +
address 192.168.1.1
  +
netmask 255.255.255.0
  +
network 192.168.1.0
  +
broadcast 192.168.1.255
  +
gateway
  +
Dieses Beispiel benutzt nicht geroutete Adressen und kann ohne Probleme für Ihr privates Netz übernommen
  +
werden. Um die Einstellungen zu aktivieren, können Sie das Programm ifup mit dem gewünschten Namen des
  +
Interfaces als Superuser ausführen. In diesem Beispiel mit dem Kommando: ifup eth0. Um ein
  +
Netzwerkinterface zu deaktivieren, benutzen Sie den Befehl ifdown. Beide Kommandos verfügen noch über
  +
eine Reihe weiterer Optionen, eine kurze Übersicht erhalten Sie mit der Option --help:
  +
linux:~# ifup --help
  +
Usage: ifup -anvsh -i<file> <ifaces...>
  +
-a --all de/configure all interfaces automatically
  +
-s --scheme SCHEME use SCHEME as scheme
  +
-h --help this help
  +
-i --interfaces FILE use FILE for interface definitions
  +
-n --no-act print out what would happen, but don’t do it
  +
-v --verbose print out what would happen before doing it
  +
Eine ausführliche Beschreibung finden Sie in der jeweiligen Man-Page.
  +
16.2. PCMCIA-Netzwerkkarte
  +
Wenn Sie die PCMCIA-Netzwerkkarte sowie die PCMCIA-Treiber nicht bei der Erstinstallation Ihres Debian
  +
GNU/Linux-Systems installiert haben, so müssen Sie diese nachträglich installieren und konfigurieren. Hierzu
  +
steht Ihnen das Programm pcnetconfig zur Verfügung. Starten Sie zunächst pcnetconfig als Superuser:
  +
sushi:/home/fr# pcnetconfig
  +
This program will create a basic /etc/pcmcia/network.opts file, the
  +
pcmcia-cs package’s network adapter configuration file, based on choices
  +
that you make.
  +
A sample network.opts file is supplied in pcmcia-cs; you can edit this
  +
file to match your local network setup. Refer to the PCMCIA-HOWTO
  +
(usually in /usr/doc/HOWTO/PCMCIA-HOWTO.gz) for a detailed description
  +
of this file’s contents.
  +
Before continuing with this program, ensure that you know your host’s
  +
network configuration.
  +
Do you want to continue? [y]
  +
Bevor Sie fortfahren, ist es sinnvoll, wenn Sie sich die nötigen Daten für die Netzwerkkonfiguraton bereitlegen.
  +
Choose a method for obtaining the host’s IP address and routing
  +
information
  +
1) Use the BOOTP protocol
  +
2) Use the dhcpcd or dhclient program
  +
3) Use /sbin/pump
  +
4) Use netenv (from the netenv package)
  +
5) Specify the IP address now (default)
  +
5
  +
Wählen Sie zunächst eine der oben angeführten Methoden. Auf Punkt 2, die Konfiguration via DHCP, gehen
  +
wir später noch einmal ein. Wir werden die Konfiguration am Beispiel von statischen Adressen vorstellen,
  +
wählen Sie hierzu die 5.
  +
477
  +
Kapitel 16. Netzwerk
  +
Enter the IP address for this interface:
  +
(type ’none’ to leave blank)
  +
192.168.0.4
  +
Geben Sie zunächst die IP-Adresse für Ihre PCMCIA-Netzwerkkarte ein. Adressen wie die oben gezeigte
  +
können Sie ohne Probleme in einem internen Netz benutzen, diese werden nicht im Internet benutzt (geroutet).
  +
Enter the netmask:
  +
(the default is ’255.255.255.0’; type ’none’ to leave blank)
  +
255.255.255.0
  +
Der Wert für die Netzmaske (netmask).
  +
Note: the "network address" here is NOT the same as the IP address.
  +
See the Networking HOWTO. In short, the network address is the IP
  +
address masked by the netmask.
  +
Enter the network address:
  +
(the default is ’192.168.0.0’; type ’none’ to leave blank)
  +
192.168.0.0
  +
Die Netzwerkadresse.
  +
Enter the broadcast address:
  +
(the default is ’192.168.255.255’; type ’none’ to leave blank)
  +
192.168.255.255
  +
Die Broadcast-Adresse.
  +
Enter the gateway address:
  +
(the default is ’192.168.0.1’; type ’none’ to leave blank)
  +
192.168.0.1
  +
Die Adresse des Gateways, dies ist der Rechner, der die Verbindung zu anderen Netzen „kennt“. Dieser Rechner
  +
wird häufig auch als „Router“ bezeichnet.
  +
Enter the local domain name:
  +
(type ’none’ to leave blank)
  +
openoffice.de
  +
Der Name Ihrer Domain. Für ein internes Netz können Sie sich hier auch irgendeinen Namen ausdenken.
  +
You may now specify up to three host names or IP addresses for
  +
nameservers for this interface, to be added to /etc/resolv.conf. The
  +
nameservers defined here complement the nameservers already defined in
  +
/etc/resolv.conf.
  +
The 1st nameserver:
  +
(type ’none’ to leave blank)
  +
194.25.2.129
  +
Geben Sie hier die Adresse Ihres Nameservers ein. Wenn Sie hier keinen Wert eingeben (weil Sie keinen
  +
Nameserver in Ihrem Netz konfiguriert haben und auch keinen Zugang zum Netz haben), können Sie diesen
  +
Wert auch freilassen. Sie können dann aber die benachbarten Rechner nur über die IP-Nummer ansprechen,
  +
oder Sie müssen alle Rechner in die Datei /etc/hosts eintragen.
  +
The 2nd nameserver:
  +
(type ’none’ to leave blank)
  +
To automatically mount and unmount NFS filesystems, first add all these
  +
filesystems to /etc/fstab, but include noauto in the mount options.
  +
WARNING: It is especially important to use either cardctl or cardinfo
  +
to shut down a network card when NFS mounts are configured this way.
  +
478
  +
Kapitel 16. Netzwerk
  +
It is not possible to cleanly unmount NFS filesystems if a network card
  +
is simply ejected without warning.
  +
Enter a list of NFS mount points to be mounted for this interface:
  +
(type ’none’ to leave blank)
  +
The next two parameters are for IPX networks. They are passed to
  +
the ipx_interface command.
  +
Enter the frame type (i.e., 802.2):
  +
(type ’none’ to leave blank)
  +
Enter the IPX network number:
  +
(type ’none’ to leave blank)
  +
Die weiteren Werte können Sie normalerweise freilassen.
  +
In addition to the usual network configuration parameters, the
  +
network.opts script can specify extra actions to be taken after
  +
an interface is configured, or before an interface is shut down.
  +
If network.opts defines a shell function called start_fn, it will be
  +
invoked by the network script after the interface is configured, and the
  +
interface name will be passed to the function as its first (and only)
  +
argument. Similarly, if it is defined, stop_fn will be invoked before
  +
shutting down an interface. Refer to the PCMCIA-HOWTO for more details.
  +
This program will now write the network.opts file. Please take care
  +
not to overwrite a previously configured version of this file.
  +
Do you want to write /etc/pcmcia/network.opts? [y] y
  +
Wenn Sie die Einstellungen speichern möchten, geben Sie hier y ein.
  +
Die Konfiguration ist damit abgeschlossen. Wenn Sie nun die Netzwerkkarte in den PCMCIA Slot stecken, wird
  +
diese anhand der Daten in der Datei /etc/pcmcia/network.opts konfiguriert und ins System eingebunden.
  +
16.3. TCP/IP
  +
Das Protokollpaar TCP/IP hat sich in den vergangenen Jahren, auch unterstützt durch das schnelle Wachstum
  +
das Internets, durchgesetzt. Physikalisch besteht das Internet aus allen möglichen Verbindungen, sei es eine
  +
Modemstrecke oder ein Ethernet, bis hin zu schnellen ATM-basierten Strecken. Gemeinsam ist allen, daß dort
  +
TCP/IP zur Kommunikation eingesetzt wird. Auf allen diesen Verbindungen lassen sich Dienste wie WWW,
  +
Mail, News oder IRC benutzen.
  +
Im folgenden werden die Grundlagen beschrieben, Sie benötigen diese nicht unbedingt für die in diesem Buch
  +
vorgestellten, einfachen Beispiele. Wenn Sie aber Ihr Netz erweitern wollen oder tiefer in die Materie einsteigen
  +
möchten, sollten Sie jetzt weiterlesen.
  +
16.3.1. IP-Adressen
  +
Jeder an das Internet (oder jedes andere IP-basierte Netzwerk) angeschlossene Computer wird über eine
  +
einmalige IP-Adresse identifiziert. IP-Adressen haben eine Länge von vier Byte, die normalerweise als vier
  +
dezimale Zahlen, getrennt durch Punkte, dargestellt werden. Im folgenden einige gültige Beispiele:
  +
127.0.0.1
  +
192.168.0.5
  +
240.250.240.250
  +
479
  +
Kapitel 16. Netzwerk
  +
Anhand einer IP-Adresse lassen sich zwei Dinge feststellen. Erstens das Netzwerk, in dem sich ein bestimmter
  +
Rechner befindet, und zweitens der Rechner selber - dies entspricht dem sogenannten Netzwerk- und dem
  +
Host-Teil der Adresse.
  +
Für den Host-Teil der Adresse gibt es zwei besondere Werte: Wenn alle Bits auf 0 gesetzt sind, nennt man dies
  +
die Netzwerkadresse (network address, 0), wenn alle auf 1 gesetzt sind, beschreibt dies alle Rechner in diesem
  +
Netz - die sogenannte Broadcast-Adresse (255).
  +
16.3.2. IP-Interface-Konfiguration
  +
... oder „wie kommt die Netzwerkkarte zu Ihrer Adresse“. In den meisten Fällen werden Sie die Konfiguration
  +
Ihrer Netzwerkkarte bereits bei der Installation von Debian GNU/Linux vorgenommen haben. Wenn Sie eine
  +
solche Karte später einbauen oder das System mit einer zweiten Karte erweitern, müssen Sie diese von Hand
  +
einbinden.
  +
Das Kommando ifconfig wird benutzt, um einem Netzwerkinterface (dies kann eine Netzwerkkarte, ein
  +
Modem, ISDN Verbindung oder ähnliches sein...) die benötigten Einstellungen zuzuweisen.
  +
• Loopback - ein „virtuelles“ Netzwerkinterface. Dieses bezieht sich immer auf den Rechner selbst und hat die
  +
IP-Adresse: 127.0.0.1. Interface: lo
  +
• Ethernet - um zwei oder mehrere Rechner miteinander zu vernetzen, verwendet man eine Netzwerkkarte,
  +
Standard ist dabei der Einsatz von Ethernet-Karten. Interface: eth0, eth1, eth2 ...
  +
• Tokenring - ebenfalls zur Vernetzung über relativ kurze Strecken. Interface: tr0, tr1, tr2 ...
  +
• PPP - „Point-to-Point Protocol“ (Punkt-zu-Punkt-Protokoll), zur Verwndung über serielle Verbindungen, wie
  +
zum Beispiel Modemstrecken, ISDN usw. Interface: ppp0, ppp1, ppp2 ...
  +
• Dummy - für System, die ansonsten keine Netzwerkverbindungen haben. Interface: dummy, dummy0, dummy1
  +
...
  +
Es gibt noch einige weitere Beispiele, wir werden uns hier mit dem am meisten verbreiteten, dem Ethernet,
  +
beschäftigen.
  +
Wenn Ihr Kernel die installierte Netzwerkkarte nicht erkennt, müssen Sie das passende Modul laden. Sie
  +
können dies temporär mit dem Kommando insmod oder modprobe durchführen. Wenn Sie das richtige Modul
  +
gefunden haben, tragen Sie die nötigen Werte in die Datei /etc/modules oder /etc/conf.modules ein. Für
  +
eine NE2000-kompatible Karte wäre dies beispielsweise die Zeile alias eth0 ne (in der Datei
  +
/etc/conf.modules).
  +
Um nun der Karte eine IP-Adresse zuzuweisen, dient das Kommando ifconfig. Im einfachsten Fall, also ohne
  +
weitere Optionen, gibt ifconfig die bisher konfigurierten Interfaces aus:
  +
# /sbin/ifconfig
  +
lo Link encap:Local Loopback
  +
inet addr:127.0.0.1 Bcast:127.255.255.255 Mask:255.0.0.0
  +
UP BROADCAST LOOPBACK RUNNING MTU:3584 Metric:1
  +
RX packets:18584 errors:0 dropped:0 overruns:0 frame:0
  +
TX packets:18584 errors:0 dropped:0 overruns:0 carrier:0
  +
Collisions:0
  +
Bisher sollte auf Ihrem Rechner lediglich das Loopback Interface (lo) konfiguriert sein.
  +
Rufen Sie nun ifconfig mit dem Namen des Interfaces (eth0 für die erste, eth1 für die zweite Karte usw.)
  +
sowie der gewünschten IP-Nummer auf, und sehen Sie sich die Veränderung an:
  +
# /sbin/ifconfig eth0 192.109.42.23
  +
# /sbin/ifconfig
  +
lo Link encap:Local Loopback
  +
inet addr:127.0.0.1 Bcast:127.255.255.255 Mask:255.0.0.0
  +
UP BROADCAST LOOPBACK RUNNING MTU:3584 Metric:1
  +
RX packets:18584 errors:0 dropped:0 overruns:0 frame:0
  +
TX packets:18584 errors:0 dropped:0 overruns:0 carrier:0
  +
480
  +
Kapitel 16. Netzwerk
  +
Collisions:0
  +
eth0 Link encap:Ethernet HWaddr 00:00:F7:C3:45:1B
  +
inet addr:192.109.42.23 Bcast:192.109.42.255 Mask:255.255.255.0
  +
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
  +
RX packets:55 errors:0 dropped:0 overruns:0 frame:0
  +
TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
  +
Collisions:7
  +
Interrupt:10 Base address:0x300
  +
ifconfig gibt Ihnen nun auch die Informationen zur Ethernetkarte aus. Die Werte für die Netzmaske,
  +
Broadcast Adresse usw. wurden automatisch gesetzt. Wenn Sie bei diesen Werten andere Einstellungen
  +
benötigen, so müssen Sie diese ebenfalls mit ifconfig setzen:
  +
# /sbin/ifconfig eth0 192.109.42.23 netmask 255.255.255.240
  +
Die verändert die zuvor angegebenen Werte. Wenn Sie ein Interface komplett deaktivieren wollen, benutzen Sie
  +
die Option down:
  +
# /sbin/ifconfig eth0 down
  +
Wenn Sie Ihre Netzwerkkarte bereits bei der Installation von Debian GNU/Linux eingerichtet haben, so werden
  +
Sie feststellen, daß einfach schon alles funktioniert... hierzu wurden die notwendigen Werte in die Datei
  +
/etc/network/interfaces geschrieben.
  +
# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
  +
# The loopback interface
  +
iface lo inet loopback
  +
# The first network card - this entry was created during the Debian installation
  +
# (network, broadcast and gateway are optional)
  +
iface eth0 inet static
  +
address 192.109.42.18
  +
netmask 255.255.255.240
  +
network 192.109.42.16
  +
broadcast 192.109.42.16
  +
gateway 192.109.42.17
  +
In dieser Datei sind einige Variablen definiert, die beim Aufruf des Programms ifup ausgelesen werden.
  +
Wenn Sie Ihre Netzwerkkarte erst später eingerichtet haben, erstellen Sie diese Datei und passen sie Ihren
  +
Bedürfnissen an.
  +
16.3.3. IP Routing
  +
Wenn Sie der Netzwerkkarte die eigenen Einstellungen mitgeteilt haben, müssen Sie dem Linux-Kernel noch
  +
beibringen, die IP-Pakete auch an die richtige Stelle zu schicken. Dies kann bei mehreren Netzwerkkarten
  +
durchaus richtige Arbeit werden...
  +
Der Kernel hält diese Informationen, welcher Rechner oder welches Netzwerk über welchen Weg zu erreichen
  +
ist, in der sogenannten „routing table“. Das Kommando, um sich diese Tabelle anzusehen, lautet: route. Wenn
  +
Sie bisher nur das Loopback Device konfiguriert haben, wird das Ergebnis folgendes sein:
  +
# /sbin/route
  +
Kernel IP routing table
  +
Destination Gateway Genmask Flags Metric Ref Use Iface
  +
127.0.0.0 * 255.0.0.0 U 0 0 2 lo
  +
Dies bedeutet, daß alle IP-Pakete (auch „traffic“ genannt) für das Netzwerk 127 über das Loopback Device (lo)
  +
geschickt werden sollen.
  +
481
  +
Kapitel 16. Netzwerk
  +
Wenn Sie nun eine Netzwerkkarte konfiguriert haben, müssen Sie diese auch in die Routing-Tabelle des Kernels
  +
eintragen:
  +
# /sbin/route add -net 192.109.42.0
  +
# /sbin/route
  +
Kernel IP routing table
  +
Destination Gateway Genmask Flags Metric Ref Use Iface
  +
127.0.0.0 * 255.0.0.0 U 0 0 2 lo
  +
192.109.42.0 * 255.255.255.0 U 0 0 137 eth0
  +
Dies führt dazu, daß alle IP-Pakete für das Class-C Netz 192.109.42.xxx über das Interface eth0 zu
  +
erreichen sind. Wenn Sie nur einen kleinen Teil eines Netzes zur Verfügung haben, müssen Sie dies über die
  +
Netzmaske (netmask) steuern:
  +
# /sbin/route add -net 192.109.42.16 netmask 255.255.255.240
  +
In diesem Beispiel stehen 16 IP-Nummern zur Verfügung (.16 bis .31).
  +
Dies reicht schon aus, um ein kleines, internes Netzwerk zu betreiben. Wenn Sie jedoch zwei Netzwerke
  +
miteinander verbinden wollen, müssen Sie dies über ein sogenanntes „gateway“ (oder auch „router“ genannt)
  +
tun.
  +
Wenn über das neue Interface nur ein bestimmtes Netzwerk zu erreichen ist, und Sie die Adresse des Gateways
  +
(Routers) für dieses Netz kennen, müssen Sie die Routing-Tabelle um genau diesen Eintrag ergänzen. Sie
  +
erreichen dies mit der Option -net:
  +
# route add -net 193.174.1.0 gw 192.109.42.17
  +
Dies bedeutet, daß das Netz 193.174.1.0 (Class C) über das Gateway 192.109.42.17 zu erreichen ist, setzt aber
  +
auch voraus, daß schon bekannt ist, wie das Netz 192.109.42.x zu ereichen ist.
  +
Eine andere häufig anzutreffende Möglichkeit ist es, alle IP-Pakete, für die es keinen passenden Eintrag in der
  +
Routing-Tabelle gibt, an ein Gateway zu schicken, die sogenannte „default route“.
  +
# route add default gw 192.109.42.17
  +
Dies würde zu folgender Routing-Tabelle führen.
  +
Kernel IP routing table
  +
Destination Gateway Genmask Flags Metric Ref Use Iface
  +
127.0.0.0 * 255.0.0.0 U 0 0 2 lo
  +
192.109.42.16 0.0.0.0 255.255.255.240 U 0 0 0 eth0
  +
0.0.0.0 192.109.42.17 0.0.0.0 UG 1 0 0 eth0
  +
Sehen wir uns die Einträge im einzelnen einmal an: die erste Zeile bezieht sich auf das Loopback Device
  +
(127.0.0.0, lo). Wenn Sie einen neueren Kernel verwenden, wird dies unter Umständen nicht angezeigt.
  +
Werfen wir jedoch zunächst nochmal einen genaueren Blick auf die Datei /etc/network/interfaces:
  +
# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
  +
# The loopback interface
  +
iface lo inet loopback
  +
# The first network card - this entry was created during the Debian installation
  +
# (network, broadcast and gateway are optional)
  +
iface eth0 inet static
  +
address 192.109.42.18
  +
netmask 255.255.255.240
  +
network 192.109.42.16
  +
broadcast 192.109.42.16
  +
gateway 192.109.42.17
  +
482
  +
Kapitel 16. Netzwerk
  +
Diese Datei definiert einige Variablen, wenn Sie eine Änderung an dieser Datei vornehmen, können Sie diese
  +
einfach mit dem Kommando ifup eth0 aktivieren. In den ersten Zeilen wird das sogenannte Loopback Device
  +
konfiguriert.
  +
Die folgenden Zeilen beinhalten die benötigten Variablen für Ihr Netz.
  +
In dieser Datei werden IP-Nummern verwendet. Wenn Sie das Kommando route aufrufen um sich die Routing
  +
Tabelle anzeigen zu lassen, werden Sie bemerken, daß dort die Namen der Rechner und Netze verwendet
  +
werden. Sie können die Ausgabe der IP-Nummern mit der Option -n hinter dem Kommando route erzwingen.
  +
In der Datei /etc/hosts finden Sie den Namen des lokalen Rechners, in der Datei /etc/networks den
  +
Namen des Netzes. Systeme, deren Name nicht in der Datei /etc/hosts beschrieben sind, werden im
  +
allgemeinen über den Nameserver aufgelöst.
  +
16.3.4. Domain Name Server - DNS
  +
Jeder mit dem Internet verbundene Rechner oder jedes Netzwerk, welches IP als Netzwerk-Protokoll benutzt,
  +
hat eine (oder mehrere) IP-Adressen, mit der das Routing von und zu diesem System sichergestellt wird. Da die
  +
Benutzer sich diese Zahlenkolonnen nur schwer merken können, kann jedem Rechner (eigentlich jeder
  +
IP-Nummer) ein Name zugewiesen werden. Sicher haben Sie dies schon bei der Installation von Debian
  +
GNU/Linux bemerkt, Sie werden nach einem Rechnernamen (Hostname) gefragt.
  +
Dieser Name wird an verschiedenen Stellen gespeichert. Sie können mit dem Kommando hostname den
  +
Namen des Rechners herausfinden, es wird der Wert aus der Datei /etc/hostname ausgegeben. Wenn Sie dies
  +
an einem (dauerhaft) ans Internet angeschlossenen Rechner probieren, besteht dieser Name aus verschiedenen
  +
Teilen, die durch Punkte getrennt sind, zum Beispiel linux.openoffice.de.
  +
Nur der erste Teil ist der Name des Rechners (hostname), der Rest wird als „Domain Name“ bezeichnet (hier:
  +
openoffice.de). Da es natürlich viele Menschen gibt, die möchten, daß Ihr Rechner den Namen linux
  +
bekommt, wurde jeder dieser Namen dadurch einmalig gemacht, daß man ihn einer bestimmten Domain
  +
zuordnet.
  +
Innerhalb einer Domain (eine Gruppe von Computern, ein Netzwerk) ist meist eine Person für die Vergabe von
  +
Computernamen zuständig und pflegt die Daten(-bank) mit den notwendigen Informationen. Dieses System ist
  +
als DNS ( Domain Name Service) bekannt und mit einem Telefonverzeichnis vergleichbar. Sie können nach
  +
einem Computernamen suchen und erhalten dessen IP-Adresse.
  +
Vor der Einführung von DNS mußte man sich die IP-Adressen der Rechner merken, um sich im Internet
  +
bewegen zu können. Namen wurden nur innerhalb kleinerer Netzwerke benutzt und konnten in verschiedenen
  +
Netzen doppelt vergeben werden. Diese (lokalen) Namen wurden in der Datei /etc/hosts gespeichert.
  +
Natürlich können Sie auch heute noch diese Datei benutzen, sie wird auch bei der Installation von Debian
  +
GNU/Linux angelegt. Die Datei enthält den Namen des eigenen Rechners und die dazugehörige IP-Adresse.
  +
DNS ist ein sehr umfangreiches Thema, wir werden uns an dieser Stelle nur aus der Sicht des Nutzers (Client)
  +
damit befassen.
  +
Wenn ein Debian GNU/Linux-System die IP-Adresse eines anderen Rechners benötigt (zum Verschicken von
  +
Mail oder um eine Webseite aufzurufen), wird ein Teil der C Library benutzt, um die Informationen zu
  +
bekommen - der „resolver“. Zuerst wird ein Blick in die Datei /etc/nsswitch.conf geworfen (können Sie
  +
an dieser Stelle auch tun...). In dieser ist aufgeführt, an welchen Stellen versucht werden soll, die IP-Nummer zu
  +
finden. Hier sind drei verschiedene Einträge möglich, wenn mehrere vorhanden sind, werden diese der
  +
Reihenfolge nach durchsucht.
  +
  +
files - versucht den Hostnamen in der Datei /etc/hosts zu finden
  +
  +
dns - probiert es über eine Nameserverabfrage
  +
  +
483
  +
Kapitel 16. Netzwerk
  +
nis - fragt eine NIS-Datenbank
  +
Ein üblicher Eintrag in der Datei /etc/nsswitch wäre:
  +
hosts: files dns
  +
Dieser Eintrag bringt den Resolver dazu, zuerst die Datei /etc/hosts und dann den (in /etc/resolv.conf
  +
definierten) Nameserver (DNS) nach dem Rechnernamen zu durchsuchen.
  +
Die Datei /etc/resolv.conf enthält, neben dem Eintrag für einen oder mehrere Nameserver, zunächst den
  +
Namen der lokalen Domain.
  +
domain openoffice.de
  +
nameserver 194.25.2.129
  +
nameserver 192.168.22.33
  +
Die erste Zeile bewirkt, daß wenn nur ein Rechnername ohne Angabe der Domain angegeben wird, die lokale
  +
Domain an den Rechnernamen (Hostname) angehängt wird. Die folgenden Zeilen beschreiben die (IP-technisch
  +
gesehen möglichst gut erreichbaren) Nameserver. Sie sollten hier in jedem Fall IP-Nummer und nicht die
  +
Namen der Rechner verwenden.
  +
Alle Programme, die Sie benutzen (zum Beispiel Webbrowser), erfragen automatisch die IP-Nummer, wenn Sie
  +
einen Rechnernamen eingeben. Natürlich können Sie aber auch selber solche Abfragen starten. Das zu Debian
  +
GNU/Linux gehörende Paket dnsutils enthält das Programm nslookup. Sie können nslookup interaktiv
  +
benutzen, um mehrere Abfragen nacheinander zu starten. Die häufigste Anwendung ist aber, nslookup für eine
  +
einzelne Abfrage zu benutzen. Hierzu geben Sie nach dem Kommando einfach den Namen des gesuchten
  +
Rechners an:
  +
# nslookup www.debian.org
  +
Server: 194.25.2.129
  +
Address: 194.25.2.129#53
  +
Non-authoritative answer:
  +
Name: www.debian.org
  +
Address: 198.186.203.20
  +
Nach dem befragten Server wird weiter unten die IP-Adresse für den gewünschten Server angegeben.
  +
16.3.5. resolv.conf
  +
Auf die Datei /etc/resolv.conf wurde ja schon im vorherigen Abschnitt eingegangen. Hier noch ein etwas
  +
erweitertes Beispiel:
  +
domain openoffice.de
  +
search openoffice.de belug.org debian.org
  +
nameserver 194.25.2.129
  +
nameserver 192.168.22.33
  +
Hinzugekommen ist die zweite Zeile. Diese ist nicht zwingend notwendig, erleichtert aber die Arbeit. Mit dieser
  +
Zeile werden einfach (wenn Sie nur den Hostnamen angeben) die angegebenen Domains nach dem
  +
gewünschten Namen durchsucht, der Hostname wird automatisch um den Domainnamen ergänzt.
  +
484
  +
Kapitel 17. Server-Dienste
  +
17.1. Apache
  +
Anfang 1995 war die beliebteste Server-Software für das WWW (World Wide Web) der frei verfügbare HTTP (
  +
Hypertext Transfer Protocol) -Server „NCSA“, der von Rob McCool am National Center for Supercomputing
  +
Applications (daher der Name: NCSA), University of Illinois, Urbana-Champaign entwickelt wurde. Zu dieser
  +
Zeit fand aber schon keine weitere Entwicklung statt, da Rob McCool fast ein Jahr zuvor das NCSA verlassen
  +
hatte. Viele Webmaster entwickelten eigene Erweiterungen und beseitigten Fehler. Einige dieser Webmaster
  +
kommunizierten miteinander und koordinierten Ihre Entwicklungen in Form von sogenannten „Patches“.
  +
Diese Vielzahl der Patches führte auch zum Namen: „A PAtCHy server“ - Apache.
  +
Auf Basis des NCSA httpd Version 1.3 und allen verfügbaren Patches entstand im April 1995 die erste offizielle
  +
Version 0.6.2 des Apache Webservers. Bereits im Dezember 1995 wurde die Verion 1.0 veröffentlicht, die auch
  +
intern komplett überarbeitet war. Bereits ein Jahr, nachdem die Entwicklung aufgenommen wurde, konnte der
  +
Apache mehr Installationen aufweisen als der NCSA Server.
  +
Auch wenn Sie Ihren Rechner nicht permanent am Netz betreiben, macht ein eigener Webserver auf Ihrem
  +
System Sinn. Bei der Entwicklung eigener Webseiten können Sie diese sofort „Live“ auf Ihrem System testen.
  +
Sie müssen dazu nicht die Seiten erst auf den Server Ihres Providers übertragen. Ebenso können Sie selbst
  +
geschriebene CGI-Programme gleich testen.
  +
17.1.1. Apache installieren & einrichten
  +
Die Installation von Apache können Sie wie gewohnt mit apt-get install apache durchführen. Auch
  +
dieses Paket beinhaltet ein Konfigurationscript, welches während der Installation gestartet wird. Wenn Sie
  +
Apache später neu konfigurieren möchten, können Sie das mit dem Programm apacheconfig durchführen.
  +
sushi:~# apt-get install apache
  +
Reading Package Lists... 100%
  +
Reading Package Lists... Done
  +
Building Dependency Tree... Done
  +
The following NEW packages will be installed:
  +
apache
  +
0 packages upgraded, 1 newly installed, 0 to remove and 246 not upgraded.
  +
Need to get 0B/356kB of archives. After unpacking 666kB will be used.
  +
Selecting previously deselected package apache.
  +
(Reading database ... 64458 files and directories currently installed.)
  +
Unpacking apache (from .../web/apache_1.3.9-10.deb) ...
  +
Setting up apache (1.3.9-10) ...
  +
Installing new configuration file /etc/apache/httpd.conf ...
  +
Installing new configuration file /etc/apache/access.conf ...
  +
Installing new configuration file /etc/apache/srm.conf ...
  +
Installing new configuration file /etc/apache/cron.conf ...
  +
Updating alias /doc/ -> /usr/doc/ in srm.conf (for Debian docs).
  +
Your config files will not be modified until you select Y at "save changes."
  +
Enter the email address of your server administrator. This address
  +
will be used in error messages allowing users to submit reports of
  +
faulty links or misconfigured cgi-programs to you. It should be an email
  +
address that corresponds to a human.
  +
Who should the ServerAdmin be? [you@your.address] fr@openoffice.de
  +
Geben Sie hier Ihre E-Mail Adresse an. Diese Adresse können Sie später automatisch in Ihre Webseiten
  +
einbinden, zum Beispiel wenn es gewünscht ist, den Betreiber des Servers (Webmaster) zu erreichen.
  +
485
  +
Kapitel 17. Server-Dienste
  +
The DocumentRoot is set to /var/www.
  +
Installing your new homepage in /var/www.
  +
This release of the Apache server can be configured to load only certain
  +
modules into memory. This program can automagically configure Apache
  +
so only modules that are actually needed are loaded.
  +
Do you want to manually choose which modules to load? [y/N]
  +
Das Apache-Paket kommt mit einer ganzen Reihe von Modulen die, ähnlich wie die Module des Linux-Kernels,
  +
die Funktionalität des Webservers erweitern. Wir werden später noch einige interessante Module vorstellen. Sie
  +
können jetzt aber ohne Probleme darauf verzichten, weitere Module auszuwählen. Der Webserver wird auch so
  +
funktionieren.
  +
Working magic...........................................done.
  +
# LoadModule vhost_alias_module /usr/lib/apache/1.3/mod_vhost_alias.so
  +
# LoadModule env_module /usr/lib/apache/1.3/mod_env.so
  +
LoadModule config_log_module /usr/lib/apache/1.3/mod_log_config.so
  +
LoadModule rewrite_module /usr/lib/apache/1.3/mod_rewrite.so
  +
# LoadModule mime_magic_module /usr/lib/apache/1.3/mod_mime_magic.so
  +
LoadModule mime_module /usr/lib/apache/1.3/mod_mime.so
  +
LoadModule negotiation_module /usr/lib/apache/1.3/mod_negotiation.so
  +
LoadModule status_module /usr/lib/apache/1.3/mod_status.so
  +
# LoadModule info_module /usr/lib/apache/1.3/mod_info.so
  +
# LoadModule includes_module /usr/lib/apache/1.3/mod_include.so
  +
LoadModule autoindex_module /usr/lib/apache/1.3/mod_autoindex.so
  +
LoadModule dir_module /usr/lib/apache/1.3/mod_dir.so
  +
LoadModule cgi_module /usr/lib/apache/1.3/mod_cgi.so
  +
# LoadModule asis_module /usr/lib/apache/1.3/mod_asis.so
  +
# LoadModule imap_module /usr/lib/apache/1.3/mod_imap.so
  +
# LoadModule action_module /usr/lib/apache/1.3/mod_actions.so
  +
# LoadModule speling_module /usr/lib/apache/1.3/mod_speling.so
  +
LoadModule userdir_module /usr/lib/apache/1.3/mod_userdir.so
  +
# LoadModule proxy_module /usr/lib/apache/1.3/libproxy.so
  +
LoadModule alias_module /usr/lib/apache/1.3/mod_alias.so
  +
LoadModule access_module /usr/lib/apache/1.3/mod_access.so
  +
LoadModule auth_module /usr/lib/apache/1.3/mod_auth.so
  +
# LoadModule anon_auth_module /usr/lib/apache/1.3/mod_auth_anon.so
  +
# LoadModule dbm_auth_module /usr/lib/apache/1.3/mod_auth_dbm.so
  +
# LoadModule db_auth_module /usr/lib/apache/1.3/mod_auth_db.so
  +
# LoadModule digest_module /usr/lib/apache/1.3/mod_digest.so
  +
# LoadModule cern_meta_module /usr/lib/apache/1.3/mod_cern_meta.so
  +
LoadModule expires_module /usr/lib/apache/1.3/mod_expires.so
  +
# LoadModule headers_module /usr/lib/apache/1.3/mod_headers.so
  +
# LoadModule usertrack_module /usr/lib/apache/1.3/mod_usertrack.so
  +
LoadModule unique_id_module /usr/lib/apache/1.3/mod_unique_id.so
  +
LoadModule setenvif_module /usr/lib/apache/1.3/mod_setenvif.so
  +
# LoadModule sys_auth_module /usr/lib/apache/1.3/mod_auth_sys.so
  +
# LoadModule put_module /usr/lib/apache/1.3/mod_put.so
  +
# LoadModule throttle_module /usr/lib/apache/1.3/mod_throttle.so
  +
# LoadModule auth_ldap_module /usr/lib/apache/1.3/auth_ldap.so
  +
# LoadModule allowdev_module /usr/lib/apache/1.3/mod_allowdev.so
  +
# LoadModule pgsql_auth_module /usr/lib/apache/1.3/mod_auth_pgsql.so
  +
# LoadModule cvs_module /usr/lib/apache/1.3/mod_cvs.so
  +
# LoadModule define_module /usr/lib/apache/1.3/mod_define.so
  +
# LoadModule eaccess_module /usr/lib/apache/1.3/mod_eaccess.so
  +
# LoadModule roaming_module /usr/lib/apache/1.3/mod_roaming.so
  +
Pondering...........................................done.
  +
Save these changes to the configuration files? [Y/n]
  +
486
  +
Kapitel 17. Server-Dienste
  +
Das Konfigurationsprogramm wird die nötigen Dateien unter /etc/apache/ speichern. Wie Sie sehen, sind
  +
viele Zeilen auskommentiert, hierzu dient das Zeichen # am Zeilenanfang. Wenn Sie später bestimmte
  +
Funktionen benötigen, entfernen Sie dieses Zeichen und starten Sie den Server neu. Bei einigen Modulen sind
  +
weitere Eintragungen in der Konfiguration notwendig, ein paar Beispiele finden Sie weiter unten, die anderen
  +
werden in der Dokumentation zu Apache beschrieben.
  +
Rotated ‘/etc/apache/httpd.conf’ at Sun Jan 23 19:25:42 CET 2000.
  +
Rotated ‘/etc/apache/srm.conf’ at Sun Jan 23 19:25:42 CET 2000.
  +
Restart Apache now? [Y/n]
  +
Stopping apache with apachectl ...
  +
Waiting for apache to terminate ...done.
  +
/usr/sbin/apachectl start: httpd started
  +
Der Webserver ist nun installiert und Sie können diesen mit einem beliebigen Webbrowser unter der Adresse:
  +
http://localhost/ erreichen. Es wurde bei der Installation eine Testseite eingerichtet, diese sollte Ihnen angezeigt
  +
werden. Die Dateien zu dieser Seite finden Sie unter /var/www/. Sie können dort nun eigene Seiten ablegen.
  +
Wenn Sie sich näher mit dem Apache Webserver beschäftigen wollen, sollten Sie auch die Dokumentation
  +
installieren, die sich im Paket apache-doc befindet.
  +
17.1.2. Konfigurationsdateien
  +
Unter Debian GNU/Linux befinden sich die Konfigurationsdateien des Apache unter /etc/apache/.
  +
Apache benutzt drei Konfigurationdateien:
  +
• httpd.conf - Informationen zum Verhalten des Servers.
  +
• srm.conf - Informationen zu den Dokumenttypen
  +
• access.conf - Informationen zu den Zugriffen auf die Dokumente
  +
Debian GNU/Linux benutzt während der Installation des Paketes das Programm apacheconfig, um diese
  +
Dateien (speziell httpd.conf) zu konfigurieren. Sie können apacheconfig zu jeder Zeit wieder aufrufen
  +
(als Superuser).
  +
17.1.3. Logdateien
  +
Apache protokolliert alle Aktionen in zwei Logdateien, welche unter /var/log/apache/ zu finden sind:
  +
• error_log - Fehlermeldungen.
  +
• access_log - Hier werden alle übertragenen Dateien protokolliert.
  +
17.1.4. Starten & Stoppen
  +
Sie können den Apache als Superuser über das Script /etc/init.d/apache starten, neu starten und stoppen.
  +
linux:/home/fr# /etc/init.d/apache
  +
Usage: /etc/init.d/apache {start|stop|reload|reload-modules|force-reload|restart}
  +
linux:/home/fr# /etc/init.d/apache restart
  +
Restarting apache daemon... done.
  +
Wenn Sie Veränderungen an den Konfigurationsdateien vorgenommen haben, müssen Sie den Apache neu
  +
starten. Wenn dieser Neustart mißlingt, liegt ein Fehler in den Konfigurationsdateien vor.
  +
487
  +
Kapitel 17. Server-Dienste
  +
17.1.5. CGI-Programme
  +
CGI (Common Gateway Interface) -Programme werden auf dem Webserver ausgeführt und liefern dynamische
  +
Daten als HTML-Datei an den Browser zurück. Im einfachsten Fall kann ein CGI-Programm ein einfaches
  +
Shell-Script sein, Sie können aber auch in jeder anderen Programmiersprache Anwendungen erstellen. Sehr
  +
beliebt sind Datenbankanwendungen, als Scriptsprache haben sich Perl und PHP durchgesetzt.
  +
Wenn Sie ein CGI-Programm erstellt haben, so muß dieses in dem Verzeichnis /usr/lib/cgi-bin/ liegen.
  +
Im Browser ist beispielsweise das Programm test.sh als http://localhost/cgi-bin/test.sh zu erreichen. Ein
  +
einfaches Beispiel für ein Programm test.sh wäre:
  +
#!/bin/sh
  +
# disable filename globbing
  +
set -f
  +
echo Content-type: text/plain
  +
echo
  +
echo CGI/1.0 test script report:
  +
echo
  +
echo argc is $#. argv is "$*".
  +
echo
  +
echo SERVER_SOFTWARE = $SERVER_SOFTWARE
  +
echo SERVER_NAME = $SERVER_NAME
  +
Vergessen Sie nicht das Script ausführbar zu machen. Wenn Sie dieses Script über die oben gezeigte URL
  +
aufrufen, erhalten Sie folgende Ausgabe in Ihrem Webbrowser:
  +
CGI/1.0 test script report:
  +
argc is 0. argv is .
  +
SERVER_SOFTWARE = Apache/1.3.12 (Unix) Debian/GNU
  +
SERVER_NAME = surimi
  +
Sie können einem CGI-Programm auch Parameter übergeben, dies geschieht in der URL hinter einem
  +
Fragezeichen. Das Script zählt die Anzahl der Parameter und gibt auch den übergebenen String aus. Wenn Sie
  +
die URL http://localhost/cgi-bin/test.sh?Linuxrules! benutzen, um das Script aufzurufen, verändert sich die
  +
Ausgabe im Webbrowser in der zweiten Zeile wie folgt:
  +
argc is 1. argv is Linuxrules!.
  +
17.1.6. Apache konfigurieren & optimieren
  +
Der Apache Webserver verfügt über eine Vielzahl von Funktionen, einige interessante möchten wir Ihnen im
  +
folgenden vorstellen.
  +
17.1.6.1. URL-Korrekturen
  +
Der Apache Webserver kann URLs, die nicht auf dem Server vorhanden sind, in den meisten Fällen automatisch
  +
korrigieren. Es werden sowohl fehlende Buchstaben ergänzt als auch Groß- und Kleinschreibung geprüft und
  +
ggf. korrigiert. Hierzu werden alle Dateinamen auf dem Server geprüft und mit der URL verglichen. Wenn nur
  +
eine passende Datei gefunden wird, wird die URL korrigiert und die gefundene Datei angezeigt. Bei mehreren
  +
passenden Dateien wird eine Liste angezeigt.
  +
488
  +
Kapitel 17. Server-Dienste
  +
Um diese Funktion zu aktivieren, müssen Sie den Kommentar (#) vor der Zeile: # LoadModule
  +
speling_module /usr/lib/apache/1.3/mod_speling.so in der Datei /etc/apache/httpd.conf
  +
entfernen und die Option „CheckSpellig“ aktivieren. Hier ein Ausschnitt aus der Datei:
  +
...
  +
LoadModule speling_module /usr/lib/apache/1.3/mod_speling.so
  +
...
  +
...
  +
CheckSpelling on
  +
...
  +
Danach müssen Sie den Apache neu starten (mit /etc/init.d/apache reload).
  +
17.1.6.2. Geschützte Verzeichnisse
  +
Wenn Sie Verzeichnisse auf Ihrem Webserver mit einem Paßwort schützen wollen, so erzeugen Sie in dem
  +
gewünschten Verzeichnis die Datei .htaccess.
  +
Diese sollte folgenden Inhalt haben:
  +
AuthUserFile /home/user007/www/.passwd
  +
AuthName "user007"
  +
AuthType Basic
  +
<Limit GET POST>
  +
require valid-user
  +
</Limit>
  +
Nun benötigen Sie noch die Datei mit dem Paßwort in verschlüsselter Form. Achten Sie darauf, daß diese Datei
  +
auf keinen Fall innerhalb der aus dem Netz zugänglichen Webseiten liegt! Erzeugen Sie die Datei
  +
/home/user007/www/.passwd, mit folgendem Eintrag:
  +
user007:gfrzGZ98bsd8
  +
Sie können ein verschlüsseltes Paßwort mit dem Programm mkpasswd aus einem Klartext erzeugen.
  +
17.1.6.3. SSI - Server Side Includes
  +
Server Side Includes (SSI) erlauben es, Webseiten, bevor diese zum Browser geschickt werden, zu
  +
interpretieren. Sie können über speziellen Code innerhalb der Seite Variablen benutzen oder einfach
  +
Entscheidungen (if then...) treffen und viele andere Dinge.
  +
Um diese Funktionalität zu aktivieren, muß das Modul mod_include entweder mit eincompiliert sein, oder es
  +
muß beim Start des Servers geladen werden. Weiterhin müssen Seiten, die interpretiert werden sollen, die
  +
Endung .shtml bekommen und Sie müssen dies in der Konfiguration aktivieren:
  +
AddType text/html .shtml
  +
AddHandler server-parsed .shtml
  +
Die erste Zeile weist den .shtml-Dateien den Mime-Type text/html zu, die zweite Zeile bestimmt, daß diese
  +
Dateien durch den Server interpretiert (parsed) werden sollen.
  +
Weiterhin müssen Sie diese Funktion noch explizit einschalten, mit der Zeile
  +
Options +Includes
  +
in der Datei /etc/apache/httpd.conf oder in einer Datei .htaccess innerhalb des gewünschten
  +
Verzeichnisses Ihres Webservers (hierzu muß AllowOverride ebenfalls aktiviert sein).
  +
489
  +
Kapitel 17. Server-Dienste
  +
Die zu interpretierenden Kommandos müssen innerhalb des HTML-Codes als SGML-Kommentare eingebettet
  +
werden. Die Syntax hierzu lautet:
  +
<!--#element attribute=value attribute=value ... -->
  +
Die Werte (value) werden meist in doppelten Anführungszeichen, seltener in einfachen Anführungszeichen,
  +
gefaßt. Beachten Sie, daß der Abschluß dieser Zeile ( -->) mit einem Leerzeichen beginnt!
  +
Erlaubte Elemente sind unter anderem: „config“, „echo“, „exec“, „fsize“, „flastmod“, „printenv“, „set“ und
  +
„include“. Nähere Informationen zu diesen Elementen finden Sie in der Dokumentation, auf das Element
  +
„include“ gehen wir nun etwas genauer ein.
  +
Mit dem Element „include“ können Sie Text aus einer anderen Datei in die aktuelle Datei einfügen. Jede dieser
  +
so eingebundenen Dateien unterliegt den Zugriffsrechten des jeweiligen Verzeichnisses, wenn Sie also für den
  +
betreffenden Bereich die Option „IncludesNoExec“ gesetzt haben, werden so eingebundene CGI-Scripte
  +
ignoriert. Wenn diese Option nicht angegeben ist, wird das CGI-Script ausgeführt und das Ergebnis
  +
eingebunden.
  +
Das Element „include“ benötigt noch weitere Attribute, diese definieren den Ort, an dem die einzubindende
  +
Datei zu finden ist:
  +
file - dieses Attribut gibt einen relativen Pfad zu der Datei an. Der Wert darf kein absoluter Pfad sein und darf
  +
keinen Verweis auf ein höherliegendes Verzeichnis (../) enthalten.
  +
virtual - hiermit wird eine komplette URL relativ zum aktuellen Dokument angegeben. Hier sind keine
  +
Rechnernamen (hostname) zugelassen. Wenn die URL nicht mit einem / beginnt, wird ein Pfad relativ zum
  +
aktuellen Dokument angenommen.
  +
Weiterhin stehen Ihnen einige Variablen zur Verfügung, die Sie entweder direkt oder in Zusammenhang mit den
  +
Kommandos echo oder if und elif verwenden können:
  +
DATE_GMT
  +
Die aktuelle Zeit als „Greenwich Mean Time“
  +
DATE_LOCAL
  +
Die aktuelle Zeit in der eingestellten Zeitzone
  +
DOCUMENT_NAME
  +
Der Dateiname, ohne Pfadangabe, des Dokumentes
  +
DOCUMENT_URI
  +
Die komplette URL des Dokumentes, dies ist bei eingebundenen Dateien nicht die URL des aktuellen
  +
Dokumentes
  +
LAST_MODIFIED
  +
Das Datum der letzten Änderung des Dokumentes
  +
Hier nun ein kleines Beispiel für die Anwendung in der Praxis. Wenn Sie einen Webserver mit vielen Seiten
  +
pflegen müssen, sind Sie vielleicht schon mal in die Verlegenheit gekommen, das Layout verändern zu müssen.
  +
Nun ist es natürlich sehr aufwendig, dies in allen Dateien ändern zu müssen. Die Lösung hierfür ist nun, eine
  +
HTML-Datei zu erstellen, in der das Layout der Seite(n) bestimmt wird. Innerhalb des BODY Tags erstellen Sie
  +
nun sinngemäß folgende Einträge:
  +
<!--#if expr="\"$DOCUMENT_URI\" = \"/foo/file.html\"" -->
  +
in foo
  +
<!--#elif expr="\"$DOCUMENT_URI\" = \"/bar/file.html\"" -->
  +
in bar -->
  +
<!--#else -->
  +
490
  +
Kapitel 17. Server-Dienste
  +
in neither
  +
<!--#endif -->
  +
Dies bewirkt, daß je nachdem mit welcher URL die Datei aufgerufen wird, eine andere Datei in den BODY Tag
  +
eingelesen wird. Sie müssen natürlich nicht die Hauptdatei entsprechend der Namen der anderen Dateien
  +
kopieren, ein passender Link reicht hier völlig aus. Natürlich können Sie die Liste der Dateien beliebig
  +
erweitern, dies soll nur ein kurzes Beispiel darstellen. Jede Veränderung des Aussehens der HTML-Seiten im
  +
Kopf der Datei wird nun sofort auf allen Seiten wirksam.
  +
17.1.6.4. Umleitungen
  +
Manchmal ist es gewünscht, einzelne Webseiten oder gar komplette Server umzuleiten. Dies kann bei einem
  +
Providerwechsel nötig sein oder wenn Sie die Struktur Ihres Servers verändert haben.
  +
Wenn Sie einen kompletten Server umleiten wollen, weil sich beispielsweise der Name geändert hat, so
  +
aktivieren Sie das Modul mod_alias und ergänzen Sie die Datei /etc/apache/httpd.conf um die Zeile:
  +
Redirect / http://www.debian.org/
  +
Dies führt aber nicht in allen Fällen zu dem gewünschten Ergebnis, zum Beispiel wenn nicht auf die Hauptseite,
  +
sondern auf eine alte URL unterhalb der Hauptseite zugegriffen wird. Besser ist es, wenn Sie alle Zugriffe auf
  +
den Server abfangen und dem Client (Browser) eine neue URL „unterschieben“.
  +
Hierzu benötigen Sie das Modul mod_rewrite und folgende Zeilen in der Konfiguration:
  +
RewriteEngine On
  +
RewriteRule /.* http://www.debian.org/ [R]
  +
Dies bewirkt, daß alle Anfragen auf den Server umgeleitet werden.
  +
17.1.6.5. Fehlermeldungen
  +
Sicher haben Sie in Ihrem Webbrowser schon einmal die Meldung gesehen, daß eine gesuchte Seite nicht mehr
  +
gefunden wurde ( „Error 404: Page Not Found“). Der Anbieter hat vielleicht seinen Server umstrukturiert und
  +
die URL hat sich verändert. Sowas wird sicher auch auf Ihrem Server mal passieren. Sie können mit dem
  +
Apache Webserver diese Fehlermeldungen individuell gestalten oder auch dafür sorgen, daß in dem Fall, daß
  +
eine Seite nicht gefunden wird, der Client auf eine andere Seite geleitet wird.
  +
Standardmäßig bekommen Sie eine Fehlermeldung, wenn eine Seite nicht gefunden wurde, dazu müssen Sie
  +
nichts konfigurieren.
  +
Je nach Fehlernummer können Sie ein anderes Verhalten erzwingen. Neben der Fehlernummer müssen Sie noch
  +
eine URL angeben, die dem Client übermittelt werden soll. Diese URLs können mit einem / beginnen, wenn es
  +
sich um lokale URLs handelt, oder auf entfernte Server verweisen.
  +
ErrorDocument 500 http://foo.example.com/cgi-bin/tester
  +
ErrorDocument 404 /cgi-bin/bad_urls.pl
  +
ErrorDocument 401 /subscription_info.html
  +
ErrorDocument 403 "Sorry can’t allow you access today"
  +
491
  +
Kapitel 17. Server-Dienste
  +
17.2. FTP-Server
  +
Um Dateien über das Netzwerk (oder auch im Internet) zu kopieren, hat sich seit langer Zeit das FTP (File
  +
Transfer) Protokoll etabliert. Sehr verbreitet ist der WU-FTPD-Server, welcher auch als Debian GNU Paket
  +
vorliegt. Wir möchten Ihnen jedoch an dieser Stelle den ProFTPD-Server vorstellen, der sich durch eine sehr
  +
leichte Konfiguration auszeichnet und durch ein moderneres Konzept größere Sicherheit bietet.
  +
Zunächst sollten Sie das Paket proftpd installieren. Danach finden Sie die Konfigurationsdatei im Verzeichnis
  +
/etc/ unter dem Namen proftpd.conf.
  +
Auch für dieses Debian-Paket wurde eine kleine Konfigurationsroutine hinzugefügt:
  +
+------------------------- Configuring Proftpd --------------------------+
  +
| |
  +
| This option will create a ’ftp’ user if needed, and set up ProFTPD to |
  +
| allow anonymous ftp access to /home/ftp. |
  +
| |
  +
| Enable anonymous ftp access? |
  +
| |
  +
| <Yes> <No> |
  +
| |
  +
+------------------------------------------------------------------------+
  +
Editing /etc/proftpd.conf ...
  +
Starting professional ftp daemon: proftpd.
  +
Sie können hier auswählen, ob Sie Ihren FTP-Bereich (Standard ist das Verzeichnis /home/ftp/) auch für
  +
anonyme Benutzer freigeben wollen.
  +
Werfen wir nun mal einen Blick in die erzeugte Konfigurationsdatei:
  +
# This is a basic ProFTPD configuration file (rename it to
  +
# ’proftpd.conf’ for actual use. It establishes a single server
  +
# and a single anonymous login. It assumes that you have a user/group
  +
# "nobody" and "ftp" for normal operation and anon.
  +
ServerName "ProFTPD"
  +
ServerType standalone
  +
DeferWelcome off
  +
ShowSymlinks on
  +
MultilineRFC2228 on
  +
DefaultServer on
  +
ShowSymlinks on
  +
AllowOverwrite on
  +
TimeoutNoTransfer 600
  +
TimeoutStalled 600
  +
TimeoutIdle 1200
  +
DisplayLogin welcome.msg
  +
DisplayFirstChdir .message
  +
LsDefaultOptions "-l"
  +
# Port 21 is the standard FTP port.
  +
Port 21
  +
# Umask 022 is a good standard umask to prevent new dirs and files
  +
# from being group and world writable.
  +
Umask 022
  +
# Set the user and group that the server normally runs at.
  +
User root
  +
492
  +
Kapitel 17. Server-Dienste
  +
Group root
  +
# A basic anonymous configuration, no upload directories.
  +
<Anonymous ~ftp>
  +
User ftp
  +
Group nogroup
  +
# We want clients to be able to login with "anonymous" as well as "ftp"
  +
UserAlias anonymous ftp
  +
RequireValidShell off
  +
##
  +
# Limit the maximum number of anonymous logins
  +
MaxClients 10
  +
# We want ’welcome.msg’ displayed at login, and ’.message’ displayed
  +
# in each newly chdired directory.
  +
DisplayLogin welcome.msg
  +
DisplayFirstChdir .message
  +
# Limit WRITE everywhere in the anonymous chroot
  +
<Directory *>
  +
<Limit WRITE>
  +
DenyAll
  +
</Limit>
  +
</Directory>
  +
##
  +
# <Directory incoming>
  +
# <Limit READ WRITE>
  +
# DenyAll
  +
# </Limit>
  +
# <Limit STOR>
  +
# AllowAll
  +
# </Limit>
  +
# </Directory>
  +
</Anonymous>
  +
Wenn Sie sich bereits mit der Konfigurations des Apache Webservers beschäftigt haben, werden Ihnen in dieser
  +
Konfiguration sicher viele Dinge bekannt vorkommen.
  +
Damit wäre die grundsätzliche Konfiguration abgeschlossen. Wenn Sie wirklich den Zugriff von außen auf
  +
Ihren Rechner erlauben wollen, müssen Sie noch etwas mehr tun. Sehen Sie zunächst in die Datei
  +
/etc/hosts.deny, dort sollte lediglich der Eintrag ALL: ALL zu finden sein, um erst einmal alle Zugriffe von
  +
außen auf den Rechner abzublocken. Es ist einfacher, die Übersicht zu behalten, wenn man explizit die Rechner
  +
freigibt, die zugreifen dürfen. Dies geschieht über die Datei /etc/hosts.allow.
  +
Wenn Sie den Zugriff auf Ihren FTP-Server von jedem Rechner weltweit erlauben wollen, tragen Sie die Zeile
  +
ftpd: ALL
  +
in dieser Datei ein. Um den Zugriff aus der Domain .openoffice.de zu erlauben, genügt die folgende Zeile:
  +
ftpd: .openoffice.de
  +
Natürlich läßt sich der Zugriff auch auf einzelne Rechner beschränken, hierzu tragen Sie folgende Zeile
  +
(sinngemäß) ein:
  +
ftpd: 198.186.203.20
  +
493
  +
Kapitel 17. Server-Dienste
  +
Wenn Sie an den ProFTPD-Konfigurationdateien Veränderungen vorgenommen haben, müssen Sie den Dämon
  +
mit dem Kommando /etc/init.d/proftpd reload zum Einlesen der neuen Dateien überreden.
  +
Zum ProFTPD-Paket gehören einige weitere interessante Programme. Dies sind: ftpcount, ftpwho,
  +
ftpstats und ftpshut.
  +
ftpcount zeigt die Anzahl der Verbindungen zu jedem Server an.
  +
ftpwho zeigt Prozessinformationen zu allen aktiven Verbindungen an.
  +
ftpshut beendet alle ProFTPD-Server auf dem System zu einer bestimmten Zeit.
  +
In den Man-Pages zu den einzelnen Programmen finden Sie weitere Informationen.
  +
Weitere Informationen zu ProFTPD finden Sie im Netz unter der URL: http://www.proftpd.net.
  +
17.3. DHCP
  +
DHCP ist ein sehr verbreitetes Protokoll, um automatisch Rechner für den Zugang zum Netz zu konfigurieren.
  +
Hierzu ist es notwendig, einen DHCP-Server aufzusetzen, von dem die Clients (zum Beispiel die
  +
Arbeitsplatzrechner) die nötigen Daten (IP-Nummer, Netzmaske oder auch Nameserver-Adresse) beziehen.
  +
Schauen wir uns zuerst die Konfiguration des Servers an:
  +
Installieren Sie zunächst das Paket dhcp. Die Konfiguration für den DHCP-Server finden Sie in der Datei
  +
/etc/dhcpd.conf.
  +
Hier ein Beispiel für die Datei /etc/dhcpd.conf bei der jedem Rechner (Client) eine feste IP-Nummer
  +
zugewiesen wird. Diese wird anhand der Hardware Adresse ( MAC-Adresse) der Netzwerkkarte zugeordnet.
  +
# dhcpd.conf
  +
#
  +
option domain-name "openoffice.de";
  +
option domain-name-servers gateway.openoffice.de;
  +
option subnet-mask 255.255.255.240;
  +
default-lease-time 600;
  +
max-lease-time 7200;
  +
subnet 192.168.1.0 netmask 255.255.255.0 {
  +
range 192.168.1.10 192.168.1.255;
  +
option broadcast-address 192.109.42.16;
  +
option routers gateway.openoffice.de;
  +
}
  +
host imac {
  +
hardware ethernet 08:00:07:26:c0:a5;
  +
fixed-address sushi.openoffice.de;
  +
}
  +
Diese Konfiguration benutzt ein nicht geroutetes Netz, welches Sie problemlos zu Hause für Ihr internes Netz
  +
verwenden können. Weiterhin werden die ersten 9 Adressen nicht benutzt, Rechner, die Ihre Netzwerkangaben
  +
per DHCP beziehen, benutzen IP-Nummer ab der 192.168.0.10 aufwärts.
  +
Sie müssen für jeden Rechner, den Sie über den DHCP-Server versorgen wollen, einen Eintrag, wie hier im
  +
Beispiel für den Rechner „imac“ gezeigt, vornehmen. Wenn Sie die Hardware-Adresse Ihrer Netzwerkkarte
  +
nicht kennen, konfigurieren Sie den DHCP-Server erst einmal ohne diesen Eintrag und lesen weiter. Sie können
  +
die Hardware-Adresse auch später aus dem Logfile Ihres Servers entnehmen.
  +
Weiterhin müssen Sie in der Datei /etc/init.d/dhcp die Variable run_dhcp auf 1 ändern. Danach können
  +
Sie mit /etc/init.d/dhcp start den DHCP-Server aktivieren.
  +
Starten Sie nun einen der Rechner, die per DHCP versorgt werden sollen (Client). Wenn Sie noch keinen
  +
Eintrag für die Hardware-Adresse vorgenommen haben, können Sie diese aus dem Logfile entnehmen.
  +
494
  +
Kapitel 17. Server-Dienste
  +
Benutzen Sie dazu als Superuser das Kommando: tail -f /var/log/messages. Fügen Sie die angezeigte
  +
Adresse in die Konfigurationsdatei ein und starten Sie den DHCP-Server neu (mit: /etc/init.d/dhcp stop
  +
und /etc/init.d/dhcp start). Sollte Ihr Client mittlerweile aufgegeben haben, so starten Sie diesen
  +
Rechner ebenfalls neu.
  +
Alternativ kann auch das Kommando pump benutzt werden um erneut eine DCHP Abfrage zu starten.
  +
Eine etwas umfangreichere Konfiguration, die auch eine dynamische Adressvergabe zuläßt und für einen
  +
Rechner eine feste IP-Adresse zuweist finden Sie hier:
  +
# option definitions common to all supported networks...
  +
option domain-name "openoffice.de";
  +
option domain-name-servers ns.openoffice.de;
  +
#option subnet-mask 255.255.255.224;
  +
default-lease-time 600;
  +
max-lease-time 7200;
  +
subnet 192.168.1.0 netmask 255.255.255.0 {
  +
range 192.168.1.20 192.168.1.255;
  +
option domain-name-servers 192.168.1.6;
  +
option domain-name "openoffice.de";
  +
option routers 192.168.1.6;
  +
option subnet-mask 255.255.255.0;
  +
option broadcast-address 192.168.1.255;
  +
default-lease-time 600;
  +
max-lease-time 7200;
  +
}
  +
host surimi {
  +
hardware ethernet 00:60:08:78:c3:67;
  +
fixed-address surimi;
  +
}
  +
Im folgenden einige kurze Informationen, wie Sie auch Ihre anderen Rechner auf DHCP umstellen.
  +
17.3.1. GNU/Linux Notebook als DHCP-Client
  +
Die Konfiguration eines Notebooks mit Debian GNU/Linux ist denkbar einfach, benutzen Sie wie schon vorab
  +
beschrieben das Programm pcnetconfig und beantworten Sie die Frage nach der Methode mit 2 für „Use the
  +
dhcpcd or dhclient program“
  +
sushi:/home/fr# pcnetconfig
  +
This program will create a basic /etc/pcmcia/network.opts file, the
  +
pcmcia-cs package’s network adapter configuration file, based on choices
  +
that you make.
  +
A sample network.opts file is supplied in pcmcia-cs; you can edit this
  +
file to match your local network setup. Refer to the PCMCIA-HOWTO
  +
(usually in /usr/doc/HOWTO/PCMCIA-HOWTO.gz) for a detailed description
  +
of this file’s contents.
  +
Before continuing with this program, ensure that you know your host’s
  +
network configuration.
  +
Do you want to continue? [y]
  +
Choose a method for obtaining the host’s IP address and routing
  +
information
  +
1) Use the BOOTP protocol
  +
2) Use the dhcpcd or dhclient program
  +
495
  +
Kapitel 17. Server-Dienste
  +
3) Use /sbin/pump
  +
4) Use netenv (from the netenv package)
  +
5) Specify the IP address now (default)
  +
2
  +
In addition to the usual network configuration parameters, the
  +
network.opts script can specify extra actions to be taken after
  +
an interface is configured, or before an interface is shut down.
  +
If network.opts defines a shell function called start_fn, it will be
  +
invoked by the network script after the interface is configured, and the
  +
interface name will be passed to the function as its first (and only)
  +
argument. Similarly, if it is defined, stop_fn will be invoked before
  +
shutting down an interface. Refer to the PCMCIA-HOWTO for more details.
  +
This program will now write the network.opts file. Please take care
  +
not to overwrite a previously configured version of this file.
  +
Do you want to write /etc/pcmcia/network.opts? [y] y
  +
Speichern Sie die Konfiguration dann ab.
  +
17.3.2. MacOS als DHCP-Client
  +
Unter MacOS wählen Sie unter dem Apfel-Menü den Punkt „Kontrollfelder“ / „TCP/IP“ aus.
  +
Abbildung 17-1. MacOS TCP/IP
  +
496
  +
Kapitel 17. Server-Dienste
  +
Wenn Sie gefragt werden, ob TCP/IP aktiviert werden soll, klicken Sie auf „Ja“. Wählen Sie danach aus dem
  +
Menü „DHCP“ aus und schließen Sie das Fenster.
  +
Abbildung 17-2. MacOS DHCP
  +
Beim nächsten Neustart versucht der Mac die Netzwerkinformationen per DHCP zu beziehen. Achten Sie
  +
darauf, daß der Mac an das Netzwerk angeschlossen ist.
  +
17.4. Samba
  +
Samba verbindet zwei Welten miteinander. Auf einem Unix oder Debian GNU/Linux-Rechner installiert, dient
  +
es als Datei- und Druckerserver für über das Netzwerk angeschlossene Windows-Rechner. Samba benutzt
  +
hierzu das von Microsoft benutze SMB (Server Message Block)-Protokoll, es sind so an den
  +
Windows-Rechnern keinerlei Veränderungen vorzunehmen oder gar zusätzliche Software zu installieren.
  +
Dieses wird durch Protokolle erreicht, die als CIFS ( Common Internet File System) bekannt wurden. Eines der
  +
wichtigsten Elemente von CIFS ist das Protokoll SMB (Server Message Block). Samba ist eine freie
  +
Implementation von CIFS.
  +
Samba wurde bisher auf eine Vielzahl von Nicht-Unix-Betriebssystemen wie zum Beispiel VMS, AmigaOS
  +
und NetWare portiert.
  +
17.4.1. Entstehung von Samba
  +
Vor einigen Jahren entwickelten die Firmen IBM und Sytec gemeinsam ein einfaches Netzwerk-System für
  +
kleine, lokale Netzwerke. Dieses wurde NetBIOS oder „Network Basic Input Output System“ genannt.
  +
Microsoft erweiterte die Funktionalität, so daß Laufwerke übers Netz verwendet werden konnten. Diese Version
  +
wurde SMB und später CIFS genannt.
  +
NetBIOS wurde für kleine, lokale Netzwerke entwickelt, im Zusammenspiel mit TCP/IP kann diese Grenze
  +
überwunden werden. Der Trick besteht darin, die 16 Byte langen NetBIOS-Namen auf IP-Adressen umzulegen,
  +
so daß diese ihren Weg in einem gerouteten IP-Netzwerk finden. Dieser Mechanismus wird in den RFCs 1001
  +
und 1002 beschrieben. Mit der weiteren Entwicklung von Windows wurden zwei Funktionen hinzugefügt: Das
  +
„Browsen“ nach Diensten im Netz und eine Funktion zur zentralen Authentifizierung und Autorisierung, der
  +
sogenannte „Windows NT Domain Control“.
  +
497
  +
Kapitel 17. Server-Dienste
  +
17.4.2. Funktionen von Samba
  +
Samba besteht aus zwei existenziellen Programmen, smbd und nmbd, welche die grundlegenden, aktuellen
  +
Funktionen von CIFS implementieren. Diese sind:
  +
• Datei- und Druckdienste
  +
• Authentifikation und Authorisation
  +
• Namensauflösung
  +
• „browsing“
  +
Hierbei sind die Datei- und Druckdienste sicherlich die wichtigsten Bausteine des CIFS. Diese werden von
  +
smbd, dem SMB-Daemon, zur Verfügung gestellt. smbd verwaltet auch die sogenannte "Share mode" und "User
  +
mode"-Authentifizierung und Autorisation. Mit diesen können Sie Laufwerke und Druckdienste mit Paßwörtern
  +
schützen. Im einfachsten, im „Share“-Modus, kann ein Paßwort einem Laufwerk oder Drucker zugeordnet
  +
werden. Dieses Paßwort muß jedem Benutzer bekannt sein, der auf dieses Gerät zugreifen soll. Diese Methode
  +
ist natürlich durch ein Paßwort, welches vielen Benutzern bekannt ist, nicht sehr sicher. Empfehlenswerter ist
  +
es, jedem Benutzer einen eigenen Benutzernamen und ein Paßwort zu geben, der Systemadministrator
  +
entscheidet dann über die Konfiguration, welche Zugriffe für welchen Benutzer gestattet sind.
  +
Das mit Windows NT eingeführte System, der „Domain Controller“, erlaubt eine weitere Stufe der
  +
Authentifizierung. Die grundlegende Idee dahinter ist, daß ein Benutzer sich nur einmal legitimieren muß, um
  +
auf alle Netzwerkdienste zugreifen zu können. Das NT-System koordiniert dies über einen Server, den
  +
sogenannten Domain Controller. Eine NT Domain (nicht zu verwechseln mit dem Domain Name System
  +
(DNS)) ist eine Gruppe von Rechnern, die auf einen gemeinsamen Domain Controller zugreifen.
  +
Die anderen beiden Teile von CIFS, Namensauflösung und „browsing“, werden von nmbd zur Verfügung
  +
gestellt.
  +
Die Auflösung von Namen kann auf zwei Arten, „broadcast“ oder „point-to-point“, erfolgen. Ein Rechner kann
  +
eine oder beide dieser Methoden nutzen. Die Broadcast-Methode erinnert noch am meisten an die originale
  +
NetBIOS-Funktionalität, ein Rechner, der einen Service sucht, „ruft“ ins Netz und wartet auf eine Antwort. Dies
  +
kann einigen Traffic verursachen, ist aber in einem kleinen Netz kein echtes Problem.
  +
Die zweite Methode benutzt einen NBNS (NetBIOS Name Service)-Server. Unter Windows ist dies als WINS
  +
(Windows Internet Name Service) bekannt. Die Funktionsweise ist recht schnell erklärt: Jeder Client sendet
  +
seinen NetBIOS-Namen und die IP-Adresse an den NBNS-Server, der die Informationen in einer Datenbank
  +
speichert. Wenn ein Client mit einem anderen Client „sprechen“ möchte, sendet er den Namen des gewünschten
  +
Rechners an den NBNS-Server und dieser liefert die passende IP-Adresse zurück.
  +
Clients in verschiedenen Subnetzen können einen gemeinsamen NBNS-Server benutzen. Somit ist die
  +
Broadcast-Methode nicht auf lokale Netze beschränkt. NBNS läßt sich in etwa mit den DNS vergleichen, die
  +
Namensliste von NBNS ist allerdings komplett dynamisch und es gibt kaum Überprüfungen, ob ein Client zur
  +
Namesregistrierung authorisiert ist. Dies kann sehr schnell zu Konflikten führen.
  +
Bleibt noch das „browsing“. Dies hat nichts mit dem Surfen im WWW zu tun, sondern stellt vielmehr eine Liste
  +
der verfügbaren Laufwerke und Drucker dar.
  +
In einem LAN gibt es zwischen den teilnehmenden Rechnern eine „Abstimmung“ und der dominierende
  +
Rechner wird zum LMB (Local Master Browser) erklärt. Dieser LMB bekommt einen zusätzlichen Namen,
  +
seine Aufgabe ist es, eine Liste der verfügbaren Dienste zu pflegen. Diese Liste erscheint beim Anklicken des
  +
Symbols „Netzwerk Umgebung“.
  +
Als Ergänzung zu den LMBs gibt es noch DMBs (Domain Master Browsers). Diese koordinieren die Listen
  +
zwischen NT-Domänen und gerouteten Netzwerken. Über den NBNS kann ein LMB seinen DMB herausfinden
  +
und die Listen austauschen und ergänzen. Somit können die Listen an alle Teilnehmer in einer NT Domain
  +
verteilt werden. Leider dauert es bis zu einer Stunde, bis eine Änderung in einem Subnetz im Netz verbreitet ist.
  +
498
  +
Kapitel 17. Server-Dienste
  +
17.4.3. Samba-Werkzeuge
  +
Im Samba-Paket sind eine Reihe von Werkzeugen enthalten, andere sind unter Debian GNU/Linux als separate
  +
Pakete verfügbar.
  +
• smbclient - ein einfaches Programm, ähnlich wie ftp, mit dem Sie eine Verbindung von einem
  +
GNU/Linux-System zu einem SMB-Laufwerk oder einem Drucker herstellen können und Dateien übertragen
  +
können.
  +
• nmblookup - ein NetBIOS Name Service Client. Hiermit können Sie IP-Adressen und Namen von anderen
  +
Rechnern im Netz ermitteln.
  +
• swat - Ein webbasiertes Administrationstool.
  +
17.4.4. SMB-Dateisysteme
  +
Mit Samba können Sie von einem Windows-Rechner aus Dateisysteme Ihres Linux-Rechners völlig transparent
  +
nutzen, als wenn diese auf einer lokalen Festplatte liegen würden. Beispielsweise kann das Laufwerk „N:“ auf
  +
irgendeinem entfernten Rechner angelegt sein.
  +
Aber auch der umgekehrte Weg funktioniert, über das smbfs-Dateisystem können Sie auf Laufwerke zugreifen,
  +
die von einem Windows-Rechner freigegeben wurden. So können Sie zum Beispiel ein Verzeichnis /mnt/win/
  +
anlegen und das entsprechende Laufwerk Ihres Windows-Rechners dort mounten. Sie können in diesem
  +
Verzeichnis alle Aktionen (lesen, schreiben, löschen usw. von Dateien) ausführen, wie auf Ihren lokalen Platten.
  +
17.4.5. Konfiguration und Verwaltung
  +
Samba wird über die Datei /etc/smb.conf konfiguriert. Dies ist, wie unter Debian GNU/Linux üblich, eine
  +
normale ASCII-Datei, die Syntax ähnelt den von Windows bekannten*.ini-Dateien. Ziel ist es,
  +
Netzwerk-Administratoren, die mit Windows vetraut sind, einen leichten Umstieg zu bieten. Mit der
  +
wachsenden Funktionalität von Samba wuchsen auch die in der Konfigurationsdatei verfügbaren Parameter.
  +
Diese sind gut dokumentiert und erlauben sehr detaillierte Einstellungen.
  +
Neben der unter /usr/doc/samba/ liegenden mitgelieferten Dokumentation ist unter
  +
http://www.oreilly.com/catalog/samba/ auch die englischsprachige Online-Version des bei O’Reilly
  +
erschienenen Buches „Using Samba“ zu finden. Wer sich über den neuesten Stand der Samba-Entwicklung
  +
informieren möchte, dem sei die URL http://kt.linuxcare.com/KC/samba/ empfohlen. Die Homepage von
  +
Samba finden Sie unter: http://samba.org/.
  +
Als grafische Werkzeuge stehen Ihnen gnomba und tkchooser zur Verfügung, um exportierte Drucker und
  +
Laufwerke im Netz aufzuspüren und am System anzumelden.
  +
17.4.6. SWAT
  +
Das Samba Web Administration Tool (SWAT) stellt eine webbasierte Konfigurationsoberfläche für Samba zur
  +
Verfügung. Eine Demoversion finden Sie unter der URL: http://anu.samba.org/cgi-bin/swat/. SWAT ist
  +
Bestandteil der Samba Distribution, wurde aber für Debian GNU/Linux als eigenes Paket gepackt. Da SWAT
  +
webbasiert ist, benötigen Sie ebenfalls einen Webserver (apache, roxen ...) auf Ihrem System. Starten Sie
  +
dann Ihren Webbrowser mit der URL http://localhost:901/. Bitte beachten Sie: Wenn Sie auf SWAT von einem
  +
anderen Rechner zugreifen (in einem internen Netz oder über das Internet), so werden alle Paßwörter
  +
unverschlüsselt übertragen.
  +
Informationen über die möglichen Einstellungen finden Sie in der Anleitung zu Samba.
  +
499
  +
Kapitel 17. Server-Dienste
  +
17.4.7. gnosamba
  +
gnosamba ist ein grafisches Werkzeug zur Konfiguration von Samba. Die Webseiten zu gnosamba finden Sie
  +
unter der URL: http://www.open-systems.com/gnosamba.html.
  +
Sie können mit gnosamba eine bestehende Samba-Konfigurationsdatei einlesen und verändern. Sie können
  +
diese auch unter einem anderen Namen abspeichern, für Testzwecke beispielsweise.
  +
Abbildung 17-3. Gnosamba
  +
gnosamba befindet sich noch in der Entwicklung, es ist daher empfehlenswert, immer eine Sicherheitskopie der
  +
Samba-Konfigurationsdateien zu erstellen. Auch eine Unterstützung für die „höheren“ Funktionen, wie zum
  +
Beispiel PDC ( Primary Domain Controller)-Support sind noch nicht implementiert.
  +
17.4.8. gnomba
  +
gnomba ist eine grafische Oberfläche für das zum Samba-Paket gehörende Programm smbclient. Sie können
  +
mit gnomba die freigegebenen Laufwerke und Drucker suchen lassen und gleich an Ihrem System anmelden.
  +
500
  +
Kapitel 17. Server-Dienste
  +
Abbildung 17-4. gnomba
  +
Dies entspricht in etwa der von Windows bekannten „Netzwerkumgebung“. Weitere Screenshots finden Sie auf
  +
der Webseite zu gnomba : http://gnomba.darkcorner.net/.
  +
17.5. netatalk
  +
netatalk ist eine Implementierung der AppleTalk-Protokolle für Unix-Systeme. Die aktuelle Version
  +
unterstützt: EtherTalk Phase I und II, DDP, RTMP, NBP, ZIP, AEP, ATP, PAP, ASP sowie AFP.
  +
Sie können über netatalk, wie bei samba, Laufwerk und Drucker im Netz zur Verfügung stellen. AppleTalk
  +
findet in allen Versionen des MacOS auf Apples PowerMac-Architektur Verwendung.
  +
Auch die erste Konfiguration von netatalk ist unter Debian GNU/Linux sehr einfach. Installieren Sie einfach
  +
das Paket netatalk, und schon können Sie (eine korrekte Netzwerkkonfiguration vorausgesetzt) von Ihrem
  +
Mac aus auf Ihr Homeverzeichnis zugreifen. Sie finden die Konfigurationsdateien (papd.conf,
  +
AppleVolumes.default, AppleVolumes.system, afpd.conf und atalkd.conf zu netatalk) unter
  +
/etc/netatalk/. Eine Beispielkonfiguration, die zwei Arbeitsgruppen definiert, wie sie in einem kleinen
  +
Grafikbüro anzutreffen sein könnte, könnte durch folgende Einträge in der Datei AppleVolumes.default
  +
erreicht werden:
  +
~/ "Home Directory"
  +
/home/public "public" access=fr,geka
  +
/home/macuser/grafik "Grafik" access=geka
  +
/home/macuser/design "Grafik" access=geka
  +
/home/macuser/web "Grafik" access=fr,geka
  +
Nach einem Neustart von netatalk, können Sie von Ihrem Mac aus über das Kontrollfeld „Auswahl“ auf den
  +
Server zugreifen. Klicken Sie hierzu auf das Symbol „AppleShare“. Im rechten Teil des Fensters können Sie
  +
nun einen Server wählen (hier „gateway“) oder, über die Schaltfläche „Server IP-Adresse“, die IP-Adresse des
  +
Servers angeben.
  +
501
  +
Kapitel 17. Server-Dienste
  +
Abbildung 17-5. MacOS Auswahl
  +
Geben Sie nun Ihren Benutzernamen und das entsprechende Paßwort an.
  +
Abbildung 17-6. MacOS Paßwort
  +
Sie können nun die freigegebenen Laufwerke anmelden. Wenn Sie möchten, daß einzelne Laufwerke auch nach
  +
dem nächsten Systemstart zur Verfügung stehen, so sind diese auf der rechten Seite mit einem Haken zu
  +
versehen. Sie können auch den Benutzernamen und das Paßwort speichern, dies ist aus Sicherheitsgründen
  +
allerdings nicht zu empfehlen.
  +
502
  +
Kapitel 17. Server-Dienste
  +
Abbildung 17-7. MacOS Laufwerke
  +
Die ausgewählten Laufwerke erscheinen nun auf dem Schreibtisch, und Sie können mit diesen genauso arbeiten
  +
wie mit lokalen Laufwerken Ihres Macs.
  +
Die Seiten im Web zu netatalk finden Sie unter: http://www.umich.edu/~rsug/netatalk/.
  +
17.5.1. tkchooser
  +
Wenn Sie sich mit netatalk befassen, ist Ihnen sicher das MacOS-Kontrollfeld „Auswahl“ bekannt.
  +
tkchooser bildet dieses unter GNU/Linux nach und Sie können damit bequem Laufwerke und Drucker an
  +
Ihrem System anmelden. Weiterhin ist tkchooser auch in der Lage, via SMB exportierte Laufwerke und
  +
Drucker aufzuspüren und ins System einzubinden.
  +
Die Seiten im Web zu tkchooser finden Sie unter: http://www.cs.columbia.edu/~etgold/software/tkchooser2/.
  +
503
  +
Kapitel 18. Exotische Hardware
  +
In diesem Kapitel möchten wir Ihnen einiges an „exotischer“ Hardware für Ihr GNU/Linux-System vorstellen.
  +
Auf dem Hardwaremarkt tummeln sich einige Gerätschaften, für die noch keine GNU/Linux-Treiber verfügbar
  +
sind, beliebtes Beispiel sind die sogenannten „Win-Drucker“ oder „Win-Modems“, bei denen Funktionen, die
  +
eigentlich das Gerät übernimmt, in Software auf dem Rechner realisiert wurden. Eine Suche im Netz lohnt sich
  +
aber auf alle Fälle. An einigen Beispielen möchten wir Ihnen vorstellen, was die GNU/Linux-Gemeinde bisher
  +
an Treibern und Programmen geschaffen hat.
  +
18.1. Notebook-Spezialitäten
  +
Notebooks zählen zwar nicht zu den Erweiterungen, die man sich „mal eben so“ zulegt, sind aber doch recht
  +
verbreitet. Interessant sind diese Geräte in diesem Abschnitt auch aufgrund der benutzten
  +
Hardwarekomponenten.
  +
Wenn Sie häufig mit Ihrem Notebook unterwegs sind, bietet Ihnen Debian GNU/Linux einige interessante
  +
Pakete:
  +
An erster Stelle steht sicher das Paket task-laptop, dieses faßt die wichtigsten Pakete für Besitzer tragbarer
  +
Computer zusammen. Es werden automatisch die Pakete apmd (kümmert sich um den Stromsparmodus Ihres
  +
Rechners), pcmcia-cs (die „allgemeinen“ PCMCIA-Treiber) sowie anacron (eine Ergänzung zu cron, die
  +
auch die „Ruhezeiten“ Ihres Rechners berücksichtigt und Jobs ggf. später startet) installiert.
  +
Weitere sinnvolle Pakete (die auch von task-laptop vorgeschlagen werden) sind: netenv (hiermit können
  +
Sie beim Systemstart zwischen verschiedenen Netzwerkkonfigurationen wählen), irda-tools und
  +
irda-common (Infrarotschnittstellen-Unterstützung), sowie toshutils (einige Helferlein speziell für Toshiba
  +
Notebooks).
  +
Generelle Informationen zur Benutzung von GNU/Linux auf Notebooks finden Sie auf der Seite „UniX with
  +
Mobile Computers“ von Werner Heuser unter der URL: tuxmobil.org. Konfigurationstips wie Sie die Laufzeit
  +
des Systems erhöhen können finden Sie im Battery Powered Linux Mini-HOWTO.
  +
Wenn Sie in den Paketen forschen, werden Sie noch weitere nützliche Programme finden. Aber einen Teil der
  +
Arbeit haben wir Ihnen schon abgenommen.
  +
18.1.1. divine
  +
divine wird aus den Startdateien des PCMCIA-Systems heraus aufgerufen und kann anhand der vorhandenen
  +
Konfigurationsdateien feststellen, welche Einstellungen für das Netzwerk vorzunehmen sind. Schließen Sie
  +
einfach Ihr Notebook ans Netz an, starten Sie den Rechner und „schon sind Sie drin“ ;-). Die Homepage von
  +
divine finden Sie unter: http://www.fefe.de/divine.
  +
18.1.2. wmbattery
  +
Um den Ladezustand des Akkus anzuzeigen, leistet wmbattery gute Dienste. Dieses Programm läßt sich im
  +
„Dock“ des Windowmanagers WindowMaker ablegen, benötigt diesen aber nicht zwingend.
  +
Abbildung 18-1. WMBattery
  +
504
  +
Kapitel 18. Exotische Hardware
  +
Sie können wmbattery auch mit jedem anderen Windowmanager benutzen. Um wmbattery betreiben zu
  +
können, muß das Bios Ihres Notebooks über eine APM (Advanced Power Management)-Unterstützung
  +
verfügen, und Sie müssen diese auch (unter „Character Devices“) im Kernel aktivieren. wmbattery zeigt Ihnen
  +
den prozentualen Ladezustand an. Zusätzlich wird der Zustand auch farblich dargestellt (grün, gelb, rot). Wenn
  +
das Notebook über das Netzteil betrieben wird und so der Akku geladen wird, wird auch dies angezeigt.
  +
18.1.3. netenv
  +
Mit dem Paket netenv können Sie beim Systemstart zwischen verschiedenen Netzwerkkonfigurationen
  +
wählen, je nachdem, wo Sie sich gerade befinden. Bitte beachten Sie, daß der Bootvorgang unterbrochen wird
  +
und Sie ein Profil auswählen müssen, wenn Sie netenv installiert haben. Sie können netenv auch dazu
  +
benutzen, einen anderen Windowmanager oder einen anderen Drucker zu benutzen.
  +
18.1.4. cardinfo
  +
cardinfo ist Bestandteils des Paketes pcmcia-cs. Sie können mit cardinfo alle Informationen über die
  +
erkannten PCMCIA-Karten sehen und auch Karten an- und abmelden oder zurücksetzen.
  +
Abbildung 18-2. Cardinfo
  +
18.2. USB
  +
Der Trend bei neueren Motherboards und bei vielen Notebooks geht weg von parallelen und seriellen
  +
Schnittstellen, hin zu USB. Apples aktuelle Modelle, wie zum Beispiel der iMac, stellen sogar zur Tastatur und
  +
Maus die Verbindung über den USB-Bus her.
  +
Debian installiert in den aktuellen Versionen einen Kernel in der Version 2.4.19 oder höher. Dieser ist im Bezug
  +
auf den USB Support auf dem aktuellen Stand und enthält alle notwendigen Module.
  +
Wenn Sie dennoch einen 2.2.xer Kernel verwenden wollen, sollten Sie auf jeden Fall den USB-Teil aus den
  +
2.4.xer Kernel übernehmen. Ein angepaßtes Paket finden Sie unter:
  +
http://www.suse.cz/development/usb-backport/.
  +
18.2.1. Kernel-Konfiguration
  +
Diesen Abschnitt kann übersprungen werden wenn auf dem System bereits ein aktuelles Debian System mit
  +
dem Kernel 2.4.x (ab Debian 3.0, „bf24“) läuft. In jedem Fall ist zur Verwendung von Debian Kernel Paketen zu
  +
raten, dort sind alle Module bereits enthalten.
  +
Um USB nutzen zu können, müssen Sie auf älteren Systemen einen neuen Kernel übersetzen oder einen Kernel
  +
als Debian Paket einspielen. Am einfachsten benutzen Sie dazu make menuconfig auf der Console oder make
  +
xconfig, wenn Sie unter X11 arbeiten.
  +
505
  +
Kapitel 18. Exotische Hardware
  +
Abbildung 18-3. USB Kernel Konfiguration
  +
Aktivieren Sie zunächst den allgemeinen USB Support und wählen Sie dann entweder UHCI (wenn Sie ein Intel
  +
PIIX4, VIA oder ähnliches Chipset benutzen) oder OHCI-HCD (bei Compaq-Rechnern, iMacs, OPTi, SiS, ALi
  +
usw.) aus. Dies ist von dem verwendeten Motherboard abhängig, eventuell hilft auch ein Blick in das Handbuch
  +
zu Ihrem Motherboard. Sie können auch versuchen, das USB Chipset in der Ausgabe des Kommandos cat
  +
/proc/pci zu finden. Wenn es sich um eine kurze Angabe (wie etwa: i/o at 0xe400) handelt, wählen Sie
  +
UHCI, wenn die Ausgabe länger ist (etwa: 32 bit memory at 0xee000000), dann wählen Sie OHCI.
  +
Eine weitere Möglichkeit das verwendete USB Chipset zu ermitteln stellt das Kommando lspci zur Verfügung.
  +
lspci listet alle vom Bios erkannten PCI Geräte auf. In der ersten Spalte findet sich eine ID mit deren Hilfe
  +
sich genauere Informationen zu einzelnen PCI Geräte herausfinden lassen. Hierzu folgendes Beispiel:
  +
sushi:/home/fr# lspci
  +
00:00.0 Host bridge: Intel Corporation 440BX/ZX - 82443BX/ZX Host bridge (rev 03)
  +
00:01.0 PCI bridge: Intel Corporation 440BX/ZX - 82443BX/ZX AGP bridge (rev 03)
  +
00:07.0 ISA bridge: Intel Corporation 82371AB PIIX4 ISA (rev 02)
  +
00:07.1 IDE interface: Intel Corporation 82371AB PIIX4 IDE (rev 01)
  +
00:07.2 USB Controller: Intel Corporation 82371AB PIIX4 USB (rev 01)
  +
00:07.3 Bridge: Intel Corporation 82371AB PIIX4 ACPI (rev 02)
  +
00:09.0 Ethernet controller: Intel Corporation 82557 [Ethernet Pro 100] (rev 08)
  +
00:0a.0 Multimedia audio controller: Ensoniq ES1371 [AudioPCI-97] (rev 08)
  +
00:0b.0 SCSI storage controller: Symbios Logic Inc. (formerly NCR) 53c810 (rev 23)
  +
506
  +
Kapitel 18. Exotische Hardware
  +
01:00.0 VGA compatible controller: ATI Technologies Inc 3D Rage LT Pro AGP-133 (rev dc)
  +
sushi:/home/fr# lspci -v -s 00:07.2
  +
00:07.2 USB Controller: Intel Corporation 82371AB PIIX4 USB (rev 01) (prog-if 00 [UHCI])
  +
Flags: bus master, medium devsel, latency 64, IRQ 10
  +
I/O ports at e000 [size=32]
  +
Zunächst werden mittels lspci alle USB Geräte angezeigt und der entsprechende Eintrag für USB ermittelt.
  +
Danach wird lspci mit den Optionen -v -s und der entsprechenden ID aufgerufen. Anhand dieser Ausgabe
  +
läßt sich ermitteln das es sich bei diesem System um einen UHCI Controller handelt.
  +
Wenn Sie sich nicht sicher sind, probieren Sie einfach beide nacheinander aus.
  +
Damit haben Sie die grundsätzliche USB-Unterstützung aktiviert. Sie müssen nun noch entscheiden, für welche
  +
Gerätegruppen Sie Treiber benötigen. Sie können hier frei wählen, ob Sie die Treiber fest in den Kernel
  +
einbinden wollen oder lieber Module verwenden möchten. USB Hubs werden automatisch erkannt, dies müssen
  +
Sie nicht extra aktivieren.
  +
Folgende Treiber stehen Ihnen zur Verfügung:
  +
• USB Device Filesystem
  +
• HID - Human Interface Device, Tastatur, Maus, Joystick, Gamepads...
  +
• Scanner
  +
• Audio - Lautsprecher
  +
• CDC ACM - ISDN-Modems
  +
• Printer - Drucker
  +
• Serial Converter - serielle Schnittstellen
  +
• CPiA - Kameras mit Vision CPiA Chipset
  +
• OV511 - Kameras mit OmniVision’s OV511 chipset
  +
• Kodak DC-2xx - Kodak’s DC-200 Kameras
  +
• Massenspeicher - Festplatten, Diskettenlaufwerke... Hierzu muß auch „SCSI“ aktiviert werden!
  +
• EZUSB - Firmware Downloader für Anchor Chips USB Microkontroller
  +
• USS720 - für parallele Schnittstellen
  +
• DABUSB - Digital Audio Broadcast Empfänger
  +
Übersetzen Sie nun den Kernel und ggf. auch die Module neu und starten Sie das System mit dem neuen Kernel.
  +
Wenn Sie sich entschieden haben, Module zu benutzen, müssen Sie diese laden. Sie benötigen mindestens die
  +
Module usbcore.o und entweder usb-uhci.o oder usb-ohci-hcd.o. Weiterhin müssen Sie die
  +
gewünschten Treiber, also beispielsweise scanner.o oder printer.o laden.
  +
Wenn Sie UHCI und einen externen USB-Hub benutzen, werden Sie in etwa folgendes in der Datei
  +
/var/log/syslog sehen:
  +
.......
  +
Jul 19 20:46:02 rachel kernel: USB HID boot protocol mouse registered.
  +
.......
  +
Jul 19 20:46:02 rachel kernel: uhci_control_thread at c01b8c5c
  +
Jul 19 20:46:02 rachel kernel: New bus registered
  +
Jul 19 20:46:02 rachel kernel: USB hub driver registered
  +
Jul 19 20:46:02 rachel kernel: uhci_connect_change: called for 0
  +
.......
  +
Jul 19 20:46:02 rachel kernel: USB hub found
  +
Jul 19 20:46:02 rachel kernel: hub: 4-ports detected
  +
Jul 19 20:46:02 rachel kernel: hub: individual port power switching
  +
Jul 19 20:46:02 rachel kernel: hub: standalone hub
  +
507
  +
Kapitel 18. Exotische Hardware
  +
Jul 19 20:46:02 rachel kernel: hub: individual port over current protection
  +
Jul 19 20:46:02 rachel kernel: hub: power on to power good time: 100ms
  +
Jul 19 20:46:02 rachel kernel: hub: hub controller current requirement: 100mA
  +
Jul 19 20:46:02 rachel kernel: hub: port 1 is removable
  +
Jul 19 20:46:02 rachel kernel: hub: port 2 is removable
  +
Jul 19 20:46:02 rachel kernel: hub: port 3 is removable
  +
Jul 19 20:46:02 rachel kernel: hub: port 4 is removable
  +
Jul 19 20:46:02 rachel kernel: hub: local power source is good
  +
Jul 19 20:46:02 rachel kernel: hub: no over current condition exists
  +
Jul 19 20:46:02 rachel kernel: enabling power on all ports
  +
Jul 19 20:46:02 rachel kernel: uhci_connect_change: called for 1
  +
.......
  +
Jul 19 20:46:02 rachel kernel: hub: port 3 connection change
  +
.......
  +
Folgendes Beispiel zeigt ein UHCI System mit den USB Treibern des Kernels 2.4.5:
  +
Jul 23 10:54:33 sushi kernel: usb-uhci.c: $Revision: 1.259 $ time 18:23:00 May 27 2001
  +
Jul 23 10:54:33 sushi kernel: usb-uhci.c: High bandwidth mode enabled
  +
Jul 23 10:54:33 sushi kernel: usb-uhci.c: USB UHCI at I/O 0xe000, IRQ 10
  +
Jul 23 10:54:33 sushi kernel: usb-uhci.c: Detected 2 ports
  +
Jul 23 10:54:33 sushi kernel: usb.c: new USB bus registered, assigned bus number 1
  +
Jul 23 10:54:33 sushi kernel: hub.c: USB hub found
  +
Jul 23 10:54:33 sushi kernel: hub.c: 2 ports detected
  +
Jul 23 10:54:33 sushi kernel: usb-uhci.c: v1.251 Georg Acher, Deti Fliegl, Thomas Sailer, Roman Weissgaerber
  +
Jul 23 10:54:33 sushi kernel: usb-uhci.c: USB Universal Host Controller Interface driver
  +
Jul 23 10:54:33 sushi kernel: hub.c: USB new device connect on bus1/2, assigned device number 2
  +
Jul 23 10:54:33 sushi kernel: hub.c: USB hub found
  +
Jul 23 10:54:33 sushi kernel: hub.c: 4 ports detected
  +
Hier noch ein Beispiel von einem Apple iMac, bei dem die Tastatur und die Maus über den USB Port
  +
angeschlossen sind.
  +
PCI: Probing PCI hardware
  +
USB: kernel-interface.c:107: Universal USB Driver v$Revision: 1.53 $
  +
USB-OHCI: driver.c:898: USB Open Host Controller Interface Driver
  +
USB-OHCI: driver.c:758: Host controller found at PCI bus 0 dev 20 fn 0
  +
USB-OHCI: driver.c:564: Disabling OHCI legacy support on controller 0xc5fbd020
  +
USB-OHCI: driver.c:843: Host Controller 0xc5fe0e00 (0) at PCI bus 0 dev 20 fn 0 initialized
  +
USB-OHCI: driver.c:844: IRQ 28
  +
USB: kernel-interface.c:154: 1 USB host found
  +
USB-HUBD: driver.c:105: UUSBD Hub Driver v$Revision: 1.33 $
  +
USB-HIDBP: driver.c:90: USB HID Boot Protocol Driver v$Revision: 1.5 $
  +
adb devices:
  +
.....
  +
USB-HUBM: khubdd.c:468: Starting khubdd (pid 2)
  +
USB-HUBM: hubm-stch.c:678: Device attachment detected on port 0 of hub 0xc5fe0e20 (0 -1)
  +
hdc: ATAPI 1X CD-ROM drive, 4224kB Cache
  +
Uniform CDROM driver Revision: 2.52
  +
scsi0 : MESH
  +
scsi : 1 host.
  +
USBD: usbd-descr.c:1108: Device id 0x80d59b8 (0 1) at port 0, hub (0 -1): (no information available)
  +
USBD: usbd-descr.c:777: Processing USB device 0xc5fbdec0 (0 1), configuration index 0
  +
USBD: usbd-descr.c:399: Processing interface 0, alternate setting 0
  +
USBD: usbd-drv.c:331: Considering driver 0xc5fe4400 ‘USB HID Boot Protocol Driver v$Revision: 1.5 USBD: usbd-drv.c:331: Considering driver 0xc5fe4360 ‘UUSBD Hub Driver v$Revision: 1.33 $’, weight USB-HUBM: hubm-stch.c:678: Device attachment detected on port 0 of hub 0xc5fa6000 (0 1)
  +
508
  +
Kapitel 18. Exotische Hardware
  +
USBD: usbd-descr.c:1100: Device id 0xc3e494bb (0 2) at port 0, hub (0 1): Alps Electric M2452
  +
USBD: usbd-descr.c:777: Processing USB device 0xc5fa6120 (0 2) ’M2452’, configuration index 0
  +
USBD: usbd-descr.c:673: Unknown descriptor type 0x21 from device 0xc5fa6120 (0 2)’s configuration USBD: usbd-descr.c:399: Processing interface 0, alternate setting 0
  +
USBD: usbd-drv.c:331: Considering driver 0xc5fe4400 ‘USB HID Boot Protocol Driver v$Revision: 1.5 USBD: usbd-drv.c:331: Considering driver 0xc5fe4360 ‘UUSBD Hub Driver v$Revision: 1.33 $’, weight USB-HIDBP: cfg.c:110: Interface 0 of device (0 2) supports HID Keyboard Boot Protocol
  +
USB-HUBM: hubm-stch.c:678: Device attachment detected on port 2 of hub 0xc5fa6000 (0 1)
  +
USBD: usbd-descr.c:1100: Device id 0x6411c61a (0 3) at port 2, hub (0 1): Logitech M4848
  +
USBD: usbd-descr.c:777: Processing USB device 0xc5fa6360 (0 3) ’M4848’, configuration index 0
  +
USBD: usbd-descr.c:673: Unknown descriptor type 0x21 from device 0xc5fa6360 (0 3)’s configuration USBD: usbd-descr.c:399: Processing interface 0, alternate setting 0
  +
USBD: usbd-drv.c:331: Considering driver 0xc5fe4400 ‘USB HID Boot Protocol Driver v$Revision: 1.5 USBD: usbd-drv.c:331: Considering driver 0xc5fe4360 ‘UUSBD Hub Driver v$Revision: 1.33 $’, weight USB-HIDBP: cfg.c:139: Interface 0 of device (0 3) supports HID Boot Protocol Mouse
  +
Wenn Sie keinerlei Einträge finden, die beim Laden der Treiber auf USB-Geräte hindeuten, so probieren Sie
  +
einen anderen Treiber (UHCI statt OHCI-HCD oder umgekehrt), prüfen Sie, ob USB-Geräte angeschlossen
  +
sind, und sehen Sie im BIOS nach, ob die USB-Unterstützung aktiviert ist.
  +
18.2.2. USB-Device-Dateisystem
  +
Das USB-Device-Dateisystem wird wie das /proc-Dateisystem dynamisch generiert. Sie können dieses
  +
Dateisystem an jeder beliebigen Stelle mounten, üblicherweise geschieht dies unter /proc/bus/usb. Dieses
  +
Verzeichnis wird automatisch vom Linux-Kernel erzeugt, wenn die USB-Unterstützung aktiviert wurde. Wenn
  +
Sie das USB-Device-Dateisystem an anderer Stelle im Dateisystem mounten möchten, kann es unter Umständen
  +
zu Problemen mit Programmen kommen, die das Dateisystem unterhalb von /proc/bus/usb erwarten.
  +
Um dieses Dateisystem zu aktivieren, müssen Sie die Option „Preliminary USB Device Filesystem“ sowie das
  +
/proc-Dateisystem aktivieren.
  +
Um dieses Dateisystem zu mounten, benötigen Sie Superuser-Rechte (root). Mit dem Kommando
  +
mount -t usbdevfs none /proc/bus/usb
  +
können Sie dies temporär bis zum nächsten Systemstart benutzen.
  +
Um dies nicht nach jedem Neustart des Systems wiederholen zu müssen, sollten Sie folgenden Eintrag in die
  +
Datei /etc/fstab aufnehmen:
  +
none /proc/bus/usb usbdevfs defaults 0 0
  +
Hierbei ist zu beachten, daß dieser Eintrag nach dem Eintrag für das /proc, Dateisystem stehen muß, da das
  +
USB-Device-Dateisystem unterhalb von diesem gemountet wird.
  +
Sehen Sie sich nun einmal den Inhalt dieses Dateisystems an:
  +
dr-xr-xr-x 1 root root 0 Jan 26 10:40 001
  +
-r--r--r-- 1 root root 0 Jan 26 10:40 devices
  +
-r--r--r-- 1 root root 0 Jan 26 10:40 drivers
  +
Auch wenn diese Dateien eine Größe von 0 Byte aufweisen lassen sich mit den üblichen Unix Tools
  +
(beispielsweise more, less oder cat) die Informationen in diesen Dateien anzeigen) die Informationen in
  +
diesen Dateien anzeigen.
  +
509
  +
Kapitel 18. Exotische Hardware
  +
18.2.3. Human Interface Device (HID)-Konfiguration
  +
Der Linux-Kernel unterstützt vier verschiedene Gerätetypen über das HID Interface: Tastaturen, Mäuse,
  +
Joysticks und eine generische Schnittstelle.
  +
18.2.3.1. HID Maus-Konfiguration
  +
Zunächst müssen Sie die (USB-) Mausunterstützung im Kernel aktiviert haben. Weiterhin ist es nützlich, wenn
  +
Sie die Option Mix all Mice into one device aktivieren, es werden dann alle angeschlossenen
  +
USB-Mäuse zu einem Gerät zusammengefaßt. Wenn Sie die Treiber als Module erzeugt haben, laden Sie die
  +
Module hid.o, input.o und mousedev.o.
  +
Wenn Sie nun die Maus einstecken, sollte diese vom Kernel erkannt werden. Sie können dies in der Datei
  +
/var/log/syslog prüfen. Weiterhin sollten Sie in der Datei /proc/interrupts einen Eintrag finden, der
  +
sich auf USB bezieht. Klicken Sie ein paarmal mit der Maus, und Sie können in dieser Datei verfolgen, daß dies
  +
Interrupts auslöst.
  +
fr@surimi:~$ cat /proc/interrupts
  +
CPU0 CPU1
  +
0: 150269498 154722102 IO-APIC-edge timer
  +
1: 304690 303233 IO-APIC-edge keyboard
  +
2: 0 0 XT-PIC cascade
  +
9: 0 0 IO-APIC-edge acpi
  +
12: 3049906 3085565 IO-APIC-edge PS/2 Mouse
  +
14: 8349647 8378011 IO-APIC-edge ide0
  +
15: 4 4 IO-APIC-edge ide1
  +
16: 12624976 12621964 IO-APIC-level eth0
  +
17: 26754608 26755521 IO-APIC-level es1371
  +
18: 0 0 IO-APIC-level bttv
  +
19: 1728387 1729572 IO-APIC-level tmscsim, usb-uhci
  +
NMI: 304991583 304991583
  +
LOC: 304969599 304969534
  +
ERR: 9
  +
Hier als Beispiel die Daten von einem Dual-Prozessor System.
  +
Erstellen Sie nun ein Verzeichnis unterhalb von /dev/ eine Gerätedatei für die Maus, eventuell ist diese aber
  +
auch schon vorhanden:
  +
mkdir /dev/usb
  +
mknod /dev/usb/usbmouse0 c 10 32
  +
Wenn Sie nun das Kommando cat /dev/usb/usbmouse0 aufrufen und dann die Maus bewegen, sollten Sie
  +
viele wilde Zeichen sehen. Brechen Sie das Kommando mit CTRL+C ab.
  +
Wenn bis hierhin Ihre Tests erfolgreich waren, können Sie die Maus auch im praktischen Einsatz erproben. Um
  +
die Maus auf der Konsole mit gpm zu benutzen, starten Sie gpm wie folgt: gpm -m /dev/usb/usbmouse0 -t
  +
imps2. Sie können gpm auch dauerhaft zur Benutzung der USB-Maus überreden, indem Sie die entsprechenden
  +
Änderungen in der Datei /etc/gpm.conf aufnehmen oder das Programm gpmconfig benutzen.
  +
Wenn Sie die USB-Maus auch unter X benutzen möchten, verändern Sie den Abschnitt „Mouse“ in der Datei
  +
/etx/X11/XF86Config wie folgt:
  +
Section "Xinput"
  +
SubSection "Mouse"
  +
DeviceName "USB Mouse"
  +
Protocol "IMPS/2"
  +
Port "/dev/usb/usbmouse0"
  +
AlwaysCore
  +
EndSubSection
  +
EndSection
  +
und starten Sie den X-Server neu.
  +
510
  +
Kapitel 18. Exotische Hardware
  +
18.2.3.2. HID Tastatur-Konfiguration
  +
Wenn Sie eine USB-Tastatur an einer i386-Architektur benutzen, so wird dies bereits vom BIOS unterstützt.
  +
Hierzu muß die Tastatur am HUB auf dem Motherboard angeschlossen sein. Es schadet aber auch nicht, wenn
  +
Sie dies trotzdem im Kernel aktivieren. Auf der PowerPC-Plattform müssen Sie dies in jedem Fall im Kernel
  +
aktivieren.
  +
Wenn Sie Module benutzen, laden Sie die Module: hid.o, input.o und keybdev.o.
  +
Wenn Sie einige Zeichen auf der Tastatur tippen, sehen Sie in der Datei /proc/interrupts, wie die Interrupts
  +
zu der USB-Tastatur hochgezählt werden. Auch in der Datei /var/log/syslog sollten Sie beim Einstecken
  +
der Tastatur einige Informationen finden.
  +
Beachten Sie, daß Sie beim Systemstart die Tastatur nur benutzen können, wenn das BIOS dies unterstützt, zu
  +
dieser Zeit ist der Linux-Kernel noch nicht geladen. Wenn das BIOS Ihres Systems dies nicht unterstützt,
  +
können Sie keine Kernel-Parameter übergeben oder ein alternatives Kernel-Image auswählen.
  +
18.2.3.3. HID Joystick- und Gamepad-Konfiguration
  +
Wenn Sie die USB-Joystick-Unterstützung aktivieren, funktionieren Ihre normalen Joysticks nicht mehr. Wenn
  +
Sie Module verwenden, laden Sie die Module: hid.o, input.o und joydev.o.
  +
Wie schon bei der USB-Maus müssen Sie auch für die USB-Joystick-Unterstützung entsprechende
  +
Gerätedateien erzeugen:
  +
mknod /dev/usb/usbjs0 c 15 0
  +
mknod /dev/usb/usbjs1 c 15 1
  +
mknod /dev/usb/usbjs2 c 15 2
  +
mknod /dev/usb/usbjs3 c 15 3
  +
Mit dem Kommando: cat /dev/usb/usbjs0 werden nun bei jeder Aktion mit dem Joystick Zeichen auf dem
  +
Bildschirm ausgegeben. Sie können nun den Joystick in allen Spielen nutzen, die dies auch unterstützen.
  +
18.2.4. Scanner-Konfiguration
  +
Der USB Scanner-Treiber arbeitet mit allen USB Scannern zusammen. Um aber sinnvoll damit arbeiten zu
  +
können, muß auch für SANE ein entsprechender Treiber vorhanden sein.
  +
Wenn Ihr Scanner nicht automatisch einem passenden Treiber zugeordnet wird, sollten Sie die Treiber als
  +
Module erzeugen und die Hersteller und Produkt-ID von Hand den Modulen übergeben (alternativ können Sie
  +
auch die Sourcen ändern). Das Kommando hierzu lautet: insmod scanner.o vendor=0xXXXX
  +
product=0xYYYY, ersetzen Sie XXXX mit der hexadezimalen Hersteller-ID und YYYY mit der Produkt-ID.
  +
Auch hier müssen Sie wieder Gerätedateien anlegen:
  +
mknod /dev/usb/usbscanner0 c 180 48
  +
chmod a+rw /dev/usb/usbscanner0
  +
Um die Gerätedatei und damit den Scanner benutzen zu können, benötigen Sie noch ein entsprechendes
  +
Programm. Unter GNU/Linux ist das Programm der Wahl hierbei SANE. Wenn Sie beispielsweise einen HP
  +
Scanner benutzen, müssen Sie die Datei /etc/sane.d/hp.conf so verändern, daß diese nur folgendes
  +
enthält:
  +
/dev/usb/usbscanner0
  +
option connect-device
  +
Sie sollten nun den Scanner nutzen können.
  +
511
  +
Kapitel 18. Exotische Hardware
  +
18.2.5. Modem-Konfiguration
  +
Um mit dem Linux USB-Modem Treiber zu funktionieren, müssen die angeschlossenen Geräte
  +
(Analog-Modems oder ISDN) der CDC (Communication Device Class)-Spezifikation entsprechen.
  +
Die benötigten Gerätedateien erzeugen Sie mit folgenden Kommandos:
  +
mknod /dev/usb/ttyACM0 c 166 0
  +
mknod /dev/usb/ttyACM1 c 166 1
  +
mknod /dev/usb/ttyACM2 c 166 2
  +
mknod /dev/usb/ttyACM3 c 166 3
  +
Sie können bis zu 32 solcher Gerätedateien anlegen. Sie können nun mit jeder Software auf das Modem
  +
zugreifen.
  +
18.2.6. Drucker-Konfiguration
  +
Auch für einen USB-Drucker müssen Sie eine Gerätedatei erzeugen:
  +
mknod /dev/usb/usblp0 c 180 0
  +
Ändern Sie nun die Gerätedatei in der Datei /etc/printcap, und Sie können den Drucker mit den üblichen
  +
Programmen ansprechen.
  +
18.2.7. USB / Serielle Konfiguration
  +
Der serielle Treiber arbeitet momentan mit Geräten der Hersteller Belkin, Peracom und Connect Tech
  +
zusammen. Es werden bis zu 8 serielle Geräte unterstützt, auch dafür müssen Sie Gerätedateien anlegen:
  +
mknod /dev/usb/ttyUSB0 c 188 0
  +
mknod /dev/usb/ttyUSB1 c 188 1
  +
mknod /dev/usb/ttyUSB2 c 188 2
  +
mknod /dev/usb/ttyUSB3 c 188 3
  +
mknod /dev/usb/ttyUSB4 c 188 4
  +
mknod /dev/usb/ttyUSB5 c 188 5
  +
mknod /dev/usb/ttyUSB6 c 188 6
  +
mknod /dev/usb/ttyUSB7 c 188 7
  +
Sie können dann auf diese Geräte wie auf normale serielle Geräte zugreifen.
  +
18.2.8. CPiA Kamera-Konfiguration
  +
Dieser Treiber unterstützt einen Chipsatz der Firma Vision, der in einer Reihe von Kameras zu finden ist,
  +
beispielsweise in der Creative WebCamII. Um diesen Treiber benutzen zu können, müssen Sie auch die „Video
  +
for Linux“-Unterstützung (zu finden unter „Character Devices“ in der Kernel-Konfiguration) im Kernel
  +
aktivieren.
  +
Auch dieser Treiber benötigt eine Gerätedatei:
  +
mknod /dev/video0 c 81 0
  +
ln -s /dev/video0 /dev/video
  +
Um diese Hardware zu betreiben ist w3cam von Rasca Gmelch geeignet. Sie finden dies unter der URL:
  +
http://www.hdk-berlin.de/~rasca/w3cam/. Wenn Sie bereits eine TV-Karte in Ihrem Rechner installiert haben,
  +
können Sie für die ersten Versuche auch das Programm xawtv benutzen, hierbei müssen Sie auf der
  +
Kommandozeile die entsprechende Gerätedatei angeben (zum Beispiel: xawtv -c /dev/video1). Weiterhin
  +
ist es nötig, die Fenstergröße auf die Auflösung der Kamera anzupassen.
  +
512
  +
Kapitel 18. Exotische Hardware
  +
18.2.9. OV511 Kamera-Konfiguration
  +
Dieser Treiber unterstützt ein Chipset der Firma OmniVision, welches zum Beispiel in der Creative WebCam III
  +
oder der Lenco MVC 95998 benutzt wird. Auch dieser Treiber benötigt die „Video for Linux“-Unterstützung
  +
und eine Gerätedatei:
  +
mknod /dev/video0 c 81 0
  +
ln -s /dev/video0 /dev/video
  +
Sie können die gleichen Programme wie schon beschrieben nutzen.
  +
18.2.10. Massenspeicher-Konfiguration
  +
Dieser Treiber (usb-storage) kann mit einer Vielzahl von Geräten benutzt werden. Dies kommt daher, daß
  +
eine Verbindung zum SCSI-Treiber im Kernel hergestellt wird, Sie müssen daher auch den SCSI Support im
  +
Kernel aktivieren. Sie können dann auf USB-Diskettenlaufwerke, Zip-Laufwerke, LS120-Laufwerke und USB
  +
CD-ROMs zugreifen.
  +
Wenn Sie die entsprechenden Module geladen haben, sollte in der Datei /proc/scsi/scsi das Gerät
  +
aufgeführt sein.
  +
Sie können nun in der Datei /etc/fstab für die verschiedenen Geräte folgende Einträge vornehmen, um
  +
einfach darauf zugreifen zu können. Bitte beachten Sie, daß Sie, wenn Sie über weitere SCSI-Geräte verfügen,
  +
den Eintrag /dev/sda anpassen müssen, dieses Beispiel bezieht sich auf ein System ohne SCSI Hostadapter.
  +
Für ein Diskettenlaufwerk:
  +
/dev/sda /mnt/usbfd auto noauto,user 0 0
  +
Für ein Zip-Laufwerk:
  +
/dev/sda /mnt/usbzip vfat noauto,user 0 0
  +
Für ein CD-ROM:
  +
/dev/sda /mnt/usbcdrom iso9660 ro,noauto,user 0 0
  +
und für eine Festplatte:
  +
/dev/sda /mnt/usbhd ext2 defaults 1 2
  +
18.3. PDA - Personal Digital Assistant
  +
PDAs sind mittlerweile sehr verbreitete kleine Geräte, mit denen sich sehr komfortabel Adressen, Termine,
  +
ToDo-Listen und vieles andere mehr verwalten lassen. Am beliebtesten sind die Geräte der Firma 3Com,
  +
welche das Betriebssystem PalmOS benutzen. Die Modellpalette ist schon recht umfangreich ( PalmPilot,
  +
PalmPilot Pro, Palm III, Palm IIIx, Palm V, Palm Vx, Palm VII) und wird auch teilweise von IBM in Lizenz
  +
vertrieben. Wir möchten hier nicht auf die Installation von Linux auf einem PalmPilot eingehen (eine Portierung
  +
ist in Arbeit), sondern einige Programme aufzeigen, mit denen Sie auf die Daten in Ihrem PalmPilot zugreifen
  +
können.
  +
Weitere Informationen zur Benutzung dieser Geräte mit GNU/Linux finden Sie unter
  +
tuxmobil.org/pda_linux.html.
  +
Zur Synchronisierung der PDA-Daten mit den Anwendungen auf dem heimischen Rechner stehen unter
  +
GNU/Linux verschiedene Anwendungen zur Verfügung. Solche Programme werden auch oft „conduit“
  +
genannt. Zunächst müssen Sie jedoch das mitgelieferte „Cradle“ an eine freie serielle Schnittstelle anschließen.
  +
Das „Cradle“ verfügt über einen sogenannten „HotSync“-Knopf, dieser startet die Übertragung der Daten.
  +
513
  +
Kapitel 18. Exotische Hardware
  +
18.3.1. pilot-link
  +
Basis aller im weiteren beschriebenen Programme ist das Paket pilot-link. Dieses dient zur Kommunikation
  +
mit dem Palm Pilot und kann auch direkt auf der Kommandozeile eingesetzt werden, beispielsweise um von
  +
Zeit zu Zeit ein komplettes Backup zu erstellen.
  +
Um die Einstellungen in den einzelnen Programmen zu erleichtern, sollten Sie einen Link von der
  +
entsprechenden seriellen Schnittstelle auf die Gerätedatei /dev/pilot anlegen. Wenn Sie das „Cradle“ an der
  +
zweiten seriellen Schnittstelle angeschlossen haben, können Sie diesen Link mit dem Kommando ln -s
  +
/dev/ttyS1 /dev/pilot anlegen.
  +
Das Paket pilot-link dient zur Übertragung von Daten von und zum PalmPilot und besteht aus einer Reihe
  +
verschiedener Programme. Sie müssen jedesmal, wenn Sie eines der Programme aus dem pilot-link-Paket
  +
benutzen, die „HotSync“-Taste drücken, um die Datenübertragung zu starten. Sie können pilot-link auf der
  +
Kommandozeile angeben, welche Schnittstelle zu benutzen ist. Ändern Sie die hier gezeigten Beispiele nach
  +
Ihren Gegebenheiten.
  +
18.3.1.1. pilot-xfer
  +
pilot-xfer dient zum Sichern und Zurückspielen von Daten und zum Installieren von weiteren Programmen.
  +
Um ein Programm auf dem PalmPilot zu installieren, können Sie das Kommando
  +
pilot-xfer /dev/pilot -i programm.prc
  +
benutzen. Dagegen erstellt
  +
pilot-xfer /dev/pilot -b pilot-backup
  +
eine komplette Kopie aller Datenbanken das PalmPilots in dem Verzeichnis pilot-backup. Wenn dieses
  +
Verzeichnis nicht existiert, wird es neu angelegt. Um alle Daten wieder auf den PalmPilot zurückzuspielen,
  +
benutzen Sie das Kommando:
  +
pilot-xfer /dev/pilot -r pilot-backup
  +
18.3.1.2. install-memo
  +
Mit diesem Kommando können Sie eine Datei als Merkzettel (Memo) auf dem PalmPilot installieren. Mit der
  +
Option -c können Sie die gewünschte Kategorie angeben, in der dieser Merkzettel erscheinen soll, diese muß
  +
bereits auf dem PalmPilot existieren.
  +
install-memo /dev/ttyS1 -c privat neues.memo
  +
Der Dateiname wird im Merkzettel als erste Zeile angelegt und erscheint damit in der Merkzettel-Übersicht.
  +
18.3.1.3. memos
  +
Dieses Programm liest alle Merkzettel aus dem PalmPilot aus und gibt diese im Format der
  +
Standard-Unix-Mailboxen aus. Sie können diese Datei dann mit jedem gängigen Mailprogramm lesen.
  +
memos /dev/pilot > meine-memos
  +
18.3.1.4. pilot-addresses
  +
Mit diesem Kommando können Sie die Adressdatenbank sichern und wieder zurückspielen. Benutzen Sie
  +
pilot-addresses /dev/pilot -w adressen.file
  +
514
  +
Kapitel 18. Exotische Hardware
  +
um die Daten auf Ihrem Rechner zu speichern, und
  +
pilot-addresses /dev/pilot -r adressen.file
  +
um diese wieder auf dem PalmPilot zu speichern.
  +
Neben den Kommandozeilen-Tools gibts es natürlich auch einige Programme mit grafischer Oberfläche zur
  +
Kommunikation mit dem PalmPilot. Für die eigentliche Kommunikation mit dem PalmPilot greifen aber auch
  +
diese Programme auf das Paket pilot-link zurück.
  +
18.3.2. pi-address
  +
An dieser Stelle stellen wir Ihnen ein Programm vor, welches nicht im normalen Umfang von Debian
  +
GNU/Linux 2.2 enthalten ist. Wenn Sie den Abschnitt über das Programm alien durchgearbeitet haben,
  +
werden Sie pilot-address bereits kennen und wissen, wie Sie sich ein passendes Debian-Paket erstellen
  +
können.
  +
Ein weiterer Grund, dieses Programm hier aufzuführen, ist die tatkräftige Hilfe des Autors Michael Wiedmann
  +
bei der Erstellung dieses Buches, an dieser Stelle nochmals: Danke Michael!
  +
Natürlich kam pilot-address aber auch deshalb in die Auswahl, weil es einfach ein sehr nützliches
  +
Werkzeug für jeden Pilot-Besitzer ist.
  +
pilot-address ist ein grafisches Frontend zur Adressdatenbank Ihres Palm Piloten. Die Daten werden über
  +
das Programm pilot-xfer gelesen und geschrieben, dieses müssen Sie in jedem Fall installieren.
  +
pilot-xfer ist Bestandteil des Paketes pilot-link
  +
Abbildung 18-4. pi-Address
  +
515
  +
Kapitel 18. Exotische Hardware
  +
Da (noch) kein Debian-Paket von pilot-address den Weg auf die Debian-Server gefunden hat, müssen Sie
  +
zunächst die aktuelle Version von der Homepage http://www.in-berlin.de/User/miwie/pia/ besorgen. Sie können
  +
nun das Paket aus dem Quellcode (Source) selber übersetzen oder sich das Leben etwas leichter machen und
  +
eines der RPM-Pakete mit alien konvertieren. Sie finden dort auch ein Paket im Debian-Format, als kleine
  +
Übung können Sie aber auch das RPM-Paket konvertieren.
  +
18.3.3. j-pilot
  +
Auch j-pilot setzt auf pilot-link auf. Sie können mit j-pilot Ihre Adressen, Termine, Notizen und
  +
Aufgaben verwalten und mit dem Palm Pilot synchronisieren, als und auch neue Programme installieren. Für
  +
die Anwendung „Ausgaben“ steht ein Modul zu Verfügung.
  +
Standardmäßig benutzt j-pilot die Gerätedatei /dev/pilot, diese sollten Sie als Link auf die entsprechende
  +
serielle Schnittstelle einrichten.
  +
18.3.3.1. Einstellungen
  +
Nach dem ersten Start sollten Sie j-pilot einrichten, Sie können dies über den Menüpunkt „Preferences“ tun.
  +
Wenn Sie, wie schon beschrieben, einen symbolischen Link (/dev/pilot) benutzen, so können Sie diesen in
  +
der Konfiguration benutzen. Stellen Sie weiterhin die Geschwindigkeit der seriellen Schnittstelle ein.
  +
Abbildung 18-5. j-pilot Konfiguration
  +
Weiter können Sie hier die Datums- und Zeitformate einstellen sowie den Tag, mit dem die Woche beginnen
  +
soll (für die Ansicht im Kalender). Unter „My GTK colors file is“ können Sie zwischen verschiedenen
  +
Farbeinstellungen wählen. Sie können die Anzahl der gespeicherten Sicherheitskopien (Backups) einstellen
  +
sowie die Anzeige von gelöschten und modifizierten Datensätzen unterdrücken. Außerdem läßt sich die
  +
Anzeige von Terminen im Kalender ausschalten.
  +
516
  +
Kapitel 18. Exotische Hardware
  +
18.3.3.2. Kalender
  +
Sie können den Kalender öffnen, indem Sie auf das Kalender-Symbol klicken oder den entsprechenden Eintrag
  +
(„File“ - „Datebook“) aus dem Menü auswählen. Wenn Sie den Kalender aufrufen, wird jedesmal der aktuelle
  +
Tag angezeigt.
  +
Abbildung 18-6. j-pilot Kalender
  +
Sie können nun, durch einen Mausklick auf den entsprechenden Tag, einen Tag auswählen, die Termine werden
  +
dann aufgelistet, und auch hier können Sie einen Termin mit einem Mausklick auswählen, um detaillierte
  +
Informationen zu erhalten.
  +
18.3.3.3. Adressen
  +
In dieser Ansicht können Sie auf Ihre Adressen zugreifen. Wenn Sie Ihre Adressen in verschiedene Kategorien
  +
aufgeteilt haben, so können Sie diese über das Menü über den Adressen auswählen.
  +
517
  +
Kapitel 18. Exotische Hardware
  +
Abbildung 18-7. j-pilot Adressen
  +
Über die Schaltfläche „Add or Modify a Record“ können Sie Einträge ändern oder auch hinzufügen.
  +
18.3.3.4. Aufgaben
  +
Auch die Aufgaben können nach Kategorien aufgeteilt sein.
  +
Abbildung 18-8. j-pilot Aufgaben
  +
518
  +
Kapitel 18. Exotische Hardware
  +
Auch hier können Sie neue Aufgaben hinzufügen oder bereits existierende verändern.
  +
18.3.3.5. Suchen
  +
Diese Funktion durchsucht alle Datenbanken nach dem eingegebenen Text.
  +
Abbildung 18-9. j-pilot Suchen
  +
Sie können weiterhin angeben, ob bei der Suche die Groß- und Kleinschreibung berücksichtigt werden soll.
  +
18.3.3.6. Installation von Programmen
  +
Über diese Funktion können Sie Programme auswählen, die beim nächsten Hot-Sync auf den PalmPilot
  +
übertragen werden.
  +
519
  +
Kapitel 18. Exotische Hardware
  +
Abbildung 18-10. j-pilot Installation
  +
18.3.3.7. Quit, Sync, Backup...
  +
Sie können j-pilot beenden, indem Sie aus dem Menü „File“ den Eintrag „Quit“ auswählen oder einfach im
  +
Hauptfenster links auf die „Quit“-Schaltfläche klicken.
  +
Die Schaltfläche „Sync“ führt eine normale Synchronisation der Daten durch, wenn Sie „Backup“ wählen,
  +
werden die Datenbanken des PalmPilots auf dem Rechner gesichert. Ein zweites Backup sichert nur die
  +
veränderten Daten und nimmt nicht so viel Zeit in Anspruch.
  +
Sie können mit j-pilot keine gesicherten Datenbanken auf den PalmPilot zurückspielen. Benutzen Sie hierzu
  +
pilot-link.
  +
Die Webseite zu j-pilot finden Sie unter der URL http://www.jpilot.org/. Im Netz ist auch eine
  +
deutschsprachige Anleitung zu finden.
  +
520
  +
Kapitel 18. Exotische Hardware
  +
18.4. „Geräderte“ Mäuse
  +
In den letzten Monaten findet man immer mehr Angebote von Mäusen, die über ein Scrollrad verfügen. Mit
  +
diesem können Sie an jeder Stelle in einem Fenster den Bildschirminhalt verschieben, ohne erst an den Rand
  +
des Fensters wandern zu müssen, um die Scrollbalken zu betätigen. Dies funktioniert natürlich auch mit Debian
  +
GNU/Linux, leider aber noch nicht ohne einen Eingriff des Systemadministrators... aber das sind Sie ja
  +
mittlerweile.
  +
Am spannendsten ist natürlich die Funktion des Scrollrades unter X, aber auch auf der Konsole können Sie
  +
diese Erweiterung benutzen.
  +
18.4.1. Scrollrad unter XFree86
  +
XFree unterstützt Scrollräder seit der Version 3.3.2, wenn Sie noch eine ältere Version einsetzen, sollten Sie
  +
dringend die neueste Version installieren. Sie müssen an der Konfiguration des X-Servers nur eine einzige Zeile
  +
ändern bzw. diese hinzufügen. In dem Abschnitt „Pointer“ der Datei /etc/X11/XF86Config fügen Sie die
  +
Zeile ZAxisMapping 4 5 ein, ein bereits angepaßter Ausschnitt sieht wie folgt aus:
  +
Section "Pointer"
  +
Protocol "imps/2"
  +
Device "/dev/usbmouse"
  +
ZAxisMapping 4 5
  +
Buttons 3
  +
EndSection
  +
Sie können alle bisherigen Einstellungen so beibehalten, dies ist nur ein Beispiel. Eventuell müssen Sie noch
  +
das Maus-Protokoll anpassen, hier gilt: „imps/2“ für eine Wheel-Maus am PS/2 oder USB-Anschluß und
  +
„intellimouse“, wenn Sie die Maus am seriellen Anschluß eingesteckt haben.
  +
Nach der Änderung müssen Sie den X-Server neu starten. Ab sofort können in allen Anwendungen, die auf
  +
GTK basieren (ab Version 1.2.x), wie zum Beispiel The GIMP und allen Programmen aus dem GNOME
  +
Projekt, einsetzen. Ältere Programme unterstützen dies nicht direkt, können aber in den meisten Fällen sehr
  +
einfach angepaßt werden. Eine sehr umfangreiche Übersicht, wie die verschiedenen Programme zur Mitarbeit
  +
zu überreden sind, finden Sie unter: http://www.inria.fr/koala/colas/mouse-wheel-scroll/.
  +
Um Netscape zur Arbeit mit einer Wheel-Mouse zu überreden, tragen Sie in die Datei ~/.Xresources
  +
folgendes ein:
  +
!## Netscape Ergaenzung fuer Maus mit Scrollrad
  +
Netscape*drawingArea.translations: #replace \
  +
<Btn1Down>: ArmLink() \n\
  +
<Btn2Down>: ArmLink() \n\
  +
~Shift<Btn1Up>: ActivateLink() \n\
  +
~Shift<Btn2Up>: ActivateLink(new-window) \
  +
DisarmLink() \n\
  +
Shift<Btn1Up>: ActivateLink(save-only) \
  +
DisarmLink() \n\
  +
Shift<Btn2Up>: ActivateLink(save-only) \
  +
DisarmLink() \n\
  +
<Btn1Motion>: DisarmLinkIfMoved() \n\
  +
<Btn2Motion>: DisarmLinkIfMoved() \n\
  +
<Btn3Motion>: DisarmLinkIfMoved() \n\
  +
<Motion>: DescribeLink() \n\
  +
<Btn3Down>: xfeDoPopup() \n\
  +
<Btn3Up>: ActivatePopup() \n\
  +
Ctrl<Btn4Down>: PageUp()\n\
  +
Ctrl<Btn5Down>: PageDown()\n\
  +
Shift<Btn4Down>: LineUp()\n\
  +
Shift<Btn5Down>: LineDown()\n\
  +
None<Btn4Down>: LineUp()LineUp()LineUp()LineUp()LineUp()LineUp()\n\
  +
None<Btn5Down>: LineDown()LineDown()LineDown()LineDown()LineDown()LineDown()\n\
  +
Alt<Btn4Down>: xfeDoCommand(forward)\n\
  +
Alt<Btn5Down>: xfeDoCommand(back)\n
  +
521
  +
Kapitel 18. Exotische Hardware
  +
Sie können nach jeder Änderung an dieser Datei den X-Server neu starten, um die Änderungen zu aktivieren.
  +
Alternativ können Sie die Datei auch während des laufenden Betriebes des X-Servers einlesen und aktivieren.
  +
Benutzen Sie hierzu das Kommando: xrdb -merge ~/.Xresources.
  +
Wundern Sie sich nicht, daß es bei Webseiten, die Frames benutzen, nötig ist, zuerst einmal irgendwo innerhalb
  +
des gewünschten Frames zu klicken, damit der gewünschte Bereich gescrollt wird. Dieses Verhalten ist normal,
  +
Netscape ist leider nicht in der Lage festzustellen, in welchem Bereich des Fensters sich der Mauszeiger
  +
befindet.
  +
522
  +
Kapitel 19. Systemadministration
  +
19.1. Bootloader
  +
Vor dem Laden des Linux-Kernels wird mit dem sogenannten Bootloader ein kleines Programm geladen,
  +
welches Ihnen eine Auswahl zwischen verschiedenen installierten Betriebssystemen erlaubt. Der unter
  +
GNU/Linux gebräuchlichste Bootloader ist lilo.
  +
19.1.1. lilo (i386)
  +
Bei der Installation von Debian GNU/Linux auf Ihrem System wird generell der Bootloader lilo auf Ihrer
  +
Festplatte installiert und so eingerichtet, daß das neue Debian GNU/Linux-System gestartet wird.
  +
19.1.1.1. lilo einrichten
  +
Nach Installation des Basis-Systems und des Master Boot Records, gelangen Sie beim Booten des Rechners
  +
automatisch in den LILO und können plötzlich nur noch Linux starten. In diesem Abschnitt wird beschrieben,
  +
wie Sie die alten Systeme wieder aktivieren.
  +
LILO ist ein vollständiger Boot-Manager, mit dem nicht nur Linux gebootet werden kann, sondern auch jedes
  +
andere System, das sich an die im PC vorherrschenden Konventionen hält. Konfiguriert wird dieser
  +
Boot-Manager über die Datei /etc/lilo.conf.
  +
Wann immer Sie diese Datei ändern, müssen Sie das Programm lilo auf der Kommandozeile als Superuser
  +
aufrufen, um die Änderungen tatsächlich zu übernehmen. Es reicht nicht, die Konfigurationsdatei zu verändern!
  +
Wichtig in diesem Zusammenhang sind die Zeilen, die mit image und other anfangen, sowie die jeweils
  +
nachfolgende Zeile. Diese Schlüsselwörter dürfen mehrfach verwendet werden. Jede so beginnende Zeile
  +
bezeichnet ein System, das von LILO gebootet werden kann. Eine solche Partition kann einen Kernel, eine
  +
Root-Partition oder ein anderes, Nicht-Linux-System (other), beinhalten. Die Reihenfolge dieser Systeme ist
  +
entscheidend, denn das erste wird automatisch gebootet, wenn die Wartezeit (siehe delay) abgelaufen ist und
  +
LILO nicht durch Drücken der Shift-Taste angehalten wurde. Nach einer Erstinstallation existiert lediglich ein
  +
einziges solches System, welches das aktuelle Debian GNU/Linux-System bootet.
  +
Um ein zweites Linux-System zu booten (z.B. unter Verwendung eines anderen Kernels), müssen Sie die Datei
  +
/etc/lilo.conf um folgende Zeilen ergänzen:
  +
image=/boot/vmlinuz.neu
  +
label=neu
  +
append=’mcd=0x320,11’
  +
read-only
  +
Lediglich die ersten beiden Zeilen sind erforderlich. Um die Bedeutung der nachfolgenden Zeilen zu erfahren,
  +
lesen Sie bitte in der Dokumentation zu LILO.
  +
19.1.1.2. lilo und fremde Betriebssysteme
  +
Um ein anderes System als Linux zu booten, verwenden Sie das Schlüsselwort other wie folgt:
  +
other=/dev/hda1
  +
label=win
  +
Rufen Sie danach lilo als Superuser auf, um lilo neu zu installieren. Bei einem Neustart des Systems können
  +
Sie nun am Bootprompt durch Eingeben von „win“ das Betriebssystem auf der Partition /dev/hda1 starten.
  +
523
  +
Kapitel 19. Systemadministration
  +
19.1.2. GRUB
  +
GRUB (GRand Unified Bootloader) ist ein weiterer Bootloader, dessen Aufgabe es ist nach dem einschalten des
  +
Rechners die weitere Kontrolle an das Betriebssystem (also den Kernel) zu übergeben. Das Betriebsystem
  +
initialisiert dann über die geeigneten Treiber alle weitere Hardware im System. GRUB ist in der Lage viele
  +
verschiedene Betriebssysteme zu laden. Wird ein Betriebssystem nicht direkt von GRUB unterstützt, so kann
  +
dieses dennoch von GRUB über einen sogenannten „Chain-Bootloader“ geladen werden. Für die wichtigsten
  +
Betriebssysteme sind diese bereits im GRUB Paket enthalten.
  +
Einer der größten Vorteile von GRUB ist, das GRUB in der Lage ist auf das Dateisystem direkt zuzugreifen.
  +
Das bedeutet das GRUB nicht wissen muß wo genau der zu ladende Kernel auf der Festplatte liegt. Sie können
  +
also jederzeit einen neuen Kernel erzeugen und müssen hinterher nicht nochmal GRUB im MBR der Festplatte
  +
installieren. Es ist ebenfalls nicht notwendig alle Kernelversionen die sich auf der Festplatte befinden in die
  +
Konfigurationsdatei einzutragen. Sie können mit GRUB jederzeit auf jeden Kernel auf Ihrer Festplatte
  +
zugreifen, wenn auch mit ein wenig Tipparbeit.
  +
19.1.2.1. Installation
  +
Die Installation von GRUB unter Debian ist wie üblich mit einem einfachen apt-get install grub so gut
  +
wie abgeschlossen. Sie sollten danach zunächst das Paket lilo entfernen, dies wird nicht mehr benötigt. Leider
  +
ist noch keine Installationsroutine zur kompletten automatischen Installation von GRUB verfügbar, so das noch
  +
einige wenige Schritte von Hand vorgenommen werden müssen.
  +
Um die notwendigen Daten (die Stage 1 und 2 Bootloader) in den Masterboot-Record der Festplatte zu
  +
schreiben, benutzen Sie das Programm „grub-install“. Wenn Sie „grub-install“ zunächst ohne Optionen aufrufen
  +
bekommen Sie eine kurze Übersicht der möglichen Optionen angezeigt:
  +
debian:~# grub-install
  +
install_device not specified.
  +
Usage: grub-install [OPTION] install_device
  +
Install GRUB on your drive.
  +
-h, --help print this message and exit
  +
-v, --version print the version information and exit
  +
--root-directory=DIR install GRUB images under the directory DIR
  +
instead of the root directory.
  +
--grub-shell=FILE use FILE as the grub shell.
  +
--force-lba force GRUB to use LBA mode even for a buggy
  +
BIOS.
  +
--recheck probe a device map even if it already exists.
  +
INSTALL_DEVICE can be a GRUB device name or a system device filename.
  +
Reports bugs to <bug-grub@gnu.org>.
  +
In den meisten Fällen ist es ausreichend lediglich das gewünschte Device anzugeben auf dem die Daten
  +
installiert werden sollen. Dies wird bei einer IDE-Festplatte meist /dev/hda sein.
  +
surimi:/home/fr# grub-install /dev/hda
  +
Installation finished. No error reported.
  +
This is the contents of the device map /boot/grub/device.map.
  +
Check if this is correct or not. If any of the lines is incorrect,
  +
fix it and re-run the script ‘grub-install’.
  +
(fd0) /dev/fd0
  +
(hd0) /dev/hda
  +
(hd1) /dev/hdb
  +
524
  +
Kapitel 19. Systemadministration
  +
GRUB ist nun funktionsfähig installiert, Sie sollten aber noch ein Menü einrichten um nicht bei jedem
  +
Systemstart die Parameter für das Root-Device und den Kernel von Hand eingeben zu müssen. Kopieren Sie
  +
hierzu am besten das mitgelieferte Beispiel an die entsprechende Stelle.
  +
19.1.2.2. Konfiguration
  +
Die Konfiguration von GRUB kann herkömlich, mittels eines Editors, erfolgen oder aber ganz elegant mittels
  +
update-grub.
  +
19.1.2.2.1. update-grub
  +
update-grub ist Bestandteil des GRUB Debian Paketes. Existiert noch keine Konfigurationsdatei, so wird
  +
diese automatisch erstellt. Als Basis dienen dazu die Kernel- und RAM-Disk-Images im Verzeichnis /boot/.
  +
Zu jedem vorhandenen Kernel wird jeweils ein Eintrag für den normalen Start sowie für den Start im
  +
Single-User Modus erstellt.
  +
wasabi:~# update-grub
  +
Searching for GRUB installation directory ... found: /boot/grub .
  +
Testing for an existing GRUB menu.list file...
  +
Could not find /boot/grub/menu.lst file. Would you like one generated for you? (y/N) y
  +
Updating /boot/grub/menu.lst ... done
  +
Please note that configuration parameters for GRUB are stored in
  +
/boot/grub/menu.lst . You must edit this file in order to set the options
  +
which GRUB passes to the kernel, as well as the drive which GRUB looks in to
  +
for the kernel.
  +
Everything on the line after "kopt=" is passed to the kernel as parameters,
  +
and "groot=" must be set to the partition(in GRUB terms, such as "(hd0,0)")
  +
which GRUB will load the kernel from.
  +
After you have edited /boot/grub/menu.lst , please re-run ’update-grub’.
  +
Natürlich sind Veränderungen an der automatisch erstellten Konfiguration möglich. In der Konfigurationsdatei
  +
gibt es einen Abschnitt der mit „### BEGIN AUTOMAGIC KERNELS LIST“ beginnt. Diese Einträge können
  +
verändert werden, es dürfen aber auf keinen Fall die Kommentarzeichen (#) am Anfang jeder Zeile verändert
  +
werden! Ein Beispiel. Aus:
  +
# kopt=root=/dev/hda1 ro
  +
Wird:
  +
# kopt=root=/dev/hda1 ro apm=on ide2=0x180,0x386
  +
Die hinzugefügten Parameter werden beim Starten des Kernels übergeben. Nach der Änderung wird nochmals
  +
update-grub aufgerufen und die Änderungen werden in die eigentliche Konfiguration am Ende der Datei
  +
übernommen.
  +
525
  +
Kapitel 19. Systemadministration
  +
19.1.2.2.2. Manuelle Konfiguration
  +
Wenn Sie im Verzeichnis /boot/grub/ eine Datei eine Datei menu.lst erzeugen, so wird GRUB beim
  +
nächsten Start aus dieser Datei ein Menü erstellen und Sie können dann aus den verschiedenen Einträgen dieses
  +
Menüs den gewünschten auswählen. Ein Beispiel für ein solches Menü finden Sie unter
  +
/usr/share/doc/grub/examples/menu.lst.
  +
debian:~# cp /usr/share/doc/grub/examples/menu.lst /boot/grub/
  +
In dem Beispiel finden Sie einige Einträge für die verschiedensten Betriebssysteme, sowie einige andere
  +
Goodies die Sie mit GRUB anstellen können. Eine funktionsfähige Minimalkonfiguration könnte wie folgt
  +
aussehen:
  +
timeout 10
  +
default 0
  +
# For booting Linux
  +
title Debian GNU/Linux
  +
root (hd0,0)
  +
kernel /vmlinuz root=/dev/hda1
  +
Wenn ein Kernelpaket verwendet wird, so ist darauf zu achten das diese normalerweise eine Init-Ramdisk
  +
(initrd) verwenden. Ein entsprechender Eintrag, um eben diese Ramdisk ergänzt sieht wie folgt aus:
  +
title GNU/Linux 2.4.6 SMP
  +
root (hd0,6)
  +
kernel /vmlinuz-2.4.6-686-smp root=/dev/hda1 read-only
  +
initrd /initrd-2.4.6-686-smp
  +
Dieses Beispiel verwendet einen SMP Kernel und eine etwas andere Festplattenaufteilung, aber das Prinzip
  +
sollte erkennbar sein.
  +
19.1.2.3. Hardwarebezeichnungen
  +
Vielleicht haben Sie sich schon über die etwas ungewohnten Bezeichnungen der Laufwerke in der
  +
Konfigurationsdatei gewundert. GRUB benutzt die von HURD-Kernel verwendeten Bezeichnungen für
  +
Gerätedateien, die Umstellung ist aber für den geübten Linux-Admin nicht sehr groß.
  +
Zunächst ist zu bemerken das alle Bezeichnungen für Geräte in Klammern () geschrieben werden. Statt der unter
  +
Linux üblichen Buchstaben (z.B. hda) werden die einzelnen Platten mit fortlaufenden Zahlen ab 0 bezeichnet.
  +
hda entspricht also hd0. Die einzelnen Partitionen einer Platten werden wie unter Linux mit Zahlen bezeichnet,
  +
allerdings beginnend mit 0 und getrennt mit einem Komma. Somit entspricht /dev/hda1 also (hd0,0).
  +
Weitere Geräte werden als (fd0) (Diskette) und (sd0) (SCSI Platten) bezeichnet. Sie können GRUB auch
  +
zum booten übers Netz einsetzen oder das Root-Filesystem per NFS mounten. Die Bezeichnung des
  +
Netzwerkdevices lautet (nd).
  +
19.1.2.4. Kommandozeile
  +
GRUB verfügt auch über eine sehr leistungsfähige Kommandozeile, bedenken Sie dabei das zu dieser Zeit noch
  +
kein komplettes Betriebssystem oder gar ein Kernel geladen ist! Sollte es Ihnen nicht gelungen sein ein
  +
funktionsfähiges Menü zu erstellen, so landen Sie automatisch auf der GRUB-Kommandozeile. Sie können hier
  +
alle Kommandos, Laufwerksbezeichnungen und Dateinamen mit der TAB-Taste automatisch vervollständigen
  +
lassen, diese Feature kennen Sie sicher schon aus der Shell.
  +
526
  +
Kapitel 19. Systemadministration
  +
Wenn jedoch ein Menü angezeigt wird, können Sie dieses mit der Taste c verlassen und auf der Kommandozeile
  +
zum Beispiel von Hand einen anderen Kernel starten. Fehlerhafte Einträge im Menü lassen sich aus dem Menü
  +
mit der Taste e temporär verändern. Vergessen Sie nicht diese Änderungen später in die Datei
  +
/boot/grub/menu.lst einzutragen.
  +
19.1.2.5. weitere Informationen
  +
Weitere Informationen zu GRUB finden Sie auf Ihrem System unter file:///usr/share/doc/grub/ und auf der
  +
Webseite des Projektes unter http://www.gnu.org/software/grub/grub.en.html.
  +
19.2. Init Scripte
  +
Nach dem laden des Linux Kernels wird als erstes Programm überhaupt das Programm init gestartet. Dieses
  +
Programm startet alle weiteren Programme, welche dies sind wird über die Scripte im Verzeichnis
  +
/etc/init.d bestimmt. Je nach gewünschtem Runlevel des Systems zeigen Links auf die Scripte in diesem
  +
Verzeichnis. Das anlegen und löschen dieser Links wird bei der Installation der jeweiligen Dienste automatisch
  +
vorgenommen. Ein installierter Dienst wird normalerweise immer auch gestartet. Natürlich können Links von
  +
Hand hinzugefügt oder entfernt werden, aber auch für diese Arbeiten am System stellt Debian einige
  +
Werkzeuge zur Verfügung.
  +
19.2.1. rcconf
  +
rcconf ist ein einfaches Werkzeug mit dem einzelne Dienste aus den Init-Scripten aktiviert oder deaktiviert
  +
werden können. Es ist mit rcconf nicht möglich den Runlevel eines Dienstes zu bestimmen.
  +
Abbildung 19-1. rcconf
  +
527
  +
Kapitel 19. Systemadministration
  +
19.2.2. update-rc.d
  +
Detailiertere Einstellmöglichkeiten bietet update-rc.d. Zunächst sollte update-rc.d in jedem Fall mit der
  +
Option -n aufgerufen werden, diese zeigt lediglich an welche Aktionen durchgeführt werden sollen, lässt die
  +
entsprechenden Links aber unangetastet.
  +
usage: update-rc.d [-n] [-f] <basename> remove
  +
update-rc.d [-n] <basename> defaults [NN | sNN kNN]
  +
update-rc.d [-n] <basename> start|stop NN runlvl [runlvl] [...] .
  +
-n: not really
  +
-f: force
  +
Grundsätzlich ist natürlich immer der Name des Paketes anzugeben von welchem die Initscripte angepasst
  +
werden sollen. Bei Verwendung der Option remove werden alle Links auf das entsprechende Script entfernt.
  +
Hierbei prüft update-rc.d ob das Script bereits entfernt wurde. Ist dies nicht der Fall so bricht update-rc.d
  +
ab. Mit der Option -f kann erzwungen werden das die Links auch bei vorhandensein eines Script gelöscht
  +
werden.
  +
Mit den Optionen start, stop oder defaults werden die notwendigen Links angelegt, bzw.
  +
wiederhergestellt. Wird zusätzlich einer oder mehrere Runlevel angegeben so können die Links entsprechend
  +
den Wünschen des Systemadministrators angepasst werden.
  +
19.3. alternatives
  +
Vielleicht ist Ihnen schon das Verzeichnis /etc/alternatives aufgefallen. In diesem befinden sich einige
  +
Links ins Dateisystem. Haben Sie schon herausgefunden wozu diese dienen? OK, dann wird das Geheimnis nun
  +
aufgedeckt....
  +
„Alternativen“ sind eine weitere dieser vielen, netten Kleinigkeiten die das Leben in einem Debian GNU
  +
System leichter und schöner machen. Über Alternativen können beliebte Programme (beispielsweise vi) durch
  +
„Alternativen“ (beispielsweise vim) ersetzt werden. Hierbei sind keine Einträge in irgendwelchen
  +
Konfigurationsdateien notwendig. Sehen wir uns das einmal am Beispiel vi an. Zunächst versuchen wir zu
  +
ermitteln wo das eigentlich Programm vi zu finden ist:
  +
wasabi:/home/fr# ls -l ‘which vi‘
  +
lrwxrwxrwx 1 root root 20 24. Feb 13:47 /usr/bin/vi -> /etc/alternatives/vi
  +
Und dieser Link wiederrum:
  +
wasabi:/home/fr# ls -l /etc/alternatives/vi
  +
lrwxrwxrwx 1 root root 12 20. Mär 08:15 /etc/alternatives/vi -> /usr/bin/vim
  +
... zeigt auf das Programm vim. Nun lassen sich auch diese Links natürlich mir Unix Bordmitteln verändern,
  +
doch halt! Auch hier gibt es wieder ein Werkzeug aus der Debian Werkzeugkiste.
  +
update-alternatives ist das Werkzeug des Debian Systemadministrators um die Konfiguration dieser
  +
Links vorzunehmen. Hierbei ist es möglich aus sinnvollen Alternativen auszuwählen, es werden sogar
  +
Einschätzungen zum am besten geeigneten Programm für den jeweiligen Zweck abgegeben.
  +
update-alternatives: need --display, --config, --install, --remove or --auto
  +
Debian update-alternatives 1.9.20.
  +
528
  +
Kapitel 19. Systemadministration
  +
Copyright (C) 1995 Ian Jackson.
  +
Copyright (C) 2000,2001,2002 Wichert Akkerman
  +
This is free software; see the GNU General Public Licence
  +
version 2 or later for copying conditions. There is NO warranty.
  +
Usage: update-alternatives --install <link> <name> <path> <priority>
  +
[--slave <link> <name> <path>] ...
  +
update-alternatives --remove <name> <path>
  +
update-alternatives --auto <name>
  +
update-alternatives --display <name>
  +
update-alternatives --config <name>
  +
<name> is the name in /etc/alternatives.
  +
<path> is the name referred to.
  +
<link> is the link pointing to /etc/alternatives/<name>.
  +
<priority> is an integer; options with higher numbers are chosen.
  +
Options: --verbose|--quiet --test --help --version
  +
--altdir <directory> --admindir <directory>
  +
Zunächst sollten man sich einen Überblick über den aktuellen Zustand des Programmes, hier vi, verschaffen:
  +
wasabi:/home/fr# update-alternatives --display vi
  +
vi - status is manual.
  +
link currently points to /usr/bin/vim
  +
/usr/bin/nvi - priority 30
  +
slave vi.1.gz: /usr/share/man/man1/nvi.1.gz
  +
/usr/bin/vim - priority 120
  +
slave vi.1.gz: /usr/share/man/man1/vim.1.gz
  +
Current ‘best’ version is /usr/bin/vim.
  +
Sehr schön zu sehen, es stehen zwei Programm zur Verfügung die dem System als Editor vi dienen können:
  +
nvi und vim. Beide Versionen sind mit unterschiedlich hohen Prioritäten versehen, die höhere Version wird
  +
bevorzugt und in der letzetn Zeile als Empfehlung ausgegeben.
  +
Mit der Option --config können Veränderungen an der aktuellen Einstellung vorgenommen werden. Dies
  +
Auswahl des neuen Wertes erfolgt mit der jeweils vorrangestellten Zahl.
  +
19.4. hdparm
  +
Mit dem Programm hdparm lassen sich Festplattenparameter auslesen und verändern.
  +
Die Syntax zu diesem Befehl lautet:
  +
hdparm - get/set hard disk parameters - version v5.2
  +
Usage: hdparm [options] [device] ..
  +
Options:
  +
-a get/set fs readahead
  +
-A set drive read-lookahead flag (0/1)
  +
-b get/set bus state (0 == off, 1 == on, 2 == tristate)
  +
-B set Advanced Power Management setting (1-255)
  +
-c get/set IDE 32-bit IO setting
  +
-C check IDE power mode status
  +
-d get/set using_dma flag
  +
-D enable/disable drive defect-mgmt
  +
-E set cd-rom drive speed
  +
-f flush buffer cache for device on exit
  +
529
  +
Kapitel 19. Systemadministration
  +
-g display drive geometry
  +
-h display terse usage information
  +
-i display drive identification
  +
-I detailed/current information directly from drive
  +
-Istdin similar to -I, but wants /proc/ide/*/hd?/identify as input
  +
-k get/set keep_settings_over_reset flag (0/1)
  +
-K set drive keep_features_over_reset flag (0/1)
  +
-L set drive doorlock (0/1) (removable harddisks only)
  +
-M get/set acoustic management (0-254, 128: quiet, 254: fast) (EXPERIMENTAL)
  +
-m get/set multiple sector count
  +
-n get/set ignore-write-errors flag (0/1)
  +
-p set PIO mode on IDE interface chipset (0,1,2,3,4,...)
  +
-P set drive prefetch count
  +
-q change next setting quietly
  +
-Q get/set DMA tagged-queuing depth (if supported)
  +
-r get/set readonly flag (DANGEROUS to set)
  +
-R register an IDE interface (DANGEROUS)
  +
-S set standby (spindown) timeout
  +
-t perform device read timings
  +
-T perform cache read timings
  +
-u get/set unmaskirq flag (0/1)
  +
-U un-register an IDE interface (DANGEROUS)
  +
-v defaults; same as -mcudkrag for IDE drives
  +
-V display program version and exit immediately
  +
-w perform device reset (DANGEROUS)
  +
-W set drive write-caching flag (0/1) (DANGEROUS)
  +
-x tristate device for hotswap (0/1) (DANGEROUS)
  +
-X set IDE xfer mode (DANGEROUS)
  +
-y put IDE drive in standby mode
  +
-Y put IDE drive to sleep
  +
-Z disable Seagate auto-powersaving mode
  +
-z re-read partition table
  +
hdparm ist ein Kommandozeilenprogramm um verschiedene Festplattenparameter im Linux Kernel zu
  +
verändern. Dieses Programm benötigt mindestens einen Kernel der Version 1.2.13, dies sollte aber auf einem
  +
aktuellen Debian System kein Problem sein.
  +
19.4.1. Optionen
  +
Wenn keine weiteren Optionen angegeben werden so wird bei einem IDE Device automatisch die Optionen
  +
-acdgkmnru und bei einem SCSI Device die Optionen -gr benutzt.
  +
Im einzelnen bewirken die Optionen folgendes:
  +
• -A Schaltet die „read-lookahead“ Funktion einer IDE Festplatte ein oder aus. Normalerweise ist diese
  +
Funktion aktiviert.
  +
• -c Zeigt den Status oder aktiviert den (E)IDE 32-Bit I/O Support. Die Parameter hier für sind: 0 um den
  +
Support zu deaktivieren, und 1 um den Support zu aktivieren. Der Wert 3 aktivert den 32-Bit Support mit
  +
einer speziellen Sync Sequenz die von einigen Chipsets benötigt wird. Diese Option funktioniert mit fast
  +
allen Chipsets, bringt jedoch etwas mehr Overhead mit sich. Wird kein Parameter angegeben, so wird die
  +
aktuelle Einstellung angezeigt.
  +
• -C Zeigt den aktuellen Power Mode Status einer IDE Festplatte an. Dieser kann folgende Werte annehmen:
  +
„unknown“ - Das Laufwerk unterstützt dieses Kommando nicht. „active“/„idle“ - Normalbetrieb. „standby“ -
  +
Low Power Modus, die Festplatte dreht sich nicht oder „schläft“ sogar komplett. Die -S, -y, -Y und -Z
  +
können zur Veränderung der IDE Power Modes verwendet werden.
  +
• -d Zeigt ob für das genannte Gerät der DMA Modus benutzt wird oder aktiviert/deaktiviert den Modus. Das
  +
Flag „using_dma“ funktioniert nur mit wenigen Kombinationen aus Festplatte und Controllern.
  +
Beispielsweise wird beim Intel Triton Chipset der Bus-Master DMA Modus in verbindung mit vielen
  +
530
  +
Kapitel 19. Systemadministration
  +
Festplatten ünterstützt. Wenn möglich sollte die Option -X34 zusammen mit -d1 benutzt werden um
  +
sicherzustellen das das Laufwerk selber den Multiword DMA Modus 2 unterstützt.
  +
• -f Synchonisieren und speichern des Cache Puffers der Festplatte beim beenden des Programmes. Dieser
  +
Vorgang wird auch bei den Optionen -t und -T durchgeführt.
  +
• -g Zeigt die Plattengeometrie (Zylinder, Köpfe, Sektoren), die Größe (in Sektoren) des Laufwerkes und den
  +
Offset (in Sektoren) des Devices vom Anfang der Platte.
  +
• -h Zeigt die Hilfeinformationen.
  +
• -i Zeigt die Identifikation der Festplatte, welche beim booten ausgelesen wurden, falls diese verfügbar sind.
  +
Diese Funktion wird nur von neueren Festplatten unterstützt. Die Informationen können veraltet sein wenn
  +
das System seit den Start viel beschäftigt war.
  +
• -I Zeigt die aktuelle Identifikation der Festplatte an. Wie die Option -i, die Informationen werden allerdings
  +
neu ausgelesen.
  +
• -k Liest oder setzt das keep_settings_over_reset Flag für das Laufwerk. Wenn diese Option gesetzt
  +
ist, werden die -dmu Optionen über einen (Soft-) Reset hinaus gespeichert.
  +
• -K Setzt das keep_features_over_reset Flag. Das setzen dieser Option rettet die -APSWXZ
  +
Einstellungen über einen (Soft-) Reset hinaus. Diese Option wird nicht von alle Laufwerken unterstützt.
  +
• -m Zeigt den aktuellen Zustand oder setzt den IDE Block Modus. Ein Wert von 0 deaktiviert diese Funktion.
  +
• -p Versucht das IDE Interface Chipset auf den gewünschten PIO Modus zu setzen oder versucht den
  +
bestmöglichen PIO Modus einzustellen.
  +
• -q Diese Option unterdrückt die Ausgabe von Meldungen für die folgenden Optionen. Dies kann eingesetzt
  +
werden wenn hdparm aus einer Datei beim Systemstart heraus aufgerufen wird. Diese Option hat keine
  +
Auswirkungen auf die Optionen -i, -v, -t oder -T.
  +
• -r Liest oder setzt das Read-Only Flag.
  +
• -S Setzt die Standby-Zeit des Gerätes. Nach der eingestellten Zeit in Sekunden fährt die Festplatte in den
  +
Ruhezustand. Ein Wert von 0 schaltet diese Funktion aus.
  +
• -T Führt einen Benchmark mit Lesezugriffen auf den Cache durch. Um sinnvolle Ergebnisse zu bekommen,
  +
sollte ein Test 2-3 mal auf einem System mit möglichste wenig anderen Prozessen durchgeführt werden.
  +
• -t Führt einen Benchmark mit Lesezugriffen auf das Gerät durch. Um sinnvolle Ergebnisse zu bekommen,
  +
sollte ein Test 2-3 mal auf einem System mit möglichste wenig anderen Prozessen durchgeführt werden.
  +
• -u Liest oder setzt das „interrupt-unmask“ Flag. Dies kann auf vielen Systemen die Reaktionszeit des
  +
Systems verbessern, ist aber mit Vorsicht einzusetzen, da nicht alle Chipsets diese Funktion richtig umsetzen
  +
können. Ein Wert von 1 aktiviert diese Funktion.
  +
• -v Zeigt die aktuellen Einstellungen an, mit Ausnahme von -i. Wenn keinerlei Optionen auf der
  +
Kommandozeile angegeben werden wird ebenfalls -v angenommen. Bei einem SCSI Gerät entspricht dies
  +
den Optionen -gr, bei einem IDE Gerät den Optionen -acdgkmnru.
  +
• -W Aktiviert oder deaktiviert bei einem IDE Laufwerk das write-caching Feature. Dies ist Standardmäßig
  +
deaktiviert.
  +
• -X Setzt den IDE Übertragungsmodus bei neueren (E)IDE/ATA2 Laufwerken. Diese Option wird meistens
  +
zusammen mit -d1 benutzt um den DMA Modus von/zu einem Laufwerk mit Chipsets die dies unterstützen
  +
(beispielsweise Intel 430FX Triton) zu aktivieren. Dort können dann auch mit -X34 „multiword DMA
  +
mode2“ Übertragungen aktiviert werden. Die Option -X66 aktiviert UltraDMA Mode2 Übertragungen.
  +
• -y Aktiviert sofort den Energiesparmodus bei einem IDE Laufwerk.
  +
• -Y Aktiviert sofort den Energiesparmodus mit dem geringsten Stromverbrauch bei einem IDE Laufwerk.
  +
• -Z Deaktiviert die Stromsparfunktionen bei einigen Seagate Laufwerken die diese Funktion nur fehlerhaft
  +
implementiert haben.
  +
531
  +
Kapitel 19. Systemadministration
  +
19.4.2. Einbinden von hdparm
  +
Um nun nicht nach jedem Systemstart (als Superuser) das Programm hdparm neu aufrufen zu müssen, ist es
  +
sinnvoll den Aufruf in die Init-Scripte mit aufzunehmen. Im einfachsten Fall reicht es den entsprechenden
  +
Eintrag in der Datei /etc/init.d/bootmisc.sh aufzunehmen.
  +
Eleganter ist es wenn ein eigenes Startscript erstellt wird. Dies kann beispielsweise wie folgt aussehen:
  +
#!/bin/sh
  +
HDPARM=‘which hdparm‘
  +
if [ $UID != 0 ] ; then
  +
exit 0
  +
else
  +
if [ -f ‘which hdparm‘ ] ; then
  +
if [ -f "/etc/hdparm.conf" ] ; then
  +
{ while read dummy
  +
do IN="$dummy"
  +
$HDPARM ‘echo $IN | cut -d : -f 2‘ /dev/‘echo $IN | cut -d : -f 1‘
  +
done
  +
} < /etc/hdparm.conf
  +
else
  +
# no config file: guess params
  +
for i in ‘ls -1 /proc/ide/|grep hd[a-d]‘ ; do
  +
if [ ‘cat /proc/ide/$i/media‘ = "disk" ] ; then
  +
$HDPARM -d1 -c1 -S12 /dev/$i
  +
else
  +
echo; echo "/dev/$i: no disk! media is: ‘cat /proc/ide/$i/media‘"
  +
fi
  +
done
  +
fi
  +
fi
  +
fi
  +
Ohne an dem Script Veränderungen vorzunehmen, wird hdparm mit den Parametern -c1 -d1 -S12
  +
aufgerufen. Dies kann entweder direkt im Script, oder aber besser mittels der Konfigurationsdatei
  +
/etc/hdparm.conf beeinflusst werden:
  +
hda:-c1d1
  +
hdc:-c1d1
  +
Wie hier gezeigt, können die Parameter für jedes Gerät einzeln angegeben werden.
  +
19.5. Systemzeit
  +
(Fast) jeder Rechner verfügt heute über eine eingebaute Uhr, die über eine eingebaute Batterie die Uhrzeit auch
  +
im ausgeschalteten Zustand weiterlaufen läßt, so das immer eine korrekte Systemzeit eingestellt ist. Das
  +
Betriebssystem kümmert sich während der Laufzeit um die richtige Zeit und liest die Zeit einmalig beim
  +
Systemstart aus der Hardware-Uhr aus. Die Zeit des Betriebssystems läßt sich mit dem Kommando date
  +
anzeigen.
  +
bash-2.03$ date
  +
Sat Jan 22 17:54:00 CET 2000
  +
532
  +
Kapitel 19. Systemadministration
  +
Die Uhrzeit, die vom Uhrenchip auf dem Motherboard geliefert wird, ist normalerweise ausreichend genau.
  +
Wenn diese Zeit um mehrere Monate oder Jahre nach dem Einschalten des Rechners abweicht, sollten Sie die
  +
Batterie auf dem Motherboard wechseln (lassen).
  +
Das Kommando date, so wie oben gezeigt, zeigt den Wochentag, den Monat, den Tag, die Uhrzeit, die
  +
Zeitzone sowie das Jahr an.
  +
Ein weiteres Kommando, welches auf die Systemzeit zugreift, ist das Kommando time. Dieses zeigt allerdings
  +
nicht die Zeit an, wie man vielleicht vermuten könnte, sondern dient dazu, die Zeit zu bestimmen, die
  +
bestimmte Komandos zur Ausführung benötigen.
  +
$ time sleep 60
  +
real 1m0.057s
  +
user 0m0.000s
  +
sys 0m0.000s
  +
Wundern Sie sich nicht, dieses Kommando benötigt eine Minute. Das Kommando sleep „schläft“ in diesem
  +
Beispiel 60 Sekunden, time ermittelt diese Zeit... nicht sehr sinnvoll, aber ein Beispiel ;-). Wenn Sie sich
  +
einen neuen Rechner zugelegt haben und Ihre Freunde wissen, daß Sie diesen unter GNU/Linux betreiben,
  +
werden diese vielleicht fragen, wie lange es dauert, einen neuen Kernel zu übersetzen. Sie können diese Zeit
  +
jetzt mit dem Kommando time ermitteln. Natürlich kommt es auch darauf an, welche Treiber Sie in den Kernel
  +
einbinden wollen und welche Kernel-Version Sie übersetzen... doch das ist ein anderes Thema...
  +
19.5.1. date
  +
Um die Systemzeit auf Ihrem Rechner zu korrigieren, können Sie das Kommando als Superuser benutzen. date
  +
hat eine Vielzahl von Optionen, um die Zeit zu stellen, Sie können die gewünschte Zeit in allen nur denkbaren
  +
Formaten angeben. Hier einmal die Übersicht der Optionen:
  +
bash-2.03$ date --help
  +
Usage: date [OPTION]... [+FORMAT]
  +
or: date [OPTION] [MMDDhhmm[[CC]YY][.ss]]
  +
Display the current time in the given FORMAT, or set the system date.
  +
-d, --date=STRING display time described by STRING, not ‘now’
  +
-f, --file=DATEFILE like --date once for each line of DATEFILE
  +
-I, --iso-8601[=TIMESPEC] output an ISO-8601 compliant date/time string.
  +
TIMESPEC=‘date’ (or missing) for date only,
  +
‘hours’, ‘minutes’, or ‘seconds’ for date and
  +
time to the indicated precision.
  +
-r, --reference=FILE display the last modification time of FILE
  +
-R, --rfc-822 output RFC-822 compliant date string
  +
-s, --set=STRING set time described by STRING
  +
-u, --utc, --universal print or set Coordinated Universal Time
  +
--help display this help and exit
  +
--version output version information and exit
  +
FORMAT controls the output. The only valid option for the second form
  +
specifies Coordinated Universal Time. Interpreted sequences are:
  +
%% a literal %
  +
%a locale’s abbreviated weekday name (Sun..Sat)
  +
%A locale’s full weekday name, variable length (Sunday..Saturday)
  +
%b locale’s abbreviated month name (Jan..Dec)
  +
%B locale’s full month name, variable length (January..December)
  +
%c locale’s date and time (Sat Nov 04 12:02:33 EST 1989)
  +
%d day of month (01..31)
  +
%D date (mm/dd/yy)
  +
%e day of month, blank padded ( 1..31)
  +
%h same as %b
  +
533
  +
Kapitel 19. Systemadministration
  +
%H hour (00..23)
  +
%I hour (01..12)
  +
%j day of year (001..366)
  +
%k hour ( 0..23)
  +
%l hour ( 1..12)
  +
%m month (01..12)
  +
%M minute (00..59)
  +
%n a newline
  +
%p locale’s AM or PM
  +
%r time, 12-hour (hh:mm:ss [AP]M)
  +
%s seconds since 00:00:00, Jan 1, 1970 (a GNU extension)
  +
%S second (00..60)
  +
%t a horizontal tab
  +
%T time, 24-hour (hh:mm:ss)
  +
%U week number of year with Sunday as first day of week (00..53)
  +
%V week number of year with Monday as first day of week (01..52)
  +
%w day of week (0..6); 0 represents Sunday
  +
%W week number of year with Monday as first day of week (00..53)
  +
%x locale’s date representation (mm/dd/yy)
  +
%X locale’s time representation (%H:%M:%S)
  +
%y last two digits of year (00..99)
  +
%Y year (1970...)
  +
%z RFC-822 style numeric timezone (-0500) (a nonstandard extension)
  +
%Z time zone (e.g., EDT), or nothing if no time zone is determinable
  +
By default, date pads numeric fields with zeroes. GNU date recognizes
  +
the following modifiers between ‘%’ and a numeric directive.
  +
‘-’ (hyphen) do not pad the field
  +
‘_’ (underscore) pad the field with spaces
  +
Report bugs to <bug-sh-utils@gnu.org>.
  +
In der Praxis werden Sie die Zeit aber nur selten korrigieren müssen, so daß an dieser Stelle ein Beispiel reichen
  +
sollte. Sehen Sie sich nochmal die Hilfe zu date an, in der zweiten Zeile finden Sie folgendes: or: date
  +
[OPTION] [MMDDhhmm[[CC]YY][.ss]]. Die gewünschte Zeit kann im Format MM (Month - Monat), DD
  +
(Day - Tag), hh (Hour - Stunde) und mm (Minute) angegeben werden. Die anderen Werte können Sie
  +
ignorieren, diese werden Sie nur selten gebrauchen. Um die Zeit drei Tage und eine halbe Stunde
  +
zurückzustellen, benutzen Sie folgendes Kommando:
  +
linux:/home# date
  +
Sun Jan 23 10:47:59 CET 2000
  +
linux:/home# date 01201017
  +
Thu Jan 20 10:17:00 CET 2000
  +
19.5.2. rdate
  +
Wenn Sie über einen Internetanschluß verfügen, können Sie dies auch Programmen wie zum Beispiel rdate
  +
überlassen. rdate übernimmt die Zeit von einem Server, der über eine Funkuhr (DCF77-Signal) verfügt, aus
  +
dem Netz.
  +
Sie können dieses Kommando in die Scripte, die Sie zum Aufbau der Internetverbindung benutzen, einbinden.
  +
Wenn Ihr Rechner ständig oder immer zu bestimmten Zeiten mit dem Internet verbunden ist, können Sie rdate
  +
auch über das Programm cron aufrufen, indem Sie es in die crontab des Superusers eintragen. Rufen Sie dazu
  +
das Kommando crontab mit der Option -e (edit - verändern) auf:
  +
bash-2.03$ su
  +
Password:
  +
linux:/home# crontab -e
  +
534
  +
Kapitel 19. Systemadministration
  +
Ergänzen Sie nun die Einträge in dieser Datei um folgende Zeile:
  +
10 01 * * * /usr/sbin/rdate time.fu-berlin.de > /dev/null
  +
Ein solcher Eintrag stellt jede Nacht um zehn Minuten nach eins die Systemzeit nach den Angaben des Servers
  +
time.fu-berlin.de neu. Benutzen Sie bitte einen Server in Ihrer Nähe. Viele Provider bieten einen solchen
  +
Service an, fragen Sie einfach nach.
  +
Wenn Sie keinen geeigneten Server finden können, sollten Sie die Server der Physikalisch-Technischen
  +
Bundesanstalt (PTB) benutzen. Wie Sie vielleicht wissen, wird von der PTB das amtliche Zeitsignal
  +
ausgesendet, welches von DCF-77-Empfängern (Funkuhren) empfangen werden kann. Seit Anfang 2000 stellt
  +
die PTB diesen Dienst auch übers Internet zur Verfügung. Sie können die beiden öffentlichen Zeitserver der
  +
PTB als ptbtime1.ptb.de und ptbtime2.ptb.de erreichen.
  +
Um die vorhin in die Vergangenheit beförderte Systemzeit zu korrigieren, können Sie rdate natürlich auch auf
  +
der Kommandozeile ausführen:
  +
linux:/home# /usr/sbin/rdate time.fu-berlin.de
  +
Sun Jan 23 10:49:22 2000
  +
19.6. Kernel erzeugen
  +
Auf einem Debian GNU/Linux System gibt es grundsätzlich zwei verschiedene Wege einen individuellen
  +
Kernel zu erzeugen. Zunächst ist es natürlich möglich alle Arbeitsschritte auf klassischem Wege „zu Fuß“, wie
  +
auf jedem anderen Linux System, durchzuführen. Die elegantere Methode ist es jedoch ein eigenes Debian
  +
Kernel-Paket zu erzeugen und dieses zu installieren.
  +
Sehen wir uns zunächst die etwas elegantere Debian Methode an, die klassische Methode werden wir später
  +
besprechen.
  +
19.6.1. Debian Kernel (kernel-package)
  +
Das Paket kernel-package unterstützt den Debian GNU/Linux-Systemadministrator bei der Verwaltung von
  +
individuellen Linux-Kerneln auf seinem System.
  +
Sicherlich haben Sie schon die bei Debian GNU/Linux mitgelieferten Kernel-Pakete entdeckt. Diese sind so
  +
konfiguriert, daß diese auf den meisten Systemen funktionsfähig sind. Trotzdem ist es manchmal notwendig,
  +
einen eigenen Kernel zu übersetzen, um neue Hardware einzubinden oder um Hardwarekonflikte zu umgehen.
  +
Sie können hierbei das Paket kernel-package zu Hilfe nehmen. Dieses erzeugt ein Debian-Paket mit einem
  +
individuellen Kernel und allen Modulen für Ihr System.
  +
Zunächst benötigen Sie, neben dem Paket kernel-package, welches Sie schon installieren können, ein Paket
  +
mit dem gewünschten Kernel-Quellcode (Source). Sie finden die Archive unter ftp://ftp.kernel.org oder auf den
  +
Spiegelservern in Deutschland: ftp://ftp.de.kernel.org oder ftp://ftp2.de.kernel.org.
  +
Tip: aktuelle Kernel-Version herausfinden: Wenn Sie sich nicht per FTP durch die Verzeichnisse auf dem
  +
Kernel-Server „wühlen“ möchten um nachzusehen, ob es eine neue Version gibt, können Sie mit dem
  +
Kommando finger @www.kernel.org die aktuelle Kernel-Version ermitteln.
  +
Weiter benötigen Sie einige zusätzliche Pakete, um einen neuen Kernel zu übersetzen, dies sind: gcc,
  +
libc5-dev oder besser (weil aktueller) libc6-dev, binutils, make, gawk oder mawk, gzip, shellutils,
  +
grep sowie bin86 auf der i386-Plattform. Wenn Sie das Kommando make menuconfig zur
  +
Kernel-Konfiguration benutzen möchten, muß das Paket libncurses5-dev installiert sein. Aber sicher haben
  +
Sie einige davon bereits installiert...
  +
535
  +
Kapitel 19. Systemadministration
  +
Wenn die notwendigen Pakete installiert sind, entpacken Sie die Kernel-Quellen, üblicherweise geschieht dies
  +
unter /usr/src/. Die entpackten Quellen befinden sich dann im Verzeichnis /usr/src/linux. Es ist ratsam,
  +
wenn Sie verschiedene Kernelversionen verwalten wollen, diese umzubenennen, beispielsweise in:
  +
kernel-source-2.2.14.
  +
Wählen Sie in jedem Fall ein Verzeichnis auf Ihrer Platte, in dem genug Platz vorhanden ist. Die neuesten
  +
Kernel-Versionen sind in gepackter Form ca. 16,5 MB groß und nehmen im entpackten Zustand ca. 97 MB
  +
sowie ca. 116 MB, wenn alles übersetzt ist, ein. Je entpackter Kernel-Version! Wechseln Sie nun in das
  +
Verzeichnis, in dem die Kernel-Quellcodes liegen.
  +
Der Name eines Debian GNU/Linux-Paketes besteht immer aus dem Basisnamen (hier: kernel-image), der
  +
Versionsnummer des Kernels (zum Beispiel 2.2.14, diese wird aus dem Kernel-Makefile ermittelt) und der
  +
sogenannten Revisionsnummer, diese können Sie individuell vergeben (über die Option --revision, die Sie
  +
dem Programm make-kpkg übergeben können). Sie sollten diese Revisionsnummer eindeutig wählen, um zu
  +
verhindern, daß ein bereits installierter Kernel überschrieben wird. Weiterhin darf das Zeichen „_“ (Unterstrich)
  +
nicht verwendet werden. Alternativ können Sie auch die Umgebungsvariable DEBIAN_REVISION auf den
  +
gewünschten Wert setzen.
  +
Sie sollten die Revisionsnummer bei jedem neuen Kernel erhöhen, das Debian-Paketsystem kann so
  +
automatisch ein Update durchführen. Auch für das Paket kernel-package gibt es natürlich eine
  +
Konfigurationsdatei, diese finden Sie wie üblich im Verzeichnis /etc/ als kernel-pkg.conf. Üblicherweise
  +
sollten Sie dort mindestens Ihren Namen sowie die E-Mail-Adresse angeben, Sie können so immer feststellen,
  +
daß dieses Paket kein Original-Debian-Paket ist. Sie können, wenn nötig, noch weitere Variablen in dieser Datei
  +
benutzen. Momentan werden folgende Optionen unterstützt:
  +
• maintainer: Der „Betreuer“ dieses Kernel-Paketes. Wenn Sie hier ein Apostroph (’) verwenden möchten, so
  +
müssen Sie dieses wie folgt angeben: John O’\\”Brien.
  +
• email: Ihre E-Mail-Adresse
  +
• pgp: Name, der in der PGP-Datenbank gesucht werden soll. Normalerweise wird hier der Maintainer
  +
automatisch eingesetzt, Sie können dies auch mit der Umgebungsvariablen PGP_SIGNATURE überschreiben.
  +
• debian: Revisionsnummer des Paketes, Standardwert ist 1.00. Es kann die Umgebungsvariable
  +
DEBIAN_REVISION benutzt werden.
  +
• image_in_boot: Wenn Sie diese Variable auf TRUE setzen, wird der Kernel im Verzeichnis /boot/ abgelegt
  +
und ein entsprechender symbolischer Link angelegt, anstatt wie sonst üblich den Kernel direkt in das
  +
„root-“Verzeichnis (/) zu kopieren. Dies kann auch über die Umgebungsvariable IMAGE_IN_BOOT gesetzt
  +
werden.
  +
• kimage: Typ des Kernel-Images, zum Beispiel zImage oder bzImage, Standardwert ist bzImage. Dieser
  +
Wert kann über die Umgebungsvariable IMAGE_TYPE gesetzt werden.
  +
• no_symlink: kann nicht zusammen mit reverse_symlink verwendet werden. Sinnvoll kann diese Option im
  +
Zusammenspiel mit image_in_boot verwendet werden. Bei Verwendung der no_symlink Option wird das
  +
Kernel Image immer als Datei vmlinuz abgelegt (und nicht als /boot/vmlinuz-x.x.xx). Ein bereits
  +
existierendes Kernel Image wird in jedem Fall (und nicht nur wenn es sich vom neuen Kernel Image
  +
unterscheidet) in vmlinuz.old umbenannt. Dieses bringt eine Beschränkung auf zwei Kernel Images mit
  +
sich, weitere Versionen müssen dann von Hand eingepflegt werden. Diese Option kann auf Systemen
  +
eingesetzt werden welche keinen symbolischen Links unterstützen, beispielsweise wenn loadlin eingesetzt
  +
wird. Diese Option ist aber eher als Hack zu betrachten...
  +
19.6.2. klassische Kernel
  +
19.6.2.1. Anpassen des Kernels von Hand
  +
In einigen Fällen kann es notwendig sein, den Linux-Kernel an die eigenen Bedürfnisse anzupassen. Debian
  +
GNU/Linux installiert einen Standardkernel, der in den meisten Fällen ausreichend ist. Zusätzliche Treiber
  +
können über Module im laufenden Betrieb hinzugeladen werden.
  +
536
  +
Kapitel 19. Systemadministration
  +
19.6.2.2. Benötigte Programme
  +
Um aus den Kernel-Sourcen einen lauffähigen Kernel zu erzeugen, müssen die Quelltexte mittels eines
  +
passenden Compilers übersetzt werden. Der komplette Linux-Kernel wurde in der Programmiersprache C
  +
geschrieben - mit Ausnahme einiger ganz weniger Zeilen, die aus Geschwindigkeitsgründen in der
  +
Maschinensprache Assembler geschrieben wurden. Übrigens steht unter Linux der gcc (GNU C-Compiler) -
  +
eine freie Implementierung eines C-Compilers - zur Verfügung.
  +
Sie benötigen folgende Pakete, um einen Kernel selber zu erzeugen:
  +
• binutils - der GNU Assembler, Linker und einige Zusatzprogramme.
  +
• libc6-dev - GNU C-Bibliothek, Entwicklerpaket.
  +
• gcc - Der eigentliche GNU (EGCS) C-Compiler.
  +
• make - GNU-Version von "make".
  +
• bin86 - 16-bit Assembler
  +
Nützlich, aber nicht zwingend erforderlich, sind weiterhin folgende Pakete:
  +
• libncurses4-dev - Entwickler-Bibliotheken und Dokumentation für ncurses
  +
• tkstep8.0-dev - NeXTStep ähnlich Version des Tk Toolkits. (oder tk8.0-dev oder tkstep4.2-dev
  +
oder tk4.2-dev)
  +
• kernel-package - Debian Linux-Kernel Paket-Scripte.
  +
19.6.2.3. Entpacken der Sourcen
  +
Möchten Sie einen individuell auf Ihr System angepassten Kernel installieren, so ist es zuerst nötig, die
  +
Kernel-Sourcen (Quellcode) zu installieren. Für den ersten Versuch ist es ratsam, die gleiche Kernelversion zu
  +
installieren, die auch schon vom Installationsprogramm installiert wurde. Der Befehl cat /proc/version
  +
gibt Ihnen die installierte Version aus. Installieren Sie nun (mit dselect, dpkg oder apt) die Sourcen zu
  +
diesem Kernel.
  +
Die Kernel-Sourcen werden vom Installationsprogramm unter /usr/src/ als Datei
  +
kernel-source-2.x.x.tgz abgelegt und müssen noch von Hand entpackt werden. Dies erreichen Sie mit
  +
dem Befehl tar xvfz kernel-source-2.x.x.tgz. Die entpackten Sourcen finden sich nun in dem
  +
Verzeichnis kernel-source-2.x.x/.
  +
Auf den Servern finden sich die aktuellen Archive des Linux Kernels auch in einer mit bzip2 anstatt gzip,
  +
komprimierten Form. Diese Archive sind nochmal ein wenig kleiner, da bzip2 bessere
  +
Kompressionsalgorithmen verwendet. Die so gepackten Archive enden auf .bz2. Diese Archive können
  +
ebenfalls mit tar entpackt werden, hierzu ist aber die Option -j statt -z anzugeben. Bitte beachten Sie: es sind
  +
zwischenzeitlich einige Versionen von tar im Umlauf gewesen bei denen für bzip2 komprimierte Archive die
  +
Option -I zu verwenden ist.
  +
19.6.2.4. Konfiguration des Kernels
  +
Wechseln Sie nun in das Verzeichnis, in dem Sie vorher die Kernel-Sourcen entpackt haben. Mit dem
  +
Kommando make config erzeugen Sie die benötigte Konfigurationsdatei. Sie können hier den Kernel
  +
individuell auf Ihre eigene Hardware anpassen. Bei vielen Optionen haben Sie die Möglichkeit, zwischen fest
  +
im Kernel integrierten Treibern * oder Modulen M zu wählen. Achten Sie darauf, nur die nötigen Treiber fest in
  +
den Kernel einzubinden, da sonst der Kernel zu groß wird und nicht mehr von lilo geladen werden kann. Gute
  +
Kandidaten auf der Liste der Module sind alle Treiber, die nicht zum unmittelbaren Systemstart benötigt werden
  +
(Netzwerk, Bandlaufwerke...).
  +
Neben make config stehen Ihnen alternativ die Befehle make menuconfig mit einer textbasierten
  +
Oberfläche ähnlich wie bei dselect sowie make xconfig unter X11 zur Verfügung. Diese erleichtern kleine
  +
Änderungen am Kernel sehr, da die gewünschten Einstellungen direkt anzuwählen sind.
  +
537
  +
Kapitel 19. Systemadministration
  +
Wenn Sie die Option menuconfig benutzen wollen, muß das Paket libncurses5-dev installiert sein, dieses
  +
stellt die notwendigen Funktionen für die textbasierte Oberfläche zur Verfügung.
  +
19.6.2.5. Übersetzen des Kernels
  +
Nachdem Sie die gewünschten Einstellungen gemacht haben, werden mit dem Befehl make dep die
  +
Abhängigkeiten geprüft. Ein make clean räumt noch übrig gebliebene Dateien von der Platte. Einen neuen
  +
Kernel erzeugen Sie mit dem Befehl: make bzImage. Zum Übersetzen des Kernels müssen neben einem
  +
C-Compiler auch die Pakete bin86 und natürlich make (das haben Sie aber sicher vorher schon bemerkt...)
  +
installiert sein. Nach einiger Zeit (wenn alles ohne Fehlermeldungen über die Bühne gegangen ist) finden Sie
  +
den neuen Kernel unter /usr/src/kernel-source-2.x.x/arch/i386/boot/. Dieser muß nun noch an
  +
die passende Stelle (bei Debian üblicherweise /boot/) kopiert werden. Abschließend ist die Konfiguration von
  +
lilo zu prüfen und ggf. anzupassen.
  +
Statt make bzImage können Sie auch make bzlilo verwenden: dieser Befehl kopiert den Kernel nach
  +
/vmlinuz und benennt vorher den schon vorhandenen Kernel in vmlinuz.old um. Danach wird automatisch
  +
lilo aufgerufen und somit steht der Kernel dann ab dem nächsten Neustart zu Verfügung.
  +
19.6.2.6. Übersetzen der Module
  +
Sie können nun die Treiber, die Sie bei der Konfiguration als Module ausgewählt haben, übersetzen. Dies
  +
geschieht mit dem Befehl make modules. Nach dem Übersetzen der Module, werden diese mit make
  +
modules_install an den richtigen Ort kopiert.
  +
19.6.2.7. Tips
  +
Benutzen Sie das Zeichen „;“ um mehrere Kommandos nacheinander auszuführen. Sie müssen so nicht die
  +
einzelnen Schritte beim Übersetzen eines neuen Kernels abwarten. make dep && make clean && make
  +
bzlilo && make modules && make modules_install erledigt einen kompletten Durchlauf ohne Pause.
  +
Probieren Sie einfach einmal den Kernel mit der Option -s zu übersetzen, also: make -s zImage oder make
  +
-s bzImage. Bei einem so übersetzten Kernel werden lediglich Warnungen und Fehlermeldungen des Kernels
  +
beim Systemstart ausgegeben. Alle Ausgaben der Treiber werden unterdrückt.
  +
Sie können das Übersetzen des Kernels beschleunigen, indem Sie den Parameter -j # einfügen, wobei # für
  +
eine (fast beliebige) Zahl steht. Mit diesem Parameter werden, entsprechend der angegebenen Zahl, mehrere
  +
Prozesse gestartet und Teile des Kernels gleichzeitig übersetzt. Sinnvolle Werte für die Anzahl der Prozesse sind
  +
in erster Linie vom Ausbau des Hauptspeichers (RAM) abhängig. Auf Systemen mit mehreren Prozessoren
  +
wirkt sich dies natürlich auch positiv aus. Bedenken Sie bitte, daß zu hoch gewählte Werte zum Auslagern
  +
(swappen) führen und den Vorgang merklich verlangsamen.
  +
Um festzustellen, welcher Wert sinnvoll ist, benutzen Sie das Kommando: time make -j 10 bzImage und
  +
variieren den Wert für die Anzahl der Prozesse.
  +
Sollten Sie nach dem Übersetzen der Module mit make modules; make modules_install Probleme
  +
haben, diese zu laden, liegt dies wahrscheinlich daran, daß die Datei modules.dep, in der die Abhängigkeiten
  +
(dependencies) beschrieben sind, nicht aktuell ist. Es ist nicht nötig, in dieser Datei irgendetwas von Hand zu
  +
ändern: der Befehl depmod -a 2.2.x erstellt eine aktuelle Datei für Sie, wobei 2.2.x der neuen
  +
Kernelversion entspricht.
  +
Wenn Sie viele verschiedene Kernelversionen auf der Platte halten, kann es vorkommen, daß Fehlermeldungen
  +
in der Form: Warning: /boot/System.map has an incorrect kernel version. erscheinen. Neben
  +
der Möglichkeit, je eine Version der System.map in /boot/ und eine weitere in /usr/src/linux/ zu halten
  +
(was maximal zwei Versionen erlaubt), bietet Debian GNU/Linux sozusagen eine „Komplettlösung“. Das Script
  +
/etc/init.d/sysklogd startet beim Systemstart auch den klogd. Sie können am Anfang dieses Scripts in
  +
der Variablen KLOGD als Parameter -k /boot/System.map-$(uname -r) angeben. So wird je nach
  +
verwendeter Kernelversion eine passende System.map aus /boot/ geladen. Diese müssen Sie nach dem
  +
Übersetzen des Kernels in das Verzeichnis /boot/ kopieren und passend zur Kernelversion benennen. Am
  +
einfachsten können Sie das mit folgendem Kommando erledigen: cp /usr/src/linux/System.map
  +
/boot/System.map-‘uname -r‘.
  +
538
  +
Kapitel 19. Systemadministration
  +
Hier ein kleines Script, welches in /boot/ nach Kerneln sucht und eine passende lilo.conf erstellt, mit dem
  +
neuesten Kernel als Standardkernel.
  +
#!/bin/bash
  +
umask 772
  +
kernel_dir=/boot
  +
# lilo assumes the default image is the first one in lilo.conf, so
  +
# we sort the kernel images backwards, hence the highest-version’d kernel
  +
# will be the default.
  +
images=‘cd $kernel_dir && ls -1 vmlinuz-* \
  +
| egrep "vmlinuz-([0-9]+).([0-9]+).([0-9]+)[^-]*$" \
  +
| sort -rn‘
  +
cp -f /etc/lilo.conf.static /tmp/lilo.conf
  +
# three lines per entry, 3 x 19 images = 57
  +
( for img in $images ; do
  +
label=‘echo $img | sed ’s/vmlinuz/linux/ ; s/-//g ; s/\.//g’‘
  +
echo "image=$kernel_dir/$img"
  +
echo "label=$label"
  +
echo ""
  +
done ) | head -57 >> /tmp/lilo.conf
  +
if /sbin/lilo -C /tmp/lilo.conf ; then
  +
mv -f /etc/lilo.conf /etc/lilo.conf.last
  +
cp -f /tmp/lilo.conf /etc/lilo.conf
  +
echo successfully installed new bootloader.
  +
rm -f /tmp/lilo.conf
  +
exit 0
  +
else
  +
echo eek, lilo barfed
  +
rm -f /tmp/lilo.conf
  +
exit 1
  +
fi
  +
Wenn Sie einen der neuesten Kernel (2.3.x oder 2.4.x) mit Debian GNU/Linux 2.2 verwenden möchten, sollten
  +
Sie folgende Zeile in die Datei /etc/fstab einfügen:
  +
none /var/shm shm defaults 0 0
  +
Ab der Kernel-Version 2.3.51 wurde das „Shared-memory“-Dateisystem eingeführt.
  +
19.6.3. SMP - Linux mit mehreren Prozessoren
  +
Mittlerweile sind Motherboards mit mehreren Prozessoren recht preiswert zu erhalten. Diese werden natürlich
  +
auch von Debian GNU/Linux unterstützt. Die Kernelversion 2.0.x kann bereits mit mehreren Prozessoren
  +
umgehen, im Kernel 2.2.x wurde die Unterstützung wesentlich verbessert. Ein Umstieg ist ratsam, aber nicht
  +
zwingend nötig.
  +
19.6.3.1. Kernel 2.0
  +
Um einen SMP-fähigen 2.0.x Kernel zu erzeugen, muß im Makefile die Zeile: # SMP=1 auskommentiert (also
  +
das erste Zeichen #) entfernt werden. Dies ist unabhängig von der Anzahl der Prozessoren, es wird lediglich die
  +
Fähigkeit mehrere Prozessoren zu nutzen, aktiviert. Linux erkennt die Anzahl der Prozessoren dann
  +
automatisch.
  +
539
  +
Kapitel 19. Systemadministration
  +
19.6.3.2. Kernel 2.2
  +
Mit der Kernelversion 2.2.x wurde die SMP-Funktionalität weiter ausgebaut und es gibt bei der Konfiguration
  +
des Kernels die Option SMP einzuschalten. Sie müssen nichts von Hand ändern. Den Parameter können Sie bei
  +
make config, make menuconfig oder make xconfig aktivieren.
  +
19.7. Kernel Pakete
  +
Die Installation eines neuen Kernels kann nicht nur über den Weg eines selbstcompilierten Kernels aus den
  +
Sourcen erfolgen, bereits übersetzte Kernel werden auch vom Debian Team bereitgestellt. Hierbei kann
  +
zwischen verschiedensten Kerneln, die jeweils für die netsprechenden Prozessoren optimiert sind, gewählt
  +
werden. Für den Kernel in der Version 2.4.5 stehen beispielsweise folgende Pakete zur Auswahl:
  +
fr@surimi:~$ apt-cache search kernel-image-2.4.5
  +
kernel-image-2.4.5-386 - Linux kernel image for version 2.4.5 on 386.
  +
kernel-image-2.4.5-586 - Linux kernel image for version 2.4.5 on 586/K5/5x86/6x86/6x86MX.
  +
kernel-image-2.4.5-586tsc - Linux kernel image for version 2.4.5 on Pentium-Classic.
  +
kernel-image-2.4.5-686 - Linux kernel image for version 2.4.5 on PPro/Celeron/PII/PIII.
  +
kernel-image-2.4.5-686-smp - Linux kernel image 2.4.5 on PPro/Celeron/PII/PIII SMP.
  +
kernel-image-2.4.5-k6 - Linux kernel image for version 2.4.5 on AMD K6/K6-II/K6-III
  +
kernel-image-2.4.5-w4l-jb - Linux kernel binary image for version 2.4.5-w4l-jb.
  +
Je nach vorhandener Hardware ist das entsprechende Paket zu wählen und beispielsweise mit apt-get zu
  +
installieren.
  +
sushi:~# apt-get install kernel-image-2.4.5-686
  +
Reading Package Lists... Done
  +
Building Dependency Tree... Done
  +
The following extra packages will be installed:
  +
ash initrd-tools mkcramfs
  +
The following NEW packages will be installed:
  +
ash initrd-tools kernel-image-2.4.5-686 mkcramfs
  +
0 packages upgraded, 4 newly installed, 0 to remove and 6 not upgraded.
  +
Need to get 7769kB of archives. After unpacking 21.5MB will be used.
  +
Do you want to continue? [Y/n]
  +
Nach erfolgter Installation des Paketes findet sich der eigentliche Kernel (vmlinuz-2.4.5-686-smp), die
  +
passende System.map (System.map-2.4.5-686-smp) sowie die Konfigurationsdatei mit der das
  +
Kernel-Image erzeugt wurde (config-2.4.5-686-smp) im Verzeichnis /boot.
  +
Weiterhin wurden die zum Kernel gehörenden Module unter /lib/modules/2.4.5... installiert.
  +
Je nach verwendetem Bootloader ist nun noch die Konfiguration anzupassen. Die von Debian Projekt zur
  +
Verfügung gestellten Linux Kernel verwenden eine RAM-Disk (initrd) beim Start. Deshalb ist es notwendig
  +
diese auch in der Konfiguration des Bootloaders anzugeben. Für GRUB würde eine solche Konfiguration wie
  +
folgt aussehen
  +
title GNU/Linux 2.4.5 686
  +
root (hd0,8)
  +
kernel /vmlinuz-2.4.5-686 root=/dev/hda1
  +
initrd /initrd-2.4.5-686
  +
540
  +
Kapitel 19. Systemadministration
  +
Wenn auf dem System lilo als Bootloader verwendet wird ist eine entsprechende Zeile in die Konfiguration
  +
aufzunehmen.
  +
19.8. Webbasierte Administration mit Webmin
  +
Viele Administratoren sind der Meinung, daß das Programm der Wahl zur Konfiguration des Systems der Editor
  +
vi ist. Dem soll hier auf keinen Fall widersprochen werden. Vielmehr soll eine Alternative aufgezeigt werden,
  +
die es erlaubt, sich im Dschungel der Konfigurationsdateien etwas besser zurecht zu finden.
  +
Webmin ist ein von Jamie Cameron in Perl geschriebenes Administrations-Werkzeug, welches über Module
  +
erweiterbar ist. Webmin ist mittlerweile in 14 Sprachen übersetzt worden und wird von einigen
  +
Distributionsherstellern bereits mitgeliefert.Webmin ist seit der Debian Version 3.0 Bestandteil der Distribution.
  +
Webmin ist für verschiedene Unix Varianten verfügbar, natürlich auch für GNU/Linux. Neue Funktionen
  +
können leicht über Module hinzugefügt werden, dies wird durch eine gut dokumentierte API erleichtert.
  +
Webmin ist ein in der Unix-Welt einmaliges Werkzeug. Für nahezu jede Funktion des Systems wird eine
  +
einheitliche Benutzeroberfläche geboten, für deren Benutzung lediglich ein Webbrowser benötigt wird. Hierbei
  +
werden keine speziellen Konfigurationsdateien verwendet, alle Änderungen werden in den bisher verwendeten
  +
Konfigurationsdateien gespeichert. Natürlich können weiterhin Änderungen wie bisher mit einem Editor
  +
vorgenommen werden.
  +
19.8.1. Installation
  +
Die Installation erfolgt wie üblich über die vom Debian-Projekt zur Verfügung gestellten Pakete. Neben dem
  +
eigentlichen Basispaket webmin gibt es eine Reihe weiterer Pakete, die sich zum Teil auch im Bereich non-free
  +
finden. Diese sind im einzelnen:
  +
webmin - Web-based administration toolkit
  +
webmin-apache - apache control module for webmin
  +
webmin-bind8 - bind8 control module for webmin
  +
webmin-core - core modules for webmin
  +
webmin-cpan - CPAN module for webmin
  +
webmin-dhcpd - dhcpd control module for webmin
  +
webmin-exports - NFS exports control module for webmin
  +
webmin-fetchmail - fetchmail mail retrieval module for webmin
  +
webmin-grub - grub control module for webmin
  +
webmin-inetd - inetd control module for webmin
  +
webmin-lpadmin - printer control module for webmin
  +
webmin-mysql - mysql-server control module for webmin
  +
webmin-nis - NIS clients/servers control module for webmin
  +
webmin-postfix - postfix control module for webmin
  +
webmin-postgresql - postgresql control module for webmin
  +
webmin-ppp - PPP configuration module for webmin
  +
webmin-quota - disk quota control module for webmin
  +
webmin-raid - raid control module for webmin
  +
webmin-samba - samba control module for webmin
  +
webmin-sendmail - sendmail control module for webmin
  +
webmin-software - software control module for webmin
  +
webmin-squid - squid control module for webmin
  +
webmin-status - server and system status control module for webmin
  +
webmin-wuftpd - wu-ftpd control module for webmin
  +
webmin-xinetd - xinetd control module for webmin
  +
webmin-ssl - Web-based administration toolkit
  +
Alle Module können beispielsweise mit apt-get installiert werden. Minimal sollten die Pakete webmin und
  +
webmin-status sowie die Module für die auf dem Zielsystem verwendeten Dienste installiert werden.
  +
541
  +
Kapitel 19. Systemadministration
  +
Während der Installation des Basispaketes von Webmin wird der Benutzer „root“ angelegt, das Passwort wird
  +
aus der Datei /etc/shadow kopiert. Bitte beachten Sie, daß Übertragungen über das Protokoll HTTP
  +
unverschlüsselt erfolgen. Webmin kann auch über HTTPS mitttels einer verschlüsselten Kommunikation
  +
angesprochen werden. Hierzu ist das Paket webmin-ssl zu installieren.
  +
19.8.2. Zugriff auf Webmin
  +
Der Zugriff auf Webmin erfolgt über einen beliebigen Webbrowser von einem Rechner aus, der über das
  +
Netzwerk Zugriff auf das zu administrierende System hat. Zusätzlich zu dem Rechnernamen ist der Port, auf
  +
dem Webmin läuft (10000), anzugeben. Wenn beispielsweise der Rechner webmin.openoffice.de
  +
administriert werden soll, so ist als URL anzugeben: http://webmin.openoffice.de:10000/. Wenn Sie
  +
Webmin auf einem System mit grafischer Benutzeroberfläche einsetzen, so kann die Administration natürlich
  +
auch lokal erfolgen, die URL lautet dann http://localhost:10000/. Wenn auf dem System nur eine verschlüsselte
  +
Kommunikation möglich ist, so ist http durch https zu ersetzen.
  +
Nach erfolgreicher Anmeldung (als Benutzer „root“ mit dem entsprechenden Passwort) gelangt man zur
  +
Startseite von Webmin.
  +
Webmin unterteilt die verschiedenen Module in sogenannte Kategorien. Jede Kategorie wird durch einen
  +
„Reiter“ wie bei einer Karteikarte dargestellt. Beachten Sie, daß jede dieser Kategorien eigene, spezielle
  +
Funktionen darstellt. Beispielsweise können mit „Webmin Users“ aus der Kategorie „Webmin“ keine Benutzer
  +
für das darunterliegende GNU/Linux System angelegt werden, diese Funktion dient dazu Webmin Benutzer
  +
einzurichten.
  +
Bevor wir detailliert auf die einzelnen Module eingehen, verändern Sie bitte die Konfiguration so daß Webmin
  +
Ihnen eine deutschsprachige Oberfläche bietet. Somit sollten Sie die gleiche Konfiguration vorfinden, wie hier
  +
beschrieben. Sie finden die Einstellung in der Kategorie „Webmin“ unter „Webmin Configuration“, „Language“.
  +
Abbildung 19-2. Webmin - Spracheinstellung
  +
19.8.3. Kategorie Webmin
  +
Diese Kategorie dient zur generellen Konfiguration von Webmin. Webmin kann unterschiedlichen Benutzer
  +
administrativen Zugriff auf das System gewähren. Speziell unter „Webmin Konfiguration“ finden sich sher viele
  +
Einstellungsmöglichkeiten.Weiterhin ist ein Einblick in die Logfiles vonWebmin über diese Kategorie möglich.
  +
542
  +
Kapitel 19. Systemadministration
  +
Abbildung 19-3. KategorieWebmin
  +
19.8.3.1. Webmin Actions Log
  +
Im Actions Log werden alle Änderungen die über Webmin vorgenommen werden verzeichnet. Die
  +
Konfiguration kann für jedes Modul oder für individuelle Benutzer in der Webmin Konfiguration vorgenommen
  +
werden. Über diesen Eintrag können Ereignisse im Webmin Log gesucht werden.
  +
Abbildung 19-4. KategorieWebmin - Actions Log
  +
543
  +
Kapitel 19. Systemadministration
  +
19.8.3.2. Webmin Benutzer
  +
Während der Installation von Webmin wurde bereits der Benutzer „root“ angelegt, das Passwort wurde aus der
  +
Datei /etc/shadow übernommen. Hier können nun für diesen Benutzer die Zugriffe auf die einzelnen Module
  +
festgelegt werden und neue Benutzer hinzugefügt oder gelöscht werden. Weiterhin ist es hier möglich
  +
Benutzergruppen zu definieren und Benutzer, die auf dem darunterliegendem System eingetragen sind, in die
  +
Webmin-Konfiguration zu übernehmen.
  +
Abbildung 19-5. KategorieWebmin - Benutzer
  +
19.8.3.3. Webmin Konfiguration
  +
Hier finden sich verschiedene Einstellungen zur Netzwerkkonfiguration von Webmin. Es können
  +
Zugriffsbeschränkungen von bestimmten Rechnern aus vergeben werden, bei mehreren Netzwerkkarten kann
  +
544
  +
Kapitel 19. Systemadministration
  +
der Zugriff auf bestimmte Interfaces beschränkt werden. Es können Module gelöscht oder hinzugefügt werden,
  +
(dies sollte allerdings besser über die Paketverwaltung von Debian erfolgen) und die Sprache kann hier gewählt
  +
werden.
  +
Abbildung 19-6. KategorieWebmin - Konfiguration
  +
19.8.3.3.1. Webmin Konfiguration - IP-Zugriffskontrolle
  +
Der Webmin-Server kann mit diesem Formular konfiguriert werden, um Anfragen von bestimmten IPs
  +
abzuweisen oder nur bestimmte IPs zuzulassen. Host-Namen (wie foo.bar.de) und IP-Netzwerke (wie
  +
10.254.3.0 oder 10.254.1.0/255.255.255.128) können auch angegeben werden. Sie sollten den Zugriff auf Ihren
  +
Server auf vertraute Adressen beschränken, besonders, wenn der Server im Internet verfügbar ist. Anderenfalls
  +
hat jeder, der Ihr Passwort errät, vollständige Kontrolle über Ihr System.
  +
545
  +
Kapitel 19. Systemadministration
  +
Abbildung 19-7. KategorieWebmin - Konfiguration - IP-Zugriffskontrolle
  +
19.8.3.3.2. Webmin Konfiguration - Anschluss und Adresse
  +
Wenn der Host, auf dem Webmin läuft, mehrere IP-Adressen hat, kann der Server so konfiguriert werden, dass
  +
er nur eine davon abhört. Der TCP-Anschluss, den Webmin abhört, kann hier auch konfiguriert werden.
  +
Beachten Sie: Ihr Webbrowser kann Sie erneut auffordern, sich anzumelden, wenn Sie Anschluss oder Adresse
  +
geändert haben.
  +
Abbildung 19-8. KategorieWebmin - Konfiguration - Anschluss und Adresse
  +
546
  +
Kapitel 19. Systemadministration
  +
19.8.3.3.3. Webmin Konfiguration - Protokollierung
  +
Webmin kann so konfiguriert werden, dass er eine Protokolldatei für Seitenanfragen im
  +
Standard-CLF-Protokolldateiformat schreibt. Wenn Protokollierung aktiviert ist, können Sie wählen, ob
  +
IP-Adressen oder Host-Namen aufgezeichnet werden sollen und wie oft die Protokolldatei gelöscht werden soll.
  +
Wenn Protokollierung aktiviert ist, schreibt Webmin das Protokoll in /var/log/webmin/miniserv.log.
  +
Wenn das Logging aktiviert ist, schreibt Webmin ausserdem detailierte Informationen zu den
  +
Benutzeraktivitäten in die Datei /var/log/webmin.log. Diese Logdatei kann mit dem Webmin Actions Log
  +
Modul ausgewertet werden.
  +
Abbildung 19-9. KategorieWebmin - Konfiguration - Protokollierung
  +
19.8.3.3.4. Webmin Konfiguration - Proxyserver
  +
Wenn der Host, auf dem Webmin läuft, sich hinter einer Firewall befindet, kann es sein, dass Sie Proxyserver
  +
zum Zugriff auf Web- und FTP-Seiten verwenden müssen. Einige Module, wie zum Beispiel das „Modul
  +
Software Pakete“, werden diese Proxies benutzen, wenn Sie Dateien oder Programme herunterladen.
  +
547
  +
Kapitel 19. Systemadministration
  +
Abbildung 19-10. KategorieWebmin - Konfiguration - Proxyserver
  +
19.8.3.3.5. Webmin Konfiguration - Benutzerschnittstelle
  +
In diesem Formular können Sie die Optionen für die Benutzerschnittstelle bearbeiten, die von allen Modulen
  +
verwendet werden sollen. Jede Farbe wird mit dem RGB-System definiert, wobei jeder Wert eine hexadezimale
  +
Zahl zwischen 00 und ff ist.
  +
Abbildung 19-11. KategorieWebmin - Konfiguration - Benutzerschnittstelle
  +
548
  +
Kapitel 19. Systemadministration
  +
19.8.3.3.6. Webmin Konfiguration - Webmin-Module
  +
Webmin-Module können nach der Installation durch Benutzen des Formulars rechts hinzugefügt werden.
  +
Module werden typischerweise als .wbm -Dateien vertrieben. Jede dieser Dateien kann ein oder mehrere
  +
Module enthalten. Module können auch von RPM-Dateien installiert werden, wenn dies von Ihrem
  +
Betriebssystem unterstützt wird.
  +
Wenn Sie mehr als eine Kopie desselben Moduls mit unterschiedlichen Konfigurationen benutzen wollen, dann
  +
können Sie mit dem Formular „Module klonen“ ein existierendes Modul klonen. Der Klon wird einen neuen
  +
Namen, eine neue Modulkonfiguration und neue Zugriffskontrollen haben und kann für andere Benutzer
  +
verfügbar gemacht werden.
  +
Existierende Module und Klone können mit dem Formular „Module löschen“ gelöscht werden. Wenn ein
  +
Modul mit Klonen gelöscht wird, werden die Klone ebenfalls entfernt. Wenn ein Modul entfernt wurde, muss es
  +
erst neu installiert werden, bevor Sie es wieder benutzen können. Ein Modul kann nicht gelöscht werden, wenn
  +
andere Module davon abhängen.
  +
549
  +
Kapitel 19. Systemadministration
  +
Abbildung 19-12. KategorieWebmin - Konfiguration - Module
  +
19.8.3.3.7. Webmin Konfiguration - Betriebssystem
  +
In diesem Formular können Sie das Betriebssystem ändern, als das Webmin Ihr System behandelt. Dies kann
  +
nützlich sein, wenn Sie Ihr Betriebssystem zu einer neueren Version aktualisiert haben. Beachten Sie, dass die
  +
Konfiguration bereits installierter Module nicht geändert wird, selbst wenn es Unterschiede zwischen dem alten
  +
und dem neuen System gibt.
  +
Sie können ebenso den Suchpfad, der von Webmin beim Ausführen von Programmen benutzt wird, und den
  +
Pfad der freigegebenen Bibliotheken, der an Programme übergeben wird, ändern.
  +
550
  +
Kapitel 19. Systemadministration
  +
Abbildung 19-13. KategorieWebmin - Konfiguration - Betriebssystem
  +
19.8.3.3.8. Webmin Konfiguration - Sprache
  +
Auf dieser Seite können Sie die Sprache wählen, in der Webmin Titel, Eingabeaufforderungen und Nachrichten
  +
anzeigen wird. Module, für die noch keine Übersetzung in die gewünschte Sprache existiert, werden in
  +
englischer Sprache angezeigt.
  +
Abbildung 19-14.Webmin - Spracheinstellung
  +
551
  +
Kapitel 19. Systemadministration
  +
19.8.3.3.9. Webmin Konfiguration - Indexseitenoptionen
  +
Auf dieser Seite können Sie definieren, wieviele Symbole pro Reihe auf der Indexseite angezeigt werden sollen.
  +
Weiterhin können Module in Kategorien angezeigt werden, und es kann eine „Default“-Kategorie gewählt
  +
werden. Wenn ein Benutzer lediglich auf ein Modul Zugriff hat, so kann dieses automatisch angezeigt werden.
  +
Abbildung 19-15.Webmin - Indexseitenoptionen
  +
19.8.3.3.10. Webmin Konfiguration - Webmin aktualisieren
  +
Dieses Formular erlaubt Ihnen, Ihre gesamte Webmin-Installation zu einer neuen Version zu aktualisieren. Sie
  +
können einfach aus einer lokalen Datei, aus einer hochgeladenen Datei oder einfach von der letzten Version von
  +
www.webmin.com installieren. Wie bei einer manuellen Aktualisierung werden alle Einstellungen und Module
  +
Dritter behalten.
  +
Im Interesse eines konsistenten Systems sollten Sie auf einem Debian GNU System allerdings die Installation
  +
und die Updates für Webmin über das Debian GNU Paketsystem vornehmen.
  +
552
  +
Kapitel 19. Systemadministration
  +
Abbildung 19-16.Webmin - Webmin aktualisieren
  +
19.8.3.3.11. Webmin Konfiguration - Authentication
  +
Wenn die Option („Enable password timeouts“)aktiviert wird, wird bei jedem fehlgeschlagenen Loginversuch
  +
die Zeit bis zum nächsten Loginversuch erhöht. Dies erschwert sogenannte „Brute-Force“ Angriffe auf das
  +
System.
  +
Wenn die Option „Enable session authentication“ aktiviert wird, wird jeder Benutzerlogin beobachtet und Sie
  +
haben die Möglichkeit einen Benutzer nach einer bestimmten Zeit der Inaktivität automatisch auszuloggen.
  +
553
  +
Kapitel 19. Systemadministration
  +
Abbildung 19-17.Webmin - Authentication
  +
19.8.3.3.12. Webmin Konfiguration - Reassign Modules
  +
Hier kann beeinflusst werden welches Modul in welchem Bereich der Webmin-Oberfläche angezeigt werden
  +
soll.
  +
554
  +
Kapitel 19. Systemadministration
  +
Abbildung 19-18.Webmin - Reassign Modules
  +
19.8.3.3.13. Webmin Konfiguration - Edit Categories
  +
Hier können bestehenden Kategorien umbenannt oder neue Kategorien hinzugefügt werden.
  +
555
  +
Kapitel 19. Systemadministration
  +
Abbildung 19-19.Webmin - Edit Categories
  +
19.8.3.3.14. Webmin Konfiguration - Webmin Themes
  +
Im oberen Bereich kann zunächst das aktive Theme ausgewält werden. Im unteren Bereich können neue
  +
Themes installiert werden.
  +
Abbildung 19-20.Webmin - Webmin Themes
  +
556
  +
Kapitel 19. Systemadministration
  +
19.8.3.3.15. Webmin Konfiguration - Trusted Referers
  +
Hier können vertrauenswürdige Websites definiert werden von denen aus der Zugriff auf Webmin erlaubt
  +
werden soll.
  +
Abbildung 19-21.Webmin - Trusted Referers
  +
19.8.3.4. Webmin Server Index
  +
Hier können entfernte Server im Netz administriert werden. Der Eintrag eines neuen Servers kann von Hand
  +
erfolgen, oder es kann ein Broadcast Request für das gesammte Netz durchgeführt werden. Die Suche kann aber
  +
auch gezielt nach Subnetzen erfolgen.
  +
557
  +
Kapitel 19. Systemadministration
  +
Abbildung 19-22. KategorieWebmin - Servers
  +
19.8.4. Kategorie System
  +
In dieser Kategorie finden Sie Konfigurationsmöglichkeiten die das System betreffen. Die sind beispielsweise
  +
die Benutzer- und Gruppenverwaltung, die verwendeten lokalen und über das Netzwerk gemounteten
  +
Dateisysteme und die Verwaltung des Init-Vorgangs. Interessant ist auch der Link ganz unten rechts auf der
  +
Seite. Über diesen Link kann der Benutzer gewechselt werden, dies ist sonst bei Authentifizierungen übers Web
  +
nur durch einen Neustart des Browsers zu erreichen.
  +
Abbildung 19-23. KategorieWebmin - System
  +
558
  +
Kapitel 19. Systemadministration
  +
19.8.4.1. Benutzer und Gruppen
  +
Diese Administrationsseite ist in drei Bereich geteilt: „Lokale Benutzer“ (dies sind die Benutzer des Systems
  +
sowie einige spezielle Benutzer die von bestimmten Diensten benötigt werden), „Lokale Gruppen“ (Gruppen
  +
für Benutzer und Systemdienste) sowie „Zeige Anmeldungen für“ (hier können Logins angezeigt werden).
  +
Abbildung 19-24. KategorieWebmin - System - Benutzer und Gruppen
  +
In den Bereichen „Lokale Benutzer“ und „Lokale Gruppen“ kann durch einen Mausklick auf einen Benutzer,
  +
bzw. eine Gruppe, dieser verändert werden.
  +
559
  +
Kapitel 19. Systemadministration
  +
Abbildung 19-25. KategorieWebmin - System - Benutzer und Gruppen - ändern
  +
Hinter dem Link „Neuen Benutzer erstellen“ findet sich eine ähnlich Administrationsoberfläche, allerdings ohne
  +
vorgegebene Werte.
  +
Mittels „Create, modify and delete users from batch file“ können Benutzer mittels der Daten aus einer Datei
  +
hinzugefügt, verändert oder auch gelöscht werden. Hierbei können die verschiedensten Aktionen, beispielsweise
  +
das setzen entsprechender Zugriffsrechte oder auch das kopieren von Voreinstellungen, durchgeführt werden.
  +
560
  +
Kapitel 19. Systemadministration
  +
Abbildung 19-26. KategorieWebmin - System - Benutzer und Gruppen - Batch
  +
Über die Schaltfläche „Zeige Anmeldungen für“ können Logins auf dem Rechner mit Datum und Uhrzeit
  +
angezeigt werden.
  +
Abbildung 19-27. KategorieWebmin - System - Benutzer und Gruppen - Anmeldungen
  +
561
  +
Kapitel 19. Systemadministration
  +
19.8.4.2. Change Passwords
  +
Hier können die Passwörter für die Benutzer auf dem System verändert werden. Zunächst ist ein Benutzer
  +
auszuwählen, danach ist das neue Passwort zweimal einzugeben.
  +
Abbildung 19-28. KategorieWebmin - System - Passwörter ändern
  +
19.8.4.3. Geplante Cron-Jobs
  +
Die Administration der Cron-Jobs für die einzelnen Benutzer kann über diese Seite erfolgen. Der obere Bereich
  +
dieser Seite zeigt die Benutzer für die bereits Cron-Jobs definiert wurden. Durch einen Mausklick auf einen
  +
dieser Cron-Jobs kann dieser verändert werden. Unterhalb der Tabelle können auch neue Cron.Jobs definiert
  +
werden (über „Neuer geplanter Cron-Job erstellt“).
  +
562
  +
Kapitel 19. Systemadministration
  +
Abbildung 19-29. KategorieWebmin - System - Cron-Jobs
  +
Über den Link „Benutzerzugriff auf Cron-Jobs kontrollieren“ können Cron-Jobs beschränkt werden. Es kann
  +
einzelnen Benutzern der Zugriff erlaubt oder verboten werden. Normalerweise ist die Benutzung von Cron allen
  +
Benutzern gestattet.
  +
19.8.4.4. Laufende Prozesse
  +
Hier werden zunächst die aktuell laufenden Prozesse in einer Tabelle angezeigt. Über das Menü am oberen
  +
Bildschirmrand können weitere Angagen wie PID, Benutzer, Speicher und CPU angezeigt werden. Desweiteren
  +
kann hier nach Prozessen gesucht werden (Link „Suchen“).
  +
563
  +
Kapitel 19. Systemadministration
  +
Abbildung 19-30. KategorieWebmin - System - Laufende Prozesse
  +
Durch einen Mausklick auf die Prozessid gelangt man zu weiteren Informationen zu diesem Prozess. Hier
  +
finden sich Angaben zu Laufzeit, CPU- und Speicherauslastung usw.. Weiterhin kann hier dem Prozess ein
  +
Signal (beispielsweise KILL oder HUP) gesendet werden. Sollte dieser Prozess weitere Unterprozesse haben,
  +
so sind diese über eine Link erreichbar.
  +
Abbildung 19-31. KategorieWebmin - System - Prozessinformationen
  +
564
  +
Kapitel 19. Systemadministration
  +
19.8.4.5. NFS-Exporte
  +
An dieser Stelle können Verzeichnisse die per NFS exportiert wurden verändert, oder neue Verzeichnisse zum
  +
Export freigegeben werden.
  +
Abbildung 19-32. KategorieWebmin - System - NFS-Exporte
  +
19.8.4.6. PAM-Authentification
  +
Hier können Einstellungen zu PAM in Bezug auf die einzelnen Anwendungen des Systems (beispielsweise
  +
GDM oder Samba) vorgenommen werden, durch einen Mausklick auf einen Anwendungsnamen lassen sich für
  +
diese Anwendung die gewünschten Anpassungen vornehmen.
  +
Abbildung 19-33. KategorieWebmin - System - PAM-Authentification
  +
Hier können, am Beispiel der PAM Module für GDM, die einzelnen Module angepasst und verändert werden.
  +
565
  +
Kapitel 19. Systemadministration
  +
Abbildung 19-34. KategorieWebmin - System - Edit PAM Service
  +
19.8.5. Kategorie Server
  +
Hier finden sich die verschiedenen Einträge für die installierten Server auf dem System. Je nach Anzahl, der auf
  +
Ihrem System installierten Dienste, können hier unterschiedlich viele Server aufgeführt sein.
  +
566
  +
Kapitel 19. Systemadministration
  +
Abbildung 19-35. Kategorie Server
  +
19.8.5.1. Apache Webserver
  +
Die Konfiguration des Apache Webservers ist in verschiedene Bereiche aufgeteilt, die entsprechende Abschnitte
  +
in der/den Konfigurationsdatei/en darstellen. Die Startseite dieser Serverkonfiguration gliedert sich in die
  +
Globale Konfiguration, in der Einstellungen zu den Systemresourcen, zu den Adressen, Modulen usw. gemacht
  +
werden können und in die Konfiguration der virtuellen Server. Mit virtuellen Servern können mehrere Server
  +
unter eine IP-Nummer betrieben werden.
  +
567
  +
Kapitel 19. Systemadministration
  +
Abbildung 19-36. Kategorie Server - Apache
  +
19.8.5.1.1. Apache Webserver - Prozesse und Grenzwerte
  +
Auf dieser Seite können Einstellungen zu den Grenzwerten von Apache vorgenommen werden. Normalerweise
  +
sind alle Werte sinnvoll eingestellt, es kann jedoch auf Systemen mit wenig Speicher oder mit sehr vielen
  +
Zugriffen sinnvoll sein, die Voreinstellungen zu verändern.
  +
568
  +
Kapitel 19. Systemadministration
  +
Abbildung 19-37. Kategorie Server - Apache - Prozesse und Grenzwerte
  +
• Maximum headers in request - Verändert den Wert LimitRequestFields in der Konfiguration.
  +
• Maximum request header size - Beschreibt die maximale Größe des Headers. Hiermit wird der Eintrag
  +
LimitRequestFieldsize verändert.
  +
• Maximum request line size - Die maximale Länge einer HTTP-Request Zeile. Dieser Wert sollte ausreichen
  +
bemessen werden, so daß jede Seite auf dem Server (auch beispielsweise Datenbankabfragen) erreicht
  +
werden kann. Hiermit wird der Wert LimitRequestLine verändert.
  +
• Maximum concurrent requests - Die maximal erlaubte Anzahl von gleichzeitigen Anfragen. Jede Anfrage
  +
veranlasst den Apache dazu, einen neuen Prozess zu starten. Diese maximale Grenze beschränkt die Anzahl
  +
der Apache Prozesse. Dieses Feld beeinflußt die Variable MaxClients. Um den Wert auf über 256 erhöhen
  +
zu können, muß in der Datei httpd.h der Apache Quellen die Variable HARD_SERVER_LIMIT angepasst
  +
werden, und der Server muß neu compiliert werden.
  +
• Maximum requests per server process - Maximale Anzahl von Anfragen je Serverprozess bevor dieser
  +
beendet und neugestartet wird. Dies ist aus mehreren Gründen sinnvoll: einmal werden so Speicherlöcher, die
  +
bei der Benutzung des Servers über einen längeren Zeitraum dazu führen würden, daß der gesamte
  +
Hauptspeicher verbraucht wird, umgangen. Weiterhin würde ohne diese Option immer die maximale Zahl
  +
von Prozessen, die bisher benutzt wurden, im Speicher gehalten werden. Dies beeinflußt die Option
  +
MaxRequestsPerChild.
  +
• Maximum spare server processes - Beschreibt die maximale Anzahl von unbenutzten Servern, die „auf
  +
Vorrat“ bereitgehalten werden. Somit können neue Anfragen sofort von bereits im Speicher gehaltenen
  +
Prozessen bearbeitet werden, ohne das ein neuer Prozess von der Festplatte geladen werden muß. Hiermit
  +
wird die Option MaxSpareServers verändert.
  +
• Minimum spare server processes - Dies entspricht der minimalen Anzahl der vorgehaltenen Server, der Wert
  +
wird in MinSpareServers gehalten.
  +
• Initial server processes - Die Anzahl der Serverprozesse, die beim Start des Daemons aufgerufen werden.
  +
Variable in der Konfigurationsdatei: StartServers.
  +
569
  +
Kapitel 19. Systemadministration
  +
• Display extended status information - Zeigt erweiterte Status-Informationen an. Verändert die Variable
  +
ExtendedStatus.
  +
19.8.5.1.2. Apache Webserver - Netzwerk und Adressen
  +
In diesem Abschnitt werden die Netzwerkadressen und Ports definiert auf denen der Apache Webserver laufen
  +
soll. Weiterhin können Zugriffsrechte, Timeouts usw. definiert werden.
  +
Abbildung 19-38. Kategorie Server - Apache - Netzwerk und Adressen
  +
• Listen on addresses and ports - Diese Option beschreibt die Adressen und Ports, auf denen der Apache
  +
Webserver wacht und Anfragen entgegennimmt. Vorgabe ist der Port 80, es werden Anfragen auf allen
  +
IP-Adressen angenommen. Diese Einstellungen sollten für die meisten Anwendungen ausreichend sein. Es
  +
können verschiedene Apache-Instanzen auf einem System mit unterschiedlichen Konfigurationen und auf
  +
verschiedenen Adressen oder auch Ports laufen. Die Einstellungen in diesen Feldern verändern die Werte
  +
Listen und Port in der Apache Konfiguration.
  +
• Multiple requests per connection - Wenn die Option KeepAlive aktiviert ist, so kann hier die maximale
  +
Anzahl von Client-Anfragen eingestellt werden. Dies verändert die Option MaxKeepAliveRequests.
  +
• Keep-alive timeout - Zeit in Sekunden, die der Apache Webserver nach einer begonnenen Anfrage wartet, bis
  +
die Verbindung geschlossen wird. Der Wert wird im Parameter KeepAliveTimeout gespeichert.
  +
• Listen queue lenght - Die maximale Länge noch wartender Anfragen, die in der Queue hängen. Dieser Wert
  +
kann verkleinert werden, falls der Server Opfer eines TCP SYN Flood Angriffes wird. Dies verändert die
  +
Variable ListenBacklog.
  +
570
  +
Kapitel 19. Systemadministration
  +
• Adress for name virtual servers - Hier können die Adressen der virtuellen Server eingetragen werden.
  +
Virtuelle Server basieren auf Namen. Dies bedeutet, daß verschiedene Rechnernamen oder Domainnamen auf
  +
einem System betrieben werden können. Beachten Sie, daß hierzu auch Anpassungen im Nameserver (DNS)
  +
notwendig sind. Die verändert die Option NameVirtualHost in der Apache Konfiguration.
  +
• TCP send buffer size - Dies verändert die Option SendBufferSize. Diese setzt die Größe des Sendepuffers
  +
für TCP Pakete. Dieser Wert sollte nicht verändert werden.
  +
• Request timeout - Zeit in Sekunden, die der Server auf eine Anfrage wartet, nachdem die Verbindung
  +
hergestellt wurde. Parameter in der Konfiguration: TimeOut.
  +
19.8.5.1.3. Apache Webserver - Apache-Module
  +
Der Apache Webserver wurde modular ausgelegt um so die Funktionalität des Basisservers erweitern zu
  +
können. Dies hält den Basisserver klein und nur die tatsächlich benötigten Funktionen können als Modul
  +
hinzugeladen werden. Mit diesem Konfigurationsabschnitt können die benötigten Module festgelegt werden.
  +
Abbildung 19-39. Kategorie Server - Apache - Apache-Module
  +
Das erste Modul, mod_so, stellt die grundsätzliche Funktionalität, weitere Module zur Laufzeit des Servers
  +
hinzuzuladen, bereit. Alle weiteren hier aufgeführten Module sind von der jeweiligen Installation auf dem
  +
System abhängig. Beispielsweise ist das Modul mod_php4 nur verfügbar wenn auch das entsprechende PHP4
  +
Paket installiert ist.
  +
Informationen zu den einzelnen Modulen finden sich in der Dokumentation des Apache Webservers.
  +
19.8.5.1.4. Apache Webserver - MIME-Typen
  +
MIME Types beschreiben die notwendigen Methoden, wie ein Webserver und die auf diesen zugreifenden
  +
Clients auf die verschiedenen Dateitypen, die vom Server geliefert werden, zugreifen können. In den meisten
  +
Fällen sind diese Informationen für die Clients wichtiger, da diese tatsächlich wissen müssen was mit den Daten
  +
571
  +
Kapitel 19. Systemadministration
  +
zu geschehen hat, während der Server selbst lediglich für die Auslieferung der Daten, und eben der MIME
  +
Informationen, zuständig ist. MIME oder „Multipurpose Internet Mail Extensions“ wurde ursprünglich
  +
erschaffen, um zu beschreiben wie E-Mails erweitert werden können, so daß auch andere Dateiformate als
  +
ASCII Texte versendet werden können. Mittlerweile hat sich MIME aber als allgemeiner Standard über die
  +
ursprüngliche Verwendung im Zusammenhang mit E-Mails hinaus etabliert.
  +
In diesem Abschnitt der Konfiguration können die bekannten MIME Types verändert werden. Am Ende der
  +
Seite können neue MIME Types hinzugefügt werden.
  +
Abbildung 19-40. Kategorie Server - Apache - MIME-Typen
  +
Weitere Informationen zu MIME Types finden sich auf der Seite von Earl Hood. Dort finden sich Links zu den
  +
relevanten RFCs und auch zur MIME FAQ. http://www.oac.uci.edu/indiv/ehood/MIME/MIME.html und
  +
http://www.faqs.org/faqs/mail/mime-faq/mime0/.
  +
19.8.5.1.5. Apache Webserver - Verschiedenes
  +
Unter diesem Punkt finden sich, wie die Überschrift schon sagt, Einstellungsmöglichkeiten zu verschiedenen
  +
Funktionen. Die Seite bietet eine große Anzahl von Optionen, von denen im täglichen Gebrauch nur einige
  +
wenige von Bedeutung sind.
  +
572
  +
Kapitel 19. Systemadministration
  +
Abbildung 19-41. Kategorie Server - Apache - Verschiedenes
  +
• Core dump directory - Dies beschreibt das Verzeichnis, in dem der Apache Webserver bei einem Absturz die
  +
Core Dump Datei schreiben soll. Normalerweise werden diese Dateien in das Server-Root Verzeichnis
  +
geschrieben. Normalerweise hat der Server aber in diesem Verzeichnis keinen Schreibzugriff, es sollte hier
  +
also ein Verzeichnis angegeben werden in das der Server auch tatsächlich die Datei schreiben kann.
  +
CoreDumps dienen zur Fehlersuche in Programmen. Dies verändert den Wert CoreDumpDirectory in der
  +
Apache Konfiguration.
  +
• Server lock file - Setzt den Namen der Server-Lockdatei. Eine Lockdatei informiert einen neu gestarteten
  +
Prozess darüber, daß bereits ein Prozess mit der gleichen Funktionalität läuft. Normalerweise wird ein
  +
Prozess, wenn dieser Fall eintritt, sofort beeendet. Wenn jedoch auf einem System mehrere Server,
  +
beispielsweise auf unterschiedlichen IP-Nummern, laufen sollen, sind unterschiedliche Lockdateien zu
  +
verwenden. Die Angabe wird als Option LockFile gespeichert.
  +
• Server PID file - Die Datei, in der die Nummer der ProzessID des laufenden Server Prozesses gespeichert
  +
wird. Variable: PidFile.
  +
• Shared memory scoreboard file - Einige Architekturen benötigen Dateien, damit die Kinder mit den
  +
Elternprozessen kommunizieren können. Variable: ScoreBoardFile.
  +
• Server HTTP header - Hier können zusätzliche Daten, die im HTTP Header übertragen werden sollen,
  +
definiert werden. Die Angaben werden in der Variablen ServerTokens gespeichert.
  +
• Server execution - Beschreibt auf welche Weise der Server gestartet wird. Standalone startet den Server als
  +
Daemon, während Run from inetd den Server bei einer Anfrage über den inetd startet. Variable:
  +
ServerType
  +
19.8.5.1.6. Apache Webserver - CGI
  +
CGI, oder Common Gateway Interface dient zur Bereitstellung von dynamischen Inhalten auf einer Webseite.
  +
CGI Programme können in nahezu jeder Programmiersprache geschrieben werden, beispielsweise Perl, PHP,
  +
Python, Java, C und bash oder andere Shell-Skripte und alle anderen Skript-Sprachen. CGI Programme stellen
  +
den Zugriff auf die CGI Funktionen des Apache zur Verfügung.
  +
573
  +
Kapitel 19. Systemadministration
  +
Abbildung 19-42. Kategorie Server - Apache - CGI
  +
• CGI Script log - Verzeichnis, in dem die Error-Logdateien der CGI-Scripte abgelegt werden. Wird hier kein
  +
Verzeichnis angegeben, so werden keine Logfiles erzeugt. Parameter in der Konfigurationsdatei: ScriptLog.
  +
• Maximum logged post data size - Daten auf GET oder PUT Requests von CGI-Skripten werden bei einem
  +
Fehler in die Logdateien geschrieben. Da diese Requests sehr groß sein können, kann die Größe der
  +
Logfileeinträge hier beschränkt werden. Die Voreinstellung ist 1024 Byte, die Konfigurationsvariable
  +
ScriptLogBuffer.
  +
• Maximum CGI log post size - Beschränkt die Gesamtgröße der CGI-Logdateien. Wird dieser Wert erreicht, so
  +
werden keine weiteren Einträge dieser Datei hinzugefügt. Dies entspricht dem Eintrag ScriptLogLength
  +
in der Apache Konfigurationsdatei.
  +
• Variables set based on browser type - Hier können für bestimmte Browser gezielt Variablen gesetzt werden.
  +
Einträge an dieser Stelle verändern den Eintrag BrowserMatch in der Konfigurationsdatei. Weiterhin muß
  +
hierzu das Modul mod_setenvif geladen sein.
  +
• Variable set based on request headers - Setzt Variablen anhand der Attribute einer Anfrage. Variable:
  +
SetEnvIf.
  +
19.8.5.1.7. Apache Webserver - Per-Verzeichniseinstellungen
  +
Die Konfiguration des Apache Servers besteht aus globalen Einstellungen, die in den meisten Fällen später
  +
nocheinmal für bestimmte Verzeichnisse (beispielsweise Unterverzeichnisse auf dem Server oder komplette
  +
virtuelle Server) überschrieben werden können. Dieses Webmin Konfigurationsmodul erlaubt die Anpassung
  +
dieser Parameter. Um Optionen für ein Verzeichnis zu setzen, ist der Pfad und der Dateiname anzugeben und
  +
dann „Create Options File“ anzuklicken. Vereinbarungsgemäß werden diese Dateien .htaccess genannt, dies
  +
ist aber natürlich auch konfigurierbar. Mit dieser Datei ist auch eine einfache Authentifizierung möglich.
  +
574
  +
Kapitel 19. Systemadministration
  +
Abbildung 19-43. Kategorie Server - Apache - Per-Verzeichniseinstellungen
  +
Detaillierte Informationen zu den möglichen Optionen, die je Verzeichnis eingestellt werden können, finden
  +
sich unter http://httpd.apache.org/docs/mod/core.html#options.
  +
19.8.5.1.8. Apache Webserver - Apache-Module neukonfigurieren
  +
In diesem Menü können Module neu konfiguriert werden. Dies stellt eine Liste mit allen von Webmin
  +
unterstützten Apache-Modulen dar, die bereits installierten markiert sind. Falls Sie dynamisch geladene Module
  +
benutzen, dann können Sie diese jetzt auswählen.
  +
Abbildung 19-44. Kategorie Server - Apache - Apache-Module neu konfigurieren
  +
575
  +
Kapitel 19. Systemadministration
  +
19.8.5.1.9. Apache Webserver - Definierte Parameter bearbeiten
  +
Wenn Apache gestartet wird, können Parameter mit der Befehlzeilenoption -D übergeben werden. Weil diese
  +
Parameter die Direktiven beeinflussen können, die in Ihren Konfigurationsdateien vorkommen, muss Webmin
  +
wissen, welche Parameter dem Apache Webserver beim Start übergeben werden sollen.
  +
Abbildung 19-45. Kategorie Server - Apache - Definierte Parameter bearbeiten
  +
19.8.5.2. Postfix
  +
Die Konfiguration des Mailservers Postfix gliedert sich in verschiedene Bereiche, die wiederum die
  +
verschiedenen Aufgabenbereiche des Postfix Mailservers darstellen.
  +
576
  +
Kapitel 19. Systemadministration
  +
Abbildung 19-46. Kategorie Server - Postfix
  +
Machen Sie sich zunächst einmal mit den verschiedenen Bereichen der Konfiguration vertraut, bevor Sie
  +
beginnen, Veränderungen an der Konfiguration vorzunehmen.
  +
19.8.5.2.1. Postfix Mailserver - Allgemeine Einstellungen
  +
In den allgemeinen Einstellungen finden Sie eine große Anzahl von Optionen. Bitte lesen Sie in der
  +
Dokumentation zu Postfix nach, welche Möglichkeiten sich hier bieten. Die drei wichtigsten Optionen finden
  +
sich ganz oben auf der Seite unter „Nützlichste allgemeine Einstellungen“. Auf diese werden wir kurz eingehen,
  +
da diese im allgemeinen ausreichend sind, um Postfix sinnvoll zu konfigurieren.
  +
577
  +
Kapitel 19. Systemadministration
  +
Abbildung 19-47. Postfix Mailserver - Allgemeine Einstellungen
  +
• Welche Domäne soll in ausgehender Mail verwendet werden - bei einer vom System ausgehenden E-Mail
  +
wird die Absenderadresse aus dem Benutzernamen, eventuell dem Rechnernamen und dem Domainnamen
  +
gebildet. Hier können Sie wählen, aus welchen Informationen der Domainname ermittelt werden soll.
  +
• Für welche Domänen soll E-Mail empfangen werden - hier können Domains angegeben werden für die Mails
  +
akzeptiert werden sollen. Von allen hier nicht aufgeführten Domains werden E-Mail abgelehnt.
  +
• Welche Probleme werden an den Postmaster gemeldet - der Administrator des Mailsystems (Postmaster)
  +
578
  +
Kapitel 19. Systemadministration
  +
bekommt Problemmeldungen des Systems per E-Mail. Hier kann gewählt werden, welche Art von Fehlern
  +
und Problemen gemeldet werden sollen.
  +
Die weiteren Optionen auf dieser Seite sind in der Postfix-Dokumentation beschrieben.
  +
19.8.5.2.2. Postfix Mailserver - Adressumschreibung und Maskierung
  +
Hier können Adressen automatisch verändert werden.
  +
Abbildung 19-48. Postfix Mailserver - Adressumschreibung und Maskierung
  +
Es können die verschiedensten Veränderungen an den Mailadressen vorgenommen werden. Dies kann
  +
beispielsweise für Sites sinnvoll sein die E-Mail via UUCP beziehen oder ausliefern. Über Funktionen wie
  +
„Adressmaskierung“ können Rechnernamen vor dem Domainnamen verborgen werden, so wird beispielsweise
  +
aus user@host.$mydomain user@$mydomain.
  +
19.8.5.2.3. Postfix Mailserver - Mail-Aliases
  +
Hier können Aliase für Benutzer auf dem System definiert werden.
  +
579
  +
Kapitel 19. Systemadministration
  +
Abbildung 19-49. Postfix Mailserver - Mail-Aliases
  +
Im oberen Bereich können die zur Erzeugung der Datenbank notwendigen Kommandos definiert werden. Hier
  +
sind im Normalfall keine Änderungen notwendig. Im unteren Bereich dieser Konfiguration kann zu jedem
  +
Beutzernamen ein Alias angelegt werden.
  +
19.8.5.2.4. Postfix Mailserver - Kanonische Verknüpfung
  +
Hier können verschiedene Adressen über zu definierende Tabellen verknüpft werden.
  +
580
  +
Kapitel 19. Systemadministration
  +
Abbildung 19-50. Postfix Mailserver - Kanonische Verknüpfung
  +
19.8.5.2.5. Postfix Mailserver - Virtuelle Domänen
  +
Dieser Parameter beschreibt verschiedene Tabellen, in denen Mailadressen oder komplette Domains umgeleitet
  +
werden können. Hiermit werden typischerweise virtuelle Domains realisiert,.
  +
Die Standardeinstellung nimmt keine Umleitung von Adressen vor.
  +
Einige Beispiele für eine mögliche Konfiguration:
  +
dbm:/etc/postfix/virtual
  +
hash:/etc/postfix/virtual
  +
hash:/etc/postfix/virtual, nis:virtual
  +
hash:/etc/postfix/virtual, netinfo:/virtual
  +
581
  +
Kapitel 19. Systemadministration
  +
Abbildung 19-51. Postfix Mailserver - Virtuelle Domänen
  +
19.8.5.2.6. Postfix Mailserver - Transportverknüpfung
  +
In diesen Tabellen werden zusätzliche Transportwege für Domains oder einzelne Mailserver beschrieben. Auch
  +
diese Funktion ist normalerweise deaktiviert. In der Manpage zu transport(5) finden sich weitergehende
  +
Informationen.
  +
Beispiele:
  +
dbm:/etc/postfix/transport
  +
hash:/etc/postfix/transport
  +
hash:/etc/postfix/transport, nis:transport
  +
hash:/etc/postfix/transport, netinfo:/transport
  +
Abbildung 19-52. Postfix Mailserver - Transportverknüpfung
  +
582
  +
Kapitel 19. Systemadministration
  +
19.8.5.2.7. Postfix Mailserver - Neu eingerichtete Verknüpfung
  +
Diese Funktion (englisch: „Relocated Mapping“) kann Nachrichten erzeugen, die darüber informieren, daß ein
  +
Benutzer auf ein anderes System gewechselt ist. Es wird in diesem Fall eine sogenannte „bounce message“
  +
erzeugt.
  +
Abbildung 19-53. Postfix Mailserver - Neu eingerichtete Verknüpfung
  +
19.8.5.2.8. Postfix Mailserver - Lokale Lieferung
  +
Hier können verschiedene Parameter, die die Auslieferung von E-Mails auf dem lokalen System betreffen
  +
verändert werden. Zunächst einmal kann beispielsweise ein externes Programm mit der lokalen Auslieferung
  +
beauftragt werden („Name des Transports für lokale Lieferungen“). Auch kann hier das Verzeichnis gewählt
  +
werden, in dem die Mails gesammelt werden sollen („Verzeichnis für E-Mails in Warteschlange“).
  +
583
  +
Kapitel 19. Systemadministration
  +
Abbildung 19-54. Postfix Mailserver - Lokale Lieferung
  +
19.8.5.2.9. Postfix Mailserver - Allgemeine Resourcenkontrolle
  +
Unter Allgemeinen Ressourcen finden sich Parameter, die sich auf Dateigrößen oder Timeouts bei der
  +
Mailauslieferung beziehen.
  +
584
  +
Kapitel 19. Systemadministration
  +
Abbildung 19-55. Postfix Mailserver - Allgemeine Resourcenkontrolle
  +
19.8.5.2.10. Postfix Mailserver - SMTP-Server-Einstellungen
  +
In den Servereinstellungen können Parameter wie beispielsweise die maximale Anzahl der Empfänger einer
  +
E-Mail eingestellt werden. Hier finden sich auch Möglichkeiten einzelne SMTP-Kommandos einzuschränken
  +
und die Fehlermeldungen für die verschiedenen Arten von Fehlern können verändert werden.
  +
585
  +
Kapitel 19. Systemadministration
  +
Abbildung 19-56. Postfix Mailserver - SMTP-Server-Einstellungen
  +
19.8.5.2.11. Postfix Mailserver - SMTP-Client-Einstellungen
  +
In diesem Menü können Einstellungen, die die Clients betreffen, vorgenommen werden. Dies betrifft
  +
insbesondere Timeouts bei verschiedenen Ereignissen, als auch beispielsweise Fehler beim MX-Lookup.
  +
586
  +
Kapitel 19. Systemadministration
  +
Abbildung 19-57. Postfix Mailserver - SMTP-Client-Einstellungen
  +
19.8.5.2.12. Postfix Mailserver - Auslieferungsraten
  +
Unter Ausliefungsraten finden sich Einstellungen zur maximalen Anzahl gleichzeitig geöffneter Verbindungen
  +
und auch verschiedene Timeouteinstellungen für die Auslieferung.
  +
587
  +
Kapitel 19. Systemadministration
  +
Abbildung 19-58. Postfix Mailserver - Auslieferungsraten
  +
19.8.5.2.13. Postfix Mailserver - Debugging-Funktionen
  +
Debugging-Funktionen dienen zur Fehlersuche bei Problemem mit dem Mailsystem. Hier können Domainen
  +
aufgeführt werden für die eine ausführliche Protokollierung gewünscht ist.
  +
588
  +
Kapitel 19. Systemadministration
  +
Abbildung 19-59. Postfix Mailserver - Debugging-Funktionen
  +
19.8.5.3. DHCP
  +
Mittels eines DHCP Servers können Netzwerkeinstellungen zentral verwaltet werden. Ein DHCP Server liefert
  +
dem Client auf Anfrage alle notwendigen Informationen zum Netzwerk wie beispielsweise IP-Nummer,
  +
Netzmaske, Gateway oder auch den Host- und Domainnamen. Diese Angaben können entweder dynamisch
  +
(also zufällig) vergeben werden, oder jeder MAC-Adresse eines Clients werden feste Werte zugeordnet.
  +
Im oberen Bereich werden zunächst die gewünschten (Sub-) Netze definiert, im gezeigten Beispiel handelt es
  +
sich um ein internes, nicht geroutetes Netz (192.168.1.0). Im unteren Bereich werden dann die einzelnen
  +
Rechner definiert und den Netzen, bzw. IP-Adressen zugewiesen.
  +
589
  +
Kapitel 19. Systemadministration
  +
Abbildung 19-60. Kategorie Server - DHCP
  +
Ein Subnetz kann bearbeitet werden indem auf das entsprechenden Subnetz geklickt wird. Die Dialoge um ein
  +
neues Subnetz hinzuzufügen und um ein freigegebenes Subnetz hinzuzufügen sind ähnlich gestaltet, so das auf
  +
diese nicht weiter eingegangen wird.
  +
In diesem Beispiel wird ein internes, nicht geroutetes, Netz verwenden. Der Adressbereich liegt zwischen
  +
192.168.1.20 und 192.168.1.255, die ersten 20 Adressen in diesem Netz wurden für fest installierte
  +
Systeme vergeben. Die restlichen Optionen befassen sich größtenteils mit Parametern die im Zusammenhang
  +
mit bootp stehen.
  +
590
  +
Kapitel 19. Systemadministration
  +
Abbildung 19-61. Kategorie Server - DHCP - Subnet bearbeiten
  +
In diesem Bereich können einzelne Hosts im Netz bearbeitet, gelöscht oder hinzugefügt werden. Neben dem
  +
Hostnamen müssen bei fest vergebenen IP-Adressen hier auch die Hardware Adresse der Netzwerkkarte
  +
angegeben werden. Die weiteren Einträge befassen sich wiederrum mit dem Protokol bootp.
  +
591
  +
Kapitel 19. Systemadministration
  +
Abbildung 19-62. Kategorie Server - DHCP - Hosts und Hostgruppen
  +
Hier können allgemeine Einstellungen für alle Netzwerke, Hosts und Gruppen vorgenommen werden.
  +
592
  +
Kapitel 19. Systemadministration
  +
Abbildung 19-63. Kategorie Server - DHCP - Client Einstellungen
  +
Hinter der Schaltfläche „Liste aktive Vergaben auf“, werden alle momentan vergebenen dynamischen und
  +
statischen IP-Nummer aufgelistet. Weiterhin findet sich dort eine Schaltfläche („List all active and expired
  +
leases“) mit der sich auch ältere Einträge über vergebene Adressen anzeigen lassen.
  +
593
  +
Kapitel 19. Systemadministration
  +
Abbildung 19-64. Kategorie Server - DHCP - Vergaben
  +
Die Schaltfläche „Änderungen anwenden“ kann zum Neustart des DHCP-Servers benutzt werden. Die
  +
getätigten Änderungen werden damit aktiv.
  +
19.8.6. Kategorie Hardware
  +
In dieser Kategorie können die verschiedensten Einstellungen vorgenommen werden, die in Zusammenhang mit
  +
der Hardware des Systems stehen. Es können beispielsweise neue Partitionen angelegt, die Mountpunkte
  +
bestimmt, der Bootloader (Lilo oder GRUB) konfiguriert, Einstellungen am Netzwerk oder der Systemzeit
  +
sowie RAID Systeme konfiguriert werden.
  +
19.8.6.1. Festplatten Partitionen
  +
Dieser Punkt stellt eine Schnittstelle zu fdisk und hdparm dar. Hier können (über „IDE-Parameter bearbeiten“)
  +
beispielsweise der DMA-Modus der Festplatte verändert werden, aber auch neue Partitionen angelegt oder
  +
bestehende Partitionen verändert werden. Ganz nebenbei stellt dieser Punkt auch noch einen Editor für die Datei
  +
/etc/fstab dar, hier können die Mount-Punkte der einzelnen Partitionen bestimmt werden.
  +
594
  +
Kapitel 19. Systemadministration
  +
Abbildung 19-65. Kategorie Hardware - Festplatten
  +
Hinter „IDE-Parameter bearbeiten“ verbergen sich die verschiedensten Einstellen die auch über die
  +
Kommandozeile mit dem Programm hdparm vorgenommen werden können. Bei IDE-Platten ist es zumindest
  +
sinnvoll den DMA Modus zu aktivieren („DMA benutzen“), sowie 32Bit breite Zugriffe zuzulassen („32-bit
  +
I/O-Unterstützung“). Eine detailierte Beschreibung aller mögliche Parameter die von hdparm unterstützt
  +
werden findet sich im Abschnitt zu hdparm.
  +
Abbildung 19-66. Kategorie Hardware - IDE-Parameter bearbeiten
  +
595
  +
Kapitel 19. Systemadministration
  +
Über die Auswahl „Primäre Partition hinzufügen“ und „Logische Partition hinzufügen“, können neue
  +
Partitionen erstellt werden.
  +
Abbildung 19-67. Kategorie Hardware - Partition erstellen
  +
Durch anklicken eines Eintrages in der Spalte „Benutzen“ im Partitionsmanager gelangt man in die
  +
Bearbeitungsmaske des gewählten Mount-Punktes. Hier kann beispielsweise der Platz an dem diese Partition in
  +
das Dateisystem eingebunden werden soll, verändert werden. Weiterhin können hier die Überprüfungen des
  +
Dateisystems beim Systemstart aktiviert oder deaktiviert werden, auch die Reihenfolge kann verändert werden.
  +
Unter „Erweiterte Mount-Einstellungen“ finden sich Beschränkungen der Zugriffsrechte und es können
  +
Änderungen im Verhalten beim Auftreten von Fehlern vorgenommen werden.
  +
596
  +
Kapitel 19. Systemadministration
  +
Abbildung 19-68. Kategorie Hardware - Bearbeite Mount
  +
19.8.6.2. GRUB
  +
Hier kann der Bootloader GRUB konfiguriert werden. GRUB kann als leistungsfähige Alternative zu Lilo
  +
installiert werden. GRUB ist auch in der Lage, neben auf dem Linux Kernel basierenden Betriebssystemen
  +
beispielsweise GNU Hurd zu booten. Durch eine Mausklick auf einen bestehenden Eintrag kann dieser
  +
verändern werden. Mittels „Add a new boot option“ kann ein neuer Eintrag der Konfiguration hinzugefügt
  +
werden. Die Schaltfläche „Edit global options“ dient dazu allgemeine Konfigurationsparameter anzupassen. Mit
  +
der Schaltfläche „Install grub“ wird der Bootloader auf der Festplatte installiert.
  +
597
  +
Kapitel 19. Systemadministration
  +
Abbildung 19-69. Kategorie Hardware - GRUB
  +
Zu jedem Eintrag eines zu bootenden Betriebsystems in der GRUB Konfiguration gehört zunächst ein Titel
  +
(„Option title“). Dieser kann frei gewählt werden. Weiterhin ist die Partition zu wählen, auf der sich der Kernel
  +
befindet. Dieser Wert kann auch aus einer Liste der verfügbaren Partitionen ausgewält werden.
  +
Natürlich ist dann noch das zu bootende Betriebsystem zu wählen. Dieser wird zunächst einmal sicher Linux
  +
sein, hier ist dann noch der Name, und ggf. der Pfad, zum Kernel-Image anzugeben. In der nächsten Zeile
  +
können noch Optionen für den Kernel definiert werden, dies wird meistens die zu verwendende Root-Partition
  +
sein, aber auch Parameter wie IRQ oder IO Bereiche gehören hier hinein.
  +
Wenn andere Betriebssysteme mit GRUB gebootet werden sollen, so kann gewählt werden, ob dies aus dem
  +
ersten Sector der Partition erfolgen soll, alternativ kann eine sogenannten „Chainloader“ Datei verwendet
  +
werden. Weiterhin kann diese Partition dann bootfähig gemacht werden.
  +
Als dritte Möglichkeit kann auch ein Eintrag erzeugt werden, der nicht zum Booten eines Betriebsystems dient.
  +
Dies kann beispielsweise ein Eintrag zum verändern der Farben des GRUB-Menüs sein, oder ein Eintrag um
  +
GRUB zu installieren.
  +
598
  +
Kapitel 19. Systemadministration
  +
Abbildung 19-70. Kategorie Hardware - GRUB - Edit Boot Option
  +
Dieser Eintrag ist mit dem vorhergehenden identisch, lediglich sind die Felder nicht mit Werte vorbelegt und
  +
müssen erst ausgefüllt werden.
  +
Abbildung 19-71. Kategorie Hardware - GRUB - Add Boot Option
  +
Als „Globale Optionen“ werden Parameter, die generell Auswirkungen auf die Konfiguration haben und nicht
  +
einem einzelnen Eintrag zuzuordnen sind, bezeichnet. Dies sind: Ein Default-Booteintrag und ein
  +
599
  +
Kapitel 19. Systemadministration
  +
Fallback-Eintrag, das Timeout in Sekunden bis der Default-Eintrag gestartet, wird sowie die gewünschte
  +
Festplatte oder Partition auf der GRUB installiert werden soll.
  +
Abbildung 19-72. Kategorie Hardware - GRUB - Global Options
  +
Ein Mausklick auf diese Schaltfläche installiert GRUB sofort auf der Festplatte, es gibt keine weitere Abfrage.
  +
Die Ausgabe des Programmes wird angezeigt, überprüfen Sie genau ob es während der Installation zu
  +
Problemen gekommen ist.
  +
Abbildung 19-73. Kategorie Hardware - GRUB - Install GRUB
  +
19.8.6.3. Lilo
  +
Wenn Lilo auf dem System als Booloader verwendet wird, so kann dieser hier konfiguriert werden. Auch dieses
  +
Menü ist in zwei Bereiche geteilt, im oberen Bereich können bestehende Einträge in der Konfiguration
  +
verändert oder neue hinzugefügt werden. Darunter finden sich Einstellmöglichkeiten für globale Parameter die
  +
nicht direkt in Zusammenhang mit einem Eintrag für einen bestimmten Kernel stehen.
  +
600
  +
Kapitel 19. Systemadministration
  +
Abbildung 19-74. Kategorie Hardware - Lilo
  +
Durch einen Mausklick auf einen bestehenden Eintrag kann dieser verändert werden. Hinter dem Link „Einen
  +
neuen Boot-Kernel erstellen“, verbirgt sich das gleiche Menü, jedoch ohne Vorgabewerte.
  +
Zunächst ist im Feld „Name“ ein Titel für diesen Eintrag zu vergeben. Im Feld „Zu bootender Kernel“ ist der
  +
Pfad und der Dateiname des gewünschten Kernels anzu geben, dieser kann aber auch über die Schaltfläche ...
  +
direkt ausgewählt werden. Weiterhin können Kernel-Parameter die bei Booten des Systems aktiviert werden
  +
sollen im Feld „Kernel-Parameter“ angegeben werden.
  +
Als „Root-Gerät“ wird hier die Root-Partition bezeichnet. Weitere Parameter beeinflussen die Auflösung der
  +
Text-Konsole („VGA-Textmodus“), den Modus in dem das Root-Dateisystem gemountet werden
  +
soll(„Root-Mount-Modus“) und das Passwort welches bei der Benutzung von Lilo generell oder nur bei der
  +
Angabe von Optionen verwendet werden soll („Boot-Kennwort“ und „Kennwort benötigt für“). Natürlich kann
  +
an dieser Stelle auch eine eventuell zu verwendende RAM Disk konfiguriert werden.
  +
Wenn die gewünschten Einstellungen vorgenommen wurden, kann der Eintrag durch einen Mausklick auf
  +
„Speichern“ auf die Platte geschrieben werden. Dies schreibt lediglich die Veränderungen in die Datei
  +
/etc/lilo.conf, der Aufruf von lilo um den MBR neu zu schreiben wird dabei nicht ausgeführt.
  +
601
  +
Kapitel 19. Systemadministration
  +
Abbildung 19-75. Kategorie Hardware - Lilo - Boot-Kernel bearbeiten
  +
Hier werden allgemein gültige Einstellungen vorgenommen, dies sind beispielsweise die Auswahl wohin der
  +
Bootloader geschrieben werden soll („Schreibe Bootlader auf“) und verschiedene Wartezeiten sowie auch hier
  +
wieder ein allgemeines Kennwort für die gesammte Lilo-Konfiguration.
  +
Abbildung 19-76. Kategorie Hardware - Lilo - Globale Einstellungen
  +
602
  +
Kapitel 19. Systemadministration
  +
Über die Schaltfläche „Konfiguration anwenden“ wird der Aufruf von lilo mit der neu erstellten Konfiguration
  +
durchgeführt. Eventuell aufgetretene Fehlermeldungen oder auch Statusmeldungen werden angezeigt.
  +
Abbildung 19-77. Kategorie Hardware - Lilo - Konfiguration anwenden
  +
19.8.6.4. Netzwerk
  +
Der Bereich Netzwerk gliedert sich in verschiedene Themen. Hier finde sich Einstellungen zu IP-Adressen,
  +
Routing und Namesauflösung.
  +
Abbildung 19-78. Kategorie Hardware - Netzwerk
  +
Die Konfiguration der Netzwerkschnittstellen zeigt zunächst eine Übersicht der bereits konfigurierten Interfaces
  +
an. Hier können über den Link „Eine neue Schnittstelle hinzufügen“ weitere Interfaces hinzugefügt werden.
  +
603
  +
Kapitel 19. Systemadministration
  +
Abbildung 19-79. Kategorie Hardware - Netzwerk - Netzwerkschnittstellen
  +
Durch eine Mausklick auf eine der Schnittstellen können Veränderungen an dieser vorgenommen werden. Hier
  +
können neben der IP-Adresse, Broadcast und Netmask auch Werte wie MTU und sogar die Hardwareadresse
  +
(natürlich wird dies nicht auf der Karte gespeichert sondern nur für den Betrieb überschrieben) verändert
  +
werden. Weiterhin können hier einer Karte virtuelle Schnittstellen hinzugefügt werden.
  +
Abbildung 19-80. Kategorie Hardware - Netzwerk - Aktive Schnittstelle bearbeiten
  +
Hier kann konfiguriert werden welcher Router, bzw. welches Gateway für das System verwendet werden soll.
  +
604
  +
Kapitel 19. Systemadministration
  +
Abbildung 19-81. Kategorie Hardware - Netzwerk - Routing und Gateways
  +
In diesem Dialog können Einstellungen zum Hostnamen, den zu verwendenden Nameservern, der Reihenfolge
  +
der Möglichkeiten für Nameserverabfragen und den Suchdomänen gemacht werden.
  +
Abbildung 19-82. Kategorie Hardware - Netzwerk - DNS-Client
  +
Die hier getätigten Einstellungen finden sich in der Datei /etc/hosts wieder. Hier können, falls kein eigener
  +
Nameserver für das interne Netz verfügbar ist, lokale Systeme eingetragen werden für die normalerweise keine
  +
sinnvolle Namensauflösung verfügbar ist.
  +
605
  +
Kapitel 19. Systemadministration
  +
Abbildung 19-83. Kategorie Hardware - Netzwerk - Host-Adressen
  +
19.8.6.5. Systemzeit
  +
In dieser Menü kann sowohl die Systemzeit als auch die Hardware-Zeit (also die Zeit in der Uhr auf dem
  +
Motherboard) eingestellt und miteinander synchronisiert werden. Weiterhin kann hier ein Zeit-Server
  +
eingetragen werden mit dem die Systemzeit abgeglichen werden soll.
  +
Abbildung 19-84. Kategorie Hardware - Systemzeit
  +
Hier besteht die Möglichkeit Einstellungen zur Zeitzone und einigen anderen Parameter vorzunehmen.
  +
606
  +
Kapitel 19. Systemadministration
  +
Abbildung 19-85. Kategorie Hardware - Systemzeit - Konfiguration
  +
19.8.7. Andere
  +
In dieser Kategorie finden sich einige Tools die in keine andere Kategorie passen.
  +
Abbildung 19-86. Kategorie Andere
  +
607
  +
Kapitel 19. Systemadministration
  +
Mit der Command Shell können Shell Kommandos aus Webmin heraus ausgeführt werden, die
  +
Standardausgabe des Kommandos wird im Browser ausgegeben. Das Kommando cd kann dazu benutzt werden,
  +
nachfolgenden Programmen das gewünschte Startverzeichnis zu geben.
  +
Abbildung 19-87. Kategorie Andere - Command Shell
  +
Mit „Eigene Befehle“ können Kommandos definiert die auch unter anderen Benutzerkennungen ausgeführt
  +
werden können. Beispielsweise können hier regelmäßige Arbeiten wie das löschen von Core-Dateien von Hand
  +
angestoßen werden.
  +
Abbildung 19-88. Kategorie Andere - Eigene Befehle
  +
Wenn auf dem System ein Telnet-Server installiert ist (was normalerweise nicht zu empfehlen ist) kann hierüber
  +
ein Login auf das System erfolgen.
  +
608
  +
Kapitel 19. Systemadministration
  +
Abbildung 19-89. Kategorie Andere - SSH-/Telnet-Login
  +
Hier kann der Zustand von verschiedenen Diensten überwacht werden.
  +
Abbildung 19-90. Kategorie Andere - System und Server Status
  +
19.8.7.1. Themes
  +
Webmin läßt sich mit angepassten Themes versehen, mit denen sich das Aussehen der Seiten beeinflussen läßt.
  +
Um ein neues Theme zu erzeugen, muß im Verzeichnis /usr/share/webmin/ ein Unterverzeichnis erzeugt
  +
werden. In diesem Verzeichnis muß zumindest die Datei theme.info vorhanden sein. In dieser Datei ist
  +
609
  +
Kapitel 19. Systemadministration
  +
mindestens der Eintrag desc zwingend erforderlich. Dieser Eintrag beschreibt das Theme kurz und wird als
  +
Text in der Themenauswahl angezeigt.
  +
Die Syntax für alle Einträge in den Konfigurationsdateien lautet: name=wert.
  +
Die meisten Einstellungen werden in der Konfigurationsdatei config vorgenommen. Auch hier entspricht die
  +
Syntax der Einträge der oben beschriebenen (name=wert). Die hier definierten Werte überschreiben einige der
  +
voreingestellten Werte in der globalen Webmin Konfigurationsdatei /etc/webmin/config. Werte die
  +
überschrieben werden können sind:
  +
• cs_page - ein sechs Zeichen langer String im Hex-Format der die Werte für RRGGBB für den Hintergrund
  +
der Webseiten setzt.
  +
• cs_link - ein sechs Zeichen langer String im Hex-Format der die Werte für RRGGBB für die bereits
  +
besuchten und noch nicht besuchten Seiten setzt.
  +
• cs_text - ein sechs Zeichen langer String im Hex-Format der die Werte für RRGGBB für den normalen
  +
Text setzt.
  +
• bgimage - die relative URL (beispielsweise pics/hintergrund.jpg) für ein Hintergrundbild welches auf
  +
jeder Seite angezeigt wird.
  +
• noindex - wenn dieser Wert auf 1 gesetzt wird, so wird auf den Webseiten kein Link auf den Webmin Index
  +
angezeigt. Dies ist sinnvoll wenn Frames verwendet werden und über diese die Verwaltung der Seiten
  +
realisiert werden soll.
  +
• brand - HTML Code für eine Grafik oder einen Text, welcher in der rechten oberen Ecke der Index Seite
  +
angezeigt wird.
  +
• brand_url - URL, die hinter die Grafik gelegt wird. Diese wird bei einem Klick auf die Grafik aufgerufen.
  +
• headhtml - der hier aufgeführte HTML Code wird in der <head> Section jeder Webseite eingefügt.
  +
• headinclude - Name der Datei im Verzeichnis dieses Themes, dessen Inhalt in der <head> Section jeder
  +
Webseite eingefügt werden soll.
  +
• inbody - Dieser Text wird im <body>-Tag der Seite eingefügt.
  +
• prebody - dieser HTML Code wird am Anfang der <body> Section jeder Webseite eingefügt. Folgende
  +
Variablen sind hier erlaubt:
  +
%HOSTNAME% will be replaced with the system’s hostname.
  +
%VERSION% will be replaced with the webmin version.
  +
%USER% will be replaced with the current user’s login.
  +
%OS% will be replaced with the OS name and version.
  +
• texttitles - wird diese Variable auf 1 gesetzt, so werden die Überschriften auf jeder Seite als HTML Text
  +
dargestellt und nicht durch Grafiken erzeugt.
  +
• postbody - dieser HTML Code wird in der <body> Section jeder Seite eingefügt. Auch hier sind die unter
  +
prebody erwähnten Variablen erlaubt.
  +
• tb - Text der im <tr>-Tag von Tabellenköpfen eingefügt wird.
  +
• cb - Text der im <tr>-Tag von Tabellen, unterhalb der Kopfzeile eingefügt wird.
  +
Um weitere Veränderungen vorzunehmen, müssen keine Änderungen an der Webmin-Konfigurationsdatei
  +
vorgenommen werden. Wenn ein Theme gewählt wird, so wird das Verzeichnis dieses Themes mit allen
  +
Inhalten dem Wurzelverzeichnis des Webmin Servers überlagert. Dateien die im Theme-Verzeichnis enthalten
  +
sind haben somit eine höhere Wertigkeit und werden bevorzugt geladen.
  +
Auf diesem Wege können auch die Icons oder die Grafiken, die die Seitenüberschriften erzeugen, ausgetauscht
  +
werden. Aber auch die verwendeten CGI-Programme können auf diesem Wege ausgetauscht werden. Dies kann
  +
beispielsweise dazu verwendet werden, um ein neues Hauptmenü zu erzeugen. Hierzu ist eine Datei
  +
610
  +
Kapitel 19. Systemadministration
  +
index.cgi zu erzeugen und im Theme-Verzeichnis abzulegen. Hierbei ist darauf zu achten, daß die tatsächlich
  +
benutzten Scripte im Hauptverzeichnis (nicht im Themeverzeichns) von Webmin liegen, die Pfade sind
  +
entsprechend zu setzen.
  +
Wenn das neue Theme vollendet ist kann es mit tar gepackt werden. Webmin Themes haben normalerweise
  +
die Endung .wbt.
  +
611
  +
Kapitel 20. Systemsicherheit
  +
In diesem Abschnitt sollen einige Hinweise gegeben werden wie ein Debian GNU/Linux System sicherer gegen
  +
unbefugte Zugriffe auf das System gemacht werden kann. Debian bietet hierzu einige vorbereitete Pakete die
  +
mit wenig Aufwand zu installieren oder zu konfigurieren sind.
  +
Zunächst sollten Sie bereits bei der Installation des Systems darauf achten das Sie sowohl die Frage nach der
  +
Verwendung von Shadow-Passwörtern als auch die Frage nach MD5 verschlüsselten Passwörtern mit „Ja“
  +
beantworten.
  +
Generell ist zu sagen das jeder auf einem Unix System laufende Dienst ein Sicherheitsrisiko darstellt.
  +
Installieren Sie also ausschliesslich Dienste die auch auf dem System eingesetzt werden sollen.
  +
Das Debian Team nimmt die Sicherheit des Systems sehr ernst. Sicherheitslücken werden umgehend beseitigt
  +
und aktualisierte Versionen sind auf den Debian FTP-Servern verfügbar. Um Zugriff auf die jeweils aktuellen
  +
Sicherheitsupdates zu haben, sollte folgende Zeile der Datei /etc/apt/sources.list hinzugefügt werden:
  +
deb http://security.debian.org/ stable/updates main contrib non-free .
  +
20.1. task-harden
  +
Um sicherzustellen das sich keine Pakete mit Sicherheitslücken auf dem System befinden, kann das Paket
  +
task-harden installiert werden. In diesem Paket sind verschiedene Task-Pakete aufgeführt, diese wiederrum
  +
sind mit entsprechenden Anhängigkeiten belegt. Die „harden-*“ Pakete werden laufend aktualisiert und
  +
sicherheitkritische Software wird durch entsprechende Abhängigkeiten die in diesen Paketen festgelegt sind von
  +
der Verwendung ausgeschlossen. Es kann also durchaus passieren das die Installation dieses Paketes dazu führt
  +
das ein benötigter Dienst gelöscht wird!
  +
Das Debian Team ist dabei der Meinung das es besser ist einen Dienst eine zeitlang nicht zur Verfügung zu
  +
stellen, statt einem Angreifer einen Angriffspunkt zu liefern.
  +
task-harden besitzt definierte Abhängigkeiten zu diversen anderen Paketen, welche auch gesondert installiert
  +
werden können. Diese decken kleinere Bereiche ab, so das es möglich ist einzelne Dienste oder bestimmte
  +
Systeme gezielt zu schützen. Diese Pakete sind:
  +
harden - Makes your system hardened.
  +
harden-3rdflaws - Avoid packages with security problems.
  +
harden-clients - Avoid clients that are known to be insecure.
  +
harden-development - Development tools for creating more secure programs.
  +
harden-doc - Useful documentation to secure a Debian system.
  +
harden-environment - Hardened system environment.
  +
harden-localflaws - Avoid packages with security holes.
  +
harden-nids - Harden a system by using a network intrusion detection system.
  +
harden-remoteaudit - Audit your system from this host.
  +
harden-remoteflaws - Avoid packages with security holes.
  +
harden-servers - Avoid servers that are known to be insecure.
  +
harden-surveillance - Check services and/or servers automaticly.
  +
harden-tools - Tools to enhance or analyze the security of the local system.
  +
Die durch diese Pakete vorgenommenen Veränderungen basieren auf den im Debian Security HOWTO
  +
beschriebenen Aktionen.
  +
20.2. Securing Debian HOWTO
  +
Im „Securing Debian HOWTO“ (das englische Original ist erreichbar unter
  +
http://www.debian.org/doc/manuals/securing-debian-howto/index.html) finden sich Informationen an welchen
  +
Stellen ein Debian System noch sicherer gemacht werden kann. Daher soll an dieser Stelle nur auf einige
  +
grundlegende Dinge hingewiesen werden.
  +
612
  +
Kapitel 20. Systemsicherheit
  +
Zunächst müssen Sie sich darüber im klaren sein das ein System nur dann 100%tig sicher ist wenn keinerlei
  +
Dienste auf diesem nach aussen hin über das Netzwerk angeboten werden oder sogar garkeine Verbindung zu
  +
einem Netzwerk besteht. Dies ist in der Realität natürlich unsinnig und nicht durchsetzbar, das System würde so
  +
nicht sinnvoll benutzbar sein.
  +
Man sollte sich auch darüber im klaren sein das die Anforderungen an die Sicherheit stark vom Einsatz des
  +
Systems abhängig sind. Ein Privatnutzer wird deutlich andere Anforderungen stellen wie der Administrator
  +
eines Firewall Systems. Viele Einstellungen die die Sicherheit eines Systems erhöhen vereinfachen die
  +
Bedienung nicht unbedingt, auch hier ist zwischen Benutzbarkeit und Paranoia abzuwägen.
  +
Die Softwareseitigen Einstellungen an einem Debian System die zur Verbesserung der Sicherheit dienen,
  +
können nicht den physikalischen Zugriff auf das System verhindern. Wenn von Systemsicherheit die Rede ist
  +
muß auch bedacht werden das zu einem völlig sicheren System auch gehört das der Zugriff auf die Hardware
  +
unterbunden wird. Ein Angreifer der Zugriff auf die Hardware hat kann beispielsweise über eine Boot-CD oder
  +
Diskette Zugriff auf das System erlangen. Auch ein BIOS- oder Lilo-Passwort kann den Diebstahl der Festplatte
  +
nicht verhindern. Ein völlig sicheres System gehört also hinter gut verschlossene Türen. Doch Betrachtungen
  +
zur Hardwaresicherung sollen an dieser Stelle nicht weiter verfolgt werden.
  +
20.2.1. Vor und während der Installation
  +
Bereits vor der Installation können einige Maßnahmen zur Sicherheit des Systems getroffen werden. Das
  +
Debian Installationsprogramm enthält ebenfalls einige Punkte an denen die Sicherheit des Systems verbessert
  +
werden kann.
  +
20.2.1.1. BIOS Einstellungen
  +
Bevor ein Betriebsystem auf einem neuen Computer installiert wird, sollte ein BIOS Passwort gesetzt werden
  +
und die Booteinstellungen sollten so gewählt werden das ein Systemstart von Diskette nicht möglich ist. Nach
  +
der Installation sollte darauf geachtet werden das so schnell wie möglich auch der Start von CD-ROM
  +
abgeschaltet wird.
  +
Ein weitere Vorteil dieser Einstellungen zeigt sich wenn das System als Server betrieben wird. Es wäre nicht das
  +
erste mal das eine vergessene Diskette im Laufwerk einen erfolgreichen Reboot eines Systems verhindert, sehr
  +
ärgerlich wenn ein direkter Zugriff auf das System nur mit einer längeren Anfahrt möglich ist.
  +
20.2.1.2. Plattenpartitionen
  +
Die Einteilung des verfügbaren Plattenplatzes hängt von der Verwendung des Systems ab. Hierzu sollte einige
  +
Dinge beachtet werden:
  +
• Jede Partition auf die Schreibzugriff von den Benutzern des Systems besteht, sollte auf einer eigenen
  +
Partition liegen, beispielsweise die Bereiche /home und /tmp. Dies verhindert das ein Benutzer das
  +
/-Dateisystem unbenutzbar macht und das gesamte System in einen instabilen Zustand bringt. Es bleibt
  +
natürlich ein gewisser Platz (meist 5%, dieser Wert kann mit tunefs angepasst werden) für den Superuser
  +
reserviert, doch kann so anderen Benutzern das Arbeit mit dem System unmöglich gemacht werden.
  +
• Es sollte für jeden Bereich der automatisch mit Daten gefüllt wird, beispielsweise /var und hier
  +
insbesondere /var/log eine eigene Partition vorgesehen werden. Auf Debian Systemen sollte /var
  +
großzügiger bemessen werden, da unter /var/cache/apt/archives Pakete temporär abgelegt werden
  +
wenn die Installation übers Netz erfolgt. Weiterhin finden sich unter /var/lib/dpkg viele Dateien die für
  +
das Paketmanagement benötigt werden.
  +
• Wenn Software installiert werden soll, die nicht in der Debian Distribution enthalten ist, sollten auch diese
  +
Bereich auf eigenen Partitionen liegen, diese werden dann bei einer Neuinstallation des nicht überschrieben.
  +
Nach dem File Hierarchy Standard (FHS) sind dies /opt oder /usr/local.
  +
613
  +
Kapitel 20. Systemsicherheit
  +
20.2.1.3. Superuser Passwort
  +
Während der Installation wird nach einem Passwort für den Superuser (root) gefragt. Zusätzlich kann ein
  +
Benutzer dem System hinzugefügt, auch für diesen ist dann ein Passwort einzugeben. Auch wenn es möglich ist
  +
hier ein sehr einfaches Passwort zu verwenden, so ist dies natürlich nicht empfehlenswert. Die Auswahl eines
  +
guten Passwortes ist auf vielen Webseiten im Netz beschrieben, es sind dabei nur einige einfache Regeln zu
  +
beachten. Eine Suche nach „auswahl gutes passwort“ mittels Google führt schnell zum Erfolg.
  +
Grundsätzlich sollte auf jedem System neben dem Account für den Superuser auch ein Account für einen
  +
Benutzer angelegt werden der nicht alle Rechte hat. Dieser Benutzeraccount sollte für alle Logins auf dem
  +
System verwendet werden und nur wenn für eine bestimmte Aufgabe die Zugriffsrechte nicht ausreichend sind
  +
sollte mittels des Kommandos su die Identität gewechselt werden. Nach Beendigung der Arbeiten als Superuser
  +
sollte man sich umgehend wieder als normaler Benutzer im System bewegen.
  +
20.2.1.4. Shadow- und MD5 Passwörter
  +
Während der Installation erfolgt eine Abfrage ob „Shadow Passwords“ aktiviert werden sollen. Wenn die Frage
  +
positiv beantwortet wird, werden die Passwörter in der Datei /etc/shadow verschlüsselt gespeichert. Diese
  +
Datei kann nur vom Superuser und der Gruppe „shadow“ gelesen werden, somit kann kein Benutzer des
  +
Systems die verschlüsselten Passwörter lesen und versuchen diese mit Hilfe einer Software zu entschlüsseln.
  +
Diese Einstellung kann später mit dem Programm shadowconfig rückgängig gemacht werden. Weiterhin
  +
besteht die Möglichkeit die Passwörter mit einer MD5 Verschlüsselung zu speichern, dies ist generell eine gute
  +
Idee, da so ein Angriff weiterhin erschwert wird und längere Passwörter möglich sind.
  +
20.2.1.5. Aktivierte Dienste
  +
Wie bereits beschrieben sollten nur die absolut notwendigen Dienste auf einem System aktiviert werden. Jeder
  +
neue Dienst schafft möglicherweise ein neues Sicherheitsloch, welches vielleicht erst später zu einem Problem
  +
wird. Werden bestimmte Dienste nur selten benötigt, so können diese über die update-Kommandos
  +
(beispielsweise update-inetd) gezielt aktiviert und deaktiviert werden.
  +
20.2.1.6. Mailinglisten
  +
Lesen Sie die Debian Security Mailinglisten. Relevant sind in diesem Zusammenhang
  +
debian-security-announce, dort werden Sicherheitslücken bekanntgegeben und es wird über Bugfixes
  +
dagegen informiert, sowie debian-security@lists.debian.org, dort werden alle Sicherheitstemen rund
  +
um Debian behandelt.
  +
Wenn Sie Meldungen über Sicherheitsupdates per E-Mail bekommen wollen, so senden Sie eine Mail an:
  +
debian-security-announce-request@lists.debian.org mit dem Wort „subscribe“ im Betreff der Mail. Die
  +
Anmeldung zu dieser Mailingliste ist auch über die Webseite http://www.debian.org/MailingLists/subscribe
  +
möglich.
  +
Auf dieser Mailingliste kommen nur sehr wenige Mails, man erfährt dort aber sehr schnell über Probleme mit
  +
Paketen informiert und erfahren eine Adresse an der eine fehlerbereinigte Version zur Verfügung steht.
  +
20.2.2. Nach der Installation
  +
Nachdem das System mit allen benötigten Programmen eingerichtet ist, kann mit einigen weiteren Aktionen die
  +
Sicherheit des Systems weiter erhöht werden.
  +
20.2.2.1. Absicherung des Bootloaders
  +
Jede Person die Zugang zur Tastatur des Systems hat kann eine Superuser-Shell bekommen und beispielsweise
  +
alle Passwörter ändern, indem am Bootprompt dateiname-des-bootkernels init=/bin/sh eingegeben
  +
wird. Um dies zu verhindern kann ein Passwort für den Boot-Loader gesetzt werden. Dies kann global für alle
  +
Boot-Images geschehen oder individuell für jedes einzelne.
  +
614
  +
Kapitel 20. Systemsicherheit
  +
Wenn Lilo als Bootloader verwendet wird, muß die Datei /etc/lilo.conf um die Einträge password und
  +
restricted erweitert werden.
  +
image=/boot/2.2.14-vmlinuz
  +
label=Linux
  +
read-only
  +
password=hackme
  +
restricted
  +
Danach muß lilo nochmal aufgerufen werden. Sorgen Sie dafür das die Datei /etc/lilo.conf nur vom
  +
Superuser gelesen werden kann, da das Passwort unverschlüsselt in der Konfigurationsdatei steht, dies ist mit
  +
dem Kommando chmod 600 /etc/lilo.conf zu erreichen. Die Option restricted bewirkt das nur nach
  +
einem Passwort gefragt wird wenn der Benutzer versucht zusätzliche Parameter am Bootprompt anzugeben. Die
  +
Auswahl verschiedener, bereits in der Konfiguration eingetragener Kernel ist weiterhin möglich. Wird der
  +
Eintrag restricted weggelassen, fragt Lilo in jedem Fall nach einem Passwort.
  +
Die genannten Einträge können am Anfang der Konfigurationsdatei allgemeingültig für alle Kernel in der
  +
Konfiguration angegeben werden, oder aber innerhalb eines Abschnittes der Konfigurationsdatei nur für
  +
bestimmte Kernel.
  +
Wird auf dem System GRUB verwendet, so müssen folgende Zeile der Datei /boot/grub/menu.lst
  +
hinzugefügt werden:
  +
timeout 3
  +
password hackme
  +
Die Option timeout sorgt nach der angegebenen Zeit dafür das der Standardeintrag gebootet wird.
  +
20.2.2.2. Starten von Diskette
  +
Der von Debian Versionen vor 2.2 installierte MBR (Master Boot Record) wurde mit einer Option installiert die
  +
es erlaubte von Diskette zu booten auch wenn dies sonst abgeschaltet war. Ob ein solcher MBR installiert ist
  +
läßt sich wie folgt prüfen:
  +
• Drücken Sie während des Startvorganges die Shift Taste, der MBR Prompt sollte erscheinen.
  +
• Drücken Sie nun „F“ und das System startet von Diskette. Mit dieser kann ein Superuserzugang zum System
  +
erreicht werden.
  +
Dieses Verhalten kann wie folgt verändert werden:
  +
lilo -b /dev/hda
  +
Wobei hda dem entsprechenden Devicenamen Ihres Systems angepasst werden muß.
  +
Die Bootdisketten ab Debian Version 2.2 installieren lilo direkt in den MBR, hier tritt diese Lücke nicht auf.
  +
20.2.2.3. Mounten von Dateisystemen
  +
Beim mounten (einhängen in das Dateisystem) von ext2-Partitionen gibt es diverse Optionen die dem
  +
Kommando mount übergeben werden oder die direkt in die Datei /etc/fstab eingetragen werden können.
  +
Ein solcher Eintrag könnte beispielsweise wie folgt aussehen:
  +
/dev/hda7 /tmp ext2 defaults,nosuid,noexec,nodev 0 2
  +
615
  +
Kapitel 20. Systemsicherheit
  +
Die Optionen finden sich in der vierten Spalte. Die Option nosuid ignoriert gesetzte SUID und GUID Bits auf
  +
dieser Partition. Eine gesetzte Option noexec verhindert das auf dieser Partition befindliche Programme
  +
ausgeführt werden können und nodev ignoriert Device Dateien. Dabei ist zu beachten:
  +
• Dies bezieht sich nur auf ext2 Dateisysteme.
  +
• Auch solche Optionen können relativ leicht umgangen werden.
  +
Hierzu ein Beispiel:
  +
fr@sushi:/tmp# mount | grep tmp
  +
/dev/hda3 on /tmp type ext2 (rw,noexec,nosuid,nodev)
  +
fr@sushi:/tmp# ./date
  +
bash: ./date: Keine Berechtigung
  +
fr@sushi:/tmp# /lib/ld-linux.so.2 ./date
  +
Sun Jul 29 14:40:32 CEST 2001
  +
Viele Tools die von Hackern benutzt werden, versuchen im Verzeichnis /tmp Dateien anzulegen und diese
  +
auszuführen. Mit der Option noexec kann man dem Einbrecher zumindest das Leben etwas schwerer machen.
  +
20.2.2.4. Debian Sicherheitsupdates
  +
Sobald eine neue Sicherheitslücke in einem Debian Paket oder einer Software dieses Paketes bekannt wird, wird
  +
von den Paket-Maintainern innerhalb weniger Stunden oder Tage ein Update der betroffenen Pakete
  +
bereitgestellt. Das aktualisierte Paket wird unter http://security.debian.org zur Verfügung gestellt.
  +
Um auch die Sicherheitsupdates bei jeder Aktualisierung des Systems automatisch durchzuführen, muß
  +
folgende Zeile in die Datei /etc/apt/sources.list eingefügt werden:
  +
deb http://security.debian.org/debian-security stable/updates main contrib non-free
  +
In Ländern die den Import von Kryptografischer Software nicht verbieten kann zusätzlich folgende Zeile
  +
hinzugefügt werden.
  +
deb http://security.debian.org/debian-non-US stable/non-US main contrib non-free
  +
Natürlich können auch die entsprechenden deb-src Zeilen hinzugefügt werden wenn auch der Zugriff auf die
  +
Sourcen gewährleistet sein soll. Danach ist nur noch ein apt-get update gefolgt von einem apt-get
  +
upgrade nötig um das System auf den neuesten Stand zu bringen.
  +
20.2.2.5. PAM - Pluggable Authentication Modules
  +
PAM erlaubt dem Systemadministrator die Auswahl auf welche Weise die verschiedenen Anwendungen eine
  +
Authentifizierung durchführen sollen. Hierzu muß jede Anwendung auf die Verwendung von PAM angepasst
  +
sein, dies ist seit Debian 2.2 für die meisten Programme der Fall. Ältere Versionen von Debian benutzen noch
  +
keine Authentifizierung über PAM. Für jede Anwendung existiert im Verzeichnis /etc/pam.d eine eigene
  +
Konfigurationsdatei.
  +
Mit PAM bietet sich die Möglichkeit mehrere Authentifizierungsschritte, vom Benutzer unbemerkt,
  +
durchzuführen. Beispielsweise kann eine Authentifizierung sowohl gegen eine Datenbank als auch gegen die
  +
Datei /etc/passwd erfolgen.
  +
Über PAM können viele Restriktionen auferlegt werden, genauso gut ist es aber möglich das System weit zu
  +
öffnen und so Sicherheitslücken zu schaffen. Bei der Veränderung von Einstellungen von PAM sollte also
  +
größte Vorsicht bewahrt werden. Eine typische Konfigurationszeile enthält in der dritten Spalte ein Kontrollfeld.
  +
616
  +
Kapitel 20. Systemsicherheit
  +
Dieses sollte auf den Wert „requisite“ gesetzt werden, so das bei einem Fehler in einem Modul ein Login
  +
verhindert wird.
  +
Zuerst sollte die Unterstützung für MD5 verschlüsselte Passwörter aktiviert werden, um so zu verhindern das
  +
ein Passwort leicht von einem Programm über eine Datenbank ermittelt werden kann. Die folgenden Zeilen
  +
sollten in allen Dateien in /etc/pam.d/ hinzugefügt werden die Zugang zu dem System erlauben,
  +
beispielsweise login und ssh.
  +
password required pam_cracklib.so retry=3 minlen=12 difok=3
  +
password required pam_unix.so use_authtok nullok md5
  +
Der erste Eintrag lädt das Cracklib PAM Modul, welches eine strengere Anforderungen an das verwendete
  +
Passwort stellt. Passwörter müssen mit diesem Modul mindestens 12 Zeichen haben, bei einer
  +
Passwortänderung müssen mindestens drei Zeichen verändert werden. Weiterhin werden nur 3 Login Versuche
  +
erlaubt.
  +
Die zweite Zeile benutzt die Standard Authentifizierung des Unix Systems mit einer MD5 Verschlüsselung und
  +
erlaubt auch leere Passwörter. Die use_authtok Option wird benötigt um das Passwort vom vorhergehenden
  +
Modul zu übernehmen.
  +
Um den Zugriff so zu beschränken das der Benutzer root sich lediglich auf den lokalen Terminal einloggen
  +
kann, muß die folgende Zeile in der Datei /etc/pam.d/login aktiviert werden:
  +
auth requisite pam_securetty.so
  +
Weiterhin müssen die Terminal von denen dem Benutzer root der Zugriff auf das System gewährt werden soll
  +
in die Datei /etc/security/access.conf eingetragen werden. Um auch die eigentlichen Benutzer des
  +
Systems zu beschränken, beispielsweise in der Anzahl der gleichzeitigen Logins, muß noch die folgende Zeile
  +
aktiviert werden:
  +
session required pam_limits.so
  +
In der Datei /etc/pam.d/passwd ist nun noch die erste Zeile zu verändern. Dort muß die Option „md5“
  +
eingetragen werden um mit MD5 verschlüsselte Passwörter zu benutzen. Weiterhin kann die minimale
  +
Passwortlänge beispielsweise von 4 auf 6 Zeichen erhöht werden. Ebenso kann eine maximale Länge gesetzt
  +
werden falls dies gewünscht ist. Schlußendlich sollte die Zeile in etwas wie folgt aussehen:
  +
password required pam_unix.so nullok obscure min=6 max=11 md5
  +
Wenn das Kommando su so geschützt werden soll das es nur von bestimmten Benutzern ausgeführt werden
  +
kann, muß zunächst eine neue Gruppe dem System hinzugefügt werden. Üblich ist es hierzu die Gruppe
  +
„wheel“ zu verwenden, da diese noch nicht existiert und es somit unwahrscheinlich ist das bereits Dateien zu
  +
dieser Gruppe gehören. Dieser Gruppe ist der Benutzer root sowie alle Benutzer die das Kommando su
  +
ausführen sollen, hinzuzufügen. In der Datei /etc/pam/su ist dann folgender Eintrag zu ergänzen:
  +
auth requisite pam_wheel.so group=wheel debug
  +
Somit wird sichergestellt das nur Benutzer die der Gruppe „wheel“ angehören das Kommando su ausführen
  +
können. Alle anderen Benutzer bekommen eine entsprechende Meldung wenn sie versuchen das Kommando
  +
auszuführen.
  +
Wenn nur bestimmten Benutzern eine Authentifizierung über PAM erlaubt werden soll, so ist dies relativ
  +
einfach über Dateien zu erreichen in denen die Benutzer aufgeführt sind denen der Login erlaubt oder verboten
  +
werden soll. Wenn beispielsweise nur dem Benutzer „fr“ der Login über ssh erlaubt werden soll, so muß dieser
  +
617
  +
Kapitel 20. Systemsicherheit
  +
in die Datei /etc/sshusers-allowed eingetragen werden und folgender Eintrag muß der Datei
  +
/etc/pam.d/ssh hinzugefügt werden.
  +
auth required pam_listfile.so item=user sense=allow file=/etc/sshusers-allowed onerr=fail
  +
Zu guter letzt sind folgende Einträge der Datei /etc/pam.d/other hinzuzufügen:
  +
Last, but not least, create /etc/pam.d/other and enter the following lines:
  +
auth required pam_securetty.so
  +
auth required pam_unix_auth.so
  +
auth required pam_warn.so
  +
auth required pam_deny.so
  +
account required pam_unix_acct.so
  +
account required pam_warn.so
  +
account required pam_deny.so
  +
password required pam_unix_passwd.so
  +
password required pam_warn.so
  +
password required pam_deny.so
  +
session required pam_unix_session.so
  +
session required pam_warn.so
  +
session required pam_deny.so
  +
Diese Voreinstellungen sind erst einmal eine sinnvolle Vorgabe, es werden grundsätzlich erstmal alle PAM
  +
Zugriffe verweigert.
  +
Ein Aufmerksamer Blick sollte auch in die Datei /etc/security/limits.conf geworfen werden. Hier
  +
werden Resourcen für die Benutzer des Systems festgelegt.
  +
20.2.2.6. Anpassungen der /etc/inetd.conf
  +
Generell sollten alle nicht benötigten Dienste auf einem System deaktiviert werden. Jeder laufende, nicht
  +
unbedingt benötigte Dienst stellt ein potentielles Risiko dar. Dies betrifft beispielsweise die Dienste echo,
  +
charges, discard, daytime, time, talk, ntalk sowie die extrem unsicheren „r“-Kommandos wie rsh,
  +
rlogin, rcp. Für letztere ist es in jedem Fall besser das Kommando ssh zu benutzen.
  +
Nachdem die nicht benötigten Dienste deaktiviert sind, sollte geprüft werden ob der inetd überhaupt noch
  +
benötigt wird. Dienste können natürlich auch als Daemon gestartet werden statt den inetd zu benutzen. Denial
  +
of Service (DoS) Angriff können auch auf den inetd als Ziel ausgeführt werden und so beispielsweise die
  +
Systemlast eines Rechners in die Höhe treiben. Wenn trotzdem nicht auf den Einsatz eines inetd verzichtet
  +
werden kann, so sollte unter Umständen ein alternativer inetd eingesetzt werden der vielfältiger konfiguriert
  +
werden kann, beispielsweise der xinetd oder der rlinetd.
  +
Veränderungen an der inetd.conf können von Hand vorgenommen werden, Debian bietet aber eine einfach zu
  +
benutzende Alternative dazu: mit dem Programm update-inetd können einzelne Dienste verändert werden.
  +
Beipiel:
  +
/usr/sbin/update-inetd --disable telnet
  +
/etc/init.d/inetd restart
  +
Nach jeder Änderung ist der inetd noch neu zu starten.
  +
Das Kommando update-inetd kennt noch viele andere Optionen, beispielsweise auch um Einträge zu
  +
löschen:
  +
sushi:/home/fr#
  +
Usage: update-inetd [OPTION] MODE ARGUMENT
  +
618
  +
Kapitel 20. Systemsicherheit
  +
Options:
  +
--version output version information and exit
  +
--help display this help and exit
  +
--verbose explain what is being done
  +
--debug enables debugging mode
  +
--multi allow multiple removes/disables
  +
--file FILENAME use FILENAME instead of /etc/inetd.conf
  +
--group GROUPNAME add entry to section GROUPNAME
  +
--comment-chars CHARACTERS use CHARACTERS as comment characters
  +
--pattern PATTERN use PATTERN to select a service
  +
Modes:
  +
--add ENTRY add ENTRY to /etc/inetd.conf
  +
--remove ENTRY remove ENTRY (regular expression)
  +
--enable SERVICE enable SERVICE in /etc/inetd.conf
  +
--disable SERVICE disable SERVICE in /etc/inetd.conf
  +
In order to prevent the shell from changing your ENTRY definition
  +
you have to quote the ENTRY using single or double quotes. You can
  +
use tabs (the tab character or \t) and spaces to separate the fields
  +
of the ENTRY. If you want to enable/disable more than one SERVICE you
  +
can use a comma separated list of services (no whitespace characters
  +
allowed).
  +
20.2.2.7. /etc/login.defs
  +
Nun sollten einige Einstellungen zum Benutzer Login und zur grundsätzlichen Konfiguration vorgenommen
  +
werden.
  +
FAIL_DELAY 10
  +
Diese Variable sollte auf einen höheren Wert gesetzt werden um „Brute-Force“ Angriffe auf einem Terminal zu
  +
erschweren. Wenn ein falsches Passwort eingegeben wird, muß der Benutzer 10 Sekunden warten bis ein neuer
  +
Login Versuch gestartet werden kann. Dies frist einiges an Zeit wenn versucht wird ein Passwort zu erraten.
  +
Diese Einstellung gilt nur wenn getty benutzt wird, bei mingetty beispielsweise ist diese Einstellung ohne
  +
Wirkung.
  +
FAILLOG_ENAB yes
  +
Mit dieser Variablen werden fehlgeschlagene Logins im Logfile verzeichnet. Dies ist wichtig wenn
  +
„Brute-Force“ Angriffe aufgezeichnet werden sollen.
  +
LOG_UNKFAIL_ENAB yes
  +
Wenn die Variable FAILLOG_ENAB auf yes gesetzt wird, so sollte dies Variable auf yes gesetzt werden. Diese
  +
Einstellung schreibt auch unbekannte Benutzernamen bei einem Login ins Logfile. Es ist darauf zu achten das
  +
die entsprechenden Logdateien nicht von allen Benutzern gelesen werden können, da Benutzer häufig anstelle
  +
des Benutzernamens das Passwort eingeben. Damit andere Benutzer diese Datei nicht lesen können sind die
  +
Zugriffsrechte beispielsweise auf 640 zu setzen.
  +
SYSLOG_SU_ENAB yes
  +
Diese Einstellung verzeichnet die Benutzung des Kommandos su im Syslog.
  +
SYSLOG_SG_ENAB yes
  +
619
  +
Kapitel 20. Systemsicherheit
  +
Diese Einstellung erfüllt die gleiche Funktion wie die vorhergehende, jedoch für das Kommando sg.
  +
MD5_CRYPT_ENAB yes
  +
Wie schon beschrieben reduzieren MD5 verschlüsselte Passwörter die Gefahr des erschleichens eines
  +
Passwortes durch entsprechende Software. Wenn auf dem System noch „slink“ (Debian 2.1) eingesetzt wird so
  +
ist vor dem aktivieren dieser Option ein Blick in die Dokumentation zu werfen. Ansonsten wird diese
  +
Einstellung über PAM realisiert.
  +
PASS_MAX_LEN 50
  +
Wenn MD5 Passwörter in der PAM Konfiguration aktiviert sind, so sollte diese Variable auf den gleichen Wert
  +
wie dort gesetzt werden.
  +
20.2.2.8. /etc/ftpusers
  +
Diese Datei enthält eine Liste der Benutzer die nicht per FTP Protokoll einloggen dürfen. Benutzen Sie diese
  +
Datei nur wenn Sie wirklich sicher sind das auf dem System auf tatsächlich ein FTP-Server laufen soll, da per
  +
FTP der Benutzername und das Passwort immer im Klartext übertragen werden. Wenn der benutzte
  +
FTP-Daemon PAM unterstützt, so können auch dort die Benutzer zugelassen oder ausgeschlossen werden.
  +
20.2.2.9. Einsatz eines TCP Wrappers
  +
TCP Wrapper wurde entwickelt als noch keine echten Paketfilter verfügbar waren aber trotzdem eine Kontrolle
  +
notwendig wurde. Ein TCP Wrapper erlaubt oder verbietet die Nutzen eines Dienstes einem Rechner oder einer
  +
Domain. Nähere Informationen finden sich in der Manpage hosts_access(5).
  +
Hier nun vielleicht das kleinste System um Einbruchsversuche zu registrieren. Auf alle Fälle sollte auf jedem
  +
System ein Firewall installiert sein, zusätzlich zu diesem TCP-Wrapper. Dieser kleine Trick schickt bei jedem
  +
verweigerten Zugriff auf auf einen Service eine Mail an den Superuser.
  +
ALL: ALL: spawn ( \
  +
echo -e "\n\
  +
TCP Wrappers\: Connection refused\n\
  +
By\: $(uname -n)\n\
  +
Process\: %d (pid %p)\n\
  +
User\: %u\n\
  +
Host\: %c\n\
  +
Date\: $(date)\n\
  +
" | /bin/mail -s "Connection to %d blocked" root)
  +
Natürlich ist dieses Beispiel nicht perfekt: Bei vielen Verbindungen innerhalb einer kurzen Zeit werden
  +
natürlich auch entsprechend viele E-Mails gesendet, was wiederrum einem DoS-Angriff gleichkommt.
  +
20.2.2.10. Benutzung von su
  +
Sollte es einmal notwendig sein Arbeiten am System als Superuser durchzuführen, so kann das Kommando su
  +
benutzt werden um die benötigten Rechte zu erlangen. Es sollte versucht werden allen Benutzern klarzumachen
  +
das Arbeiten als Superuser nur in Ausnahmefällen gestattet sind. In jedem Fall ist ein Login als root zu
  +
vermeiden und stattdessen das Kommando su zu benutzen. Noch besser ist es jedoch das Kommando su
  +
komplett zu entfernen und stattdessen das Kommando sudo zu benutzen, welche eine ganze Reihe weiterer
  +
Funktionen bietet. su ist aber weithin bekannt da es auch auf vielen anderen Unix Systemen eingesetzt wird.
  +
620
  +
Kapitel 20. Systemsicherheit
  +
20.2.2.11. Benutzung von sudo
  +
sudo erlaubt einem Benutzer Kommandos unter der ID eines anderen Benutzers auszuführen, gegebenenfalls
  +
auch als Superuser. Wenn der Benutzer in der Datei /etc/sudoers aufgeführt ist und sich authentifiziert hat,
  +
können Kommandos ausgeführt werden die ebenfalls in dieser Datei aufgeführt sind. Verletzungen dieser Regel,
  +
wie beispielsweise ein falsches Passwort oder die versuchte Ausführung eines unerlaubten Programmes, werden
  +
aufgezeichnet und per E-Mail an den Superuser (root) geschickt.
  +
20.2.2.12. Benutzung von chroot
  +
chroot ist eine leistungsfähige Möglichkeit um ein Programm oder einen Daemon oder einem Benutzer zu
  +
beschränken. Man kann sich das wie in einem Gefängnis vorstellen aus dem ein Ausbruch unmöglich ist
  +
(normalerweise... aber einige Leute schaffen es ja doch manchmal...). Wenn einem Benutzer nicht vollkommen
  +
vertraut wird, so kann für diesen eine chroot-Umgebung eingerichtet werden. Dies kann einiges an
  +
Plattenplatz beanspruchen wenn alle benötigten Binaries und Bibliotheken in diese Umgebung kopiert werden
  +
müssen. Auch wenn es dem Benutzer gelingt Schaden anzurichten, so bleibt dieser auf die beschränkte
  +
Umgebung beschränkt.
  +
Ein gutes Beispiel für eine solche Anwendung ist folgende: die Authentifizierung erfolgt nicht gegen die Datei
  +
/etc/passwd sondern gegen LDAP oder/und eine MySQL Datenbank. Ein verwendeter FTP-Daemon benötigt
  +
das Binary und ein paar Bibliotheken. Hier bildet eine chroot-Umgebung eine excellente Verbesserung der
  +
Sicherheit, falls eine Sicherheitslücke in diesem FTP Daemon auftaucht. In diesem Fall ist lediglich die
  +
Benutzer-ID des FTP-Daemons betroffen und keine anderen Benutzer des Systems. Natürlich können auch viele
  +
andere Dienste von solch einer Umgebung profitieren.
  +
Als Hinweiß: Bisher wird bei keiner Debian Version eine chroot-Umgebung für die Dienste und Server
  +
verwendet.
  +
20.2.2.13. Kernel Features
  +
Viele Funktionen des Kernel können während der Laufzeit verändert werden, beispielsweise indem mit dem
  +
Kommando echo ein Wert in die entsprechenden Datei geschrieben wird, oder mit dem Kommando sysctl.
  +
Mit dem Kommando sysctl -A kann angezeigt werden welche Einstellungen verändert werden können und
  +
welche Optionen verfügbar sind. In seltenen Fällen muß etwas verändert werden, aber auf diesem Weg kann die
  +
Sicherheit des Systems erhöht werden.
  +
/proc/sys/net/ipv4/icmp_echo_ignore_broadcasts = 0
  +
Wird diese Variable auf den Wert 1 gesetzt, so verhält sich das System nach aussen wie ein Windows System
  +
wenn ein Broadcast ping das System erreicht.
  +
/proc/sys/net/ipv4/icmp_echo_ignore_all = 0
  +
Wenn ICMP Pakete auf dem Firewall nicht geblockt werden sollen, so ist dieser Wert auf 1 zu setzen.
  +
/proc/sys/net/ipv4/tcp_syncookies = 1
  +
Diese Option ist ein zweischneidiges Schwert: Auf der einen Seite schützt es gegen „Syn-Flooding“ Atacken,
  +
auf der anderen Seite entspricht dies nicht den RFCs. Diese Option beschäftigt die angreifende Seite ebenso mit
  +
„Syn-Floods“ so das diese ebenso beschäftigt ist. Diese Option kann auch in /etc/network/options
  +
verändert werden, indem die Option syncookies auf yes gesetzt wird.
  +
/proc/sys/net/ipv4/conf/all/log_martians = 1
  +
621
  +
Kapitel 20. Systemsicherheit
  +
Mit dieser Option werden Pakete mit unerlaubten Adresse, beispielsweise wegen eines fehlerhaften Routings,
  +
im Netzwerk geloggt.
  +
20.2.2.14. Benutzung der svgalib
  +
SVGAlib ist eine schöne Einrichtung für Liebhaber der Konsole, in der Vergangenheit hat es sich jedoch gezeigt
  +
das immer wieder Sicherheitslücken bekannt geworden sind. Sicherheitslücken in zgv wurden bekannt mit
  +
denen Superuser Rechte erlangt werden konnten. Wenn möglich sollte auf die Verwendung der SVGAlib
  +
verzichtet werden.
  +
20.2.2.15. Sichere Übertragung von Dateien
  +
Die Übertragung zwischen zwei Rechnern sollte auf keinen Fall mit Programmen wie ftp oder rcp erfolgen,
  +
da diese den Benutzernamen und das Passwort unverschlüsselt übertragen. Als sichere Alternative steht scp zur
  +
Verfügung welches im Paket ssh enthalten ist. Hier werden sowohl Benutzername als auch Passwort und auch
  +
die Daten selber in verschlüsselter Form übertragen.
  +
20.2.2.16. Benutzung von Quotas
  +
Eine saubere Definition von Benutzerquotas ist wichtig um zu verhindern das Benutzer ein komplettes
  +
Dateisystem mit Daten füllen können.
  +
Es können grundsätzlich zwei verschieden Quota Systeme eingesetzt werden - Benutzer- oder
  +
Gruppen-orientierte Quotas. Dies ist bei der Planung zu berücksichtigen.
  +
Einige Punkte sind bei der Benutzung von Quotas zu beachten:
  +
• Quotas sollten in Summe so klein gewählt werden das nicht der gesammte Plattenplatz belegt werden kann.
  +
• Quotas sollten so groß gewählt werden das die Benutzer nicht in der Arbeit behindert werden, beispielsweise
  +
sollte das Spoolverzeichnis für Mail nicht zu knapp bemessen werden.
  +
• Quotas müssen auf allen, von Benutzern beschreibbaren Bereichen eingerichtet werden, beispielsweise
  +
/home und /tmp.
  +
Für jede Partition, bzw. jedes Verzeichnis, auf das Benutzer einen Schreibzugriff haben, sollten Quotas aktiviert
  +
werden. Für diese Bereiche ist ein sinnvoller Wert zu errechnen der eine Balance zwischen Sicherheit und
  +
Benutzbarkeit des Systems schafft.
  +
Doch nun zur Benutzung von Quotas: Zunächst muß geprüft werden ob im Kernel die Quota Unterstützung
  +
aktiviert ist. Wenn dies nicht der Fall ist, muß ein neuer Kernel erzeugt werden. Danach ist zu prüfen ob das
  +
Paket quota installiert ist, ggf. ist dies zu installieren.
  +
Quotas werden aktiviert indem in der Datei /etc/fstab der Eintrag für das entsprechende Dateisystem in der
  +
Spalte „Options“ um den Eintrag usrquota erweitert wird.Wenn statt Benutzer-Quota, Gruppen-Quota benutzt
  +
werden sollen, lautet der Eintrag grpquota. Natürlich können auch beide gleichzeitig verwendet werden. Nun
  +
muß im Root-Verzeichnis des Dateisystems eine leere Datei quota.user und quota.group erzeugt werden.
  +
Das Quota System muß nun neugestartet werden, dies geschieht durch die Kommandos /etc/init.d/quota
  +
stop und /etc/init.d/quota start. Nun können die gewünschten Grenzwerte gesetzt werden.
  +
Um die Quota für einen Benutzer (beispielsweise fr) zu setzen, wird das Kommando edquota -u fr benutzt.
  +
Gruppen-Quota werden mit dem Kommando edquota -g gruppe gesetzt. Nun können die Grenzwerte für
  +
„soft“ und „hard“ sowie für die Inodes gesetzt werden.
  +
20.2.2.17. Zugriffsrechte von Logdateien
  +
Einige Logdateien sind nach der Installation nicht perfekt. Zunächst ist es nicht notwendig das die Dateien
  +
/var/log/lastlog und /var/log/faillog von jedem Benutzer gelesen werden können. In der Datei
  +
lastlog sind Benutzer verzeichnet die sich in der letzten Zeit am System angemeldet haben, in der Datei
  +
faillog finden sich fehlgeschlagene Loginversuche. Bei beiden Dateien sollten die Zugriffsrechte auf 660
  +
622
  +
Kapitel 20. Systemsicherheit
  +
verändert werden. Prüfen Sie genau ob Logdateien mit unnötigen Zugriffsrechten versehen sind. Meist sind
  +
Lese- und Schreibrechte für den Superuser und für die Gruppe adm oder root ausreichend.
  +
20.2.2.18. setuid Überprüfungen
  +
Debian wird mit einem täglichen Cronjob installiert welcher in /etc/cron.daily/standard zu finden ist.
  +
Der Aufruf von /usr/sbin/checksecurity führt eine Überprüfung des Systems auf Änderungen des
  +
setuid Flags an allen Dateien auf dem System durch.
  +
Um diesen Check zu aktivieren muß die Variable CHECKSECURITY_DISABLE in der Datei
  +
/etc/checksecurity.conf auf FALSE gesetzt sein. Dies ist auch die Voreinstellung, so das hier eigentlich
  +
keine Änderungen erforderlich sind.
  +
20.2.2.19. chattr / lsattr
  +
Diese beiden Kommandos sind, auf einem ext2-Dateisystem sehr sinnvoll. Mit lsattr können die Attribute
  +
einer Datei angezeigt werden, mit chattr können diese verändert werden. Attribute unterscheiden sich von
  +
Zugriffsrechten! Es gibt viele verschiedene Attribute, hier werden nur die Sicherheitsrelevanten aufgeführt.
  +
Zwei Attribute können nur vom Superuser gesetzt werden.
  +
Zunächst wäre das „a“-Flag zu nennen. Wenn diese Attribut gesetzt ist können an die entsprechende Datei nur
  +
Daten angehängt (append) werden. Dieses Attribut kann auf einige Dateien in /var/log/ angewendet werden,
  +
beachten Sie jedoch das einige Dateien von Zeit zu Zeit rotiert werden.
  +
Das zweite wichtige Flag ist „i“, welches für „immutable“ steht. Wenn diese Flag gesetzt wird kann eine Datei
  +
weder verändert, gelöscht oder umbenannt werden. Auch kann kein Link auf diese Datei erzeugt werden. Wenn
  +
Benutzern die Einsicht in Logdateien verwehrt werden soll, so kann diese Flag gesetzt werden und die
  +
Leserechte können entfernt werden. Dies bietet auch eine etwas höhere Sicherheit gegen Eindringlinge, da
  +
dieser sich sicher darüber wundert das die Datei nicht gelöscht werden kann. Trotzdem sollten Sie sich nicht
  +
darauf verlassen das ein Eindringling diese Funktion nicht kennt. In jedem Fall ist es ihm zu diesem Zeitpunkt
  +
bereits gelungen in das System einzudringen...
  +
20.2.2.20. Integrität des Dateisystems
  +
Sind Sie sicher das die, auf einem bereits seit Wochen oder Monaten ans Internet angeschlossenen System,
  +
installierten Programme noch die urspünglichen sind? Oder kann es sein das bereits das Programm
  +
/bin/login durch eine veränderte Variante ersetzt wurde, die einen unbemerkten Login als Superuser
  +
erlaubt...?
  +
Die einzige Methode ein System gegen solche Veränderungen zu schützen, ist die installierten Dateien täglich,
  +
wöchentlich oder beispielsweise monatlich (je häufiger dieser Test durchgeführt wird, umso weniger Zeit bleibt
  +
einem Eindringling auf dem System zu agieren) mittels eine Checksumme zu prüfen und diese mit vorab
  +
gespeicherten Werten zu vergleichen.
  +
Pakete die einen regelmäßigen Check der installierten Pakete ermöglichen sind: sXid, AIDE (Advanced
  +
Intrusion Detection Environment) und Tripwire (die aktuelle Version befindet sich im Bereich non-free, eine der
  +
nächsten Versionen wird unter der GPL stehen).
  +
Mit dem Paket debsums können alle MD5-Checksummen der installierten Pakete mit der Original
  +
Checksumme der Dateien in den Ursprungspaketen verglichen werden.
  +
Mittels debsums -a können alle Pakete des Systems oder aber mit debsums paketname bestimmte Pakete
  +
hinsichtlich der Checksummen überprüft werden. Hierbei ist zu beachten das es einem versierten Eindringling
  +
durchaus möglich ist auch diese Kontrolle der Checksummen zu beeinflussen. Die ursprünglichen
  +
Checksummen der Pakete liegen in den Dateien /var/lib/dpkg/info/paketname.md5sums und können
  +
von Angreifer auch angepasst werden. Eine höhere Sicherheit bietet wie schon erwähnt das Paket tripwire.
  +
623
  +
Kapitel 20. Systemsicherheit
  +
20.2.2.21. locate und slocate
  +
Um die Sicherheit des Programmes locate zu erhöhen, kann alternativ das Programm slocate verwendet
  +
werden. slocate ist eine verbesserte Version von locate aus dem GNU Projekt. Wenn slocate verwendet
  +
wird, werden dem Benutzer nur Dateien angezeigt auf die dieser Benutzer auch tatsächlich Zugriff hat.
  +
Weiterhin können per Konfiguration auch Dateien und Verzeichnisse gezielt ausgeschlossen werde, so das diese
  +
nicht von locate in der Datenbank erfasst werden.
  +
20.2.3. Sichere Dienste
  +
20.2.3.1. ssh
  +
Ssh sollte generell für alle Remote-Logins auf einem System eingesetzt werden. Wenn Sie noch telnetd
  +
einsetzen, so ändern Sie dies jetzt sofort. Heutzutage ist es sehr einfach den Netzwerkverkehr mitzuschneiden
  +
und so an unverschlüsselte Benutzernamen und Passwörter zu gelangen. Die Verwendung von Programmen die
  +
keine verschlüsselte Kommunikation erlauben verbietet sich somit von selbst. Auch der Einsatz von
  +
hochwertigen Netzwerkkompenenten wie Switches erlaubt Angreifern das „mitlauschen“ auf den
  +
angeschlossenen Ports! Die meisten Switches schalten bei zu hoher Last einfach das „switching“ ab und
  +
arbeiten wie ein normaler Hub! Verlassen Sie sich nie auf diese Komponenten, sorgen Sie selbst für Sicherheit.
  +
Das Paket ssh kann mit dem Kommando apt-get install ssh schnell und einfach installiert werden.
  +
Nun sollten alle Benutzer angewiesen werden ausschliesslich ssh und keinesfalls telnet zu benutzen. Wenn
  +
möglich deinstallieren Sie telnet. Auch sollte ein Login als Superuser unmöglich gemacht werden, um
  +
Superuser Rechte zu erlangen können die Kommandos su oder besser sudo benutzt werden.
  +
Auch die Konfiguration des ssh Daemons kann zur Erhöhung der Sicherheit noch verbessert werden. In der
  +
Datei /etc/ssh/sshd_config verbietet folgende Zeile einen Login via ssh als Superuser:
  +
PermitRootLogin No
  +
Dies verhindert das per Brute-Force Angriff ein Login als Superuser möglich ist, da kein Login als Superuser
  +
erlaubt wird. Es sind nun zwei Login-Vorgänge (zunächst als Benutzer, dieser muss dann noch Superuser
  +
werden) notwendig.
  +
Listen 666
  +
Wenn der Port auf dem der ssh Daemon läuft verändert wird, so kann dies einen potentiellen Angreifer auch
  +
etwas beschäftigen. Es stehen aber verschiedene Netzwerktools zur Verfügung mit deren Hilfe schnell und
  +
einfach ermittelt werden kann auf welchem Port ein Dienst läuft. Verwenden Sie hier nicht zuviel Ehrgeiz...
  +
PermitEmptyPasswords no
  +
Leere Passwörter sollte ebenfalls verhindert werden.
  +
AllowUsers alex geka fr
  +
Mit dieser Option wird nur bestimmten Benutzern der Login via ssh erlaubt.
  +
AllowGroups wheel admin
  +
Gleichermassen wird mit dieser Direktive nur bestimmten Gruppen der Zugriff per ssh erlaubt.
  +
624
  +
Kapitel 20. Systemsicherheit
  +
Um Benutzern oder Gruppen expliziert den Zugriff zu verbieten, stehen die Optionen DenyUsers und
  +
DenyGroups zur Verfügung.
  +
PasswordAuthentication no
  +
Wird diese Option auf „no“ gesetzt, so ist der Login nur Benutzern gestattet deren ssh-Key der Datei
  +
~/.ssh/authorized_keys hinzugefügt wurde. Diese Einstellung ist sehr empfehlenswert! Bei Verwendung
  +
eines Key wird das Passwort nicht mehr von Client zum Server übermittelt. Die Authorisierung wird anhand
  +
eines Hashes geprüft und der Client erhält lediglich die Freigabe für den Server, oder auch nicht.
  +
Weiterhin ist der SSH Daemon so einzustellen das auschliesslich das Protokoll der Version 2 verwendet wird.
  +
Die Protokollversion 1 ist nach aktuellem Kenntnisstand als angreifbar anzusehen und sollte nicht mehr
  +
verwendet werden.
  +
Alle diese Optionen beziehen sich auf die Konfigurationsdateien von OpenSSH. Momentan sind drei ssh-Pakete
  +
im Umlauf: ssh1, ssh2 und OpenSSH, welches vom OpenBSD Team entwickelt wurde. OpenSSH ist eine
  +
komplett freie Implementation eines SSH Daemons, welche sowohl ssh1 als auch ssh2 unterstützt. Wenn das
  +
Paket „ssh“ installiert wird, so wird das Paket OpenSSH gewählt.
  +
20.2.3.2. FTP
  +
Wenn auf dem System tatsächlich ein FTP Server installiert werden muß, so ist sicherzustellen das die Benutzer
  +
sich in einer „chroot“ Umgebung bewegen. Diese hält den Benutzer in seinem Homeverzeichnis gefangen,
  +
ansonsten könnte er sich frei im Dateisystem bewegen.
  +
Mit der Option
  +
DefaultRoot ~
  +
im Globalen Abschnitt der Datei /etc/proftpd.conf kann dies sichergestellt werden. Danach ist der Server
  +
mit /etc/init.d/proftpd restart von der Veränderung der Konfiguration zu unterrichten.
  +
20.2.3.3. X Anwendungen im Netz
  +
Um X Anwendung von einem Server aus auf einem Client darzustellen, ist zunächst auf dem Client das öffnen
  +
der Anwendung durch den Server zu erlauben. Vielfach ist zu lesen das dies durch das Kommando xhost +
  +
geschieht. Dies ist auch prinzipiell nicht falsch, erlaubt jedoch jedem System den Zugriff auf das X-Display.
  +
Besser ist es den Zugriff nur von den gewünschten Systemen aus zu erlauben, indem der entsprechende
  +
Rechnername dem Kommando als Option mitgegeben wird, also beispielsweise xhost +sushi.
  +
Eine deutlich sicherere Lösung ist es allerdings die komplette Session über ssh und damit verschlüsselt, zu
  +
tunneln. Dies erfolgt automatisch wenn eine ssh Verbindung zu einem System aufgebaut wird. Soll diese
  +
Funktion abgeschaltet werden, so ist die Option X11Forwarding in der ssh Konfiguration anzupassen. In
  +
Zeiten von ssh sollte auf die Verwendung von xhost komplett verzichtet werden.
  +
Wenn keinerlei Zugriff auf den X-Server von anderen Systemen im Netz erlaubt werden soll, so ist es das
  +
sicherste dies bereits beim Start von X zu verhindern indem der TCP Port 6000 deaktiviert wird. Wenn X über
  +
das Kommando startx gestartet wird, so kann dies mit: startx -- -nolisten tcp geschehen.
  +
20.2.3.4. Display Manager
  +
Wenn der Displaymanager (das Programm welches einen grafischen Login beritstellt) nur auf dem lokalen
  +
System benötigt wird, so ist sicherzustellen das XDMCP (X Display Manager Control Protocol) deaktiviert ist.
  +
Wenn das Programm xdm benutzt wird kann dies durch die Zeile
  +
DisplayManager.requestPort: 0
  +
625
  +
Kapitel 20. Systemsicherheit
  +
in der Datei /etc/X11/xdm/xdm-config geschehen.
  +
Die XDMCP Unterstützung ist bei der Grundinstallation alle Display Manager unter Debian deaktiviert.
  +
20.2.3.5. E-Mail
  +
Das lesen bzw. empfangen von E-Mail mittels POP3 ist das am häufigsten eingesetzte Protokoll ohne
  +
Verschlüsselung. Unabhängig davon ob POP3 oder IMAP als Protokoll verwendet wird, beide benutzen
  +
Benutzernamen und Passwörter im Klartext und auch die Daten werden unverschlüsselt übertragen. Als
  +
Alternative kann auch hier ssh verwendet werden, falls ein Shell-Account auf dem Rechner vorhanden ist.
  +
Mittels fetchmail kann über ssh eine verschlüsselte Verbindung aufgebaut werden, hierzu eine
  +
entsprechende .fetchmailrc:
  +
poll my-imap-mailserver.org via "localhost"
  +
with proto IMAP port 1236
  +
user "ref" there with password "hackme" is alex here warnings 3600
  +
folders
  +
.Mail/debian
  +
preconnect ’ssh -f -P -C -L 1236:my-imap-mailserver.org:143 -l ref
  +
my-imap-mailserver.org sleep 15 < /dev/null > /dev/null’
  +
Die wichtigste Zeile ist der „preconnect“ Eintrag. Dieser startet eine ssh Session und installiert einen Tunnel
  +
welcher automatisch die Verbindungen zum IMAP Server auf Port 1236 weiterreicht, verschlüsselt. Alternativ
  +
kann fetchmail auch mit SSL benutzt werden.
  +
Wenn verschlüsselte IMAP und POP3 Server zur Verfügung gestellt werden sollen, so ist das Paket stunnel zu
  +
installieren. Die Daemonen müssen dann über stunnel -p /etc/ssl/certs/stunnel.pem -d pop3s
  +
-l /usr/sbin/popd gestartet werden, wobei -l den gewünschten Daemon und -d den Port beschreibt. Die
  +
Option -p setzt das SSL Zertifikat.
  +
Mittlerweile sind auch POP und IMAP Server verfügbar die über Verschlüsselungsfunktionen mittels SSL
  +
verfügen. Als Server für das POP Protokoll wäre hier apop zu nennen.
  +
20.2.3.6. loghost - ein Server für Logdateien
  +
Ein „loghost“ ist ein Rechner auf dem Daten aus dem Syslog verschiedener Rechner remote gespeichert
  +
werden. Wenn ein Eindringling ein System geknackt hat, so ist es ihm unmöglich die Spuren aus den
  +
Logdateien zu entfernen, ausser er knackt auch noch den loghost. Somit sollte speziell ein solcher loghost gut
  +
abgesichert sein. Um ein System zu einem loghost umzuwandeln muß lediglich der syslog Daemon mit der
  +
Option -r gestartet werden. Natürlich muss aber auch auf allen Rechnern die nun die Daten auf diesem loghost
  +
abliefern sollen eine Anpassung erfolgen. Auf diesen Systemem sind in der Datei /etc/syslog.conf
  +
folgende Einträge hinzuzufügen:
  +
facility.level @loghost
  +
Das Feld „facility“ kann dabei den Wert authpriv, cron, cron, daemon, kern, lpr, mail, news, syslog,
  +
user, uucp oder local1 bis local7 annehmen. Als „level“ kann alert, crit, err, warning, notice oder
  +
info angegeben werden. Hinter dem Zeichen „@“ ist der Name des loghosts anzugeben.
  +
Wenn generell alle Einträge auf dem entfernten System gelogt werden sollen, so führt folgende Zeile zum
  +
Erfolg:
  +
*.* @loghost
  +
626
  +
Kapitel 20. Systemsicherheit
  +
Im Idealfall wird man die Logdateien sowohl auf dem lokalen System als auch auf dem Loghost speichern um
  +
durch vergleichen der Dateien schneller zu Ergebnis zu kommen. Weitere Informationen finden sich in den
  +
Manpages zu syslog(3), syslogd(8) und syslog.conf(5).
  +
20.2.3.7. BIND
  +
Auf einem unveränderten System läuft der Nameserver BIND nach der Installation mit den Rechten des
  +
Benutzers und der Gruppe „root“. BIND kann sehr leicht umkonfiguriert werden, so daß er unter einer anderen
  +
Benutzer ID läuft. Leider kann er dann nicht mehr automatisch neue Netzwerkdevices erkennen die während
  +
des laufenden Betriebes hinzugefügt wurden, beispielsweise eine PCMCIA Netzwerkkarte in einem Notebook
  +
oder auch virtuelle Netzwerkdevices.
  +
In der Datei README.Debian des Nameservers finden sich weitere Informationen wie BIND unter einer
  +
anderen Benutzer ID zu laufen zu bringen ist. Wenn möglich sollte darauf verzichtet werden BIND mit
  +
Superuserrechten zu benutzen.
  +
Um BIND mit einer anderen Benutzer ID zu starten muß zunächst ein neuer Benutzer und eine entsprechende
  +
Gruppe angelegt werden. Es kann beispielsweise als Benutzername und Gruppe der Name „named“ benutzt
  +
werden.
  +
Hierzu sind folgende Kommandos notwendig
  +
addgroup named
  +
adduser --system --ingroup named named
  +
Nun muß in der Datei /etc/init.d/bind der Eintrag
  +
start-stop-daemon --start
  +
in
  +
start-stop-daemon --start --quiet --exec /usr/sbin/named -- -g named -u named
  +
geändert werden.
  +
Natürlich ist BIND nun noch mit /etc/init.d/bind stop und /etc/init.d/bind start neuzustarten.
  +
Dabei sollten im syslog (/var/log/syslog) in etwa folgender Eintrag auftauchen:
  +
Jul 8 23:21:01 sushi named[12432]: group = named
  +
Jul 8 23:21:01 sushi named[12432]: user = named
  +
Damit ist die Umstellung abgeschlossen. Idealerweise kann BIND nun noch in einer „chroot“ Umgebung
  +
betrieben werden.
  +
20.2.3.8. snort
  +
snort ist ein flexibler Packet Sniffer welcher verschiedenste Angriff ermitteln kann. Hierzu gehören Buffer
  +
Overflows, CGI Angriffe, SMB Angriffe und vieles mehr. Snort kann Alarmierungen in Echtzeit durchführen.
  +
Dieses Programm sollte auf jedem Router installiert sein um jederzeit das Netzwerk zu überwachen. Die
  +
Installation erfolgt mit einem apt-get install snort, beantworten Sie die Fragen und werfen Sie dann
  +
einen Blick auf die Logdateien.
  +
627
  +
Kapitel 20. Systemsicherheit
  +
20.2.4. Vor einem Einbruch
  +
20.2.4.1. Debian Sicherheits Updates
  +
Unmittelbar nach jeder neuen Debian GNU Installation, beispielsweise von CD, sollten die neuesten
  +
verfügbaren Security-Updates installiert werden. Durch die notwendigen Vorlaufzeiten bei der Produktion von
  +
CDs sind diese natürlich nicht immer auf dem neuesten Stand. Natürlich ist es nicht ausreichend ein solches
  +
Update einmalig auszuführen, vielmehr müssen diese Updates in regelmäßigen Abständen durchgeführt
  +
werden. Dies verhindert das Software mit bekannten Sicherheitslücken über längere Zeit im laufenden Betrieb
  +
verwendet wird.
  +
20.2.4.2. Austausch von Software
  +
Zunächst sollten alle Netzwerkdienste deren Passwörter im Klartext übertragen werden, deaktiviert, bzw. gegen
  +
Versionen mit verschlüsselter Kommunikation ausgetauscht werden. Dies betrifft Dienste wie
  +
FTP/Telnet/NIS/RPC usw..
  +
Auch sollte auf die Verwendung von NIS (Network Information Service) verzichtet werden. Bei einer
  +
fehlerhaften Konfiguration kann es leicht zu Sicherheitslücken kommen.
  +
Auch sollte RPC deaktiviert werden soweit es möglich ist. Für diesen Dienst sind eine ganze Reihe von
  +
Sicherheitslücken bekannt. Natürlich wird grade NFS häufig verwendet und stellt in vielen Netzen einen
  +
wichtigen Basisdienst dar. Hier gilt es einen Kompromiss zwischen Sicherheit und Benutzbarkeit der
  +
Netzwerkdienste zu finden. Viele DDoS (Distributed Denial of Service) Angriffe benutzen RPC
  +
Sicherheitslücken um Systeme zu sogenannten „Agents“ oder „Handlern“ umzuwandeln.
  +
Das deaktivieren des Portmapers ist relativ einfach, wie für jede Lösung gibt es auch hier verschiedene Wege.
  +
Auf einem Debian System ist der einfachste Weg sicherlich ein update-rc.d portmap remove. Dieses
  +
Kommando löscht jeden symbolischen Link auf den Portmaper in /etc/rc${runlevel}.d/. Dies kann
  +
natürlich auch auf herkömlichem Wege von Hand erledigt werden. Eine weitere, nicht ganz elegante,
  +
Möglichkeit ist es die Zugriffsrechte so zu ändern das das Script nicht mehr ausführbar ist, mittels: chmod 644
  +
/etc/init.d/portmap. Dies würde jedoch zu einer Fehlermeldung beim Start des Systems führen.
  +
Natürlich macht es nur wenig Sinn lediglich einen Teil der Dienste von unverschlüsselter auf verschlüsselte
  +
Kommunikation umzustellen, hier sollte der Systemadministrator konsequent durchgreifen. Generell sollten die
  +
Dienste ftp, telnet, pop, imap, http entfernt und durch die entsprechenden Dienste mit verschlüsselter
  +
Kommunikation (ftp-ssl, telnet-ssl, pop-ssl, https) ersetzt werden.
  +
20.2.4.3. Kernel Patches
  +
Im Netz sind einige Kernel Patches verfügbar die nicht Bestandteil des Standard Linux Kernels sind, dessen
  +
Sicherheit aber verbessern. Vor dem Einsatz ist im Einzelfall zu prüfen ob der gewünschte Patch nicht schon in
  +
den gewünschten Kernel eingeflossen ist. Auch erhebt die Auflistung natürlich keinerlei Anspruch auf
  +
Vollständigkeit.
  +
• OpenWall Patch von „Solar Designer“ Eine Sammlung von Patches die beispielsweise Links beschränken,
  +
FIFOs in /tmp/ unterbinden, das /proc-Dateisystem schützen, die Behandlung von Datei-Descriptoren
  +
ändern und einiges andere verändern. Momentan werden Kernel der Serien 2.0, 2.2 und 2.4 unterstützt.
  +
Detailierte Informationen finden sich auf der Homepage http://www.openwall.com/linux/.
  +
• LIDS - Linux intrusion detection system von Huagang Xie und Philippe Biondi. Dieser Patch vereinfacht die
  +
Sicherung eines Linux Systems. Jeder Prozess kann beschränkt werden, indem Lese- und
  +
Schreibberechtigungen auf Dateien vergeben werden können. Weiterhin können je Prozess „Capabilities“
  +
gesetzt werden. Zum Einsatz von LIDS auf Debian GNU Systemen gibt es eine spezielle Seite im Netz unter
  +
http://netzwurm.cc/computer/lids.html. Dort findet sich neben einem vorkonfigurierten Kernel auch ein Paket
  +
mit dem Administrationstool. Dieser Patch findet sich auf der Homepage des Projektes unter
  +
http://www.lids.org.
  +
• POSIX Access Control Lists (ACLs) für Linux. Dieser Patch erweitert den Kernel um Access Control Lists
  +
(ACLs), eine Methode um den Zugriff auf Dateien detailierter beschränken zu können. http://acl.bestbits.at
  +
628
  +
Kapitel 20. Systemsicherheit
  +
• Linux trustees. Mit diesem Patch wird ein erweitertes System mit Zugriffsrechten dem Kernel hinzugefügt.
  +
Alle Objekte werden im Kernel Speicher gehalten, so das ein schneller Zugriff möglich ist. Homepage:
  +
http://www.braysystems.com/linux/trustees.html.
  +
• International kernel patch. Dieser Patch implementiert cryptografische Dateisysteme im Kernel. Es sind in
  +
einigen Ländern die entsprechenden Gesetze zu beachten. Homepage: http://www.kerneli.org.
  +
• SubDomain. Mit diesem Patch kann eine noch sicherere chroot Umgebung aufgesetzt werden. Die für die
  +
Umgebung benötigten Dateien können einzeln angegeben werden und müssen nicht mit einkompiliert
  +
werden. Homepage: http://www.immunix.org/subdomain.html.
  +
• UserIPAcct. Dieser Patch bezieht sich nicht direkt auf die Sicherheit eines Systems, erhöht aber die
  +
Komtrolle über die unberechenbaren Benutzer. Hiermit können Quotas, bezogen auf den Benutzer, für den
  +
Netzwerktraffic vergeben werden. Statistiken sind ebenfalls verfügbar. Homepage:
  +
http://rsmeyers.3ti.org/useripacct.
  +
• FreeS/WAN. Um IPSec zusammen mit dem Linux Kernel verwenden zu können wird dieser Patch benötigt.
  +
Hiermit können VPNs (Virtual Private Network) sehr leicht aufgesetzt werden, zur Not auch mit Windows
  +
Rechnern auf der Gegenseite. IPSec ist der für VPNs eingebürgerte Standard. Homepage:
  +
http://www.freeswan.org.
  +
20.2.4.4. Weitere Möglichkeiten
  +
Im folgenden einige Gedanken wie bisher gesagtes weiterhin umgesetzt werden kann.
  +
PAM ist durch den modularen Aufbau in der Lage die verschiedensten Authentifizierung Medien zu nutzen.
  +
Wie wäre es mit einem Scanner für Fingerabdrücke oder einem Iris-Scanner?
  +
Alle bisherigen Logfiles wurden auch in Files geschrieben. Diese können von einem Angreifer natürlich
  +
verändert oder gelöscht werden, auch wenn diese auf anderen Rechnern gespeichert werden. Logfiles die auf
  +
einem Drucker mit Endlospapier ausgegeben werden können nicht gelöscht werden!
  +
Um das löschen oder das verändern von Dateien zu verhindern kann ein komplettes System einmalig
  +
konfiguriert werden und dann auf eine bootfähige CD-ROM geschrieben werden. Natürlich sind so noch
  +
Angriffe auf das System möglich, es können aber keine Daten verändert, oder zusätzliche Programme installiert
  +
werden. Für ein Firewall System ist dies beispielsweise eine sinnvolle Möglichkeit das System zu schützen.
  +
Kernel Module: wenn möglich sollten alle Kernel Treiber nicht als Module übersetzt werden. Dann kann die
  +
Möglichkeit Module zu laden komplett deaktiviert werden. So können viele Angriffe abgewehrt werden. Auch
  +
hier gilt: nicht benutzte Funktionen sind abzuschalten.
  +
20.2.5. Nach einem Einbruch...
  +
Nach einem Einbruch gibt es nicht viel zu tun. Das System ist sofort vom Netz zu nehmen und komplett neu zu
  +
installieren. Einfach, nicht war? Natürlich gilt es herauszufinden wie der Eindringling auf das System
  +
gekommen ist. Dies geschieht in einer abgeschotteten Umgebung, also ohne Netzzugang für das betroffene
  +
System. Es sind zur späteren weiteren Analyse alle Daten auf einem geeigneten Medium zu sichern.
  +
Gegebenenfalls ist eine Meldung an ein CERT zu erstellen und dort der Einbruch zu melden. Ist eine
  +
Strafverfolgung des Einbruchs vorgesehen oder geplant, so ist ggf. auf professionelle Unterstützung
  +
zurückzugreifen.
  +
Weiterhin sind auf dem neuen System alle notwendigen, vorab beschriebenen Sicherheitsvorkehrungen zu
  +
treffen.
  +
629
  +
Kapitel 21. Anpassen und Erzeugen von Debian
  +
Paketen
  +
Wenn Sie sich schon einige Zeit intensiver mit Debian auseinandergesetzt haben, so kommt vielleicht der
  +
Wunsch auf, eigene Pakete für das lokale System zu erzeugen. Vielleicht wollen Sie aber auch Pakete für
  +
Freunde bereitstellen oder sogar an der Debian Entwicklung teilhaben. Auch wenn es bei einigen tausend
  +
Debian Paketen schwer fällt, für einen Anwendungsbereich keine passende Software zu finden, so kann es doch
  +
sinnvoll sein, bestehende Pakete anzupassen (beispielsweise mit einer entsprechenden Konfiguration für das
  +
lokale Netzwerk) oder gar komplett neue Pakete zu erzeugen, die noch nicht als Debian Paket verfügbar sind.
  +
Für beide Probleme finden Sie in diesem Abschnitt eine Lösung.
  +
21.1. Debian Pakete anpassen
  +
Das Anpassen von vorhandenen Debian Paketen kann aus verschiedenen Gründen sinnvoll sein. Es kann
  +
vorkommen, dass ein Paket auf der verwendeten Release Version von Debian (noch) nicht verfügbar ist, dass
  +
andere Flags zur Übersetzung mit dem Compiler verwendet werden sollen, oder dass das Paket auf einer
  +
anderen Hardwarearchitektur benutzt werden soll. Auch Anpassungen an den Init-Scripten sind unter
  +
Umständen sinnvoll.
  +
Zunächst sind von dem gewünschten Paket die entsprechenden Dateien mit den Endungen .dsc (Description /
  +
Beschreibung), .diff.gz (die für Debian vorgenommenen Änderungen) und .tar.gz (die eigentlichen
  +
Sourcen des Programmes) von Debian FTP Server zu holen. Für das Paket „gato“ finden sich auf dem Debian
  +
FTP-Server im Verzeichnis /debian/dists/woody/main/source/admin die Dateien
  +
gato_0.6.4-2.diff.gz, gato_0.6.4-2.dsc und gato_0.6.4.orig.tar.gz.
  +
Im nächsten Schritt sind die Sourcen des Paketes zu entpacken. Dies geschieht nicht wie sonst bei
  +
Sourcepaketen üblich mit dem Kommando tar (dieses würde lediglich die Original Sourcen entpacken)
  +
sondern mit dem Kommando dpkg-source -x *.dsc. Hierbei werden zusätzlich die für das Debian Paket
  +
vorgenommenen Veränderungen (Patches) und alle Dateien, die sich im Verzeichnis debian/ befinden,
  +
entpackt. Die Sourcen befinden sich in einem neuen Verzeichnis, welches sich aus dem Paketnamen und der
  +
Programmversion zusammensetzt. Wechseln Sie in dieses Verzeichnis.
  +
Nun können die gewünschten Veränderungen an den Sourcen vorgenommen werden. Wenn Sie Veränderungen
  +
oder Ergänzungen an Dateien im Verzeichnis debian/ vornehmen, so ist darauf zu achten das unter Umständen
  +
auch Veränderungen oder Anpassungen in der Datei debian/rules notwendig sind. Mehr zu den Funktionen
  +
der einzelnen Dateien erfahren Sie im nächsten Abschnitt. Abschliessend kann das Paket mit
  +
dpkg-buildpackage -us -uc -rfakeroot erstellt werden. Weitere Optionen von dpkg-buildpackage
  +
finden Sie ebenfalls im nächsten Abschnitt beschrieben.
  +
21.2. Debian Pakete erzeugen
  +
Wenn Sie ein komplett neues Debian Paket erzeugen wollen, sei es weil zu den Sourcen noch kein Paket
  +
vorhanden ist oder weil Sie selber eine Software entwickelt haben, die Sie als Debian Paket zur Verfügung
  +
stellen wollen, so stehen Ihnen auch dafür unter Debian einige Hilfsmittel zur Verfügung.
  +
Zunächst sollten Sie sich die Sourcen des gewünschten Paketes besorgen und ein Unterverzeichnis für das neue
  +
Projekt erzeugen. Am Beispiel des Programmes dtcltiny, einem Client zur Steuerung von digitalen
  +
Modellbahnen, sollen die einzelnen Schritte vorgestellt werden. Die Sourcen diese Programmes finden Sie unter
  +
http://www.markus-pfeiffer.de. Natürlich können Sie auch ein beliebiges anderes Programm benutzen von dem
  +
Sie ein Debian Paket erzeugen möchten. Sie müssen dann aber ggf. an einigen Stellen etwas Kreativität
  +
einsetzen, da die hier gezeigten Beispiele sich nicht 1:1 übertragen lassen. Es ist überigens nicht zwingend
  +
notwendig das die Sourcen zu einem Programm verfügbar sind. Natürlich können Sie auch Debian Pakete von
  +
Programmen im Binärformat erstellen oder auch Dokumentation, beispielsweise im PDF Format, zu einem
  +
Paket packen.
  +
Wechseln Sie nun in das Unterverzeichnis und entpacken Sie die Sourcen des Programmes:
  +
630
  +
Kapitel 21. Anpassen und Erzeugen von Debian Paketen
  +
fr@debian:~/Daten/debian-pakete$ mkdir dtcltiny
  +
fr@debian:~/Daten/debian-pakete$ cd dtcltiny
  +
fr@debian:~/Daten/debian-pakete/dtcltiny$ tar xvfz ../../../dtcltiny-0.3.4.tgz
  +
dtcltiny-0.3.4/
  +
dtcltiny-0.3.4/Makefile.am
  +
dtcltiny-0.3.4/acinclude.m4
  +
dtcltiny-0.3.4/Makefile.dist
  +
...
  +
dtcltiny-0.3.4/dtcltiny/InfoPort.moc.o
  +
dtcltiny-0.3.4/dtcltiny/.libs/
  +
dtcltiny-0.3.4/configure
  +
dtcltiny-0.3.4/stamp-h
  +
Wichtig ist hierbei, dass das entstehende Unterverzeichnis schon aus dem Programmnamen und der
  +
Versionsnummer besteht. Sollte dies nicht so sein, muß das Verzeichnis entsprechend umbenannt werden. Im
  +
nächsten Schritt ist in das Verzeichnis zu wechseln und das Programm dh_make aufzurufen.
  +
fr@debian:~/Daten/debian-pakete/dtcltiny$ cd dtcltiny-0.3.4/
  +
fr@debian:~/Daten/debian-pakete/dtcltiny/dtcltiny-0.3.4$ dh_make
  +
Type of package: single binary, multiple binary, or library? [s/m/l] s
  +
Maintainer name : Frank Ronneburg
  +
Email-Address : fr@unknown
  +
Date : Tue, 13 Nov 2001 21:56:17 +0100
  +
Package Name : dtcltiny
  +
Version : 0.3.4
  +
Type of Package : Single
  +
Hit <enter> to confirm:
  +
Done. Please edit the files in the debian/ subdirectory now. dtcltiny
  +
uses a configure script, so you probably don’t have to edit the Makefiles.
  +
dh_make erzeugt ein Unterverzeichnis, debian/ in dem sich Vorlagen für alle notwendigen Dateien zur
  +
Erzeugung eines Debian Paketes befinden. dh_make bietet die Möglichkeit verschiedene Pakettypen zu
  +
erzeugen, für ein einfaches Paket wie in diesem Beispiel ist „single binary“ die richtige Wahl. Abschliessend
  +
wird noch der Hinweis ausgegeben, dass sich im Unterverzeichnis debian/ einige Dateien befinden, auf die
  +
nochmal ein Blick geworfen werden sollte. Weiterhin wird darauf hingewiesen, dass in den Sourcen von
  +
dtcltiny ein configure Script enthalten ist und somit Änderungen am Makefile wahrscheinlich unnötig
  +
sind. Neben dem Verzeichnis debian/ wurde im darüber liegenden Verzeichnis noch eine Kopie des gesamten
  +
Verzeichnisbaumes angelegt. Dieser wurde um die Endung .orig ergänzt.
  +
Bei genauer Betrachtung des Beispiels ist vielleicht aufgefallen, dass die E-Mail Adressen nicht korrekt erkannt
  +
wurde, ein nettes Beispiel also, so kommen wir nicht um einen Blick ins Verzeichnis debian/ herum ;-).
  +
21.2.1. README.Debian
  +
Die Datei README.Debian enthält Informationen zu den Besonderheiten des Debian Paketes. Wenn
  +
Veränderungen oder Ergänzungen gegenüber dem Source Paket vorgenommen werden, so sollten diese hier
  +
vermerkt werden. Achten Sie darauf in der letzten Zeile die E-Mail Adresse anzupassen. Eine bereits veränderte
  +
Version könnte wie folgt aussehen:
  +
dtcltiny for Debian
  +
*******************
  +
Ergänzungen:
  +
- dtcltiny in dtcltiny.bin umbenannt.
  +
- dtcltiny ist ein wrapper, wenn vorhanden wird eine Konfigdatei
  +
.dtcltiny.data aus dem Homeverzeichnis des Benutzers geladen.
  +
- In /usr/share/doc/dtcltiny/ findet sich eine
  +
631
  +
Kapitel 21. Anpassen und Erzeugen von Debian Paketen
  +
Beispielkonfigurationsdatei (SAMPLE.dtcltiny.data)
  +
-*- Frank Ronneburg <fr@openoffice.de>, Tue, 6 Nov 2001 22:29:53 +0100
  +
Wenn Sie ein offizielles Debian Paket erstellen wollen oder auch nur das Paket im Netz verfügbar machen, so
  +
sollte die komplette Dokumentation, also auch Kommentare, in englischer Sprache erstellt werden. Bei Paketen
  +
für den privaten Gebrauch bleibt Ihnen die Wahl der Sprache natürlich überlassen.
  +
Wenn keine weiteren Veränderungen an den Sourcen, der Dokumentatiion oder den Scripten des Programmes
  +
notwendig waren, so kann diese Datei auch einfach gelöscht werden.
  +
21.2.2. files
  +
Diese Datei enthält lediglich den Paketnamen, den Bereich sowie die Priorität des Paketes.
  +
dclttiny_0.3.4-1_i386.deb misc optional
  +
21.2.3. changelog
  +
In dieser Datei werden Veränderungen zwischen den einzelnen Paketversionen (changes) dokumentiert. Sie
  +
sollten hier bei einer aktualisierten Version des Paketes die Veränderungen gegenüber der vorhergehenden
  +
Version dokumentieren. Sollte sich das Programm auf einem System plötzlich anders verhalten, so lassen sich
  +
meisten aus den Angaben in dieser Datei Rückschlüsse ziehen ob diese Veränderung beabsichtigt war.
  +
dtcltiny (0.3.4-1) unstable; urgency=low
  +
* Initial Release.
  +
-*- Frank Ronneburg <fr@openoffice.de> Tue, 6 Nov 2001 22:29:53 +0100
  +
Local variables:
  +
mode: debian-changelog
  +
End:
  +
21.2.4. copyright
  +
In dieser Datei finden sich Hinweise zum Copyright dieses Paketes. Es können die gesamten Copyright
  +
Informationen hier aufgeführt werden, bei Paketen, die einer weit verbreiteten Lizenz unterliegen, reicht auch
  +
ein kurzer Hinweis, wo die Lizenz zu finden ist. Hier ein Beispiel für eine Software die der GPL unterliegt.
  +
Hier gibt es immer wieder Diskussionen unter den Debian Entwicklern. Insbesondere bei Paketen die der GPL
  +
unterliegen gehen die Meinungen auseinander. Grundsätzlich sollte, um Missverständnisse zu vermeiden, zu
  +
jedem Paket die Lizenz mitgeliefert werden. Die GPL hat in der aktuellen Version 2 eine Größe von ca. 18 kB.
  +
Das ist nicht sehr viel, wenn man die aber mit einigen tausend Paketen multipliziert so kommt doch eine
  +
beachtliche Menge an Speicherplatz zusammen. Es wurde vereinbart im Verzeichnis
  +
/usr/share/common-licenses/ jeweils eine Version der gebräuchlisten Lizenzen abzulegen und in jedem
  +
Paket nur auf die entsprechende Stelle zu verweisen. Somit ist sichergestellt das die Lizenz auf jedem Debian
  +
System installiert ist.
  +
Das folgende Beispiel zeigt eine solche Datei mit einem Hinweis auf die GPL.
  +
This package was debianized by Frank Ronneburg <fr@openoffice.de> on
  +
Tue, 6 Nov 2001 22:29:53 +0100.
  +
It was downloaded from http://www.markus-pfeiffer.de/
  +
632
  +
Kapitel 21. Anpassen und Erzeugen von Debian Paketen
  +
Upstream Author(s): Markus Pfeiffer <dtcltiny@markus-pfeiffer.de>
  +
This code is released under the terms of the GPL license.
  +
See /usr/share/common-licenses/GPL for the full license.
  +
21.2.5. control
  +
Die Datei control enthält verschiedenste Angaben zu dem Paket. Wichtig ist hier die Zeile Section:, dies ist
  +
der Bereich, in dem das Paket in der Debian Paketstruktur erscheint. Die Zeile Description: enthält in einer
  +
Zeile eine kurze Beschreibung des Paketes. Alle weiteren Zeilen müssen mit einem Leerzeichen beginnen und
  +
beschreiben das Paket ausführlich. Auch diese Texte sollten in englischer Sprache verfasst werden (das hier
  +
gezeigte Beispiel spiegelt lediglich den Zeitmangel des Autors wider...).
  +
Source: dtcltiny
  +
Section: x11
  +
Priority: optional
  +
Maintainer: Frank Ronneburg <fr@openoffice.de>
  +
Build-Depends: debhelper (>> 3.0.0)
  +
Standards-Version: 3.5.2
  +
Package: dtcltiny
  +
Architecture: any
  +
Depends: ${shlibs:Depends}
  +
Description: Control Locomotives on a Model Railroad, needs SRCP Server (eg. erddcd)
  +
dtcltiny ist ein Programm, mit dem man Loks auf einer Modellbahn steuern kann,
  +
die mit einem Digitaldecoder ausgerüstet sind. Es stellt für jede Lok einen
  +
Regler zur Verfügung, mit dem man die Geschwindigkeit, Fahrtrichtung und
  +
Sonderfunktionen einstellen kann. Nebenbei bietet es noch die Möglichkeit,
  +
Decoder nach dem NMRA-DCC Standard und Uhlenbrock-Decoder zu Programmieren.
  +
Die meisten der verwendeten Schlüsselwörter sollten selbsterklärend sein. Source: beschreibt den Namen der
  +
Sourcen des Paketes, mit Priority: kann bestimmt werden ob auf das Paket verzichtet werden kann
  +
(optional) oder ob das Paket zwingend notwendig für das System ist. Die Zeile Maintainer: enthält den
  +
Namen und die E-Mail Adresse des Paketbetreuers, diese Angaben sind in der gezeigten Schreibweise
  +
anzugeben. Build-Depends: beschreibt die Abhängigkeiten des Paketes. Mit dem Schlüsselwort Package:
  +
wird der Paketname des Binärpaketes beschrieben, die folgende Zeile Architecture: bezeichnet für welche
  +
Architekturen das Paket verwendet werden kann. Die kann beispielsweise i386, powerpc, alpha usw. sein,
  +
oder wie hier gezeigt das Schlüsselwort any für alle Architekturen.
  +
21.2.6. rules
  +
In dieser Datei werden die Regeln zur Erstellung des Paketes definiert. Sollte der von Ihnen verwendete Source
  +
Code kein Makefile enthalten oder auch kein configure verwenden, so müssen Sie in dieser Datei die
  +
notwendigen Schritte zum erfolgreichen Übersetzen des Paketes beschreiben. Im hier gezeigten Beispiel wurde
  +
make ($(MAKE)) mit der Option -j 6 ergänzt, um die Übersetzung etwas zu beschleunigen.
  +
Eventuell kann es, beispielsweise bei Paketen die ausschliesslich Dokumentation enthalten, notwendig sein alle
  +
Zeilen die make aufrufen auszukommentieren. Sie müssen dann durch geeignete Einträge in der Datei selbst
  +
dafür sorgen das die Dateien an die richtige Stelle im Dateisystem kopiert werden. Die hier gezeigte Version
  +
wurde bereits an einigen Stellen angepasst.
  +
Im Abschnitt install: build sind einige Regeln definiert worden, mit denen das Binary durch ein Script
  +
ersetzt wird. Weiterhin wird ein Konfigfile als Beispiel im Dokumentationsverzeichnis abgelegt.
  +
#!/usr/bin/make -f
  +
# Sample debian/rules that uses debhelper.
  +
# GNU copyright 1997 to 1999 by Joey Hess.
  +
# Uncomment this to turn on verbose mode.
  +
633
  +
Kapitel 21. Anpassen und Erzeugen von Debian Paketen
  +
#export DH_VERBOSE=1
  +
# This is the debhelper compatability version to use.
  +
export DH_COMPAT=3
  +
configure: configure-stamp
  +
configure-stamp:
  +
dh_testdir
  +
# Add here commands to configure the package.
  +
#./configure -*-prefix=/usr -*-mandir=\$${prefix}/share/man -*-infodir=\$${prefix}/share/info
  +
./configure -*-prefix=/usr -*-program-suffix=.bin
  +
touch configure-stamp
  +
build: configure-stamp build-stamp
  +
build-stamp:
  +
dh_testdir
  +
# Add here commands to compile the package.
  +
$(MAKE) -j 6
  +
#/usr/bin/docbook-to-man debian/dtcltiny.sgml > dtcltiny.1
  +
touch build-stamp
  +
clean:
  +
dh_testdir
  +
dh_testroot
  +
rm -f build-stamp configure-stamp
  +
# Add here commands to clean up after the build process.
  +
-$(MAKE) clean
  +
dh_clean
  +
install: build
  +
dh_testdir
  +
dh_testroot
  +
dh_clean -k
  +
dh_installdirs
  +
# Add here commands to install the package into debian/dtcltiny.
  +
mkdir -p $(CURDIR)/debian/dtcltiny/usr
  +
$(MAKE) install prefix=$(CURDIR)/debian/dtcltiny/usr
  +
cp $(CURDIR)/debian/dtcltiny.sh $(CURDIR)/debian/dtcltiny/usr/bin/dtcltiny
  +
chmod a+x $(CURDIR)/debian/dtcltiny/usr/bin/dtcltiny
  +
# Demo Konfigfile
  +
mkdir -p $(CURDIR)/debian/dtcltiny/usr/share/doc/dtcltiny/
  +
cp /home/fr/.dtcltiny.data $(CURDIR)/debian/dtcltiny/usr/share/doc/dtcltiny/SAMPLE.dtcltiny.data
  +
# Build architecture-independent files here.
  +
binary-indep: build install
  +
# We have nothing to do by default.
  +
# Build architecture-dependent files here.
  +
binary-arch: build install
  +
dh_testdir
  +
dh_testroot
  +
# dh_installdebconf
  +
dh_installdocs
  +
dh_installexamples
  +
dh_installmenu
  +
634
  +
Kapitel 21. Anpassen und Erzeugen von Debian Paketen
  +
# dh_installlogrotate
  +
# dh_installemacsen
  +
# dh_installpam
  +
# dh_installmime
  +
# dh_installinit
  +
dh_installcron
  +
dh_installman
  +
dh_installinfo
  +
# dh_undocumented
  +
dh_installchangelogs ChangeLog
  +
dh_link
  +
dh_strip
  +
dh_compress
  +
dh_fixperms
  +
# dh_makeshlibs
  +
dh_installdeb
  +
# dh_perl
  +
dh_shlibdeps
  +
dh_gencontrol
  +
dh_md5sums
  +
dh_builddeb
  +
binary: binary-indep binary-arch
  +
.PHONY: build clean binary-indep binary-arch binary install configure
  +
21.2.7. menu
  +
Mit dem Debian Menüsystem können Anwendungen, unabhängig von der verwendeten Benutzeroberfläche, in
  +
die Menüs eingebunden werden. Bei der Verwendung eines Icons ist darauf zu achten, dass dieses auch
  +
tatsächlich vorhanden ist. Gegebenenfalls muss das Icon mit dem Paket zusammen installiert werden. Das hier
  +
verwendete Beispiel verwendet ein Icon aus dem Gnome Paket.
  +
?package(dtcltiny):needs=X11 section=Apps/Tools icon="/usr/share/pixmaps/gnome-diskfree.png"\
  +
title="dtcltiny" command="/usr/bin/dtcltiny"
  +
Neben dem Paketnamen finden sich in dieser Datei weitere Angaben welche Benutzeroberfläche das Programm
  +
benötigt und in welchen Menüzweig es erscheinen soll. Das Schlüsselwort title beschreibt den Text der im
  +
Menü angezeigt wird, command schliesslich enthält den kompletten Pfad und den Programmnamen.
  +
21.2.8. postinst, preinst, postrm, prerm
  +
Diese vier Dateien enthalten Informationen die vor (pre) oder nach (post) der Installation des Paketes ausgeführt
  +
werden sollen. Hier nur ein Beispiel:
  +
Alle in der Datei postinst enthaltenen Kommandos werden nach (post) der Installation (inst) des Paketes
  +
ausgeführt. Durch dh_make wurde im Verzeichnis debian/ eine Vorlage erzeugt (postinst.ex), die
  +
umbenannt und mit Inhalten gefüllt werden kann.
  +
#! /bin/sh
  +
# postinst script for erddcd
  +
#
  +
# see: dh_installdeb(1)
  +
set -e
  +
# summary of how this script can be called:
  +
# * <postinst> ‘configure’ <most-recently-configured-version>
  +
# * <old-postinst> ‘abort-upgrade’ <new version>
  +
# * <conflictor’s-postinst> ‘abort-remove’ ‘in-favour’ <package>
  +
# <new-version>
  +
635
  +
Kapitel 21. Anpassen und Erzeugen von Debian Paketen
  +
# * <deconfigured’s-postinst> ‘abort-deconfigure’ ‘in-favour’
  +
# <failed-install-package> <version> ‘removing’
  +
# <conflicting-package> <version>
  +
# for details, see /usr/share/doc/packaging-manual/
  +
#
  +
# quoting from the policy:
  +
# Any necessary prompting should almost always be confined to the
  +
# post-installation script, and should be protected with a conditional
  +
# so that unnecessary prompting doesn’t happen if a package’s
  +
# installation fails and the ‘postinst’ is called with ‘abort-upgrade’,
  +
# ‘abort-remove’ or ‘abort-deconfigure’.
  +
case "$1" in
  +
configure)
  +
;;
  +
abort-upgrade|abort-remove|abort-deconfigure)
  +
;;
  +
*)
  +
echo "postinst called with unknown argument \‘$1’" >&2
  +
exit 0
  +
;;
  +
esac
  +
# dh_installdeb will replace this with shell code automatically
  +
# generated by other debhelper scripts.
  +
#DEBHELPER#
  +
exit 0
  +
Das Script kann während der Installation mit verschiedenen Parametern aufgerufen werden. Entsprechende
  +
Abschnitte in der Vorlage können mit den gewünschten Kommandos gefüllt werden.
  +
Wenn alle Anpassungen an den Dateien im Verzeichnis debian/ vorgenommen wurden, so kann versucht
  +
werden, mit dem Kommando dpkg-buildpackage ein Debian Paket zu erzeugen. Hierbei ist zu beachten,
  +
dass das Kommando im Verzeichnis mit den entpackten Quelldateien ausgeführt wird.
  +
21.2.9. dpkg-buildpackage
  +
Nachdem die Vorbereitungen an den Dateien im Verzeichnis debian/ abgeschlossen sind, kann mit dem
  +
Programm dpkg-buildpackage das Paket erstellt werden.
  +
dpkg-buildpackage wird ohne weitere Parameter versuchen die Sourcen und die Changes Datei des Paketes
  +
digital zu signieren. Hierzu wird ein vorhandener GnuPG Key benutzt. Ist kein solcher Key erzeugt worden, so
  +
kann das signieren mit den Optionen -us (unsigned source) und -uc (unsigned changes) verhindert werden. Im
  +
einfachsten Fall genügt also das Kommando dpkg-buildpackage -us -uc (als „root“) um das Paket zu
  +
erzeugen.
  +
dpkg-buildpackage verfügt natürlich noch über viele weitere Optionen
  +
debian:~# dpkg-buildpackage --help
  +
dpkg-buildpackage: unknown option or argument --help
  +
Debian dpkg-buildpackage .
  +
Copyright (C) 1996 Ian Jackson.
  +
Copyright (C) 2000 Wichert Akkerman
  +
This is free software; see the GNU General Public Licence version 2
  +
636
  +
Kapitel 21. Anpassen und Erzeugen von Debian Paketen
  +
or later for copying conditions. There is NO warranty.
  +
Usage: dpkg-buildpackage [options]
  +
Options: -r<gain-root-command>
  +
-p<sign-command>
  +
-d do not check build dependencies and conflicts
  +
-D check build dependencies and conflicts
  +
-k<keyid> the key to use for signing
  +
-sgpg the sign-command is called like GPG
  +
-spgp the sign-command is called like PGP
  +
-us unsigned source
  +
-uc unsigned changes
  +
-a<arch> Debian architecture we build for (implies -d)
  +
-b binary-only, do not build source } also passed to
  +
-B binary-only, no arch-indep files } dpkg-genchanges
  +
-S source only, no binary files }
  +
-t<system> set GNU system type } passed to dpkg-architecture
  +
-v<version> changes since version <version> }
  +
-m<maint> maintainer for package is <maint> }
  +
-e<maint> maintainer for release is <maint> } only passed
  +
-C<descfile> changes are described in <descfile> } to dpkg-
  +
-si (default) src includes orig for rev. 0 or 1 } genchanges
  +
-sa uploaded src always includes orig }
  +
-sd uploaded src is diff and .dsc only }
  +
-nc do not clean source tree (implies -b)
  +
-tc clean source tree when finished
  +
-ap add pause before starting signature process
  +
-h print this message
  +
-W Turn certain errors into warnings. } passed to
  +
-E When -W is turned on, -E turned it off. } dpkg-source
  +
-i[<regex>] ignore diffs of files matching regex } only passed
  +
to dpkg-source
  +
dpkg-buildpackage benötigt eine Umgebung die der späteren Installationsumgebung ähnlich ist. Das Paket
  +
kann als Superuser (root) erzeugt werden um dies zu gewährleisten. Nun macht es wenig Sinn einen
  +
GnuPG-Key für den Superuser zu erzeugen. Um dieses Problem zu umgehen, dient die Option -r, direkt
  +
gefolgt von einem Kommando, welches es Benutzer erlaubt, Kommandos als Superuser auszuführen bzw. eine
  +
virtuelle root-Umgebung schafft. Dies kann beispielsweise das Kommando fakeroot oder sudo sein, ggf. ist
  +
natürlich die Konfiguration des Programmes (sudo) für diesen Benutzer anzupassen.
  +
Viele der weiteren Optionen können und sollten in den Konfigurationsdateien im Verzeichnis debian/ definiert
  +
werden, bei Bedarf können diese aber auch auf der Kommandozeile angepasst werden.
  +
21.3. Package Dateien
  +
Die selbst erstellten Pakete können natürlich einfach mit dpkg -i paket.deb installiert werden, eleganter ist
  +
es jedoch, die Pakete komplett in die Debian Paketverwaltung einzubinden so das alle Informationen des
  +
Paketes über die Paketverwaltungstools verfügbar sind. Sie können so auch Pakete im Netz bereitstellen die
  +
dann automatisch auf allen Systemen die darauf zugreifen bei Veränderungen aktualisiert werden.
  +
Die notwendigen Informationen sind natürlich in den erzeugten Paketen enthalten und müssen aus diesen
  +
extrahiert werden. Auf dem Server, der die Pakete zur Verfügung stellt, stehen die gesammelten Informationen
  +
in der Datei Packages. Diese wird bei einem Update durch apt oder dselect eingelesen.
  +
Zum Erzeugen einer Packages-Datei dient das Programm dpkg-scanpackages. Wenn Sie beispielsweise
  +
Pakete für die Gruppe „misc“ erzeugt haben, so lautet der Aufruf wie folgt: dpkg-scanpackages misc
  +
override.woody.main.gz dists/woody/main/binary-all/ > Packages. Die Datei
  +
override.woody.main.gz finden Sie ebenfalls auf dem Debian FTP-Server im Verzeichnis /indices/.
  +
637
  +
Kapitel 21. Anpassen und Erzeugen von Debian Paketen
  +
Wenn kein kompletter Verzeichnisbaum für die Pakete existiert, so kann der Pfad - wie hier gezeigt - auf der
  +
Kommandozeile angegeben werden.
  +
Um die Pakete nun auf einem Server bereitzustellen, muss noch ein entsprechender Eintrag in der Datei
  +
/etc/apt/sources.list vorgenommen werden. Eine passende Kombination stellt folgendes Beispiel dar:
  +
% cd /wo/die/pakete/liegen
  +
% dpkg-scanpackages . /dev/null > Packages && gzip -9c Packages > Packages.gz
  +
Dieses erzeugt zunächst die Datei „Packages“ und eine mit gzip komprimierte Version dieser Datei. Der
  +
passende Eintrag für die Datei sources.list müsste dann wie folgt aussehen
  +
deb http://www.mein.server.name.domain/wo/die/pakete/liegen ./
  +
638
  +
Kapitel 22. Modellbahnen
  +
Modellbahnen: viele von uns haben sicher in ihrer Jugend einige Schienen, Loks und Wagen besessen.
  +
Vielleicht findet sich bei dem ein oder anderen noch eine Kiste mit den Jugenderinnerungen im Keller, die unter
  +
anderem durch das Hobby Computer vernachlässigt wurde. Warum nicht einfach die beiden Hobbys
  +
miteinander verbinden?
  +
Die Modellbahnindustrie hat der zunehmenden Verbreitung von Computern Rechnung getragen und in den
  +
letzten Jahren Systeme zur Steuerung von kompletten Modellbahnanlagen auf den Markt gebracht. Neben den
  +
Lokomotiven können damit auch Weichen und Zubehörartikel wie Kräne via Computer gesteuert werden.
  +
22.1. Herkömmliche Systeme
  +
Urspünglich wurden elektrische Modellbahnen (auf dem Markt fanden oder finden sich auch Dampf- bzw.
  +
Uhrwerkgetriebene Modellbahnen) über einen regelbaren Transformator mit Strom versorgt. Verschiedene
  +
Hersteller setzen hier auf unterschiedliche Konzepte. So sind mit Gleich- oder Wechselspannung betriebene
  +
Systeme auf dem Markt. Eine weitere Unterscheidung bietet die Stromzuführung nur über die Schienen
  +
(2-Leiter) oder über die, hier elektrisch verbundenen Schienen und einen zusätzlichen Mittelleiter (3-Leiter).
  +
Verschiedene Hersteller wie Märklin, Fleischmann, Trix usw. brachten Modelle für diese Systeme auf den
  +
Markt, leider waren nicht alle untereinander kompatibel.
  +
Mit einem immer größer werdenden Fuhrpark entstand der Wunsch mehrere Lokomotiven gleichzeitig auf der
  +
Anlage betreiben zu können. Mit den erhältlichen regelbaren Transformatoren konnte je Gleisabschnitt nur
  +
jeweils eine Lokomotive individuell gesteuert werden. Aufwendige Schaltungen für getrennte Gleisabschnitte
  +
mussten elektrisch oder elektronisch in auswendiger Handarbeit erstellt werden. Für Magnetartikel wie zum
  +
Beispiel Weichen, wurde eine aufwendige Verkabelung zu einem Steuerpult notwendig, dort wurden dann über
  +
Taster oder Schalter die einzelnen Weichen angesteuert. Eine Erleichterung brachten die Elektronischen
  +
Steuerungen, sei es als Impulsbreiten-Steuerung für die Lokomotiven um das Fahrverhalten zu verbessern oder
  +
aber elektronische Steuerungen von ganzen Weichenstraßen. Das Problem der Verkabelung wurde damit jedoch
  +
nicht gelöst.
  +
22.2. Digitale Systeme
  +
Die Lösung brachten die sogenannten Digitalsysteme, welche von verschiedenen Herstellern auf den Markt
  +
gebracht wurden, leider gab es auch hier wieder unterschiedliche, zueinander inkompatible Systeme.
  +
Als erster Hersteller kam Märklin mit einem digitalen System auf den Markt, dieses System wird heute als
  +
„Märklin Motorola“ (MM) bezeichnet. Weiterhin hat sich DCC (Digital Command Control) der NMRA
  +
(National Model Railroad Association) durchgesetzt. Mittlerweile sind Zentralen auf dem Markt die
  +
Lokomotiven und Decoder verschiedener Hersteller gleichzeitig ansprechen können.
  +
Eine digital gesteuerte Modellbahn benötigt natürlich auch einen Transformator, welcher die Netzspannung auf
  +
ein ungefährliches Mass reduziert. Meist kann hier zunächst auch der alte, regelbare Transformator eingesetzt
  +
werden. Das Digitalsystem wird dabei am nicht-geregelten Ausgang des Transformators angeschlossen, dieser
  +
diente bisher für die Versorgung von Magnetartikeln oder für die Beleuchtung. Für größere Anlagen auf denen
  +
zwei oder mehr Züge gleichzeitig verkehren sollen, ist die Anschaffung eines leistungsfähigeren Transformators
  +
zu empfehlen.
  +
Neben dem Transformator besteht ein Digitalsystem aus einer Zentraleinheit sowie verschiedenen Geräten zur
  +
Steuerung der Lokomotiven und der Magnetartikel wie z.B. Weichen, Beleuchtung usw. Hier ein Beispiel für
  +
eine Mögliche Kombination zum Betrieb einer kleinen Anlage
  +
639
  +
Kapitel 22. Modellbahnen
  +
Abbildung 22-1. Digitale Steuerung - Bedienelemente
  +
Das hier vorgestellte Beispiel zeigt einige Digital-Komponenten des Herstellers Märklin. Da der Autor dieser
  +
Zeilen auch über ein solches System verfügt, wird im folgenden auch weiterhin auf das Märklin Digital System
  +
eingegangen. Sollten Sie ein anderes System einsetzen, so können Sie die im folgenden beschriebenen Schritte
  +
aber durchaus als Leitfaden sehen. Passende Software finden Sie sicherlich über die Suchmaschinen im Internet,
  +
die hier vorgestellten Links können ebenfalls als Startpunkt für Ihre Suche dienen.
  +
Wenn Sie bereits über eine Digital aufgerüstete Modellbahnanlage verfügen, so können Sie diese mit den im
  +
folgenden vorgestellten Programmen aufwerten und über Ihren Computer steuern. Sollten Sie das System
  +
jedoch noch im herkömlichen Betrieb fahren, so sind zunächst einige Hardwarekomponenten zu beschaffen.
  +
22.3. Hardware
  +
Für den digitalen Betrieb einer Modellbahnanlage sind zunächst einige Hardwarekomponenten anzuschaffen.
  +
Eine digital gesteuerte Modellbahnanlage besteht aus einem Trafo und einer Bedieneinheit mit der der
  +
Lokführer die Lokomotiven und Magnetartikel steuern kann. Bei größeren Anlagen kommen noch weitere
  +
Komponenten wie Leistungsverstärker (Booster), weitere Bedieneinheiten (Central Unit oder Keyboard) hinzu.
  +
Bei der hier beschriebenen Steuerung der Anlage durch ein GNU/Linux System kann komplett auf die
  +
Bedienelemente und die Zentrale des Digitalsystems verzichtet werden. Die komplette Funktion der Zentrale
  +
wird durch einen Serverprozess nachgebildet.Wie schon beschrieben benötigen Sie zunächst auf alle Fälle einen
  +
Transformator, für die ersten Versuche ist ein vorhandener Transformator Ihrer alten Anlage meist ausreichend.
  +
Weiterhin wird ein „Booster“ benötigt, welcher einerseits die Spannung an das Gleis liefert und andererseits
  +
diese mit einem digitalen Steuerungssignal überlagert. Weiterhin muß dieser Booster mit einer seriellen
  +
Schnittstelle ausgestattet sein über die der Computer verbunden werden kann. Märklin hat bzw. hatte
  +
verschiedene Geräte auf dem Markt, die hierfür in Frage kommen. Neben dem recht preiswerten Delta Control
  +
6604 können auch die Digital Booster 6015 und 6017 und andere eingesetzt werden.
  +
Die Verbindung des Boosters oder des Interface erfolgt über ein serielles Kabel, dieses ist ggf. mit einigen
  +
Bauteilen auszustatten. Wenn Sie über keinerlei Erfahrungen mit elektronischen Bauelementen verfügen und
  +
nicht wissen auf welcher Seite ein Lötkolben heiss wird, so lassen Sie die Finger von Selbstbau eines solchen
  +
Kabels und schreiben Sie lieber dem Autor dieser Zeilen eine nette E-Mail, vielleicht wird Ihnen geholfen...
  +
Für den geübten Bastler stellt ein solches Kabel keine große Herausforderung dar, alle Bauteile lassen sich im
  +
Gehäuse des DIN Steckers unterbringen. Hier das Schaltbild für das Kabel für den Betrieb mit dem Märklin
  +
Booster 6015 oder 6017. Beachten Sie die unterschiedliche Belegung der Anschlüsse, je nachdem ob Sie den
  +
Booster 6015 oder 6017 einsetzen. Auf der PC-Seite können bei älteren Systemen durchaus noch 25 polige
  +
serielle Anschlüsse vorhanden sein. Neuere PC Modelle sind generell mit 9 poligen seriellen Anschlüssen
  +
ausgestattet.
  +
640
  +
Kapitel 22. Modellbahnen
  +
Abbildung 22-2. Digitale Steuerung - Kabel 6015/6017
  +
Für das DELTA-Control 6604 ist ein anderes Kabel zum Anschluss an die serielle Schnittstelle notwendig.
  +
Abbildung 22-3. Digitale Steuerung - Kabel 6604
  +
Wenn Sie bereits ein etwas älteres Digitalsystem besitzen, so können Sie statt des Boosters auch die Central
  +
Unit (6020 oder 6021) und das Interface (6050 oder 6051) einsetzen. Dabei ist zu beachten das ein anderen
  +
641
  +
Kapitel 22. Modellbahnen
  +
Server eingesetzt werden muss, doch dazu finden Sie im Abschnitt über die Software genauere Informationen.
  +
Das Kabel zum Anschluß des Interface (6050 oder 6051) ist sehr einfach herzustellen.
  +
Interface 6050/6051 Computer
  +
6 pol DIN Stecker 9 pol DSUB Buchse
  +
1 3
  +
4 2
  +
5 8
  +
3 5
  +
Brücke: 4 - 6 - 1
  +
22.3.1. Decoder
  +
Zuletzt müssen noch die Lokomotiven mit einem Decoder ausgestattet werden, falls nicht schon Lokomotiven
  +
vorhanden sind die von Hause aus mit Decodern für den Digitalbetrieb ausgeliefert werden. Es sind die
  +
verschiedensten Arten von Dekodern am Markt verfügbar, eine Einbauanleitung wird mit jedem Decoder
  +
mitgeliefert. Neuere Lokmodelle sind von Hause aus schon mit einem Decoder bestückt, Anfang 2002 sind im
  +
Märklin Programm nur noch eine Handvoll Modelle enthalten die nicht für den Digitalbetrieb geeignet sind. Für
  +
den Einsatz auf Märklin Digital Anlagen sind natürlich Decoder aus dem gleichen Hause bestens geeignet.
  +
Preiswertere Varianten finden sich im Sortiment von Conrad Electronic.
  +
Weitere Hardware wird für den Anfang nicht benötigt wenn Sie das System mit GNU/Linux steuern möchten.
  +
Natürlich gibt es auch Decoder für Magnetartikel, doch dieser Abschnitt soll Sie nur neugierig auf das Thema
  +
machen, am Ende finden Sie noch einige Links zu weiteren Seiten im Netz.
  +
22.3.1.1. 6603 Delta Decoder
  +
Dieser erste Delta Decoder ist mit einem 701.xxx Chip bestückt, xxx steht hierbei für eine weitere, mit dem
  +
Produktzyklus aufsteigende, Zahlen und Buchstabenkombination, die neueste Version ist 701.17b. Wie allen
  +
anderen Digitaldecoder erlaubt auch dieser Decoder den Betrieb auf Analogen Anlagen. Im Digitalbetrieb
  +
stehen lediglich 15 Adressen und keine Funktionen zur Verfügung. Die Beleuchtung der Lokomotiven erfolgt
  +
auf herkömmliche Art, je schneller die Lok fährt umso heller die Beleuchtung.
  +
Tabelle 22-1. Delta Decoder - Dip-Schalter Einstellungen
  +
Adresse 1 2 3 4
  +
2 off on on on
  +
6 on off on on
  +
8 off off on on
  +
18 on on off on
  +
20 off on off on
  +
24 on off off on
  +
26 off off off on
  +
54 on on on off
  +
56 off on on off
  +
60 on off on off
  +
62 off off on off
  +
72 on on off off
  +
74 off on off off
  +
78 on off off off
  +
642
  +
Kapitel 22. Modellbahnen
  +
Adresse 1 2 3 4
  +
80 on on on on
  +
Alle Delta Decoder können mit einigem Geschick so umgebaut werden das alle 80 Adressen verwendbar sind.
  +
Neuere Versionen dieses Decoders (701.17 und höher) können auch um eine bzw. vier Funktionen erweitert
  +
werden.
  +
22.3.1.2. 6080 Digital Decoder
  +
Als Märklin Standard Digital Decoder unterstützt dieses Modell alle 80 möglichen Adressen. Dieser Decoder
  +
basiert auf dem 701.13 Chip und unterstützt eine Funktion die normalerweise für die Beleuchtung genutzt wird.
  +
Leider flackert die Beleuchtung bei Verwendung dieses Decoders. Dies kann mit einigen Bauteilen beseitigt
  +
werden.
  +
22.3.1.3. 6090 Digital Decoder
  +
Der 6090 ist Märklins älterer High-End Decoder, somit ist die Nutzung von 80 Adressen und einer Funktion
  +
möglich. Auch dieser Decoder nutzt den 701.13 Chip, somit kann (und sollte) auch bei diesem Decoder das
  +
Flackern der Stirnbeleuchtung unterdrückt werden. Weiterhin ist der Decoder mit mit Potentiometer ausgestattet
  +
um die minimale und maximale Geschwindigkeit, sowie die Anfahr- und Bremsverzögerung einzustellen.
  +
Enthalten ist weiterhin ein neuer Permanentmagnet und ein neuer 5-poliger Motor, so das sich ein älteres
  +
Modell mit sehr guten Fahreigenschaften umrüsten läßt.
  +
22.3.1.4. 66031 Digital Decoder
  +
Dieser neue Delta Decoder unterstützt alle Funktionen das älteren Modells, „spricht“ aber das Protokollformat
  +
der neuen Generation, somit werden beispielsweise auch Telex Kupplungen oder Raucheinsätze unterstützt.
  +
Weiterhin ist die Beleuchtung nun immer eingeschaltet und kann nicht ausgeschaltet werden. Die Beleuchtung
  +
wechselt mit der Fahrtrichtung.
  +
Die Aktivierung der Funktion wird ähnlich aktiviert wie von der Analogen Steuerung her bekannt: Ein
  +
Fahrtrichtungswechsel aktiviert/deaktiviert auch die Funktion.
  +
Tabelle 22-2. Technische Daten Delta Decoder 66031
  +
Motorausgang: maximal 800 mA
  +
Lichtausgang: maximal 100 mA
  +
Funktionsausgang: maximal 250 mA
  +
Gesamt: maximal 1,1 A
  +
Motor- und Funktionsausgänge sind gegen Überlastung und Kurzschlüsse geschüzt.
  +
22.3.1.5. „Wikinger“Lokomotiv Decoder
  +
Echte Elektronik-Freaks können zum Selbstbau eines Lokdecoder schreiten, der sogenannte
  +
„Wikinger“-Decoder ist hier das Modell der Wahl, aber Vorsicht: das ist wirklich etwas für Leute die sich damit
  +
auskennen. Informationen hierzu finden sich unter http://www.frederiksson.dk/indexeng.html.
  +
22.4. Software
  +
Wie wir schon gesehen haben sind nur wenige Hardwarekomponenten für den Digitalbetrieb einer Modellbahn
  +
notwendig. Mit der Software verhält es sich ähnlich. Die Software einer digital gesteuerten Modellbahnanlage
  +
643
  +
Kapitel 22. Modellbahnen
  +
besteht aus zwei Komponenten; einem Serverprozess welche die Funktionalität einer Zentrale nachbildet sowie
  +
verschiedenen Clientprogrammen die zur Steuerung der Anlage dienen.
  +
Die hier nachfolgend vorgestellten Projekte stehen zum großen Teil als inoffizielle Debian Pakete zur
  +
Verfügung. Tragen Sie folgende Zeile in die Datei /etc/apt/sources.list ein:
  +
deb http://www.openoffice.de/debian/ stable main
  +
und installieren Sie dann die gewünschten Pakete, beispielsweise mit apt-get.
  +
Natürlich können Sie sich auch die Sourcen der Programme besorgen und die kompletten Pakete selbst
  +
übersetzen.
  +
22.4.1. Server
  +
Die Auswahl der Software für den Server ist von der bereits vorhandenen Hardware abhängig. Beide hier
  +
vorgestellten Server unterstützen das SRC Protokoll (Simple Railroad Command Protocol). Die aktuelle
  +
Spezifikation dieses Protokolls findet sich unter http://srcpd.sourceforge.net/srcp/. Vorabversionen des
  +
Protokollstandards finden sich unter http://members.tripod.de/mtrute/Modellbahn/srcp-maintain.html
  +
SRCP ist ein plattformunabhängiges Internetprotokoll zum Steuern von Modelleisenbahnen, insbesondere
  +
digital gesteuerter. Ein SRCP komformer Server stellt das Bindeglied zwischen der Modellbahn (Hardware) und
  +
den Steuerprogrammen (Clients), über welche die Modellbahn gesteuert werden soll, dar. Das Protokoll
  +
vermittelt eine Client-Server Struktur, wobei der Server die Schnittstelle zur Modellbahnanlage und die Clients
  +
die Schnittstelle zu den(m) Modellbahner(n) darstellen. SRCP ist Multiuser fähig.
  +
22.4.1.1. erddcd
  +
Das Projekt DDL - Digital Direct for Linux http://www.vogt-it.com/OpenSource/DDL/ von Torsten Vogt stellt
  +
mit dem Daemon „erddcd“ einen Serverprozess zur Verfügung, der mit dem Booster kommuniziert und somit
  +
eine Digitalzentrale überflüssig macht. erddcd ist Bestandteil des Paketes DDL.
  +
Dieser Server kann mit den Boostern 6604, 6015 oder 6017 der Firma Märklin, sowie mit verschiedenen
  +
Selbstbauboostern verwendet werden.
  +
Der Daemon erddcd sendet die Steuerdaten von unterschiedlichen Clients zum Booster, welcher über ein
  +
serielles Kabel mit dem Rechner verbunden ist. Das Debian Paket wurde um das Init-Script
  +
/etc/init.d/erddcd erweitert, ausserdem wird eine Konfigurationsdatei /etc/erddcd.conf ausgewertet.
  +
In dieser ist ggf. die Bezeichnung der seriellen Schnittstelle anzupassen, falls der Booster nicht an /dev/ttyS0
  +
angeschlossen ist.
  +
22.4.1.2. srcpd
  +
Mit srcpd von Matthias Trute (http://srcpd.sourceforge.net) steht ein weiterer Server zur Verfügung mit dem
  +
die Märklin Central Unit 6020 oder 6021 zusammen mit den Märklin Interfaces 6050 oder 6051 angesprochen
  +
werden können. Weiterhin unterstützt srcpd die Intellibox der Firma Uhlenbrock.
  +
Das srcpd Projekt wurde im Sommer 2001 aus der Taufe gehoben und hat sich zum Ziel gesetzt einen einfach
  +
zu benutzenden SRCP-konformen Server für die digitale Modellbahnsteuerung zu erstellen.
  +
Der Urahn des srcpd ist der erddcd von Torsten Vogt. Dieser emuliert auf dem PC ein Interface und benötigt
  +
zur Steuerung der Modelleisenbahn nur die Booster, Schaltdecoder, Rückmeldemodule etc., jedoch kein
  +
Interface.
  +
Auf dieser Basis wurde mit Beginn des Jahres 2000 die ersten SRCP Fassungen entwickelt und parallel dazu
  +
begann Matthias Trute einen Dämon (m6051d) für das Märklin-Interface M6051 zu schreiben. Dieser benutzte
  +
einige Routinen des erddcd, schlug aber schon früh einen anderen Weg ein. Diesen Dämon wiederum nahm
  +
Frank Schmischke wiederum zusammen mit dem erddcdals Ausgangsbasis für einen Dämon für die Intellibox
  +
von Uhlenbrock.
  +
644
  +
Kapitel 22. Modellbahnen
  +
Da der überwiegende Teil der beiden Dämonen (für M6051 und Intellibox) identischen Code besitzt wurde von
  +
Matthias Trute die Idee geboren, einen universellen SRCP-Server zu erstellen, der alle bekannten Interfaces
  +
abdecken soll. Den größten und aufwendigsten Anteil am Server hat der SRCP-Teil, wo die eingehenden
  +
Befehle auf ihre Korrektheit geprüft und anschließend dekodiert werden, und wo die Informationen für die
  +
Clients zusammengestellt werden.
  +
Aus diesem Grund wurde im Sommer 2001 das srcpd-Projekt vom Matthias Trute (Maintainer) und Frank
  +
Schmischke aus der Taufe gehoben. Sie haben ihre beiden SRCP-Server zum neuen srcpd verschmolzen.
  +
Änderungen die das SRCP betreffen (und da wird es einige sehr interessante geben!), brauchen jetzt nur noch
  +
einmalig für alle intergrierten Interfaces durchgeführt zu werden. Hierdurch ist ein wesentlich besseres
  +
weiterentwickeln möglich, da nun mehrere Leute am selben Code rumwerkeln und Fehler schneller und besser
  +
aufgespürt und beseitigt werden können.
  +
22.4.2. Clients
  +
Während die SRCP Serversoftware ledigliche eine anfängliche Konfiguration benötigt und dann unbemerkt im
  +
Hintergrund arbeitet, stellen die hier vorgestellten Client Programme die Verbindung zum Lokführer vor dem
  +
Bildschirm her. Jeder SRCP Server kann Instruktionen von mehreren Clients gleichzeitig verarbeiten, es können
  +
also die hier vorgestellten Programme bunt gemischt eingesetzt werden.
  +
22.4.2.1. telnet
  +
Zuerst zu einem etwas ungewöhnlichen Client, telnet. telnet wird sich sicherlich nicht zum bevorzugten
  +
Werkzeug zur Modellbahnsteuerung entwickeln, für die Fehlersuche kann es jedoch sinnvoll sein auch dieses
  +
Werkzeug zu kennen.
  +
telnet stellt die einfachste Variante der Arbeit mit dem srcpd dar. Wenn der srcpd und telnet auf dem
  +
gleichen Rechner laufen, kann man mittels
  +
% telnet localhost 12345
  +
den srcpd in Verbindung mit telnet betreiben. Wenn der srcpd auf einem anderen Rechner läuft, so ist bei
  +
telnet der Parameter localhost durch den entsprechenden Rechnernamen zu ersetzten. Bei einer
  +
abweichenden Portadresse ist der Parameter 12345 entsprechend anzupassen.
  +
Nach dem Start von telnet wird eine Verbindung zum srcpd aufgebaut. Wenn dies erfolgreich durchgeführt
  +
worden ist, wird vom srcpd eine Willkommensmeldung an telnet zurückgeschickt. Alle Ausgaben
  +
erscheinen auf der aktuellen Console, es gibt keine weitere Benutzeroberfläche. Nun kann am Prompt ein
  +
Befehl gemäß SRCP Standard eingegeben werden, Beispielsweise:
  +
% SET GL PS 33 1 12 14 0 4 0 0 0 0
  +
Dieser bewirkt, daß die Lok mit der Adresse 33 mit Fahrstufe 12 (von 14 möglichen) ohne Licht oder sonstige
  +
Zusatzfunktionen (4) vorwärts fahren soll. Dies soll nur als Beispiel dienen, wenn telnet zur weiteren
  +
Steuerung benutzt werden soll, so hilft ein Blick in die SRCP Spezifikation.
  +
Zum Beenden können die Befehle:
  +
% LOGOUT
  +
oder
  +
% SHUTDOWN
  +
verwendet werden. Bei ersterem wird nur die Verbindung zum srcpd unterbrochen und telnet beendet sich,
  +
während mit dem zweiten Befehl der srcpd angewiesen wird sich zu Beenden, telnet wird hierbei ebenfalls
  +
beendet.
  +
645
  +
Kapitel 22. Modellbahnen
  +
22.4.2.2. j-man
  +
j-man ist ein in Java geschriebenes Programm zur Steuerung von Lokomotiven und Magnetartikeln und
  +
Bestandteil des Paketes DDL. j-man bietet über ein Menü im Hauptfenster Zugriff auf alle weiteren Funktionen.
  +
Ein Context Menü ist über die rechte Maustaste zu erreichen.
  +
Abbildung 22-4. Digitale Steuerung - j-man Hauptfenster
  +
Über folgenden Dialog können weitere Lokomotiven hinzugefügt werden, neben einem Namen ist natürlich die
  +
Adresse des Decoders und der Typ festzulegen.
  +
Abbildung 22-5. Digitale Steuerung - j-man Lok hinzufügen
  +
Zur Steuerung steht neben dem Lok-Controler für einzelne Lokomotiven, auch der hier gezeigte
  +
Mehrfachcontroler zur Auswahl.
  +
646
  +
Kapitel 22. Modellbahnen
  +
Abbildung 22-6. Digitale Steuerung - j-man Mehrfachcontroler
  +
Zur Steuerung des Digital Krans „Goliath“ steht ein spezieller Dialog zur Verfügung.
  +
Abbildung 22-7. Digitale Steuerung - j-man Goliath
  +
j-man verfügt noch über einige weitere Funktionen, beispielsweise zum Schalten von Weichen und ganzen
  +
Fahrstraßen.
  +
22.4.2.3. loco-panel
  +
loco-panel, ebenfalls aus dem DDL Paket, dient zur Anzeige der von den Clients gesendeten Befehlen. Im
  +
Normalbetrieb werden Sie dieses Programm nicht benötigen, zur Fehlersuche kann es aber unter Umständen
  +
hilfreich sein.
  +
647
  +
Kapitel 22. Modellbahnen
  +
Abbildung 22-8. Digitale Steuerung - loco-panel
  +
22.4.2.4. monitor
  +
Dieses Programm dient dem Test des Info- oder Feedbackports eines SRCP-Servers (srcpd, erddcd). Mit dem
  +
Kommando:
  +
% monitor localhost 12346
  +
wird eine Verbindung zum Feedback-Port des srcpd hergestellt (bei Standardkonfiguration, sonst ggf.
  +
Parameter anpassen). Die Portnummer ist hierbei der Basisport des srcpd plus eins. Für den Infoport muß diese
  +
Portangabe nochmals um eins erhöht werden.
  +
Anschließend schreibt das Programm alle vom srcpd eingehenden Meldungen auf den Bildschirm.Auf diese
  +
Art und Weise läßt sich die korrekte Rückmeldung durch den srcpd testen.
  +
22.4.2.5. keyboard
  +
Um einfach die Magnetartikel zu schalten, gibt es Keyboard. Um einen Automatikbetrieb zu realisieren gibt es
  +
Memory. Die gleichnamigen Produkte der Fa. Märklin sind zwar die geistigen Paten, aber haben nichts mit
  +
diesem Programm gemein. Das Programm benutzt TCL/TK und läuft auch unter Windows.
  +
Benutzung: ganz unten wird die aktuelle Basisadresse angezeigt Diese kann mit den Buttons um jeweils 16 nach
  +
oben bzw. nach unten verändert werden. Zu dieser Basisadresse muß sodann die Zahl zwischen den Buttons
  +
hinzugezählt werden, um die Adresse des Dekoders zu ermitteln, die letztendlich angesprochen wird.
  +
Solange eine der Tasten gedrückt wird, wird der entsprechende Ausgang des Dekoders aktiviert. Vorsicht ist
  +
also geboten, die Spulen können dabei durchbrennen.
  +
22.4.2.6. recorder
  +
Der Recorder ist für automatisierte Aktionen und für Makrofunktionen wie Weichenstraßensteuerung gedacht.
  +
Gegenwärtig kann man 24 Aktionen auf Knopfdruck abrufen und auch von einem Feedbackereignis triggern
  +
lassen. Daneben kann die Liste der SRCP Befehle editiert, gespeichert und auch wieder eingelesen werden.
  +
Einzig der Record-Modus funktioniert noch nicht. Auch gibt es noch Probleme mit der Parallelverarbeitung.
  +
Mehrere Trigger gleichzeitig funktionieren noch nicht.
  +
Die Benutzung ist einfach: Programm starten und für die 24 "Tasten" die jeweiligen Aktionen einlesen. Sodann
  +
kann mit einem Mausclick auf eine der Tasten die zugehörge Aktion ausgelöst werden. über die Radiobuttons
  +
ganz oben wird die Wirkung des Mausklicks verändert: Jetzt wird die Liste editierbar (ein Editfenster klappt
  +
auf), die Aktionsliste kann gespeichert und wieder eingelesen werden, oder eben das Programm lauscht am
  +
SRCP Server und speichert die Ereignisse so, daß sie wieder ausgeführt werden können. Momentan werden alle
  +
Befehle einer Taste auf einmal ausgeführt.
  +
648
  +
Kapitel 22. Modellbahnen
  +
22.4.2.7. rcsh
  +
rcsh ist eine Shell zur Steuerung von digitalen Modellbahnen. Eine einfach Scriptsprache erlaubt es
  +
Lokomotiven direkt aus der Shell heraus zu steuern. Hier ein einfaches Beispiel:
  +
l = locoN1(4)
  +
# Licht an, langsam aus Bahnhof herausfahren
  +
l.func(1)
  +
l.speed(1)
  +
l.send()
  +
# Immer noch langsam im Bahnhofsbereich
  +
l.speed(3)
  +
l.send()
  +
time.sleep(12)
  +
# Beschleunigen auf freier Strecke
  +
l.speed(7)
  +
l.send()
  +
time.sleep(20)
  +
# langsam in Bahnhof
  +
l.speed(2)
  +
l.send()
  +
time.sleep(5)
  +
# Kriechen und Stillstand an alter Startposition
  +
l.speed(1)
  +
l.send()
  +
time.sleep(3)
  +
l.speed(0)
  +
l.func(0)
  +
l.send()
  +
print l.speed()
  +
In diesem Beispiel zur (zeitlichen) Steuerung eines Zuges aus dem Bahnhof auf die Strecke und wieder zurück
  +
in den Bahnhof, sind die wichtigsten Funktionen benutzt worden. Eine etwas ausführlichere Dokumentation
  +
finden Sie auf Ihrem Debian System in der Datei /usr/share/doc/rcsh/README.Debian.
  +
22.4.2.8. rcman
  +
rcman ist ein Client mit textueller Oberfläche zur Steuerung von Modellbahnen in Verbindung mit einem SRCP
  +
konformen Server. rcman orientiert sich an j-man aus dem DDL Projekt.
  +
Abbildung 22-9. Digitale Steuerung - rcman
  +
649
  +
Kapitel 22. Modellbahnen
  +
rcman ist eine in Python geschriebene Anwendung. rcman wird nicht direkt aufgerufen, es ist zunächste eine
  +
Scriptdatei zu erstellen. Diese importiert zunächst alle Funktionen von rcman, danach können mit einfachen
  +
Kommandos die einzelnen Lokomotiven definiert werden. Dem Paket liegt ein Beispiel (rcmandemo.py) im
  +
Verzeichnis /usr/share/doc/rcman/examples/ bei.
  +
Da rcman auch ohne grafische Benutzeroberfläche auskommt läßt sich rcman auch auf älteren Systemen gut
  +
einsetzen. Die Bedienung des Programmes kann über die Tastatur oder auch mit der Maus erfolgen. Wenn die
  +
Maus über ein Scrollrad verfügt, so kann damit die Geschwindigkeit der Lok gesteuert werden. rcman kann
  +
über eine Infrarot Fernbedienung gesteuert werden, hierzu muss das LIRC Paket installiert sein.
  +
22.4.2.9. srcptt
  +
HTML und HTTP bieten leider nur eingeschränkte Möglichkeiten zur Steuerung via Webbrowser. Die
  +
Interaktion zwischen der Benutzeroberfläche und dem System ist dabei leider nicht immer so zeitnah möglich
  +
wie es wünschenswert oder gar notwendig wäre. Trotzdem lassen sich mittels HTML, PHP oder auch Perl
  +
interessante Anwendungenerstellen. Das Paket srcptt legt die entsprechenden Dateien im Verzeichnis
  +
/var/www/srcptt/ ab. Mittels eines beliebigen Webbrowsers sind diese nun im Netz
  +
(http://server.domain/srcptt/) oder auch lokal (http://localhost/srcptt/ erreichbar.
  +
22.4.2.10. SpDrS60
  +
SpDrS60 SpDrS60 ist das erste Programm zum nächsten Monaten noch starken Änderungen unterzogen wird.
  +
Aber trotzdem komfortablen Steuern von Weichen und Signalen für die Benutzung mit SRCP-konformen
  +
Servern. Es ist ausserdem das erste grafische ausgereifte Programm, um unter Linux seine Modellbahn zu
  +
steuern. Es bietet schon jetzt viel Komfort, um seine Modellbahnanlage getreu den bei der Deutschen Bahn AG
  +
immer noch verwendeten Spurplan-Drucktastenstellwerken (SpDr) zu steuern. Bei der Benutzung dieses
  +
Programms muss man sich - sofern man es kennt - von einigen gewohnten Eigenschaften eines
  +
Steuerprogramms verabschieden, da diese meistens zu sehr auf die Belange der Modellbahn abgestimmt sind.
  +
22.4.2.11. JoyCtrl
  +
JoyCtrl benutzt den Joystick zur Steuerung der Loks unter Linux und ist eine Alternative/Ergänzung zu Mausoder
  +
Tastatursteuerungen.
  +
Als Hardware dient mir ein billiger analoger Joystick mit einigen Feuerknöpfen.
  +
Für die Umrechnung der Knüppelbewegungen in Lokkommandos habe ich ein Kennlinienkonzept verwirklicht.
  +
Damit kann ich den Knüppelbewegungen unterschiedliche Lokaktionen zuordnen, je nach Situation. Ein
  +
jederzeitiges Umschalten ermöglicht, etwa im Bahnhofsbereich rangieren zu können und auf der freien Strecke
  +
entspannt die Lok laufen zu lassen.
  +
22.4.2.12. dtcltiny
  +
Ein weiterer Client ist mit dtcltiny von Markus Pfeiffer verfügbar, dieser Client basiert auf QT.
  +
Auch dieses Paket wurde gegenüber dem urspünglichen Paket ein wenig angepasst, ein einfacher Aufruf von
  +
dtcltiny startet das Programm mit sinnvollen Parametern und versucht im Homeverzeichnis des Benutzers
  +
eine Konfigurationsdatei zu laden. Wenn Sie die Ursprungsversion benutzen möchten, so finden Sie das
  +
Programm unter /usr/bin/dtcltiny.bin.
  +
650
  +
Kapitel 22. Modellbahnen
  +
Abbildung 22-10. Digitale Steuerung - dtcltiny
  +
Die Beispielkonfiguration unter /usr/share/doc/dtcltiny/SAMPLE.dtcltiny.data kann als
  +
.dtcltiny.datain das Homeverzeichnis kopiert werden (cp
  +
/usr/share/doc/dtcltiny/SAMPLE.dtcltiny.data ~/.dtcltiny.data). Diese
  +
Beispielkonfiguration enthält zwei Einträge, mit der die beiden Decoder der Dampflokomotive „Big Boy“
  +
(Märklin Nummer 37990) gesteuert werden können.
  +
Über das Menü „File“ können andere Konfigurationsdateien geladen oder aber die aktuelle Konfiguration
  +
gespeichert werden. Auch können über den Menüpunkt „New loco“ weitere Lokomotiven hinzugefügt werden.
  +
651
  +
Kapitel 22. Modellbahnen
  +
Abbildung 22-11. Digitale Steuerung - dtcltiny New loco / General
  +
Unter dem Menüpunkt „General“ kann neben dem Namen und einem Alias, also eine Bezeichnung für den
  +
ganzen Zug beispielsweise, noch der verwendete Decoder, das Protokoll sowie natürlich die Adresse des
  +
Decoders eingestellt werden.
  +
Abbildung 22-12. Digitale Steuerung - dtcltiny New loco / Funcs
  +
Im zweiten Abschnitt lassen sich die Funktionen des Decoders einstellen. Unter „Type“ finden sich die
  +
Funktionen wie „light“, „smoke“, „coupling“, „sound“ und „shunting“. Dies verändert das angezeigte Symbol
  +
für diese Funktion. In der Zeile „Activate as“ lässt sich das Verhalten der Schaltfläche als Taster oder Schalter
  +
einstellen.
  +
652
  +
Kapitel 22. Modellbahnen
  +
Abbildung 22-13. Digitale Steuerung - dtcltiny New loco / Speeds
  +
Der letzte Abschnitt dient zur Parametrisierung des Fahrverhaltens der Lok. Zunächst kann die maximale
  +
Geschwindigkeit der Lok in km/h oder mph eingestellt werden. Es lassen sich Werte für die Minimale und die
  +
Durchschnittliche Geschwindigkeit einstellen. Diese drei Werte werden im Hauptfenster durch drei Balken
  +
(grün, gelb, rot) dargestellt. Ein Mausklick auf einen der Balken beschleunigt sanft auf die eingestellte
  +
Geschwindigkeit dieses Bereiches. Natürlich läßt sich die Lok durch einen Klick in einen langsameren Bereich
  +
auch sanft abbremsen.
  +
Im unteren Bereich lassen sich die Verzögerungen für das Anfahren und Bremsen einstellen.
  +
22.5. Weitere Informationen
  +
DER_MOBA - Digitalprojekt der Newsgroup de.rec.modelle.bahn. Ziel ist die Schaffung eines skalierbaren -
  +
d.h. an die jeweiligen Anforderungen anpassbaren - Digitalsystems. http://www.der-moba.de/Digital/
  +
DDL - Digital Direct for Linux, Multiprotokoll-Controler und Steuerungssoftware für digitale
  +
Modelleisenbahnen. http://www.vogt-it.com/OpenSource/DDL/
  +
SpDrS60 für Linux - Programm zum komfortablen Steuern von Weichen und Signalen.
  +
http://www.linux-modellbahn.de/
  +
Tips zur Modellbahnsteuerung mit SuSE und Scripte zur Steuerung via Webbrowser.
  +
http://www.fingerlinge.de/bernd/Modellbahn/Digital-Seiten/
  +
Viele Hardwarebasteleien, Lok- Weichendekoder, Controller, Booster usw. .
  +
http://home.arcor.de/dr.koenig/digital/digital.htm
  +
Netz Community für Märklin Fans. http://www.marklin-users.net/
  +
Bauanleitungen für Lok- und Weichendekoder. http://www.frederiksson.dk/indexeng.html
  +
Märklin Digital Seiten der c’t von Carsten Meyer. http://www.heise.de/ct/Redaktion/cm/digital.html
  +
rcsh - Railroad Command Shell und rcman von Dr. Peer Griebel http://www.griebel-net.de/peer/rcsh/rcsh.html
  +
und http://www.griebel-net.de/peer/rcsh/rcman.html
  +
653
  +
Kapitel 23. Weitere Infos
  +
23.1. Abkürzungen / Begriffe
  +
In einer technischen Dokumentation läßt es sich nur schwer vermeiden vollkommen auf englischsprachliche
  +
Begriffe oder auf „Kunstwörter“ aus dem Wortschatz der „Community“ zu verzichten. Begriffe wie: „Hacker“,
  +
„FAQ“ oder „AFAIK“ finden sich aber auch in HOWTOs oder auf Mailinglisten. Eine sehr umfangreiche Liste
  +
von Begriffen mit ausführlichen Erklärungen ist von Eric S. Raymond als „Jargon-File“ zusammengestellt
  +
worden und im Netz unter http://www.tuxedo.org/jargon/ in den verschiedensten Formaten verfügbar.
  +
Hier einige Erläuterungen zu den gebräuchlisten Begriffen, insbesondere im Zusammenhang mit Debian GNU.
  +
• AM Application Maintainer, eine Person die einen NM durch den NM Prozess geleitet.
  +
• BTS Bug Tracking System
  +
• DAM Debian Account Manager, ein Debian Entwickler der für das einrichten neuer Benutzeraccounts
  +
zuständig ist.
  +
• DDP Debian Documentation Project, in diesem Projekt wird die Dokumentation zu Debian GNU erstellt und
  +
verwaltet.
  +
• DMUP Debian Machine Use Policies, Richtlinien für die Benutzung der Debian Entwicklungsmaschinen.
  +
• DPL Debian Project Leader, die Person die dem Projekt vorsteht und es nach aussen representiert.
  +
• DWN Debian Weekly News, wöchentliche Neuigkeiten des Projektes
  +
• ITA Intend to Adopt, ein Maintainer möchte ein Packet von einem anderen übernehmen. Sie auch wnpp.
  +
• ITO Intend to Orphan, ein Maintainer möchte ein verwaistes Paket übernehmen. Sie auch wnpp.
  +
• ITP Intend to Package, wenn ein Maintainer ein neues Paket erstellen möchte wird dies zunächst auf der
  +
Mailingliste debian-devel angekündigt. Sie auch wnpp.
  +
• KCD Kernel Cousin Debian, eine wöchentliche Zusammenstellung der wichtigsten Diskussionen aus der
  +
Mailingliste debian-devel. Zu finden unter http://kt.zork.net/debian/.
  +
• MIA Missing in Action, ein Maintainer der keine Bugs beseitigt oder nicht auf Mails antwortet.
  +
• NM New Maintainer, jemand der Maintainer werden möchte oder grade geworden ist.
  +
• NMU Non Maintainer Upload, eine andere Person als der Maintainer hat ein Paket auf einen Server gelegt.
  +
• OPN - Ein Netzwerk von Rechnern die das IRC Netzwerk hosten.
  +
• RFA - Ein Entwickler möchte ein Paket abgeben und bittet einen anderen Maintainer das Paket zu
  +
übernehmen.
  +
• RFP - Ein Entwickler möchte eine Software als Debian Paket zusammenstellen und auf dem Server ablegen.
  +
• RL Real Life - Das Gegenteil des „Virtual Life“ welches sich im Netz, also in IRC-Channeln, Newsgroups
  +
und auf Mailinglisten abspielt.
  +
• RTFM Read the Fine Manual - weist freundlich darauf hin doch zunächst einen Blick in die Dokumentation
  +
zu werfen. Häufig auch als Read the Fucking Manual anzutreffen.
  +
• UTSL Use the Source, Luke - entnommen aus den Star Wars Filmen, es wird gebeten doch einen Blick in den
  +
Quellcode zu werfen.
  +
• wnpp Work-Needing and Prospective Packages - Liste von Pakete die zur Zeit ohne hinreichende Betrueung
  +
sind.
  +
654
  +
Kapitel 23. Weitere Infos
  +
23.2. Debian Mirror
  +
Ein eigener Debian Mirror, also eine lokale Kopie aller benötigten Dateien vom Debian-FTP Server kann für
  +
verschiedene Zwecke sinnvoll sein. Zunächst einmal hat man sofortigen Zugriff auf alle Dateien und kann diese
  +
installieren ohne auf den Download der Dateien warten zu müssen. Natürlich ist auch die Aktualität der
  +
Software um einiges besser als bei der Installation von CD-ROMs. Für die Installation von mehreren Rechnern
  +
ist eine solche lokale Kopie ebenfalls die erste Wahl. Wenn, wie im nächsten Abschnitt beschrieben, eigene
  +
Debian CDs erstellt werden sollen, ist ein Mirror unumgänglich.
  +
Aufgrund des bereits großen Umfangs des Debian-Archives ist es nicht sinnvoll eine komplette Kopie aller
  +
Dateien lokal vorzuhalten. Meist ist es ausreichend lediglich die Binarys für die verwendete Architetur
  +
(beispielsweise i386) vorzuhalten. Die Sourcen der Pakete werden nur in seltenen Fällen benötigt und können
  +
gezielt bei Bedarf besorgt werden. Informationen zum spiegeln eines Debian Servers finden sich auch unter
  +
http://www.debian.org/mirror/ftpmirror.
  +
23.2.1. absurd_debmirror
  +
absurd_debmirror ist ein auf rsync basierendes Shellscript. Der Vorteil bei der Verwendung von rsync ist
  +
der schonendere Umgang mit den Systemresourcen. absurd_debmirror überträgt neben den eigentlichen
  +
Paketen auch die entsprechenden Bootdisketten der gewünschten Release, so das sich dieses Programm sehr gut
  +
eignet um einen lokalen Mirror zu erzeugen aus dem bootfähige CD-ROMs generiert werden können.
  +
absurd_debmirror enthält eine umfangreiche Dokumentation innerhalb des Scriptes. Als Parameter beim
  +
Aufruf von absurd_debmirror ist zunächst das lokale Verzeichnis anzugeben in dem die Pakete abgelegt
  +
werden sollen (ohne Angabe des Verzeichnisses debian). Zweiter Parameter ist der Server von dem die Pakete
  +
geholt werden, gefolgt von dem Verzeichnis auf diesem Server. Als drittes folgt die gewünschte Release,
  +
mehrere Releases sind dabei durch Anführungszeichen zusammenzufassen. Gleiches gilt für die Bereiche sowie
  +
für die gewünschten Architekturen.
  +
Ein Aufruf von absurd_debmirror kann demnach wie folgt aussehen:
  +
absurd_debmirror /home/ftp ftp.debian.org debian "woody sid" "main contrib
  +
non-free non-US/main non-US/contrib non-US/non-free" "i386"
  +
Natürlich ist es auch möglich den Non-US Bereich eines Servers zu spiegeln. Dies kann mit folgendem Aufruf
  +
geschehen:
  +
/usr/local/bin/absurd_debmirror /home/ftp/debian non-us.debian.org
  +
debian-non-US "woody sid" "non-US/main non-US/contrib non-US/non-free" "i386"
  +
absurd_debmirror wird nicht mehr weiterentwickelt, stattdessen kann das im folgenden beschriebene
  +
debmirror verwendet werden.
  +
23.2.2. debmirror
  +
Das Programm debmirror von Joey Hess bietet eine sehr einfach Möglichkeit einen Debian FTP Server, bei
  +
Bedarf auch nur in Teilen, zu spiegeln. Das Programm steht leider nicht als offizielles Debian Paket zur
  +
Verfügung, da es sich aber um ein Perl Script handelt ist dies keine große Katastrophe. Sie finden die aktuelle
  +
Version unter http://cvs.kitenet.net/joey-cvs/bin/Attic/debmirror. Alternativ kann auf das nicht-offizielle Paket
  +
unter http://www.openoffice.de/linux/debian/dists/woody/main/binary-i386/misc/ zurückgegriffen werden.
  +
debmirror benutzt keine Konfigurationsdatei, alle benötigten Parameter können auf der Kommandozeile
  +
angegeben werden. Sehr vorteilhaft ist bei diesem Script das es speziell auf die Bedürfnisse von Debian
  +
angepasst wurde, so kann es beispielsweise mit Package-Pools problemlos umgehen. Das Packages-Pool
  +
Konzept wurde mit der Entwicklung von „woody“ eingeführt und erlaubt es verschiedene Releases (testing,
  +
stable, unstable...) auf Basis der Daten innerhalb des Verzeichnisses pool/ zu verwalten. Weiterhin werden die
  +
655
  +
Kapitel 23. Weitere Infos
  +
benötigten Dateien auf Basis der Package-Dateien ermittelt, somit ist auch hier immer ein einheitlicher Stand
  +
sichergestellt.
  +
Die Verwendung von debmirror ist ziemlich simpel. Wenn das Programm ohne weitere Parameter aufgerufen
  +
wird, bekommen Sie eine Übersicht der möglichen Parameter:
  +
sushi:~# ./debmirror
  +
mirrordir not specified
  +
Usage: ./debmirror mirrordir [--debug] [--progress] [--source|--nosource]
  +
[--md5sums|--nomd5sums] [--passive] [--host=remotehost]
  +
[--user=remoteusername]
  +
[--root=directory] [--dist=foo[,bar,..] ...]
  +
[--section=foo[,bar,..] ...] [--arch=foo[,bar,..] ...]
  +
[--cleanup|--nocleanup] [--skippackages] [--adddir=directory]
  +
[--ignore=regex] [--getcontents] [--exclude=regex] [--help]
  +
Als einziger Parameter ist „mirrordir“ zwingend erforderlich. Dieser beschreibt das lokale Verzeichnis in dem
  +
der Debian Spiegel erzeugt werden soll. Wenn dieses Verzeichnis nicht vorhanden ist, so wird es erzeugt.
  +
Folgendes Kommando erzeugt einen Debian Mirror für die Architektur „i386“ im Verzeichnis
  +
/home/ftp/debian/, es werden die Versionen „potato“, „woody“ und „sid“ mit den Bereichen „main“,
  +
„contrib“ und „non-free“ kopiert. Als Server dient „ftp.debianorg“ (hier sollte auf alle Fälle ein gut erreichbarer
  +
Server benutzt werden), es werden keine Sourcen übertragen und das Verzeichnis „debian-non-US“ auf der
  +
lokalen Platte wird nicht angetastet (dazu gleich mehr). Weiterhin wird Fortschritt laufend angezeigt.
  +
debmirror -a i386 -s main -s contrib -s non-free \
  +
-h ftp.debian.org \
  +
-d woody -d potato -d sid \
  +
/home/ftp/debian \
  +
--nosource \
  +
--ignore=debian-non-US/ --progress
  +
Da auf dem offiziellen Debian FTP Server die Pakete aus dem non-US Bereich fehlen, können diese Pakete mit
  +
einer zweiten Zeile auf den heimischen Rechner geholt werden:
  +
debmirror -a i386 -h ftp.de.debian.org \
  +
-r /debian-non-US -s non-US/main,non-US/contrib,non-US/non-free \
  +
-d woody -d potato -d sid \
  +
/home/ftp/debian/debian-non-US --progress
  +
Je nach Bandbreite Ihrer Internetanbindung steht Ihnen nach einiger Zeit ein lokaler Debian Mirror zur
  +
Verfügung.
  +
23.2.3. debmirror-wrapper
  +
debmirror-wrapper ist ein Script welches einige der Fehler in debmirror umschifft und einige Funktionen
  +
implementiert die nur in seltenen Fällen gebraucht werden. Beispielsweise werden auf einem durchschnittlichen
  +
Mirror keine Bootdisketten benötigt und diese werden auch von debmirror deshalb nicht berücksichtigt. Diese
  +
können aber mittels debmirror-wrapper übertragen werden, beispielsweise wenn diese zur Herstellung von
  +
eigenen Debian CD-ROMs benötigt werden.
  +
Durch den Einsatz von debmirror-wrapper wird auch die Syntax beim Aufruf noch einfacher. Viele der
  +
benötigten Optionen können direkt im Script fest verankert werden, lange Kommandozeilen Optionen entfallen
  +
damit. debmirror-wrapper von Stephan A. Suerken ist auf seinen Webseiten zu finden.
  +
656
  +
Kapitel 23. Weitere Infos
  +
23.2.4. mirror
  +
mirror steht als Debian Paket zur Verfügung und wird seit vielen Jahren auch auf großen FTP Servern
  +
(beispielsweise an Universitäten) benutzt um Inhalte anderer FTP Server lokal zu speichern. Für eine lokale
  +
Kopie der Daten eines Debian FTP Servers wird neben dem eigentlichen Programm mirror vor allem viel
  +
Festplattenplatz benötigt. Da mirror als universelles Programm zum spiegeln von FTP Servern entwickelt
  +
wurde, kennt es natürlich keine Debian Besonderheiten wie Package-Pools. Um nicht unnötig Pakete zu
  +
kopieren ist leider eine etwas aufwendige Konfiguration nötig.
  +
Die Konfigurationsdateien für das Programm mirror finden sich nach der Installation im Verzeichnis
  +
/etc/mirror/packages/. Hier kann für jeden gewünschten Mirror eine Datei angelegt werden. Das Program
  +
selber wird dann mit der Konfigurationsdatei als Parameter aufgerufen. Zusätzlich kann die Option -d (auch
  +
mehrfach) angegeben werden um mehr Informationen über den Vorgang zu bekommen.
  +
Hier eine Konfigurationsdatei die die Architekturen i386 und powerpc vom Debian FTP Server kopiert.
  +
package=Debian
  +
#
  +
comment=Mirror of parts of ftp.debian.org/pub/debian
  +
#
  +
# specify remote host, directory and ls-lR file
  +
site=ftp.de.debian.org
  +
remote_dir=/debian
  +
store_remote_listing=/tmp/DEBIANREMOTE
  +
ls_lR_file=ls-lR.gz
  +
#
  +
# specify the local directory
  +
local_dir=/home/ftp/debian
  +
#
  +
# inform this user about results
  +
mail_to=fr
  +
#
  +
# Compress these files.
  +
#compress_patt=\.*(C|c)ontents(-i386)?
  +
#compress_patt+|Packages(-Master)?|ls-lR|md5sums
  +
#compress_patt+|Maintainers|msdos-names
  +
#
  +
# Exclude these files or directories
  +
exclude_patt=private/|project/|ls-lR|ls-lR.gz|ls-lR.patch.gz|dsync.list
  +
exclude_patt+|debian-(bugs|lists)/
  +
exclude_patt+|\.*(hurd-i386|hppa|mipsel|mips|ia64|s390|arm|m68k|alpha|
  +
hurd|mips|sparc).deb?
  +
exclude_patt+|\.*(hurd-i386|hppa|mipsel|mips|ia64|s390|arm|m68k|alpha|
  +
hurd|mips|sparc).udeb?
  +
exclude_patt+|\.*(hurd-i386|hppa|mipsel|mips|ia64|s390|arm|m68k|alpha|
  +
hurd|mips|sparc).gz?
  +
exclude_patt+|\.*(hurd-i386|hppa|mipsel|mips|ia64|s390|arm|m68k|alpha|
  +
hurd|mips|sparc).diff.gz?
  +
exclude_patt+|\.*(hurd-i386|hppa|mipsel|mips|ia64|s390|arm|m68k|alpha|
  +
hurd|mips|sparc).dsc?
  +
exclude_patt+|\.*(hurd-i386|hppa|mipsel|mips|ia64|s390|arm|m68k|alpha|
  +
hurd|mips|sparc).tar.gz?
  +
exclude_patt+|\.tar.gz?
  +
exclude_patt+|\.dsc?
  +
exclude_patt+|\.changes?
  +
exclude_patt+|\.diff.gz?
  +
exclude_patt+|bo/
  +
exclude_patt+|rex/
  +
exclude_patt+|slink/
  +
exclude_patt+|binary-arm/
  +
exclude_patt+|binary-m68k/
  +
exclude_patt+|binary-ia64/
  +
exclude_patt+|binary-hppa/
  +
exclude_patt+|binary-sparc/
  +
657
  +
Kapitel 23. Weitere Infos
  +
exclude_patt+|binary-mipsel/
  +
exclude_patt+|binary-mips/
  +
exclude_patt+|binary-alpha/
  +
exclude_patt+|disks-alpha/
  +
exclude_patt+|disks-m68k/
  +
exclude_patt+|disks-sparc/
  +
exclude_patt+|upgrade-alpha/
  +
exclude_patt+|upgrade-m68k/
  +
exclude_patt+|upgrade-sparc/
  +
exclude_patt+|binary-s390/
  +
exclude_patt+|binary-hurd-i386/
  +
exclude_patt+|md5sums
  +
exclude_patt+|md5sums.gz
  +
exclude_patt+|/potato/main/disks-arm/
  +
exclude_patt+|/potato/main/binary-arm/
  +
exclude_patt+|/potato/contrib/binary-arm/
  +
exclude_patt+|/potato/non-free/binary-arm/
  +
exclude_patt+|/potato/main/binary-sparc/
  +
exclude_patt+|/potato/contrib/binary-sparc/
  +
exclude_patt+|/potato/non-free/binary-sparc/
  +
exclude_patt+|woody/non-free/binary-sparc/
  +
exclude_patt+|woody/non-free/binary-alpha/
  +
exclude_patt+|woody/main/binary-sparc/
  +
exclude_patt+|woody/main/binary-alpha/
  +
exclude_patt+|woody/contrib/binary-sparc/
  +
exclude_patt+|woody/contrib/binary-alpha/
  +
exclude_patt+|woody/main/binary-hurd/
  +
exclude_patt+|woody/main/binary-hurd-i386/
  +
exclude_patt+|woody/main/binary-arm/
  +
exclude_patt+|woody/main/binary-mips/
  +
exclude_patt+|woody/main/binary-mipsel/
  +
exclude_patt+|binary-hppa/
  +
exclude_patt+|binary-sh/
  +
exclude_patt+|woody/main/binary-sparc/
  +
exclude_patt+|woody/main/disks-sparc/
  +
exclude_patt+|woody/main/binary-alpha/
  +
exclude_patt+|woody/Contents-arm.gz
  +
exclude_patt+|woody/Contents-hurd-i386.gz
  +
exclude_patt+|woody/Contents-alpha.gz
  +
exclude_patt+|woody/Contents-sparc.gz
  +
exclude_patt+|woody/Contents-hppa.gz
  +
exclude_patt+|woody/Contents-sh.gz
  +
exclude_patt+|woody/Contents-mips.gz
  +
exclude_patt+|woody/Contents-mipsel.gz
  +
#
  +
exclude_patt+|\.notar
  +
#
  +
# Don’t delete what is mirrored by the other mirror package below
  +
#
  +
# delete_excl=(local|debian-non-US|non-US|project)(/|$)
  +
# Do not delete if more than 20% of all files would vanish
  +
max_delete_files=20%
  +
658
  +
Kapitel 23. Weitere Infos
  +
23.3. Erstellen von eigenen Debian GNU/Linux CD-ROMs
  +
Debian GNU/Linux CD-ROMs sind im Handel, als Heft-CDs oder zum Download als Image erhältlich.
  +
Natürlich bietet Debian Ihnen aber auch die Möglichkeit eigene, bootfähige CDs herzustellen und diese auf die
  +
eigenen Bedürfnisse anzupassen. Hierzu steht das Paket debian-cd zu Verfügung.
  +
Zunächst sollten Sie jedoch dafür sorgen das die benötigten Dateien für die CDs auf Ihrem System vorhanden
  +
sind. Üblich ist es hierzu eine lokale Kopie (Mirror) der gewünschten Architektur(en) (z.B. i386) anzulegen.
  +
Das Program mirror ist hierzu hervorragend geeignet.
  +
Neben einigen gebräuchlichen Tools (wie zum Beispiel apt-get, perl, bash, make... ) die auf jedem System
  +
vorhanden sein sollten, benötigt debian-cd die Programme mkisofs/mkhybrid, dpkg-multicd, das Perl
  +
MD5 Modul, dpkg-dev und lynx. Natürlich benötigen Sie auch noch einigen freien Plattenplatz.
  +
Nach der Installation dieses Paketes finden sich die notwendigen Dateien im Verzeichnis
  +
/usr/share/debian-cd/. In der Datei CONF.sh müssen einige Zeilen angepasst werden.
  +
23.3.1. Konfiguration
  +
• export CODENAME=woody - Hier wird die Variable für die gewünschte Version gesetzt. Es sollte bei einem
  +
kompletten Mirror einer stabilen Version jederzeit möglich sein die gewünschten CDs zu erstellen. Bei
  +
Entwicklerversionen können dringend benötigte Pakete fehlen oder es sind noch keine angepassten
  +
Bootdisketten verfügbar. In einem solchen Fall kann aber auch das Paket debian-cd in einem Zustand sein
  +
der es nicht erlaubt CDs zu erstellen.
  +
• export DEBVERSION="2.3 r0" - Versionsnummer und Releasestand der Distribution.
  +
• export OFFICIAL="Unofficial" - Dieser Wert sollte nicht verändert werden. Die Bezeichnung
  +
„Official“ ist nur für CD-Images erlaubt die vom Debian Projekt erstellt wurden. Für Vorabversionen kann
  +
hier auch die Bezeichnung „Unofficial Beta“ benutzt werden.
  +
• export ARCH=‘dpkg --print-installation-architecture‘ - Diese Variable beschreibt für welche
  +
Architektur die CD-Images erstellt werden sollen. Häufig wird diese Architektur identisch mit der bereits
  +
verwendeten Architektur sein, so das man beruhigt dem Programm dpkg die Aufgabe übertragen kann den
  +
richtigen Wert zu ermitteln. Natürlich iste auch möglich CD-Images für eine andere Architektur zu erstellen.
  +
In diesem Fall ist der Wert entsprechend anzupassen und natürlich müssen die benötigten Pakete für die
  +
Zielarchitektur vorliegen. Je nach Zielarchitektur müssen ggf. noch weitere Pakete, beispielsweise aboot für
  +
die Alpha-Architektur, installiert werden.
  +
Die nächsten vier Variablen sollten auf Verzeichnisse auf der gleichen Partition und auf dem gleichen Device
  +
zeigen. Wenn dies nicht möglich ist, kann die Variable COPYLINK auf 1 gesetzt werden. Dies benötigt einiges
  +
an zusätzlichem Festplattenplatz da keine symbolischen Link verwendet werden können. Diese Option muß
  +
auch gesetzt sein falls die Daten auf einem per NFS gemounteten Laufwerk liegen.
  +
• export MIRROR=/home/ftp/debian - Pfad zum Debian Mirror. Das Verzeichnis unter dem sich die
  +
Kopie des Debian FTP-Servers befindet.
  +
• export NONUS=/home/ftp/debian/debian-non-US - Das Verzeichnis in dem sich die Dateien aus dem
  +
non-US Bereich befinden. Wenn dieser Bereich nicht auf den CDs enthalten sein soll, kann diese Zeile
  +
auskommentiert werden.
  +
• export FORCENONUSONCD1=1 - Wenn diese Zeile, durch entfernen des Zeichens # aktiviert wird, werden
  +
zwei Versionen der ersten CD erzeugt. Eine enthält alle Pakete aus non-US, die andere nicht. Diese Option ist
  +
nur sinnvoll wenn tatsächlich beide CD-Images benötigt werden.
  +
• export TDIR=/home/ftp/debian/.tmp - Pfad zu einem Verzeichnis in dem Dateien, die zur Erzeugung
  +
der CDs benötigt werden, abgelegt werden können.
  +
• export OUT=/home/ftp/CD-Images - Pfad in dem die CD-Images abgelegt werden. Dieser kann sich auf
  +
einer anderen Partition befinden.
  +
Die weiteren Optionen müssen nicht zwingend angepasst werden, trotzdem lohnt es sich mal einen Blick darauf
  +
zu werfen.
  +
659
  +
Kapitel 23. Weitere Infos
  +
• export APTTMP=/home/ftp/debian/.tmp/apt - Das Verzeichnis für temporäre Dateien die von apt
  +
benötigt werden.
  +
• export NONFREE=1 - Beschreibt ob auch die Non-Free Teile der Distribution auf den CDs enthalten sein
  +
sollen.
  +
• export EXTRANONFREE=1 - Hiermit werden die Non-Free Teile auf eine Extra CD geschrieben. Bitte
  +
beachten Sie, es kann nur eine der Optionen NONFREE oder EXTRANONFREE benutzt werden.
  +
• export LOCAL=1 - Wenn ein Verzeichnis $MIRROR/dists/$CODENAME/local/binary-$ARCH existiert,
  +
und die Dateien aus diesem Verzeichnis auf die zu erstellende CD kopiert werden sollen, so ist bei dieser
  +
Zeile der Kommentar zu entfernen.
  +
• export LOCALDEBS=/home/fr/pakate/debian - Wenn die lokalen Pakete nicht in dem oben
  +
beschriebenen Verzeichnis liegen, so kann mit dieser Variablen das gewünschte Verzeichnis angegeben
  +
werden.
  +
• export BOOTDIR=/boot - Diese Variable ist zu benutzen wenn die Dateien cd.b und second.b nicht an
  +
der üblichen Stelle zu finden sind und CD-Images für die Sparc-Architektur erzeugt werden.
  +
• export SYMLINK=1 - Mit dieser Option werden Symbolische Links zu den benötigten Paketen erzeugt.
  +
• export COPYLINK=1 - Hiermit werden alle Dateien kopiert und keine Symbolischen Links angelegt.
  +
• export MKISOFS=/usr/bin/mkhybrid - Hier kann der Pfad zum Programm mkhybrid, mit dem die
  +
ISO-Dateien erzeugt werden, angegeben werden. Hier kann auch ein anderes Programm mit ähnlicher
  +
Funktionalität, beispielsweise mkisofs benutzt werden.
  +
• export MKISOFS_OPTS="-a -r -T" #For normal users oder export MKISOFS_OPTS="-a -r
  +
-F . -T" #For symlink farmers - Optionen für das Programm mkhybrid.
  +
• export VERBOSE_MAKE=1 - Gibt mehr Informationen während der Zusammenstellung der CD-Images aus.
  +
• ATTEMPT_FALLBACK=yes - Mit dieser Option kann versucht werden eine einfachere CD zu erstellen, falls es
  +
ohne diese Option fehlschlägt.
  +
• export EXCLUDE="$BASEDIR"/tasks/exclude-potato - Liste einiger Dateien die nicht enthalten sein
  +
sollen, in diesem Fall um auf der ersten CD etwas Platz zu sparen.
  +
• export UNEXCLUDE2="$BASEDIR"/tasks/unexclude-CD2-potato - Hiermit werden die eben
  +
ausgeschlossenen Dateien auf die CD Nummer 2 geschrieben.
  +
• export SRCEXCLUDE="$BASEDIR"/tasks/exclude-src-potato - Liste einige Quellpakete die
  +
ebenfalls nicht auf den CDs erscheinen sollen.
  +
Hier ein Beispiel für eine bereits angepasste Konfiguration.
  +
#
  +
# This file will have to be sourced where needed
  +
#
  +
# The debian-cd dir
  +
# Where I am (hoping I’m in the debian-cd dir)
  +
export BASEDIR=‘pwd‘
  +
# Building potato cd set ...
  +
export CODENAME=woody
  +
# Version number, "2.2 r0", "2.2 r1" etc.
  +
export DEBVERSION="3.0 r0"
  +
# Official or non-official set.
  +
# NOTE: THE "OFFICIAL" DESIGNATION IS ONLY ALLOWED FOR IMAGES AVAILABLE
  +
# ON THE OFFICIAL DEBIAN CD WEBSITE http://cdimage.debian.org
  +
export OFFICIAL="Unofficial"
  +
#export OFFICIAL="Official"
  +
#export OFFICIAL="Official Beta"
  +
# ... for arch
  +
660
  +
Kapitel 23. Weitere Infos
  +
export ARCH=‘dpkg --print-installation-architecture‘
  +
# IMPORTANT : The 4 following paths must be on the same partition/device.
  +
# If they aren’t then you must set COPYLINK below to 1. This
  +
# takes a lot of extra room to create the sandbox for the ISO
  +
# images, however. Also, if you are using an NFS partition for
  +
# some part of this, you must use this option.
  +
# Paths to the mirrors
  +
export MIRROR=/home/ftp/debian
  +
# Comment the following line if you don’t have/want non-US
  +
export NONUS=/home/ftp/debian/debian-non-US
  +
# And this option will make you 2 copies of CD1 - one with all the
  +
# non-US packages on it, one with none. Useful if you’re likely to
  +
# need both.
  +
#export FORCENONUSONCD1=1
  +
# Path of the temporary directory
  +
export TDIR=/home/ftp/debian/.tmp
  +
# Path where the images will be written
  +
export OUT=/home/fr/mp3/IMAGES
  +
# Where we keep the temporary apt stuff.
  +
# This cannot reside on an NFS mount.
  +
export APTTMP=/home/ftp/debian/.tmp/apt
  +
# Do I want to have NONFREE merged in the CD set
  +
export NONFREE=1
  +
# Do I want to have NONFREE on a separate CD (the last CD of the CD set)
  +
# WARNING: Don’t use NONFREE and EXTRANONFREE at the same time !
  +
# export EXTRANONFREE=1
  +
# If you have a $MIRROR/dists/$CODENAME/local/binary-$ARCH dir with
  +
# local packages that you want to put on the CD set then
  +
# uncomment the following line
  +
# export LOCAL=1
  +
# If your local packages are not under $MIRROR, but somewhere else,
  +
# you can uncomment this line and edit to to point to a directory
  +
# containing dists/$CODENAME/local/binary-$ARCH
  +
# export LOCALDEBS=/home/joey/debian/va/debian
  +
# Sparc only : bootdir (location of cd.b and second.b)
  +
# export BOOTDIR=/boot
  +
# Symlink farmers should uncomment this line :
  +
# export SYMLINK=1
  +
# Use this to force copying the files instead of symlinking or hardlinking
  +
# them. This is useful if your destination directories are on a different
  +
# partition than your source files.
  +
# export COPYLINK=1
  +
# Options
  +
# export MKISOFS=/usr/bin/mkhybrid
  +
# export MKISOFS_OPTS="-a -r -T" #For normal users
  +
# export MKISOFS_OPTS="-a -r -F . -T" #For symlink farmers
  +
# uncomment this to if you want to see more of what the Makefile is doing
  +
export VERBOSE_MAKE=1
  +
661
  +
Kapitel 23. Weitere Infos
  +
# uncoment this to make build_all.sh try to build a simple CD image if
  +
# the proper official CD run does not work
  +
#ATTEMPT_FALLBACK=yes
  +
# We don’t want certain packages to take up space on CD1...
  +
export EXCLUDE="$BASEDIR"/tasks/exclude-potato
  +
# ...but they’re okay on other CDs (UNEXCLUDEx == may be included on CD >= x)
  +
export UNEXCLUDE2="$BASEDIR"/tasks/unexclude-CD2-potato
  +
# Any packages listed in EXCLUDE but not in any UNEXCLUDE will be
  +
# excluded completely.
  +
# We also exclude some source packages
  +
export SRCEXCLUDE="$BASEDIR"/tasks/exclude-src-potato
  +
23.3.2. Erstellen der CD-Images
  +
Für das eigentliche erstellen der CD-Images stehen zwei Shell-Scripte zur Verfügung. build.sh erstellt Imges
  +
für eine einzelne Architektur. Die gewünschte Architektur wird über die Konfigurationsdatei ermittelt oder kann
  +
auf der Kommandozeile übergeben werden.
  +
build_all.sh erstellt CDs Images für alle Architekturen.
  +
23.3.3. Aktualisieren von debian-cd
  +
Wenn CD-Images für eine Entwicklungsversion von Debian erstellt werden sollen, so kann es passieren das das
  +
Paket nicht auf dem allerneuesten Stand ist. In einem solchen Fall bietet sich ein Versuch mit einer
  +
Entwicklungsversion von debian-cd aus dem CVS Baum an.
  +
Eine komplette Kopie der CVS Version kann mit folgenden Befehlen erstellt werden:
  +
cvs -d :pserver:anonymous@cvs.debian.org:/cvs/debian-boot login
  +
cvs -d :pserver:anonymous@cvs.debian.org:/cvs/debian-boot -z3 checkout debian-cd
  +
cvs -d :pserver:anonymous@cvs.debian.org:/cvs/debian-boot logout
  +
Im aktuellen Verzeichnis wird ein Verzeichnis debian-cd erstellt in dem sich die neuesten Dateien befinden.
  +
Wenn diese Version aktualisiert werden soll sind beim nächsten Aufruf folgende Kommandos notwendig:
  +
cvs -d :pserver:anonymous@cvs.debian.org:/cvs/debian-boot login
  +
cvs -d :pserver:anonymous@cvs.debian.org:/cvs/debian-boot -z3 update -d -P
  +
cvs -d :pserver:anonymous@cvs.debian.org:/cvs/debian-boot logout
  +
23.4. Programmfehler (bugs)
  +
Debian GNU/Linux nimmt die Sicherheit sehr ernst. Der größte Teil der Probleme, die bekannt werden, ist
  +
innerhalb von 48 Stunden korrigiert.
  +
Die Erfahrung zeigt, daß „Sicherheit durch Verschleierung“ (englisch: security trough obscurity) nicht
  +
funktioniert. Die öffentliche „Ent-Schleierung“ wird durch Freigabe des Source-Codes zu Programmen erreicht
  +
und erlaubt es, bessere Lösungen für Sicherheits-Probleme schneller zu finden.
  +
Mängel in der Sicherheit werden bei Debian GNU/Linux so lange verfolgt, bis eine korrigierte Version in die
  +
Distribution eingefügt wird. Wenn Sie in einem stabilen Release eine höhere Versionsnummer finden, dann
  +
benutzen Sie die neuere Version.
  +
662
  +
Kapitel 23. Weitere Infos
  +
Wenn Sie selber einen Fehler in einem Programm in Ihrer Debian GNU/Linux-Distribution finden, sehen Sie
  +
zunächst nach, ob dieses Problem bereits bekannt ist. Sollte dies nicht der Fall sein, so können Sie das
  +
Programm bug benutzen, um diesen Fehler an die Debian-Entwickler zu melden.
  +
Für allerneueste Sicherheitsinformationen über Debian tragen Sie sich in die debian-security-announce
  +
Mailing-Liste ein. Informationen hierzu finden Sie auf den Webseiten des Debian-Projektes.
  +
Die Debian GNU/Linux-Distribution verwendet ein Fehlerverfolgungssystem, in dem Details von Fehlern, die
  +
von Benutzern oder Entwicklern gemeldet wurden, gespeichert werden. Jeder gefundene Fehler bekommt eine
  +
Nummer zugewiesen und wird so lange gespeichert, bis der Fehler beseitigt ist.
  +
Sie finden eine Liste aller bekannten Fehler unter: http://www.debian.org/Bugs/
  +
23.5. Installations- und Rettungsdiskette
  +
Sie können die Installationsdiskette oder die CD - falls Sie von dieser das System bei der Installation gestartet
  +
haben - auch zur Reparatur Ihres Systems benutzen. Dies kann in seltenen Fällen passieren, z. B. falls Sie den
  +
Rechner nicht ordnungsgemäß runtergefahren haben, was auch der Fall bei einem Stromausfall ist. Manchmal
  +
kommt es auch vor, daß Sie etwas an den Dateien in /etc geändert haben oder daß ein neu erstellter Kernel
  +
nicht startet. Aber auch wenn Sie das Paßwort für den Superuser vergessen haben, kann die Bootdiskette Sie vor
  +
der Neuinstallation bewahren.
  +
In einem Notfall legen Sie die Rescue-Diskette ein und starten das System neu. Statt wie bei der Installation
  +
einfach die Eingabetaste zu drücken, können Sie nun am Prompt zusätzliche Parameter eingeben. Eine
  +
umfangreiche Übersicht der Befehle befindet sich auf der Diskette. Diese können Sie sich mit den
  +
Funktionstasten ansehen. Wir werden hier nur zwei gebräuchliche Fälle vorstellen.
  +
Sollte zum Beispiel die lilo-Konfiguration fehlgeschlagen sein oder der neu übersetzte Kernel läßt sich nicht
  +
mehr booten, so sind immer noch alle Daten auf der Root-Partition in einwandfreiem Zustand. Sie haben jetzt
  +
die Möglichkeit, den auf der Rescue-Diskette befindlichen Kernel zu booten und das Dateisystem auf der
  +
Root-Partition zu mounten. Geben Sie hierzu am Prompt folgendes ein: rescue root=/dev/hda1
  +
Hierbei ist zu beachten, daß Sie - je nachdem auf welcher Partition sich Ihre Root-Partition befindet - das
  +
passende device angeben. Nachdem der Kernel von Diskette geladen wurde, wird das System ganz normal
  +
gestartet und Sie können sich danach am System anmelden und den Fehler beheben. Im Fall einer nicht
  +
funktionierenden Konfiguration von lilo loggen Sie sich als Superuser ein, beheben die Fehler in der
  +
Konfigurationsdatei und rufen anschließend das Kommando lilo auf.
  +
Ein anderer Fall wäre ein Fehler im Dateisystem der Root-Partition, welches ein normales Booten des Systems
  +
verhindert. In den meisten Fällen kommt man hierbei sogar ohne eine Rescue-Diskette aus. Meist hält das
  +
System beim Start an und nach Eingabe des Root-Paßwortes können Sie das Dateisystem dann reparieren.
  +
Dies läßt sich auch mit der Rescue-Diskette ausführen. Booten Sie hierzu ganz normal mit der Diskette, als
  +
wenn Sie eine Installation durchführen wollen. Wählen Sie noch die gewünschte Tastatur aus und wechseln Sie
  +
dann mit der Tastenkombination ALT+F3 auf die dritte Konsole. Nach Drücken der Eingabetaste steht dort eine
  +
Shell zur Verfügung. Sie können von dort aus das defekte Dateisystem manuell reparieren. Benutzen Sie dazu
  +
das Kommando: e2fsck /dev/hda1. Auch hier ist wieder das entsprechende Device anzugeben. Nach einem
  +
Neustart des Systems sollte alles wieder wie gewohnt funktionieren.
  +
23.6. Technische Informationen zu den Boot-Disketten
  +
23.6.1. Quellcode
  +
Das Paket boot-floppies enthält den gesamten Quellcode, um die Installations-Disketten herstellen zu
  +
können. Dieser Text ist auch im Paket installmanual-de zu finden.
  +
663
  +
Kapitel 23. Weitere Infos
  +
23.6.2. Die Notfalldiskette
  +
Auf der Notfall-Diskette ist ein MS-DOS-Dateisystem enthalten, auf das von jedem System, das DOS-Disketten
  +
mounten kann (sogar DOS oder Windows), zugegriffen werden kann. Der Linux-Kernel liegt in der Datei
  +
linux. Die Datei root.bin ist ein mit dem Programm gzip komprimiertes Image eines 1.44 MB
  +
Minix-Dateisystems. Dieses wird in die RAM-Disk im Hauptspeicher geladen und dort als Festplattenersatz für
  +
das Root-Dateisystem verwendet.
  +
23.6.3. Kernel ersetzen
  +
Wenn der Kernel auf der Notfalldiskette ersetzt werden soll, muß der neue Linux-Kernel mit den folgenden
  +
Eigenschaften (als fester Bestandteil, nicht als ladbare Module) konfiguriert werden:
  +
• Initial RAM disk
  +
• MSDOS, Minix und EXT2-Dateisystem
  +
• Ausführbare Dateien als ELF executables
  +
Danach wird der neu erzeugte Kernel (zImage oder bzImage) mit dem Dateinamen „linux“ auf die
  +
Notfalldiskette kopiert. Anschließend rufen Sie das Shell-Skript rdev.sh auf, das ebenfalls auf der Diskette zu
  +
finden ist. Dieses Programm nimmt noch ein paar kleine Einstellungen an dem neuen Linux-Kernel vor.
  +
23.6.4. Die Basisdisketten
  +
Die Disketten des Basis-Systems enthalten einen 512 Byte großen Kopf sowie jeweils einen Teil eines mit gzip
  +
komprimierten tar-Archivs. Werden jeweils die Köpfe entfernt und danach die Inhalte der Disketten
  +
zusammengefügt, so ergibt sich das vollständige komprimierte tar-Archiv.
  +
Dieses Archiv enthält das Grundsystem, das während der Installation auf Ihr System kopiert wird. Es bietet die
  +
Basis-Funktionalität eines Debian GNU/Linux-Systems, dem jedoch noch zahlreiche Anwendungen fehlen.
  +
Wenn das Archiv installiert ist, muß das System zunächst mit dem Menüpunkt Configure the Base
  +
System konfiguriert werden. Mit Hilfe von weiteren Menüeinträgen im Installationssystem werden die
  +
Netzwerkanbindung, der Betriebssystemkern und seine Module installiert und konfiguriert. Erst danach kann
  +
das System eingesetzt werden.
  +
23.7. Deutsche Tastatur mit X11
  +
Wir empfehlen Ihnen die Installation des Paketes user-de. Dies nimmt alle nötigen Einstellungen für Sie vor.
  +
Wurde das Window-System X11 erfolgreich mit xf86config konfiguriert und startet die grafische Oberfläche
  +
ohne Probleme, dann sollte die Tastaturbelegung unter X11 der Belegung auf der Textkonsole entsprechen.
  +
Wenn auf der Konsole eine Deutsche Tastaturbelegung geladen wurde, unter X11 jedoch zum Beispiel die
  +
Tasten ’Y’ und ’Z’ vertauscht sind und auf den Umlauttasten Semikolon und Doppelpunkt liegen, dann müssen
  +
Sie für X11 die Tastaturbelegung ändern. Editieren Sie dazu die Datei /etc/X11/XF86Config wie folgt:
  +
...
  +
Section "Keyboard"
  +
...
  +
XkbLayout "de"
  +
...
  +
# XkbKeymap "xfree86(us)"
  +
...
  +
664
  +
Kapitel 23. Weitere Infos
  +
Die Zeile mit XkbLayout ist ursprünglich auskommentiert, das heißt, sie hat ein ‘#’-Zeichen am Anfang.
  +
Möglicherweise ist die Zeile überhaupt nicht vorhanden. In diesem Fall fügen Sie die Zeile in der Section
  +
Keyboard ein. Folgende Zeile
  +
XkbKeymap "xfree86(us)"
  +
kommentieren Sie aus, das heißt, Sie schreiben ein ‘#’-Zeichen in die erste Spalte. Alternativ zu obiger
  +
Methode können Sie versuchen, die Zeile
  +
XkbKeymap "xfree86(us)"
  +
abzuändern in
  +
XkbKeymap "xfree86(de)"
  +
Für Schweizer Benutzer von Debian GNU/Linux könnten diese Einstellungen an derselben Stelle funktionieren:
  +
...
  +
XkbRules "xfree86"
  +
XkbModel "pc102"
  +
XkbLayout "de_CH"
  +
XkbVariant "nodeadkeys"
  +
XkbOptions ""
  +
...
  +
Auf jeden Fall müssen Sie nach diesen Änderungen die Datei abspeichern, X11 beenden und neu starten.
  +
Achtung: Das Terminalprogramm xterm akzeptiert möglicherweise keine Umlaute. Zum Austesten der neuen
  +
Tastaturbelegung starten Sie am besten einen Editor wie xedit.
  +
23.7.1. Gerätedateien in /dev und ihre Bedeutung
  +
Unter Linux befinden sich im Verzeichnis /dev/ verschiedene besondere Dateien, die sogenannten
  +
Gerätedateien (device files). Unter Unix wird auf Hardware- und System-Komponenten jeweils über
  +
Gerätedateien zugegriffen. Mit Hilfe einer solchen Datei kann vom jeweiligen Programm über einen speziellen
  +
internen Treiber das zugehörige Gerät beziehungsweise eine Systemkomponente angesprochen werden. Die
  +
Gerätedatei dient dafür als Schnittstelle. Aus Anwendersicht verhalten sich Gerätedateien oft anders als
  +
gewöhnliche Dateien. Die Bedeutung der wichtigsten Gerätedateien ist im folgenden aufgeführt.
  +
Es gibt sehr viele verschiedene CD-ROM-Laufwerke und Schnittstellen. Sollten Sie weder ein
  +
SCSI-CD-ROM-Laufwerk haben noch eines mit IDE-Schnittstelle, dann gibt es für Ihr CD-ROM-Laufwerk
  +
eine spezielle Gerätedatei, die bereits bei der Installation automatisch angelegt wurde. Der Name dieser
  +
Gerätedatei ist üblicherweise ein Kürzel des Namens Ihres CD-ROM-Laufwerks. Um den Zugriff auf das
  +
CD-ROM-Laufwerk zu vereinfachen, existiert der symbolische Link /dev/cdrom. Dieser Link wird bei der
  +
Installation ebenfalls angelegt und verweist auf die eigentliche Gerätedatei. Mit dem Kommando ls -l
  +
/dev/cdrom sehen Sie nach, auf welche Gerätedatei cdrom verweist.
  +
fr@sushi:~$ ls -l /dev/cdrom
  +
lrwxrwxrwx 1 root root 3 Sep 1 16:06 /dev/cdrom -> hdc
  +
Hier die wichtigsten Gerätedateien im Verzeichnis /dev/:
  +
fd0 1. Diskettenlaufwerk
  +
fd1 2. Diskettenlaufwerk
  +
hda IDE Festplatte / IDE CDROM am 1. Anschluß Master
  +
hdb IDE Festplatte / IDE CDROM am 1. Anschluß Slave
  +
hdc IDE Festplatte / IDE CDROM am 2. Anschluß Master
  +
hdd IDE Festplatte / IDE CDROM am 2. Anschluß Slave
  +
hda1 1. Partition der ersten IDE Platte
  +
hda15 15. Partition der ersten IDE Platte
  +
665
  +
Kapitel 23. Weitere Infos
  +
sda SCSI (Wechsel-) Platte, kleinste SCSI ID
  +
sdb SCSI (Wechsel-) Platte, nächst größere SCSI ID
  +
sdc SCSI (Wechsel-) Platte, nächst größere SCSI ID
  +
sda1 1. Partition der ersten SCSI (Wechsel-) Platte
  +
sda15 15. Partition der ersten SCSI (Wechsel-) Platte
  +
scd0 1. SCSI CDROM Laufwerk
  +
scd1 2. SCSI CDROM Laufwerk
  +
cdrom Symbolischer Link auf cdrom Laufwerk
  +
mouse Symbolischer Link auf Maus-Gerätedatei
  +
ttyS0 1. Serielle Schnittstelle (COM1)
  +
ttyS1 2. Serielle Schnittstelle (COM2)
  +
lp0 1. Parallele Schnittstelle
  +
lp1 2. Parallele Schnittstelle
  +
null Hier können beliebig viel Daten reinkopiert werden
  +
zero Hieraus können beliebig viel Nullen gelesen werden
  +
Achtung: Die Daten bei DOS-formatierten Zip-Medien liegen auf Partition vier. Das heißt, daß Sie zum
  +
Mounten eines DOS-formatierten ZIP-Mediums folgendes eingeben müssen: mount -t vfat /dev/sdc4
  +
/zip. Dies gilt für den Fall, daß das Zip-Laufwerk das dritte SCSI-Plattengerät für Wechselmedien ist und daß
  +
Sie das Zip-Medium auf das Verzeichnis /zip mounten möchten.
  +
23.7.2. Warenzeichen
  +
Warenzeichen, die nicht explizit angegeben wurden, gehören ihren jeweiligen Eigentümern. Linux ist
  +
eingetragenes Warenzeichen von Linus Torvalds. 386, 386sx, 486, Pentium, Pentium Pro, Pentium II und
  +
Pentium III sind Eigentum von Intel. Windows, Windows95, Windows98, WindowsNT und WinModem sind
  +
Warenzeichen von Microsoft. ThinkPad und OS/2 sind Eigentum von IBM.
  +
23.8. Debian – Gesellschaftsvertrag
  +
„Gesellschaftsvertrag“ mit der Gemeinschaft für freie Software
  +
Wir sind „Software In The Public Interest“-Hersteller des Debian GNU/Linux-Systems. Wir bieten diesen
  +
„Gesellschaftsvertrag“ der Gemeinschaft für freie Software an. (Mit „Gemeinschaft für freie Software“ werden
  +
alle Hersteller und Anwender freier Software bezeichnet.)
  +
1. Debian wird 100% freie Software bleiben
  +
Wir versprechen, daß die Debian GNU/Linux-Distribution auch weiterhin vollständig aus freier Software
  +
bestehen wird. Da es viele verschiedene Auslegungen des Begriffs „freie Software“ gibt, haben wir weiter unten
  +
die Richtlinien aufgeführt, nach denen wir freie Software identifizieren. Trotzdem werden wir Anwender
  +
unterstützen, die nichtfreie Programme einsetzen oder entwickeln. Wir werden aber niemals das Gesamtsystem
  +
von nichtfreier Software abhängig machen.
  +
2. Unser Beitrag zur Gemeinschaft für freie Software
  +
Wenn wir neue Komponenten des Debian-Systems schreiben, so werden wir sie als freie Software lizensieren.
  +
Wir werden das bestmögliche System erstellen, so daß freie Software weit verbreitet und genutzt wird. Wir
  +
werden Korrekturen, Verbesserungen, Anwenderwünsche usw. an die ursprünglichen („upstream“) Autoren
  +
weiterleiten, deren Programme in unser System integriert wurden.
  +
3. Wir werden Probleme nicht verbergen
  +
666
  +
Kapitel 23. Weitere Infos
  +
Wir werden unsere Fehlerdatenbank für alle Zeiten öffentlich betreiben. Fehlermeldungen, die von Anwendern
  +
online abgeschickt werden, werden augenblicklich für andere sichtbar.
  +
4. Unsere Prioritäten sind unsere Anwender und freie Software
  +
Wir orientieren uns an den Bedürfnissen unserer Anwender und der Gemeinschaft für freie Software. Ihre
  +
Interessen stehen an erster Stelle. Wir werden unsere Nutzer bei Ihrer Arbeit mit den verschiedensten
  +
Rechnerumgebungen unterstützen. Wir haben nichts dagegen, daß kommerzielle Software auf Debian-Systemen
  +
eingesetzt wird. Außerdem erlauben wir anderen eine erweiterte („Value-Added“) Distribution zu erstellen, die
  +
Debian und kommerzielle Software enthält, ohne dafür irgendwelche Gebühren zu erheben. Um diese Ziele zu
  +
erreichen, werden wir ein integriertes System von hoher Qualität und 100% freier Software anbieten, die die
  +
gerade beschriebene Nutzung nicht durch rechtliche Einschränkungen, wie z. B. durch Lizenzverträge,
  +
verhindert.
  +
5. Programme, die nicht unseren Standards für freie Software genügen
  +
Wir wissen, daß einige unserer Anwender unbedingt Programme einsetzen müssen, die nicht den
  +
Debian-Richtlinien für freie Software entsprechen. Für solche Programme haben wird die zusätzlichen Bereiche
  +
„contrib“ und „non-free“ auf unserem FTP-Archiv eingerichtet. Die Software in diesen Verzeichnissen ist nicht
  +
Bestandteil des Debian-Systems, wurde aber trotzdem für den Einsatz in einem Debian-System vorbereitet. Wir
  +
empfehlen den CD-Herstellern, die jeweiligen Lizenzbestimmungen der Programmpakete in diesen
  +
Verzeichnissen zu studieren und selbst zu entscheiden, ob Sie die Programme mit Ihren CDs verteilen dürfen.
  +
Obwohl die Programme aus „non-free“ nicht Bestandteil der Debian-Distribution sind, unterstützen wir ihren
  +
Einsatz und bieten Infrastruktur für diese nicht freien Programme an, z. B. unsere Fehlerdatenbank und die
  +
Mailing-Listen.
  +
23.9. Die Debian-Richtlinien für freie Software
  +
(englisch: Debian Free Software Guidelines)
  +
1. Unbeschränkte Weitergabe
  +
Ein Bestandteil der Debian-Distribution darf durch seine Lizenz nicht verhindern, daß irgend jemand diese
  +
Software als Bestandteil einer Software-Distribution, die Programme aus den verschiedensten Quellen enthält,
  +
verkauft oder weitergibt. Die Lizenz darf keine Abgaben oder sonstige Leistungen für einen solchen Verkauf
  +
fordern.
  +
2. Quellcode
  +
Das Programm muß im Quellcode vorliegen, und es muß die Weitergabe sowohl im Quellcode als auch in
  +
compilierter Form erlaubt sein.
  +
3. Weiterführende Arbeiten
  +
Die Lizenz muß Veränderungen und weiterführende Arbeiten gestatten und es erlauben, daß diese unter den
  +
gleichen Lizenzbedingungen weitergegeben werden dürfen wie die Original-Software.
  +
4. Integrität des ursprünglichen Quellcodes
  +
Die Lizenz darf die Weitergabe von verändertem Quellcode nur dann verbieten, wenn sie die Weitergabe von
  +
sogenannten Patch-Dateien mit dem Quellcode erlaubt, die dazu dienen, das Programm vor seiner Herstellung
  +
zu modifizieren. Die Lizenz muß ausdrücklich die Weitergabe der aus dem veränderten Quellcode erzeugten
  +
Programme erlauben. Die Lizenz darf fordern, daß die veränderten Programme einen anderen Namen oder eine
  +
andere Versionsnummer tragen müssen.
  +
(Dies ist ein Kompromiß. Die Debian-Gruppe ermutigt alle Autoren, Veränderungen an Dateien sowohl im
  +
Quellcode als auch in Binärform zu erlauben.)
  +
5. Keine Diskriminierung von Personen oder Gruppen
  +
Die Lizenz darf keine Person oder Gruppe von Personen diskriminieren.
  +
6. Keine Diskriminierung von Einsatzbereichen
  +
Die Lizenz darf keine Einschränkungen hinsichtlich des Einsatzbereichs vornehmen. Beispielsweise darf sie
  +
nicht verhindern, daß das Programm geschäftlich oder für genetische Forschungen verwendet wird.
  +
667
  +
Kapitel 23. Weitere Infos
  +
7. Weitergabe der Lizenz
  +
Die mit einem Programm verbundenen Rechte müssen für alle gelten, die das Programm erhalten, ohne daß es
  +
für sie notwendig ist, eine zusätzliche Lizenz zu erwerben.
  +
8. Keine spezielle Lizenz für Debian
  +
Die mit dem Programm verbundenen Rechte dürfen nicht davon abhängig sein, daß das Programm Teil des
  +
Debian-Systems ist. Falls das Programm aus der Debian-Distribution herausgenommen wird und ohne Debian
  +
genutzt oder vertrieben werden soll, ansonsten aber im Rahmen der Programmlizenz bleibt, so müssen alle
  +
Parteien, die das Programm bekommen, die gleichen Rechte haben, wie sie im Zusammenhang mit dem
  +
Debian-System gewährt wurden.
  +
9. Keine Auswirkungen auf andere Programme
  +
Die Lizenz darf keine Beschränkungen besitzen, die Auswirkungen auf andere Software hat, die mit diesem
  +
Programm weitergegeben wird. Beispielsweise darf die Lizenz nicht vorschreiben, daß alle anderen Programme
  +
auf dem gleichen Medium freie Software sein müssen.
  +
10. Beispiellizenzen
  +
Die „GPL“- „BSD“- und „Artistic“-Lizenzen sind Beispiele für Lizenzen, die wir als „frei“ betrachten.
  +
Dies ist die deutsche Übersetzung von „Debian’s social contract with the free software community“. In
  +
Zweifelsfällen ist das englische Original maßgeblich. Es ist beispielsweise unter
  +
http://www.debian.org/social_contract.en.html verfügbar.
  +
23.10. GNU Public License
  +
Deutsche Übersetzung der GNU General Public License
  +
Erstellt im Auftrag der S.u.S.E. GmbH [suse@suse.de] von Katja Lachmann Übersetzungen
  +
[na194@fim.uni-erlangen.de], überarbeitet von Peter Gerwinski [peter.gerwinski@uni-essen.de] (31. Oktober
  +
1996)
  +
Diese Übersetzung wird mit der Absicht angeboten, das Verständnis der GNU General Public License
  +
(GNU-GPL) zu erleichtern. Es handelt sich jedoch nicht um eine offizielle oder im rechtlichen Sinne anerkannte
  +
Übersetzung.
  +
Die Free Software Foundation (FSF) ist nicht der Herausgeber dieser Übersetzung, und sie hat diese
  +
Übersetzung auch nicht als rechtskräftigen Ersatz für die Original-GNU-GPL anerkannt. Da die Übersetzung
  +
nicht sorgfältig von Anwälten überprüft wurde, können die Übersetzer nicht garantieren, daß die Übersetzung
  +
die rechtlichen Aussagen der GNU-GPL exakt wiedergibt. Wenn Sie sichergehen wollen, daß von Ihnen
  +
geplante Aktivitäten im Sinne der GNU-GPL gestattet sind, halten Sie sich bitte an die englischsprachige
  +
Originalversion.
  +
Die Free Software Foundation möchte Sie darum bitten, diese Übersetzung nicht als offizielle
  +
Lizenzbedingungen für von Ihnen geschriebene Programme zu verwenden. Bitte benutzen Sie hierfür statt
  +
dessen die von der Free Software Foundation herausgegebene englischsprachige Originalversion.
  +
This is a translation of the GNU General Public License into German. This translation is distributed in the hope
  +
that it will facilitate understanding, but it is not an official or legally approved translation.
  +
The Free Software Foundation is not the publisher of this translation and has not approved it as a legal substitute
  +
for the authentic GNU General Public License. The translation has not been reviewed carefully by lawyers, and
  +
therefore the translator cannot be sure that it exactly represents the legal meaning of the GNU General Public
  +
License. If you wish to be sure whether your planned activities are permitted by the GNU General Public
  +
License, please refer to the authentic English version.
  +
The Free Software Foundation strongly urges you not to use this translation as the official distribution terms for
  +
your programs; instead, please use the authentic English version published by the Free Software Foundation.
  +
GNU General Public License
  +
Deutsche Übersetzung der Version 2, Juni 1991
  +
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
  +
668
  +
Kapitel 23. Weitere Infos
  +
675 Mass Ave, Cambridge, MA 02139, USA
  +
Jeder hat das Recht, diese Lizenzurkunde zu vervielfältigen und unveränderte Kopien zu verbreiten;
  +
Änderungen sind jedoch nicht gestattet.
  +
Diese Übersetzung ist kein rechtskräftiger Ersatz für die englischsprachige Originalversion!
  +
Vorwort
  +
Die meisten Softwarelizenzen sind daraufhin entworfen worden, Ihnen die Freiheit zu nehmen, die Software
  +
weiterzugeben und zu verändern. Im Gegensatz dazu soll Ihnen die GNU General Public License, die
  +
allgemeine öffentliche GNU-Lizenz, ebendiese Freiheit garantieren. Sie soll sicherstellen, daß die Software für
  +
alle Benutzer frei ist. Diese Lizenz gilt für den Großteil der von der Free Software Foundation herausgegebenen
  +
Software und für alle anderen Programme, deren Autoren Ihr Werk dieser Lizenz unterstellt haben. Auch Sie
  +
können diese Möglichkeit der Lizenzierung für Ihre Programme anwenden. (Ein anderer Teil der Software der
  +
Free Software Foundation unterliegt statt dessen der GNU Lesser General Public License, der allgemeinen
  +
öffentlichen GNU-Lizenz für Bibliotheken.)
  +
Die Bezeichnung „freie“ Software bezieht sich auf Freiheit, nicht auf den Preis. Unsere Lizenzen sollen Ihnen
  +
die Freiheit garantieren, Kopien freier Software zu verbreiten (und etwas für diesen Service zu berechnen, wenn
  +
Sie möchten), die Möglichkeit, die Software im Quelltext zu erhalten oder den Quelltext auf Wunsch zu
  +
bekommen. Die Lizenzen sollen garantieren, daß Sie die Software ändern oder Teile davon in neuen freien
  +
Programmen verwenden dürfen - und daß Sie wissen, daß Sie dies alles tun dürfen.
  +
Um Ihre Rechte zu schützen, müssen wir Einschränkungen machen, die es jedem verbieten, Ihnen diese Rechte
  +
zu verweigern oder Sie aufzufordern, auf diese Rechte zu verzichten. Aus diesen Einschränkungen folgen
  +
bestimmte Verantwortlichkeiten für Sie, wenn Sie Kopien der Software verbreiten oder sie verändern.
  +
Beispielsweise müssen Sie den Empfängern alle Rechte gewähren, die Sie selbst haben, wenn Sie - kostenlos
  +
oder gegen Bezahlung - Kopien eines solchen Programms verbreiten. Sie müssen sicherstellen, daß auch Sie
  +
den Quelltext erhalten beziehungsweise erhalten können. Und Sie müssen ihnen diese Bedingungen zeigen,
  +
damit Sie Ihre Rechte kennen.
  +
Wir schützen Ihre Rechte in zwei Schritten: (1) Wir stellen die Software unter ein Urheberrecht (Copyright),
  +
und (2) wir bieten Ihnen diese Lizenz an, die Ihnen das Recht gibt, die Software zu vervielfältigen, zu verbreiten
  +
und/oder zu verändern.
  +
Um die Autoren und uns zu schützen, wollen wir darüberhinaus sicherstellen, daß jeder erfährt, daß für diese
  +
freie Software keinerlei Garantie besteht. Wenn die Software von jemand anderem modifiziert und
  +
weitergegeben wird, möchten wir, daß die Empfänger wissen, daß Sie nicht das Original erhalten haben, damit
  +
von anderen verursachte Probleme nicht den Ruf des ursprünglichen Autors schädigen.
  +
Schließlich und endlich ist jedes freie Programm permanent durch Software-Patente bedroht. Wir möchten die
  +
Gefahr ausschließen, daß Distributoren eines freien Programms individuell Patente lizensieren - mit dem
  +
Ergebnis, daß das Programm proprietär würde. Um dies zu verhindern, haben wir klargestellt, daß jedes Patent
  +
entweder für freie Benutzung durch jedermann lizenziert werden muß oder überhaupt nicht lizenziert werden
  +
darf.
  +
Es folgen die genauen Bedingungen für die Vervielfältigung, Verbreitung und Bearbeitung:
  +
Bedingungen für die Vervielfältigung, Verbreitung und Bearbeitung
  +
Paragraph 0. Diese Lizenz gilt für jedes Programm und jedes andere Werk, in dem ein entsprechender Vermerk
  +
des Copyright-Inhabers darauf hinweist, daß das Werk unter den Bestimmungen dieser General Public License
  +
verbreitet werden darf. im Folgenden wird jedes derartige Programm oder Werk als „das Programm“
  +
bezeichnet; die Formulierung „auf dem Programm basierendes Werk“ bezeichnet das Programm sowie jegliche
  +
Bearbeitung des Programms im urheberrechtlichen Sinne, also ein Werk, welches das Programm, auch
  +
auszugsweise, sei es unverändert oder verändert und/oder in eine andere Sprache übersetzt, enthält. (im
  +
Folgenden wird die Übersetzung ohne Einschränkung als „Bearbeitung“ eingestuft.) Jeder Lizenznehmer wird
  +
im folgenden als „Sie“ angesprochen.
  +
Andere Handlungen als Vervielfältigung, Verbreitung und Bearbeitung werden von dieser Lizenz nicht berührt;
  +
sie fallen nicht in Ihren Anwendungsbereich. Der Vorgang der Ausführung des Programms wird nicht
  +
eingeschränkt, und die Ausgaben des Programms unterliegen dieser Lizenz nur, wenn der Inhalt ein auf dem
  +
Programm basierendes Werk darstellt (unabhängig davon, daß die Ausgabe durch die Ausführung des
  +
Programms erfolgte). Ob dies zutrifft, hängt von den Funktionen des Programms ab.
  +
669
  +
Kapitel 23. Weitere Infos
  +
Paragraph 1. Sie dürfen auf beliebigen Medien unveränderte Kopien des Quelltextes des Programms, wie Sie
  +
ihn erhalten haben, anfertigen und verbreiten. Voraussetzung hierfür ist, daß Sie mit jeder Kopie einen
  +
entsprechenden Copyright-Vermerk sowie einen Haftungsausschluß veröffentlichen, alle Vermerke, die sich auf
  +
diese Lizenz und das Fehlen einer Garantie beziehen, unverändert lassen und desweiteren allen anderen
  +
Empfängern des Programms zusammen mit dem Programm eine Kopie dieser Lizenz zukommen lassen.
  +
Sie dürfen für den eigentlichen Kopiervorgang eine Gebühr verlangen. Wenn Sie es wünschen, dürfen Sie auch
  +
gegen Entgelt eine Garantie für das Programm anbieten.
  +
Paragraph 2. Sie dürfen Ihre Kopie(n) des Programms oder eines Teils davon verändern, wodurch ein auf dem
  +
Programm basierendes Werk entsteht; Sie dürfen derartige Bearbeitungen unter den Bestimmungen von
  +
Paragraph 1 vervielfältigen und verbreiten, vorausgesetzt, daß zusätzlich alle folgenden Bedingungen erfüllt
  +
werden:
  +
(a)
  +
Sie müssen die veränderten Dateien mit einem auffälligen Vermerk versehen, der auf die von Ihnen
  +
vorgenommene Modifizierung und das Datum jeder Änderung hinweist.
  +
(b)
  +
Sie müssen dafür sorgen, daß jede von Ihnen verbreitete oder veröffentlichte Arbeit, die ganz oder teilweise von
  +
dem Programm oder Teilen davon abgeleitet ist, Dritten gegenüber als Ganzes unter den Bedingungen dieser
  +
Lizenz ohne Lizenzgebühren zur Verfügung gestellt wird.
  +
(c)
  +
Wenn das veränderte Programm normalerweise bei der Ausführung interaktiv Kommandos einliest, müssen Sie
  +
dafür sorgen, daß es, wenn es auf dem üblichsten Wege für solche interaktive Nutzung gestartet wird, eine
  +
Meldung ausgibt oder ausdruckt, die einen geeigneten Copyright-Vermerk enthält sowie einen Hinweis, daß es
  +
keine Gewährleistung gibt (oder anderenfalls, daß Sie Garantie leisten), und daß die Benutzer das Programm
  +
unter diesen Bedingungen weiter verbreiten dürfen. Auch muß der Benutzer darauf hingewiesen werden, wie er
  +
eine Kopie dieser Lizenz ansehen kann. (Ausnahme: Wenn das Programm selbst interaktiv arbeitet, aber
  +
normalerweise keine derartige Meldung ausgibt, muß Ihr auf dem Programm basierendes Werk auch keine
  +
solche Meldung ausgeben).
  +
Diese Anforderungen betreffen das veränderte Werk als Ganzes. Wenn identifizierbare Abschnitte des Werkes
  +
nicht von dem Programm abgeleitet sind und vernünftigerweise selbst als unabhängige und eigenständige
  +
Werke betrachtet werden können, dann erstrecken sich diese Lizenz und Ihre Bedingungen nicht auf diese
  +
Abschnitte, wenn sie als eigenständige Werke verbreitet werden. Wenn Sie jedoch dieselben Abschnitte als Teil
  +
eines Ganzen verbreiten, das ein auf dem Programm basierendes Werk darstellt, dann muß die Verbreitung des
  +
Ganzen nach den Bedingungen dieser Lizenz erfolgen, deren Bedingungen für weitere Lizenznehmer somit auf
  +
die Gesamtheit ausgedehnt werden - und damit auf jeden einzelnen Teil, unabhängig vom jeweiligen Autor.
  +
Somit ist es nicht die Absicht dieses Abschnittes, Rechte für Werke in Anspruch zu nehmen oder zu
  +
beschneiden, die komplett von Ihnen geschrieben wurden; vielmehr ist es die Absicht, die Rechte zur Kontrolle
  +
der Verbreitung von Werken, die auf dem Programm basieren oder unter seiner auszugsweisen Verwendung
  +
zusammengestellt worden sind, auszuüben.
  +
Ferner bringt ein einfaches Zusammenstellen eines anderen Werkes, das nicht auf dem Programm basiert,
  +
zusammen mit dem Programm oder einem auf dem Programm basierenden Werk auf ein- und demselben
  +
Speicher- oder Vertriebsmedium das andere Werk nicht in den Anwendungsbereich dieser Lizenz.
  +
Paragraph 3. Sie dürfen das Programm (oder ein darauf basierendes Werk gemäß Paragraph 2) als Objectcode
  +
oder in ausführbarer Form unter den Bedingungen von Paragraph 1 und 2 vervielfältigen und verbreiten -
  +
vorausgesetzt, daß Sie außerdem eine der folgenden Leistungen erbringen:
  +
(a)
  +
Liefern Sie das Programm zusammen mit dem vollständigen zugehörigen maschinenlesbaren Quelltext auf
  +
einem für den Datenaustausch üblichen Medium aus, wobei die Verteilung unter den Bedingungen der
  +
Paragraphen 1 und 2 erfolgen muß. Oder:
  +
(b)
  +
Liefern Sie das Programm zusammen mit einem mindestens drei Jahre lang gültigen schriftlichen Angebot aus,
  +
jedem Dritten eine vollständige maschinenlesbare Kopie des Quelltextes zur Verfügung zu stellen - zu nicht
  +
670
  +
Kapitel 23. Weitere Infos
  +
höheren Kosten als denen, die durch den physikalischen Kopiervorgang anfallen -, wobei der Quelltext unter
  +
den Bedingungen der Paragraphen 1 und 2 auf einem für den Datenaustausch üblichen Medium weitergegeben
  +
wird. Oder:
  +
(c)
  +
Liefern Sie das Programm zusammen mit dem schriftlichen Angebot der Zurverfügungstellung des Quelltextes
  +
aus, das Sie selbst erhalten haben. (Diese Alternative ist nur für nicht-kommerzielle Verbreitung zulässig und
  +
nur, wenn Sie das Programm als Objectcode oder in ausführbarer Form mit einem entsprechenden Angebot
  +
gemäß Absatz b erhalten haben.)
  +
Unter dem Quelltext eines Werkes wird diejenige Form des Werkes verstanden, die für Bearbeitungen
  +
vorzugsweise verwendet wird. Für ein ausführbares Programm bedeutet „der komplette Quelltext“ Der Quelltext
  +
aller im Programm enthaltenen Module einschließlich aller zugehörigen Modulschnittstellen-Definitionsdateien
  +
sowie der zur Compilation und Installation verwendeten Skripte. Als besondere Ausnahme jedoch braucht der
  +
verteilte Quelltext nichts von dem zu enthalten, was üblicherweise (entweder als Quelltext oder in binärer Form)
  +
zusammen mit den Hauptkomponenten des Betriebssystems (Kernel, Compiler usw.) geliefert wird, unter dem
  +
das Programm läuft - es sei denn, diese Komponente selbst gehört zum ausführbaren Programm.
  +
Wenn die Verbreitung eines ausführbaren Programms oder des Objectcodes dadurch erfolgt, daß der
  +
Kopierzugriff auf eine dafür vorgesehene Stelle gewährt wird, so gilt die Gewährung eines gleichwertigen
  +
Zugriffs auf den Quelltext als Verbreitung des Quelltextes, auch wenn Dritte nicht dazu gezwungen sind, den
  +
Quelltext zusammen mit dem Objectcode zu kopieren.
  +
Paragraph 4. Sie dürfen das Programm nicht vervielfältigen, verändern, weiter lizenzieren oder verbreiten,
  +
sofern es nicht durch diese Lizenz ausdrücklich gestattet ist. Jeder anderweitige Versuch der Vervielfältigung,
  +
Modifizierung, Weiterlizenzierung und Verbreitung ist nichtig und beendet automatisch Ihre Rechte unter dieser
  +
Lizenz. Jedoch werden die Lizenzen Dritter, die von Ihnen Kopien oder Rechte unter dieser Lizenz erhalten
  +
haben, nicht beendet, solange diese die Lizenz voll anerkennen und befolgen.
  +
Paragraph 5. Sie sind nicht verpflichtet, diese Lizenz anzunehmen, da Sie sie nicht unterzeichnet haben. Jedoch
  +
gibt Ihnen nichts anderes die Erlaubnis, das Programm oder von ihm abgeleitete Werke zu verändern oder zu
  +
verbreiten. Diese Handlungen sind gesetzlich verboten, wenn Sie diese Lizenz nicht anerkennen. Indem Sie das
  +
Programm (oder ein darauf basierendes Werk) verändern oder verbreiten, erklären Sie Ihr Einverständnis mit
  +
dieser Lizenz und mit allen Ihren Bedingungen bezüglich der Vervielfältigung, Verbreitung und Veränderung
  +
des Programms oder eines darauf basierenden Werkes.
  +
Paragraph 6. Jedesmal, wenn Sie das Programm (oder ein auf dem Programm basierendes Werk) weitergeben,
  +
erhält der Empfänger automatisch vom ursprünglichen Lizenzgeber die Lizenz, das Programm entsprechend
  +
den hier festgelegten Bestimmungen zu vervielfältigen, zu verbreiten und zu verändern. Sie dürfen keine
  +
weiteren Einschränkungen der Durchsetzung der hierin zugestandenen Rechte des Empfängers vornehmen. Sie
  +
sind nicht dafür verantwortlich, die Einhaltung dieser Lizenz durch Dritte durchzusetzen.
  +
Paragraph 7. Sollten Ihnen infolge eines Gerichtsurteils, des Vorwurfs einer Patentverletzung oder aus einem
  +
anderen Grunde (nicht auf Patentfragen begrenzt) Bedingungen (durch Gerichtsbeschluß, Vergleich oder
  +
anderweitig) auferlegt werden, die den Bedingungen dieser Lizenz widersprechen, so befreien Sie diese
  +
Umstände nicht von den Bestimmungen dieser Lizenz. Wenn es Ihnen nicht möglich ist, das Programm unter
  +
gleichzeitiger Beachtung der Bedingungen in dieser Lizenz und Ihrer anderweitigen Verpflichtungen zu
  +
verbreiten, dann dürfen Sie als Folge das Programm überhaupt nicht verbreiten. Wenn zum Beispiel ein Patent
  +
nicht die gebührenfreie Weiterverbreitung des Programms durch diejenigen erlaubt, die das Programm direkt
  +
oder indirekt von Ihnen erhalten haben, dann besteht der einzige Weg, sowohl das Patentrecht als auch diese
  +
Lizenz zu befolgen, darin, ganz auf die Verbreitung des Programms zu verzichten.
  +
Sollte sich ein Teil dieses Paragraphen als ungültig oder unter bestimmten Umständen nicht durchsetzbar
  +
erweisen, so soll dieser Paragraph seinem Sinne nach angewandt werden; im übrigen soll dieser Paragraph als
  +
Ganzes gelten.
  +
Zweck dieses Paragraphen ist nicht, Sie dazu zu bringen, irgendwelche Patente oder andere
  +
Eigentumsansprüche zu verletzen oder die Gültigkeit solcher Ansprüche zu bestreiten; dieser Paragraph hat
  +
einzig den Zweck, die Integrität des Verbreitungssystems der freien Software zu schützen, das durch die Praxis
  +
öffentlicher Lizenzen verwirklicht wird. Viele Leute haben großzügige Beiträge zu dem großen Angebot der mit
  +
diesem System verbreiteten Software im Vertrauen auf die konsistente Anwendung dieses Systems geleistet; es
  +
671
  +
Kapitel 23. Weitere Infos
  +
liegt am Autor/Geber, zu entscheiden, ob er die Software mittels irgendeines anderen Systems verbreiten will;
  +
ein Lizenznehmer hat auf diese Entscheidung keinen Einfluß.
  +
Dieser Paragraph ist dazu gedacht, deutlich klarzustellen, was als Konsequenz aus dem Rest dieser Lizenz
  +
betrachtet wird.
  +
Paragraph 8. Wenn die Verbreitung und/oder die Benutzung des Programms in bestimmten Staaten entweder
  +
durch Patente oder durch urheberrechtlich geschützte Schnittstellen eingeschränkt ist, kann der
  +
Urheberrechtsinhaber, der das Programm unter diese Lizenz gestellt hat, eine explizite geographische
  +
Begrenzung der Verbreitung angeben, in der diese Staaten ausgeschlossen werden, so daß die Verbreitung nur
  +
innerhalb und zwischen den Staaten erlaubt ist, die nicht ausgeschlossen sind. In einem solchen Fall beinhaltet
  +
diese Lizenz die Beschränkung, als wäre sie in diesem Text niedergeschrieben.
  +
Paragraph 9. Die Free Software Foundation kann von Zeit zu Zeit überarbeitete und/oder neue Versionen der
  +
General Public License veröffentlichen. Solche neuen Versionen werden vom Grundprinzip her der
  +
gegenwärtigen entsprechen, können aber im Detail abweichen, um neuen Problemen und Anforderungen
  +
gerecht zu werden.
  +
Jede Version dieser Lizenz hat eine eindeutige Versionsnummer. Wenn in einem Programm angegeben wird,
  +
daß es dieser Lizenz in einer bestimmten Versionsnummer oder „jeder späteren Version“ („any later version“
  +
unterliegt, so haben Sie die Wahl, entweder den Bestimmungen der genannten Version zu folgen oder denen
  +
jeder beliebigen späteren Version, die von der Free Software Foundation veröffentlicht wurde. Wenn das
  +
Programm keine Versionsnummer angibt, können Sie eine beliebige Version wählen, die je von der Free
  +
Software Foundation veröffentlicht wurde.
  +
Paragraph 10. Wenn Sie den Wunsch haben, Teile des Programms in anderen freien Programmen zu verwenden,
  +
deren Bedingungen für die Verbreitung anders sind, schreiben Sie an den Autor, um ihn um die Erlaubnis zu
  +
bitten. Für Software, die unter dem Copyright der Free Software Foundation steht, schreiben Sie an die Free
  +
Software Foundation; wir machen zu diesem Zweck gelegentlich Ausnahmen. Unsere Entscheidung wird von
  +
den beiden Zielen geleitet werden, zum einen den freien Status aller von unserer freien Software abgeleiteten
  +
Werke zu erhalten und zum anderen das gemeinschaftliche Nutzen und Wiederverwenden von Software im
  +
allgemeinen zu fördern.
  +
Keine Gewährleistung
  +
Paragraph 11. Da das Programm ohne jegliche Kosten lizenziert wird, besteht keinerlei Gewährleistung für das
  +
Programm, soweit dies gesetzlich zulässig ist. Sofern nicht anderweitig schriftlich bestätigt, stellen die
  +
Copyright-Inhaber und/oder Dritte das Programm so zur Verfügung, „wie es ist“ ohne irgendeine
  +
Gewährleistung, weder ausdrücklich noch implizit, einschließlich - aber nicht begrenzt auf - Marktreife oder
  +
Verwendbarkeit für einen bestimmten Zweck. Das volle Risiko bezüglich Qualität und Leistungsfähigkeit des
  +
Programms liegt bei Ihnen. Sollte sich das Programm als fehlerhaft herausstellen, liegen die Kosten für
  +
notwendigen Service, Reparatur oder Korrektur bei Ihnen.
  +
Paragraph 12. In keinem Fall, außer wenn durch geltendes Recht gefordert oder schriftlich zugesichert, ist
  +
irgendein Copyright-Inhaber oder irgendein Dritter, der das Programm wie oben erlaubt modifiziert oder
  +
verbreitet hat, Ihnen gegenüber für irgendwelche Schäden haftbar, einschließlich jeglicher allgemeiner oder
  +
spezieller Schäden, Schäden durch Seiteneffekte (Nebenwirkungen) oder Folgeschäden, die aus der Benutzung
  +
des Programms oder der Unbenutzbarkeit des Programms folgen (einschließlich - aber nicht beschränkt auf -
  +
Datenverluste, fehlerhafte Verarbeitung von Daten, Verluste, die von Ihnen oder anderen getragen werden
  +
müssen, oder dem Unvermögen des Programms, mit irgendeinem anderen Programm zusammenzuarbeiten),
  +
selbst wenn ein Copyright-Inhaber oder Dritter über die Möglichkeit solcher Schäden unterrichtet worden war.
  +
Ende der Bedingungen
  +
Anhang: Wie Sie diese Bedingungen auf Ihre neuen Programme anwendbar machen
  +
Wenn Sie ein neues Programm entwickeln und wollen, daß es von größtmöglichem Nutzen für die
  +
Allgemeinheit ist, dann erreichen Sie das am besten, indem Sie es zu freier Software machen, die jeder unter
  +
diesen Bestimmungen weiterverbreiten und verändern kann.
  +
Um dies zu erreichen, fügen Sie die folgenden Anmerkungen zu Ihrem Programm hinzu. Am sichersten ist es,
  +
sie an den Anfang einer jeden Quelldatei zu stellen, um den Gewährleistungsausschluß möglichst deutlich
  +
darzustellen; außerdem sollte jede Datei mindestens eine „Copyright“Zeile besitzen sowie einen kurzen
  +
Hinweis darauf, wo die vollständige Lizenz gefunden werden kann.
  +
672
  +
Kapitel 23. Weitere Infos
  +
[eine Zeile mit dem Programmnamen und einer kurzen Beschreibung] Copyright (C) 19[yy] [Name des Autors]
  +
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General
  +
Public License as published by the Free Software Foundation; either version 2 of the License, or (at your
  +
option) any later version.
  +
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
  +
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  +
General Public License for more details.
  +
You should have received a copy of the GNU General Public License along with this program; if not, write to
  +
the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  +
Auf Deutsch: [eine Zeile mit dem Programmnamen und einer kurzen Beschreibung] Copyright (C) 19[jj]
  +
[Name des Autors]
  +
Dieses Programm ist freie Software. Sie können es unter den Bedingungen der GNU General Public License,
  +
wie von der Free Software Foundation herausgegeben, weitergeben und/oder modifizieren, entweder unter
  +
Version 2 der Lizenz oder (wenn Sie es wünschen) jeder späteren Version.
  +
Die Veröffentlichung dieses Programms erfolgt in der Hoffnung, daß es Ihnen von Nutzen sein wird, aber
  +
OHNE JEDE GEWÄHRLEISTUNG - sogar ohne die implizite Gewährleistung der MARKTREIFE oder der
  +
EIGNUNG FÜR EINEN BESTIMMTEN ZWECK. Details finden Sie in der GNU General Public License.
  +
Sie sollten eine Kopie der GNU General Public License zusammen mit diesem Programm erhalten haben. Falls
  +
nicht, schreiben Sie an die Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  +
Fügen Sie auch einen kurzen Hinweis hinzu, wie Sie elektronisch und per Brief erreichbar sind.
  +
Wenn Ihr Programm interaktiv ist, sorgen Sie dafür, daß es nach dem Start einen kurzen Vermerk ausgibt:
  +
Gnomovision version 69, Copyright (C) 19[yy] [Name des Autors] Gnomovision comes with ABSOLUTELY
  +
NO WARRANTY; for details type ‘show w’. This is free software, and you are welcome to redistribute it under
  +
certain conditions; type ‘show c’ for details.
  +
Auf Deutsch:
  +
Gnomovision Version 69, Copyright (C) 19[jj] [Name des Autors] Für Gnomovision besteht KEINERLEI
  +
GARANTIE; geben Sie ‘show w’ für Details ein. Gnomovision ist freie Software, die Sie unter bestimmten
  +
Bedingungen weitergeben dürfen; geben Sie ‘show c’ für Details ein.
  +
Die hypothetischen Kommandos ‘show w’ und ‘show c’ sollten die entsprechenden Teile der GNU-GPL
  +
anzeigen. Natürlich können die von Ihnen verwendeten Kommandos anders heißen als ‘show w’ und ‘show c’;
  +
es könnten auch Mausklicks oder Menüpunkte sein - was immer am besten in Ihr Programm paßt.
  +
Soweit vorhanden, sollten Sie auch Ihren Arbeitgeber (wenn Sie als Programmierer arbeiten) oder Ihre Schule
  +
einen Copyright-Verzicht für das Programm unterschreiben lassen. Hier ein Beispiel; ändern Sie bitte die
  +
Namen:
  +
Yoyodyne, Inc., hereby disclaims all copyright interest in the program „Gnomovision“ (which makes passes at
  +
compilers) written by James Hacker.
  +
[Unterschrift von Ty Coon], 1 April 1989 Ty Coon, President of Vice
  +
Auf Deutsch:
  +
Die Yoyodyne GmbH erhebt keinerlei urheberrechtlichen Anspruch auf das Programm „Gnomovision“ (einem
  +
Schrittmacher für Compiler), geschrieben von James Hacker.
  +
[Unterschrift von Ty Coon], 1. April 1989 Ty Coon, Vizepräsident
  +
Diese General Public License gestattet nicht die Einbindung des Programms in proprietäre Programme. Ist Ihr
  +
Programm eine Funktionsbibliothek, so kann es sinnvoller sein, das Linken proprietärer Programme mit dieser
  +
Bibliothek zu gestatten. Wenn Sie dies tun wollen, sollten Sie die GNU Library General Public License anstelle
  +
dieser Lizenz verwenden.
  +
673
  +
Kapitel 23. Weitere Infos
  +
23.11. Open Publication License
  +
OPEN PUBLICATION LICENSE Draft v0.4, 8 June 1999
  +
I. REQUIREMENTS ON BOTH UNMODIFIED AND MODIFIED VERSIONS
  +
The Open Publication works may be reproduced and distributed in whole or in part, in any medium physical or
  +
electronic, provided that the terms of this license are adhered to, and that this license or an incorporation of it by
  +
reference (with any options elected by the author(s) and/or publisher) is displayed in the reproduction.
  +
Proper form for an incorporation by reference is as follows:
  +
Copyright (c) <year> by <author’s name or designee> This material may be distributed only subject to the terms
  +
and conditions set forth in the Open Publication License, vX.Y or later (the latest version is presently available
  +
at http://www.opencontent.org/openpub/).
  +
The reference must be immediately followed with any options elected by the author(s) and/or publisher of the
  +
document (see section VI).
  +
Commercial redistribution of Open Publication-licensed material is permitted.
  +
Any publication in standard (paper) book form shall require the citation of the original publisher and author. The
  +
publisher and author’s names shall appear on all outer surfaces of the book. On all outer surfaces of the book the
  +
original publisher’s name shall be as large as the title of the work and cited as possessive with respect to the title.
  +
II. COPYRIGHT
  +
The copyright to each Open Publication is owned by its author(s) or designee.
  +
III. SCOPE OF LICENSE
  +
The following license terms apply to all Open Publication works, unless otherwise explicitly stated in the
  +
document.
  +
Mere aggregation of Open Publication works or a portion of an Open Publication work with other works or
  +
programs on the same media shall not cause this license to apply to those other works. The aggregate work shall
  +
contain a notice specifying the inclusion of the Open Publication material and appropriate copyright notice.
  +
SEVERABILITY. If any part of this license is found to be unenforceable in any jurisdiction, the remaining
  +
portions of the license remain in force.
  +
NO WARRANTY. Open Publication works are licensed and provided „as is“ without warranty of any kind,
  +
express or implied, including, but not limited to, the implied warranties of merchantability and fitness for a
  +
particular purpose or a warranty of non-infringement.
  +
IV. REQUIREMENTS ON MODIFIED WORKS
  +
All modified versions of documents covered by this license, including translations, anthologies, compilations
  +
and partial documents, must meet the following requirements:
  +
1) The modified version must be labeled as such. 2) The person making the modifications must be identified and
  +
the modifications dated. 3) Acknowledgement of the original author and publisher if applicable must be retained
  +
according to normal academic citation practices. 4) The location of the original unmodified document must be
  +
identified. 5) The original author’s (or authors’) name(s) may not be used to assert or imply endorsement of the
  +
resulting document without the original author’s (or authors’) permission.
  +
V. GOOD-PRACTICE RECOMMENDATIONS
  +
In addition to the requirements of this license, it is requested from and strongly recommended of redistributors
  +
that:
  +
1) If you are distributing Open Publication works on hardcopy or CD-ROM, you provide email notification to
  +
the authors of your intent to redistribute at least thirty days before your manuscript or media freeze, to give the
  +
authors time to provide updated documents. This notification should describe modifications, if any, made to the
  +
document.
  +
2) All substantive modifications (including deletions) be either clearly marked up in the document or else
  +
described in an attachment to the document.
  +
Finally, while it is not mandatory under this license, it is considered good form to offer a free copy of any
  +
hardcopy and CD-ROM expression of an Open Publication-licensed work to its author(s).
  +
674
  +
Kapitel 23. Weitere Infos
  +
VI. LICENSE OPTIONS
  +
The author(s) and/or publisher of an Open Publication-licensed document may elect certain options by
  +
appending language to the reference to or copy of the license. These options are considered part of the license
  +
instance and must be included with the license (or its incorporation by reference) in derived works.
  +
A. To prohibit distribution of substantively modified versions without the explicit permission of the author(s).
  +
„Substantive modification“ is defined as a change to the semantic content of the document, and excludes mere
  +
changes in format or typographical corrections.
  +
To accomplish this, add the phrase ‘Distribution of substantively modified versions of this document is
  +
prohibited without the explicit permission of the copyright holder.’ to the license reference or copy.
  +
B. To prohibit any publication of this work or derivative works in whole or in part in standard (paper) book form
  +
for commercial purposes is prohibited unless prior permission is obtained from the copyright holder.
  +
To accomplish this, add the phrase ’Distribution of the work or derivative of the work in any standard (paper)
  +
book form is prohibited unless prior permission is obtained from the copyright holder.’ to the license reference
  +
or copy.
  +
OPEN PUBLICATION POLICY APPENDIX:
  +
(This is not considered part of the license.)
  +
Open Publication works are available in source format via the Open Publication home page at
  +
http://www.opencontent.org.
  +
Open Publication authors who want to include their own license on Open Publication works may do so, as long
  +
as their terms are not more restrictive than the Open Publication license.
  +
If you have questions about the Open Publication License, please contact TBD, and/or the Open Publication
  +
Authors’ List at opal@opencontent.org, via email.
  +
23.12. GNU Free Document License 1.1 (GFDL)
  +
Der Autor dieser Übersetzung ist Josef Spillner <dr_maux@maux.de>.
  +
Dieser Text wurde von der spanischen Version übertragen.
  +
Dies ist eine inoffizielle Übersetzung der GNU Free Documentation License (GFDL), Version 1.1, ins
  +
Deutsche. Sie wurde nicht von der Free Software Foundation veröffentlicht, und legt nicht gesetzlich die
  +
Verteilungsbedingungen für Dokumente fest die die GFDL nutzen -- nur der originale englische Text der GFDL
  +
tut dies. Wie auch immer, ich hoffe daß sie Deutschsprachigen hilft die GFDL besser zu verstehen.
  +
This is an unofficial translation of the GNU Free Documentation License (GFDL) into German. It was not
  +
published by the Free Software Foundation, and does not legally state the distribution terms for works that uses
  +
the GFDL --only the original English text of the GFDL does that. However, I hope that this translation will help
  +
German speakers understand the GFDL better.
  +
Die originale Version der GFDL gibt es unter: http://www.gnu.org/copyleft/fdl.html
  +
GNU Freie Dokumentationslizenz
  +
Version 1.1, März 2000
  +
Copyright (C) 2000 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Jeder
  +
darf diese Lizenzurkunde kopieren und wortwörtliche Kopien davon verteilen, Änderungen daran sind jedoch nicht
  +
gestattet.
  +
.1. Päambel
  +
Der Zweck dieser Lizenz ist es, eine Anleitung, ein Textbuch oder andere geschriebene Dokumente "frei" im
  +
Sinne von Freiheit zu halten: jedem die effektive Freiheit zu sichern, es zu kopieren und weiterzuverteilen, mit
  +
oder ohne es zu ändern, entweder kommerziell oder nichtkommerziell. Zweitens sichert diese Lizenz dem Autor
  +
675
  +
Kapitel 23. Weitere Infos
  +
und Veröffentlicher einen Weg, Anerkennung für seine Arbeit zu bekommen, ohne dabei für Änderungen
  +
anderer verantwortlich zu sein.
  +
Diese Lizenz ist eine Art "copyleft", das heißt daß abgeleitete Arbeiten des Dokumentes selbst wieder im
  +
gleichen Sinne frei sein müssen. Es ergänzt die GNU General Public License, die eine Copyleft-Lizenz für freie
  +
Software darstellt.
  +
Wir haben diese Lizenz gestaltet, um sie für Anleitungen von freier Software zu benutzen, weil freie Software
  +
freie Dokumentation benötigt: Ein freies Programm sollte mit Anleitungen kommen die dieselbe Freiheit wie
  +
die Software bieten. Aber diese Lizenz ist nicht auf Software-Anleitungen beschränkt; sie kann für alle
  +
textlichen Arbeiten verwendet werden, unabhängig vom Thema oder ob es als gedrucktes Buch veröffentlicht
  +
wird. Wir empfehlen diese Lizenz prinzipiell für Arbeiten deren Zweck Anleitungen oder Referenzen sind.
  +
.2. Anwendbarkeit und Definitionen
  +
Diese Lizenz betrifft jede Anleitung oder andere Arbeit die einen Hinweis des Copyright-Halters enthält,
  +
welcher besagt, daß sie unter den Bedingungen dieser Lizenz verteilt werden kann. Das "Dokument", weiter
  +
unten, bezieht sich auf jede dieser Anleitungen oder Arbeiten. Jedes Mitglied der Öffentlichkeit ist ein
  +
Lizenznehmer, und wird mit "Sie" bezeichnet.
  +
Eine "Modifizierte Version" von dem Dokument bezeichnet jegliche Arbeit, die das Dokument oder einen Teil
  +
davon enthält, entweder wortwörtlich kopiert oder mit Modifikationen und/oder in eine andere Sprache
  +
übersetzt.
  +
Ein "Sekundärer Abschnitt" ist ein benannter Anhang oder ein wichtiger Abschnitt des Dokumentes der exklusiv
  +
mit der Beziehung des Veröffentlichers zu dem Gesamtthema des Dokumentes (oder verwandten Themen)
  +
handelt und nichts enthält was direkt unter das Gesamtthema fällt. (Wenn zum Beispiel das Dokument teilweise
  +
ein Textbuch der Mathematik ist, erklärt ein "Sekundärer Abschnitt" keine Mathematik.) Die Beziehung könnte
  +
eine Angelegenheit einer historischen Verbindung mit dem Thema oder einer verwandten Sache sein, oder einer
  +
gesetzlichen, kommerziellen, philosophischen, ethnischen oder politischen Position ihr gegenüber.
  +
"Unveränderliche Abschnitte" sind spezielle Sekundäre Abschnitte, deren Titel in dem Hinweis, der besagt, daß
  +
das Dokument unter dieser Lizenz veröffentlicht ist, gekennzeichnet sind, Unveränderte Abschnitte zu sein.
  +
Die "Covertexte" sind spezielle kurze Textpassagen, die, als Vorderseitentexte oder Rückseitentexte, in dem
  +
Hinweis aufgeführt sind, der besagt, daß das Dokument unter dieser Lizenz veröffentlicht ist.
  +
Eine "Transparente" Kopie des Dokumentes meint eine maschinenlesbare Kopie, die in einem der Allgemeinheit
  +
zugänglichen Format repräsentiert ist, deren Inhalt direkt und einfach mit gebräuchlichen Texteditoren oder (bei
  +
aus Pixeln bestehenden Bildern) gebräuchlichen Zeichenprogrammen oder (bei Bildern) weit verbreiteten
  +
Bildverarbeitungsprogramm besehen und verändert werden kann, und das geeignet ist in Textformatierern
  +
eingegeben werden zu können oder automatisch in eine Vielzahl von Formaten übersetzt werden kann die
  +
geeignet sind in Textformatierern eingegeben werden zu können. Eine Kopie in einem anderen Transparenten
  +
Dateiformat dessen Aufbau gestaltet wurde eine ständige Veränderung durch den Leser zu vereiteln oder
  +
abzuwenden ist nicht Transparent. Eine Kopie die nicht "Transparent" ist nennt man "Undurchsichtig".
  +
Beispiele von passenden Formaten für Transparente Kopien enthalten reines ASCII ohne Codierung, das
  +
Texinfo-Eingabeformat, das LaTeX-Eingabeformat, SGML oder XML die eine öffentlich zugängliche DTD
  +
nutzen, und dem Standard entsprechendes HTML das für die Veränderung durch Menschen gestaltet wurde.
  +
Undurchsichtige Formate enthalten PostScript, PDF, proprietäre Formate die nur von proprietären
  +
Textverarbeitungen gelesen und bearbeitet werden, SGML oder XML für die die DTD und/oder die
  +
Verarbeitungswerkzeuge nicht allgemein erhältlich sind, und maschinengeneriertes HTML das von einigen
  +
Textverarbeitungen nur zu Ausgabezwecken produziert wurde.
  +
Die "Titelseite" meint bei einem gedruckten Buch die Titelseite selbst, und die folgenden Seiten die gebraucht
  +
werden um leserlich das Material zu beinhalten das die Lizenz benötigt um auf der Titelseite zu erscheinen. Für
  +
Arbeiten die als solche keine Titelseiten haben meint "Titelseite" den Text, der der wirkungsvollsten
  +
Erscheinung des Arbeitstitels am nächsten kommt und den Textkörper einleitet.
  +
676
  +
Kapitel 23. Weitere Infos
  +
.3. Wortwörtliche Kopien
  +
Sie dürfen das Dokument auf jedem Medium kopieren und verteilen, entweder kommerziell oder
  +
nichtkommerziell, vorausgesetzt daß die Lizenz, die Copyrighthinweise und der Lizenzhinweis, der besagt daß
  +
die Lizenz für das Dokument gilt, in allen Kopien reproduziert werden, und daß sie keine wie auch immer
  +
lautenden andere Bedingungen als die der Lizenz hinzufügen. Sie dürfen keine technischen Möglichkeiten
  +
nutzen, die das Lesen oder Weiterkopieren der Kopien, die Sie machen oder weiterkopieren, kontrollieren oder
  +
behindern. Wie auch immer, Sie dürfen im Gegenzug Vergütungen für Kopien akzeptieren. Wenn Sie eine
  +
genügend große Anzahl von Kopien verteilen, müssen Sie auch den Bedingungen in Abschnitt 3 zustimmen.
  +
Sie dürfen auch Kopien unter den oben genannten Bedingungen verleihen, und Sie dürfen Kopien öffentlich
  +
zeigen.
  +
.4. Kopieren in Mengen
  +
Wenn Sie mehr als 100 gedruckte Kopien des Dokumentes veröffentlichen, und die Lizenz des Dokumentes
  +
Cover-Texte verlangt, müssen Sie die Kopien in Verpackungen einschließen die, sauber und leserlich, all diese
  +
Cover-Texte enthalten: Vorderseitentexte auf der Vorderseite, und Rückseitentexte auf der Rückseite. Beide
  +
Seiten müssen auch sauber und leserlich Sie als den Veröffentlicher dieser Kopien identifizieren. Die
  +
Vorderseite muß den vollen Titel mit allen Wörtern des Titels gleich auffällig und sichtbar darstellen. Sie dürfen
  +
andere Materialien zusätzlich der Seite hinzufügen. Kopieren mit Veränderungen der Seiten, solange diese den
  +
Titel des Dokumentes absichern und diese Bedingungen erfüllen, können in anderer Hinsicht als wortwörtliche
  +
Kopien behandelt werden.
  +
Wenn die geforderten Texte für jede Seite zu groß sind um leserlich darauf zu passen, sollten Sie die
  +
erstgenannten (soviele wie vernünftig daraufpassen) auf die aktuelle Seite setzen, und mit dem Rest auf
  +
angrenzenden Seiten fortfahren.
  +
Wenn Sie mehr als 100 Undurchsichtige Kopien des Dokumentes veröffentlichen oder verteilen, müssen Sie
  +
entweder zusammen mit jeder Undurchsichtigen Kopie eine Transparente Kopie einfügen, oder in oder mit
  +
jeder Undurchsichtigen Kopie eine öffentlich zugängliche Computer-Netzwerk-Adresse angeben die eine
  +
komplette Transparente Kopie des Dokumentes enthält, die frei von hinzugefügtem Material ist und die sich die
  +
allgemeine netzwerknutzende Öffentlichkeit mit Standard-Netzwerkprotokollen unentgeltlich herunterladen
  +
kann. Wenn Sie die letzte Option verwenden, müssen Sie, wenn Sie beginnen Undurchsichtige Kopien in
  +
Mengen zu verteilen, vernünftige umsichtige Schritte unternehmen, die sicherstellen, daß die Transparente
  +
Kopie unter der genannten Adresse mindestens ein Jahr, nachdem Sie das letzte Mal eine Undurchsichtige
  +
Kopie dieser Edition (direkt oder über Ihre Vermittler oder Händler) an die Öffentlichkeit verteilt haben.
  +
Es wird erbeten, aber nicht verlangt, daß Sie die Autoren des Dokumentes kontaktieren, bevor Sie eine große
  +
Anzahl an Kopien weiterverteilen, um ihnen zu ermöglichen, Sie mit einer aktualisierten Version des
  +
Dokumentes zu versorgen.
  +
.5. Modifikationen
  +
Sie dürfen eine Modifizierte Version eines Dokumentes unter den in den Abschnitten 2 und 3 obenstehenden
  +
Bedingungen kopieren und verteilen, vorausgesetzt Sie veröffentlichen die Modifizierte Version unter genau
  +
dieser Lizenz, so daß die modifizierte Version die Stelle des Dokumentes einnimmt, folglich auch das
  +
Lizenzieren der Verteilung und Modifikation der Modifizierten Version an jeden der eine Kopie davon besitzt.
  +
Zuätzlich müssen Sie diese Dinge in der Modifizierten Version tun:
  +
A. Auf der Titelseite (und auf den Covern, falls vorhanden) einen Titel verwenden, der sich von dem des
  +
Dokumentes unterscheidet, und von denen vorhergehender Versionen (die, falls vorhanden, in dem
  +
History-Abschnitt des Dokumentes aufgeführt sein sollten). Sie dürfen denselben Titel wie in einer
  +
vorhergehenden Version nutzen wenn der ursprüngliche Veröffentlicher sein Einverständnis gibt.
  +
B. Auf der Titelseite, eine oder mehrere Personen als Autoren benennen die für das Einbringen von
  +
Veränderungen in die Modifizierte Version verantwortlich sind, zusammen mit mindesten fünf eigentlichen
  +
Autoren des Dokumentes (allen eigentlichen Autoren, wenn es weniger als fünf sind).
  +
C. Auf der Titelseite den Namen des Veröffentlichers der Modifizierten Version als Veröffentlicher
  +
kennzeichnen.
  +
677
  +
Kapitel 23. Weitere Infos
  +
D. Alle Copyright-Hinweise des Dokumentes beibehalten.
  +
E. Einen passenden Copyright-Hinweis für Ihre Modifikationen angrenzend an die anderen
  +
Copyright-Hinweise hinzufügen.
  +
F. Gleich hinter dem Copyright-Hinweis einen Lizenzhinweis einfügen, der die öffentliche Erlaubnis gibt die
  +
Modifizierte Version unter den Bedingungen dieser Lizenz zu nutzen, in einer Form die weiter unten im
  +
Anhang dargestellt ist.
  +
G. In dem Lizenzhinweis die volle Liste der Unveränderlichen Abschnitte und benötigten Cover-Texte, die in
  +
dem Lizenzhinweis des Dokumentes gegeben ist, beibehalten.
  +
H. Eine unveränderte Kopie dieser Lizenz einfügen.
  +
I. Den Abschnitt, der mit "History" (Geschichte) betitelt ist, und seinen Titel, beibehalten und ihn zu einem
  +
Punkt hinzufügen der mindestens Titel, Jahr, neue Autoren, und Veröffentlicher der Modifizierten Version
  +
wie auf der Titelseite gegeben, benennt. Wenn es keinen mit "History" betitelten Abschnitt gibt, erstellen
  +
Sie einen, der den Titel, Jahr, Autoren, und Veröffentlicher des Dokumentes wie auf der Titelseite gegeben,
  +
benennt, und fügen Sie dann einen Punkt hinzu der die Modifizierte Version beschreibt wie im
  +
vorhergehenden Satz.
  +
J. Die Netzwerk-Adresse, falls aufgeführt, beibehalten, die im Dokument aufgeführt ist um öffentlichen
  +
Zugriff zu einer Transparenten Kopie des Dokumentes zu ermöglichen, und genauso die
  +
Netzwerk-Adressen, die im Dokument für frühere Versionen, auf denen es basiert, aufgeführt sind. Diese
  +
können in den "History"-Abschnitt gestellt werden. Sie können eine Netzwerk-Adresse für ein Werk
  +
auslassen, das mindestens vier Jahre vor dem Dokument selbst veröffentlicht wurde, oder wenn der
  +
ursprüngliche Autor, auf den sich die jeweilige Version bezieht, es erlaubt.
  +
K. In jeglichem Abschnitt, der mit "Acknowledgements" (Anerkennungen) oder "Dedications" (Widmungen)
  +
betitelt ist, den Titel des Abschnittes beibehalten, und in dem Abschnitt allen Inhalt und Ton von jeder
  +
Anerkennung und/oder Widmung jedes Beitragenden beibehalten, der dort aufgeführt ist.
  +
L. Alle Unveränderlichen Abschnitte des Dokumentes beibehalten, unverändert in ihrem Text und ihren
  +
Titeln. Abschnittsnummern oder ähnliches werden nicht als Teil von Abschnittstiteln betrachtet.
  +
M. Alle Abschnitte, die mit "Endorsements" (Billigungen) betitelt sind, löschen. Solche Abschnitte dürfen
  +
nicht mit in die Modifizierte Version aufgenommen werden.
  +
N. Betiteln Sie keine existierenden Abschnitte mit "Endorsements" oder so, daß sie im Widerspruch zu Titeln
  +
von Unveränderlichen Abschnitten stehen.
  +
Wenn die Modifizierte Version neue wichtige Abschnitte enthält oder Anhänge, die Sekundäre Abschnitte
  +
darstellen, und kein Material enthalten das aus dem Dokument kopiert wurde, dürfen Sie nach Ihrer Wahl einige
  +
oder alle diese Abschnitte als Unveränderlich bezeichnen. Um dies zu tun, fügen Sie ihre Titel der Liste der
  +
Unveränderlichen Abschnitte in dem Lizenzhinweis der Modifizierten Version hinzu. Diese Titel müssen sich
  +
von allen anderen Abschnittstiteln unterscheiden.
  +
Sie dürfen einen Abschnitt "Endorsements" hinzufügen, vorausgesetzt er enthält nichts außer Bewilligungen
  +
Ihrer Modifizierten Version von verschiedenen Seiten--zum Beispiel, Aussagen von Beurteilungen oder daß der
  +
Text von einer Organisation als für die autoritäre Definition eines Standards befunden wurde.
  +
Sie dürfen eine Passage aus bis zu fünf Wörtern als Vorderseitentext hinzufügen, und eine Passage von bis zu 25
  +
Wörtern als Rückseitentext, ans Ende der Liste von Covertexten in der Modifizierten Version. Höchstens eine
  +
Passage von Vorderseitentexten und eine von Rückseitentexten darf von (oder durch Abmachungen von)
  +
irgendeinem Wesen hinzugefügt werden. Wenn das Dokument für die entsprechende Seite schon einen
  +
Covertext hat, der vorher von Ihnen oder durch Abmachungen von demselben Wesen, in dessen Namen Sie
  +
handeln, hinzugefügt wurde, dürfen Sie keinen anderen hinzufügen; aber Sie dürfen den alten, wenn es der
  +
ursprüngliche Veröffentlicher, der den alten hinzugefügt hat, explizit erlaubt, ersetzen.
  +
Der/die Autor(en) und Veröffentlicher des Dokumentes erteilen durch diese Lizenz nicht die Erlaubnis, ihre
  +
Namen für Veröffentlichungen für Bewilligungen irgendeiner Modifizierten Version oder deren Durchsetzungen
  +
oder Andeutungen zu nutzen.
  +
678
  +
Kapitel 23. Weitere Infos
  +
.6. Dokumente kombinieren
  +
Sie dürfen das Dokument mit anderen Dokumenten, die unter dieser Lizenz veröffentlicht wurden, unter den
  +
Bedingungen in Abschnitt 4 für Modifizierte Versionen kombinieren, vorausgesetzt Sie beinhalten in der
  +
Kombination alle Unveränderlichen Abschnitte aller ursprünglichen Dokumente, unverändert, und führen Sie
  +
alle als Unveränderliche Abschnitte Ihrer kombinierten Arbeit in deren Lizenzhinweis auf.
  +
Die kombinierte Arbeit braucht nur eine Kopie dieser Lizenz zu beinhalten, und mehrfache identische
  +
Unveränderliche Abschnitte können durch eine einzige Kopie ersetzt werden. Wenn es mehrere
  +
Unveränderliche Abschnitte mit demselben Titel, aber unterschiedlichem Inhalt gibt, machen Sie den Titel jedes
  +
Abschnittes durch Hinzufügen (in Klammern) des Namens des ursprünglichen Autors oder Veröffentlichers
  +
dieses Abschnittes, falls bekannt, unverwechselbar, oder ansonsten durch eine einzigartige Nummer. Führen Sie
  +
dieselben Änderungen in der Liste der Unveränderlichen Abschnitte im Lizenzhinweis der kombinierten Arbeit
  +
durch.
  +
In der Kombination müssen Sie alle mit "History" betitelten Abschnitte aus den verschiedenen ursprünglichen
  +
Dokumenten zusammenführen, und daraus einen Abschnitt "History" bilden; genauso kombinieren Sie jeden
  +
mit "Acknowledgements" betitelten Abschnitt, und jeden mit "Dedications" betitelten Abschnitt. Sie müssen
  +
jeden mit "Endorsements" betitelten Abschnitt löschen.
  +
.7. Sammlungen von Dokumenten
  +
Sie dürfen eine Sammlung erstellen, die aus dem Dokument und anderen, unter dieser Lizenz veröffentlichten
  +
Dokumenten besteht, und die individuellen Kopien der Lizenz in den einzelnen Dokumenten durch eine einzige
  +
Kopie ersetzen, die sich in der Sammlung befindet, vorausgesetzt Sie folgen den Regeln dieser Lizenz für
  +
wortwörtliches Kopieren jedes dieser Dokumente in jeglicher Hinsicht.
  +
Sie dürfen ein einzelnen Dokument aus einer solchen Sammlung heraustrennen, und es individuell unter dieser
  +
Lizenz verteilen, vorausgesetzt Sie fügen eine Kopie dieser Lizenz in das herausgetrennte Dokument ein, und
  +
folgen der Lizenz in jeglicher Hinsicht bezüglich dem wortwörtlichen Kopieren von dem Dokument.
  +
.8. Aggregation mit unabhängigen Arbeiten
  +
Eine Zusammenstellung dieses Dokumentes oder seinen Ableitungen mit anderen separaten und unabhängigen
  +
Dokumenten oder Arbeiten, in oder auf einem Teil eines Speicher- oder Verteilungsmediums, zählt nicht als
  +
Ganzes als Modifizierte Version des Dokumentes, vorausgesetzt kein Gesamt-Copyright wurde für die
  +
Zusammenstellung festgelegt. Solch eine Zusammenstellung wird "Aggregat" (Mischung) genannt, und diese
  +
Lizenz gilt nicht für die anderen selbstenthaltenen Arbeiten, die mit dem Dokument zusammengestellt wurden,
  +
im Falle daß sie zusammengestellt wurden, wenn sie nicht selbst abgeleitete Arbeiten des Dokumentes sind.
  +
Wenn die Covertext-Bedingung von Abschnitt 3 auf diese Kopien des Dokumentes anwendbar ist, dann können,
  +
wenn das Dokument weniger als ein Viertel des gesamten Aggregates ist, die Covertexte des Dokumentes auf
  +
Seiten platziert werden die nur das Dokument innerhalb des Aggregates umgeben. Ansonsten müssen sie auf
  +
Seiten erscheinen, die das gesamte Aggregat umgeben.
  +
.9. Übersetzung
  +
Übersetzung wird als eine Art Modifikation angesehen, also dürfen Sie Übersetzungen des Dokumentes unter
  +
den Bedingungen von Abschnitt 4 verteilen. Das Ersetzen von Unveränderlichen Abschnitten mit
  +
Übersetzungen erfordert spezielle Einwilligung des Copyright-Halters, aber Sie dürfen Übersetzungen von
  +
einigen oder allen Unveränderlichen Abschnitten zusätzlich zu den ursprünglichen Versionen dieser
  +
Unveränderlichen Abschnitte einfügen. Sie dürfen eine Übersetzung dieser Lizenz hinzufügen, vorausgesetzt
  +
Sie beinhalten auch die ursprüngliche englische Version dieser Lizenz. Im Falle einer Nichtübereinstimmung
  +
zwischen der Übersetzung und der ursprünglichen englischen Version dieser Lizenz hat die ursprüngliche
  +
englische Version Vorrang.
  +
679
  +
Kapitel 23. Weitere Infos
  +
.10. Termination
  +
Sie dürfen das Dokument nicht kopieren, modifizieren, sublizenzieren oder verteilen außer wie es diese Lizenz
  +
ausdrücklich vorschreibt. Jegliche andere Absicht, das Dokument zu kopieren, modifizieren, sublizenzieren
  +
oder verteilen ist nichtig, und beendet automatisch Ihre Rechte unter dieser Lizenz. Wie auch immer, Parteien,
  +
die Kopien oder Rechte von Ihnen unter dieser Lizenz bekommen haben, wird nicht die Lizenz beendet, solange
  +
diese Parteien in voller Zustimmung verbleiben.
  +
.11. Zukünftige Revisionen dieser Lizenz
  +
Die Free Software Foundation kann von Zeit zu Zeit neue, revidierte Versionen der GNU Free Documentation
  +
License veröffentlichen. Solche neue Versionen werden vom Grundprinzip her der vorliegenden Version
  +
gleichen, können sich aber im Detail unterscheiden, um neue Probleme oder Anliegen anzusprechen. Siehe auch
  +
http://www.gnu.org/copyleft/.
  +
Jeder Version dieser Lizenz wird eine unterscheidende Versionsnummer gegeben. Wenn das Dokument angibt,
  +
daß eine spezielle Version dieser Lizenz "oder eine spätere Version" darauf zutrifft, haben Sie die Wahl den
  +
Bestimmungen und Bedingungen von entweder der angegebenen Version oder einer beliebigen späteren
  +
Version, die von der Free Software Foundation (nicht als Entwurf) veröffentlicht wurde, zu folgen. Wenn das
  +
Dokument keine Versionsnummer angibt, können Sie irgendeine, jemals von der Free Software Foundation
  +
(nicht als Entwurf) veröffentlichte Version wählen.
  +
.12. Wie Sie diese Lizenz für Ihre Dokumente nutzen können
  +
Um diese Lizenz in einem von Ihnen geschriebenen Dokument nutzen zu können, fügen Sie eine Kopie der
  +
Lizenz in das Dokument ein und setzen Sie die folgenden Copyright- und Lizenzhinweise gleich hinter die
  +
Titelseite:
  +
Copyright (c) JAHR IHR NAME. Es wird die Erlaubnis gegeben dieses Dokument zu kopieren, verteilen und/oder zu
  +
verändern unter den Bedingungen der GNU Free Documentation License, Version 1.1 oder einer späteren, von der Free
  +
Software Foundation veröffentlichten Version; mit den Unveränderlichen Abschnitten DEREN TITEL AUFGEZÄHLT
  +
sind, mit den Vorderseitentexten die AUFGEZÄHLT sind, und mit den Rückseitentexten die AUFGEZÄHLT sind.
  +
Eine Kopie dieser Lizenz ist in dem Abschnitt enthalten, der mit "GNU Free Documentation License" betitelt ist.
  +
Wenn Sie keine Unveränderlichen Abschnitte haben, schreiben Sie "mit keinen Unveränderlichen Abschnitten"
  +
anstatt anzugeben welche Unveränderlich sind. Wenn Sie keine Vorderseitentexte haben, schreiben Sie "keine
  +
Vorderseitentexte" anstatt "Vorderseitentexte die AUFGEZÄHLT sind"; genauso bei den Rückseitentexten.
  +
Wenn Ihr Programm nicht-triviale Beispiele von Programmcode enthält, empfehlen wir, diese Beispiele parallel
  +
unter einer freien Software-Lizenz, wie der GNU General Public License, zu veröffentlichen, um ihren
  +
Gebrauch in freier Software zu erlauben.
  +
.13. Begriffe
  +
1. Begriff „copyleft“ ist ein neuer, von GNU eingeführter Begriff. Es ist ein Wortspiel eines englischen Wortes,
  +
das aus "copyright" "copyleft" macht, und damit ausdrückt daß es kopieren nicht verbietet, sondern erlaubt
  +
unbeschränkt unter vertraglichen Bedingungen zu kopieren. http://www.gnu.org/copyleft/copyleft.de.html
  +
2. Begriff „Lizenznehmer“: An wen sich die Lizenz richtet.
  +
Übersetzung: Josef Spillner dr_maux@maux.de
  +
680
  +
Stichwortverzeichnis
  +
#, 95
  +
$, 95
  +
.deb, 135
  +
.htaccess, 489, 489, 574
  +
.shtml, 489
  +
.Xdefaults, 316
  +
/etc/, 106
  +
/proc, 127
  +
/usr/src/, 537
  +
3Com, ii, 476, 513
  +
404, 491
  +
8139too, 476
  +
8390, 476
  +
;, 538
  +
|, 117
  +
öffentlichen Schlüssel, 358
  +
A Package Tool, 141
  +
a.out, 11
  +
Abhängigkeiten, 135
  +
AbiWord, 435
  +
Access, ??
  +
access.conf, 487
  +
access_log, 487
  +
Acrobat-Reader, 438
  +
Actions Log, 543
  +
Administration, 134
  +
alien, ??, 515
  +
AllowOverride, 489
  +
Alpha, i, 12, 19, 133, 659
  +
AM, 654
  +
Amiga, 19
  +
AmigaOS, 497
  +
anmelden, 93
  +
anXious, ??
  +
Apache, 485
  +
Apache Module, 571
  +
Apache Webserver - MIME-Typen, 571
  +
apacheconfig, 485, 487
  +
Application Maintainer, 654
  +
Applixware, 435
  +
apsfilter, 364
  +
apt, 132
  +
apt-get, 140, 143
  +
apt-get build-dep, 147
  +
apt-get source, 147
  +
apt-proxy, 155
  +
apt-setup, 142
  +
apt-show-source, 157
  +
aptitude, 161
  +
Architektur, ??
  +
Arm, 12, 19
  +
ASCII-Terminals, 187
  +
async, 128
  +
Atari, 19
  +
Audio, 507
  +
Authentifizierung, 574
  +
auto, 128
  +
AVI, 458, 459, 460
  +
Base, 134
  +
bash, 116
  +
Ben Collins, 13
  +
Benutzernamen, 94
  +
Besitzer, 104
  +
Betriebssystem, 10
  +
Bezugsquellen, 31
  +
Bildbearbeitung, 396
  +
binutils, 535
  +
Binärformat, 11
  +
Bo, 12, 18
  +
boot.bat, 43
  +
Bootdisketten, 42
  +
Bootloader, 523, 524, 540
  +
BrowserMatch, 574
  +
Bruce Perens, 12, 29
  +
BSD, 364
  +
BTS, 654
  +
Buchhandlung Lehmanns, i
  +
Bug Tracking System, 654
  +
Buzz, 12, 18
  +
bzip2, 537
  +
C, 573
  +
capt, 159
  +
cd, 107
  +
CD-Brenner, 470
  +
CD-Image, 469
  +
CD-Writing HOWTO, 469
  +
CDC ACM, 507
  +
cdda2wav, 474
  +
cdlabelgen, 474
  +
cdrecord, 469, 474
  +
cfdisk, 50
  +
CGI, 488, 573
  +
CGI-Programm, 488
  +
Chain-Bootloader, 524
  +
CheckSpellig, 489
  +
chmod, 105
  +
CIFS, 497
  +
Codename, 12
  +
Codenamen, 18
  +
Common Gateway Interface, 488, 573
  +
Common Internet File System, 497
  +
Common UNIX Printing System, 364
  +
Communication, 134
  +
Communicator, 314
  +
Community, 654
  +
conduit, 513
  +
Config, ??
  +
Console-Apt, 159
  +
Contrib, 133
  +
Core Dump, 573
  +
CoreDumpDirectory, 573
  +
cp, 107
  +
681
  +
CPiA, 507
  +
Cradle, 513, 514
  +
CUPS, 364, 364
  +
DABUSB, 507
  +
dahb-html, ii
  +
dahb-html-content, ii
  +
dahb-html-pics, ii
  +
dahb-pdf, ii
  +
dahb-txt, ii
  +
DAM, 654
  +
Datei- und Druckerserver, 497
  +
Dateisystem, 124
  +
DATE_GMT, 490
  +
DATE_LOCAL, 490
  +
Datum 2000-Problem, 39
  +
DCF77, 534
  +
DDP, 654
  +
debfoster, 177
  +
Debian, 10
  +
Debian Account Manager, 654
  +
Debian Beowulf, 20
  +
Debian Documentation Project, 654
  +
Debian Free Software Guidelines, 132
  +
Debian Free Software Guidelines, 12
  +
Debian GNU/Hurd, 88
  +
Debian GNU/MiNT, 20
  +
Debian GNU/NetBSD, 20
  +
Debian Machine Use Policies, 654
  +
Debian Mirror, 655
  +
Debian Project Leader, 654
  +
Debian Social Contract, 11, 12
  +
Debian Weekly News, 654
  +
Debian-Entwickler, 11
  +
Debian-Paketformat, 135
  +
deborphan, 175
  +
DEC Alpha, 19
  +
default route, 482
  +
defaults, 128
  +
dependency, 135
  +
dev, 128
  +
Development, 134
  +
df, 127
  +
DFSG, 132
  +
DHCP, 494, 497
  +
DHCP Server, 589
  +
DHCP-Server, 494
  +
Digital Kameras, 457
  +
Digital Video, 458
  +
Digitalkamera, 422
  +
Distribution, ??
  +
dlocate, ??
  +
DMUP, 654
  +
DNS, 483
  +
dnsutils, 484
  +
Documentation, 134
  +
DOCUMENT_NAME, 490
  +
DOCUMENT_URI, 490
  +
Domain, 483
  +
Domain Name, 483
  +
Domain Name Service, 483
  +
Downloadzeiten, 304
  +
dpkg, 11, 172
  +
dpkg --purge, 176
  +
dpkg-reconfigure, 129
  +
DPL, 654
  +
dselect, 132, 135
  +
DSL, 304
  +
Dualprozessor, 539
  +
dump, 128
  +
DVD, 460
  +
dvgrab, 458
  +
DWN, 654
  +
E-Mail, 325
  +
E-Mail Filter, 347
  +
echo, 490
  +
editkeep, 176
  +
Editors, 134
  +
Electronics, 134
  +
Elektronische Post, 325
  +
ELF-Format, 12
  +
elif, 490
  +
Eric Raymond, 29
  +
Eric S. Raymond, 654
  +
error_log, 487
  +
Evolution, 338
  +
Excel, 440
  +
exec, 128
  +
exim, 326
  +
eximconfig, 326
  +
ExtendedStatus, 570
  +
EZUSB, 507
  +
fdisk, 125, 594
  +
fetchmail, 340
  +
file, 490
  +
File Transfer Protocol, 349, 492
  +
files, 483
  +
finger, 535
  +
fips.exe, 37
  +
Firewire, 457
  +
Free Software Foundation, ??, 3, 11, 45
  +
FreeBSD, 318
  +
FreeBSD-Lizenz, 3
  +
Freie Software, 28
  +
fsck, 128
  +
FSF, 11, 45
  +
FSF Europe, 3
  +
fstab, 127
  +
ftp, 349, 492
  +
Funkuhr, 534
  +
G3/G4 MAC, 457
  +
Galeon, 318
  +
Games, 134
  +
Gateway, 482, 589
  +
gcc, 535, 537
  +
682
  +
gcombust, 474
  +
Gecko, 318
  +
Ghostscript, 367
  +
gmc, 185
  +
gnomba, 500
  +
GNOME Desktop, 318
  +
gnome-apt, ??
  +
gnosamba, 500
  +
GNU, 1, 364
  +
GNU C-Compiler, 537
  +
GNU General Public License, 3, 31
  +
GNU Hurd, 27
  +
GNU Image Manipulation Programm, 396
  +
GNU is not Unix, 1
  +
GNU Lesser General Public License, 3
  +
GNU Library General Public License, 3
  +
GNU Projekt, 1, 11
  +
GNU Projekte, 3
  +
GNU’s Not Unix, 3
  +
Gnumeric, 435, 440
  +
GnuPG, 347
  +
gPhoto, 422
  +
GPL, 3, 31, 318
  +
gpm, ??
  +
gpmconfig, 182
  +
Gqmpeg, 453
  +
GRand Unified Bootloader, 524
  +
Graphics, 134
  +
Grip, 454
  +
group, 104
  +
GRUB, 524
  +
GRUB - Kommandozeile, 526
  +
GRUB Bootdiskette, 89
  +
Gruppe, 104
  +
Gruppen, ??
  +
gzip, 537
  +
Ham Radio, 134
  +
Hamm, 12, 18
  +
Hardware-Architekturen, 19
  +
Hardware-Uhr, 532
  +
HARD_SERVER_LIMIT, 569
  +
hda, 125
  +
hdb, 125
  +
hdc, 125
  +
hdd, 125
  +
hdparm, 529
  +
HID, 507
  +
hisax, 300
  +
Homepage, 352
  +
hostname, 483
  +
HotSync, 513, 514
  +
HOWTOs, 654
  +
hppa, 19
  +
HTML, ii
  +
HTTP, 485
  +
HTTP Header, 573
  +
httpd.conf, 487, 489
  +
hurd-i386, 20
  +
Hypertext Transfer Protocol, 485
  +
i386, 12, 19
  +
ia64, 19
  +
Ian Jackson, 12
  +
Ian Murdock, 11
  +
IDE, 125
  +
IDE-Parameter, 594
  +
IDEA, 357
  +
IEEE, 364
  +
IEEE1394, 457
  +
IETF, 364
  +
if, 490
  +
iLink, 457
  +
iMAC DV, 457
  +
IMAP, 331, 340
  +
imps/2, 521
  +
include, 490
  +
IncludesNoExec, 490
  +
initrd, 526, 540
  +
Install, ??
  +
Intel, 476
  +
Intend to Adopt, 654
  +
Intend to Orphan, 654
  +
Intend to Package, 654
  +
Internet, 11
  +
Internet Engineering Task Force, 364
  +
Internet Printing Protocol, 364
  +
Internet Relay Chat, 35
  +
Internet Service Provider, 294
  +
Interpreters, 134
  +
IP-Nummer, 589
  +
IPP, 364, 364
  +
IRC, 35
  +
ISDN, 304
  +
isdnconfig, 301
  +
isdnutils, 301
  +
ISO9660, 470
  +
ISP, 294
  +
ITA, 654
  +
ITO, 654
  +
ITP, 654
  +
j-pilot, 516
  +
Jargon-File, 654
  +
Java, 573
  +
Joel Klecker, 13
  +
John Hall, 29
  +
Kalenderfunktion, 348
  +
Kanalbündelung, 304
  +
KCD, 654
  +
KDE, 280
  +
KDE 2.2, 280
  +
KDE 3.0, 286
  +
KeepAliveTimeout, 570
  +
Kern, 1
  +
kernel, 1, 524
  +
Kernel Cousin Debian, 654
  +
683
  +
Kernel-Konfiguration, 535
  +
kernel-package, 535
  +
Kernel-Server, 535
  +
Kernel-Source, 537
  +
Kernel-Sourcen, 537
  +
Kodak DC-2xx, 507
  +
LANG, 129
  +
Larry Augustin, 29
  +
LAST_MODIFIED, 490
  +
Lehmanns, 32
  +
LGPL, 3
  +
Libraries, 134, 135
  +
lilo, 523
  +
LimitRequestFieldsize, 569
  +
LimitRequestLine, 569
  +
Links, ??
  +
Linus Torvalds, 1, 3, 9
  +
Linux Logo, 8
  +
Linux Pinguine, 10
  +
Linux-Distributionen, ??
  +
Linux-Kernel, 11
  +
LinuxLand International, 32
  +
Listen, 570
  +
ListenBacklog, 570
  +
Lizenzen, 106
  +
Lizenzen für Freie Software, 3
  +
ln, 119
  +
lo, 482
  +
loadlin.exe, 43
  +
localepurge, 129
  +
locales, 129
  +
LockFile, 573
  +
login.app, ??
  +
Loopback Device, 482
  +
lpd, 364, 364
  +
lpinfo, 367
  +
LPRng, 364, 364
  +
lynx, 324
  +
m68k, 11, 19
  +
MAC-Adresse, 494
  +
MacOS, 496
  +
magicfilter, 364
  +
Mail, 134
  +
Mailinglisten, 654
  +
Mailserver, 342
  +
Main, 133
  +
Maintainer, 11, 536
  +
make, 535
  +
make -j, 538
  +
make -s, 538
  +
man, 98
  +
Mandrake, ii
  +
Martin Schulze, 11
  +
Massenspeicher, 507
  +
Master, 125
  +
Mathematics, 134
  +
MaxClients, 569
  +
MaxKeepAliveRequests, 570
  +
MaxRequestsPerChild, 569
  +
MaxSpareServers, 569
  +
mc, ??
  +
Menüsystem, 188
  +
MIA, 654
  +
Mikro-Kernel, 27
  +
MIME Types, 366, 572
  +
Mime-Type, 489
  +
MinSpareServers, 569
  +
mips, 19
  +
Miscellaneous, 134
  +
Missing in Action, 654
  +
mkdir, 107
  +
mke2fs, 126
  +
mkhybrid, 474
  +
mkisofs, 469, 474
  +
mkpasswd, 489
  +
Modul, 444
  +
mod_alias, 491
  +
mod_include, 489
  +
mod_php4, 571
  +
mod_so, 571
  +
more, 107
  +
Motorola 68000, 19
  +
mount, 124
  +
Mozilla, 316
  +
Mozilla PSM, 319
  +
MP3, 460
  +
MPEG-1, 460
  +
MPEG-2, 460
  +
mpg123, 453
  +
MS-Outlook, 338
  +
Multilink, 304
  +
multitasking, 1, 93
  +
multiuser, 1, 93
  +
NameVirtualHost, 571
  +
National Center for Supercomputing
  +
Applications, 485
  +
ncftp, 349
  +
NCSA, 485
  +
ne, 476
  +
NE2000, 476
  +
NE2000-kompatibel, 476
  +
ne2k-pci, 476
  +
NetBIOS, 497
  +
NetBIOS-Namen, 497
  +
Netscape, 314
  +
netselect, 31
  +
NetWare, 497
  +
Network, 134
  +
Network Basic Input Output System, 497
  +
Netzmaske, 589
  +
Netzwerkdrucker, 364
  +
Netzwerkkarte, 476
  +
New Maintainer, 654
  +
Newsgroups, 135
  +
684
  +
nis, 483
  +
NM, 654
  +
NMU, 654
  +
noauto, 128
  +
nodev, 128
  +
noexec, 128
  +
Non Maintainer Upload, 654
  +
Non-Free, 133
  +
Non-profit-Organisation, 31
  +
Non-US, 133
  +
nosuid, 128
  +
Notebook, 495
  +
nouser, 128
  +
nslookup, 484
  +
nsswitch.conf, 483
  +
offizielle GNU Projekte, 3
  +
Ogg Vorbis, 460
  +
OHCI-HCD, 506
  +
Old Libraries, 135
  +
Open Hardware Project, 12
  +
Open Projects IRC Netzwerk, 35
  +
Open Projects Network, 654
  +
Open Source, 30
  +
Open Source Definition, 29
  +
Open Source Software, 28
  +
OpenOffice, 32, 435
  +
OpenPGP, 358
  +
OPN, 654
  +
orphaner, 176
  +
OSI, 29
  +
Other Operating Systems and File Systems, 135
  +
OV511, 507
  +
owner, 104
  +
Paketgruppen, 178
  +
Paketmanagement, 11
  +
Paketsystem, 11
  +
Palm Pilot, 514, 516
  +
PalmOS, 513
  +
PalmPilot, ii, 513
  +
Paßwort, 94
  +
PDA, ii, 513
  +
PDC, 500
  +
PDF, ii
  +
PDF-Datei, 439
  +
Perl, 488, 573
  +
PGP, 347
  +
Photo-CDs, 396
  +
PHP, 488, 573
  +
PidFile, 573
  +
pilot-address, 515
  +
pilot-link, 514, 516
  +
pilot-xfer, 514
  +
Pinguin, 9
  +
Pipes, 117
  +
poff, 299
  +
pon, 299
  +
POP, 340
  +
POP3, 331
  +
Port, 570
  +
Port 80, 570
  +
POSIX Standard, 364
  +
Postfix, 576
  +
Potato, 12, 18
  +
PowerPC, 11, 19
  +
PPD Dateien, 367
  +
pppconfig, 294
  +
PPPoE, 304
  +
Pretty Good Privacy, 357
  +
Primary Domain Controller, 500
  +
Printer, 507
  +
Printer Working Group, 364
  +
privaten Schlüssel, 358
  +
ProFTP, 492
  +
Project Leader, 12
  +
Provider, 342
  +
ProzessID, 573
  +
PS/2, 521
  +
PTB, 535
  +
pump, 495
  +
PWG, 364
  +
Python, 573
  +
QT, 280
  +
Quellcode, 537
  +
Quelloffen, 30
  +
Quelltexte, 537
  +
Quicktime, 460
  +
Quit, ??
  +
r, w und x, 104
  +
RAM-Disk, 540
  +
rdate, 534
  +
Read the Fine Manual, 654
  +
Read the Fucking Manual, 654
  +
Real Life, 654
  +
RealTek, 476
  +
reboot, 98
  +
RedHat, ii
  +
RedHat-Paket, 192
  +
rekursiven Akronym, 3
  +
Release Notes, 45
  +
released, 133
  +
Remove, ??
  +
Request for Adoption, 654
  +
Request for Comments, 364
  +
Request for Packaging, 654
  +
resolver, 483
  +
restore, 128
  +
rex, 18
  +
RFA, 654
  +
RFC, 364
  +
RFP, 654
  +
Richard Stallman, 1
  +
RL, 654
  +
ro, 128
  +
Routing-Tabelle, 482
  +
685
  +
RPM, ii, 190
  +
RSA, 357
  +
RTFM, 654
  +
rtl8139, 476
  +
rw, 128
  +
s390, 20
  +
Samba, 365, 497
  +
Samba Web Administration Tool, 499
  +
SANE, 416
  +
Sarge, 17, 18
  +
Scanner, 507
  +
scd0, 125
  +
scd1, 125
  +
Schnittstelle, 514
  +
ScoreBoardFile, 573
  +
screen, ??
  +
ScriptLog, 574
  +
ScriptLogBuffer, 574
  +
ScriptLogLength, 574
  +
Scrollmaus, 315
  +
Scrollrad, 521
  +
SCSI, 125
  +
Select, ??
  +
SendBufferSize, 571
  +
Serial Converter, 507
  +
Server Message Block, 497
  +
Server Side Includes, 489
  +
Server-Lockdatei, 573
  +
ServerTokens, 573
  +
ServerType, 573
  +
SetEnvIf, 574
  +
Shell-Script, 488
  +
Shell-Skripte, 573
  +
Shells, 135
  +
shutdown, 98
  +
sid, 18
  +
Slave, 125
  +
sleep, 533
  +
Slink, 12, 18
  +
slocate, 110
  +
SMB, 497
  +
SMP - Kernel 2.0, 539
  +
SMP - Kernel 2.2 und höher, 540
  +
Software in the Public Interest, 12
  +
Sound, 135
  +
Soundblaster, 444
  +
Soundkarte, 444
  +
Sparc, 12, 19
  +
sparc64, 20
  +
SPI, 12, 31
  +
srm.conf, 487
  +
ssh, ??
  +
SSI, 489
  +
SSL, 319
  +
StarOffice, 435
  +
StartServers, 569
  +
startx, 247
  +
su, 95
  +
suid, 128
  +
SuperProbe, 194
  +
Superuser, 95
  +
SuSE, ii
  +
SWAT, 499
  +
sync, 98, 128
  +
System halted, 98
  +
Systemadministrator, 95
  +
Systembibliotheken, 135
  +
Systemzeit, 532
  +
T-DSL, 304
  +
Tabellenkalkulation, 440
  +
task, 132
  +
task-Pakete, 178
  +
tasksel, ??
  +
TCP/IP, 497
  +
Terminverwaltung, 348
  +
TeX, 135
  +
Text Processing, 135
  +
text/html, 489
  +
The Gimp, 396
  +
time, 533
  +
TimeOut, 571
  +
touch, 104
  +
Toy Story, 12, 18
  +
Treppeneffekten, 261
  +
Troll Tech, 280
  +
True-Type-Schriften, 263
  +
Tux, 10
  +
TV-Karte, 459
  +
TXT, ii
  +
UHCI, 506
  +
UltraSparc, 19
  +
Update, ??
  +
update-menus, 189
  +
URL Zeile, 322
  +
USB Device Filesystem, 507
  +
USB Scanner, 416
  +
USB-Diskettenlaufwerke, 513
  +
Use the Source, Luke, 654
  +
Usenet, 3
  +
user, 128
  +
USS720, 507
  +
Utilities, 135
  +
UTSL, 654
  +
Verknüpfungen, 119
  +
Verschlüsselung, 347
  +
Version des Linux Kernels, 3
  +
versteckten Dateien, 108
  +
Verzeichnisbaum, 124
  +
Video CD, 460
  +
Video-Player, 460
  +
Videotext, 460
  +
virtual, 490
  +
Virtual Memory, 5
  +
virtuelle Konsolen, 97
  +
686
  +
VMS, 497
  +
VT100, 120
  +
WAV, 475
  +
wc, 117
  +
Web, 135
  +
Webmin, 541
  +
wget, 150
  +
Wheel-Maus, 521
  +
whoami, 95
  +
Wichert Akkerman, 12
  +
Windows NT Domain Control, 497
  +
wnpp, 654
  +
Woody, 15, 18
  +
WordPerfect, 435
  +
Work-Needing and Prospective Packages, 654
  +
World Wide Web, 485
  +
WWW, 485
  +
X Multimedia Sound System, 445
  +
X Window, 135
  +
X-Window-System, 193, 226
  +
x86, 1
  +
xawtv, 460
  +
xdm, ??
  +
xf86setup, 194
  +
XFree86, 193, 226
  +
XFree86-Team, 193, 226
  +
Ximian, 338
  +
xine, 460
  +
Xmms, 445
  +
xpdf, 437
  +
xrdb, 522
  +
xviddetect, 193
  +
Y2k-Bug, 39
  +
ZAxisMapping, 521
  +
Zeitsignal, 535
  +
Zeitzone, 533
  +
Zinf, 452
  +
Zugriffsrechte, 104
  +
687

Version vom 5. Februar 2006, 00:00 Uhr

Debian GNU/Linux Anwenderhandbuch Frank Ronneburg fr@openoffice.de Debian GNU/Linux Anwenderhandbuch von Frank Ronneburg 3.0.0-11 - 21.02.2003 Veröffentlicht 2000, 2001, 2002, 2003 Copyright © 1999, 2000, 2001, 2002, 2003 von Frank Ronneburg, Berlin, FRG Versionsgeschichte Version 3.0.0-11 21. Februar 2003 Geändert durch: fr Version für Debian GNU/Linux 3.0 r0 "woody" - Bugfix Release Inhaltsverzeichnis Über dieses Buch................................................................................................................................................... i Download / Lokale Kopie....................................................................................................................................ii Copyright und Lizenz.........................................................................................................................................iii Unterstützung...................................................................................................................................................... iv 1. Linux, Debian, Freie Software?...................................................................................................................... 1 1.1. Was ist GNU/Linux?............................................................................................................................ 1 1.1.1. Das GNU Projekt .................................................................................................................... 1 1.1.2. Free Software Foundation ....................................................................................................... 3 1.1.3. Geschichte des Linux Kernels................................................................................................. 3 1.1.4. Linux oder Minix?................................................................................................................... 6 1.1.5. Linux ®.................................................................................................................................. 8 1.1.6. Und dieser Pinguin...? ............................................................................................................. 8 1.2. Was ist Debian GNU?......................................................................................................................... 10 1.2.1. Der Name „Debian“ .............................................................................................................. 11 1.2.2. Die Geschichte von Debian................................................................................................... 11 1.2.3. Organisation .......................................................................................................................... 17 1.2.4. Codenamen........................................................................................................................... 18 1.2.5. Debian für alle!...................................................................................................................... 18 1.2.6. Vorteile von Debian............................................................................................................... 20 1.2.7. Umfang der Distribution ....................................................................................................... 24 1.2.8. Auf Debian GNU basierende Distributionen ........................................................................ 24 1.2.9. Das Debian GNU Logo......................................................................................................... 25 1.3. Debian GNU/Hurd............................................................................................................................. 27 1.4. Freie Software / Open Source ............................................................................................................. 28 1.4.1. Open Source Initiative (OSI)................................................................................................. 29 1.4.1.1. Geschichte der OSI.................................................................................................. 29 1.4.1.2. Die Definition quelloffener Software ("Open Source Software") ........................... 30 1.5. SPI - Software in the Public Interest................................................................................................... 31 1.6. Wie und wo bekomme ich Debian GNU/Linux?................................................................................ 31 1.6.1. Internet ................................................................................................................................. 31 1.6.2. CD-ROMs ............................................................................................................................. 32 1.6.3. Usergroups & Installationspartys .......................................................................................... 32 1.6.4. Bücher zu Debian GNU/Linux.............................................................................................. 32 1.7. Informationen im Netz........................................................................................................................ 34 1.7.1. Mailinglisten ......................................................................................................................... 34 1.7.2. Webseiten .............................................................................................................................. 34 1.7.2.1. debianHELP............................................................................................................. 34 1.7.2.2. debianPlanet............................................................................................................. 34 1.7.2.3. apt-get.org - inoffizielle Debian Pakete ................................................................... 35 1.7.3. IRC ....................................................................................................................................... 35 1.7.4. Kommerzieller Support ......................................................................................................... 36 2. Installation von Debian GNU/Linux............................................................................................................. 37 2.1. Schnellinstallation in 10 Schritten ...................................................................................................... 37 2.2. Update von Debian GNU/Linux 2.1 (slink) auf 2.2......................................................................... 37 2.3. Update von Debian GNU/Linux 2.2 (potato) auf 3.0 ...................................................................... 38 2.4. Aktualisieren von Debian GNU/Linux 2.1 ......................................................................................... 39 2.5. Aktualisieren von Debian GNU/Linux 2.2 ......................................................................................... 39 2.6. Installation von Debian GNU/Linux 3.0............................................................................................. 40 2.6.1. Veränderungen im Installations System ................................................................................ 40 2.6.2. Neues in der Distribution ...................................................................................................... 41 2.6.3. Ein erster Start....................................................................................................................... 42 2.6.3.1. Bootmedium ............................................................................................................ 42 2.6.4. Das Debian-Installationsprogramm....................................................................................... 44 2.6.4.1. Installation des Basissystems .................................................................................. 57 iii 2.6.5. Bootloader ............................................................................................................................. 69 2.6.6. Neustart ................................................................................................................................ 71 2.6.7. Fertigstellen der Installation.................................................................................................. 72 2.6.8. Paket Vorschläge und Empfehlungen.................................................................................... 87 2.7. Installation von Debian/GNU Hurd .................................................................................................... 88 2.7.1. Die Installations-CD.............................................................................................................. 88 2.7.2. Vorbereitungen ...................................................................................................................... 89 2.7.3. Installation unter Linux ......................................................................................................... 89 2.7.4. Abschluß der Installation ...................................................................................................... 91 3. Betrieb............................................................................................................................................................. 93 3.1. Unix-Grundlagen ............................................................................................................................... 93 3.2. Allgemeines zum neuen System ......................................................................................................... 93 3.3. Ein Multiuser-, Multitasking-Betriebssystem..................................................................................... 93 3.4. Anmelden am System ......................................................................................................................... 93 3.5. Anmelden als Superuser (root) ......................................................................................................... 95 3.6. Benutzerverwaltung ............................................................................................................................ 95 3.6.1. Benutzer hinzufügen ............................................................................................................. 96 3.6.2. Benutzer löschen ................................................................................................................... 97 3.7. Virtuelle Konsolen .............................................................................................................................. 97 3.8. System herunterfahren ........................................................................................................................ 98 3.9. Kommandozeile und Dokumentation ................................................................................................. 98 3.10. Befehle wiederholen und ändern auf der Kommandozeile............................................................... 99 3.10.1. Beschreibung der Kommandozeile...................................................................................... 99 3.11. Dateien und Verzeichnisse .............................................................................................................. 100 3.12. Gruppen und Zugriffsrechte............................................................................................................ 102 3.12.1. Gruppen............................................................................................................................ 102 3.12.2. Zugriffsrechte .................................................................................................................... 103 3.12.2.1. Einige Beispiele................................................................................................... 104 3.13. Orientierung innerhalb von Debian ................................................................................................ 106 3.14. Arbeiten mit Dateien – Mini-Workshop ......................................................................................... 106 3.14.1. pwd – print working directory ........................................................................................... 106 3.14.2. ls – list............................................................................................................................. 106 3.14.3. cd - change directory ........................................................................................................ 107 3.14.4. mkdir - make directory..................................................................................................... 107 3.14.5. cp - copy ........................................................................................................................... 107 3.14.6. more - Anzeigen von Dateien ........................................................................................... 107 3.14.7. mv - move .......................................................................................................................... 107 3.14.8. rm - remove ....................................................................................................................... 108 3.14.9. rmdir - remove directory ................................................................................................. 108 3.14.10. Versteckte Dateien (.datei) .......................................................................................... 108 3.14.11. find & locate - Finden von Dateien .......................................................................... 109 3.14.12. gzip - gepackte Dateien ................................................................................................. 110 3.14.13. split - geteilte Dateien ................................................................................................. 111 3.14.14. tar - archivieren von Dateien......................................................................................... 112 3.14.14.1. tar - packen von Dateien.................................................................................. 114 3.14.14.2. tar - Entpacken von Dateien ............................................................................ 114 3.14.14.3. tar - Komprimieren der Archive ...................................................................... 115 3.14.14.4. tar - Benutzung von Bandlaufwerken / Streamer ............................................ 115 3.14.15. file - Dateitypen ........................................................................................................... 115 3.15. Einige bash-Funktionen................................................................................................................. 116 3.15.1. help ................................................................................................................................... 116 3.16. Pipes............................................................................................................................................... 117 3.17. ps und /proc ................................................................................................................................ 118 3.18. Links .............................................................................................................................................. 119 3.19. vi ................................................................................................................................................... 120 3.19.1. vi für Fortgeschrittene ...................................................................................................... 120 3.19.1.1. Programstart......................................................................................................... 120 iv 3.19.1.2. Einstellungen ....................................................................................................... 121 3.19.1.3. Dateioperationen.................................................................................................. 121 3.19.1.4. Cursorbewegungen .............................................................................................. 121 3.19.1.5. Löschen................................................................................................................ 122 3.19.1.6. Einfügen und ändern............................................................................................ 123 3.19.1.7. Kopieren und einfügen ........................................................................................ 123 3.19.1.8. Suchen und ersetzen ............................................................................................ 123 3.19.1.9. Verschiedenes ...................................................................................................... 123 3.20. Dateisysteme .................................................................................................................................. 124 3.20.1. cfdisk und mount - Einbinden eines Dateisystems........................................................ 124 3.20.2. /etc/fstab - Dateisysteme automatisch einbinden ....................................................... 127 3.20.2.1. /etc/fstab - im Detail ..................................................................................... 127 3.21. Internationalisierung und Lokalisierung ......................................................................................... 128 4. Installation weiterer Pakete ......................................................................................................................... 132 4.1. Organisation der Pakete .................................................................................................................... 132 4.1.1. Distribution......................................................................................................................... 132 4.1.2. Architektur .......................................................................................................................... 133 4.1.3. Gruppen.............................................................................................................................. 134 4.1.4. Das Debian-Paketformat - .deb ......................................................................................... 135 4.2. dselect .......................................................................................................................................... 135 4.2.1. Access............................................................................................................................... 136 4.2.2. Update............................................................................................................................... 137 4.2.3. Select............................................................................................................................... 137 4.2.4. Install............................................................................................................................. 138 4.2.5. Config............................................................................................................................... 138 4.2.6. Remove............................................................................................................................... 138 4.2.7. Quit ................................................................................................................................... 138 4.2.8. Beispiel: boot-floppies.................................................................................................. 138 4.3. Apt.................................................................................................................................................... 140 4.3.1. Apt konfigurieren ................................................................................................................ 140 4.3.2. apt-setup ......................................................................................................................... 142 4.3.3. apt-cdrom ......................................................................................................................... 143 4.3.4. apt-get............................................................................................................................. 143 4.3.4.1. Status-Report ......................................................................................................... 143 4.3.4.2. Status-Anzeige....................................................................................................... 144 4.3.4.3. Optionen und Kommandos .................................................................................... 145 4.3.5. apt - Offline nutzen ............................................................................................................ 149 4.3.5.1. apt, auf beiden Rechnern...................................................................................... 149 4.3.5.2. Die Konfigurationsdatei......................................................................................... 150 4.3.5.3. Kopieren der Dateien mit wget............................................................................. 150 4.3.6. apt-cache ......................................................................................................................... 151 4.3.7. apt-proxy ......................................................................................................................... 155 4.3.8. apt-move........................................................................................................................... 155 4.3.9. apt-ftparchive...................................................................................................................... 156 4.3.10. apt-show-source .......................................................................................................... 157 4.3.11. apt-show-versions ...................................................................................................... 157 4.3.12. auto-apt.......................................................................................................................... 158 4.3.13. apt-listchanges .......................................................................................................... 158 4.3.14. apt-config.......................................................................................................................... 159 4.3.15. console-apt ................................................................................................................... 159 4.3.16. aptitude......................................................................................................................... 161 4.3.17. gnome-apt ....................................................................................................................... 163 4.4. APT Pinning .................................................................................................................................... 171 4.5. dpkg................................................................................................................................................. 172 4.5.1. -l........................................................................................................................................ 172 4.5.2. -S........................................................................................................................................ 173 4.5.3. --force-confnew ............................................................................................................ 173 v 4.5.4. dpkg-scanpackage .......................................................................................................... 173 4.5.5. dpkg-scansources .......................................................................................................... 174 4.6. netselect ...................................................................................................................................... 174 4.7. apt-spy.............................................................................................................................................. 175 4.8. deborphan ...................................................................................................................................... 175 4.9. debfoster ...................................................................................................................................... 177 4.10. task-Pakete .................................................................................................................................. 178 4.10.1. tasksel........................................................................................................................... 179 4.11. Weitere wichtige Pakete.................................................................................................................. 180 4.11.1. base-config ................................................................................................................... 180 4.11.2. modconf........................................................................................................................... 180 4.11.3. shadowconfig................................................................................................................. 180 4.11.4. tzconfig......................................................................................................................... 181 4.11.5. dlocate........................................................................................................................... 182 4.11.6. gpm ................................................................................................................................... 182 4.11.7. mc...................................................................................................................................... 185 4.11.8. gmc ................................................................................................................................... 186 4.11.9. screen............................................................................................................................. 187 4.11.10. ssh ................................................................................................................................. 187 4.12. Euro Symbol .................................................................................................................................. 188 4.13. Menü-System ................................................................................................................................. 188 4.14. Paketmanagement für Umsteiger.................................................................................................... 190 4.15. Installation von fremden Paketen.................................................................................................... 191 4.16. alien............................................................................................................................................. 191 5. X11 ................................................................................................................................................................ 193 5.1. Installation von XFree86 3.3.x.......................................................................................................... 193 5.1.1. XF86Setup ......................................................................................................................... 195 5.1.2. xf86config ....................................................................................................................... 204 5.1.3. anXious............................................................................................................................. 211 5.2. Installation von XFree86 4.x............................................................................................................. 226 5.2.1. dexconf ............................................................................................................................... 244 5.2.2. xf86cfg ............................................................................................................................... 244 5.2.2.1. Textmodus.............................................................................................................. 245 5.2.2.2. Grafikmodus .......................................................................................................... 246 5.3. Starten von X ................................................................................................................................... 247 5.3.1. xdm ..................................................................................................................................... 248 5.3.2. gdm - GNOME Display Manager................................................................................... 248 5.3.2.1. Der GDM-Daemon................................................................................................ 248 5.3.2.2. Der GDM Daemon ................................................................................................ 249 5.3.2.3. Der „Greeter“......................................................................................................... 249 5.3.2.3.1. Benutzername und Paßwort ..................................................................... 249 5.3.2.3.2. Menü ........................................................................................................ 249 5.3.2.3.3. Der „Face Browser“ ................................................................................. 250 5.3.2.3.4. Logo ......................................................................................................... 250 5.3.2.4. Konfiguration......................................................................................................... 250 5.3.2.4.1. Die Script-Verzeichnisse.......................................................................... 250 5.3.2.4.2. Konfigurationsdatei - gdm.conf ............................................................. 251 5.3.2.4.3. Daemon-Konfiguration ............................................................................ 251 5.3.2.4.4. Sicherheitsoptionen.................................................................................. 254 5.3.2.4.5. XDCMP Support...................................................................................... 255 5.3.2.4.6. Optionen zur Benutzeroberfläche ............................................................ 256 5.3.2.4.7. Greeter-Konfiguration .............................................................................. 256 5.3.2.4.8. XDCMP-Chooser-Optionen .................................................................... 258 5.3.2.4.9. Konfiguration des lokalen X-Servers ....................................................... 259 5.3.2.5. GDM in deutsch ....................................................................................................... 259 5.3.3. login.app ......................................................................................................................... 260 5.4. X11 Schriften ................................................................................................................................... 260 vi 5.4.1. Allgemeines zu Schriften .................................................................................................... 261 5.4.2. xfs - X11 Font-Server ........................................................................................................ 262 5.4.3. xfstt - X11 True Type Font-Server................................................................................... 263 5.4.3.1. Microsoft Fonts...................................................................................................... 264 5.5. Windowmanager ............................................................................................................................... 265 5.5.1. Fvwm.................................................................................................................................. 265 5.5.2. Windowmaker ..................................................................................................................... 266 5.5.3. Enlightenment ..................................................................................................................... 266 6. GNOME........................................................................................................................................................ 268 6.1. GNOME 1.4..................................................................................................................................... 268 6.1.1. Windowmanager - Sawfish.................................................................................................. 269 6.1.2. Desktop............................................................................................................................... 270 6.1.2.1. Panel ...................................................................................................................... 271 6.1.3. Nautilus ............................................................................................................................... 271 6.2. GNOME 2.0..................................................................................................................................... 274 6.3. Links ................................................................................................................................................ 279 7. KDE .............................................................................................................................................................. 280 7.1. KDE und Debian - die unendliche Geschichte... .............................................................................. 280 7.2. KDE 2.2 ........................................................................................................................................... 280 7.3. KDE 3.0.x ........................................................................................................................................ 286 8. Internet ......................................................................................................................................................... 294 8.1. Zugang zum Internet ......................................................................................................................... 294 8.1.1. Modem ............................................................................................................................... 294 8.1.1.1. Weitere Konfiguration............................................................................................ 299 8.1.2. ISDN................................................................................................................................... 299 8.1.2.1. Kanalbündelung..................................................................................................... 303 8.1.3. DSL .................................................................................................................................... 304 8.1.3.1. pppoeconf .............................................................................................................. 304 8.1.3.2. pppstatus ................................................................................................................ 313 8.2. Webbrowser ..................................................................................................................................... 314 8.2.1. Netscape Communicator ..................................................................................................... 314 8.2.1.1. Scrollmaus ............................................................................................................. 315 8.2.1.2. Probleme beim Druck............................................................................................ 315 8.2.1.3. Schaltflächen entfernen.......................................................................................... 316 8.2.1.4. Schaltflächen hinzufügen....................................................................................... 316 8.2.2. Mozilla ............................................................................................................................... 316 8.2.3. Galeon ................................................................................................................................ 318 8.2.3.1. Installation ............................................................................................................. 319 8.2.3.2. Startzeit.................................................................................................................. 322 8.2.3.3. Autovervollständigung .......................................................................................... 322 8.2.3.4. Zoom...................................................................................................................... 323 8.2.3.5. Reiter ..................................................................................................................... 323 8.2.3.6. Lesezeichen ........................................................................................................... 323 8.2.3.7. Intelligente Lesezeichen ........................................................................................ 323 8.2.3.8. Chronik (History) .................................................................................................. 323 8.2.3.9. Cookie und Image Manager .................................................................................. 323 8.2.3.10. SSL, JAVA, Flash................................................................................................. 324 8.2.4. lynx..................................................................................................................................... 324 8.2.5. Mehrsprachige Webseiten ................................................................................................... 325 8.3. E-Mail .............................................................................................................................................. 325 8.3.1. mutt .................................................................................................................................... 329 8.3.1.1. mutt und GnuPG.................................................................................................... 330 8.3.1.2. Empfängerabhängige Signaturen........................................................................... 331 8.3.2. fetchmail............................................................................................................................. 331 8.3.2.1. Konfiguration......................................................................................................... 333 8.3.3. Netscape Mail...................................................................................................................... 336 vii 8.3.4. Evolution ............................................................................................................................. 338 8.4. Dateitransfer..................................................................................................................................... 349 8.4.1. ftp ....................................................................................................................................... 349 8.4.2. ncftp.................................................................................................................................... 351 8.4.2.1. ncftp ....................................................................................................................... 351 8.4.2.2. ncftpput / ncftpget.................................................................................................. 351 8.4.2.3. ncftpls .................................................................................................................... 351 8.4.3. gFTP................................................................................................................................... 351 8.5. Eigene Homepage ............................................................................................................................. 352 8.5.1. Bluefish ............................................................................................................................... 352 8.5.2. Netscape Composer............................................................................................................. 354 8.5.3. Screem................................................................................................................................ 354 8.5.3.1. Editor ..................................................................................................................... 355 8.5.3.2. Drag & Drop.......................................................................................................... 356 8.5.3.3. Preview .................................................................................................................. 356 8.5.3.4. External Browsers.................................................................................................. 356 8.5.3.5. Dateibaum.............................................................................................................. 356 8.5.3.6. „Tag“baum............................................................................................................. 356 8.5.3.7. Upload Wizard....................................................................................................... 357 8.5.3.8. Image Wizard......................................................................................................... 357 8.5.3.9. Gallery Wizard....................................................................................................... 357 8.6. Verschlüsselung................................................................................................................................ 357 8.6.1. PGP .................................................................................................................................... 357 8.6.2. GnuPG................................................................................................................................ 357 8.6.2.1. GnuPG Schlüsselverwaltung ................................................................................. 360 8.6.2.1.1. Austauschen von Schlüsseln .................................................................... 360 8.6.2.1.2. Exportieren eines öffentlichen Schlüssels................................................ 360 8.6.2.1.3. Importieren eines öffentlichen Schlüssels................................................ 361 8.6.2.1.4. Bearbeiten eines Schlüssels ..................................................................... 361 8.6.2.1.5. Schlüsselverteilung .................................................................................. 362 8.6.2.2. GnuPG und mutt.................................................................................................... 363 9. Drucken ........................................................................................................................................................ 364 9.1. CUPS ............................................................................................................................................... 364 9.1.1. Pakete ................................................................................................................................. 364 9.1.1.1. Treiber.................................................................................................................... 365 9.1.1.2. Samba Integration.................................................................................................. 365 9.1.1.3. Tips ........................................................................................................................ 365 9.1.2. Design................................................................................................................................. 366 9.1.3. Scheduler............................................................................................................................ 366 9.1.4. Konfigurationsdateien ......................................................................................................... 366 9.1.5. Berkeley und System V Kommandos.................................................................................. 367 9.1.6. Filter ................................................................................................................................... 367 9.1.7. Administration.................................................................................................................... 367 9.1.7.1. Kommandozeile..................................................................................................... 367 9.1.7.1.1. Grundlagen............................................................................................... 367 9.1.7.1.2. Drucker hinzufügen ................................................................................. 367 9.1.7.1.3. Drucker verändern.................................................................................... 368 9.1.7.1.4. Drucker löschen ....................................................................................... 370 9.1.7.1.5. Standarddrucker festlegen........................................................................ 370 9.1.7.1.6. Starten und stoppen von Druckern........................................................... 371 9.1.7.2. Webbasiert ............................................................................................................. 371 9.1.7.2.1. Administration ......................................................................................... 372 9.1.7.2.2. Gruppen.................................................................................................... 372 9.1.7.2.3. Dokumentation......................................................................................... 373 9.1.7.2.4. Druckaufträge .......................................................................................... 373 9.1.7.2.5. Drucker .................................................................................................... 374 9.1.7.2.6. Software ................................................................................................... 378 viii 9.1.7.3. CUPS Konfigurationsdatei..................................................................................... 378 9.1.7.3.1. Server Identität......................................................................................... 378 9.1.7.3.2. Server Optionen ....................................................................................... 379 9.1.7.3.3. Verschlüsselung........................................................................................ 379 9.1.7.3.4. Filteroptionen........................................................................................... 380 9.1.7.3.5. Netzwerkoptionen .................................................................................... 380 9.1.7.3.6. Browsing .................................................................................................. 380 9.1.7.3.7. Sicherheits Optionen................................................................................ 381 9.1.7.3.8. Verzeichnisse............................................................................................ 381 9.2. apsfilter............................................................................................................................................. 382 9.2.1. Einstellen der Papiergröße................................................................................................... 393 9.3. Drucken von True Type Fonts........................................................................................................... 393 9.4. Netzwerkdrucker.............................................................................................................................. 394 9.4.1. Linux – Linux...................................................................................................................... 394 10. Grafik.......................................................................................................................................................... 396 10.1. The Gimp ....................................................................................................................................... 396 10.1.1. Kommandozeile................................................................................................................. 397 10.1.1.1. Version (-v) ......................................................................................................... 397 10.1.1.2. Batch Modus (-b)................................................................................................ 397 10.1.1.3. No Interface (-n) ................................................................................................. 398 10.1.1.4. No Data (--no-data)......................................................................................... 398 10.1.1.5. Display (--display).......................................................................................... 398 10.1.2. Menüs und Tastatur ........................................................................................................... 398 10.1.2.1. Datei..................................................................................................................... 398 10.1.3. Xtns (Extensions/Erweiterungen)-Menü........................................................................... 401 10.1.4. Symbole im Hauptmenü.................................................................................................... 404 10.1.5. Farbauswahl ...................................................................................................................... 405 10.1.6. Pinsel, Muster, Farbverlauf ............................................................................................... 405 10.1.7. Farbsysteme...................................................................................................................... 407 10.1.8. Öffnen einer Datei ............................................................................................................. 407 10.1.9. Speichern einer Datei ........................................................................................................ 407 10.1.10. Ebenen............................................................................................................................ 408 10.1.11. Grafiktypen..................................................................................................................... 408 10.1.12. Undo............................................................................................................................... 409 10.1.13. Fenster ............................................................................................................................. 409 10.1.14. Konfiguration.................................................................................................................. 409 10.1.14.1. Neues Bild ......................................................................................................... 409 10.1.14.2. Anzeige.............................................................................................................. 410 10.1.14.3. Oberfläche.......................................................................................................... 410 10.1.14.4. Umgebung ......................................................................................................... 411 10.1.14.5. Sitzung ............................................................................................................... 411 10.1.14.6. Monitor .............................................................................................................. 411 10.1.14.7. Directory Preferences ........................................................................................ 411 10.1.15. Auswahlen...................................................................................................................... 412 10.1.15.1. Gemeinsamkeiten .............................................................................................. 412 10.1.15.2. Rechteckige Auswahl ........................................................................................ 413 10.1.15.3. Elliptische Auswahl........................................................................................... 413 10.1.15.4. Freihandauswahl................................................................................................ 413 10.1.15.5. „Intelligente Schere“.......................................................................................... 414 10.1.15.6. Bezier-Auswahl ................................................................................................. 414 10.1.15.7. „Zauberstab“-Auswahl ...................................................................................... 415 10.2. Scanner........................................................................................................................................... 415 10.2.1. SANE einrichten ............................................................................................................... 416 10.2.2. xscanimage....................................................................................................................... 417 10.2.3. xsane................................................................................................................................. 419 10.2.4. Scannen mit The Gimp...................................................................................................... 421 10.3. Digitalkameras ............................................................................................................................... 422 ix 10.3.1. gPhoto ............................................................................................................................... 423 10.3.1.1. Einstellungen ....................................................................................................... 423 10.3.1.2. Benutzung............................................................................................................ 424 10.3.1.3. Übertragung von Bildern/Thumbnails................................................................. 424 10.3.1.4. Löschen von Bildern aus dem Kameraspeicher .................................................. 425 10.3.1.5. Fotografieren........................................................................................................ 425 10.3.1.6. Kamera konfigurieren .......................................................................................... 425 10.3.1.7. Kamera-Informationen ........................................................................................ 425 10.3.1.8. Bilder aus Verzeichnissen.................................................................................... 425 10.3.1.9. Bearbeiten von Bildern........................................................................................ 425 10.3.1.10. Automatische Nachbearbeitung von Bildern..................................................... 426 10.3.1.11. Speichern von geöffneten Bildern ..................................................................... 426 10.3.1.12. Drucken von Bildern.......................................................................................... 426 10.3.1.13. Plugins ............................................................................................................... 427 10.3.1.14. gPhoto auf der Kommandozeile ........................................................................ 427 10.3.1.15. Weitere Informationen ....................................................................................... 427 11. Office Pakete .............................................................................................................................................. 428 11.1. OpenOffice.org............................................................................................................................... 428 11.1.1. Installation........................................................................................................................ 429 11.1.2. Konfiguration.................................................................................................................... 430 11.1.3. Textverarbeitung............................................................................................................... 431 11.1.4. Tabellenkalkulation ........................................................................................................... 433 11.1.5. OpenOffice.org Links........................................................................................................ 434 11.2. GNOME-Office.............................................................................................................................. 434 11.3. KDE Office .................................................................................................................................... 434 12. Text.............................................................................................................................................................. 435 12.1. AbiWord......................................................................................................................................... 435 12.2. xpdf ................................................................................................................................................ 437 12.3. acroread.......................................................................................................................................... 438 13. Kalkulation................................................................................................................................................. 440 13.1. Gnumeric........................................................................................................................................ 440 13.1.1. Eingeben von Daten .......................................................................................................... 440 13.1.2. Zeichenketten und Zahlen ................................................................................................. 440 13.1.3. Datumsfelder ..................................................................................................................... 440 13.1.4. Ändern von Zellen............................................................................................................. 441 13.1.5. Formeln ............................................................................................................................. 441 13.1.6. Bezüge.............................................................................................................................. 442 13.1.7. Funktionen........................................................................................................................ 442 13.1.8. Namen ............................................................................................................................... 442 14. Multimedia ................................................................................................................................................. 444 14.1. Sound ............................................................................................................................................. 444 14.1.1. Soundkarte einrichten........................................................................................................ 444 14.2. Xmms............................................................................................................................................. 444 14.2.1. „Skins“ .............................................................................................................................. 445 14.2.2. Hauptfenster ...................................................................................................................... 445 14.2.3. Titelliste (Playlist) ............................................................................................................. 447 14.2.4. Equalizer........................................................................................................................... 448 14.2.5. Voreinstellungen............................................................................................................... 449 14.2.5.1. Audio I/O............................................................................................................. 449 14.2.5.2. Visualization Plugins ........................................................................................... 450 14.2.5.3. Options ................................................................................................................ 450 14.2.6. Xmms von der Kommandozeile........................................................................................ 450 14.2.7. Features ............................................................................................................................. 451 14.2.8. Xmms und Netscape.......................................................................................................... 451 14.3. zinf ................................................................................................................................................. 452 14.4. gqmpeg........................................................................................................................................... 453 x 14.5. Grip ................................................................................................................................................ 454 14.6. Videobearbeitung ............................................................................................................................ 457 14.6.1. iLink / Firewire / IEEE1394.............................................................................................. 457 14.6.2. dvgrab............................................................................................................................... 458 14.6.3. Kino.................................................................................................................................. 458 14.7. TV Karten ...................................................................................................................................... 459 14.7.1. xawtv ................................................................................................................................ 460 14.7.2. aletv .................................................................................................................................. 460 14.8. Videoplayer .................................................................................................................................... 460 14.8.1. xine ................................................................................................................................... 460 14.9. Videokonferenzen ........................................................................................................................... 461 14.9.1. Gnomemeeting .................................................................................................................. 461 15. CD brennen ................................................................................................................................................ 467 15.1. Hardware........................................................................................................................................ 467 15.2. Kernel............................................................................................................................................. 467 15.2.1. SCSI ................................................................................................................................. 467 15.2.2. IDE ................................................................................................................................... 468 15.3. Software ......................................................................................................................................... 468 15.3.1. mkhybrid ........................................................................................................................... 469 15.3.2. CDs aus der Shell .............................................................................................................. 469 15.3.3. X-CD-Roast....................................................................................................................... 469 15.3.3.1. Kopieren von CDs ............................................................................................... 471 15.3.3.2. Erstellen von Daten-CDs ..................................................................................... 472 15.3.3.3. Audio-CDs........................................................................................................... 473 15.3.4. gcombust ........................................................................................................................... 474 16. Netzwerk..................................................................................................................................................... 476 16.1. Netzwerkkarte ................................................................................................................................ 476 16.2. PCMCIA-Netzwerkkarte ................................................................................................................ 477 16.3. TCP/IP ........................................................................................................................................... 479 16.3.1. IP-Adressen ....................................................................................................................... 479 16.3.2. IP-Interface-Konfiguration ................................................................................................ 480 16.3.3. IP Routing ......................................................................................................................... 481 16.3.4. Domain Name Server - DNS............................................................................................. 483 16.3.5. resolv.conf ......................................................................................................................... 484 17. Server-Dienste ............................................................................................................................................ 485 17.1. Apache ........................................................................................................................................... 485 17.1.1. Apache installieren & einrichten....................................................................................... 485 17.1.2. Konfigurationsdateien ....................................................................................................... 487 17.1.3. Logdateien........................................................................................................................ 487 17.1.4. Starten & Stoppen ............................................................................................................. 487 17.1.5. CGI-Programme................................................................................................................ 487 17.1.6. Apache konfigurieren & optimieren.................................................................................. 488 17.1.6.1. URL-Korrekturen ................................................................................................ 488 17.1.6.2. Geschützte Verzeichnisse .................................................................................... 489 17.1.6.3. SSI - Server Side Includes ................................................................................... 489 17.1.6.4. Umleitungen ........................................................................................................ 491 17.1.6.5. Fehlermeldungen ................................................................................................. 491 17.2. FTP-Server ..................................................................................................................................... 491 17.3. DHCP............................................................................................................................................. 494 17.3.1. GNU/Linux Notebook als DHCP-Client........................................................................... 495 17.3.2. MacOS als DHCP-Client .................................................................................................. 496 17.4. Samba............................................................................................................................................. 497 17.4.1. Entstehung von Samba...................................................................................................... 497 17.4.2. Funktionen von Samba...................................................................................................... 497 17.4.3. Samba-Werkzeuge............................................................................................................. 498 17.4.4. SMB-Dateisysteme............................................................................................................ 499 xi 17.4.5. Konfiguration und Verwaltung .......................................................................................... 499 17.4.6. SWAT ............................................................................................................................... 499 17.4.7. gnosamba.......................................................................................................................... 499 17.4.8. gnomba............................................................................................................................. 500 17.5. netatalk........................................................................................................................................... 501 17.5.1. tkchooser ........................................................................................................................... 503 18. Exotische Hardware .................................................................................................................................. 504 18.1. Notebook-Spezialitäten.................................................................................................................. 504 18.1.1. divine ................................................................................................................................ 504 18.1.2. wmbattery......................................................................................................................... 504 18.1.3. netenv ............................................................................................................................... 505 18.1.4. cardinfo............................................................................................................................. 505 18.2. USB................................................................................................................................................ 505 18.2.1. Kernel-Konfiguration ........................................................................................................ 505 18.2.2. USB-Device-Dateisystem ................................................................................................. 509 18.2.3. Human Interface Device (HID)-Konfiguration ................................................................. 509 18.2.3.1. HID Maus-Konfiguration..................................................................................... 510 18.2.3.2. HID Tastatur-Konfiguration................................................................................. 511 18.2.3.3. HID Joystick- und Gamepad-Konfiguration........................................................ 511 18.2.4. Scanner-Konfiguration ...................................................................................................... 511 18.2.5. Modem-Konfiguration....................................................................................................... 511 18.2.6. Drucker-Konfiguration ...................................................................................................... 512 18.2.7. USB / Serielle Konfiguration ............................................................................................ 512 18.2.8. CPiA Kamera-Konfiguration............................................................................................. 512 18.2.9. OV511 Kamera-Konfiguration .......................................................................................... 512 18.2.10. Massenspeicher-Konfiguration........................................................................................ 513 18.3. PDA - Personal Digital Assistant.................................................................................................... 513 18.3.1. pilot-link ............................................................................................................................ 513 18.3.1.1. pilot-xfer .............................................................................................................. 514 18.3.1.2. install-memo ........................................................................................................ 514 18.3.1.3. memos.................................................................................................................. 514 18.3.1.4. pilot-addresses ..................................................................................................... 514 18.3.2. pi-address .......................................................................................................................... 515 18.3.3. j-pilot ................................................................................................................................ 516 18.3.3.1. Einstellungen ....................................................................................................... 516 18.3.3.2. Kalender............................................................................................................... 516 18.3.3.3. Adressen .............................................................................................................. 517 18.3.3.4. Aufgaben ............................................................................................................. 518 18.3.3.5. Suchen ................................................................................................................. 519 18.3.3.6. Installation von Programmen............................................................................... 519 18.3.3.7. Quit, Sync, Backup.............................................................................................. 520 18.4. „Geräderte“ Mäuse.......................................................................................................................... 520 18.4.1. Scrollrad unter XFree86.................................................................................................... 521 19. Systemadministration................................................................................................................................ 523 19.1. Bootloader...................................................................................................................................... 523 19.1.1. lilo (i386).......................................................................................................................... 523 19.1.1.1. lilo einrichten....................................................................................................... 523 19.1.1.2. lilo und fremde Betriebssysteme ......................................................................... 523 19.1.2. GRUB............................................................................................................................... 523 19.1.2.1. Installation ........................................................................................................... 524 19.1.2.2. Konfiguration....................................................................................................... 525 19.1.2.2.1. update-grub ............................................................................................ 525 19.1.2.2.2. Manuelle Konfiguration ......................................................................... 525 19.1.2.3. Hardwarebezeichnungen ..................................................................................... 526 19.1.2.4. Kommandozeile................................................................................................... 526 19.1.2.5. weitere Informationen.......................................................................................... 527 xii 19.2. Init Scripte...................................................................................................................................... 527 19.2.1. rcconf................................................................................................................................ 527 19.2.2. update-rc.d......................................................................................................................... 527 19.3. alternatives ..................................................................................................................................... 528 19.4. hdparm ........................................................................................................................................... 529 19.4.1. Optionen........................................................................................................................... 530 19.4.2. Einbinden von hdparm...................................................................................................... 531 19.5. Systemzeit ...................................................................................................................................... 532 19.5.1. date ................................................................................................................................... 533 19.5.2. rdate.................................................................................................................................. 534 19.6. Kernel erzeugen .............................................................................................................................. 535 19.6.1. Debian Kernel (kernel-package) ....................................................................................... 535 19.6.2. klassische Kernel............................................................................................................... 536 19.6.2.1. Anpassen des Kernels von Hand ......................................................................... 536 19.6.2.2. Benötigte Programme.......................................................................................... 537 19.6.2.3. Entpacken der Sourcen ........................................................................................ 537 19.6.2.4. Konfiguration des Kernels ................................................................................... 537 19.6.2.5. Übersetzen des Kernels........................................................................................ 538 19.6.2.6. Übersetzen der Module........................................................................................ 538 19.6.2.7. Tips ...................................................................................................................... 538 19.6.3. SMP - Linux mit mehreren Prozessoren ........................................................................... 539 19.6.3.1. Kernel 2.0 ............................................................................................................ 539 19.6.3.2. Kernel 2.2 ............................................................................................................ 539 19.7. Kernel Pakete ................................................................................................................................. 540 19.8. Webbasierte Administration mit Webmin....................................................................................... 541 19.8.1. Installation........................................................................................................................ 541 19.8.2. Zugriff auf Webmin........................................................................................................... 542 19.8.3. Kategorie Webmin............................................................................................................. 542 19.8.3.1. Webmin Actions Log........................................................................................... 543 19.8.3.2. Webmin Benutzer ................................................................................................ 544 19.8.3.3. Webmin Konfiguration ........................................................................................ 544 19.8.3.3.1. Webmin Konfiguration - IP-Zugriffskontrolle ....................................... 545 19.8.3.3.2. Webmin Konfiguration - Anschluss und Adresse .................................. 546 19.8.3.3.3. Webmin Konfiguration - Protokollierung .............................................. 547 19.8.3.3.4. Webmin Konfiguration - Proxyserver .................................................... 547 19.8.3.3.5. Webmin Konfiguration - Benutzerschnittstelle...................................... 548 19.8.3.3.6. Webmin Konfiguration - Webmin-Module ............................................ 549 19.8.3.3.7. Webmin Konfiguration - Betriebssystem ............................................... 550 19.8.3.3.8. Webmin Konfiguration - Sprache........................................................... 551 19.8.3.3.9. Webmin Konfiguration - Indexseitenoptionen ....................................... 552 19.8.3.3.10. Webmin Konfiguration - Webmin aktualisieren................................... 552 19.8.3.3.11. Webmin Konfiguration - Authentication.............................................. 553 19.8.3.3.12. Webmin Konfiguration - Reassign Modules........................................ 554 19.8.3.3.13. Webmin Konfiguration - Edit Categories............................................. 555 19.8.3.3.14. Webmin Konfiguration - Webmin Themes .......................................... 556 19.8.3.3.15. Webmin Konfiguration - Trusted Referers........................................... 557 19.8.3.4. Webmin Server Index .......................................................................................... 557 19.8.4. Kategorie System .............................................................................................................. 558 19.8.4.1. Benutzer und Gruppen......................................................................................... 558 19.8.4.2. Change Passwords ............................................................................................... 561 19.8.4.3. Geplante Cron-Jobs ............................................................................................. 562 19.8.4.4. Laufende Prozesse ............................................................................................... 563 19.8.4.5. NFS-Exporte........................................................................................................ 564 19.8.4.6. PAM-Authentification.......................................................................................... 565 19.8.5. Kategorie Server................................................................................................................ 566 19.8.5.1. Apache Webserver ............................................................................................... 567 19.8.5.1.1. Apache Webserver - Prozesse und Grenzwerte ..................................... 568 xiii 19.8.5.1.2. Apache Webserver - Netzwerk und Adressen........................................ 570 19.8.5.1.3. Apache Webserver - Apache-Module .................................................... 571 19.8.5.1.4. Apache Webserver - MIME-Typen........................................................ 571 19.8.5.1.5. Apache Webserver - Verschiedenes ....................................................... 572 19.8.5.1.6. Apache Webserver - CGI ....................................................................... 573 19.8.5.1.7. Apache Webserver - Per-Verzeichniseinstellungen ............................... 574 19.8.5.1.8. Apache Webserver - Apache-Module neukonfigurieren........................ 575 19.8.5.1.9. Apache Webserver - Definierte Parameter bearbeiten ........................... 576 19.8.5.2. Postfix .................................................................................................................. 576 19.8.5.2.1. Postfix Mailserver - Allgemeine Einstellungen ..................................... 577 19.8.5.2.2. Postfix Mailserver - Adressumschreibung und Maskierung .................. 579 19.8.5.2.3. Postfix Mailserver - Mail-Aliases .......................................................... 579 19.8.5.2.4. Postfix Mailserver - Kanonische Verknüpfung ...................................... 580 19.8.5.2.5. Postfix Mailserver - Virtuelle Domänen ................................................ 581 19.8.5.2.6. Postfix Mailserver - Transportverknüpfung ........................................... 582 19.8.5.2.7. Postfix Mailserver - Neu eingerichtete Verknüpfung............................. 583 19.8.5.2.8. Postfix Mailserver - Lokale Lieferung................................................... 583 19.8.5.2.9. Postfix Mailserver - Allgemeine Resourcenkontrolle............................ 584 19.8.5.2.10. Postfix Mailserver - SMTP-Server-Einstellungen ............................... 585 19.8.5.2.11. Postfix Mailserver - SMTP-Client-Einstellungen................................ 586 19.8.5.2.12. Postfix Mailserver - Auslieferungsraten .............................................. 587 19.8.5.2.13. Postfix Mailserver - Debugging-Funktionen........................................ 588 19.8.5.3. DHCP .................................................................................................................. 589 19.8.6. Kategorie Hardware .......................................................................................................... 594 19.8.6.1. Festplatten Partitionen ......................................................................................... 594 19.8.6.2. GRUB .................................................................................................................. 597 19.8.6.3. Lilo ...................................................................................................................... 600 19.8.6.4. Netzwerk.............................................................................................................. 603 19.8.6.5. Systemzeit............................................................................................................ 606 19.8.7. Andere ............................................................................................................................... 607 19.8.7.1. Themes................................................................................................................. 609 20. Systemsicherheit ........................................................................................................................................ 612 20.1. task-harden..................................................................................................................................... 612 20.2. Securing Debian HOWTO.............................................................................................................. 612 20.2.1. Vor und während der Installation ...................................................................................... 613 20.2.1.1. BIOS Einstellungen ............................................................................................. 613 20.2.1.2. Plattenpartitionen................................................................................................. 613 20.2.1.3. Superuser Passwort.............................................................................................. 613 20.2.1.4. Shadow- und MD5 Passwörter ............................................................................ 614 20.2.1.5. Aktivierte Dienste................................................................................................ 614 20.2.1.6. Mailinglisten........................................................................................................ 614 20.2.2. Nach der Installation ......................................................................................................... 614 20.2.2.1. Absicherung des Bootloaders .............................................................................. 614 20.2.2.2. Starten von Diskette............................................................................................. 615 20.2.2.3. Mounten von Dateisystemen ............................................................................... 615 20.2.2.4. Debian Sicherheitsupdates................................................................................... 616 20.2.2.5. PAM - Pluggable Authentication Modules.......................................................... 616 20.2.2.6. Anpassungen der /etc/inetd.conf ................................................................ 618 20.2.2.7. /etc/login.defs............................................................................................. 619 20.2.2.8. /etc/ftpusers ................................................................................................. 620 20.2.2.9. Einsatz eines TCP Wrappers ............................................................................... 620 20.2.2.10. Benutzung von su.............................................................................................. 620 20.2.2.11. Benutzung von sudo ......................................................................................... 620 20.2.2.12. Benutzung von chroot..................................................................................... 621 20.2.2.13. Kernel Features.................................................................................................. 621 20.2.2.14. Benutzung der svgalib.................................................................................... 622 20.2.2.15. Sichere Übertragung von Dateien...................................................................... 622 xiv 20.2.2.16. Benutzung von Quotas....................................................................................... 622 20.2.2.17. Zugriffsrechte von Logdateien .......................................................................... 622 20.2.2.18. setuid Überprüfungen..................................................................................... 623 20.2.2.19. chattr / lsattr .............................................................................................. 623 20.2.2.20. Integrität des Dateisystems................................................................................ 623 20.2.2.21. locate und slocate ....................................................................................... 623 20.2.3. Sichere Dienste.................................................................................................................. 624 20.2.3.1. ssh ........................................................................................................................ 624 20.2.3.2. FTP ...................................................................................................................... 625 20.2.3.3. X Anwendungen im Netz .................................................................................... 625 20.2.3.4. Display Manager.................................................................................................. 625 20.2.3.5. E-Mail.................................................................................................................. 626 20.2.3.6. loghost - ein Server für Logdateien ..................................................................... 626 20.2.3.7. BIND ................................................................................................................... 627 20.2.3.8. snort ..................................................................................................................... 627 20.2.4. Vor einem Einbruch........................................................................................................... 627 20.2.4.1. Debian Sicherheits Updates................................................................................. 628 20.2.4.2. Austausch von Software ...................................................................................... 628 20.2.4.3. Kernel Patches ..................................................................................................... 628 20.2.4.4. Weitere Möglichkeiten......................................................................................... 629 20.2.5. Nach einem Einbruch... ..................................................................................................... 629 21. Anpassen und Erzeugen von Debian Paketen.......................................................................................... 630 21.1. Debian Pakete anpassen.................................................................................................................. 630 21.2. Debian Pakete erzeugen.................................................................................................................. 630 21.2.1. README.Debian ............................................................................................................. 631 21.2.2. files ................................................................................................................................... 632 21.2.3. changelog .......................................................................................................................... 632 21.2.4. copyright........................................................................................................................... 632 21.2.5. control............................................................................................................................... 633 21.2.6. rules .................................................................................................................................. 633 21.2.7. menu................................................................................................................................. 635 21.2.8. postinst, preinst, postrm, prerm......................................................................................... 635 21.2.9. dpkg-buildpackage ............................................................................................................ 636 21.3. Package Dateien............................................................................................................................. 637 22. Modellbahnen ............................................................................................................................................ 639 22.1. Herkömmliche Systeme.................................................................................................................. 639 22.2. Digitale Systeme ............................................................................................................................. 639 22.3. Hardware........................................................................................................................................ 640 22.3.1. Decoder ............................................................................................................................. 642 22.3.1.1. 6603 Delta Decoder............................................................................................. 642 22.3.1.2. 6080 Digital Decoder........................................................................................... 643 22.3.1.3. 6090 Digital Decoder........................................................................................... 643 22.3.1.4. 66031 Digital Decoder......................................................................................... 643 22.3.1.5. „Wikinger“Lokomotiv Decoder .......................................................................... 643 22.4. Software ......................................................................................................................................... 643 22.4.1. Server ............................................................................................................................... 644 22.4.1.1. erddcd .................................................................................................................. 644 22.4.1.2. srcpd..................................................................................................................... 644 22.4.2. Clients ............................................................................................................................... 645 22.4.2.1. telnet .................................................................................................................... 645 22.4.2.2. j-man.................................................................................................................... 645 22.4.2.3. loco-panel ............................................................................................................ 647 22.4.2.4. monitor ................................................................................................................ 648 22.4.2.5. keyboard .............................................................................................................. 648 22.4.2.6. recorder................................................................................................................ 648 22.4.2.7. rcsh....................................................................................................................... 648 xv 22.4.2.8. rcman ................................................................................................................... 649 22.4.2.9. srcptt .................................................................................................................... 650 22.4.2.10. SpDrS60 ............................................................................................................ 650 22.4.2.11. JoyCtrl ............................................................................................................... 650 22.4.2.12. dtcltiny ............................................................................................................... 650 22.5. Weitere Informationen .................................................................................................................... 653 23. Weitere Infos .............................................................................................................................................. 654 23.1. Abkürzungen / Begriffe .................................................................................................................. 654 23.2. Debian Mirror ................................................................................................................................ 654 23.2.1. absurd_debmirror .............................................................................................................. 655 23.2.2. debmirror.......................................................................................................................... 655 23.2.3. debmirror-wrapper ............................................................................................................ 656 23.2.4. mirror................................................................................................................................ 656 23.3. Erstellen von eigenen Debian GNU/Linux CD-ROMs................................................................... 658 23.3.1. Konfiguration.................................................................................................................... 659 23.3.2. Erstellen der CD-Images ................................................................................................... 662 23.3.3. Aktualisieren von debian-cd.......................................................................................... 662 23.4. Programmfehler (bugs) ................................................................................................................... 662 23.5. Installations- und Rettungsdiskette ................................................................................................. 663 23.6. Technische Informationen zu den Boot-Disketten.......................................................................... 663 23.6.1. Quellcode .......................................................................................................................... 663 23.6.2. Die Notfalldiskette ............................................................................................................ 663 23.6.3. Kernel ersetzen .................................................................................................................. 664 23.6.4. Die Basisdisketten ............................................................................................................. 664 23.7. Deutsche Tastatur mit X11.............................................................................................................. 664 23.7.1. Gerätedateien in /dev und ihre Bedeutung ...................................................................... 665 23.7.2. Warenzeichen .................................................................................................................... 666 23.8. Debian – Gesellschaftsvertrag ........................................................................................................ 666 23.9. Die Debian-Richtlinien für freie Software...................................................................................... 667 23.10. GNU Public License ..................................................................................................................... 668 23.11. Open Publication License ............................................................................................................. 673 23.12. GNU Free Document License 1.1 (GFDL)................................................................................... 675 GNU Freie Dokumentationslizenz ................................................................................................ 675 .1. Päambel ......................................................................................................................... 675 .2. Anwendbarkeit und Definitionen................................................................................... 676 .3. Wortwörtliche Kopien.................................................................................................... 676 .4. Kopieren in Mengen ...................................................................................................... 677 .5. Modifikationen .............................................................................................................. 677 .6. Dokumente kombinieren ............................................................................................... 678 .7. Sammlungen von Dokumenten ..................................................................................... 679 .8. Aggregation mit unabhängigen Arbeiten ...................................................................... 679 .9. Übersetzung................................................................................................................... 679 .10. Termination.................................................................................................................. 679 .11. Zukünftige Revisionen dieser Lizenz .......................................................................... 680 .12. Wie Sie diese Lizenz für Ihre Dokumente nutzen können .......................................... 680 .13. Begriffe ........................................................................................................................ 680 Stichwortverzeichnis ....................................................................................................................................... 681 xvi Tabellenverzeichnis 4-1. RPM / DEB Paketmanagement ................................................................................................................... 190 22-1. Delta Decoder - Dip-Schalter Einstellungen............................................................................................. 642 22-2. Technische Daten Delta Decoder 66031 ................................................................................................... 643 Abbildungsverzeichnis 1-1. Tux - der Pinguin............................................................................................................................................ 9 1-2. Organisation des Debian Teams.................................................................................................................... 17 1-3. „Open Use“ Logo - „Swirl“ .......................................................................................................................... 26 1-4. Offizielles Logo............................................................................................................................................ 26 1-5. Open Source Initiative - Logo....................................................................................................................... 29 2-1. BIOS Einstellungen...................................................................................................................................... 42 2-2. Bootmenü ..................................................................................................................................................... 43 2-3. Sprachauswahl.............................................................................................................................................. 45 2-4. Sprachraum................................................................................................................................................... 45 2-5. Release Informationen.................................................................................................................................. 45 2-6. Hauptmenü ................................................................................................................................................... 46 2-7. Tastatur Konfiguration.................................................................................................................................. 46 2-8. Festplatte partitionieren................................................................................................................................ 47 2-9. Auswahl der Festplatte(n) ............................................................................................................................. 48 2-10. Informationen zu lilo.................................................................................................................................. 48 2-11. Informationen zu ReiserFS......................................................................................................................... 49 2-12. Partitionstabelle nicht gefunden .................................................................................................................. 49 2-13. Partition anlegen......................................................................................................................................... 50 2-14. Partition anlegen......................................................................................................................................... 50 2-15. Partitionen anlegen..................................................................................................................................... 51 2-16. Partitionen anlegen..................................................................................................................................... 51 2-17. Swap Partition einbinden ............................................................................................................................ 52 2-18. Swap Partition auswählen ........................................................................................................................... 53 2-19. Swap Partition bestätigen ............................................................................................................................ 53 2-20. root Dateisystem einbinden........................................................................................................................ 54 2-21. Auswahl Dateisystem................................................................................................................................. 54 2-22. Überprüfung auf defekte Blöcke ................................................................................................................. 55 2-23. Überprüfung auf defekte Blöcke ................................................................................................................. 55 2-24. Dateisystem formatieren ............................................................................................................................. 56 2-25. Partition einbinden ..................................................................................................................................... 56 2-26. Module installieren..................................................................................................................................... 57 2-27. Auswahl Installationsmedium ..................................................................................................................... 58 2-28. Installation Kernel und Module................................................................................................................... 58 2-29. Konfiguration der Module.......................................................................................................................... 59 2-30. Anmerkung Module ................................................................................................................................... 59 2-31. Auswahl Module ........................................................................................................................................ 60 2-32. Modul Netzwerkkarte Intel Pro 100............................................................................................................ 61 2-33. Modul Netzwerkkarte Intel Pro 100............................................................................................................ 61 2-34. Modul Netzwerkkarte Intel Pro 100............................................................................................................ 61 2-35. Netzwerkkonfiguration............................................................................................................................... 62 2-36. Netzwerk .................................................................................................................................................... ?? 2-37. Netzwerkkonfiguration DHCP.................................................................................................................... 63 2-38. IP-Nummer................................................................................................................................................. 64 2-39. Broadcast.................................................................................................................................................... 64 2-40. Nameserver................................................................................................................................................. ?? 2-41. Domainname .............................................................................................................................................. 65 2-42. Nameserver................................................................................................................................................. 66 2-43. Installation Basissystem .............................................................................................................................. 66 xvii 2-44. Basisinstallation - Schritt 1 ......................................................................................................................... 67 2-45. Basisinstallation - Schritt 2 ......................................................................................................................... 67 2-46. Basisinstallation - Schritt 3 ......................................................................................................................... 67 2-47. Basisinstallation - Schritt 4 ......................................................................................................................... 68 2-48. Basisinstallation - Schritt 5 ......................................................................................................................... 68 2-49. Basisinstallation - Schritt 6 ......................................................................................................................... 69 2-50. System bootfähig machen ........................................................................................................................... 70 2-51. LILO Sicherheitshinweis............................................................................................................................ 70 2-52. Bootdisk ..................................................................................................................................................... 71 2-53. Reboot ........................................................................................................................................................ 71 2-54. Letzte Einstellungen................................................................................................................................... 72 2-55. Zeitzone - GMT.......................................................................................................................................... 72 2-56. Zeitzone - Bereich ...................................................................................................................................... 73 2-57. Zeitzone - Stadt .......................................................................................................................................... 73 2-58. MD5 Paßwörter .......................................................................................................................................... 74 2-59. Shadow Paßwörter...................................................................................................................................... 74 2-60. root Paßwort ............................................................................................................................................... 75 2-61. root Paßwort ............................................................................................................................................... 76 2-62. Benutzer anlegen ........................................................................................................................................ 76 2-63. Benutzer - Username.................................................................................................................................. 77 2-64. Benutzer - Realname .................................................................................................................................. 77 2-65. Benutzer - Passwort.................................................................................................................................... 78 2-66. Benutzer - Passwort.................................................................................................................................... 78 2-67. PCMCIA entfernen .................................................................................................................................... ?? 2-68. PPP Installation .......................................................................................................................................... 79 2-69. CD Installation, lesen der Pakete ................................................................................................................ 80 2-70. CD Installation, lesen einer weiteren CD?.................................................................................................. 80 2-71. APT weitere Quelle.................................................................................................................................... 81 2-72. Security Updates ........................................................................................................................................ 81 2-73. tasksel ......................................................................................................................................................... 82 2-74. tasksel ......................................................................................................................................................... 82 2-75. dselect......................................................................................................................................................... 83 2-76. Package Installation.................................................................................................................................... 83 2-77. Paket Konfiguration - less ........................................................................................................................... 84 2-78. Paket Konfiguration - locale........................................................................................................................ 84 2-79. Paket Konfiguration - locales ...................................................................................................................... ?? 2-80. Pakete entpacken ........................................................................................................................................ 85 2-81. Pakete löschen nach der Installation ........................................................................................................... 86 2-82. Installation beendet .................................................................................................................................... 86 2-83. Login .......................................................................................................................................................... 86 2-84. apt-get dselect-upgrade ............................................................................................................................... 87 3-1. cfdisk .......................................................................................................................................................... 125 3-2. Locales Konfiguration ................................................................................................................................ 129 3-3. Locales Konfiguration ................................................................................................................................ 130 4-1. dselect Startbild .......................................................................................................................................... 135 4-2. dselect - access ........................................................................................................................................... 136 4-3. dselect - select ............................................................................................................................................ 137 4-4. apt-setup ..................................................................................................................................................... 142 4-5. capt - Startbild ............................................................................................................................................ 159 4-6. aptitude ......................................................................................................................................................... ?? 4-7. GNOME apt ............................................................................................................................................... 163 4-8. GNOME apt - source.................................................................................................................................. 164 4-9. GNOME apt - source.................................................................................................................................. 165 4-10. GNOME apt - source................................................................................................................................ 165 4-11. GNOME apt - source................................................................................................................................ 166 4-12. GNOME apt - suchen............................................................................................................................... 167 4-13. GNOME apt - Symbole............................................................................................................................ 168 xviii 4-14. GNOME apt ............................................................................................................................................. 169 4-15. GNOME apt - Installation ......................................................................................................................... 170 4-16. GNOME apt - Installation ......................................................................................................................... 170 4-17. orphaner.................................................................................................................................................... 176 4-18. editkeep .................................................................................................................................................... 176 4-19. tasksel ....................................................................................................................................................... 179 4-20. Module installieren - modconf .................................................................................................................. 180 4-21. Midnight Commander ............................................................................................................................... 185 4-22. GNU Midnight Commander...................................................................................................................... 186 5-1. XF86 Setup................................................................................................................................................. 195 5-2. XF86 Setup................................................................................................................................................. 196 5-3. XF86 Setup................................................................................................................................................. 197 5-4. XF86 Setup................................................................................................................................................. 198 5-5. XF86 Setup................................................................................................................................................. 199 5-6. XF86 Setup................................................................................................................................................. 200 5-7. XF86 Setup................................................................................................................................................. 201 5-8. Konfiguration von X11............................................................................................................................... 211 5-9. Konfiguration von X11............................................................................................................................... 212 5-10. Konfiguration von X11............................................................................................................................. 213 5-11. Konfiguration von X11............................................................................................................................. 213 5-12. Konfiguration von X11............................................................................................................................. 214 5-13. Konfiguration von X11............................................................................................................................. 215 5-14. Konfiguration von X11............................................................................................................................. 216 5-15. Konfiguration von X11............................................................................................................................. 216 5-16. Konfiguration von X11............................................................................................................................. 217 5-17. Konfiguration von X11............................................................................................................................. 218 5-18. Konfiguration von X11............................................................................................................................. 218 5-19. Konfiguration von X11............................................................................................................................. 219 5-20. Konfiguration von X11............................................................................................................................. 220 5-21. Konfiguration von X11............................................................................................................................. 220 5-22. Konfiguration von X11............................................................................................................................. 221 5-23. Konfiguration von X11............................................................................................................................. 222 5-24. Konfiguration von X11............................................................................................................................. 222 5-25. Konfiguration von X11............................................................................................................................. 223 5-26. Konfiguration von X11............................................................................................................................. 224 5-27. Konfiguration von X11............................................................................................................................. 224 5-28. Konfiguration von X11............................................................................................................................. 225 5-29. Konfiguration von X11............................................................................................................................. 226 5-30. XFree 4.x Installation - Debconf Xwrapper.............................................................................................. 228 5-31. XFree 4.x Installation - Debconf XFree86 Konfigurationsdatei ............................................................... 228 5-32. XFree 4.x Installation - Treiber................................................................................................................. 229 5-33. XFree 4.x Installation - Kernel Framebuffer ............................................................................................. 231 5-34. XFree 4.x Installation - Tastatur................................................................................................................ 231 5-35. XFree 4.x Installation - Tastatur Schritt 2 ................................................................................................. 232 5-36. XFree 4.x Installation - Tastatur Schritt 3 ................................................................................................. 233 5-37. XFree 4.x Installation - Tastatur Schritt 4 ................................................................................................. 234 5-38. XFree 4.x Installation - Tastatur Schritt 5 ................................................................................................. 235 5-39. XFree 4.x Installation - Tastatur Schritt 5 ................................................................................................. 236 5-40. XFree 4.x Installation - Maus Schnittstelle............................................................................................... 237 5-41. XFree 4.x Installation - Maus Protokoll.................................................................................................... 238 5-42. XFree 4.x Installation - Monitor Typ ........................................................................................................ 239 5-43. XFree 4.x Installation - Monitor horizontaler Sync .................................................................................. 240 5-44. XFree 4.x Installation - Monitor vertikaler Sync ...................................................................................... 241 5-45. XFree 4.x Installation - Monitor horizontaler Sync .................................................................................. 242 5-46. XFree 4.x Installation - Auflösungen ........................................................................................................ 243 5-47. xf86cfg - Textmodus ................................................................................................................................ 245 5-48. xf86cfg - Textmodus ................................................................................................................................ 245 xix 5-49. xf86cfg - X11 ........................................................................................................................................... 246 5-50. GNOME Display Manager........................................................................................................................ 248 5-51. Login.app.................................................................................................................................................. 260 5-52. FVWM ..................................................................................................................................................... 265 5-53. WindowMaker .......................................................................................................................................... 266 5-54. Enlightenment .......................................................................................................................................... 266 6-1. GNOME-Logo ........................................................................................................................................... 268 6-2. GNOME-Desktop....................................................................................................................................... 269 6-3. Sawfish ....................................................................................................................................................... 270 6-4. GNOME Panel ........................................................................................................................................... 271 6-5. Nautilus ...................................................................................................................................................... 271 6-6. Nautilus ...................................................................................................................................................... 272 6-7. Nautilus ...................................................................................................................................................... 273 6-8. Nautilus ...................................................................................................................................................... 273 6-9. GNOME 2 - Logo ...................................................................................................................................... 275 6-10. GDM 2...................................................................................................................................................... 276 6-11. GDM 2 Konfiguration ............................................................................................................................... 276 6-12. GDM 2 grafisch........................................................................................................................................ 277 6-13. GNOME 2 Splashscreen ........................................................................................................................... 277 6-14. GNOME 2 Desktop.................................................................................................................................. 278 6-15. GNOME 2 Menüs .................................................................................................................................... 279 7-1. KDE 2.2 KDM ........................................................................................................................................... 281 7-2. KDE 2.2 Splashscreen................................................................................................................................ 281 7-3. KDE 2.2 Wizard ......................................................................................................................................... 282 7-4. KDE 2.2 Wizard ......................................................................................................................................... 283 7-5. KDE 2.2 Wizard ......................................................................................................................................... 283 7-6. KDE 2.2 Wizard ......................................................................................................................................... 284 7-7. KDE 2.2 Wizard ......................................................................................................................................... 285 7-8. KDE 2.2 Info .............................................................................................................................................. 285 7-9. KDE 3.0 KDM ........................................................................................................................................... 288 7-10. KDE 3.0 Wizard ....................................................................................................................................... 288 7-11. KDE 3.0 Wizard ....................................................................................................................................... 289 7-12. KDE 3.0 Wizard ....................................................................................................................................... 290 7-13. KDE 3.0 Wizard ....................................................................................................................................... 290 7-14. KDE 3.0 Wizard ....................................................................................................................................... 291 7-15. KDE 3.0 Splashscreen.............................................................................................................................. 292 7-16. KDE 3.0 Info ............................................................................................................................................ 292 8-1. PPPoE Konfiguration - Geräte .................................................................................................................... 304 8-2. PPPoE Konfiguration - Suche ..................................................................................................................... 305 8-3. PPPoE Konfiguration - eth0 Einrichtung .................................................................................................... 306 8-4. PPPoE Konfiguration - Modifikation erlauben ........................................................................................... 307 8-5. PPPoE Konfiguration - Übliche Optionen................................................................................................... 308 8-6. PPPoE Konfiguration - Benutzername ........................................................................................................ 308 8-7. PPPoE Konfiguration - Passwort................................................................................................................. 309 8-8. PPPoE Konfiguration - Nameserver............................................................................................................ 310 8-9. PPPoE Konfiguration - MSS-Größe............................................................................................................ 311 8-10. PPPoE Konfiguration - Automatisch Starten ............................................................................................ 311 8-11. PPPoE Konfiguration - Verbindung herstellen.......................................................................................... 312 8-12. PPP Statusanzeige .................................................................................................................................... 313 8-13. Netscape Communicator ........................................................................................................................... 314 8-14. Mozilla ..................................................................................................................................................... 316 8-15. Galeon Logo............................................................................................................................................. 318 8-16. Galeon Browser........................................................................................................................................ 318 8-17. Galeon Installation ................................................................................................................................... 319 8-18. Galeon Import Bookmarks....................................................................................................................... 320 8-19. Galeon Smart Bookmarks ........................................................................................................................... ?? 8-20. Galeon GNOME Integration ..................................................................................................................... 321 xx 8-21. Galeon Proxy Einstellungen..................................................................................................................... 322 8-22. lynx........................................................................................................................................................... 324 8-23. mutt ............................................................................................................................................................ ?? 8-24. Netscape - Mail ........................................................................................................................................ 336 8-25. Netscape - Mail/Einstellungen .................................................................................................................. 336 8-26. Netscape - Mail/Einstellungen .................................................................................................................. 337 8-27. Evolution - Startbild ................................................................................................................................. 338 8-28. Evolution - Willkommen.......................................................................................................................... 339 8-29. Evolution - Identität ................................................................................................................................... ?? 8-30. Evolution - Erhalten von E-Mail ............................................................................................................... 340 8-31. Evolution - Erhalten von E-Mail ............................................................................................................... 341 8-32. Evolution - Verschicken von E-Mails ......................................................................................................... ?? 8-33. Evolution - Zugangsverwaltung ................................................................................................................ 342 8-34. Evolution - Zeitzone................................................................................................................................. 343 8-35. Evolution - Import von Daten ................................................................................................................... 344 8-36. Evolution - Fertig ..................................................................................................................................... 345 8-37. Evolution - Übersicht ............................................................................................................................... 346 8-38. Evolution - E-Mail ................................................................................................................................... 347 8-39. Evolution - Kalender ................................................................................................................................ 348 8-40. GNOME FTP ........................................................................................................................................... 351 8-41. Bluefish .................................................................................................................................................... 353 8-42. Netscape Composer.................................................................................................................................. 354 8-43. Screem...................................................................................................................................................... 354 9-1. CUPS Diagramm........................................................................................................................................ 366 9-2. CUPS Administration - Webinterface ......................................................................................................... 371 9-3. CUPS Administration - Übersicht............................................................................................................... 372 9-4. CUPS Administration - Gruppen (Classes)................................................................................................. 373 9-5. CUPS Administration - Druckaufträge ....................................................................................................... 374 9-6. CUPS Administration - Druckerverwaltung ............................................................................................... 375 9-7. CUPS Administration - Drucker hinzufügen - Name ................................................................................. 375 9-8. CUPS Administration - Drucker hinzufügen - Schnittstelle ....................................................................... 376 9-9. CUPS Administration - Drucker hinzufügen - Hersteller ........................................................................... 376 9-10. CUPS Administration - Drucker hinzufügen - Treiber ............................................................................. 377 9-11. CUPS Administration - Druckerparameter ändern ................................................................................... 378 10-1. The Gimp Menü ....................................................................................................................................... 396 10-2. The Gimp Menü - Datei ............................................................................................................................ 398 10-12. The Gimp Hauptmenü............................................................................................................................ 404 10-13. The Gimp - Farbauswahl........................................................................................................................ 405 10-14. The Gimp Auswahl - Pinsel .................................................................................................................... 405 10-15. The Gimp Auswahl - Muster................................................................................................................... 406 10-16. The Gimp Auswahl - Verlauf .................................................................................................................. 406 10-17. The Gimp Ebenen................................................................................................................................... 408 10-18. The Gimp Menü - Datei/Einstellungen ................................................................................................... 409 10-19. The Gimp - Auswahlwerkzeuge.............................................................................................................. 412 10-20. The Gimp - Auswahlwerkzeug/Rechteck ............................................................................................... 413 10-21. The Gimp - Auswahlwerkzeug/Elipse .................................................................................................... 413 10-22. The Gimp - Auswahlwerkzeug/Freihand ................................................................................................ 414 10-23. The Gimp - Auswahlwerkzeug/Intelligente Auswahl ............................................................................. 414 10-24. The Gimp - Auswahlwerkzeug/Bezier .................................................................................................... 414 10-25. The Gimp - Auswahlwerkzeug/Zauberstab............................................................................................. 415 10-26. xscanimage Auswahl.............................................................................................................................. 418 10-27. xscanimage scannen ............................................................................................................................... 418 10-28. xsane Auswahl........................................................................................................................................ 419 10-29. xsane scannen......................................................................................................................................... 419 10-30. xsane Vorschau....................................................................................................................................... 420 10-31. xsane Gimp Menü .................................................................................................................................. 421 10-32. xsane Gimp Menü .................................................................................................................................. 422 xxi 10-33. gPhoto .................................................................................................................................................... 423 10-34. gPhoto Einstellungen .............................................................................................................................. 423 10-35. gPhoto speichern .................................................................................................................................... 426 10-36. gPhoto drucken....................................................................................................................................... 426 11-1. OpenOffice.org - Splashscreen.................................................................................................................. 428 11-2. .................................................................................................................................................................. 430 11-3. OpenOffice.org - spadmin ......................................................................................................................... 431 11-4. OpenOffice.org - Textverarbeitung............................................................................................................ 431 11-5. .................................................................................................................................................................. 432 11-6. OpenOffice.org - Tabellenkalkulation ....................................................................................................... 433 12-1. AbiWord ................................................................................................................................................... 436 12-2. xpdf........................................................................................................................................................... 437 12-3. Acrobat-Reader ........................................................................................................................................ 439 13-1. Gnumeric Eingabe.................................................................................................................................... 440 13-2. Gnumeric Eingabezeile ............................................................................................................................. 441 13-3. Gnumeric Eingabezeile ............................................................................................................................. 442 14-1. xmms........................................................................................................................................................ 445 14-2. Xmms Playlist .......................................................................................................................................... 447 14-3. Xmms Equalizer....................................................................................................................................... 448 14-4. Xmms OpenGL Plugin............................................................................................................................. 450 14-5. Xmms/Netscape ....................................................................................................................................... 451 14-6. Zinf ........................................................................................................................................................... 452 14-7. Gqmpeg .................................................................................................................................................... 454 14-8. Grip........................................................................................................................................................... 454 14-9. Grip........................................................................................................................................................... 456 14-10. Kino........................................................................................................................................................ 458 14-11. xine ......................................................................................................................................................... 460 14-12. Gnomemeeting ....................................................................................................................................... 461 14-13. Gnomemeeting - Konfiguration 1/4 ........................................................................................................ 461 14-14. Gnomemeeting - Konfiguration 2/4 ........................................................................................................ 462 14-15. Gnomemeeting - Konfiguration 3/4 ........................................................................................................ 463 14-16. Gnomemeeting - Konfiguration 4/4 ........................................................................................................ 464 14-17. Gnomemeeting - Fenster ......................................................................................................................... 465 14-18. Gnomemeeting - Übertragung................................................................................................................. 466 15-1. Kernel SCSI.............................................................................................................................................. 467 15-2. X-CD-Roast.............................................................................................................................................. 469 15-3. X-CD-Roast.............................................................................................................................................. 470 15-4. X-CD-Roast.............................................................................................................................................. 471 15-5. X-CD-Roast.............................................................................................................................................. 473 15-6. X-CD-Roast.............................................................................................................................................. 474 15-7. gcombust .................................................................................................................................................. 475 17-1. MacOS TCP/IP......................................................................................................................................... 496 17-2. MacOS DHCP.......................................................................................................................................... 497 17-3. Gnosamba................................................................................................................................................. 500 17-4. gnomba..................................................................................................................................................... 500 17-5. MacOS Auswahl ...................................................................................................................................... 501 17-6. MacOS Paßwort ....................................................................................................................................... 502 17-7. MacOS Laufwerke ................................................................................................................................... 502 18-1. WMBattery............................................................................................................................................... 504 18-2. Cardinfo.................................................................................................................................................... 505 18-3. USB Kernel Konfiguration ........................................................................................................................ 505 18-4. pi-Address ................................................................................................................................................ 515 18-5. j-pilot Konfiguration................................................................................................................................. 516 18-6. j-pilot Kalender ........................................................................................................................................ 517 18-7. j-pilot Adressen ........................................................................................................................................ 517 18-8. j-pilot Aufgaben ....................................................................................................................................... 518 18-9. j-pilot Suchen ........................................................................................................................................... 519 xxii 18-10. j-pilot Installation ................................................................................................................................... 519 19-1. rcconf........................................................................................................................................................ 527 19-2. Webmin - Spracheinstellung ..................................................................................................................... 542 19-3. Kategorie Webmin.................................................................................................................................... 542 19-4. Kategorie Webmin - Actions Log ............................................................................................................. 543 19-5. Kategorie Webmin - Benutzer................................................................................................................... 544 19-6. Kategorie Webmin - Konfiguration ........................................................................................................... 545 19-7. Kategorie Webmin - Konfiguration - IP-Zugriffskontrolle ....................................................................... 545 19-8. Kategorie Webmin - Konfiguration - Anschluss und Adresse .................................................................. 546 19-9. Kategorie Webmin - Konfiguration - Protokollierung............................................................................... 547 19-10. Kategorie Webmin - Konfiguration - Proxyserver .................................................................................. 547 19-11. Kategorie Webmin - Konfiguration - Benutzerschnittstelle .................................................................... 548 19-12. Kategorie Webmin - Konfiguration - Module ......................................................................................... 549 19-13. Kategorie Webmin - Konfiguration - Betriebssystem ............................................................................. 550 19-14. Webmin - Spracheinstellung ................................................................................................................... 551 19-15. Webmin - Indexseitenoptionen............................................................................................................... 552 19-16. Webmin - Webmin aktualisieren ............................................................................................................. 552 19-17. Webmin - Authentication ........................................................................................................................ 553 19-18. Webmin - Reassign Modules................................................................................................................... 554 19-19. Webmin - Edit Categories ....................................................................................................................... 555 19-20. Webmin - Webmin Themes..................................................................................................................... 556 19-21. Webmin - Trusted Referers ..................................................................................................................... 557 19-22. Kategorie Webmin - Servers ................................................................................................................... 557 19-23. Kategorie Webmin - System.................................................................................................................... 558 19-24. Kategorie Webmin - System - Benutzer und Gruppen............................................................................ 559 19-25. Kategorie Webmin - System - Benutzer und Gruppen - ändern.............................................................. 559 19-26. Kategorie Webmin - System - Benutzer und Gruppen - Batch ............................................................... 560 19-27. Kategorie Webmin - System - Benutzer und Gruppen - Anmeldungen.................................................. 561 19-28. Kategorie Webmin - System - Passwörter ändern................................................................................... 562 19-29. Kategorie Webmin - System - Cron-Jobs................................................................................................ 562 19-30. Kategorie Webmin - System - Laufende Prozesse .................................................................................. 563 19-31. Kategorie Webmin - System - Prozessinformationen ............................................................................. 564 19-32. Kategorie Webmin - System - NFS-Exporte........................................................................................... 565 19-33. Kategorie Webmin - System - PAM-Authentification............................................................................. 565 19-34. Kategorie Webmin - System - Edit PAM Service ................................................................................... 565 19-35. Kategorie Server..................................................................................................................................... 566 19-36. Kategorie Server - Apache ...................................................................................................................... 567 19-37. Kategorie Server - Apache - Prozesse und Grenzwerte .......................................................................... 568 19-38. Kategorie Server - Apache - Netzwerk und Adressen ............................................................................ 570 19-39. Kategorie Server - Apache - Apache-Module......................................................................................... 571 19-40. Kategorie Server - Apache - MIME-Typen............................................................................................. 572 19-41. Kategorie Server - Apache - Verschiedenes ............................................................................................ 572 19-42. Kategorie Server - Apache - CGI ............................................................................................................ 573 19-43. Kategorie Server - Apache - Per-Verzeichniseinstellungen .................................................................... 574 19-44. Kategorie Server - Apache - Apache-Module neu konfigurieren............................................................ 575 19-45. Kategorie Server - Apache - Definierte Parameter bearbeiten ................................................................ 576 19-46. Kategorie Server - Postfix ....................................................................................................................... 576 19-47. Postfix Mailserver - Allgemeine Einstellungen ...................................................................................... 577 19-48. Postfix Mailserver - Adressumschreibung und Maskierung ................................................................... 579 19-49. Postfix Mailserver - Mail-Aliases ........................................................................................................... 579 19-50. Postfix Mailserver - Kanonische Verknüpfung ....................................................................................... 580 19-51. Postfix Mailserver - Virtuelle Domänen.................................................................................................. 581 19-52. Postfix Mailserver - Transportverknüpfung ............................................................................................ 582 19-53. Postfix Mailserver - Neu eingerichtete Verknüpfung.............................................................................. 583 19-54. Postfix Mailserver - Lokale Lieferung .................................................................................................... 583 19-55. Postfix Mailserver - Allgemeine Resourcenkontrolle ............................................................................. 584 19-56. Postfix Mailserver - SMTP-Server-Einstellungen................................................................................... 585 xxiii 19-57. Postfix Mailserver - SMTP-Client-Einstellungen ................................................................................... 586 19-58. Postfix Mailserver - Auslieferungsraten.................................................................................................. 587 19-59. Postfix Mailserver - Debugging-Funktionen........................................................................................... 588 19-60. Kategorie Server - DHCP........................................................................................................................ 589 19-61. Kategorie Server - DHCP - Subnet bearbeiten........................................................................................ 590 19-62. Kategorie Server - DHCP - Hosts und Hostgruppen............................................................................... 591 19-63. Kategorie Server - DHCP - Client Einstellungen.................................................................................... 592 19-64. Kategorie Server - DHCP - Vergaben ..................................................................................................... 593 19-65. Kategorie Hardware - Festplatten............................................................................................................ 594 19-66. Kategorie Hardware - IDE-Parameter bearbeiten ................................................................................... 595 19-67. Kategorie Hardware - Partition erstellen................................................................................................. 596 19-68. Kategorie Hardware - Bearbeite Mount .................................................................................................. 596 19-69. Kategorie Hardware - GRUB.................................................................................................................. 597 19-70. Kategorie Hardware - GRUB - Edit Boot Option ................................................................................... 598 19-71. Kategorie Hardware - GRUB - Add Boot Option ................................................................................... 599 19-72. Kategorie Hardware - GRUB - Global Options ...................................................................................... 600 19-73. Kategorie Hardware - GRUB - Install GRUB......................................................................................... 600 19-74. Kategorie Hardware - Lilo ...................................................................................................................... 600 19-75. Kategorie Hardware - Lilo - Boot-Kernel bearbeiten.............................................................................. 601 19-76. Kategorie Hardware - Lilo - Globale Einstellungen ............................................................................... 602 19-77. Kategorie Hardware - Lilo - Konfiguration anwenden............................................................................ 603 19-78. Kategorie Hardware - Netzwerk.............................................................................................................. 603 19-79. Kategorie Hardware - Netzwerk - Netzwerkschnittstellen...................................................................... 603 19-80. Kategorie Hardware - Netzwerk - Aktive Schnittstelle bearbeiten ......................................................... 604 19-81. Kategorie Hardware - Netzwerk - Routing und Gateways...................................................................... 604 19-82. Kategorie Hardware - Netzwerk - DNS-Client ....................................................................................... 605 19-83. Kategorie Hardware - Netzwerk - Host-Adressen .................................................................................. 605 19-84. Kategorie Hardware - Systemzeit............................................................................................................ 606 19-85. Kategorie Hardware - Systemzeit - Konfiguration.................................................................................. 607 19-86. Kategorie Andere ................................................................................................................................... 607 19-87. Kategorie Andere - Command Shell ....................................................................................................... 608 19-88. Kategorie Andere - Eigene Befehle ........................................................................................................ 608 19-89. Kategorie Andere - SSH-/Telnet-Login .................................................................................................. 608 19-90. Kategorie Andere - System und Server Status ........................................................................................ 609 22-1. Digitale Steuerung - Bedienelemente........................................................................................................ 639 22-2. Digitale Steuerung - Kabel 6015/6017...................................................................................................... 640 22-3. Digitale Steuerung - Kabel 6604............................................................................................................... 641 22-4. Digitale Steuerung - j-man Hauptfenster .................................................................................................. 646 22-5. Digitale Steuerung - j-man Lok hinzufügen.............................................................................................. 646 22-6. Digitale Steuerung - j-man Mehrfachcontroler ......................................................................................... 646 22-7. Digitale Steuerung - j-man Goliath ........................................................................................................... 647 22-8. Digitale Steuerung - loco-panel................................................................................................................. 647 22-9. Digitale Steuerung - rcman ....................................................................................................................... 649 22-10. Digitale Steuerung - dtcltiny ................................................................................................................... 650 22-11. Digitale Steuerung - dtcltiny New loco / General ................................................................................... 651 22-12. Digitale Steuerung - dtcltiny New loco / Funcs ...................................................................................... 652 22-13. Digitale Steuerung - dtcltiny New loco / Speeds .................................................................................... 652 xxiv Über dieses Buch Dieses Buch beschreibt die Installation des Debian GNU Betriebssystems und führt dann über die Installation von weiteren Paketen und deren Konfiguration zu einem kompletten, sinnvoll konfiguriertem System. Hierbei wird besonders Wert darauf gelegt, daß ein hoher Bezug zur Praxis gewahrt bleibt. Es wird nicht auf jedes einzelne der über 6000 Debian GNU-Pakete eingegangen, noch eine komplette Aufstellung geboten. Anhand einer gut zusammengestellten Auswahl sinnvoller Komponenten führt das Buch zu einem fertigen System, mit dem sowohl im Internet gesurft als auch Briefe geschrieben oder auch Grafiken erstellen werden können. Als Besonderheit wird auch auf die speziellen Anforderungen bei der Installation und Einrichtung von Debian GNU/Linux auf den verschiedenen Architekturen eingegangen. Debian GNU/Linux ist neben der sehr verbreiteten PC-Architektur (i386) auch auf anderen Prozessoren lauffähig. Es wird auf die Architekturen powerpc (Apple PowerPC, IBM RS/6000 ...), m68k (Amiga, Atari, Apple Macintosh) und alpha (DEC Alpha) eingegangen. Die Installation wird auf allen Hardwarearchitekturen auf Basis von Debian GNU/Linux beschrieben, zusätzlich wird für die Intel-Architektur auch die Installation von Debian GNU/Hurd beschrieben. Dieses Buch wurde komplett mittels Freier Software erstellt. Als Betriebssystems diente dabei natürlich von Anfang an Debian GNU/Linux. Der Text wurde mittels VIM erfasst und im DocBook Format erstellt. Grafiken und Screenshots wurden mittels The Gimp erstellt. Die gedruckte Ausgabe dieses Buches ist in der ersten Auflage bei Addison Wesley erschienen und im Buchhandel unter dem Titel „Debian GNU/Linux Anwenderhandbuch“ erhältlich gewesen. Sie beschreibt die Version 2.2 "potato" der Debian GNU/Linux Distribution. Die Originalausgabe der ersten Auflage ist nicht mehr verfügbar, der Sonderdruck der Buchhandlung Lehmanns ist ebenfalls leider vergriffen. Bei der Buchhandlung Lehmanns waren auch preisgünstige Bundles dieses Buches zusammen mit CD-ROMs verfügbar. Momentan wird an einer zweiten Auflage gearbeitet, die digitale Version ist bereits verfügbar. In dieser Auflage wird auf Debian GNU/Linux 3.0 "woody" eingegangen. Eine ständig aktualisierte Version dieses Buches finden sie im Internet unter http://www.openoffice.de/linux/buch/. Weiterhin ist dieses Buch als HTML, PDF und TXT (ab 3.0R1) Version auf den Debian GNU/Linux CD-ROMs enthalten die von Lehmanns Buchhandlung bezogen werden können. i Download / Lokale Kopie Nicht jeder Leser der digitalen Ausgabe kann oder möchte dieses Buch online im Netz lesen. Die Installation auf dem lokalen System oder in einem Intranet ist ausdrücklich erlaubt, ja sogar erwünscht. Achten Sie aber bitte darauf das lokale Kopien in regelmäßigen Abständen aktualisiert werden sollten. Ähnliches gilt für Kopien auf anderen, frei zugänglichen, Webservern im Netz. Auch dies ist gern gesehen, solange der Administrator für eine aktuelle Version sorgt. Danke! Die Debian Pakete zu diesem Buch können auch übers Netz installiert werden, falls Sie ihr System von einer anderen Debian GNU CD installiert haben. Tragen Sie dazu folgende Zeile in die Datei /etc/apt/sources.list ein: deb http://www.openoffice.de/debian/ stable main Danach können die Pakete dahb-html (HTML-Version), dahb-pdf (PDF-Version) und dahb-txt (ASCII-Text Version) installiert werden. Bei einer langsamen Anbindung an das Internet können alternativ zur HTML Version auch die Pakete dahb-html-content (HTML-Dateien) und dahb-html-pics (Bilder zu den HTML-Dateien) installiert werden. Bei Aktualisierungen im Text ist so nicht der erneute, komplette Download aller Bilder notwendig. Wenn Sie noch nicht über ein Debian GNU System verfügen, so finden sich unter http://www.openoffice.de/linux/packages/ auch Pakete für RPM Systeme wie zum Beispiel RedHat, SuSE oder Mandrake. Die HTML Version ist zusätzlich in den Formaten .tgz, .tar.bz2 und .zip auf dem Server verfügbar und somit auf jedem aktuellen Betriebssystem lesbar. Auf dieser Seite findet sich auch eine Version des Buches die auf PDAs der Firma 3Com, also dem beliebten PalmPilot, lesbar ist. Als Viewer für Palm OS steht das Programm „Plucker“ als Freie Software zur Verfügung. „Plucker“ findet sich unter www.plkr.org/. ii Copyright und Lizenz Copyright (c) 1999, 2000, 2001 by Frank Ronneburg. This material may be distributed only subject to the terms and conditions set forth in the Open Publication License, v1.0 (8 June 1999) or later (the latest version of which is available at OpenContent - http://www.opencontent.org/openpub/). iii Unterstützung Dank geht an alle, die mich bei der Arbeit an diesem Buch mit Rat, Tat, Lob und Tips auf technischer und moralischer Seite unterstützt haben. Dies waren (in alphabetischer Reihenfolge): Harald Barth, Uwe Bauermann, Roman Beigelbeck, Holger Blaschka, Wolfgang Borgert, Christoph Claus, Marcus Franke, Ulrich Gehring, Thomas Güttler, Karl-Heinz Haag, Silvia Hasselbach, Andreas Heck, Guido Hennecke, Sebastian Hetze, Werner Heuser, Thomas Hilke, Wolfgang Jährling, Uwe Kerstan, Stephan Knoops, Gerd Knorr, Matthias Kranz, Matthias Maisenbacher, Angelika Meier, Marc F. Neininger, Georg Neis, Mike Neuhaus, Markus Poguntke, Wolfgang Reiser, Wilhelm Schaefer, Matthias Schmitt, Andreas Schockenhoff Friedemann Schorer, Frank Sertic, Max Moritz Sievers, Alexander Stielau, Bernd Sommerfeld, Joachim von Thadden, Andreas Tille, Janto Trappe, Urs Tränkner, Torsten Vogt, Holger Wagemann, Michael Wiedmann, Matthias Wolle, Siegmar Zander. Dank euch allen! iv Kapitel 1. Linux, Debian, Freie Software? Dieser Abschnitt versucht zur Klärung von Begriffen rund um Linux und Freie Software beizutragen. 1.1. Was ist GNU/Linux? GNU/Linux ist ein Unix-ähnliches, multiuser/ multitasking Betriebssystem. Es wurde ursprünglich für x86 und kompatible Architekturen entwickelt. Im Laufe der Zeit wurde GNU/Linux aber auch auf viele andere Prozessor-Architekturen portiert. Ein Betriebssystem ist eine Menge von grundlegenden Programmen, die ein Rechner zum Arbeiten benötigt. Der Kern (kernel) ist das Stück Software, welches für alle Basisaufgaben (Zugriffe auf die Hardware usw.) von anderen Programmen zuständig ist. Debian verwendet den Linux-Betriebssystemkern, eine Freie Software, die von Linus Torvalds ins Leben gerufen wurde und heute von über 1000 Programmierern auf der ganzen Welt weiterentwickelt wird. Ein großer Teil der grundlegenden Anwendungen stammt aus dem GNU Projekt und ist ebenfalls frei. GNU steht für „GNU is not Unix“ und wurde von Richard Stallman ins Leben gerufen. 1.1.1. Das GNU Projekt Das GNU Projekt wurde 1983 gestartet, um ein vollständig freies Unix-artiges Betriebssystem zu entwickeln - das GNU System. Varianten des GNU Systems, die den Linux Kernel verwenden, sind weit verbreitet; obwohl diese System oft als „Linux“ bezeichnet werden, werden sie korrekter als GNU/Linux Systeme bezeichnet. Richard Stallman kündigte den Start des Projektes durch folgenden Text in den Newsgroup net.unix-wizards und net.usoft an: From CSvax:pur-ee:inuxc!ixn5c!ihnp4!houxm!mhuxi!eagle!mit-vax!mit-eddie!RMS@MIT-OZ From: RMS%MIT-OZ@mit-eddie Newsgroups: net.unix-wizards,net.usoft Subject: new UNIX implementation Date: Tue, 27-Sep-83 12:35:59 EST Organization: MIT AI Lab, Cambridge, MA Free Unix! Starting this Thanksgiving I am going to write a complete Unix-compatible software system called GNU (for Gnu’s Not Unix), and give it away free to everyone who can use it. Contributions of time, money, programs and equipment are greatly needed. To begin with, GNU will be a kernel plus all the utilities needed to write and run C programs: editor, shell, C compiler, linker, assembler, and a few other things. After this we will add a text formatter, a YACC, an Empire game, a spreadsheet, and hundreds of other things. We hope to supply, eventually, everything useful that normally comes with a Unix system, and anything else useful, including on-line and hardcopy documentation. GNU will be able to run Unix programs, but will not be identical to Unix. We will make all improvements that are convenient, based on our experience with other operating systems. In particular, we plan to have longer filenames, file version numbers, a crashproof file system, filename completion perhaps, terminal-independent display support, and eventually a Lisp-based window system through which several Lisp programs and ordinary Unix programs can share a screen. Both C and Lisp will be available as system programming languages. We will have network software based on MIT’s chaosnet protocol, far superior to UUCP. We may also have something compatible with UUCP. 1 Kapitel 1. Linux, Debian, Freie Software? Who Am I? I am Richard Stallman, inventor of the original much-imitated EMACS editor, now at the Artificial Intelligence Lab at MIT. I have worked extensively on compilers, editors, debuggers, command interpreters, the Incompatible Timesharing System and the Lisp Machine operating system. I pioneered terminal-independent display support in ITS. In addition I have implemented one crashproof file system and two window systems for Lisp machines. Why I Must Write GNU I consider that the golden rule requires that if I like a program I must share it with other people who like it. I cannot in good conscience sign a nondisclosure agreement or a software license agreement. So that I can continue to use computers without violating my principles, I have decided to put together a sufficient body of free software so that I will be able to get along without any software that is not free. How You Can Contribute I am asking computer manufacturers for donations of machines and money. I’m asking individuals for donations of programs and work. One computer manufacturer has already offered to provide a machine. But we could use more. One consequence you can expect if you donate machines is that GNU will run on them at an early date. The machine had better be able to operate in a residential area, and not require sophisticated cooling or power. Individual programmers can contribute by writing a compatible duplicate of some Unix utility and giving it to me. For most projects, such part-time distributed work would be very hard to coordinate; the independently-written parts would not work together. But for the particular task of replacing Unix, this problem is absent. Most interface specifications are fixed by Unix compatibility. If each contribution works with the rest of Unix, it will probably work with the rest of GNU. If I get donations of money, I may be able to hire a few people full or part time. The salary won’t be high, but I’m looking for people for whom knowing they are helping humanity is as important as money. I view this as a way of enabling dedicated people to devote their full energies to working on GNU by sparing them the need to make a living in another way. For more information, contact me. Arpanet mail: RMS@MIT-MC.ARPA Usenet: ...!mit-eddie!RMS@OZ ...!mit-vax!RMS@OZ US Snail: Richard Stallman 166 Prospect St Cambridge, MA 02139 2 Kapitel 1. Linux, Debian, Freie Software? Um die juristischen und organisatorischen Aspekte des GNU-Projektes zu betreuen sowie um die Verbreitung von und das Verständnis für Freie Software zu fördern, gründete sich die Free Software Foundation. Über die Free Software Foundation entstand die GNU General Public License (GPL) und die GNU Lesser General Public License ( LGPL, ursprünglich GNU Library General Public License genannt), die sich weltweit als die meistverwandten Lizenzen für Freie Software etablieren konnten. Neben der GPL gibt es noch etliche andere Lizenzen, die diese Freiheiten gewähren und sich somit als Lizenzen für Freie Software qualifizieren. Von diesen sollte speziell die FreeBSD-Lizenz erwähnt werden, deren Hauptunterschied zur GPL ist, daß sie die Freiheit nicht zu schützen sucht. Das GNU-Projekt setzt sich zusammen aus Unterprojekten, die von Freiwilligen oder Unternehmen betreut werden und zumeist der Erstellung und Pflege einer funktionalen Komponente dienen. Diese Unterprojekte werden wiederum als „GNU Projekte“ oder „offizielle GNU Projekte“ bezeichnet. Der Name des GNU-Projektes leitet sich von dem rekursiven Akronym „GNU’s Not Unix“, also „GNU ist nicht Unix“ ab. Da Unix ursprünglich nicht nur eine Art von Systemen sondern auch ein kommerzielles Produkt bezeichnete, war dies dazu gedacht, klar zu machen, daß das GNU-Projekt ein System schaffen soll, welches zwar kompatibel zu aber nicht identisch mit Unix ist. 1.1.2. Free Software Foundation Die Free Software Foundation ( http://www.fsf.org/) ist eine steuerfreie, gemeinnützige Organisation, die Kapital für die Arbeit am GNU Projekt aufbringt. Die FSF Europe http://www.fsfeurope.org/, widmet sich den europäischen Aktivitäten im Bereich Freie Software. Als offizielle Schwesterorganisation der Free Software Foundation in den Vereinigten Staaten wird sie ihre Aktivitäten im Umkreis des GNU-Projekts konzentrieren, aber nicht auf diese beschränken. Die FSF Europe nahm am 10.März 2001 den Betrieb auf. Die Hauptaufgaben der FSF Europe sind es, Initiativen Freier Software in Europa zu koordinieren, ein Kompetenzzentrum für Politiker und Journalisten bereitzustellen und Infrastruktur für Freie-Software-Projekte und speziell das GNU-Projekt zur Verfügung zu stellen. 1.1.3. Geschichte des Linux Kernels Leider ist heute nicht mehr der genaue Tag bekannt an dem Linus Benedict Torvalds (alle Welt nennt ihn nur Linus, also nicht wundern wenn nicht immer der ganze Name genannt wird) mit der Entwicklung des Linux Kernels begann. Jedoch läßt folgendes Posting aus dem Usenet schon recht genau auf die ersten Aktivitäten schliessen: From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds) Newsgroups: comp.os.minix Subject: Gcc-1.40 and a posix-question Message-ID: <1991Jul3.100050.9886@klaava.Helsinki.FI> Date: 3 Jul 91 10:00:50 GMT Hello netlanders, Due to a project I’m working on (in minix), I’m interested in the posix standard definition. Could somebody please point me to a (preferably) machine-readable format of the latest posix rules? Ftp-sites would be nice. Die erste Version des Linux Kernels wurde von Linus Torvalds am 17. September 1991 im Usenet angekündigt. Bereits kurz darauf fanden sich einige kompetente Helfer, die begeistert an der Entwicklung teilnahmen. From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds) Newsgroups: comp.os.minix Subject: What would you like to see most in minix? 3 Kapitel 1. Linux, Debian, Freie Software? Summary: small poll for my new operating system Message-ID: <1991Aug25.205708.9541@klaava.Helsinki.FI> Date: 25 Aug 91 20:57:08 GMT Organization: University of Helsinki Hello everybody out there using minix - I’m doing a (free) operating system (just a hobby, won’t be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I’d like any feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical layout of the file-system (due to practical reasons) among other things). I’ve currently ported bash(1.08) and gcc(1.40), and things seem to work. This implies that I’ll get something practical within a few months, and I’d like to know what features most people would want. Any suggestions are welcome, but I won’t promise I’ll implement them :-) Linus (torvalds@kruuna.helsinki.fi) PS. Yes - it’s free of any minix code, and it has a multi-threaded fs. It is NOT protable (uses 386 task switching etc), and it probably never will support anything other than AT-harddisks, as that’s all I have :-(. Einen Überblick über die Geschichte der Linux Entwicklung soll folgende Auflistung bieten: Urknall 3. Juli 1991 Einige Gerätetreiber sowie der Festplattentreiber und einige User-Level Funktionen sind implementiert. 0.01 17. September 1991 Linus veröffentlicht die Version 0.01 des Kernels für einen kleinen Kreis von Leuten die Interesse an der weiteren Entwicklung bekundet haben. Natürlich ist das Archiv mit dieser historischen Version auch heute noch verfügbar: http://www.kernel.org/pub/linux/kernel/Historic/linux-0.01.tar.gz. 0.02 05. Oktober 1991 Die erste „offizielle“ Version des Linux Kernels erscheint. Mit dieser Version laufen bereits die bash, gcc, gnu-make, gnu-sed und compress. Linus kündigt diese Version durch folgendes Posting im Usenet an: From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds) Newsgroups: comp.os.minix Subject: Free minix-like kernel sources for 386-AT Message-ID: <1991Oct5.054106.4647@klaava.Helsinki.FI> Date: 5 Oct 91 05:41:06 GMT Organization: University of Helsinki Do you pine for the nice days of minix-1.1, when men were men and wrote their own device drivers? Are you without a nice project and just dying to cut your teeth on a OS you can try to modify for your needs? Are you finding it frustrating when everything works on minix? No more allnighters to get a nifty program working? Then this post might be just for you :-) As I mentioned a month(?) ago, I’m working on a free version of a minix-lookalike for AT-386 computers. It has finally reached the stage where it’s even usable (though may not be depending on what you want), and I am willing to put out the sources for wider distribution. It is 4 Kapitel 1. Linux, Debian, Freie Software? just version 0.02 (+1 (very small) patch already), but I’ve successfully run bash/gcc/gnu-make/gnu-sed/compress etc under it. Sources for this pet project of mine can be found at nic.funet.fi (128.214.6.100) in the directory /pub/OS/Linux. The directory also contains some README-file and a couple of binaries to work under linux (bash, update and gcc, what more can you ask for :-). Full kernel source is provided, as no minix code has been used. Library sources are only partially free, so that cannot be distributed currently. The system is able to compile "as-is" and has been known to work. Heh. Sources to the binaries (bash and gcc) can be found at the same place in /pub/gnu. ALERT! WARNING! NOTE! These sources still need minix-386 to be compiled (and gcc-1.40, possibly 1.37.1, haven’t tested), and you need minix to set it up if you want to run it, so it is not yet a standalone system for those of you without minix. I’m working on it. You also need to be something of a hacker to set it up (?), so for those hoping for an alternative to minix-386, please ignore me. It is currently meant for hackers interested in operating systems and 386’s with access to minix. The system needs an AT-compatible harddisk (IDE is fine) and EGA/VGA. If you are still interested, please ftp the README/RELNOTES, and/or mail me for additional info. I can (well, almost) hear you asking yourselves "why?". Hurd will be out in a year (or two, or next month, who knows), and I’ve already got minix. This is a program for hackers by a hacker. I’ve enjouyed doing it, and somebody might enjoy looking at it and even modifying it for their own needs. It is still small enough to understand, use and modify, and I’m looking forward to any comments you might have. I’m also interested in hearing from anybody who has written any of the utilities/library functions for minix. If your efforts are freely distributable (under copyright or even public domain), I’d like to hear from you, so I can add them to the system. I’m using Earl Chews estdio right now (thanks for a nice and working system Earl), and similar works will be very wellcome. Your (C)’s will of course be left intact. Drop me a line if you are willing to let me use your code. Linus PS. to PHIL NELSON! I’m unable to get through to you, and keep getting "forward error - strawberry unknown domain" or something. 0.03 26. Oktober 1991 Eine weitere schon benutzbare Version. 0.10 November 1991 0.11 19. Dezember 1991 Dieses war die erste Version die eigenständig, ohne zuhilfenahme eines anderen Betriebssystemes, lauffähig war. Es gab keinen SCSI Support, aber einige Entwickler arbeiteten bereits daran. Voraussetzung war also eine AT-Bus Festplatte. Es gab weder init noch login, nach den Systemstart landete man direkt in einer bash. Es gab Ansätze für die Implementierung von Virtual Memory, es waren aber mindestens 4MB RAM (vier!) notwendig um 5 Kapitel 1. Linux, Debian, Freie Software? GNU Programme, insbesondere den GCC benutzen zu können. Ein einfacher Systemstart war aber auch schon mit 2MB möglich. 0.11+VM Dezember (Weihnachten) 1991 Da viele Leute versuchten den Kernel mit nur 2MB RAM zu übersetzen und dies fehlschlug, wurde diese Version einigen Leuten zugänglich gemacht um die virtuelle Speicherverwaltung zu testen. 0.12 05. Januar 1992 Dies war die erste Version die mehr Funktionen hatte als unbedingt benötigt werden. Mit dieser Version wurde der Kernel unter die GPL gestellt. Die ältere Lizenz unter der der Kernel stand war in vielen Punkten deutlich strenger. 0.95 März 1992 0.96 April 1992 Dies war die erste Version mit der es möglich war das X-Window System zu betreiben. 1.1.4. Linux oder Minix? Am 29. Januar 1992 postete Professor Andrew Tanenbaum, der Entwickler von Minix, in der Newsgroup comp.os.minix einen Artikel der sich zu einer längerem Diskussion ausweitete. Minix war zu dieser Zeit ein Unix-Artiges Betriebssystem welches von Tanenbaum zu Lehrzwecken entwickelt wurde. Hier nun das ursprüngliche Posting von Professor Tanenbaum, der interessierte Leser findet den kompletten Thread unter http://alge.anart.no/linux/history/linux_is_obsolete.txt. From: ast@cs.vu.nl (Andy Tanenbaum) Newsgroups: comp.os.minix Subject: LINUX is obsolete Date: 29 Jan 92 12:12:50 GMT Organization: Fac. Wiskunde & Informatica, Vrije Universiteit, Amsterdam I was in the U.S. for a couple of weeks, so I haven’t commented much on LINUX (not that I would have said much had I been around), but for what it is worth, I have a couple of comments now. As most of you know, for me MINIX is a hobby, something that I do in the evening when I get bored writing books and there are no major wars, revolutions, or senate hearings being televised live on CNN. My real job is a professor and researcher in the area of operating systems. As a result of my occupation, I think I know a bit about where operating are going in the next decade or so. Two aspects stand out: 6 Kapitel 1. Linux, Debian, Freie Software? 1. MICROKERNEL VS MONOLITHIC SYSTEM Most older operating systems are monolithic, that is, the whole operating system is a single a.out file that runs in ’kernel mode.’ This binary contains the process management, memory management, file system and the rest. Examples of such systems are UNIX, MS-DOS, VMS, MVS, OS/360, MULTICS, and many more. The alternative is a microkernel-based system, in which most of the OS runs as separate processes, mostly outside the kernel. They communicate by message passing. The kernel’s job is to handle the message passing, interrupt handling, low-level process management, and possibly the I/O. Examples of this design are the RC4000, Amoeba, Chorus, Mach, and the not-yet-released Windows/NT. While I could go into a long story here about the relative merits of the two designs, suffice it to say that among the people who actually design operating systems, the debate is essentially over. Microkernels have won. The only real argument for monolithic systems was performance, and there is now enough evidence showing that microkernel systems can be just as fast as monolithic systems (e.g., Rick Rashid has published papers comparing Mach 3.0 to monolithic systems) that it is now all over but the shoutin‘. MINIX is a microkernel-based system. The file system and memory management are separate processes, running outside the kernel. The I/O drivers are also separate processes (in the kernel, but only because the brain-dead nature of the Intel CPUs makes that difficult to do otherwise). LINUX is a monolithic style system. This is a giant step back into the 1970s. That is like taking an existing, working C program and rewriting it in BASIC. To me, writing a monolithic system in 1991 is a truly poor idea. 2. PORTABILITY Once upon a time there was the 4004 CPU. When it grew up it became an 8008. Then it underwent plastic surgery and became the 8080. It begat the 8086, which begat the 8088, which begat the 80286, which begat the 80386, which begat the 80486, and so on unto the N-th generation. In the meantime, RISC chips happened, and some of them are running at over 100 MIPS. Speeds of 200 MIPS and more are likely in the coming years. These things are not going to suddenly vanish. What is going to happen is that they will gradually take over from the 80x86 line. They will run old MS-DOS programs by interpreting the 80386 in software. (I even wrote my own IBM PC simulator in C, which you can get by FTP from ftp.cs.vu.nl = 192.31.231.42 in dir minix/simulator.) I think it is a gross error to design an OS for any specific architecture, since that is not going to be around all that long. MINIX was designed to be reasonably portable, and has been ported from the Intel line to the 680x0 (Atari, Amiga, Macintosh), SPARC, and NS32016. LINUX is tied fairly closely to the 80x86. Not the way to go. Don‘t get me wrong, I am not unhappy with LINUX. It will get all the people who want to turn MINIX in BSD UNIX off my back. But in all honesty, I would suggest that people who want a **MODERN** "free" OS look around for a microkernel-based, portable OS, like maybe GNU or something like that. Andy Tanenbaum (ast@cs.vu.nl) P.S. Just as a random aside, Amoeba has a UNIX emulator (running in user space), but it is far from complete. If there are any people who would like to work on that, please let me know. To run Amoeba you need a few 386s, one of which needs 16M, and all of which need the WD Ethernet card. 7 Kapitel 1. Linux, Debian, Freie Software? 1.1.5. Linux ® 1996-1997 gab es große Verwirrung um den Begriff Linux. Das bei IDG Books erschiene Buch von Naba Barkakati, „Linux Secrets“ trug auf dem Cover den Text: „Linux is a registered trademark of William R. Della Croce, Jr.“. Tatsächlich hatte Mr. Croce den Begriff Linux schützen lassen. Glücklicherweise klärte sich das Problem aber dadurch das die Rechte an Linus abgetreten wurden. Auch zu dieser Geschichte finden sich einige Dokumente im Netz: Is Linux trademarked?, Linux Journal, Nov 1996, Petition to cancel trademark , Action Taken on Linux Trademark, Linux Journal, Mar 1997, Linux Trademark Dispute, Linux Journal, Aug 1997 und Ownership of Linux Trademark Resolved, Linux Journal, Nov 1997. 1.1.6. Und dieser Pinguin...? Anfang 1996 waren einige Leute auf der Linux Kernel Mailingliste der Meinung es sei Zeit für ein Linux Logo oder ein Maskottchen. Wie viele solche mehr „phylosophischen“ Diskussionen ergab sich hieraus eine längere Diskussion. Linus legte seine Vorstellungen in folgender Mail am 9. Mai 1996 dar: Re: Linux Logo prototype. Linus Torvalds (torvalds@cs.helsinki.fi) Thu, 9 May 1996 17:48:56 +0300 (EET DST) Somebody had a logo competition announcement, maybe people can send their ideas to a web-site.. Anyway, this one looks like the poor penguin is not really strong enough to hold up the world, and it’s going to get squashed. Not a good, positive logo, in that respect.. Now, when you think about penguins, first take a deep calming breath, and then think "cuddly". Take another breath, and think "cute". Go back to "cuddly" for a while (and go on breathing), then think "contented". With me so far? Good.. Now, with penguins, (cuddly such), "contented" means it has either just gotten laid, or it’s stuffed on herring. Take it from me, I’m an expert on penguins, those are really the only two options. Now, working on that angle, we don’t really want to be associated with a randy penguin (well, we do, but it’s not politic, so we won’t), so we should be looking at the "stuffed to its brim with herring" angle here. So when you think "penguin", you should be imagining a slighly overweight penguin (*), sitting down after having gorged itself, and having just burped. It’s sitting there with a beatific smile - the world is a good place to be when you have just eaten a few gallons of raw fish and you can feel another "burp" coming. (*) Not FAT, but you should be able to see that it’s sitting down because it’s really too stuffed to stand up. Think "bean bag" here. Now, if you have problems associating yourself with something that gets off by eating raw fish, think "chocolate" or something, but you get the idea. 8 Kapitel 1. Linux, Debian, Freie Software? Ok, so we should be thinking of a lovable, cuddly, stuffed penguin sitting down after having gorged itself on herring. Still with me? NOW comes the hard part. With this image firmly etched on your eyeballs, you then scetch a stylizied version of it. Not a lot of detail - just a black brush-type outline (you know the effect you get with a brush where the thickness of the line varies). THAT requires talent. Give people the outline, and they should say [ sickly sweet voice, babytalk almost ]"Ooh, what a cuddly penguin, I bet he is just _stuffed_ with herring", and small children will jump up and down and scream "mommy mommy, can I have one too?". Then we can do a larger version with some more detail (maybe leaning against a globe of the world, but I don’t think we really want to give any "macho penguin" image here about Atlas or anything). That more detailed version can spank billy-boy to tears for all I care, or play ice-hockey with the FreeBSD demon. But the simple, single penguin would be the logo, and the others would just be that cuddly penguin being used as an actor in some tableau. Linus Die Meinungen ob grade ein Pinguin geeignet wäre Linux nach aussen hin darzustellen gingen auseinander. Es gab die verschiedensten Entwürfe, in den verschiedensten Abwandlungen. Abbildung 1-1. Tux - der Pinguin Linus Torvalds setzte sich schlußendlich durch und so kam es zu einem Pinguin als Logo für Linux. Folgendes Statement von Linus beendete schlieslich die Diskussion. Re: Linux Logo Linus Torvalds (torvalds@cs.helsinki.fi) Sun, 12 May 1996 09:39:19 +0300 (EET DST) 9 Kapitel 1. Linux, Debian, Freie Software? Umm.. You don’t have any gap to fill in. "Linus likes penguins". That’s it. There was even a headline on it in some Linux Journal some time ago (I was bitten by a Killer Penguin in Australia - I’m not kidding). Penguins are fun. As to why use a penguin as a logo? No good reason, really. But a logo doesn’t really ave to _mean_ anything - it’s the association that counts. And I can think of many worse things than have linux being associated with penguins. Having a penguin as a logo also gives more freedom to people wanting to use linux-related material: instead of being firmly fixed with a specific logo (the triangle, or just "Linux 2.0" or some other abstract thing), using something like a penguin gives people the chance to make modifications that are still recognizable. So you can have a real live penguin on a CD cover, for example, and people will get the association. Or you can have a penguin that does something specific (a Penguin writing on wordperfect for the WP Linux CD, whatever - you get the idea). Compare that to a more abstract logo (like the windows logo - it’s not a bad logo in itself). You can’t really do anything with a logo like that. It just "is". Anyway, go to "http://www.isc.tamu.edu/~lewing/linux/" for some nice examples.. Linus Nun brauchte das Kind noch einen Namen. Der erste Hinweiß auf den Namen „Tux“ findet sich in folgender E-Mail: Re: Let’s name the penguin! (was: Re: Linux 2.0 really _is_ released..) James Hughes (jamesh@interpath.com) Mon, 10 Jun 1996 20:25:52 -0400 (T)orvolds (U)ni(X) --> TUX! Dieser Name wurde dann auch von der Community akzeptiert. Es gibt noch viele nette Geschichten um das Linux Logo und den Kult der sich darum entwickelt hat. Neben Stofftierchen und Schlüsselanhänger gibt es mittlerweile Linux Pinguine in allen nur denkbaren Erscheinungsformen. Unter http://www.woodsoup.org/projs/tux_aqfh/doc/ finden sich weitere Linux und Informationen zu Tux. 1.2. Was ist Debian GNU? Debian ist ein freies Betriebssystem (OS) für Ihren Rechner. Ein Betriebssystem ist eine Menge von grundlegenden Programmen, die Ihr Rechner zum Arbeiten benötigt. Debian verwendet den Linux-Betriebssystemkern, aber die meisten grundlegenden Systemwerkzeuge stammen aus dem GNU-Projekt; daher der Name GNU/Linux. Debian GNU/Linux ist mehr als nur ein Betriebssystem: Es enthält einige tausend Softwarepakete, vorkompilierte Software in einfach zu installierenden Paketen. Das Debian-Projekt ist eine Gemeinschaft von Individuen die in Gemeinschaftsarbeit ein freies Betriebssystem entwickeln. Dieses Betriebssystem wird Debian GNU/Linux genannt, oder einfach nur Debian. 10 Kapitel 1. Linux, Debian, Freie Software? Debian-Systeme verwenden im Augenblick den Linux-Kern. Linux ist ein von Linus Torvalds begonnenes komplett freies Stück Software, das von tausenden Programmierern weltweit unterstützt wird. Im Gegensatz zu anderen Linux-Distributionen wird Debian GNU, ähnlich wie der eigentliche Linux-Kernel, von einer großen Gruppe von Freiwilligen auf der ganzen Welt zusammengestellt. Eine Übersicht über die weltweite Verteilung der Entwickler ist in der Weltkarte der Entwickler dargestellt. Auf Basis dieser Daten wurden von Edward Betts weitere Auswertungen vorgenommen und Grafiken erstellt. Aus diesen ist beispielsweise ersichtlich das der durchschnittliche Debian Entwickler kurz vor der Küste von Grönland lebt... Der Ergebnisse dieser kuriosen Forschung finden sich auf Edwards Webseite http://people.debian.org/~edward/average/. Für die Kommunikation der Entwickler untereinander und die Verteilung der Pakete dient das Internet. Für jedes der (mittlerweise einige tausend) Debian GNU-Pakete gibt es einen sogenannten „Maintainer“, der dieses Paket betreut. Viele der Maintainer betreuen auch mehrere Pakete. Die Debian-Entwickler haben ihren hohen Anspruch an die freie Verbreitung von Debian im Debian Social Contract festgeschrieben. Sie finden die deutsche Übersetzung im Anhang. 1.2.1. Der Name „Debian“ Der Name „Debian“ stammt vom Schöpfer der Distribution, Ian Murdock, der den Namen aus dem Namen seiner Frau, Debra, und seinem Vornamen bildete (Deb-Ian). Die offizielle Aussprache für den Namen ist: „deb ee n“. 1.2.2. Die Geschichte von Debian Debian 0.01 bis 0.90 (August-Dezember 1993): Das Debian Projekt wurde offiziell von Ian Murdock am 16. August 1993 gegründet. Ian Murdock began diese neue Distribution als offenes Entwicklungsprojekt, ganz im Sinne des GNU- oder auch des Linux-Kernel Projektes. Dieses Ziel erfüllte zu dieser Zeit keine andere Distribution. Das Debian Projekt wurde vom November 1994 an, vom GNU Projekt der FSF ( Free Software Foundation) für 12 Monate gesponsort. Debian 0.91 (Januar 1994): diese Version hatte ein einfaches Paketsystem, mit dem Pakete installiert und gelöscht werden konnten. Ein paar Dutzend Entwickler arbeiteten zu dieser Zeit an Debian. Debian 0.93R5 (März 1995): Zu dieser Zeit waren für jedes Paket ein oder mehrere Entwickler zuständig. Das Paketmanagement wurde über dpkg abgewickelt, welches nach der Basisinstallation eingesetzt wird. Im August 1995 startete Hartmut Koptein die erste Portierung von Debian GNU/Linux auf eine Nicht-Intel Plattform. Hartmut schreib zu seinen ersten Versuchen mit der m68k Architektur: „Many, many packages were i386-centric (little endian, -m486, -O6 and all for libc4) and it was a hard time to get a starting base of packages on my machine (an Atari Medusa 68040, 32 MHz). After three months (in November 1995), I uploaded 200 packages from 250 available packages, all for libc5!“ Später startete er, zusammen mit Vincent Renardias und Martin Schulze, eine weitere Portierung, diesmal auf die PowerPC Platform. Debian 0.93R6 (November 1995): dselect wurde eingeführt. Dies war die letzte Debian-Version, die noch auf dem Binärformat a.out basierte. Circa 60 Entwickler arbeiten an Debian GNU/Linux. 11 Kapitel 1. Linux, Debian, Freie Software? Debian 1.1 Buzz (Juni 1996): Die erste Version mit einem sogenannten Codenamen. Wie alle späteren stammt auch dieser Codename aus dem Film „Toy Story“. Diese Idee wurde von Bruce Perens, der zu dieser Zeit der „Project Leader“ war, eingeführt. Diese Version benutzte ausschließlich das neue ELF-Format sowie die Kernel Version 2.0 und umfaßte 474 Pakete. Ian kommentierte den neuen Project Leader wie folgt: „Bruce was the natural choice to succeed me, as he had been maintaining the base system for nearly a year, and he had been picking up the slack as the amount of time I could devote to Debian declined rapidly.“ Bruce initiierte viele wichtige Projekte innerhalb des Debian Projektes, hierzu gehören die Debian Free Software Guidelines, der Debian Social Contract, das Open Hardware Project. Weiterhin war Bruce massgeblich an der Bildung von SPI ( Software in the Public Interest, Inc.) beteiligt. Debian 1.2 Rex (Dezember 1996): 848 Pakete, 120 Entwickler. Debian 1.3 Bo (Juli 1997): 974 Pakete, 200 Entwickler. Debian 2.0 Hamm (Juli 1998): Die erste Debian-Version, die neben der i386-Architektur auch die m68k-Rechnerfamilie, also Amiga, Atari und Macintosh Computer, unterstützte. Diese Version, mit Ian Jackson als Project Leader, basierte bereits auf der glibc2 (oder aus historischer Sicht: libc6), hatte über 1500 Pakete, und circa 400 Entwickler stellten die Pakete zusammen. Wichert Akkerman lösste Ian Jackson als Project Leader im Januar 1999 ab. Debian 2.1 Slink (09 März 1999): Ab dieser Version wurden zusätzlich die Architekturen Alpha und Sparc unterstützt. Project Leader war Wichert Akkerman, 2250 Pakete gehörten zu dieser Version, die auf 2 offiziellen CDs ausgeliefert wurde. Weiterhin gehörte ab dieser Version apt - als neues Programm zur Paketverwaltung - zum Umfang. Aufgrund einiger unerwarteter Fehler, die in der letzten Minute entdeckt wurden, ist das Erscheinen von Debian 2.1 um eine Woche verschoben worden. Ursprünglich war der 02.03.1999 als Termin ins Auge gefasst worden. Der entscheidende Fehler war, daß dpkg, der Packetmanager, nur funktioniert, wenn die Ortsangabe „locale“" auf der Standardeinstellung ist. Es war den Entwicklern wichtiger, den Ruf der absolute Fehlerfreiheit von Debian zu retten als den Termin einzuhalten. Am 21. April 1999 bildeten die Firma Corel, das K Desktop Projekt (KDE) und das Debian Projekt eine Allianz nachdem Corel verkündete eine eigene Linux Distribution auf Debian-Basis herauszubringen. Im Laufe des Sommers erschien mit Storm Linux (www.stormix.com) eine weitere, auf Debian basierende Linux-Distribution. Zur gleichen Zeit gab sich das Debian Projekt auch ein neues Logo, diesmal in doppelter Ausfertigung. Ein offizielles Logo für die Webseiten und alle von Debian erstellten Materialien und ein unoffizielles Logo für Materialien von anderen Herstellern. Debian 2.2 Potato (15. August 2000): Apt ist hier zentraler Bestandteil. Die Anzahl der Pakete wurde gegenüber der Version 2.1 fast verdoppelt. Integration von GNOME, glibc 2.1, Kernel 2.2.13/14, XFree 3.3.6 Mit dieser Version wurden auch die Architekturen PowerPC und Arm freigegeben. 12 Kapitel 1. Linux, Debian, Freie Software? Diese Version ist Joel Klecker gewidmet, einem Debian-Entwickler, der unerwartet im Alter von 21 Jahren starb ( http://www.debian.org/News/2000/20000815). Die Release 1 (Debian GNU/Linux 2.2 R1) wurde am 14.11.2000 freigegeben, die Release 2 folgte am 05.12.2000. Die letzte Version, Release 3 folgte am 17.04.2001. Am 29. März 2001 wurde Ben Collins zum neuen Debian Project Leader (DPL) gewählt. Die Release 3 wurde vom Pressesprecher des Projektes, Martin „Joey“ Schulze in folgender Mail angekündigt: Date: Tue, 17 Apr 2001 00:43:00 +0200 From: Martin Schulze <joey@finlandia.infodrom.north.de> To: Debian Announcements <debian-announce@lists.debian.org> Subject: Debian GNU/Linux 2.2r3 released Content-Length: 4923 Lines: 134


The Debian Project http://www.debian.org/ Debian GNU/Linux 2.2r3 released press@debian.org April 17, 2001


The third revision of Debian GNU/Linux 2.2 (nickname ‘potato’) has been released. This point release, version 2.2r3, mostly includes security updates, along with a few corrections to important bugs in the stable distribution. Upgrading to this revision online can be done by pointing the ‘apt’ package tool (see sources.list(5) manual page) to one of Debian’s many FTP mirrors. A list is available at: <http://www.debian.org/distrib/ftplist> Security Updates This release contains the following security updates, for which the Security Team has released the advisory listed. Debian Security Advisory ID Package(s) DSA 004 nano DSA 005 slocate DSA 008 dialog DSA 009 stunnel DSA 010 gnupg DSA 011 mgetty DSA 012 micq DSA 013 mysql, mysql-gpl DSA 014 splitvt DSA 015 sash DSA 016 wu-ftpd DSA 017 jazip DSA 018 tinyproxy DSA 019 squid DSA 021 apache, apache-ssl DSA 022 exmh DSA 024 cron DSA 025 openssh DSA 026 bind DSA 027 openssh DSA 028 man-db DSA 029 proftpd DSA 030 xfree86 13 Kapitel 1. Linux, Debian, Freie Software? DSA 031 sudo DSA 032 proftpd DSA 033 analog DSA 034 eperl DSA 035 man2html DSA 036 mc, gmc DSA 037 nextaw, xaw3d, xaw95 DSA 038 sgml-tools DSA 039 glibc DSA 040 slrn DSA 042 gnuserv, xemacs21 DSA 044 mailx DSA 047 kernel 19 Nov 2000 cupsys 21 Nov 2000 ethereal 20 Nov 2000 tcpdump Miscellaneous Bugfixes acroread Corrected NLS handling aview Corrected dependencies boot-floppies Many improvements cslatex Important correction elvis-tiny Corrected file recovery glibc Corrected security upload mtools Corrected for arm architecture netpbm,-nonfree hpcdtoppm is non-free, sorry nvi Fixes potential file corruption postfix Fixes potential black hole for mails postgresql Fixes potential data loss python Fixes file creation problem syslog-ng Fixes potential DoS problem w3m, w3m-ssl Fixes old security problem watchdog Fixes suspicious reboots xpdf, xpdf-i Correction to security update xtide Fix copyright violation xviddetect Added support for more graphic cards yaboot Fixes a serious booting bug A complete list of all accepted and rejected packages together with rationale can be found here: <http://people.debian.org/~joey/2.2r3/> URLs A complete list of the packages that have changed with this release can be found at: <http://http.us.debian.org/debian/dists/Debian2.2r3/ChangeLog> <http://non-us.debian.org/debian-non-US/dists/Debian2.2r3/non-US/ChangeLog> The current stable distribution can be found at: <ftp://ftp.debian.org/debian/dists/stable> <ftp://non-us.debian.org/debian-non-US/dists/stable> Proposed updates to the stable distribution can be found at: <ftp:/ftp.debian.org/debian/dists/proposed-updates> <ftp:/non-us.debian.org/debian-non-US/dists/proposed-updates> Stable distribution information (release notes, errata, etc.): 14 Kapitel 1. Linux, Debian, Freie Software? <http://www.debian.org/releases/stable/> Security announcements and information: <http://security.debian.org/> About Debian The Debian Project is an organization of free software developers who volunteer their time and effort in order to produce completely free operating systems Debian GNU/Linux and Debian GNU/Hurd. Contact Information For further information, please visit the Debian web pages at <http://www.debian.org/> or send mail to <press@debian.org>. Am 5. November 2001 erschien die Release 4 von Debian 2.2. Die dazugehörige Pressemitteilung findet sich unter http://www.debian.org/News/2001/20011105. Dieses Release, Revision 2.2r4, enthält hauptsächlich Sicherheits-Updates sowie Korrekturen von einigen ernsthaften Fehlern in der stabilen Distribution. Die fünfte Revision von Debian GNU/Linux 2.2 (Codename ‘potato’) wurde am 10. Januar 2002 freigegeben. Diese Revision enthält hauptsächlich Sicherheits-Aktualisierungen sowie Korrekturen von einigen ernsthaften Fehlern in der stabilen Distribution. Benutzer, die regelmäßig von security.debian.org aktualisieren, werden kaum Pakete aktualisieren müssen. Eine Übersicht der aktualisierten Pakete findet sich unter http://www.debian.org/News/2002/20020110. Mit der sechsten Release wurde am 3. April 2002 eine weitere Aktualisierung der „potato“ Release freigegeben. Eine Übersicht der veränderten Pakete (auch bei dieser Release handelt es sich dabei größtenteils um Sicherheitskritische Veränderungen) ist unter http://http.us.debian.org/debian/dists/Debian2.2r6/ChangeLog und http://non-us.debian.org/debian-non-US/dists/Debian2.2r6/non-US/ChangeLog zu finden. Noch vor der Freigabe von Debian 3.0 erschien am 13. Juli 2002 die siebte Release von Debian 2.2. Diese Revision enthält hauptsächlich Sicherheits-Aktualisierungen sowie Korrekturen von einigen ernsthaften Fehlern in der stabilen Distribution. Debian 3.0 Woody wurde am 19.07.2002, nach fast zwei Jahren Entwicklungszeit freigegeben. Der Codename für diese Version wurde mit dem Codefreeze von Potato am 15.01.2000 festgelegt. Am 01.07.2001 startete Anthony Towns (der Release Manager dieser Version) mit folgender Mail die „Freeze“-Phase dieser Version: To: debian-devel-announce@lists.debian.org Subject: Debian 3.0 (woody) Freeze Begins From: Anthony Towns <ajt@debian.org> Date: Sun, 1 Jul 2001 11:04:48 +1000 Mail-Followup-To: debian-devel-announce@lists.debian.org Sender: Anthony Towns <aj@azure.humbug.org.au> User-Agent: Mutt/1.2.5i Hello world, and welcome to a new week, a new month, and a new phase of woody’s development cycle. Welcome to the woody freeze. As previously proposed, the freeze will proceed in four phases: first policy will be frozen, followed by the base system, followed by standard installs, and concluding with the remainder of Debian. The aim of this first part of the freeze is to finalise our expectations of the release 15 Kapitel 1. Linux, Debian, Freie Software? (what we want packages to look like, what architectures we’re going to release) and to prepare ourselves for the freezing the base system by ensuring that the base system is releasable. Note that this does *not* involve a freeze on package development yet: bugfixes, and new features are still welcome, and will continue being added to woody in the usual way. What it does mean is that your packages will be frozen in the near future, so now is probably a good time to limit yourself to only introducing new features that have already been heavily tested upstream, and fixing bugs. In detail, the goals for this phase are:

  • Finalise debian-policy: accept any further proposals that woody

packages should concern themselves with; and ensure -policy is a useful document for people working on quality assurance. Deadline: final version of debian-policy for woody needs to be uploaded to the archive by July 21st.

  • Finalise our target architectures. As well as alpha, arm, i386,

m68k, powerpc and sparc, we have the opportunity to include ia64 (Intel’s new 64bit Itanium architecture), hppa (HP’s PA-RISC architecture), mips and mipsel (SGI and Decstation machines), too. Requirements for inclusion in woody are fairly simple and have been met, or are close to being met, by all those architectures. For reference, they are: a working, relatively stable toolchain, a usable system (including all of base and standard; and a fair chunk of optional and extra), and a functional install. (Hurd people, see below) Deadline: someone from each architecture that wants to release needs to mail -release with their current status, and a successful install report by July 24th.

  • Determine whether cryptographic software can be moved from

non-US/main to main. Ben Collins (project leader) is hustling this through the appropriate avenues. Deadline: legal advice needs to be obtained by July 21st.

  • Ensure the base system is releasable on all architectures:

this means making sure we know what packages, exactly, the base system consists of on all architectures; and fixing any and all release critical bugs (ie, with severities critical, grave or serious) in those packages. Deadline: base packages need to be free of RC bugs by July 21st. If all goes well, the next phase will begin on the 1st of August. If all goes incredibly well, we’ll release in November. Ha ha ha. The main risk that may affect moving on to the next phase is the possiblity of finding release critical bugs in the base system that take significant amounts of time to fix. As you’ve noticed by a careful analysis of the subject line, the woody release will be numbered Debian 3.0, in recognition of the large number of changes made since potato. This is, to put it mildly, a somewhat controversial decision, but it’s one I get to make. Personally, I’m pretty happy with the way woody’s progressing, and I think by the time it’s released it’ll easily live up to that number -- and by that I mean 16 Kapitel 1. Linux, Debian, Freie Software? the "3", not the ".0". On the subject of controversial decisions, one I’m not going to make today is what to call the release after woody. That one will be made when woody is released and a new testing distribution is forked from woody. Besides which, I still haven’t gotten around to rewatching Toy Story. While I may not be too concerned one way or another about the name of the next release, I do have some ideas about how it might be good to handle the next release. My overriding goal for this release was to manage to get a short, controllable freeze; one that we can get over and done with in a few months, rather than letting it drag on for seven months with no end in sight, but this came at a cost of letting the development cycle go on for quite a while: ten and a half months, as it turned out. For the next cycle (assuming this freeze actually turns out to be relatively short and controlled), I think it would be interesting to see if we can do the same thing again, with a short (2 or 3 month) development cycle, for a 5 to 7 month release cycle. Which would mean you mightn’t need to worry too much about not getting the neat new feature you were planning on working on into woody, if that’s any consolation. And on that note, I’m inclined to think Hurd is probably better off targetting the next freeze, (in, say, six to eight months from today) rather than woody. In particular, Hurd is at present both a difficult target to port to (and thus has a quite limited range of software when compared to the Linux ports of Debian) and isn’t able to self install. In short, the freeze, she is begun. Have at it. Cheers, aj -- Anthony Towns <ajt@debian.org> Debian Release Manager Am 16. Dezember 2002 folgte die erste Release von Debian 3.0. Hier wurde einige kleinere Probleme behoben und einige Pakete aktualisiert. Mit der sofort darauf folgenden Release 1a erschienen einige neu erstellte Pakete auf den Servern nachdem sich kleinere Probleme ergeben hatten. Die meisten Nutzer bemerkten dies jedoch garnicht... Debian 3.1 Als Sarge wird die folgende Debian Version bezeichnet, die Entwicklung hat begonnen. 1.2.3. Organisation Der offene Character der Debian Distribution legt die Vermutung nahe das die Entwicklung ungeordnet oder gar chaotisch organisiert ist. Das Gegenteil ist der Fall. Eine fest definierte Struktur legt Aufgabenbereiche, Verantwortlichkeiten und Zuständigkeiten fest. Folgende Grafik gibt einen Überblick über de Organisation: 17 Kapitel 1. Linux, Debian, Freie Software? Abbildung 1-2. Organisation des Debian Teams 1.2.4. Codenamen Wie schon kurz beschrieben stammen die Codenamen der Debian Distribution aus dem Film „Toy Story“ der Firma Pixar. Folgende Figuren wurden bisher benutzt: buzz Buzz Lightyear der Astronaut rex der Dinosaurier bo Bo Peep das Mädchen welches das Schaf behütet hamm das Schweinchen slink Slinky Dog der Spielzeug Hund potato Mr. Potato Head die Kartoffel woody der Cowboy sarge der grüne Soldat Weiterhin wird noch der Name sid verwendet, dies ist der Junge von nebenan der Spielzeug zerstört... Der Name Sid wird für die jeweils in der Entwicklung befindliche Verison verwendet, deshalb steht der Name Sid auch für „Still in development“. 18 Kapitel 1. Linux, Debian, Freie Software? 1.2.5. Debian für alle! Debian GNU/Linux stellt in doppelter Hinsicht ein Betriebssystem für alle dar. Die vollkommen freie Verfügbarkeit des Systems macht es auch für den kleinsten Geldbeutel möglich, an ein umfangreiches System mit vielen hundert Programmen zu kommen. CD-ROMs sind schon für wenige Euro erhältlich. Die Preise für Debian GNU/Linux-CDs liegen meist unter denen anderer Distributionen. Dies liegt nicht daran, daß Debian GNU/Linux minderwertiger ist. Hinter Debian steht keine Firma, die Geld verdienen muß, um zu existieren. Das Kopieren der CDs von Freunden oder Bekannten ist möglich und sogar erwünscht! Die Lizenz erlaubt die Installation von Debian GNU/Linux auf beliebig vielen Computern. Ein weiterer Punkt ist die Verfügbarkeit von Debian GNU/Linux für die unterschiedlichsten Hardware-Architekturen. Somit läßt sich Debian GNU/Linux auf (fast) jedem vorhandenen Computer installieren. Die Palette reicht hierbei von normalen, i386 basierten (Intel, AMD, Cyrix usw.) Maschinen, über PowerPC (Apple PowerMac, IBM RS/6000...), Sun Sparc und UltraSparc, DEC Alpha bis hinunter zu älteren, auf dem Motorola 68000er-Prozessor basierenden Systemen wie Amiga, Atari oder ältere Apple-Rechnern, mit mindestens einer Motorola 68020 CPU und einer MMU (Memory Management Unit), zum Beispiel Amiga 3000/4000, Macintosh SE/30 usw. Momentan ist Debian GNU/Linux auf folgenden Architekturen verfügbar, bzw. wird auf diese portiert: Intel x86 („i386“) Die erste Architektur für die Debian GNU/Linux verfügbar war. IA-64 („ia64“, http://www.debian.org/ports/ia64/) Die Intel 64 Bit Architektur, eine relativ neue Portierung. DEC Alpha („alpha“, http://www.debian.org/ports/alpha/) Der erste Release erfolgte mit Debian 2.1. Eine der länger bestehenden Portierungen, und ziemlich stabil. ARM („arm“, http://www.debian.org/ports/arm/) Wurde mit „potato“ freigegeben. Eine neue Portierung, motiviert durch Corels interessante NetWinder Maschine. Motorola m68k („m68k“, http://www.debian.org/ports/m68k/) Erster Release mit der Debian Version 2.0. Der am meisten etablierte Port nach dem Intel x86. Der Debian m68k Port läuft auf einer großen Bandbreite von Computern, die auf der Motorola 68k Prozessorfamilie basieren - im besonderen die Sun3 Workstationfamilie, die Apple Macintosh Personal-Computer, und die Atari und Amiga Personal-Computer. MIPS („mips“, http://www.debian.org/ports/mips/) Relative neue Portierung, die in SGI Computern (debian-mips - big-endian) und Digital DecStations (debian-mipsel - little-endian) verwendet wird. HP PA-RISC („hppa“, http://www.debian.org/ports/hppa/) Eine Portierung von Debian GNU/Linux auf die PA-RISC wurde gerade begonnen. Die Webseiten des Projektes finden sich unter http://parisc-linux.org/. Motorola/IBM PowerPC („powerpc“, http://www.debian.org/ports/powerpc/) Debian/PowerPC wurde mit Debian 2.2 („potato“) das erste Mal offiziell veröffentlicht. Die Portierung läuft auf vielen der Apple Macintosh PowerMac Modellen, den CHRP- und PReP-Rechnern sowie beispielsweise auf einigen IBM RS/6000 Maschinen. Sun SPARC („sparc“, http://www.debian.org/ports/sparc/) Zum ersten Mal mit Debian 2.1 veröffentlicht. Diese Portierung läuft sowohl auf der SPARCstation Familie von Workstations, als auch auf einem Teil ihrer Nachfolger in der Sun4 Architektur. 19 Kapitel 1. Linux, Debian, Freie Software? Sun UltraSPARC („sparc64“, http://www.debian.org/ports/sparc64/) Dies ist auch der Beginn einer Portierung auf die Sun UltraSPARC (sun4u) Workstation-Familie. Dieser 64bit Prozessor hat den Vorteil der Rückwärts-Kompatibilität mit seinem Vorgänger, so daß die UltraSPARC Portierung in der Lage sein wird, Sparc Binärfiles auszuführen. S/390 („s390“, http://www.debian.org/ports/s390/) Ein Port von Debian GNU/Linux auf die S/390-Architektur (IBM Großrechner) wird gerade begonnen. Weitere Portierungen des Debian GNU Systems, die nicht die Hardware betreffen sondern statt dem Linux Kernel einen alternativen Kernel benutzen, sind: Debian GNU/Hurd („hurd-i386“, http://www.debian.org/ports/hurd/) GNU Hurd ist eine völlig neues Betriebssystem, das von der GNU Gruppe aufgebaut wird. In der Tat ist GNU Hurd die letzte Komponente, die es möglich macht, ein komplettes GNU Betriebssystem aufzubauen - und Debian GNU/Hurd wird ein solches (vielleicht sogar das Erste) GNU Betriebssystem sein. Das gegenwärtige Projekt ist auf der i386 Architektur aufgebaut. Debian GNU/NetBSD, (http://www.debian.org/ports/netbsd/) Dies ist eine Portierung des Debian Betriebssystems inklusive apt, dpkg und GNU-Software auf den NetBSD-Kernel. Sie befindet sich im Augenblick in einem sehr vorläufigem Stadium, aber da NetBSD ein Produktionslevel-Kernel ist, sollte sich die Verwendbarkeit von Debian GNU/NetBSD sehr rasch entwickeln. Im Augenblick ist Debian GNU/NetBSD für Intel x86 am weitesten fortgeschritten, aber die Arbeit an der Unterstützung für Alpha-basierende Computer hat bereits begonnen. Debian GNU/MiNT, (http://debian-mint.nocrew.org/) Dies ist eine experimentelle Portierung von Debian auf Basis des MiNT-Kernels, ein Unix-artiger Kernel für Atari m68k Computer. Debian Beowulf, (http://www.debian.org/ports/beowulf/) Obwohl nicht wirklich eine Portierung, so wird Beowulf doch ein Ersatz für viele Großrechner in Forschung und Entwicklung sein. Dieses Projekt arbeitet daran, Beowulf-Cluster unter Debian laufen zu lassen. Die Installation unterscheidet sich auf den verschiedenen Architekturen nur in der Aufteilung der Festplatte sowie im ersten Starten des Linux Kernels. Sobald das Debian GNU/Linux-Installationsprogramm gestartet ist, gestaltet sich die weitere Installation auf allen Architekturen gleich. In diesem Buch werden die notwendigen Schritte für einige Architekturen beschrieben. Natürlich gibt es, durch die unterschiedliche Hardware der verschiedenen Architekturen, einige Details zu beachten, aber dies ist auch bei unterschiedlichen i386-basierten Systemen der Fall. Beispielsweise trifft man bei der i386er-Familie auf diverse verschiedene Typen von Mäusen. Verbreitet sind hier Geräte mit seriellen und mit PS/2-Anschlüssen. Auf Apple Macintosh (m68k und powerpc) wird die Maus über den sogenannten ADB-Anschluß versorgt, die entsprechende Gerätedatei hierzu ist /dev/adbmouse. Man sollte sich also keinesfalls von der Lektüre dieses Buches oder der Installation von Debian GNU/Linux abhalten lassen, auch wenn man keinen i386-basierten Computer sein eigen nennt... Debian GNU/Linux wird aber auch den verschiedenen Ansprüchen an freie Software gerecht. Wenn Sie ein System mit 100% freier Software aufsetzen wollen, so wird Sie Debian GNU/Linux dabei unterstützen. Alle Programme im Bereich main sind von den Maintainern (Betreuern) der Pakete geprüft und entsprechend der Lizenz in diesen Bereich aufgenommen worden. Pakete in diesem Bereich unterliegen beispielsweise keinerlei Einschränkungen in der Nutzung oder in der Verteilung. Sie können diese zur Entwicklung von Gentechnik verwenden und diese Software in jedes Land der Welt exportieren oder von dort importieren. Man kann geteilter Meinung darüber sein, ob man Gentechnik unterstützen will oder nicht, die Lizenz zur Software läßt Ihnen aber jeden Weg frei... 20 Kapitel 1. Linux, Debian, Freie Software? 1.2.6. Vorteile von Debian Die Debian Distribution ist allgemein als qualitativ sehr hochwertig anerkannt. Administratoren die bereits auf Debian setzen wissen die Vorteile zu schätzen. Trotzdem kommt es häufig zu Diskussionen warum dieser Distribution der Vorzug gegenüber anderen, kommerziellen Distributionen gegeben werden sollte. Insbesondere bei strategischen Entscheidungen, beispielsweise der Umstellung oder Aktualisierung von einer großen Anzahl von Systemen, können die folgenden Fakten als Argumentationsgrundlage helfen. Das Debian Team hat die Vorteile von Debian auf der Webseite http://www.debian.org/intro/why_debian zusammengefasst. Debian wird von den Benutzern gewartet Das komplette Debian System wird von den Benutzern selber entwickelt. Einige hundert Entwickler betreuen jeweils ein oder mehrere Programmpakete die auch von dem jeweiligen Entwickler selbst eingesetzt werden. Daraus resultiert ein hohes Interesse an der Funktions- und Integrationsfähigkeit eines jeden Paketes. Sollte dennoch ein Problem auftauchen so wird der Entwickler mit Sicherheit ein hohes, persönliches Interesse an der schnellen Beseitigung des Problems haben. Zuverlässigkeit zuerst Debian setzt auf eine konservative Auswahl von Komponenten. Es ist wichtiger das das Gesamtsystem in jedem Fall funktioniert, auch wenn dafür an manchen Stellen auf etwas Komfort verzichtet werden muß. Als Beispiel sei hier die Verwendung des Kernels 2.2.x auch noch in der Debian Release 3.0 genannt. Auf den Einsatz des Kernels in der Version 2.4.x wurde verzichtet da das Team der Meinung ist das die neue Version noch nicht ausgereift genug ist und auch der Kernel 2.2 alle notwendigen Funktionen mitbringt. Natürlich stehen Pakete mit dem Kernel 2.4 zur Verfügung, diese können bei Bedarf einfach installiert werden. Lange Releasezyklen Die Lebensdauer einer Debian Version beträgt bisher mindestens ein Jahr. Debian 2.2 (potato) „überlebte“ sogar über 18 Monate. Dies bedeutet einen guten Investitionsschutz in die geleistete Arbeit. Natürlich bedeutet dies nicht das diese Version veraltet oder gar unsicher ist, Softwareupdates werden umgehend bei Bedarf zur Verfügung gestellt und können sehr einfach installiert werden. Sicherheit Debian nimmt die Sicherheit sehr ernst. Der grösste Teil der Probleme, auf die das Team aufmerksam wird, ist innerhalb von 48 Stunden korrigiert. Die Erfahrung zeigt, dass „Sicherheit durch Verschleierung“ (englisch: „security trough obscurity“) nicht funktioniert. Die öffentliche Entschleierung erlaubt es, bessere Lösungen für Sicherheits-Probleme schneller zu finden. Die Seite http://www.debian.org/security/ zeigt den Stand von Debian in bezug auf verschiedene bekannte Sicherheits-Mängel, die auch Debian betreffen könnten. Um die neuesten Debian Sicherheitsgutachten zu erhalten, tragen Sie sich in die debian-security-announce Mailing-Liste ein. Sie können apt verwenden, um ganz einfach die neuesten Sicherheitsupdates einzuspielen. Bitte schicken Sie sicherheitsspezifische Fehlermeldungen an security@debian.org. (Entwickler mögen die Mailing-Listen „debian-security“ und „debian-security-private“ verwenden, um die Mitglieder des Security Teams über Probleme in ihren Paketen zu informieren.) Einfach Installation Wenn Sie gehört haben, Linux und speziell Debian sei schwierig zu installieren, dann haben Sie noch keine aktuelle Debian-Version ausprobiert. Der Installations-Vorgang wird stetig verbessert. Sie können die Installation direkt von DOS, von CD oder über das Netzwerk vornehmen. Die Beschränkung auf den kleinsten gemeinsamen Nenner garantiert die Funktion auf jeder Hardware. 21 Kapitel 1. Linux, Debian, Freie Software? Upgradefähigkeit Ein Debian GNU System kann mit verschiedenen Methoden auf eine neue Version (beispielsweise von 2.2 auf 3.0) aktualisiert werden. Dies kann per CD-ROM oder per Netzwerk von einem Server erfolgen. Ein Neustart des Systems ist dabei nicht erforderlich. Auch Aktualisierungen über mehrere Versionen hinweg, beispielsweise von 1.3 direkt auch die Version 3.0, sind durch das ausgereifte Paketmanagement möglich. Dies ist im kommerziellen Umfeld ein nicht zu unterschätzender Vorteil, da so bestehende Systeme mit einer minimalen Downtime auf den aktuellen Stand gebracht werden können. Vergleiche mit andere Distributionen haben gezeigt das dies ein einmaliges Feature von Debian ist. Verfügbarkeit Debian ist nicht nur auf CD-ROMs verfügbar. Über 150 FTP Server weltweit stellen diese Distribution zur Verfügung, einer davon steht sicher auch in Ihrer Nähe. Ein Liste finden Sie unter http://www.debian.org/misc/README.mirrors. Architekturen Debian ist für die verschiedensten Hardwarearchitekturen verfügbar und unterstützt neben dem Linux Kernel beispielsweise auch den Hurd-Kernel (siehe Debian für alle!) Ein Administrator eines heterogenen Netzwerkes hat damit den Vorteil das gleiche Betriebssystem und sogar die gleiche Version auf allen Maschinen betreiben zu können. Dies senkt den Wartungsaufwand deutlich. Große Auswahl an Software-Paketen Debian beinhaltet fast 7000 verschiedene Software-Pakete. Jedes einzelne Stück ist freie Software. Wenn Sie kommerzielle Software einsetzen, die unter Linux läuft, dann können Sie diese immer noch benutzen - es kann sogar sein, dass es eine Installations-Routine in Debian gibt, die die Software automatisch installiert und einrichtet. Klare Trennung von Nicht-Freier Software Debian legt großen Wert auf den Einsatz von Freier Software. Sie können sicher sein das ausschliesslich Freie Software auf Ihrem System installiert wird, wenn Sie dieses System im kommerziellen Einsatz betreiben oder Systeme an Kunden verkaufen, so müssen Sie sich nicht um Lizenzen kümmern. Software die nicht unter einer Lizenz steht die den Anforderungen an Freie Software gerecht wird, kann natürlich auch eingesetzt werden, hierfür wurde der Bereich „non-free“ eingerichtet. Integration Debian Pakete sind sehr gut in das Gesamtsystem integriert. Diverse Programme und Werkzeuge tragen zu einem konsistenten und aufgeräumten System bei. Die Basis hierfür sind fein abgestimmte Abhängigkeiten (dependencies) zwischen den Paketen. Das Menüsystem, welches alle populären Programme in die Menüs der verschiedenen Windowmanager integriert, die Dokumentation zu allen Paketen welche sowohl auf der Kommandozeile als auch über Web verfügbar ist und die Unterstützung von verschiedenen Versionen eines Programmes (beispielsweise mehrere vim Versionen) machen Debian einmalig. Die Installation eines Paketes erzwingt durch die definierten Abhängigkeiten auch die Installation der benötigten Bibliotheken. Nicht-funktionierende Pakete nach der Installation gibt es somit unter Debian GNU nicht. Die übersichtliche Implementation der SysV Bootscripte vereinfacht die Administration und erleichtert die Fehlersuche. Updates werden so ebenfalls einfacher, auch wenn selber Veränderungen an den Scripten vorgenommen wurden. Zusätzlich können update-rc.d und rc benutzt werden um die SysV Initscripte durch eigene zu ersetzen. 22 Kapitel 1. Linux, Debian, Freie Software? Quellcode Für alle Pakete in der Distribution ist der Quellcode (Source) verfügbar. Die gesamte Distribution ist Freie Software nach den Debian Free Software Guidelines (Die Debian-Richtlinien für freie Software) das bedeutet, jeder kann Pakete verbessern und weitergeben. Der Quellcode der Pakete und die von Debian Team vorgenommenen Veränderungen werden in getrennten Dateien gehalten. Somit ist es nicht notwendig die kompletten Quellen zu besorgen wenn ein neues Debian Paket erstellt werden soll. Dies ist insbesonderen bei großen Paketen (emacs, XFree86, gcc usw.) wichtig und kann einiges an Kosten sparen. Hohe Qualität Die Betreuer (Maintainer) der Pakete haben ein hohes presönliches Interesse an den von ihnen betreuten Paketen. Die meisten von ihnen betreuen ein solches Paket weil sie es selber einsetzen. Das Ergebnis sind Pakete von höchster Qualität, die von hochmotivierten und technisch versierten Personen erstellt werden. Insgesamt führt dies zu einer hochqualitativen Distribution. Vorkonfiguration Jedes Debian Paket ist bereits sinnvoll vorkonfiguriert. Dadurch ist jedes Paket sofort nach der Installation einsatzbereit. Natürlich kann auch jedes Paket noch nachträglich von Hand konfiguriert werden. Die vorgenommenen Änderungen werden bei einem Update beibehalten. Fehlerdatenbank Das Bug Tracking System verwaltet alle bekannten Fehler in der Debian Distribution und ist öffentlich zugänglich. In den meisten Fällen werden Fehler in wenigen Tagen beseitigt. Es wird nicht versucht, die Tatsache, dass Software nicht immer so funktioniert wie sie soll, zu verheimlichen. Benutzer können Fehlerberichte einschicken und werden informiert, wenn der Fehlerbericht abgeschlossen wird. Dieses System erlaubt es dem Debian Team, auf Probleme sehr schnell und ehrlich zu reagieren. Die Geschichte zeigt, dass das Prinzip „Sicherheit durch Undurchschaubarkeit“ („security through obscurity“) nicht funktioniert. Qualitätssicherung Das Debian Projekt legt mehr Wert auf Qualität und Stabilität als auf schnelle Neuerscheinungen. Wenn eine neue Debian Version erscheint sind alle schwerwiegenden Fehler beseitigt und es wurde eine ausgiebige Testphase durchlaufen. Die gesamte Distribution wird von den Entwicklern und von interessierten Benutzern vom Anfang der Entwicklung an getestet. Die gesammte Entwicklungsversion steht während der gesamten Entwicklungszeit zum Download bereit. Einen Überblick über den aktuellen Stand der Pakete in Bezug auf bekannte Fehler kann man sich auf den Webseiten der „Debian Quality Assurance“ unter bugs.debian.org verschaffen. Remote Administration Das gesamte Debian GNU System kann remote Administriert werden. Dies umfasst sowohl die Konfiguration und die Paketverwaltung als auch das hinzufügen und löschen von Paketen. Dieses einmalige Feature von Debian kann ohne einen Reboot des Systems zur Aktualisierung eines Systems genutzt werden. Lediglich die grade aktualisierten Dienste stehen unter Umständen für einige Minuten nicht zur Verfügung. 23 Kapitel 1. Linux, Debian, Freie Software? Syslog Debian benutzt auch für die Logdateien der Programme eine einheitliche Struktur. Sie werden in den Dateien im Verzeichnis /var/log/ die Einträge finden die Sie dort erwarten. Support Debian hat kein Büro in irgendeinem Land dieser Welt mit einem Supportteam. Dies hat sich als großer Vorteil erwiesen, da alle Fragen auf den Mailinglisten innerhalb weniger Stunden beantwortet werden. Die Verantwortung für den Support wird somit von der Gemeinschaft der Debian Benutzer getragen und nicht in fremde Hände gegeben. Ein Frage, die Sie an eine der Mailing-Listen schicken, wird oft innerhalb einer Viertelstunde beantwortet, gratis und durch Entwickler. Vergleichen Sie das mit typischem Telefon-Support: Stunden am Telefon verbracht, gegen teureres Geld und nur um jemanden an den Draht zu bekommen, der das System nicht mal genügend gut kennt, um Ihre Frage zu verstehen. 1.2.7. Umfang der Distribution Auch wenn man die Größe betrachtet liegt die Debian Distribution ganz vorne. Hierbei bezieht sich Größe nicht nur auf die Anzahl der Pakete sondern auch auf die Anzahl der Codezeilen der Pakete. Ein Team von spanischen Debian Benutzern hat sich die Mühe gemacht verschiedene Daten zur Potato Release zsammenzutragen. Die Ergebnisse wurden bereits in verschiedenen Magazinen veröffentlicht und sind natürlich auch im Web unter http://people.debian.org/~jgb/debian-counting/ einzusehen. 1.2.8. Auf Debian GNU basierende Distributionen Debian GNU/Linux wird als Basis von einigen kommerziellen Distributionen eingesetzt. Die Hersteller ergänzen Debian an einigen Punkten wie zum Beispiel bei der Installation und legen ein gedrucktes Handbuch bei. Support vom Hersteller via Telefon oder E-Mail wird teilweise ebenfalls geboten. Dem Open Source Gedanken entsprechend stellen die Hersteller Teile oder auch die gesamten Eigenentwicklungen wieder als Freie Software zur Verfügung. Einige dieser Entwicklungen sind auch bereits in die Debian GNU/Linux Distribution eingeflossen. Natürlich gibt es auch einige Distributionen die auf Debian basieren und ebenfalls freie Software sind. Die solide Basis von Debian ist in allen Entwicklerlagern hochgeschätzt. Natürlich stellen die Entwickler während der Arbeit an dem Produkt auch Fehler in der Software oder in den Debian Paketen fest. Auch diese Ergebnisse werden gemeldet bzw. von en Entwicklern gleich gefixt und fliessen wieder in das Gesamtprojekt ein. Folgende Distributionen basieren aus Debian GNU/Linux: Corel Linux Homepage: http://linux.corel.com. VA Linux Homepage: http://www.valinux.com. FederalLinux Homepage: http://rhinohide.cx/fedlinux/. Stormix Leider mußte die Firma Stormix den Geschäftsbetrieb aufgrund von finanziellen Schwierigkeiten einstellen. Homepage: http://www.stormix.com/. 24 Kapitel 1. Linux, Debian, Freie Software? Demudi (Debian Multimedia Distribution) ist keine eigentliche Distribution. Auf der Basis von Debian GNU/Linux wurde die Distribution um Multimedia Pakete (Audio, Grafik und Video) ergänzt. Weiterhin wurde der Kernel um mit Realtime Funktionen ausgestattet um die Bearbeitung von Daten in Echtzeit zu ermöglichen. Homepage: http://www.demudi.org. Tomukas Tomukas ist eine auf Debian basierende Distribution die auch auf Rechnern mit nur 4MB Hauptspeicher und 386er Prozessor installierbar ist. Auch wenn diese Distribution sehr klein gehalten ist, ist eine Festplatte zur Installation und zum Betrieb notwendig. Homepage: http://melkor.dnp.fmph.uniba.sk/~garabik/tomukas/. Progeny Homepage: http://www.progeny.com. Openrock Homepage: http://www.openrock.net. Debian JP Homepage: http://www.debian.or.jp/. PingOO Homepage: http://www.linuxedu.org/. Linux-YeS Homepage: http://eugene.mplik.ru/doc/lys/. M.N.I.S. Linux Homepage: http://www.mnis.fr/. Linux Router Project Homepage: http://www.linuxrouter.org/. KNOPPIX KNOPPIX ist eine komplett von CD lauffähige Zusammenstellung von GNU/Linux-Software mit automatischer Hardwareerkennung und Unterstützung für viele Grafikkarten, Soundkarten, SCSI-Geräte und sonstige Peripherie. KNOPPIX kann als Linux-Demo, Schulungs-CD, Rescue-System oder als Plattform für kommerzielle Software-Produktdemos angepasst und eingesetzt werden. Es ist keinerlei Installation auf Festplatte notwendig. Auf der CD können durch transparente Dekompression bis zu 2 Gigabyte an lauffähiger Software installiert sein. Homepage: http://www.knoppix.de/. Floppix Homepage: http://floppix.ccai.com/. Dlite Homepage: http://opensrc.org/dlite/dlite.html. Homepage: http://www.libranet.com/. 25 Kapitel 1. Linux, Debian, Freie Software? 1.2.9. Das Debian GNU Logo Das Debian Logo ist in zwei Versionen, einer offiziellen und einer öffentlichen, verfügbar. Die öffenliche Version kann immer verwendet werden wenn auf das Debian Projekt verwiesen werden soll. Ein Link auf die Webseite des Projektes sollte dabei selbstverständlich sein. Abbildung 1-3. „Open Use“ Logo - „Swirl“ Das Offizielle Logo darf nur im Zusammenhang mit Produkten eingesetzt werden die mittels einer dokumentierten Prozedur hergestellt wurden, beispielsweise die offiziellen Debian CD-ROMs, oder wenn eine besondere Genehmigung vom Projekt vorliegt. Abbildung 1-4. Offizielles Logo 26 Kapitel 1. Linux, Debian, Freie Software? Beide Logos finden sich in den verschiedensten Formaten auf der Seite http://www.debian.org/logos/. Weiterhin ist das Debian Logo auch im ASCII Format verfügbar. Diese Version kann beispielsweise als Ersatz für die Datei /etc/issue dienen. Farbige ASCII-Versionen des Logos finden sich zum Beispiel unter http://people.debian.org/~arthur/debian-issue.sh und http://people.debian.org/~jaqque/debian-issue.sh . Hier eine einfache Version: _,met$$$$$gg. ,g$$$$$$$$$$$$$$$P. ,g$$P"" """Y$$.". ,$$P’ ‘$$$. ’,$$P ,ggs. ‘$$b: ‘d$$’ ,$P"’ . $$$ $$P d$’ , $$P $$: $$. - ,d$$’ $$; Y$b._ _,d$P’ _, _, ,’‘. Y$$. ‘.‘"Y$$$$P"’ ‘$$’ ‘$$’ ‘. ,’ ‘$$b "-.__ $$ $$ ‘’ ‘Y$$b $$ $$ _, _ ‘Y$$. ,d$$$g$$ ,d$$$b. $$,d$$$b.‘$$’ g$$$$$b.‘$$,d$$b. ‘$$b. ,$P’ ‘$$ ,$P’ ‘Y$. $$$’ ‘$$ $$ "’ ‘$$ $$$’ ‘$$ ‘Y$$b. $$’ $$ $$’ ‘$$ $$’ $$ $$ ,ggggg$$ $$’ $$ ‘"Y$b._ $$ $$ $$ggggg$$ $$ $$ $$ ,$P" $$ $$ $$ ‘"""" $$ ,$$ $$. $$ ,$P $$ $$’ ,$$ $$ $$ ‘$g. ,$$$ ‘$$._ _., $$ _,g$P’ $$ ‘$b. ,$$$ $$ $$ ‘Y$$P’$$. ‘Y$$$$P’,$$$$P"’ ,$$. ‘Y$$P’$$.$$. ,$$. 1.3. Debian GNU/Hurd GNU Hurd ist ein Unix-Kernel des GNU-Projektes. Hurd besteht, im Gegensatz zum monolitischen Linux-Kernel, aus einem kleinen, dem sogenannten Mikro-Kernel, und vielen als Modulen ausgelegten Erweiterungen. Diese Module können Treiber für Hardware oder verschiedene Dateisysteme sein. Auch beim Linux-Kernel ist es bereits möglich viele Funktionen als Modul zu übersetzen und so den eigentlichen Kernel klein zu halten. Der Linux-Kernel wurde jedoch nicht von Anfang an für ein modulares Konzept ausgelegt so das die Möglichkeiten hier beschränkt sind. Ein fehlerhafter SCSI-Treiber beispielsweise kann das gesamte System lahmlegen. Das dem Hurd-Kernel zugrundeliegende Konzept eines Mikro-Kernels erlaubt es Treiber (für verschiedene Hardware oder Dateisysteme beispielsweise) wie ein normales Programm einzubinden. Ein fehlerhafter Treiber wird so bei einem Absturz nicht auch noch den Kernel mitreissen. Einige Debian Entwickler unterstützen seit einigen Monaten die Entwicklung von Hurd indem sie Pakete für den Hurd Kernel übersetzen und im Netz zur Verfügung stellen. Alle zur Paketverwaltung notwendigen Werkzeuge stehen zur Verfügung. Für die eigentliche Installation von Debian GNU/Hurd stehen bereits CD-Images zum Download bereit. Diese basieren momentan noch auf den Bootdisketten vom Debian GNU/Linux i386, für die Installation von Hurd müssen Sie einmalig für kurze Zeit auf einen Linux Kernel zurückgreifen. Die CD-Images sind bootfähig und sind für die Installation von Debian GNU/Hurd angepasst worden. Debian GNU/Hurd ist ein Debian GNU-System, das den Hurd-Kernel verwendet. Abgesehen vom Kernel-Management wird es genauso installiert und gewartet wie Debian GNU/Linux. Momentan unterstützt 27 Kapitel 1. Linux, Debian, Freie Software? Hurd lediglich die i386-Architektur, wird aber in Zukunft sicher auch auf andere Architekturen portiert oder auch andere Microkernel benutzen. Weitere Informationen zu Debian GNU/Hurd finden sich auf der Seite http://kt.linuxcare.com/debian-hurd/. 1.4. Freie Software / Open Source Debian GNU/Linux ist freie Software, auch Open Source Software genannt – aber warum muß man dann für Debian GNU/Linux etwas bezahlen? Freie Software unterscheidet sich von Freibier in einem ganz entscheidenden Punkt: im Preis. Sicher kann es auch schon mal passieren, daß man eine Debian GNU/Linux-CD kostenlos bekommt, aber der Begriff freie Software beschreibt nicht das Verschenken von CDs. Der Preis, den Sie für eine Debian GNU/Linux-CD bezahlen, setzt sich aus den Kosten für die Zusammenstellung der CD sowie dem Herstellungsprozeß, also dem Pressen der CDs und dem Druck der Dokumentation und des Covers, sowie den Kosten, die dem Hersteller der CDs für den Download der Software entstehen, und schließlich auch den Vertrieb der Pakete, zusammen. Sie können die Debian GNU/Linux-Software auf so vielen Rechnern wie Sie möchten installieren; es fallen keinerlei Lizenzkosten pro Installation an. Sie können die Debian GNU/Linux-CDs beliebig an Freunde und Bekannte verleihen oder auch Kopien der CDs weitergeben, ohne Lizenzkosten. Sie können Debian GNU/Linux auf Ihrem Rechner zuhause oder in der Firma installieren, Sie zahlen nichts extra dafür. Natürlich können Sie Debian GNU/Linux aus dem Internet von einem der vielen Debian GNU/Linux FTP-Server kopieren und installieren. Bei den momentanen Kosten für Internetzugänge ist dies aber sicherlich teurer als eine CD-ROM. Zu jedem Debian GNU/Linux-Paket sind auf den FTP-Servern im Verzeichnis source/ die Programme im Quellcode (source) verfügbar. Diese stehen jedermann zur Verfügung und jeder kann an der weiteren Entwicklung teilnehmen. Die Möglichkeit, Änderungen an den Quellen vorzunehmen und diese Änderungen an die Hauptentwickler zu geben, damit diese die Änderungen in das Programm aufnehmen, machen die hohe Effektivität der Open Source Software aus. Achten Sie darauf, wenn Sie an der Entwicklung freier Software teilnehmen wollen: nicht jedes Programm, das sich als „Open Source“ bezeichnet, erfüllt dieses Kriterium. Es geht nicht allein darum, Einblick in den Quellcode zu gewähren, wichtig ist auch, daß es jedermann freisteht, Änderungen vorzunehmen und daß auch diese wieder für jedermann zugänglich gemacht werden, indem die Änderungen in den Quellcode einfließen. Ein dritter entscheidender Punkt ist, daß alle freie Software auch für alle Zeit freie Software bleiben muß. Dies schützt freie Softwareprojekte davor, daß irgend jemand freie Software zu seinem Eigentum erklärt und „eigene“ Produkte daraus erstellt. Im Anhang finden Sie einige Links zu weiteren Informationen zu diesem recht komplexen Thema. Freie Software zeichnet sich weiterhin dadurch aus, daß die Verwendung dieser Software wirklich frei ist, Sie können diese Software einsetzen, wofür Sie wollen, zuhause, im Büro, privat, kommerziell, zum Spielen, zur Produktion von Filmen, zur Produktion von Waffen. Dieser letzte Punkt mag abschreckend klingen, aber niemand soll in der Verwendung freier Software reglementiert werden. Es gibt viele verschiedene Lizenzen für „freie Software“: einige sind mehr, andere weniger „frei“. Wenn Sie sich für den Einsatz eines speziellen Programms in einem speziellem (zum Beispiel im kommerziellen Einsatz) Bereich interessieren, lesen Sie die Lizenzbedingungen der jeweiligen Software. Diese Lizenzen finden Sie unter /usr/doc/ beziehungsweise /usr/share/doc/. Richard Stallman fasste dies in den frühen 80er Jahren zusammen und formulierte vier „Freiheiten“: 0. Freiheit: Die Freiheit, ein Programm für jeden Zweck einsetzen zu dürfen 1. Freiheit: Die Freiheit, untersuchen zu dürfen, wie ein Programm funktioniert, und es den eigenen Bedürfnissen anzupassen 28 Kapitel 1. Linux, Debian, Freie Software? 2. Freiheit: Die Freiheit, Kopien für Andere machen zu dürfen 3. Freiheit: Die Freiheit, das Programm verbessern zu dürfen und diese Verbesserungen zum allgemeinen Wohl zugänglich zu machen 1.4.1. Open Source Initiative (OSI) Die OSI ist eine non-profit Organisation mit dem Zweck der Organisation und Verbreitung der Open Source Definition zum Nutzen der Community. Abbildung 1-5. Open Source Initiative - Logo Informationen über die Struktur und Organisation der OSI sowie die verschiedenen Lizenzen für Open Source Software finden sich auf den Open Source Initiative Webseiten. Die von der OSI veröffentlichte „Definition quelloffener Software“ geht auf die von Bruce Perens begonnenen ersten Versionen der „Debian Free Software Guidelines (DFSG)“ zurück. Die DFSG wurden im Juni 1997, nach einer monatlangen E-Mail Konferenz, endgültig fertiggestellt. Bruce entfernte die Debian spezifischen Passagen im Text und schuf so die erste Version der „Open Source Definition“. 1.4.1.1. Geschichte der OSI Die Vorgeschichte der Open Source Initiative beruht auf der gesamten Entwicklungsgeschichte von Unix, der im Internet entwickelten Freien Software und der „Hacker Kultur“. Das „Open Source“ Label selbst entstand im Rahmen eines strategischen Treffens am 3. Februar 1998 in Palo Alto, California. Dabei waren unter anderem anwesend: Todd Anderson, Chris Peterson (Foresight Institute), John „maddog“ Hall und Larry Augustin (beide Linux International), Sam Ockman (Silicon Valley Linux User’s Group) und Eric Raymond. Dieses Treffen, welchem viele Diskussionen auf Mailinglisten vorangingen, war eine Reaktion auf die Ankündigung der Firma Netscape die Sourcen ihrers Browsers freizugeben. Dieses Projekt wurde später unter dem Namen Mozilla bekannt. Eric Raymond wurde von der Firma Netscape im Vorfeld der Ankündigung gebeten bei der Freigabe des Quellcodes und den damit verbundenen Formalitäten zu helfen. Die Open Source Definition ist von den Debian Free Software Guidelines abgeleitet. Bruce Perens verfasste die erste Version, welche durch den regen E-Mail Kontakt mit verschiedenen Debian Enwicklern im Juni 1997 verfeinert wurde. Die Open Source Initiative ist mittlerweile als „California public benefit“ (eine nicht-kommerzielle) Vereinigung anerkannt. Die Adresse für Spenden lautet: 29 Kapitel 1. Linux, Debian, Freie Software? Law Offices of Lawrence E. Rosen 702 Marshall St. Ste. 301 Redwood City, CA 94063 1.4.1.2. Die Definition quelloffener Software ("Open Source Software") Version 1.9 Einführung „Quelloffen“ („Open Source“) bedeutet nicht nur freien Zugang zum Quellcode. Bei quelloffener Software müssen die Lizenzbestimmungen in Bezug auf die Weitergabe der Software folgenden Kriterien entsprechen: 1. Freie Weitergabe Die Lizenz darf niemanden in seinem Recht einschränken, die Software als Teil eines Software-Paketes, das Programme unterschiedlichen Ursprungs enthält, zu verschenken oder zu verkaufen. Die Lizenz darf für den Fall eines solchen Verkaufs keine Lizenz- oder sonstigen Gebühren festschreiben. 2. Quellcode Das Programm muss den Quellcode beinhalten. Die Weitergabe muss sowohl für den Quellcode als auch für die kompilierte Form zulässig sein. Wenn das Programm in irgendeiner Form ohne Quellcode weitergegeben wird, so muss es eine allgemein bekannte Möglichkeit geben, den Quellcode zum Selbstkostenpreis zu bekommen, vorzugsweise als gebührenfreien Download aus dem Internet. Der Quellcode soll die Form eines Programms sein, die ein Programmierer vorzugsweise bearbeitet. Absichtlich unverständlich geschrieb ner Quellcode ist daher nicht zulässig. Zwischenformen des Codes, so wie sie etwa ein Präprozessor oder ein Konverter ("Translator") erzeugt, sind unzulässig. 3. Abgeleitete Software Die Lizenz muss Veränderungen und Derivate zulassen. Außerdem muss sie es zulassen, dass die solcherart entstandenen Programme unter denselben Lizenzbestimmungen weitervertrieben werden können wie die Ausgangssoftware. 4. Unversehrtheit des Quellcodes des Autors Die Lizenz darf die Möglichkeit, den Quellcode in veränderter Form weiterzugeben, nur dann einschränken, wenn sie vorsieht, dass zusammen mit dem Quellcode so genannte "Patch files" weitergegeben werden dürfen, die den Programmcode bei der Kompilierung verändern. Die Lizenz muss die Weitergabe von Software, die aus verändertem Quellcode entstanden ist, ausdrücklich erlauben. Die Lizenz kann verlangen, dass die abgeleiteten Programme einen anderen Namen oder eine andere Versionsnummer als d e Ausgangssoftware tragen. 5. Keine Diskriminierung von Personen oder Gruppen Die Lizenz darf niemanden benachteiligen. 6. Keine Einschränkungen bezüglich des Einsatzfeldes Die Lizenz darf niemanden daran hindern, das Programm in einem bestimmten Bereich einzusetzen. Beispielsweise darf sie den Einsatz des Programms in einem Geschäft oder in der Genforschung nicht ausschließen. 7. Weitergabe der Lizenz Die Rechte an einem Programm müssen auf alle Personen übergehen, die diese Software erhalten, ohne dass für diese die Notwendigkeit bestünde, eine eigene, zusätzliche Lizenz zu erwerben. 8. Die Lizenz darf nicht auf ein bestimmtes Produktpaket beschränkt sein Die Rechte an dem Programm dürfen nicht davon abhängig sein, ob das Programm Teil eines bestimmten Software-Paketes ist. Wenn das Programm aus dem Paket herausgenommen und im Rahmen der zu diesem Programm gehörenden Lizenz benutzt oder weitergegeben wird, so sollen alle Personen, die dieses Programm dann erhalten, alle Rechte daran haben, die auch in Verbindung mit dem ursprünglichen Software-Paket gewährt wurden. 9. Die Lizenz darf die Weitergabe zusammen mit anderer Software nicht einschränken 30 Kapitel 1. Linux, Debian, Freie Software? Die Lizenz darf keine Einschränkungen enthalten bezüglich anderer Software, die zusammen mit der lizenzierten Software weitergegeben wird. So darf die Lizenz z. B. nicht verlangen, dass alle anderen Programme, die auf dem gleichen Medium weitergegeben werden, auch quelloffen sein müssen. 1.5. SPI - Software in the Public Interest SPI ist eine Non-profit-Organisation, die gegründet wurde, um Projekten, die Software für die Allgemeinheit entwickeln, zu helfen. Sie ermutigt Programmierer, die GNU General Public License (GPL) oder eine andere Lizenz die freie Weiterverbreitung und den freien Gebrauch der Software erlaubt, zu benutzen. Hardware-Entwickler ermutigt SPI, die Dokumentation zu ihrer Arbeit zu veröffentlichen, damit Treiber für ihre Produkte geschrieben werden können. SPI wurde am 16. Juni 1997 als Non-profit-Organisation im Staat New York der USA gegründet. Seitdem wurde sie eine Schirm-Organisation für verschiedene Projekte der Gemeinschaft. Die Statuten und das Gründungs-Zertifikat definieren das Ziel und die Arbeitsweise von SPI. SPI hat einen Vorstand, der aus vier Mitgliedern besteht: einem Präsidenten, einem Vize-Präsidenten, einem Beisitzer und einem Kassierer. SPI unterstützt momentan folgende Projekte: Berlin, Debian, GNOME, LSB, Open Source, Open Hardware. Wenn Sie etwas an SPI spenden möchten oder nicht auf elektronischem Wege kommunizieren wollen, erreichen Sie SPI unter der Adresse: Software in the Public Interest, Inc. PO BOX 273 Tracy, CA 95378-0273 USA Weitere Informationen zu SPI finden Sie im Internet. 1.6. Wie und wo bekomme ich Debian GNU/Linux? Die Bezugsquellen für Debian GNU/Linux sind recht vielfältig, auch wenn man nicht an jeder Ecke über diese Distribution stolpert, wie bei anderen. Debian wurde auch schon als Beilage in Zeitschriften gesichtet, dies ist aber seltener der Fall. 1.6.1. Internet Aktuellste Bezugsquelle ist natürlich der Debian FTP-Server sowie seine weltweiten Mirrors. Der Debian FTP-Server ist unter ftp://ftp.debian.org zu erreichen, allerdings sollten Sie einen mirror in Ihrer Nähe benutzen, Sie erreichen mit ziemlicher Sicherheit hier bessere Übertragungsraten. Eine aktuelle Liste aller Debian FTP-Server finden Sie unter: ftp://ftp.de.debian.org/debian/README.mirrors.html. Das Debian-Team unterscheidet zwei Klassen von FTP-Servern: sogenannte „primary-“ und „secondary mirror sites“. Ein Primary Server hat eine sehr gute Anbindung ans Netz, ist 24 Stunden am Tag verfügbar und hat einen leicht zu merkenden Namen in der Form: ftp.<country>.debian.org . Natürlich werden diese mirrors ständig automatisch mit dem Debian Master Server abgeglichen. Ein Secondary Server ist meist schlechter angebunden und führt oft keine komplette Kopie des Debian Servers. Versuchen Sie immer, den Ihnen am nächsten gelegenen Server zu benutzen, hier haben Sie in der Regel die besten Übertragungsraten. Ein geographisch nahegelegener Server muß dabei nicht zwingend der schnellste sein, das Programm netselect hilft Ihnen, den optimalen Server zu ermitteln. Für den deutschsprachigen Raum stehen die beiden Server ftp://ftp.de.debian.org (Deutschland) (dieser ist auch als ftp://ftp.debian.de erreichbar) sowie ftp://ftp.at.debian.org (Österreich) zur Verfügung. Beide führen auch den Bereich Non-US, welcher Programme enthält, die aufgrund von Exportbeschränkungen oder Softwarepatenten nicht in den USA verteilt werden darf. 31 Kapitel 1. Linux, Debian, Freie Software? Die Benutzung eines solchen FTP-Servers ist kostenfrei, bedenken Sie aber, daß der Download von großen Datenmengen trotzdem Kosten hervorruft, Sie finden diese spätestens auf ihrer nächsten Rechnung für Ihren Telefonanschluß. Weitere Kosten können bei Ihrem Internetprovider entstehen, wenn dort nach Onlinezeit oder Übertragungsvolumen abgerechnet wird. 1.6.2. CD-ROMs Einfacher und meist auch kostengünstiger ist es, sich Debian GNU/Linux auf einer CD-ROM zu beschaffen. Auch für die Beschaffung einer CD-ROM finden Sie Informationen auf den Debian-Webseiten unter: http://www.debian.org/distrib/vendors . Bereits seit mehreren Jahren vertreibt die Fachbuchhandlung Lehmanns die Debian GNU/Linux Distribution auf CD-ROM. Sie können die CDs auch unter http://www.lob.de online bestellen. Hier sind die Debian GNU/Linux 2.2-CDs für i386 und powerpc sowie die sourcen verfügbar. Lehmanns betreibt auf Ihrem Server auch die deutschsprachige Mailingliste zu Debian. Um an dieser Mailingliste teilzunehmen, schreiben Sie einfach eine E-Mail an majordomo@jfl.de mit dem Text: subscribe debian-user-de. Der Betreff (Subject) der Mail ist hierbei gleichgültig. Diese Mailingliste ist relativ stark frequentiert, machen Sie sich also auf einige Mails pro Tag gefaßt. Bei LinuxLand International (http://www.linuxland.de) können Sie ebenfalls ein Paket mit Debian CDs inklusive der deutschen Übersetzung von „Debian GNU/Linux Guide“ von Goerzen, Othman und Bramer. Dieses Paket ist nur für die i386-Architektur erhältlich. Wenn Sie Interesse an Debian GNU/Linux 2.2-CDs für irgendeine Architektur haben, schreiben Sie einfach dem Autor dieses Buches eine freundliche E-Mail... Dort erhalten Sie auch CDs der jeweiligen „unstable“ Version von Debian GNU/Linux. Unter http://www.openoffice.de finden Sie ein umfassendes Angebot für alle Architekturen. Soweit es sinnvoll ist werden dort auch CDs der in der Entwicklung befindlichen Version (unstable) angeboten. Auf dem gleichen Server finden Sie im übrigen auch immer die aktuelle Version dieses Buches. Die von OpenOffice bezogenen CDs werden aktuell auf CD gebrannt, somit ist die Aktualität der Programme sichergestellt. Natürlich können Sie sich auch von einem anderen Debian-Freund eine CD kopieren, dies ist sicher die preiswerteste Variante, um an Debian zu kommen. 1.6.3. Usergroups & Installationspartys Von den vielen Linux Usergroups werden häufig sogenannte Installationspartys durchgeführt. Auf diesen besteht die Möglichkeit, unter fachlicher Anleitung neben anderen Distributionen auch Debian GNU/Linux auf dem mitgebrachten Rechner zu installieren. Eine Linux Usergroup in Ihrer Nähe finden Sie über die Liste der deutschsprachigen Linux Usergroups des Linux Magazins: http://www.linux-magazin.de/Usergroups/. Grundsätzlich kann der Besuch bei einer solchen Linux Usergroup nur jedem Interessierten nahegelegt werden, der dort mögliche Erfahrungsaustausch ist sehr hilfreich und die meisten auftretenden Probleme bei der Installation und beim Betrieb von Debian GNU/Linux lassen sich dort schnell lösen. 1.6.4. Bücher zu Debian GNU/Linux Mittlerweile gibt es eine ganze Reihe Bücher zu Debian GNU/Linux. Erfreulicherweise sind auch einige deutschsprachige Werke darunter. Deutschsprachige Bücher Titel: Debian GNU/Linux Autor: Ganten, Peter H. Untertitel: Grundlagen, Installation, Administration und Anwendung Datum/Seiten: 2000, 792 Verlag: Springer, Berlin 32 Kapitel 1. Linux, Debian, Freie Software? Titel: Debian GNU/Linux PowerPack Autor: Ganten, Peter H. Untertitel: Grundlagen, Installation, Administration und Anwendung Beschreibung: Die komplette offizielle Debian Distribution auf CD Datum/Seiten: 2000, 792 Verlag: Springer, Berlin Titel: Debian GNU/Linux Guide Autoren: John Goerzen, Ossama Othman Beschreibung: Übersetzung des offiziellen "Debian GNU/Linux Guide". Seiten: 362 Titel: Debian GNU/Linux-Anwenderhandbuch Autor: Ronneburg, Frank Datum/Seiten: 2001, 600 Verlag: Addison-Wesley, München Titel: Debian GNU/Linux-Anwenderhandbuch Autor: Ronneburg, Frank Datum/Seiten: 2001, 600 Verlag: Lehmanns Sonderausgabe (Originalverlag Addison Wesley) Titel: Debian GNU/Linux-Anwenderhandbuch, mit 6 CD-ROMs Debian GNU/Linux 2.2 Autor: Ronneburg, Frank Datum/Seiten: 2001, 600 Verlag: Lehmanns Sonderausgabe (Originalverlag Addison Wesley) Englischsprachige Bücher Titel: Debian GNU/Linux Autor: John Goerzen and Ossama Othman Untertitel: Guide to Installation and Usage Datum/Seiten: 1999, 200 Verlag: New Riders Titel: Learning Debian GNU/Linux Autor: McCarty, B. Untertitel: A Guide to Debian GNU/Linux for New Users Datum/Seiten: 1999 Verlag: O’Reilly Titel: Debian GNU/Linux for dummies Autor: Bellomo, Michael Datum/Seiten: 2000, 384 Verlag: IDG Books Titel: Installing Debian GNU/Linux Autor: Down, Thomas Datum/Seiten: 1999, 250 Seiten Verlag: Sams Publishing Titel: Debian GNU/Linux 2.1 Unleashed mit CD-ROM Autoren: Camou, Mario; Goerzen, John; VanCouwenberghe, Aaron Datum/Seiten: 2000 Verlag: Sams Publishing 33 Kapitel 1. Linux, Debian, Freie Software? Titel: Debian GNU/Linux Bible Autor: Steve Hunger Seiten: 696 Verlag: Hungry Minds, Inc 1.7. Informationen im Netz An dieser Stelle folgen einige Hinweise auf weitere Informationsquellen im Internet, die zu Rate gezogen werden können falls Sie nicht die gewünschten Informationen in diesem Buch finden (was aber kaum vorstellbar ist :-)). Auf den Seiten des Debian Projektes finden sich Informationen zur Unterstützung bei Debian Problemen unter http://www.debian.org/support/. 1.7.1. Mailinglisten Die deutschsprachige Mailingliste zu Debian wird auf dem Server der Buchhandlung Lehmanns zur Verfügung gestellt. Um an dieser Mailingliste teilzunehmen, schreiben Sie einfach eine E-Mail an majordomo@jfl.de mit dem Text: subscribe debian-user-de. Der Betreff (Subject) der Mail ist hierbei gleichgültig. Diese Mailingliste ist relativ stark frequentiert, machen Sie sich also auf einige Mails pro Tag gefaßt. Nach der Anmeldung bekommt jeder Teilnehmer einmalig die FAQ (Frequently Asked Questions - Häufig gestellte Fragen (und Antworten)) dieser Mailingliste zugeschickt. Diese ist auch im Web verfügbar unter: http://www.sylence.de/dudfaq/debian-user-de-FAQ.html. Ein Archiv dieser Mailingliste findet sich gleich an mehreren Stellen im Netz http://www.jfl.de/cgi-bin/asche.scripte/debianliste (Webbasiertes Archiv bei Lehmanns mit Volltextsuche), http://www.geocrawler.com/lists/3/Debian-Linux/249/0/ (Webbasiertes Archiv bei Mail-Archive), http://www.infodrom.ffis.de/Mail-Archive/index.php3?list=debian-user-de (Webbasiertes, monatliches Archiv bei Infodrom Oldenburg). Eine Übersicht über die Mailinglisten des Debian Projektes finden sich auf den Webseiten unter http://www.debian.org/MailingLists/. Mit Ausnahme einiger spezieller Liste die sich mit den landessprachlichen Besonderheiten befassen, ist die Sprache auf diesen Listen englisch. 1.7.2. Webseiten Neben der eigenlichen Debian Webseite (www.debian.org) ist eine interessante Informationsquelle die wöchentlich erscheinenden „Debian Weekly News“. In diesem Newsletter wird über wichtige Änderungen in der Debian Distribution, über Diskussionen auf den Mailinglisten und anderer Klatsch und Tratsch berichtet. Zu finden sind die Debian Weekly News unter http://www.debian.org/News/weekly/. Bereits vor der Veröffentlichung sind die Seiten unter www.infodrom.org/~joey/Writing/DWN/ zu finden. Auch ausserhalb des Debian Projektes gibt es einige Webseiten zum Thema Debian, von denen hier nur eine Auswahl gezeigt werden kann. Auf der Debian Webseite findet sich unter http://www.debian.org/related_links eine Liste weiterer Links zu Linux und Debian. Als deutschsprachiges Forum im Web wären http://www.debianforum.de/ und http://forum.winner.de/forumdisplay.php?forumid=18 zu nennen. 1.7.2.1. debianHELP http://www.debianhelp.org/ 34 Kapitel 1. Linux, Debian, Freie Software? 1.7.2.2. debianPlanet http://www.debianplanet.org/ 1.7.2.3. apt-get.org - inoffizielle Debian Pakete Auf der Seite www.apt-get.org finden sich Hinweise zu nicht offiziellen Debian Paketquellen im Netz. Betreuer von solchen inoffiziellen Debian Paketen können ihre Seiten dort selbst anmelden. Hier finden sich beispielsweise Pakete zu XFree 4.2.x die zum Zeitpunkt der Veröffentlichung von Debian 3.0 (woody) noch nicht verfügbar waren und auch nachträglich nicht in diese Version von Debian aufgenommen wurden. 1.7.3. IRC IRC ( Internet Relay Chat) ist eine Möglichkeit sich in Echtzeit mit anderen Personen auf der gesamten Welt zu unterhalten. Ein IRC-Kanal speziell für Debian kann im Open Projects IRC Netzwerk genutzt werden. Das „Open Projects Network“ wurde von Robert (lilo) Levin gegründet um der Free Software Community bei der Arbeit zu helfen. Eine ausführliche deutschprachige Anleitung zum IRC findet sich unter http://duplox.wz-berlin.de/texte/rps/. Im IRC haben sich einige Verhaltensregeln etabliert die auch von neuen Benutzern berücksichtigt werden sollten. Eine Übersicht die in den deutschsprachigen Linux Channels zusammengestellt wurde findet sich unter http://www.linuxger.de/LinuxGER.html. Eine ähnliche Seite speziell für den Channel #debian ist unter http://channel.debian.de/faq/. zu erreichen. Um sich mit dem Netzwerk zu verbinden, benötigen Sie einen IRC-Client. Einige der bekanntesten sind ircII, BitchX, tkirc, X-Chat und Zircon, diese sind auch als Pakete verfügbar. Wenn Sie den Client installiert haben, müssen Sie ihm mitteilen, sich zu dem entsprechenden Server zu verbinden. Benutzen Sie dabei irc.debian.org oder irc.eu.openprojects.net. In den meisten Clients erreichen Sie dieses, in dem Sie folgendes eingeben: /server irc.debian.org Wenn Sie verbunden sind, kommen Sie in den Kanal #debian durch Eingabe von /join #debian Neben dem Kanal #debian finden sich noch weitere Kanäle auf dem Server irc.eu.openprojects.net die sich mit Debian GNU beschäftigen. Das Debian Projekt nutzt die Infrastruktur des Open Projects Network für folgende Kanäle: • #debian - hier kommunizieren Benutzer und Entwickler, bitte beachten Sie das dieser Channel ziemlich überlaufen ist. • #debian-boot - in diesem Kanal werden Fragen zu den Debian Bottdisketten und dem Debian Installationsystem (debian-installer) diskutiert. Dieser Kanal ist nicht für den Support von Benutzern gedacht. • #debian-jr - hier finden sich interessierte Mitstreiter die am internen Projekt „Debian Junior (Jr.)“ mitarbeiten wollen. Dieses Projekt beschäftigt sich mit Debian Paketen für Kinder in allen Alterstufen. • #debian.de - der deutschsprachige Debian Kanal. Weitere Kanäle befassen sich mit verschiedenen Landessprachen, wie zum Beispiel Französisch (#debian-fr), Russisch (#debian-ru) und Japanisch (#debianja und #debian-jp). Im Kanal #debian-br finden sich Brasilianische Debian Nutzer, dort werden auch Themen der Übersetzung von Debian diskutiert. Natürlich finden sich auch im deutschprachigen Teil des Internets Server auf denen man Debian Benutzer findet. Allen voran steht hier das „IRCNet“, welches im Sprachgebrauch einfach als IRC bezeichnet wird. Das IRCnet besteht in Deutschland hauptsächlich aus IRC-Servern, die auf Universitätsrechnern laufen. Leider nimmt die Zahl drastisch ab, seit viele dieser Server missbraucht wurden. Einige Server sind hier aufgelistet. 35 Kapitel 1. Linux, Debian, Freie Software? Der Server irc.netsurf.de ist nicht über das deutsche Forschungsnetz angeschlossen und sollte von Leuten aus kommerziellen Netzwerken benutzt werden. • irc.fu-berlin.de • irc.uni-paderborn.de • irc.rz.uni-karlsruhe.de • irc.belwue.de • irc.netsurf.de Im IRCnet finden sich neben dem Debian Kanal #Debian.DE noch die Kanäle #linux.de und LinuxGER die sich mit Themen rund um Linux befassen. 1.7.4. Kommerzieller Support Debian ist freie Software und bietet ausschliesslich Support auf freiwilliger Basis über das Internet (per WWW, IRC oder Mailinglisten) an. Das Projekt kann keine Mitarbeiter beschäftigen die eine Telefon Hotline besetzen oder Vor-Ort Service beim Kunden leisten. Natürlich gibt es aber auch genau in diesem Bereich Bedarf. Deshalb bietet das Debian Projekt auf der Webseite http://www.debian.org/consultants/ eine Aufstellung von Beratern an die solche Dienstleitungen anbieten. Die Namen sind nach Ländern sortiert, innerhalb eines Landes aber einfach in der Reihenfolge der Anmeldung sortiert. Wenn Sie nicht erst einen Vertrag abschliessen möchten sondern nur eine schnelle Hilfe zu Debian benötigen, so stellt die Linux Information Systems AG (http://www.linux-ag.com/) unter der Nummer 0190-883 885 (1,86 Euro/Minute) einen telefonischen, distributionsunabhängigen Support zur Verfügung. 36 Kapitel 2. Installation von Debian GNU/Linux 2.1. Schnellinstallation in 10 Schritten Wenn Sie bereits eine Linux-Distribution installiert haben, sind Sie schon mit den grundsätzlichen Schritten einer Linux-Installation vertraut. Debian GNU/Linux unterscheidet sich nur in wenigen Details von anderen Distributionen bei der Installation: Sie haben sehr viele Freiheiten und können viele Schritte beeinflußen, Sie müssen dies aber nicht tun. Wenn Sie auf Probleme mit dieser Kurzinstallation stoßen, lesen Sie das Kapitel „Installation“, dort wird ausführlicher auf die Installation eingegangen. Dieser Abschnitt soll fortgeschrittenen GNU/Linux-Anwendern die Möglichkeit geben, relativ schnell zu einem lauffähigen System zu kommen. • Platz – Sie benötigen eine freie/nicht mehr benötigte Partition oder eine komplett unbenutzte Festplatte. Wenn Sie keine Partition frei haben, benutzen Sie das Programm fips.exe (auf der CD unter install/ zu finden), um eine bestehende Partition unter DOS zu verkleinern. • Boot – Starten Sie den Rechner neu, Sie können entweder direkt von der CD-ROM booten (ändern Sie im Bios die Bootreihenfolge!), oder erstellen Sie Bootdisketten aus den Dateien dists/stable/main/disks-i386/current/disks-1.44/rescue.bin und dists/stable/main/disks-i386/current/disks-1.44/root.bin sowie dists/stable/main/disks-i386/current/disks-1.44/driver-1.bin, dists/stable/main/disks-i386/current/disks-1.44/driver-2.bin und dists/stable/main/disks-i386/current/disks-1.44/driver-3.bin auf der CD-ROM. Benutzen Sie hierzu unter Linux das Programm dd mit der Option if=rescue.bin of=/dev/fd0 oder unter DOS das Programm rawrite2.exe. • Fragen – Beantworten Sie alle Fragen des Debian GNU/Linux-Installationsprogramms mit der Eingabe-/Returntaste wenn Sie sich mit der Antwort nicht sicher sind. • International – Wählen Sie die gewünschte Tastaturbelegung aus. • Teilung – Erstellen Sie auf dem freien Festplattenplatz mindestens zwei Partitionen. Benutzen Sie eine als swap-, die andere als root-Partition. • Kern – Installieren Sie den Kernel und die Module von der CD-ROM. Geben Sie das passende Device (Gerätedatei) an, meist ist dies: hdc, hdd, hdb, hda, scd0. Probieren Sie diese in der hier angegebenen Reihenfolge durch. • Teile – Wählen Sie die benötigten Module für Ihr System aus. • Basis – Installieren Sie das Basissystem von der CD-ROM oder einem anderen Medium. • Zeit – Wählen Sie die passende Zeitzone aus. • Abschluß – Starten Sie das System neu, geben Sie nach dem Laden des Kernels ein Paßwort für den Superuser an und legen Sie, wie es das Installationsprogramm vorgibt, einen neuen Benutzer an. Installieren Sie die weiteren Pakete, nachdem Sie eine der für Sie zusammengestellten Konfigurationen ausgewählt haben. 2.2. Update von Debian GNU/Linux 2.1 (slink) auf 2.2 Benutzen Sie auf keinen Fall dselect, um ein Update von Debian GNU/Linux 2.1 auf die Version 2.2 durchzuführen! dselect ist unter Umständen nicht in der Lage, einige der notwendigen Abhängigkeiten beim Update aufzulösen. Natürlich müssen Sie nicht Ihr komplettes System neu installieren, wenn Sie die neuesten Pakete von Debian GNU/Linux 2.2 benutzen wollen. Ein bestehendes Debian GNU/Linux 2.1 kann mit den CD-ROMs ebenfalls auf den aktuellen Stand gebracht werden. Hierbei sind jedoch einige Dinge zu beachten. Im Laufe der Entwicklung von Debian GNU/Linux 2.2 wurden sehr viele der Systembibliotheken (libraries) und Programme 37 Kapitel 2. Installation von Debian GNU/Linux durch neuere Versionen ersetzt. Ein Update dieser Bibliotheken mit dselect würde wegen der komplexen Abhängigkeiten fehlschlagen. Im folgenden werden wir die nötigen Schritte zu einem sicheren Update beschreiben. Mounten Sie die erste Debian GNU/Linux 2.2-CD als Superuser (root) von Hand mit: mount /dev/cdrom /cdrom, und ändern Sie die Datei /etc/apt/sources.list so, daß über einen direkten Zugriff auf die CD installiert werden kann. Der Eintrag hierfür lautet:

  1. - CD von Hand unter /cdrom gemountet

deb file:/cdrom/debian unstable main Führen Sie nun zuerst das Kommando: apt-get update aus. Es liest die Liste der auf der CD vorhandenen Pakete neu ein. Danach können Sie die neuen Bibliotheken mit apt-get dist-upgrade installieren. Keine Angst: wenn apt-get dist-upgrade fehlschlagen sollte, starten Sie es einfach noch einmal. Auf apt wird später noch detailliert eingegangen. Wenn dieser Vorgang erfolgreich abgeschlossen wurde, können Sie mit dselect und der Installationsmethode apt alle weiteren Pakete aktualisieren. Danach können Sie jeden anderen Weg wählen, um weitere Pakete zu installieren und den Rest des Systems zu aktualisieren. 2.3. Update von Debian GNU/Linux 2.2 (potato) auf 3.0 Dieses Update ist in dem meisten Fällen sehr einfach durchzuführen. Tragen Sie einfach die gewünschten Installationsquellen in die Datei /etc/apt/sources.list ein und aktualisieren Sie die Paketinformationen mittels apt-get update. Das eigentliche Upgrade wird danach mittels apt-get dist-upgrade durchgeführt. In einigen Fällen ist ein Update von „potato“ (Debian Version 2.2) auf „woody“ (Debian Version 3.0) ist via CD-ROM nicht ganz problemlos möglich. Probleme scheint es dabei ausschlieslich auf Systemen zu geben die auf dem Stand von Debian 2.2 Release 0 sind. Bei diesen Systemen wurden nach dem offiziellen Release der ersten Version keinerlei Updates auf neuere Release Versionen (Potato R1-R6) durchgeführt. Die Ursache der Probleme scheint hierbei die interne Umstellung auf „package-pools“ zu sein, was dazu führt das die Pakete nicht mehr unter /dists/woody/main/usw... auf den CD-ROMs liegen sondern unter /pool/main/usw.... Die Package-Files (Beschreibungen) sind aber noch an der alten Stelle (u.U.). Damit kann mit „potato“ Release 1 installierte Version von apt noch nicht umgehen. Ein Ausweg ist ein Update von apt von Hand. Hierzu sind nur wenige Schritte notwendig: 1. Melden Sie sich als Superuser/root am System an. 2. Mounten Sie die 1. CD Debian GNU/Linux 3.0 mount /cdrom. Hier müssen Sie ggf. noch das entsprechende Devicefile angeben falls an nach der Installation etwas (zum Beispiel an der Hardware) verändert wurde: mount /dev/hdd /cdrom. 3. Installieren der neuen C Bibliothek: dpkg -i /cdrom/pool/main/g/glibc/libc6_* 4. Installieren der libstd++: find /cdrom/ -name libstd\*glib\* |xargs dpkg -i 5. Installieren von apt find /cdrom/ -name apt_\* |xargs dpkg -i 38 Kapitel 2. Installation von Debian GNU/Linux 6. Debian 3.0 CD ROMs in die sources.list aufnehmen apt-setup 7. Danach kann das System ganz normal aktualisiert werden. apt-get dist-upgrade Frage mit: "Yes, do as I say!" beantworten um Perl zu aktualisieren. 2.4. Aktualisieren von Debian GNU/Linux 2.1 Wenn Sie zufrieden mit Ihrem seit vielen Monaten gepflegten Debian GNU/Linux 2.1-System sind und keinen Wert auf die aktuellsten Pakete legen, müssen Sie natürlich nicht auf die Version 2.2 umstellen. Trotzdem sollten Sie einige Pakete auf den neuesten Stand bringen. Dies hat verschiedene Gründe. Zum einen sind in den vergangenen Monaten viele Fehler (englisch: bugs) und Sicherheitslücken gefunden und beseitigt worden. Dies betrifft auch Fehler im Zusammenhang mit dem Datum 2000-Problem (Y2k-Bug). Zum anderen möchte vielleicht doch der eine oder andere die neueste Version von XFree86 installieren oder am „GNOME-Trend“ teilhaben. Auch hierzu bietet Debian GNU/Linux einen Weg... Auf der Webseite: „Vincent’s bazaar“ finden Sie Links zu allen eben beschriebenen Programmen und Paketen, passend zu Debian GNU/Linux 2.1. Wenn Sie apt benutzen, können Sie mit folgenden Einträgen in /etc/apt/sources.list Ihr System auf den aktuellen Stand der Entwicklung bringen: deb http://www.debian.org/~vincent/ y2k-update main deb http://www.debian.org/~vincent/ slink-update main deb http://www.debian.org/~vincent/ xfree-update main deb http://security.debian.org/ stable updates Sie können aber auch die Pakete zunächst auf ihre Festplatte kopieren und mittels dpkg -i paket.deb von Hand installieren. Zum Download eignet sich neben einem Webbrowser (zum Beispiel der Netscape Communicator) sehr gut das Programm wget. Wenn Sie einen aktuellen Linux-Kernel 2.2.x mit Debian GNU/Linux 2.1 verwenden wollen, kann es notwendig sein, einige Pakete aus Debian GNU/Linux 2.2 zu installieren. Debian GNU/Linux 2.1 erschien, als der Linux-Kernel 2.2.x noch in der Entwicklungsphase war, daher sind nicht alle Pakete vollkommen kompatibel zu neueren Kernels. Um welche Pakete es sich dabei handelt, erfahren Sie auf der Seite „Errata: Linux-Kernel 2.2.x mit Slink“ ( http://www.debian.org/releases/2.1/running-kernel-2.2.de.html) Wir empfehlen aber in jedem Fall ein komplettes Update auf Debian GNU/Linux 2.2. 2.5. Aktualisieren von Debian GNU/Linux 2.2 Die Debian Version 2.2 (potato) wurde mit einem Linux Kernel der Version 2.2 veröffentlicht. Trotzdem kann es sinnvoll sein auf einem solchen System einen Kernel der Version 2.4 einzusetzen, beispielsweise um USB Geräte ohne große Patches am Kernel verwenden zu können. Neben dem eigentlichen Kernel sollten auch einige Pakete aktualisiert werden, wenn nicht gleich der Umstieg auf Debian „woody“ gewagt werden soll. Zunächst sollte ein Blick auf den aktuellen Stand der aktuellen Pakete für diese Umstellung geworfen werden: http://www.fs.tum.de/~bunk/kernel-24.html. Um die Aktualisierung mit apt vorzunehmen, müssen folgende Einträge in der Datei /etc/apt/sources.list hinzugefügt werden. deb http://people.debian.org/~bunk/debian potato main deb-src http://people.debian.org/~bunk/debian potato main Nun kann das System mit folgenden Befehlen aktualisiert werden: 39 Kapitel 2. Installation von Debian GNU/Linux apt-get update apt-get -u dist-upgrade Nach der Installation der Pakete ist Ihr System einsatzbereit für den Kernel 2.4. 2.6. Installation von Debian GNU/Linux 3.0 Die Release 3.0 von Debian GNU/Linux zeichnet sich durch viele Verbesserungen und einen noch größeren Umfang an Paketen gegenüber den Vorgänger Versionen aus. Unterstützte bereits die Version 2.2 ("potato") sechs Hardwarearchitekturen (Intel x86, Motorola, Alpha, SPARC, PowerPC und ARM), so kann die Version 3.0 mit diesen sechs und gleich vier neuen Architekturen (MIPS, Intel Itanium, HP PA-RISC und S/390) aufwarten. Der in Debian 2.2 verwendete Linux Kernel in der Version 2.2 wurde für die Debian Release 3.0 aktualisiert. Hierbei wurden viele Fehler beseitigt welche sowohl den Kernel selbst als auch die dazugehörigen Programme betreffen. Weiterhin sind viele neue Treiber für die Hardware hinzugekommen oder wurden durch bereinigte Versionen ergänzt. Neu in dieser Release ist der Linux Kernel in der Version 2.4, welcher alternativ bei der Installation, oder nachträglich als Paket, installiert werden kann. Das Debian Entwicklerteam ist nicht der Meinung, daß der Linux Kernel in der Version 2.4 auf allen von Debian unterstützten Architekturen die notwendige Stabilität erreicht hat, sodaß beide Kernel zur Auswahl stehen. 2.6.1. Veränderungen im Installations System Ältere Debian Versionen installierten zunächst ein sogenanntes "Basis-System" aus einem tar-Archiv, um dann weitere Pakete über das Debian Paketmanagement in das System zu integrieren. Mit dieser Release wird eine neue Methode eingeführt, das Installationssystem benutzt das Programm debootstrap, um alle vom Basis System benötigten Pakete zu holen, zu entpacken und zu installieren. Die Pakete können dabei wie gehabt lokal vorliegen (auf CD-ROM oder im Dateisystem) oder auch per FTP/HTTP aus dem Netz geholt werden. Diese Installation des Basissystem direkt aus Debian Paketen bietet eine größere Flexibilität bei Updates und von Komponenten des Basissystems. Als weitere Veränderung ist das überarbeitete Task-System zu nennen. Bisher bestanden Tasks aus Paketen, in denen die Abhängigkeiten zu anderen Paketen definiert waren. Das neue System verwendet spezielle Header innerhalb der existierenden Pakete, um die Tasks zu definieren zu denen ein Paket gehört. Dies macht es deutlich einfacher, einzelne Komponenten eines Tasks zu installieren; es ist nicht mehr nötig alle Pakete zu installieren. So gut wie alle Pakete benutzen in dieser Release Debconf um die Konfiguration während der Installation oder ein späteres neukonfigurieren des Paketes vorzunehmen. Debconf verfügt dabei über verschiedene Frontends: nicht-interaktiv, dialog (curses-basiert) und ein GNOME-Frontend. Debconf wurde auch intern stark erweitert, sodaß Debconf eine zentrale Rolle im Debian System bildet. Beispielsweise verfügt Debconf über eine LDAP Schnittstelle, Konfigurationsdaten können so zentral auf einem LDAP Server liegen und verwaltet werden. Die bei der Installation verwendeten Kernel unterstützen verschiedene Hardwareausstattungen. Für die Intel Architektur sind folgende verfügbar: vanilla Kernel Version 2.2.x, dies ist der Standard Kernel für das Debian System mit fast allen Treibern des Linux Kernels als Modulen. ide Kernel Version 2.2.x, ähnlich wie der „vanilla“ Kernel, jedoch mit den Kernel Patches zur Unterstützung von UDMA66 Geräten. 40 Kapitel 2. Installation von Debian GNU/Linux compact Kernel Version 2.2.x, hier wurden viele selten benutzte Treiber weggelassen (Sound, Video4Linux usw.), dafür sind häufig benötigte Treiber (NE2000, 3COM 3c905, Tulip, Via-Rhine und Intel EtherExpress Pro100) im Kernel integriert. Somit kann eine Installation über das Netzwerk mit zwei Disketten (root und rescue) durchgeführt werden. Weiterhin sind Treiber für die RAID Controller DAC960, und Compaq’s SMART2 RAID integriert. idepci Kernel Version 2.2.x, diese Version unterstützt ausschliesslich IDE und PCI Geräte sowie einige wenige ISA Geräte. Dieser Kernel sollte benutzt werden, wenn es beim Starten des Kernels zu Problemen mit SCSI Geräten kommt. In diesem Kernel ist der ide-floppy Treiber integriert, sodaß eine Installation auch von LS120 oder ZIP Laufwerken vorgenommen werden kann. bf24 Kernel Version 2.4.x, dieser aktuelle Kernel unterstützt viele neue Hardwarekomponenten, welche nicht von älteren Versionen unterstützt wurden. Die USB und IDE Unterstützung wurde verbessert, neuere Netzwerkkarten Treiber wurden integriert und es werden die Dateisysteme Ext3 und ReiserFS unterstützt. Als weitere Neuerung bei der Installation von CD-ROM ist zu sagen, daß es nun möglich ist, die oben genannten Kernel allesamt von der ersten CD aus zu installieren. 2.6.2. Neues in der Distribution Die Programme zur Verwaltung von Paketen, dpkg und apt wurden an vielen Stellen verbessert und erweitert. apt unterstützt nun das „pinning“ von Paketen, welches es ermöglicht Programmversionen aus verschiedenen Entwicklungszweigen (testing/unstable/stable) auszuwählen, während das eigentliche System auf einem anderen Releasestand bleibt. apt sorgt auch hierbei dafür das alle Abhängigkeiten erfüllt werden und lädt die benötigten Pakete automatisch auf das System. Für Entwickler sind die sogenannten „build dependencies“ interessant. Das Kommando apt-get build-dep PAKET sorgt dafür, daß alle zur Erzeugung eines Paketes benötigten Pakete auf dem System vorhanden sind. Zur Ablösung des in die Jahre gekommenen und bei vielen Benutzern (un-)beliebten Installationsprogrammes dselect wurden verschiedene Alternativen entwickelt. Interessierte Benutzer sollten einen Blick auf aptitude werfen. „Woody“ wird gleich mit zwei Versionen von XFree86 ausgeliefert. Bereits bekannt sollte die Version 3.3.6 sein. Diese kann eingesetzt werden, wenn es Probleme mit der neuen Version 4.1 gibt. Die Version 4.1 von XFree86 unterstützt mehr Grafikkarten und bietet eine bessere Hardwareerkennung sowie 3D Beschleunigung. Xinerama erlaubt die Verwendung von mehreren Monitoren, die zu einer großen Arbeitsfläche zusammengefasst werden. Debian 3.0 ist sicherer geworden. Die Basisinstallation enthält weniger Dienste, die jeder für sich ein potentielles Risiko darstellen. In der neuen Release sind mehr sicherheitsorientierte Programme enthalten. Hierzu gehören beispielsweise Porgramme zu Administration eines Firewalls, zur Sicherung des Rechners oder zur Entdeckung von Einbrüchen. Das Paket System wurde ebenfalls erweitert, es können nun zu jedem Paket die digitalen Checksummen geprüft werden. So kann eine Installation eines Paketes verhindert werden, wenn die Checksumme nicht übereinstimmt. Dies ermöglicht sichere, automatische Updates von Systemen über das Internet. Debian 3.0 ist von Übersetzerteams in der ganzen Welt auf die jeweiligen landesspezifischen Anforderungen angepasst worden. Es sind Voreinstellungen für mehr Sprachen als bisher vorhanden und eine größere Anzahl von Programmen unterstützt verschiedene Landessprachen. Die zur Installation verwendeten Bootdisketten beispielsweise wurden ebenfalls in viele Sprachen übersetzt. Besonders gut werden in Debian 3.0 die Sprachen Französisch, Deutsch, Italienisch, Japanisch, Portugiesisch, Spanisch, Katalanisch und Dänisch unterstützt; an 15 weiteren Sprachen wird aktiv gearbeitet. Diese Debian Version enthält zum ersten Mal verschiedene freie grafische Webbrowser wie Mozilla, Galeon und Konqueror. Zum ersten Mal ist auch die grafische Benutzeroberfläche KDE, in der Version 2.2, enthalten. Die Version 1.4 von GNOME rundet die Auswahl der grafischen Benutzeroberflächen ab. 41 Kapitel 2. Installation von Debian GNU/Linux Eine sehr ausführliche Installationsanleitung finden Sie auf Ihrer Debian GNU/Linux CD unter doc/install.txt oder doc/install.html, sowie im Netz unter http://debian.org/doc/. Dort wird auch auf Probleme mit spezieller Hardware eingegangen und detailliert beschrieben, welche alternativen Möglichkeiten zur Installation geboten werden. Es wurde hier darauf verzichtet, diese Informationen nochmals zu wiederholen, statt dessen wird die Installation anhand eines typischen Beispiels beschrieben. 2.6.3. Ein erster Start Die Installation von Debian kann von den verschiedensten Medien aus erfolgen. Zunächst ist es jedoch notwendig den Rechner mit einem Minimalsystem, welches auch das eigentliche Installationsprogramm enthält, zu starten. Generell kann jeder der im folgenden beschriebenen Variante der Bootimages nicht nur zur Installation verwendet werden, sondern bietet auch die Möglichkeit das System im Fehlerfall zu reparieren. Die Installation von Debian GNU/Linux benötigt mindestens 12 MB RAM und einen Swap-Bereich, oder aber 14 MB RAM, wenn kein Swap-Bereich zur Verfügung steht. Die aus älteren Debian Versionen bekannt „lowmem“ Bootdiskette ist in der Version 3.0 nicht mehr enthalten. Das installierte Basissystem benötigt mindestens 64 MB Plattenplatz auf einer eigenen Partition sowie eine weitere Partition für den Swap-Bereich. Wenn weitere Pakete installiert werden sollen, so ist dies nach Bedarf bei der Planung der Partitionen zu berücksichtigen. 2.6.3.1. Bootmedium Als Bootmedium für den ersten Start des Systems kommen sowohl CD-ROMs als auch Disketten in Frage. Zunächst sollte im BIOS des Rechners überprüft werden, ob die Möglichkeit besteht, direkt von CD-ROM zu booten. Die Aufteilung der Menüs ist - je nachdem von welchem Hersteller das BIOS kommt - unterschiedlich. Im Zweifelsfall sind die nötigen Informationen im Handbuch des Motherboards zu finden. Abbildung 2-1. BIOS Einstellungen Wenn das System das Booten von CD-ROM nicht unterstützt, können Bootdisketten erzeugt werden. Sie finden die nötigen Images auf Ihrer Debian GNU/Linux-CD im Verzeichnis /cdrom/install/ als Dateien: rescue.bin und root.bin. Alternativ können statt der Rescue Diskette (rescue.bin), auch die Dateien bf24.bin, compact.bin, idepci.bin, sbm.bin genutzt werden; diese bieten die oben genannten alternativen Kernelkonfigurationen. 42 Kapitel 2. Installation von Debian GNU/Linux Wenn Ihnen ein anderes GNU/Linux-System (oder ein anders PC-Unix) zur Verfügung steht, können Sie die Images mit dem Kommando: dd if=rescue.bin of=/dev/fd0 auf eine Diskette schreiben (ggf. den Pfad zu der Datei angeben). Wenn Sie nicht über ein lauffähiges GNU/Linux-System zur Erstellung der Bootdisketten verfügen, können Sie mit dem DOS-Programm rawrite2.exe, welches sich ebenfalls auf der Debian GNU/Linux-CD befindet, das Image auf eine Diskette schreiben. Achten Sie darauf, daß beim Schreiben keine Fehlermeldungen auftreten. Wenn Sie eine Diskette nicht fehlerfrei erstellen können, sollte diese Diskette in den Müll wandern, probieren Sie es mit einer anderen Diskette noch einmal. Um das System von Disketten zu starten muss zuerst die „rescue“ Diskette eingelegt werden (auch wenn eine Neuinstallation vorgenommen wird). Nach dem laden des Linux Kernels werden Sie aufgefordert die „root“ Disketten einzulegen und die Return Taste zu drücken. Auf Systemen die über ein via USB angeschlossenes Diskettenlaufwerk verfügen, kann so zwar von der ersten Diskette gebootet werden, leider wird aber nicht die root-Diskette in einem USB Laufwerk unterstützt. Speziell auf diesen Problemfall angepasste Bootdisketten für die Debian Version 3.0 werden unter www-user.rhrk.uni-kl.de/~blochedu/usb-install/ von Eduard Bloch zur Verfügung gestellt. Sollten beim Start von Diskette oder CD-ROM Probleme auftreten, so gibt es noch einen dritten Weg, Debian GNU/Linux zu starten, das Programm loadlin.exe. Sie müssen hierzu auf Ihrem Rechner ein lauffähiges MS-DOS-System installiert haben und sollten auf die CD-ROM zugreifen können. Auf der ersten CD finden Sie im Verzeichnis /install alle benötigten Dateien sowie das Script boot.bat. Dieses Script können Sie direkt ausführen, das Debian GNU/Linux-Installationsprogramm sollte nach kurzer Zeit geladen werden. Wird das Boot-Medium korrekt erkannt, sehen Sie einen Begrüßungstext mit einigen Informationen zur Installation von Debian. Abbildung 2-2. Bootmenü Beim Start von der ersten CD-ROM kann zwischen verschiedenen Kernelversionen zur Installation gewählt werden. Die Auswahl erfolgt durch Angabe der gewünschten Version am Bootprompt. Folgende Kernel stehen zur Auswahl: vanilla Kernel Version 2.2.x, dies ist der Standard Kernel für das Debian System mit fast allen Treibern des Linux Kernels als Modulen. compact Kernel Version 2.2.x: hier wurden viele selten benutzte Treiber weggelassen (Sound, Video4Linux usw.), 43 Kapitel 2. Installation von Debian GNU/Linux dafür sind häufig benötigte Treiber (NE2000, 3COM 3c905, Tulip, Via-Rhine und Intel EtherExpress Pro100) im Kernel integriert. Somit kann eine Installation über das Netzwerk mit zwei Disketten (root und rescue) durchgeführt werden. Weiterhin sind Treiber für die RAID Controller DAC960, und Compaq’s SMART2 RAID integriert. idepci Kernel Version 2.2.x: diese Version unterstützt ausschlieslich IDE und PCI Geräte sowie einige wenige ISA Geräte. Dieser Kernel sollte benutzt werden, wenn es beim Starten des Kernels zu Problemen mit SCSI Geräten kommt. In diesem Kernel ist der ide-floppy Treiber integriert, sodaß eine Installation auch von LS120 oder ZIP Laufwerken vorgenommen werden kann. Dies ist auch der Default Kernel, falls nichts anderes ausgewählt wurde. bf24 Kernel Version 2.4.x: dieser aktuelle Kernel unterstützt viele neue Hardwarekomponenten, welche nicht von älteren Versionen unterstützt wurden. Die USB und IDE Unterstützung wurde verbessert, neuere Netzwerkkarten Treiber wurden integriert und es werden die Dateisysteme Ext3 und ReiserFS unterstützt. rescue Diese spezielle Option dient zum Starten eines Rettungssystems, um ein defektes System instandzusetzen. Es kann als Option jedes beliebige Root-Dateisystem angegeben werden. Der Kernel wird dabei vom Bootmedium geladen. Weitere Rettungssysteme auf der ersten CD-ROM sind: rescbf24, resccomp, rescvanl. So kann beispielsweise mittels rescbf24 root=/dev/hda3 ein Rettungssystem mit dem Kernel 2.4 gestartet werden, welches die Partition /dev/hda3 als Root-Dateisystem benutzt. Für Fortgeschrittene Benutzer sind folgende Optionen interessant, die am Bootprompt angegeben werden können: quiet Es werden während der Installation nur absolut notwendige Fragen gestellt. verbose Es werden sehr viele Fragen während der Installation gestellt. debug Zur Fehlersuche für Entwickler. Meldungen werden auf tty3 ausgegeben. bootkbd Mit dieser Option kann die zu verwendende Tastaturtabelle angegeben werden, beispielsweise bootkbd=qwertz/de-latin1-nodeadkeys. Zunächst sollte versucht werden das Installationsprogramm ohne Angabe von weiteren Parametern zu starten. 2.6.4. Das Debian-Installationsprogramm Direkt nach dem Laden des Linux-Kernels wird das eigentliche Installationsprogramm gestartet. Dieses Programm wird Sie durch die Installation führen. Sie können jederzeit zu jedem beliebigen Punkt der Installation zurückkehren oder auch die komplette Installation von Anfang an neu beginnen. In den meisten Fällen genügt es, die Fragen, bei denen Sie sich nicht ganz sicher sind, mit einem einfachen Druck auf die Eingabetaste zu bestätigen. Die voreingestellten Werte sind sinnvoll und führen zu einem funktionsfähigen System. Zuerst erfolgt die Auswahl der gewünschten Sprache für die Installation. Das Installationsystem steht in 19 verschiedenen Sprachen zur Verfügung. 44 Kapitel 2. Installation von Debian GNU/Linux Abbildung 2-3. Sprachauswahl Bei der Auswahl eines deutschsprachigen Installationsprogrammes kann zwischen verschiedenen Sprachräumen gewählt werden. Abbildung 2-4. Sprachraum Die nächste Maske zeigt einige Informationen zu Debian GNU/Linux und der Bootdiskette an. Die sogenannten Release Notes (Versions-Informationen) informieren über die Debian GNU/Linux-Version, sowie die Versionsnummer und das Herstellungsdatum der Bootdiskette. Hier finden Sie auch eine kurze Information zu SPI – „Software in the Public Interest“, der nicht-kommerziellen Organisation hinter Debian GNU/Linux und zur FSF (). 45 Kapitel 2. Installation von Debian GNU/Linux Abbildung 2-5. Release Informationen Nun gelangt man in das eigentliche Hauptmenü des Installationsprogramms. Von hier aus können Sie zu jeder Zeit zu jedem beliebigen Punkt der Installation wechseln und Schritte, bei denen Sie sich nicht sicher waren, nochmals wiederholen. Das Installationsprogramm führt in einer sinnvollen Reihenfolge durch die Installation: es ist normalerweise nicht notwendig, andere Menüpunkte als die vorgeschlagenen auszuwählen. Wie gesagt, es ist nicht nötig, aber möglich. Sie haben hier alle Freiheiten. Abbildung 2-6. Hauptmenü Zuerst wird die Konfiguration der Tastatur angeboten. Die Belegung der Tastatur ist sofort nach der Auswahl aus diesem Menü aktiviert. 46 Kapitel 2. Installation von Debian GNU/Linux Abbildung 2-7. Tastatur Konfiguration Wenn Sie Debian GNU/Linux auf einem neuen System (oder einer neuen Festplatte) installieren, werden Sie nun zur Partitionierung der Festplatte aufgefordert. Wenn bereits ein Linux-System auf einer Partition installiert war, wird dieser Schritt automatisch übergangen und es wird zum nächsten Schritt, dem einbinden einer Swap-Partition, verzweigt. Abbildung 2-8. Festplatte partitionieren Wählen Sie nun aus der Liste der Festplatten, die vom Installationsprogramm gefunden wurde, die gewünschte Festplatte aus. Haben Sie nur eine einzige IDE-Festplatte in Ihrem System, so wird lediglich das Device /dev/hda zur Auswahl angeboten. Weitere IDE-Festplatten werden vom Linux-Kernel als /dev/hdb (Slave am Primary Controller), /dev/hdc (Master am Secondary Controller) und /dev/hdd (Slave am Secondary 47 Kapitel 2. Installation von Debian GNU/Linux Controller) verwaltet. SCSI-Festplatten werden mit /dev/sda, /dev/sdb, /dev/sdc usw. bezeichnet, aufsteigend nach der eingestellten Adresse (SCSI ID). Abbildung 2-9. Auswahl der Festplatte(n) Im nächsten Schritt werden Sie auf einige Beschränkungen mit älteren Motherboard-Bios-Versionen hingewiesen. Diese können dazu führen, daß der Linux-Kernel nicht geladen werden kann. Dies tritt aber nur auf mehrere Jahre alten Systemen auf und kann meist ignoriert werden. Abbildung 2-10. Informationen zu lilo Neu in dieser Debian Release ist die Unterstützung von sogenannten „Journaling Filesystemen“. Diese sind in der Lage, nach einem Systemabsturz das Dateisystem anhand eines Journals sehr schnell wiederherzustellen. 48 Kapitel 2. Installation von Debian GNU/Linux Ein langwieriger Check des Dateisystemes, wie beispielsweise vom Extended 2 Dateisystem (ext2) her bekannt, kann dabei entfallen. Die „woody“ Release unterstützt neben dem Extended 3 Dateisystem (ext3), welches ebenfalls ein „Journaling Filesystem“ ist, auch das ReiserFS. Dieses benötigt zusätzlichen Plattenplatz zur Verwaltung des Journals. Abbildung 2-11. Informationen zu ReiserFS Wenn eine fabrikneue Festplatte zur Installation benutzt wird, so ist auf dieser noch keine Partitionstabelle geschrieben worden. Zu Partitionierung der Festplatte wird das Programm cfdisk verwendet. Es benötigt zwingend eine solche Partitionstabelle, auch wenn diese noch keine Einträge enthält. Abbildung 2-12. Partitionstabelle nicht gefunden 49 Kapitel 2. Installation von Debian GNU/Linux Es wird nun das Programm cfdisk gestartet. Mit diesem können in den freien Bereichen der Festplatte neue Partitionen angelegt oder auch bereits vorhandene Partitionen gelöscht werden. VORSICHT! Änderungen, die hier durchgeführt werden und mit write auf die Festplatte geschrieben wurden, lassen sich nicht wieder rückgängig machen! In dem hier gezeigten Beispiel wird eine komplette IDE-Festplatte für die Installation von Debian GNU/Linux verwendet. Abbildung 2-13. Partition anlegen Über den Menüpunkt new kann eine neue, primäre Partition erzeugt werden. In unserem Beispiel wurde eine Größe von 1,8 Gigabyte (1800 Megabyte) gewählt. Diese Partition wird später das GNU/Linux-Dateisystem aufnehmen und von dieser wird auch der eigentliche Linux-Kernel geladen. Diese Partition müssen Sie mit dem Menüpunkt „Bootable“ bootfähig machen. Abbildung 2-14. Partition anlegen 50 Kapitel 2. Installation von Debian GNU/Linux In dem verbliebenen Platz wird eine weitere Partition eingerichtet. Diese dient dem System als Swap-Bereich, um im Betrieb über mehr (virtuellen) Speicherplatz zu verfügen. Nach der Zuweisung des Festplattenplatzes für diese Partition muss noch der Typ geändert werden, sodaß das System diese Partition auch als Swap-Bereich erkennt. Dies geschieht über den Menüpunkt type, dort ist der Typ der zweiten Partition auf „82 - Linux Swap“ zu setzen. Dies ist schon die Voreinstellung, wenn Sie den Menüpunkt type auswählen, hier reicht ein Druck auf die Eingabetaste. Sie können auch die verschiedensten anderen Dateisysteme anlegen. Wie Sie in der Auflistung sehen können, werden viele im DOS/Windows-Bereich verbreitete Formate, sowie eine ganze Reihe von Unix-Dateisystemen unterstützt. Abbildung 2-15. Partitionen anlegen Nachdem mindestens eine Root (/) und eine Swap-Partition eingerichtet sind, sollte sich in etwa folgendes Bild ergeben. 51 Kapitel 2. Installation von Debian GNU/Linux Abbildung 2-16. Partitionen anlegen Es wurden nun 2 Partitionen erstellt, /dev/hda1 (die erste Partition auf der Master-Festplatte am Primary IDE Controller) wird das Root-Dateisystem aufnehmen, /dev/hda2 ist die Swap-Partition. Natürlich können nach Belieben weitere Partitionen, zum Beispiel für /home oder /var angelegt werden. Wenn die Einteilung der Festplatte abgeschlossen ist, müssen die Daten noch in die bereits erwähnte Partitionstabelle geschrieben werden. Bis jetzt wurden noch keine Daten auf der Festplatte verändert. Wenn nicht sichergestellt ist, das es sich um die gewünschte Festplatte handelt, oder wenn noch wichtige Daten auf der Festplatte vermutet werden, so ist an dieser Stelle das Programm mit „Quit“ zu verlassen! Wenn aber alles wie geplant eingeteilt wurde, können die Einstellungen mit „Write“ in die Partitionstabelle geschrieben werden. Das Installationsprogramm findet nun die Signatur einer Swap-Partition auf der Festplatte und bietet an, diese in das System einzubinden. Abbildung 2-17. Swap Partition einbinden 52 Kapitel 2. Installation von Debian GNU/Linux Wenn Sie mehrere Swap-Partitionen angelegt haben, die auch auf verschiedenen Festplatten liegen können, so können Sie diesen Menüpunkt vom Hauptmenü aus unter „Formatieren und Einbinden einer Swap-Partition“ noch einmal anwählen.Wiederholen Sie dies so lange, bis alle vorhandenen Swap-Partitionen eingebunden sind. Bei nur einer Swap-Partition wird diese Auswahl übersprungen. Während des Formatierens der Partition kann der Bereich auf defekte Blöcke hin geprüft werden. Bei modernen Geräten ist dies nicht notwendig, sodaß hier problemlos darauf verzichtet werden kann. Abbildung 2-18. Swap Partition auswählen Hier nochmal zur Sicherheit die Abfrage, ob diese Partition wirklich als Swap-Partition eingerichtet werden soll und damit alle Daten verlorengehen. Abbildung 2-19. Swap Partition bestätigen 53 Kapitel 2. Installation von Debian GNU/Linux Im folgenden Schritt wird ein Linux-Dateisystem formatiert und ins System eingebunden. Wenn das System auf verschiedenen Partitionen installiert werden soll, so ist dieser Schritt mehrfach auszuführen. Abbildung 2-20. root Dateisystem einbinden Es muss mindestens eine Partition als Root-Dateisystem eingebunden werden. Wenn lediglich eine Linux-Partition vorhanden ist, so wird keine Auswahl der verfügbaren Partitionen angezeigt. Nun kann das zu verwendende Dateisystem ausgewählt werden. Ältere Debian Versionen verwendeten immer das Extended 2 Dateisystem, dies ist auch heute noch eine gute Wahl: es hat sich in vielen Installationen bewährt. Ein um die Funktionalitäten eines Journaling Filesystems erweitertes ext2 Dateisystem ist unter dem Namen ext3 / Extended 3 Filesystem verfügbar. Vorteilhaft ist hier das dieses auch kompatibel zum bisherigen Extended 2 Dateisystem ist, natürlich geht dann das Journal verloren. Sie können eine mit dem Extended 3 Dateisystem formatierte Partition auch mit älteren Kerneln oder Rettungsdisketten zusammen verwenden. Alternativ steht noch das ReiserFS zur Verfügung. Auch dieses bietet die Funktionen eines Journaling Filesystems. ReiserFS wird jedoch von vielen Fachleuten als zu unausgereift angesehen, sodaß ein Einsatz eher auf Testsystemen sinnvoll erscheint. Aufgrund der Kompatibilität zum Extended 2 Dateisystem ist das Extended 3 Dateisystem hier eine gute Wahl. 54 Kapitel 2. Installation von Debian GNU/Linux Abbildung 2-21. Auswahl Dateisystem Auch für diese Partition kann eine Überprüfung auf defekte Blöcke während der Formatierung erfolgen, wie schon beschrieben ist dies bei neueren Systemen nicht notwendig. Abbildung 2-22. Überprüfung auf defekte Blöcke Hier noch einmal zur Sicherheit die Abfrage, ob Sie sich für die richtige Partition entschieden haben. 55 Kapitel 2. Installation von Debian GNU/Linux Abbildung 2-23. Überprüfung auf defekte Blöcke Im Gegensatz zur Swap-Partition, dauert das Formatieren des Root-Dateisystems etwas länger. Dies ist abhängig von der Größe der Partition. Sie können diesen Vorgang am Bildschirm verfolgen. Abbildung 2-24. Dateisystem formatieren Sie werden abschließend gefragt, ob die eben formatierte Partition in das System eingebunden werden soll. Bestätigen Sie dies mit der Eingabetaste. 56 Kapitel 2. Installation von Debian GNU/Linux Abbildung 2-25. Partition einbinden 2.6.4.1. Installation des Basissystems Nachdem die Platte mit mindestens zwei Partitionen vorbereitet wurde, können nun der eigentliche Linux-Kernel sowie die dazugehörenden Module installiert werden. Abbildung 2-26. Module installieren Sie haben die Möglichkeit, den Kernel und die Module von verschiedenen Medien aus zu installieren. Wenn Sie von einer CD-ROM gebootet haben, ist es sinnvoll, auch den Rest der Installation von diesem Medium durchzuführen. Verfügen Sie aber beispielsweise über ein Notebook ohne CD-ROM, so können Sie Debian GNU/Linux auch komplett über Disketten installieren. Eine weitere Option ist die Installation von einer anderen 57 Kapitel 2. Installation von Debian GNU/Linux Partition, egal ob diese bereits gemountet wurde oder nicht. Diese Partition kann auch mit einem DOS- oder Windows-Dateisystem formatiert sein. Dies kann dann sinnvoll sein, wenn Sie sich Debian GNU/Linux bei einem Bekannten auf eine Festplatte kopiert haben oder wenn Sie die Dateien mit einem anderen Betriebssystem aus dem Internet von einem FTP-Server geladen haben. Der mit Debian GNU/Linux gelieferte Kernel unterstützt hierzu die Dateisysteme der gebräuchlichsten Betriebssysteme. Wir gehen hier aber von der Installation per CD-ROM aus. Ist bereits eine CD-ROM eingelegt, so wird diese vom Installationsprogramm erkannt. Abbildung 2-27. Auswahl Installationsmedium Es werden nun zunächst der Kernel (dies geht recht schnell), sowie die Module (Treiber) installiert. Der angezeigte Pfad kann sich, je nachdem welcher Kernel für die Installation gewählt wurde, von dem hier gezeigten unterscheiden. Abbildung 2-28. Installation Kernel und Module 58 Kapitel 2. Installation von Debian GNU/Linux Es können nun zusätzliche Treiber – sogenannte Module – in den Kernel eingebunden werden. Dies ist im Normalfall nicht notwendig, da viele Treiber bereits fest in den Kernel integriert sind. Abbildung 2-29. Konfiguration der Module Exemplarisch soll hier die Installation eines Modules für eine Netzwerkkarte gezeigt werden. Es kann durchaus der Fall sein, daß die Netzwerkkarte bereits vom Kernel erkannt wurde. Dies ist der Fall, wenn der Treiber für die betreffende Karte fest in den Kernel integriert wurde. In diesem Fall braucht kein Modul für die Karte geladen zu werden. Tip: Netzwerkkarte: Um festzustellen, ob bereits ein Treiber für die Netzwerkkarte im laufenden Kernel integriert ist, kann mit der Tastenkombination ALT+F2 (ALT+F1 wechselt auf die erste Konsole zurück) auf eine Konsole umgeschaltet werden. Zunächst muss diese Konsole durch drücken der Eingabetaste aktiviert werden. Mit dem Kommando: dmesg | grep eth kann festgestellt werden, ob der Kernel bereits beim Start eine Netzwerkkarte gefunden und eingebunden hat:

  1. dmesg | grep eth

eth0: PCnet/PCI II 79C970A at 0x1000, 00 50 56 8c 32 53

Ist dies nicht der Fall, muss ein Modul geladen werden. Wenn zu einem späteren Zeitpunkt weitere Module geladen werden sollen, so kann dazu jederzeit das Programm modconf benutzt werden. Tip: Notebook: Wenn Sie Debian GNU/Linux auf einem Notebook installieren, sollten Sie an dieser Stelle ein wenig vom normalen Pfad der Installation abweichen und zunächst die Treiber für den PCMCIA Steckplatz installieren. Wählen Sie hierzu den Menüpunkt Alternative: Konfiguration der PCMCIA-Unterstützung. Danach können Sie ganz normal das Netzwerk konfigurieren. 59 Kapitel 2. Installation von Debian GNU/Linux Abbildung 2-30. Anmerkung Module Die Module sind in verschiedene Gruppen eingeteilt, werfen Sie ruhig mal einen Blick in jedes Verzeichnis. Abbildung 2-31. Auswahl Module Am Beispiel einer Netzwerkkarte werden wir kurz erläutern, wie beim Einbinden von Modulen prinzipiell vorzugehen ist. Wählen Sie zuerst die gewünschte Gruppe aus (kernel/drivers/net - Treiber für Netzwerkkarten). Sie erhalten dann eine Liste aller verfügbaren Treiber. Netzwerkkarten, die über einen PCI-Bus verfügen, benötigen meist keinerlei Parameter und lassen sich mit wenigen Schritten einbinden. Bei älteren ISA-Karten müssen oft weitere Angaben zu IO-Bereich und Interrupt gemacht werden. Hilfreich ist hier, wenn Sie diese Angaben bereits von einem anderen auf diesem Rechner laufenden Betriebssystem in Erfahrung bringen können. Sehr verbreitet sind NE2000-kompatible Netzwerkkarten. Oft reicht es bei diesen, nur den Parameter io anzugeben, typische Werte sind hier: 0x280, 0x300, 0x320 usw. 60 Kapitel 2. Installation von Debian GNU/Linux Die hier ausgewählte Intel EtherExpress Pro 100M PCI-Karte braucht hingegen keine weiteren Parameter und läßt sich so sehr einfach in das System einbinden. Abbildung 2-32. Modul Netzwerkkarte Intel Pro 100 Abbildung 2-33. Modul Netzwerkkarte Intel Pro 100 61 Kapitel 2. Installation von Debian GNU/Linux Abbildung 2-34. Modul Netzwerkkarte Intel Pro 100 Sind alle Module erfolgreich geladen, verlassen Sie dieses Menü. Sollten bei einzelnen Komponenten Probleme auftreten, ist dies nicht weiter schlimm. Momentan ist es ausreichend, wenn alle zur Installation benötigten Geräte funktionsfähig sind. Netzwerkkarten, Soundkarten usw. können später konfiguriert werden. Auch wenn Sie in Ihrem System keine Netzwerkkarte installiert haben, sind einige Angaben zum Netzwerk nötig; versuchen Sie also nicht an diesem Menüpunkt vorbeizukommen: es wird Ihnen nicht gelingen. Abbildung 2-35. Netzwerkkonfiguration Eine wichtige Information ist der Name des Systems (hostname). Wenn Sie den Rechner sofort oder später in ein bestehendes Netzwerk einbinden wollen, sollten Sie mit dem zuständigen Administrator einen geeigneten 62 Kapitel 2. Installation von Debian GNU/Linux Namen vereinbaren, um Konflikte zu vermeiden. Für ein privates Netzwerk können Sie den vorgegebenen Wert, debian, belassen oder einen beliebigen anderen eingeben. Abbildung 2-36. Netzwerk Je nachdem ob Sie vorher eine Netzwerkkarte konfiguriert haben oder nicht, werden Sie nun mit einigen weiteren Fragen konfrontiert. Dies bedeutet nicht, daß Sie nicht später per Modem oder ISDN ins Internet kommen, doch dazu später mehr. Wenn in Ihrem Netz ein DHCP-Server zur Verfügung steht, können Sie von diesem alle weiteren Netzwerkeinstellungen beziehen. Meist werden diese jedoch von Hand eingegeben. Abbildung 2-37. Netzwerkkonfiguration DHCP 63 Kapitel 2. Installation von Debian GNU/Linux Geben Sie hier die IP-Nummer an, die Sie dem Netzwerkinterface geben wollen. Die hier vorgegebenen Werte sind reservierte Nummern, die Sie zu Hause in einem lokalen Netzwerk ohne Probleme benutzen können. Abbildung 2-38. IP-Nummer In einem Firmennetz oder wenn Sie von Ihrem Provider mehrere feste IP-Nummern bekommen haben, setzen Sie hier die entsprechenden Werte ein. Ihre Netzmaske: Abbildung 2-39. Broadcast 64 Kapitel 2. Installation von Debian GNU/Linux Geben Sie hier die IP-Nummer des Gateways ein. Abbildung 2-40. Nameserver Nun erfolgt die Abfrage des Domainnamens. Wenn Sie eine eigene Domain beantragt haben, setzen Sie den Namen dort ein. Wenn Sie ein privates Netzwerk zu Hause benutzen, können Sie sich auch einen netten Namen ausdenken. Eventuell ist es auch sinnvoll, den Domainnamen Ihres Providers einzusetzen. Wenn Sie sich nicht sicher sind, lassen Sie das Feld einfach frei. Abbildung 2-41. Domainname 65 Kapitel 2. Installation von Debian GNU/Linux Meist werden Sie einen anderen Rechner als Nameserver nutzen; geben Sie dessen IP-Nummer hier ein. Die IP-Nummer des Nameservers erfahren Sie im Zweifelsfall bei Ihrem Provider. Mehrere Nameserver können nacheinander, durch Leerzeichen getrennt, eingegeben werden. Abbildung 2-42. Nameserver Der nächste Punkt führt zur Installation des Basissystems. Es wird ein grundlegendes System auf der vorbereiteten Platte installiert. Dieses Basissystem enthält alle nötigen Programme, um die Installation später zu vervollständigen. Abbildung 2-43. Installation Basissystem 66 Kapitel 2. Installation von Debian GNU/Linux Die Installation kann – je nachdem wie schnell das System ist – einige Minuten in Anspruch nehmen. Es wird ein Grundsystem installiert, in dem alle weiteren Programme vorhanden sind, die benötigt werden. Die Installation erfolgt von der CD-ROM, von der bereits der Kernel und die Module installiert wurden. Abbildung 2-44. Basisinstallation - Schritt 1 Abbildung 2-45. Basisinstallation - Schritt 2 67 Kapitel 2. Installation von Debian GNU/Linux Abbildung 2-46. Basisinstallation - Schritt 3 Abbildung 2-47. Basisinstallation - Schritt 4 68 Kapitel 2. Installation von Debian GNU/Linux Abbildung 2-48. Basisinstallation - Schritt 5 Der Fortschritt der Installation kann detailiert auf der vierten Konsole beobachtet werden. Mit der Tastenkombination ALT+F4 kann auf diese Konsole gewechselt werden. Abbildung 2-49. Basisinstallation - Schritt 6 2.6.5. Bootloader Im folgenden wird die Festplatte für den automatischen Start von Debian GNU/Linux vorbereitet. Alternativ können Sie hier auch eine Boot-Diskette erzeugen; diese kann später als Rettungssystem verwendet werden. 69 Kapitel 2. Installation von Debian GNU/Linux Normalerweise ist dies aber nicht notwendig, denn jedes Debian Installationsystem kann auch als Rettungssystem verwendet werden. Dies gilt auch für die CD-ROM, von der das System installiert wurde. Abbildung 2-50. System bootfähig machen Es wird ein neuer MBR (Master Boot Record) auf der Festplatte installiert. Sie können bestimmen, an welcher Stelle er installiert werden soll. Normalerweise wird der Bootloader in den MBR installiert, wenn ein anderer Bootloader (beispielsweise ein kommerzielles Produkt) verwendet werden soll, so ist der Linux Loader (lilo) in den Bootsektor der Root-Partition (hier /dev/hda1) zu installieren. Der Linux Loader (lilo) wird zunächst ohne weitere Absicherung installiert. Dies bedeutet, daß jeder der Zugriff auf die Hardware des Rechners erlangt und ohne weiteres das System mit eigenen Parametern starten kann. Auf diese Weise ist es sehr einfach, Rechte des Systemadministrators zu erlangen, ohne ein Passwort zu kennen! LILO sollte später mit einem Passwort abgesichert werden, dies ist im Abschnitt über Systemsicherheit genauer beschrieben. Abbildung 2-51. LILO Sicherheitshinweis 70 Kapitel 2. Installation von Debian GNU/Linux Es wird nun angeboten, eine Boot-Diskette zu erstellen. Wenn Sie Ihr System von CD-ROM booten können, ist es kein Problem, dies zu übergehen: Sie können jederzeit mit der CD booten und das System im Notfall reparieren. Es schadet aber auch nicht, eine solche Diskette zu erstellen. Abbildung 2-52. Bootdisk 2.6.6. Neustart Damit ist die Installation abgeschlossen. Das System muss nun einmalig neu gestartet werden, dabei werden noch einige kleiner Einstellungen vorgenommen. Abbildung 2-53. Reboot 71 Kapitel 2. Installation von Debian GNU/Linux Hier nochmal ein Hinweis, daß Sie das System auch von Diskette neu starten können. Dies funktioniert in gleicher Weise auch von der Installations-CD-ROM, welche das gleiche Image benutzt, wie es auch für die Rettungsdiskette verwendet wird. Ihr System wird nun neu gestartet und die Installation ist fast abgeschlossen... 2.6.7. Fertigstellen der Installation Nachdem das System gestartet ist, werden noch einige letzte Einstellungen vorgenommen. Abbildung 2-54. Letzte Einstellungen Debian GNU/Linux verwaltet die Systemzeit, und somit auch die Umschaltung zwischen Sommer- und Winterzeit, über sogenannte Zeitzonen. Wählen Sie, wie gezeigt die für Ihre Region sinnvollen Werte. Um die Zeitzone später zu ändern, kann das Programm tzconfig verwendet werden. 72 Kapitel 2. Installation von Debian GNU/Linux Abbildung 2-55. Zeitzone - GMT Abbildung 2-56. Zeitzone - Bereich 73 Kapitel 2. Installation von Debian GNU/Linux Abbildung 2-57. Zeitzone - Stadt MD5 verschlüsselte Passwörter sollten in jedem Fall verwendet werden. Diese bieten eine höhere Sicherheit gegen Angriffe. Abbildung 2-58. MD5 Paßwörter Die Verwendung von „Shadow-“ Paßwörtern macht das System vor Angriffen deutlich sicherer (die Paßwörter werden in einer Datei gespeichert die, nicht wie die Datei /etc/passwd, die von jedem Benutzer gelesen werden kann, sondern nur vom Benutzer root lesbar ist). 74 Kapitel 2. Installation von Debian GNU/Linux Abbildung 2-59. Shadow Paßwörter Als nächster Schritt steht Ihnen die Auswahl des Paßwortes für den Systemadministrator (root) bevor. Sie sollten dieses Paßwort besonders sorgsam auswählen! Achten Sie darauf, daß es nicht Teile Ihres Namens enthält und möglichst aus einem Gemisch aus Buchstaben, Zahlen und Sonderzeichen besteht. Bei der Auswahl der verwendeten Zeichen ist darauf zu achten, daß das System durchaus in einen Zustand geraten kann indem noch keine deutsche Tastaturbelegung geladen ist. Enthält das Passwort des Systemadminisrators dann Umlaute so werden Sie massive Probleme mit der Anmeldung am System haben. Verwenden Sie besser Sonderzeichen die auch auf einer Tastatur mit amerikanischem Tastaturlayout zu erreichen sind. Der Systemadministrator hat Zugriff auf alle Teile des Systems, deshalb ist dieses Paßwort besonders sensibel. Abbildung 2-60. root Paßwort 75 Kapitel 2. Installation von Debian GNU/Linux Wie jedes gute Paßwort, so möchte auch dieses zur Bestätigung ein weiteres Mal eingegeben werden und wird natürlich nicht am Bildschirm angezeigt. Abbildung 2-61. root Paßwort Sie haben nun die Gelegenheit, einen neuen Benutzer - zusätzlich zum Administrator - einzurichten. Sie sollten dies auf alle Fälle tun, es ist nicht üblich und sogar gefährlich, die tägliche Arbeit am System als Administrator durchzuführen. Melden Sie sich immer als normaler Benutzer am System an und benutzen Sie das Kommando su, um Systemverwaltungsaufgaben durchzuführen. Abbildung 2-62. Benutzer anlegen 76 Kapitel 2. Installation von Debian GNU/Linux Geben Sie zuerst den gewünschten Benutzernamen ein. Dies können zum Beispiel Ihr Vorname oder Ihre Initialen sein: Abbildung 2-63. Benutzer - Username Hier sollten Sie Vor- und Nachnamen eingeben. Bedenken Sie, daß die hier gemachten Angaben auch später weiterverwendet werden, beispielsweise beim Versenden von E-Mail. Wenn Sie also als „Donald Duck“ im Netz auftauchen wollen, können Sie das hier eingeben... Zum guten Ton gehört aber die Verwendung des echten Namens. Abbildung 2-64. Benutzer - Realname 77 Kapitel 2. Installation von Debian GNU/Linux Auch für diesen Benutzer werden Sie wieder um ein Paßwort gebeten. Auch dieses sollten Sie sorgfältig auswählen. Normale Benutzer haben zwar nicht alle Rechte auf einem GNU/Linux-System, wenn ein Eindringling jedoch erst mal Zugriff auf ein System erlangt hat, gelingt es oft, sich weitere Rechte zu verschaffen. Abbildung 2-65. Benutzer - Passwort Natürlich müssen Sie auch dieses Paßwort zweimal eingeben um sicherzugehen, daß sich keine Tippfehler eingeschlichen haben. Abbildung 2-66. Benutzer - Passwort 78 Kapitel 2. Installation von Debian GNU/Linux Wenn Ihr System nicht über PCMCIA-Slots verfügt, können Sie die Unterstützung hierfür entfernen lassen. Abbildung 2-67. PCMCIA entfernen Nun können Sie wählen, ob Sie die weitere Installation über PPP (Point-to-Point-Protokoll) von einem der vielen Debian FTP-Server durchführen möchten. Wenn Sie über einen schnellen Zugang verfügen, können Sie diese Möglichkeit in Erwägung ziehen. Normalerweise sollten Sie aber die Installation von einer CD-ROM, wie bisher beschrieben, durchführen. Abbildung 2-68. PPP Installation 79 Kapitel 2. Installation von Debian GNU/Linux Wenn Sie, wie hier gezeigt, die weitere Installation nicht über PPP durchführen, wird versucht, von dem bei der Installation des Basissystems gefundenem CD-ROM die Paketdateien mit den verfügbaren Debian-Paketen zu lesen. Sie sollten hier zunächst die erste CD eingelegt haben, von der Sie auch das Basissystem installiert haben. Abbildung 2-69. CD Installation, lesen der Pakete Wenn Sie über mehrere Debian GNU/Linux-CDs verfügen, können Sie diese hier nacheinander einlesen. Die vorhandenen CDs werden in der Datei /etc/apt/sources.list mit einer eindeutigen Kennung eingetragen und die Paketdateien eingelesen. Natürlich können weitere CD-ROMs oder andere Installationsquellen auch zu einem späteren Zeitpunkt hinzugefügt werden; das dazugehörige Programm (welches auch hier grade zum Einsatz kommt) heisst apt-setup. Abbildung 2-70. CD Installation, lesen einer weiteren CD? 80 Kapitel 2. Installation von Debian GNU/Linux Wenn alle vorhandenen CD-ROMs eingelesen wurden, können Sie weitere Quellen hinzufügen, von denen Paketdateien gelesen werden sollen. In den meisten Fällen werden dies sicher FTP-Server sein, die über die aktuellsten Debian-Pakete verfügen. Abbildung 2-71. APT weitere Quelle Sofern das neu installierte System über einen Anschluß an das Internet verfügt, sollten in jedem Fall die Security Updates in die Konfiguration aufgenommen werden. Abbildung 2-72. Security Updates 81 Kapitel 2. Installation von Debian GNU/Linux Das Programm tasksel erlaubt das einfache Auswählen von Paketdateien. Hierbei müssen nicht viele einzelne Pakete gewählt werden, vielmehr können sinnvolle Zusammenstellungen für verschiedene Anwendungszwecke gewählt werden. Abbildung 2-73. tasksel Sie können nun, über das hier gezeigte Programm taskselect, welches Sie auch zu einem späteren Zeitpunkt erneut starten können, zwischen verschiedenen für Sie zusammengestellten Konfigurationen wählen. Jedes der hier angezeigten Pakete wählt eine Gruppe weitere Pakete aus. Eine ausführlichere Beschreibung zu taskselect finden Sie in einem späteren Kapitel. Abbildung 2-74. tasksel 82 Kapitel 2. Installation von Debian GNU/Linux Abschliessend können weitere Pakete gezielt mittels dselect zur Installation ausgewählt werden. Dies kann aber auch zu einem späteren Zeitpunkt bei Bedarf erfolgen. Abbildung 2-75. dselect Nach der Auswahl der gewünschten Pakete werden diese noch einmal angezeigt. Sie können noch einmal einen Blick auf die Auswahl werfen und ggf. an dieser Stelle abbrechen. Je nachdem ob Sie eine oder mehrere CDs zur Installation verwenden, kann es vorkommen, daß Sie aufgefordert werden, eine andere CD einzulegen. Abbildung 2-76. Package Installation 83 Kapitel 2. Installation von Debian GNU/Linux Gleich im Anschluß werden einige Pakete sich zu Wort melden, die einer weiteren Konfiguration bedürfen. Hier zum Beispiel das Paket less, welches einen Mime-Handler konfigurieren möchte. Abbildung 2-77. Paket Konfiguration - less Debian GNU/Linux unterstützt verschiedene Sprachen. Hier kann ausgewählt werden, welche benötigt werden und welche aus dem System entfernt werden sollen. Abbildung 2-78. Paket Konfiguration - locale 84 Kapitel 2. Installation von Debian GNU/Linux Aus den verfügbaren Sprachen („C“ steht dabei für englisch) kann eine als systemweite Sprache gewählt werden. Abbildung 2-79. Paket Konfiguration - locales Das Entpacken der gewünschten Pakete erfordert bei den meisten Paketen keine weitere Benutzereingabe, Sie können sich jetzt, je nach Anzahl der ausgewählten Pakete, erst mal eine kleine Pause genehmigen. Sollten Sie jetzt während der Installation zu einzelnen Paketen auf Fragen stoßen, die Sie nicht beantworten können, so lesen Sie in dem entsprechenden Abschnitt dieses Buches weiter nach, wie dieses Programm zu konfigurieren ist. Abbildung 2-80. Pakete entpacken 85 Kapitel 2. Installation von Debian GNU/Linux Nach der Installation der ausgewählten Pakete, können Sie die Archive von Ihrer Platte löschen. Wenn Sie die Pakete via FTP aus dem Netz geholt haben, kann es aber auch sinnvoll sein, die Archive auf der Platte zu halten, um einen erneuten Download zu vermeiden. Abbildung 2-81. Pakete löschen nach der Installation Hiermit ist die Installation abgeschlossen und Sie bekommen noch einige Tips zur Verwendung von virtuellen Konsolen. Abbildung 2-82. Installation beendet Wenn alles geglückt ist, können Sie sich an Ihrem neuen Debian GNU/Linux-System anmelden. 86 Kapitel 2. Installation von Debian GNU/Linux Abbildung 2-83. Login 2.6.8. Paket Vorschläge und Empfehlungen Das Debian Paketsystem bietet Vorschläge (recommend) und Empfehlungen (suggest) für Pakete an. Diese werden von APT nicht berücksichtigt und somit sind einige nützliche und wichtige Pakete (beispielsweise ssh und gnupg) noch nicht installiert. Leider lassen sich diese Pakete nicht direkt via APT installieren, es ist ein kurzer Umweg über dselect notwendig. Mit dem Kommando dselect --expert select quit werden die vom Paketmanagement bisher nicht ausgewählten Pakete ermittelt und zur Installation ausgewählt. Es erscheint einmalig das Programm dselect. Dieses kann einfach durch einen Druck auf die Return-Taste beendet werden. Abschliessend sind die noch fehlenden Pakete mittels apt-get dselect-upgrade zu installieren. 87 Kapitel 2. Installation von Debian GNU/Linux Abbildung 2-84. apt-get dselect-upgrade Hiermit ist die Installation eines einfachen Debian GNU/Linux-Systems abgeschlossen. In den folgenden Kapiteln finden Sie weitere Informationen, wie Sie das System an Ihre Bedürfnisse anpassen können und weitere Pakete installieren. 2.7. Installation von Debian/GNU Hurd Die Debian Entwickler unterstützen seit einigen Monaten die Entwicklung von HURD indem sie Pakete für den HURD Kernel übersetzen und im Netz zur Verfügung stellen. Alle zur Paketverwaltung notwendigen Werkzeuge stehen zur Verfügung. Natürlich gibt es auch für dieses Debian Projekt eine eigene Webseite auf der sich neben aktuellen Informationen auch Links zur Dokumentation, Installation und zur Entwicklung finden. Die Adresse lautet http://www.debian.org/ports/hurd/. Für die eigentliche Installation von Debian GNU/Hurd stehen unter ftp://ftp.fsn.hu/pub/CDROM-Images/debian-unofficial/ CD-Images zum Download bereit. Diese basieren momentan noch auf den Bootdisketten vom Debian GNU/Linux i386, für die Installation von HURD müssen Sie einmalig für kurze Zeit auf einen Linux Kernel zurückgreifen. Die CD-Images sind bootfähig und sind für die Installation von Debian GNU/Hurd nur leicht angepasst worden. Eine Liste von weiteren Mirror-Servern auf denen diese CD-Images liegen, findet sich unter http://www.debian.org/ports/hurd/hurd-cd. Wie Sie diese Images auf CD brennen finden Sie in einem anderen Kapitel dieses Buches beschrieben. 2.7.1. Die Installations-CD Die Debian GNU/Hurd Installation verläuft prinzipiell wie die Installation von Debian GNU/Linux. Nach der Installation eines Minimal-Systemes erfolgt ein Reboot und alle weiteren Pakete werden über das Minimal-System installiert und konfiguriert. Somit konnten große Teile der Debian GNU/Linux Installationsroutinen auch für Debian GNU/Hurd benutzt werden. Die Installation auf diesem Weg mit einer CD-ROM hat einige Vorteile: 88 Kapitel 2. Installation von Debian GNU/Linux • Mit einem laufenden Linux System im Arbeitsspeicher und den notwendigen Daten für die Installation von Hurd auf der CD, kann die Installation auf einem System erfolgen auf dem bisher noch nie ein Betriebssystem installiert war. • Da es unter Hurd (noch) keine Programme zum partitionieren der Festplatte gibt, kann dies unter Linux geschehen. • Die Installation geht schnell und ist den meisten Benutzern bereits von Debian GNU/Linux vertraut. Hurd unterstützt momentan noch keine Partitionen die über 1GB groß sind. Natürlich können aber mehrere Partitionen während der Installation erzeugt werden. Hurd benutzt das Extended 2 Dateisystem (ext2), welches bereits von Linux bekannt sein dürfte. Der entsprechende Aufruf um ein Dateisystem zu erzeugen lautet beispielsweise: mke2fs -O sparse_super -o hurd /dev/hda1. Als ergänzende Option ist -o hurd anzugeben, die Installationsroutine berücksichtigt dies bereits. 2.7.2. Vorbereitungen • 1. Erzeugen einer GRUB Bootdiskette Auf der CD-ROM befindet sich unter /install/grub-boot-0.5.95.image ein Image für eine GRUB Bootdiskette. Diese kann mit dem Kommando dd auf eine Diskette geschrieben werden. • 2. Verstehen der „Basics“ Fahren Sie nur mit der Installation fort wenn Sie sich ganz sicher sind das Sie die verschiedenen Namensgebungen für Laufwerke und Partitionen unter Linux, Hurd und bei GRUB verstanden haben. Hier kann es leicht zu Verwechslungen kommen. Deshalb sollte der folgende Abschnitt sehr aufmerksam gelesen werden. Hurd nummeriert Festplatte in aufsteigender Reihenfolge, beginnend mit 0. Hierbei ist es bei IDE Fetsplatte unabhängig ob die Festplatte als Master oder Slave eingestellt ist, die zweite Platte ist immer hd1. Ebenso wird bei SCSI Festplatten verfahren. Die erste und zweite Festplatte werden als sd0 bzw. sd1 bezeichnet, egal welche SCSI ID den Platten gegeben wurde. Obwohl die Bezeichnungen bereits so verwendet wurden, hier nochmal der Hinweiß: IDE Festplatten werden als hdx und SCSI Festplatten als sdx bezeichnet. Die Partitionen auf einer Festplatte werden immer als sn bezeichnet, wobei n für die Partitionsnummer steht und die Nummerierung mit 1 begonnen wird. Die dritte Partition auf der ersten IDE Festplatte würde somit als hd0s3 bezeichnet werden. Die dritte Partition auf der zweiten SCSI Festplatte bezeichnte man als sd1s3. Verwirrend, nicht war...? GRUB bezeichnet die Partitionen etwas anders. Zunächst werden Festplatten und Partitionen beginnend mit 0 hochgezählt. Die Bezeichnung lautet (hdN,n), inklusive der runden Klammern. Alle Festplatten werden fortlaufend hochgezählt, beginnend mit den IDE Festplatten, danach die SCSI Festplatten. Mal ein Beispiel: bei einer IDE Festplatte im System lautet die Bezeichnung für die ersten Partition (hd0,0). Nehmen wir aber mal (hd1,2), dies kann bereits die erste SCSI Festplatte sein, wenn nur eine IDE Festplatte im System steckt. Es kann aber auch die zweite IDE Festplatte sein. Alles verstanden? Wenn nicht beginnen Sie bitte am Anfang des Kapitels von vorne.... ;-) 2.7.3. Installation unter Linux Die Installation des Hurd Systems erfolgt zunächst unter Debian GNU/Linux, viele der Arbeitsschritte werden Ihnen bakannt vorkommen wenn Sie schon einmal Debian GNU/Linux installiert haben. Nach dem ersten Reboot des Systems steht jedoch ein System mit Hurd Kernel zur Verfügung. Die Basisinstallætion läuft in 7 Schritten ab: • 1. Booten des Installationssystems 89 Kapitel 2. Installation von Debian GNU/Linux Die Installationsroutine kann mit jeder der bekannten Methoden erfolgen, es kann direkt von der CD-ROM, von DOS/Windows aus oder von den boot/root Disketten gestartet werden. Wenn keine CD-ROM zur Verfügung steht kann auch von einem kompletten Set Disketten installiert werden. • 2. Partitionen Zunächst sollten Sie über den Menüpunkt „Partition a Hard Disk“ einen Blick auf die vorhandenen Festplatten und Partitionen werfen. Wenn Sie später weitere Partitionen in das System einbinden möchten, so sollten Sie diese jetzt bereits anlegen. Unter Hurd stehen noch keine Programme für diese Aufgaben zur Verfügung. Für den Anfang sollten 500-600MB für das System ausreichen. • 3. Namen Notieren Sie sich genau die geplante Partitionierung des Systems. Erstellen Sie eine Tabelle in der sowohl die Bezeichnungen für GRUB als auch für Hurd vermerkt sind. • 4. Erstellen von Partitionen Legen Sie nun die gewünschten Partitionen an. Achten Sie darauf auch eine Swap Partition anzulegen, Hurd ist da sehr kleinlich wenn es keine solche Partition finden kann... Es kann für Linux und Hurd eine gemeinsame Swap Partition verwendet werden. • 5. Formatierung Formatieren Sie nun, über den Menüeintrag „Initialize a Hurd or Linux Partition“ die für Hurd vorgesehene / (root) Partition und mounten diese. Es dürfen keine weiteren Partitionen gemountet werden. • 6. Basissystem Installieren Sie das Basissystem über „Install the Base System“. • 7. Reboot Legen Sie nun die GRUB-Bootdiskette ein und starten Sie das System über „Reboot the System“. Wenn Sie das Sytem von CD-ROM gestartet haben müssen Sie die Bootreihenfolge im Bios verändern oder die CD aus dem Laufwerk nehmen. Wenn die Hurd Partition (hd0,0) (GRUB Bezeichnungsschema) und sd0s1 (HURD Bezeichnungsschema) ist. so startet das System vollkommen automatisch. Zur Errinerung: dies würde bedeuten das Hurd auf der ersten Partition der ersten Festplatte installiert wurde und das sich keine IDE Festplatten im System befinden. Sollte aber die Bezeichnung (hd0,0) (GRUB Bezeichnungsschema) und hd0s1 (HURD Bezeichnungsschema) sein, so wird GRUB leicht irritiert sein und um eine Korrektur bitte. Sie wissen jetzt aber bereits das die korrekte Antwort hd0s1 lautet. Die Frage ob /boot/serverboot.gz verwendet werden soll ist mit einem Druck auf die Eingabestaste (RETURN) zu beantworten. Wenn keine der beiden Varianten auf Ihr System zutrifft, so stellt GRUB ein Bootmenü zur Verfügung in dem die TAB-Taste zur Vervollständigung der Eingabe verwendet werden kann. Hier ein Beispiel: die Aufforderung „Press any key to continue“ und das drücken der Eingabetaste bringt ein Menü zum Vorschein. Mit der Taste c gelangt man in die Kommandozeile. Von hier kann Schritt für Schritt die korrekte Eingabe zusammengestellt werden. grub$ root TABÊ Possible commands are: root rootnoverify grub$ root (TABË 90 Kapitel 2. Installation von Debian GNU/Linux Possible disks are: fd0 hd0 hd1 grub$ root (hd0,TABÌ Possible partitions are: Partition num: 0, Filesystem type is unknown, partition type 0x82 Partition num: 1, Filesystem type is ext2fs, partition type 0x83 Partition num: 2, Filesystem type is ext2fs, partition type 0x83 Partition num: 4, Filesystem type is ext2fs, partition type 0x83 Partition num: 5, Filesystem type is ext2fs, partition type 0x83 Partition num: 6, Filesystem type is ext2fs, partition type 0x83 grub$ root (hd0,4)Í Filesystem type is ext2fs, partition type 0x83 grub$ kernel /boot/gnumach.gz root=hd0s5 -s grub$ module /boot/serverboot.gz grub$ boot Ê Drücken Sie hier die TAB-Taste. Ë Drücken Sie hier die (- und die TAB-Taste. Ì Wählen Sie eine der vorab angezeigten Festplatten aus und drücken Sie wieder die TAB-Taste. Í Wenn die Festplatte und Partition korrekt sind, kann die Auswahl mit der Eingabetaste abgeschlossen werden. Wenn alle Angaben korrekt sind, kann das System gestartet werden. Auf der Bootdiskette kann später dann die Datei /boot/grub/menu.lst so verändert werden das die Einträge den tatsächlichen Gegebenheiten entsprechen. 2.7.4. Abschluß der Installation Die Installation wird nach dem Neustart des Systems nun bereits mit einem laufenden Hurd-Kernel abgeschlossen: • Wenn das System gestartet ist, rufen Sie ./native-install auf. Danach muß das System mit dem Kommando reboot nochmal neu gestartet werden. Achten Sie ganz besonders auf die Meldungen und notieren Sie sich die Bezeichnung des CD-ROMs. • Auch nach diesem Start rufen Sie ./native-install nocheinmal auf. Diesmal werden viele bereits installierte Pakete abschliessend konfiguriert. Danach muß das System nochmals rebootet werden. • Melden Sie sich nun als Benutzer „root“ an und wechseln Sie in das Verzeichnis /dev. Nun müssen alle benötigten Gerätedateien angelegt werde, auch für die Swap-Partition und das CD-ROM. Dies geschieht mit dem Kommando MAKEDEV hd2 hd0s2 hd0s3 usw.. • Ändern Sie die Datei /etc/fstab mit dem Editor ae und fügen Sie die benötigten Partitonen hinzu, beispielsweise: /dev/hd0s1 none swap sw 0 0 /dev/hd1,1 /CD1 ext2 rw 1 1 /CD1 ist der empfohlene Pfad wenn auch die zweite Hurd-CD zur Installation verwendet wird. Wie schon erwähnt kann die Swap-Partition ebenfalls von Linux verwendet werden. • Nun muß die Swap-Partition mit swapon -a aktiviert werden. 91 Kapitel 2. Installation von Debian GNU/Linux • Das CD-ROM wird mit einem sogenannten „translator“ aktiviert: settrans -a /cdrom /hurd/isofs /dev/hd2s1, die Bezeichnung muß natürlich angepasst werden. • Nun können weitere Pakete mit dselect installiert werden. Unter „Access“ wählen Sie „Mounted filesystem“ und geben /cdrom/dists/unstable ein. Wundern Sie sich nicht über einige Fehlermeldungen, lediglich ../main/binary-hurd-i386 enthält Pakete, die Bereiche „contrib“ und „non-US“ sind in diesem bereits enthalten. • Fahren Sie mit „Update“ und „Select“ fort. Sie können weitere Pakete auswählen, um Probleme zu minimieren sollte darauf aber erst einmal verzichtet werden. Die Auswahl von „Install“ sollte ohne größere Probleme durchlaufen. • Das abmelden der CD-ROM erfolgt in zwei Schritten, die Kommandos settrans -g /cdrom settrans -g /dev/hd2s1 sollten zum gewünschten Ergebniss führen. Hiermit ist die Installation abgeschlossen. Es können nun weitere Pakete installiert werden. 92 Kapitel 3. Betrieb 3.1. Unix-Grundlagen Im folgenden finden Sie eine Einführung in die wichtigsten Unix-Kommandos sowie eine Beschreibung des Editors vi. Im Gegensatz zu anderen Betriebssystemen speichert Debian GNU/Linux alle nötigen Einstellungen in reinen Textdateien. Diese lassen sich mit den einfachsten Werkzeugen, wie zum Beispiel dem Editor vi, bearbeiten. Es werden keine Programme mit grafischer Benutzeroberfläche benötigt, der Systemadministrator hat 100%igen Zugriff auf alle Einstellungen, zur Not auch von außerhalb über eine simple Telefonleitung oder über das Internet via telnet oder besser ssh. Es werden die wichtigsten Grundlagen zur Systemadministration vermittelt, so daß Sie in jedem Fall Ihr System wieder zum Leben erwecken können. Sicher gibt es einfacher zu bedienende Editoren als vi, dieser hat jedoch den Vorteil, schon direkt nach der Basisinstallation von Debian GNU/Linux vorhanden zu sein. Auch auf anderen Unix-Systemen trifft man auf diesen Standard-Editor, so daß man die Vorkenntnisse auch hier nutzen kann. Da bisher keine grafische Oberfläche installiert wurde (diese ist beispielsweise für den Betrieb eines Servers nicht notwendig), finden Sie im folgenden ausschließlich textbasierte Programme. Debian GNU/Linux stellt dem Systembetreiber aber auch zahlreiche grafische Werkzeuge zur Administration zur Verfügung, einige von ihnen werden später vorgestellt. 3.2. Allgemeines zum neuen System Wenn Sie es bis hierher geschafft haben, Debian GNU/Linux auf Ihrem System zu installieren und das erste Mal zu starten, steht Ihnen nun ein lauffähiges Debian GNU/Linux-System zur Verfügung. Alle installierten Programme wurden schon für Sie sinnvoll vorkonfiguriert. Dennoch ist es natürlich an vielen Stellen angebracht, dem System den letzten Schliff zu geben. Im folgenden erfahren Sie einiges über den Aufbau und die Funktionalität des Debian GNU/Linux-Systems, danach wird auf einige spezielle Programme eingegangen. 3.3. Ein Multiuser-, Multitasking-Betriebssystem Debian GNU/Linux basiert auf dem Design der in den 60er Jahren entstandenen Unix-Systeme. Anders als die im täglichen Gebrauch – zu Hause oder in Büros – verbreiteten DOS-, Windows- und MacOS-Betriebssysteme, ist Unix im Serverbereich und auf Systemen mit vielen Benutzern, auf ein und demselben Rechner, verbreitet. Dies bedeutet u.a., daß Debian GNU/Linux viele Funktionen von Hause aus mitbringt, die den anderen Betriebsystemen fehlen oder die zusätzlich erworben und installiert werden müssen. Debian erlaubt mehreren Benutzern die gleichzeitige Nutzung eines Rechners ( Multiuser), hierzu ist es nötig mehrere, auch gleiche Programme, zur selben Zeit auszuführen. Diese Funktion nennt man Multitasking. Ein Großteil der Komplexität und Leistungsfähigkeit von Unix-Systemen hat ihren Ursprung in diesen beiden Funktionen. Zum Beispiel muß das System bei mehreren Benutzern verhindern, daß ein Benutzer Dateien eines anderen versehentlich löschen kann. Hat man dies einmal verstanden, fällt es viel leichter viele der Vorgänge und Eigenheiten eines Unix-Systems besser zu verstehen. Sie werden im folgenden lernen, diese beiden Funktionen sinnvoll zu nutzen. 3.4. Anmelden am System Um Debian GNU/Linux zu benutzen, müssen Sie sich am System anmelden. Dies geschieht über die Eingabe eines sogenannten Usernamens und eines Paßwortes. Über diese Kombination kann das System feststellen, welche Zugriffsrechte der Benutzer hat und welche persönlichen Einstellungen zu verwenden sind. 93 Kapitel 3. Betrieb Wenn Sie Debian GNU/Linux selber installiert haben, wurden Sie bereits bei der Installation nach einem Benutzernamen und einem Paßwort sowie einigen anderen Angaben gefragt. Möchten Sie sich an einem anderen System anmelden, fragen Sie den Systembetreuer nach einem Zugang. Sie sollten in jedem Fall nicht auf die Idee kommen, für Ihren Zugang zu einem Linux-System auf ein Paßwort zu verzichten (auch wenn dies grundsätzlich möglich ist und Sie „sowieso nur alleine zu Hause“ an dem Computer arbeiten!). Ein Zugang ohne Paßwort steht für jeden anderen spätestens bei der ersten Verbindung ins Internet offen, bitte bedenken Sie das! Auch ist es bei der Installation möglich, auf die Einrichtung eines normalen Benutzers zu verzichten. Dies mag in einigen wenigen Fällen sinnvoll sein, es ist aber meistens davon abzuraten. Der Superuser (root) hat generell alle Zugriffrechte an einem System. Debian GNU/Linux installiert aus Sicherheitsgründen einige Pakete so, daß die zugehörigen Programme nicht als Superuser ausgeführt werden können. Weiterhin ist es standardmäßig unter Debian GNU/Linux nicht ohne weiteres möglich, sich als Superuser über ein Netzwerk am System anzumelden. Es kann also zu Problemen und Verwirrung kommen, wenn Sie keinen normalen Benutzer angelegt haben. Wenn Sie Ihr Debian GNU/Linux-System starten, sehen Sie eine Aufforderung zur Anmeldung am System. Je nach Konfiguration kann dies eine textbasierte oder eine grafische Anmeldung sein. Im einfachsten Fall sehen Sie in etwa folgendes: Debian GNU/Linux woody surimi tty1 book login: Bei einer unveränderten Debian-Installation steht in der ersten Zeile nach „Debian GNU/Linux“ der Name der Debian-Version (hier „woody“ für die Version 3.0), der Name des Rechners („surimi“) sowie Name und Nummer der Konsole, auf der Sie sich befinden. Geben Sie nun Ihren Benutzernamen ein und drücken Sie RETURN, Sie werden dann nach Ihrem Paßwort gefragt. Passwort: Geben Sie hier Ihr gewähltes Paßwort ein. Beachten Sie, daß das Paßwort bei der Eingabe aus Sicherheitsgründen nicht angezeigt wird. Sollte die Anmeldung fehlschlagen, prüfen Sie, ob eventuell die Feststelltaste gedrückt wurde. War die Anmeldung erfolgreich, sehen Sie eine kurze Willkommensnachricht, die in etwa so aussieht: Linux surimi 2.4.4 #1 Wed May 16 09:21:01 EST 2001 i686 unknown Copyright (C) 1993-1999 Software in the Public Interest, and others Most of the programs included with the Debian GNU/Linux system are freely redistributable; the exact distribution terms for each program are described in the individual files in /usr/doc/*/copyright Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Sat Jul 3 21:53:40 on tty4. You have mail. $ Das letzte Zeichen, $, wurde von einem Programm, der sogenannten shell, ausgegeben. Deshalb nennt man dies auch den „shell-prompt“. Hier können Sie verschiedene Kommandos eingeben und so das System steuern oder Programme starten. Als erster Versuch eignet sich das Kommando whoami gut. Der Cursor rechts neben dem Shell-Prompt (meist ein blinkender Unterstrich (_)) zeigt an, an welcher Stelle Sie das nächste Zeichen auf der Tastatur eingeben sollen. Tippen Sie den Befehl whoami ein und drücken Sie RETURN. whoami zeigt Ihren Benutzernamen an, Sie gelangen dann wieder zum Shell-Prompt zurück. 94 Kapitel 3. Betrieb Wenn Sie Ihre Arbeit mit Debian beendet haben, sollten Sie sich wieder vom System abmelden. Hierfür können Sie den Befehl „exit“ benutzen. Eine weitere Möglichkeit ist das gleichzeitige Drücken der Tasten STRG+d, auch hiermit verlassen Sie die momentane shell, Ihre Benutzerumgebung. Bedenken Sie, daß – wenn Sie sich nicht vom System abmelden – andere Leute Ihren Zugang mißbrauchen können, falls Sie sich von Ihrem Rechner entfernen! 3.5. Anmelden als Superuser (root) Debian GNU/Linux ist als Multiuser-System dafür ausgelegt, mehrere Benutzer gleichzeitig bei der Arbeit zu unterstützen. Hierbei wurde besonderer Wert darauf gelegt, daß ein Programm eines Benutzers, wenn es denn mal abstürzt, nicht das komplette System abstürzen läßt. Über Zugriffrechte, die den Benutzern eines Systems von dem Systemadministrator zugewiesen werden, wird verhindert, daß wichtige Dateien im System von Unbefugten verändert oder gar gelöscht werden. Manchmal ist es aber nötig, selbst wichtige Systemdateien zu verändern. Hierzu gehört die Installation von neuen Programmen (normalerweise über das Programm dselect) oder auch die Konfiguration des Netzwerkes. Ein solcher Eingriff ist ebenfalls nötig, wenn man eine serielle Maus angeschlossen hat und diese gegen ein Modell mit PS/2-Anschluß austauschen möchte. Um diese Änderungen vornehmen zu können, müssen Sie mehr Zugriffsrechte zu Ihrem System erlangen als Ihnen als normaler Benutzer zur Verfügung stehen. Sie müssen „root“ werden, sich also als Superuser/ Systemadministrator am System anmelden. Am einfachsten gelingt dies, wenn Sie sich bereits am Login-Prompt mit dem Benutzernamen root und dem dazugehörigen Paßwort anmelden. Das Paßwort haben Sie bereits bei der Installation gewählt, wenn Sie das System selber installiert haben. Arbeiten Sie an einem fremden System, bitten Sie den Systemadministrator, die gewünschten Einstellungen für Sie vorzunehmen. Manchmal ist das Paßwort für den Superuser auch mehreren Personen bekannt, dies ist z.B. an Universitäten oder in Firmen üblich, um zu gewährleisten, daß möglichst immer ein Systembetreuer ansprechbar ist. Melden Sie sich nun als Superuser (root) an. Überprüfen Sie mit dem Befehl whoami Ihre Identität. Loggen Sie sich möglichst bald wieder aus, wenn Sie als Superuser am System gearbeitet haben! Sie haben als Superuser alle Zugriffsrechte, um das gesamte System im schlimmsten Fall zu zerstören. Spielen Sie nicht mit dem System herum, solange Sie als Superuser angemeldet sind. Führen Sie nur die absolut notwendigen Arbeiten aus und melden Sie sich dann als normaler Benutzer wieder an! Alternativ besteht auch die Möglichkeit, den Befehl su zu benutzen. Sie können so die Rechte eines anderen Benutzers erlangen, ohne sich am System ab- und wieder anmelden zu müssen. Probieren Sie es einmal aus: Melden Sie sich mit Ihrem normalen Benutzernamen an (nicht root!). Geben Sie das Kommando su ein. Sie werden nun nach dem Paßwort für den Superuser gefragt: geben Sie es ein. Der Shell-Prompt sollte nun von $ auf # wechseln. Sie können so leicht feststellen, daß Sie nun als Superuser angemeldet sind. Natürlich können Sie dies auch jederzeit wieder mit whoami überprüfen. Sie können mit dem Befehl su auch die Identität jedes anderen Benutzers annehmen, solange Sie das Paßwort kennen oder als Superuser am System angemeldet sind. Benutzen Sie hierzu ebenfalls den Befehl su und geben dahinter (durch ein Leerzeichen getrennt) den Namen des Benutzers an. Beispiel: su donald. Vielleicht werden Sie bemerken (nachdem Sie das Kommando su einige Zeit benutzt haben), daß nicht alle Einstellungen so sind, wie Sie vielleicht erwarten. Um auch mit dem Kommando su alle Einstellungen so vorzufinden, als ob man sich direkt von einem Login-Prompt angemeldet hätte, benutzen Sie den Befehl su - donald, also mit dem Zeichen - nach dem Kommando su. 3.6. Benutzerverwaltung Die Benutzerverwaltung eines Systems stellt an den Systemadministrator verschiedene Anforderungen. Bereits während der Installation von Debian GNU kann ein Benutzer hinzugefügt werden. Dies sollte auch auf jeden Fall geschehen. Nachdem das System in den produktiven Betrieb übergegangen ist, sind Aufgaben wie das 95 Kapitel 3. Betrieb anlegen oder löschen von Benutzern, das anpassen von Zugriffsrechten oder Quotas (beispielsweise zur Beschränkung des Plattenplatzes je Benutzer) durch den Systemadministrator zu erledigen. Informationen zu Zugriffsrechten finden sich an anderer Stelle in dieser Dokumentation, hier soll es zunächst um das hinzufügen und löschen von Benutzeraccounts gehen. 3.6.1. Benutzer hinzufügen Das hinzufügen neuer Benutzer ist Aufgabe des Systemadministrators und muss daher mit Superuser-Rechten durchgeführt werden. Neben dem klassischen Weg, dem hinzufügen der erforderlichen Daten mittels eines Editors in den entsprechenden Dateien, steht unter Debian GNU das Programm adduser zur Verfügung. adduser [--home DIR] [--shell SHELL] [--no-create-home] [--uid ID] [--firstuid ID] [--lastuid ID] [--gecos GECOS] [--ingroup GROUP | --gid ID] [--disabled-password] [--disabled-login] user Add a normal user adduser --system [--home DIR] [--shell SHELL] [--no-create-home] [--uid ID] [--gecos GECOS] [--group | --ingroup GROUP | --gid ID] [--disabled-password] [--disabled-login] user Add a system user adduser --group [--gid ID] group addgroup [--gid ID] group Add a system group adduser user group Add an existing user to an existing group Global configuration is in the file /etc/adduser.conf. Other options are [--quiet] [--force-badname] [--help] [--version] [--conf FILE]. adduser kennt eine Reihe von Optionen die in der Manpage beschrieben sind oder, in verkürzeter Form, mittels adduser -h angezeigt werden. Für den „Hausgebrauch“ ist es ausreichend das Programm ohne weitere Optionen aufzurufen, adduser verfügt über einen interaktiven Modus in dem alle notwendigen Angaben erfragt werden. sushi:~# adduser Enter a username to add: dd Adding user dd... Adding new group dd (1001). Adding new user dd (1001) with group dd. Creating home directory /home/dd. Copying files from /etc/skel Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully Changing the user information for dd Enter the new value, or press return for the default Full Name []: Donald Duck Room Number []: Work Phone []: Home Phone []: Other []: Is the information correct? [y/n] y 96 Kapitel 3. Betrieb Zunächst ist der Benutzer (Loginname) anzugeben. Hier bietet es sich an eine kurze Zeichenkette zu wählen, diese Angabe wird bei jeder Anmeldung am System benötigt. Unter Debian GNU wird für jeden neuen Benutzer auch gleich eine eigene Gruppe erzeugt, die Heimatverzeichnisse für jeden Benutzer (mit Ausnahme von „root“) befinden sich unterhalb von /home/. Dort wird für jeden Benutzer ein Verzeichnis mit dem Namen des Benutzers erzeugt. Weiterhin werden alle dateien aus dem Verzeichnis /etc/skel/ in das Homeverzeichnis des Benutzers kopiert. Hierbei handelt es sich um verschiedene Voreinstellungen, beispielsweise für die bash, welche dann von Benutzer angepasst werden können. sushi:~# ls -a /etc/skel/ . .. .alias .bash_logout .bash_profile .bashrc .cshrc Es wird dann (zur Sicherheit doppelt) nach einem Passwort gefragt. Weiterhin sollte der „Full Name“ des Benutzers korrekt angegeben werden. Alle weiteren Angaben stammen aus der Urzeit der Unix Systeme und müssen nicht ausgefüllt werden. Abschliessend kann noch entschieden werden ob alle Angaben korrekt ausgefüllt wurden. Ist dies der Fall so wird der Benutzer dem System hinzugefügt und der Zugang steht ab sofort zur Verfügung. Wird das Programm abgebrochen (durch Eingabe von„n“ oder auch „CTRL+C“ so werden alle bereits erzeugten Dateien, Verzeichnisse und Einträge in Konfigurationsdateien wieder entfernt. 3.6.2. Benutzer löschen Das entfernen von Benutzern aus dem System ist deutlich einfacher. Hierzu steht das Kommando deluser zu Verfügung. Auch diese Programm kann interaktiv benutzt werden, hier aber ein Beispiel mit der Angabe des Benutzernamens auf der Kommandozeile: sushi:~# deluser dd Removing user dd... done. Zu beachten ist das dabei nicht das Homeverzeichnis des Benutzers gelöscht wird. Dies bleibt dem Systemadministrator überlassen. 3.7. Virtuelle Konsolen Der Linux-Kernel unterstützt virtuelle Konsolen. Dies ist eine Methode, um Ihren Bildschirm und die Tastatur (sowie die Maus, falls das Programm gpm installiert wurde) so benutzen zu können, als wenn Sie an mehreren Geräten gleichzeitig arbeiten würden und diese alle mit dem gleichen Rechner-System verbunden wären. Die Benutzung der virtuellen Konsolen ist sehr einfach. Über die Tastenkombinationen ALT+F1, ALT+F2, ALT+F3 bis ALT+F6 können Sie zwischen den verschiedenen virtuellen Bildschirmen umschalten. Probieren Sie es aus, indem Sie sich mehrfach einloggen und auf den verschiedenen Konsolen unterschiedliche Befehle ausführen. Debian GNU/Linux ist standardmäßig für die Benutzung von sechs virtuellen Konsolen eingerichtet, auf diesen wird automatisch das Programm login gestartet. Sie können auf diese mit den Funktionstasten F1 bis F6 zugreifen (jeweils zusammen mit der ALT-Taste). Technisch sind auch noch mehr virtuelle Konsolen möglich, Debian GNU/Linux verwendet die siebte Konsole (ALT+F7) für das X-Window-System, die grafische Benutzeroberfläche. 97 Kapitel 3. Betrieb Wenn Sie X benutzen, so verwendet dies automatisch die siebte virtuelle Konsole. Diese wird beim Start von X automatisch aktiviert, unabhängig davon, ob Sie das Kommando startx benutzen oder X über xdm oder ein anderes Programm starten. Um von der grafischen Oberfläche X wieder auf die textbasierte Konsole zu wechseln, drücken Sie die Tastenkombination CTRL+ALT+F1 (oder +F2, +F3 usw. ...). Sie müssen sich also nur merken, daß – wenn Sie von X auf eine Konsole wechseln möchten – zusätzlich die Taste CTRL zu drücken ist. Wenn Sie sich einmal mit der Arbeitsweise der virtuellen Konsolen vertraut gemacht haben, werden Sie diese zu schätzen wissen. Sie können so schnell zwischen einem Editor und dem Compiler umschalten und auf der dritten Konsole noch die Logdateien im Auge behalten! Dies können Sie auch unter X erreichen, indem Sie mehrere Fenster öffnen, in vielen Fällen ist es aber gar nicht nötig, auf einem Rechner X zu installieren – beispielsweise bei einem Server. Es ist sogar möglich, mehrere X-Server auf verschiedenen virtuellen Konsolen zu starten. Dies kann für den gleichzeitigen Betrieb von X mit verschiedenen Farbtiefen sinnvoll sein. 3.8. System herunterfahren Schalten Sie Ihr Debian GNU/Linux-System niemals einfach aus! Sie riskieren in diesem Fall einen Verlust Ihrer Daten! Wenn Sie Ihren Computer zu Hause benutzen, möchten Sie ihn vielleicht nachts abschalten (eigentlich schaltet kein richtiger Linux-Fan seinen Computer jemals ab, aber trotzdem wollen wir diesen Ausnahmefall kurz besprechen...). Es ist eine sehr schlechte Idee, einen Linux-Computer nach der Arbeit einfach auszuschalten oder die RESET-Taste zu drücken. Der Linux-Kernel hat, um die Performance zu erhöhen, einen internen Festplatten-Cache. Das bedeutet, daß Informationen temporär im Speicher (RAM) des Computers abgelegt werden, bevor sie auf der Festplatte gespeichert werden. Die beschleunigt viele Aktionen stark. Periodisch werden diese Informationen auf die Festplatte gespeichert. Dies können Sie auch selber durch das Kommando sync erreichen. Um Ihren Rechner ordnungsgemäß herunterzufahren, benutzen Sie bitte das Kommando reboot oder drücken Sie CTRL+ALT- und DEL-Tasten gleichzeitig. Debian GNU/Linux wird nun unmittelbar alle Programme beenden, alle Daten auf Festplatte speichern und den Rechner neu starten. Um den Rechner abzuschalten, müssen Sie Superuser (root) sein. Benutzen Sie das Kommando shutdown -h now. Wenn Sie die Zeile System halted, it’s safe to turn off the computer. sehen, können Sie den Rechner ausschalten. Bei neueren Computern mit Advanced Power Management-Unterstützung (APM) und einem Kernel, der dies unterstützt, schaltet sich der Rechner selbsttätig ab. Sie können aber auch als normaler User den Rechner jederzeit mit der Tastenkombination CTRL-ALT-ENTF herunterfahren, wenn der Superuser dies nicht deaktiviert hat (in /etc/inittab). Keine Angst, das System wird auch so korrekt runtergefahren. 3.9. Kommandozeile und Dokumentation Einige einfache Beispiele für die Kommandozeile (alles das, was Sie hinter dem Shell-Prompt eingeben) wurden bereits ein paar Seiten zuvor besprochen. Nun beschäftigen wir uns mit etwas umfangreicheren Beispielen. Eine minimale Kommandozeile enthält lediglich einen einzigen Befehl, ohne Parameter, z.B. whoami. Aber auch dies läßt sich noch ausbauen, geben Sie einfach mal man whoami ein. Der Befehl man ruft die Bedienungsanleitung (manual page) für das Programm whoami auf. Mit der Taste SPACE können Sie in der Anleitung weiterblättern, die Taste q beendet das Programm man. Hier ein noch erweitertes Beispiel: man -k Postscript 98 Kapitel 3. Betrieb Diese Kommando besteht aus 3 Teilen: Zuerst der eigentlich Name des Kommandos, man, gefolgt von einer sogenannten Option, - hier -k, abschließend dann das Argument Postscript. Optionen verändern das Verhalten eines Programms. In den meisten Fällen werden Optionen mit dem Zeichen - eingeleitet. Die GNU-Programme kennen außerdem eine ausführliche Form der Optionen; für die Option -k wäre dies dann --apropos. Probieren Sie dies nun einmal mit dem Befehl man, gefolgt von der Option -h und einmal in der ausführlichen Form mit der Option -help aus. Die Ergebnisse sind gleich. Jedes Kommando hat seine eigenen Optionen. Es wird versucht, diese soweit möglich zu vereinheitlichen, so daß Sie die Optionen -help und --version bei allen GNU-Programmen antreffen sollten. Probieren Sie das ruhig einmal mit einigen verschiedenen Kommandos aus. Aus historischen Gründen gibt es einige – manchmal geradezu bizarre – Abweichungen, die sich bis heute erhalten haben. So ist es z.B. möglich, bei den Kommandos tar oder ps das Zeichen „-“ vor den Optionen einfach wegzulassen. Alle Zeichen, die nicht zu einer Option gehören und kein Kommandoname sind, nennt man Argumente. Argumente können verschiedene Zwecke erfüllen. Meistens handelt es sich um Namen von Dateien, die mit dem entsprechenden Kommando bearbeitet werden sollen. In dem oben genannten Beispiel (man -k Postscript) ist Postscript das Wort, welches vom Kommando man gesucht werden soll. Es wird dann nicht die Anleitung zum Programm Postscript gesucht, sondern es wird in allen Anleitungen nach dem Wort Postscript gesucht und alle Namen der entsprechenden Anleitungen angezeigt. Im Beispiel von man whoami ist man das Kommando und whoami das zu suchende Argument. Wenn Sie nur wenige Programme auf Ihrem System installiert haben, sehen Sie wenige Suchergebnisse oder sogar nur die Meldung: Postscript: nothing appropriate. 3.10. Befehle wiederholen und ändern auf der Kommandozeile Alles was Sie hinter einem Shell-Prompt eingeben, ist in irgendeiner Form Teil eines Kommandos. Die bei Debian GNU/Linux standardmäßig genutzte Shell (bash) hat verschiedene Funktionen, um das Eingeben und nachträgliche Ändern von Befehlszeilen zu erleichtern. Sie können bereits eingegebene Kommandos wiederholen oder leicht verändern, um sie dann auszuführen. Probieren Sie es aus: Führen Sie irgendein Kommando, zum Beispiel whoami aus; drücken Sie dann die Taste PFEIL-OBEN. Der letzte Befehl erscheint wieder am Shell-Prompt. Sie brauchen nun nur noch RETURN zu drücken, um ihn noch einmal auszuführen. Wenn Sie einige Befehle eingegeben haben, können Sie mit den Tasten PFEIL-OBEN und PFEIL-UNTEN diese Befehle noch einmal anzeigen lassen. Sie können so Befehle mehrfach ausführen oder Tippfehler nachträglich korrigieren, ohne die ganze Zeile nochmals eingeben zu müssen. Am einfachsten können Sie den Cursor in der Befehlszeile mit den Pfeiltasten bewegen. Tippen Sie einfach mal einen Befehl, z.B. whoami, ein. Gehen Sie nun mit dem Cursor an die Stelle mit dem Tippfehler und löschen Sie mit BACKSPACE oder DELETE die gewünschten Zeichen. Geben Sie die noch fehlenden Zeichen ein und drücken Sie RETURN. Es gibt noch viele leistungsstarke Funktionen in der shell. Eine detaillierte Beschreibung bekommen Sie mit dem Befehl man bash. Die komplette Dokumentation finden Sie unter /usr/share/doc/bash/. An dieser Stelle möchten wir Ihnen nur einige, häufig benutze Funktionen vorstellen. Drücken Sie CTRL-a, der Cursor springt damit an den Anfang der Zeile. CTRL-k löscht von der aktuellen Position bis zum Ende die komplette Eingabe (k für „kill“). Probieren Sie dies mitten in einer längeren Zeile einmal aus. Die Kombination CRTL-a, dann CTRL-k löscht die komplette Zeile. Die gelöschten Zeichen werden, unabhängig von der Länge, „gespeichert“ und können mit CTRL-y wieder an jeder Stelle eingefügt werden. Und zu guter Letzt: CTRL-e bringt den Cursor ans Zeilenende. Spielen Sie einfach mal ein wenig mit diesen Funktionen herum: Sie werden schnell merken, daß sich mit ihnen sehr effizient arbeiten läßt! 99 Kapitel 3. Betrieb 3.10.1. Beschreibung der Kommandozeile Die Kommandos, die Sie an einem Shell-Prompt eingeben können, folgen einer bestimmten Syntax. Wenn Sie beispielsweise man man eingeben, erhalten Sie die Anleitung (man page) zu dem Kommando man. In dieser Anleitung finden Sie weitere Beschreibungen zum Kommando man und den Optionen dieses Kommandos. Beispielsweise finden Sie dort: man -k [-M path] keyword ... Optionen, die in den eckigen Klammern ([]) stehen, sind optional und können ausgelassen werden. Sie können also den Befehl man auch ohne die Option -M benutzen, wenn Sie diese aber doch einsetzen, müssen Sie als Parameter den passenden Pfad angeben. Für die Option -k müssen Sie einen Suchbegriff (keyword) angeben. Die drei Punkte (...) bedeuten, daß Sie nach mehreren Begriffen suchen können. Trennen Sie diese durch ein Leerzeichen. Hier noch ein Beispiel für eine etwas komplexere Beschreibung: man [-c|-w|-tZT device] [-adhu7V] [-m system[,...]] [-L locale] [-p string] [-M path] [-P pager] [-r prompt] [-S list] [-e extension] [[section] page ...] ... Sie müssen nicht jede kleine Option verstehen – wichtig ist das Prinzip. Neu ist in dieser Beschreibung das Zeichen |, es steht für „oder“ – nicht zu verwechseln mit der Verwendung dieses Zeichens in der Shell, hier ist nur die Man-Page gemeint. Sie können also eine der Optionen -c, -w oder -tZT benutzen, zusammen mit einem Device als Argument. Gruppen von Optionen, wie -adhu7V bedeuten, daß Sie eine oder mehrere dieser Optionen gleichzeitig nutzen können. Dabei ist es nicht selbstverständlich, daß alle möglichen Kombinationen auch Sinn machen oder gar funktionieren. Lesen Sie dazu die komplette Anleitung zu man. Beachten Sie weiterhin, wie die eckigen Klammern verschachtelt sind: [[section] page]. Dies bedeutet: wenn Sie eine section angeben, müssen Sie auch eine page angeben. 3.11. Dateien und Verzeichnisse Dateien auf einer Festplatte dienen zur Organisation und Speicherung von Daten, ähnlich einem Blatt Papier. Dateien können in Verzeichnissen (oder „Schubladen“) geordnet sein. Im folgenden einige Informationen über die Organisation von Dateien und Verzeichnissen bei Debian GNU/Linux. Das Zeichen / repräsentiert das sogenannte „root-“Verzeichnis. Alle weiteren Dateien und Verzeichnisse sind hier angeordnet. Wenn Sie vorher schon mal mit einem DOS- oder Windows-System gearbeitet haben, entspricht dies „in etwa“ dem Laufwerk C:. Machen Sie sich aber ab sofort mit dem Gedanken vertraut, daß es unter Linux keine Laufwerksbuchstaben gibt! Unter Linux finden Sie alle Laufwerke (Festplatten, CD-ROMs, Disketten...) unterhalb des „root-“Verzeichnisses (/). Beispielsweise stellt /home/fr das User-Verzeichnis des Benutzers „fr“ dar. Unterhalb des „root-“Verzeichnisses findet sich auf jedem Debian GNU/Linux-System das Verzeichnis home. In diesem befinden sich weitere Unterverzeichnisse. Die Namensgebung dieser Verzeichnisse ist identisch mit den Benutzernamen, die beim Einrichten neuer Benutzer vergeben werden. /etc/X11/XF86Config, dies ist die Konfigurationsdatei für das X-Window-System. Wichtig: Linux unterscheidet Groß- und Kleinschreibung bei den Pfaden und Dateinamen. Die Verzeichnisse sind in einer Struktur ähnlich einem Baum angeordnet. Vom „root-“Verzeichnis / verzweigt alles zu den weiteren Verzeichnissen. Unterhalb von / finden sich folgende Dateien und Verzeichnisse: / |-- System.map |-- bin |-- boot |-- cdrom 100 Kapitel 3. Betrieb |-- dev |-- etc |-- floppy |-- home |-- initrd |-- lib |-- lost+found |-- mnt |-- proc |-- root |-- sbin |-- tmp |-- usr |-- var |-- vmlinuz Hier als Beispiel die weitere Verzweigung unterhalb von /usr (Sie finden hier hauptsächlich Programme, die von allen Benutzern ausgeführt werden können): /usr/ |-- X11R6 |-- bin |-- dict |-- doc |-- games |-- i486-linuxlibc1 |-- include |-- info |-- lib |-- local |-- man |-- openwin -> X11R6 |-- sbin |-- share ‘-- src Bis hierhin sollten Sie auf Ihrem System (je nachdem welche Pakete Sie installiert haben) in etwa die gleiche Struktur vorfinden. Deutliche Unterschiede von System zu System finden sich unterhalb von /home: die dortige Struktur ist abhängig von den Benutzern, für die sie angelegt wurde: /home |-- fr |-- ftp |-- geka ‘-- mw Diese Verzeichnisse stellen die sogenannten „Home-Verzeichnisse“ der Benutzer dar, nach dem Anmelden am System befindet sich jeder Benutzer in seinem privaten Verzeichnis unterhalb von /home. In diesem Beispiel existieren die User fr, geka und mw. Das Verzeichnis ftp wurde im Laufe der Installation des FTP-Servers auf diesem Rechner eingerichtet. Dies stellt in diesem Sinne keinen eigentlichen Benutzer dar. Abweichend davon finden Sie das Home-Verzeichnis des Superusers (root) unterhalb von / als /root/. So können Sie für alle Benutzer des Systems die Homeverzeichnisse auf einer eigenen Partition halten. Für den Fall, daß das System beim Starten in einen unstabilen Zustand gerät und die Partition mit den Home-Verzeichnissen der Benutzer nicht mounten kann, besteht trotzdem für den Superuser die Möglichkeit, auf sein Home-Verzeichnis zuzugreifen. Keines der Verzeichnisse unterhalb von / entspricht einem physikalischem Gerät, wie zum Beispiel einer Festplatte oder einem CD-ROM. Weiterhin verwendet Linux keine Buchstaben wie unter DOS zur Verwaltung dieser Geräte. Der Verzeichnisbaum stellt eine Abstraktion der vorhandenen Hardware dar, Sie können die Verzeichnisse benutzen, ohne Kenntnis von der eigentlichen Hardware zu haben. Alle Dateien Ihres Systems können auf einer einzigen Festplatte liegen oder auf vielen verschiedenen, einige davon in Ihrem Rechner, andere in anderen Rechnern irgendwo im Netzwerk. 101 Kapitel 3. Betrieb Keine Panik, wenn Sie dies jetzt nicht völlig verstehen: die Idee dahinter ist anders als bei anderen Betriebssystemen. Es reicht wenn Sie sich merken, daß es keine Laufwerksbuchstaben gibt, Laufwerke – so wie Sie sie kennen – tauchen innerhalb des Verzeichnisbaumes auf, beispielsweise als /cdrom oder /floppy, wobei diese auch an jeder anderen Stelle liegen können, häufig unterhalb von /mnt. 3.12. Gruppen und Zugriffsrechte Unix-Betriebssysteme, und damit auch Debian GNU/Linux, sind dafür ausgelegt, daß mehrere Benutzer zur gleichen Zeit am System arbeiten können. Dabei müssen bestimmte private Dateien vor anderen Benutzern geschützt werden, aber auch Systemdateien vor den Benutzern geschützt werden. Sie können sie sehr leicht selber überprüfen: Melden Sie sich mit Ihrem Benutzernamen am System an, benutzen Sie nicht den Zugang des Superusers (root), und geben Sie das Kommando: rm /etc/resolv.conf ein. bash-2.03$ rm /etc/resolv.conf rm: remove write-protected file ‘/etc/resolv.conf’? y rm: cannot unlink ‘/etc/resolv.conf’: Permission denied Das System schützt diese Datei vor Veränderungen durch andere Benutzer als dem Superuser. Wenn jeder Benutzer Veränderungen an wichtigen Systemdateien vornehmen könnte, würde dies schnell zu Problemen führen. Sehen wir uns die Datei einmal etwas näher an: Geben Sie nun das Kommando ls -l /etc/resolv.conf ein. Sie bekommen diese Ausgabe: -rw-r--r-- 1 root root 119 Nov 02 1999 /etc/resolv.conf Die Option -l des Kommandos ls gibt den Dateinamen sowie alle weiteren Informationen zu der Datei aus. Diese Informationen sind ziemlich einfach zu verstehen. Die Größe der Datei ist 119 Byte, die Datei wurde zuletzt am 02. November 1999 geändert und der Dateiname ist /etc/resolv.conf. Weiter links wird die Sache etwas komplizierter... Kurz und knapp: -rw-r--r-- steht für die eigentlichen Zugriffsrechte der Datei, die 1 steht für die Anzahl der (hard) Links auf diese Datei (oder die Anzahl der Dateien in einem Verzeichnis) und root root bezeichnet den Besitzer sowie die Gruppe, zu der die Datei gehört. Doch nun etwas ausführlicher... 3.12.1. Gruppen Jede Datei auf Ihrem Debian GNU/Linux-System hat zwei Eigentümer: einen User und eine Gruppe. Das oben angeführte Beispiel ist da etwas verwirrend, es gibt sowohl einen User als auch eine Gruppe root. Gruppen sind, wie auch im echten Leben, Ansammlungen von Personen, sprich Benutzern auf einem System. Diese Mitglieder einer Gruppe können gemeinsamen Zugriff auf bestimmte Dateien haben, beispielsweise auf alle Dateien unterhalb von /var/www/projekte/debian/, wenn sie gemeinsam an den Webseiten zu einem Debian-Projekt arbeiten sollen. Sie können auch beispielsweise bestimmte Benutzer der Gruppe dialout (bedeutet soviel wie „rauswählen“) zuordnen, damit diese per Modem eine Verbindung ins Netz herstellen können. Das Kommando groups zeigt Ihnen an, zu welchen Gruppen Sie gehören. Dies ist abhängig von dem Benutzernamen, mit dem Sie sich am System angemeldet haben. Sehen Sie sich nun die Datei /etc/group an, benutzen Sie hierzu beispielsweise das Kommando more (more /etc/group). Beachten Sie die Gruppe root, in dieser sollte als einziger der Benutzer root eingetragen sein sowie Ihre eigene Gruppe, auch hier sollten nur Sie eingetragen sein. Es gibt einige weitere Gruppen in dieser Datei, beispielsweise dialout (siehe oben), floppy – diese Benutzer können auf das Diskettenlaufwerk zugreifen und andere. Nach der Installation sind keine weiteren Benutzer in den verschiedenen Gruppen aufgeführt, dies ist die Aufgabe des Systemverwalters, also Ihre ;-). Hier ein Beispiel für eine veränderte Datei /etc/group aus einem laufenden System: root:x:0: daemon:x:1:fr 102 Kapitel 3. Betrieb bin:x:2: sys:x:3: adm:x:4: tty:x:5: disk:x:6: lp:x:7:lp mail:x:8:fr,geka,mw news:x:9: uucp:x:10: proxy:x:13: kmem:x:15: dialout:x:20:fr fax:x:21:fr voice:x:22:fr cdrom:x:24:fr floppy:x:25:fr tape:x:26:fr sudo:x:27:fr audio:x:29:fr dip:x:30: majordom:x:31:majordom postgres:x:32: www-data:x:33:fr backup:x:34:fr msql:x:36:fr operator:x:37:fr list:x:38:fr irc:x:39:fr src:x:40:fr gnats:x:41: shadow:x:42: utmp:x:43:telnetd video:*:44: staff:x:50:fr games:x:60:fr qmail:x:70: users:x:100:fr telnetd:x:101: fr:x:1000: mw:x:1001: geka:x:1002: fr2:x:1003: nogroup:x:65534: mysql:x:102: Weitere Informationen zu dieser Datei bekommen Sie mit dem Kommando man group. Mit dem Kommando ls -l /home können Sie sich einen Überblick über die Stammverzeichnisse aller Benutzer auf dem System verschaffen. Jedes Verzeichnis sollte auch dem dazugehörigen Benutzer gehören. Wenn Sie das System neu installiert haben, werden Sie der einzige Benutzer sein. Deshalb auch hier ein Beispiel aus der Praxis: bash-2.03$ ls -l /home/ total 8 drwxr-sr-x 65 fr fr 5120 Jan 19 02:48 fr dr-xr-xrwx 45 fr fr 1024 Jan 9 22:44 ftp drwxr-sr-x 12 geka geka 1024 Jan 19 03:20 geka drwxr-sr-x 5 mw mw 1024 Jan 4 08:27 mw 103 Kapitel 3. Betrieb 3.12.2. Zugriffsrechte Neben dem Besitzer und der Gruppe, zu denen eine Datei gehört, verfügt jede Datei auch über Zugriffsrechte, über die festgelegt wird, wer diese Datei lesen, schreiben oder ausführen darf. Es gibt noch weitere Details, die wir aber übergehen wollen. Wie wir schon vorher gesehen haben, werden die Zugriffsrechte bei dem Kommando ls -l ganz links an den ersten zehn Stellen angezeigt. Die erste Stelle hat nicht direkt etwas mit den Zugriffsrechten zu tun, sie zeigt vielmehr den Dateityp an. Ein „-“ steht für eine normale Datei, ein d kennzeichnet ein Verzeichnis und ein l steht für einen Link. Die weiteren neun Stellen lassen sich in drei Gruppen teilen. Dies sind von links nach rechts: der Besitzer der Datei (owner), die Gruppe (group) und schließlich die Allgemeinheit (world). Jeder dieser drei Gruppen gehören drei dieser neuen Stellen. Jeder dieser drei Stellen steht für r lesen (read), w schreiben (write) und x ausführen (execute). Im Detail bedeuten die drei Buchstaben r, w und x folgendes: r – lesen : bei Dateien kann der Inhalt der Datei gelesen werden. Bei Verzeichnissen kann man den Inhalt des Verzeichnisses auflisten lassen. w – schreiben : bei Dateien kann diese Datei verändert und gespeichert werden. Bei Verzeichnissen können neue Dateien angelegt und bereits bestehende Dateien gelöscht werden. x – ausführen : Dateien können als Kommando ausgeführt werden. Dies macht nur Sinn, wenn diese Datei wirklich ein Kommando darstellt. Sie können eine Grafik ausführbar machen, es ergibt aber keinen Sinn. Da Verzeichnisse nicht ausgeführt werden können, bedeutet hier ein gesetztes x, daß Sie in dieses Verzeichnis wechseln können. Um also in einem Verzeichnis mit Dateien arbeiten zu können, benötigen Sie die Kombination x und r sowie gegebenenfalls auch w. Für Verzeichnisse ist dies alles ein wenig verwirrend, daher hier einige Beispiele: r--Eigentümer, Gruppe oder andere können den Inhalt dieses Verzeichnisses auflisten. Die Dateien selber in dem Verzeichnis können gelesen, gelöscht oder verändert werden. r-x Dieser Modus erlaubt das Auflisten der Dateien in dem Verzeichnis und gibt den Zugriff auf die Dateien frei. Sie können allerdings keine neuen Dateien anlegen oder bestehende Dateien löschen. Das Ansehen und Verändern von Dateien ist erlaubt, Programme können ausgeführt werden, wenn dies von den Rechten der Dateien selber her erlaubt ist. --x Sie können auf die Dateien in dem Verzeichnis zugreifen, diese aber nicht auflisten. Sie müssen also wissen welche Dateien sich in dem Verzeichnis befinden, um auf diese zugreifen zu können. rwx Sie können alles mit den Dateien anstellen, solange die Rechte der Dateien selber dies zulassen. Daraus folgen einige interessante Tatsachen, die Sie beachten sollten: Schreibrechte auf einem Verzeichnis entscheiden darüber, ob Sie eine Datei in einem Verzeichnis löschen dürfen. Eine Datei deren Rechte auf nur-lesen gesetzt sind, kann gelöscht werden, wenn Sie die nötigen Rechte haben um in diesem Verzeichnis zu schreiben! Weiterhin können Sie eine Datei in einem Nur-lesen-Verzeichnis nicht löschen, auch wenn Sie die nötigen Zugriffsrechte auf die Datei selber haben. Dies bedeutet auch, daß Sie, wenn Sie der Besitzer eines Verzeichnisses sind, auch die Dateien darin löschen können, auch wenn diese dem Superuser (root) gehören. Zugriffsrechte auf ein Verzeichnis haben also auch direkten Einfluß auf die Dateien in diesem Verzeichnis, an dieser Stelle kommen die Zugriffsrechte auf Dateien ins Spiel. Wenn Sie keinen Zugriff auf das Verzeichnis haben, spielen auch die Rechte an den Dateien für Sie keine Rollen, Sie kommen ja eh nicht an die Dateien... 3.12.2.1. Einige Beispiele Um die Zugriffsrechte von Dateien und Verzeichnissen zu verändern, steht das Kommando chmod unter Debian GNU/Linux zur Verfügung. Spielen wir einmal ein wenig damit herum: Erzeugen Sie zunächst eine neue Datei, beispielsweise mit dem Kommando touch testdatei. Das Kommando touch wird normalerweise dazu benutzt, die Datei mit einem aktuellen „Zeitstempel“ zu versehen. Wenn Sie jedoch einen Dateinamen angeben, der noch nicht existiert, so wird diese Datei neu angelegt, mit 104 Kapitel 3. Betrieb einer Länge von 0 Byte. Überprüfen Sie dies mit dem Kommando ls -l und werfen Sie einen Blick auf die Zugriffsrechte: bash-2.03$ touch testdatei bash-2.03$ ls -l testdatei -rw-r--r-- 1 fr fr 0 Jan 19 18:15 testdatei Bei Ihrem Versuch wird die Datei natürlich einen anderen Zeitstempel haben und Benutzer- und Gruppenzugehörigkeit entsprechen Ihrem Loginnamen. Die Zugriffsrechte (-rw-r--r--) werden von Debian GNU/Linux automatisch für neue Dateien auf die gezeigten Werte gesetzt. Sie können diese Vorgabe mit dem Kommando umask ändern. Sehen Sie sich zunächst die Man-Page zu chmod mit dem Kommando man chmod an. Wir werden hier nicht auf jedes Detail eingehen, sondern an einigen Beispielen zeigen, wie sich chmod mit verschiedenen Parametern auswirkt. Führen Sie das Kommando chmod u+x testdatei aus. Sehen Sie sich die Veränderung mit ls -l testdatei an. Es wurden Rechte zum Ausführen (x - execute) der Datei für den Besitzer (u - User) hinzugefügt (+ - Pluszeichen). bash-2.03$ chmod u+x testdatei bash-2.03$ ls -l testdatei -rwxr--r-- 1 fr fr 0 Jan 19 18:15 testdatei Ein solches Kommando können Sie beispielsweise auf ein selbstgeschriebenes Shellscript oder Perl-Programm anwenden, damit es auch ausführbar ist. Wenn Sie nun noch möchten, daß niemand außer Ihnen einen Blick in Ihre Arbeit werfen kann, so müssen Sie die Rechte zum Lesen der Datei für die Gruppe (g - Group) sowie alle anderen Benutzer (o - Other) entfernen (- - Minuszeichen). Sie können dies mit dem Kommando chmod go-r testdatei erreichen: bash-2.03$ chmod go-r testdatei bash-2.03$ ls -l testdatei -rwx------ 1 fr fr 0 Jan 19 18:15 testdatei Wie Sie gesehen haben, können Sie mit den Zeichen + (Plus) oder - (Minus) Rechte hinzufügen oder entfernen. Manchmal ist es damit etwas verwirrend, einen gewünschten Zustand herzustellen. Daher bietet chmod noch die Option = (Gleichheitszeichen), welche genau die angegebenen Rechte setzt und alle anderen löscht. Auch hier können Sie wieder die Buchstaben ugo (User, Group, Other) benutzen: bash-2.03$ chmod ugo=rx testdatei bash-2.03$ ls -l testdatei -r-xr-xr-x 1 fr fr 0 Jan 19 18:15 testdatei Die Datei ist nun für jeden Benutzer lesbar und kann auch von jedem ausgeführt werden. Weiterhin kann keiner der Benutzer diese Datei schreiben. Entfernen Sie nun die Rechte zum Ausführen der Datei für alle Benutzer (chmod a-x testdatei), bei einer Testdatei brauchen wir diese nicht. Versuchen Sie einmal die Datei zu löschen. Zur Erinnerung: Sie hatten vor kurzem die Datei mit dem Kommando chmod ugo=rx testdatei behandelt. Löschen Sie also die Datei mit dem Kommando rm testdatei: bash-2.03$ rm testdatei rm: schreibgeschützte Datei »testdatei« entfernen? Wenn Sie die Umgebungsvariablen nicht passend gesetzt haben, wird Ihnen die Fehlermeldung in englischer Sprache präsentiert. Da Sie (und auch kein anderer) keine Rechte haben, die Datei zu schreiben, fragt das Kommando rm, ob Sie diese Aktion wirklich durchführen wollen. Dies ist eine spezielle Funktion von rm und hat eigentlich wenig mit den Zugriffsrechten zu tun. Wenn Sie die Datei wirklich löschen möchten, können Sie die Frage bestätigen. Stören Sie sich nicht an der Ausgabe der Rechte an Zahlenform, des Kommandos rm, Sie können die Bedeutung in der Man-Page nachlesen. 105 Kapitel 3. Betrieb 3.13. Orientierung innerhalb von Debian Es gibt einige Unterschiede zwischen Debian GNU/Linux und anderen Distributionen. Selbst wenn Sie Linux und andere Distributionen bereits kennen, gibt es einige Dinge, die Sie wissen sollten, um Ihr System in einem gut zu wartendem Zustand zu halten. Dieser Abschnitt dient Ihrer Orientierung. Das wichtigste Konzept, das man verstehen muß, ist die Paketverwaltung von Debian. Im wesentlichen müssen Sie akzeptieren, daß große Teile Ihres System unter der Kontrolle der Paketverwaltung stehen. Sie können nicht so ohne weiteres „von Hand“ (zum Beispiel wenn Sie eine eigene Version des Apache-Servers aus den Sourcen übersetzt haben) ein Paket aktualisieren. Diese Aufgabe nimmt Ihnen das Debian GNU/Linux-Paketsystem ab. Nutzen Sie dies, um Pakete zu aktualisieren. Folgende Bereiche stehen unter der Kontrolle dieses Paketsystems: • /usr (mit Ausnahme von /usr/local) • /var (Sie können sich ggf. /var/local anlegen) • /bin • /sbin • /lib Wenn Sie zum Beispiel /usr/bin/perl ersetzen, weil Sie auf einer CD oder auf einem FTP-Server eine aktuellere Version wie auf Ihren Debian GNU/Linux- CDs gefunden haben (kaum zu glauben, daß sowas wirklich passiert...), wird das zunächst funktionieren. Wenn Sie nun jedoch ein Paket mit dselect installieren, welches ebenfalls irgendeine Perl-Version benötigt, so wird dselect immer die Version heranziehen, die auf Ihrem Installationspfad enthalten ist. Das heißt, daß dselect unter Umständen eine ältere Version installiert, obwohl Sie schon eine neuere Version übersetzt hatten. Bitte beachten Sie das! Aktualisieren Sie jedoch Ihr Perl-Paket, über dpkg/dselect oder apt, dann wird die Datei durch die aus dem Debian-Paket ersetzt. Erfahrene Anwender können dieses verhindern, indem Sie das entsprechende Paket auf hold (in der Paketauswahl von dselect mit der Taste =) setzen oder dpkg-divert benutzen. Wenn Sie bestimmte Pakete durch eigene, modifizierte Versionen ersetzen wollen, sollten Sie sich intensiv mit dem Debian GNU/Linux-Paketmanagement befassen. Eine der wichtigsten Vereinbarungen, an den Sie sich gewöhnen müssen, ist, daß sich alle Konfigurationsdateien unterhalb von /etc/ befinden. Hierbei ist es vielfach so, daß für einzelne Programme zusätzliche Verzeichnisse bei der Installation erzeugt werden, meist geschieht dies für Programme, die über mehr als eine Konfigurationsdatei verfügen, beispielsweise für den Webserver apache. Unter /usr/doc/ beziehungsweise /usr/share/doc/ finden Sie die Dokumentation zu den auf Ihrem System installierten Paketen. Zu vielen Paketen finden Sie in dem entsprechenden Verzeichnis eine Datei README.Debian (oder ähnlich), welche die speziellen Anpassungen an Debian GNU/Linux beschreibt. Weiterhin befinden sich in jedem Verzeichnis auch die jeweiligen Lizenzen zu den Paketen. 3.14. Arbeiten mit Dateien – Mini-Workshop Um mit Ihrem System arbeiten zu können, müssen Sie etwas über das Erzeugen, Verschieben, Umbenennen und Löschen von Dateien und Verzeichnissen erfahren. 3.14.1. pwd – print working directory Zunächst ist es jedoch wichtig zu wissen, an welcher Stelle des Verzeichnisbaumes man sich befindet. Wie schon beschrieben, befinden Sie sich nach dem Anmelden am System in Ihrem Home-Verzeichnis. Sie können dies mit dem Kommando pwd überprüfen. Die Ausgabe sollte in etwa so aussehen: bash-2.02$ pwd /home/fr Wobei auf Ihrem System statt fr Ihr eigener Benutzername, mit dem Sie sich angemeldet haben, erscheint. 106 Kapitel 3. Betrieb 3.14.2. ls – list Dieses Kommando zeigt, wenn es ohne weitere Parameter verwendet wird, alle Dateien in dem aktuellen Verzeichnis an. Nach dem Anmelden an einem neu installierten Debian GNU/Linux-System befinden Sie sich in Ihrem Home-Verzeichnis, und dieses ist leer. Das Kommando ls wird also nichts anzeigen. (Das Verzeichnis ist nicht wirklich leer, Sie sehen lediglich mit dem Kommando ls ohne Parameter nicht die angelegten Dateien.) Sie können aber auch das Kommando ls mit einem Pfad als Option aufrufen. Beispielsweise zeigt ls / das „root-“Verzeichnis des Systems an. 3.14.3. cd - change directory Mit diesem Kommando können Sie in ein anderes Verzeichnis (directory) wechseln. cd /tmp wechselt beispielsweise in das Verzeichnis für temporäre Dateien unterhalb von /. Auf zwei Besonderheiten möchte ich an dieser Stelle eingehen, die nicht nur mit dem Kommando cd funktionieren, aber zum besseren Verständnis hier gut untergebracht sind. Das Zeichen ~ steht als Abkürzung für den kompletten Pfad zu Ihrem privaten Home-Verzeichnis. cd mit der Option ~, also cd ~, wechselt ins Home-Verzeichnis. Weiterhin möchte man häufig in ein Verzeichnis in der Struktur höher wechseln. Sicher könnte man mit pwd nachsehen, wo man sich gerade befindet und dann dem Kommando cd den passenden Pfad übergeben. Als einfache Alternative steht aber das Kürzel .. für das übergeordnete Verzeichnis zur Verfügung. cd .. wechselt also ins übergeordnete Verzeichnis (beachten Sie das Leerzeichen). Eine weitere Abkürzung stellt . dar. Diese steht für das aktuelle Verzeichnis, in dem Sie sich gerade befinden, doch dazu gleich in einem anderen Beispiel. 3.14.4. mkdir - make directory Mit diesem Kommando können Sie weitere Verzeichnisse anlegen. Wechseln Sie in Ihr Home-Verzeichnis mit cd ~ und erzeugen Sie ein Verzeichnis test (mit mkdir test). Überprüfen Sie mit ls, ob es funktioniert hat. Erzeugen Sie nach Belieben einige weitere Verzeichnisse, auch unterhalb von test. 3.14.5. cp - copy Mit diesem Kommando können Sie Kopien von Dateien erzeugen. Kopieren Sie die Datei /etc/profile in Ihr Home-Verzeichnis mit cp /etc/profile . (Hier also das versprochene Beispiel mit nur einem Punkt.) Prüfen Sie mit ls, ob sich in Ihrem Verzeichnis nun eine Datei profile befindet. 3.14.6. more - Anzeigen von Dateien more profile zeigt Ihnen den Inhalt der Datei profile seitenweise auf der Konsole an. Sie können mit der SPACE-Taste seitenweise weiterblättern und mit der Taste q das Programm more wieder verlassen. more zeigt am unteren Bildschirmrand die aktuelle Position in der Datei in Prozent an. Am Ende einer Datei wird more automatisch beendet. more kann, wie die meisten anderen Programme auch, über Optionen auf der Kommandozeile gesteuert werden. Sie können diese Optionen auch in die Umgebungsvariable MORE schreiben, die Optionen werden dann bei jedem Aufruf von more benutzt. Lesen Sie die man-page zu more, das Programm hat noch einige andere interessante Möglichkeiten. Tip: Sollten Sie auf eine gepackte Datei stoßen, so können Sie diese mit dem Kommando zmore ansehen. Wenn Ihnen die Optionen von more nicht ausreichen, sollten Sie einen Blick auf das Programm less werfen. Es verfügt über die gleichen Funktionen, wurde aber noch um einige nützliche Funktionen erweitert. 107 Kapitel 3. Betrieb 3.14.7. mv - move Zum Verschieben von Dateien benötigt das Kommando mv zwei Parameter: der erste Parameter ist die Quelldatei, der zweite die Zieldatei. Verschieben Sie die Datei profile in das erstellte Verzeichnis test, mit mv profile test. mv dient aber auch zum Umbenennen von Dateien. Wechseln Sie in das Verzeichnis test und benennen Sie die Datei profile in testdatei um (mv profile testdatei). Weiterhin können Sie mit mv auch Verzeichnisse verschieben oder umbenennen, die Syntax unterscheidet sich dabei nicht, egal ob Sie mit Dateien oder Verzeichnissen arbeiten. Beachten Sie das es mit mv nicht möglich ist mehrere Dateien auf einmal umzubenennen. Hierzu bedarf es eines kleinen Scriptes oder anderer entsprechender Hilfsmittel. 3.14.8. rm - remove Mit dem Kommando rm können Sie eine oder mehrere Dateien löschen. Im einfachsten Fall geben Sie den Namen der zu löschenden Datei an, also: rm ichwillweg.txt (Sollte diese nicht existieren, so können Sie diese mit dem Kommando touch ichwillweg.txt anlegen). Als Parameter kann dem Kommando rm eine Reihe von Dateinamen mitgegeben werden, diese werden durch Leerzeichen getrennt: rm ichwillweg.txt ichauch.txt metoo.asc removeme.txt done.sh, dieses Kommando löscht fünf Dateien von der Platte. An dieser Stelle ein wichtiger Hinweis: Es gibt kein undelete unter Linux. Dateien, die Sie mit rm gelöscht haben, können Sie nicht zurückholen. (Es gibt Programme, die auch mit dem zur Zeit aktuellen ext2-Dateisystem gelöschte Dateien zurückholen können. Dies ist aber momentan noch in der Entwicklung. Besser ist es, auf ein „journaling Filesystem“ für Linux zu warten, ext3, XFS oder reiserFS sind da zu nennen, diese werden solche Funktionen besser unterstützen.) Wenn Sie ein Verzeichnis inklusive aller darin enthaltenen Dateien löschen möchten, können Sie dies auch mit dem Kommando rm erledigen. Hierzu dient die Option -rf. Ein Beispiel: rm -rf /home/fr/test/ löscht im Home-Verzeichnis das Verzeichnis test mit allen Dateien und Unterverzeichnissen. Etwas, was Sie nicht ausprobieren sollten (man findet das manchmal, weil sich Leute einen Spaß daraus machen...). Als weiteres Beispiel folgendes (nicht abtippen!!!): rm -rf / (nicht abtippen!!!). Wie schon beschrieben stellt / das Startverzeichnis des gesamten Verzeichnisbaums dar. Sie würden also Ihr komplettes System von der Platte verbannen.... Also nicht auf diesen kleinen Spaß hereinfallen... 3.14.9. rmdir - remove directory Nun fehlt uns noch ein Kommando, um lediglich ein Verzeichnis, in dem sich keine Dateien befinden, zu entfernen. rmdir mit dem Verzeichnisnamen erledigt dies für uns. Natürlich läßt sich auch rm dafür nutzen, mit den entsprechenden Optionen, Sie können selbst entscheiden, welches Kommando Sie benutzen wollen... Noch schnell ein Beispiel: rmdir test entfernt das Verzeichnis test im aktuellen Verzeichnis. 3.14.10. Versteckte Dateien (.datei) Namen von versteckten Dateien oder Verzeichnissen beginnen mit einem Punkt (.). Sie können das Kommando ls mit der Option -a dazu bringen, auch diese versteckten Dateien anzuzeigen. Sie können das sehr einfach in Ihrem Homeverzeichnis ausprobieren, dort werden bei der Einrichtung eines neuen Benutzers und später durch verschiedene Programme diverse versteckte Dateien und Verzeichnisse angelegt. Wechseln Sie in Ihr Homeverzeichnis (mit dem Kommando cd) und sehen Sie sich den Inhalt des Verzeichnisses einmal an, inklusive der versteckten Dateien (mit dem Kommando ls -la). Sie sehen nun die „normalen“ Dateien sowie auch die versteckten Dateien. Dabei wird Ihnen vielleicht auffallen, daß es zwei etwas außergewöhnliche Dateien, nämlich . und .. gibt. Diese stellen das aktuelle Verzeichnis „.“, in dem Sie sich befinden, sowie das übergeordnete Verzeichnis .. dar. Wenn Sie das Kommando ls mit der Option -lA benutzen, werden diese beiden Dateien nicht mit angezeigt. Der Grund für versteckte Dateien liegt nicht in der Geheimhaltung von Daten. Vielmehr ist es im täglichen Umgang mit dem System nicht sinnvoll, alle möglichen Dateien anzuzeigen, die sich in Ihrem Homeverzeichnis befinden. Viele Programme legen dort auch individuelle Konfigurationsdateien ab, es hat sich eingebürgert, 108 Kapitel 3. Betrieb diese Dateien oder Verzeichnisse mit einem Punkt beginnen zu lassen, so daß diese nicht bei der normalen Arbeit mit Dateien stören. Über diese Konfigurationsdateien in Ihrem Verzeichnis können Sie das Verhalten oder Aussehen von Programmen verändern. Diese Änderungen sind nur wirksam, wenn Sie sich mit Ihrem Benutzernamen am System angemeldet haben. Systemweite Konfigurationsdateien finden Sie im Verzeichnis /etc/. 3.14.11. find & locate - Finden von Dateien Um Dateien in Ihrem System zu finden, stehen Ihnen auf der Kommandozeile zwei Programme zur Verfügung: find und locate. Mit dem Programm find können Sie die Festplatte nach Dateien durchsuchen, dies kann je nach Größe der Platten einige Zeit dauern. find verfügt über einige Parameter, die Sie in der Man-Page nachlesen können. bash-2.03$ find --help Usage: find [path...] [expression] default path is the current directory; default expression is -print expression may consist of: operators (decreasing precedence; -and is implicit where no others are given): ( EXPR ) ! EXPR -not EXPR EXPR1 -a EXPR2 EXPR1 -and EXPR2 EXPR1 -o EXPR2 EXPR1 -or EXPR2 EXPR1 , EXPR2 options (always true): -daystart -depth -follow --help -maxdepth LEVELS -mindepth LEVELS -mount -noleaf --version -xdev tests (N can be +N or -N or N): -amin N -anewer FILE -atime N -cmin N -cnewer FILE -ctime N -empty -false -fstype TYPE -gid N -group NAME -ilname PATTERN -iname PATTERN -inum N -ipath PATTERN -iregex PATTERN -links N -lname PATTERN -mmin N -mtime N -name PATTERN -newer FILE -nouser -nogroup -path PATTERN -perm [+-]MODE -regex PATTERN -size N[bckw] -true -type [bcdpfls] -uid N -used N -user NAME -xtype [bcdpfls] actions: -exec COMMAND ; -fprint FILE -fprint0 FILE -fprintf FILE FORMAT -ok COMMAND ; -print -print0 -printf FORMAT -prune -ls Für den normalen Einsatz ist es allerdings ausreichend, wenn Sie sich folgendes Beispiel einprägen: bash-2.02$ find / -name resolv.conf /etc/resolv.conf find: /var/spool/cron/atjobs: Permission denied find: /var/spool/cron/atspool: Permission denied find: /var/lib/xdm/authdir: Permission denied Nach einiger Zeit hat find die Datei im Verzeichnis /etc/ gefunden. Verzeichnisse, auf die find keinen Zugriff hat, werden als Fehlermeldung ausgegeben. Direkt hinter dem Kommando find können Sie das Verzeichnis angeben, in dem mit der Suche begonnen werden soll. Im Beispiel wird das gesamte Dateisystem (/) durchsucht. Wenn Sie den Namen einer Datei nicht genau kennen, können Sie auch nur einen Teil des Namens angeben und den Rest mit den üblichen Wildcards ersetzen. Beachten Sie, daß jedes Kommando zuerst von der Shell interpretiert und dann ausgeführt wird. Sie müssen also beispielsweise den * vor der Shell „verstecken“, indem Sie das Zeichen \ voranstellen. Die Shell wird nun das folgende Zeichen ignorieren und direkt an das Kommando weiterreichen: bash-2.02$ find / -name resol\* /etc/resolv.conf find: /var/spool/cron/atjobs: Permission denied find: /var/spool/cron/atspool: Permission denied find: /var/lib/xdm/authdir: Permission denied Der zweite Weg, um Dateien zu finden, bietet sich über das Programm locate. Dieses ist um einiges schneller beim Finden von Dateien, da es eine Datenbank benutzt, die einmal am Tag aktualisiert wird. Es ist also nicht notwendig, jedesmal die komplette Platte zu durchsuchen. Allerdings funktioniert das Aktualisieren der Datenbank nur, wenn Ihr Rechner zu der Zeit in Betrieb ist, zu der auch diese Aktualisierung stattfindet. Da hierbei die komplette Festplatte durchsucht wird, kann der Vorgang einige Zeit dauern. 109 Kapitel 3. Betrieb Sollten Sie Ihren Rechner ausschalten, so können Sie auch (als Superuser) die Datenbank von locate – mit dem Kommando updatedb zu jeder anderen Zeit aktualisieren. Sie können aber auch die Zeit, zu der updatedb gestartet wird, in der Datei /etc/crontab Ihren Bedürfnissen anpassen. Wenn Ihnen diese Änderungen zu kompliziert erscheinen, können Sie auch das Paket anacron installieren, dieses sorgt dafür, daß Cronjobs, die eigentlich während der Zeit ausgeführt werden sollten, zu der Sie Ihren Rechner ausgeschaltet hatten, nachträglich ausgeführt werden. Dadurch, daß die Datenbank einmal täglich aktualisiert wird, kann locate natürlich auch nur Dateien finden, die zu diesem Zeitpunkt bereits vorhanden waren. Später erzeugte Dateien werden von locate nicht angezeigt. Das klang jetzt etwas aufwendig, locate ist aber sehr leicht zu bedienen, wie folgendes Beispiel beweist: bash-2.02$ locate XF86Config /etc/X11/XF86Config /usr/X11R6/lib/X11/XF86Config /usr/X11R6/lib/X11/XF86Config.eg /usr/X11R6/man/man5/XF86Config.5x.gz Wie Sie sehen, findet locate alle Dateien, die den Suchbegriff beinhalten, ohne daß Sie mit Wildcards arbeiten müssen. Wenn Sie find und locate vergleichen, werden Sie feststellen, daß find leistungsfähiger ist, locate dagegen im täglichen Gebrauch Dateien wesentlich schneller finden kann. Wenn Sie häufiger mit locate oder auch die Datenbank nicht als Superuser aktualisieren lassen, werden Sie merken, daß unter Umständen nicht alle Dateien angezeigt werden. Dies liegt daran, daß nur Dateien in die Datenbank wandern, auf die das Programm updatedb Zugriff hat. Weiterhin zeigt locate aber auch Dateien an, die ein normaler User nicht sehen sollte, dies ist vielleicht nicht gewünscht. Debian GNU/Linux beinhaltet noch das Paket slocate. Diese spezielle Version zeigt nur die Dateien an, auf die der jeweilige User auch Zugriff hat. Sie können zusätzlich das Paket suidmanager installieren, damit kann slocate über das dazugehörige Programm suidregister Ihnen auch die Dateien anzeigen, auf die Sie normalerweise keinen Zugriff haben, natürlich erst nach Angabe des entsprechenden Paßwortes. Beachten Sie bitte auch den Hinweis am Ende der Installation von slocate: sushi:/root# apt-get install slocate Reading Package Lists... Done Building Dependency Tree... Done The following NEW packages will be installed: slocate 0 packages upgraded, 1 newly installed, 0 to remove and 27 not upgraded. Need to get 0B/23.2kB of archives. After unpacking 143kB will be used. Selecting previously deselected package slocate. (Reading database ... 67742 files and directories currently installed.) Unpacking slocate (from .../utils/slocate_2.1-5.1.deb) ... Adding ‘diversion of /usr/bin/locate to /usr/bin/locate.notslocate by slocate’ Adding ‘diversion of /usr/bin/updatedb to /usr/bin/updatedb.notslocate by slocate’ Adding ‘diversion of /usr/share/man/man1/locate.1.gz to /usr/share/man/man1/locate.notslocate.1.gz Adding ‘diversion of /usr/share/man/man1/updatedb.1.gz to /usr/share/man/man1/updatedb.notslocate.Adding ‘diversion of /etc/cron.daily/find to /etc/cron.daily/find.notslocate by slocate’ Setting up slocate (2.1-5.1) ... Adding group slocate (104)... Done. Changing permissions on: /usr/bin/slocate Changing permissions on: /var/lib/slocate to: 0750 WARNING: You should run ’/etc/cron.daily/slocate’ as root. locate will not work properly until you 110 Kapitel 3. Betrieb 3.14.12. gzip - gepackte Dateien Manchmal ist es sinnvoll, große Dateien zu komprimieren, sei es um Plattenplatz zu sparen, sei es um die Downloadzeiten zu verkürzen. Das Programm der Wahl unter Debian GNU/Linux ist gzip (GNU Zip). Erstellen Sie zuerst eine Testdatei, um mit gzip experimentieren zu können, und sehen Sie sich die Größe dieser Datei an. bash-2.03$ cd bash-2.03$ cp /etc/profile ./testdatei bash-2.03$ ls -l testdatei -rw-r--r-- 1 fr fr 359 Jan 20 20:10 testdatei Komprimieren Sie nun die Datei testdatei mit gzip und sehen Sie sich wieder das Ergebnis an: bash-2.03$ gzip testdatei bash-2.03$ ls -l testdatei.gz -rw-r--r-- 1 fr fr 275 Jan 20 20:10 testdatei.gz Beachten Sie, daß die Datei nun die Endung .gz bekommen hat. Somit ist klar zu erkennen, mit welchem Programm die Datei gepackt wurde und daß diese Datei überhaupt gepackt ist. Um nun diese Datei wieder in den ursprünglichen Zustand zu versetzen, können Sie gzip mit der Option -d aufrufen: bash-2.03$ gzip -d testdatei.gz bash-2.03$ ls -l testdatei -rw-r--r-- 1 fr fr 359 Jan 20 20:10 testdatei Somit ist der alte Zustand wieder hergestellt. Der Erfolg ist bei so kleinen Dateien nicht sehr groß, Sie können das gleiche Experiment aber auch mit anderen, größeren Dateien probieren. 3.14.13. split - geteilte Dateien Sicher standen Sie schon einmal vor dem Problem, daß eine Datei zu groß war. Sei es, um diese auf einem Medium zu transportieren oder um diese übers Netz zu verschicken. Unter Debian GNU/Linux ist es mit den Programmen split und cat möglich, Dateien zu zerteilen und wieder zusammenzufügen. Kopieren Sie die Datei /bin/bash in Ihr Homeverzeichnis. Diese Datei hat eine Größe von etwas mehr als 450 Kilobyte. bash-2.03$ cd bash-2.03$ cp /bin/bash . bash-2.03$ ls -l bash -rwxr-xr-x 1 fr fr 461720 Jan 22 15:42 bash Sie können nun diese Datei mit dem Kommando split in kleinere Stücke teilen. Hierzu benötigt split Angaben über die maximale Größe der einzelnen Dateien sowie die Erweiterung des Dateinamens, die an jede Datei angehängt werden soll. Mit der Option -b teilen Sie split die Größe mit. Ohne weitere Angaben geht split davon aus, daß der Wert in Byte angegeben wurde. Das ist natürlich nicht sehr praktikabel. Deshalb können Sie hinter dem Zahlenwert die Buchstaben k für Kilobyte oder m für Megabyte angeben. Als Kennung für die einzelnen Dateien erweitert split den Dateinamen der ersten Datei mit aa, den zweiten mit ab und so weiter. Wenn Sie eine eigene Erweiterung (Prefix) zu jeder Datei erzeugen wollen, so können Sie diese mit angeben, hier im Beispiel wird „einzel“ angegeben: bash-2.03$ split -b100k bash einzel bash-2.03$ ls -l einzel* -rw-r--r-- 1 fr fr 102400 Jan 22 15:42 einzelaa -rw-r--r-- 1 fr fr 102400 Jan 22 15:42 einzelab -rw-r--r-- 1 fr fr 102400 Jan 22 15:42 einzelac -rw-r--r-- 1 fr fr 102400 Jan 22 15:42 einzelad 111 Kapitel 3. Betrieb -rw-r--r-- 1 fr fr 52120 Jan 22 15:42 einzelae Das Zusammenfügen der Dateien ist ebenfalls sehr einfach. bash-2.03$ cat einzel* > bash-neu bash-2.03$ ls -l bash* -rwxr-xr-x 1 fr fr 461720 Jan 22 15:42 bash -rw-r--r-- 1 fr fr 461720 Jan 22 15:43 bash-neu Anhand der Länge sehen wir, daß die Datei wieder hergestellt wurde. 3.14.14. tar - archivieren von Dateien Häufig bekommt man Archive aus dem Netz in gepackter Form. Das Packen von Archiven beinhaltet zwei Dinge: erstens die Zusammenfassung von mehreren Dateien zu einer einzigen und zweitens das Komprimieren der Daten, um Plattenplatz zu sparen oder auch die Übertragungszeit zu verringern. Historisch gesehen verteilen sich diese beiden Funktionen unter Unix auch auf zwei Programme. Üblicherweise benutzt man zum Zusammenfassen der Dateien das Programm tar (Tape Archive) und zum Komprimieren das Programm gzip. Etwas bessere Ergebnisse beim Komprimieren von Daten erreicht das (neuere) Programm bzip2. Die GNU-Version des Programms tar, welche auch bei Debian GNU/Linux verwendet wird, kann beide Komprimierungsverfahren benutzen, so daß man nicht mit verschiedenen Programmen hantieren muß. Altgediente Programme, wie zum Beispiel tar, verfügen häufig über eine Vielzahl von Funktionen. Einige davon werden heute kaum noch verwendet, sind aber trotzdem noch aus Kompatibilitätsgründen verfügbar, beispielsweise können Sie die Blockgröße bestimmen, mit der die Daten auf das Medium geschrieben werden. Eine solche Funktion werden Sie heute nur noch in sehr seltenen Fällen benötigen. Einen Überblick über die Optionen von tar bekommen Sie mit der Option --help: bash-2.03$ tar --help GNU «tar» schreibt mehrere Dateien in ein Archiv auf Band oder Festplatte und kann einzelne Dateien aus diesem Archiv herausholen. Verwendung: tar [OPTION]... [Datei]... Beispiele: tar -cf archiv.tar foo bar # archiv.tar mit den Dateien foo und bar erzeugen. tar -tvf archiv.tar # Inhalt von archiv.tar ausführlich anzeigen. tar -xf archiv.tar # Alle Dateien aus archiv.tar extrahieren Wenn eine lange Option ein Argument erfordert, ist es für die entsprechende kurze Option auch erforderlich. Das gleich gilt für optionale Argumente. Aktionen: -t, --list Inhalt eines Archivs anzeigen -x, --extract, --get Dateien aus Archiv holen -c, --create neues Archiv erzeugen -d, --diff, --compare Dateien im Archiv und im Dateisystem vergleichen -r, --append Dateien an das Archiv anhängen -u, --update nur Dateien anhängen, die jünger sind als ihre Archiv-Version -A, --catenate »tar«-Dateien an ein Archiv anhängen --concatenate wie ’-A’ --delete aus Archiv löschen (nicht auf Magnetbändern!) Operation modifiers: -W, --verify attempt to verify the archive after writing it --remove-files remove files after adding them to the archive -k, --keep-old-files don’t replace existing files when extracting --overwrite overwrite existing files when extracting -U, --unlink-first remove each file prior to extracting over it --recursive-unlink empty hierarchies prior to extracting directory -S, --sparse handle sparse files efficiently 112 Kapitel 3. Betrieb -O, --to-stdout extract files to standard output -G, --incremental handle old GNU-format incremental backup -g, --listed-incremental=FILE handle new GNU-format incremental backup --ignore-failed-read do not exit with nonzero on unreadable files Datei-Eigenschaften: --owner=NAME Eigentümer für hinzugefügte Dateien auf NAME setzen --group=NAME Gruppe für hinzugefügte Dateien auf NAME setzen --mode=RECHTE Zugriffsrechte für hinzugefügte Dateien auf RECHTE setzen --atime-preserve Zugriffszeit beim Auspacken erhalten -m, --modification-time Änderungszeit beim Auspacken erhalten --same-owner Eigentümer beim Auspacken erhalten --no-same-owner Eigentümer beim Auspacken auf Ausführenden setzen --numeric-owner Zahlen für Benutzer bzw. Gruppen benutzen -p, --same-permissions Zugriffsrechte beim Auspacken erhalten --no-same-permissions Keine Zugriffsrechte erhalten --preserve-permissions wie ’-p’ -s, --same-order zu entpackende Dateinamen wie im Archiv sortieren --preserve-order wie ’-s’ --preserve wie ’-p’ und ’-s’ zusammen Geräteauswahl und -einstellung: -f, --file=ARCHIV Gerät oder Datei ARCHIV benutzen --force-local Archiv-Datei ist lokal, auch wenn der Name einen Doppelpunkt enthält --rsh-command=BEFEHL statt «rsh» den BEFEHL benutzen -[0-7][lmh] Laufwerk und Schreibdichte angeben -M, --multi-volume mehrteiliges Archiv anlegen/listen/herausholen -L, --tape-length=ZAHL Medium wechseln, wenn ZAHL KBytes geschrieben sind -F, --info-script=DATEI am Ende jedes Mediums das Skript DATEI ausführen (impliziert ’-M’) --new-volume-script=DATEI wie ’-F DATEI’ --volno-file=DATEI Teil-Nummer in DATEI benutzen/aktualisieren Blockung des Gerätes: -b, --block-size=BLÖCKE BLÖCKE à 512 Bytes pro Record --record-size=GRÖSSE GRÖSSE Bytes pro Record, Vielfaches von 512 -i, --ignore-zeros Blöcke mit Nullen im Archiv ignorieren (heißt EOF) -B, --read-full-blocks Blockung beim Lesen ändern (für 4.2BSD "Pipes") Archive format selection: -V, --label=NAME create archive with volume name NAME PATTERN at list/extract time, a globbing PATTERN -o, --old-archive, --portability write a V7 format archive --posix write a POSIX format archive -j, --bzip2 filter the archive through bzip2 -z, --gzip, --ungzip filter the archive through gzip -Z, --compress, --uncompress filter the archive through compress --use-compress-program=PROG filter through PROG (must accept -d) Local file selection: -C, --directory=DIR change to directory DIR -T, --files-from=NAME get names to extract or create from file NAME --null -T reads null-terminated names, disable -C --exclude=PATTERN exclude files, given as a globbing PATTERN -X, --exclude-from=FILE exclude globbing patterns listed in FILE -P, --absolute-names don’t strip leading ‘/’s from file names -h, --dereference dump instead the files symlinks point to --no-recursion avoid descending automatically in directories -l, --one-file-system stay in local file system when creating archive -K, --starting-file=NAME begin at file NAME in the archive -N, --newer=DATUM nur Dateien jünger als DATUM sichern --newer-mtime Datum und Zeit nur vergleichen, wenn sich der 113 Kapitel 3. Betrieb Datei-Inhalt geändert hat --after-date=DATUM wie ’-N’ --backup[=CONTROL] Sicherheitskopie vor dem Löschen, wählt Versionskontrolle --suffix=SUFFIX Sicherheitskopie vor dem Löschen, Namenserweiterung SUFFIX Informationen: --help Hilfe anzeigen und «tar» beenden --version Versionsnummer anzeigen und «tar» benden -v, --verbose zu bearbeitende Dateien ausführlich listen --checkpoint Verzeichnisnamen beim Lesen des Archivs zeigen --totals geschriebene Bytes beim Schreiben des Archivs zeigen -R, --block-number Blocknummer innerhalb des Archivs mit jeder Meldung zeigen -w, --interactive Bestätigung für jede Aktion verlangen --confirmation wie ’-w’ Die Namenserweiterung für Sicherheitskopien ist ‘~’, wenn nicht mit --suffix oder der Umgebungsvariablen SIMPLE_BACKUP_SUFFIX etwas anderes eingestellt ist. Die Versionskontrolle kann mit --backup oder der Umgebungsvariablen VERSION_CONTROL gesetzt werden. Mögliche Werte sind: t, numbered nummerierte Sicherheitskopien nil, existing nummerierte Sicherheitskopien, wenn schon nummerierte vorhanden sind, sonst einfache never, simple immer einfache Sicherheitskopien GNU »tar« kann keine ’--posix’-Archive lesen. Wenn die Umgebungsvariable POSIXLY_CORRECT gesetzt ist, sind GNU-Erweiterungen mit ’--posix’ nicht zulässig. Unterstützung für POSIX ist nur teilweise implementiert, rechne derzeit noch nicht damit! ARCHIV kann DATEI, RECHNER:DATEI oder BENUTZER@RECHNER:DATEI sein; DATEI kann eine Datei oder ein Gerät (z.B. ein Streamer) sein. Die Voreinstellung für _dieses_ »tar« ist ’-f- -b20’. Fehlermeldungen an <bug-tar@gnu.org>. Tip: Wenn die Anzeige eines längeren Textes nicht komplett auf dem Bildschirm erfolgen kann, können Sie den Text seitenweise ausgeben lassen, indem Sie die Ausgabe über eine „Pipe“ an das Programm more weiterreichen: tar --help | more Für den täglichen Gebrauch kommen Sie aber mit maximal zehn von diesen vielen Optionen aus. Auch in diesem Abschnitt zeigen wir einige Beispiele aus der Praxis auf. 3.14.14.1. tar - packen von Dateien Um mehrere Dateien in einem Archiv zusammenzufassen, benutzen Sie die Optionen -cf (create – erzeugen und file – Datei): linux:/home/fr# tar -cf /tmp/test.tar /etc/ tar: Removing leading ‘/’ from member names Dies erzeugt eine neue Datei (/tmp/test.tar) mit allen Dateien aus dem Verzeichnis /etc/. tar entfernt automatisch das jedem Pfad vorangestellte /, bevor die Dateien in das Archiv aufgenommen werden. Dies verhindert, daß beim späteren Entpacken versehentlich Daten überschrieben werden. 114 Kapitel 3. Betrieb 3.14.14.2. tar - Entpacken von Dateien Um die Daten wieder zu entpacken, benutzen Sie die Option -x (extract – entpacken). Beachten Sie, daß die Daten immer an der aktuellen Position im Dateisystem entpackt werden. Wenn Sie sich nicht sicher sind, erstellen Sie ein temporäres Arbeitsverzeichnis und verschieben Sie danach die Daten an die gewünschte Stelle: linux:/home/fr# mkdir bla linux:/home/fr# cd bla linux:/home/fr/bla# tar -xf /tmp/test.tar linux:/home/fr/bla# ls etc tar zum Plaudern bringen...: Benutzen Sie die zusätzliche Option -v, um den Vorgang des Packens oder Entpackens der Daten verfolgen zu können: tar -xvf /tmp/test.tar. 3.14.14.3. tar - Komprimieren der Archive Bisher haben wir tar zum Zusammenfügen von Dateien benutzt, nun werden wir das Archiv zusätzlich noch komprimieren. Hierzu stehen bei GNU-Tar die Optionen -z für das Komprimieren mit gzip und -I zum komprimieren mit bzip2 zur Verfügung. Die Benutzung ist ganz einfach, verwenden Sie tar wie oben gezeigt und fügen Sie beispielsweise die Option -z hinzu. Jedes Zeichen zählt...: Zur Vereinfachnung können Sie den Strich - vor den Optionen einfach weglassen, tar versucht die erste Zeichenkette hinter dem Kommando als Optionen zu interpretieren: tar xvf /tmp/test.tar. Hier ein Beispiel, wie Sie ein gepacktes Archiv erzeugen können: linux:/home/fr# tar cvfz /tmp/test.tar.gz /etc/ Beachten Sie, daß es üblich ist, entweder wie hier gezeigt die Endung .gz anzuhängen, oder aber die Kurzform .tgz zu verwenden. tar kann mit beiden Endungen „umgehen“, genaugenommen ist der Dateiname völlig egal. Die Endungen dienen nur der besseren Übersicht für den Benutzer. 3.14.14.4. tar - Benutzung von Bandlaufwerken / Streamer Wenn Sie die Daten auf einem Tape-Streamer speichern wollen, können Sie die Daten auch direkt auf das Gerät speichern. Geben Sie dazu statt dem Dateinamen des Archives einfach das entsprechende Device an: linux:/home/fr# tar cvfz /dev/st0 /etc/ Das Device /dev/st0 wird von Streamern benutzt, die über einen SCSI-Anschluß verfügen. Wenn Sie die Daten von diesem Gerät wieder einlesen wollen, benutzen Sie dazu ebenfalls das entsprechende Device. linux:/home/fr# tar xvfz /dev/st0 115 Kapitel 3. Betrieb 3.14.15. file - Dateitypen Es ist üblich, Dateien so zu benennen, daß der Typ der Datei aus dem Namen erkenntlich ist. Programme sind nicht zwingend auf eine solche Endung angewiesen, diese dient nur der besseren Übersicht für den Benutzer (mit Ausnahme von Dateinamen, die fest in das Programm einkompiliert sind, wie zum Beispiel Namen von Konfigurationsdateien). Textdateien bekommen die Endung .txt, Perl-Programme die Endung .pl und Bilder die Endung .jpeg oder .tiff und so weiter. Trotzdem kann es passieren, daß Dateien entweder keine oder eine falsche Endung haben. Debian GNU/Linux stellt Ihnen das Programm file zur Verfügung, welches die meisten Dateitypen ermitteln kann. Die Benutzung von file ist denkbar einfach: rufen Sie das Programm einfach zusammen mit dem Namen der zu bestimmenden Datei(en) auf, Sie können hier einen oder mehrere Dateinamen, auch mit Wildcards, angeben: bash-2.03$ file /bin/bash /etc/passwd /etc/init.d/lpd /bin/bash: ELF 32-bit LSB executable, Intel 80386, version 1, dynamically linked (uses shared libs), stripped /etc/passwd: ASCII text /etc/init.d/lpd: Bourne shell script text file listet nun die verschiedenen Dateinamen mit den Dateitypen auf. 3.15. Einige bash-Funktionen Wir möchten hier nur kurz auf die Debian GNU/Linux-Standard-Shell, die bash, eingehen. Weitere Informationen finden Sie in der Man-Page zur bash. Eine der nützlichsten Funktionen der bash ist die Möglichkeit, Programm- und Dateinamen zu vervollständigen. Sie können dies zu jeder Zeit am Shell-Prompt ausprobieren: tippen Sie ein paar Zeichen eines Befehls und drücken Sie die TAB-Taste. Wenn die Eingabe bis zu der Stelle, an der Sie die TAB-Taste gedrückt haben, eindeutig war, es also kein zweites Programm gibt, das mit den gleichen Buchstaben beginnt, wird die Eingabe automatisch vervollständigt. Sollte es zwei oder mehr Möglichkeiten geben, so werden Sie lediglich einen „Piepton“ hören. Ein nochmaliges Drücken der TAB-Taste zeigt Ihnen alle möglichen Alternativen an. Probieren Sie es an einem Beispiel einmal aus: nehmen wir an, Sie möchten sich die Datei /var/log/syslog ansehen. Dazu benutzen Sie das Programm more. Geben Sie also mo ein und drücken Sie die TAB-Taste zweimal. Nun sollten Sie zumindest die Programme mount und more angezeigt bekommen. Geben Sie nun so lange weitere Zeichen ein, bis die Eingabe eindeutig ist, in diesem Beispiel sollte also ein r ausreichen. Drücken Sie nun die TAB-Taste, und der Befehl wird vervollständigt. Probieren Sie dies noch einmal (als Superuser) mit dem Dateinamen /var/log/syslog aus. Probieren Sie immer nach einigen Zeichen mit der TAB-Taste die Eingabe zu vervollständigen. Eine weitere recht nützliche Funktion ist das Wiederholen von bereits eingegebenen Kommandos. Sie können mit den Pfeiltasten (AUF und AB) durch die sogenannte „History“ der bash blättern und bereits ausgeführte Kommandos noch einmal ausführen oder auch gleich auf der Kommandozeile ändern. 3.15.1. help Die bash verfügt, neben der obligatorischen Manpage, auch über eine eingebaute Hilfe Funktion. Mit dem Kommando help wird eine Übersicht der in der bash enthaltenen Kommandos angezeigt. GNU bash, version 2.05a.0(1)-release (i386-pc-linux-gnu) These shell commands are defined internally. Type ‘help’ to see this list. Type ‘help name’ to find out more about the function ‘name’. Use ‘info bash’ to find out more about the shell in general. A star (*) next to a name means that the command is disabled. %[DIGITS | WORD] [&] . filename

[ arg... ]

alias [-p] [name[=value] ... ] bg [job_spec] 116 Kapitel 3. Betrieb bind [-lpvsPVS] [-m keymap] [-f fi break [n] builtin [shell-builtin [arg ...]] case WORD in [PATTERN [| PATTERN]. cd [-PL] [dir] command [-pVv] command [arg ...] compgen [-abcdefgjkvu] [-o option] complete [-abcdefgjkvu] [-pr] [-o continue [n] declare [-afFrxi] [-p] name[=value dirs [-clpv] [+N] [-N] disown [-h] [-ar] [jobspec ...] echo [-neE] [arg ...] enable [-pnds] [-a] [-f filename] eval [arg ...] exec [-cl] [-a name] file [redirec exit [n] export [-nf] [name ...] or export false fc [-e ename] [-nlr] [first] [last fg [job_spec] for NAME [in WORDS ... ;] do COMMA function NAME { COMMANDS ; } or NA getopts optstring name [arg] hash [-r] [-p pathname] [-t] [name help [-s] [pattern ...] history [-c] [-d offset] [n] or hi if COMMANDS; then COMMANDS; [ elif jobs [-lnprs] [jobspec ...] or job kill [-s sigspec | -n signum | -si let arg [arg ...] local name[=value] ... logout popd [+N | -N] [-n] printf format [arguments] pushd [dir | +N | -N] [-n] pwd [-PL] read [-ers] [-t timeout] [-p promp readonly [-anf] [name ...] or read return [n] select NAME [in WORDS ... ;] do CO set [--abefhkmnptuvxBCHP] [-o opti shift [n] shopt [-pqsu] [-o long-option] opt source filename suspend [-f] test [expr] time [-p] PIPELINE times trap [arg] [signal_spec ...] or tr true type [-apt] name [name ...] typeset [-afFrxi] [-p] name[=value ulimit [-SHacdflmnpstuv] [limit] umask [-p] [-S] [mode] unalias [-a] [name ...] unset [-f] [-v] [name ...] until COMMANDS; do COMMANDS; done variables - Some variable names an wait [n] while COMMANDS; do COMMANDS; done { COMMANDS ; } Zu jedem der aufgelisteten Kommandos sind ebenfalls mit dem Kommando, help genauere Informationen zu bekommen, beispielsweise zu shift. shift: shift [n] The positional parameters from $N+1 ... are renamed to $1 ... If N is not given, it is assumed to be 1. Wenn tiefergehende Informationen benötigt werden hilft ein Blick in die Manpage von bash weiter. 3.16. Pipes Bereits sehr früh wurde das Prinzip der „Pipes“, Röhren ist keine schlechte Übersetzung, integriert. Sie können etwas „hineinschieben“ und am anderen Ende kommt es wieder heraus. Wie bereits beschrieben, gibt es sehr viele kleine, spezialisierte Programme unter Unix, die mit speziellen Parametern aufgerufen werden können. Sinnvoll wäre eine Schnittstelle zwischen diesen Programmen, um Daten auszutauschen oder auch das Ergebnis eines Programmlaufs in einem weiteren Programm aufzubereiten. Diese Schnittstelle ist in Form von „Pipes“ realisiert. Sicher haben Sie schon das Kommando ls benutzt, um sich die Dateien in einem Verzeichnis anzeigen zu lassen. Wenn Sie aber in einem Verzeichnis mit sehr vielen Dateien die Anzahl der Dateien ermitteln möchten, kann das Zählen leicht etwas umständlich werden. Um Zeichen, Wörter oder Zeilen in einer Datei zu zählen, gibt es aber das Kommando wc (Word Count). Ein Weg wäre also, die Ausgabe von ls -l in eine Datei zu schreiben und mittels wc -l die Zeilen zählen zu lassen. Der Umweg über eine Datei läßt sich aber mittels einer Pipe umgehen. Unix benutzt hierfür das Zeichen | (Pipe). Verknüpfen Sie einfach die beiden Kommandos mittels dieses Zeichens zu einer Zeile: ls -l | wc -l, gibt Ihnen die Anzahl der Dateien im aktuellen Verzeichnis aus. Nur 117 Kapitel 3. Betrieb ein kleiner Haken an dieser Stelle: ls gibt als erste Zeile keinen Dateinamen aus, sondern eine Zeile, in der Informationen über das Verzeichnis aufgezeigt werden, Sie müssen also vom Ergebnis eine Zeile subtrahieren, um auf das genaue Ergebnis zu kommen. Wenn Sie sich die Rechnenarbeit ersparen wollen, können Sie auch die Option -1 statt -l beim Kommando ls benutzen, doch das führt jetzt zu weit... Ein weiteres Beispiel für die Benutzung von Pipes werden wir im folgenden Abschnitt zu ps aufzeigen. Sie werden im Laufe der Zeit an vielen Stellen auf weitere Anwendungsfälle stoßen. 3.17. ps und /proc Um auf einem Debian GNU/Linux-System die vielen gleichzeitig laufenden Programme im Zaum halten zu können, muß man sich natürlich auch einen Überblick über diese verschaffen. Dazu dient unter anderem das Programm ps. ps liest die benötigten Informationen unter Linux aus dem Verzeichnis /proc des Dateisystems. /proc ist nicht tatsächlich auf einer Festplattenpartition abgelegt, sondern wird vom Kernel ständig aktualisiert und in den Verzeichnisbaum eingeblendet. Somit hat der Benutzer auf einfachste Art und Weise Zugriff auf die Informationen. Rufen Sie ps einfach einmal ohne weitere Parameter in einer shell auf. Dies sollte Ihnen in etwa folgendes Ergebnis anzeigen: bash-2.02$ ps PID TTY TIME CMD 3522 pts/5 00:00:00 bash 3523 pts/5 00:00:00 ps Ohne weitere Optionen zeigt ps die Prozesse der aktuellen Shell an. In der ersten Spalte sehen Sie die Prozeß-ID (PID), diese dient dazu, ein Programm im System eindeutig zu identifizieren. Zu diesem Zeitpunkt sind das die Shell selber sowie das Programm ps, welches ja gerade gestartet wurde. ps verfügt über eine Vielzahl von Optionen, mit denen Sie sich detailliertere Informationen zu den laufenden Programmen ansehen können. Eine Kurzübersicht über die verfügbaren Optionen erhalten Sie, wie bei allen GNU-Programmen, über die Option --help. bash-2.02$ ps --help

                  • simple selection ********* ********* selection by list *********

-A all processes -C by command name -N negate selection -G by real group ID (supports names) -a all w/ tty except session leaders -U by real user ID (supports names) -d all except session leaders -g by session leader OR by group name -e all processes -p by process ID T all processes on this terminal -s processes in the sessions given a all w/ tty, including other users -t by tty g all, even group leaders! -u by effective user ID (supports names) r only running processes U processes for specified users x processes w/o controlling ttys t by tty

                      • output format ********** *********** long options ***********

-o,o user-defined -f full --Group --User --pid --cols -j,j job control s signal --group --user --sid --rows -O,O preloaded -o v virtual memory --cumulative --format --deselect -l,l long u user-oriented --sort --tty --forest --version X registers --heading --no-heading

                  • misc options *********

-V,V show version L list format codes f ASCII art forest -m,m show threads S children in sum -y change -l format -n,N set namelist file c true command name n numeric WCHAN,UID -w,w wide output e show environment -H process heirarchy 118 Kapitel 3. Betrieb Am häufigsten werden Sie sicher Optionen wie a, u, x und w benutzen. Diese werden nach dem Kommando einfach zusammengefaßt, also beispielsweise ps auxw. Nun noch das versprochene Beispiel zum Thema Pipe: Nehmen wir an, Sie benötigen die Prozeß-ID eines Programms, um es mittels kill zu beenden. Auf einem System mit vielen Prozessen kann dies ein Problem sein. Die Lösung ist eine Kombination aus den Programmen ps und grep, welche mittels einer Pipe verkettet werden. Das benötigte Kommando würde wie folgt aussehen: ps aux|grep netscape. ps mit den Optionen aux gibt alle laufenden Prozesse in einer ausführlichen Form aus. grep filtert aus der Ausgabe des Programms ps alle Zeilen heraus, in denen die Zeichenfolge netscape vorkommt. Sie sollten nun eine recht knappe Ausgabe bekommen und die gewünschte Prozeß-ID leicht finden können. Weitere Informationen zu ps finden Sie in der Man-Page zu ps (man ps). 3.18. Links Unter Unix werden sogenannte Links bereits seit vielen Jahren eingesetzt. Sie kennen diese vielleicht schon von anderen Betriebssystemen unter dem Namen „Verknüpfungen“. Um einen Link zu erzeugen, bedient man sich des Kommandos ln. Auch dieses Kommando verfügt über die Option --help, welche Ihnen eine kurze Information zu den verfügbaren Optionen gibt: bash-2.02$ ln --help Benutzung: ln [OPTION]... ZIEL [VERKNÜPFUNGSNAME] oder: ln [OPTION]... ZIEL... VERZEICHNIS oder: ln [OPTION]... --target-directory=VERZEICHNIS ZIEL... Erzeugen einer Verknüpfung des angegebenen ZIELES mit optionaler VERKNÜPFUNG. Wenn mehr als ein ZIEL angegeben wird, muß das letzte Argument ein Verzeichnis sein. Erzeugen von Verknüpfungen für jedes ZIEL in VERZEICHNIS. Als Standardvorgabe werde harte Verknüpfungen erstellt, symbolische Verknüpfungen mit --symbolic. Beim Erzeugen von harten Verknüpfungen muß jedes ZIEL existieren. --backup=[KONTROLLE] Erzeugen von Sicherungen für vorhandene Zieldateien. -b Wie --backup, akzeptiert aber kein Argument. -d, -F, --directory Verzeichnisse hart verknüpfen. (Nur Super-User) -f, --force Vorhandene Ziele entfernen. -n, --no-dereference Behandeln eines Zieles, das eine symbolische Verknüpfung auf ein Verzeichnis ist, wie normale Datei. -i, --interactive Nachfrage vor Entfernen vorhandener Ziele. -s, --symbolic Symbolische statt harter Verknüpfung erzeugen -S, --suffix=SUFFIX Überschreiben der normalen Anhänge für Sicherungen. --target-directory=VERZ Angabe des VERZeichnisses in dem die Verknüpfungen erstellt werden sollen. -v, --verbose Ausgabe des Namens jeder Datei vor dem Verknüpfen. --help Anzeige dieser Hilfe und beenden. --version Ausgabe der Versionsinformation und beenden. Der Anhang für Sicherheitskopien ist ~, außer wenn er --suffix oder SIMPLE_BACKUP_SUFFIX gesetzt wurde. Die Versionskontrolle kann mit --backup oder VERSION_CONTROL gesetzt werden. Mögliche Werte sind: none, off Niemals Sicherung erzeugen (selbst wenn --backup angegeben wurde) numbered, t Erzeugen von numerierten Sicherheitskopien existing, nil Numeriert wenn numerierte Backups existieren, sonst einfach. simple, never Immer einfache Sicherheitskopien erzeugen 119 Kapitel 3. Betrieb Berichten Sie Fehler an <bug-fileutils@gnu.org>. Aber das sieht komplizierter aus als, es ist. In 98% aller Fälle wird ihnen ln in der „Sparversion“ als ln -s originaldatei link-zur-datei ausreichen. Weitere Informationen finden Sie wie immer auch in der Man-Page. 3.19. vi Der Unix-Standard-Editor vi ist nach der Installation des Basissystems auf jedem Debian GNU/Linux-System verfügbar. vi wird schon seit vielen Jahren auf Unix-Systemen eingesetzt, seine für Anfänger kryptische Bedienung rührt aus der langen Geschichte dieses Editors her. In der Urzeit der Computertechnik standen keine aufwendigen grafischen Arbeitsplätze zur Verfügung. Textdrucker mit Tastatur oder – etwas moderner – Text-Terminals ( VT100, ein Modell der Firma DEC, ist noch heute ein Begriff), die seriell an der Rechner angeschlossen wurden, waren Stand der Technik. Trotzdem ist es sinnvoll, ein paar wenige Grundlagen über den vi zu erfahren. Dieser Editor ist einfach immer verfügbar, auch auf einem minimalem System. Wenn Sie sich etwas in den vi eingearbeitet haben, werfen Sie mal einen Blick auf vim, vi improved, der eine erweiterte Version des vi ist. Beim vi wird zwischen einem Kommando- und einem Eingabemodus unterschieden. Durch Drücken der Taste i für „Input“ kommen Sie in den Eingabemodus. Ein Druck auf die Taste Esc beendet den Eingabemodus und man befindet sich wieder im Kommandomodus. Zum Eingabemodus gibt es nicht viel zu sagen, es können damit weitere Zeichen in die Datei eingegeben werden. Interessanter ist der Kommando-Modus des vi. Mit einzelnen Tasten können Sie im Text navigieren oder auch Zeichen/Zeilen löschen. Laden Sie einfach eine Datei, beispielsweise mit dem Kommando: cp /etc/hosts . (legt eine Kopie der Datei im aktuellen Verzeichnis ab), vi ./hosts (startet vi und lädt die Datei). In dieser Datei befinden sich die lokalen Zuordnungen des Rechnernamens zur IP-Nummer. Nach dem Start des vi befinden Sie sich im Kommandomodus. Sie können nun ein einzelnes Zeichen löschen, indem Sie die Taste x drücken. Ein solcher Befehl kann mit der Taste u rückgängig gemacht werden. Um den Cursor im Text zu bewegen, können Sie die Pfeiltasten benutzen. Sollte dies aufgrund fehlerhafter Einstellungen (zum Beispiel über eine telnet-Verbindung) einmal nicht funktionieren, können Sie in jedem Fall mit den Tasten h (links), j (runter), k (rauf) und l (rechts) navigieren. Viele der vi-Kommandos lassen sich auch „vervielfältigen“. Beispielsweise löscht 9x 9 Zeichen ab der aktuellen Position. Dies funktioniert mit den meisten anderen Kommandos ebenso. Wenn Sie die Änderungen in einer Datei speichern wollen, können Sie dies mit :w tun. Dateien unter einem anderen Namen speichern Sie mit :w neu.txt. Sie können den vi beenden, indem Sie :q eingeben. Auch hier sind Kombinationen möglich, so können Sie eine Datei mit :wq speichern und den Editor verlassen. Häufig möchte man Zeilen kopieren: hierzu dient der Befehl yy. Dieser speichert die aktuelle Zeile in einem Puffer, die gespeicherten Daten lassen sich mit p wieder an einer anderen Stelle einfügen. Analog dazu lassen sich mit 7yy 7 Zeilen kopieren... und so weiter. Soweit zu den Grundzügen des Editors vi. Mit diesen wenigen Kommandos sind Sie in der Lage, Anpassungen an den Konfigurationsdateien Ihres Debian GNU/Linux-Systems vorzunehmen. 3.19.1. vi für Fortgeschrittene Wenn Sie sich eine Zeit lang mit diesem Editor beschäftigt haben, können Sie folgende Liste verwenden um ihr vi-Know-How zu vertiefen. 3.19.1.1. Programstart Bereits beim Programstart können einige Optionen angegeben werden, diese sind unter anderem: • vi name - Startet den Editor und lädt die Datei name. • vi name1 name2 name3 - Startet den Editor und lädt die Dateien name1,name2 und name1. 120 Kapitel 3. Betrieb • vi -R name - Startet den Editor und lädt die Datei name im Nur-Lese Modus. • vi -r name - Startet den Editor und restauriert die Datei name nach einem Absturz. 3.19.1.2. Einstellungen Wenn der Editor gestartet ist können einige Einstellungen verändert werden. Sollen diese Änderungen dauerhaft gespeichert werden, so können diese in die Datei ~/.vimrc eingetragen werden. • :set - zeigt die aktuellen Benutzereinstellungen. • :set all - zeigt alle Einstellungen. • :set option - Aktiviert eine Option. Beispiel: set number Aktiviert die Anzeige der Zeilennummern. • :set nooption - Deaktiviert eine Option. Beispiel: set nonumber Deaktiviert die Anzeige der Zeilennummern. • :set option? - Zeigt die möglichen Werte dieser Option. 3.19.1.3. Dateioperationen • ZZ - Speichert die Datei und beendet das Programm. • :wq - Speichert die Datei und beendet das Programm. • :w - Speichert die Datei. • :w! - Speichert die Datei auch wenn de Zugriffsrechte auf Nur-Lesen gesetzt sind. • :w name - Speichert die Datei unter dem Namen name. • :q - Beendet das Programm. • :q! - Beendet das Programm, Änderungen werden verworfen. • :e name - Lädt die Datei name. • :e! name - Lädt die Datei name erneut und verwirft alle bisherigen Änderungen. • :e + name - Lädt die Datei name und springt ans Ende der Datei. • :e +n name - Lädt die Datei name und springt in die Zeile n. • :n - Geht zur nächsten der geladenen Dateien. • :args - Listet die aktuelle Liste der Dateien. • :rew - Springt zur ersten Datei in der Dateiliste. • :f - zeigt den Namen der aktuellen Datei und die aktuelle Zeilennummer an. • :q - Beendet das Programm. • :q - Beendet das Programm. • :q - Beendet das Programm. • :q - Beendet das Programm. 121 Kapitel 3. Betrieb 3.19.1.4. Cursorbewegungen • Pfeiltasten - Mit den Pfeiltasten kann der Cursor wie in anderen Anwendungen bewegt werden. • CTRL - d - Springt eine halbe Seite nach unten. • CTRL - u - Springt eine halbe Seite nach oben. • CTRL - f - Springt eine Seite nach unten. • CTRL - b - Springt eine Seite nach oben. • :0 - Springt zum Anfang der Datei. • :n - Springt zur Zeile n der Datei. • :$ - Springt zum Ende der Datei. • 0 - Springt zum Anfang der Zeile. • ^ - Springt zum ersten Zeichen welches kein Leerzeichen ist. • $ - Springt zum Ende der Zeile. • RETURN - Springt zum Anfang der nächsten Zeile. • % - Zeigt die zugehörige Klammer. • G - Springt zu letzten Zeile. • H - Springt zu erste Zeile im aktuellen Fenster. • L - Springt zu letzten Zeile im aktuellen Fenster. • M - Springt in die Mitte des aktuellen Fensters. • - - Springt zum ersten Nicht-Leerzeichen der vorhergehenden Zeile. • + - Springt zum ersten Nicht-Leerzeichen der nächsten Zeile. • j - Springt zur nächsten Zeile, in der gleichen Spalte. • k - Springt zur vorhergehenden Zeile, in der gleichen Spalte. • h - ein Zeichen nach rechts. • l - ein Zeichen nach links. • w - ein Wort vorwärts. • b - ein Wort rückwärts. • e - zum Ende des Wortes. • ) - zum nächsten Satz. • ( - zum vorhergehenden Satz. • } - zum nächsten Absatz. • { - zum vorhergehenden Absatz. 3.19.1.5. Löschen • x - Löscht das Zeichen unter dem Cursor. • X - Löscht das Zeichen vor dem Cursor. • D - Löscht alles bis zum Ende der Zeile. • ^d - Löscht alles bis zum Anfang der Zeile. • dd - Löscht die gesamte Zeile. • ndd - Löscht n Zeilen. 122 Kapitel 3. Betrieb • dnw - Löscht n Wörter ab der Cursorposition. 3.19.1.6. Einfügen und ändern • i - aktiviert den Eingabemodus vor dem Cursor. • I - aktiviert den Eingabemodus vor dem ersten Nicht-Leerzeichen. • a - aktiviert den Eingabemodus nach dem Cursor. • A - aktiviert den Eingabemodus nach dem Ende der Zeile. • o - beginnt eine neue Zeile nach der aktuellen Zeile und aktiviert den Eingabemodus. • O - beginnt eine neue Zeile über der aktuellen Zeile und aktiviert den Eingabemodus. • rn - ersetzt das Zeichen unter dem Cursor durch das Zeichen n, der Eingabemodus wird nicht aktiviert. • R - aktiviert den Eingabemodus, Zeichen werden überschrieben. • C - Ändert den Text bis zum Zeilenende. • D - Löscht den Text bis zum Zeilenende. • s - ersetzt Zeichen. • S - ersetzt Zeilen. • J - ersetzt Zeilen. 3.19.1.7. Kopieren und einfügen • y - kopiert die aktuelle Zeile. • nyy - kopiert n Zeilen. • p - fügt die kopierten Zeilen nach der aktuellen Zeile ein. • P - fügt die kopierten Zeilen vor der aktuellen Zeile ein. Auch gelöschte Zeilen können mit den aufgeführten Kommandos eingefügt werden. 3.19.1.8. Suchen und ersetzen • /text - sucht vorwärts nach text. • ?text - sucht rückwärts nach text. • n - sucht nochmal in der gleichen Richtung. • N - sucht nochmal in der umgekehrten Richtung. • [ addr ] s/from/to/ [ g ] - ersetzt einmalig from durch to. Mit addr kann ein Bereich angegeben werden in dem die Aktion durchgeführt werden soll. Die Zeilennummern sind durch ein Komma zu trennen. g führt die Aktion an jeder gefundenen Stelle durch. Beispiel: :2,10s/a/b/g ersetzt in den Zeilen von 2 bis 10 alle Buchstaben a durch b. 123 Kapitel 3. Betrieb 3.19.1.9. Verschiedenes • u - Undo, wiederruft die letzte Änderung. • U - Stellt die aktuelle Zeile wieder her. • ~ - Ändert Groß-/Kleinschreibung. • . - Wiederholt das letzte Kommando. Tip: Unter DOS/Windows erstellte Dateien erscheinen unter GNU/Linux häufig mit doppelten Zeilenendezeichen, da auf diesen Systemen eine Kombination aus CR+LF verwendet wird. CR (Carriage Return) hat den ASCII-Code 13, LF (Line Feed) den ASCII-Code 10. Um diese Dateien zu konvertieren gibt es verschiedene Lösungsansätze, im vi benutzt man das Kommando

se ff=unix. Sollten noch überflüssige RETURN-Zeichen (^M) am Zeilenende auftauchen, so lassen sich

diese mittels :1,$s/^M//g entfernen. Dabei muß man das ^M durch Drücken von STRG-V, gefolgt von STRG-M, eingeben. STRG-V dient dazu, die nachfolgend gedrückte Taste(nkombination) direkt in den Text zu übernehmen. 3.20. Dateisysteme Als Dateisystem bezeichnet man auf einem Debian GNU/Linux (und auf allen anderen Unix-Systemen) den kompletten Verzeichnisbaum ab dem „root-“Verzeichnis /. Als Dateisystem wird aber auch die Organisationsform der Daten auf einem Medium (Festplatte, Diskette) bezeichnet, die von Betriebssystem zu Betriebssystem unterschiedlich ist. Jedes physikalische Gerät, auf dem Sie Daten speichern wollen, müssen Sie zunächst mit einem Dateisystem versehen. Wenn Sie verschiedene Partitionen auf einem Medium erstellen, kann jede dieser Partitionen mit einem anderen Dateisystemtyp versehen werden. Jedes Betriebssystem verwendet mindestens einen eigenen Dateisystemtyp, viele verwenden auch mehrere oder können mit verschiedenen Typen umgehen. Häufig sind im Debian GNU/Linux-Umfeld Kombinationen aus Linux und Windows-Dateisystemen anzutreffen. Debian GNU/Linux kann mit einer großen Zahl von Dateisystemen umgehen, Sie können somit sehr einfach Ihre Daten von anderen Betriebssystemen auf Ihr Debian GNU/Linux-System übernehmen. 3.20.1. cfdisk und mount - Einbinden eines Dateisystems Unter Debian GNU/Linux gibt nur einen einzigen Verzeichnisbaum (beginnend mit /). In diesem sind, als Unterverzeichnisse, alle physikalischen Geräte zu finden. Es werden keine Buchstaben zu Identifikation der Geräte benutzt. Mit Ausnahme des Root-Dateisystems (/, welches beim Systemstart automatisch angemeldet wird) müssen Sie alle weiteren Dateisysteme erst einmal in das System einbinden. Dabei kann, wie bereits beschrieben, jedes physikalische Gerät über mehrere Partitionen verfügen. Jedes dieser Dateisysteme wird im System in einem Verzeichnis (dem sogenannten „mount-point“) „eingehängt“. Das ist so einfach, wie es sich anhört, Sie können einen Mountpoint mit dem Kommando mkdir erzeugen und an dieser Stelle im Dateisystem das Medium einhängen. Um dem System weitere Dateisysteme hinzuzufügen (dies können Sie im Normalfall nur als Superuser tun), dient das Kommando mount. Bei der Installation von Debian GNU/Linux von CD-ROM wurde das Dateisystem (/cdrom) bereits benutzt und vom Installationsprogramm ins System eingebunden. Hierbei wurde ein Link von dem entsprechenden Device auf das neue Device: /dev/cdrom angelegt. Sie müssen sich somit nicht das Device Ihres CD-ROMs merken (oder herausfinden), sondern können diesen Link benutzen. Weiterhin wurde bei der Installation das Verzeichnis /cdrom angelegt. Sie können nun eine eingelegte CD sehr leicht mit dem Kommando mount /dev/cdrom /cdrom „mounten“. 124 Kapitel 3. Betrieb Der Mount-Point kann anstelle von /cdrom jedes andere, beliebige Verzeichnis sein. Beachten Sie jedoch, daß Verzeichnisse, an deren Stelle Sie ein Dateisystem mounten möchten, keine weiteren Dateien enthalten sollten. Das Mounten eines Dateisystems funktioniert auch, wenn sich bereits Dateien in dem Verzeichnis befinden, Sie können lediglich nicht mehr auf diese Dateien zugreifen. Die Dateien werden nicht gelöscht, sie werden praktisch von dem gemounteten Dateisystem „überlagert“. In der Praxis reicht dieses Wissen jedoch nicht lange aus. Sicher werden Sie irgendwann den Wunsch haben, den Festplattenplatz Ihres Systems zu erweitern. Der erste Schritt ist natürlich der mechanische Einbau der Festplatte. Schon hierbei (eigentlich schon beim Kauf der Platte) müssen Sie sich für den Anschluß an einem der beiden IDE-Busse oder am SCSI-Hostadapter entscheiden. Bei einem IDE-System notieren Sie sich, ob Sie die Platte am ersten (primary) oder am zweiten (secondary) Bus und ob die Platte als erste ( Master) oder zweite ( Slave) am jeweiligen Bus betrieben wird. Am SCSI-Bus notieren Sie sich die ID der Platte und kontrollieren ob, und wenn ja mit welcher ID, noch weitere Geräte angeschlossen sind. Beachten Sie hierbei auch externe Geräte! Im nächsten Schritt müssen Sie mindestens eine Partition auf der neuen Platte anlegen. Diese kann den gesamten Festplattenplatz in Anspruch nehmen, Sie können aber auch mehrere, kleine Partitionen anlegen. Unter Debian GNU/Linux haben Sie die Auswahl zwischen zwei Programmen: fdisk und cfdisk. Wir werden im folgenden cfdisk, aufgrund der ansprechenderen Oberfläche, vorstellen. Ermitteln Sie zunächst das entsprechende Device für die neue Festplatte, mit Hilfe der zuvor notierten Daten. Für IDE-Laufwerke ist die Bezeichnung folgende: • /dev/hda - Master am primären Bus • /dev/hdb - Slave am primären Bus • /dev/hdc - Master am sekundären Bus • /dev/hdd - Slave am sekundären Bus Dabei ist unerheblich, ob es sich um eine Festplatte oder ein CD-ROM handelt. Bei SCSI-Laufwerken ist die Bestimmung etwas anders. Zunächst ist zu beachten, daß zwischen Festplatten, CD-ROMs/CD-Brennern und anderen Geräten unterschieden wird. Die Gerätedateien für SCSI-Festplatten werden mit /dev/sdX bezeichnet, wobei X für einen Buchstaben steht, angefangen bei a und dann aufsteigend nach SCSI-ID zugeordnet. Hier ein denkbares Beispiel: • /dev/sda – SCSI-Platte mit der kleinsten ID (z.B.: 0) • /dev/sdb – SCSI-Platte mit der mittleren ID (z.B.: 2) • /dev/sdc – SCSI-Platte mit der größten ID (z.B.: 3) SCSI CD-ROMs oder CD-Brenner werden ähnlich bezeichnet. Die Gerätedatei wird als /dev/scdX bezeichnet, hier steht X für eine Zahl, beginnend bei 0. Beispielsweise: • /dev/scd0 - SCSI CD-ROM/Brenner (z.B. ID: 3) • /dev/scd1 - SCSI CD-ROM/Brenner (z.B. ID: 5) Natürlich müssen/können Sie auf einer CD-ROM kein Dateisystem anlegen, dies sollte hier nur der Anschauung dienen. Nachdem Sie nun das Ihrer Platte entsprechende Device bestimmt haben, können Sie cfdisk mit dem entsprechenden Device als Option starten, beispielsweise: cfdisk /dev/hdb. Bei einer neuen Festplatte werden nach dem Programmstart keinerlei Partitionen angezeigt. In diesem Beispiel, mit einer 16GB-Festplatte, wurde eine einzige Partition mit einem Linux Extended 2 (ext2-) Dateisystem angelegt. 125 Kapitel 3. Betrieb Abbildung 3-1. cfdisk Die erste Partition wird als /dev/hdb1 angelegt, eine zweite würde /dev/hdb2 genannt werden und so weiter... Sie können sich innerhalb von cfdisk mit den Cursortasten bewegen und mit der RETURN-Taste den ausgewählten Menüpunkt auswählen. Wenn Sie alle gewünschten Partitionen, oder auch nur eine einzige, angelegt haben, können Sie nun das eigentliche Dateisystem auf der Partition erzeugen. Hierzu steht Ihnen unter Debian GNU/Linux das Kommando mke2fs zu Verfügung. Auch diesem Kommando müssen Sie natürlich wieder angeben, welche Festplatte und vor allem auch welche Partition Sie mit dem Dateisystem beschreiben wollen. Für unser Beispiel beginnen wir mit der ersten Partition auf unserer Platte, also dem Device /dev/hdb1: sushi:~# mke2fs /dev/hdc1 mke2fs 1.15, 18-Jul-1999 for EXT2 FS 0.5b, 95/08/09 Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) 128256 inodes, 256032 blocks 12801 blocks (5.00%) reserved for the super user First data block=0 8 block groups 32768 blocks per group, 32768 fragments per group 16032 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376 Writing inode tables: done Writing superblocks and filesystem accounting information: done 126 Kapitel 3. Betrieb Die bei Ihnen angezeigten Werte werden, je nach verwendeter Platte, von den hier gezeigten abweichen. (Gute Beobachter werden bemerken, daß in diesem Beispiel nicht die 16GB-Platte formatiert wurde, diese stand leider nicht zur Verfügung...) Nun können Sie die frisch formatierte Partition zu Ihrem Dateisystem hinzufügen: mount /dev/hdb1 /mnt und mit dem Kommando df überprüfen, ob nichts schiefgelaufen ist. Die Ausgabe könnte auf einem System mit mehreren Festplatten wie folgt aussehen: sushi:~# df Filesystem 1k-blocks Used Available Use% Mounted on /dev/hda1 5767132 4352356 1121804 80% / /dev/hdb1 16247612 14355348 1066928 94% /home/ftp /dev/hdc1 24597980 21574360 1774080 93% /home/ftp/debian /dev/hda2 18263244 15157492 2178016 88% /home/ftp/images In dieser Auflistung sollten Sie dann auch die neu eingebundene Festplattenpartition finden. 3.20.2. /etc/fstab - Dateisysteme automatisch einbinden Vielleicht werden Sie nach einem Neustart des Systems bemerkt haben, daß die neu eingebundene Festplatte nicht automatisch ins System eingebunden wird. Wenn Sie möchten, daß bestimmte andere Partitionen zusätzlich zu / (root) ins System eingebunden werden, so müssen Sie diese in die Datei /etc/ fstab (für: „file system table“) aufnehmen. Weiterhin ist es sinnvoll, dort auch Dateisysteme einzutragen, die zwar nicht automatisch gemountet werden sollen, auf die Sie aber trotzdem schnellen Zugriff haben möchten, beispielsweise CD-ROMs, die öfter gewechselt werden. Nach der Basisinstallation von Debian GNU/Linux sind bereits einige Einträge in der Datei /etc/fstab vorhanden:

  1. /etc/fstab: static file system information.
  2. <file system> <mount point> <type> <options> <dump > <pass>

/dev/hda1 / ext2 defaults 0 1 /dev/hda2 none swap sw 0 0 proc /proc proc defaults 0 0 Bei der Installation wurden (mindestens) das Root-Dateisystem (/) sowie eine Swap-Partition angelegt. Der dritte Eintrag dient dem „virtuellen“ Verzeichnis /proc, welches zur Laufzeit des Systems diverse Informationen zum System und zur Hardware enthält. Dieses verbraucht keinen Festplattenplatz. Die erste Spalte beschreibt das Device und die zu mountende Partition. Die zweite Spalte verweist auf das Verzeichnis im Dateisystem, an der die Partition eingebunden werden soll. Beachten Sie, daß dieses Feld bei einer Swap-Partition mit dem Text „none“ anstatt eines Verzeichnisses gefüllt wird. Die dritte Spalte beschreibt den Typ des Dateisystems. Eine Beschreibung der weiteren Spalten finden Sie weiter unten, übernehmen Sie die Werte erst einmal wie gezeigt. Um die im vorigen Abschnitt beschriebene Festplatte /dev/hdc automatisch ins System einzubinden, erweitern Sie die Datei um folgenden Eintrag: /dev/hdc1 /mnt ext2 defaults 0 2 Weitere nützliche Einträge sind folgende: /dev/hdc /cdrom iso9660 ro 0 0 /dev/fd0 /floppy auto noauto,sync 0 0 Der erste Eintrag ermöglicht es Ihnen, eine CD-ROM einfach mit dem Kommando mount /cdrom anstatt mount /dev/cdrom /cdrom einzubinden. Gleiches gilt für die zweite Zeile, diesmal aber für das Diskettenlaufwerk. Um mit DOS-formatierten Disketten umzugehen, sehen Sie sich das Paket mtools an. 127 Kapitel 3. Betrieb 3.20.2.1. /etc/fstab - im Detail Wie Sie schon gesehen haben, sind die Einträge in der Datei /etc/fstab in tabellarischer Form angeordnet:

  1. /etc/fstab: static file system information.
  2. <file system> <mount point> <type> <options> <dump > <pass>

/dev/hda1 / ext2 defaults 0 1 /dev/hda2 none swap sw 0 0 proc /proc proc defaults 0 0 Zeilen, die mit einem Kommentar (# - „Gartenzaun“) beginnen, können Sie ignorieren, das System tut dies auch. Mit den ersten drei Spalten haben wir uns ja schon kurz beschäftigt, diese enthalten die Einträge für die Partition, den Mount-Punkt und den Dateisystemtyp. Die letzten drei Spalten bedürfen einiger Erklärungen. Die fünfte Spalte wird von dem Programm dump benutzt um festzustellen, wann diese Partition gesichert werden soll. dump und restore dienen zur Sicherung von Daten. Die sechste Spalte wird beim Systemstart von dem Programm fsck ausgewertet. Damit wird festgestellt, in welcher Reihenfolge die Dateisysteme beim Systemstart geprüft werden sollen. Die Root-Partition (/) sollte hier den Wert 1 erhalten. Dateisysteme, die nicht überprüft werden sollen, wie zum Beispiel swap oder CD-ROMs, bekommen den Wert 0, alle anderen Dateisysteme bekommen eine 2. Nein, das ist kein Fehler im Text... zur vierten Spalte kommen wir jetzt. Diese bedarf einiger Erklärungen. Die Einträge in der vierten Spalte werden beim Mounten des Dateisystems benutzt. Sie können hier einen (im einfachsten Fall den Text: default) oder mehrere Werte angeben. • async oder sync - Stellt die Datenübertragung (I/O) auf synchronen oder asynchronen Modus. Im synchronen Modus werden alle veränderten Daten sofort auf das Medium geschrieben, der asynchrone Modus speichert diese zwischen und schreibt später auf das Medium. • ro oder rw - Mountet das Dateisystem zum „Nur-lesen“ (ro - read-only) oder zum Lesen und Schreiben (rw - read-write). Wenn Sie keine Änderungen an einem Dateisystem vornehmen wollen, so können sie dieses „ro“ mounten, um versehentliche Änderungen zu verhindern. Ebenso ist dieser Modus für CD-ROMs geeignet. • auto oder noauto - Beim Systemstart oder wenn Sie das Kommando mount -a benutzen, werden alle Dateisysteme gemountet, welche Sie mit dem Eintrag auto versehen haben. Dateisysteme, die nicht dauerhaft zur Verfügung stehen, wie zum Beispiel Disketten oder CD-ROMs, sollten den Eintrag noauto bekommen. Sie verhindern so eine Fehlermeldung beim Systemstart, müssen diese Dateisysteme allerdings dann von Hand einbinden. • dev oder nodev - nodev ignoriert die Gerätedateien auf dem gemounteten Dateisystem. • user oder nouser - Normalerweise können Dateisysteme nur vom Superuser (root) in das System eingebunden werden. Mit dem Wert user erlauben Sie auch normalern Benutzern das Mounten von Dateisystemen. Sie können so beispielsweise den Zugriff auf das Diskettenlaufwerk oder das CD-ROM für alle Benutzer erlauben. • exec oder noexec - Erlaubt oder verbietet das Ausführen von Programmen, die sich auf diesem Dateisystem befinden. • suid oder nosuid - Wertet das Suid-Bit aus oder nicht. • defaults - Der eigentlich wichtigste Wert, den dieses Feld annehmen kann. Aktiviert die Optionen: rw, dev, suid, exec, auto, nouser, async. Sie können einzelne Werte mit weiteren Parametern überschreiben. 128 Kapitel 3. Betrieb 3.21. Internationalisierung und Lokalisierung Die im Debian Projekt eingesetzte Software ist in weiten Bereichen bereits auf die Belange der nicht-englischsprachigen Benutzer angepasst. Diese Aufgabe ist für die Entwickler und Übersetzer nicht leicht zu bewerkstelligen da in den seltensten Fällen eine wörtliche Übersetzung ausreichen würde. In den Programmmenüs könnte man die meisten Ergebnisse noch akzeptieren, die Übersetzung der Onlinehilfe, der manpages und der Dokumentation stellt aber eine echte Herausforderung dar. Ein Vorteil den die Freie Software in diesem Bereich ausspielen kann ist aber sicher die weltweit verteilte Entwicklung. Hierdurch wird es jedem Benutzer, auch Nicht-Programmierern, ermöglich an Entwicklungsprojekten teilzunehmen. Doch wie benutzt man nun die bereits übersetzten Programme? Die Steuerung der gewünschten Sprache erfolgt über eine Umgebungsvariable. Wenn Sie nach der Installation keine Veränderungen an Ihrem System vorgenommen haben, so sollte die Variable LANG den Wert C haben, somit wird die Sprache Englisch verwendet. Sie können den Wert der Variablen mit dem Kommando echo auf der Kommandozeile prüfen. fr@sushi:~$ echo $LANG C Das Verhalten läßt sich recht gut an weit verbreiteten Kommandos prüfen, bei denen man davon ausgehen kann das bereits eine Übersetzung in viele Sprachen existiert. Das Kommando ls ist recht gut geeignet. fr@sushi:~$ ls --help Usage: ls [OPTION]... [FILE]... List information about the FILEs (the current directory by default). Sort entries alphabetically if none of -cftuSUX nor --sort. -a, --all do not hide entries starting with . ... Das war zu erwarten und sollte soweit bekannt sein... Setzen Sie nun die Variable auf einen anderen Wert, da Sie dieses Buch lesen wird Sie vielleicht die deutsche Sprache interessieren. fr@sushi:~$ export LANG=de_DE fr@sushi:~$ ls --help Benutzung: ls [OPTION]... [DATEI]... Auflistung von Informationen der DATEIen (Standardvorgabe ist das momentante Verzeichnis). Alphabetsches Sortieren der Einträge, falls weder -cftuSUX noch --sort angegeben. -a, --all Einträge, die mit . beginnen, nicht verstecken. ... Diese Einstellungen sind in dieser Form lediglich für die aktuelle Shell gültig. Wenn die Spracheinstellungen für das gesammte System geändert werden sollen, so können die Veränderungen in den Konfigurationsdateien im Verzeichnis /etc vorgenommen werden. Eleganter ist es aber die Debian Werkzeuge für diese Aktionen zu benutzen. Das Paket locales enthält zunächst die notwendigen Dateien um verschiedene Sprachen auf einem Debian System nutzen zu können. Diese nehmen relativ viel Platz auf der Festplatte ein, normalerweise werden auf einem System nur die wenigsten der enthaltenen Sprachen benötigt. Wenn das Paket localepurge installiert wird, so wird regelmässig geprüft welche dieser Dateien wirklich benötigt werden, alle anderen werden gelöscht. Während der Installation des Paketes locales wird die Konfiguration des Paketes vorgenommen, nachträglich kann dies mittels dpkg-reconfigure locales geschehen. 129 Kapitel 3. Betrieb Abbildung 3-2. Locales Konfiguration Zunächst sind die auf dem System gewünschten Sprachen und Zeichensätze zu wählen. Die hier gemachten Angaben werden in der Datei /etc/locale-gen gespeichert. Einträge in dieser Datei können auch von Hand vorgenommen werden, in diesem Fall ist nach der Änderung das Kommando locale-gen auszuführen. Im hier gezeigten Beispiel werden alle mit de_DE beginnenden Werte ausgewählt, insbesondere auch die Euro Variante. Die Benutzung des Euro Zeichens ist unter Debian GNU sehr einfach möglich, Informationen hierzu finden sich im Abschnitt Euro Symbol Abbildung 3-3. Locales Konfiguration 130 Kapitel 3. Betrieb Im nächsten Schritt kann nun, aus den eben gewählten Sprachen, die für das gesamte System gültige Sprache gewählt werden. Dieser Wert sollte nur auf einen anderen Wert wie „C“ gestellt werden wenn Sie sicher sind das dies keinen Einfluss auf wichtige Funktionen hat. Sind beispielsweise Scripte zur Systemadministration geschrieben worden die Ausgaben von Programmen auswerten, so kann es nun passieren das diese Ausgaben in einer anderen Sprache erscheinen. Das Script kann diese Ausgaben nun nicht mehr korrekt auswerten. In diesem Fall wird die Einstellung besser auf dem Wert „C“ belassen. Tip: Scripte sollte immer selbst dafür sorgen das alle Umgebungsvariablen richtig gesetzt sind. Um die Spracheinstellungen zu setzten kann in jedes Script die Zeile export LANG=C eingefügt werden. 131 Kapitel 4. Installation weiterer Pakete Um weitere Pakete auf einem Debian GNU/Linux-System zu installieren, stehen mehrere Programme zur Verfügung. dselect ist das älteste von diesen. dselect stellt ein überaus mächtiges Programm mit vielen Möglichkeiten und allen Freiheiten dar. Dies hat aber leider nicht bei allen Anwendern (gerade bei Einsteigern) zur Beliebtheit beigetragen. dselect verfügt über eine sehr ausführliche Online-Hilfe, aber mal ehrlich: wer liest so etwas schon... Aber wer über einige wenige Kenntnisse von dselect verfügt, wird sehen, daß alles ganz einfach ist, und die Mächtigkeit dieses Werkzeuges schnell zu schätzen wissen. Die nächste Generation der Debian GNU/Linux-Installationsprogramme stellt apt dar. Mit der Version 3.0 von Debian GNU/Linux ist die komplette Umstellung des Paketmanagements auf apt erfolgt. Unabhängig davon, welches Programm Sie zur Installation benutzen, Sie müssen in jedem Fall auswählen, welche Pakete Sie installieren möchten. Dies ist bei Debian GNU/Linux keine leichte Aufgabe, mittlerweile umfaßt die Distribution einige tausend Pakete! Um Ihnen die Auswahl zu erleichtern, wurden von den Entwicklern sogenannte „task“-Pakete zusammengestellt. Diese „Gruppierung“ von Paketen vereinfacht Ihnen die Auswahl. Wählen Sie beispielsweise das Paket task-gnome-desktop aus, so werden alle nötigen Pakete für einen GNOME Desktop ausgewählt und installiert. Weitere Informationen zu diesen Paketen finden Sie im Abschnitt task-Pakete. Programme wie apt-get oder gnome-apt oder auch das bereits erwähnte dselect können zum Auswählen und Installieren einzelner Pakete benutzt werden. Die Paketverwaltung unter Debian GNU/Linux stellt eines der Highlights dieser Distribution dar. Wir wollen hier nicht auf jedes Detail eingehen, hier aber trotzdem ein paar Sätze zu den grundsätzlichen Vorgängen bei der Installation eines Paketes sagen. Jedes Programmpaket enthält in der Regel einige verschiedene Dateien, die zur Funktion dieses Programms benötigt werden. Hierzu gehören natürlich das Programm selber, die Bibliotheken, Dateien mit Daten wie zum Beispiel Grafiken für Spiele, die Anleitung (man-pages) usw. Bei der Installation eines Programms muß sichergestellt sein, daß alle Dateien am richtigen Platz im Verzeichnisbaum installiert werden. Wenn Sie später ein Programm wieder von Ihrem System entfernen wollen, ist es ebenfalls wichtig zu wissen, welche Dateien zu einem Programm gehören und wo sie sich befinden. Weiterhin ist festzustellen, ob Dateien installiert wurden, die mittlerweile von anderen Programmen benutzt werden. In diesem Fall darf das Paket unter Umständen nicht entfernt werden. Ebenso kann der Fall eintreten, daß ein Programm auf den neuesten Stand gebracht werden soll. Bei diesem Vorgang werden Dateien aktualisiert und eventuell auch einige Dateien gelöscht, die von der neuen Version nicht mehr benötigt werden. Auch dies muß so durchgeführt werden, daß nicht andere Programme danach nicht mehr funktionsfähig sind. Das Debian GNU/Linux-Paketsystem wacht über alle diese Vorgänge und hält Ihr System immer in einem benutzbaren Zustand. 4.1. Organisation der Pakete Debian GNU/Linux organisiert die Pakete in einer festgelegten Hierarchie. Unter anderem werden Bereiche mit allgemeiner, freier Software (main), die den DFSG ( Debian Free Software Guidelines - Die Debian-Richtlinien für freie Software) entspricht, und Bereiche mit Software, die nicht unter solchen freien Lizenzen steht (non-free), unterschieden. Die nächste Ebene beschreibt die Architektur, also die Prozessorfamilie, auf der die Binärpakete laufen. Auch die Sourcen (Quellcodes) zu den Paketen sind in dieser Ebene angesiedelt. In der letzten Ebene finden sich diverse Verzeichnisse, in denen die eigentlichen Pakete zu Gruppen, wie zum Beispiel „Games“ oder „X11“, zusammengefaßt werden. Hier nun eine Übersicht der verschiedenen Ebenen. 4.1.1. Distribution Die sogenannten „Distributionen“ innerhalb der gesamten Debian GNU/Linux Distribution bezeichnen verschiedene Bereiche, die sich durch die Lizenzen, unter denen die Pakete die in diesen Bereichen stehen, 132 Kapitel 4. Installation weiterer Pakete unterscheiden. • Main - Dies ist der Hauptbestandteil von Debian. Diese Pakete sind unter einem Copyright veröffentlicht, das eine freie Weiterverteilung ermöglicht, und enthalten den vollständigen Quellcode. • Contrib - Die Pakete in diesem Verzeichnis sind für sich frei, jedoch benötigen sie nichtfreie (Non-Free) Software oder Bibliotheken (z.B. Motif oder Qt), um zu funktionieren. Sie können daher nicht in den Bereich „main“ von Debian GNU/Linux einfließen. • Non-Free - Pakete in diesem Verzeichnis müssen nicht unbedingt Geld kosten, jedoch haben sie einige Bedingungen, die eine Weiterverteilung der Software einschränken. Beispielsweise kann ein Autor die Verbreitung der Software auf CD-ROM untersagen. • Non-US - Diese Pakete dürfen nicht aus den USA exportiert werden, es handelt sich meist um Verschlüsselungssoftware. Einige sind, aufgrund der Lizenzen, ebenfalls nichtfreie Software. 4.1.2. Architektur Hier eine Übersicht der von Debian GNU/Linux unterstützten beziehungsweise in der Entwicklung befindlichen Architekturen. Nicht alle hier vorgestellten Architekturen wurden mit den Debian GNU/Linux-Versionen 2.1 oder 2.2 „released“, sprich freigegeben. Bitte beachten Sie auch, daß nicht alle auf CD-ROM im Handel erhältlich sind. Am einfachsten sind CDs für die i386-Architektur zu bekommen. Einen „normalen PC“ hat einfach fast jeder. • Intel x86 (i386) Die erste Architektur und nicht direkt eine Portierung. Mit dieser Architektur begann alles. • DEC Alpha (alpha) Der erste Release erfolgte mit Debian 2.1. Eine der länger bestehenden Portierungen und ziemlich stabil. • ARM (arm) Eine neue Portierungs-Bestrebung, motiviert durch Rebels (ehemals Corel) interessante-NetWinder Maschine. • Motorola 68k (m68k) Erster Release war mit Debian 2.0. Der am meisten etablierte Port nach dem Intel x86. Der Debian m68k Port läuft auf einer großen Bandbreite von Computern, die auf der Motorola 68k-Prozessorfamilie basieren - im besonderen die Sun3-Workstationfamilie, die Apple Macintosh Personal-Computer und die Atari und Amiga Personal-Computer, aber auch einigen aus dem Industriebereich stammenden VME-Bus Boards. • MIPS Es wurde schon etwas an der Portierung von Debian auf die MIPS-Architektur, die u.a. in SGI-Computern verwendet wird, gearbeitet. Wenn Sie eine SGI besitzen und daran interessiert sind, die Portierung voran zu bringen, senden Sie eine E-Mail an debian-mips@lists.debian.org. Prozessoren der Firma MIPS finden sich aber auch in Rechnern der Firma DEC, der sogenannten DECStation-Familie. • Motorola/IBM PowerPC (powerpc) Diese Portierung läuft auf vielen Apple Macintosh PowerMac-Rechnern und kann auch auf den meisten Motorola-Computern laufen. Ältere Macintosh-Rechner benutzen die m68k-Prozessoren, diese werden nicht als PowerMac bezeichnet. 133 Kapitel 4. Installation weiterer Pakete • Sun SPARC (sparc) Zum ersten Mal mit Debian 2.1 veröffentlicht. Diese Portierung läuft sowohl auf der SPARCstation-Familie von Workstations als auch auf einem Teil ihrer Nachfolger in der Sun4-Architektur. • Sun UltraSPARC(sparc64) Dies ist auch der Beginn einer Portierung auf die Sun UltraSPARC (sun4u) Workstation-Familie. Dieser 64bit-Prozessor hat den Vorteil der Rückwärts-Kompatibilität mit seinem Vorgänger, so daß die UltraSPARC-Portierung in der Lage sein wird, Sparc-Binärfiles auszuführen. Dieses Projekt braucht zur Zeit Entwickler. Wenn Sie einen UltraSPARC-basierenden Computer haben und helfen möchten, senden Sie bitte eine E-Mail an die Liste unter debian-ultralinux@lists.debian.org, um Ihre Mitarbeit anzubieten. • Debian GNU/Hurd (hurd-i386) GNU Hurd ist ein völlig neues Betriebssystem, das von der GNU-Gruppe aufgebaut wird. Hurd wird in der Debian Distribution den Linux-Kernel ersetzen, daher der Name Debian GNU/Hurd. • Debian Beowulf Obwohl nicht wirklich eine Portierung, so wird Beowulf doch ein Ersatz für viele Großrechner in Forschung und Entwicklung sein. Deshalb scheint hier der richtige Platz zu sein. Dieses Projekt arbeitet daran, Beowulf-Cluster unter Debian laufen zu lassen und ein Netzwerk der beteiligten Menschen ganz nach dem Bazar-Modell zu schaffen. 4.1.3. Gruppen Innerhalb der hier vorgestellten Gruppen (als Verzeichnisse auf den CDs oder auf den FTP-Servern angelegt) finden Sie die eigentlichen Pakete. • Administration - Programme zur Systemadministration. • Base - Teile des Basissystems, wie zum Beispiel verschiedene Kernel. • Communication - Terminalprogramme usw. . • Development - Diverse Programmiersprachen, Compiler, Interpreters, C/C++ Header, usw. • Documentation - HOWTOs, FAQs und andere Dokumentation sowie Programme, um diese zu lesen. • Editors - Textverarbeitungen, Editoren für Programmierer. • Electronics - Simulatoren für elektronische Schaltungen usw. • Games - Spiele. • Graphics - Grafikprogramme. • Ham Radio - Programme für Amateurfunker. • Interpreters - Interpreter wie Perl, Python und Tcl/Tk. • Libraries - Bibliotheken, die von verschiedenen Programmen genutzt werden. • Mail - Alles rund um E-Mail. Mailserver, Mailprogramme usw. • Mathematics - Mathematische und wissenschaftliche Programme. • Miscellaneous - Diverses, was sonst nirgends hineinpaßt. • Network - Netzwerkserver und Clientprogramme. 134 Kapitel 4. Installation weiterer Pakete • Newsgroups - Software für öffentliche Diskussionsforen. • Old Libraries - ältere Versionen von Bibliotheken. • Other Operating Systems and File Systems - Zugriff auf andere Betriebs- oder Dateisysteme. • Shells - verschiedene Shells. • Sound - Alles für den guten Ton. • TeX - Donald Knuth’s Schriftsatzprogramm. • Text Processing - Werkzeuge zum Umgang mit Textdateien. • Utilities - verschiedene Werkzeuge. • - Programme für das WWW, Server und Clients. • X Window - X Servers, Window Managers und anderes. 4.1.4. Das Debian-Paketformat - .deb Das Debian-Paketformat beinhaltet eine Vielzahl von Informationen zu jedem Paket um sicherzustellen, das sich jedes einzelne perfekt in das System integriert. Debian-Paketnamen enden immer mit .deb, somit können sie leicht von anderen Dateien oder von Paketen aus anderen Distributionen unterschieden werden. Das bekannteste Feature des Debian-Paketformates sind die Abhängigkeiten ( dependency) zwischen den Paketen. Abhängigkeiten zwischen den Paketen erlauben es zum Beispiel einzelnen Programmen, auf gemeinsame Bestandteile anderer Pakete zuzugreifen, meist sind dies Libraries ( Systembibliotheken). Dies verhindert ein unnötiges, doppeltes Installieren von Dateien, auf einem durchschnittlichen System kann so die Zahl der installierten Dateien deutlich reduziert werden. Betrachten wir uns zunächst einmal den einfachsten Fall: ein Paket benötigt zwingend ein zweites Paket, um zu funktionieren. Das Paket mail-crypt ist eine Erweiterung zu Emacs, um E-Mail mit PGP zu verschlüsseln. Wenn PGP nicht installiert ist, wird auch mail-crypt nicht funktionieren. Somit wurde vom Debian Paket-Betreuer (Maintainer) dem Paket die Abhängigkeit zu PGP mitgegeben. Ebenso bedingt mail-crypt die Installation von emacs, da es eine Erweiterung dazu ist, macht es keinen Sinn, dies alleine zu installieren. Weiterhin sind in den Paketbeschreibungen auch Konflikte zwischen den Paketen festgelegt. So ist es unter Debian GNU/Linux nicht möglich, zwei oder mehrere der Programme exim, smail, sendmail, postfix oder qmail zu installieren, da diese alle das virtuelle Paket mail delivery agent zur Verfügung stellen. Die Abhängigkeiten erlauben es, daß genau ein Programm, welches für den Mailtransport zuständig ist, installiert werden kann. Dann haben Sie aber die freie Auswahl zwischen den verfügbaren Paketen. Nun wäre es denkbar, daß ein Programm zum Erstellen von E-Mail (beispielsweise mutt), da es ja eine Möglichkeit benötigt, auch Mails auszuliefern, von smail abhängt. Damit würde man dem Benutzer von mutt vorschreiben, welchen MTA (Mail Transfer Agent) er zu benutzen hat. Debian GNU/Linux-Pakete gehen auch hier einen besonderen Weg. Von den Maintainern der Pakete wird zusätzlich ein „virtueller“ Name festgelegt. Die Programme exim, smail, sendmail und qmail beispielsweise verfügen noch über die Information, daß Sie einen „mail-transport-agent“ zur Verfügung stellen. Somit bleibt Ihnen die freie Auswahl zwischen einem dieser Programme. Das Debian-Paketsystem überwacht zu jeder Zeit alle diese Abhängigkeiten und sorgt dafür, daß Ihr System in einem sicheren, lauffähigen Zustand bleibt. 4.2. dselect Im Laufe der Basisinstallation von Debian GNU/Linux konnten Sie aus einigen vorab zusammengestellten Konfigurationen ein System auswählen. Die ausgewählten Pakete wurden aber noch nicht installiert. Im folgenden wird die Bedienung von dselect beschrieben und die fehlenden Pakete installiert. Starten Sie nun das Programm dselect. 135 Kapitel 4. Installation weiterer Pakete Abbildung 4-1. dselect Startbild Wenn Sie dselect zum ersten Mal aufrufen, ist es unbedingt notwendig, die ersten vier Menüpunkte (Access, Update, Select und Install) genau in dieser Reihenfolge aufzurufen. 4.2.1. Access Mit diesem Menüpunkt legen Sie fest, von welchem Medium Sie die weiteren Pakete installieren wollen. Sie finden hier auch einen Eintrag für das Programm apt, welches im nächsten Abschnitt beschrieben wird. Dieses sollte auch mit dselect die bevorzugte Installationsmethode sein. Abbildung 4-2. dselect - access 136 Kapitel 4. Installation weiterer Pakete Wenn Sie andere Installationsmethoden verwenden wollen, lesen Sie in der Dokumentation zu dselect nach, welche Schritte dazu notwendig sind. 4.2.2. Update Update liest die Dateien mit den Paketinformationen ein und erstellt daraus eine Liste der verfügbaren Pakete. Wenn Sie mehrere CDs zur Verfügung haben, werden Sie aufgefordert, diese nacheinander einzulegen. 4.2.3. Select Unter diesem Punkt können Sie weitere Pakete zur Installation auswählen. Sie bekommen zuerst eine kurze Hilfe angezeigt, die mit der SPACE-Taste verlassen werden kann. Sie können zu jeder Zeit mit der Taste ? ein Hilfe-Menü aufrufen. Debian GNU/Linux organisiert die Pakete nach verschiedenen Gruppen, wie zum Beispiel base oder x11. Sie können einzelne Pakete oder ganze Gruppen von Paketen mit der Taste + auswählen oder mit der Taste - von der Auswahl ausschliessen. Debian GNU/Linux umfaßt einige Pakete, die unbedingt zum reibungslosen Betrieb benötigt werden, zum Beispiel die bash oder login. Diese Pakete können natürlich nicht entfernt werden. Wenn diese Pakete fehlen würden, würde Ihr System unbenutzbar werden. Abbildung 4-3. dselect - select Debian GNU/Linux überprüft schon bei der Auswahl von Paketen die Abhängigkeiten zwischen den mit + markierten Paketen. Sollte es zu Problemen kommen, sei es weil Pakete sich im Betrieb stören würden oder weil ein anderes Paket unbedingt zur Installation des gewählten Paketes benötigt wird, so wird das Installationsprogramm Sie darauf hinweisen. Zwingend benötigte Pakete werden schon ausgewählt, überflüssige Pakete abgewählt. Weiterhin werden Ihnen auch Pakete zur Auswahl angeboten, deren Installation im Zusammenhang mit den ausgewählten Paketen sinnvoll ist. Sollten Sie einmal nicht mit dem Vorschlag des Installationsprogramms einverstanden sein, können Sie den Vorschlag des Programms mit der Taste R wieder rückgängig machen. Mit den Tasten o und I können Sie die Ansicht der Paketliste verändern. o Beeinflußt die Sortierung und blendet die Informationen zu den Gruppen ein oder aus, I verändert die Anzeige der Paketinformationen. Normalerweise wird der Bildschirm horizontal zur Hälfte geteilt, wobei in der oberen Hälfte die Paketliste und 137 Kapitel 4. Installation weiterer Pakete in der unteren Hälfte die Informationen zum gerade ausgewählten Paket zu sehen sind. I verändert die Länge der Paketinformationen oder blendet diese komplett aus. Wenn Sie ein bestimmtes Paket suchen, können Sie mit der Taste / eine Suchroutine aktivieren und einen Suchbegriff eingeben. Mit der Taste \ können Sie den gleichen Begriff noch einmal suchen. Wenn Sie Ihre Paketauswahl abgeschlossen haben, drücken Sie die Eingabetaste, und das Installationsprogramm überprüft noch einmal Ihre Auswahl auf eventuelle Konflikte oder Probleme. Sollten noch Konflikte bei der Auswahl auftreten, so wird Sie das Installationsprogramm darauf hinweisen. Sie können bei Konflikten auch wieder mit den Tasten + und - die Probleme beheben. Wenn Sie es trotz allem nicht schaffen, alle Konflikte zu beseitigen (was bei der Installation von Paketen aus dem Debian GNU/Linux-Entwicklungsbereich unstable passieren kann), so können Sie auch noch bestehende Konflikte mit der Taste Q akzeptieren und den Menüpunkt select verlassen. Dies sollte aber der Ausnahmefall sein. 4.2.4. Install Mit diesem Menüpunkt können Sie die ausgewählten Pakete auf Ihrem System installieren. Je nach der Installationsmethode, die Sie unter Access gewählt haben, werden Sie aufgefordert, die passenden CDs einzulegen, oder die Pakete werden übers Netzwerk installiert oder von einer anderen Partition installiert... oder, oder, oder... Die Installation der meisten Pakete erfolgt ohne weitere Rückfragen. Bei einigen Paketen werden aber weitere Angaben benötigt, beispielsweise bei der Installation von exim, welches von Debian GNU/Linux zum Versenden von E-Mail verwendet wird. Auf die wichtigsten solcher Pakete werden wir in den weiteren Kapiteln eingehen, bitte sehen Sie in den entsprechenden Kapitel, nach (exim finden Sie im Kapitel „Internet“, Abschnitt „E-Mail“ beschrieben). 4.2.5. Config Sie können diesen Menüpunkt auswählen, wenn es während der Installation von Paketen zu Problemen gekommen ist. Für alle bereits installierten, aber noch nicht konfigurierten Pakete wird die dazugehörige Konfigurationsroutine aufgerufen. Sie können dies aber auch jederzeit aus einer Shell heraus mit dgkp --pending --configure durchführen. 4.2.6. Remove Hiermit können Sie Pakete, die Sie unter Select mit der Taste - zum Löschen markiert haben, von Ihrer Festplatte entfernen. Ein großer Vorteil von Debian GNU/Linux ist es, daß mit diesem Verfahren nur die Programme selber entfernt werden, alle Konfigurationsdateien verbleiben auf der Festplatte. Wenn Sie zu einem späteren Zeitpunkt ein Paket, welches Sie schon einmal installiert hatten, wieder installieren, so werden die noch vorhandenen Konfigurationsdateien verwendet. Wenn Sie ein Programm inklusive der Konfigurationsdateien von Ihrem System entfernen wollen, benutzen Sie den Befehl: dgpk --purge irgendeinpaket. 4.2.7. Quit Dieser Menüpunkt stellt die höchsten Ansprüche an den Benutzer, wer möchte schon an dieser Stelle das Installationsprogramm beenden...? Also auf keinen Fall die Eingabetaste drücken, bevor die Festplatte gut gefüllt ist... 4.2.8. Beispiel: boot-floppies Am Beispiel des Paketes boot-floppies wird nun exemplarisch die Installation von Software vorgestellt. boot-floppies dient zur Erstellung eigener Installationsdisketten für Debian GNU/Linux. Sie werden dieses Paket vielleicht nicht benötigen, es soll aber auch nur als Beispiel dienen, Sie können es später wieder entfernen. 138 Kapitel 4. Installation weiterer Pakete Starten Sie nun dselect (als Superuser), falls Sie es schon beendet haben. Wählen Sie nun den Punkt „Select“ aus und suchen Sie das Paket boot-floppies. Markieren Sie das Paket mit der Taste + zur Installation. Der Entwickler dieses Pakets hat festgelegt, daß es ohne die folgenden Pakete nicht funktionieren wird: • libc6-pic • slang1-pic • sysutils • makedev (>= 1.6-15) • newt0.25 • newt0.25-dev • popt • zlib1g • zlib1g-dev • recode • make • gettext • slice • m4 • lynx (>= 2.6) • debiandoc-sgml (>= 1.1.10) • man-db • tetex-bin • tetex-extra Weiterhin empfiehlt er, daß die Pakete lynx (>= 2.6) und sgml-tools vorhanden sein sollten. Die Ziffern hinter den Namen sind die Versionsnummer, die das betreffende Paket erfüllen sollte. Wird das Boot-floppies-Paket nun mit dem Pluszeichen ausgewählt, so erscheint das folgende Fenster (in diesem Fall sind die Pakete libc6-dev und newt0.25 schon installiert): dselect - recursive package listing mark:+/=/- verbose:v help:? EIOM Pri Section Package Description _* Opt admin boot-floppie Scripts to create the Debian installation floppy _* Opt devel libc6-pic The GNU C library version 2 (PIC library) _* Opt devel slang1-pic The S-Lang programming library, shared library su _* Opt devel newt0.25-dev Developer’s toolkit for newt windowing library _* Opt devel popt C library for parsing command line parameters

      • Std devel libc6-dev The GNU C library version 2 (development files).

_* Opt devel slang1-dev The S-Lang programming library, development versi

      • Opt base newt0.25 Not Erik’s Windowing Toolkit - text mode windowin

Zur Erklärung steht dann im unteren Teil: boot-floppies depends on libc6-pic boot-floppies depends on slang1-pic boot-floppies depends on newt0.25-dev boot-floppies depends on popt Mit großem R kann der Ursprungszustand, also vor Eingabe des Pluszeichens, wieder hergestellt werden. Dies kann sinnvoll sein, wenn Sie versehentlich ein falsches Paket ausgewählt haben oder der Installationsvorgang andere, noch benötigte Pakete entfernen würde: 139 Kapitel 4. Installation weiterer Pakete dselect - recursive package listing mark:+/=/- verbose:v help:? EIOM Pri Section Package Description __ Opt admin boot-floppie Scripts to create the Debian installation floppy __ Opt devel libc6-pic The GNU C library version 2 (PIC library) __ Opt devel slang1-pic The S-Lang programming library, shared library su __ Opt devel newt0.25-dev Developer’s toolkit for newt windowing library __ Opt devel popt C library for parsing command line parameters

      • Std devel libc6-dev The GNU C library version 2 (development files).

__ Opt devel slang1-dev The S-Lang programming library, development versi

      • Opt base newt0.25 Not Erik’s Windowing Toolkit - text mode windowin

Mit großem D werden die Veränderungen, die dselect vorgenommen hat, wieder rückgängig gemacht: dselect - recursive package listing mark:+/=/- verbose:v help:? EIOM Pri Section Package Description _* Opt admin boot-floppie Scripts to create the Debian installation floppy __ Opt devel libc6-pic The GNU C library version 2 (PIC library) __ Opt devel libc6-pic The GNU C library version 2 (PIC library) __ Opt devel slang1-pic The S-Lang programming library, shared library su __ Opt devel newt0.25-dev Developer’s toolkit for newt windowing library __ Opt devel popt C library for parsing command line parameters

      • Std devel libc6-dev The GNU C library version 2 (development files).

__ Opt devel slang1-dev The S-Lang programming library, development versi

      • Opt base newt0.25 Not Erik’s Windowing Toolkit - text mode windowin

Mit dem großem U werden die Vorschläge von dselect wiederhergestellt: dselect - recursive package listing mark:+/=/- verbose:v help:? EIOM Pri Section Package Description _* Opt admin boot-floppie Scripts to create the Debian installation floppy _* Opt devel libc6-pic The GNU C library version 2 (PIC library) _* Opt devel slang1-pic The S-Lang programming library, shared library su

      • Opt base newt0.25 Not Erik’s Windowing Toolkit - text mode windowin

Sie können mit diesen Tasten also die Vorschläge von dselect für das aktuelle Paket akzeptieren oder auch rückgängig machen sowie individuelle Pakete, für die dselect Ihnen nur eine Installationsempfehlung gibt, ebenfalls installieren. Durch die mehrfache Eingabe des kleinen i können Informationen über das aktuelle Paket abgerufen werden. Nach der abschließenden Auswahl betätigen Sie die Return-Taste und gelangen dann zurück zum Hauptmenü. Sie können nun mit „Install“ die gewünschten Pakete installieren. Soweit zur Beschreibung von dselect. Dieses Programm wird in naher Zukunft von apt, beziehungsweise einem auf apt basierendem Programm, abgelöst werden. Im folgenden werden wir Ihnen diese Programme vorstellen. 4.3. Apt Apt stellt die nächste Generation der Debian GNU/Linux-Paketverwaltung dar. Die „Backends“, also die Programme im Hintergrund, welche die eigentliche Arbeit verrichten, sind zum großen Teil fertiggestellt. Die „Frontends“, Programme mit einer Benutzeroberfläche, befinden sich noch in der Entwicklung. Zunächst werden wir Ihnen zeigen, wie Sie Apt konfigurieren und mit Hilfe der Kommandozeile Pakete verwalten. Später stellen wir Ihnen einige der Frontends zu Apt vor. 140 Kapitel 4. Installation weiterer Pakete 4.3.1. Apt konfigurieren Wenn Sie Apt bereits über das Programm dselect als Installationsmethode benutzt haben, so haben Sie wahrscheinlich bereits Apt auf Ihre Bedürfnisse angepaßt. Hier noch einige weitergehende Informationen zu Apt: Apt steht für „A Package Tool“, ein Programm also, welches den Systemadministrator (also Sie :-) ) bei der Installation und Verwaltung von Programmen unterstützen soll. Der erste Schritt zur Benutzung von Apt ist die Anpassung der Konfigurationsdatei /etc/apt/sources.list . In dieser Datei befinden sich die Informationen, von welcher Quelle die Pakete geholt werden sollen. Apt unterstützt eine große Zahl verschiedener Installationsquellen. Momentan sind dies: cdrom, file, http und ftp. Jede dieser Quellen wird in einer einzelnen Zeile in der Datei beschrieben. Dabei wird auch die Reihenfolge berücksichtigt, weiter oben stehende Einträge haben eine höhere Priorität. Das Format der Einträge läßt sich wie folgt beschreiben: deb uri distribution [component1] [component2] [...] Ein Eintrag könnte also wie folgt aussehen: deb ftp://ftp.debian.org/debian stable main In der ersten Spalte findet sich der Hinweis auf die Art der Quelle. Mögliche Werte sind hier deb für Debian Pakete im Binärformat (dies ist der gebräuchliste Wert) oder aber deb-src für Pakete die im Quellcode vorliegen. Einträge der letztere Art benötigt man beispielsweise um ein Paket aus den Quellpaketen neu zu übersetzen. Das Feld uri beschreibt die Installationsquelle und den Pfad zum „root-“Verzeichnis der Debian Distribution. Auf einer CD-ROM ist der Pfad im Normalfall das Verzeichnis /debian . Mit dem Feld distribution stellen Sie die gewünschte Version ein, die Sie installieren möchten. Normalerweise wird man sich zwischen stable für die aktuelle, stabile Version oder für unstable, die Entwicklerversion, entscheiden. Wie schon am Anfang dieses Buches beschrieben, bekommt jede Debian-Version einen Namen. Sie können auch diesen Namen hier einsetzen, also slink für die Version 2.1 oder potato für die Version 2.2 . Die Felder „component“ werden mit den einzelnen Bereichen der Distribution gefüllt. Hier können beispielsweise: main, contrib, non-free, non-US stehen. Zulässig sind ein oder mehrere Einträge, die durch Leerzeichen voneinander getrennt werden. Nun noch einige genauere Informationen zu den Installationsquellen: file dient zur Benutzung eines Verzeichnisses als Quelle für die Pakete. Dies kann ein lokales oder ein per NFS gemountetes Verzeichnis sein. cdrom benutzt ein lokal installiertes CD-ROM als Installationsquelle. Wenn die Distribution auf mehreren CDs vorliegt, wird auch dies unterstützt. Benutzen Sie das Programm apt-cdrom, um die nötigen Einträge in der Datei /etc/apt/sources.list vorzunehmen, oder benutzen Sie das Programm apt-setup. http benutzt einen HTTP-Server als Installationsquelle. Wenn die Shell-Umgebungsvariable $http_proxy gesetzt ist (im Format: http://server:port/ ), so wird dieser anstelle einer direkten Verbindung zum Server benutzt. Sie können auch Proxy-Server, die eine Authentifizierung verlangen, benutzen. Hierzu ist der Proxy im Format: http://user:pass@server:port/ anzugeben. Bitte beachten Sie, daß die Benutzernamen und Paßwörter auf diesem Wege unverschlüsselt übertragen werden. ftp stellt sicher die am häufigsten verwendete Methode für Apt dar. Die Daten werden per FTP (File Transfer Protocol) auf den Rechner übertragen. Ein Beispiel finden Sie weiter unten. 141 Kapitel 4. Installation weiterer Pakete copy Diese Methode ist identisch mit der Methode „file“, mit dem Unterschied, daß die Pakete vor der Installation in das Verzeichnis /var/apt/cache/archives/ kopiert werden. Dies kann zum Beispiel auf Systemen Sinn machen, die keine Verbindung zum Netz haben und per ZIP-Medium aktualisiert werden sollen. Hier nun einige Beispiele. Denken Sie daran, daß Sie durchaus mehrere dieser Einträge in der Konfigurationsdatei gleichzeitig verwenden können. deb http://www.debian.org/archive stable main contrib Ein solcher Eintrag benutzt das Archiv auf http://www.debian.org mit den Bereichen stable/main und stable/contrib. Folgender Eintrag holt die Dateien via FTP aus dem Verzeichnis /debian , es wird die noch nicht fertige „unstable“ Version von Debian GNU/Linux benutzt und auf die Bereiche main, contrib und non-free zugegriffen: deb ftp://ftp.debian.org/debian unstable main contrib non-free Nochmal ein ähnlicher Eintrag, diesmal für die stabile Version und lediglich den Bereich main. deb ftp://ftp.debian.org/debian stable main Wenn Sie die beiden vorhergehenden Zeilen in Ihrer Konfiguration einsetzen, werden beide Zeilen in einem FTP-Zugriff bearbeitet. deb file:/home/vincent/debian stable main contrib non-free Ein solcher Eintrag benutzt eine lokale Kopie der Daten auf der Festplatte. Dies kann auch ein per NFS gemountetes Verzeichnis sein. 4.3.2. apt-setup Mit apt-setup können Sie über eine Benutzeroberfläche die Einträge in der Datei /etc/apt/sources.list ergänzen. apt-setup kann hierzu die Methoden „http“, „ftp“ und „filesystem“ benutzen, für die Methode „cdrom“ wird auf das Programm apt-cdrom zurückgegriffen. Ein weiteren Menüpunkt („edit sources list by hand“) ruft einen Editor (vi) auf, Sie können dann weitere Einträge von Hand aufnehmen. Nach Verlassen des Editors wird versucht, von den angegebenen Quellen die Package-Dateien zu lesen. Abbildung 4-4. apt-setup 142 Kapitel 4. Installation weiterer Pakete Als einzige Option kann beim Starten der Wert „probe“ übergeben werden. Dies führt dazu, daß eine eingelegte CD-ROM sofort eingelesen wird. 4.3.3. apt-cdrom Dieses Kommando wird von apt-setup zur Integration von neuen CD-ROMs verwendet, kann aber auch eigenständig eingesetzt werden. Im einfachsten Fall führt das Kommando apt-cdrom add dazu das die eingelegte CD mit den entsprechenden Werten in die Datei sources.list aufgenommen wird. Hierzu ist ein entsprechender Eintrag in der Datei /etc/fstab notwendig. Ein solcher Eintrag wird bereits bei der Installation angelegt und muss normalerweise nur bei Veränderungen an der Hardware angepasst werden. Wird apt-cdrom ohne weitere Angaben aufgerufen, so werden Informationen über weitere Optionen ausgegeben. apt 0.5.4 for linux i386 compiled on Aug 19 2001 01:02:40 Usage: apt-cdrom [options] command apt-cdrom is a tool to add CDROM’s to APT’s source list. The CDROM mount point and device information is taken from apt.conf and /etc/fstab. Commands: add - Add a CDROM ident - Report the identity of a CDROM Options: -h This help text -d CD-ROM mount point -r Rename a recognized CD-ROM -m No mounting -f Fast mode, don’t check package files -a Thorough scan mode -c=? Read this configuration file -o=? Set an arbitary configuration option, eg -o dir::cache=/tmp See fstab(5) 4.3.4. apt-get apt-get ist die eigentliche Benutzerschnittstelle zur Verwaltung von Paketen. Dieses Programm ohne grafische Benutzeroberfläche ist recht einfach zu bedienen. Grafische Alternativen befinden sich in der Entwicklung, dazu später mehr. 4.3.4.1. Status-Report Bevor apt-get die gewünschten Aktionen, wie zum Beispiel das Löschen oder die Installation einzelner Pakete, ausführt die das System verändern, werden Sie über den zukünftigen Zustand des Systems informiert. Es werden folgende Informationen angezeigt: die Anzahl der Pakete, die aktualisiert werden (neuere Version), die Anzahl der Pakete, die nicht verändert werden (kept back), die Anzahl der zu löschenden Pakete sowie die Anzahl der neu zu installierenden Pakete. Zusätzlich werden, wenn Sie die Option install benutzen, die Pakete ausgewählt und angezeigt, die aufgrund der Abhängigkeiten der zu installierenden Pakete benötigt werden. The following extra packages will be installed: 143 Kapitel 4. Installation weiterer Pakete libdbd-mysql-perl xlib6 zlib1 xzx libreadline2 libdbd-msql-perl mailpgp xdpkg fileutils pinepgp zlib1g xlib6g perl-base bin86 libgdbm1 libgdbmg1 quake-lib gmp2 bcc xbuffy squake pgp-i python-base debmake ldso perl libreadlineg2 ssh Sollte es notwendig sein, Pakete zu löschen, oder Sie haben selber entschieden, Pakete zu entfernen, so werden auch diese gesondert angezeigt. The following packages will be REMOVED: xlib6-dev xpat2 tk40-dev xkeycaps xbattle xonix xdaliclock tk40 tk41 xforms0.86 ghostview xloadimage xcolorsel xadmin xboard perl-debug tkined xtetris libreadline2-dev perl-suid nas xpilot xfig Sehen Sie sich diese Liste in jedem Fall aufmerksam an. So stellen Sie sicher, daß keine Pakete gelöscht werden, die Sie noch benötigen. Wenn Sie Pakete neu installieren, werden Sie auch darüber informiert: The following NEW packages will installed: zlib1g xlib6g perl-base libgdbmg1 quake-lib gmp2 pgp-i python-base Dies dient nur zu Ihrer Information, diese Pakete sind bisher nicht auf Ihrem System installiert. Bei der Auswahl der Pakete haben Sie die Möglichkeit, einzelne Pakete in der aktuellen Version zu behalten, diese werden nicht aktualisiert (kept back). The following packages have been kept back compface man-db tetex-base msql libpaper svgalib1 gs snmp arena lynx xpat2 groff xscreensaver Immer wenn Sie Ihr System mit der Option upgrade aktualisieren, kann es passieren, daß einzelne Pakete nicht aktualisiert werden können, weil sie auf Paketen basieren, die noch nicht in der benötigten Version verfügbar sind, oder aber es gibt Konflikte mit bereits installierten Paketen. In diesem Fall werden die Pakete im aktuellen Zustand gehalten. Sie können apt-get install benutzen, um diese Pakete trotzdem zu aktualisieren. The following held packages will be changed: cvs Wenn Sie ein auf „hold“ gesetztes Paket aktualisieren, bekommen Sie die Meldung, daß dieses Paket verändert (changed) wird. Außer bei apt-get install kann Ihnen diese Meldung auch bei apt-get dist-upgrade begegnen. Abschließend finden Sie noch eine Zusammenfassung über die Anzahl der betroffenen Pakete. Weiterhin wird angezeigt, welches Datenvolumen übertragen werden muß und wieviel Festplattenplatz zusätzlich benötigt wird (oder auch frei wird). 206 packages upgraded, 8 newly installed, 23 to remove and 51 not upgraded. 12 packages not fully installed or removed. Need to get 65.7M/66.7M of archives. After unpacking 26.5M will be used. Die erste Zeile ist eine knappe Zusammenfassung in Zahlen zu den bereits vorher ausgegebenen Informationen. In der zweiten Zeile finden Sie die nicht installierten Pakete, die bereits entpackt, aber nicht konfiguriert wurden. In der dritten Zeile finden Sie die Informationen über den benötigten Platz und die zu übertragenden Daten. Hierbei steht die erste Zahl für die tatsächlich noch zu übertragenden Daten und die zweite für den Gesamtwert. Wenn bereits Pakete bei einer vorherigen Installation übertragen wurden, aber nicht installiert werden konnten, so werden diese gespeichert und nicht noch einmal übertragen. Wenn Sie nun mit der Installation beginnen (dies müssen Sie bei apt-get install mit einem y anstoßen), werden die Pakete von dem ausgewählten Medium gelesen und installiert. 144 Kapitel 4. Installation weiterer Pakete 4.3.4.2. Status-Anzeige Während des Downloads von Archiven und Paketdateien zeigt apt-get eine Reihe von Informationen an: sushi:/root# apt-get update Get:1 ftp://linux frozen/main Packages [833kB] Get:2 ftp://linux frozen/main Release [93B] Get:3 ftp://linux frozen/contrib Packages [33.4kB] Get:4 ftp://linux frozen/contrib Release [96B] Get:5 ftp://linux frozen/non-free Packages [78.1kB] Get:6 ftp://linux frozen/non-free Release [97B] Get:7 ftp://linux stable/non-US Packages [8880B] Get:8 ftp://linux stable/non-US Release [95B] Fetched 953kB in 12s (74.1kB/s) Reading Package Lists... Done Building Dependency Tree... Done Unmittelbar während des Downloads wird auch der Fortschritt angezeigt, inklusive der voraussichtlich benötigten Zeit für die Übertragung: 11% [5 frozen/non-free ‘Waiting for file’ 0/32.1k 0%] 2203b/s 1m52s In den mit Get: beginnenden Zeilen steht die benutzte Methode (hier ftp) und der benutzte Server. Den Servernamen können Sie in einem lokalen Netz auch verkürzt angeben, wie hier mit linux gezeigt. Weiterhin wird der Bereich (frozen und stable) angezeigt sowie die Verzeichnisse ( main, contrib usw.) und die Dateinamen mit der Dateigröße. Bei der Installation von Paketen sieht der Vorgang ähnlich aus: sushi:/root# apt-get install aptitude Reading Package Lists... Done Building Dependency Tree... Done The following NEW packages will be installed: aptitude 0 packages upgraded, 1 newly installed, 0 to remove and 3 not upgraded. Need to get 148kB of archives. After unpacking 471kB will be used. Get:1 ftp://ftp.debian.de potato/main aptitude 0.0.4a-3 [148kB] Fetched 148kB in 5s (25.3kB/s) Selecting previously deselected package aptitude. (Reading database ... 22625 files and directories currently installed.) Unpacking aptitude (from .../aptitude_0.0.4a-3_i386.deb) ... Setting up aptitude (0.0.4a-3) ... Hier wird, in der Zeile „Get:“, der Dateiname der zu installierenden Datei angezeigt und danach das Paket entpackt und installiert. 4.3.4.3. Optionen und Kommandos apt-get benutzt folgende Syntax: apt-get [options] [command] [package ...] Die Optionen werden Sie sicher seltener benötigen, daher zuerst einige Worte zu den einzelnen Kommandos: check Bei jedem Start von apt (mit der Ausnahme, wenn Sie die Option update benutzen) wird eine Reihe von Prüfungen durchgeführt, um sicherzustellen, daß apt funktionsfähig und Ihr System in einem guten Zustand ist. Sie können diese Prüfungen auch zu jeder Zeit selber anstoßen: sushi:/root# apt-get check Reading Package Lists... Done Building Dependency Tree... Done 145 Kapitel 4. Installation weiterer Pakete Als erstes werden die Paketdateien anhand der Informationen in /etc/apt/sources.list eingelesen. Wenn Sie diesen Vorgang noch einmal wiederholen, werden Sie feststellen, daß der zweite Test deutlich schneller beendet ist, die Informationen werden von apt gecacht. Für Paketdateien, die nicht gefunden werden, wird ggf. eine Warnung ausgegeben, diese Pakete werden dann ignoriert. Im zweiten Schritt wird eine detaillierte Analyse des Systems durchgeführt, inklusive aller Abhängigkeiten. Es werden von jedem installierten oder bereits entpackten, aber noch nicht konfiguriertem Paket die Abhängigkeiten geprüft. Wenn dabei ein Problem auftaucht, wird dies angezeigt und apt-get bricht die weitere Bearbeitung ab. sushi:/root# apt-get check Reading Package Lists... Done Building Dependancy Tree... Done You might want to run apt-get -f install’ to correct these. Sorry, but the following packages have unmet dependencies: 9fonts: Depends: xlib6g but it is not installed uucp: Depends: mailx but it is not installed blast: Depends: xlib6g (>= 3.3-5) but it is not installed adduser: Depends: perl-base but it is not installed aumix: Depends: libgpmg1 but it is not installed debiandoc-sgml: Depends: sgml-base but it is not installed bash-builtins: Depends: bash (>= 2.01) but 2.0-3 is installed cthugha: Depends: svgalibg1 but it is not installed Depends: xlib6g (>= 3.3-5) but it is not installed libreadlineg2: Conflicts:libreadline2 (<< 2.1-2.1) In diesem Beispiel gibt es eine ganze Reihe Probleme, einige Pakete sind gar nicht installiert, oder es sind falsche Versionen installiert. Für jedes einzelne Paket, bei dem ein Problem festgestellt wurde, wird eine Zeile ausgegeben, mit den Informationen, um welches Paket es sich handelt und welches Problem festgestellt wurde. Es gibt zwei Möglichkeiten, wie es zu solchen Problemen kommen kann: Bei einem „Upgrade“ kann es passieren, daß ein benötigtes Paket fehlt, oder aber während der Installation eines Paketes ist ein Problem aufgetreten. Wenn letzteres aufgetreten ist, dann wurde das Paket zwar entpackt, aber nicht korrekt konfiguriert. Beide Situationen können von apt in den meisten Fällen mit der Option -f selbst behoben werden. Wenn Sie dselect mit der Methode apt benutzen, wird immer die Option -f verwendet, um eine einfache Bedienung zu gewährleisten. Trotzdem kann es passieren, daß bei einem schweren Problem apt nicht in der Lage ist, das Problem zu beheben. In diesem Fall müssen Sie von Hand mit dem Programm dpkg den Konflikt beseitigen. Sie können danach mit apt-get fortfahren. update aktualisiert die Übersicht der verfügbaren Pakete, liest also die Informationen aus den Dateien Packages.gz der jeweiligen Distribution ein. Sie sollten update immer ausführen, wenn Sie wissen, daß sich die Inhalte der Paketdateien beziehungsweise die verfügbaren Pakete auf dem Server geändert haben. Auf jeden Fall sollten Sie update vor dem Aufruf von upgrade oder dist-upgrade aufrufen. upgrade Um alle auf dem System installierten Pakete auf die aktuelle Version zu bringen, können Sie upgrade benutzen. Alle bereits installierten Pakete, von denen eine neuere Version verfügbar ist, werden aktualisiert. Es werden keine Pakete gelöscht, die bereits installiert sind (und in den neuen Paketdateien nicht mehr enthalten sind), oder Pakete installiert, die noch nicht auf dem System vorhanden sind. Pakete, die bereits installiert sind und es bei einem Upgrade erforderlich machen, den Status anderer Pakete zu verändern, werden nicht aktualisiert. apt-get update muß vorab ausgeführt werden, so daß sichergestellt ist, daß die Paketinformationen auf dem neuesten Stand sind. 146 Kapitel 4. Installation weiterer Pakete dist-upgrade ist eigentlich eine Ergänzung oder Erweiterung zu upgrade. Es wird hierbei dafür Sorge getragen, daß für das System wichtigere Pakete zuerst installiert werden. Hierbei werden in engen Grenzen auch Abhängigkeiten verändert, um ein Paket installieren zu können. Dies ist dann notwendig, wenn ein System komplett auf eine neue Version umgestellt werden soll und kein „sanfter“ Übergang gewährleistet werden kann. dselect-upgrade Mit dieser Option werden auch die Paketinformationen „recommends“ und „suggests“ ausgewertet. dies ist sonst nur mittels dselect möglich. Diese Vörschläge für weitere Pakete sind zur Funktion des gewünschten Paketes nicht zwingend erforderlich, können aber durchaus sinnvoll sein. install Diese Option benötigt noch einen oder mehrere Paketnamen. Jedes dieser Pakete (der Paketname, also beispielsweise sendmail, reicht hierbei aus) sowie die noch benötigten Pakete (diese werden automatisch ermittelt) werden auf Basis der Informationen in /etc/apt/sources.list geholt und installiert. Wenn Sie hinter den Namen des Paketes ein Minuszeichen (-) setzen, wird das Paket aus dem System entfernt, wenn es bereits installiert ist. Achten Sie darauf, daß das Minuszeichen direkt nach dem Paketnamen steht, ohne ein Leerzeichen dazwischen. Diese Funktion kann auch bei Konflikten bei der Installation einzelner Pakete sehr nützlich sein, Sie können so Pakete in einem Vorgang löschen und installieren. Die Option „install“ wählt immer die aktuellste verfügbare Version eines Paketes aus. Es kann jedoch sinnvoll sein auch Zugriff auf ältere Programmversionen zu haben. Hierzu kann aber der Version 0.5.3 von apt folgende Syntax verwendet werden: apt-get install sane/unstable. Durch einen Slash getrennt kann hinter dem Paketnamen die gewünschte Release eines Paketes angegeben werden. remove Diese Funktion ist identisch mit der vorherigen, nur mit dem Unterschied, daß die Pakete standardmäßig entfernt werden, statt sie zu installieren. Analog zu dem eben Beschriebenen können Sie hier in Pluszeichen (+) verwenden, um Pakete zu installieren. check dient lediglich zur Diagnose. Es wird überprüft, ob sich irgendwelche Unstimmigkeiten in den Paketen finden. clean Dies löscht das lokale Verzeichnis, in dem sich die zu installierenden Pakete befinden. Alles, mit Ausnahme der lock-Datei, wird aus /var/cache/apt/archives/ und /var/cache/apt/archives/partial/ gelöscht. source Dieses Kommando holt die notwendigen Dateien zur Erzeugung eines Binärpaketes. Es können so angepasste Pakete erzeugt werden oder aber Pakete auf einer anderen Architektur übersetzt werden. Wichtig ist hier bei ein entsprechender „deb-src“ Eintrag in der Datei sources.list. Um alle zu einem Paket gehörenden Dateien von einem Server zu holen, reicht das Kommando apt-get source paketname. Es werden die aktuellen Versionen der Dateien paketname.orig.tar.gz, paketname.dsc und paketname.diff.gz im aktuellen Verzeichnis gespeichert. Um aus den Quellen direkt in Binärpaket zu erzeugen, kann die Option -b angegeben werden. Das komplette Kommando lautet dann apt-get source -b paketname. Wenn die benötigten Source Pakete bereits vorliegen, kann ds Binärpaket auch direkt mit dem Kommando dpkg-buildpackage -rfakeroot -us -uc erzeugt werden. build-dep Die meisten Softwarepakete benötigen bei der Übersetzung aus den Quellpaketen weiter Entwicklungspakete wie Librarys und Header Dateien. Diese werden häufig nicht mitgeliefert und liegen 147 Kapitel 4. Installation weiterer Pakete in gesonderten Paketen vor. Das Debian Paketsystem sieht sogenannte „build dependencies“ vor in denen alle Abhängigkeiten zur Erzeugung eines Paketes beschrieben sind. Das Kommando apt-get build-dep paketname sorgt dafür das alle zur Übersetzung eines Paketes benötigten Dateien auf dem System vorhanden sind. moo Als kleine versteckte Option haben die Entwickler auch noch noch ein sogenanntes „Easter-Egg“ eingebaut: fr@nigiri:~$ apt-get moo (__) (oo) /------\/ / | ||

  • /\---/\

~~ ~~ ...."Have you mooed today?"... Soweit zu den Parametern. Sie können noch folgende Optionen benutzen um apt-get zu steuern. -h Zeigt die Hilfe zu apt-get an. -m Ignoriere eventuell fehlende Pakete -d Holt die gewünschten Pakete vom Server, ohne diese zu installieren. -f Behebt die defekten Abhängigkeiten zwischen den Paketen. apt-get -f install versucht, diese automatisch zu reparieren. -s Simulation, führt keine Aktionen aus. -u Zeigt auch die zu aktualisierenden Pakete an. -y Aktualisiert alle Pakete automatisch indem alle Fragen mit „Yes“ beantwortet werden. Hier nun ein Beispiel aus der Praxis zur Benutzung von Apt: Beachten Sie bitte, daß Pakete nur mit Superuser-Rechten (root) installiert werden können. Zuallererst muß apt die Informationen über die verfügbaren Pakete erhalten, hierzu dient das Kommando apt-get update. sushi:/root # apt-get update Hit ftp://192.168.0.5 potato/main Packages 148 Kapitel 4. Installation weiterer Pakete Hit ftp://192.168.0.5 potato/main Release Get:1 ftp://192.168.0.5 potato/non-free Packages [78.6kB] Get:2 ftp://192.168.0.5 potato/non-free Release [99B] Fetched 68.5kB in 0s (104kB/s) Reading Package Lists... Done Building Dependency Tree... Done Nachdem das System nun über den aktuellen Stand der Pakete informiert ist, können Sie weitere Pakete mittels Apt installieren, hier gezeigt am Beispiel von sane: sushi:/root# apt-get install sane Reading Package Lists... Done Building Dependency Tree... Done The following extra packages will be installed: libgimp1 libsane The following NEW packages will be installed: libgimp1 libsane sane 0 packages upgraded, 3 newly installed, 0 to remove and 3 not upgraded. Need to get 703kB of archives. After unpacking 1729kB will be used. Do you want to continue? [Y/n] Beachten Sie hierbei, daß automatisch die benötigten Pakete libgimp1 und libsane ausgewählt wurden. Insgesamt werden also drei Pakete installiert. Weiter unten erhalten Sie noch Informationen über den später benötigten Plattenplatz der Pakete sowie über die Größe der Pakete, die ja eventuell via FTP erst übertragen werden müssen. Wenn Sie mit den Angaben so einverstanden sind, bestätigen Sie dies mit der Eingabetaste, oder drücken Sie die Taste n und danach die Eingabetaste, um den Vorgang zu beenden. Wenn mehrere Pakete gleichzeitig installiert werden sollen, so können diese einfach hintereinander auf der Kommandozeile angegeben werden. 4.3.5. apt - Offline nutzen Normalerweise wird apt mit einem direkten Zugriff zu einem Archiv benutzt, sei es daß die Daten auf einer lokalen Festplatte liegen oder von einer CD-ROM kommen oder über ein Netzwerk installiert werden sollen. Trotzdem kann es sinnvoll sein, wenn Sie keine aktuellen CDs zur Hand haben oder Ihnen der Download der Dateien zu langwierig ist, die Daten auf einem anderen Medium, zum Beispiel ein ZIP, von einem Rechner mit den aktuellen Paketen zu kopieren und zu installieren. Problematisch ist dabei, daß ein solches Medium nicht ausreicht, um eine komplette Debian-Distribution aufzunehmen. Aber es reicht ja auch aus, nur die benötigten Pakete zu kopieren. Sie müssen also mittels apt eine Liste der benötigten Pakete erstellen und diese auf dem Rechner mit einer schnellen Anbindung ans Netz downloaden. Für den Download der Dateien ist das Programm wget gut geeignet. Weiterhin müssen Sie apt dazu bringen, die Paketdateien von dem neuen Medium zu lesen. Dieses sollte mit einem Dateisystem formatiert sein, welches mit langen Dateinamen umgehen kann; dies wären zum Beispiel: ext2, vfat oder fat32. 4.3.5.1. apt, auf beiden Rechnern Wenn apt auf beiden Rechnern installiert ist, können Sie über die Statusdatei (status) feststellen lassen, welche Pakete auf dem Zielrechner fehlen. Die Verzeichnisstruktur auf dem Medium sollte wie folgt aussehen: /medium/ archives/ partial/ lists/ partial/ status sources.list apt.conf 149 Kapitel 4. Installation weiterer Pakete 4.3.5.2. Die Konfigurationsdatei In der Konfigurationsdatei teilen Sie apt mit, daß die Debian-Pakete auf dem Medium zu speichern sind und daß dort auch die Konfigurationsdateien zu finden sind. Die Datei sources.list sollte den Server enthalten, von dem die Pakete geholt werden sollen. Die Datei status ist eine Kopie der Datei /var/lib/dpkg/status von Ihrem Zielrechner. Die Datei apt.conf enthält die nötigen Informationen, um das Medium zu benutzen: APT { /* nur notwendig, wenn die beiden Rechner nicht die gleiche Architektur haben */ Architecture "i386"; Get::Download-Only "true"; }; Dir { /* die status-Datei auf dem Medium nutzen. */ State "/medium/"; State::status "status"; /* auf dem Medium cachen */ Cache::archives "/medium/archives/"; /* da ist auch die Datei sources.list */ Etc "/medium/"; }; Auf Ihrem Zielrechner mounten Sie zuerst das Medium und kopieren die Datei /var/lib/dpkg/status dorthin. Erzeugen Sie dann die Verzeichnisse, die oben in der Struktur gezeigt sind (archives/partial/ und lists/partial/). Die weiteren Schritte können Sie auf dem zweiten Rechner durchführen. Passen Sie die Datei sources.list an. Dann führen Sie folgendes auf diesem Rechner aus: export APT_CONFIG="/medium/apt.conf" apt-get update apt-get dist-upgrade Sie können auch alle anderen apt-Optionen oder auch gnome-apt benutzen. Wenn alle Dateien auf das Medium übertragen wurden, können Sie diese zu Ihrem Zielrechner transportieren und die Pakete wie folgt installieren: export APT_CONFIG="/medium/apt.conf" apt-get check apt-get --no-d -o dir::etc::status=/var/lib/dpkg/status dist-upgrade Bitte beachten Sie, daß hierbei wieder die lokale status-Datei benutzt wird! 4.3.5.3. Kopieren der Dateien mit wget Wenn Sie nicht die Möglichkeit haben, die Dateien auf einem Rechner mit apt aus dem Netz zu kopieren, können Sie alternativ auch das Programm wget benutzen. Dieses ist nicht Teil der Debian GNU/Linux-Basisinstallation, Sie müssen also zunächst das Paket installieren. wget dient zum Kopieren von Webseiten inklusive der dazugehörigen Grafiken und eventueller weiterer mit dieser Seite verlinkten Seiten. Wir werden wget aber zum gezielten Kopieren der benötigten Debian-Pakete von einem Server benutzen. 150 Kapitel 4. Installation weiterer Pakete Sie können die Pakete mittels wget kopieren, indem Sie apt-get mit der Option -*-print-uris dazu benutzen, um eine Liste der benötigten Pakete mit der kompletten URL für wget zu erzeugen. Entgegen dem eben vorgestellten Beispiel brauchen Sie hier keine extra Konfigurationsdateien (außer natürlich der Datei /etc/apt/sources.list, welche von apt benötigt wird). Führen Sie die folgenden Kommandos auf dem Rechner aus, auf dem die Pakete später installiert werden sollen. apt-get dist-upgrade apt-get -qq --print-uris dist-upgrade > uris awk ’{print "wget -O " $2 " " $1}’ < uris > /medium/wget-script Drücken Sie „n“ nach dem ersten Kommando und prüfen Sie, daß die Auswahl korrekt ist. Die benötigten Pakete wurden nun zur späteren Installation markiert. In der zweiten Zeile wird mit apt-get und den entsprechenden Optionen eine Liste der zu installierenden Pakete erzeugt und in die Datei uris geschrieben. Das letzte Kommando ergänzt die Liste der Pakete um die nötigen Aufrufe des Kommandos wget. Die Datei /medium/wget-script enthält nun eine Liste mit Kommandos, welche die benötigten Pakete aus dem Netz holen. Sie können dieses jetzt auf dem Medium ausführen: cd /medium sh -x ./wget-script Hierbei ist es unerheblich, ob das Transportmedium sich noch in dem Rechner befindet, auf dem die Pakete installiert werden sollen (was keinen Sinn machen würde, Sie könnten sich den Umweg über wget dann sparen), oder ob Sie das Medium in einem Rechner mit einer besseren Netzanbindung anmelden und dort das Script ausführen. Die Pakete werden lediglich auf das Medium übertragen und nicht installiert. Wenn alle Dateien übertragen wurden, können Sie das Medium zu Ihrem Zielrechner transportieren und die Pakete mit folgendem Kommando installieren: apt-get -o dir::cache::archives="/medium/" dist-upgrade 4.3.6. apt-cache Mit apt-cache können die verschiedensten Abfragen zu den bekannten Paketen (also auch zu den noch nicht installierten) erstellt werden. Dies beschränkt sich nicht nur auf Paketnamen oder die zu einem Paket gehörenden Dateinamen sondern es können auch Informationen zu den Metadaten erfragt werden. Wenn Sie nicht die Option -h oder --help benutzen muß mindestens eines der folgenden Kommandos angegeben werden. add fügt die angegebene Package-Datei dem Package-Cache hinzu. gencaches diese Option bewirkt das gleiche wie apt-get check. Es werden die Source und Package Caches aus den Informationen in /etc/apt/sources.list und /var/lib/dpkg/status erstellt. showpkg diese Option zeigt Informationen über die weiterhin auf der Kommandozeile angegebenen Pakete. Es werden die verfügbaren Versionen der Pakete sowie die gesammten Abhängigkeiten dieser Pakete angezeigt. Hierbei wird zwischen sogenannten „forward“-Dependencies und „reverse“-Dependencies unterschieden. Forward-Dependencies (dies sind die im normalen Sprachgebrauch verwendeten Abhängigkeiten) beziehen sich auf die Pakete die das angefragte Paket benötigt um einwandfrei zu funktionieren. Reverse-Dependecies beschreiben die Pakete die das angefragte Paket benötigen um zu funktionieren. Ein Beispiel: apt-cache showpkg bash gibt folgendes Ergebnis aus: 151 Kapitel 4. Installation weiterer Pakete Package: bash Versions: 2.05a-12(/var/lib/apt/lists/192.168.1.1_home_ftp_debian_dists_sid_ main_binary-i386_Packages)(/var/lib/dpkg/status) 2.05a-11(/var/lib/apt/lists/192.168.1.1_home_ftp_debian_dists_woody_ main_binary-i386_Packages) Reverse Depends: kernel-patch-ltt,bash 2.0 kernel-patch-lkcd,bash 2.0 kernel-patch-kdb,bash 2.0 kernel-patch-acl,bash 2.0 horde2,bash cron-apt,bash 2.03-6 common-lisp-controller,bash 2.04-9 cdcontrol,bash 2.0 bash-doc,bash 2.03-1 bash-builtins,bash 2.05a-12 base-files,bash 2.03-3 txt2regex,bash 2.04 openmosix,bash 2.0 mosix,bash 2.0 mkrboot,bash mason,bash kernel-patch-ulog,bash 2.0 kernel-patch-ttl,bash 2.0 kernel-patch-ltt,bash 2.0 kernel-patch-kiobuf-bigmem,bash 2.0 kernel-patch-kiobuf,bash 2.0 kernel-patch-kdb,bash 2.0 kernel-patch-irc,bash 2.0 kernel-patch-badram,bash 2.0 htmlheadline,bash 2.04-1 horde,bash 2.03-6 gopherweblink,bash gibraltar-bootsupport,bash foomatic-bin,bash 2.05 diffmon,bash 2.0 cron-apt,bash 2.03-6 common-lisp-controller,bash 2.04-9 colorgcc,bash cdcontrol,bash 2.0 bug,bash 2.04-1 bash-doc,bash 2.03-1 bash-builtins,bash 2.05a-11 base-files,bash 2.03-3 Dependencies: 2.05a-12 - base-files (2 2.1.12) libc6 (2 2.2.4-4) libncurses5 (2 5.2.20020112a-1) grep-dctrl (2.05a-11 - base-files (2 2.1.12) libc6 (2 2.2.4-4) libncurses5 (2 5.2.20020112a-1) bash-completion Provides: 2.05a-12 - 2.05a-11 - Reverse Provides: Es müssen also, damit dieses Paket funktioniert, mindestens die unter „Dependencies:“ aufgeführten Pakete installiert sein. Eine weitere wichtige Information sind die „Reverse Depends:“. Dies sind Pakete die von diesem Paket (bash) abhängen. 152 Kapitel 4. Installation weiterer Pakete stats Es wird eine Statistik über den aktuellen Cache ausgegeben. Es sind keine weiteren Argumente notwendig. Folgende Informationen werden ausgegeben: fr@sushi:~$ apt-cache stat Total Package Names : 8953 (358k) Normal Packages: 6872 Pure Virtual Packages: 259 Single Virtual Packages: 176 Mixed Virtual Packages: 115 Missing: 1531 Total Distinct Versions: 9133 (438k) Total Dependencies: 47613 (1143k) Total Ver/File relations: 19322 (309k) Total Provides Mappings: 1889 (37.8k) Total Globbed Strings: 110 (1273) Total Dependency Version space: 179k Total Slack space: 86.3k Total Space Accounted for: 2374k Total Package Names Anzahl der Paketnamen die im Cache gefunden wurden Normal Packages Dies sind Pakete deren Namen in einer Abhängigkeit zu einem anderen Paket stehen, hierunter fällt eine große Zahl der Pakete. Pure Virtual Packages Anzahl der „virtuellen“ Paketnamen im Cache. Dies sind Pakete die ein Paket zur Verfügung stellen, deren Name aber nicht mit diesem zu tun hat, als Beispiel sein hier mail-transport-agent genannt, einige Pakete (beispielsweise exim, qmail und sendmail) stellen das Paket mail-transport-agent zur Verfügung, es gibt aber kein Paket mit dem Namen mail-transport-agent. Single Virtual Packages Dies ist die Anzahl der Pakete die ein virtuelles Paket zur Verfügung stellen, dies aber nur einmalig im Cache auftaucht. Das virtuelle Paket X11-text-viewer wird beispielsweise nur von xless zur Verfügung gestellt. Mixed Virtual Packages Anzahl der Pakete die sowohl als virtuelle als auch als reale Pakete vorhanden sind. debconf ist als reales Paket vorhanden, wird aber auch von debconf-tiny zur Verfügung gestellt. Missing Pakete die in einer Abhängigkeit benannt werden, aber nicht im Cache zu finden sind. Dies kann vorkommen wenn kein Zugriff auf eine komplette Debian Distribution gegeben ist oder wenn Pakete aus der Distribution entfernt wurden. Total Distinct Versions Die Anzahl der Paketversionen im Cache. Diese ist im Normalfall gleich der Anzahl der gesamten Pakete. Wenn jedoch zwei Distributionen (beispielsweise „stable“ und „testing“) benutzt werden, kann es vorkommen das mehrere Versionen eines Paketes verfügbar sind. In diesem Fall kann die Zahl deutlich über der der gesamten Pakete liegen. Total Dependencies Die Anzahl der gesamten Abhängigkeiten zwischen allen Paketen im Cache. Total Ver/File relations Total Provides Mappings Total Globbed Strings Total Dependency Version space Total Slack space Total Space Accounted for dump Zeigt eine kurze Information zu jedem Paket an, dies ist für den normalen Benutzer wenig sinnvoll und ist zur Fehlersuche für Entwickler gedacht. 153 Kapitel 4. Installation weiterer Pakete dumpavail Zeigt eine Liste der verfügbaren Pakete. unmet Zeigt eine Zusammanfassung aller nicht erfüllten Abhängigkeiten. show Hat einen ähnliche Effekt wie das Kommando dpkg --print-avail und zeigt die Paketinformationen für die angegebenen Pakete. search Führt eine Volltextsuche über alle verfügbaren Paketdateien durch. Es können Reguläre Ausdrücke benutzt werden. Es werden die Paketnamen und Beschreibungen nach dem Suchbegriff durchsucht und es wird der Paketname und die Kurzbeschreibung der entsprechenden Pakete ausgegeben. Wenn die Option --full angegeben wird, entspricht die Ausgabe der von show. Mit der Option --names-only wird die Paketbeschreibung nicht durchsucht, die Suche beschränkt sich auf den Paketnamen. Mehrere Suchargumente können angegeben werden und werden dann über eine UND-Verknüpfung ausgewertet. depends Zeigt alle Abhängigkeiten eines Paketes an. Weiterhin werden alle anderen Pakete angezeigt die die geforderten Abhängigkeiten erfüllten können. fr@wasabi@sushi:~$ apt-cache depends bash bash Depends: base-files PreDepends: libc6 PreDepends: libncurses5 Suggests: grep-dctrl Conflicts: <bash-completion> Replaces: bash-doc Replaces: <bash-completion> policy Die Option policy zeigt zu einem Paket die installierte sowie die verfügbaren Versionen aus den erreichbaren Quellen an. fr@nigiri:~$ apt-cache policy bash bash: Installed: 2.05b-5 Candidate: 2.05b-5 Version Table:

      • 2.05b-5 0

500 ftp://ftp.freenet.de sid/main Packages 100 /var/lib/dpkg/status 2.05b-3 0 500 ftp://ftp.freenet.de testing/main Packages 500 ftp://ftp.freenet.de sarge/main Packages 2.05a-11 0 500 ftp://ftp.freenet.de woody/main Packages 154 Kapitel 4. Installation weiterer Pakete pkgnames Zeigt eine Liste aller Paketnamen. Optional kann eine Zeichenkette angegeben werden die als Suchprefix verwendet wird. dotty Dieser Option kann eine Liste von Paketnamen mitgegeben werden. Die Ausgabe erfolgt in einem Format welches vom Programm dotty aus dem Paket GraphVis (http://www.research.att.com/sw/tools/graphviz/) gelesen werden kann. So kann eine grafische Darstellung der Paketabhängigkeiten erstellt werden. Normalerweise werden alle Abhängigkeiten verfolgt, was zu sehr großen Dateien führen kann. Dies kann mit der Option APT::Cache::GivenOnly in der Datei /etc/apt/config deaktiviert werden. 4.3.7. apt-proxy apt-proxy ist ein Cache der zusammen mit APT von allen Debian Systemen aus im Netz genutzt werden kann. Lokale Netzwerke verfügen normalerweise über eine höhere Bandbreite wie für das gesammte Netz nach aussen ins Internet zur Verfügung steht. Durch einen gemeinsam genutzten Cache können bereits auf einem System installierte Pakete auch allen anderen Systemen verfügbar gemacht werden, ohne das diese Pakete nochmals aus dem Internet geholt werden. apt-proxy kann als Cache effizienter mit Debian Paketen umgehen wie beispielsweise Squid. Dies liegt zum einen daran das apt-proxy die Paketdateien auswertet und alte Versionen löscht die nicht mehr benötigt werden. Zum anderen verwendet apt-proxy zur Übertragung von Dateien das Programm rsync, so daß abgebrochene Downloads fortgesetzt werden können. Alternativ können auch die Protokolle HTTP und FTP zum Download genutzt werden. Nach der Installation muss zunächst in der Datei apt-proxy.conf ein gut erreichbarer Debian Server eingetragen werden, von diesem werden dann alle Pakete geholt. Auf alle Clients die den APT Proxy benutzen sollen ist die Konfiguration so anzupassen das der Rechner auf dem apt-proxy installiert ist als Quelle verwendet wird. apt-proxy läuft auf dem Port 9999, die Einträge in der Datei sources.list auf den Clients müssen folgendes Format haben deb http://SERVER:9999/main woody main contrib non-free deb http://SERVER:9999/non-US woody/non-US main contrib non-free deb-src http://SERVER:9999/main woody main contrib non-free deb-src http://SERVER:9999/non-US woody/non-US main contrib non-free Hierbei ist zu beachten das „SERVER“ durch den entsprechenden Rechnernamen/IP Nummer ersetzt wird. Nachdem diese Anpassungen vorgenommen worden sind, wird auf einem der Clients das Kommando apt-get update aufgerufen um auf dem Server die Verzeichnisse zu initialisieren und die Paketlisten verfügbar zu machen. Nun können alle Clients diesen zentralen Dienst transparent nutzen. Wenn bereits auf dem Server ein Verzeichnis mit Debian Paketen vorliegt, so kann dies mittels apt-proxy-import in den Cache von apt-proxy integriert werden. 4.3.8. apt-move apt-move ist ein Shell-Skript mit dem eine Anzahl von lokal vorliegenden Debian Paketen in eine Verzeichnisstruktur verschoben werden kann die wiederrum einem Debian Archiv entspricht. Die Dateien werden dabei in einer Verzeichnisstruktur unterhalb von $LOCALDIR/pool/... abgelegt, die Variable $LOCALDIR kann dabei in der Konfigurationsdatei festgelegt werden. Hauptsächlich wurde apt-move entwickelt um via apt-get aus dem Netz übertragene Dateien aus dem Datei-Cache in ein Debian-Archiv zu übernehmen, die Konfiguration kann jedoch so angepasst werden das jede beliebige Sammlung von Paketen (beispielsweise von CD-ROMs) dem Archiv hinzugefügt werden kann. 155 Kapitel 4. Installation weiterer Pakete Weiterhin besteht die Möglichkeit mittels der Optionen sync und mirror eine Kopie, auch von Teilen, eines Debian Servers zu erstellen. Auch können überflüssige, veraltete Pakete gelöscht werden und es können lokale Packages.gz und Sources.gz Dateien erzeugt werden. apt-move kennt eine ganze Reihe von Kommandos und Optionen: $Id: apt-move,v 1.79 2002/10/23 22:16:33 herbert Exp $ Usage: apt-move [-c conffile] [-d dist] [-fqt] COMMAND Commands: get - update your master files from local apt. getlocal - alias of get. fsck - fix broken repositories, use with caution. move - move cache files into mirror tree. movefile - move files specified on the command line. delete - delete obsolete packages. packages - create new local Packages files. update - alias for ’get move delete packages’. local - alias for ’move delete packages’. localupdate - alias for ’getlocal move delete packages’. mirror - update your local mirror from remote rsync site. sync - same as mirror, but only gets packages that you currently have installed on your system. exclude - prints a list of all packages EXCLUDED from the mirror by the .exclude file (ignores -t). listbin - prints lists of packages which can serve as the input to mirrorbin. Takes the arguments mirror, sync, or repo. listsrc - same as listbin, but lists source packages. mirrorbin - same as mirror, but gets the packages specified on stdin. mirrorsrc - same as mirrorbin, but gets source packages. Options: -c Specify an alternative configuration file. -d Override the DIST setting. -f Override the MAXDELETE setting (use with caution). -q Be quiet; suppress normal output. -t Show what apt-move would do, but do not actually do anything. See the apt-move(8) manpage for further details. Bevor apt-move eingesetzt werden kann, ist die Konfigurationsdatei /etc/apt-move.conf anzupassen. Diese Datei ist, wie alle Konfigurationsdateien auf einem Debian System, recht gut kommentiert. Wichtig ist es die Optionen APTSITES (entsprechend den Einträgen in der Datei /etc/apt/sources.list), LOCALDIR und DIST anzupassen. Diese beschreiben die Server von denen die Dateien geholt werden sollen, die lokalen Bereich in dem die Pakete gespeichert werden sollen und die gewünschte Distribution. Nach der Anpassung dieser drei Optionen wird apt-move zumindest keinen größeren Schaden anrichten....

-). Weitere Anpassungen können später noch vorgenommen werden, beispielsweise ist es sinnvoll nach

einiger Zeit nicht mehr benötigte Dateien zu löschen, dies wird durch setzen der Option DELETE auf yes erreicht. In jedem Fall sollten die ersten Versuche mit apt-move immer den Parameter -t beinhalten, dieser testet nur die Einstellungen und es werden keine Aktionen durchgeführt. Sollen bestimmte Dateien (beispielsweise Kernel-Sourcen) ausgeschlossen werden, so können diese in einer Exclude-Datei festgelegt werden. Ein Beispiel für eine solche Datei findet sich unter /usr/share/doc/apt-move/examples/SAMPLE.exclude. 156 Kapitel 4. Installation weiterer Pakete 4.3.9. apt-ftparchive apt-ftparchive erzeugt Index Dateien die von APT benutzt werden können um auf ein Paketverzeichnis zuzugreifen. Die Funktionalität ist vergleichbar mit der von dpkg-scanpackages und dpkg-scansources und kann diese Programme ersetzen. Die wichtigsten Kombinationen sind: packages binarypath [overridefile [pathprefix]] sources srcpath [overridefile [pathprefix]] contents path generate config [groups] clean config 4.3.10. apt-show-source Dieses Programm vergleicht die APT Listen mit Source Dateien sowie das dpkg Status File und zeigt auf von welchen Paketen höhere Versionsnummer wie bereits installiert verfügbar sind. Um festzustellen welche Version die Sourcen eines Programmes haben, müssen natürlich entsprechende Einträge in der sources.list vorhanden sein. Hierbei ist auch darauf zu achten welche Release (potato, woody usw.) in den jeweiligen Zeilen angegeben ist. fr@wasabi:~$ apt-show-source -p bash Sorry, no newer source package available for bash In diesem Beispiel ist keine aktuellere Version dieses Pakete als Source Paket verfügbar. Zeigt jedoch die „deb-src“ Zeile auf eine ältere Release, so kann durchaus der Fall eintreten das das Source Paket auf einem älteren Stand ist. fr@wasabi:~$ apt-show-source -p bash Inst. Package (Version) | Newest Source Package (Version)


bash (2.05a-12) | bash (2.05a-11) 4.3.11. apt-show-versions Dieses Kommando zeigt die aktuell installierten Pakete, die Version und die Release an. Mittels der Option -p kann nur ein bestimmtes Paket angegeben werden, -r erlaubt die Filterung mittels Wildcard. Die Option -u zeigt alle Pakete die aktualisiert werden können. fr@surimi:~$ apt-show-versions -h Apt-Show-Versions v.0.02 (c) Christoph Martin Usage: apt-show-versions shows available versions of installed packages. Options: -stf|--status-file=<file> Use <file> as the dpkg status file instead of /var/lib/dpkg/status -ld|list-dir=<directory> Use <directory> as path to apt’s list files instead of /var/state/apt/lists/ or /var/lib/apt/lists/ 157 Kapitel 4. Installation weiterer Pakete -p|--package=<package> Print versions for <package>. -r|--regex Read package with -p as regex -u|--upgradeable Print only upgradeable packages -a|--allversions Print all available versions. -b|--brief Short output. -v|--verbose Verbose messages. -h|--help Print this help. fr@surimi:~$ apt-show-versions -r -p kernel* kernel-image-2.4.13-686: No available version kernel-image-2.2.20-udma100-ext3/unstable upgradeable from 2.2.20-6 to 2.2.20-7 kernel-source-2.2.20/testing uptodate 2.2.20-5 kernel-image-2.4.5-686-smp: No available version kernel-headers-2.2.20-udma100-ext3/unstable uptodate 2.2.20-7 kernel-package/unstable uptodate 8.004 4.3.12. auto-apt auto-apt dient zur Installation von Programmen „bei Bedarf“. Dies kann beispielsweise bei der Softwareentwicklung oder auch schon beim einfachen übersetzen eines neuen Kernel sinnvoll sein. Mitunter fehlt auf frisch installierten Debian Systemen noch das Paket bin86 welches für das erzeugen eines Kernels benötigt wird. Um automatisch die fehlenden Pakete zu installieren wird einfach dem Aufruf von make das Kommando auto-apt vorangestellt: auto-apt make bzImage. Werden nun während des Durchlaufes fehlende Programme festgestellt, so ermittelt auto-apt zu welchem Paket diese gehören und installiert die fehlenden Pakete inklusive aller Abhängigkeiten. 4.3.13. apt-listchanges In den meisten Debian Paketen sind sogenannte „changelog“ Dateien enthalten. In diesen dokumentiert der Betreuer eines Paketes die Änderungen zu vorhergehenden Version. Ein Blick in diese Dateien nach einem Update ist bei der Fehlersuche hilfreich wenn Probleme aufgetreten sind. Beispielsweise können in der neuen Version eines Paketes Dateien an einem anderen Ort liegen oder ein Dienst „horcht“ plötzlich auf einem anderen Port. Da diese Änderungen erst nach der Installation bemerkt werden kann es zu unerwünschten Unterbrechungen im Betrieb kommen. Abhilfe schafft hier das Paket apt-listchanges. Dieses zeigt vor der Installation eines Paketes die Veränderungen die im Changelog dokumentiert sind an, der Administrator hat die Möglichkeit den Installationsvorgang an dieser Stelle abzubrechen. fr@wasabi:~# apt-get install libmng1 ... Reading changelogs... Done libmng (1.0.3-4) unstable; urgency=low

  • Build with renamed version of lcms.

-- Luis Arocha <data@debian.org> Mon, 3 Jun 2002 18:27:19 +0100 apt-listchanges: Mailing changelogs to fr Selecting previously deselected package liblcms1-dev. (Reading database ... 115754 files and directories currently installed.) ... 158 Kapitel 4. Installation weiterer Pakete apt-listchanges wird bei der Installation über Debconf konfiguriert, es kann dort eine E-Mailadresse angegeben werden an die die Changelog Informationen gesendet werden. Weiterhin kann bei der KOnfiguration gewählt werden ,ob nach dem Anzeigen des Changelogs die Installation fortgesetzt werden soll oder, (wie in diesem Beispiel, die Installation abgebrochen werden soll. 4.3.14. apt-config MIttels apt-config läßt sich der Inhalt der Datei /etc/apt/config sowie die voreingestellten Werte anzeigen. Weiterhin lassen sich auch einzelne Werte mit diesem Tool setzen. Die Optionen von apt-config lesen sich recht übersichtlich: apt 0.5.4 for linux i386 compiled on Aug 19 2001 01:02:39 Usage: apt-config [options] command apt-config is a simple tool to read the APT config file Commands: shell - Shell mode dump - Show the configuration Options: -h This help text. -c=? Read this configuration file -o=? Set an arbitary configuration option, eg -o dir::cache=/tmp apt-config sollte nicht als Kommando eingesetzt werden, es ist eigentlich als Systemkommando für die Verwendung innerhalb von Installations Skripten vorgesehen. 4.3.15. console-apt Mit Console-Apt oder auch capt können Sie über eine textbasierte Oberfläche, ähnlich wie bei dselect, die Pakete auf Ihrem System verwalten. Abbildung 4-5. capt - Startbild 159 Kapitel 4. Installation weiterer Pakete Sie können capt auch als console-apt oder apt-find aufrufen (apt-find war der Vorgänger von capt). capt kann aber auch apt-get ersetzen. Hierzu wurden alle nötigen Kommandozeilenparameter, die von apt-get bekannt sind, auch in capt umgesetzt. -U, \-upgrade Aktualisiert alle installierten Pakete, von denen eine neuere Version verfügbar ist. -u, \-update Aktualisiert die Liste der verfügbaren Pakete. -i, \-install <package> Installiert die gewünschten Pakete und führt ggf. vorher einen Download durch. -r, \-remove <package> Entfernt Pakete aus dem System. -h, \-help Zeigt eine kurze Hilfe zu den verfügbaren Optionen an. -v, \-version Zeigt die Programmversion (von capt an. Mit diesen Parametern haben Sie also die Möglichkeit, alle Funktionen von apt-get nachzubilden. Doch capt kann natürlich noch mehr. Starten Sie capt ohne Parameter und Sie können nun capt über eine textbasierte Oberfläche bedienen. Die wichtigste Taste (zumindest am Anfang) ist das Fragezeichen (?), mit dem Sie eine Übersicht der Tastaturbelegung aufrufen können. Grundsätzlich ist die Bedienung von capt an die auch bei vielen anderen Programmen bekannten Konventionen angelehnt. Wenn Sie sich ein wenig mit more oder vi auskennen, werden Sie sich auch schnell in capt zurechtfinden. Hier eine Übersicht der Tastaturbelegung von capt: RETURN Zeigt die Paketabhängigkeiten (dependencies) an. d Zeigt die Paketbeschreibung (description) an. s Ändert die Sortierung in der Anzeige. Sie können zwischen einer Sortierung nach Namen, nach Sektion und Namen, nach Archivgröße, nach installierter Größe und nach Status und Namen wählen. / Suchen nach Programmnamen. r Setzt die beim Suchen markierten Einträge zurück. n Springt zum nächsten Eintrag, der dem Suchbegriff entspricht. + oder SPACE Markiert ein Paket zur Installation/Upgrade. 160 Kapitel 4. Installation weiterer Pakete - oder TAB Markiert ein Paket zum Löschen. U Aktualisiert alle älteren Pakete (Upgrade). c oder BACKSPACE Vervollständigt alle noch offenen Installations- oder Löschvorgänge, bei denen zuvor Probleme aufgetreten sind. u Aktualisiert die Liste der verfügbaren Pakete. R Liste den Cache für Apt neu ein. j oder PFEIL-UNTEN Bewegt den Auswahlbalken zum nächsten Eintrag. k oder PFEIL-OBEN Bewegt den Auswahlbalken zum vorherigen Eintrag. ^ oder g Springt an den Anfang der Liste. $ oder G Springt ans Ende der Liste. CTRL+F oder PAGE-UP Springt eine Bildschirmlänge nach oben. CTRL+B oder PAGE-DOWN Springt eine Bildschirmlänge nach unten. [ Scrollt in der Paketbeschreibung nach oben. ] Scrollt in der Paketbeschreibung nach unten. ? Ruft die Hilfeseiten auf. q Beendet das Programm beziehungsweise verläßt die Hilfeseite. 4.3.16. aptitude aptitude verfolgt eine etwas andere Philosophie wie dselect. Es wird streng nach installierten, nicht installierten, virtuellen Paketen und Paketen mit einer neueren Version unterschieden. Innerhalb dieser vier Gruppen werden alle Pakete in einer Baumstruktur dargestellt, die auch die Verzeichnisstruktur innerhalb des Debian Archives darstellt, also beispielsweise: main/admin oder non-US/non-free. 161 Kapitel 4. Installation weiterer Pakete Sie können einzelne Teile der Struktur aufklappen und in den einzelnen Bereichen Pakete auswählen. Abbildung 4-6. aptitude Auch bei aptitude decken sich die meisten Tastaturbelegungen mit dselect beziehungsweise capt. PFEIL-UNTEN Bewegt den Auswahlbalken zum nächsten Eintrag. PFEIL-OBEN Bewegt den Auswahlbalken zum vorherigen Eintrag. RETURN Klappt ein Verzeichnis auf/zu. ^ Springt zum Verzeichnis zu dem das Paket gehört. + Markiert ein Paket zur Installation. Bitte beachten Sie, daß aptitude momentan noch nicht die Abhängigkeiten prüft! Diese Funktion ist noch nicht realisiert. - Markiert ein Paket zum Löschen. Momentan ist es nicht möglich, das Paket zusammen mit den Konfigurationsdateien über aptitude zu löschen (purge). i Zeigt die Beschreibung des Paketes an. d Zeigt die Abhängigkeiten des Paketes an. 162 Kapitel 4. Installation weiterer Pakete v Zeigt die verfügbaren Versionen des Paketes an. u Aktualisiert die Liste der verfügbaren Pakete. g Startet die Installation der ausgewählten Pakete. Die Bedeutung der verschiedenen Hintergrundfarben innerhalb des Programms: schwarz „Normalzustand“ eines Paketes. Beim nächsten Installationsdurchlauf wird dieses Paket nicht verändert. Fett geschriebene Pakete sind bereits installiert. rot Paket ist in einem unbrauchbaren Zustand oder kann nicht installiert werden. blau Paket wird mit einer neueren Programmversion aktualisiert. weiß Dieses Paket könnte aktualisiert werden, es wurde aber auf dem aktuellen Stand fixiert (hold). grün Paket wird installiert. magenta Paket wird gelöscht. 4.3.17. gnome-apt Dieses Programm passt sich mit seiner GTK+-basierten Oberfläche perfekt in den aktuellen Debian GNOME Desktop ein. Auch mit gnome-apt können Sie alle wichtigen Aufgaben erfüllen, die bei der Paketverwaltung anfallen. 163 Kapitel 4. Installation weiterer Pakete Abbildung 4-7. GNOME apt Sehen wir uns zunächst die Menüs der Reihe nach an. „File“ – hier finden sich zwei Einträge zur Konfiguration des Programms sowie der Punkt „Quit“, welcher das Programm beendet. „General Preferences“ bietet die Möglichkeit, die Paketbeschreibung im Hauptfenster des Programms auszublenden („Show package details in main window“). Sie haben so mehr Platz, um die Paketliste mit den verschiedenen Kategorien anzeigen zu lassen. Weiterhin können Sie hier die Reihenfolge der Spalten in der Paketliste verändern. Interessanter ist der zweite Eintrag „Sources“. Hier können Sie die Quellen angeben, von denen aus die Paketinformationen sowie die eigentlichen Debian-Pakete installiert werden sollen. An dieser Stelle können Sie zum ersten Mal Abschied vom Texteditor nehmen, um die Datei /etc/apt/sources.list zu bearbeiten. Abbildung 4-8. GNOME apt - source 164 Kapitel 4. Installation weiterer Pakete Hinter der Schaltfläche „Add source“ verbirgt sich ein Assistent, der Sie durch die notwendigen Einstellungen führt. Ein Bild sagt wie so oft mehr als viele Worte, hier ein Beispiel für die Konfiguration einer neuen Installationsquelle: Abbildung 4-9. GNOME apt - source Im ersten Dialog können Sie die gewünschte Version von Debian GNU/Linux auswählen. Normalerweise wird dies „stable“ für die stabile Version sein. Wenn Sie mit der Entwicklerversion experimentieren wollen, wählen Sie „unstable“, und wenn die Ihnen vorliegenden Pakete in kein Schema passen, steht Ihnen auch noch „other“ zur Auswahl. 165 Kapitel 4. Installation weiterer Pakete Abbildung 4-10. GNOME apt - source Geben Sie hier nun die Adresse an, unter der die Pakete zu finden sind. Dies bezieht sich auf den Punkt im Verzeichnisbaum, an dem sich das Verzeichnis „dists“ befindet. Sie können auch einen bestehenden Eintrag aus der Liste wählen. 166 Kapitel 4. Installation weiterer Pakete Abbildung 4-11. GNOME apt - source Wählen Sie hier nun eine oder mehrere Optionen aus. Sie bestimmen hier, aus welchen Bereichen der Distribution Pakete installiert werden sollen. Die neue Quelle erscheint danach in der Liste und kann über „Remove source“ wieder entfernt werden oder über „Edit source“ nachträglich verändert werden. Allein diese Funktion wird einigen Nutzern so gut gefallen, daß Sie daraufhin nicht mehr auf gnome-apt verzichten wollen... Hinter dem zweiten Menüpunkt „Actions“ finden Sie die eigentlichen Funktionen, die die notwendigen Aktionen auslösen, die Sie in der Paketliste eingestellt haben. „Update“ liest die Paketdateien neu ein und aktualisiert die Übersicht. Falls die Dateien nicht auf einem lokalen Medium vorliegen (CD-ROM oder Festplatte), werden diese per ftp oder http-Protokoll vom angegebenen Server geholt. „Complete run“ installiert die ausgewählten Pakete beziehungsweise entfernt die nicht mehr gewünschten Pakete aus dem System. „Mark upgrades“ entspricht einem apt-get upgrade und markiert alle neuen Pakete, so daß diese beim nächsten Anwählen von „Complete run“ aktualisiert werden. „Mark smart upgrade“ hingegen dient zur Aktualisierung eines Debian-Systems auf die nächste Version. Dies entspricht einem apt-get dist-upgrade. „Package“ – hier ist der wichtigste Menüpunkt sicherlich „Search“. Hierunter verbirgt sich ein recht mächtiges Werkzeug, um aus der umfangreichen Liste einzelne Pakete zu finden. 167 Kapitel 4. Installation weiterer Pakete Abbildung 4-12. GNOME apt - suchen Beachten Sie, daß hierbei nicht nur nach Namen von Paketen gesucht wird, sondern auch die Paketbeschreibungen sowie alle anderen verfügbaren Informationen durchsucht werden. Unix-Kundige erreichen sowas auch mit einem geschickten grep auf die passenden Dateien, aber hier steht Ihnen diese Funktion direkt zur Verfügung. Die weiteren Einträge im Menü „Package“ ändern den Status eines Paketes, dies läßt sich aber auch mit einem Mausklick in der Paketliste in der passenden Spalte erreichen. Das nächste Menü – „View“ – erlaubt Ihnen, auf vielfältige Weise die Anzeige der Paketliste zu verändern. Der erste Eintrag „Details“ entspricht der Anzeige der Paketinformationen im Hauptfenster und wird nur benötigt, falls Sie dieses in den Einstellungen für das Hauptfenster ausgeschaltet haben. Hinter dem Menüpunkt „Columns“ können Sie wählen, welche Spalten im Hauptfenster angezeigt werden sollen. Am spannendsten sind die letzten beiden Einträge: hier können Sie sehr detailliert beeinflussen, in welcher Reihenfolge die Pakete in der Paketliste angezeigt werden sollen. Mittels „Group“ beeinflussen Sie die Anzeige der gesamten Pakete. Sie können hier zwischen einer alphabetischen Sortierung, nach Sektion, nach Priorität oder nach Status wählen. Die Sortierung nach Sektion wird Ihnen von dselect her bekannt vorkommen. Dabei werden die Pakete nach ihrer Zugehörigkeit, zum Beispiel „admin“ oder „x11“, angezeigt. Eine Sortierung nach Status wird Ihnen im allgemeinen lediglich die installierten und die noch nicht installierten Pakete anzeigen, also zwei Gruppen. Weiterhin lassen sich die Pakete nach Priorität anzeigen, hierbei wird unterschieden in „Extra“, „Important“, „No version available“, „Optional“, „Required“ sowie „Standard“ Der Menüpunkt „Order“ dient der Sortierung innerhalb der eben beschriebenen Gruppen, auch hier können Sie wieder zwischen den oben genannten vier Varianten wählen. Die Einträge im Menü „Advanced“ sind momentan noch ohne Funktion, hier können Sie später Paketlisten imund exportieren. Im Menü „Help“ verbergen sich allgemeine Informationen zu gnome-apt (Eintrag „About...“) sowie eine Übersicht über die Bedeutung der verwendeten Symbole: 168 Kapitel 4. Installation weiterer Pakete Abbildung 4-13. GNOME apt - Symbole Sie werden gnome-apt normalerweise zur Installation neuer Pakete auf Ihrem System einsetzen. Wählen Sie hierzu im Menü „Actions“ den Eintrag „Update“, um die Paketinformationen zu aktualisieren. Danach wählen Sie die gewünschten Pakete aus, hier am Beispiel von 2utf gezeigt. Abbildung 4-14. GNOME apt 169 Kapitel 4. Installation weiterer Pakete Sie können natürlich noch weitere Pakete auswählen, dies soll lediglich ein einfaches Beispiel sein. Wenn Sie lediglich dieses eine neue Paket installieren möchten, wählen Sie nun aus dem Menü „Action“ den Eintrag „Complete run“ aus. Sie bekommen noch einmal angezeigt, welche Aktionen nun durchgeführt werden, mit einem Mausklick auf „OK“ wird das gewünschte Paket installiert. Abbildung 4-15. GNOME apt - Installation Wenn Sie auch die Pakete, die seit der letzten Installation auf dem Server aktualisiert wurden, auf Ihrem System aktualisieren möchten, wählen Sie vor der Installation aus dem Menü „Action“ noch den Eintrag „Mark upgrades“ aus. 170 Kapitel 4. Installation weiterer Pakete Abbildung 4-16. GNOME apt - Installation 4.4. APT Pinning Eine besondere Stärke des Debian Paketmanagements ist das unterschiedliche Release Stände verwendet werden können. Hierzu sind zumindest zwei Releases (beispielsweise „woody“ und „testing“) mit entsprechenden Einträgen in der Datei /etc/apt/sources.list anzugeben. Nun kann mittels apt-get --target-release der gewünschte Release Stand für ein Paket gewählt werden. Sinnvoll ist dieses Feature leider nur mit zwei Releases einsetzbar, werden drei Debian Releases (beispielsweise zusätzlich „testing“) oder aber eine Nicht-Debian Paketquelle gemischt, so kommt es zu seltsamen Ergebnissen. Die Lösung für dieses Problem ist eine Erweiterung der Datei /etc/apt/preferences. Hier zunächst ein Beispiel für eine sinnvolle /etc/apt/preferences Datei, auf den meisten Systemen wird diese Datei nicht existieren (sie wird auch nicht zwingend benötigt) und muss daher neu angelegt werden.

  • Track stable:

Explanation: see http://www.argon.org/~roderick/apt-pinning.html Package: * Pin: release o=Debian,a=stable Pin-Priority: 900 Package: * Pin: release o=Debian,a=testing Pin-Priority: 400 Package: * Pin: release o=Debian,a=unstable Pin-Priority: 300 Package: * Pin: release o=Debian 171 Kapitel 4. Installation weiterer Pakete Pin-Priority: -1

  • Track testing:

Explanation: see http://www.argon.org/~roderick/apt-pinning.html Package: * Pin: release o=Debian,a=testing Pin-Priority: 900 Package: * Pin: release o=Debian,a=unstable Pin-Priority: 300 Package: * Pin: release o=Debian Pin-Priority: -1 Bereits beim einmaligen Aufruf von apt-get kann mittels der Option -t der Wert für „APT::Default-Release“ gesetzt werden. Diese Einstellung gilt jedoch lediglich für diesen einen Aufruf von apt-get. Beispiel: apt-get --t unstable install paketname. Dies kann durchaus ein sehr nützliches Feature sein, kann sich aber in anderen Fällen auch problematisch auswirken. Die gute Seite: Sind in der sources.list die Releases „testing“ und unstable definiert und in der Datei apt.conf ist der Wert für APT::Default-Release auf „testing“ gesetzt, so ergeben sich folgende Prioritäten für das Paket „foo“: release version priority no -t switch -t unstable testing 1.1 990 500 unstable 1.2 500 990 Ist das Paket „foo“ nicht installiert und es wird apt-get install foo aufgerufen, so wird die Version 1.1 aus „testing“ installiert, da diese die höchste Priorität hat. Mittels apt-get -t unstable install foo kann gezielt die Version 1.2 aus „unstable“ installiert werden, da für diesen einen Aufruf von apt-get die Priorität erhöht wird. 4.5. dpkg dpkg ist die Basis der Debian Paketverwaltung. Mit diesem Programm kommen Sie nur in seltenen Fällen in Berührung, meist werden Sie Frontends wie APT benutzen. Hier trotzdem einigen nützliche Beisþiele. 4.5.1. -l Mit der Option -l können die tatsächlichen Paketnamen ermittelt werden. Diese weichen häufig von den eigentlichen Befehlen ab. wasabi:~$ dpkg -l mozilla* Gewünscht=Unbekannt/Installieren/R=Entfernen/P=Säubern/Halten | Status=Nicht/Installiert/Config/U=Entpackt/Fehlgeschl. Konf./Halb install. |/ Fehler?=(keiner)/Halten/R=Neuinst. notw/X=beides (Status, Fehler: GROß=schlecht) ||/ Name Version Beschreibung +++-==============-==============-============================================ ii mozilla 1.0.0-1 Mozilla Web Browser - dummy package ii mozilla-browse 1.0.0-1 Mozilla Web Browser - core and browser rc mozilla-browse 0.0.20020226.1 An Open Source WWW browser for X and GTK+ (C ii mozilla-browse 0.0.20020610.0 An Open Source WWW browser for X and GTK+ (C ii mozilla-chatzi 1.0.0-1 Mozilla Web Browser - irc client pn mozilla-chatzi <keine> (keine Beschreibung vorhanden) 172 Kapitel 4. Installation weiterer Pakete pn mozilla-chatzi <keine> (keine Beschreibung vorhanden) pn mozilla-cvs <keine> (keine Beschreibung vorhanden) pn mozilla-cvs-de <keine> (keine Beschreibung vorhanden) ii mozilla-dev 1.0.0-1 Mozilla Web Browser - development files un mozilla-dmotif <keine> (keine Beschreibung vorhanden) ii mozilla-dom-in 1.0.0-1 A tool for inspecting the DOM of pages in Mo ii mozilla-dom-in 0.0.20020610.0 A tool for inspecting the DOM of pages in Mo ii mozilla-js-deb 1.0.0-1 JavaScript debugger for use with Mozilla pn mozilla-js-deb <keine> (keine Beschreibung vorhanden) rc mozilla-locale 0.9.9-3 Mozilla German Language/Region Package. pn mozilla-locale <keine> (keine Beschreibung vorhanden) pn mozilla-locale <keine> (keine Beschreibung vorhanden) ii mozilla-mailne 1.0.0-1 Mozilla Web Browser - mail and news support pn mozilla-mailne <keine> (keine Beschreibung vorhanden) pn mozilla-mailne <keine> (keine Beschreibung vorhanden) ii mozilla-psm 1.0.0-1 Mozilla Web Browser - Personal Security Mana pn mozilla-psm-cv <keine> (keine Beschreibung vorhanden) ii mozilla-psm-sn 0.0.20020610.0 PSM - Personal Security Manager for Mozilla un mozilla-smotif <keine> (keine Beschreibung vorhanden) pn mozilla-snapsh <keine> (keine Beschreibung vorhanden) pn mozilla-snapsh <keine> (keine Beschreibung vorhanden) ii mozilla-xmlter 1.0.0-1 Mozilla Web Browser - XML enabled pn mozilla-xmlter <keine> (keine Beschreibung vorhanden) pn mozilla-xmlter <keine> (keine Beschreibung vorhanden) Problematisch ist hierbei das der Name des Paketes abgeschnitten wird, dies kann durch setzen der Variablen COLUMNS verändert werden: COLUMNS=132 dpkg -l mozilla*. 4.5.2. -S Mit der Option -S kann ermittelt werden zu welchem Paket eine Datei gehört. Dies trifft lediglich auf bereits installierte Pakete zu. Eine Suche in nicht installierten Paketen ist auf diesem Wege nicht möglich. fr@wasabi:~$ dpkg -S gdm.conf gdm: /etc/gdm/factory-gdm.conf gdm: /etc/gdm/gdm.conf fr@wasabi:~$ dpkg -S /etc/gdm/gdm.conf gdm: /etc/gdm/gdm.conf Hierbei kann das weglassen oder hinzufügen des Pfades zu der gesuchten Datei zu unterschiedlichen Ergebnissen führen. 4.5.3. --force-confnew Sollte ein mal aus Versehen eine der Konfigurationsdateien verschwunden sein oder eine andere wichtige Datei fehlen, so kann ein komplettes Paket einfach erneut installiert werden. Hierzu ist zunächst das betroffene Paket zu besorgen, beispielsweise mit apt-get -d install paket. Nun kann das Paket installiert werden, die Option --force-confnew überschreibt dabei alle Konfigurationsdateien: dpkg -i --force-confnew /var/cache/apt/archives/paket.deb. 173 Kapitel 4. Installation weiterer Pakete 4.5.4. dpkg-scanpackage Pakete die aus dem Internet geholt wurden und in irgendeinem Verzeichnis auf der Festplatte schlummern lassen sich mit den bisher beschriebenen Methoden nur mühsam installieren. Eleganter wäre es auch diese Pakete in die sources.list einzubinden. Doch leider scheitert dies an der fehlenden Datei Packages.gz. Diese Datei kann mit dem Programm dpkg-scanpackage erzeugt werden. Die Datei Packages.gz enthält Informationen darüber, welche Pakete sich in diesem Verzeichnis befinden. Mit dem Kommando dpkg-scanpackages ./ /dev/null | gzip > Packages.gz, welches direkt in dem Verzeichnis aufgerufen wird in dem sich die Pakete befinden, läßt sich diese Datei erzeugen. Wenn weitere oder aktualisierte Pakete in diesem Verzeichnis abgelegt werden muß das Kommandos natürlich erneut aufgerufen werden. Wenn die Pakete auf dem System im Verzeichnis /home/ftp/meinepakete/ abgelegt sind, lautet der Eintrag in der Datei /etc/apt/sources.list: deb file:/home/ftp/meinepakete ./ Der Pfad ist den lokalen Gegebenheiten anzupassen. 4.5.5. dpkg-scansources Natürlich ist es nicht nur möglich für Binärpakete entsprechende Package Dateien zu erzeugen, dies kann auch für die Source Pakete geschehen. Es werden zunächst die drei, den Binärpaket zugehörigen, Sourcedateien mit den Endungen .orig.tar.gz, .dsc und .diff.gz benötigt. Diese werden in einem eigenen Verzeichnis abgelegt. Die Programme zur Verwaltung von Debian Paketen greifen bei Source Paketen auf die Datei Sources.gz zu. Diese kann mit dem Kommando dpkg-scansources ./ | gzip > Sources.gz erzeugt werden. Hierbei ist zu beachten das dpkg-scansources kein Override-File benötigt. Die Angabe „/dev/null“ muss hierbei also entfallen. 4.6. netselect Debian GNU kann sehr komfortabel mittels apt-get und entsprechenden Einträgen in der Datei sources.list über das Internet aktualisiert werden. Der Zugriff auf die via HTTP oder FTP verfügbaren Debian-Server ist dabei unterschiedlich schnell. Natürlich möchte man einen netzwerktechnisch besonders gut erreichbaren Server zur Installation nutzen, doch welcher ist das...? Hier hilft das Paket netselect. netselect prüft aus der Liste der Debian Mirrors die Verfügbarkeit und die Übertragungsrate jedes einzelnen Servers. Abschliessend wird der am besten erreichbare Server ausgegeben. Anhand dieser Angaben kann ein Eintrag in der Datei sources.list erfolgen. Eine detailierte Statistik aller angefragten Server kann mit der Option -vv ausgegeben werden. Weiterhin ist es möglich auf der Kommandozeile nur eine Auswahl von Servern anzugeben, aus diesen wird dann der schnellste ermittelt. fr@sushi:~$ netselect ftp.debian.org ftp.de.debian.org ftp.fr.debian.org 0 ftp.debian.org fr@sushi:~$ netselect -vv ftp.debian.org ftp.de.debian.org ftp.fr.debian.org Running netselect to choose 1 out of 3 addresses. .............................. ftp.debian.org 0 ms 2 hops 90% ok ( 9/10) [ 0] ftp.de.debian.org 0 ms 2 hops 90% ok ( 9/10) [ 0] ftp.fr.debian.org 0 ms 2 hops 90% ok ( 9/10) [ 0] 0 ftp.debian.org 174 Kapitel 4. Installation weiterer Pakete Ab der Version 0.3 von netselect ist das Kommando netselect-apt im Paket enthalten. Als Parameter kann die gewünschte Release („potato“, „woody“, „sid“ usw.) angegeben werden. netselect-apt holt zunächst die Liste aller Debian Mirrors, ermittelt den schnellsten Server und erzeugt (Achtung: im aktuellen Verzeichnis!) eine entsprechende Datei sources.list. fr@sushi:~$ netselect-apt woody Retrieving the list of mirrors from www.debian.org... --16:09:46-- http://www.debian.org/mirror/mirrors_full => ‘mirrors_full’ ...(weitere Aktivitäten) Writing the sources.list in the current directory. Done. fr@sushi:~$ ls -l sources.list -rw-rw-r-- 1 fr fr 545 Mai 23 2002 sources.list Die so entstandene Datei kann nun an die bestehende sources.list angehängt werden oder diese komplett ersetzen. 4.7. apt-spy apt-spy dient zur automatischen Erzeugung einer sources.list für apt. Hierzu wird aus dem Netz die Datei ftp://ftp.us.debian.org/debian/README.mirrors geholt und auf Einträge für Debian Mirror-Server hin untersucht. Alle diese Server werden hinsichtlich Antwortzeit und Bandbreite getestet. Die drei am besten zu erreichenden Server, dies müssen nicht zwingend die geographisch am nächsten gelegenen Server sein, werden dann in die Datei /etc/apt/sources.list aufgenommen. 4.8. deborphan deborphan ist ein Programm, das Pakete auf einem Debian-/GNU System überprüft. Wird ein Paket gefunden von dem keine anderen Pakete abhängig sind, so wird der Name ausgegeben. Dies ist hauptsächlich sinnvoll um installierte Bibliotheken zu finden die nicht mehr benötigt werden. surimi:~# deborphan libxosd0 libwww0 libgsm1 libqxt0 libwnck4 libavifile0.6 lapack libzvt2-0 libid3-3.7-13 libgtop2 libflac1 libnautilus0 libpanel-applet2-0 libstdc++2.10 Die angezeigten Paketen können nun mit den üblichen Tools entfernt werden. Wenn die Liste zunächst genau kontrolliert wurde (um zu verhindern das noch benötigte Pakete versehentlich gelöscht werden), können die 175 Kapitel 4. Installation weiterer Pakete nicht benötigten Pakete mit dpkg --purge ‘deborphan‘ oder dpkg --purge ‘deborphan --guess-all‘ gelöscht werden. Es stehen weiterhin zwei Frontends für deborphan zur Verfügung. Das Programm orphaner läßt Sie „rekursiv“ Pakete entfernen. Abbildung 4-17. orphaner Mit editkeep kann verwendet werden, um eine Liste der Pakete zu erstellen die nicht mehr von deborphan angezeigt werden sollen. 176 Kapitel 4. Installation weiterer Pakete Abbildung 4-18. editkeep 4.9. debfoster debfoster entfernt automatisch nicht zwingend auf dem System benötigte Pakete. Hierzu wird eine Liste aller Pakete welche zur Installation ausgewählt wurden erstellen. In dieser Liste sind keine Pakete aufgeführt die aufgrund einer Abhängigkeit zu einem Paket installiert wurden. debfoster kann nach jedem Start von dpkg oder apt aufgerufen werden um nicht länger benötigte Pakete aus dem System zu entfernen. debfoster erfordert zunächst einen höheren Aufwand nach dem ersten Start. Es wird eine Liste aller Pakete definiert, die Antworten werden gespeichert, so daß beim nächsten Start nur bei veränderten Paketen nachgefragt wird. gnome-office is keeping the following 24 packages installed: abiword-gnome bonobo-conf dia-common dia-gnome evolution ganso gnucash gnumeric gtkhtml guile1.4-slib libbonobo-conf0 libcamel0 libdate-manip-perl libfinance-quote-perl libgnome-pilot1 libgtkhtml-data libguppi16 libgwrapguile1 libhtml-tableextract-perl libole2-0 libpisock4 libunicode0 mrproject slib Keep gnome-office? [Ynpsiuqx?], [H]elp: Y nautilus1.1 is keeping the following 10 packages installed: libeel2-1 libeel2-data libgail-common libgail13 libgail15 libgnome-desktop-0 libgtkhtml2-0 libnautilus1.1-2 nautilus1.1-data nautilus1.1-gtkhtml Keep nautilus1.1? [Ynpsiuqx?], [H]elp: Y aptconf is keeping the following 11 packages installed: configlet-frontends gnome-sudo libxml-grove-perl libxml-perl 177 Kapitel 4. Installation weiterer Pakete python-configlet python-gdk-imlib python-glade python-gnome python-gtk python-xml python2.1-xml Keep aptconf? [Ynpsiuqx?], [H]elp: Weiterhin läßt sich debfoster über die Kommandozeile steuern. Somit lassen sich viele Aktionen automatisieren. Usage: debfoster [-ck FILE] [-adefhinopqrsvV] package1 package2- Installs package1, deinstalls package2 -v, --verbose Be a loudmouth -V, --version Show version and copyright information -h, --help Show this message -q, --quiet Silently build keeper file -f, --force Force system to conform to keeper file -m, --mark-only Do not install or delete packages -u, --upgrade Try to upgrade dependencies -c, --config FILE Specify configuration file -k, --keeperfile FILE Specify keeper file -n, --no-keeperfile Don’t read keeper file -i, --ignore-default-rules Ignore default rules -a, --show-keepers Show packages on keeper list -s, --show-orphans Show orphaned packages -d, --show-depends PACKAGE Show all depends of PACKAGE -e, --show-dependents PACKAGE Show dependents of PACKAGE -p, --show-providers PACKAGE Show packages providing PACKAGE -r, --show-related PACKAGE Show packages brought in by PACKAGE -t, --use-tasks Make tasks visible as packages -o, --option OPT=VAL Override any configuration option See also: debfoster(8) debfoster 2.5 -- Copyright (C) 2000,2001 Wessel Dankers. Distributed under the GNU General Public License. 4.10. task-Pakete Die Auswahl aus einigen tausend Debian GNU/Linux-Paketen ist gerade für den Einsteiger nicht einfach. Aber auch Profis verlieren in der Masse der Pakete leicht den Überblick. Wer nicht zu jedem Paket die Beschreibung lesen und anhand dieser entscheiden will, ob ein Paket installiert werden soll oder nicht, kann sich in die Hände der Debian-Entwickler begeben und bereits sorgfältig zusammengestellte Paketgruppen installieren. Es stehen mittlerweile eine ganze Reihe solcher task- Pakete zur Verfügung. Alle diese Pakete beginnen im Paketnamen mit task-, so daß Sie diese beispielsweise in dselect leicht heraussuchen (mit der Taste / ) und installieren können. task- Pakete stehen in verschiedenen Bereichen der Debian GNU/Linux-Distribution zur Verfügung. Anhand des Bereiches und des Namens läßt sich schon der Anwendungsbereich erkennen. Im Bereich net finden sich die Pakete task-dialup, task-dialup-isdn, task-gnome-net und task-samba. Alle diese Pakete beinhalten eine Auswahl von nützlichen Paketen im Bereich Netzwerk, hierzu gehören auch Netzwerkverbindungen über analoge oder digitale (ISDN) Telefonverbindungen. Wenn Sie ein solches Paket installieren, hier zum Beispiel das Paket task-dialup-isdn, werden eine ganze Reihe weiterer Pakete ausgewählt und einige andere zur Installation vorgeschlagen. Benutzen Sie hierzu zunächst einmal dselect: dselect - recursive package listing mark:+/=/- verbose:v help:? EIOM Pri Section Package Description _* Opt net task-dialup- Dialup utilities 178 Kapitel 4. Installation weiterer Pakete _* Opt net task-dialup Dialup utilities _* Xtr net isdnutils ISDN utilities _* Xtr net diald dial on demand daemon for PPP and SLIP. _* Xtr admin dialdcost Cost estimation and X Control panel for DIALD _* Opt mail fetchmail POP2/3, APOP, IMAP mail gatherer/forwarder _* Opt web junkbuster The Internet Junkbuster! _* Xtr web wwwoffle World Wide Web OFFline Explorer __ Xtr news leafnode NNTP server for small leaf sites _* Opt news inn News transport system ‘InterNetNews’ by the ISC a __ Xtr news cnews Simple News Server for Usenet news. __ Opt non-free diablo News transport system without reader support. _* Opt net lftp Sophisticated command-line FTP/HTTP client progra _* Opt admin suidmanager Manage File Permissions __ Xtr comm mgetty Smart Modem getty replacement __ Xtr net isdnbutton Start and Stop ISDN connections and display statu __ Opt interpre python-tk Writing Tk applications with Python (Tkinter). __ Opt web htdig WWW search system for an intranet or small intern _* Opt news inewsinn NNTP client news injector, from InterNetNews (INN __ Opt news innfeed This is the new INN feeder program ‘innfeed.’ Wenn Sie mit der Auswahl einverstanden sind, übernehmen Sie die Vorgaben einfach mit der Eingabetaste. Sie können aber auch weitere Pakete auswählen, nützlich ist beispielsweise das Paket isdnbutton. Neben der Auswahl dieser task- Pakete via dselect oder Apt steht mittlerweile auch ein spezielles Programm zur Verfügung, welches sich speziell der task- Pakete annimmt: taskselect. 4.10.1. tasksel Mit dem Programm tasksel können Sie auf alle verfügbaren task-Pakete zugreifen. Nach dem Start bekommen Sie eine Liste der verfügbaren Pakete angezeigt. Sie können mit den Cursortasten zwischen den Paketen wechseln und mit der Taste ENTER oder SPACE ein Paket zur Installation auswählen. Nochmaliges Drücken der Taste hebt diese Auswahl wieder auf. Abbildung 4-19. tasksel Mit der Taste a wählen Sie alle verfügbaren Task-Pakete aus, mit der Taste n wird die Auswahl für alle bereits ausgewählten Pakete umgekehrt. Über die Taste i bekommen Sie weitere Informationen zu dem angewählten Paket, dort werden Ihnen auch die zu diesem Paket gehörenden, weiteren Pakete angezeigt. Die Taste q beendet das Programm. 179 Kapitel 4. Installation weiterer Pakete tasksel ist sehr nützlich wenn Sie sich nicht lange Gedanken über jedes einzelne zu installierende Paket machen wollen. Viele Anwender kennen sicher noch eine ähnliche Funktion aus der Installation von Debian 2.1. Dort konnte vor dem ersten Start von dselect auch eine solche Vorauswahl getroffen werden. Leider kam man zu einem späteren Zeitpunkt nie wieder an diese Stelle... Dieser Mangel wurde nun mit tasksel behoben. 4.11. Weitere wichtige Pakete Im folgenden werden wir einige Programme vorstellen, die aus unserer Sicht auf keinem System fehlen sollten. Die Auswahl ist sicherlich Geschmacksache und läßt sich noch weiter fortsetzen. Sie werden im Laufe der Zeit sicher Ihre eigenen Lieblingstools finden. 4.11.1. base-config Mittels base-config können die bereits bei der Installation vorgenommenen Einstellungen für die Zeitzone sowie die APT-Quellen zur Installation weiterer Pakete neu festgelegt werden. Abschliessend kann direkt ein Frontend zur Paketauswahl (dselect, aptitude, taskselect o.ä., je nachdem welche Programme bereits installiert wurden) aufgerufen werden. Alternativ können für diese beiden Schritte (Zeitzone, Paketquellen) auch die Programme tzconfig und apt-setup aufgerufen werden. 4.11.2. modconf Mittels modconf können zusätzliche Module in den Kernel geladen werden. modconf stellt ein einfaches Interface für die Kommandozeile Tools insmod bzw. modprobe dar. modprobe wird ohne weitere Parameter aufgerufen. Abbildung 4-20. Module installieren - modconf Wie schon bei der Installation des Basissystems ist es notwendig das zur Hardware passende Modul zu ermitteln und ggf. notwendige Parameter anzugeben. 180 Kapitel 4. Installation weiterer Pakete 4.11.3. shadowconfig Hiermit kann die Verwendung von Shadow-Passwörter ein- und ausgeschaltet werden. Auch diese Option konnte bereits bei der Systeminstallation gewählt werden. nigiri:~# shadowconfig Usage: /sbin/shadowconfig on | off Als einzige Option kann diesem Kommando der Wert „on“ oder „off“ übergeben werden. Zubeachten ist das beim aus- und wieder einschalten dieser Option alle Informationen über den Gültigkeitszeitraum eines Passwortes verloren gehen. 4.11.4. tzconfig Mit dem Kommando tzconfig kann die Zeitzone erneut eingestellt werden. Hier eine Beispielsitzung mit diesem Programm: nigiri:~# tzconfig Your current time zone is set to Australia/Victoria Do you want to change that? [n]: y Please enter the number of the geographic area in which you live: 1) Africa 7) Australia 2) America 8) Europe 3) US time zones 9) Indian Ocean 4) Canada time zones 10) Pacific Ocean 5) Asia 11) Use System V style time zones 6) Atlantic Ocean 12) None of the above Then you will be shown a list of cities which represent the time zone in which they are located. You should choose a city in your time zone. Number: 8 Amsterdam Andorra Athens Belfast Belgrade Berlin Bratislava Brussels Bucharest Budapest Chisinau Copenhagen Dublin Gibraltar Helsinki Istanbul Kaliningrad Kiev Lisbon Ljubljana London Luxembourg Madrid Malta Minsk Monaco Moscow Nicosia Oslo Paris Prague Riga Rome Samara San_Marino Sarajevo Simferopol Skopje Sofia Stockholm Tallinn Tirane Tiraspol Uzhgorod Vaduz Vatican Vienna Vilnius Warsaw Zagreb Zaporozhye Zurich Please enter the name of one of these cities or zones You just need to type enough letters to resolve ambiguities Press Enter to view all of them again Name: [] Berlin Your default time zone is set to ’Europe/Berlin’. Local time is now: Mit Okt 30 08:32:26 CET 2002. Universal Time is now: Mit Okt 30 07:32:26 UTC 2002. nigiri:~# 181 Kapitel 4. Installation weiterer Pakete 4.11.5. dlocate Wenn Sie sich ein wenig mit den Internas des Debian-Paket-Systems auseinandergesetzt haben, sind Sie mit Sicherheit auch auf dpkg, das ursprüngliche Programm zum Paketmanagement gestoßen. dpkg kann mit den Optionen -L und -S dazu benutzt werden, in den Paketdateien nach den Paketnamen zu suchen, in denen sich bestimmte Dateien befinden. Als schnelle Alternative dazu bietet sich das Programm dlocate an. Intern benutzt dlocate das GNU-Programm locate und kann über Parameter auch beispielsweise alle Dateien, die zu einem Paket gehören, anzeigen, den benötigten Plattenplatz und Checksummen berechnen oder auch die passenden Man-Pages auflisten. Wenn Sie dlocate ohne weitere Parameter aufrufen, bekommen Sie eine kurze Übersicht der Optionen: linux:/home/fr/buch# dlocate Usage: dlocate [option] [string...] Options: (no option) string list all records that match -S string list records where files match -L package list all files in package -l package almost-emulation of ’dpkg -l’ -s package print package’s status -ls package ’ls -ldF’ of all files in package -du package ’du -sck’ of all files in package -conf package list conffiles in package -lsconf package ’ls -ldF’ of conffiles in package -md5sum package list package’s md5sums (if any) -md5check package check package’s md5sums (if any) -man package list package’s man pages (if any) The -L, -s, and -S commands are roughly analagous to the equivalent dpkg commands. Suchen von nicht installierten Dateien: Die Programme dlocate oder auch dpkg -S können nur Dateien finden, die bereits auf Ihrem System installiert sind. Manchmal kommt es aber vor, daß Sie eine Datei oder ein Programm benötigen, von dem Sie den Namen kennen, aber nicht wissen, in welchem Paket es sich verbirgt. Sie können mit dem Kommando apt-cache search exim.conf nach der gewünschten Datei suchen. Die zweite Möglichkeit ist folgende: Datei Contents-i386.gz (auf anderen Architekturen wie i386 setzen Sie bitte die entsprechende Architektur ein) enthält eine Liste aller Dateien mit den entsprechenden Paketnamen. Das Kommando zcat Contents-i386.gz | grep exim.conf sucht aus dieser Datei den Paketnamen heraus, in der sich die Datei exim.conf befindet. 4.11.6. gpm gpm erlaubt ihnen die Benutzung der Maus, soweit Sie eine an Ihrem Rechner angeschlossen haben, auch auf der textbasierten Konsole. Installieren Sie das Paket mit dselect oder apt. Während der Installation wird ein Konfigurationsscript aufgerufen, welches nach dem Anschluß der Maus, dem Typ sowie einigen anderen Parametern fragt. Sie können dieses Konfigurationsscript auch später jederzeit verwenden, entweder wenn es bei der Erstkonfiguration Probleme gab oder wenn Sie eine andere Maus angeschlossen haben. Hierzu rufen Sie als Superuser (root) das Script mit gpmconfig auf. 182 Kapitel 4. Installation weiterer Pakete Am Beispiel einer Maus mit PS/2-Anschluß, wie sie an den meisten neueren Rechnern zu finden ist, werden wir die Konfiguration aufzeigen. Installieren Sie zunächst das Paket gpm, zum Beispiel mit apt-get install gpm. Unpacking gpm (from .../misc/gpm_1.17.8-6.deb) ... Setting up gpm (1.17.8-6) ... Configuring gpm (mouse event server): Current configuration: -m /dev/ttyS0 -t ms -l "a-zA-Z0-9_.:~/\300-\326\330-\366\370-\377" Device: /dev/ttyS0 Type: ms Append: -l "a-zA-Z0-9_.:~/\300-\326\330-\366\370-\377" Do you want to change anything (Y/n)? Die vorgegebenen Werte sind für eine, ebenfalls recht verbreitete Maus an der seriellen Schnittstelle (COM1) passend. Wenn Sie über eine solche Maus verfügen, können Sie die vorgegebenen Werte beibehalten. Bei einer PS/2-Maus sind aber einige andere Einstellungen nötig. Wählen Sie also Y und fahren Sie mit der Installation wie folgt fort: gpm has an experimental mouse test program which may help you determine your mouse’s type and which device it’s attatched to. You *must* not run any other software which needs the mouse, e.g. X, selection or gpm, while running this program. Do you want to run gpm’s mouse-test program (Y/n)? Wenn Sie sich sicher sind, daß Ihre Maus am PS/2-Anschluß angeschlossen ist, können Sie dieses Testprogramm überspringen, es schadet aber auch nicht, es zu benutzen. Probieren Sie es ruhig mal aus: This program is designed to help you in detecting what type your mouse is. Please follow the instructions of this program. If you’re bored before it is done, you can always press your ’Interrupt’ key (usually Ctrl-C)

      • Remember: don’t run any software which reads the mouse device
      • while making this test. This includes "gpm","selection", "X"

Note that this program is by no means complete, and its main role is to detect how does the middle button work on serial mice /dev/atibm: No such device /dev/inportbm: No such device /dev/jbm: No such device /dev/logibm: No such device ttyS1: No such file or directory Trying with 1200 baud The possible device nodes are: /dev/psaux /dev/rtc /dev/ttyS0 /dev/ttyS1 /dev/ttyS2 /dev/ttyS3 I’ve still 6 devices which may be your mouse, Please move the mouse. Press any key when done (You can specify your device name on cmdline, in order to avoid this step. Different baud rates are tried at different times 183 Kapitel 4. Installation weiterer Pakete Das Testprogramm hat auf unserem Beispielrechner 6 mögliche Gerätedateien festgestellt, an denen die Maus angeschlossen sein könnte. Für die PS/2-Maus ist gleich das erste, also /dev/psaux zuständig. Bewegen Sie nun die Maus und drücken Sie danach eine Taste. removing "/dev/ttyS0" from the list removing "/dev/ttyS1" from the list removing "/dev/ttyS2" from the list removing "/dev/ttyS3" from the list Trying with 9600 baud The possible device nodes are: /dev/psaux Where is your mouse [/dev/psaux]? Das Testprogramm hat nun alle Anschlüsse, an denen es keine Maus festgestellt hat, aus der Liste entfernt, geben Sie nun das gefundene Device an. > /dev/psaux What type is your mouse (or help) [ps2]? Der Maustyp ist bei einer PS/2-Maus recht leicht zu bestimmen, wenn Sie eine andere Maus benutzen, werfen Sie einfach mal mit help einen Blick in die Liste: > help gpm-Linux 1.17.8, $Date: 1999/01/03 21:02:51 $ Available mouse types are: name (synonym) description mman (Mouseman) - The MouseMan protocol used by new Logitech mice. ms - For Microsoft mice (2 or 3 buttons). Some old 2 button mice send some spurious packets, which can be misunderstood as middle-button events. If this is happens to you, use the ’bare’ mouse type. ms+ - Like ’ms’, but allows dragging with the middle button. ms+lr - ’ms+’, but you can reset m by pressing lr (see man page). bare (Microsoft) - For some 2 button Microsoft mice. Same as ’ms’ except that gpm will not attempt to simulate a third button. msc (MouseSystems) - For most 3 button serial mice. sun - For Sparc mice. mm (MMSeries) - For MM series mice. logi (Logitech) - For old serial Logitech mice. bm (BusMouse) - For some busmice, including Microsoft and Logitech busmice. ps2 (PS/2) - For most busmice connected to a PS/2 port (round with 6 metal pins). ncr - For pointing pens found on some laptops. wacom - For Wacom tablets. genitizer - For "Genitizer" tablets. They are used in relative mode. logim - For turning on the MouseSystems compatible mode (3 buttons) of some Logitech mice. pnp - For the new ’plug and play’ mice produced by Microsoft. Try it if ’-t ms’ does not work. imps2 - For the Microsoft IntelliMouse on a PS/2 port (round connector with 6 pins), 3 buttons (wheel is unused). ms3 - For the Microsoft IntelliMouse (serial), 3 buttons (wheel is unused). netmouse - For the "Genius NetMouse". This one has two normal buttons plus ’up’/’down’ buttons. cal - For a Calcomp UltraSlate. calr - For a Calcomp UltraSlate in relative mode. twid - For the "Twidddler" keyboard. syn (synaptics) - For the "Synaptics" serial TouchPad. synps2 (synaptics_ps2) - For the "Synaptics" PS/2 TouchPad. 184 Kapitel 4. Installation weiterer Pakete brw - For the Fellowes Browser - 4 buttons (and a wheel) (dual protocol?). js (Joystick) - For "Joystick" mouse emulation. summa - For a Summa/Genius tablet in absolute mode (906,1212B,EasyPainter...). mtouch - For MicroTouch touch-screens (only button-1 events right now). acecad - For Acecad tablet in absolute mode (Sumagrapics MM-Series mode). kmiabps2 - For the Kensignton Mouse in a box on a PS/2 port (round connector with 6 pins), 3 buttons. Default for i386 is ms What type is your mouse (or help) [ps2]? > ps2 Der erkannte Maustyp ist für unser Beispiel aber korrekt und kann so beibehalten werden. Set the responsiveness (normally not needed) []? > Repeat protocol (leave blank to turn repeating off) []? > Do you want to add any additional arguments [-l "a-zA-Z0-9_.:~/\300-\326\330-\366\370-\377"]? > Do you want to test this configuration (y/N)? Diese vier Punkte können Sie erst einmal so belassen. Sie können u.a. die Empfindlichkeit der Maus einstellen, dies können Sie aber auch jederzeit später nach dem Studium der Man-Page zu gpm detailliert erledigen. Current configuration: -m ttyS1 -t ps2 -l "a-zA-Z0-9_.:~/\300-\326\330-\366\370-\377" Device: ttyS1 Type: ps2 Append: -l "a-zA-Z0-9_.:~/\300-\326\330-\366\370-\377" Abschließend bekommen Sie noch einmal alle Daten angezeigt und können diese auch noch einmal ändern (dazu müssen Sie aber die ganze Konfiguration noch einmal durchgehen...). Do you want to change anything (Y/n)? n Starting mouse interface server: gpm. Wenn Sie mit den Einstellungen zufrieden sind, geben Sie ein n ein, und die Konfiguration wird gesichert und der gpm-Server gestartet. Sie können nun, wenn alles korrekt konfiguriert wurde, mit der Maus auf der Konsole Bereiche markieren und kopieren. Programme, die die Maus auch auf der Konsole unterstützen, wie zum Beispiel mc, können Sie auch mit der Maus bedienen. 4.11.7. mc mc und gmc (welcher weiter unten beschrieben wird) basieren beide auf dem Paket mc-common, welches die grundlegenden Funktionen für beide Pakete zur Verfügung stellt. mc ähnelt stark dem aus der DOS-Welt bekannten Norton Commander. Soweit möglich wird auch die Maus auf der textbasierten Oberfläche unterstützt. Einige Höhepunkte des mc sind: • Arbeiten mit gepackten Dateien. • Wiederherstellen von gelöschten Dateien, dies unterliegt einigen Einschränkungen (benötigt mindestens Kernel 2.1.x). Wenn Sie bereits mit dem nc unter DOS gearbeitet haben, werden Ihnen viele Dinge vertraut vorkommen. 185 Kapitel 4. Installation weiterer Pakete Abbildung 4-21. Midnight Commander 4.11.8. gmc Eine Version des Programms Midnight Commander mit grafischer Benutzeroberfläche, der gmc, steht erst nach der Installation von X11 sowie natürlich des Paketes gmc zur Verfügung. gmc steht für „GNU Midnight Commander“ und stammt aus dem GNOME-Projekt. gmc ist der Standard-Dateimanager unter GNOME. Abbildung 4-22. GNU Midnight Commander 186 Kapitel 4. Installation weiterer Pakete Das Fenster des GNU Midnight Commanders teilt sich in zwei Bereiche. Das linke Fenster zeigt den Verzeichnisbaum, das rechte Fenster stellt den aktuellen Inhalt des ausgewählten Verzeichnisses dar. Um den Inhalt eines anderen Verzeichnisses anzeigen zu lassen, reicht ein einfacher Mausklick auf das gewünschte Verzeichnis im linken Fenster. Wenn im Verzeichnisbaum neben dem Verzeichnisnamen ein + Zeichen angezeigt wird, können Sie mit einem Mausklick auf dieses Zeichen die weiteren Unterverzeichnisse anzeigen lassen. Das + Zeichen wird dann zu einem - Zeichen, mit einem weiteren Mausklick können Sie die Unterverzeichnisse wieder ausblenden. 4.11.9. screen screen ist ein sehr nützliches Programm im Zusammenhang mit virtuellen Konsolen. In der Urzeit der Unix-Geschichte waren ASCII-Terminals, die an den Rechner über die serielle Schnittstelle angeschlossen wurden, sehr verbreitet. Manchmal findet man solche Geräte auch noch heute im Einsatz oder kann diese günstig erstehen. Einem Einsatz an der seriellen Schnittestelle eines handelsüblichen PCs steht, außer dem passenden Kabel, nichts im Weg. Leider stehen dann an einem solchen Terminal keine virtuellen Konsolen zur Verfügung. Das gleiche Problem stellt sich beispielsweise, wenn man sich von außen über eine Modemverbindung an einem Rechner anmeldet, auch hier ist man auf ein einziges Terminal festgelegt. Abhilfe schafft hier das Programm screen, dieses „emuliert“ mehrere virtuelle Terminals und kann auch die Sitzung nach dem Abbruch der Verbindung aufrechterhalten. Sie können, wenn Sie einen Account auf einem Rechner mit einer guten Internetanbindung haben, sich beispielsweise auf diesem einloggen, einen Download starten, sich abmelden und Stunden oder Tage später wieder anmelden und die Sitzung mit screen wieder aufnehmen: der Download wird mittlerweile beendet sein und Sie können sich die Daten mit voller Geschwindigkeit auf Ihren Rechner holen. screen ist so etwas wie ein Full-screen-Windowmanager für die Konsole, welcher mehrere Prozesse, meist interaktive Shells, verwaltet. Jedes virtuelle Terminal hat die Funktionalität eines VT100-Terminals, mit zusätzlichen Funktionen aus anderen Standards wie zum Beispiel ANSI X3.64 und ISO 2022 (hier wurden Funktionen wie Einfügen und Löschen von Zeilen und die Unterstützung von verschiedenen Zeichensätzen entliehen). Jedes Terminal besitzt eine History-Funktion und Daten können per cut+paste zwischen den Terminals kopiert werden. Wenn Sie screen starten, wird ein Terminal mit einer Shell (oder einem anderen Programm) gestartet, Sie werden zunächst keinen Unterschied zu einer anderen Shell feststellen. Sie können aber nun zu jeder Zeit neue Terminals erzeugen, jedes mit einer neuen Shell, ebenso wie bei den „richtigen“ Terminals unter der Linux-Konsole. Sie können natürlich auch Terminals schließen, eine Liste der aktiven Terminals ansehen, die Ausgaben in einer Datei aufzeichnen und so weiter. Alle gestarteten Programme laufen weiter, auch wenn Sie zwischen den Terminals umschalten. screen-Kommandos werden generell mit der Tastenkombination CRTL+a eingeleitet. Mit der Kombination CRTL+a+? bekommen Sie eine Hilfe zu screen in Form einer Befehlsübersicht. Hier eine kurze Übersicht der wichtigsten Kommandos: • ? - Übersicht der Kommandos • c - erzeugt ein neues Terminal • n - wechselt zum nächsten Terminal • w - zeigt an, wie viele Terminals aktiv sind Weitere Informationen zu screen finden Sie auf der Seite http://www.gnu.org/software/screen/ sowie auf den Seiten von Sven Guckes unter: http://www.math.fu-berlin.de/~guckes/screen/. 187 Kapitel 4. Installation weiterer Pakete 4.11.10. ssh Secure Shell (ssh) ist ein Ersatz für rlogin und rsh und stellt eine verschlüsselte Verbindung in einem (unsicheren) Netzwerk – allen voran dem Internet – her. Sie sollten generell auf die Verwendung von Programmen verzichten, die insbesondere Paßwörter, aber auch Daten, unverschlüsselt übermitteln. Vermeiden Sie wenn möglich auch die Benutzung von telnet. Die Telnet-Version, die von Debian GNU/Linux verwendet wird, unterstützt ebenfalls eine verschlüsselte Übertragung, aber gewöhnen Sie sich nicht daran, auf anderen Systemen ist dies kein Standard. ssh verschlüsselt eine Verbindung bereits vor der Übertragung des Paßwortes. Sie können also einigermaßen sicher von jedem Ort aus sich auf einem Rechner einloggen. Ein Angreifer, der versucht auf einem Rechner auf der Übertragungsstrecke Ihr Paßwort aus dem Datenstrom zu filtern, hat so nur eine geringe Chance auf Erfolg. Er müßte genau zu dem Zeitpunkt das Datenpaket erwischen, mit dem Sie bei den ssh-Instanzen den Key austauschen! Die einfachste Form der Benutzung von ssh ist der Aufruf mit der Angabe des gewünschten Zielrechners. Das Kommando: ssh hoshi.openoffice.de stellt eine verschlüsselte Verbindung zu diesem Rechner her und meldet Sie mit dem gleichen Benutzernamen wie auf dem lokalen Rechner an. Sie können zusätzlich einen anderen Benutzernamen mit der Option -l angeben: ssh -l fr hoshi.openoffice.de. Wenn die beiden Benutzernamen identisch sind und der Rechner, von dem aus Sie sich einloggen, in der Datei /etc/hosts.equiv oder /etc/ssh/shosts.equiv aufgeführt ist, können Sie sich ohne Paßwortabfrage anmelden. Weitere Informationen finden Sie in der Man-Page zu ssh (man ssh). 4.12. Euro Symbol Um auf einem Debian System auch das Euro Symbol auf der Konsole und unter X benutzen zu können wurde von Javier Fernández-Sanguino Peña das „Debian Euro HOWTO“ (http://www.debian.org/doc/manuals/debian-euro-support/) geschrieben. Weiterhin stehen die beiden Pakete euro-support und tetex-eurosym zur Verfügung. 4.13. Menü-System Über das Debian GNU-Menüsystem werden alle auf dem System installierten Pakete automatisch in die Menüs und Menüleisten der Windowmanager oder auch des GNOME-Panels eingebunden. Neu installierte Pakete werden automatisch den Menüs hinzugefügt, dies erledigen die Installationsscripte der einzelnen Pakete. Sie können diese Einträge in den Menüs als Systemadministrator für alle Benutzer auf dem System ändern oder aber Ihre eigenen Menüs erzeugen bzw. die systemweit installierten verändern. Die Debian GNU-Menüstruktur stellt sich wie folgt dar: Apps -- Menü für Anwendungen Editors -- Programme zur Bearbeitung von Texten Net -- E-Mail, News, Webbrowser, IRC, etc. Programming -- Debugger, etc. Shells -- bash, ksh, zsh, etc. Tools -- Diverse Tools: xclock, xmag, xman, etc. Viewers -- Bildbetrachter, gs, xawtv, etc. Math -- gnuplot, octave, oleo, etc. Graphics -- xpaint, xfig, xtiff, etc. Emulators -- dosemu, etc. Sound -- TkMidity, etc. System -- System Verwaltung und Beobachtung Games -- Menü für Spiele Adventure -- Abenteuer, zork, MOO’s, etc Arcade -- alles was schnell ist... Board -- Brettspiele: Gnuchess, pente, gnugo Card -- Solitare, etc 188 Kapitel 4. Installation weiterer Pakete Puzzles -- xpuzzles, ... Sports -- Sportliche Spiele Strategy -- lincity, freeciv Tetris-like -- Alles was runterfällt.... Toys -- oneko, xeyes, etc. Screen -- Lock -- xlock, etc. Screen-saver -- Bildschirmschoner Root-window -- Hintergründe Window-managers -- Umschalten zwischen verschiedenen Windowmanagern Modules -- fvwm modules, etc. XShells -- shells (xterm, rxvt, ...) Verändern Sie nichts an dieser Struktur. Die Paketbetreuer haben die Möglichkeit, Ergänzungen zu dieser Struktur einzubringen, als Anwender sollten Sie dies aber so belassen. Nach jeder Veränderung an den Menüeintragen müssen Sie das Programm update-menus aufrufen. Beachten Sie hierbei, daß dies jeweils mit dem Benutzernamen erfolgen muß zu dem auch die Menüeinträge geändert wurden. Systemweite Änderungen werden vom Superuser (root) mittels update-menus dem System bekanntgegeben. Bei der Installation von Paketen wird update-menus automatisch aufgerufen. Für jedes unter Debian GNU/Linux installierte Paket wird im Verzeichniss /usr/lib/menu/ mit dem jeweiligen Namen des Paketes (also zum Beispiel xterm) eine Datei angelegt. In dieser stehen Informationen zum Namen des Paketes, zum Text, der in den Menüs erscheinen soll und zur Position des Eintrages in den Menüs. Ändern Sie nichts in diesen Dateien, diese können bei einem Update des Paketes überschrieben werden. Für systemweite Veränderungen steht das Verzeichniss /etc/menu/ zur Verfügung. In diesem kann der Systemadministrator eigene Dateien erzeugen oder Kopien einzelner Dateien aus /usr/lib/menu/ ablegen und diese verändern. Hier eine Übersicht der Syntax dieser Dateien am Beispiel von GNUPlot: ?package(gnuplot):\ der Name des Paketes needs=text\ Benutzeroberfläche die von diesem Programm benötigt wird, die möglichen Parameter dazu sind: needs=X11: dieses Programm benötigt X11 needs=text: für Programme die nur im Text-Modus laufen (unter X11 muß der Windowmanager hierzu ein xterm oder rxvt starten) needs=vc: Programm läuft nur auf der Linux Konsole needs=wm: Programm startet einen anderen Windowmanager section=Apps/Math\ bezeichnet den Eintrag im Menübaum title="Gnuplot"\ der Text für den Eintrag (nicht zu lang) command="/usr/bin/gnuplot" der Pfad und Programmname der aufgerufen werden soll Wenn Sie beispielsweise den Text, der für das Programm GNUPlot in den Menüs erscheint, ändern wollen, können Sie den Text in der Zeile title="Gnuplot"\ zwischen den Anführungszeichen ändern. Vergessen Sie nicht, danach update-menus aufzurufen. Um einzelne Anwendungen an anderer Stelle im Menubaum erscheinen zu lassen, verändern Sie einfach die Zeile section=Apps/Math\. Änderungen an den persönlichen Einstellungen für das Debian GNU/Linux-Menüsystem kann jeder Benutzer individuell in seinem Homeverzeichniss, unterhalb von .menu vornehmen. Wenn dieses Verzeichnis noch nicht existiert, können Sie dieses mit mkdir .menu anlegen. Sie können nun in diesem Verzeichnis eigene Dateien anlegen oder Dateien aus /usr/lib/menu/ kopieren und verändern. Diese Änderungen sind nicht Systemweit gültig und werden nur für den jeweiligen Benutzer wirksam. Auch hier ist anschließend wieder das Programm update-menus aufzurufen, diesmal aber nicht als Superuser, sondern mit dem zugehörigen Account des Benutzers. Neben dem Verändern von Einträgen besteht auch die Möglichkeit, Menüeinträge komplett auszublenden. Hierzu erzeugt man einfach eine leere Datei mit dem Namen des Paketes, welches nicht mehr im Menübaum auftauchen soll. Das Kommando touch ist hierzu hervorragend geeignet: 189 Kapitel 4. Installation weiterer Pakete cd ~/.menu touch gnuplot ...würde also beispielsweise den Eintrag für Gnuplot aus den Menüs entfernen. Auch dies funktioniert natürlich für jeden Benutzer im Verzeichnis ~/.menu/ oder systemweit unter /etc/menu/. Weitere Informationen zum Debian GNU/Linux-Menüsystem finden Sie in der Dokumentation zu dem Paket menu oder auf den Webseiten http://www.debian.org/doc/packaging-manuals/menu.html/. Dort sind auch weitere Internas beschrieben, wie zum Beispiel Informationen darüber, was zu tun ist, wenn man ein eigenes Debian-Paket bei der Installation automatisch ins Menüsystem einbinden möchte. 4.14. Paketmanagement für Umsteiger Dieser Abschnitt soll Umsteigern von anderen GNU Linux Distributionen das Paketmanagement erleichtern. Wenn Sie sich bereits in die Syntax von RPM eingearbeitet haben und mit den wichtigsten Kommandos vertraut sind, finden Sie hier schnell die entsprechenden Kommandos für Ihr neues Debian GNU System. Tabelle 4-1. RPM / DEB Paketmanagement RPM DEB Aktion rpm -i name dpkg -i name Installiert das Paket name rpm -Va debsums -a Überprüft die Checksummen aller installierten Dateien auf dem System rpm -qf /etc/syslog.conf dpkg -S /etc/syslog.conf Zeigt an zu welchem Paket die Datei /etc/syslog.conf gehört rpm -ql name dpkg -L name Listet alle Dateien des Paketes name auf rpm -qpi name.rpm dpkg -I name.deb Zeigt die Informationen zum Paketarchiv name.xxx rpm -qpl name.rpm dpkg -c name.deb Listet alle Dateien des Paketarchives name.xxx auf rpm -qia dpkg -l Listet alle Pakete mit Informationen zu den Paketen. Das rpm-Kommando zeigt alle Paketinformationen, die dpkg-Variante nur die Kurzinformationen. Kurzinformationen können mit rpm über das Kommando rpm -qa --qf ’%-20{NAME} %-10{VERSION} %{SUMMARY}\n’ ausgegeben werden. rpm: Funktion nicht implementiert dpkg -r name Entfernt das Paket name, Konfigurationsdateien werden nicht gelöscht rpm -e name dpkg --purge name Entfernt das Paket name inklusive aller Konfigurationsdateien rpm -qi name dpkg -s name Zeigt die Paketinformationen (Name, Status, Version, Abhängigkeiten usw.) zu dem Paket name an. rpm -q --qf ’%-20{NAME} %-10{VERSION} %{SUMMARY}\n’name dpkg --list name Zeigt eine Kurzbeschreibung zu dem Paket name an. 190 Kapitel 4. Installation weiterer Pakete RPM DEB Aktion rpm -qa --qf ’[%{=NAME}: %{FILENAMES}\n]’ string dpkg -S string Sucht nach dem String string in den Paketinformationen/Dateilisten aller installierten Pakete rpm -q --whatrequires name dpkg Welche Pakete hängen von dem Paket string ab. rpm -q -requires name dpkg Welche Abhängigkeiten hat das Paket string. rpm -q --scripts name dpkg Zeigt die Scripte des Paketes string an. 4.15. Installation von fremden Paketen Debian GNU/Linux verwendet ein eigenes Paketformat, welches von keiner anderen Distribution (außer solchen, die auf Debian GNU/Linux basieren) verwendet wird. Natürlich sind aus diesem Grunde alle Programme zur Installation auf dieses Paketformat abgestimmt. Wir sind sicher, daß Sie alle benötigten Pakete in der Debian GNU/Linux-Distribution finden werden, trotzdem zeigen wir Ihnen hier einen Weg, um fremde Pakete auf einem Debian GNU/Linux-System zu installieren. Dies kann auch zur Installation von kommerzieller Software nützlich sein, die häufig im rpm-Format vorliegt. 4.16. alien Um Pakete in fremden Formaten auf einem Debian GNU/Linux zu installieren, dient das Programm alien. alien ist natürlich auf allen Linux-Distributionen lauffähig und kann alle verbreiteten Paketformate entpacken und in das Format der verwendeten Distribution konvertieren. Natürlich gibt es bei solchen Konvertierungen manchmal Probleme. Das zu installierende Paket wird in den meisten Fällen Bibliotheken verwenden, die nicht zwingend auf dem Zielsystem vorhanden sind, oder eventuell nicht in der passenden Version vorliegen. Gegebenenfalls sind auch diese Bibliotheken via alien zu installieren. In den meisten Fällen geht die Installation aber problemlos über die Bühne. alien hat eine Reihe von Optionen, eine Übersicht bekommen Sie, wenn Sie alien ohne weitere Optionen aufrufen. linux:/home/fr/rpm2deb# alien Usage: alien [options ...] file [...] file [...] Package file or files to convert. -d, --to-deb Generate a Debian deb package. (default) Enables the following options: --patch=<patch> Specify patch file to use instead of automatically looking for patch in /var/lib/alien. --nopatch Do not use patches. -r, --to-rpm Generate a RedHat rpm package. -t, --to-tgz Generate a Slackware tgz package. --to-slp Generate a Stampede .slp package. -i, --install Install generated package. -g, --generate Unpack, but do not generate a new package. -s, --single Like --generate, but do not create .orig directory. -c, --scripts Include scripts in package. -k, --keep-version Do not change version of generated package. --description=<desc> Specify package description. -h, --help Display this help message. -v, --version Display alien’s version number. Die Benutzung von alien ist denkbar einfach. Im einfachsten Fall gibt man alien einfach den Namen des zu konvertierenden Paketes, alien erstellt dann daraus ein Paket mit der Endung .deb. Dieses können Sie dann 191 Kapitel 4. Installation weiterer Pakete wie jedes andere Paket unter Debian GNU/Linux installieren. Als Beispiel soll uns das Programm pi-address dienen. Wenn Sie über einen Palm-Pilot verfügen, sollten Sie das Debian Paket nach dem Versuch nicht löschen, wir kommen später noch einmal darauf zurück. linux:/home/fr/rpm2deb# alien pilot-address-0.3.0-1.i386.rpm -- Examining pilot-address-0.3.0-1.i386.rpm -- Unpacking pilot-address-0.3.0-1.i386.rpm 2813 blocks


-- Automatic package debianization -- Building the package pilot-address_0.3.0-2_i386.deb dh_testdir

  1. Nothing to do.

dh_testdir dh_testroot dh_clean -k dh_installdirs cp -a ‘ls |grep -v debian‘ debian/tmp dh_installdocs dh_installexamples dh_installmenu dh_installcron dh_installchangelogs dh_compress dh_suidregister dh_installdeb dh_shlibdeps dh_gencontrol dh_makeshlibs dh_md5sums dh_builddeb dpkg-deb: building package ‘pilot-address’ in ‘../pilot-address_0.3.0-2_i386.deb’. Generation of pilot-address_0.3.0-2_i386.deb complete. -- Successfully finished linux:/home/fr/rpm2deb# ls -l total 860 -rw-r--r-- 1 root root 437258 Feb 2 16:22 pilot-address-0.3.0-1.i386.rpm -rw-r--r-- 1 root root 435982 Feb 2 16:23 pilot-address_0.3.0-2_i386.deb Sie können beispielsweise ein RedHat-Paket mit dem Kommando alien paket.rpm konvertieren, Sie erhalten dann ein Debian-Paket mit der Endung .deb. In diesem Beispiel würde die Datei also paket.deb heißen. Sie können dieses dann wie üblich mit dpkg -i paket.deb installieren. 192 Kapitel 5. X11 Die Basisinstallation von Debian GNU/Linux sieht keine grafische Benutzeroberfläche vor. Aus Sicht des Einsteigers macht das die Installation nicht gerade leichter, da heute jeder mit der Handhabung einer Maus vertraut ist. Wie Sie aber gesehen haben, stellt eine textbasierte Installationsroutine auch kein wirkliches Hindernis dar. Für eine textbasierte Installation sprechen zwei Gründe: zum einen wird nicht auf allen Systemen eine grafische Benutzeroberfläche benötigt (zum Beispiel Server), und zweitens sind nicht alle von Debian GNU/Linux unterstützten Architekturen (z. B. m68k) von der Hardwareausstattung her in der Lage, eine sinnvolle grafische Installation durchzuführen. Debian GNU/Linux verwendet, wie alle anderen Linux-Distributionen auch, das X-Window-System zur Darstellung der grafischen Benutzeroberfläche. Die Treiber für die verschiedenen Grafikkarten werden vom XFree86-Team entwickelt (http://www.xfree86.org). XFree86 ist eine freie Implementation des X-Window-Systems, welches auf allen Unix-ähnlichen Betriebssystemen läuft. Die „86“ im Namen läßt vermuten, daß diese Software nur auf 3/4/586er-Prozessoren lauffähig ist. Ursprünglich wurde XFree86 auch dafür entwickelt, mittlerweile ist XFree86 aber auch auf anderen Prozessor-Architekturen lauffähig. Somit müssen Debian GNU/Linux-Benutzer auf keiner Architektur auf den Luxus einer grafischen Oberfläche verzichten. X11 selbst entstand im Jahre 1986 als Ergebnis der beiden Vorgängerprojekte V und W. Im Laufe der Entwicklung wurden die grundlegenden Protokolle weiterentwickelt, blieben aber immer zu den älteren Versionen kompatibel. 1992 erschien dann die erste Version von X11 für PCs. Das XFree86-Projekt selbst startete mit einem Referenzserver für die PC-Plattform, welcher von Thomas Röll (heute Xi Graphics) geschrieben wurde, welcher dem Projekt zur Verfügung gestellt wurde. Ungeachtet dessen ist es natürlich ohne weiteres möglich, auch mit Debian GNU/Linux in den Genuß einer grafischen Benutzeroberfläche zu kommen. Um eine Grafikkarte zu benutzen benötigt man, wie bei anderen Betriebssystemen auch, einen Treiber. Diese Treiber stehen in Form sogenannter „X-Server“ zur Verfügung. Es werden im folgenden die Installation dieses Servers und einige ausgewählte Anwendungen vorgestellt. Die aktuelle Version 4 von XFree86 ist ab der Version „woody“, also Debian GNU/Linux 3.0, in die Distribution integriert worden. Die ältere Version 3.3.6 ist jedoch weiterhin verfügbar, so das bei Problemen mit den Treibern aus XFree 4 jederzeit auf die Version 3 zurückgegriffen werden kann. 5.1. Installation von XFree86 3.3.x Wie bei allen neuen Treibern, die man in ein Debian GNU/Linux-System einbindet, ist es vorteilhaft, möglichst genaue Informationen über die verwendete Hardware zu haben. Bei der Vielfalt der auf dem Markt angebotenen Grafikkarten kann es da schon manchmal etwas schwierig sein, herauszufinden, welches Modell man in seinem Rechner hat. Gerade bei Komplettgeräten hat man nicht unbedingt die genaue Modellbezeichnung zur Hand. Schwierig wird es auch bei Motherboards mit einem integrierten Grafikchip. Eine Übersicht der unterstützten Chipsets für die zur Zeit aktuelle Version 3.3.6 von XFree86 finden Sie unter der URL: http://www.xfree86.org/3.3.6/README3.html#3 . Bitte beachten Sie: Dies ist eine Liste der Grafikchips auf den jeweiligen Karten, Sie finden keine Namen der Kartenhersteller. Wenn größere Probleme bei der Installation der Grafikkarte auftauchen, müssen Sie im schlimmsten Fall Ihren Rechner öffnen und einen Blick auf die Grafikkarte werfen. Aber meist ist das nicht notwendig. Das Programm xviddetect erkennt die meisten Grafikkarten und gibt auch gleich den Namen des passenden X-Servers aus: fr@linux:~$ xviddetect The XFree86 server for Matrox Graphics, Inc. MGA G400 AGP is svga Wenn Sie lediglich auf den Namen des benötigten X-Servers Wert legen, können Sie xviddetect mit der Option -q aufrufen. Hier noch ein anderes Beispiel, diesmal ist xviddetect allerdings nicht in der Lage die Karte zu erkennen: fr@linux:~$ xviddetect Sorry, I wasn’t able to determine a driver for your video card. This script 193 Kapitel 5. X11 only detects PCI and some SBUS devices. If you know, or figure out, which X driver to use, please submit a wishlist bug against this package with the appropriate info. Please see http://bugs.debian.org/ for information about submitting bugs. I will now display a list of PCI devices I found on your computer. Please send the line associated with your video device if you do find a driver. 80867190|i386|Intel Corporation|440BX/ZX - 82443BX/ZX Host bridge 80867191|i386|Intel Corporation|440BX/ZX - 82443BX/ZX AGP bridge 80867110|i386|Intel Corporation|82371AB PIIX4 ISA 80867111|i386|Intel Corporation|82371AB PIIX4 IDE 80867112|i386|Intel Corporation|82371AB PIIX4 USB 80867113|i386|Intel Corporation|82371AB PIIX4 ACPI 10222020|i386|Advanced Micro Devices [AMD]|53c974 [PCscsi] 109e0350|i386|Brooktree Corporation|Bt848 TV with DMA push 12741371|i386|Ensoniq|ES1371 [AudioPCI-97] 10b79050|i386|3Com Corporation|3c905 100BaseTX [Boomerang] 11030004|i386|unknown manufacturer|unknown model 11030004|i386|unknown manufacturer|unknown model 105d5348|i386|Number 9 Computer Company|Revolution 4 Wenn Sie einen genaueren Blick auf die Liste der gefundenen PCI-Geräte werfen, werden Sie sicher Ihre Grafikkarte darunter finden. In diesem Fall ist es der Eintrag in der letzten Zeile. Sie können mit diesen Angaben die entsprechende Karte und den dazugehörigen X-Server bestimmen. Eine weitere Hilfe ist SuperProbe, doch dazu gleich mehr. Für die Konfiguration von XFree86 stehen bei Debian GNU/Linux drei Programme zur Auswahl, zwei Versionen mit textbasierter und eine Version mit grafischer Oberfläche. Installieren Sie zunächst die benötigten Pakete. Ein sinnvoller Start ist das Paket xf86setup, in diesem befinden sich die Konfigurationsprogramme xf86config und XF86Setup. Das Paket xf86setup benötigt einige weitere Pakete, wie immer werden Sie während der Installation mit dselect oder apt darüber informiert, welche weiteren Pakete benötigt werden. Das dritte Konfigurationsprogramm, anXious, finden Sie im Paket xviddetect. Folgende Pakete, die zum X-Window-System gehören, werden benötigt: xbase-clients, xfonts-100dpi oder xfonts-75dpi, xfonts-base, xserver-common, xserver-vga16 oder ein anderer xserver, tcl8.0, tk8.0, xlib6g. Während der Installation dieser Pakete werden Sie gefragt, ob Sie den gerade installierten X-Server als „default“ einstellen wollen und ob Sie eine Konfigurationsdatei für XFree86 erzeugen wollen. Wenn Sie dies tun wollen, wird das textbasierte Installationsprogramm xf86config gestartet. Es schadet nicht diesen Schritt zu überspringen, Sie können später xf86config immer noch von Hand starten. Versuchen Sie zunächst, einige nähere Informationen zu Ihrer Grafikkarte herauszubekommen. Im Paket xf86setup befindet sich das sehr nützliche Programm SuperProbe (beachten Sie die Groß- und Kleinschreibung!). Führen Sie dieses Programm einmal als Superuser aus, erhalten Sie beispielsweise folgende Informationen: SuperProbe Version 2.20 (17 June 1999) (c) Copyright 1993,1994 by David Wexelblat <dwex@xfree86.org> (c) Copyright 1994-1998 by The XFree86 Project, Inc This work is derived from the ’vgadoc2.zip’ and ’vgadoc3.zip’ documentation packages produced by Finn Thoegersen, and released with all appropriate permissions having been obtained. Additional information obtained from ’Programmer’s Guide to the EGA and VGA, 2nd ed’, by Richard Ferraro, and from manufacturer’s data books Bug reports are welcome, and should be sent to XFree86@XFree86.org. In particular, reports of chipsets that this program fails to correctly detect are appreciated. 194 Kapitel 5. X11 Before submitting a report, please make sure that you have the latest version of SuperProbe (see http://www.xfree86.org/FAQ). First video: Super-VGA Chipset: Matrox (chipset unknown) (PCI Probed) Signature data: 8 (please report) RAMDAC: Generic 8-bit pseudo-color DAC (with 6-bit wide lookup tables (or in 6-bit mode)) Entscheidend sind die letzten Zeilen. Das Testprogramm hat in diesem Beispiel eine Grafikkarte der Firma Matrox gefunden. Diese wird von XFree86-Server „SVGA“ unterstützt. Eine weitere Möglichkeit – neben dem Öffnen des Rechners – Informationen über die Grafikkarte zu bekommen, besteht darin, die Ausgabe des Kommandos cat /proc/pci nach Informationen zu durchsuchen. Hier ein Ausschnitt der Ausgabe des Befehls mit den Informationen zu der gleichen Karte: Bus 1, device 0, function 0: VGA compatible controller: Matrox Unknown device (rev 3). Vendor id=102b. Device id=525. Medium devsel. Fast back-to-back capable. Master Capable. Latency=32. Min Gnt=16.Max Lat=32. Prefetchable 32 bit memory at 0xe8000000 [0xe8000008]. Non-prefetchable 32 bit memory at 0xe4000000 [0xe4000000]. Non-prefetchable 32 bit memory at 0xe5000000 [0xe5000000]. Auch hier ist wieder die Information, daß es sich um eine Matrox-Karte handelt, zu finden. Alternativ läßt sich auch das Programm lspci aus dem Paket pciutils einsetzen, dieses bereitet die Ausgabe etwas ansprechender auf. Sollten Sie mit diesen Methoden keine ausreichenden Informationen über die im Rechner eingebaute Grafikkarte bekommen, können Sie immer noch probieren, das X-Window-System mit dem SVGA-Treiber zum Laufen zu bekommen. Dieser unterstützt die gebräuchlichsten Karten. Ansonsten hilft in vielen Fällen auch ein Blick in den Rechner. Meist sind die benötigten Informationen auf dem größten Chip zu finden, oder aber die Platine wurde vom Hersteller mit nützlichen Informationen bedruckt. Wer seinen Rechner aber individuell zusammengestellt hat, wird wissen, welche Karte im Rechner steckt. Weiterhin ist es wichtig festzustellen, an welchem Anschluß die Maus steckt und um was für ein Maus-Modell es sich handelt. Wenn Sie das Programm gpm bereits installiert haben, sind Ihnen diese Angaben aber vertraut. Doch nun zu den eigentlichen Konfigurationsprogrammen. 5.1.1. XF86Setup Einen ersten Versuch sollten Sie mit XF86Setup starten. 195 Kapitel 5. X11 Abbildung 5-1. XF86 Setup XF86Setup erlaubt die Konfiguration des X-Window-Systems über eine grafische Oberfläche. Hierzu wird bereits ein X-Server gestartet (VGA16), der auf allen Grafikkarten in einer minimalen Auflösung lauffähig ist. Nach dem Start können Sie, falls die Maus noch nicht funktioniert, mit den Tasten TAB, SPACE und RETURN durch die Menüs wandern und die gewünschten Einstellungen vornehmen. Am besten fangen Sie mit den Einstellungen zur Maus an, Sie haben es dann einfacher, den Rest zu konfigurieren. Wenn Sie den Menüpunkt Mouse wählen, bekommen Sie zuerst eine kurze Hilfe angezeigt. Sie finden hier u. a. Angaben zu den üblichen Gerätedateien (Devices, z.B. /dev/psaux oder /dev/ttyS0), an denen die Maus angeschlossen sein könnte. Verlassen Sie die Hilfe mit der RETURN Im folgenden können Sie alle Einstellungen für die Maus vornehmen. Die beiden wichtigsten Parameter sind das sogenannte „Mouse Protocol“ und das „Mouse Device“. Sollte die Maus bereits funktionieren, sind hier im allgemeinen keine Einstellungen nötig. 196 Kapitel 5. X11 Abbildung 5-2. XF86 Setup Im hier gezeigten Beispiel wird eine PS/2-Maus verwendet. Wählen Sie also das gewünschte Protokoll der Maus (den Maus-Typ) und das dazugehörige Device aus. Wenn es Ihnen zu mühselig ist, aus der langen Liste das passende Device auswählen, können Sie das Device auch von Hand eingeben. Haben Sie alle Einstellungen vorgenommen, so aktivieren Sie die Schaltfläche Apply unten rechts auf dem Bildschirm. Die bisher vorgenommenen Einstellungen für die Maus werden damit übernommen und wenn alles korrekt angegeben wurde, können Sie alle weiteren Einstellungen per Maus vornehmen. Zur Einstellung der Tastatur gibt es nicht viel zu sagen, wählen Sie die passende Sprache aus. 197 Kapitel 5. X11 Abbildung 5-3. XF86 Setup Stellen Sie nun unter Card den Typ Ihrer Grafikkarte ein. Sie können den Hersteller und das Modell aus einer sehr umfangreichen Liste auswählen. Bei einigen Karten können genauere Einstellungen über die Schaltfläche „Detailed Setup“ gemacht werden, beispielsweise wenn der Speicherausbau der Karte nicht korrekt erkannt wird. Im allgemeinen sind dort aber keine Einstellungen nötig. 198 Kapitel 5. X11 Abbildung 5-4. XF86 Setup Auch die Einstellungen für den Monitor sind recht einfach vorzunehmen, wählen Sie einen passenden Monitor aus der Liste aus, von dem Sie glauben, daß er Ihrem Modell am nächsten kommt. Wenn Sie sich nicht sicher sind, wählen Sie lieber erst mal einen kleineren, leistungsschwächeren Monitor aus, Sie können sonst Ihren Monitor beschädigen. Wenn Sie in Ihrem Handbuch zum Monitor die technischen Daten für die horizontalen und vertikalen Frequenzen finden können, können Sie diese auch unter „Monitor sync rates“ eintragen, so nutzen Sie die Möglichkeiten Ihres Gerätes optimal. 199 Kapitel 5. X11 Abbildung 5-5. XF86 Setup Unter „modeselection“ stellen Sie die gewünschten Auflösungen und die Anzahl der gewünschten Farben ein. Sie können mehrere Auflösungen vorauswählen, zwischen denen Sie später mit STRG + ALT + + oder STRG + ALT + - (auf dem Zehnerblock) umschalten können. Dies funktioniert natürlich im laufenden Betrieb, ohne Neustart des Systems. Wenn Sie nur über eine sehr einfache Grafikkarte mit sehr wenig Speicher verfügen, wählen Sie besser eine Farbtiefe von 8 Bit (8 bpp), aber im allgemeinen sollten Sie mindestens 16 Bit zum vernünftigen Arbeiten mit X auswählen. 200 Kapitel 5. X11 Abbildung 5-6. XF86 Setup Unter „Other“ verbergen sich einige momentan weniger wichtige Einstellungen, die wir hier nur kurz beschreiben wollen: 201 Kapitel 5. X11 Abbildung 5-7. XF86 Setup • Allow server to be killed with hotkey sequence (Ctrl-Alt-Backspace) Hier können Sie das Beenden des X-Servers mit dieser Tastenkombination unterbinden. • Allow video mode switching Wenn Sie unter „Modeselection“ verschiedene Auflösungen gleichzeitig gewählt haben, können Sie während des Betriebes zwischen diesen mit der Tastenkombination STRG+ALT sowie + oder - auf dem Zehnerblock der Tastatur umschalten. Sie können diese Funktion hier ausschalten. • Don’t Trap Signals - prevents the server from exiting cleanly Wenn diese Option nicht aktiviert ist, kann der X-Server Signale wie zum Beispiel SIGTERM abfangen. • Allow video mode changes from other hosts Erlaubt Änderungen der Bildschirmauflösung während der Laufzeit des Servers auch von anderen Rechnern aus. • Allow changes to keyboard and mouse settings from other hosts Erlaubt die Änderung von Tastatur und Mauseinstellungen von anderen Rechnern aus. 202 Kapitel 5. X11 Wählen Sie nun die Schaltfläche „Done“ und bestätigen Sie die nächste Mitteilung mit „OK“. Es wird nun versucht, den X-Server mit den eingestellten Parametern zu starten. Sollte dies fehlschlagen, d. h. der Server kann gar nicht gestartet werden, versuchen Sie es noch einmal mit der Konfiguration. Stellen Sie dann aber nicht zu hohe Werte ein und achten Sie darauf, daß Sie auch den benötigten X-Server installiert haben. Ein fehlender X-Server macht sich durch eine solche Zeile: couldn’t execute "usr/X11R6/bin/XF86_SVGA" no such file or directory bemerkbar. In diesem Fall installieren Sie das benötigte Paket. Zur Auswahl stehen Ihnen folgende X-Server (XFree 3.3.5): • xserver-3dlabs • xserver-8514 • xserver-agx • xserver-common • xserver-fbdev • xserver-ggi • xserver-i128 • xserver-mach32 • xserver-mach64 • xserver-mach8 • xserver-mono • xserver-p9000 • xserver-s3v • xserver-s3 • xserver-svga • xserver-vga16 • xserver-w32 Genauere Informationen, welche Karte von welchem Server unterstützt wird, finden Sie auf den Seiten des XFree-Projektes unter http://www.xfree86.org . Wenn der X-Server gestartet wird, können Sie die Konfigurationsdatei abspeichern. Unter Debian GNU/Linux finden Sie die Datei XF86Config unter /etc/X11/. Normalerweise wird der X-Server in der niedrigsten Auflösung, die in der Konfigurationsdatei eingetragen ist, gestartet. Wenn Sie dies ändern wollen, um nicht immer von Hand umschalten zu müssen, können Sie die nicht benötigten Einträge aus der Konfigurationsdatei löschen oder den gewünschten Eintrag als ersten in die Teile mit den Auflösungen eintragen. Suchen Sie hierzu in der Datei /etc/X11/XF86Config nach einem Eintrag in der Form: Section "Screen" Driver "SVGA" Die Zeile „Driver“ beschreibt hierbei den installierten X-Server. Einige Zeilen tiefer finden Sie einen Abschnitt „Display“ zu jeder möglichen Farbtiefe („Depth“) SubSection "Display" Depth 16 Modes "1600x1200" "800x600" "1280x1024" ViewPort 0 0 EndSubSection In diesem Beispiel würde der X-Server (SVGA) immer mit der Auflösung 1600x1200 Punkte starten, mit der Möglichkeit, auf 800x600 und 1280x1024 Punkte herunterzuschalten, bei einer Farbtiefe von 16 Bit. Wenn Sie 203 Kapitel 5. X11 die Konfigurationsdatei neu erstellen, zum Beispiel wie hier beschrieben mit dem Programm XF86Config, werden die Einträge zur Sicherheit immer aufsteigend sortiert in die Zeile geschrieben. Somit ist sichergestellt, daß immer zuerst mit einer kleinen Auflösung gestartet wird, so daß Ihr Monitor nicht überlastet wird. Wenn Sie mit der Konfiguration von X über das Programm XF86Setup keinen Erfolg hatten, probieren Sie es mit dem Programm xf86config. 5.1.2. xf86config Dieses zweite, textorientierte, Programm erlaubt es Ihnen ebenfalls, eine Konfigurationsdatei für XFree86 zu erstellen. Auch dieses Programm müssen Sie als Superuser (root) starten. linux:~# xf86config This program will create a basic XF86Config file, based on menu selections you make. In the Debian system, the XF86Config file resides in /etc/X11. A sample XF86Config file is supplied in the directory /usr/share/doc/xserver-common/examples; it is configured for a standard VGA card and monitor with 640x480 resolution. This program will ask for a pathname when it is ready to write the file. You can either take the sample XF86Config as a base and edit it for your configuration, or let this program produce a base XF86Config file for your configuration and fine-tune it. Refer to the file /usr/share/doc/xserver-common/README.Config.gz for a detailed overview of the configuration process. For accelerated servers (including accelerated drivers in the SVGA server), there are many chipset and card-specific options and settings. This program does not know about these. On some configurations some of these settings must be specified. Refer to the server manual pages and chipset-specific READMEs. Before continuing with this program, make sure you know the chipset and amount of video memory on your video card. The SuperProbe program can help with this. It is also helpful if you know what server you want to run. Press enter to continue, or CTRL-C to abort. Zunächst sehen Sie einige Informationen speziell zur Debian GNU/Linux-Version dieses Programms. Da XFree86 nicht nur auf GNU/Linux-Systemen lauffähig ist, finden sich die Konfigurationsdateien standardmäßig nicht an der auf Debian-Systemen üblichen Stelle. Dies wurde für das Debian-Paket korrigiert. Wenn Sie Probleme mit der Konfiguration haben oder weitere Informationen benötigen, finden Sie an dieser Stelle einen Hinweis auf die entsprechenden Dateien in Ihrem System. Zunächst müssen Sie die angeschlossene Maus bestimmen. First specify a mouse protocol type. Choose one from the following list: 1. Microsoft compatible (2-button protocol) 2. Mouse Systems (3-button protocol) 3. Bus Mouse 4. PS/2 Mouse 5. Logitech Mouse (serial, old type, Logitech protocol) 6. Logitech MouseMan (Microsoft compatible) 7. MM Series 8. MM HitTablet 9. Microsoft IntelliMouse 10. Acecad tablet If you have a two-button mouse, it is most likely of type 1, and if you have a three-button mouse, it can probably support both protocol 1 and 2. There are 204 Kapitel 5. X11 two main varieties of the latter type: mice with a switch to select the protocol, and mice that default to 1 and require a button to be held at boot-time to select protocol 2. Some mice can be convinced to do 2 by sending a special sequence to the serial port (see the ClearDTR/ClearRTS options). If you have a PS/2 mouse, you should use type 4 regardless of how many buttons it has. Enter a protocol number: 4 If your mouse has only two buttons, it is recommended that you enable Emulate3Buttons. Please answer the following question with either ’y’ or ’n’. Do you want to enable Emulate3Buttons? n Now give the full device name that the mouse is connected to, for example /dev/tty00. Just pressing enter will use the default, /dev/mouse. Mouse device: /dev/psaux Zum Arbeiten unter X11 ist es sehr nützlich, wenn Sie über eine Maus mit drei Tasten verfügen, dies erleichtert viele Operationen, wie zum Beispiel das Kopieren und Einfügen von Texten. Auch viele Windowmanager benutzen alle drei Maustasten. Am weitesten verbreitet sind Mäuse mit PS/2-Anschluß, für diese ist in jedem Fall der Typ 4 zu wählen, unabhängig davon, wie viele Tasten die Maus tatsächlich hat. Serielle Mäuse werden je nach Anzahl der Tasten über den Typ 1 oder 2 aktiviert. Die zweite Frage sollten Sie mit „y“ beantworten, wenn Ihre Maus nur über zwei Tasten verfügt. Sie können dann die dritte Maustaste durch gleichzeitiges Drücken beider Tasten simulieren. Bei einer Dreitastenmaus können Sie die Frage mit „n“ beantworten. Die nächste Frage bezieht sich auf den Anschluß der Maus. Wenn Sie bereits einen Link /dev/mouse auf das entsprechende Device angelegt haben, können Sie an dieser Stelle einfach die Eingabetaste drücken. Bei einer Maus am PS/2-Anschluß lautet das passende Device: /dev/psaux, serielle Mäuse werden über /dev/ttyS0 oder /dev/ttyS1 angesprochen. Beginning with XFree86 3.1.2D, the X server uses the new X11R6.1 XKEYBOARD extension to manage the keyboard layout. This requires you to answer a number of questions to add certain entries to the XF86Config file. The following dialogue will allow you to select from a list of already preconfigured keymaps. If you don’t find a suitable keymap in the list, the program will try to combine a keymap from additional information you are asked then. Such a keymap is by default untested and may require manual tuning. Please report success or required changes for such a keymap to XFREE86@XFREE86.ORG for addition to the list of preconfigured keymaps in the future. Press enter to continue, or CTRL-C to abort. Dies sind einige Hinweise, daß seit einigen Versionen von XFree86 die XKEYBOARD-Erweiterung zur Unterstützung von Tastaturen aktiviert wurde, dies ist für Sie nicht weiter interessant. List of preconfigured keymaps: 1 Standard 101-key, US encoding 2 Microsoft Natural, US encoding 3 KeyTronic FlexPro, US encoding 4 Standard 101-key, US encoding with ISO9995-3 extensions 5 Standard 101-key, German encoding 6 Standard 101-key, French encoding 7 Standard 101-key, Thai encoding 8 Standard 101-key, Swiss/German encoding 205 Kapitel 5. X11 9 Standard 101-key, Swiss/French encoding 10 Standard 101-key, US international 11 Brazilian ABNT2 12 None of the above Enter a number to choose the keymap. 5 Wählen Sie nun aus der Liste der angezeigten Tastaturbelegungen eine passende aus. Für den deutschsprachigen Raum ist dies die Nummer 5, oder auch die Nummer 8 für weiter südlich wohnende Pinguine... Now we want to set the specifications of the monitor. The two critical parameters are the vertical refresh rate, which is the rate at which the the whole screen is refreshed, and most importantly the horizontal sync rate, which is the rate at which scanlines are displayed. The valid range for horizontal sync and vertical sync should be documented in the manual of your monitor. If in doubt, check the monitor database /usr/share/doc/xserver-common/Monitors.gz to see if your monitor is there. Press enter to continue, or CTRL-C to abort. Im nächsten Schritt werden Sie nach einigen Angaben zu Ihrem Monitor gefragt. Wenn Sie im Handbuch keine technischen Daten finden oder das Handbuch verschwunden ist, finden Sie vielleicht in der Datei /usr/share/doc/xserver-common/Monitors.gz die passenden Angaben (benutzen Sie das Kommando zmore, um mit gzip gepackte Dateien anzusehen). You must indicate the horizontal sync range of your monitor. You can either select one of the predefined ranges below that correspond to industrystandard monitor types, or give a specific range. It is VERY IMPORTANT that you do not specify a monitor type with a horizontal sync range that is beyond the capabilities of your monitor. If in doubt, choose a conservative setting. hsync in kHz; monitor type with characteristic modes 1 31.5; Standard VGA, 640x480 @ 60 Hz 2 31.5 - 35.1; Super VGA, 800x600 @ 56 Hz 3 31.5, 35.5; 8514 Compatible, 1024x768 @ 87 Hz interlaced (no 800x600) 4 31.5, 35.15, 35.5; Super VGA, 1024x768 @ 87 Hz interlaced, 800x600 @ 56 Hz 5 31.5 - 37.9; Extended Super VGA, 800x600 @ 60 Hz, 640x480 @ 72 Hz 6 31.5 - 48.5; Non-Interlaced SVGA, 1024x768 @ 60 Hz, 800x600 @ 72 Hz 7 31.5 - 57.0; High Frequency SVGA, 1024x768 @ 70 Hz 8 31.5 - 64.3; Monitor that can do 1280x1024 @ 60 Hz 9 31.5 - 82.0; Monitor that can do 1280x1024 @ 76 Hz 10 31.5 - 95.0; Monitor that can do 1280x1024 @ 85 Hz 11 Enter your own horizontal sync range Enter your choice (1-11): 9 You must indicate the vertical sync range of your monitor. You can either select one of the predefined ranges below that correspond to industrystandard monitor types, or give a specific range. For interlaced modes, the number that counts is the high one (e.g. 87 Hz rather than 43 Hz). 1 50-70 2 50-90 3 50-100 4 40-150 5 Enter your own vertical sync range Enter your choice: 4 206 Kapitel 5. X11 You must now enter a few identification/description strings, namely an identifier, a vendor name, and a model name. Just pressing enter will fill in default names. The strings are free-form, spaces are allowed. Enter an identifier for your monitor definition: monitor Enter the vendor name of your monitor: no-name Enter the model name of your monitor: nichts Zunächst müssen Sie Angaben zur horizontalen Frequenz des Monitors machen, Sie können einen passenden Typ aus der Liste wählen oder über die Auswahl „11“ die genauen Angaben aus dem Handbuch des Monitors eingeben. Im nächsten Schritt wählen Sie einen der vorgegebenen Werte für die vertikale Frequenz aus, oder geben Sie die genauen Werte über die Auswahl „5“ ein. Danach können Sie beliebige Angaben zur Definition Ihres Monitors in der Konfigurationsdatei machen. Now we must configure video card specific settings. At this point you can choose to make a selection out of a database of video card definitions. Because there can be variation in Ramdacs and clock generators even between cards of the same model, it is not sensible to blindly copy the settings (e.g. a Device section). For this reason, after you make a selection, you will still be asked about the components of the card, with the settings from the chosen database entry presented as a strong hint. The database entries include information about the chipset, what server to run, the Ramdac and ClockChip, and comments that will be included in the Device section. However, a lot of definitions only hint about what server to run (based on the chipset the card uses) and are untested. If you can’t find your card in the database, there’s nothing to worry about. You should only choose a database entry that is exactly the same model as your card; choosing one that looks similar is just a bad idea (e.g. a GemStone Snail 64 may be as different from a GemStone Snail 64+ in terms of hardware as can be). Do you want to look at the card database? y 0 2 the Max MAXColor S3 Trio64V+ S3 Trio64V+ 1 3DLabs Oxygen GMX PERMEDIA 2 2 3DVision-i740 AGP Intel 740 3 3Dlabs Permedia2 (generic) PERMEDIA 2 4 928Movie S3 928 5 ABIT G740 8MB SDRAM Intel 740 6 AGP 2D/3D V. 1N, AGP-740D Intel 740 7 AGX (generic) AGX-014/15/16 8 ALG-5434(E) CL-GD5434 9 AOpen AGP 2X 3D Navigator PA740 Intel 740 10 AOpen PA2010 Voodoo Banshee 11 AOpen PA45 SiS6326 12 AOpen PA50D SiS6326 13 AOpen PA50E SiS6326 14 AOpen PA50V SiS6326 15 AOpen PA80/DVD SiS6326 16 AOpen PG128 S3 Trio3D 17 AOpen PG975 3dimage975 Enter a number to choose the corresponding card definition. Press enter for the next page, q to continue configuration. Im folgenden können Sie den Typ Ihrer Grafikkarte festlegen. Am besten benutzen Sie hierzu die mitgelieferte Datenbank, beantworten Sie also die Frage mit „y“. 207 Kapitel 5. X11 Sie bekommen nun die erste Seite der Datenbank angezeigt. Die Liste ist alphabetisch, aufsteigend sortiert. Sie können mit der Taste RETURN weiterblättern. Wenn Sie die passende Grafikkarte gefunden haben, geben Sie die Zahl ein, die Sie in der entsprechenden Zeile am linken Bildschirmrand sehen. 414 Matrox Millennium G200 SD 4MB mgag200 415 Matrox Millennium G200 SD 8MB mgag200 416 Matrox Millennium G400 16MB mgag400 417 Matrox Millennium G400 32MB mgag400 418 Matrox Millennium II 16MB mga2164w 419 Matrox Millennium II 4MB mga2164w 420 Matrox Millennium II 8MB mga2164w 421 Matrox Mystique mga1064sg 422 Matrox Mystique G200 16MB mgag200 423 Matrox Mystique G200 4MB mgag200 424 Matrox Mystique G200 8MB mgag200 425 Matrox Productiva G100 4MB mgag100 426 Matrox Productiva G100 8MB mgag100 427 MediaGX mediagx 428 MediaVision Proaxcel 128 ET6000 429 Mirage Z-128 ET6000 430 Miro CRYSTAL VRX Verite 1000 431 Miro Crystal 10SD with GenDAC S3 801/805 Enter a number to choose the corresponding card definition. Press enter for the next page, q to continue configuration. 417 Your selected card definition: Identifier: Matrox Millennium G400 32MB Chipset: mgag400 Server: XF86_SVGA Do NOT probe clocks or use any Clocks line. Press enter to continue, or CTRL-C to abort. Hier als Beispiel die schon anfangs vorgestellte Matrox-Karte, nach einigen Seiten werden Sie sicher auch Ihre Karte in der Liste finden. Häufig gibt es mehrere Einträge für die gleiche Karte, sie unterscheiden sich meist in der Speicherausstattung oder auch im benutzten Chipset. Für viele Karten gibt es auch einen allgemeingültigen Eintrag in der Datenbank (generic), diesen können Sie verwenden, wenn Sie nicht ganz genau den gewünschten Typ finden. Nach der Auswahl der Karte wird das verwendete Chipset sowie der benötigte X-Server angezeigt. Beachten Sie, daß Sie genau diesen X-Server auch als Debian-Paket installieren müssen, der Ihrer Karte entspricht. Wichtig ist auch die nächste Zeile, hier finden Sie für diese Karte den Hinweis, daß es nicht nötig ist, weitere Angaben zu den Frequenzen der Karte zu machen oder diese automatisch ermitteln zu lassen. Der X-Server kann anhand der bisherigen Angaben alle weiteren Parameter ermitteln. Now you must determine which server to run. Refer to the manpages and other documentation. The following servers are available (they may not all be installed on your system): 1 The XF86_Mono server. This a monochrome server that should work on any VGA-compatible card, in 640x480 (more on some SVGA chipsets). 2 The XF86_VGA16 server. This is a 16-color VGA server that should work on any VGA-compatible card. 3 The XF86_SVGA server. This is a 256 color SVGA server that supports a number of SVGA chipsets. On some chipsets it is accelerated or supports higher color depths. 4 The accelerated servers. These include XF86_S3, XF86_Mach32, XF86_Mach8, XF86_8514, XF86_P9000, XF86_AGX, XF86_W32, XF86_Mach64, XF86_I128, XF86_S3V, and XF86_3DLabs. 208 Kapitel 5. X11 These four server types correspond to the four different "Screen" sections in XF86Config (vga2, vga16, svga, accel). 5 Choose the server from the card definition, XF86_SVGA. Which one of these screen types do you intend to run by default (1-5)? 5 The server to run is selected by changing the first line of the /etc/X11/Xserver file. For example, setting it to "/usr/bin/X11/XF86_SVGA" selects the SVGA server. Please answer the following question with either ’y’ or ’n’. Do you want this program to modify the /etc/X11/Xserver file? y Sie müssen nun den passenden X-Server bestimmen. Im Normalfall sollten Sie hier die „5“ auswählen, der X-Server wurde ja bereits bei der Auswahl der Grafikkarte bestimmt. Die nächste Frage sollten Sie auf alle Fälle mit „y“ beantworten, das Konfigurationsprogramm wird dann die Datei /etc/X11/Xserver entsprechend Ihrer Auswahl modifizieren, so daß der passende X-Server gestartet werden kann. Now you must give information about your video card. This will be used for the "Device" section of your video card in XF86Config. You must indicate how much video memory you have. It is probably a good idea to use the same approximate amount as that detected by the server you intend to use. If you encounter problems that are due to the used server not supporting the amount memory you have (e.g. ATI Mach64 is limited to 1024K with the SVGA server), specify the maximum amount supported by the server. How much video memory do you have on your video card: 1 256K 2 512K 3 1024K 4 2048K 5 4096K 6 Other Enter your choice: You must now enter a few identification/description strings, namely an identifier, a vendor name, and a model name. Just pressing enter will fill in default names (possibly from a card definition). Your card definition is Matrox Millennium G400 32MB. The strings are free-form, spaces are allowed. Enter an identifier for your video card definition: You can simply press enter here if you have a generic card, or want to describe your card with one string. Enter the vendor name of your video card: Enter the model (board) name of your video card: Die nächste Frage nach der Speicherausstattung Ihrer Karte können Sie anhand der Vorgaben aus der Liste beantworten oder auch mit RETURN übergehen, der vorhandene Speicher wird vom X-Server im allgemeinen automatisch erkannt. Auch für die Grafikkarten müssen Sie eine ID, den Hersteller und das Modell angeben. Wenn Sie die Karte aus der Datenbank ausgewählt haben, können Sie die Werte mit RETURN einfach übernehmen. 209 Kapitel 5. X11 A Clockchip line in the Device section forces the detection of a programmable clock device. With a clockchip enabled, any required clock can be programmed without requiring probing of clocks or a Clocks line. Some cards don’t have a programmable clock chip. Choose from the following list: 1 Chrontel 8391 ch8391 2 ICD2061A and compatibles (ICS9161A, DCS2824) icd2061a 3 ICS2595 ics2595 4 ICS5342 (similar to SDAC, but not completely compatible) ics5342 5 ICS5341 ics5341 6 S3 GenDAC (86C708) and ICS5300 (autodetected) s3gendac 7 S3 SDAC (86C716) s3_sdac 8 STG 1703 (autodetected) stg1703 9 Sierra SC11412 sc11412 10 TI 3025 (autodetected) ti3025 11 TI 3026 (autodetected) ti3026 12 IBM RGB 51x/52x (autodetected) ibm_rgb5xx Just press enter if you don’t want a Clockchip setting. What Clockchip setting do you want (1-12)? Bei einigen Karten ist es notwendig, explizit den verwendeten Clockchip anzugeben, Sie können dies im allgemeinen aber mit RETURN übergehen und dem X-Server überlassen. For most modern configurations, a Clocks line is neither required or desirable. However for some older hardware it can be useful since it prevents the slow and nasty sounding clock probing at server start-up. Probed clocks are displayed at server startup, along with other server and hardware configuration info. You can save this information in a file by running ’X -probeonly 2>output_file’. Be warned that clock probing is inherently imprecise; some clocks may be slightly too high (varies per run). At this point X -probeonly can be run, and, if possible, clock information extracted from the output. It is recommended that you do this yourself and if a set of clocks is shown then you add a clocks line (note that the list of clocks may be split over multiple Clocks lines) to your Device section afterwards. Be aware that a clocks line is not appropriate for most modern hardware that has programmable clocks. You must be root to be able to run X -probeonly now. The card definition says to NOT probe clocks. Do you want me to run ’X -probeonly’ now? n Zur Ermittlung einiger Werte kann nun der X-Server in einem Testmodus gestartet werden. In unserem Beispiel ist dies nicht notwendig, übergehen Sie diesen Test, indem Sie „n“ eingeben. For each depth, a list of modes (resolutions) is defined. The default resolution that the server will start-up with will be the first listed mode that can be supported by the monitor and card. Currently it is set to: "640x480" "800x600" "1024x768" "1280x1024" for 8bpp "640x480" "800x600" "1024x768" "1280x1024" for 16bpp "640x480" "800x600" "1024x768" "1280x1024" for 24bpp "640x480" "800x600" "1024x768" for 32bpp Note that 16, 24 and 32bpp are only supported on a few configurations. Modes that cannot be supported due to monitor or clock constraints will 210 Kapitel 5. X11 be automatically skipped by the server. 1 Change the modes for 8bpp (256 colors) 2 Change the modes for 16bpp (32k/64k colors) 3 Change the modes for 24bpp (24-bit color, packed pixel) 4 Change the modes for 32bpp (24-bit color) 5 The modes are OK, continue. Enter your choice: 5 Sie bekommen nun die anhand Ihrer Angaben ermittelten Auflösungen und Farbtiefen angezeigt. Sie sollten diese Werte erst einmal so akzeptieren und später, wenn nötig, verfeinern. The XF86Config file is about to be written. Ensure you do not accidentally overwrite a previously configured one. Write configuration to /etc/X11/XF86Config? y Zuletzt wird die Konfigurationsdatei unter /etc/X11/ als XF86Config gespeichert. Wenn Sie die Datei an einem anderen Ort sichern wollen, geben Sie hier „n“ ein. In diesem Fall ist aber nicht sichergestellt, daß der X-Server die Datei findet, da diese bei Debian GNU/Linux immer unter /etc/X11/ gesucht wird. Sie können nun versuchen, den X-Server mit dem Kommando startx zu starten. 5.1.3. anXious anXious ist ein neues Programm zur Konfiguration des X-Servers und ist Bestandteil des Paketes xviddetect. anXious benutzt das Programm xviddetect, um den benötigten X-Server für die Grafikkarte zu bestimmen, abschließend werden die benötigten Pakete mit apt-get installiert. Wie bei jedem kommandozeilenbasierten Programm kennt auch anXious die Option --help: anXious - a X Configuration tool (c) 2000 Randolph Chung; GPLv2 anXious [--skipsetup] [--skipconfig] [--forcesetup] [--forceconfig] [--dodebug] [--quiet] anXious --help --skipsetup: skip the setup phase; do not try to install a server --skipconfig: skip the config phase; do not try to write a config file --forcesetup: override automatic detection of phases; force setup step --forceconfig: override automatic detection of phases; force config step --quiet: runs anXious more quietly --dodebug: Turns on debugging output --help: shows this message anXious has a setup stage, where it helps you determine what packages to install, and a configuration stage, where it writes out an XF86Config file. This program will automatically guess which step is needed based on what is available on your system. You can force anXious to start from scratch by using the --forcesetup and --forceconfig options. Wie zu sehen ist, können Sie die einzelnen Phasen der Konfiguration überspringen und auch eine neue Konfiguration erstellen, falls schon eine Datei existieren sollte. Im folgenden wird eine komplette Neukonfiguration beschrieben, wie sie auch bei der Neuinstallation eines Systems automatisch gestartet wird: 211 Kapitel 5. X11 Abbildung 5-8. Konfiguration von X11 anXious kann das Program xviddetect benutzen, um PCI (oder auf der Sparc-Architektur SBUS) Grafikkarten zu erkennen und so den benötigten X-Server zu bestimmen. Sie können diese Überprüfung aber auch übergehen. Abbildung 5-9. Konfiguration von X11 212 Kapitel 5. X11 Hier als Beispiel ein automatisch bestimmter X-Server (VGA16). Im folgenden werden Sie durch einige weitere Schritte zur Konfiguration geführt. Abbildung 5-10. Konfiguration von X11 Nachdem die wichtigsten Einstellungen durchgeführt wurden, werden von anXious die benötigten X-Server installiert. Sie können hier auswählen, ob weitere Schriften im gleichen Schritt installiert werden sollen. Auf alle Fälle sollten Sie die 75dpi-Schriften installieren. In einigen Fällen kann es sinnvoll sein, auch die 100dpi-Schriften zu installieren. Hierzu finden Sie später noch weitere Informationen. 213 Kapitel 5. X11 Abbildung 5-11. Konfiguration von X11 Debian GNU/Linux enthält verschiedene Terminal-Emulatoren, je nachdem welche auf Ihrem Installationsmedium verfügbar sind, können Sie hier nun einige auswählen, die nach der Konfiguration installiert werden. Sie sollten hier in jedem Fall das normale xterm installieren. Alle anderen sind im Funktionsumfang erweitert und im täglichen Betrieb vielleicht sinnvoller, Sie können diese aber später immer noch installieren. 214 Kapitel 5. X11 Abbildung 5-12. Konfiguration von X11 In diesem Schritt können Sie zwischen verschiedenen Windowmanagern wählen. Debian GNU/Linux verfügt über eine ganze Reihe verschiedener Windowmanager, Sie sehen hier nur die momentan, anhand der Paketdateien gefundenen, verfügbaren. Sie können später problemlos weitere Windowmanager installieren. Abbildung 5-13. Konfiguration von X11 215 Kapitel 5. X11 Im nächsten Schritt können Sie das Program xdm installieren lassen. Hiermit können Sie sich unter der grafischen Oberfläche am System anmelden. Falls Sie bei der weiteren Konfiguration Schwierigkeiten haben kann es vorkommen, daß der X-Server nicht lauffähig ist. Somit haben Sie auch keine Möglichkeit sich via xdm anzumelden. An dieser Stelle sollten Sie darauf verzichten xdm zu installieren, um Schwierigkeiten zu vermeiden. Sie können die Installation später noch nachholen oder eine der Alternativen zu xdm, auf die später noch eingegangen wird, benutzen. Abbildung 5-14. Konfiguration von X11 Im nächsten Schritt wählen Sie den Maustyp aus. Aktuelle Rechner verfügen meist über eine Maus mit PS/2-Anschluß. Wenn Sie im Textmodus das Programm gpm benutzen, sollten Sie hier den Punkt 4, „GPM Repeater“ auswählen. Die Auswahl „Other“ ist auszuwählen, wenn kein passendes Modell in der Liste zu finden ist, zum Beispiel wenn Sie eine USB-Maus einsetzen. Sie müssen dann später noch von Hand die entsprechende Änderung in der Konfigurationsdatei vornehmen. 216 Kapitel 5. X11 Abbildung 5-15. Konfiguration von X11 Wenn Sie eine Maus mit nur zwei Tasten einsetzen, können Sie hier die Emulation der dritten Taste (durch gleichzeitiges Drücken beider Maustasten) aktivieren. Abbildung 5-16. Konfiguration von X11 217 Kapitel 5. X11 Geben Sie hier das Ihrer Maus entsprechende Device oder einen Link darauf an. Wenn Sie das Programm gpm einsetzen, so geben Sie hier das Device /dev/gpmdata an. Abbildung 5-17. Konfiguration von X11 Hier nun die Auswahl der Tastatur, die Liste ist länger als hier angezeigt, Sie können mit den Pfeiltasten durch die Liste wandern. 218 Kapitel 5. X11 Abbildung 5-18. Konfiguration von X11 Aus dieser Liste wählen Sie eine Auflösung, mit der Ihr Monitor optimal arbeitet. Wählen Sie in keinem Fall einen zu großen Wert! Abbildung 5-19. Konfiguration von X11 219 Kapitel 5. X11 Wählen Sie hier die vertikale Synchronisationsrate Ihres Monitors, Angaben hierzu finden Sie im Handbuch Ihres Monitors. Abbildung 5-20. Konfiguration von X11 Hier können Sie Ihrem Monitor eine Bezeichung geben, die innerhalb der Konfigurationsdatei verwendet wird. 220 Kapitel 5. X11 Abbildung 5-21. Konfiguration von X11 Wählen Sie hier aus, mit wie viel Videospeicher Ihre Grafikkarte bestückt ist. Abbildung 5-22. Konfiguration von X11 221 Kapitel 5. X11 Auch für die Grafikkarte können Sie hier eine Bezeichnung eingeben. Abbildung 5-23. Konfiguration von X11 Hier können Sie wählen, welcher Clockchip sich auf der Grafikkarte befindet. Meist kann dieser automatisch bestimmt werden, so daß hier „none“ gewählt werden kann. 222 Kapitel 5. X11 Abbildung 5-24. Konfiguration von X11 Sie können nun ermitteln lassen, welche Frequenzen von der Grafikkarte unterstützt werden. Bei neueren Karten ist dies nicht notwendig. Abbildung 5-25. Konfiguration von X11 223 Kapitel 5. X11 Wählen Sie hier die gewünschte Farbtiefe aus. Für die ersten Versuche sind 256 Farben (8bpp) ausreichend, später können Sie diesen Wert erhöhen. Abbildung 5-26. Konfiguration von X11 Stellen Sie hier die gewünschte Auflösung ein, mit der der X-Server starten soll. 224 Kapitel 5. X11 Abbildung 5-27. Konfiguration von X11 Hier können Sie mehrere Auflösungen wählen zwischen denen Sie während des Betriebes umschalten können. Abbildung 5-28. Konfiguration von X11 225 Kapitel 5. X11 Wenn Sie bereits eine funktionsfähige Konfiguration erstellt haben, können Sie die neue Konfiguration an einem anderen Ort speichern. Abbildung 5-29. Konfiguration von X11 Hiermit ist die Konfiguration abgeschlossen. 5.2. Installation von XFree86 4.x Nach der Installation des Basissytems stehen zunächst alle notwendigen Programme zur Verwaltung und Administration sowie für den grundlegenden Betrieb des Systems zur Verfügung. Dies umfasst noch keine grafische Benutzeroberfläche, diese wird auch vielfach (beispielsweise bei Serversystemen) nicht benötigt. Debian GNU/Linux verwendet, wie alle anderen Linux-Distributionen auch, das X-Window-System zur Darstellung der grafischen Benutzeroberfläche. Die Treiber für die verschiedenen Grafikkarten werden vom XFree86-Team entwickelt (http://www.xfree86.org). XFree86 ist eine freie Implementation des X-Window-Systems, welches auf allen Unix-ähnlichen Betriebssystemen läuft. Die „86“ im Namen läßt vermuten, daß diese Software nur auf 3/4/586er-Prozessoren lauffähig ist. Ursprünglich wurde XFree86 auch dafür entwickelt, mittlerweile ist XFree86 aber auch auf anderen Prozessor-Architekturen lauffähig. Somit müssen Debian GNU/Linux-Benutzer auf keiner Architektur auf den Luxus einer grafischen Oberfläche verzichten. X11 selbst entstand im Jahre 1986 als Ergebnis der beiden Vorgängerprojekte V und W. Im Laufe der Entwicklung wurden die grundlegenden Protokolle weiterentwickelt, blieben aber immer zu den älteren Versionen kompatibel. 1992 erschien dann die erste Version von X11 für PCs. Das XFree86-Projekt selbst startete mit einem Referenzserver für die PC-Plattform, welcher von Thomas Röll (heute Xi Graphics) geschrieben wurde, welcher dem Projekt zur Verfügung gestellt wurde. 226 Kapitel 5. X11 Ungeachtet dessen ist es natürlich ohne weiteres möglich, auch mit Debian GNU/Linux in den Genuß einer grafischen Benutzeroberfläche zu kommen. Um eine Grafikkarte zu benutzen benötigt man, wie bei anderen Betriebssystemen auch, einen Treiber. Diese Treiber stehen in Form sogenannter „X-Server“ zur Verfügung. Es werden im folgenden die Installation dieses Servers und einige ausgewählte Anwendungen vorgestellt. Wie bei allen neuen Treibern, die man in ein Debian GNU/Linux-System einbindet, ist es vorteilhaft, möglichst genaue Informationen über die verwendete Hardware zu haben. Bei der Vielfalt der auf dem Markt angebotenen Grafikkarten kann es da schon manchmal etwas schwierig sein, herauszufinden, welches Modell man in seinem Rechner hat. Gerade bei Komplettgeräten hat man nicht unbedingt die genaue Modellbezeichnung zur Hand. Schwierig wird es auch bei Motherboards mit einem integrierten Grafikchip. Eine Übersicht der unterstützten Chipsets für die zur Zeit aktuelle Version 4 von XFree86 finden Sie unter der URL: http://www.xfree86.org/4.1.1/Status.html . Bitte beachten Sie: Dies ist eine Liste der Grafikchips auf den jeweiligen Karten, Sie finden keine Namen der Kartenhersteller. Wenn größere Probleme bei der Installation der Grafikkarte auftauchen, müssen Sie im schlimmsten Fall Ihren Rechner öffnen und einen Blick auf die Grafikkarte werfen. Aber meist ist das nicht notwendig. Mit der Version 4 von XFree86 wird nur noch ein einziger X-Server benötigt. Die Treiber für die verschiedenen Grafikkarten werden über Module, wie schon vom Linux Kernel her bekannt, geladen. Zunächst müssen die benötigten Pakete installiert werden. Hierzu kann tasksel benutzt werden, hier ist das Paket „X window system“ auszuwählen. Natürlich können auch gezielt die benötigten Pakete, beispielsweise mit apt-get installiert werden. Dies sind mindestens: xserver-common und xserver-xfree86, xfonts-base sowie eventuell weitere Fonts und natürlich ein Window Manager und ein grafischer Desktop, wie in folgendem Beispiel: debian:~# apt-get install xserver-xfree86 xserver-common xfonts-base gnome-core gnome-panel gnome-control-center sawfish-gnome gnome-session gnome-terminal Reading Package Lists... Done Building Dependency Tree... Done The following extra packages will be installed: cpp cpp-2.95 defoma dialog docbook-xml esound-common file gconf gdk-imlib1 gnome-bin gnome-libs-data gnome-mime-data gnome-panel-data gs gs-common gsfonts gsfonts-x11 imlib-base imlib1 libart2 libaudiofile0 libbz2-1.0 libcapplet0 libcapplet1 libcdparanoia0 libdps1 libesd0 libfreetype6 libgconf11 libgdk-pixbuf-gnome2 libgdk-pixbuf2 libgimpprint1 libglade-gnome0 libglade0 libglib1.2 libgmp3 libgnome-vfs-common libgnome-vfs0 libgnome32 libgnomeprint-bin libgnomeprint-data libgnomeprint15 libgnomesupport0 libgnomeui32 libgnorba27 libgnorbagtk0 libgtk1.2 libgtk1.2-common libgtkxmhtml1 libjpeg62 liboaf0 liborbit0 libpanel-applet0 libpaperg libpng2 librep9 libscrollkeeper0 libtiff3g libungif4g libxaw7 libxml1 libxml2 libxslt1 libzvt2 oaf perl perl-modules rep rep-gtk rep-gtk-gnome scrollkeeper sgml-base sgml-data xbase-clients xfree86-common xlibmesa3 xlibs xutils The following NEW packages will be installed: cpp cpp-2.95 defoma dialog docbook-xml esound-common file gconf gdk-imlib1 gnome-bin gnome-control-center gnome-core gnome-libs-data gnome-mime-data gnome-panel gnome-panel-data gnome-session gnome-terminal gs gs-common gsfonts gsfonts-x11 imlib-base imlib1 libart2 libaudiofile0 libbz2-1.0 libcapplet0 libcapplet1 libcdparanoia0 libdps1 libesd0 libfreetype6 libgconf11 libgdk-pixbuf-gnome2 libgdk-pixbuf2 libgimpprint1 libglade-gnome0 libglade0 libglib1.2 libgmp3 libgnome-vfs-common libgnome-vfs0 libgnome32 libgnomeprint-bin libgnomeprint-data libgnomeprint15 libgnomesupport0 libgnomeui32 libgnorba27 libgnorbagtk0 libgtk1.2 libgtk1.2-common libgtkxmhtml1 libjpeg62 liboaf0 liborbit0 libpanel-applet0 libpaperg libpng2 librep9 libscrollkeeper0 libtiff3g libungif4g libxaw7 libxml1 libxml2 libxslt1 libzvt2 oaf perl perl-modules rep rep-gtk rep-gtk-gnome sawfish-gnome scrollkeeper sgml-base sgml-data xbase-clients xfonts-base xfree86-common xlibmesa3 xlibs xserver-common xserver-xfree86 xutils 0 packages upgraded, 87 newly installed, 0 to remove and 0 not upgraded. Need to get 0B/41.7MB of archives. After unpacking 117MB will be used. Do you want to continue? [Y/n] In der Version 3.0 von Debian verwenden fast alle Pakete zur Konfiguration das neu eingeführte „debconf“ System. Dies ermöglicht es vor der Installation eines Paketes alle benötigten Daten vom Administrator zu erfragen. Für die XFree 4 Pakete ist dies auch der Fall. 227 Kapitel 5. X11 Natürlich ist es dem Systemadministrator freigestellt die Konfigurationsdateien von Hand, unter Umgehung von Debconf, zu bearbeiten. In wenigen exotischen Fällen kann es notwendig sein Änderungen direkt in der Datei /etc/X11/XF86Config-4 vorzunehmen. Die ersten beiden Dialoge beschäftigen sich mit genau dieser Frage, wie hier gezeigt ist „Yes“ auszuwählen um die Konfigurationsdaten für das Xwrapper Script via Debconf zu verwalten. Mit dem Xwrapper wir festgelegt welche XFree Version (es können gleichzeitig sowohl die Version 3.x als auch 4.x installiert werden) verwendet werden soll und mit welchen Parametern diese gestartet wird. Abbildung 5-30. XFree 4.x Installation - Debconf Xwrapper Im zweiten Schritt kann auch die Konfigurationsdatei für XFree86 selbst unter die Kontrolle von Debconf gestellt werden. 228 Kapitel 5. X11 Abbildung 5-31. XFree 4.x Installation - Debconf XFree86 Konfigurationsdatei Mit XFree86 4 steht nur noch ein XServer zur Verfügung, die Treiber für die einzelnen Grafikkarten werden als Module hinzugeladen und können im nächsten Schritt aus einer Liste ausgewählt werden. 229 Kapitel 5. X11 Abbildung 5-32. XFree 4.x Installation - Treiber Xfree86 unterstützt in der Version 4 Treiber für die verschiedenen Grafikkarten die als Modul hinzgeladen werden können. Hier kann der für die verwendete Karte benötigte Treiber ausgewählt werden. Wenn Sie sich nicht sicher sind welche Karte in Ihrem System steckt, so können Sie das Programm lspci zur Hilfe nehmen. surimi:# lspci 00:00.0 Host bridge: Intel Corp. 440BX/ZX - 82443BX/ZX Host bridge (rev 03) 00:01.0 PCI bridge: Intel Corp. 440BX/ZX - 82443BX/ZX AGP bridge (rev 03) 00:07.0 ISA bridge: Intel Corp. 82371AB PIIX4 ISA (rev 02) 00:07.1 IDE interface: Intel Corp. 82371AB PIIX4 IDE (rev 01) 00:07.2 USB Controller: Intel Corp. 82371AB PIIX4 USB (rev 01) 00:07.3 Bridge: Intel Corp. 82371AB PIIX4 ACPI (rev 02) 00:0b.0 Multimedia audio controller: Ensoniq ES1371 [AudioPCI-97] (rev 06) 00:0d.0 SCSI storage controller: Advanced Micro Devices [AMD] 53c974 [PCscsi] (rev 10) 00:0f.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8029(AS) 00:11.0 Multimedia video controller: Brooktree Corporation Bt848 TV with DMA push (rev 12) 00:13.0 Unknown mass storage controller: Triones Technologies, Inc. HPT366 / HPT370 (rev 01) 00:13.1 Unknown mass storage controller: Triones Technologies, Inc. HPT366 / HPT370 (rev 01) 01:00.0 VGA compatible controller: Number 9 Computer Company Revolution 4 (rev 02) lspci ist ein separates Paket welches Sie ggf. erst installieren müssen. Mit Unix Bordmittel läßt sich ein ähnliches Ergebniss mit dem Kommando cat /proc/pci erziehlen. Die Ausgabe von lspci ist etwas „aufgeräumter“. In dem hier gezeigten Beispiel ist die letzte Zeile entscheidend, suchen Sie in der Ausgabe nach einer Zeile die mit „VGA“ beginnt. Neben dem Hersteller der Karte (Number Nine) wird auch der Typ (Revolution 4) angezeigt. Bei sehr neuen Karten kann es vorkommen das diese noch nicht erkannt werden, die 230 Kapitel 5. X11 bedeutet aber nicht das die Karte nicht doch mit einem XFree Treiber funktioniert. Die meisten Karten funktionieren auch mit dem Treiber eines älteren Modells. Auch wenn Sie über eine Grafikkarte mit AGP Anschluss verfügen, können die Informationen wie beschrieben über lspci abgerufen werden. Der Linux Kernel macht an dieser Stelle keine Unterscheidung. Abbildung 5-33. XFree 4.x Installation - Kernel Framebuffer Hier kann bestimmt werden ob die Kernel-Framebuffer-Schnittstelle verwendet werden soll. 231 Kapitel 5. X11 Abbildung 5-34. XFree 4.x Installation - Tastatur XFree4 kann auf unterschiedliche Hardwarearchitekturen eingesetzt werden. Diese verwenden zum Teil sehr unterschiedliche Tastaturen. Auf den meisten Systemen kann die vorgegebene Einstellung belassen werden. 232 Kapitel 5. X11 Abbildung 5-35. XFree 4.x Installation - Tastatur Schritt 2 Als nächstes folgt eine Hilfe zur Konfiguration des Tastaturtyps. Es sind in den verschiedenen Ländern sehr vielen unterschiedliche Tastaturen im Umlauf, die Anzahl und Belegung der Tasten unterscheidet sich dabei jeweils. Es werden einige Beispiele gezeigt für sinnvolle Werte. 233 Kapitel 5. X11 Abbildung 5-36. XFree 4.x Installation - Tastatur Schritt 3 Hier ist der gewünschte Tastaturtyp anzugeben. 234 Kapitel 5. X11 Abbildung 5-37. XFree 4.x Installation - Tastatur Schritt 4 Im nächsten Schritt kann das Layout der Tastatur gewählt werden, für den deutschsprachigen Bereich ist die Angabe von „de“ ausreichend. 235 Kapitel 5. X11 Abbildung 5-38. XFree 4.x Installation - Tastatur Schritt 5 Hier kann das Verhalten bei der Eingabe von Akzenten auf der Tastatur verändert werden. 236 Kapitel 5. X11 Abbildung 5-39. XFree 4.x Installation - Tastatur Schritt 5 237 Kapitel 5. X11 Abbildung 5-40. XFree 4.x Installation - Maus Schnittstelle Wählen Sie hier die Schnittstellen an der die Maus angeschlossen ist. Serielle Mäuse sind meist über einen 9-poligen, trapezförmigen Stecker angeschlossen. Ein PS/2 Anschluss ist rund mit 5 Anschlüssen, ein USB Anschluss hat einen flachen, rechteckigen Stecker. Andere Anschlussformen sind eher unüblich. 238 Kapitel 5. X11 Abbildung 5-41. XFree 4.x Installation - Maus Protokoll Hier ist das Protokoll der Maus auszuwählen. Bei PS/2 und seriellen Mäusen sind verschiedene Protokolle gebräuchlich, manchmal sind auf der Verpackung oder der Unterseite der Maus Hinweise zur finden. Im Zweifelsfall müssen verschiedene Alternativen ausprobiert werden. 239 Kapitel 5. X11 Abbildung 5-42. XFree 4.x Installation - Monitor Typ Hier ist der Typ des Monitors auszuwählen. Wenn kein LCD Monitor angeschlossen ist so ist hier „No“ auszuwählen. 240 Kapitel 5. X11 Abbildung 5-43. XFree 4.x Installation - Monitor horizontaler Sync Es können hier die Werte für die horizontaler Synchronisation des Monitors angegeben werden. Diese sind ggf. dem Handbuch zu entnehmen. 241 Kapitel 5. X11 Abbildung 5-44. XFree 4.x Installation - Monitor vertikaler Sync Es können hier die Werte für die vertikale Synchronisation des Monitors angegeben werden. Diese sind ggf. dem Handbuch zu entnehmen. 242 Kapitel 5. X11 Abbildung 5-45. XFree 4.x Installation - Monitor horizontaler Sync Hier können verschiedene Auflösungen gleichzeitig ausgewählt werden mit denen der X-Server betrieben werden soll. Zwischen diesen Auflösungen kann im laufenden Betrieb umgeschaltet werden. Der X-Server wird immer mit der höchsten hier ausgewählten Auflösung starten. 243 Kapitel 5. X11 Abbildung 5-46. XFree 4.x Installation - Auflösungen Abschliessend kann noch die Farbtiefe des X-Servers gewählt werden. Moderne Grafikkarten verfügen über ausreichend Speicher um auch in hohen Auflösungen mit 24 Bit arbeiten zu können. Die eingegebenen Werte werden in der Systemdatenbank (via debconf) gespeichert. Wenn Sie später Änderungen an den gespeicherten Werten vornehmen möchten, so kann hierzu das Kommando dpkg-reconfigure xserver-xfree86 verwendet werden. 5.2.1. dexconf Während der Installation von XFree 86 wurden verschiedene Werte abgefragt und mittels debconf in der Systemdatenbank gespeichert. Aus diesen Angaben wurde eine Konfigurationsdatei erzeugt, so das das X Window System lauffähig ist. Wenn Sie von Hand Veränderungen an der Konfigurationsdatei vorgenommen haben oder gar die Datei versehentlich glöscht haben, so sind die ursprünglichen Einstellungen nicht verloren. Um die Daten aus der Datenbank auszulesen und eine Konfigurationsdatei zu erzeugen kann das Programm dexconf verwendet werden. Mit dexconf können keine Werte in der Datenbank verändert werden, benutzen Sie hierzu dpkg-reconfigure und den Namen des zu konfigurierenden Paketes. Ein simpler Aufruf von dexconf erzeugt die Konfigurationsdatei /etc/X11/XF86Config-4 mit den Werten aus der Datenbank. Weitere Optimierungen können von Hand vorgenommen werden, oder Sie greifen auf eines der folgenden Tools zurück. Im einfachsten Fall gelingt eine Neukonfiguration des X-Servers mittels dpkg-reconfigure xserver-xfree86. 244 Kapitel 5. X11 5.2.2. xf86cfg Auch mit der Version 4 von XFree86 wird ein eigenständiges Administrationswerkzeug geliefert. Zu beachten ist das eine Konfiguration von XFree mit diesem Programm nicht via Debconf verwaltet wird. xf86cfg ist auf die neuen Funktionen von XFree86 4 angepasst und unterstützt die Verwaltung von mehreren Grafikkarten und Monitoren sowie verschiedene gleichzeitig angeschlossenen Eingabegeräte wie zum Beispiel mehreren Mäuse oder eine Maus und ein Grafiktablett. Beim ersten Start von xf86cfg wird die aktuelle Konfigurationsdatei eingelesen und die dort bereits definierten Geräte dargestellt. 5.2.2.1. Textmodus Der Textmodus bietet, ähnlich wie das Debian Installationsprogramm, die Möglichkeit über ein Menü zu den verschiedenen Abschnitten der Konfiguration zu springen. Hier können Geräte hinzugefügt oder bereits konfigurierte verändert werden. Abbildung 5-47. xf86cfg - Textmodus Hier ein Beispiel für die Auswahl der Grafikkarte. 245 Kapitel 5. X11 Abbildung 5-48. xf86cfg - Textmodus 5.2.2.2. Grafikmodus Wird xf86cfg ohne weitere Parameter gestartet, so wird ein X Server initalisiert, die Konfiguration kann dann bereits mit einer Grafischen Oberfläche erfolgen. Ist die Maus nach dem Start nicht funktionsfähig, so können die Optionen über die Tastatur angewählt werden. Achten Sie darauf das neu hinzugefügte Geräte immer oben links in der Ecke erscheinen, diese überdecken eventuell dort bereits vorhandene Geräte. Jedes Gerät kann mit der Maus verschoben werden. 246 Kapitel 5. X11 Abbildung 5-49. xf86cfg - X11 Neue Geräte können über die Symbole am oberen Rand des Fensters hinzugefügt werden. Nachdem alle Parameter für das neue Gerät eingestellt wurden, kann dieses mit „enable“ eingebunden werden. Dies wird durch eine Verbindungslinie zum Rechner dargestellt. 5.3. Starten von X Sie können nun, falls Sie bereits einen Windowmanager installiert haben, die grafische Oberfläche mit startx starten. Wenn noch kein Windowmanager installiert ist, merken Sie das spätestens nach dem Start der grafischen Oberfläche. Sie können dann keines der Fenster verschieben, verkleinern oder sonstwie damit arbeiten. Im Abschnitt über Windowmanager finden Sie einige Vorschläge, installieren Sie mindestens eines dieser Pakete. Wenn Sie verschiedene Windowmanager installieren, können Sie (bei den meisten) während des Betriebes zwischen diesen umschalten. Sie müssen dazu weder Ihre Programme noch den X-Server oder gar den Rechner neu starten. Wenn Ihr Monitor nach einige Sekunden kein brauchbares Bild anzeigt, können Sie den X-Server mit der Tastenkombination CTRL+ALT+BACKSPACE (oder CTRL+AUSSCHALTEN beim Macintosh) zwangsweise beenden. Versuchen Sie dann noch einmal den X-Server zu konfigurieren. 247 Kapitel 5. X11 Wenn Sie sich gleich nach dem Start des Rechners auf der grafischen Oberfläche einloggen wollen, installieren Sie eines der Pakete login.app, gdm oder auch xdm. Stellen Sie aber vorher unbedingt sicher, daß der X-Server richtig konfiguriert und funktionsfähig ist. Es kann sonst dazu kommen, daß Sie sich überhaupt nicht mehr am System anmelden können! 5.3.1. xdm XDM ist die älteste und auch auf anderen Unix-Systemen weit verbreitete Methode zum Anmelden am System mit einer grafischen Oberfläche. XDM wird auch häufig übers Netzwerk eingesetzt, um sich von einem X-Terminal oder einem anderen Betriebssystem mit X11-Emulation auf einem Unix-System anzumelden. Natürlich können Sie XDM auch auf Ihrem lokalen System einsetzen, es gibt aber verschiedene andere Programme, die optisch ansprechender gestaltet sind und über mehr Funktionen verfügen. 5.3.2. gdm - GNOME Display Manager GDM ist ein Ersatz für den bekannten XDM, einem Display Manager für X11. GDM wurde von Grund auf neu geschrieben und enthält keinerlei Code aus anderen Programmen. Abbildung 5-50. GNOME Display Manager 5.3.2.1. Der GDM-Daemon GDM wurde im Hinblick auf größtmögliche Sicherheit entworfen. Beim Start liest GDM zunächst die Konfigurationsdatei ein und startet für jedes lokale Display einen X-Server sowie einen eigenen Prozeß. Der Hauptprozeß wartet dann auf eventuelle XDMCP Requests von anderen Rechnern oder Terminals und überwacht auch die lokalen Display-Sitzungen. 248 Kapitel 5. X11 Ein gestarteter GDM-Prozeß ruft nach dem Start des X-Servers das Programm gdmlogin auf, welches das eigentliche Programm zum Anmelden am System unter einer grafischen Oberfläche darstellt. Dieses Programm läuft unter einer eigenen User-ID und kommuniziert mit dem Hauptprogramm. GDM unterstützt neben den normalen Paßwortdateien die Benutzung von Shadow-Paßwörtern sowie PAM (Pluggable Authentication Modules). Entfernte Rechner oder X-Terminals können über den XDMCP Port auf den GDM-Daemon zugreifen. GDM erlaubt allen Rechnern, die im Abschnitt „service“ der Konfigurationsdatei des TCP Wrappers beschrieben sind, den Zugriff. Sie können die XDMCP-Unterstützung aber auch komplett deaktivieren. Um widerstandfähiger gegen die in letzter Zeit leider sehr beliebten DOS (Denial of Service-) Angriffe zu sein, wurden einige Überprüfungen eingebaut. Sie können über die Konfiguration viele Protokollparameter u.ä. verändern. Wenn Sie sich nicht sicher sind, sollten Sie allerdings besser nichts an diesen Einstellungen verändern. Für die meisten Anforderungen sind die Standardeinstellungen gut geeignet. Alle Zugriffe auf Dateien werden von GDM mit der User-ID des jeweiligen Benutzers ausgeführt. GDM verfügt über einen sogenannten „Face Browser“, mit diesem wird für jeden Benutzer des Systems ein Bild in der Login-Maske angezeigt. Dieses kann vom Benutzer durch ein eigenes Foto ersetzt werden, die Dateigröße kann vom Systemverwalter begrenzt werden, auf Systemen mit vielen Benutzern sollten Sie diese Funktion aus Geschwindigkeitsgründen deaktivieren. 5.3.2.2. Der GDM Daemon GDM unterstützt auch das X Display Manager Protocol (XDMCP), mit dem sich X-Sessions auf entfernten Rechnern betreiben lassen. GDM lauscht hierzu auf dem UDP Port 177 und beantwortet Anfragen (QUERYs und BROADCAST_QUERYs), indem ein „WILLING“, also eine Bestätigung, gesendet wird. GDM kann auch so konfiguriert werden, daß INDIRECT-Queries beantwortet werden und ein sogenannter „host chosser“ auf dem entfernten Display angezeigt wird. GDM merkt sich die Auswahl des Benutzers und leitet die Auswahl an den entsprechenden Server weiter. GDM unterstützt lediglich den MIT-MAGIC-COOKIE-1 zur Authentifizierung. Da es recht einfach ist, bei der Verwendung von XDMCP einen Rechner mit DOS (Denial of Service)-Angriffen lahmzulegen, wurden einige Funktionen eingebaut, um diesem entgegenzuwirken. Detailliertere Informationen finden Sie weiter unten. Obwohl GDM über diesen Schutz verfügt, sollten Sie sich nicht alleine darauf verlassen. Das X-Protokoll ist anfällig gegen Angriffe und Sie sollten, wenn es möglich ist, den Port 177 in Ihrem Firewall sperren. Bedenken Sie auch, daß bei der Verwendung von X übers Netzwerk alle Eingaben von der Tastatur (also auch Paßwörter) unverschlüsselt übertragen werden. Eine weitere Gefahr sind Cookies, die auf einem per NFS gemounteten Verzeichnis gespeichert werden. 5.3.2.3. Der „Greeter“ Der „Greeter“ dient zur „Begrüßung“ der Benutzer am System und stellt die eigentliche Eingabemaske für den Benutzernamen und das Paßwort zur Verfügung. Am oberen Rand des Fensters finden Sie ein Menü mit verschiedenen Einträgen. Das voreingestellte GNOME-Logo kann durch ein anderes ersetzt oder ganz deaktiviert werden. Ebenso können Sie den „Face-Browser“, der normalerweise nicht aktiv ist, aktivieren. 5.3.2.3.1. Benutzername und Paßwort In das Textfeld werden Benutzername und Paßwort eingegeben. gdmlogin kommuniziert dabei mit dem darunterliegenden Daemon gdm und zeigt über dem Texteingabefeld die nächste benötigte Eingabe an. Diese kann sich, je nach verwendetem Authentifizierungssystem, ändern. 249 Kapitel 5. X11 5.3.2.3.2. Menü Über die Menüleiste können Sie verschiedene Desktop-Umgebungen auswählen sowie die gewünschte Sprache einstellen. Weiterhin finden Sie hier die Möglichkeit, das System herunterzufahren oder einen Neustart zu veranlassen; Sie müssen sich hier nicht erst komplett am System anmelden (natürlich werden Sie aber nach dem entsprechenden Paßwort gefragt). Wenn Sie auf dem Login-Bildschirm noch andere Anwendungen benutzen möchten, zum Beispiel um den Systemstatus anzuzeigen, so können Sie das Fenster auch als Icon verkleinern. 5.3.2.3.3. Der „Face Browser“ Wenn Sie den Face Browser aktivieren, kann vom Systemadministrator oder von jedem einzelnen Benutzer ein Bild zu dem entsprechenden Benutzernamen abgelegt werden. Sie können dann mit einem Mausklick auf das passende Bild den Benutzer auswählen und müssen lediglich das entsprechende Paßwort angeben. Da der „Greeter“ mit einer eigenen User-ID läuft (aus Sicherheitsgründen werden nicht die Administratorrechte verwendet), müssen die Bilder für den entsprechenden User lesbar sein. Jeder Benutzer, der sein Bild mit dem Dateinamen photo im Verzeichnis ~/.gnome/ ablegt, muß sein Homeverzeichnis und das Verzeichnis ~/.gnome/ sowie die Datei photo selber für die Benutzergruppe „other“ lesbar machen. Wenn die Bilder systemweit vom Administrator installiert werden, müssen diese Dateien für den Benutzer „gdm“ lesbar sein. Sie können über die Konfigurationsdatei bestimmte Benutzer aus dem „Face Browser“ ausblenden. Hierzu werden alle nicht gewünschten Benutzernamen in den Abschnitt Exclude eingetragen. Bedenken Sie bitte, daß es ein Sicherheitsrisiko ist, alle Benutzernamen eines Systems preiszugeben, genau dies geschieht mit dem „Face Browser“. Insbesondere sollten Sie diese Funktion nicht über das Internet benutzen. Potentiellen Angreifern wird so der Zugriff erleichtert, der Benutzername ist schon mal bekannt. Das ist ein Punkt, den ein Angreifer nicht mehr herausfinden muß. 5.3.2.3.4. Logo Sie können das Logo durch ein eigenes ersetzen. Hierzu muß das Logo in einem Format vorliegen, welches von der Imlib verarbeitet werden kann, also zum Beispiel: GIF, JPG, PNG, TIFF, XPM und einige andere... Weiterhin muß das Logo natürlich auch für den Benutzer lesbar sein, unter dem der gdm-Prozeß läuft. 5.3.2.4. Konfiguration Die Konfigurationsdateien zu GDM finden Sie unter /etc/gdm/. Dort befindet sich die Datei gdm.conf sowie einige Unterverzeichnisse: Init/ PostSession/ PreSession/ Sessions/ gdm.conf In der Datei /etc/gdm/gdm.conf befinden sich die Parameter sowohl für gdmlogin als auch für gdmchooser, da sich viele Funktionen dieser beiden Programme überschneiden. Die restliche Konfiguration wird über Scripte vorgenommen, die von den Paketen in den anderen Verzeichnissen abgelegt werden. So können von der Paketverwaltung ganz einfach zum Beispiel neue Windowmanager hinzugefügt werden, ohne daß der Systemadministrator etwas an der Konfiguration ändern muß. 250 Kapitel 5. X11 5.3.2.4.1. Die Script-Verzeichnisse In diesem Abschnitt werden die Verzeichnisse /Init, /PreRoot und /PostRoot beschrieben. Wenn der X-Server erfolgreich gestartet wurde, versucht GDM das Script Init/<displayname> auszuführen. Dies wird im Normalfall Init/:0 für das erste lokale Display sein. Wenn diese Datei nicht gefunden wird, versucht GDM das Script Init/Default auszuführen. Dieses wird mit den Rechten des Superusers (root) ausgeführt und GDM wird so lange blockiert, bis das Script beendet wird. Sie können in diesem Script zum Beispiel Programme wie xconsole oder xsetroot aufrufen. Der Systemadministrator kann bestimmen, ob Programme, die von dem Init-Script aufgerufen werden, vor dem Starten der Benutzersitzung beendet werden sollen oder nicht. Dies wird über die Variable „KillInitClients“ gesteuert. Informationen hierzu finden weiter unten. Wenn ein Benutzer sich erfolgreich am System angemeldet hat, versucht GDM ein „PreSession Script“ zu starten. Diese Scripte verhalten sich sehr ähnlich wie die Init-Skripte, PreSession/<displayname> wird zunächst ausgeführt. Sollte diese Datei nicht existieren, versucht GDM die Datei PreSession/Default auszuführen. Auch diese Scripte werden mit „Root“-Rechten ausgeführt und GDM wird blockiert bis das Script beendet ist. Sie können dieses Script zum Beispiel für Accounting-Zwecke nutzen. Die Umgebungsvariable $USER enthält den Loginnamen des Benutzers. Wenn das Script ohne Fehler ausgeführt wurde, muß es den Wert 0 zurückgeben, andernfalls bricht GDM den Loginvorgang ab. Danach wird das „Session Script“ ausgeführt. Dieses befindet sich im Verzeichnis etc/gdm/Session. Welches von diesen Scripten ausgeführt wird, hängt von der Auswahl des Benutzers aus dem „Session“-Menü ab. Wenn keine Auswahl getroffen wird, und der Benutzer bisher keine Session in der Datei ~/.gnome/gdm gespeichert hat, wird das Script Sessions/Default ausgeführt. Wenn der Benutzer die Sitzung beendet, wird das „PostSession“-Script ausgeführt. Die Funktion ist ähnlich wie bei den „Init“- und den „PreSession“-Scripten. Zunächst wird versucht das Script PostSession/<displayname> auszuführen, wenn dieses nicht gefunden wird, wird mit dem Script PostSession/Default fortgefahren. Auch diese Scripte werden mit Superuser-Rechten ausgeführt, der Daemon wird während der Zeit gestoppt und die Umgebungsvariable $USER enthält den Benutzernamen desjenigen Benutzers, der die Session beendet hat. Beachten Sie bitte, daß dieses Script auch ausgeführt wird, wenn ein Fehler (zum Beispiel ein I/O Error) aufgetreten ist. Es kann nicht immer sichergestellt werden, daß alle X-Anwendungen während der Laufzeit dieses Scriptes funktionieren. Keines der „Init“-, „PreSession“- oder „PostSession“- Scripte ist zwingend erforderlich. GDM funktioniert hervorragend ohne diese Scripte. Allerdings benötigen Sie mindestens ein „Session“- Script, damit GDM funktioniert. 5.3.2.4.2. Konfigurationsdatei - gdm.conf Die GDM-Konfigurationsdatei /etc/gdm/gdm.conf unterteilt sich in verschiedene Bereiche, welche durch Variablen die verschiedenen Teile von GDM beeinflussen. Die Syntax dieser Datei entspricht der bei GNOME-Programmen Konventionen. Schlüsselwörter (Keywords) in eckigen Klammern definieren die einzelnen Bereiche, Text vor einem Gleichheitszeichen stellt Variablen dar und die nach dem Gleichheitszeichen folgenden Zeichen oder Zahlen stellen den Wert, der dieser Variablen zugewiesen werden soll, dar. Wenn Sie eine bestimmte Funktion aktivieren oder deaktivieren möchten, werden hierfür häufig die Zahlen 0 (für deaktiviert) und 1 (für aktiviert) benutzt. 5.3.2.4.3. Daemon-Konfiguration [daemon] Chooser Chooser=bin/gdmchooser - -disable-sound Programmname und kompletter Pfad für das Programm gdmchooser, gefolgt von weiteren Argumenten. 251 Kapitel 5. X11 DefaultPath DefaultPath=/bin:/usr/bin:/usr/bin/X11:/usr/local/bin Hier können Sie den Suchpfad angeben, der als Umgebungsvariable gesetzt werden soll. Wenn Sie aus Ihrem System weitere Verzeichnisse mit Programmen angelegt haben, die allen Benutzern zugänglich sein sollen, so können Sie diese Verzeichnisse hier mit angeben. DisplayInitDir DisplayInitDir=etc/gdm/Init Diese Variable enthält das Verzeichnis, in dem sich die „Init-Skripte“ befinden. Weiter unten finden Sie nähere Informationen zu den eigentlichen Scripten. Greeter Greeter=bin/gdmlogin - -disable-sound Kompletter Pfad und Name für das Programm gdmlogin mit eventuellen weiteren Argumenten. Group Group=gdm Die Benutzergruppe, unter der die Programme gdmlogin und gdmchooser laufen. HaltCommand HaltCommand=/sbin/shutdown -h now Kompletter Pfad und Programmname sowie weitere Argumente, welches aufgerufen wird, wenn der Benutzer aus dem Menü die Option „Halt“ aktiviert. KillInitClients KillInitClients=1 Mit dieser Option aktivieren oder deaktivieren Sie das Beenden aller Programme, die über die Init-Skripte gestartet wurden, nachdem der Benutzer sich einloggt. Die Standard-Einstellung ist hier „1“, die Programme werden damit beendet. LogDir LogDir=var/gdm Diese Variable enthält das Verzeichnis, in dem sich die Logdateien von GDM befinden. Wenn Sie hier keinen Wert angeben, wird der Wert der Variablen ServAuthDir verwendet. Angaben zu dieser Variablen finden Sie weiter unten. PidFile PidFile=var/run/gdm.pid Name und Pfad der Datei, welche die Prozeß-ID des Programms gdm enthält. 252 Kapitel 5. X11 PostSessionScriptDir PostSessionScriptDir=etc/gdm/PostSession Beschreibt das Verzeichnis, in dem sich die Scripte befinden, welche nach dem Ausloggen des Benutzers ausgeführt werden. Weitere Informationen hierzu finden Sie unter „Script Directories“. PreSessionScriptDir PreSessionScriptDir=etc/gdm/PreSession Das Verzeichnis, in dem sich die Scripts befinden, die vor dem Einloggen des Benutzers ausgeführt werden. Auch hierzu finden Sie weitere Informationen unter „Script Directories“. RebootCommand RebootCommand=/sbin/shutdown -r now Kompletter Pfad, Programmname und weitere Argumente für das Programm, welches ausgeführt wird, wenn der Benutzer aus dem „System-Menü“ die Option „Reboot“ auswählt. Dies ist normalerweise das Programm shutdown. RootPath RootPath=/sbin:/usr/sbin:/bin:/usr/bin:/usr/bin/X11:/usr/local/bin Suchpfad, der für den Benutzer „root“ sowie für die Scripte (Init, PreSession, PostSession), die von GDM ausgeführt werden, gesetzt wird. ServAuthDir ServAuthDir=/var/gdm Das Verzeichnis, welches die X-Authentifizierungsdateien für die einzelnen Displays enthält. Dieses Verzeichnis muß dem Benutzer und der Gruppe „gdm“ gehören und die Zugriffsrechte 750 haben. SessionDir SessionDir=etc/gdm/Sessions Dieses Verzeichnis enthält die Scripte für die verschiedenen Session-Typen, die auf dem System verfügbar sind. User User=gdm Der Benutzername, unter dem gdmlogin und gdmchooser laufen. UserAuthDir UserAuthDir= Das Verzeichnis, in dem die .Xauthority-Dateien der einzelnen Benutzer liegen. Wenn hier kein Wert angegeben ist, wird die Datei im Homeverzeichnis des Benutzers verwendet. 253 Kapitel 5. X11 UserAuthFBDir UserAuthFBDir=/tmp Falls GDM die Datei .Xauthority eines Benutzers nicht aktualisieren kann, wird ein „Fallback cookie“ in diesem Verzeichnis erzeugt. UserAuthFile UserAuthFile=.Xauthority Dateiname, in der die benutzerspezifischen Cookies gespeichert werden. 5.3.2.4.4. Sicherheitsoptionen [security] AllowRoot AllowRoot=0 Normalerweise sind Logins des Systemadministrators verboten. Wenn Sie diese Variable auf den Wert „1“ setzen, kann sich auch der Systemadministrator auf der grafischen Oberfläche am System anmelden. Auf Systemen, die PAM (Plugable Authentification Modules) unterstützen, wird dieser Parameter ignoriert. Bei diesen Systemen entscheiden die PAM-Bibliotheken, ob ein Benutzer einloggen darf oder nicht. RelaxPermissions RelaxPermissions=0 GDM ignoriert normalerweise Dateien und Verzeichnisse, die für andere Benutzer wie den Besitzer schreibbar sind. Wenn Sie den Standardwert verändern, können Sie die im folgenden beschriebenen Verhaltensweisen aktivieren: 0 - nur Verzeichnisse und Dateien, die dem Benutzer gehören, werden beachtet. 1 - Zugriff auf Dateien und Verzeichnisse, die von der Gruppe schreibbar sind. 2 - Zugriff auf von allen schreibbare Dateien und Verzeichnisse. RetryDelay RetryDelay=3 Zeit in Sekunden, die nach einem fehlgeschlagenen Login gewartet wird, bis eine erneute Eingabe im Textfeld möglich ist. UserMaxFile UserMaxFile=65536 Begrenzung in Byte der von GDM lesbaren Dateigröße. Beachten Sie in diesem Zusammenhang auch die Option „RelaxPermissions“. gdm und gdmlogin sind aus Sicherheitsgründen sehr kleinlich beim Zugriff auf Dateien. Neben der Beachtung der Zugriffsrechte wird darauf verzichtet, symbolische Links zu verfolgen. Auch Dateien, die von weiteren Benutzern wie dem Besitzer der Datei schreibbar sind, können unter Umständen nicht gelesen werden. 254 Kapitel 5. X11 VerboseAuth VerboseAuth=0 Hiermit beeinflussen Sie die Anzeige der Fehlermeldungen bei der Authentifizierung im „Greeter“. Abhängig von den Systemeinstellungen können Benutzernamen angezeigt werden, wenn Sie diese Option aktivieren. 5.3.2.4.5. XDCMP Support [xdmcp] DisplaysPerHost DisplaysPerHost=1 Zur Verhinderung von DOS-Angriffen erlaubt GDM normalerweise nur ein Display je entferntem Host. Sie können diesen Wert erhöhen, falls dies nicht ausreichend ist. Enable Enable=0 Wenn Sie diesen Wert auf 1 setzen, aktivieren Sie den XDMCP Support für Remote- bzw. X-Terminals. GDM hört auf dem UDP Port 177 auf Anfragen, hierzu finden Sie weiter unten weitere Angaben. Wenn GDM entsprechend übersetzt (compiliert) wurde, kann der Zugriff über die TCP-Wrapper-Bibliothek gesteuert werden. Der Name für diesen Service lautet „gdm“. Sie sollten dann: gdm: .my.domain in die Datei /etc/hosts.allow eintragen. In der Man-Page zu hosts_access(5) finden Sie weitere Angaben hierzu. HonorIndirect HonorIndirect=1 Aktiviert XDMCP INDIRECT, also die remote Ausführung von gdmchooser, für X-Terminals, welche keinen eigenen Display Browser unterstützen. MaxPending MaxPending=4 Maximale Anzahl der gleichzeitig offenen Verbindungen. Dient zur Verhinderung von DOS-Angriffen. Dieser Parameter beschränkt nicht die Anzahl der maximal möglichen Remote-Displays. Es wird lediglich die Anzahl der gleichzeitigen Verbindungen begrenzt. MaxPendingIndirect MaxPendingIndirect=4 Maximale Anzahl der „host chooser“. 255 Kapitel 5. X11 MaxSessions MaxSessions=16 Maximale Anzahl der gleichzeitigen Remote-Display-Verbindungen. MaxWait MaxWait=30 Timeout in Sekunden, wie lange auf eine Antwort von einem Remote-Display gewartet werden soll. Danach wird die Sitzung als beendet angesehen und für eine neue Anfrage freigegeben. MaxWaitIndirect MaxWaitIndirect=30 Maximale Zeit in Sekunden, die auf einen Display Request vom Chooser gewartet wird. Port Port=177 Die UDP-Portnummer, auf der GDM auf Anfragen wartet. Sie sollten diesen Wert nicht verändern. 5.3.2.4.6. Optionen zur Benutzeroberfläche [gui] Gtkrc Gtkrc= Pfad zur gtkrc mit dem „Theme“, welches bei den Programmen gdmlogin und gdmchooser benutzt werden soll. MaxIconWidth MaxIconWidth=128 Maximale Breite der Icons (Symbole) in Pixeln, die im „Face-Browser“ angezeigt werden. Größere Bilder werden entsprechen skaliert. MaxIconHeight MaxIconHeight=128 Maximale Höhe der Icons (Symbole) in Pixeln, die im „Face-Browser“ angezeigt werden. Größere Bilder werden entsprechend skaliert. 5.3.2.4.7. Greeter-Konfiguration [greeter] Browser Browser=0 256 Kapitel 5. X11 Wenn Sie diesen Wert auf „1“ setzen, wird der „Face-Browser“ aktiviert. DefaultFace DefaultFace=share/pixmaps/nophoto.png Dieses Bild wird angezeigt, wenn der Benutzer kein persönliches Bild installiert hat. Geben Sie den Pfad und Dateinamen an. Jeder Benutzer kann in seinem Homeverzeichnis unter .gnome/photo ein persönliches Bild ablegen. Dieser Pfad und die Datei muß für den Benutzer „gdm“ lesbar sein. Das Dateiformat muß von der Imlib unterstützt werden, also zum Beispiel PNG oder JPEG. DefaultLocale DefaultLocale=english Die gewünschte Sprache, die für eine Session verwendet werden soll, solange keine anderen Informationen in ~user/.gnome/gdm gefunden werden und der Benutzer keine andere Sprache aus dem Menü „Locale“ im „Greeter“ ausgewählt hat. Dies funktioniert leider in der aktuellen Version von gdm noch nicht. Eine Lösung finden Sie weiter unten. Exclude Exclude=bin,daemon,adm,lp,sync,shutdown,halt,mail,... Eine durch Kommata getrennte Liste der Benutzer des Systems, die nicht im „Face-Browser“ angezeigt werden sollen. Benutzer, die auf diesem Wege ausgeklammert wurden, können sich trotzdem am System anmelden. Font Font=-adobe-helvetica-bold-r-normal-*-*-180-*-*-*-*-*-* Schriftart, die für den Begrüßungstext im „Greeter“ benutzt werden soll. GlobalFaceDir GlobalFaceDir=share/faces/ Systemweites Verzeichnis für Bilder der einzelnen Benutzer. In diesem kann der Systemadministrator für jeden Benutzer ein Photo ablegen, ohne auf die Homeverzeichnisse der Benutzer zugreifen zu müssen. Die Dateinamen entsprechen hierbei den Benutzernamen. Ein Beispiel: <GlobalFaceDir>/fr enthält ein Photo des Benutzers „fr“. Sie müssen die Erweiterung des Dateinamens nicht angeben. Die Dateinamen entsprechen den Namen der Benutzer. Auch diese Datei muß in einem von der Imlib lesbaren Format vorliegen. Wenn der Benutzer eine persönliche Datei in seinem Homeverzeichnis abgelegt hat, so wird diese immer bevorzugt behandelt. Icon Icon=share/pixmaps/gdm.xpm Ein Symbol, welches von gdmlogin benutzt wird, wenn das Fenster als Symbol (Icon) abgelegt wird. Auch diese Grafik muß in einem von der Imlib lesbaren Format vorliegen und für den Benutzer „gdm“ lesbar sein. Wenn keine Datei angegeben wird, ist diese Funktion (Verkleinern des Fensters) deaktiviert. 257 Kapitel 5. X11 LocaleFile LocaleFile=etc/gdm/locale.alias Datei im GNU locale Format mit den Einträgen der unterstützten Sprachen auf dem aktuellen System. Logo Logo=share/pixmaps/gnome-logo-large.png Pfad und Dateiname zur Grafik, die als Logo angezeigt wird. Wenn keine Datei angegeben wird, ist die Funktion deaktiviert. Auch diese Datei muß von der Imlib unterstützt werden und für den Benutzer „gdm“ lesbar sein. Quiver Quiver=1 Wenn diese Option aktiv ist, „schüttelt“ sich das Login-Fenster, wenn ein falscher Benutzername oder ein falsches Paßwort angegeben wird. SystemMenu SystemMenu=0 Schaltet die Menüs „Shutdown“ und „Halt“ aus. Welcome Welcome=Welcome to %n Der Begrüßungstext, der im „Greeter“ in der Nähe des Logos angezeigt wird. Folgende Steuerzeichen werden unterstützt: %% Das ‘%’-Zeichen %d Der Hostname des Systems %h der komplette Name inklusive Domain %m Prozessor-Typ %n Nodename (meist Hostname ohne Domain) %r Release (Betriebssystem-Version) %s Sysname (Betriebssystem) 5.3.2.4.8. XDCMP-Chooser-Optionen [chooser] DefaultHostImage DefaultHostImage=share/pixmaps/nohost.png Dateiname und Pfad für das Symbol, welches angezeigt wird, falls kein spezielles Symbol für diesen Host gefunden wird. 258 Kapitel 5. X11 HostImageDir HostImageDir=share/hosts Verzeichnis für spezielle Symbole für einzelne Hosts. Diese werden von gdmchooser angezeigt. Der Dateiname entspricht dem kompletten Hostname (FQDN). ScanTime ScanTime=3 Wartezeit für eine Antwort auf einen BROADCAST_QUERY. 5.3.2.4.9. Konfiguration des lokalen X-Servers [servers] 0 0=/usr/bin/X11/X In diesem Abschnitt werden die lokalen X-Server definiert. Jede Zeile steht für eine Displaynummer und das Kommando, welches zum Start des Servers aufgerufen wird. GDM hängt "-auth <ServAuthDir>/:n.Xauth :n" hinter jede Zeile, wobei „n“ die Nummer des Displays darstellt. 5.3.2.5. GDM in deutsch Wie schon im Abschnitt zur Konfigurationsdatei von GDM beschrieben, ist die Auswahl der Sprache momentan noch nicht komplett in GDM implementiert. Wenn Sie dennoch Wert auf eine deutschsprachige Begrüßung legen, müssen Sie am Startscript von GDM eine kleine Veränderung vornehmen. GDM wird über die Datei /etc/init.d/gdm gestartet. Mit dem Parameter „start“ beginnt in dieser Datei der Abschnitt mit den zum Start von GDM nötigen Kommandos. Suchen Sie diesen Abschnitt und fügen Sie vor dem Start von GDM die Zeile export LANG=de ein. Hier ein Ausschnitt aus der Datei: ... PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DAEMON=/usr/bin/gdm NAME=gdm DESC="GNOME Display Manager" test -f $DAEMON || exit 0 case "$1" in start) echo -n "Starting $DESC: "

  1. Ergänzung für deutsche Texte

export LANG=de start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid --exec $DAEMON echo "$NAME."

stop) ... 259 Kapitel 5. X11 Wenn Sie nun GDM neu starten (mit dem Kommando: /etc/init.d/gdm stop ; /etc/init.d/gdm start), sollten die Menüs in der gewünschten Sprache erscheinen. Als Krönung können Sie nun noch den Text „Welcome to ...“ in der GDM-Konfigurationsdatei durch einen passenden Text ersetzen. Beachten Sie, daß dieser Eingriff die Sprache für alle Benutzer des Systems verändert und nur als Zwischenlösung zu sehen ist, bis GDM in der Lage ist, die Sprache selber zu verwalten! Nach dem Anmelden am System werden Sie bemerken, daß Programme, die auf GNOME basieren, immer noch über englisch-sprachige Menüs verfügen. Auch dies ist auf die noch fehlende Implementation in GDM zurückzuführen. Wenn Sie die komplette Benutzeroberfläche eindeutschen möchten, finden Sie im Abschnitt über GNOME weitere Hinweise hierzu. Der Eingriff hierfür ist im Prinzip der gleiche wie hier für GDM gezeigt. 5.3.3. login.app Login.app ist kein Display-Manager wie xdm oder gdm, Sie können diesen also nicht verteilt im Netz nutzen, sondern nur lokal auf einem Rechner. Dafür wurde Login.app aber auch nicht entworfen Ziel war es, ein kleines, schnelles und gut aussehendes grafisches Login zu bieten. Abbildung 5-51. Login.app Sie können Ihr System auch von Login.app aus herunterfahren, geben Sie hierzu als Benutzernamen „halt“, „reboot“ oder auch „suspend“, gefolgt vom Paßwort für den Superuser, an. Die Homepage zu Login.app finden Sie unter: http://www.fukt.hk-r.se/~per/login/. 5.4. X11 Schriften Wer viel mit Texten hantiert oder Debian GNU/Linux im grafischen Bereich einsetzt, kommt nicht um den Einsatz von unterschiedlichsten Schriften herum. Die grafische Oberfläche X11 setzt standardmäßig Schriften im Postscript-Format ein. Debian GNU/Linux liefert eine ganze Reihe von diesen Schriften mit. Auf anderen Betriebssystemen haben sich aber auch Schriften im sogenannten True-Type-Format durchgesetzt, diese findet man bei vielen kommerziellen Programmen oder als Zugabe auf CDs in diversen Computerzeitschriften sowie im Internet. Im folgenden wird beschrieben, wie diese Schriften unter Debian GNU/Linux genutzt werden können. 260 Kapitel 5. X11 Wenn Sie Display-Manager, wie zum Beispiel xdm oder gdm, einsetzen, sollten Sie diesen zuallererst deaktivieren. Sie müssen einige Änderungen an den Konfigurationsdateien ihres X-Servers vornehmen, dies kann dazu führen, daß dieser nicht mehr korrekt startet und das System in einen unbenutzbaren Zustand bringt. Nach erfolgreicher Änderung können Sie den Display-Manager natürlich wieder aktivieren. Sie können xdm deaktivieren, indem Sie das Kommando: /etc/init.d/xdm stop ausführen, beachten Sie jedoch, daß so beim nächsten Neustart des Systems der xdm wieder gestartet wird. Um xdm dauerhaft zu deaktivieren, können Sie einfach das Paket löschen (mit dpkg -r xdm) oder am Anfang der Datei /etc/init.d/xdm die Zeile exit 0 einfügen. Für die folgenden Versuche können Sie mit dem Kommando startx den X-Server starten. 5.4.1. Allgemeines zu Schriften Sicher ist Ihnen schon aufgefallen, daß viele Seiten im Web auf Ihrem Linux-System mit kleineren Schriften dargestellt werden als auf anderen Betriebssystemen. Dies hängt mit der Auflösung unter den verschiedenen Betriebssystemen zusammen. Der von anderen Betriebssystemen verwendeten Auflösung von 72 dpi (Dots per Inch) stehen 75 dpi unter X11 gegenüber. Dies führt dazu, daß viele Schriften zu klein dargestellt werden, diese erscheinen in ca. 2/3 der eigentlichen Größe. Eine 12-Punkte-Schrift erscheint somit nur als 9 Punkte und eine 9 Punkte als 6-Punkte-Schrift. Es gibt drei Ansatzpunkte, um dies zu beheben. Zuerst können Sie dem X-Server die gewünschte Auflösung mitteilen. Wenn Sie einen Login-Manager wie XDM benutzen, ändern Sie hierzu in der Datei /etc/X11/xdm/Xservers die Zeile:

0 local /usr/X11R6/bin/X

in

0 local /usr/X11R6/bin/X -dpi 120

Wenn Sie GDM als Login-Manager benutzen, tragen Sie die Option -dpi 120 in die Datei /etc/X11/gdm/gdm.conf, im Abschnitt „servers“, ein. [servers] 0=/usr/bin/X11/X vt7 -dpi 120 Als nächsten Schritt sorgen Sie dafür, daß die X11-Schriften mit 100dpi installiert sind und vom X-Server zuerst gefunden werden. Ändern Sie hierzu die Datei /etc/X11/XF86Config wie folgt: Section "Files" RgbPath "/usr/X11R6/lib/X11/rgb" FontPath "/usr/X11R6/lib/X11/fonts/100dpi/" FontPath "/usr/X11R6/lib/X11/fonts/75dpi/" FontPath "/usr/X11R6/lib/X11/fonts/misc/" FontPath "/usr/X11R6/lib/X11/fonts/Type1/" FontPath "/usr/X11R6/lib/X11/fonts/Speedo/" EndSection Wichtig ist hierbei die Reihenfolge. Die Zeile mit dem Pfad zu den 100dpi-Schriften muß vor der Zeile mit den 75dpi-Schriften stehen. Nun stehen wir noch vor dem Problem, daß Schriften, die nicht in der benötigten Größe auf dem System vorhanden sind, vom X-Server automatisch durch Kopieren einzelner Pixel vergrößert werden. Dies führt zu sehr häßlichen „Treppeneffekten“ bei den Schriften. Sie können diese umgehen, indem Sie den X-Server anweisen, zuerst skalierbare Schriften zu nutzen, dann Bitmap-Schriften der passenden Größe und zuletzt die Bitmap-Schriften zu skalieren. Dies erfordert etwas mehr Rechenaufwand vom System, führt aber zu den besten Ergebnissen. Wenn Sie über einen langsamen Rechner verfügen sollten Sie sich überlegen, auf die skalierten 261 Kapitel 5. X11 Schriften zu verzichten. Hier ein Ausschnitt aus der Datei /etc/X11/XF86Config mit den passenden Einträgen: Section "Files" RgbPath "/usr/X11R6/lib/X11/rgb" FontPath "/usr/X11R6/lib/X11/fonts/Type1/" FontPath "/usr/X11R6/lib/X11/fonts/Speedo/" FontPath "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled" FontPath "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled" FontPath "/usr/X11R6/lib/X11/fonts/misc/" FontPath "/usr/X11R6/lib/X11/fonts/100dpi/" FontPath "/usr/X11R6/lib/X11/fonts/75dpi/" EndSection Beachten Sie in jedem Fall, daß die benötigten Pakete mit den Schriften installiert sein müssen. 5.4.2. xfs - X11 Font-Server Installieren Sie zunächst das Paket xfs_*.deb. Die Konfigurationsdatei zu xfs (/etc/X11/xfs/config) enthält, ebenso wie die X11-Konfiguration, die Pfade zu den Schriften auf Ihrem System. Auch können Sie hier die Auflösung der Schriften einstellen.

  1. paths to search for fonts

catalogue = /usr/X11R6/lib/X11/fonts/100dpi/:unscaled, /usr/X11R6/lib/X11/fonts/75dpi/:unscaled, /usr/X11R6/lib/X11/fonts/misc/, /usr/X11R6/lib/X11/fonts/Speedo/, /usr/X11R6/lib/X11/fonts/Type1/, /usr/X11R6/lib/X11/fonts/100dpi/, /usr/X11R6/lib/X11/fonts/75dpi/

  1. x1,y1,x2,y2,...

default-resolutions = 100,100,75,75 Überprüfen Sie die Einstellungen und passen Sie diese ggf. Ihrem System an. Starten Sie danach den Font-Server neu mit dem Kommando: /etc/init.d/xfs restart . Bevor Sie den X-Server so konfigurieren, daß er den Font-Server benutzt, anstatt die Fonts direkt zu laden, können Sie die Funktionsfähigkeit des Font-Servers testen. Hierzu dient das Kommando fslsfonts: $ fslsfonts -server unix/:7100 -adobe-courier-bold-i-normal--0-0-0-0-m-0-iso8859-1 -adobe-courier-bold-o-normal--0-0-100-100-m-0-iso8859-1 -adobe-courier-bold-o-normal--0-0-75-75-m-0-iso8859-1 .... Dieses Kommando sollte Ihnen alle installierten Schriften auf Ihrem System anzeigen. Wenn die Installation bis hierhin erfolgreich war, können Sie sich daran wagen, den X-Server von der Benutzung des neuen Font-Servers zu überzeugen. Hierzu müssen Sie wieder einmal einige Änderungen an der Datei /etc/X11/XF86Config vornehmen. Section "Files" FontPath "unix/:7100" FontPath "/usr/X11R6/lib/X11/fonts/misc/" EndSection 262 Kapitel 5. X11 Reduzieren Sie den kompletten Abschnitt mit den Pfaden zu den Schriften auf die beiden oben gezeigten Zeilen. Dies veranlaßt den X-Server dazu, zuerst den Font-Server zu benutzen. Lassen Sie auch die eine Zeile mit dem direkten Pfad in der Datei stehen für den Fall, daß der Font-Server nicht erreichbar sein sollte. Sie können nun den X-Server wieder starten (mit startx) und wenn alles funktioniert auch den Login-Manager xdm wieder aktivieren. Wenn Sie den X-Server gestartet haben, können Sie in einem X-Terminal überprüfen, ob auch alle Schriften gefunden werden: $ xlsfonts -adobe-courier-bold-i-normal--0-0-0-0-m-0-iso8859-1 -adobe-courier-bold-o-normal--0-0-100-100-m-0-iso8859-1 -adobe-courier-bold-o-normal--0-0-75-75-m-0-iso8859-1 .... 5.4.3. xfstt - X11 True Type Font-Server Um True-Type-Schriften benutzen zu können, benötigen Sie zunächst einen sogenannten Font-Server. Mit der Version 4.0 von XFree86 werden auch True-Type-Fonts direkt vom X-Server ,unterstützt. Die Verwendung eines speziellen Font-Servers ist nicht notwendig. Wenn die ältere Version 3.x von XFree86 zu Einsatz kommt, so ist der Einsatz eines Font-Servers für True-Type Fonts notwendig. Unter Debian GNU/Linux dient hierzu das Paket xfstt_*.deb. Dieses können Sie wie gewohnt mit Apt oder dselect installieren. Installieren Sie nun einige True-Type-Fonts. Sie finden Schriften in diesem Format auf vielen Seiten im Netz oder auf CD-ROMs von Computerzeitschriften. Kopieren Sie die Dateien (mit der Endung .ttf) in das Verzeichnis /usr/share/fonts/truetype. Stellen Sie auch sicher, daß die Schriften vom Font-Server gelesen werden können. Starten Sie danach den Font-Server neu mit dem Kommando: /etc/init.d/xfstt force-reload. Auch bei diesem Font-Server können Sie vorab kontrollieren, ob alles korrekt installiert wurde. Beachten Sie bitte, daß die Standardeinstellungen unter Debian den Port 7101 statt 7100 für den True Type Font-Server benutzen. Weiterhin sind die Zugriffsrechte so vergeben, daß ein Zugriff nur als Superuser möglich ist. Wenn Sie versuchen, als Benutzer auf den Server zuzugreifen, erhalten Sie folgende Meldung: $ fslsfonts -server unix/:7101 _FSTransSocketUNIXConnect: Can’t connect: errno = 111 fslsfonts: unable to open server "unix/:7101" Als Superuser sollten Ihnen die verfügbaren Schriften angezeigt werden:

  1. fslsfonts -server unix/:7101

-ttf-arial black-medium-r-normal-regular-0-0-0-0-p-0-iso8859-1 -ttf-arial mt black-medium-r-normal-regular-0-0-0-0-p-0-iso8859-1 -ttf-arial narrow-bold-i-normal-bold italic-0-0-0-0-p-0-iso8859-1 Wenn bis hierher keine Probleme aufgetreten sind, können Sie dem X-Server beibringen, auch diesen Font-Server zu benutzen. Wie schon bei den Schriften, ist auch hier die Reihenfolge der Einträge entscheidend, Einträge weiter oben in der Liste werden vorrangig behandelt. In diesem Beispiel wird also zuerst der True Type Font-Server befragt, danach der normale Font-Server. Der entsprechende Ausschnitt aus der Datei /etc/X11/XF86Config: Section "Files" FontPath "unix/:7101" 263 Kapitel 5. X11 FontPath "unix/:7100" FontPath "/usr/X11R6/lib/X11/fonts/misc/" EndSection Auch nach dieser Änderung können Sie wieder, nachdem Sie mit startx den X-Server gestartet haben, die Verfügbarkeit der Schriften prüfen: $ xlsfonts | grep ttf -ttf-arial black-medium-r-normal-regular-0-0-0-0-p-0-iso8859-1 -ttf-arial mt black-medium-r-normal-regular-0-0-0-0-p-0-iso8859-1 -ttf-arial narrow-bold-i-normal-bold italic-0-0-0-0-p-0-iso8859-1 .... Sie können nun die neuen Schriften in Programmen wie The Gimp, Netscape oder Staroffice benutzen. Wenn Sie weitere True-Type-Schriften installieren (durch einfaches Kopieren der Dateien nach /usr/share/fonts/truetype/), müssen Sie den Font-Server neu starten, damit die Schriften dem System bekannt gemacht werden. Benutzen Sie dazu das Kommando: /etc/init.d/xfstt restart. 5.4.3.1. Microsoft Fonts Sicherlich kennen Sie das Problem von unleserlichen Fonts auf Webseiten, häufig werden diese unleserlich klein dargestellt. Grund hierfür ist das der Designer der Seite fest eingestellte Schriften benutzt hat die auf dem Zielsystem nicht verfügbar sind. Das Problem läßt sich zwar durch entsprechende Browsereinstellungen umgehen, eleganter ist es jedoch die benötigten Schriften einfach zu installieren. Auf dem Webseiten der Firma Microsoft finden sich einige TrueType Fonts zum Download. Leider liegen diese nur in einem selbstentpackenden Format vor, welches zudem noch ein installiertes Windows benötigt... Zur Lösung all dieser Probleme ist das Debian Paket msttcorefonts verfügbar, dieses benötigt ausserdem das Paket cabextract welches die Selbstentpackenden Archive extrahieren kann. Aufgrund von Lizenzbedingungen sind die eigentlichen Archive mit den TrueType Schriften nicht in dem Debian Paket enthalten, diese werden jedoch während der Installation des Paketes vom Server geholt. sushi:/home/fr# apt-get install msttcorefonts Reading Package Lists... Done Building Dependency Tree... Done The following extra packages will be installed: cabextract The following NEW packages will be installed: cabextract msttcorefonts 0 packages upgraded, 2 newly installed, 0 to remove and 158 not upgraded. Need to get 19.3kB of archives. After unpacking 164kB will be used. Do you want to continue? [Y/n] Get:1 ftp://ftp.freenet.de woody/contrib msttcorefonts 0.8.2 [4276B] Get:2 ftp://ftp.freenet.de woody/main cabextract 0.2-2 [15.0kB] Fetched 19.3kB in 1s (14.0kB/s) Wähle vormals gewähltes Paket cabextract. (Lese Datenbasis ... 96010 Dateien und Verzeichnisse sind momentan installiert.) Packe cabextract aus (von .../cabextract_0.2-2_i386.deb) ... Wähle vormals gewähltes Paket msttcorefonts. Packe msttcorefonts aus (von .../msttcorefonts_0.8.2_all.deb) ... Installiere cabextract (0.2-2) ... Installiere msttcorefonts (0.8.2) ... These fonts are provided by Microsoft "in the interest of crossplatform compatibility". You are free to download these fonts and use them for your own use, but you may not redistribute these fonts without first registering with Microsoft and following their restrictions. 264 Kapitel 5. X11 --16:18:19-- http://www.microsoft.com/typography/downloads/andale32.exe => ‘andale32.exe’ Verbindungsaufbau zu www.microsoft.com:80... verbunden! HTTP Anforderung gesendet, warte auf Antwort... 200 OK Länge: 198,384 [application/x-msdownload] 0K -> .......... .......... .......... .......... .......... [ 25%] 50K -> .......... .......... .......... .......... .......... [ 51%] 100K -> .......... .......... .......... .......... .......... [ 77%] 150K -> .......... .......... .......... .......... ... [100%] ... Nach dem Download aller Fontpakete, werden diese entpackt und die Dateien an die entsprechenden Stellen kopiert. Nach der Installation des Paketes stehen die folgenden Schriften zur Verfügung: Andale Mono, Arial Black, Arial (Bold, Italic, Bold Italic), Comic Sans MS (Bold), Courier New (Bold, Italic, Bold Italic), Georgia (Bold, Italic, Bold Italic), Impact, Times New Roman (Bold, Italic, Bold Italic), Trebuchet (Bold, Italic, Bold Italic), Verdana (Bold, Italic, Bold Italic), Webdings. 5.5. Windowmanager Zum sinnvollen Betrieb einer grafischen Benutzeroberfläche unter Debian GNU/Linux reicht es nicht aus, einen X-Server zu installieren. Neben den eigentlichen Anwendungen wird auch ein sogenannter Windowmanager benötigt. Das X-Window-System selbst stellt ein geöffnetes Fenster ohne irgendwelche Rahmen dar. Sie können mit dem Programm arbeiten, aber das Fenster weder verschieben noch vergrößern oder irgendwelche anderen Fensteroperationen vornehmen. Diese Funktionen übernimmt der sogenannte Windowmanager. Debian GNU/Linux verfügt über eine große Anzahl verschiedener Windowmanager. Sie unterscheiden sich im Aussehen und in der Funktionalität. Einige dieser Windowmanager können auch über sogenannte „Themes“ (äußere Erscheinungsbilder) während der Laufzeit im Aussehen verändert werden. Sie können unter Debian/GNU Linux verschiedene Windowmanager installieren und zwischen diesen wechseln. Ein Neustart der laufenden Anwendungen ist hierfür nicht notwendig. Im folgenden werden wir einige Windowmanager vorstellen, schauen Sie sich aber ruhig mal um, Sie werden sicher Ihren persönlichen Favoriten finden. 5.5.1. Fvwm Einer der Klassiker unter den Windowmanagern. Die aktuelle Version 2 wird auch häufig als fvwm2 bezeichnet. Ein beliebter Ableger des fvwm ist fvwm95, welcher einem Redmonder Betriebssystem nachempfunden ist, so daß der Umstieg leicht fällt. 265 Kapitel 5. X11 Abbildung 5-52. FVWM Die Homepage finden Sie unter: http://www.fvwm.org 5.5.2. Windowmaker Ein sehr beliebter Windowmanager, der dem Betriebssystem NeXTStep nachempfunden ist. Abbildung 5-53. WindowMaker Die Homepage finden Sie unter: http://windowmaker.org 5.5.3. Enlightenment Enlightenment ist ein weiterer WindowManager, Ziel der Entwicklung war es, einen möglichst weitgehend konfigurierbaren WindowManager zu schaffen. Dieses betrifft sowohl das Aussehen wie auch die Bedienung. 266 Kapitel 5. X11 Abbildung 5-54. Enlightenment Themes und weitere Informationen zu Enlightenment finden Sie unter: http://www.enlightenment.org/. 267 Kapitel 6. GNOME 6.1. GNOME 1.4 Abbildung 6-1. GNOME-Logo Mit der Version 1.4 von GNOME, einer einfach zu benutzenden aber dennoch leistungsfähigen grafischen Benutzeroberfläche, wurde viele Neuerungen gegenüber der Version 1.0 eingeführt. Der Dateimanager (gmc) wurde durch „Nautilus“ ersetzt. Nautilus ist weit mehr als ein Dateimanager. Durch die Integration von Internetdiensten kann Nautilus auch als Webbrowser benutzt werden. Das markieren eines Textes erlaubt eine direkte Suche im Netz, beispielsweise über Google. Nautilus zeigt die verschiedensten Dateiformate direkt an, beispielsweise lassen sich MP3 direkt abspielen. Mit dieser Version wurde auch der Windowmanager Sawfish in den GNOME Desktop aufgenommen. Weiterhin wurde die Kommunikationsfähigkeit mit anderen X Anwendungen, dazu zählt auch KDE, verbessert. Über ein sogenanntes „Lauch Feedback“ kann angezeigt werden das Anwendungen gestartet werden, dies ist insbesondere bei sehr großen Anwendungen sinnvoll, so kommt der Benutzer nicht in die Versuchung eine Anwendung zweimal zu starten. Ein komplett überarbeiteter Browser für die Dokumentation von GNOME und Medusa, ein Indizierungstool für die lokalen Dateisysteme runden diese Version von GNOME ab. Hinter den Kulissen hat sich auch einiges getan, Entwickler werden sich beispielsweise über VFS freuen, ein virtuelles, erweiterbares Dateisystem. Doch die entwicklung von GNOME Anwendungen soll nicht Thema dieses Abschnittes sein. GNOME besteht auf Debian Systemen aus mehreren Paketen, es ist nicht notwendig alle Komponenten von GNOME zu installieren. Die Konfigurationsdateien von GNOME werden im Heimatverzeichnis des jeweiligen Benutzers abgelegt. Es werden hierzu einige neue Verzeichnisse angelegt: fr@wasabi:-$ ls .gnome* .gnome-errors .gnome: accels application-info apps Background control-center default.wm gdm Gnome gnome-hint gnome-vfs metadata.db panel panel.d session Terminal theme-switcher-capplet wm-properties .gnome-desktop: fr’s Home Müll starthere.desktop .gnome_private: panel.d 268 Kapitel 6. GNOME Abbildung 6-2. GNOME-Desktop Je nachdem welche Programme installiert wurde können sich die Konfigurationen zu diesen Programm auch in anderen Verzeichnissen verstecken. Wenn Probleme mit der folgenden Beschreibung auftauchen, so ist es denkbar das bereits vorher Veränderungen an der Konfiguration vorgenommen wurden und sich beispielsweise die Fenster nicht wie beschrieben verhalten. In einem solchen Fall kann einfach das Verzeichnis des betroffenen Programmes umbenannt oder gelöscht werden, es wird beim nächsten Aufruf wieder neu angelegt und mit den Voreinstellungen versehen. Im Falle von GNOME müssen Sie sich erneut am System anmelden. 6.1.1. Windowmanager - Sawfish Unter der grafischen Oberfläche X11, welche im allgemeinen auf Linux Systemen durch die X-Server aus dem XFree86 Projekt zur Verfügung gestellt wird, werden Fenster zunächst ohne Rahmen und Bedienelemente (Schliessen, Verkleinern, Vergrössern usw.) dargestellt. Dies wird einem sogenannten Window Manager überlassen. Der Benutzer hat die freie Wahl zwischen verschiedenen Varianten, im Zusammenspiel mit GNOME ist es jedoch sinnvoll auf den Windowmanager des GNOME Projektes, Sawfish, zu setzen. Die Integration von Sawfish und das Zusammenspiel mit anderen GNOME Komponenten ist am weitesten fortgeschritten. Der Wechsel zu einem anderen Windowmanager kann jedoch jederzeit über das GNOME Kontrollzentrum erfolgen, hierzu müssen natürlich die entsprechenden Pakete installiert sein. 269 Kapitel 6. GNOME Sawfish ist ein über eine Lisp-basierte Script-Sprache erweiterbarer Windowmanager. Das komplette Aussehen der Fenster ist konfigurierbar. Sawfish wurde von Grund auf neu geschrieben, es wurden keinerlei Sourcecodes aus anderen Windowmanagern wiederverwendet. Das Ziel von Sawfish ist es, sich auf die eigentlichen Aufgaben eines Windowmanagers zu beschränken. Dieser Windowmanager verfügt über keinerlei Funktionen, die auch oder besser von anderen Anwendungen erledigt werden können (zum Beispiel das Einbinden von Hintergrundbildern). Alle höheren Funktionen sind in der Sprache Lisp realisiert, so daß diese in Zukunft leicht erweitert oder verändert werden können. Von den Menüs (diese benutzen GTK+), über das Verschieben, Vergrößern usw. von Fenstern, virtuelle Desktops und viele andere Funktionen, alles wurde in Lisp realisiert. Als Benutzer können Sie Sawfish umkonfigurieren, indem Sie entweder die Dateien in .sawfish/ in Ihrem Homeverzeichnis verändern (wenn Sie über Kenntnisse in Lisp verfügen) oder ganz einfach das integrierte Konfigurationssystem benutzen, welches Sie über die Menüs im GNOME Kontrollzentrum erreichen. Dieses wurde in GTK+ implementiert. Sawfish wird mit verschiedenen Themen installiert, Sie können diese für jedes Fenster einzeln einstellen. Abbildung 6-3. Sawfish Wie von den meisten anderen Windowmanagern oder auch von anderen Betriebssystemen mit grafischen Oberflächen bekannt, können Fenster mittels Sawfisch auf dem Desktop verschoben werden. Hierzu ist die linke Maustaste zu drücken während sich der Mauszeiger über der Titelzeile des zu verschiebenden Fensters befindet. Bei gedrückt gehaltener Maustaste folgt das Fenster dem Mauspfeil. Fenster können horizontal und vertikal verkleinert und vergrößert werden, indem die linke Maustaste gedrückt gehalten wird während sich der Mauszeiger auf dem Rahmen der Fensters befindet. Der Mauspfeil verändert dabei seine Form zu einem dünneren Pfeil mit einem Querbalken an der Spitze. Das gleichzeitige horizontale und vertikale Verändern der Größe ist an den vier Ecken des Fensters möglich. Oben links in der Titelzeile des Fensters findet sich ein Symbol mit einem Kreuz, dieses dient zum schliessen des Fensters, wenn mit der linken Maustaste auf dieses Symbol geklickt wird. Ein Klick mit der rechten Maustaste bringt ein Menü zum Vorschein mit dem sich verschiedene Optionen des Fensters, beispielsweise das Aussehen oder das Fokusverhalten beeinflussen lassen. Weiterhin können Fenster über dieses Menü auf anderen virtuelle Desktops verschoben werden. Am rechten Rand der Titelzeile sind drei Symbole dargestellt, das erste verbirgt bei einem Klick mit der linken Maustaste das Fenster im Panel, mit der rechten Maustaste erscheint das eben nereits beschriebene Menü. Mit dem zweiten Symbol läßt sich das Fenster auf die volle Auflösung des Bildschirms vergrößern (Linke Maustaste). Wenn das Fenster bereits die volle Größe erreicht hat, so läßt es sich mit dieser Schaltfläche auf die letzte Größe verkleinern. Das dritte Symbol rollt das Fenster zusammen so das lediglich die Titelzeile angezeigt wird. Dieser Effekt läßt sich auch durch einen schnellen Doppelklick auf die Titelzeile erreichen. 270 Kapitel 6. GNOME 6.1.2. Desktop Der GNOME Desktop besteht aus verschiedenen Komponenten. Neben dem eigentlichen Desktop (dem Hintergrund des Bildschirms) zählt man noch das Panel (eine Zeile mit Symbolen am unteren und oberen Bildschirmrand) dazu. 6.1.2.1. Panel Wenn keine Veränderungen an der Konfiguration vorgenommen wurden, so werden nach dem Start von GNOME zwei Panels angezeigt. Am unteren Bildschirmrand findet sich ein breiteres Panel, am oberen Bildschirmrand ein etwas schmaleres. Abbildung 6-4. GNOME Panel Am äußeren linken und rechten Rand findet sich zunächst jeweils ein Symbol mit einem Pfeil. Dieses dient zum einrollen das Panels an den jeweiligen Rand des Bildschirms. Es wird nach einem Klick mit der linken Maustaste auf dieses Symbol lediglich der Pfeil angezeigt, ein erneuter Mausklick rollt das Panel wieder aus. Hinter dem zweiten Symbol von links, dem GNOME Logo, verbirgt sich ein Menü aus dem sich die installierten Anwendungen auf dem System starten lassen. Das Debian Menüsystem sorgt dafür da alle Anwendungen in diesem Menü erscheinen. Weiterhin können in diesem Menü, unter dem Punkt „Panel“ verschiedene Einstellungen das Panel betreffend vorgenommen werden. Wie bereits von dem anderen, sehr verbreiteten, Betriebssystem bekannt kann hier auch die aktuelle Sitzung beendet werden. Leider ist dieses Symbol nicht mit „Start“ beschriftet.... (kleiner Scherz ;-) ). 6.1.3. Nautilus Mit „Nautilus“ wurde ein komplett neuer Dateimanager geschaffen. Die Funktionalität geht dabei über die eines herkömmlichen Dateimanagers hinaus, die Entwickler sprechen daher von einer „Desktop-Shell“. Neben den üblichen Funktionen eines Dateimanagers wie erzeugen, kopieren, löschen, umbenennen und verschieben von Dateien, bietet Nautilus durch die Integration in den Desktop und die Einbeziehung von bereits auf dem System installierten Komponenten viele weitere Funktionen. 271 Kapitel 6. GNOME Abbildung 6-5. Nautilus Die Übersicht bietet die Möglichkeit die Objekte in verschiedenen Ansichten anzuzeigen. Voreingestellt ist die Ansicht als Symbol (Icon), hierbei wird für jedes Objekt ein dem Typ entsprechendes Bild angezeigt. Nautilius erzeugt für Grafiken, welche in den verschiedensten Formaten vorliegen können, ein verkleinertes Icon. Bei Textdateien wird der Anfang der Datei dargestellt. Abbildung 6-6. Nautilus 272 Kapitel 6. GNOME Neben der Ansicht als Icon können die Objekte auch in Listenform angezeigt werden. Für spezielle Dateitypen stehen zusätzliche Ansichten zur Verfügung. Werden in einem Verzeichnis beispielsweise MP3 Dateien gefunden, so kann als Ansicht „Musik“ gewählt werden. Es werden dann nicht die Dateinamen, sondern Titel und Interpret angezeigt. Die Dateien können direkt aus Nautilus heraus abgespielt werden. Abbildung 6-7. Nautilus In Nautilus können auch direkt Webseiten geladen werden, hierzu wird ein installiertes Mozilla Paket vorausgesetzt. 273 Kapitel 6. GNOME Abbildung 6-8. Nautilus 274 Kapitel 6. GNOME 6.2. GNOME 2.0 Abbildung 6-9. GNOME 2 - Logo Mit der Version 2.0 von GNOME wurden nicht nur viele Programme aktualisiert, es hat sich auch hinter der Bühne viel verändert. So benutzt GNOME 2 nun komplett die GTK 2 Bibliotheken und wurde im Hinblick auf Geschwindigkeit an vielen Stellen optimiert. GNOME 2.0 ist nicht in der Debian Version 3.0 „woody“ enthalten, es stehen jedoch auf diese Version angepasste Pakete im Netz zur Verfügung. Hierzu ist der Eintrag 275 Kapitel 6. GNOME deb http://people.debian.org/~kov/debian woody gnome2 der Datei /etc/apt/sources.list hinzuzufügen. Debian GNU/Linux Systeme die bereits auf „sarge“ (Debian GNU/Linux 3.1) aktualisiert wurden kommen ohne einen solchen Eintrag aus. Dort sind alle GNOME 2 Pakete bereits enthalten. Als Basis für eine sinnvolle Paketauswahl kann zunächst das Meta-Paket gnome2 dienen. Dieses Paket enthält Abhängigkeiten zu wichtigen Paketen, nicht aber zu Spielen, Office Anwendungen oder Paketen zur Softwareentwicklung. Wenn Programme aus solchen Bereichen ebenfalls installiert werden sollen, so sind die Pakete gnome-extras, gnome-office oder gnome-devel zu installieren. Um einen Login auf der grafischen Oberfläche X zu ermöglichen steht auch unter GNOME 2 der GDM zur Verfügung. Hierbei kann weiterhin auf den GDM aus GNOME 1.4 zurückgegriffen werden, die neue Version steht als Paket gdm2 zur Verfügung. Abbildung 6-10. GDM 2 Wenn noch keine Anpassungen am GDM vorgenommen wurden, so startet GDM mit dem oben gezeigten Aussehen. Eine Neuerung ist die Möglichkeit (nach Eingabe des entsprechenden Passwortes) die GDM Konfiguration aus dem GDM Menü heraus zu starten. Weiterhin kann das System über Menüeinträge neugestartet (Reboot), ausgeschaltet (Shutdown) oder in den Ruhezustand (Suspend) versetzt werden. 276 Kapitel 6. GNOME Abbildung 6-11. GDM 2 Konfiguration In der GDM Konfiguration kann beispielsweise auch das Aussehen des GDM angepasst werden. Eine Neuerung ist hier eine grafische Variante des GDM. Abbildung 6-12. GDM 2 grafisch GNOME 2 wurde auch mit einem neuen Splashscreen versehen, weiterhin haben sich die Ladezeiten der GNOME Komponenten deutlich verringert. 277 Kapitel 6. GNOME Abbildung 6-13. GNOME 2 Splashscreen Auf der Oberfläche hat sich für den Benutzer zunächst nur wenig getan, auffällig ist das viele der Icons auf dem Desktop überarbeitet wurden. Unter GNOME 2 stehen ebenfalls Panels zur Verfügung welche Menüs, Icons oder Applets aufnehmen können. Als Dateimanager kommt in diesem Beispiel Nautilus 2 zum Einsatz welcher ebenfalls auf die neue GNOME Version angepasst wurde. Abbildung 6-14. GNOME 2 Desktop 278 Kapitel 6. GNOME Es werden zunächst zwei Panels für den Benutzer eingerichtet. Das Panel am unteren Bildschirmrand ist zunächst leer und dient lediglich zum Umschalten zwischen laufenden Anwendungen. Das Panel am oberen Bildschirmrand (Applications / Anwendungen) verfügt auf der linken Seite über zwei Menüeinträge. Über den ersten Eintrag können Programme gestartet werden oder es können Einstellungen verändert werden. Abbildung 6-15. GNOME 2 Menüs Über das zweite Menü (Action / Aktionen) können Programme ausgeführt, Dateien gesucht oder ein Screenshot erstellt werden. Zwei weitere Einträge in diesem Menü dienen zum verriegeln des Desktops und zum abmelden am System. 6.3. Links GNOME FootNotes - GNOME Desktop News Themes, Icons, Backgrounds... 279 Kapitel 7. KDE Dieser Abschnitt beschreibt die Installation und den Einsatz von KDE 3.0.x unter Debian GNU/Linux. 7.1. KDE und Debian - die unendliche Geschichte... Lange Zeit waren für Debian GNU/Linux keine angepassten Debian Pakete verfügbar. Das Debian Team legt großen Wert darauf das ausschlieslich Freie Software in die Distribution aufgenommen wird. Die Lizenzen von KDE und den dazugehörigen Programmen genügten auch dieser Anforderung. Leider setzt KDE auf die QT Bibliotheken der Norwegischen Firma Troll Tech auf, und diese waren in der Vergangenheit nicht unter einer Freien Softwarelizenz verfügbar. Mit der Version 2.0 der QT Bibliotheken änderte Troll Tech die Lizensierung, leider war dies zu spät als das die entsprechenden Pakete noch in die Debian Version 2.2 (potato) einfliessen konnten. Entsprechende Pakete mussten aus externen Quellen installiert werden. Erst mit der Version 3.0 von Debian fanden KDE Pakete eine festen Platz in der Distribution. Leider hat es auch bei dieser Version nicht für eine aktuelle Version „gereicht“, es wird die Version 2.2 von KDE installiert. Im folgenden wird daher für KDE 3.0 beschrieben wie eine Installation aus dem Netz erfolgen kann. 7.2. KDE 2.2 Die Installation von KDE 2.2 kann direkt von den Debian GNU/Linux 3.0 „woody“ CD-ROMs erfolgen. Die KDE Komponenten sind in viele einzelne Pakete aufgeteilt, es steht jedoch ein Meta-Paket kde zur Verfügung. Sinnvoll ist weiterhin die Auswahl von kdm um einen Login mit der grafischen Oberfläche zu erlauben und kde-i18n-de welches die benötigten Dateien enthält um eine deutschsprachige Benutzeroberfläche darzustellen. Es stehen weitere Pakete für viele weitere Sprachen zur Verfügung. Die Installation kann nun beispielsweise auf der Kommandozeile erfolgen: debian:~# apt-get install kde kde-i18-n kdm Reading Package Lists... Done Building Dependency Tree... Done The following extra packages will be installed: ark kab karm kate kcalc kcharselect kchart kcoloredit kcron kdebase kdebase-audiolibs kdebase-doc kdebase-libs kdelibs3 kdelibs3-bin kdepasswd kdewallpapers kdf kdict kedit kfind kformula kfract kghostview khexedit kiconedit kit kivio kjots kmail knewsticker knode knotes koffice koffice-libs konqueror konsole kontour korn koshell kpackage kpaint kpm kpresenter kruler kscreensaver ksirc ksnapshot kspread ksysv ktimer kugar kuser kview kword libkdenetwork1 libkmid libkonq3 secpolicy The following NEW packages will be installed: ark kab karm kate kcalc kcharselect kchart kcoloredit kcron kde kde-i18n-de kdebase kdebase-audiolibs kdebase-doc kdebase-libs kdelibs3 kdelibs3-bin kdepasswd kdewallpapers kdf kdict kdm kedit kfind kformula kfract kghostview khexedit kiconedit kit kivio kjots kmail knewsticker knode knotes koffice koffice-libs konqueror konsole kontour korn koshell kpackage kpaint kpm kpresenter kruler kscreensaver ksirc ksnapshot kspread ksysv ktimer kugar kuser kview kword libkdenetwork1 libkmid libkonq3 secpolicy 0 packages upgraded, 62 newly installed, 0 to remove and 0 not upgraded. Need to get 4632kB/43.2MB of archives. After unpacking 131MB will be used. Do you want to continue? [Y/n] Media Change: Please insert the disc labeled ’Debian GNU/Linux 3.0 beta _Woody_ - Unofficial i386 Binary-1 (20020625)’ in the drive ’/cdrom/’ and press enter Preconfiguring packages ... Selecting previously deselected package kdelibs3-bin. (Reading database ... 22682 files and directories currently installed.) Unpacking kdelibs3-bin (from .../kdelibs3-bin_2.2.2-13_i386.deb) ... Selecting previously deselected package kdelibs3. ... 280 Kapitel 7. KDE Unpacking kde (from .../m/meta-kde/kde_2.2.25_all.deb) ... Selecting previously deselected package kde-i18n-de. Unpacking kde-i18n-de (from .../kde-i18n-de_4%3a2.2.2-2_all.deb) ... Setting up kdewallpapers (2.2.2-14) ... Setting up kdebase-doc (2.2.2-14) ... ... Setting up ktimer (2.2.2-9) ... Setting up kde (2.2.25) ... Der Übersichtlichkeit halber wurde die Ausgabe an einigen Stellen etwas gekürzt (...). Nachdem nun alle Pakete installiert sind, kann der Display Manager (KDM) gestartet werden. Hierbei ist darauf zu achten das der X-Server installiert und konfiguriert wurde! debian:~# /etc/init.d/kdm start Starting K Desktop Manager: done. Einige Augenblicke später sollte ein grafischer Login zur Verfügung stehen. Mit einem Benutzernamen und dem entsprechenden Passwort kann nun die Anmeldung am System erfolgen. Abbildung 7-1. KDE 2.2 KDM Nach der Anmeldung informiert der „Splashscreen“ über den Fortschritt der Anmeldung. Bisher wurde für diesen Benutzer noch keine Konfiguration erstellt, so daß die Sprache hier noch englisch ist. 281 Kapitel 7. KDE Abbildung 7-2. KDE 2.2 Splashscreen Nach der ersten Anmeldung eines Benutzers am neuen System (es sind noch keine Konfigurationsdateien für KDE im Heimatverzeichnis des Benutzers vorhanden) wird ein „Wizard“ gestartet der die wichtigsten Einstellung abfragt. Abbildung 7-3. KDE 2.2Wizard 282 Kapitel 7. KDE Zunächst ist das Lannd und die gewünschte Sprache zu wählen. Der Eintrag „Germany (de)“ findet sich im Menü unter „Europe/Central“. Je nachdem welche Sprachen installiert wurden werden diese unter „Please choose your language“ zur Auswahl angeboten. Die Einstellungen werden sofort aktiviert, wirken sich allerdings nur auf neu gestartete Anwendungen aus. Abbildung 7-4. KDE 2.2Wizard Die nächste Einstellung beeinflusst das Aussehen und das Verhalten des Fenstermanagers. Hier kann zwischen einer KDE eigenen Variante und der Emlation verschiedener anderer Betriebssysteme gewählt werden. 283 Kapitel 7. KDE Abbildung 7-5. KDE 2.2Wizard Im nächsten Schritt kann die Reaktionsgeschwindigkeit von KDE geändert werden. Auf langsamen Systemen können die Effekte reduziert werden um die Belastung des Prozessors zu verringern. Abbildung 7-6. KDE 2.2Wizard 284 Kapitel 7. KDE Sogenannte „Themes“ verändern die Farben und das Aussehen der Anwendungen. Auch hier kann zwischen verschiedenen Varianten gewählt werden. Abbildung 7-7. KDE 2.2Wizard Zum Abschluss der Konfiguration kann das KDE Control Center gestartet werden um weitere Einstellungen vorzunehmen. Die wichtigsten Einstellungen sind jedoch vorgenommen worden und die grafische Oberfläche KDE ist nun einsatzbereit. 285 Kapitel 7. KDE Abbildung 7-8. KDE 2.2 Info Nach jeder Anmeldung am System erscheint nun ein Fenster mit nützlichen Tips. Über Schaltflächen können weitere Tips gelesen werden. Soll dieses Fenster nicht nach jeder Anmeldung erscheinen, so kann dieses Verhalten unten links im Fenster deaktiviert werden. 7.3. KDE 3.0.x Die KDE Pakete für die Debian Distribution werden seit einiger Zeit von Ralph Nolden, welcher selbst im KDE Projekt mitarbeitet, betreut. Zur Installation der KDE 3.0 Pakete aus dem Internet ist zunächst ein entsprechender Eintrag in der Datei /etc/apt/sources.list vorzunehmen. deb ftp://ftp.kde.org/pub/kde/stable/latest/Debian/woody/ ./ Leider sind noch nicht alle KDE Pakete an einer zentralen Stelle verfügbar, wenn spezielle Anwendungen benötigt werden die nicht unter der oben genannten Adresse verfügbar sind, so lohnt sich ein Blick auf mypage.bluewin.ch/kde3-debian/ und www.cupis.co.uk/debian/kde3.html sowie www.davidpashley.com/debian-kde/faq.html. Nach einer Aktualisierung der Paketlisten (apt-get update) kann die Installation erfolgen. Natürlich können einzelne Pakete ausgewählt werden, wenn nur bestimmte Programme benutzt werden sollen. Wenn jedoch KDE als Standard-Desktop eingesetzt werden soll, so ist es sinnvoll die entsprechenden Meta-Packages auszuwählen. Diese lassen sich mittels apt-cache sehr leicht ermitteln: fr@nigiri:~$ apt-cache search metapackage | grep kde kdeadmin - KDE Administration tools metapackage kdebase - KDE Base metapackage kdegames - KDE Games metapackage kdegraphics - KDE Graphics metapackage kdelibs - KDE core libraries metapackage 286 Kapitel 7. KDE kdemultimedia - KDE Multimedia metapackage kdenetwork - KDE Network metapackage kdepim - KDE Personal Information Management metapackage kdeutils - KDE Utilities metapackage kde - The K Desktop Environment kde-devel - The K Desktop Environment (development files) kde-extras - The K Desktop Environment (extras) kde-games - The K Desktop Environment (Games and Toys) education-desktop-kde - DebianEdu KDE desktop applications Etwas Vorsicht ist an dieser Stelle angesagt: die ersten Pakete in der gezeigten Liste gehören zur Version 3.0.x von KDE (ohne Bindestrich), Pakete weiter unten (mit Bindestrich) gehören zu der Version 2.2 von KDE. Als nächstes können die Pakete installiert werden. Dies kann mit den üblichen Werkzeugen (apt-get, dselect. gnome-apt usw.) erfolgen. Sinnvoll ist zumindest die Installation der Pakete kdebase, kdeadmin, kdelibs. Je nach Bedarf können natürlich weitere Pakete installiert werden, wie beispielsweise kde-i18n-de und kdm. debian:~# apt-get install kde-i18n-de kdebase kdeadmin kdelibs kdm Reading Package Lists... Done Building Dependency Tree... Done The following extra packages will be installed: kaddressbook kappfinder kate kcmlinuz kcontrol kcron kdat kdcop kdebase-bin kdebase-data kdebugdialog kdelibs-bin kdelibs-data kdelibs4 kdm kdeprint kdesktop kfind khelpcenter khotkeys kicker kioslave klipper kmenuedit konqueror konqueror-nsplugins konsole kpackage kpager kpersonalizer kscreensaver ksmserver ksplash ksysguard ksysv ktip kuser kwin kwuftpd kxkb libarts1 libarts1-qt libasound2 libcupsys2 libkonq4 libpng3 libqt3 libqt3-mt libsensors1 secpolicy The following NEW packages will be installed: kaddressbook kappfinder kate kcmlinuz kcontrol kcron kdat kdcop kde-i18n-de kdeadmin kdebase kdebase-bin kdebase-data kdebugdialog kdelibs kdelibs-bin kdelibs-data kdelibs4 kdeprint kdesktop kfind khelpcenter khotkeys kicker kioslave klipper kmenuedit konqueror konqueror-nsplugins konsole kpackage kpager kpersonalizer kscreensaver ksmserver ksplash ksysguard ksysv ktip kuser kwin kwuftpd kxkb libarts1 libarts1-qt libasound2 libcupsys2 libkonq4 libpng3 libqt3 libqt3-mt libsensors1 secpolicy 0 packages upgraded, 53 newly installed, 0 to remove and 1 not upgraded. Need to get 39.2MB/39.6MB of archives. After unpacking 107MB will be used. Do you want to continue? [Y/n] Media Change: Please insert the disc labeled ’Debian GNU/Linux 3.0 beta _Woody_ - Unofficial i386 Binary-1 (20020625)’ in the drive ’/cdrom/’ and press enter Selecting previously deselected package libasound2. (Reading database ... 22600 files and directories currently installed.) Unpacking libasound2 (from .../libasound2_0.9.0beta10a-3_i386.deb) ... Selecting previously deselected package libarts1. Unpacking libarts1 (from .../libarts1_1.0.4-1_i386.deb) ... Selecting previously deselected package libpng3. Unpacking libpng3 (from .../libpng3_1.2.1-1.1_i386.deb) ... ... Selecting previously deselected package kdelibs. Unpacking kdelibs (from .../kdelibs_4%3a3.0.4-1_all.deb) ... Setting up libasound2 (0.9.0beta10a-3) ... Setting up libarts1 (1.0.4-1) ... Setting up libpng3 (1.2.1-1.1) ... Setting up libcupsys2 (1.1.14-3) ... ... Setting up kdebase (3.0.4-1) ... Setting up kdelibs (3.0.4-1) ... 287 Kapitel 7. KDE Der Übersichtlichkeit halber wurde die Ausgabe an einigen Stellen etwas gekürzt (...). Nachdem nun alle Pakete installiert sind, wird der Display Manager (KDM) automatisch gestartet. Hierbei ist darauf zu achten das der X-Server zuvor installiert und konfiguriert wurde! Nachträglich kann KDM natürlich auch gestartet werden. debian:~# /etc/init.d/kdm start Starting K Desktop Manager: done. Einige Augenblicke später sollte ein grafischer Login zur Verfügung stehen. Mit einem Benutzernamen und dem entsprechenden Passwort kann nun die Anmeldung am System erfolgen. Abbildung 7-9. KDE 3.0 KDM Nach der ersten Anmeldung eines Benutzers am neuen System (es sind noch keine Konfigurationsdateien für KDE im Heimatverzeichnis des Benutzers vorhanden) wird ein „Wizard“ gestartet der die wichtigsten Einstellung abfragt. 288 Kapitel 7. KDE Abbildung 7-10. KDE 3.0Wizard Zunächst ist das Land und die gewünschte Sprache zu wählen. Der Eintrag „Germany (de)“ findet sich im Menü unter „Europe/Central“. Je nachdem welche Sprachen installiert wurden werden diese unter „Please choose your language“ zur Auswahl angeboten. Die Einstellungen werden sofort aktiviert. Abbildung 7-11. KDE 3.0Wizard 289 Kapitel 7. KDE Die nächste Einstellung beeinflusst das Aussehen und das Verhalten des Fenstermanagers. Hier kann zwischen einer KDE eigenen Variante und der Emlation verschiedener anderer Betriebssysteme gewählt werden. Abbildung 7-12. KDE 3.0Wizard Im nächsten Schritt kann die Reaktionsgeschwindigkeit von KDE geändert werden. Auf langsamen Systemen können die Effekte reduziert werden um die Belastung des Prozessors zu verringern. 290 Kapitel 7. KDE Abbildung 7-13. KDE 3.0Wizard Sogenannte „Themes“ verändern die Farben und das Aussehen der Anwendungen. Auch hier kann zwischen verschiedenen Varianten gewählt werden. Abbildung 7-14. KDE 3.0Wizard 291 Kapitel 7. KDE Zum Abschluss der Konfiguration kann das KDE Control Center gestartet werden um weitere Einstellungen vorzunehmen. Die wichtigsten Einstellungen sind jedoch vorgenommen worden und die grafische Oberfläche KDE ist nun einsatzbereit. Nach der Anmeldung informiert der „Splashscreen“ über den Fortschritt der Anmeldung. Abbildung 7-15. KDE 3.0 Splashscreen 292 Kapitel 7. KDE Abbildung 7-16. KDE 3.0 Info Nach jeder Anmeldung am System erscheint nun ein Fenster mit nützlichen Tips. Über Schaltflächen können weitere Tips gelesen werden. Soll dieses Fenster nicht nach jeder Anmeldung erscheinen, so kann dieses Verhalten unten links im Fenster deaktiviert werden. 293 Kapitel 8. Internet Ohne das Internet wäre die schnelle Weiterentwicklung des Linux-Kernels oder auch von Debian GNU/Linux völlig undenkbar. Die Kommunikation zwischen den Entwicklern untereinander und auch zu den Benutzern wäre ohne den Internetdienst E-Mail undenkbar. Die Softwareverteilung über andere Medien als das Internet (beispielsweise per Post auf CD-ROMs) würde die Entwicklungszeiten in die Höhe treiben. Debian GNU/Linux bietet mit apt ein mächtiges Werkzeug, um auch über das Internet oder aus dem lokalen Netzwerk Pakete zu installieren. Im folgenden finden Sie zunächst die nötigen Informationen, um per Modem oder ISDN ins Netz zu kommen. Weiterhin zeigen wir Ihnen die interessantesten Anwendungen, die Sie für die verschiedenen Dienste im Netz benötigen. In einem späteren Abschnitt wird die Konfiguration von Netzwerkkarten beschrieben. 8.1. Zugang zum Internet Ein Zugang zum Internet kann mittels verschiedener Methoden hergestellt werden. Momantan sind wohl DSL Zugänge am attraktivsten, diese bieten neben einem guten Preis, auch pauschal als sogenannte „Flatrate“, auch sehr schnelle Übertragungsraten. Leider sind DSL Zugänge nicht flächendeckend verfügbar. Etwas langsamer, aber ebenfalls zu günstigen Konditionen verfügbar sind ISDN Zugänge, das Schlußlicht in Punkte Datenübertragungsleistung bilden Modem Verbindungen ins Internet. Hier trotzdem die erwähnten Zugangmöglichkeiten in der umgekehrten Reihenfolge, diese stellt die technische Entwicklung der letzten Jahre dar. 8.1.1. Modem Um mit einem an der seriellen Schnittstelle angeschlossenem Modem ins Internet zu kommen, steht Ihnen unter Debian GNU/Linux das Werkzeug pppconfig zu Verfügung. Sie müssen pppconfig als Superuser aufrufen, da alle Einstellungen, die das Modem betreffen, systemweit gültig sind. Vorab ist es sinnvoll, wenn Sie von Ihrem ISP (Internet Service Provider) alle benötigten Daten besorgen. Wichtig sind insbesondere folgende Daten: • Ihr Login- oder Benutzernamen • Ihr Paßwort • Telefonnummer zur Einwahl beim Provider pppconfig wird Sie noch nach weiteren Informationen fragen, aber für die meisten Anwendungen reichen diese Angaben. +-------------------------------- Main Menu ---------------------------------+ | This is the PPP configuration utility. It does not connect to your isp: it| | just configures ppp so that you can do so with a utility such as pon. It | | will ask for the username, password, and phone number that your ISP gave | | you. If your ISP uses PAP or CHAP, that is all you need. If you must use | | a chat script, you will need to know how your ISP prompts for your username | and password. If you do not know what your ISP uses, try PAP. Use the up | | and down arrow keys to move around the menus. Hit ENTER to select an item. | Use the TAB key to move from the menu to <OK> to <CANCEL> and back. When | | you are ready to move on to the next menu go to <OK> and hit ENTER. To go | | back to the main menu go to <CANCEL> and hit enter. | | +------------------------------------------------------------------------+ | | | Create Create a connection | | | | Change Change a connection | | | | Delete Delete a connection | | | | Quit Exit this utility | | | | | | | +------------------------------------------------------------------------+ | | | | | +----------------------------------------------------------------------------+ | < OK > <Cancel> | 294 Kapitel 8. Internet +----------------------------------------------------------------------------+ Mit pppconfig können Sie eine individuelle Konfiguration für einen oder mehrere ISPs erstellen. pppconfig stellt noch keine Verbindung ins Internet für Sie her, hierzu können Sie später das Programm pon benutzen. Debian GNU/Linux PPP Configuration Utility +-------------------------------- Provider Name -------------------------------+ | | | Enter the name you wish to use to refer to this isp. You will probably | | want to give the default name of ’provider’ to your primary isp. That way, | | you can dial it by just giving the command ’pon’. Give each additional isp | | a unique name. For example, you might call your employer ’theoffice’ and | | your university ’theschool’. Then you can connect to your isp with ’pon’, | | your office with ’pon theoffice’, and your university with ’pon theschool’. | | | | MeinProvider________________________________________________________________ | | | | | | | | <Ok> <Cancel> | | | +------------------------------------------------------------------------------+ Zuerst werden Sie nach dem Namen Ihres Providers gefragt. Sie können hier jeden beliebigen Namen verwenden. Diese Angabe werden Sie später brauchen, um dann endgültig die Verbindung herzustellen. Benutzen Sie dazu das Programm pon zusammen mit dem hier angegebenen Namen, also pon MeinProvider. Wenn Sie mit pppconfig mehrere Konfigurationen für unterschiedliche ISPs erstellt haben, können Sie jeweils mit dem passenden Providernamen die Verbindung aufbauen. Debian GNU/Linux PPP Configuration Utility +-----------------------| Configure Nameservers (DNS) |------------------------+ | | | Choose a method. ’Static’ means that the same nameservers will be used | | every time this provider is used. You will be asked for the nameserver | | numbers in the next screen. ’Dynamic’ means that pppd will automatically | | get the nameserver numbers each time you connect to this provider. ’None’ | | means that DNS will be handled by other means, such as BIND (named) or | | manual editing of /etc/resolv.conf. Use the up and down arrow keys to move | | among the selections, and press the spacebar to select one. When you are | | finished, use TAB to select <OK> and ENTER to move on to the next item. | | | | (*) Static Use static DNS | | ( ) Dynamic Use dynamic DNS | | ( ) None DNS will be handled by other means | | | | | | | | | | | | <Ok> <Cancel> | | | +------------------------------------------------------------------------------+ An dieser Stelle können Sie bestimmen, wie der Zugriff auf einen oder mehrere Nameserver stattfinden soll. Wenn Sie „Static“ auswählen, werden Sie vom Installationsprogramm nach mindestens einer IP-Nummer eines Nameservers gefragt. Bei der Option „Dynamic“ wird diese Information automatisch bei der Einwahl zu Ihrem Provider übermittelt. Dies ist eine gute Wahl, wenn Sie über verschiedene Provider ins Internet gehen wollen. Wenn Sie „None“ auswählen, müssen Sie sich selber um die Angaben zum Nameserver für Ihr System kümmern, beispielsweise in /etc/resolv.conf, oder Sie installieren einen eigenen Nameserver (Paket: bind) auf Ihrem System. Debian GNU/Linux PPP Configuration Utility 295 Kapitel 8. Internet +--------------------------------| IP number |---------------------------------+ | | | Enter the IP number for your primary nameserver. | | | | 194.25.2.129________________________________________________________________ | | | | | | | | | | <Ok> <Cancel> | | | +------------------------------------------------------------------------------+ Hier ein Beispiel für die Benutzung eines festen Nameservers. Erfragen Sie die korrekte Nameserver-IP-Nummer für Ihre Konfiguration bei Ihrem Provider. Debian GNU/Linux PPP Configuration Utility +-----------------| Authentication Method for MeinProvider |------------------+ | | | Please select the authentication method for this connection. PAP is the | | method most often used in Windows 95, so if your ISP supports the NT or | | Win95 dial up client, try PAP. The method is now set to CHAT. | | | | PAP Peer Authentication Protocol | | Chat Use chat for login:/password: authentication | | CHAP Crypto Handshake Auth Protocol | | | | Previous Return to previous menu | | Quit Exit this utility | | | | | | | | <Ok> <Cancel> | | | +------------------------------------------------------------------------------+ Debian GNU/Linux PPP Configuration Utility +--------------------------------| User Name |---------------------------------+ | | | Enter the username given to you by your ISP. | | | | hoshi_______________________________________________________________________ | | | | | | | | | | | | <Ok> <Cancel> | | | +------------------------------------------------------------------------------+ Geben Sie hier den Benutzernamen an, unter dem Sie bei Ihrem Provider registriert sind. Sie können sich diesen Namen im allgemeinen selbst aussuchen. Debian GNU/Linux PPP Configuration Utility +---------------------------------| Password |---------------------------------+ | | | Enter the password your ISP gave you. | | | | sagichnich__________________________________________________________________ | | | | | | | | <Ok> <Cancel> | 296 Kapitel 8. Internet | | +------------------------------------------------------------------------------+ Geben Sie hier das Paßwort ein, welches Sie mit Ihrem Provider vereinbart haben. Achten Sie hier auf Großund Kleinschreibung! Debian GNU/Linux PPP Configuration Utility +----------------------------------| Speed |-----------------------------------+ | | | Enter your modem port speed (e.g. 9600, 19200, 38400, 57600, 115200). | | I suggest that you leave it at 115200. | | | | 115200______________________________________________________________________ | | | | | | | | | | | | <Ok> <Cancel> | | | +------------------------------------------------------------------------------+ Stellen Sie hier die Schnittstellengeschwindigkeit ein. Dies ist nicht die Übertragungsgeschwindigkeit Ihres Modems. Diese Frage bezieht sich auf die in Ihrem Rechner eingebaute Schnittstelle, an der Sie das Modem angeschlossen haben. Moderne Modems können die Daten, die von und zu Ihrem Provider über die Leitung gehen, komprimieren. Deshalb ist es sinnvoll hier einen möglichst hohen Wert einzustellen, um das Modem nicht mit der Verbindung zum Rechner auszubremsen. Debian GNU/Linux PPP Configuration Utility +------------------------------| Pulse or Tone |-------------------------------+ | | | Select method of dialing. Since almost everyone has touch-tone, you should | | leave the dialing method set to tone unless you are sure you need | | pulse. Use the up and down arrow keys to move among the selections, and | | press the spacebar to select one. When you are finished, use TAB to | | select <OK> and ENTER to move on to the next item. | | | | (*) Tone | | ( ) Pulse | | | | | | | | <Ok> <Cancel> | | | +------------------------------------------------------------------------------+ Hier können Sie zwischen Ton- oder Impulswählverfahren wählen. Mittlerweile sind in Deutschland fast alle Anschlüsse tonwahlfähig. Ändern Sie diese Einstellung nur, wenn es mit der Tonwahl Probleme gibt. Debian GNU/Linux PPP Configuration Utility +-------------------------------| Phone Number |-------------------------------+ | | | Enter the number to dial. Don’t include any dashes. See your modem manual | | if you need to do anything unusual like dialing through a PBX. | | | | 191011______________________________________________________________________ | | | | | | | | | | | | <Ok> <Cancel> | | | 297 Kapitel 8. Internet +------------------------------------------------------------------------------+ Tragen Sie hier die Einwahlnummer Ihres Providers ein. Wenn Sie Ihr Modem über eine Telefonanlage angeschlossen haben, kann es nötig sein, eine 0 oder eine andere Nummer vorzuwählen. Sollte Ihr Modem nicht über die Telefonanlage wählen können, sehen Sie in Ihr Handbuch zum Modem, es gibt für jedes Modem eine Option, daß das Modem auch dann wählt, wenn es kein Freizeichen bekommt. Dies ist oft bei Telefonanlagen der Fall, wenn diese ein anderes Freizeichen benutzen als im öffentlichen Telefonnetz. Debian GNU/Linux PPP Configuration Utility +------------------------| Choose Modem Config Method |------------------------+ | | | | | Answer ’yes’ to have the port your modem is on identified automatically. | | It will take several seconds to test each serial port. Answer ’no’ if | | you would rather enter the serial port yourself | | | | | | | | | | | | <Yes> <No> | | | +------------------------------------------------------------------------------+ Sie können hier die seriellen Schnittstellen in Ihrem Rechner suchen lassen und im nächsten Schritt die gewünschte aus einer Liste auswählen. Debian GNU/Linux PPP Configuration Utility +----------------------------| Select Modem Port |-----------------------------+ | | | Below is a list of all the serial ports that appear to have hardware | | that can be used for ppp. One that seems to have a modem on it has | | been preselected. If no modem was found ’Manual’ was preselected. To | | accept the preselection just hit TAB and then ENTER. Use the up and | | down arrow keys to move among the selections, and press the spacebar | | to select one. When you are finished, use TAB to select <OK> and ENTER | | to move on to the next item. | | | | (*) /dev/ttyS0 | | ( ) /dev/ttyS1 | | ( ) Manual Enter the port by hand. | | | | | | | | | | | | <Ok> <Cancel> | | | +------------------------------------------------------------------------------+ Markieren Sie hier die Schnittstelle, an der Ihr Modem angeschlossen ist. Beachten Sie bitte, daß /dev/ttyS0 dem COM-Port 1 und /dev/ttyS1 dem COM-Port 2 entspricht. Debian GNU/Linux PPP Configuration Utility +-----------------------| Properties of MeinProvider |-------------------------+ | | | | | Number 191011 Telephone number | | User hoshi ISP user name | | Password sagichnich ISP password | | Speed 115200 Port speed | | Com /dev/ttyS0 Modem com port | | Method PAP Authentication method | 298 Kapitel 8. Internet | | | Advanced Advanced Options | | | | Finished Write files and return to main menu. | | Previous Return to previous menu | | Quit Exit this utility | | | | | | | | | | <Ok> <Cancel> | | | +------------------------------------------------------------------------------+ Zum Abschluß können Sie noch einmal alle Angaben überprüfen. Wenn Sie weitere Konfigurationsdateien zu anderen Providern erstellen wollen, können Sie mit „Finished“ die Eingaben speichern und zum Anfang zurückkehren. Wenn Sie das Programm verlassen, können Sie nun mit pon "Providername" die Verbindung aufbauen. In der Datei /var/log/messages wird der Verbindungsaufbau protokolliert, Sie können dies mit dem Kommando tail -f /var/log/messages verfolgen. Sollten Probleme auftreten, wie zum Beispiel ein falsches Paßwort, so können Sie dies hier verfolgen. Die Option -f bewirkt, daß ständig aus der Datei gelesen wird und alle neuen Einträge angezeigt werden. Sie können diesen Befehl mit CTRL+C abbrechen. Wenn Ihnen diese Informationen nicht ausreichen, finden Sie in der Datei /var/log/ppp.log detailliertere Informationen. Auch diese können Sie sich mit dem Kommando tail -f ansehen. Um zu prüfen, ob die Verbindung aufgebaut wurde, können Sie den Befehl ifconfig benutzen. Dieser sollte das Device ppp0 anzeigen. Mit dem Kommando ping www.linux-magazin.de können Sie testen, ob Datenpakete über das Netz geschickt werden. Das Kommando poff beendet die Verbindung. 8.1.1.1. Weitere Konfiguration Es ist sinnvoll, für häufig verwendete Gerätedateien im Verzeichniss /dev/ einen Link mit einem geläufigeren Namen anzulegen. Wenn Sie herausgefunden haben, welches Device von Ihrem Modem benutzt wird, legen Sie einen entsprechenden Link „modem“ an. Beispielsweise mit ln -s /dev/ttyS1 /dev/modem. Sie können nun aus jeder Anwendung heraus einfach auf /dev/modem zugreifen, ohne sich die genaue Bezeichnung der Gerätedatei merken zu müssen. Wenn Sie Probleme haben, unter Linux die passende Gerätedatei zur seriellen Schnittstelle Ihres Rechners zu finden, können Sie folgende Tabelle zur Hilfe nehmen. Aus dieser können Sie die Bezeichnung der Schnittstelle unter DOS und Linux entnehmen, weiterhin finden Sie den passenden Linux-Befehl, um den Link anzulegen. DOS Linux Befehl COM1 /dev/ttyS0 "ln -s /dev/ttyS0 /dev/modem" COM2 /dev/ttyS1 "ln -s /dev/ttyS1 /dev/modem" COM3 /dev/ttyS2 "ln -s /dev/ttyS2 /dev/modem" COM4 /dev/ttyS3 "ln -s /dev/ttyS3 /dev/modem" 8.1.2. ISDN Vielleicht verfügt der eine oder andere Leser dieses Buches inszwischen über einen ISDN-Anschluß. Diese digitalen Telefonanschlüsse bieten im Normalfall 3 Telefonnummern und 2 gleichzeitig nutzbare (B-) Kanäle, so daß Sie sich im Internet rumtreiben können und gleichzeitig telefonieren können. Die Übertragungsrate 299 Kapitel 8. Internet beträgt 64 kBit je B-Kanal, einige Provider unterstützen die Bündelung beider Kanäle, so daß Sie mit 128 kBit im Netz surfen können, hierbei fallen natürlich auch die doppelten Telefonkosten an. Für die Konfiguration einer ISDN-Karte müssen Sie zunächst einige Module laden. Es ist nicht notwendig einen neuen Kernel zu übersetzen, alle benötigten Module wurden zusammen mit dem von Debian GNU/Linux installierten Kernel installiert. Zunächst sollten Sie versuchen die Module von Hand zu laden, wenn Sie die passenden Parameter herausgefunden haben, tragen Sie die entsprechenden Werte beispielsweise in die Datei /etc/modules ein. Beachten Sie, daß Module nur mit den Zugriffsrechten des Superusers (root) geladen werden können. Laden Sie zunächst das Modul „isdn“, am einfachsten mit dem Kommando modprobe isdn. Überprüfen Sie mit dem Kommando lsmod, ob das Modul geladen wurde, hierbei wird Ihnen vielleicht auffallen, daß zusätzlich das Modul „slhc“ automatisch geladen wurde, vergessen Sie nicht, dieses später auch in Ihre Konfiguration aufzunehmen (in der Datei /etc/modules). Sie können das Laden der Module auch in einem anderen Fenster, oder auf einer anderen Konsole, mit dem Kommando tail -f /var/log/syslog verfolgen, dies ist auch bei den weiteren Modulen und zur Fehlersuche sehr hilfreich. Für die Module „slhc“ und „isdn“ sollten Sie folgendes in diesem Logfile finden: Mar 7 09:57:16 debian kernel: CSLIP: code copyright 1989 Regents of the University of California Mar 7 09:57:16 debian kernel: ISDN subsystem Rev: 1.93/1.80/1.95/1.60/ 1.17/1.3 loaded Dies war der einfachste Teil... etwas komplizierter ist das Laden des eigentlichen Treibers für Ihre ISDN-Karte. Für die (teuren) aktiven ISDN-Karten wie zum Beispiel die AVM B1 stehen eigene Treiber zur Verfügung, lesen Sie bitte in der Dokumentation nach, wie diese zu laden sind. Für die weit verbreiteten passiven ISDN-Karten steht Ihnen das Modul hisax zur Verfügung. Diesem Modul müssen Sie über entsprechende Parameter unter anderem mitteilen, welche Karte Sie verwenden. Beispielsweise können Sie eine ältere „Creatix“ oder „Teles“ ISDN-Karte für den ISA-Steckplatz Ihres Rechners mit folgenden Parametern einbinden: modprobe hisax type=1 protocol=2 io=0xf80 mem=0xd0000 irq=9. Für eine AVM Fritz PCI-Karte kommt folgende Zeile in Frage: modprobe hisax type=5 io=0x340 irq=10 protocol=2. Natürlich müssen Sie einen freien IRQ (Interrupt) wählen, die bereits benutzten IRQs finden Sie in der Datei /proc/interrupts. Weitere Parameter für die verschiedenen Karten entnehmen Sie der Dokumentation. Wenn auch dieses Modul erfolgreich geladen wurde, sollten Sie in etwa folgende Einträge in der Datei /var/log/syslog finden: Mar 7 10:49:12 debian kernel: HiSax: Linux Driver for passive ISDN cards Mar 7 10:49:12 debian kernel: HiSax: Version 3.3c (module) Mar 7 10:49:12 debian kernel: HiSax: Layer1 Revision 2.36 Mar 7 10:49:12 debian kernel: HiSax: Layer2 Revision 2.20 Mar 7 10:49:12 debian kernel: HiSax: TeiMgr Revision 2.13 Mar 7 10:49:12 debian kernel: HiSax: Layer3 Revision 2.10 Mar 7 10:49:12 debian kernel: HiSax: LinkLayer Revision 2.40 Mar 7 10:49:12 debian kernel: HiSax: Approval certification valid Mar 7 10:49:12 debian kernel: HiSax: Approved with ELSA Quickstep series cards Mar 7 10:49:12 debian kernel: HiSax: Approval registration numbers: Mar 7 10:49:12 debian kernel: HiSax: German D133361J CETECOM ICT Services GmbH Mar 7 10:49:12 debian kernel: HiSax: EU (D133362J) CETECOM ICT Services GmbH Mar 7 10:49:12 debian kernel: HiSax: Approved with Eicon Technology Diva 2.01 PCI cards Mar 7 10:49:12 debian kernel: HiSax: Total 1 card defined Mar 7 10:49:12 debian kernel: HiSax: Card 1 Protocol EDSS1 Id=HiSax (0) Mar 7 10:49:12 debian kernel: HiSax: Teles 8.0/16.0 driver Rev. 2.11 Mar 7 10:49:12 debian kernel: HiSax: Teles 16.0 config irq:9 mem:0xD0000 cfg:0xF80 Mar 7 10:49:12 debian kernel: Teles0: ISAC version (60): 2085 V2.3 Mar 7 10:49:12 debian kernel: Teles0: HSCX version A: V2.1 B: V2.1 Mar 7 10:49:12 debian kernel: Teles 16.0: IRQ 9 count 0 Mar 7 10:49:12 debian kernel: Teles 16.0: IRQ 9 count 5 Mar 7 10:49:12 debian kernel: HiSax: DSS1 Rev. 2.21 Mar 7 10:49:12 debian kernel: HiSax: 2 channels added 300 Kapitel 8. Internet Mar 7 10:49:12 debian kernel: HiSax: MAX_WAITING_CALLS added Nun müssen Sie nur noch einige Programme, die sich im Paket isdnutils befinden, installieren und einige Anpassungen an den Konfigurationsdateien vornehmen. Am einfachsten benutzen Sie hierzu wieder apt-get. debian:/home/fr# apt-get install isdnutils Reading Package Lists... Done Building Dependency Tree... Done The following NEW packages will be installed: isdnutils 0 packages upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Need to get 0B/1184kB of archives. After unpacking 2556kB will be used. Selecting previously deselected package isdnutils. (Reading database ... 5587 files and directories currently installed.) Unpacking isdnutils (from .../net/isdnutils_3.0-17.deb) ... Setting up isdnutils (3.0-17) ... Starting isdn services :. Nach der Installation werden die notwendigen Programme automatisch gestartet, wenn Sie das ISDN-System bereits einmal konfiguriert hatten, ist sofort alles funktionsfähig. Ansonsten müssen Sie jetzt einige Anpassungen vornehmen. Bestandteil des Paketes isdnutils ist das Konfigurationsprogramm isdnconfig. Mit diesem können Sie die benötigten Konfigurationsdateien erzeugen (sie werden eigentlich nur an die passende Stelle kopiert...). Isdnutils configuration

===========

1 network devices 2 synchronous ppp daemon 3 modem emulation 4 isdnlog configuration 5 voice box configuration Q Quit Your choice :1 Starten Sie nun isdnconfig, es werden im einfachsten Fall lediglich die ersten beiden Auswahlmöglichkeiten benötigt. Wenn Sie Funktionen wie Kanalbündelung, Modememulation oder einen Anrufbeantworter benötigen, lesen Sie bitte in der Dokumentation weiter. Wählen Sie zunächst den Punkt „1“. Isdnutils configuration network interfaces ======================= ------------------ Searching for existing configuration files... Found : NONE Devices should be named : - rawip interface isdn0 isdn1 ... - synchronous ppp interface ippp0 ippp1 ... Name for new interface : ippp0 Installed new config file /etc/isdn/device.ippp0 . This file is only an example. You have to edit this file for it to work. Press [Enter] Hinter dem ersten Menüpunkt können Sie die gewünschten Netzwerk-Interfaces aktivieren. Für den Anfang ist es völlig ausreichend lediglich das Device ippp0 zu benutzen. Beachten Sie den Hinweis, daß lediglich eine Beispieldatei installiert wurde, die Sie noch Ihren Bedürfnissen anpassen müssen. Doch dazu gleich mehr. 301 Kapitel 8. Internet Isdnutils configuration synchronous ppp daemon ======================= ---------------------- Searching for existing configuration files... Found : ippp0 Normal setup : one ipppd for all devices: /dev/ippp0 /dev/ippp1 ... All ippp* network interfaces are handled by a single ipppd process using a single config file. Special setup : one ipppd for each device: /dev/ippp0 /dev/ippp1 ... Each ippp* network interface is handled by its own ipppd process, using a specific config file for each. You need to use pppbind on each network interface to select which /dev/ippp* device will be used. Usually only a single ippp interface is used (for connecting to an ISP), so the above isn’t really relevant to most users. Name for new configuration (ippp0 ippp1 ...) : ippp0 Hinter dem zweiten Menüpunkt verbergen sich weitere Scripte für die verschiedenen Gerätedateien, auch hier ist es ausreichend, einen Eintrag für ippp0 vorzunehmen. Verlassen Sie nun das Konfigurationsprogramm, alle notwendigen Dateien wurden unter /etc/isdn/ installiert und müssen nun noch angepaßt werden. Beginnen wir zunächst mit der Datei ipppd.ippp0, hier ist lediglich die vierte Zeile, welche mit „echo ... “ beginnt, zu löschen, damit die Datei von den ISDN-Scripten akzeptiert wird:

  1. !/bin/sh
  2. REMOVE the next line once configuration is complete #########################

echo "Warning! $0 not configured yet! Aborting..."; exit 1

  1. REMOVE the above line once configuration is complete ########################

Die zu löschende Zeile ist deutlich in dem Script markiert. Damit ist die Konfiguration dieser Datei abgeschlossen. Sie können sich natürlich noch die weiteren Einträge ansehen, in der Dokumentation finden Sie weitere Informationen zur Bedeutung der einzelnen Einträge. Laden Sie nun die Datei device.ippp0 in einen Editor und entfernen Sie auch in dieser Datei die oben beschriebene Zeile. In dieser zweiten Datei müssen Sie allerdings noch einige weitere Änderungen vornehmen, die wichtigsten Abschnitte sind in der Datei mit XXX_ markiert. Suchen Sie zunächst nach einer Zeile, die mit LOCALMSN beginnt. Ändern Sie die vorgegebene Nummer durch die Nummer, die Sie Ihrer ISDN-Karte zuweisen möchten. Setzen Sie vor die Nummer noch die Ortskennzahl (Vorwahl) ohne die führende 0, für Berlin also nicht 030, sondern nur 30. Nach dem gleichen Muster verändern Sie den Eintrag REMOTEMSN durch die Einwahlnummer Ihres Providers. LOCALMSN=30987654321 REMOTEMSN=30191011 Wenn Ihr Provider keine Authentifizierung per Telefonnummer unterstützt, lesen Sie bitte in der Dokumentation weiter. Einen Blick sollten Sie noch auf den Eintrag DIALMODE etwas weiter unten in der Datei werfen. Der Standardwert ist hier auto, dies führt dazu, daß bei jedem Netzzugriff versucht wird, eine Verbindung zu Ihrem Internetprovider aufzubauen. Dies kann unter Umständen recht teuer werden, Sie können den Wert auch auf manual ändern, müssen dann allerdings den Verbindungsaufbau „freigeben“. Dies können Sie beispielsweise mit folgendem kleinen Script erledigen, welches als /bin/i gespeichert werden kann:

  1. !/bin/sh

302 Kapitel 8. Internet case "$1" in start) /usr/sbin/isdnctrl dialmode ippp0 auto echo "ISDN on"

stop) /usr/sbin/isdnctrl dialmode ippp0 off echo "ISDN off"

  • )

echo "Usage: $0 {start|stop}" exit 1

esac exit 0 Achten Sie darauf, daß Script ausführbar zu machen, mit chmod +x /bin/i. Ein i start gibt nun die ISDN-Verbindung frei, nach einem i stop ist kein weiterer Verbindungsaufbau möglich. So können Sie sichergehen, daß kein wildgewordenes Programm oder eine Webseite, die sich selber immer wieder aktualisiert, Ihre Telefonkosten in die Höhe treibt. Hiermit ist die Konfiguration abgeschlossen, Sie müssen nun lediglich das ISDN-Subsystem noch einmal neu starten, da sich die Konfiguration geändert hat: debian:/etc/isdn# /etc/init.d/isdnutils stop Stopping isdn services : interfaces. debian:/etc/isdn# /etc/init.d/isdnutils start Starting isdn services : interfaces. Beachten Sie bitte, daß es notwendig ist, einen geeigneten Nameserver in die Datei /etc/resolv.conf einzutragen, da sonst keine Rechnernamen aufgelöst werden können. Wenn Sie dort noch keinen Eintrag vorgenommen haben, holen Sie dies jetzt nach. Sinnvolle Werte erfahren Sie bei Ihrem Provider. Über den Aufbau der Datei finden Sie weitere Informationen im Abschnitt über Netzwerke. Sie können nun mit den Kommandos route und ifconfig überprüfen, ob die ISDN-Interfaces vorhanden sind: debian:/etc/isdn# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 10.0.0.2 * 255.255.255.255 UH 0 0 0 ippp0 localnet * 255.255.255.240 U 0 0 0 eth0 default * 0.0.0.0 U 0 0 0 ippp0 debian:/etc/isdn# ifconfig ippp0 Link encap:Point-to-Point Protocol inet addr:10.0.0.1 P-t-P:10.0.0.2 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:30 Eventuell werden Ihnen noch weitere Interfaces angezeigt, beispielsweise wenn noch eine weitere Netzwerkkarte im Rechner installiert ist. Auf einer Konsole oder in einem Terminalfenster können Sie nun die Verbindung mit ping www.debian.org testen, Sie können aber auch einen Webbrowser starten und gleich eine Runde im Netz surfen... 303 Kapitel 8. Internet 8.1.2.1. Kanalbündelung Mittels der Kanalbündelung (Multilink) können zwei ISDN Kanäle gleichzeitig zur Übertragung von Daten genutzt werden. Dies kann die Downloadzeiten im besten Fall halbieren (wenn auch der Server über eine entsprechende Anbindung verfügt), hat aber auch im allgemeinen die doppelten Kosten für die zweite Leitung zur Folge. Zunächst sollte eine funktionierende ISDN Konfiguration (für einen Kanal) vorliegen um beispielsweise Fehler bei der Authentifizierung auszuschliessen. Weiterhin ist ein Backup der Konfiguration immer sinnvoll. Alle folgenden Schritte werden im Verzeichnis /etc/isdn/ durchgeführt. Zunächst ist die Datei device.ippp0 zu kopieren, die Zieldatei muß device.ippp1 heissen. Einzige notwendige Änderung ist das hinzufügen des Eintrages +mp in der Datei ipppd.ippp0. Das war es auch schon. Nachzulesen ist das ganze noch in der Datei README.MPPP. Nun muß das ISDN System mit /etc/init.d/isdnutils stop und /etc/init.d/isdnutils start neugestartet werden. Beachten Sie das der zweite Kanal nicht automatisch bei Bedarf aktiviert wird, sondern mit dem Kommando isdnctrl dial ippp1 aktiviert wird. Das Kommando isdnctrl hangup ippp1 beendet den zweiten Kanal. 8.1.3. DSL Mittlerweile sind schnelle und preisgünstige Internetanschlüsse in vielen Gebieten verfügbar. Leider funktioniert diese neue Technik nur in Gegenden die nicht per Glasfaser versorgt werden, was leider in vielen Bereichen der neuen Bundesländer in einigen Bezirken in Berlin der Fall ist. Die Konfiguration einer DSL Verbindung zu Ihrem Provider ist recht einfach. Es wird eine Netzwerkkarte benötigt die mit dem DSL-Splitter (falls auch ein ISDN Telefonanschluß zur Telefonie genutzt werden soll) oder direkt mit DSL Anschluß (DSL-Modem) verbunden wird. Die benötigten Kabel sowie eine Anleitung werden im allgemeinen mitgeliefert. Wenn ein lokales Netz aufgebaut werden soll so ist natürlich eine zweite Netzwerkkarte notwendig. Ein DSL Anschluß stellt direkt vor Ort einen Netzwerkanschluß zur Verfügung. Nun spricht dieser leider nicht direkt das Protokoll IP, vielmehr ist es notwendig über diese Anbindung wiederrum ein PP Protokoll zu benutzen, dieses nennt sich PPPoE: PPP over Ethernet. Hierfür steht unter Debian GNU ein spezielles Paket sowie ein kleines Konfigurationsscript und ein Monitoring Tool zur Verfügung. pppoe - PPP over Ethernet driver pppoeconf - configures PPPoE/ADSL pppstatus - console-based PPP status monitor Mittels apt-get install pppoe pppoeconf pppstatus müssen zunächst die Pakete installiert werden. Zwingend notwendig ist lediglich das Paket pppoe. Das Paket pppoeconf erleichtert jedoch die Konfiguration, pppstatus kann nützlich sein um die Verbindung und den Status zu überprüfen. 8.1.3.1. pppoeconf Nach der Installation der Pakete wird zunächst das Programm pppoeconf benutzt um die notwendigen Konfigurationsdateien zu erstellen. 304 Kapitel 8. Internet Abbildung 8-1. PPPoE Konfiguration - Geräte pppoeconf sucht zunächst nach bereits konfigurierten Netzwerkkarten. Für weit verbreitete Modelle ist in vielen Kerneln bereits ein Treiber integriert, für andere Modelle stehen Treiber als Module zur Verfügung. Die modularen Treiber können vor dem Start von pppoeconf von Hand oder mittels modconf geladen werden. Es sollte an dieser Stelle mindestens eine Netzwerkkarte (eth0) angezeigt werden. Ist dies nicht der Fall so ist zunächst dafür zu sorgen das ein entsprechendes Modul geladen wird. Wenn in dem gezeigten Dialog „No“ gewählt wird, kann ein Modul mittels modconf integriert werden. Werden hier zwei oder mehr Netzwerkkarten angezeigt so wird dieses System vermutlich als Router für ein lokales Netz eingesetzt. 305 Kapitel 8. Internet Abbildung 8-2. PPPoE Konfiguration - Suche Im nächsten Schritt werden die erkannten Netzwerkkarten nach einem DSL-Anschluß (DSL-Modem) durchsucht. Sollte kein entsprechender Anschluß gefunden werden so ist die Verkabelung zu überprüfen. Auch kann es sein das der Anschluß vom Provider noch nicht freigeschaltet wurde. Details zur Fehlersuche an der Hardware (DSL-Modem) sind in der Bedienungsanleitung nachzulesen. 306 Kapitel 8. Internet Abbildung 8-3. PPPoE Konfiguration - eth0 Einrichtung Wird an einer einer der Schnittstellen/Netzwerkkarten ein DSL-Anschluß gefunden, so wird angeboten diesen im folgenden zu konfigurieren. Abbildung 8-4. PPPoE Konfiguration - Modifikation erlauben 307 Kapitel 8. Internet Werden bereits bestehende Konfigurationsdateien gefunden, so wird eine Warnung ausgegeben doch zunächst ein Backup der Dateien zu erstellen. Abbildung 8-5. PPPoE Konfiguration - Übliche Optionen Wenn vor der Benutzung eines DSL-Anschlusses bereits PPP benutzt wurde (beispielsweise über eine Modemverbindung) so kann es vorkommen das bereits einige gebräuchliche Werte umkonfiguriert wurden. Hier können die wichtigsten Werte geprüft und ggf. korrigiert werden. 308 Kapitel 8. Internet Abbildung 8-6. PPPoE Konfiguration - Benutzername Die meisten Provider schicken die benötigten Login-Informationen per Post. Einige beschreiben diese auf eine seltsame Art, in der Annahme, der Benutzer würde diese Daten in die vom Provider gelieferten Setup-Programme eingeben. Tatsächlich aber werden daraus ganz normalle PPP-Benutzernamen und -Passwörter generiert, und Sie können das ebenfalls tun und die richtigen Werte in die folgenden Dialog-Fenster eingeben. Die Daten für eine T-DSL Anschluß der Deutschen Telekom sehen prinzipiell so aus: Anschlusskennung: 11111111111 T-Onlinenummer: 222222222222 Mitbenutzer: 0001 Daraus ergibt sich als Benutzername: 111111111111222222222222#0001@t-online.de. Insbesondere ist auf die Länge der einzelnen Teile (Anschlusskennung und T-Onlinenummer) zu achten. Wichtig ist auch die Mitbenutzernummer welche durch das Zeichen „#“ abgetrennt wird. Es ist in jedem Fall die Zeichenkette „@t-online.de“ anzuhängen. Es scheint neuerdings auch 12-stellige T-Onlinenummern zu geben. Ich diesem Fall muss das Zeichen „#“ entfallen. 309 Kapitel 8. Internet Abbildung 8-7. PPPoE Konfiguration - Passwort Hier wird das vom Provider benannte Passwort angegeben. Achtung! Dies wird im Klartext am Bildschirm angezeigt. Bitte kurz umdrehen und überprüfen ob ein böser Passwortklau grade über die Schulter schaut... Abbildung 8-8. PPPoE Konfiguration - Nameserver 310 Kapitel 8. Internet Die Konfiguration des Nameservers (Einträge in der Datei resolv.conf) kann automatisch bei der Verbindungsaufnahme erfolgen. Somit ist sichergestellt das immer ein gut erreichbarer Nameserver bekannt ist, auch wenn die Konfiguration des Providers verändert wird. Abbildung 8-9. PPPoE Konfiguration - MSS-Größe Hier kann die Paketgröße der IP-Pakete verändert werden, einige Router können Probleme bereiten wenn die Paketgröße auf 1500 belassen wird. 311 Kapitel 8. Internet Abbildung 8-10. PPPoE Konfiguration - Automatisch Starten Es kann bei jedem Systemstart automatisch eine Verbindung zum Provider aufgebaut werden. Es ist zu beachten das hier bei ggf. Verbindungskosten anfallen die insbesondere bei einer zeitbasierten Abrechnung ins Gewicht fallen können. 312 Kapitel 8. Internet Abbildung 8-11. PPPoE Konfiguration - Verbindung herstellen Nach der erfolgreichen Konfiguration kann direkt eine erste Verbindung ins Netz hergestellt werden. 8.1.3.2. pppstatus Neben den üblichen Tools zur Überprüfung einer Internetverbindung (ping, host, tcpdump usw.) steht speziell zur Kontrolle von PPP-Verbindungen das Programm pppstatus zur Verfügung. 313 Kapitel 8. Internet Abbildung 8-12. PPP Statusanzeige Hier finden sich Informationen über die verwendete Schnittstelle, die maximale Übertragungsrate und das Übertragungsvolumen der Daten. In der oberen Hälfte wird in einer Säulengrafik die Übertragungsrate angezeigt. 8.2. Webbrowser Nachdem Sie nun erfolgreich die Verbindung ins Internet aufgebaut haben, können Sie die verschiedensten Dienste (WWW, FTP, News...) nutzen. Jeder dieser Dienste, wobei WWW sicher der populärste ist, kann mit einem eigenständigen Programm genutzt werden. Einige Programme können auch mehrere dieser Dienste abfragen, aber auf alle Fälle haben Sie mit Debian GNU/Linux für jeden Dienst die Auswahl zwischen verschiedenen Programmen. 8.2.1. Netscape Communicator Der Communicator der Firma Netscape ist für verschiedene Betriebssysteme verfügbar und auch in einer Linux-Version auf den Debian GNU/Linux Servern oder den CD-ROMs zu bekommen. Wie der Name „Communicator“ schon nahelegt, handelt es sich um ein Programm, welches verschiedene Funktionen ausführen kann und somit mehrere Internetdienste nutzbar macht. Ältere Versionen trugen den Namen „Navigator“ und stellten lediglich die Möglichkeit Webseiten anzuzeigen zur Verfügung. Funktionen wie Mail und News kamen erst später (mit dem Communicator) hinzu. Die Pakete wurden für Debian GNU/Linux vom Betreuer des Paketes in kleine Teile getrennt, so daß man auch nur die Teile des Communicators installieren kann, die man benötigt. Weiterhin können Sie ohne Probleme verschiedene Versionen gleichzeitig installieren, momentan sind die Versionen 4.08, 4.61 und 4.7x auf den Debian GNU/Linux-Servern zu beziehen. 314 Kapitel 8. Internet Abbildung 8-13. Netscape Communicator Installieren Sie die gewünschten Pakete wie gewohnt mit apt, dpkg oder dselect. Sie benötigen in jedem Fall die Pakete *-base-*, *-smotif-* (oder *-dmotif-*, wenn Sie über eine kommerzielle Motif-Version verfügen) sowie *-java-*. Die Pakete *-nethelp-* und *-spellchk-* sind nicht unbedingt erforderlich. 8.2.1.1. Scrollmaus Um eine Scrollmaus (also eine Maus mit Rad) zusammen mit dem Netscape Communicator (und auch den anderen Anwendungen aus dem Paket wie beispielsweise der Composer) verwenden zu können, ist zunächst die grundsätzliche Unterstützung solcher Hardware durch den X-Server zu gewährleisten. 8.2.1.2. Probleme beim Druck Vielleicht haben Sie sich auch schon über einige Webseiten geärgert die sich nicht vernünftig ausdrucken liessen. Da der Traum vom papierlosen Büro ja noch nicht Realität geworden ist und immernoch viele Leute den Wunsch haben „etwas in der Hand zu halten“ gibt es aber auch für dieses Problem eine Lösung. Auf der Webseite http://mickey.edvz.uni-linz.ac.at/enprt/ findet sich ein Programm mit dessen Hilfe Webseiten zunächst in LaTeX umgewandelt werden und mit zusätzlich Informationen wie beispielsweise URL, Seitentitel und Seite/Seitenanzahl sowie Druckdatum versehen werden. 315 Kapitel 8. Internet Die Installation gestaltet sich einfach, nach dem entpacken des Paketes sind einige Parameter anzupassen und das Script ist in der Netscape Konfiguration als Druckerkommendo einzutragen. 8.2.1.3. Schaltflächen entfernen Haben Sie die Schaltflächen „Shop“, „Security“ oder „Home“ schon mal benutzt? Diese können leicht durch folgende Einträge in der Datei ~/.Xdefaults entfernt werden Netscape*toolBar.myshopping.isEnabled: false Netscape*toolBar.destinations.isEnabled: false Netscape*toolBar.search.isEnabled: false Netscape*toolBar.viewSecurity.isEnabled: false Netscape*toolBar.home.isEnabled: false Netscape*toolBar.print.isEnabled: false Danach ist die Datei mit xrdb -merge ~/.Xdefaults neu einzulesen und der Browser neu zu starten. 8.2.1.4. Schaltflächen hinzufügen Natürlich ist es genauso gut möglich eigene Schaltflächen hinzuzufügen. Auch hierzu sind Ergänzungen in der Datei ~/.Xdefaults notwendig. Folgendes Beispiel fügt eine Schaltfläche „Find In Page“ hinzu. Netscape*toolBar.userCommand1.commandName: findInObject Netscape*toolBar.userCommand1.labelString: Find Netscape*toolBar.userCommand1.commandIcon: Search Auch bei dieser Änderung ist die Datei mit xrdb -merge ~/.Xdefaults neu einzulesen und der Browser neu zu starten. Ein Mausklick auf diese Schaltfläche öffnet nun das „Suchen“ Fenster. 8.2.2. Mozilla Die Geschichte von Mozilla beginnt am 22. Januar 1998. An diesem Tag gab die Firma Netscape Communications bekannt, dass ihre damals Marktführende Browsersuite Netscape Communicator 4.0 ab sofort kostenlos verfügbar ist. Desweiteren sollte der Quellcode des Nachfolgeprodukts Communicator 5.0 (der sich damals noch in der Entwicklung befand und nie veröffentlicht wurde) als freie Software veröffentlicht werden. Da Software jedoch nicht auf Bäumen wächst war es notwendig, die weitere Entwicklung und Pflege der nun freien Codebasis von Netscape 5.0 zu koordinieren. Schließlich müssen Patches und Verbesserungen von Benutzern, Hobbyentwicklern und Firmen auf der ganzen Welt verwaltet werden und in einen gemeinsamen Entwicklungszweig einfließen. Der Browser sollte kein exklusives Projekt der Firma Netscape sein. Er sollte ein freies Software Projekt sein wie der Linux Kernel oder das GNU Projekt oder der Apache Webserver. Es sollte jeder anderen Firma und jeder Einzelperson möglich sein, sich an der weiteren Entwicklung zu beteiligen und den Browser oder bestimmte Teile davon in eigenen Programmen zu verwenden. Um diesen Zielen gerecht zu werden, gründete Netscape das "Mozilla Projekt", welches den ebenfalls in "Mozilla" umgetauften Netscape Browser seitdem weitgehend unabhängig von Netscape weiterentwickelt. Der Name "Mozilla" war übrigens der interne Codename für Netscape’s Navigator seit Version 1.0. 316 Kapitel 8. Internet Abbildung 8-14. Mozilla Um sich in den Netscape Sourcecode einzuarbeiten und die weitere Entwicklung auf eine solide Basis zu stellen, begannen die Entwickler Netscape’s Sourcecode zu überarbeiten. Nach sechs Monaten stellte sich allerdings heraus, dass es keinen Sinn machte auf dem Netscape Code aufzubauen. Netscape baute noch auf Mosaic (erster grafische Webbrowser) auf und der Code war über die Jahre „gewachsen“ und entsprechend chaotisch. Deshalb begannen die Entwickler den Netscape Code wegzuschmeissen und Mozilla von Grund auf neu zu Entwickeln. Den Kern von Mozilla bildet die Rendering Engine Gecko (ursprünglich Raptor). Sie wurde mit besonderem Augenmerk auf geringen Speicherverbrauch, schnellen Seitenaufbau und Konformität zu den offiziellen Web Standards des W3C entwickelt. Um Mozilla möglichst modular aufzubauen wurde das Komponentenmodell XPCOM entwickelt. XPCOM stellt eine plattformunabhängige Abwandlung von Microsoft’s Komponentenmodell COM dar. Mit Hilfe von XPCOM ist es beispielsweise möglich einen eigenen Browser zu schreiben und Gecko als Rendering Engine zu nutzen. Mozilla besteht aus verschiedenen Paketen, diese müssen nicht komplett installiert werden. mozilla-psm - Mozilla Web Browser - Personal Security Manager (PSM) mozilla-dev - Mozilla Web Browser - development files mozilla-js-debugger - JavaScript debugger for use with Mozilla mozilla-browser - Mozilla Web Browser - core and browser mozilla-mailnews - Mozilla Web Browser - mail and news support mozilla-chatzilla - Mozilla Web Browser - irc client mozilla-dom-inspector - A tool for inspecting the DOM of pages in Mozilla. mozilla - Mozilla Web Browser - dummy package mozilla-xmlterm - Mozilla Web Browse - XML enabled 317 Kapitel 8. Internet mozilla-locale-de-at - Mozilla German Language/Region Package. Zum einfachen Handling steht ein „Dummy“ Paket mozilla zur Verfügung mit dem eine brauchbare Installation schnell und einfach vorgenommen werden kann. Natürlich kann auch zunächst das Paket mozilla-browser installiert werden, welches mit Komponenten wie beispielsweise den Mail und News Funktionen (mozilla-mailnews) ergänzt wird. Das Paket mozilla-locale-de-at sorgt dafür das Mozilla mit einer deutschsprachigen Oberfläche versehen wird. 8.2.3. Galeon Galeon ist ein Webbrowser für den GNOME Desktop und steht unter der GPL. Zum Anzeigen der Webseiten verwendet er Gecko, die Rendering Engine von Mozilla. Galeon ist sehr portabel und sollte sich auf jedem Unix System kompilieren lassen, auf dem auch GNOME läuft (wie z.B. GNU/Linux oder FreeBSD). Abbildung 8-15. Galeon Logo Das Ziel der Galeon Programmierer ist es, einen modernen und standardkonformen aber gleichzeitig auch schlanken Browser zu schaffen. Ein sehr wichtiger Punkt dabei ist, dass Galeon wirklich nur ein Browser ist. Anders als z.B. Mozilla besitzt Galeon keinen eigenen Mail oder News Client. Um E-Mail zu versenden kann man seinen bevorzugten Mail Client (z.B.: Evolution, mutt, kmail, balsa oder was auch immer) angeben. Man muss also nicht, wie z.B. bei Mozilla immer die E-Mail Adresse in seinen Mail Client kopieren oder Tools wie muttzilla verwenden, wenn man ein anderes Mail Programm als Mozilla Mail verwendet. 318 Kapitel 8. Internet Abbildung 8-16. Galeon Browser Downloads kann Galeon wahlweise selbst tätigen oder von einem externen Programm durchführen lassen. So kann man z.B. GTM (Gnome Transfer Manager) oder sogar wget (wird dann in einem eigenen Terminal ausgeführt) als Download Manager konfigurieren. 8.2.3.1. Installation Die Installation erfolgt einfach mittels apt-get install galeon. TIP: Bei Debian ist der Mozilla Personal Security Manager (das Mozilla Modul, das für SSL verantwortlich ist) in ein separates Paket abgespalten. Um in Galeon SSL nutzen zu können, muss das Paket mozilla-psm installiert werden. Beim ersten Start ruft Galeon seinen Konfigurations Druiden auf. Dort wird gefragt ob Bookmarks von Netscape (4.x) oder Mozilla importiert werden sollen und es können diverse Einstellungen z.B. für die zu verwendenden Proxies vorgenommen werden. Neben der Übernahme der Netscape Bookmarks ist auch der Import einiger Netscape Einstellungen möglich (z.B. Startseite, Java, Java Script usw.). 319 Kapitel 8. Internet Abbildung 8-17. Galeon Installation Abbildung 8-18. Galeon Import Bookmarks 320 Kapitel 8. Internet Abbildung 8-19. Galeon Smart Bookmarks Abbildung 8-20. Galeon GNOME Integration 321 Kapitel 8. Internet Abbildung 8-21. Galeon Proxy Einstellungen 8.2.3.2. Startzeit Besonders interessant ist die Startzeit von Galeon. Zumindest was die Startzeit angeht ist Galeon damit wohl der momentan schnellste vollwertige Browser für Unix. TIP: Wenn schon eine frühere Version von Galeon installiert ist, dann sollten mit dem Kommando galeon-config-tool --clean alle Konfigurationsdateien der alten Version gelöscht werden, bevor mit einer neueren Version von Galeon grarbeitet wird. Galeon läuft dadurch deutlich schneller. Wenn wichtige Lesezeichen in Galeon gespeichert wurden, sollten diese vorher gesichert werden. Die Bookmarks finden sich in der Datei ~/.galeon/bookmarks.xml. Die Oberfläche von Galeon ist sehr übersichtlich und macht einen aufgeräumten Eindruck. Zwar sehen die Standardbuttons von Galeon recht langweilig aus, jedoch kommt Galeon mit einer kleinen Auswahl an Themes sowohl für die Browser Buttons als auch für den Spin Button (der Button ganz rechts in der Toolbar). Wem die mitgelieferten Themes nicht ausreichen, der findet unter galeon.sourceforge.net/themes/ weitere Themes und eine Anleitung zur Erstellung von eigenen Themes. 8.2.3.3. Autovervollständigung Wie alle modernen Browser kann auch Galeon eine URL in der URL Zeile während der Eingabe automatisch vervollständigen. Vielen Benutzern ist diese Funktion allerdings oft zu aufdringlich. Deshalb kann man es 322 Kapitel 8. Internet entweder abstellen oder aber eine halbautomatische Vervollständigung auswählen. Dann wird eine URL, ähnlich wie in der GNU bash mit der Tab-Taste vervollständigt. 8.2.3.4. Zoom Die Browsertoolbar enthält neben den üblichen Buttons (Vor, Zurück, Stop usw.) auch eine Zoom Kontrolle um die Zoom Stufe für die Seite festzulegen. Galeon zoomt dabei wie Mozilla nur den Text der Seite, die Bilder werden nicht gezoomt (anders wie z.B. bei Opera). Ein sehr sinnvolles Feature, welches in Mozilla leider (noch) nicht enthalten ist, ist der Vollbildmodus. Mit dem Menüpunkt „Vollbild“ im Menü „Ansicht“ bzw. der Taste F11 wird Galeon in den Vollbildmodus geschaltet und mit F11 kann der Vollbildmodus wieder deaktiviert werden. Wenn man sich Galeon etwas näher anschaut findet man aber auch gänzlich neue Features, die es in keinem anderen Browser gibt. So zum Beispiel die Funktion „Sitzung speichern“ im Menü „Datei“. Hier kann man die gesamte zur Zeit laufende Browsersession mit allen Browser Fenstern, Tabs und geöffneten Webseiten in eine Datei speichern. Bei Bedarf kann man diese Datei wieder öffnen und Galeon stellt den in der Datei festgehaltenen Zustand wieder her. 8.2.3.5. Reiter In Anlehnung an Opera’s MDI Oberfläche bietet auch Galeon die Möglichkeit, mehrere Webseiten in einem Browserfenster in so genannten Reitern zu öffnen. In jedem Galeon Fenster kann über die Tastenkombination „STRG+T“ ein neuer Reiter erzeugt werden. Alternativ kann man Galeon auch anweisen, Popups und Links automatisch in einem neuen Reiter zu öffnen. Die Reiter sind auf einem Notebook Display einfacher zu überschauen als mehrere Browser Fenster. Darüber hinaus benötigt ein Reiter auch weniger System Ressourcen als eine neue Browser Instanz in einem eigenen Fenster. 8.2.3.6. Lesezeichen Ohne Frage sind die Lesezeichen eines der wichtigsten Features für einen Browser. Galeon speichert seine Lesezeichen in einem eigenen XML Format unter ~/.galeon/bookmarks.xml. Der Import von Lesezeichen aus Netscape 4.x und Mozilla wird vom Browser direkt unterstützt. Für andere Browser (z.B. den Microsoft Internet Explorer) existieren Tools um die Lesezeichen in Galeon’s Bookmark Format zu konvertieren. Die Lesezeichen können entweder über den Dialog „Lesezeichen bearbeiten“ oder direkt über das Lesezeichen Menü verwaltet werden. Das Lesezeichenmenü ist gut durchdacht. Jeder Ordner enthält einen Unterpunkt „Ordner-Optionen“, über den man schnell einen neuen Unterordner anlegen oder die aktuelle Seite als Lesezeichen in diesem Ordner ablegen kann. Daneben ist auch das gleichzeitige Öffnen aller Lesezeichen eines Ordners in neuen Browser Fenstern oder in extra Reitern möglich. Bis jetzt ist es leider nicht möglich, die Lesezeichen alphabetisch sortieren zu lassen. Abgesehen von diesem Manko verfügt Galeon über eine vorbildliche Lesezeichenverwaltung. 8.2.3.7. Intelligente Lesezeichen Galeon’s so genannte „Intelligente Lesezeichen“ sind Eingabefelder auf der Browsertoolbar, mit denen bestimmte Suchmaschinen wie z.B. Google, Debian’s Package Suche oder andere mit Begriffen gefüttert werden. Nach dem Bestätigen lädt Galeon direkt die Seite mit den Suchergebnissen. 8.2.3.8. Chronik (History) Auch die Chronik von Galeon kann sich sehen lassen. Sie kann entweder in einem eigenen Fenster oder angedockt im linken Teil des Browserfensters dargestellt werden. Alle bereits besuchten Webseiten können nach der jeweiligen Domain (z.B. www.debian.org) gruppiert werden. Um nicht alles auf einmal angezeigt zu bekommen, kann man sich nur die Einträge aus einem bestimmten Zeitraum (Heute, Gestern, Vor zwei Tagen, aktuelle Woche oder Monat) anzeigen lassen. 323 Kapitel 8. Internet 8.2.3.9. Cookie und Image Manager Galeon bietet gleich zwei nützliche Tools um sich vor der Spionage durch übereifrige „Marktforscher“ zu schützen. Im Cookie Manager können alle bereits gespeicherten Cookies eingesehen und bei Bedarf wieder von der Platte gelöscht werden. Danaben kann man auch Cookies von bestimmten Seiten komplett sperren. Mit dem Image Manager können Bilder von bestimmte Sites geblockt werden. Damit kann man sich vor so genannte „Web Bugs“, also unsichtbare Grafiken von Fremdseiten mit denen Benutzerprofile erstellt werden, schützen. 8.2.3.10. SSL, JAVA, Flash So lange der von Galeon verwendete Mozilla SSL unterstützt, funktioniert SSL auch in Galeon ohne Probleme. Mit Java hat Galeon leider noch seine Probleme. Manche Sites funktionieren garnicht und andere können den Browser crashen. Bei Flash sieht es dagegen schon wesentlich besser aus. Galeon verwendet das selbe Plugin das sich im Plugin Verzeichnis von Mozilla befindet und funktioniert damit einwandfrei. 8.2.4. lynx lynx ist ein Webbrowser, der über keinerlei grafische Benutzerschnittstelle oder die Möglichkeit Grafiken anzuzeigen, verfügt. lynx ist auf Systemen ohne X-Window-System lauffähig und läuft komplett textbasiert auf der Linux-Konsole. lynx ist in der Lage, Tabellen darzustellen, Frames können ebenfalls (sehr eingeschränkt) benutzt werden. Auf älteren Systemen (386- oder m68k-Systeme) ist lynx oft der einzige Browser, der verwendbar ist. Aber auch auf leistungsstarken Systemen hat lynx viele Freunde gefunden, die Ladezeiten von Webseiten sind ohne Grafiken um einiges schneller, und wer auf der Suche nach reinen Informationen ist, benötigt keine Bilder. Wenn Sie eigene Webseiten erstellen, achten Sie darauf, daß diese auch mit lynx vernünftig dargestellt werden können. Verzichten Sie wenn möglich auf Frames und setzen Sie Tabellen sparsam ein. Abbildung 8-22. lynx 324 Kapitel 8. Internet Starten Sie lynx auf der Kommandozeile, Sie können als Option gleich dahinter die gewünschte URL angeben. In den untersten beiden Zeilen werden Ihnen die wichtigsten Tastaturbelegungen angezeigt. Sie können mit den Cursortasten RAUF und RUNTER durch den Text der Seite navigieren. Links erscheinen in einer anderen Farbe, Sie können diese mit der Taste PFEIL-RECHTS oder RETURN auswählen und mit der Taste LINKS kommen Sie wieder zur vorhergehenden Seite. Wenn Sie lynx in einem X-Terminal ausführen, können Sie die Links auch ganz normal wie bei einem grafischen Browser mit der Maus auswählen. Um diese Funktion auf der Konsole nutzen zu können, müssen Sie das Paket gpm installiert haben. Weitere wichtige Tastaturkürzel sind: • H - zeigt die lynx-Hilfe an. • O - Optionen, mit denen Sie Ihre persönlichen Einstellungen vornehmen können. • P - Print, druckt die aktuelle Seite aus. • G - Go, öffnet eine neue URL. • M - Main Screen, geht zur Startseite zurück. • Q - Quit, beendet das Programm. • / - Sucht in der aktuellen Seite nach einem String. Wenn lynx die Webseiten nicht farbig darstellt, kontrollieren Sie die Einstellungen Ihrer Terminalemulation. Einfache Emulationen, wie zum Beispiel vt100, sind nicht in der Lage, Texte farbig darzustellen. Wählen Sie eine Emulation wie zum Beispiel linux (die Standardeinstellung der Konsolen), xterm-color oder xterm-debian, diese sind in der Lage, Texte farbig darzustellen. Weiterhin können Sie die farbige Ausgabe mit der Option -color auf der Kommandozeile erzwingen. 8.2.5. Mehrsprachige Webseiten Webmaster, die großen Wert auf eine möglichst umfassende Leserschaft ihrer Webseiten legen, haben die Möglichkeit, ihre Webseiten in verschiedenen Sprachen abzulegen. Vielfach werden dann Links zu diesen Seiten benutzt, die Startseite ist im allgemeinen in Englisch gehalten. Mittlerweile benutzen aber auch einige Webmaster die sogenannte content negotiation auf ihren Seiten. Mit dieser kann der Benutzer seine bevorzugte Sprache einstellen und bekommt die Webseiten dann in der ausgewählten Sprache angezeigt, wenn diese Sprache verfügbar ist. Je nach verwendetem Browser unterscheiden sich die Einstellungen, die Sie vornehmen müssen. Wenn Sie den textbasierten Browser lynx benutzen, tragen Sie in der Datei .lynxrc (in Ihrem Home-Verzeichnis) die Variable preferred_language=de ein, beziehungsweise ändern diese auf den gewünschten Wert. Sie können dies auch über die Taste o (der Buchstabe) ändern. Wenn eine Seite nicht in deutscher Sprache verfügbar ist, können Sie mit der Zeile: preferred_language=de; q=1.0, en; q=0.7, fr; q=0.3 Englisch (en) als zweite und Französisch (fr) als dritte Sprache einstellen. Wenn Sie den Netscape Communicator (ab Version 4.0) benutzen, wählen Sie aus dem Menü „Edit“ den Punkt „Preferences“, und klicken Sie auf „Navigator“ - „Languages“ - „Add“. Wählen Sie dort die weitere gewünschte Sprache aus und klicken Sie auf „OK“. Sie können jetzt einmal den Erfolg auf den Webseiten des Debian-Projektes unter http://www.debian.org testen. Wenn alles geklappt hat, sollten Sie die Seiten nun in der von Ihnen gewählten Sprache sehen. 8.3. E-Mail Elektronische Post (E-Mail) ist sicher eine der wichtigsten und beliebtesten Anwendungen im Internet. Der Austausch von Nachrichten ist auch gleichzeitig einer der ältesten Dienste im Netz. Um mit Ihrem Linux-System Mail versenden und empfangen zu können, reicht es im einfachsten Fall aus, die passenden 325 Kapitel 8. Internet Einstellungen im Netscape Communicator vorzunehmen. Doch für ein „erwachsenes“ Debian GNU-System sollte man sich einfach ein paar Minuten mehr Zeit nehmen und einen richtigen Mailserver konfigurieren. Wie Sie vielleicht bei der Installation des Basissystems schon bemerkt haben, kommen Sie nicht um die Installation eines MTA (Mail Transfer Agent) herum. Standardmäßig benutzt Debian GNU/Linux hierzu das Programm exim, Sie können aber auch smail, qmail oder sendmail verwenden. Im einfachsten Fall haben Sie bei der Installation von exim einfach den Punkt 5 No Configuration gewählt. Das ist nicht weiter schlimm, exim wird so einfach nicht funktionieren... Die Installation eines eigenen Mailservers auf Ihrem Rechner hat den entscheidenden Vorteil, daß Sie die von Ihnen erstellten Mails jederzeit abschicken können. Schicken Sie die Mail einfach an den lokalen Mailserver und wenn Sie das nächste Mal die Verbindung zu Ihrem Provider herstellen, werden alle Mails ausgeliefert. Somit müssen Sie nicht für jede einzelne Mail die Verbindung aufbauen. Dazu müssen Sie aber zunächst exim neu konfigurieren: Starten Sie (als Superuser) das Programm eximconfig. hoshi:/# eximconfig You already have an exim configuration. Continuing with eximconfig will overwrite it. It will not keep any local modifications you have made. If that is not your intention, you should break out now. If you do continue, then your existing file will be renamed with .O on the end. [---Press return---] Zuerst bekommen Sie einen Hinweis, daß bereits eine Konfigurationsdatei für exim gefunden wurde. Diese wird während der neuen Konfiguration umbenannt in /etc/exim.conf.O

==================================================================

You must choose one of the options below: (1) Internet site; mail is sent and received directly using SMTP. If your needs don’t fit neatly into any category, you probably want to start with this one and then edit the config file by hand. (2) Internet site using smarthost: You receive Internet mail on this machine, either directly by SMTP or by running a utility such as fetchmail. Outgoing mail is sent using a smarthost. optionally with addresses rewritten. This is probably what you want for a dialup system. (3) Satellite system: All mail is sent to another machine, called a "smart host" for delivery. root and postmaster mail is delivered according to /etc/aliases. No mail is received locally. (4) Local delivery only: You are not on a network. Mail for local users is delivered. (5) No configuration: No configuration will be done now; your mail system will be broken and should not be used. You must then do the configuration yourself later or run this script, /usr/sbin/eximconfig, as root. Look in /usr/share/doc/exim/example.conf.gz Select a number from 1 to 5, from the list above. Enter value (default=‘1’, ‘x’ to restart): 2 Sie müssen sich nun für einen der 5 möglichen Punkte entscheiden. Punkt fünf erstellt keine Konfigurationsdatei. Dies ist die schlechteste Wahl, da so Ihr System keine Mails ausliefern wird. Punkt vier ist für Systeme ohne Netzanbindung (also weder über eine Netzwerkkarte noch über ein Modem oder per ISDN) sinnvoll, auch dies lassen wir jetzt außen vor, ein Debian GNU/Linux-Rechner ohne Netzwerk ist kein „richtiger“ Computer... ;-)) . Punkt drei würde alle Mails zu einem „Smarthost“ ausliefern; dies ist im allgemeinen ein Rechner bei Ihrem Provider mit einer guten Anbindung ans Netz und einem sinnvoll konfigurierten Mailserver. Allerdings wird keine Mail an die Benutzer (außer root und postmaster) ausgeliefert... das ist auch nicht erstrebenswert. 326 Kapitel 8. Internet Bleiben noch die Punkte eins und zwei übrig. Punkt eins ist auszuwählen, wenn keiner der anderen Punkte Ihren Bedürfnissen genügt. Hierbei werden alle Mails direkt an den Empfänger beziehungsweise dessen Mailserver ausgeliefert. Eine solche Konfiguration ist für Einsteiger nicht sinnvoll, da noch sehr viel von Hand geändert werden muß. In den meisten Fällen ist der Punkt zwei also der optimale, diesen werden wir jetzt exemplarisch durchgehen:

==================================================================

What is the ‘visible’ mail name of your system? This will appear on From: lines of outgoing messages. Enter value (default=‘localhost’, ‘x’ to restart): hoshi.openoffice.de Die erste Frage dreht sich um den „sichtbaren“ Namen Ihres Systems. Dies ist im Normalfall der volle Name des Rechners, unter dem dieser auch von anderen Systemen im Netz erreichbar ist. Dies muß nicht zwingend mit einem Teil Ihrer E-Mail-Adresse identisch sein. Im Zweifelsfall fragen Sie Ihren Provider nach der richtigen Einstellung.

==================================================================

Does this system have any other names which may appear on incoming mail messages, apart from the visible name above (hoshi.openoffice.de) and localhost? By default all domains will be treated the same; if you want different domain names to be treated differently, you will need to edit the config file afterwards: see the documentation for the "domains" director option. If there are any more, enter them here, separated with spaces or commas. If there are none, say ‘none’. Enter value (default=‘none’, ‘x’ to restart): Sie können hier noch weitere Namen für Ihr System angeben, die in den Mails, die an Ihr System geliefert werden, auftauchen. Dies kann zum Beispiel der Fall sein, wenn Sie den Namen Ihres Rechners verändert haben und noch nicht alle Bekannten von der neuen Adresse unterrichtet haben, oder wenn Sie mehrere Domains auf einem Rechner betreiben. Normalerweise müssen Sie hier nichts eingeben.

==================================================================

All mail from here or specified other local machines to anywhere on the internet will be accepted, as will mail from anywhere on the internet to here. Are there are any domains you want to relay mail for---that is, you are prepared to accept mail for them from anywhere on the internet, but they are not local domains. If there are any, enter them here, separated with spaces or commas. You can use wildcards. If there are none, say ‘none’. If you want to relay mail for all domains that specify you as an MX, then say ‘mx’ Enter value (default=‘none’, ‘x’ to restart): Diese Frage betrifft das Mail-„relaying“, also das Weiterleiten von Mails, die nicht für Ihren Rechner bestimmt sind. Auch diese Angabe werden Sie im Normalfall überspringen können.

==================================================================

Obviously, any machines that use us as a smarthost have to be excluded from the relaying controls, as using us to relay mail for them is the whole point. Are there any networks of local machines you want to relay mail for? If there are any, enter them here, separated with spaces or commas. You should use the standard address/length format (e.g. 194.222.242.0/24) If there are none, say ‘none’. 327 Kapitel 8. Internet You need to double the colons in IPv6 addreses (e.g. 5f03::1200::836f::::/48) Enter value (default=‘none’, ‘x’ to restart): Hier die Frage, ob Sie Mail für Rechner in Ihrem Netz „relayen“ wollen, also als „Smarthost“ für andere auftreten wollen. Auch dies überspringen wir einfach. (Wenn Sie tiefer in die Materie der Mailserver einsteigen wollen, lesen Sie bitte die Dokumentation zu dem betreffenden MTA).

==================================================================

You may want to filter out unsolicited commercial email, (UCE, also known as spam). Unfortunately it is difficult keeping up with all the spamming sites and abused relays. The Realtime Blackhole List is a spam filter that someone else maintains (see http://maps.vix.com/rbl/). They are very quick to add sites, so if you bounce on this you may occasionally miss legitimate mail. Adding a header is an alternative---then individual users can choose what to do with RBL mail using their personal filter files. Note that the RBL only works if you receive mail directly. If it is stored for you at your ISP, the RBL won’t work as it depends on the IP address the connection comes from. Would you like to use the RBL? (’f’ilter, ’r’eject, or ’n’o)? Enter value (default=‘n’, ‘x’ to restart): Hier geht es um unerwünschte Mails, sogenannten SPAM. Sie können diese ausfiltern, dies funktioniert aber nur, wenn das System von außen direkt Mails entgegennimmt. Wenn Sie Ihre Mail via POP3 abholen, übergehen Sie auch diesen Punkt.

==================================================================

Which machine will act as the smarthost and handle outgoing mail? Enter value (‘x’ to restart): mail.openoffice.de Names are localhost:hoshi.openoffice.de! Hier nun die Frage nach dem Mailserver Ihres Providers, der als Smarthost benutzt werden soll. Geben Sie hier den Namen des Servers an, im Zweifelsfall fragen Sie Ihren Provider nach dem Namen. Häufig wird ein Konstrukt: mail.providername.de gewählt, dies muß aber nicht so sein.

==================================================================

Mail for the ‘postmaster’ and ‘root’ accounts is usually redirected to one or more user accounts, of the actual system administrators. By default, I’ll set things up so that mail for ‘postmaster’ and for various system accounts is redirected to ‘root’, and mail for ‘root’ is redirected to a real user. This can be changed by editing /etc/aliases. Note that postmaster-mail should usually be read on the system it is directed to, rather than being forwarded elsewhere, so (at least one of) the users you choose should not redirect their mail off this machine. Which user account(s) should system administrator mail go to ? Enter one or more usernames separated by spaces or commas . Enter ‘none’ if you want to leave this mail in ‘root’s mailbox - NB this is strongly discouraged. Also, note that usernames should be lowercase! Enter value (‘x’ to restart): fr Sie können hier einen Benutzernamen wählen (hier: fr), der eventuell auftretende Fehlermeldungen, die das System per Mail versendet, erhalten soll. Normalerweise erhalten die Benutzer root und postmaster diese Mails.

==================================================================

You already have an /etc/aliases file. Do you want to replace this with a new one (the old one will be kept and renamed to aliases.O)? (y/n) Enter value (default=‘y’, ‘x’ to restart): 328 Kapitel 8. Internet In der Datei /etc/aliases können Sie eigene Abkürzungen systemweit definieren. eximconfig trägt dort den vorab gewählten Benutzer auch über einen Alias ein, so daß dieser die Fehlermails bekommt. Wenn Sie zum Beispiel möchten, daß der Benutzer fr mit der E-Mail Adresse fr@openoffice.de auch als frank.ronneburg (komplette Adresse: frank.ronneburg@openoffice.de, das ist nur ein Beispiel. Bitte keine Mails an diese Adresse schicken.) zu erreichen ist, tragen Sie folgendes in die Datei /etc/aliases ein: frank.ronneburg: fr The following configuration has been entered:

==================================================================

Mail generated on this system will have ‘hoshi.openoffice.de’ used as the domain part (after the @) in the From: field and similar places. The following domain(s) will be recognised as referring to this system: localhost, hoshi.openoffice.de Mail for postmaster, root, etc. will be sent to fr. Local mail is delivered. Outbound remote mail is sent via mail.openoffice.de. Is this OK ? Hit Return or type ‘y’ to confirm it and install, or ‘n’ to make changes (in which case we’ll go round again, giving you your previous answers as defaults. (y/n) y Zum Abschluß nochmal eine Übersicht, bevor die Konfiguration geschrieben wird. Keeping previous /etc/exim.conf as /etc/exim.conf.O Keeping previous /etc/aliases as /etc/aliases.O Keeping previous /etc/mailname as /etc/mailname.O Configuration installed. Fertig. Nun können Sie versuchen, E-Mails zu verschicken. Bitte versuchen Sie zuerst, lokal auf Ihrem Rechner zwischen verschiedenen Benutzern Mails zu versenden. Wenn dies funktioniert, können Sie auch die Verbindung ins Netz testen. Zusätzlich kann noch für jeden Benutzer, der Mails nach draußen senden können soll, ein Eintrag in /etc/email-addresses gemacht werden. Dieser sorgt dafür, dass alle Vorkommen Ihrer lokalen Adresse in eine von Ihrem Mail-Provider akzeptierte Adresse umgesetzt werden. Die Einträge haben die Form user: mailuser@mailprovider, also z.B. root: matt.schmitt00@gmx.de. Viele Freemail-Provider verlangen, daß man zuerst seine Mails abruft, bevor man welche verschickt, siehe dazu auch fetchmail. Doch nun zu den eigentlichen Programmen, mit denen Sie Ihre E-Mails bearbeiten können. 8.3.1. mutt mutt ist ein von Michael R. Elkins entwickelter MUA (Mail User Agent), welcher als Nachfolger des mittlerweile nicht mehr weiterentwickelten Programms elm gilt. mutt bietet alle nur denkbaren Funktionen und ist komplett konfigurierbar. mutt besitzt eine textbasierte Oberfläche, ist also nicht per Maus zu bedienen. Dies stellt aber kein Manko dar. Bedenken Sie, daß Sie E-Mails sowieso als Text verfassen, also die Maus nicht benötigen. Mit einigen wenigen Kommandos (und den Fingern auf der Tastatur...) läßt sich mutt sehr schnell und effizient bedienen. Das wichtigste Kommando ist am Anfang sicher der Druck auf die Taste ?, mit dieser rufen Sie die Hilfe von mutt 329 Kapitel 8. Internet auf. An dieser Stelle auch gleich der Hinweis: alle Veränderungen, die Sie an der Tastaturbelegung von mutt vornehmen, werden gleich in die Hilfe übernommen. Abbildung 8-23. mutt Wie schon erwähnt, ist mutt individuell konfigurierbar. Alle möglichen Optionen hier zu beschreiben würde zu weit führen. Schauen Sie auf die unten angeführten Webseiten von Sven Guckes und Felix von Leitner, dort finden Sie auch Konfigurationsdateien, die wirklich vorbildlich dokumentiert sind. Die meisten Benutzer werden sicher ihre Mail von einem POP3-Server ihres Providers beziehen. Die hierzu nötigen Einträge in der Datei .muttrc (in Ihrem Homeverzeichnis) sehen wie folgt aus: set pop_host=pop3.openoffice.de set pop_user=popname set pop_delete Sie müssen natürlich den Namen des Mailservers sowie Ihren Benutzernamen anpassen. Der Eintrag set pop_delete veranlaßt den POP-Server die empfangenen Mails auf dem Server zu löschen. Zu Testzwecken können Sie diesen Eintrag erst mal weglassen, Sie bekommen dann aber auch die bereits empfangenen Mail beim nächsten Mal erneut. Drücken Sie nun die Taste G, und mutt stellt die Verbindung zum Server her und überträgt Ihre Mails. Damit sollten Sie erst einmal in der Lage sein, Mails zu senden und zu empfangen. 8.3.1.1. mutt und GnuPG Um Mail mit GnuPG zu signieren oder zu verschlüsseln, müssen Sie nur wenige Änderungen an Ihrer .muttrc vornehmen. Natürlich sollten Sie zuerst GnuPG installieren und ein Schlüsselpaar erzeugt haben. Die notwendigen Schritte sind im Abschnitt Verschlüsselung beschrieben. Hier nun noch einige Links zu Seiten im Web, auf denen Sie weitere Informationen zu mutt finden: http://www.mutt.org/ die eigentliche Hauptseite zu mutt. http://www.linux-magazin.de/ausgabe/1997/07/Mutt/mutt.html ein Artikel von Felix von Leitner im Linux Magazin. http://www.math.fu-berlin.de/~leitner/mutt/ die Seiten von Felix zu mutt http://www.math.fu-berlin.de/~guckes/mutt/ umfangreiche Sammlung von Sven Guckes 330 Kapitel 8. Internet 8.3.1.2. Empfängerabhängige Signaturen mutt besitzt eine ganze Reihe nützlicher Funktionen, welche durch enstprechende Anpassungen verfügbar gemacht werden. Beispielsweise können Signaturen je nach Empfänger unterschiedlich gestaltet werden. Hierzu sind Anpassungen wie im folgenden beschrieben notwendig send-hook . set signature=~/.signature send-hook meier set signature=~/.signature-meier Dieses würde für den Empfänger „meier“ eine individuelle Signatur verwenden, alle anderen Emfänger müssen mit einer allgemeinen Signatur vorlieb nehmen. 8.3.2. fetchmail fetchmail dient zum Empfangen und Weiterleiten von „Remote“-email über TCP/IP-Verbindungen (wie zum Beispiel SLIP oder PPP-Verbindungen). Es empfängt email vom Remote-Mail-Server und leitet diese an das lokale Mailsystem weiter, so daß Sie die Mails mit jedem normalen Mailprogramm (beispielsweise elm oder mutt) lesen und bearbeiten können. fetchmail unterstützt alle üblichen Mail-Empfangsprotokolle, die im Internet gebräuchlich sind: POP2, POP3 (inklusive POP3 mit RFC1938 Einmalpasswörtern), RPOP, APOP, KPOP, Compuserve’s POP3 mit RPA, Microsoft’s NTLM, Daemon Internet’s SDPS, alle Varianten von IMAP (inklusive IMAP4rev1 mit RFC1731 Kerberos v4 oder GSSAPI Authentifizierung oder CRAM-MD5 Authentifizierung) und ESMTP ETRN. Fetchmail unterstützt auch die „End-to-end“ Encryption mittels OpenSSL. Um fetchmail unter Debian GNU/Linux benutzen zu können, müssen Sie zunächst das eigentliche Paket installieren. Am einfachsten benutzen Sie hierzu das Kommando apt-get install fetchmail. Leider ist damit die Installation noch nicht ganz abgeschlossen, Sie müssen nun noch die Datei ~/.fetchmailrc erzeugen. Hierzu gibt es in der Dokumentation ein Script, welches die Konfiguration für Sie erledigen kann. Sie können dies als Superuser (root) aufrufen oder mit dem Kommando su -c "sh /usr/doc/fetchmail/contrib/fetchsetup" starten, auch hier werden Sie nach dem Paßwort für den Superuser gefragt. Hier ein Beispiel für eine Konfiguration mit dem normalen POP3-Protokoll: bash-2.04$ su -c "sh /usr/doc/fetchmail/contrib/fetchsetup" Password:

  1. Fetchsetup is a shell script for creating a .fetchmailrc file,
  2. that will be used by the program "fetchmail" to connect to your
  3. mail domain and retrieve your mail.
  4. This script is linux specific, so it may not work on another system.
  5. Kent Robotti <krobot@erols.com> (3-31-99)

Continue? (Y/n) : Remote mail site?: pop.boo.com <Your service providers mail domain name> Remote mail site?: mail.openoffice.de Protocol?: pop3 <My service provider uses the ’pop3’ mail protocol> Protocol?: auto <If not sure put: auto> Choices: apop auto etrn imap imap-gss imap-k4 kpop pop2 pop3 rpop sdps Protocol?: pop3 Remote username?: jerry <My username or login is jerry> Remote username?: hoshi Remote password?: ? <What’s the password for?: hoshi> 331 Kapitel 8. Internet Remote password?: XXXXXXX Create /root/.fetchmailrc file? (Y/n) : This is your /root/.fetchmailrc file. poll "mail.openoffice.de" protocol pop3 username "hoshi" password "aa" mda "/usr/bin/procmail -d %s" Fetchmail will retrieve your mail and put it in: /var/spool/mail/fr I put that (m)ail (d)elivery (a)gent in .fetchmailrc because i found it on your system, this doesn’t mean it’s correct or the one you want to use. The first time you run fetchmail, you should run it this way: # fetchmail -k Beachten Sie, das Paßwort bei der Eingabe angezeigt wird und auch im Klartext, also unverschlüsselt in der Datei gespeichert wird. Sorgen Sie dafür, daß die Zugriffsrechte so gesetzt sind, daß niemand anderes Ihr Paßwort aus der Datei lesen kann. Wenn Sie, wie hier gezeigt, eine Datei .fetchmailrc für einen normalen Benutzer anlegen wollen, müssen Sie diese später noch in das entsprechende Verzeichnis kopieren und mit den nötigen Zugriffsrechten versehen. Die so erzeugte Datei hat dann folgenden Inhalt: poll "mail.openoffice.de" protocol pop3 username "hoshi" password "XXXXXX" mda "/usr/bin/procmail -d %s" Der Aufbau ist sehr einfach und Sie können sich auch sehr schnell eine solche Datei mit einem Texteditor selber erzeugen, ohne das Konfigurationsprogramm zu Hilfe zu nehmen. Neben den Einträgen für den Mailserver (poll), das Protokoll (protocol), den Benutzernamen (username) und dem Paßwort (password) findet sich am Ende der Datei der Eintrag mda. Dieser stellt den Pfad und das Kommando mit weiteren Parametern dar, wie der zu verwendende Mail Delivery Agent (MDA) aufgerufen werden soll. In diesem Beispiel wird das Programm procmail benutzt welches Ihnen viele weitere Möglichkeiten bietet, Mails vor dem Lesen bzw. vor der Auslieferung in eine Mailbox zu bearbeiten. Wenn Sie procmail nicht installiert haben, wird fetchmail beispielsweise smail, sendmail oder exim direkt verwenden. Wenn Sie die erste Konfiguration von fetchmail abgeschlossen haben, können Sie als ersten Versuch das Kommando fetchmail -k aufrufen. Es wird damit versucht, alle Mails vom angegebenen Mailserver abzuholen und in die lokale Mailbox zu kopieren. Die Mails werden durch die Option -k nicht vom Server gelöscht, dies sollten Sie bei Ihren ersten Versuchen auch so belassen. fetchmail verfügt über eine ganze Reihe weiterer Optionen und wie jedes gute GNU-Programm können Sie mit dem Parameter --h etwas mehr über diese Optionen erfahren: usage: fetchmail [options] [server ...] Options are as follows: -?, --help display this option help -V, --version display version info -c, --check check for messages without fetching -s, --silent work silently -v, --verbose work noisily (diagnostic output) -d, --daemon run as a daemon once per n seconds -N, --nodetach don’t detach daemon process 332 Kapitel 8. Internet -q, --quit kill daemon process -L, --logfile specify logfile name --syslog use syslog(3) for most messages when running as a daemon --invisible don’t write Received & enable host spoofing -f, --fetchmailrc specify alternate run control file -i, --idfile specify alternate UIDs file --postmaster specify recipient of last resort --nobounce redirect bounces from user to postmaster. -I, --interface interface required specification -M, --monitor monitor interface for activity --plugin specify external command to open connection --plugout specify external command to open smtp connection -p, --protocol specify retrieval protocol (see man page) -U, --uidl force the use of UIDLs (pop3 only) -P, --port TCP/IP service port to connect to --preauth preauthentication type (password/kerberos/ssh) -t, --timeout server nonresponse timeout -E, --envelope envelope address header -Q, --qvirtual prefix to remove from local user id -u, --username specify users’s login on server -a, --all retrieve old and new messages -K, --nokeep delete new messages after retrieval -k, --keep save new messages after retrieval -F, --flush delete old messages from server -n, --norewrite don’t rewrite header addresses -l, --limit don’t fetch messages over given size -w, --warnings interval between warning mail notification -S, --smtphost set SMTP forwarding host -D, --smtpaddress set SMTP delivery domain to use -Z, --antispam, set antispam response values -b, --batchlimit set batch limit for SMTP connections -B, --fetchlimit set fetch limit for server connections -e, --expunge set max deletions between expunges -m, --mda set MDA to use for forwarding --bsmtp set output BSMTP file --lmtp use LMTP (RFC2033) for delivery -r, --folder specify remote folder name Wenn Sie Parameter, beim Start von fetchmail auf der Kommandozeile, angeben, so werden diese die Werte, die in der Konfigurationsdatei stehen, überschreiben. Sie können auf der Kommandozeile mehrere verschiedene Server angeben, von denen versucht werden soll, Mails abzuholen, ebenso können Sie in der Konfigurationsdatei mehrere Einträge haben, die solche Server beschreiben. 8.3.2.1. Konfiguration Allgemeine Optionen -V *-version Zeigt die Versionsinformationen zur installierten fetchmail-Version, sowie zur Version des Linux Kernels an. Es werden nur Informationen angezeigt und keinerlei Mails übertragen. Statt dessen werden, für jeden in der Konfiguration angegebenen Server, alle Konfigurationsoptionen angezeigt. Hier ein Beispiel für eine solche Konfiguration: bash-2.04$ fetchmail -V This is fetchmail release 5.3.4+NTLM+SDPS+NLS Linux sushi 2.3.47 #2 Wed Feb 23 16:32:17 CET 2000 i686 unknown Taking options from command line and /home/fr/.fetchmailrc Idfile is /home/fr/.fetchids Fetchmail will forward misaddressed multidrop messages to fr. Options for retrieving from hoshi@mail.openoffice.de: True name of server is mail.openoffice.de 333 Kapitel 8. Internet Protocol is POP3. Server nonresponse timeout is 300 seconds (default). Default mailbox selected. Only new messages will be retrieved (*-all off). Fetched messages will not be kept on the server (*-keep off). Old messages will not be flushed before message retrieval (*-flush off). Rewrite of server-local addresses is enabled (*-norewrite off). Carriage-return stripping is enabled (stripcr on). Carriage-return forcing is disabled (forcecr off). Interpretation of Content-Transfer-Encoding is enabled (pass8bits off). MIME decoding is disabled (mimedecode off). Idle after poll is disabled (idle off). Nonempty Status lines will be kept (dropstatus off) Messages will be delivered with "/usr/bin/procmail -d %s". Recognized listener spam block responses are: 571 550 501 554 Single-drop mode: 1 local name(s) recognized. No UIDs saved from this host. Diese Option ist bei der Fehlersuche in einer Konfiguration sehr hilfreich. -c *-check Gibt einen Statuscode zurück, aus dem ersichtlich ist, ob auf dem Server Mail zum Abholen bereitliegt oder nicht, auch hierbei werden keine Daten übertragen oder auf dem Server gelöscht. Diese Option deaktiviert den „Daemon“ Modus. Weiterhin arbeitet diese Option nicht mit dem ETRN Protokoll (RFC 1985) zusammen und ist etwas problematisch im Zusammenhang mit mehreren Sites. Der Statuswert ist negativ, wenn Sie gelesene aber nicht gelöschte Mail in der Mailbox auf dem Server zurücklassen und das verwendete Protokoll bereits gelesene von neuen Nachrichten nicht unterscheiden kann. Diese Option funktioniert sehr gut mit IMAP, mit den meisten POP3 Servern und funktioniert nicht mit POP2. -s *-silent Unterdrückt alle Informationen über den Status oder den Fortschritt bei der Verarbeitung von Nachrichten, diese Meldungen werden normalerweise auf der Standardausgabe für Fehlermeldungen ausgegeben. Fehlermeldungen werden aber weiterhin dorthin ausgegeben. Mit der Option *-verbose können Sie diese Option überschreiben. -v *-verbose Mit dieser Option werden alle Kontrollnachrichten, die zwischen fetchmail und dem Mailserver ausgetauscht werden, auf der Standardfehlerausgabe ausgegeben. Diese Option überschreibt die Option

  • -silent. Wenn Sie diese Option doppelt (als -v -v) angeben, werden datailliertere Informationen

ausgegeben. Übergabe Optionen -a *-all (Schlüsselwort: all) Holt sowohl alte (bereits gelesene) sowie neue Nachrichten vom Server. Normalerweise werden nur neue, also ungelesene Nachrichten übertragen. Wenn POP3 als Protokoll verwendet wird, benutzt fetchmail das Kommando RETR statt TOP. POP2 verhält sich immer so, als ob diese Option aktviert ist, bei ETRN funktioniert diese Option nicht. -k *-keep (Schlüsselwort: keep) Normalerweise werden übertragene Nachrichten auf dem Mailserver gelöscht, so daß diese beim nächsten Mal nicht nocheinmal übertragen werden. Diese Option belässt die übertragenen Mails auf dem Server. Diese Option funktioniert nicht mit ETRN. 334 Kapitel 8. Internet -K *-nokeep (Schlüsselwort: nokeep) Diese Option löscht die übertragenen Mails auf dem Server, dies ist auch die Standardeinstellung. Sie können diese Option auf der Kommandozeile angeben, falls Sie in der Konfiguration die Option -k angegeben haben. -F *-flush Diese Option funktioniert nur mit dem Protokollen POP3 oder IMAP. Alte Mails, die bereits übertragen wurden, werden auf dem Server gelöscht, bevor neue Nachrichten übertragen werden. Diese Option funktioniert nicht mit dem Protokoll ETRN. Bitte beachten Sie: Wenn Ihr Mailprogramm während der Übertragung abstürzt und fetchmail abgebrochen wird, werden beim nächsten Aufruf von fetchmail auch Nachrichten gelöscht, die Sie noch nie zu Gesicht bekommen haben. Normalerweise sollten Sie besser die Option -k benutzen, hierbei werden die Mails nach der erfolgreichen Übertragung gelöscht. Protokoll und Abfrage Optionen -p *-protocol (Schlüsselwort: proto[col]) Mit dieser Option können Sie das gewünschte Protokoll zur Kommunikation mit dem Mailserver angeben. Wenn kein Protokoll vorgegeben wird, wird der Wert AUTO verwendet. Sie können diese Option mit den folgenden Werten belegen: AUTO - probiert die Protokolle IMAP, POP3 und POP2. Nicht verfügbare Protokolle werden übersprungen. SDPS - Benutzt das POP3 Protokoll mit den „Daemon Internet’s“ SDPS Erweiterungen. -U *-uidl (Schlüsselwort: uidl) Benutzt bei der Verwendung von POP3 die UIDL (unique ID listing, beschrieben im RFC 1725). Die Überprüfung auf neue Nachrichten wird auf der Seite des Clients vorgenommen. Zusammen mit der Option -k läßt sich über eine Mailbox ein Verteiler für eine Gruppe von Benutzern realisieren. -P *-port (Schlüsselwort: port) Hiermit können Sie eine vom Standard abweichende Portnummer für das verwendete Protokoll angeben. -t *-timeout <Sekunden> (Schlüsselwort: timeout) - Hiermit können Sie eine Zeit bestimmen, die fetchmail auf eine Antwort vom Server warten soll.

  • -plugin <Komando>

(Schlüsselwort: plugin) - Sie können ein externes Programm verwenden um eine TCP Verbindung aufzubauen. Dies kann bei der Verwendung eines Firewalls sinnvoll sein. Dem Programm werden die beiden Parameter Servername und Portnummer übergeben, fetchmail schreibt und ließt von der Standardein- und ausgabe des PlugIns. Wenn Sie mit den Einstellungen zufrieden sind, können Sie den Aufruf von fetchmail in die Scripte einbauen, die auf Ihrem System die TCP/IP-Verbindung zu Ihrem Provider aufbauen. Leider sind die Scripte ip-up und ip-down unter Debian noch nicht so weit vereinheitlicht, daß das Installationsprogramm von fetchmail dies für Sie erledigen könnte, so daß an dieser Stelle wieder Handarbeit angesagt ist. Sie finden unter /usr/doc/fetchmail die Scripte fetchmail-up und fetchmail-down als Beispiele. Sie sollten das Script fetchmail-up an eine Stelle in das Script /etc/init.d/ip-up einbauen, an der die IP-Verbindung bereits aufgebaut wurde, so daß automatisch alle Mails abgeholt werden, nachdem Sie die Verbindung hergestellt haben. Entsprechend sollten Sie das Script fetchmail-down vor dem Abbau der Verbindung einbauen, so daß nochmal schnell neue Mails abgeholt werden. 335 Kapitel 8. Internet 8.3.3. Netscape Mail Wenn Sie auf eine grafische Oberfläche zur Bearbeitung Ihrer E-Mail Wert legen, sollten Sie einen Blick auf den „Messenger“ werfen. Dieser vereint die Funktionen eines Mail- und Newsreaders in einem Programm. Sie können diesen Programmteil aus der Menüleiste des Browsers, unter „Communicator“ – „Messenger“, starten. Wenn Sie das Programm aus der Kommandozeile starten, können Sie die Option -mail oder -messenger angeben, dies öffnet direkt das entsprechende Fenster (und nur dieses). Abbildung 8-24. Netscape - Mail Wenn Sie das Programm zum ersten Mal starten, sind natürlich noch keine privaten Mails in Ihrem Mailfolder enthalten, Sie finden lediglich eine Begrüßungsmail vor. Um Mail zu empfangen, sind zunächst einige Einstellungen vorzunehmen. Vorbedingung, damit Sie Ihre E-Mail vom Server Ihres Providers abholen können, ist natürlich eine funktionierende Verbindung per Modem, ISDN oder Netzwerk. Die nötigen Einstellungen können Sie in folgendem Fenster vornehmen, welches Sie über das Menü „Edit“ – „Preferences...“ erreichen können. 336 Kapitel 8. Internet Abbildung 8-25. Netscape - Mail/Einstellungen „Klappen“ Sie zunächst das Untermenü „Mail & Newsgroups“ durch einen Mausklick auseinander und wählen Sie zunächst den Eintrag „Identity“. Geben Sie hier Ihren eigenen Vor- und Nachnamen ein. In das zweite Feld tragen Sie Ihre E-Mail Adresse ein. Wenn Sie sich bei diesem Wert nicht sicher sind, fragen Sie Ihren Provider. Benutzen Sie in keinem Fall die hier angegebenen Werte oder irgendwelche anderen Namen von Personen, Sie machen sich damit keine Freunde im Netz! In das Feld „Reply-to address“ können Sie eine von der Absenderadresse abweichende Adresse angeben, zu dieser werden dann die Antworten auf Ihre Mail geschickt. Normalerweise werden Sie dieses Feld freilassen. Auch das Feld „Organization“ können Sie freilassen oder mit dem Namen Ihrer Firma ausfüllen. In das Feld „Signature File“ können Sie den Pfad und Dateinamen zu einer Datei eintragen, die automatisch an jede von Ihnen verschickte Mail angehängt wird. Beachten Sie bitte, daß diese Datei vier Zeilen nicht übersteigen sollte. Üblicherweise wird hierfür der Dateiname .signature in Ihrem Home-Verzeichnis verwendet. 337 Kapitel 8. Internet Abbildung 8-26. Netscape - Mail/Einstellungen Klicken Sie nun auf den nächste Eintrag „Mail Servers“. Hier müssen Sie zwei Server eintragen, einen für die ankommenden und einen für die abgehenden Mails. Die meisten Provider unterstützen das Protokoll POP3, mit dem Sie Ihre Mails empfangen können. Üblich ist es hier, daß auch der entsprechende Server bei Ihrem Provider den Namen „pop3.provider.de“ bekommt, klären Sie dies im Zweifelsfall mit Ihrem Provider. Über die Schaltfläche „Add“ können Sie einen Server in die Liste eintragen. Tragen Sie im folgenden Fenster den Server Ihres Providers ein, für die ersten Versuche sollten Sie die Option „Leave messages on server“ aktivieren, Sie finden diese unter der Karteikarte „POP“. Dies verhindert, daß die Mails nach der Übertragung vom Server gelöscht werden. Für die von Ihnen geschriebenen, ausgehenden Mails tragen Sie in das Feld „Outgoing Mail (SMTP) Server“ den Namen des entsprechenden Servers bei Ihrem Provider ein. Übliche Namen sind hier „mail.provider.de“ oder auch „smtp.provider.de“. Wenn Sie alle Einstellungen vorgenommen haben, klicken Sie auf „OK“ und klicken Sie danach auf die Schaltfläche „Get Msg“ oben links im Fenster. Nun sollten die Mails übertragen werden. 8.3.4. Evolution In vielen Firmen aber auch im privaten Bereich wird Outlook zur Kommunikation, Terminplanung/-koordination, Adressverwaltung usw. eingesetzt. Die Verbindung dieser zentralen Funktionen innerhalb eines Programmes hat dieser Software zu einer weiten Verbreitung verholfen. Die Firma Ximian hat mit dem auf Gnome aufsetzenden Evolution eine Software geschaffen die nicht nur von der Funktionalität sondern auch vom Aussehen her an MS-Outlook angelehnt ist. Dies erleichtert den Umstieg auf Linux am Desktop. 338 Kapitel 8. Internet Abbildung 8-27. Evolution - Startbild Beim ersten Start von Evolution können bestehende Daten, beispielsweise Mails oder Adressen, übernommen werden. Ein Assistent führt durch diesen Vorgang. Abbildung 8-28. Evolution - Willkommen 339 Kapitel 8. Internet Hier muss zunächst der Vor- und Nachname sowie die E-Mail Adresse angegeben werden. Es gehört zum guten Ton im Netz den tatsächlichen Vor- und Nachnamen anzugeben. Abbildung 8-29. Evolution - Identität Die Einlieferung von E-Mails kann auf verschiedensten Wegen erfolgen. Wenn die E-Mail direkt vom Server des Providers geholt wird, so wird dies meist über eines der Protokolle POP oder IMAP erfolgen. Wenn die Mails über ein externes Programm, wie beispielsweise fetchmail, abgeholt werden, so kann auch auf die lokal vorliegenden Dateien zugegriffen werden. 340 Kapitel 8. Internet Abbildung 8-30. Evolution - Erhalten von E-Mail Hier kann die Pause zwischen den Überprüfungen nach neuer E-Mail eingestellt werden. Abbildung 8-31. Evolution - Erhalten von E-Mail 341 Kapitel 8. Internet Um E-Mails zu versenden muss an dieser Stelle ein Mailserver konfiguriert werden. Die notwendigen Daten erhalten Sie von Ihrem Provider. Abbildung 8-32. Evolution - Verschicken von E-Mails Evolution kann verschiedene Zugänge zu mehreren Providern verwalten. Die eben erstellte Konfiguration kann zum Standardzugang gemacht werden. 342 Kapitel 8. Internet Abbildung 8-33. Evolution - Zugangsverwaltung Stellen Sie hier die Zeitzone ein. Ein Mausklick auf die Karte vergrößert den entsprechenden Ausschnitt. 343 Kapitel 8. Internet Abbildung 8-34. Evolution - Zeitzone Wenn bereits andere Programmme zum Empfang von E-Mail verwendet wurden, so können hier die vorhandenen Daten importiert werden. 344 Kapitel 8. Internet Abbildung 8-35. Evolution - Import von Daten Wenn alle Daten erfolgreich eingegeben wurden, so wird Evolution gestartet. 345 Kapitel 8. Internet Abbildung 8-36. Evolution - Fertig Neben der Menüleiste am oberen Bildschirmrand finden sich innerhalb des Fensters von Evolution auf der linken Seite einige Symbole zum direkten Zugriff auf die einzelnen Komponenten von Evolution. Hier ist zunächst eine Zusammenfassung zu finden, in dieser ist eine Zusammenstellung der wichtigsten Informationen (Anzahl neuer Mails, aktuelle Termine und Aufgaben, Wetter, News...) zu sehen. Auch hier kann wieder direkt durch Mausklick auf die Komponenten zugegriffen werden. 346 Kapitel 8. Internet Abbildung 8-37. Evolution - Übersicht Die E-Mail Komponente bietet ein geteiltes Fenster, im oberen Bereich ist eine Liste der eingegangenen Mails zu sehen, darunter der Inhalt der ausgewählten Mail. Evolution kann mit Anhängen an E-Mails umgehen, diese werden am Ende der Mail angezeigt und können einzeln „ausgeklappt“ werden. Weiterhin können Mails nicht nur beantwortet sondern auch weitergeleitet werden. Es können verschiedene Ordner angelegt werden um gelesene Mail dort einzusortieren. Über einfach zu definierende Filter, diese können auch automatisch anhand einer E-Mail erzeugt werden, kann eine bessere Übersicht bei hohem Mailaufkommen erreicht werden. Evolution besitzt die Fähigkeit Mails in sogenannten „Threads“ darzustellen. E-Mail Verschlüsselung mittels PGP oder GnuPG wird ebenfalls unterstützt. 347 Kapitel 8. Internet Abbildung 8-38. Evolution - E-Mail Die Kalenderfunktion bietet verschiedene Ansichten wie „Tag“, „Arbeitswoche“ (Montag-Freitag), „Woche“ und „Monat“. Ein Doppelklick auf eine Zeit im Kalender öffnet ein neues Fenster in dem ein neuer Termin definiert werden kann. Abbildung 8-39. Evolution - Kalender 348 Kapitel 8. Internet 8.4. Dateitransfer 8.4.1. ftp Um Dateien zwischen verschiedenen Rechnern kopieren zu können, wurde das Protokoll ftp (File Transfer Protocol) geschaffen. Um die Sache nicht unnötig zu verkomplizieren, wurde auch das Kommando für diese Art der Datenübertragung ftp genannt. Sicher kennen Sie schon die Funktion des Downloads von Dateien über einen Webbrowser. Häufig zeigen solche Links auf Webseiten auch direkt auf sogenannte FTP-Server. Unter Debian GNU/Linux können Sie in einer Shell Dateien von einem FTP-Server auf Ihren Rechner kopieren. Das Kommando ftp ist nicht sehr komfortabel, erfüllt aber seinen Zweck. Alternativ können Sie auch das Programm ncftp installieren, welches einige Arbeitsschritte vereinfacht. Hier eine kleine Beispielsitzung mit dem Programm ftp, wir besorgen uns den neuesten Kernel-Patch: fr@debian:~$ ftp ftp.kernel.org Connected to zeus.kernel.org. 220 ProFTPD 1.2.0pre10 Server (ProFTPD) [zeus.kernel.org] Name (ftp.kernel.org:fr): ftp 331 Anonymous login ok, send your complete e-mail address as password. Password: 230- Welcome to the LINUX KERNEL ARCHIVES ftp.kernel.org "Much more than just kernels" IF YOU’RE ACCESSING THIS SITE VIA A WEB BROWSER PLEASE USE THE HTTP URL BELOW INSTEAD! ... Starten Sie das Programm ftp und geben Sie gleich dahinter den Namen des Servers an, von dem Sie die Datei kopieren möchten. Alternativ können Sie auch zuerst das Programm ohne Servernamen starten und danach mit dem Befehl open ftp.kernel.org die Verbindung herstellen. Nach kurzer Zeit sollten Sie nach einem Loginnamen gefragt werden. Wenn Sie auf dem Zielrechner über einen eigenen Zugang verfügen und eine Datei aus einem nicht öffentlichen Bereich kopieren möchten, geben Sie hier Ihren Benutzernamen und danach Ihr Paßwort an. Achtung: Bedenken Sie, daß das FTP-Protokoll keinerlei Verschlüsselung von Daten vornimmt! Ihr Benutzername und vor allem auch das Paßwort werden im Klartext übertragen und können unter Umständen von einem Angreifer (Hacker) mitgelesen werden. Wenn Sie Daten aus nicht-öffentlichen Bereichen kopieren möchten, verwenden Sie besser das Kommando scp (Secure Copy) aus dem Paket ssh. Bei einem Zugriff auf einen öffentlichen (public) FTP-Server können Sie immer den Benutzernamen „ftp“ oder „anonymous“ sowie als Paßwort Ihre eigene E-Mail-Adresse verwenden. Nach erfolgreichem Login, erhalten Sie die Meldung, daß es sich bei dem entfernten Rechner um ein Unix-System handelt und daß der Übertragungsmodus auf binäre Übertragung gesetzt wurde. Eine Übertragung von Dateien im Textmodus (ASCII) ist nur in den seltensten Fällen sinnvoll, Sie können auch Textdateien problemlos im Binärmodus übertragen. Sie können nun viele der normalen Kommandos, die Sie bereits aus der normalen Unix-Shell kennen, verwenden: ftp> ls 349 Kapitel 8. Internet 200 PORT command successful. 150 Opening ASCII mode data connection for file list. lrwxrwxrwx 1 hpa ftpadmin 18 Nov 5 1999 debian -> pub/mirrors/debian lrwxrwxrwx 1 hpa ftpadmin 21 Nov 9 1999 debian-cd -> pub/mirrors/debian-cd dr-xr-x--- 2 mirrors ftpadmin 4096 Oct 12 1999 for_mirrors_only drwxr-xr-x 7 korg korg 4096 Aug 11 10:19 pub lrwxrwxrwx 1 hpa ftpadmin 18 Nov 8 1999 redhat -> pub/mirrors/redhat lrwxrwxrwx 1 root root 10 Oct 28 1999 welcome.msg -> pub/README 226 Transfer complete. ftp> cd /pub/linux/kernel 250 CWD command successful. ftp> ls 200 PORT command successful. 150 Opening ASCII mode data connection for file list. -r--r--r-- 1 korg korg 18458 Mar 12 1994 COPYING -r--r--r-- 1 korg korg 36981 Sep 16 1996 CREDITS drwxr-xr-x 4 korg korg 4096 Oct 5 1999 Historic -r--r--r-- 1 korg korg 12056 Sep 16 1996 README drwxr-xr-x 2 korg korg 4096 Apr 14 11:55 SillySounds drwxr-xr-x 4 korg korg 4096 Jul 10 02:34 crypto drwxr-xr-x 18 korg korg 4096 Aug 7 08:04 people drwxr-xr-x 4 korg korg 4096 Mar 7 10:38 ports drwxr-xr-x 3 korg korg 12288 Aug 17 23:40 testing drwxr-xr-x 2 korg korg 4096 Oct 5 1999 v1.0 drwxr-xr-x 2 korg korg 16384 Oct 5 1999 v1.1 drwxr-xr-x 2 korg korg 4096 Oct 5 1999 v1.2 drwxr-xr-x 2 korg korg 28672 Oct 5 1999 v1.3 drwxr-xr-x 2 korg korg 12288 Oct 5 1999 v2.0 drwxr-xr-x 2 korg korg 36864 Oct 5 1999 v2.1 drwxr-xr-x 2 korg korg 4096 Jun 28 10:52 v2.2 drwxr-xr-x 2 korg korg 16384 May 23 15:51 v2.3 drwxr-xr-x 2 korg korg 4096 Aug 9 19:26 v2.4 226 Transfer complete. ftp> cd v2.4 250 CWD command successful. Wie Sie sehen funktionieren die Kommandos ls und cd wie gewohnt. Natürlich können Sie beim Kommando ls auch Wildcards verwenden: ftp> ls L* 200 PORT command successful. 150 Opening ASCII mode data connection for file list. -rw-r--r-- 1 korg korg 0 Aug 9 19:16 LATEST-IS-2.4.0-test6 ftp> ls *test6* 200 PORT command successful. 150 Opening ASCII mode data connection for file list. -rw-r--r-- 1 korg korg 0 Aug 9 19:16 LATEST-IS-2.4.0-test6 -rw-r--r-- 1 korg korg 18106527 Aug 9 19:16 linux-2.4.0-test6.tar.bz2 -rw-r--r-- 1 korg korg 248 Aug 9 19:16 linux-2.4.0-test6.tar.bz2.sign -rw-r--r-- 1 korg korg 22299559 Aug 9 19:16 linux-2.4.0-test6.tar.gz -rw-r--r-- 1 korg korg 248 Aug 9 19:16 linux-2.4.0-test6.tar.gz.sign -rw-r--r-- 1 korg korg 450477 Aug 9 19:16 patch-2.4.0-test6.bz2 -rw-r--r-- 1 korg korg 248 Aug 9 19:16 patch-2.4.0-test6.bz2.sign -rw-r--r-- 1 korg korg 537149 Aug 9 19:16 patch-2.4.0-test6.gz -rw-r--r-- 1 korg korg 248 Aug 9 19:16 patch-2.4.0-test6.gz.sign 226 Transfer complete. ftp> hash Hash mark printing on (1024 bytes/hash mark). ftp> get patch-2.4.0-test6.bz2 local: patch-2.4.0-test6.bz2 remote: patch-2.4.0-test6.bz2 200 PORT command successful. 150 Opening BINARY mode data connection for patch-2.4.0-test6.bz2 (450477 bytes).

... 350 Kapitel 8. Internet Hier finden wir gleich mehrere neue Kommandos: hash schaltet die Anzeige des Übertragungsfortschrittes ein, für 1024 Byte wird ein Zeichen „#“ gesetzt. Wenn Sie nun die Datei patch-2.4.0-test6.bz2 auf Ihren Rechner übertragen wollen, benutzen Sie hierzu das Kommando get mit dem gewünschten Dateinamen. Wenn Sie mehrere Dateien nacheinander übertragen wollen, können Sie das Kommando mget verwenden, hierbei können Sie Wildcards verwenden. Natürlich können Sie auch Dateien von Ihrem Rechner zu einem entfernten Rechner übertragen, hierzu dient das Kommando put beziehungsweise mput. Beachten Sie hierbei, daß Sie normalerweise nicht in jedes beliebige Verzeichnis auf einem FTP-Server schreiben dürfen. Eine Übertragung von Dateien auf einen Server setzt immer die passenden Zugriffsrechte voraus. Wenn Sie ein wenig mit dem „klassischem“ FTP gearbeitet haben, werden Sie bemerken, daß es nicht sehr komfortabel zu handhaben ist, hier kommt als textbasierte Alternative das Programm ncftp oder eine grafische Variante ins Spiel. 8.4.2. ncftp Das Paket ncftp ist ein sehr leistungsfähiger Ersatz für das ursprüngliche Programm ftp und besteht neben dem eigentlichen Programm zur Datenübertragung (ncftp) noch aus den Programmen: ncftpget, ncftpput und ncftpls sowie ncftpbookmark (zur Verwaltung von Lesezeichen) und ncftpbatch (um größere Downloads zu organisieren). 8.4.2.1. ncftp Natürlich verfügt ncftp über alle Funktionen, die Sie von ftp kennen. Sehr praktisch ist, daß Sie, wie Sie es aus der Standard-Debian GNU/Linux-Shell kennen, Dateinamen mit der TAB-Taste vervollständigen können und Kommandos noch einmal über die Cursortasten aufrufen und verändern können. Wenn ncftp gestartet ist, erhalten Sie mit dem Kommando help eine Übersicht der Kommandos. Geben Sie hinter dem Kommando help an, zu welchem Kommando Sie eine Hilfe wünschen. Das Kommando help showall zeigt noch einige weitere Kommandos. 8.4.2.2. ncftpput / ncftpget Diese beiden Kommandos sind eine Schnittstelle zu ncftp und können über Scripte gesteuert werden. 8.4.2.3. ncftpls Mit diesem Programm können Sie sich den Inhalt eines FTP-Servers ansehen, ohne ein interaktives Programm starten zu müssen. 8.4.3. gFTP Eine sehr leistungsfähige Alternative zu der Kommandozeilen-Version des Programms ftp stellt das Programm gFTP dar. Sie müssen sich hierbei nicht um die diversen Kommandos kümmern und können, ähnlich wie bei einem Dateimanager, Dateien oder Verzeichnisse kopieren. 351 Kapitel 8. Internet Abbildung 8-40. GNOME FTP gFTP ist so programmiert, daß Sie mehrere FTP-Verbindungen gleichzeitig öffnen können (multithreaded) und somit nicht warten müssen, bis ein Download beendet ist, um einen weiteren zu beginnen. Praktisch ist auch, daß Sie Dateien von FTP- oder HTTP-Servern (Webserver) downloaden können. gFTP unterstützt weiterhin den Download von kompletten Verzeichnissen, und abgebrochene Downloads können fortgesetzt werden. Weitere Funktionen von gFTP sind: • Lesezeichen zum schnellen Zugriff auf Server • „Caching“ von Verzeichnissen • „Drag & Drop“-Unterstützung • Verbindung auch per Kommandozeile: gftp user:pass@ftp-site:port/directory • Ansehen und Verändern von Dateien auf dem Server • Oberfläche in vielen Sprachen, auch deutsch 8.5. Eigene Homepage Viele Provider bieten Ihren Kunden einige Megabyte Festplattenplatz für die eigene Homepage an. Das im WWW (World Wide Web) verwendete Format für diese Seiten nennt sich HTML (Hypertext Markup Language). Die Namen der Dateien enden üblicherweise auf .html und können mit jedem beliebigen Texteditor erzeugt werden. Es schadet nichts, wenn Sie sich mit der Syntax von HTML-Dateien beschäftigen, eine erstklassige Referenz finden Sie unter: http://www.teamone.de/selfaktuell/ , die Dokumentation ist aber auch als Debian-Paket (selfhtml) verfügbar. Wenn Sie sich nicht so sehr für die Internas des HTML-Standards interessieren, können Sie auch einen der nachfolgend bechriebenen HTML-Editoren verwenden. 352 Kapitel 8. Internet 8.5.1. Bluefish Auch mit bluefish sollten Sie sich ein wenig in der HTML-Syntax auskennen, da Sie mit bluefish die Seite im HTML-Quellcode sehen und verändern können. Hier eine Übersicht der wichtigsten Funktionen: • „Wizards“ zur Unterstützung bei der Erstellung von Seiten, Tabellen, Frames usw. ... • Öffnen von Dateien direkt aus dem Web • Erzeugen von verkleinerten Grafiken und Erzeugen von passenden Links zur Originalgrafik • Erstellen von eigenen Werkzeugleisten • Projekt-Management • Referenz für PHP3, SSI und RXML • CSS-Dialog • Referenz für PHP3, SSI und RXML • Syntax highlighting Abbildung 8-41. Bluefish Die Webseite zu Bluefish ist unter der URL http://bluefish.openoffice.nl/ zu finden. Wenn Sie einen Text markieren und eine Funktion auswählen, so wird dieser Text von dem gewählten HTML-Code umschlossen. Wenn kein Text markiert ist, wird der HTML-Code eingefügt und der Cursor zwischen Start- und Endemarkierung des Codes positioniert. Aus dem Menü können Sie alle im HTML-3.2-Standard definierten Sonderzeichen per Mausklick einbinden. HTML 4.0 läßt eine unbegrenzte Anzahl von Sonderzeichen zu, so daß auf diese Einbindung verzichtet wurde. CSS (cascading style sheets) werden in der Version 1 unterstützt, CSS2 wird auch von der Seite der meisten Browser nicht unterstützt. 353 Kapitel 8. Internet Bluefish speichert die Farben, URLs, Fonts usw. je angelegtem Projekt. Wenn Sie ein Projekt öffnen, finden Sie alle Einstellungen wie bei der letzten Sitzung vor. Sie können diese über den Projekt-Editor verändern. 8.5.2. Netscape Composer Einen Schritt weiter geht der Netscape Composer. In diesem können Sie, wie in einer Textverarbeitung, die Seite direkt verändern. Sie sehen also sofort, wie die Seite später aussieht, ohne erst einen Browser starten zu müssen. Abbildung 8-42. Netscape Composer Wenn Sie schon mal mit einer modernen Textverarbeitung gearbeitet haben, werden Sie auch sehr schnell mit dem Netscape Composer eine eigene Homepage erzeugen können. 8.5.3. Screem screem ist ein Programm zum Erstellen und Verwalten von Webseiten. HTML Tags können sehr leicht über eine Liste eingefügt werden, das Erstellen von Tabellen oder Styles wird durch Werkzeuge unterstützt. screem benutzt Plugins und kann so leicht erweitert werden. screem basiert auf GNOME und GTK+. 354 Kapitel 8. Internet Abbildung 8-43. Screem 8.5.3.1. Editor Der eingebaute Editor hat eine Reihe nützlicher Funktionen, welche das Erstellen von Seiten vereinfachen. • Syntax highlighthing - Im Editor werden alle HTML Tags farbig markiert. So können Sie schnell zusammenhängende Start- und Endtags erkennen. Tags werden gruppiert, Sie können eine Vorder- und Hintergrundfarbe für jede Gruppe wählen. • Inline tagging - Wenn Sie mit der Maus über einem Tag stehen, steht Ihnen ein PopUp Menü mit allen in diesem Tag erlaubten HTML-4.0-Attributen zur Verfügung. Sie erreichen dieses Menü wie folgt: Der Cursor steht innerhalb eines Tags, direkt vor der schließenden spitzen Klammer, wenn Sie nun die Taste SPACE drücken, erscheint das Menü. Sie können nun einen Eintrag aus dem Menü wählen, oder einfach weitertippen, das Menü verschwindet dann wieder. Diese Option ist im Normalfall deaktiviert, Sie können sie in den Voreinstellungen einschalten. • Context sensitive menu - Ein Klick mit der rechten Maustaste irgendwo im Editorfenster öffnet ein Menü. Sie können hier Seiten speichern, neue Seiten erzeugen, auf die „Edit“ und CVS-Menüs zugreifen sowie nützliche Programme und Plugins starten. Zwei weitere Optionen erscheinen, wenn sich der Mauszeiger über einem Tag befindet. Hinter „TAG NAME“ verbirgt sich das zuvor beschriebene „inline tagging“, hinter „Tag Attributes“ steckt ein Dialog, in dem Sie alle Attribute des Tags verändern können. Wenn Sie ein Java-Dokument geladen haben, sehen Sie ein hierzu passendes Menü. • Auto completion - Wenn Sie das Zeichen < eingeben, wird versucht den Tag zu vervollständigen, bis Sie das Zeichen > eingeben. • Auto entity insertion - Wenn Sie Zeichen eingeben die nicht Teil des normalen ASCII-Zeichensatzes sind, beispielsweise Umlaute, so werden diese automatisch in entsprechende HTML-Syntax umgesetzt. 355 Kapitel 8. Internet 8.5.3.2. Drag & Drop screem unterstützt Drag & Drop innerhalb des Programms wie auch extern, beispielsweise aus dem Dateimanager heraus. Drag & Drop kennen Sie sicher, so daß ein Objekt mit der linken Maustaste gehalten wird und im Fenster abgelegt wird. Dieses fügt den relativen Dateinamen in das Dokument ein. Wenn Sie das Objekt mit der mittleren Maustaste ablegen, haben Sie einige weitere Optionen: • Insert relative filename - Konvertiert den gesamten Pfadnamen der Datei in einen relativen Pfad zum aktuellen Dokument. • Insert complete filename - Fügt den kompletten Pfadnamen ein. • Insert Tag - Dies fügt einen HTML-Tag ein, abhängig vom Dateityp. Bei einer HTML-Datei wird ein Link erzeugt. Bei einer Grafik wird diese als Image-Tag eingefügt. Wenn der Dateityp nicht erkannt wird, wird ein Link zu der Datei erzeugt. • Insert tag attribute - Wenn Sie beispielsweise aus der Farbpalette eine Farbe in einen Tag ziehen, so wird dieser um color= mit der entsprechenden Farbe ergänzt. • Insert inline - hier wird der Inhalt der Datei, also beispielweise ein Text, direkt in die Datei eingefügt. 8.5.3.3. Preview screem kann direkt die erstellten Seiten anzeigen, Sie benötigen kein externes Programm. Momentan benutzt screem hierzu GtkXmHtml, ein Teil von GTK+. Leider unterstützt dieses mehr HTML 3.2 und nicht komplett HTML 4.0. Dies wird in Zukunft wahrscheinlich auf Mozilla umgestellt, so daß sich bestehende Probleme dann erledigen. Sie können aber auch einen externen Browser benutzen, bis dies so weit ist. 8.5.3.4. External Browsers Wenn Sie einen externen Browser benutzen, können Sie zwischen 3 verschiedenen Browsern wählen. Der vierte ist der Standard-GNOME-Browser, normalerweise ist dies Netscape, dies können Sie aber über die GNOME-Einstellungen definieren. Bei einem externem Browser müssen Sie zuerst Ihre Seite speichern, um die Veränderung zu sehen. Die drei frei definierbaren Browser sind noch nicht belegt, bei der ersten Auswahl können Sie die nötigen Programmnamen in einem Dialog festlegen. Wenn Sie einen dieser Browser nachträglich ändern wollen, klicken Sie mit der rechten Maustaste auf das Icon in der Symbolleiste. 8.5.3.5. Dateibaum Dateibaum wird nur verwendet, wenn Sie an einer kompletten Site arbeiten, nicht an einer einzelnen Seite. Sie können damit Dateien in den Editor laden oder über externe Programme darauf zugreifen. Auch können Sie Dateien kopieren, umbenennen und verschieben. Wenn Sie an einem Projekt arbeiten und einen Link verändern (zum Beispiel indem Sie eine Datei umbenennen), müssen Sie sich nicht durch alle Dateien einzeln wühlen, screem erledigt dies für Sie in allen zur Site gehörenden Dateien. Wenn Sie mit der rechten Maustaste auf den Dateibaum klicken, erhalten Sie ein Menü, über das Sie neue, leere Seiten erzeugen, Dateien und Verzeichnisse löschen oder umbenennen können oder auch Dateien öffnen können. 356 Kapitel 8. Internet 8.5.3.6. „Tag“baum Über diese Funktion können Sie schnell auf alle HTML-Funktionen zugreifen. Wenn Sie zusätzlich Bluefish installiert haben, so können Sie auch auf PHP3, RXML und SSI-Funktionen zugreifen. Die Einträge in dieser Liste werden aus der Datei /usr/lib/screem/screem.tagtree gelesen. Sie können diese mit einem Editor ergänzen. Wenn Sie eine Datei $HOME/.screem/.tagtree anlegen und dort Ergänzungen vornehmen, werden diese an die Liste angehängt. Wenn Sie auf eine Funktion klicken, so wird diese eingefügt und der Cursor zwischen Start- und Endtag positioniert. Wenn Sie vorher einen Text markiert haben, wird dieser von dem Tag eingeschlossen. 8.5.3.7. Upload Wizard Mit dem Upload Wizard können Sie sehr leicht Ihre Seiten im Netz aktualisieren. Zunächste müssen Sie die Adresse, die Übertragungsmethode, Pfad, Usernamen und Paßwort angeben. Der Upload Wizard benutzt das Programm sitecopy, beachten Sie bitte, daß deshalb auch die nötigen Daten im Verzeichnis .sitecopy gespeichert werden. 8.5.3.8. Image Wizard Der Image Wizard unterstützt Sie beim Einfügen von Bildern in Ihre Webseiten. Neben einer Vorschau vor dem Einfügen der Grafik wird die Originalgröße (in Pixeln und Byte) angezeigt. Weiterhin können automatisch Verkleinerungen der Grafik erzeugt werden und auf Wunsch wird die Grafik auch an eine passende Stelle kopiert. 8.5.3.9. Gallery Wizard Hiermit können Sie eine Bildergalerie aus einem Verzeichnis mit Bildern erzeugen. Sie können angeben, wie viele Zeilen und Spalten auf einer Seite erscheinen sollen, wenn nötig werden automatisch mehrere Seiten angelegt und passende Links erzeugt. Zu jedem Bild wird eine verkleinerte Version erstellt, mit einem Mausklick auf diese sehen Sie die Grafik in der Originalgröße. Sie können diese Funktion benutzen, ohne eine Seite oder ein Projekt geöffnet zu haben. 8.6. Verschlüsselung 8.6.1. PGP PGP – Pretty Good Privacy (in deutsch etwa: ziemlich gute Privatsphäre) – war lange Jahre der Standard zur Verschlüsselung und wurde hauptsächlich zur Verschlüsselung von E-Mails verwendet (obwohl sich auch andere Daten damit verschlüsseln lassen). PGP benutzt ein Verfahren mit digitalen Schlüsseln und ermöglicht damit einen sicheren Austausch von Daten zwischen Personen, die sich noch nie getroffen haben. Durch die Verfügbarkeit der Quellcodes wurde PGP von Entwicklern in der ganzen Welt auf so ziemlich jedes Betriebssystem portiert. PGP verwendet die Algorithmen IDEA und RSA, die leider lange Zeit durch Softwarepatente geschützt waren. Diese Tatsache führte zur Entwicklung einer komplett freien Alternative, deren Entwicklung mittlerweile soweit fortgeschritten ist, daß wir auf eine weitere Beschreibung von PGP verzichten möchten und auf GnuPG verweisen. Mittlerweile ist dieses Patent aber abgelaufen, so das auch GPG die RSA Verschlüsselung nutzen kann. 357 Kapitel 8. Internet 8.6.2. GnuPG GnuPG steht für „GNU Privacy Guard“ und ist ein kompletter, freier Ersatz für PGP. Die Algorithmen IDEA oder RSA werden nicht benutzt, so daß GnuPG ohne Einschränkungen benutzt werden kann. GnuPG implementiert den OpenPGP-Standard, der aus den Datenformaten von PGP 5.x und 6.x entwickelt wurde. Die Homepage von GnuPG finden Sie unter folgender URL: http://www.gnupg.org/de/gnupg.html. Folgende Eigenschaften zeichnen GnuPG aus: • Vollständiger PGP-Ersatz. • Es werden keine patentierten Verfahren verwendet. • GPL - GNU Public Lizenz. • Kann als Filterprogramm verwendet werden. • Vollständige OpenPGP-Implementierung. • Gegenüber PGP erweiterte Funktionalität und Sicherheitserweiterungen. • Ver- und entschlüsselt PGP-5.x-Daten. • ElGamal (unterschreiben und verschlüsseln), DSA, 3DES, Blowfish, Twofish, CAST5, MD5, SHA-1. • RIPE-MD-160 und TIGER werden unterstützt. • Einfache Implementierung neuer Verfahren durch Erweiterungsmodule. • Benutzer-ID wird im Standardformat erzeugt. • Unterstützung für Schlüsselverfallsdatum. • Benutzerführung in Englisch, Französisch, Deutsch, Italienisch, Polnisch, brasilianischem Portugiesisch, Russisch und Spanisch. • Online-Hilfe. • Wahlweise anonyme Adressaten. • Eingebaute Unterstützung für Schlüsselserver (http://wwwkeys.pgp.net). Um verschlüsselte E-Mails austauschen zu können, müssen Sie sich zuerst ein eigenes Schlüsselpaar, bestehend aus einem privaten und einem öffentlichen Schlüssel, erzeugen. Mit einem geeigneten Mailprogramm (dieses muß die Verschlüsselung von Mails per PGP/GnuPG unterstützen, mutt oder spruce sind dazu in der Lage) können Sie dann verschlüsselte Mail austauschen. Lassen Sie sich von Ihrem Mailpartner hierzu seinen öffentlichen Schlüssel (public key) zuschicken und schicken Sie ihm im Gegenzug Ihren . Sie können nun Mails mit Ihrem privaten Schlüssel und dem öffentlichen Schlüssel Ihres Partners verschlüsseln. Im Gegenzug kann dieser die von Ihnen verschlüsselte Mail nur mit seinem privaten und Ihrem öffentlichen Schlüssel entschlüsseln. Dieses Verfahren schützt jedoch noch nicht vor gefälschten Schlüsseln. Um sicherzugehen, daß ein öffentlicher Schlüssel auch wirklich von der entsprechenden Person stammt, können Sie Ihren Schlüssel von verschiedenen Leuten unterschreiben (signieren) lassen. Hierzu müssen Sie sich persönlich mit Leuten treffen, die GnuPG/PGP einsetzen und dieser Person Ihren öffentlichen Schlüssel übergeben (auf Diskette) sowie sich ausweisen. Wenn Sie niemanden kennen, der GnuPG/PGP einsetzt, wenden Sie sich an eine Linux User Group in Ihrer Nähe, dort finden Sie mit Sicherheit jemanden, der Wert auf sichere Kommunikation legt. Eine weitere Möglichkeit bietet die Zeitschrift c’t an. Auf größeren Messen wie der CeBIT bietet die c’t ebenfalls die Gelegenheit, Schlüssel zu signieren (http://www.heise.de/ct/pgpCA/). Mit dem Kommando gpg --gen-key erzeugen Sie sich ein neues Schlüsselpaar. bash-2.03$ gpg --gen-key gpg (GnuPG) 0.9.3; Copyright (C) 1999 Free Software Foundation, Inc. This program comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. See the file COPYING for details. 358 Kapitel 8. Internet gpg: Warnung: Sensible Daten könnten auf Platte ausgelagert werden. Um dies zu vermeiden, kann das Programm suid(root) installiert werden. Bitte wenden Sie sich hierzu an den Systemadministrator. gpg: /home/fr/.gnupg: Verzeichnis erzeugt gpg: /home/fr/.gnupg/options: neue Optionendatei erstellt gpg: /home/fr/.gnupg/secring.gpg: Schlüsselbund erstellt gpg: /home/fr/.gnupg/pubring.gpg: Schlüsselbund erstellt gpg: /home/fr/.gnupg/trustdb.gpg: trust-db erzeugt Bitte wählen Sie, welche Art von Schlüssel Sie möchten: (1) DSA und ElGamal (voreingestellt) (2) DSA (nur signieren/beglaubigen) (4) ElGamal (signieren/beglaubigen und verschlüsseln) Ihre Auswahl? Sie können hier zwischen verschiedenen Schlüsseln wählen, die voreingestellten Werte sind aber auf jeden Fall sinnvoll. Sie sollten diese einfach akzeptieren. Der DSA Schlüssel wird 1024 Bits haben. Es wird ein neues ELG-E Schlüsselpaar erzeugt. kleinste Schlüssellänge ist 768 Bit standard Schlüssellänge ist 1024 Bit größte sinnvolle Schlüssellänge ist 2048 Bit Welche Schlüssellänge wünschen Sie? (1024) Hier können Sie die Länge des zu erzeugenden Schlüssels festlegen. Längere Schlüssel sind schwerer zu „knacken“, allerdings benötigen diese auch etwas mehr Zeit, wenn man mit Ihnen arbeitet. 1024 Bit sind ein sinnvoller Wert. Die verlangte Schlüssellänge beträgt 1024 Bit Bitte wählen Sie, wie lange der Schlüssel gültig bleiben soll. 0 = Schlüssel verfällt nie <n> = Schlüssel verfällt nach n Tagen <n>w = Schlüssel verfällt nach n Wochen <n>m = Schlüssel verfällt nach n Monaten <n>y = Schlüssel verfällt nach n Jahren Der Schlüssel bleibt wie lange gültig? (0) GnuPG unterstützt auch ein Verfallsdatum bei Schlüsseln. Vielleicht möchten Sie ja für die Mitarbeiter in Ihrer Firma mit Zeitverträgen verhindern, daß diese den Schlüssel auch später noch verwenden können. Für Ihren privaten Schlüssel benötigen Sie ein solches Verfallsdatum im Normalfall nicht. Der Schlüssel verfällt nie. Ist dies richtig? (j/n) j Sie benötigen eine User-ID, um Ihren Schlüssel eindeutig zu machen; das Programm baut diese User-ID aus Ihrem echten Namen, einem Kommentar und Ihrer E-Mail-Adresse in dieser Form auf: "Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>" Ihr Name ("Vorname Nachname"): Frank Ronneburg E-Mail-Adresse: fr@leenuks.de Kommentar: Sie haben diese User-ID gewählt: "Frank Ronneburg <fr@leenuks.de>" Ändern: (N)ame, (K)ommentar, (E)-Mail oder (F)ertig/(B)eenden? f Geben Sie hier mindestens Ihren Namen und Ihre E-Mail Adresse ein. Sie benötigen ein Mantra, um den geheimen Schlüssel zu schützen. Geben Sie das Mantra ein: Geben Sie das Mantra nochmal ein: 359 Kapitel 8. Internet Sie benötigen nun noch ein „Mantra“, also ein Paßwort für Ihren privaten, geheimen Schlüssel. Wir müßen eine ganze Menge Zufallszahlen erzeugen. Sie können dies unterstützen, indem Sie z.B. in einem anderen Fenster/Konsole irgendetwas tippen oder irgendwelche anderen Programme benutzen. +++++.....+++++...............+++++......++++++++++.......+++++.................. +++++...........+++++....++++++++++++++++++++.+++++...+++++...................... ..+++++....+++++....++++++++++++++++++++...+++++.+++++.....+++++..+++++...+++++.. ......+++++>+++++.+++++.....................+++++ Wir müßen eine ganze Menge Zufallszahlen erzeugen. Sie können dies unterstützen, indem Sie z.B. in einem anderen Fenster/Konsole irgendetwas tippen oder irgendwelche anderen Programme benutzen. .++++++++++......+++++........++++++++++.........................+++++.....++++++ ++++.+++++.+++++......+++++.+++++++++++++++.....+++++......+++++.+++++...+++++... ..................+++++.+++++....+++++...........++++++++++.......++++++++++..... ....+++++>........+++++............>..+++++..<.........+++++........>.....+++++.. ...................+++++^^^ Öffentlichen und geheimen Schlüssel erzeugt und signiert. bash-2.03$ GnuPG erzeugt nun aus Ihren Angaben ein Schlüsselpaar und legt dieses im Verzeichniss .gnupg in Ihrem Homeverzeichnis ab. Damit ist die eigentliche Erzeugung des Schlüssels schon abgeschlossen. 8.6.2.1. GnuPG Schlüsselverwaltung In diesem Abschnitt werden die grundlegenden Schritte der Schlüsselverwaltung beschrieben. Eine ausführliche Anleitung, auch zu allen anderen Funktionen von GnuPG, finden Sie in der deutschen Übersetzung des „GNU Privacy Handbook“ unter http://www.gnupg.org/gph/de/manual/. 8.6.2.1.1. Austauschen von Schlüsseln Um mit anderen zu kommunizieren, müssen Sie untereinander Ihre öffentlichen Schlüssel austauschen. Dies kann per E-Mail, über einen Key-Server oder auch per persönlicher Übergabe erfolgen. Zum Auflisten der Schlüssel in Ihrem öffentlichen Schlüsselbund verwenden Sie die Befehlszeilen-Option --list-keys. fr@surimi:~$ gpg --list-keys /home/fr/.gnupg/pubring.gpg


pub 1024D/887EB817 2000-12-12 Frank Ronneburg <fr@leenuks.de> sub 1024g/B91B2CCC 2000-12-12 pub 768R/3B54E019 1996-02-14 Frank Ronneburg <fr@hoshi.in-berlin.de> Wenn Sie bereits weitere öffentliche Schlüssel, oder weitere IDs, hinzugefügt haben wird diese Liste länger ausfallen. Beispielhaft findet sich in dieser Auflistung auch ein alter PGP-Key. 8.6.2.1.2. Exportieren eines öffentlichen Schlüssels Um jemandem Ihren öffentlichen Schlüssel zu schicken, müssen Sie diesen zunächst exportieren. Hierzu benutzt man die Kommandozeilen-Option --export. Zur Indentifikation des zu exportierenden öffentlichen Schlüssels dient entweder die Schlüssel-ID oder irgendein Teil der Benutzer-ID. gpg --output Ronneburg.gpg --export Ronneburg Der Schlüssel wird in einem binären Format exportiert, doch kann dies unerwünscht sein, wenn Sie den Schlüssel per E-Mail verschicken oder auf einer WWW-Seite veröffentlichen wollen. GnuPG unterstützt daher 360 Kapitel 8. Internet die Kommandozeilen-Option --armor die bewirkt, daß der Output im ASCII-Format ausgegeben wird. (Im Allgemeinen kann jeder Output von GnuPG - beispielsweise Schlüssel, verschlüsselte Dokumente oder Unterschriften - im ASCII-Format dargestellt werden, indem man die --armor-Option hinzufügt.) fr@surimi:~$ gpg --armor --export Ronneburg


BEGIN PGP PUBLIC KEY BLOCK-----

Version: GnuPG v1.0.4 (GNU/Linux) Comment: Weitere Infos: siehe http://www.gnupg.org mQGiBDo2SPYRBACkgxUYL30WWgBFybJWKc8eENKDC/8fWbmsKLVFlmvayYu8ykeW GiiUvh6zKhidoa7Vve796kq9N1v5VRvy4qKDMUvLlLA/4k4OHZg0rKcQIIOzuGba d3dGGCUcNqFYjlgnML2NP40+Kr4Rs6MAWk7gqZ4IofP4n9VmgOil1WzMmwCghZMB orTO/atjGfWz/m30IgbpSisD/iw6mKPYdz7PJB50jCn6bpZt7dFAaQVJrlfSPS4J iRUGPghVEPSfNtNd3N1PymRWv3j1CYC41Nl92wxLI8QFXdQv44smNdao7YDSdpkR 4+y+pWBCeitXqCj/9eVOVGvEM+mLmsvpg/M/qa6a+EF/iJW+3Mb63xmrumeHGBD6 GUllA/0f7B9u2Hqx4078QWZmxycpD8XI43Yq3r1pkHb28BryMi6tE/qkfsgxywlD Blnl6WTpzBxgsMLdm7BNz/B41fk8AnCAtnftoOa8+Q0TKodrDtLkrXdW0z0RltNZ ... 2NSr7iQUlIhGBBgRAgAGBQI6Nkj6AAoJEF+d1jKIfrgXJBwAnj038AMs+feNTOyP qkdlhcd+kHHTAJ0dKZe7keaAIJkz4FJQhBhrk/bHpw== =yDka


END PGP PUBLIC KEY BLOCK-----

8.6.2.1.3. Importieren eines öffentlichen Schlüssels Ein öffentlicher Schlüssel kann zu Ihrem öffentlichen Schlüsselbund hinzugefügt werden, und zwar mit folgender Option: --import fr@surimi:~$ gpg --import /tmp/frank.gpg gpg: Schlüssel 887EB817: Öffentlicher Schlüssel importiert gpg: Anzahl insgesamt bearbeiteter Schlüssel: 1 gpg: importiert: 1 8.6.2.1.4. Bearbeiten eines Schlüssels Wenn ein Schlüssel einmal importiert ist, sollte er auf Authentizität überprüft werden. GnuPG arbeitet mit einem wirksamen und flexiblen Vertrauensmodell, bei dem Sie nicht jeden Schlüssel persönlich zu authentifizieren brauchen, den Sie importieren. Einige Schlüssel können dies jedoch erfordern. Ein Schlüssel wird dadurch authentifiziert, daß Sie den Fingerabdruck des Schlüssels überpüfen und dann den Schlüssel unterschreiben, um seine Gültigkeit zu bestätigen. Der Fingerabdruck eines Schlüssels kann schnell mit der Befehlszeilen-Option --fingerprint geprüft werden, um aber den Schlüssel zu bestätigen, müssen Sie ihn editieren. fr@surimi:~$ gpg --edit-key Borgert gpg (GnuPG) 1.0.4; Copyright (C) 2000 Free Software Foundation, Inc. This program comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. See the file COPYING for details. pub 1024R/9B668109 erstellt: 1998-06-28 verfällt: never Vertrauen: -/q (1) W. Borgert <debacle@knorke.in-berlin.de> Befehl> fpr pub 1024R/9B668109 1998-06-28 W. Borgert <debacle@knorke.in-berlin.de> 361 Kapitel 8. Internet Fingerabdruck: 6F 74 32 AB 53 DD 09 F1 3B 69 E6 3F 79 8A 70 53 Um den Fingerabdruck zu überprüfen, müssen Sie den Eigentümer des Schlüssels kontaktieren und die Fingerabdrücke vergleichen. Sie können persönlich oder per Telefon mit ihm sprechen oder auf beliebigem anderen Wege kommunizieren, solange nur garantiert ist, daß es sich um den rechtmäßigen Eigentümer handelt. Stimmen beide Fingerabdrücke überein, dann können Sie sicher sein, daß Sie eine echte Kopie des öffentlichen Schlüssels haben. Nach dem Prüfen des Fingerabdrucks können Sie den Schlüssel unterschreiben, um ihn zu authentifizieren. Da die Schlüsselüberprüfung ein Schwachpunkt in der Kryptographie mit öffentlichem Schlüssel ist, sollten Sie äußerste Sorgfalt walten lassen und den Fingerabdruck eines Schlüssels immer gemeinsam mit dem Eigentümer prüfen, bevor Sie den Schlüssel unterschreiben. Befehl> sign pub 1024R/9B668109 erstellt: 1998-06-28 verfällt: never Vertrauen: -/q Fingerabdruck: 6F 74 32 AB 53 DD 09 F1 3B 69 E6 3F 79 8A 70 53 W. Borgert <debacle@knorke.in-berlin.de> Sind Sie wirklich sicher, daß Sie vorstehenden Schlüssel mit Ihrem Schlüssel beglaubigen wollen: "Frank Ronneburg <fr@leenuks.de>" Wirklich unterschreiben? Sie können sich jederzeit vergewissern, welche Unterschrift Sie hinzugefügt haben. Jede Benutzer-ID auf dem Schlüssel hat dann sowohl eine oder mehrere Eigenbeglaubigungen als auch eine Unterschrift von jedem Benutzer, der den Schlüssel authentifiziert hat. Befehl> check uid Frank Ronneburg <fr@leenuks.de> sig! 887EB817 2000-12-12 [Eigenbeglaubigung] sig! 9B668109 2001-01-26 W. Borgert <debacle@knorke.in-berlin.de> sig! 801EA932 2001-04-02 Martin Schulze <joey@infodrom.north.de> sig! 13282FF2 2000-12-18 Werner Heuser (none) <wehe@debian.org> sig! EF439690 2000-12-21 Michael Piefel <piefel@informatik.hu-ber sig! 258D8781 2001-03-31 Michael Bramer <grisu@debian.org> sig! DA4A1116 2001-04-04 Bernhard Reiter <bernhard@intevation.de> sig! 86574ACA 2001-04-04 Georg C. F. Greve <greve@gnu.org> sig! 496A1827 2001-04-06 Sebastian Rittau <srittau@jroger.in-berl sig! 9C6D5E59 2001-04-10 Karl Bartel <karlb@gmx.net> Befehl> 8.6.2.1.5. Schlüsselverteilung Im Idealfall wird ein Schlüssel durch persönliche Übergabe an Ihre Korrespondenzpartner weitergegeben. In der Praxis werden jedoch Schlüssel oft per E-Mail oder irgendein anderes elektronisches Kommunikationsmittel weitergegeben. Die Weitergabe per E-Mail ist durchaus annehmbar, wenn Sie nur einige wenige Korrespondenzpartner haben. Wenn Sie viele Korrespondenzpartner haben, könnten Sie beispielsweise Ihre(n) öffentlichen Schlüssel auf Ihrer Homepage im Web publizieren. Das setzt jedoch voraus, daß Ihre Korrespondenzpartner auch wissen, wo sie Ihre(n) Schlüssel finden können. Um dieses Problem zu lösen, gibt es Key-Server, die öffentliche Schlüssel sammeln und weitergeben. Ein bei dem Server eingegangener öffentlicher Schlüssel wird entweder der Datenbank des Servers hinzugefügt oder mit Ihrem eventuell schon vorhandenen Schlüssel zusammengeführt. Wenn eine Anfrage nach einem Schlüssel 362 Kapitel 8. Internet beim Server eingeht, durchsucht dieser seine Datenbank und sendet den angeforderten öffentlichen Schlüssel zurück, wenn er ihn gefunden hat. Ein oder mehr Schlüssel können unter Verwendung der Kommandozeilen-Option --send-keys an den Key-Server geschickt werden. Die Option erwartet eine Schlüssel-ID oder Benutzer-ID als Argument und schickt die so spezifizierten Schlüssel an den Key-Server. Der Key-Server, an den die Schlüssel geschickt werden sollen, wird durch die Kommandozeilen-Option --keyserver spezifiziert. In ähnlicher Weise wird die Option --recv-keys benutzt, um Schlüssel von einem Key-Server zu holen, doch müssen Sie hier den Schlüssel mit einer Schlüssel-ID spezifizieren. Hier ein Beispiel mit dem der Autor seinen Public-Key auf dem Server aktualisiert. fr@surimi:~$ gpg --keyserver wwwkeys.eu.pgp.net --send-key 887EB817 gpg: Senden an ‘wwwkeys.eu.pgp.net’ erfolgreich (status=200) Hier wird ein bereits vorhandener Key aktualisiert. fr@surimi:~$ gpg --keyserver wwwkeys.eu.pgp.net --recv-key 86574ACA gpg: Schlüssel 86574ACA von wwwkeys.eu.pgp.net wird angefordert ... gpg: Schlüssel 86574ACA: 3 neue User-IDs gpg: Schlüssel 86574ACA: 15 neue Signaturen gpg: Anzahl insgesamt bearbeiteter Schlüssel: 1 gpg: neue User-IDs: 3 gpg: neue Signaturen: 15 Weltweit gibt es eine Vielzahl bekannter Key-Server. Die größeren Key-Server synchronisieren sich wechselseitig. Am Besten benutzen Sie einen gut erreichbaren Key-Server im Internet und tauschen dann regelmäßig über diesen Schlüssel aus. Neben dem im Beispiel gezeigten Server gibt es noch eine ganze Reihe weiterer Key-Server im Netz. Dies sind beispielsweise http://www.pca.dfn.de/dfnpca/pgpkserv/ und http://germany.keyserver.net/en/. 8.6.2.2. GnuPG und mutt Die Einbindung von GnuPG in mutt ist durch ein mitgeliefertes Beispiel sehr einfach zu realisieren. Wenn Sie keine individuellen Einstellungen benötigen reicht das einfügen der Zeile source /usr/share/doc/mutt/examples/gpg.rc in der Datei ~/.muttrc aus. Natürlich können Sie auch eine Kopie der Beispieldatei in Ihrem Heimatverzeichnis erzeugen und die Werte Ihren Bedürfnissen anpassen. 363 Kapitel 9. Drucken In der langen Entwicklungsgeschichte von Unix gibt es zwei bedeutende Drucksysteme, Berkeley Line Printer Daemon („lpd“) und das AT&T Line Printer System. Im Laufe der Jahre gab es einige Alternativen zu diesen Systemen (beispielsweise LPRng) doch an den grundlegenden Funktionen hat sich kaum etwas geändert. Das betagte Drucksystem führte aufgrund der begrenzten Funktionalitäten zu einigen Problemen und so begannen einige Entwickler eigene Erweiterungen in die Programme einzubauen, ohne das Problem grundsätzlich zu lösen. Von der Firma Easy Software Products wurde CUPS (Common UNIX Printing System) entwickelt und unter der GPL (bzw. LGPL für die API Library) freigegeben. CUPS benutzt das Protokoll IPP (Internet Printing Protocol) und bietet die von System V und Berkeley gewohnten Kommandozeilen-Tools. Ein Umstieg auf CUPS lohnt sich, probieren Sie es aus. Natürlich besteht immer noch die Möglichkeit auch die „klassischen“ Drucksysteme einzusetzen. Zur Konfiguration des klassischen Drucksystems stehen verschiedene Programme zur Verfügung. apsfilter und magicfilter helfen Ihnen bei dieser Aufgabe. Sie können aber nur eines der beiden Pakete installieren, wir werden deshalb später nur auf apsfilter eingehen. 9.1. CUPS Historisch gesehen stammen die bisherigen Drucksysteme unter Unix entweder aus der Familie der BSD Systeme (LPD, definiert durch den RFC 1179) oder aus dem AT&T Lager. Beide Drucksysteme wurden in den 70er Jahren entworfen und sind auf die Anforderungen der damaligen Drucktechnik (Zeilendrucker/Nadeldrucker) ausgelegt. Von den verschiedenen Herstellern kommerzieller Unixes wurden gelegentlich Erweiterungen eingebracht. Natürlich gab es auch einige Entwicklungen, die versuchten die etablierten Drucksysteme zu ersetzen. Zu nennen sind hier LPRng, Palladin und PLP. Leider hat keiner dieser Ansätze grundlegende Änderungen oder Verbesserungen gebracht. In den letzten Jahren gab es diverse Versuche, eine neue Standard Schnittstelle zu definieren, unter anderem den Entwurf zum POSIX Standard, welcher vom „Institute of Electrical and Electronics Engineers, Inc.“ (IEEE, Nr. IEEE-1387.4) herausgegeben wurde, sowie das „Internet Printing Protocol“ (IPP) entwickelt von der „Internet Engineering Task Force“ (IETF) durch die „Printer Working Group“ (PWG, IETF-IPP). Der POSIX Standard definiert einheitliche Kommandozeilen Werkzeuge, ebenso wie eine C Schnittstelle zur Druckerverwaltung und zur Verwaltung der Druckaufträge. Das „Internet Printing Protocol“ definiert Erweiterungen zum Protokoll HTTP (HyperText Transport Protocol 1.1 [RFC2616]), um das Drucken auf Netzwerkdruckern zu ermöglichen. IPP/1.0 wurde von der IETF als experimenteller Request for Comments (RFC) im Oktober 1999 akzeptiert. Seitdem entwickelte die Printer Working Group eine erweiterte Spezifikation für die Version IPP/1.1, welche von der IETF als empfohlener Standard akzeptiert wurde. Anders als der POSIX Standard erfreut sich IPP einer weitreichenden Unterstützung durch die Industrie, und es scheint sich als Netzwerk Drucklösung für alle Betriebssysteme durchzusetzen. CUPS benutzt IPP/1.1, um ein umfassendes und modernes Drucksystem für Unix Systeme mit einer weitreichenden Unterstützung für moderne Drucker und Protokolle zu bieten. Natürlich bleibt die Kompatibilität zu den bestehenden Anwendungen erhalten. CUPS ist Freie Software und wird unter der GNU General Public License und der GNU Lesser General Public License zur Verfügung gestellt.. 9.1.1. Pakete Folgende Debian Pakete, die mit CUPS im Zusammenhang, stehen sind verfügbar. • cupsys - Common UNIX Printing System(tm) - Server • cupsys-bsd - Common UNIX Printing System(tm) - BSD Kommandos • cupsys-client - Common UNIX Printing System(tm) - System V Kommandos • qtcups - Qt basierte Administration für CUPS. 364 Kapitel 9. Drucken • cupsys-driver-gimpprint - gimp-print Druckertreiber für CUPS • gtklp - GTK basierte Administration für CUPS • kups - KDE basierte Administration für CUPS sowie einige weitere Pakete die von diesen abhängen, hauptsächlich Libraries. Nach der Installation der gewünschten Pakete ist CUPS wie gewohnt bereits so gut wie einsatzbereit. Sie sollten aber noch den Administrativen Zugriff erlauben. Hierzu wurde eine Gruppe „lpadmin“ eingerichtet, zu der die Benutzer hinzugefügt werden können, die Administrative Rechte am Drucksystem haben sollen. In der Grundeinstellung erlaubt die Konfiguration aus Sicherheitsgründen lediglich Verbindungen vom lokalen System. Diese Einstellung kann in der Datei /etc/cups/cupsd.conf geändert werden. Am Ende dieser Datei finden sich die Zugriffsbeschränkungen. Achten Sie darauf, den Zugriff nur von Systemen zu erlauben denen Sie vertrauen oder aktivieren Sie eine Authentifizierung. 9.1.1.1. Treiber Die CUPS Pakete beinhalten Treiber für HP LaserJet und DeskJet, Epson Stylus Color sowie Stylus Photo Drucker. 9.1.1.2. Samba Integration Sie können Samba zur Zusammenarbeit mit CUPS bewegen, um CUPS-Drucker den Windows-Clients im Netz zur Verfügung zu stellen. Hierzu gibt es zwei Möglichkeiten. Samba benutzt das System V Drucksystem. Hierzu muß die Samba Konfiguration (in /etc/samba/smb.conf) wie folgt ergänzt werden: [global] printing = sysv printcap name = lpstat [printers] lpq command = /usr/bin/lpstat %p lprm command = /usr/bin/cancel %p-%j print command = /usr/bin/lp -d%p -oraw %s ; /bin/rm -f %s Damit dies funktioniert muß das Paket cupsys-client installiert werden. Alternativ unterstützen aktuelle Samba Versionen direkt das Drucken zu einem CUPS System. Auch hierzu muß an der Samba Konfiguration etwas verändert werden. [global] printing = cups printcap name = /etc/printcap.cups 9.1.1.3. Tips CUPS unterstützt das „browsing“ über Broadcast Requests, um andere CUPS Server und Drucker im Netz zu finden und diese den Clients zur Verfügung zu stellen. Auch diese Funktion ist normalerweise ausgeschaltet. Wenn diese Funktion aktiviert wird, kann dies dazu führen, daß Dial-on-demand Verbindungen bei einem Broadcast aktiviert werden. Dies kann zu ungewollt hohen Online-Kosten führen. Wenn Sie diese Funktion aktivieren, achten Sie darauf das die Broadcast Adresse entsprechend setzen. Wenn Sie das Kommando enable aus dem Paket cupsys-client benutzen kann es zu Problemen mit dem gleichnamigen Befehl aus der bash kommen. Diese Probleme können umgangen werden wenn Sie das Kommando cupsenable benutzen, welches sich genauso verhält. Um die Konsistenz zu waren, sind ebenfalls die Kommandos cupsdisable, cupsaccept und cupsreject verfügbar. 365 Kapitel 9. Drucken 9.1.2. Design Wie die meisten anderen Drucksysteme wurde für CUPS ebenfalls ein zentraler Prozess geschaffen, welcher die Druckaufträge verwaltet, administrative Befehle entgegennimmt und Statusinformationen weitergibt. Die Grafik zeigt die grundlegende Organisation von CUPS. Abbildung 9-1. CUPS Diagramm 9.1.3. Scheduler Der CUPS Scheduler ist ein HTTP/1.1 kompatibler Server, der einerseits die Druckaufträge entgegennimmt, aber auch eine Webbasierte Administrationsoberfläche zur Verfügung stellt. Über diese ist neben einer grafischen Administration ein Monitoring möglich. Der Scheduler verwaltet auch eine Liste der verfügbaren Drucker im Netz und organisiert die Verwaltung der benötigten Filter und Backends für die verschiedenen Drucker. 9.1.4. Konfigurationsdateien Die Konfigurationsdateien teilen sich in folgende Typen auf: - HTTP Server Konfiguration - Drucker und Klassen Definitionen - MIME Types und Konvertierungsinformationen - PostScript Printer Description ("PPD") Dateien Die Konfiguration des HTTP Servers für CUPS ähnelt sehr der Konfiguration des Apache Webservers, hier werden die Zugriffe und Eigenschaften des Servers definiert. Die Drucker und Klassenbeschreibungen beschreiben die verfügbaren Drucker und Klassen. Druckerklassen sind Gruppen von Druckern. Druckjobs, die an eine Klasse geschickt werden, werden auf dem ersten verfügbaren Drucker im Round-Robin Prinzip gedruckt. In der Liste der MIME Types finden sich alle unterstützten MIME Types (zum Beispiel „text/plain“, „application/postscript“ usw.) sowie einige „magic rules“, um den Typ einer Datei zu bestimmen. Diese werden vom HTTP Server benutzt, um den „Content-Type“ für „GET“ und „HEAD“ Anfragen zu bestimmen. Weiterhin benutzt der IPP Handler die MIME Types ebenfalls zur Bestimmung der Dateitypen. In den Konvertierungsinformationen finden sich die verfügbaren Filter. Filter werden benutzt, um die von einem Programm kommenden Daten in für den Drucker verständliche Daten umzuwandeln. 366 Kapitel 9. Drucken Die PPD Dateien beschreiben die Fähigkeiten eines Druckers, dies beschränkt sich nicht nur auf Postscript Drucker. PPD Dateien für Nicht-Postscript Drucker beeinhalten zusätzliche Filterfunktionen durch „cupsFilter“, um diese Drucker optimal zu unterstützen. 9.1.5. Berkeley und System V Kommandos CUPS bietet die von System V und Berkley Unixes bekannten Befehle für Druckaufträge und Statusabfragen. Die Kommandos „lpstat“ und „lpc status“ zeigen auch Informationen über Netzwerkdrucker (printer@server), wenn das „browsing“ aktiviert ist. Die System V Administrations Kommandos können benutzt werden, um Drucker und Klassen zu verwalten. Das Berkleley Tool lpc wird nur im „read-only“ Modus unterstützt. 9.1.6. Filter Ein Filterprogramm liest Daten von der Standardeingabe oder aus einer Datei, wenn ein Dateiname angegeben wird. Alle Filter müssen einen gemeinsamen Befehlssatz unterstützen, wie zum Beispiel den Namen des Druckers, die Job ID, einen Benutzernamen, einen Job Titel, die Anzahl der gewünschten Kopien und weitere Druckoptionen. Alle Ausgaben werden auf die Standardausgabe geschickt. Filter sind für die verschiedensten Dateiformate verfügbar und können bei Bedarf verknüpft werden, um das gewünschte Ergebnis zu erzielen. Der PostScript Filter basiert auf Ghostscript 5.50. 9.1.7. Administration 9.1.7.1. Kommandozeile 9.1.7.1.1. Grundlagen Jeder unter CUPS benutzte Drucker wird über ein, der Hardware entsprechendes, Device angesprochen. Devices unter CUPS werden als URI („Uniform Resource Identifiers“), ähnlich wie URLs („Uniform Resource Locators“ die Sie aus Ihrem Webbrowser kennen, bezeichnet. Der erste parallele Port unter Linux würde der URI parallel:/dev/lp1 entsprechen. Eine komplette Liste aller auf Ihrem System gefundenen Devices kann mit dem Kommando lpinfo -v angezeigt werden. surimi:~# lpinfo -v file file network socket network http network ipp network lpd direct parallel:/dev/lp1 serial serial:/dev/ttyS1?baud=115200 serial serial:/dev/ttyS2?baud=115200 direct usb:/dev/usb/lp0 network smb Das erste Wort jeder Zeile beschreibt den Typ des Devices, danach folgt die URI oder eine andere Zugriffsmethode. Weiterhin gehört zu jedem unter CUPS eingerichteten Drucker eine sogenannte PPD-Datei („PostScript Printer Description“), welche die Eigenschaften des Druckers beschreibt. PPD-Dateien werden sowohl für PostScript als auch für Nicht-PostScript Drucker verwendet. 367 Kapitel 9. Drucken 9.1.7.1.2. Drucker hinzufügen Um einen Drucker hinzuzufügen kann das Kommando lpadmin -p benutzt werden. Die komplette Syntax zu diesem Kommando lautet: lpadmin -p printer -E -v device -m ppd. Um beispielsweise einen HP-Deskjet Drucker, der an der parallelen Schnittstelle angeschlossen ist, hinzuzufügen kann das Kommando lpadmin -p DeskJet -E -v parallel:/dev/lp1 -m deskjet.ppd benutzt werden. Hier gleich noch ein Beispiel für einen HP LaserJet Drucker der über einen Netzwerkanschluß (JetDirect) verfügt, und dem die IP-Adresse 11.22.33.44 zugewiesen wurde lpadmin -p LaserJet -E -v socket://11.22.33.44 -m laserjet.ppd Eine Übersicht über die verfügbaren PPD-Dateien und welche Drucker sich mit diesen ansteuern lassen findet sich unter file:///usr/share/doc/cupsys/online-docs/sam.html, wenn CUPS bereits auf Ihrem System installiert ist. Diese Liste enthält nur Druckertreiber die zum Standardumfang von CUPS gehören, wenn Sie weitere Treiber installiert haben, tauchen diese nicht in der Dokumentation auf. 9.1.7.1.3. Drucker verändern Zur Veränderung von Druckern von der Kommandozeile aus ist ebenfalls das Kommando lpadmin geignet. Die Syntax lautet: lpadmin -p printer options Als weitere Argumente können angegeben werden: • -c class Fügt den Drucker der genannten Gruppe hinzu. Wenn diese Gruppe nicht existiert wird sie erzeugt. • -i Interface Kopiert das benannte Interface Script zum Drucker. Interface Scripte werden ausschlieslich von System V Druckertreibern benutzt. Da hierbei alle anderen Filter deaktiviert werden, sollte dieses Verfahren nur benutzt werden wenn kein anderer Treiber zur Verfügung steht, • -m model Bezeichnet den Standard Druckertreiber, normalerweise eine PPD Datei. Eine Liste aller verfügbaren Modelle kann mit dem Kommando lpinfo -m angezeigt werden. Wenn das Paket cupsys-driver-gimpprint installiert wurde, steht eine deutlich größere Anzahl von Druckertreibern zur Verfügung. surimi:~# lpinfo -m bjc-30.ppd.gz CANON BJC 30, CUPS+GIMP-print v4.1.7 bjc-50.ppd.gz CANON BJC 50, CUPS+GIMP-print v4.1.7 bjc-55.ppd.gz CANON BJC 55, CUPS+GIMP-print v4.1.7 bjc-80.ppd.gz CANON BJC 80, CUPS+GIMP-print v4.1.7 bjc-85.ppd.gz CANON BJC 85, CUPS+GIMP-print v4.1.7 bjc-1000.ppd.gz CANON BJC 1000, CUPS+GIMP-print v4.1.7 bjc-2000.ppd.gz CANON BJC 2000, CUPS+GIMP-print v4.1.7 bjc-3000.ppd.gz CANON BJC 3000, CUPS+GIMP-print v4.1.7 bjc-4300.ppd.gz CANON BJC 4300, CUPS+GIMP-print v4.1.7 bjc-4400.ppd.gz CANON BJC 4400 photo, CUPS+GIMP-print v4.1.7 bjc-6000.ppd.gz CANON BJC 6000, CUPS+GIMP-print v4.1.7 bjc-6100.ppd.gz CANON BJC 6100, CUPS+GIMP-print v4.1.7 bjc-6200.ppd.gz CANON BJC 6200, CUPS+GIMP-print v4.1.7 bjc-6500.ppd.gz CANON BJC 6500, CUPS+GIMP-print v4.1.7 bjc-7000.ppd.gz CANON BJC 7000, CUPS+GIMP-print v4.1.7 bjc-7100.ppd.gz CANON BJC 7100, CUPS+GIMP-print v4.1.7 bjc-8200.ppd.gz CANON BJC 8200, CUPS+GIMP-print v4.1.7 bjc-s400.ppd.gz CANON S400, CUPS+GIMP-print v4.1.7 bjc-s450.ppd.gz CANON S450, CUPS+GIMP-print v4.1.7 bjc-s800.ppd.gz CANON S800, CUPS+GIMP-print v4.1.7 368 Kapitel 9. Drucken bjc-s4500.ppd.gz CANON S4500, CUPS+GIMP-print v4.1.7 compaq-ij750.ppd.gz COMPAQ IJ750, CUPS+GIMP-print v4.1.7 epson9.ppd EPSON 9-Pin Series CUPS v1.1 epson24.ppd EPSON 24-Pin Series CUPS v1.1 escp2-83.ppd.gz EPSON Stylus Color 83, CUPS+GIMP-print v4.1.7 escp2-400.ppd.gz EPSON Stylus Color 400, CUPS+GIMP-print v4.1.7 escp2-440.ppd.gz EPSON Stylus Color 440, CUPS+GIMP-print v4.1.7 escp2-460.ppd.gz EPSON Stylus Color 460, CUPS+GIMP-print v4.1.7 escp2-480.ppd.gz EPSON Stylus Color 480, CUPS+GIMP-print v4.1.7 escp2-500.ppd.gz EPSON Stylus Color 500, CUPS+GIMP-print v4.1.7 escp2-580.ppd.gz EPSON Stylus Color 580, CUPS+GIMP-print v4.1.7 escp2-600.ppd.gz EPSON Stylus Color 600, CUPS+GIMP-print v4.1.7 escp2-640.ppd.gz EPSON Stylus Color 640, CUPS+GIMP-print v4.1.7 escp2-660.ppd.gz EPSON Stylus Color 660, CUPS+GIMP-print v4.1.7 escp2-670.ppd.gz EPSON Stylus Color 670, CUPS+GIMP-print v4.1.7 escp2-680.ppd.gz EPSON Stylus Color 680, CUPS+GIMP-print v4.1.7 escp2-740.ppd.gz EPSON Stylus Color 740, CUPS+GIMP-print v4.1.7 escp2-760.ppd.gz EPSON Stylus Color 760, CUPS+GIMP-print v4.1.7 escp2-777.ppd.gz EPSON Stylus Color 777, CUPS+GIMP-print v4.1.7 escp2-800.ppd.gz EPSON Stylus Color 800, CUPS+GIMP-print v4.1.7 escp2-850.ppd.gz EPSON Stylus Color 850, CUPS+GIMP-print v4.1.7 escp2-860.ppd.gz EPSON Stylus Color 860, CUPS+GIMP-print v4.1.7 escp2-880.ppd.gz EPSON Stylus Color 880, CUPS+GIMP-print v4.1.7 escp2-900.ppd.gz EPSON Stylus Color 900, CUPS+GIMP-print v4.1.7 escp2-980.ppd.gz EPSON Stylus Color 980, CUPS+GIMP-print v4.1.7 escp2-1160.ppd.gz EPSON Stylus Color 1160, CUPS+GIMP-print v4.1.7 escp2-1500.ppd.gz EPSON Stylus Color 1500, CUPS+GIMP-print v4.1.7 escp2-1520.ppd.gz EPSON Stylus Color 1520, CUPS+GIMP-print v4.1.7 escp2-3000.ppd.gz EPSON Stylus Color 3000, CUPS+GIMP-print v4.1.7 escp2-pro-xl.ppd.gz EPSON Stylus Color Pro XL, CUPS+GIMP-print v4.1.7 escp2-pro.ppd.gz EPSON Stylus Color Pro, CUPS+GIMP-print v4.1.7 stcolor.ppd EPSON Stylus Color Series CUPS v1.1 escp2.ppd.gz EPSON Stylus Color, CUPS+GIMP-print v4.1.7 escp2-700.ppd.gz EPSON Stylus Photo 700, CUPS+GIMP-print v4.1.7 escp2-720.ppd.gz EPSON Stylus Photo 720, CUPS+GIMP-print v4.1.7 escp2-750.ppd.gz EPSON Stylus Photo 750, CUPS+GIMP-print v4.1.7 escp2-780.ppd.gz EPSON Stylus Photo 780, CUPS+GIMP-print v4.1.7 escp2-790.ppd.gz EPSON Stylus Photo 790, CUPS+GIMP-print v4.1.7 escp2-870.ppd.gz EPSON Stylus Photo 870, CUPS+GIMP-print v4.1.7 escp2-890.ppd.gz EPSON Stylus Photo 890, CUPS+GIMP-print v4.1.7 escp2-1200.ppd.gz EPSON Stylus Photo 1200, CUPS+GIMP-print v4.1.7 escp2-1270.ppd.gz EPSON Stylus Photo 1270, CUPS+GIMP-print v4.1.7 escp2-1280.ppd.gz EPSON Stylus Photo 1280, CUPS+GIMP-print v4.1.7 escp2-1290.ppd.gz EPSON Stylus Photo 1290, CUPS+GIMP-print v4.1.7 escp2-2000.ppd.gz EPSON Stylus Photo 2000P, CUPS+GIMP-print v4.1.7 escp2-ex.ppd.gz EPSON Stylus Photo EX, CUPS+GIMP-print v4.1.7 stphoto.ppd EPSON Stylus Photo Series CUPS v1.1 escp2-photo.ppd.gz EPSON Stylus Photo, CUPS+GIMP-print v4.1.7 pcl-340.ppd.gz HP DeskJet 340, CUPS+GIMP-print v4.1.7 pcl-400.ppd.gz HP DeskJet 400, CUPS+GIMP-print v4.1.7 pcl-500.ppd.gz HP DeskJet 500, CUPS+GIMP-print v4.1.7 pcl-501.ppd.gz HP DeskJet 500C, CUPS+GIMP-print v4.1.7 pcl-520.ppd.gz HP DeskJet 520, CUPS+GIMP-print v4.1.7 pcl-540.ppd.gz HP DeskJet 540C, CUPS+GIMP-print v4.1.7 pcl-550.ppd.gz HP DeskJet 550C, CUPS+GIMP-print v4.1.7 pcl-560.ppd.gz HP DeskJet 560C, CUPS+GIMP-print v4.1.7 pcl-601.ppd.gz HP DeskJet 600 series, CUPS+GIMP-print v4.1.7 pcl-600.ppd.gz HP DeskJet 600/600C, CUPS+GIMP-print v4.1.7 pcl-690.ppd.gz HP DeskJet 690 series, CUPS+GIMP-print v4.1.7 pcl-810.ppd.gz HP DeskJet 810C, CUPS+GIMP-print v4.1.7 pcl-812.ppd.gz HP DeskJet 812C, CUPS+GIMP-print v4.1.7 pcl-840.ppd.gz HP DeskJet 840C, CUPS+GIMP-print v4.1.7 pcl-842.ppd.gz HP DeskJet 842C, CUPS+GIMP-print v4.1.7 pcl-850.ppd.gz HP DeskJet 850C, CUPS+GIMP-print v4.1.7 369 Kapitel 9. Drucken pcl-855.ppd.gz HP DeskJet 855C, CUPS+GIMP-print v4.1.7 pcl-870.ppd.gz HP DeskJet 870C, CUPS+GIMP-print v4.1.7 pcl-890.ppd.gz HP DeskJet 890C, CUPS+GIMP-print v4.1.7 pcl-895.ppd.gz HP DeskJet 895C, CUPS+GIMP-print v4.1.7 pcl-900.ppd.gz HP DeskJet 900 series, CUPS+GIMP-print v4.1.7 pcl-1100.ppd.gz HP DeskJet 1100C, CUPS+GIMP-print v4.1.7 pcl-1120.ppd.gz HP DeskJet 1120C, CUPS+GIMP-print v4.1.7 pcl-1200.ppd.gz HP DeskJet 1200C, CUPS+GIMP-print v4.1.7 pcl-1220.ppd.gz HP DeskJet 1220C, CUPS+GIMP-print v4.1.7 pcl-1600.ppd.gz HP DeskJet 1600C, CUPS+GIMP-print v4.1.7 pcl-2000.ppd.gz HP DeskJet 2000 series, CUPS+GIMP-print v4.1.7 pcl-2500.ppd.gz HP DeskJet 2500 series, CUPS+GIMP-print v4.1.7 deskjet.ppd HP DeskJet Series CUPS v1.1 pcl-4.ppd.gz HP LaserJet 4 series, CUPS+GIMP-print v4.1.7 pcl-4l.ppd.gz HP LaserJet 4L, CUPS+GIMP-print v4.1.7 pcl-4v.ppd.gz HP LaserJet 4V, 4Si, CUPS+GIMP-print v4.1.7 pcl-5.ppd.gz HP LaserJet 5 series, CUPS+GIMP-print v4.1.7 pcl-5si.ppd.gz HP LaserJet 5Si, CUPS+GIMP-print v4.1.7 pcl-6.ppd.gz HP LaserJet 6 series, CUPS+GIMP-print v4.1.7 pcl-2.ppd.gz HP LaserJet II series, CUPS+GIMP-print v4.1.7 pcl-3.ppd.gz HP LaserJet III series, CUPS+GIMP-print v4.1.7 laserjet.ppd HP LaserJet Series CUPS v1.1 pcl-P1000.ppd.gz HP PhotoSmart P1000, CUPS+GIMP-print v4.1.7 pcl-P1100.ppd.gz HP PhotoSmart P1100, CUPS+GIMP-print v4.1.7 lexmark-3200.ppd.gz LEXMARK 3200, CUPS+GIMP-print v4.1.7 lexmark-4076.ppd.gz LEXMARK 4076, CUPS+GIMP-print v4.1.7 lexmark-z31.ppd.gz LEXMARK Z31, CUPS+GIMP-print v4.1.7 lexmark-z52.ppd.gz LEXMARK Z52, CUPS+GIMP-print v4.1.7 okidata9.ppd OKIDATA 9-Pin Series CUPS v1.1 okidat24.ppd OKIDATA 24-Pin Series CUPS v1.1 • -r class löscht einen Drucker aus der Gruppe. Wird der letzte Drucker einer Gruppe gelöscht, so wird auch die Gruppe gelöscht. • -v device-uri Setzt die Gerätedatei für die Kommunikation mit dem Drucker. Wenn für diesen Drucker bereits ein Druckjob anliegt, so wird dieser neugestartet und an das neue Device gesendet. • -D info Hier kann die Beschreibung für diesen Drucker angegeben werden. Beispielsweise „Drucker im Büro Mr. Torvalds“. • -E „Enable“ aktiviert den Drucker. Diese Option hat die gleichen Folgen wie die Kommandos enable(1) und accept(8). • -L location Beschreibt den Standort des Druckers. • -P ppd-file Name der zu verwendenden PPD Datei. 9.1.7.1.4. Drucker löschen Um einen Drucker zu löschen wird die Option -x benutzt. Um den Drucker „LaserJet“ zu löschen kann folgendes Kommando benutzt werden: lpadmin -x LaserJet 370 Kapitel 9. Drucken 9.1.7.1.5. Standarddrucker festlegen Der Standarddrucker wird mit der Option -d (default) gesetzt. lpadmin -d LaserJet 9.1.7.1.6. Starten und stoppen von Druckern Die Kommandos enable und disable starten und stoppen den angegebenen Drucker. enable LaserJet disable LaserJet Gestoppte Drucker akzeptieren weiterhin Druckaufträge, diese werden jedoch erst gedruckt nachdem der Drucker wieder aktiviert wurde. Dies gibt dem Administrator die Chance ein Druckerproblem zu lösen ohne das Druckaufträge verloren gehen. accept LaserJet reject LaserJet Mit diesen Kommandos werden alle aufgelaufenen Druckaufträge gedruckt und weitere Druckaufträge nicht angenommen. Wenn der Drucker längere Zeit nicht zur Verfügung steht kann dieser so deaktiviert werden. 9.1.7.2. Webbasiert Die Administration von CUPS kann auch komplett über ein Webinterface erfolgen. Hierzu wird ein Webbrowser benötigt, CUPS benutzt den Port 631 für das Konfigurationsinterface. Aus Sicherheitsgründen läßt sich das Webinterface zunächst nur von lokalen Rechner aus benutzen, unter der URL http://localhost:631 wird das Webinterface zur Verfügung gestellt. Abbildung 9-2. CUPS Administration - Webinterface 371 Kapitel 9. Drucken Alle Bereiche über die eine Veränderung der Konfiguration vorgenommen werden kann, sind nur mit einem Usernamen und dem passenden Passwort erreichbar. In jedem Fall kann die Administration als Superuser (root) erfolgen. Die grafische Administration gliedert sich in folgende Bereiche, die über die Startseite oder von jeder Seite aus über die Navigationsleiste am oberen Bildschirmrand, erreicht werden können: 9.1.7.2.1. Administration Administration bietet eine Übersicht über die Bereiche „Classes“, „Jobs“ und „Printers“. Abbildung 9-3. CUPS Administration - Übersicht 9.1.7.2.2. Gruppen Classes hier können Druckergruppen definiert werden. Wenn ein Druckauftrag an eine Gruppe gesendet wird, so wird der erste verfügbare Drucker dieser Gruppe den Auftrag bearbeiten. Dies ist in größeren Firmen 372 Kapitel 9. Drucken sinnvoll, so wird vermieden das auf eine Druckauftrag lange gewartet werden muß. Abbildung 9-4. CUPS Administration - Gruppen (Classes) 9.1.7.2.3. Dokumentation Help an dieser Stelle finden sich Links auf die englische Dokumentation. 373 Kapitel 9. Drucken 9.1.7.2.4. Druckaufträge Jobs hier können noch anstehende Druckaufträge verwaltet werden. Abbildung 9-5. CUPS Administration - Druckaufträge 9.1.7.2.5. Drucker Printers sicher der wichtigste Punkt, die Verwaltung der Drucker. Hier können Drucker hinzugefügt oder 374 Kapitel 9. Drucken verändert werden. Abbildung 9-6. CUPS Administration - Druckerverwaltung In diesem Beispiel wurde bereits ein Drucker eingerichtet. Normalerweise ist diese Seite nach der Installation von CUPS leer. Durch einen Klick auf „Add Printer“ kann ein neuer Drucker dem System hinzugefügt werden. Abbildung 9-7. CUPS Administration - Drucker hinzufügen - Name 375 Kapitel 9. Drucken Zunächst sind für den Drucker ein Name, der Standort und eine Beschreibung anzugeben. Abbildung 9-8. CUPS Administration - Drucker hinzufügen - Schnittstelle Wenn der Drucker lokal an der Parallelen Schnittstelle des Rechners angeschlossen ist, wählen Sie hier „Parallel Port #1“ aus. CUPS bietet aber noch weitere Möglichkeiten um Daten auf Druckern auszugeben die nicht lokal instaliert sind. • http druckt direkt zum CUPS Port eines CUPS Servers. • ipp druckt über das Internet Printing Protocol. • ipd druckt über eine Queue des Internet Printing Protocols. • smb druckt auf freigegebenen Druckern die an Windows-Systemen hängen. Hierzu muß zusätzlich das Paket samba installiert sein, da das Programm smbspool benötigt wird. 376 Kapitel 9. Drucken Abbildung 9-9. CUPS Administration - Drucker hinzufügen - Hersteller Hier ist der Hersteller des Druckers anzugeben. Abbildung 9-10. CUPS Administration - Drucker hinzufügen - Treiber 377 Kapitel 9. Drucken An dieser Stelle geschieht die genaue Auswahl des geeigneten Druckertreibers. Versuchen Sie möglichst genau den richtigen Treiber auszuwählen. Damit ist die Einrichtung eines Drucker grundsätzlich abgeschlossen. Es sollte trotzdem noch ein Blick auf die weiteren Parameter geworfen werden. Abbildung 9-11. CUPS Administration - Druckerparameter ändern Hier sollten zumindest die Werte für die Papiergröße und die Druckauflösung angepasst werden. Je nach verwendetem Drucker und Treiber stehen hier noch weitere Optionen zur Verfügung. Weiterhin kann für jeden Druckauftrag eine Start- oder Endeseite gedruckt werden. 9.1.7.2.6. Software Software verweist auf die Webseite http://www.cups.org. 9.1.7.3. CUPS Konfigurationsdatei Die Konfigurationsdateien für CUPS finden sich unter /etc/cups/. Normalerweise ist es nicht notwendig an diesen Dateien etwas zu verändern, dennoch hier ein Überblick über die möglichen Einträge in der Datei /etc/cups/cupsd.conf. Wenn Sie bereits mit der Konfiguration des Apache Webservers vertraut sind, werden Sie auch mit dieser Datei schnell zurechtkommen. 9.1.7.3.1. Server Identität • ServerName myhost.domain.com - Der Name des Servers, Voreinstellung ist der Hostname des Systems. • ServerAdmin root@your.domain.com - Die E-Mailadresse des Administrotors. Voreinstellung ist root@hostname. 378 Kapitel 9. Drucken 9.1.7.3.2. Server Optionen • AccessLog /var/log/cups/access_log - Pfad und Dateiname der Logdatei für die Zugriffe auf den Server. Wenn kein führendes / Zeichen angegeben ist wird die Datei relativ zum ServerRoot abgelegt. Wird hier syslog angegeben, so werden die Daten an den Syslog Daemon geschickt. • DataDir /usr/share/cups - Das Verzeichnis mit den Datendateien für CUPS. • DefaultCharset utf-8 - Benutzter Zeichensatz. • DefaultLanguage en - Benutzte Sprache. • DocumentRoot /usr/share/cups/doc - Das Verzeichnis für die HTML Dokumente. • ErrorLog /var/log/cups/error_log - Pfad und Dateiname der Logdatei für die Zugriffe auf den Server. Wenn kein führendes / Zeichen angegeben ist wird die Datei relativ zum ServerRoot abgelegt. Wird hier syslog angegeben, so werden die Daten an den Syslog Daemon geschickt. • FontPath /usr/share/cups/fonts - Das Verzeichnis für die Schriften. • LogLevel info - Kontrolliert wieviele Informationen in ErrorLog geschrieben werden. Folgende Werte sind erlaubt: debug2 Log everything. debug Log almost everything. info Log all requests and state changes. warn Log errors and warnings. error Log only errors. none Log nothing. • MaxLogSize 0 - Die Maximale Größe jeder Logdatei ab der die Datei umkopiert und gepackt wird. Voreinstellung ist 1048576 (1MB). Die Angabe 0 deaktiviert diese Funktion. • PageLog /var/log/cups/page_log - Pfad und Dateiname der PageLog Datei. Wenn kein führendes / Zeichen angegeben ist wird die Datei relativ zum ServerRoot abgelegt. Wird hier syslog angegeben, so werden die Daten an den Syslog Daemon geschickt. • PreserveJobHistory Yes - Bestimmt ob die Druckauftragsliste gespeichert werden soll. • PreserveJobFiles No - Bestimmt ob die Druckaufträge gespeichert werden sollen. • AutoPurgeJobs No - Entfernt automatisch Druckjobs die durch Quotas begrenzt werden. • MaxJobs 0 - Maximale Anzahl der Jobs (aktive und abgeschlossene) die im Speicher gehalten werden. 0 bedeutet kein Limit. • Printcap /etc/printcap - Pfad und Dateiname zur verwendeten Printcap. Keine Angabe unterdrückt die Erzeugung der Datei. • RequestRoot /var/spool/cups - In diesem Verzeichnis werden die Druckdateien gespeichert. • RemoteRoot remroot - Der Name des Benutzers der ohne Autorisierung Zugriff von einem anderen System erhalten kann. • ServerBin /usr/lib/cups - Das Verzeichnis für die benötigten Programme. • ServerRoot /etc/cups - Das Root-Verzeichnis für die Programme. 9.1.7.3.3. Verschlüsselung • ServerCertificate /etc/cups/ssl/server.crt - Datei mit dem Serverzertifikat. • ServerKey /etc/cups/ssl/server.key - Datei mit dem Serverkey. 379 Kapitel 9. Drucken 9.1.7.3.4. Filteroptionen • User lp und Group sys - Benutzer und Gruppe unter der der Server bei einem externen Kommando läuft. • RIPCache 8m - Speicher je RIP (Raster Image Prozessor) um Grafiken zu cachen. Der Wert kann jede ganze Zahl sein, gefolgt von „k“, „m“ oder „g“ für Kilo-, Mega-, oder Gigabyte. • TempDir /var/spool/cups/tmp - Das Verzeichnis für temporäre Dateien. Dieses Verzeichnis muß für den oben genannten Benutzer beschreibbar sein. • FilterLimit 0 - Maximale Anzahl von Filtern je Druckauftrag. Ein normaler Druckjob benötigt mindestens einen Wert von 200, der Wert 0 bedeutet kein Limit. 9.1.7.3.5. Netzwerkoptionen • Port 631 - Port auf dem der Daemon horcht. • Listen hostname - Adresse auf der der Daemon horcht. • HostNameLookups On - Aktivieren der Nameserverabfragen bei Zugriffen. • KeepAlive On - Aufrechterhalten der Verbindung. • KeepAliveTimeout 60 - Zeit nach der KeepAlive-Verbindungen beendet werden. • MaxClients 100 - Maximale Anzahl der gleichzeitigen Client Verbindungen. • MaxRequestSize 0 - Maximale Größe der HTTP Anfragen und der Druckdateien. 0 deaktiviert diese Funktion. • Timeout 300 - Zeit zur der eine Anfrage ungültig wird. 9.1.7.3.6. Browsing • Browsing On - Aktiviert die Netzwerkweiten Druckerinformationen. • BrowseAddress x.y.z.255 - Die Broadcast Adresse für das Browsing. • BrowseShortNames Yes - Benutzung von Kurznamen für die Drucker, beispielsweise „laserjet“ statt „laserjet@host.domain.de“. • BrowseAllow und BrowseDeny - Definieren die Ein- und Ausgangsmasken für auf den Server zugreifende Browser. Erlaubt sind folgende Notationen für die Adressen: All None

  • .domain.com

.domain.com host.domain.com nnn.* nnn.nnn.* nnn.nnn.nnn.* nnn.nnn.nnn.nnn nnn.nnn.nnn.nnn/mm nnn.nnn.nnn.nnn/mmm.mmm.mmm.mmm • BrowseInterval 30 - Zeit zwischen zwei Aktualisierungen. 380 Kapitel 9. Drucken • BrowseOrder allow,deny oder BrowseOrder deny,allow - Reihenfolge der erlaubten/verweigerten Zugriffe. Aktualisierungen. • BrowsePoll address:port - Server die nach Druckern befragt werden sollen. • BrowsePort 631 - Port auf dem die Abfrage erfolgen soll. • BrowseRelay source-address destination-address - Weiterleiten von Anfragen. • BrowseTimeout 300 - Wenn innerhalb der Angegebenen Zeit keine Antwort von einem Drucker kommt, so wird dieser aus der Liste entfernt. • ImplicitClasses On - Druckaufträge die an einen Drucker geschickt werden unter dessen Namen ebenfalls eine Druckergruppe vorhanden ist, werden an die Gruppe gesendet. 9.1.7.3.7. Sicherheits Optionen • SystemGroup lpadmin - Gruppenname für die Administrativen Aufgaben. • AuthType Basic - Die zu verwendende Authorisation, diese kann auf die Werte None - Perform no authentication Basic - Perform authentication using the HTTP Basic method. Digest - Perform authentication using the HTTP Digest method. eingestellt werden. • AuthClass System - Authorisationsgruppe, diese kann „Anonymous“, „User“ oder „System“ (für die Benutzer in der Gruppe „SystemGroup“) annehmen. • AuthGroupName System - Name der Gruppe für die zu Authentifizierende Gruppe. • AuthGroupName System - Name der Gruppe für die zu Authentifizierende Gruppe. 9.1.7.3.8. Verzeichnisse Die Zugriffe auf die verschiedenen, zur Administartion von CUPS benötigten Verzeichnisse, können (wiederrum ähnlich der Apache Konfiguration) beschränkt werden. Hierzu stehen folgende Direktiven zur Verfügung. • Allow und Deny - Mit diesen Direktiven können Zugriffe erlaubt oder verboten werden. Die Reihenfolge läßt sich durch die Direktive Order beeinflussen. Für beide Direktiven sind folgende Notationen erlaubt All None

  • .domain.com

.domain.com host.domain.com nnn.* nnn.nnn.* nnn.nnn.nnn.* nnn.nnn.nnn.nnn nnn.nnn.nnn.nnn/mm nnn.nnn.nnn.nnn/mmm.mmm.mmm.mmm Um die host und domain Notationen benutzen zu können, muß die Option HostNameLookups aktiviert sein. 381 Kapitel 9. Drucken • Encryption - hierfür sind folgende Werte möglich Always - Always use encryption (SSL) Never - Never use encryption Required - Use TLS encryption upgrade IfRequested - Use encryption if the server requests it • Location / - Für Location können die verschiedenen Verzeichnisse angegeben werden, zu jedem Eintrag können die oben beschriebenen Werte benutzt werden. Beispielsweise <Location /classes>

  1. You may wish to limit access to printers and classes, either with Allow
  2. and Deny lines, or by requiring a username and password.

Order Deny,Allow Deny From All Allow From 127.0.0.1 </Location> Beschränkt die Zugriffe auf das Verzeichnis /classes auf den lokalen Rechner. 9.2. apsfilter Installieren Sie zuerst das Paket apsfilter, zum Beispiel mittels dpkg: dpkg -i apsfilter_5.1.3-3.deb Selecting previously deselected package apsfilter. (Reading database ... 61629 files and directories currently installed.) Unpacking apsfilter (from .../text/apsfilter_5.1.3-3.deb) ... Setting up apsfilter (5.1.3-3) ... apsfilterconfig is an interactive script for configuring apsfilter. Do you wish to run apsfilterconfig now? [yes/no] yes apsfilter benötigt mindestens die Pakete lpr oder lprng sowie file und awk. Sinnvoll ist es, auch die Pakete gs, a2ps, dvips, transfig, netpbm und mailx zu installieren. Auch bei diesem Paket steht Ihnen ein Konfigurationsprogramm zur Verfügung. Sie können dieses auch später jederzeit als apsfilterconfig aufrufen. Hierzu benötigen Sie, ebenso wie für die Installation von Paketen unter Debian GNU/Linux, Superuserrechte, da es sich um eine Konfiguration handelt, die systemweit gilt. Da es aber angeboten wird, können Sie auch gleich das Konfigurationsprogramm starten, geben Sie hierzu yes ein und drücken Sie die Taste RETURN. _/_/ _/_/ _/ _/ _/ _/ _/ _/_/_/ _/_/_/ _/ _/ _/_/_/_/ _/_/ _/ _/_/ _/_/_/_/ _/ _/ _/_/ _/_/_/_/ _/ _/ _/ _/_/_/_/ _/_/ _/ _/ _/ _/ _/_/ _/ _/ _/ _/ _/ _/ _/ _/ _/_/_/ _/_/_/ _/ _/ _/ _/_/ _/_/_/ _/ _/ _/ Hi, welcome to the apsfilter SETUP and thanks for using apsfilter ! Before we begin with the SETUP, I’d like to make you familiar with the apsfilters licence: 1. apsfilter follows the GNU public license (GPL), see COPYRIGHT 382 Kapitel 9. Drucken 2. and this little "Postcard License": "I’d like to get a postcard from you ! I’m interested in, who is using apsfilter, where you live, and where in the world apsfilter is doing it’s job" Please send me an e-mail to request-snailmail@klemm.gtn.com to get my postal address, this is questioned later in SETUP.... ACCEPT LICENSE [Y|y|J|j|N|n] ? y Der Autor von apsfilter hat sein Programm unter die GPL gestellt und mit dem kleinen Zusatz versehen, ihm eine Postkarte zu schicken, wenn Ihnen das Programm gefällt und Sie es benutzen wollen. Wenn Sie dem Autor eine Postkarte schicken wollen, senden Sie ihm eine E-Mail unter der angegebenen Adresse. Akzeptieren Sie die Lizenz mit y. LICENSE accepted, thanks !!! _/ _/ _/ _/ _/_/ _/_/ _/_/ _/_/_/ _/ _/_/_/ _/ _/_/_/ _/ _/ _/ _/ _/ _/ _/ _/_/_/_/_/ _/ _/_/_/_/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/_/_/ _/ _/ _/_/_/ _/ _/_/_/ _/ _/ _/_/ Is Internet Mail up and running on *this* machine to request my postal address to follow the rules of the "Postcard License" ??? Request my snail mail address now [Y|y|N|n] ? n Wenn Sie auf Ihrem System bereits ein Programm zum Versenden von E-Mail eingerichtet haben (exim, smail oder sendmail), können Sie gleich an dieser Stelle die Anschrift des Autors anfordern. Wenn Sie sich nicht sicher sind, wählen Sie einfach n. Vergessen Sie aber nicht, dies später nachzuholen, wenn Sie apsfilter benutzen. Die Autoren von freier Software investieren einen Großteil ihrer Freizeit in die Entwicklung von Software. Wenn Sie die Lizenz eines solchen Programms akzeptieren, sollten Sie auch so nett sein und der Aufforderung des Autors nach einer Postkarte nachkommen. o.k. for now ... ... but please don’t forget to request it later ... Please *don’t* forget it !!! _/ _/ _/ _/ _/ _/ _/ _/_/_/ _/_/_/_/ _/_/_/ _/ _/_/_/_/ _/_/_/ _/_/_/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/_/ _/ _/_/_/ _/ _/ _/_/_/_/ _/ _/ _/ _/_/_/ _/ _/_/ cleaning global config file... looking for available filter programs on this system... found filter a2ps found filter bmptoppm missing filter djpeg found filter dvips found filter fig2dev found filter fig2dev 383 Kapitel 9. Drucken found filter fig2dev missing filter g3cat found filter g3topbm found filter giftopnm found filter groff found filter grog found filter gs missing filter html2ps missing filter pnmtolps found filter ppmtopgm found filter pnmtops missing filter ras2ps found filter rasttopnm missing filter recode found filter tifftopnm missing filter bunzip found filter bunzip2 missing filter compress found filter gzip missing filter melt missing filter pack apsfilterconfig sucht auf Ihrem System nach Programmen die in den Filtern eingesetzt werden können, beispielsweise um Grafiken zu konvertieren. Je nachdem welche Pakete Sie bereits installiert haben, werden mehr oder weniger Filter gefunden. Mit Hilfe dieser Programme können über die Filter die verschiedensten Dateiformate direkt ausgedruckt werden.

====================================================

A P S F I L T E R V 513 *** The Unix Print Solution ***

====================================================

copyright Andreas Klemm 1993, 1994, 1995, 1996, 1997, 1998, 1999 andreas@klemm.gtn.com http://www.FreeBSD.org/~andreas/apsfilter


for Unix systems with BSD compatible line printer scheduler (lpd) or with LPRng (new!) FreeBSD / NetBSD / OpenBSD / BSDI Linux and other flavours of Unix


++++ INSTALLATION PROGRAM ++++ [ press <RETURN> to continue ] Als nächstes sehen Sie eine Seite mit allgemeinen Informationen zu apsfilter. Die Versionsnummer (in der ersten Zeile) sollten Sie bei Rückfragen an den Autor immer mit angeben, in diesem Beispiel verwenden wir die Version "513". Danach sehen Sie die Copyright-Information sowie noch einmal die E-Mail Adresse des Autors und die URL der apsfilter- Homepage sowie eine Kurzbeschreibung von apsfilter. Drücken Sie die Taste RETURN, wenn Sie alle Informationen gelesen haben.

====================================================

A P S F I L T E R S E T U P -- PROGRAM INFO --

====================================================

This SETUP script supports the user/administrator by - configuring serial and parallel printers - creating printer spool directories as needed - auto-creation of /etc/printcap config-file 384 Kapitel 9. Drucken for apsfilter (add / overwrite printer) - setting up apsfilter (which gs driver to use, paper size, print resolution and color depth) - printing a test page (settings may be modified until successfull ouput of a testpage) - saves some SETUP settings in /etc/apsfilterrc it does not: - complete printer management in /etc/printcap (delete/modify printer)


[ press <RETURN> to continue ] Es folgt eine detailliertere Beschreibung, welche Schritte durch das Konfigurationsprogramm durchgeführt werden.

======================================================

A P S F I L T E R S E T U P -- MAIN MENUE --

======================================================

currently selected


(D) Available Device Drivers in your gs binary (gs -h) (R) Ghostscript 5.50 docu about printer drivers (devices.txt) (1) Printer Driver Selection [ ] (2) Interface Setup [] For printing the test page: (3) Print Resolution in "dots per inch" [] (4) Toggle Monochrom/Color (1bpp=bw) [] (5) Paper Format [a4] (T) Print Test Page (after step 1-5) (V) View perf.log (times of print attempts) (C) ==> Continue printer setup with values shown above (Q) Quit Setup Your choice ? 1 Sie gelangen nun zum eigentlichen Hauptmenü für die Konfiguration von apsfilter. Sie können die einzelnen Punkte mit den Buchstaben beziehungsweise den Zahlen, die den Punkten vorangestellt sind, auswählen (beispielsweise „D“ oder „4“ usw.). Die beiden ersten Punkte sind für Debian GNU/Linux bereits korrekt voreingestellt. Wählen Sie also zuerst den Menüpunkt 1 - „Printer Driver Selection“ aus.


A P S F I L T E R S E T U P -- Printer Driver Selection --


Please select a category that contains your printer driver 1 - for Apple and Apple compatible printer 2 - for Canon and Canon compatible printer 3 - for Epson and ESC/2 compatible printer 4 - for HP Deskjets and DeskJet compatible printer 5 - for HP LaserJets and LaserJet compatible printer 6 - for HP Paint-/DesignJets and compatible printer 7 - for DEC, IBM, NEC, Okidata and compatible printer 8 - for other non PS printer, includes new gs 5.5 uniprint driver 9 - for a _true_ Postscript printer" 385 Kapitel 9. Drucken Hint: feel free to browse through all categories, by simply not selecting any driver (i.e.: by hitting only the <RETURN> key). Your choice ? 5 Zuerst müssen Sie eine passende Gruppe auswählen, zu der Ihr Drucker am besten paßt. Da die Hersteller von Druckern in der Regel keine Linux-Treiber zu ihren Druckern mitliefern, werden Sie für die neuesten am Markt erhältlichen Modelle keinen optimalen Treiber finden. Probieren Sie einfach einen ähnlichen Drucker aus, in der Regel wird dies funktionieren. Für unser Beispiel wählen wir einen „HP LaserJet“, also einen Laserdrucker aus.


List of ghostscript5.03 HP LaserJet printer driver


(1) laserjet - HP LaserJet (2) ljet2p - HP LaserJet IId/IIp/III with TIFF compression (3) ljet3 - HP LaserJet III with Delta Row compression (4) ljet3d - HP LaserJet IIID with duplex capability (5) ljet4 - HP LaserJet 4 (defaults to 600dpi) (6) lj4dith - HP LaserJet 4 with Floyd-Steinberg dithering (7) ljetplus - HP LaserJet Plus (8) lj5mono - HP LaserJet 5 and 6 family (PCL5 / PCL XL), bitmap (9) lj5gray - HP LaserJet 5 and 6 family, gray-scale bitmap


Please enter the printer driver of your choice or type <RETURN> to choose another category/driver: Your choice ? 5 Anschließend können Sie aus einer Liste von verschiedenen Modellen wählen. Auch hier gilt wieder: wenn Sie nicht genau Ihren Druckertyp finden, wählen Sie einen Typ, der Ihrem Drucker weitestgehend entspricht. Glücklicherweise finden wir in unserem Beispiel aber genau das gewünschte Modell, einen LaserJet 4, in der Liste. Wählen Sie den gewünschten Typ durch Eingabe der entsprechenden Zahl, die vor dem Typ steht, hier also die 5. Please confirm selection [ ljet4 ] OK y/n ? y Der gewählte Typ wird nochmal vom Installationsprogramm ausgegeben, und Sie werden nochmal aufgefordert, dies mit y zu bestätigen, wenn Sie mit der Auswahl einverstanden sind.

======================================================

A P S F I L T E R S E T U P -- MAIN MENUE --

======================================================

currently selected


(D) Available Device Drivers in your gs binary (gs -h) (R) Ghostscript 5.50 docu about printer drivers (devices.txt) (1) Printer Driver Selection [ljet4 ] (2) Interface Setup [] For printing the test page: (3) Print Resolution in "dots per inch" [default] (4) Toggle Monochrom/Color (1bpp=bw) [default] (5) Paper Format [a4] (T) Print Test Page (after step 1-5) (V) View perf.log (times of print attempts) (C) ==> Continue printer setup with values shown above (Q) Quit Setup Your choice ? 2 386 Kapitel 9. Drucken Nachdem Sie nun den Typ des Druckers eingestellt haben, müssen Sie noch die Schnittstelle festlegen. In der Urzeit der Computertechnik war es durchaus üblich, Drucker über die serielle Schnittstelle anzuschließen. Diese Modelle trifft man auch heute noch vereinzelt an, meist als Nadeldrucker. Normalerweise wird aber ein Drucker meist an den parallelen Port eines Rechners angeschlossen. Wählen Sie also erst einmal die 2.


A P S F I L T E R S E T U P -- Interface Setup --


The easiest way, to connect a printer to your computer is by using the parallel interface, because it’s usually *faster*, more standardized and therefore much easier to configure. When configuring a serial printer, the installation dialogue asks you many questions about how to configure the serial interface of your computer, so that it works well with your printers current settings. When using the serial interface, then you have to choose special cables, depending on the communication protocol between computer and printer (hardware/software handshaking). Many pitfalls here ! currently selected: Interface: [] Device: [] 1) configure a parallel printer (best choice !) 2) configure a serial printer (more work, but possible) Your choice ? 1 Hier können Sie also zwischen einem Drucker an der parallelen oder der seriellen Schnittstelle wählen. Geben Sie eine 1 für den parallelen Port ein.


A P S F I L T E R Parallel Interface Settings -- Device --


Depending on your flavour of Unix, you have to enter the

  • full path* to your parallel Interface. In case of trouble please

contact your local system administrator or read your operating systems technical documentation, FreeBSD handbook or Linux HowTo. Some examples: FreeBSD, NetBSD, OpenBSD: LPT1: /dev/lpt0 LPT2: /dev/lpt1 Linux: LPT1: /dev/lp0 LPT2: /dev/lp1 SunOS4: /dev/bpp0 /dev/bpp1 currently selected: Interface: [parallel] Device: [] Full path of parallel print device: /dev/lp0 Wählen Sie nun aus der angezeigten Tabelle den Anschluß aus, an dem Ihr Drucker angeschlossen ist. Der Linux Kernel verwaltet die parallelen Schnittstellen als /dev/lp0 für die erste sowie /dev/lp1 für die zweite parallele Schnittstelle. Normalerweise verfügt ein Rechner nur über eine parallele Schnittstelle, diese wird unter DOS als LPT1: bezeichnet, dies entspricht /dev/lp0 unter Linux. In 99% aller Fälle wird also /dev/lp0 die richtige Eingabe an dieser Stelle sein.

======================================================

A P S F I L T E R S E T U P -- MAIN MENUE --

======================================================

currently selected 387 Kapitel 9. Drucken


(D) Available Device Drivers in your gs binary (gs -h) (R) Ghostscript 5.50 docu about printer drivers (devices.txt) (1) Printer Driver Selection [ljet4 ] (2) Interface Setup [parallel] For printing the test page: (3) Print Resolution in "dots per inch" [default] (4) Toggle Monochrom/Color (1bpp=bw) [default] (5) Paper Format [a4] (T) Print Test Page (after step 1-5) (V) View perf.log (times of print attempts) (C) ==> Continue printer setup with values shown above (Q) Quit Setup Your choice ? c Die Punkte 3, 4 und 5 können Sie erst einmal so belassen, fahren Sie jetzt mit c - Continue printer setup... fort.

====================================================

A P S F I L T E R I N S T A L L A T I O N

====================================================

apsfilter installation.... saving original printcap -> /etc/printcap.orig creating a working copy of printcap -> /etc/printcap.old Is your printer a (c)olor printer or a (m)ono printer ? ? m An dieser Stelle erstellt das Konfigurationsprogramm eine Kopie der Datei /etc/printcap als /etc/printcap.org. In dieser Datei befinden sich alle nötigen Informationen zu Ihrem Drucker sowie anderen Druckern, die eventuell übers Netz zu erreichen sind. Wählen Sie nun noch zwischen einem Farb- oder Schwarz-Weiß-Drucker aus. Laserdrucker mit Farbfähigkeiten sind momentan noch nicht in Preisregionen angelangt, die man sich zu Hause auf den Schreibtisch stellt, so daß in unserem Beispiel ein m für „monochrome“ die richtige Wahl ist. Benutzer eines farbfähigen Druckers wählen hier c. Starting with lpN where N is 1 making apsfilter label in /etc/printcap...

    • creating printcap entries in /etc/printcap...

--> ascii|lp1|ljet4-a4-ascii-mono|ljet4 ascii mono:\ setting up spooldir for /var/spool/lpd/ljet4-a4-ascii-mono done. --> lp|lp2|ljet4-a4-auto-mono|ljet4 auto mono:\ setting up spooldir for /var/spool/lpd/ljet4-a4-auto-mono done. --> raw|lp3|ljet4-a4-raw|ljet4 auto raw setting up spooldir for /var/spool/lpd/ljet4-raw done. cannot find the directory for printerfilter (symlinks) creating /var/lib/apsfilter/filter... Finished creating/updating /etc/printcap... Now some important news/informations follow... Please read them carefully ! [ press <RETURN> to continue ] 388 Kapitel 9. Drucken Das Konfigurationsprogramm hat nun die Datei /etc/printcap neu erstellt. Es wurden verschiedene Einträge vorgenommen, die Sie später direkt mit dem Kommando lpr anwählen können, beispielsweise mit: lpr -p ascii dateiname. Im folgenden finden Sie noch einige Informationen zu apsfilter. _/ _/ _/_/ _/ _/_/ _/ _/ _/ _/_/_/ _/ _/ _/ _/_/_/_/ _/ _/ _/ _/_/ _/ _/_/ _/ _/ _/ _/ _/ _/_/ _/ _/ _/_/_/ _/ _/ _/_/_/ See the ANNOUNCE and ChangeLog files for more informations about changes in apsfilter. Some more of them I will tell you during this SETUP script ... Now it’s possible to setup apsfilter, that you can use different print resolutions, i.e.: lpr -Plow test.ps (to print with 180dpi) lpr -Pmed test.ps (to print with 360dpi) lpr -Phigh test.ps (to print with 720dpi) See the file INSTALL for more infos on this. The INSTALL file contains a working example ! [ press <RETURN> to continue ] _/ _/ _/_/ _/ _/_/ _/ _/ _/ _/_/_/ _/ _/ _/ _/_/_/_/ _/ _/ _/ _/_/ _/ _/_/ _/ _/ _/ _/ _/ _/_/ _/ _/ _/_/_/ _/ _/ _/_/_/ For printing ASCII files apsfilter now uses a2ps V. 4.12 or higher. Old patched a2ps and rewindstdin have gone ! As an alternative to a2ps you can use recode by setting the new environment variable USE_RECODE_NOT_A2PS in one of the apsfilterrc files. [ press <RETURN> to continue ] _/ _/ _/_/ _/ _/_/ _/ _/ _/ _/_/_/ _/ _/ _/ _/_/_/_/ _/ _/ _/ _/_/ _/ _/_/ _/ _/ _/ _/ _/ _/_/ _/ _/ _/_/_/ _/ _/ _/_/_/ Note: apsfilter is now customizeable, by different apsfilterrc files ! A) system wide configuration file for every printer driver type: /etc/apsfilterrc B) system wide configuration file for special printer driver type: /etc/apsfilterrc.<GS_DRIVERNAME> If defining INSECURE in /etc/apsfilterrc it’s possible to allow user to overwrite the settings (A+B): C) user defined settings for every printer driver type: $HOME/.apsfilterrc D) user defined settings for special printer driver type: 389 Kapitel 9. Drucken $HOME/.apsfilterrc.<GS_DRIVERNAME> The config files are read in that order (if present), so option D can overwrite settings done in A + B + C [ press <RETURN> to continue ] _/ _/ _/_/ _/_/ _/_/_/ _/_/ _/_/ _/_/_/_/ _/_/ _/_/ _/_/_/_/ _/ _/ _/ _/ _/ _/ _/_/_/_/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/_/_/ _/ _/ _/ _/_/ _/_/ _/_/_/ _/ _/ _/ Here an IMPORTANT LAST NOTE about REMOTE PRINTING, a thing that caused trouble for several people, that aren’t familiar with lpd, input filters and remote printing. Apsfilter is designed as a "lpd-input filter". This means - and this is really bad news - that apsfilter (as input filter) works only, if the printer, you want to print on, is locally on that machine, where you installed apsfilter ! FreeBSD is the only operating system known to me, that patched the stock Berkeley lineprinter daemon, to allow input filters to work with remote printers !!! [ press <RETURN> to continue ] _/_/_/ _/ _/ _/ _/_/ _/_/_/ _/_/_/ _/_/_/ _/ _/ _/_/_/_/ _/_/ _/ _/ _/ _/ _/ _/ _/ _/ _/_/ _/ _/ _/ _/ _/ _/_/_/ _/_/_/ _/_/_/ _/ _/_/_/ _/ _/ _/ _/ _/ _/ _/_/ Apsfilter should be installed on a Server or Desktop machine, where the printer(s) is(are) connected to. User on other machines (Unix or Windows) in the network are then able to print onto "apsfilter print server"’s printer. Windows 95 needs samba on the apsfilter print server. Windows NT machines are able to print with Berkeley LPD protocol, if you installed the necessary service for this. This is usually done during NT installation, but can be done later as well. [ press <RETURN> to continue ] _/_/_/ _/ _/ _/ _/_/ _/_/_/ _/_/_/ _/_/_/ _/ _/ _/_/_/_/ _/_/ _/ _/ _/ _/ _/ _/ _/ _/ _/_/ _/ _/ _/ _/ _/ _/_/_/ _/_/_/ _/_/_/ _/ _/_/_/ _/ _/ _/ _/ _/ _/ _/_/ FreeBSD’s line printer scheduler allows you to use network (remote) 390 Kapitel 9. Drucken printer !!! If you have a FreeBSD system 2.2.x (or higher), it’s possible to install apsfilter on a machine without printers and to print onto remote (network) printers. FreeBSD doesn’t have the typical limitation, that line printer input filters (like apsfilter) doesn’t work with remote printers. Other systems need the hack in apsfilter, that print output is send to a printer called "remote", which has to be installed by you manually in /etc/printcap. See my comments in the apsfilter shellscript. [ press <RETURN> to continue ] _/_/_/ _/ _/ _/ _/_/ _/_/ _/_/_/ _/_/ _/_/ _/_/_/ _/_/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/_/ _/ _/ _/ _/_/ _/ _/ _/ I’d really like to get some mails from you, - why you like apsfilter - how apsfilter saved your or your companies printing problems Please send apsfilter promotion e-mails to the following e-mail address: apsfilter-promo@klemm.gtn.com BTW: I plan to include this promo stuff to the apsfilter homepage. In return you get the possibility to introduce you and your company and how apsfilter solved your or your companies printing problems ;-) [ press <RETURN> to continue ] _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ How to get current infos about apsfilter (news, updates, patches, ...) Apsfilter’s homepage: http://www.FreeBSD.org/~andreas You also find a picture of me and can read about who I am, what I do for free Unix systems, especially FreeBSD and what my current activities are. There are also other interesting resources, please visit my Unix Promo corner, Unix vs. NT, which contains many interesting links concerning that ;-) [ press <RETURN> to continue ] _/_/_/ _/ _/ _/_/_/ _/ _/ 391 Kapitel 9. Drucken _/ _/ _/ _/ _/ _/_/_/_/ _/_/_/ _/_/_/ _/_/_/_/ _/_/_/ _/ _/ _/_/ _/ _/ _/ _/ _/ _/ _/ _/_/ _/_/ _/ _/_/_/ _/ _/_/ _/_/_/ Our band "64Bits": Please visit our band’s homepage, from there you get band informations and you can download cool songs. Currently there is a Rock ballade available for download as MPEG 3 file, please see: http://www.FreeBSD.org/~andreas/64bits/ Please send us e-mail, how you find the song, etc. Since we only have few time to probe because of job (you know ;-) we currently are unable to make live concerts. So YOU are our virtual audience and we’d LOVE to get some feedback ;-) Thanks ! [ press <RETURN> to continue ] One last check for filter programs.... cleaning global config file... looking for available filter programs on this system... found filter a2ps found filter bmptoppm missing filter djpeg found filter dvips found filter fig2dev found filter fig2dev found filter fig2dev missing filter g3cat found filter g3topbm found filter giftopnm found filter groff found filter grog found filter gs missing filter html2ps missing filter pnmtolps found filter ppmtopgm found filter pnmtops missing filter ras2ps found filter rasttopnm missing filter recode found filter tifftopnm missing filter bunzip found filter bunzip2 missing filter compress found filter gzip missing filter melt missing filter pack [ press <RETURN> to continue ] _/_/_/ _/ _/ _/ _/_/ _/_/_/ _/_/ _/ _/ _/ _/ _/ _/ _/ _/_/_/_/ _/ _/ _/ _/ _/ _/ _/ _/ _/_/_/ _/_/ _/ _/ _/_/_/ _/ That’s it... 392 Kapitel 9. Drucken ...have fun !!! Andreas /// Zum Abschluß wurden nochmals die Filter überprüft und die Konfiguration ist damit abgeschlossen. Sie können nun aus Anwendungen heraus, wie zum Beispiel Netscape, oder direkt von der Kommandozeile (mit lpr dateiname) drucken. 9.2.1. Einstellen der Papiergröße Die Einstellung der Papiergröße auf einem Debian GNU/Linux-System wird während der Installation von Ghostscript abgefragt. Der Wert wird in der Datei /etc/papersize gespeichert und kann dort auch jederzeit geändert werden. Normalerweise werden Sie dort den Wert A4 vorfinden, weitere sinnvolle Werte wären zum Beispiel auch A3 oder letter. Die meisten Programme benutzen diesen Wert, um die korrekte Papiergröße einzustellen. Wenn Sie CUPS als Drucksystem benutzen, kann die Papiergröße dort eingestellt werden. 9.3. Drucken von True Type Fonts Der Ausdruck von Dateien erfolgt unter Debian GNU/Linux immer über das Programm ghostscript. ghostscript ist unter Debian GNU/Linux in zwei Versionen verfügbar, eine Version im Bereich main, die andere im Bereich non-free. Beide Versionen unterstützen auch True Type Fonts. Sie sollten auf alle Fälle schon einen Font-Server für X11 mit Unterstützung für True-Type-Schriften installiert haben, wenn Sie diese auch drucken möchten. Erzeugen Sie zuerst eine Liste aller verfügbaren True-Type-Schriften und fügen Sie diese an die Liste der ghostscript-Schriften mit dem Kommando: xfstt --gslist --sync >> /etc/gs.Fontmap an. Verändern Sie nun die Datei /etc/gs.Fontmap sinngemäß wie in folgendem Beispiel. Aus: (Arial) (/usr/share/fonts/truetype/arial.ttf) ; (Arial Bold Italic) (/usr/share/fonts/truetype/arialbi.ttf) ; wird: /MS-Arial (/usr/share/fonts/truetype/arial.ttf) ; /MS-Arial-Bold-Italic (/usr/share/fonts/truetype/arialbi.ttf) ; (Arial Bold Italic) /MS-Arial-Bold-Italic ; /Arial /MS-Arial ; Diese Veränderung stellt sicher, daß alle True-Type-Schriften unter einem eindeutigen Namen verfügbar sind. Weiterhin wird ghostscript so dazu veranlaßt, die True-Type-Schriften anstatt der Standard Schriften zu verwenden. Um zu erreichen, daß ghostscript den Font „Helvetica“ durch den True Type Font „Arial“ ersetzt, können Sie folgenden Eintrag vornehmen: /Helvetica /MS-Arial ; /Helvetica-Oblique /MS-Arial-Italic ; /Helvetica-Bold /MS-Arial-Bold ; /Helvetica-BoldOblique /MS-Arial-Bold-Italic ; Um zu überprüfen, daß Schriften auch von ghostscript gedruckt werden, erstellen Sie folgendes kleines Script und speichern es als Datei printfont:

  1. !/bin/sh

set -e IFS= ’)’ 393 Kapitel 9. Drucken while read fontname rest do cat << EOM | lpr %!PS (/usr/lib/ghostscript/5.50/prfont.ps) run $fontname) DoFont EOM done Dieses Script erzeugt eine Liste aller Fonts, die ghostscript bekannt sind, und druckt diese aus. Wenn Sie nur einige wenige oder einen bestimmten Font drucken wollen, können Sie auch dieses Script benutzen:

  1. !/bin/sh

set -e while read -p "Font name, or ^D to exit: " fontname do cat << EOM | lpr %!PS (/usr/lib/ghostscript/5.50/prfont.ps) run $fontname DoFont EOM done Rufen Sie nun eines der beiden Scripte wie folgt auf: xfstt --gslist --sync | printfont. 9.4. Netzwerkdrucker Wenn Sie über zwei Rechner oder sogar über ein kleines Netz verfügen, so haben Sie sicher nicht an jedem Rechner einen eigenen Drucker angeschlossen. Debian GNU/Linux bietet Ihnen die Möglichkeit, auch über das Netzwerk zu drucken. Voraussetzung ist dazu natürlich ein Drucker mit einer funktionierenden Konfiguration (lesen Sie dazu den Abschnitt über apsfilter) sowie ein funktionsfähiges Netzwerk mit mindestens zwei Rechnern. Im folgenden werden wir beschreiben, wie Sie einen an einem Debian GNU/Linux-Rechner angeschlossenen Drucker von verschiedenen Betriebssystemen aus benutzen können. Lesen Sie hierzu auch die Abschnitte über Samba und netatalk. 9.4.1. Linux – Linux Wenn Sie von einem Debian GNU/Linux-Rechner auf einen an einem anderen Debian GNU/Linux-Rechner angeschlossenen Drucker drucken wollen, ist dies recht einfach einzurichten. Zunächst müssen Sie auf dem Rechner, an dem der Drucker angeschlossen ist, diesen für die anderen Rechner freigeben. Dies geschieht durch folgenden Eintrag in der Datei /etc/hosts.equiv: hoshi.openoffice.de sushi.openoffice.de 192.168.22.33 Dies gibt den Zugriff auf den lokalen Drucker von den Rechnern „hoshi“, „sushi“ und einem Namenlosen Rechner mit der IP-Nummer 192.168.22.33 im internen Netz, frei. Sie müssen nun noch auf den anderen Rechnern die Datei /etc/printcap um einen Eintrag für den Remote-Drucker erweitern: lp|Remote printer entry:\

lp=:\
rm=linux.openoffice.de:\
rp=lp:\
sd=/var/spool/lpd/remote:\
mx#0:\
sh:

394 Kapitel 9. Drucken Ändern Sie bitte die Rechner- und Domainnamen entsprechend Ihrer Verhältnisse und starten Sie den Druckerdämon mit /etc/init.d/lpd restart neu. 395 Kapitel 10. Grafik 10.1. The Gimp The Gimp ist die Kurzform für „The GNU Image Manipulation Programm“. The Gimp stellt ein umfangreiches Programm zur Bildbearbeitung dar. Folgende Debian GNU/Linux-Pakete stehen derzeit zur Auswahl: gimp1.1, gimp1.1-nonfree, gimp-data-extras. Sinnvoll sind weitere Ergänzungen wie gimp-manual (ein sehr umfangreiches, englischsprachiges Handbuch zu Gimp), xpcd-gimp (eine Erweiterung für Photo-CDs) und xsane-gimp1.1 (eine Schnittstelle zu vielen Scannern und Kameras). Weiterhin ist auch die ältere, aber stabile Version 1.0 von Gimp in Debian GNU/Linux 2.2 enthalten. Wir werden hier aber auf die neuere Version 1.1 eingehen. Weiterhin ist es sicher kein Fehler, einige weitere Schriften (fonts) zu installieren. Empfehlenswert sind hier die Pakete freefont und sharefont sowie das Paket gsfonts-x11, welches Schriften aus Ghostscript unter X11 verfügbar macht. Weitere Schriften finden sich oft auf CDs zu Computerzeitschriften oder im Netz. Diese liegen meist nicht im von X11 verwendeten Postscript-Format vor, sondern als sogenannte True-Type Fonts. Sie können über einen True-Type Fontserver verfügbar gemacht werden. Doch zurück zu The Gimp. The Gimp wurde zunächst auf Basis von Motif, einem kommerziellem Toolkit, entwickelt. Die Entwickler wollten das Programm jedoch einer breiten Masse verfügbar machen und so wurden schon früh Anpassungen an den freien Motif-Klone Lesstif gemacht. Doch dieses Paket konnte die Anforderungen der Entwickler nicht befriedigen, so daß Sie sich selbst an die Arbeit machten und ein eigenes Toolkit, GTK (Gimp Toolkit) entwickelten. Schon bald wurde GTK ausgegliedert und als eigenes Projekt weitergeführt. GTK ist mittlerweile die Basis von vielen freien Softwareprojekten, das bekannteste dürfte (neben The Gimp selber) das GNOME-Projekt sein. Ein doppelter Erfolg für die Entwickler von The Gimp also. Die Oberfläche von The Gimp teilt sich in ein Hauptfenster mit der Menüleiste und den Schaltflächen für die verschiedenen Werkzeuge sowie jeweils einem Fenster für jede neue oder geladene Grafik. Abbildung 10-1. The Gimp Menü 396 Kapitel 10. Grafik Wundern Sie sich nicht, daß in den Menüs des Hauptfensters keine Einträge zum Speichern von Grafiken vorhanden sind... Zu jeder geladenen Grafik sind im jeweiligen Fenster eigene Menüs vorhanden, welche über die rechte Maustaste erreicht werden können. Aktionen, die sich auf die Grafik selber beziehen, können hierüber ausgeführt werden. Allgemeingültige Aktionen (Einstellungen, Drucken, Scannen....) sind über das Menü im Hauptfenster zu erreichen. 10.1.1. Kommandozeile Da Gimp auf Unix-Systemen entwickelt wurde, läßt sich Gimp nicht nur von der Kommandozeile starten, sondern es lassen sich auch über diverse Parameter auf der Kommandozeile Funktionen aufrufen oder das Aussehen und Verhalten von Gimp beeinflussen. Sie können Gimp aber auch einfach nur von der Kommandozeile aus starten, indem Sie gimp eingeben. Wie auch bei allen anderen Programmen üblich, läßt sich Gimp mit der Option -h oder --help dazu bringen, die verfügbaren Kommandozeilenparameter anzuzeigen. bash-2.03$ gimp -h Benutzung: gimp [Option ...] [Datei ...] Gültige Möglichkeiten sind: -h --help Gibt diese Hilfe aus. -v --version Gibt Versionsinformationen aus. -b --batch <Befehle> Startet im Stapelmodus. -g --gimprc <gimprc> Benutzt ein alternatives Profil. -n --no-interface Startet ohne Oberfläche. -r --restore-session Versucht eine abgelegte Sitzung wiederherzustellen. --no-data Lädt keine Muster, Farbverläufe, Farbpaletten und Pinsel. --verbose Zeigt Startmeldungen. --no-splash Verbirgt Startfenster. --no-splash-image Lädt kein Bild ins Startfenster. --no-shm Keiner geteilter Speicher zwischen GIMP und Plug-ins. --no-xshm Benutzt die Xshm Erweiterung nicht. --console-messages Warnungen in einer Konsole statt in einem Dialog. --debug-handlers Aktiviert Fehlersuchroutinen. --display <Anzeige> Benutzt die angegebene X Anzeige. --system-gimprc <gimprc> Benutzt alternatives Systemprofil. 10.1.1.1. Version (-v) Wenn Sie die bei Ihnen installierte Gimp-Version herausbekommen möchten, benutzen Sie die Option -v: bash-2.03$ gimp -v GIMP Version 1.1.17 10.1.1.2. Batch Modus (-b) Mit den Optionen -b oder -batch können Sie Gimp-Kommandos oder Scheme-Kommandos (Scheme ist die von Gimp verwendete Script-Sprache) direkt von der Kommandozeile (Standardeingabe) oder aus einer Datei heraus ausführen. Beachten Sie, wenn Sie direkt auf der Kommandozeile Befehle an Gimp übergeben, daß Sie bestimmte Zeichen (quotes) vor der Shell mit einem Backslash (\) „verstecken“ (maskieren) müssen. gimp -b ’((gimp-palette-set-background \’(255 0 0)) ... (gimp-displays-flush))’ 397 Kapitel 10. Grafik Die Option -b muß als letzte auf der Kommandozeile angegeben werden, da alles, was danach folgt, von Gimp als Kommando interpretiert wird. 10.1.1.3. No Interface (-n) Mit dieser Option öffnet Gimp keinerlei Fenster, dies ist eigentlich nur im Zusammenhang mit dem Batch Modus (-b) sinnvoll. 10.1.1.4. No Data (--no-data) Diese Option beschleunigt den Start von Gimp, indem keine Pinsel, Muster, Farbverläufe und Farbpaletten geladen werden. Vielfach werden Sie nur einige oder keine von diesen benötigen. Sie können Pinsel und Muster auch später laden, indem Sie über das Menü Datei - Dialoge auf Pinsel oder Muster klicken. 10.1.1.5. Display (--display) Über die Option --display können Sie Gimp auf dem Display (Bildschirm) eines anderen Rechners im Netz starten. Hierbei wird Gimp auf dem lokalen Rechner ausgeführt, die Darstellung der Fenster und Menüs erfolgt auf dem angegebenen Rechner. bash-2.03$ gimp --display gimp.meinedomain.de:0.0 Sie können hierzu aber auch die Umgebungsvariable $DISPLAY benutzen: export DISPLAY=gimp.meinedomain.de:0.0 . 10.1.2. Menüs und Tastatur Die Werkzeugleiste von Gimp besteht aus drei Pull-Down-Menüs, vielen Icons sowie einer Fläche zur Farbauswahl und einer Fläche zur Musterauswahl. 10.1.2.1. Datei Das erste Menü, „Datei“, besteht aus folgenden Einträgen: Abbildung 10-2. The Gimp Menü - Datei 398 Kapitel 10. Grafik • Neu - öffnet einen Dialog, in dem Sie Angaben für eine neue Grafik machen können. Abbildung 10-3. The Gimp Menü - Datei/Neu Sie können die Höhe und Breite der Grafik entweder in Bildpunkten (Pixeln) oder in Millimeter, Punkt, Pica und einigen anderen Einheiten angeben. Weiterhin bestimmen Sie hier die Auflösung der Grafik, auch hier können Sie zwischen verschiedenen Einheiten wählen. Im unteren Bereich können Sie auf Wunsch ein Graustufenbild erzeugen, voreingestellt ist immer „RGB“. Im Bereich „Füllart“ können Sie beispielsweise einen transparenten Hintergrund einstellen. • Öffnen - hier können Sie eine bestehende Grafik in Gimp laden. 399 Kapitel 10. Grafik Abbildung 10-4. The Gimp Menü - Datei/Öffnen Eine solche Dateiauswahl ist Ihnen sicher aus vielen anderen Programmen bekannt, zusätzlich können Sie hier allerdings den Dateityp der zu ladenden Datei bestimmen, in den meisten Fällen ist hier aber keine Auswahl notwendig, The Gimp erkennt alle Dateitypen automatisch. • Holen - Hier verbirgt sich ein weiteres Menü: Wenn Sie keine weiteren Pakete installiert haben, finden Sie hier lediglich den Eintrag „Screen Shot“, mit dem Sie Teile oder den gesamten Bildschirm „fotografieren“ können. Abbildung 10-5. The Gimp Menü - Datei/Holen Ist das Paket SANE installiert - dieses stellt Treiber für die verschiedensten Scanner zur Verfügung und wird später noch genauer beschrieben – so finden Sie hier weitere Einträge, über die Sie Grafiken direkt aus The 400 Kapitel 10. Grafik GIMP einscannen können. • Einstellungen - ein Dialog für diverse Einstellungen. Hier finden Sie sehr viele Einstellmöglichkeiten, spielen Sie einfach mal ein wenig damit herum... wir kommen später noch einmal darauf zurück. • Dialoge - Zugriff auf verschiedene Dialoge, ohne daß eine Grafik geladen ist. Abbildung 10-6. The Gimp Menü - Datei/Dialoge • Die weiteren Einträge stellen die zuletzt bearbeiteten Grafiken dar, Sie können diese hier sehr schnell wieder laden, ohne sich durch den Verzeichnisbaum kämpfen zu müssen. • Beenden - Hier können Sie die Anwendung beenden. Bei noch nicht gespeicherten Bildern werden Sie gefragt ob diesen gesichert werden sollen, oder ob die Änderungen verloren gehen dürfen. Diesen Menüpunkt werden sie kaum benötigen... ;-) Vielleicht ist Ihnen aufgefallen, daß es keine Möglichkeit gibt, Grafiken zu speichern. Gimp öffnet zu jeder geladenen oder neu erstellten Grafik ein eigenes Fenster. Sie finden dort über die rechte Maustaste eine Möglichkeit, die Grafik zu speichern. 10.1.3. Xtns (Extensions/Erweiterungen)-Menü • Modul Browser - Eine Übersicht der zusätzlich installierten Module, normalerweise ist diese Liste leer. • DB Anzeiger - über diesen Menüpunkt bekommen Sie Informationen zu den Internas von The Gimp. • Plugin Details - Hier können Sie sich weitere Informationen zu allen installierten Plugins ansehen. 401 Kapitel 10. Grafik Abbildung 10-7. The Gimp Menü - Xtns/Plugin Details • Script-Fu - hinter diesem Eintrag befinden sich eine ganze Reihe von, meist in Scheme geschriebenen, Scripten, mit denen Sie sehr schnell zum Beispiel Schaltflächen für Ihre Webseite erzeugen können oder auch ein Hintergrundbild für Ihren Desktop erstellen können. Abbildung 10-8. The Gimp Menü - Xtns/Script Fu Die Scripte sind in verschiedene Bereiche geteilt, mitunter verwenden diese einige Schriften, die normalerweise nicht auf jedem System verfügbar sind. Installieren Sie hierzu auch Pakete aus den Bereichen non-free wenn nötig, oder verändern Sie die Vorgabewerte so, daß Schriften verwendet werden, die auch auf Ihrem System installiert sind. Hier ein Beispiel aus dem Bereich „Logos“, der Eintrag „Neon“: 402 Kapitel 10. Grafik Abbildung 10-9. The Gimp Menü - Xtns/Script Fu-Neon ...und hier das Ergebnis: Abbildung 10-10. The Gimp Menü - Xtns/Script Fu-Neon Experimentieren Sie einfach mit den anderen Einträgen herum. • Video in Frames aufteilen - mit dieser Funktion können Sie Videos, die im Format MPEG vorliegen, in einzelne Dateien aufteilen. Die einzelnen Bilder werden im Gimp-eigenen Format XCF im aktuellen Verzeichnis gespeichert. 403 Kapitel 10. Grafik Abbildung 10-11. The Gimp Video Sie können hier angeben, ob nur ein bestimmter Bereich des Videos umgewandelt werden soll und welcher Name den einzelnen Dateien vorangestellt werden soll. Die eingebaute Konvertierungsroutine kann Videos im MPEG1-Format aufsplitten. Wenn Sie das Programm XAnim installiert haben, kann The Gimp auch dieses verwenden. • Web Browser - Hier befinden Sich einige Einträge zu The Gimp, ein Mausklick auf einen der Einträge lädt die entsprechende Seite in den Webbrowser. 10.1.4. Symbole im Hauptmenü Über die Symbole haben Sie schnellen Zugriff auf die wichtigsten Funktionen von Gimp, natürlich haben Sie auch über die Menüleisten Zugriff auf alle Funktionen. Sie können das Hauptmenü in der Größe verändern, die Symbole werden dann neu angeordnet. Wir gehen hier von einer unveränderten Fenstergröße aus. Abbildung 10-12. The Gimp Hauptmenü 404 Kapitel 10. Grafik In der ersten Zeile mit Symbolen finden Sie die verschiedenen Möglichkeiten, Bereiche auszuwählen, diese gehen von einfachen, rechteckigen Bereichen bis hin zur Pfadauswahl. In den nächsten Zeilen finden Sie Werkzeuge zum Verschieben, Vergrößern und Beschneiden sowie Werkzeuge zur Umwandlung (drehen, skalieren, Perspektive, umkippen) und Textwerkzeuge. In den letzten Zeilen befinden sich Werkzeuge zum Zeichnen in allen möglichen Formen, zum Löschen usw. Einige dieser Werkzeuge verfügen über Einstellmöglichkeiten, diese erreichen Sie mit einem Doppelklick auf das Symbol. Wenn Sie auf ein anderes Symbol klicken, während ein Einstelldialog für ein Werkzeug geöffnet ist, wird der entsprechende Dialog angezeigt. Einige andere Werkzeuge öffnen bei jeder Benutzung einen Dialog, diese sind von diesem Verhalten nicht betroffen. 10.1.5. Farbauswahl Die Farbauswahl besteht aus zwei Feldern, welche die Vorder- und Hintergrundfarbe darstellen. Wenn Sie auf eine dieser beiden Flächen doppelklicken, erscheint ein weiterer Dialog, in dem Sie eine andere Farbe wählen können. Ein Mausklick auf den kleinen Pfeil vertauscht die Vorder- und Hintergrundfarbe. Abbildung 10-13. The Gimp - Farbauswahl 10.1.6. Pinsel, Muster, Farbverlauf Das letzte Feld unten rechts bietet 3 Flächen, die den aktuellen Pinsel, das aktuelle Muster und den aktuellen Farbverlauf darstellen. Wenn Sie die linke Maustaste über dem Feld Muster oder Farbverlauf gedrückt halten, wird die Ansicht vergrößert. Ein Doppelklick auf eines der drei Felder öffnet den entsprechenden Dialog, aus dem Sie eine neue Auswahl treffen können. 405 Kapitel 10. Grafik Abbildung 10-14. The Gimp Auswahl - Pinsel Die Pinsel. Abbildung 10-15. The Gimp Auswahl - Muster Die Muster. 406 Kapitel 10. Grafik Abbildung 10-16. The Gimp Auswahl - Verlauf Die Verläufe. 10.1.7. Farbsysteme The Gimp arbeitet mit den Farbsystemen RGB, Graustufen und Indizierte Farben. Bei einer RGB-Grafik wird jeder Punkt der Grafik durch je einen Wert für die Farben Rot, Grün und Blau dargestellt. Eine Indizierte Grafik ist genauso aufgebaut, die Anzahl der Farben und deren Werte werden jedoch aus einer Farbtabelle bezogen und sind somit auf die vorgegebenen Werte festgelegt. Eine Grafik in Graustufen kann auch mit Indizierten Farben realisiert werden, die Verwendung von RGB erlaubt jedoch ein wesentlich flexibleres Arbeiten mit der Grafik. In den meisten Fällen sollten Sie sich bei einer neuen Datei für das RGB-Format entscheiden, mit diesem haben Sie die meisten Möglichkeiten und können auf die meisten Funktionen innerhalb von The Gimp zugreifen. 10.1.8. Öffnen einer Datei Beim Öffnen einer Datei können Sie den Dateityp angeben, in 99,9% aller Fälle kann Gimp diesen aber auch selber ermitteln, so daß Ihnen hier nichts weiter bleibt, als den gewünschten Dateinamen auszuwählen. 10.1.9. Speichern einer Datei Haben Sie diesen Eintrag schon im Hauptmenü vermißt? Keine Angst, The Gimp kann natürlich auch Ihre Werke auf Festplatte sichern. Positionieren Sie hierzu die Maus über der Grafik und drücken Sie die rechte Maustaste. Unter dem Menü „Datei“ finden Sie die beiden Einträge „Speichern“ und „Speichern unter“. Beim Speichern von Grafiken gelangen Sie in einen Dialog, der dem beim Öffnen von Dateien sehr ähnlich ist. Sie können hier den gewünschten Pfad auswählen sowie den Dateinamen eingeben, unter dem die Grafik gespeichert werden soll. Normalerweise sichert The Gimp Ihre Grafik gleich in dem Format, welches Sie als Dateiendung verwenden. Eine Datei mit der Endung .xcf würde im Gimp-eigenen Format gespeichert werden, während die Endung .jpg oder .jpeg zu einer Datei im JPEG-Format führen würde. Natürlich können Sie das Dateiformat auch explizit auswählen. Beachten Sie bitte, daß eventuell nicht alle gewünschten Dateiformate für den erstellten Grafiktyp (RGB, Graustufen, Indizierte Farben) verfügbar sind. Alle nicht verfügbaren Dateiformate werden in der Auswahl deaktiviert, also grau dargestellt, und können nicht 407 Kapitel 10. Grafik angewählt werden. Später werden wir beschreiben, wie Sie den Grafiktyp verändern können, so daß Sie die Grafik in dem gewünschten Format speichern können. 10.1.10. Ebenen Bei umfangreichen Grafiken unterstützt Sie Gimp mit sogenannten Ebenen (englisch: Layer). Sie können Ihr Werk in verschiedenen, übereinander liegenden Schichten anlegen und so nur in bestimmten Bereichen der Grafik arbeiten. Wenn Sie mit Ebenen arbeiten, können Sie die Grafik nicht in den normalen Dateiformaten (.tiff, .jpeg usw.) speichern. Diese Formate können nicht mit den Informationen über Ebenen umgehen, Sie müssen zuerst die Ebenen zusammenführen, um die Grafik zu sichern. Natürlich können Sie die Grafik im Gimp-eigenen Format (.xcf) sichern, wenn Sie die Ebenen erhalten möchten. Abbildung 10-17. The Gimp Ebenen Sie erreichen den Ebenen-Dialog über die Menüleiste im Hauptfenster (Datei - Dialoge - Ebenen & Kanäle) oder, wenn sich der Mauszeiger über der Grafik befindet, mit der rechten Maustaste. 10.1.11. Grafiktypen The Gimp arbeitet intern mit drei verschiedenen Farbmodellen: RGB, Graustufen und Indizierte Farben. Mitunter kann es notwendig sein, während der Arbeit mit The Gimp das Farbmodell zu wechseln. Dies liegt daran, daß nicht alle Funktionen alle Farbmodelle unterstützen. Weiterhin ist ein solcher Wechsel notwendig, wenn Sie verschiedene Grafiken mit verschiedenen Farbmodellen zusammenführen wollen oder beim Speichern von Dateien in einigen Formaten. Die Vorgehensweise zum Umwandeln einer Grafik in ein anderes Farbmodell ist in jedem Fall gleich. Drücken Sie die rechte Maustaste, während sich der Mauszeiger über der Grafik befindet, und wählen Sie den Menüpunkt „Bild“, dort können Sie zwischen den drei Farbmodellen wählen. Bei der Umwandlung in RGB oder Graustufen wird die gewünschte Aktion sofort durchgeführt, die Auswahl von Indizierten Farben führt Sie zunächst zu einem Dialog. Wenn Sie hier „Erstelle optimale Palette“ wählen 408 Kapitel 10. Grafik (die ist schon vorgewählt), können Sie die maximale Anzahl der Farben angeben, die später in der Grafik benutzt werden sollen. Sie können hier noch mit den weiteren Einstellungen experimentieren, die vorgegebenen Werte sind aber in den meisten Fällen ausreichend. 10.1.12. Undo Mit der Funktion können Sie Arbeitsschritte rückgängig machen. Sie erreichen diese Funktion über das Menü (Bearbeiten - Rückgängig) oder mit der Tastenkombination CTRL+Z. Normalerweise können Sie bis zu 5 Arbeitsschritte rückgängig machen, dies können Sie in den Voreinstellungen verändern. 10.1.13. Fenster Jedesmal wenn Sie eine bestehende Grafik öffnen, wird diese in einem neuen Fenster dargestellt. Sie können so viele Fenster öffnen, wie Sie möchten, dies wird nur durch die verfügbare Hardware beschränkt. Unabhängig von der Anzahl der geöffneten Fenster, steht Ihnen immer nur ein Hauptmenü zur Verfügung. Die Fenster haben keine eigenen Menüleisten wie sonst üblich. Sie haben zwei Möglichkeiten, an die benötigten Funktionen zu gelangen. Mit der rechten Maustaste erhalten Sie an jeder Stelle in der Grafik ein Pop-Up-Menü mit allen Funktionen. Unter anderem für Benutzer eines Apple-Computers, diese verfügen nur über eine Maustaste, wurde in Gimp 1.1 in der oberen linken Ecke die Möglichkeit geschaffen, mit der linken Maustaste auf das Menü zuzugreifen. Die Menüpunkte „Datei“, „Bearbeiten“, „Auswahl“ usw. beinhalten die üblichen Einträge. Der Menüeintrag „Ansicht“ dient zum Zoomen (Verkleinern oder Vergrößern) der Ansicht, also eine Lupenfunktion. Weiterhin finden Sie hier Informationen zum Fenster sowie einige Einstellmöglichkeiten. 10.1.14. Konfiguration Gimp ist sehr individuell konfigurierbar. Viele der Einstellungen können über eine grafische Oberfläche vorgenommen werden, andere werden über die Dateien gimprc und gtkrc im Verzeichnis .gimp gesteuert. Auch Gimp unterscheidet zwischen systemweiten und benutzerbezogenen Konfigurationsdateien. Benutzerbezogene Konfigurationsdateien befinden sich immer im Homeverzeichnis des Benutzers, im Verzeichnis .gimp. Gimp verfügt über einen sehr umfangreichen Konfigurationsdialog. Sie können die veränderten Einstellungen mit einem Mausklick auf „OK“ für die aktuelle Sitzung aktivieren oder über die Schaltfläche „Speichern“ dauerhaft speichern. Die Einstellungen von The Gimp sind innerhalb des Dialoges in verschiedene Bereiche (Neues Bild, Anzeige, Oberfläche, Umgebung, Sitzung, Monitor und Verzeichnisse) aufgeteilt, teilweise mit weiteren Untermenüs. 10.1.14.1. Neues Bild Hier finden Sie verschiedene Parameter, die beim Erstellen einer neuen Grafik greifen. Wenn Sie bestimmte Werte häufig verwenden wollen, beispielsweise eine bestimmte Größe für Banner auf Webseiten, so können Sie diese hier einstellen. 409 Kapitel 10. Grafik Abbildung 10-18. The Gimp Menü - Datei/Einstellungen • Standard-Bildgröße und Längeneinheit - Hier können Sie die Vorgabewerte für neu zu erstellende Grafiken einstellen. • Standard-Auflösung und Auflösungseinheit - Wählen Sie hier die Auflösung und die Einheit. • Standard Bildtyp - Gimp benutzt normalerweise RGB als Standardwert, Sie können dies auch auf Graustufen einstellen, wenn Sie häufig damit arbeiten. Indiziert wird nicht in den Voreinstellungen unterstützt, so daß nur sehr wenige Funktionen von Gimp dies unterstützen. Hier können Sie auch die Speichergröße für neue Grafiken begrenzen. 10.1.14.2. Anzeige • Transparenz - Stellen Sie hier die Größe und die Farbe für die Bereiche einer Grafik ein, die transparent dargestellt werden sollen. 10.1.14.3. Oberfläche • Vorschaugröße - Hiermit stellen Sie die Größe der Vorschau für die verschiedenen Plug-Ins ein. Dies betrifft nicht direkt die Einstellungen für die Grafik, beeinflußt aber die Geschwindigkeit bei der Erstellung dieser Vorschau. Sie können hier zwischen sechs verschiedenen Größen wählen. 410 Kapitel 10. Grafik • Größe der Dokumentenliste - Hier können Sie einstellen, wie viele der zuletzt bearbeiteten Grafiken im Menü „Datei“ eingebunden werden sollen. Voreingestellt ist der Wert 4. • Werkzeugkasten - Auf Wunsch können Sie die Anzeige von Pinseln, Mustern und Verläufen unterbinden. • Hilfesystem - Hier können Sie die Popup-Hilfe und die kontextsensitive Hilfe abschalten und zwischen dem internen Programm und einem externen Programm (Netscape) zur Anzeige der Hilfedateien wählen. • Bildfenster - Neben Einstellungen für Lineale, Fenstergrößen und Statusanzeigen, können Sie hier die Geschwindigkeit der markierten Linie, diese werden hier als Ameisen bezeichnet, um eine Auswahl verändern, den Titel des Fensters verändern und einige Einstellungen zum Mauszeiger vornehmen. • Werkzeugeinstellungen - Hier können Sie die globalen Pinseleinstellungen deaktivieren. 10.1.14.4. Umgebung • Zurückhaltende Speicherausnutzung - Bei Systemen mit wenig Arbeitsspeicher können Sie diese Funktion aktivieren. Gimp arbeitet dann etwas langsamer, verbraucht aber auch etwas weniger Speicher. • Stufen der Rückgängigmachung - Hier können Sie einstellen, wie viele Arbeitsschritte widerufen werden können. Voreingestellt ist der Wert 5, Sie können diesen erhöhen, beachten Sie jedoch, daß jeder Arbeitsschritt, der im Speicher gehalten wird, auch Arbeitsspeicher (RAM) verbraucht. • Größe des Datenspeichers - Alternativ können Sie hier den Wert auch in (Mega-/Kilo-)Byte angeben. • Interpolationsart - Nicht immer ist genau die gewünschte Farbe verfügbar. Gimp kann in so einem Fall die geeignetste Farbe ermitteln. Normalerweise wird hierzu eine lineare Interpolation benutzt. Wenn Sie (beispielsweise nachdem Sie eine Grafik verkleinert haben) mit den Farben nicht zufrieden sind, können Sie diesen Wert auf eine kubische Interpolation verändern und den Vorgang wiederholen. Kubische Interpolation benötigt etwas mehr Zeit, führt aber oft zu besseren Ergebnissen. Eine weitere Möglichkeit ist die Einstellung „nächster Nachbar“, bei dem eine benachbarte Farbe ausgewählt wird. • Dateien sichern - Beim Speichern von Dateien kann The Gimp bei einigen Dateiformaten ein Vorschaubild speichern, welches vor dem Laden angezeigt werden kann. Dies können Sie hier deaktivieren. Weiterhin können Sie hier einstellen, ob die Auswahl des Menüpunktes „Sichern“ die Datei immer, auch wenn nichts an der Grafik verändert wurde, abspeichert. 10.1.14.5. Sitzung • Hier finden Sie einige Parameter zu Fensterpositionen und weiteren Geräten. 10.1.14.6. Monitor • Hier können Sie die Monitorauflösung einstellen oder den vom X-Server gelieferten Wert übernehmen. 10.1.14.7. Directory Preferences Gimp benutzt zwei Arten von Verzeichnissen: öffentliche und private. In den öffentlichen Verzeichnissen finden Sie zum Beispiel Pinsel, auf die alle Benutzer des Systems zugreifen können. In den privaten Verzeichnissen (unterhalb von /home/user/.gimp/) können Sie Dateien (auch Pinsel usw.) ablegen, auf die nur Sie Zugriff haben. Sie können jeweils mehrere Verzeichnisse angeben. 411 Kapitel 10. Grafik • Temporäres Verzeichnis - in diesem Verzeichnis sichert Gimp Dateien, die während der Benutzung zwischenzeitlich benötigt werden. • Auslagerungsverzeichnis - Gimp speichert viele Daten zwischen. Dies spart einiges an Arbeitsspeicher. Gimp versucht dies zu optimieren. • Pinsel - in diesem Verzeichnis können Sie Pinsel ablegen. Sie können hier mehrere Verzeichnisse angeben. • Erzeugte Pinsel - hier werden von Ihnen neu erstellte Pinsel gesichert. • Muster - verschiedene Verzeichnisse für Muster • Farbpaletten - Verzeichnisse, in denen sich Farbpaletten befinden. • Farbverläufe - Verzeichnisse, in denen sich Farbverläufe befinden. • Plugins - Verzeichnisse, in denen sich Plugins befinden. • Module - Verzeichnisse, in denen sich Module befinden. 10.1.15. Auswahlen Eine Auswahl (oder Selektion) ist ein Bereich der Grafik, den Sie mit der linken Maustaste markiert haben. Sie können mehrere Auswahlen gleichzeitig aktiv halten. Alle Operationen, die Sie ausführen, wirken nur auf den selektierten Bereich, unabhängig davon, ob Sie eine einfache oder eine Mehrfachauswahl aktiviert haben. Gimp verfügt über verschiedene Auswahlwerkzeuge, Sie finden diese in den ersten Icon-Zeilen des Hauptmenüs. Wenn Sie eines dieser Werkzeuge aktivieren, verändert sich der Mauszeiger in ein Auswahlwerkzeug, wenn Sie sich gleichzeitig über einer Grafik befinden. Abbildung 10-19. The Gimp - Auswahlwerkzeuge Das letzte Werkzeug ist nicht im eigentlichen Sinne ein Auswahlwerkzeug, dient aber auch zum Verschieben von Auswahlen und sollte deshalb hier nicht fehlen. 10.1.15.1. Gemeinsamkeiten Bei allen Auswahlwerkzeugen können Sie mit einen Doppelklick auf das jeweilige Symbol weitere Einstellungen vornehmen. Alle Auswahlwerkzeuge verfügen über eine „weiche“ Auswahl, diese beeinflußt den Rand des ausgewählten Bereiches. Diese Option kann mit einem Schieberegler im Radius beeinflußt werden, größere Werte ergeben einen größeren Radius. Alle Auswahlwerkzeuge, mit Ausnahme der rechteckigen Auswahl, verfügen über eine Weichzeichner-Funktion, diese ergibt eine mehr oder weniger starke Ausprägung der Pixel an den Rändern. Einige Auswahlwerkzeuge verfügen noch über weitere spezifische Einstellmöglichkeiten. Sie können die ausgewählten Bereiche mit einigen Tasten beeinflussen. Normalerweise ersetzt eine Auswahl die bisher bestehende. Mit Hilfe einer Taste können Sie die bestehende Auswahl ergänzen oder den neu selektierten Bereich aus der bestehenden Auswahl entfernen. Hier eine Übersicht der Tasten: • Alt - Verschiebt eine Auswahl. Halten Sie die Taste gedrückt, der Mauspfeil verändert sein Aussehen, Sie können nun mit der linken Maustaste den selektierten Bereich greifen und verschieben. 412 Kapitel 10. Grafik • Shift - Ergänzt eine Auswahl. Wenn Sie die Taste Shift gedrückt halten, wird der bereits selektierte Bereich nicht gelöscht, sondern bleibt bestehen und wird um den neuen Bereich ergänzt. • STRG - Beschneidet eine Auswahl. Der neu selektierte Bereich wird aus der bestehenden Auswahl entfernt. Wenn der neu selektierte Bereich keinen bereits ausgewählten Bereich überschneidet, hat dies keinerlei Effekt. • Shift & STRG - wenn die neue Auswahl eine breits bestehende Auswahl überlappt, so wird diese Überlappung als neue Auswahl aktiviert. Wenn es keine Überlappung gibt, wird kein Bereich ausgewählt. In jedem Fall beginnt ein selektierter Bereich an der Stelle, an der Sie die linke Maustaste drücken, und endet an der Stelle, an der Sie die Taste wieder loslassen. Während dessen wird der selektierte Bereich farbig markiert und nach Loslassen der Maustaste von einer gestrichelten Linie umschlossen. Durch die verschiedenen Kombinationen mit den Tasten können Sie das Verhalten, wie oben beschrieben, beeinflussen. 10.1.15.2. Rechteckige Auswahl Dies ist die einfachste Form der Auswahl. Es wird ein rechteckiger Bereich der Grafik selektiert. Den Startpunkt setzen Sie durch Drücken der linken Maustaste, halten Sie die Taste gedrückt, bis Sie den Endpunkt erreicht haben. Abbildung 10-20. The Gimp - Auswahlwerkzeug/Rechteck Durch Drücken der Taste STRG wird das Ende der Auswahl (die Stelle, an der Sie die Maustaste loslassen) nicht als Endpunkt, sondern als Zentrum der Auswahl definiert. Mit der Taste Shift erreichen Sie eine quadratische Auswahl. 10.1.15.3. Elliptische Auswahl Abbildung 10-21. The Gimp - Auswahlwerkzeug/Elipse Mit diesem Werkzeug erzeugen Sie elliptische oder kreisförmige Auswahlen. Klicken Sie mit der linken Maustaste in die Grafik und halten Sie die Maustaste gedrückt. Wenn Sie nun die Maus bewegen, wird ein elliptischer Bereich markiert, durch zusätzliches Drücken der Taste SHIFT wird ein kreisrunder Bereich markiert. Vielleicht haben Sie bemerkt, daß die Auswahl am Rand der Ellipse beginnt und dort auch endet. Wenn Sie die Taste CTRL drücken, wird der Startpunkt der Auswahl als Mittelpunkt der Ellipse gesetzt. 413 Kapitel 10. Grafik 10.1.15.4. Freihandauswahl Abbildung 10-22. The Gimp - Auswahlwerkzeug/Freihand Bei der Freihandauswahl setzen Sie durch Drücken der linken Maustaste den ersten Anker, wenn Sie nun die Maus bewegen, folgt die Auswahl dem Mauszeiger. Wenn Sie die Maustaste loslassen, wird die Auswahl durch eine gerade Linie von End- zum Startpunkt geschlossen. Mit dieser Auswahl können Sie so ziemlich jeden Bereich, auch wenn er noch so unförmig ist, selektieren. 10.1.15.5. „Intelligente Schere“ Abbildung 10-23. The Gimp - Auswahlwerkzeug/Intelligente Auswahl Diese Auswahl funktioniert ähnlich wie die Freihandauswahl, nur werden hier die Farben der umliegenden Pixel berücksichtigt und die Auswahl angepaßt. Sie können die Empfindlichkeit dieser Anpassung durch einen Doppelklick auf das Symbol einstellen. Bei Grafiken mit sehr „unruhigen“ Bildinhalten und wenig Kontrast ist diese Auswahl nicht sehr wirkungsvoll, Sie können aber versuchen, über die Einstellung der Empfindlichkeit eine bessere Auswahl zu erzielen. Weiterhin gibt es bei dieser Auswahl eine Option „Sample Merged“, diese erweitert die Auswahl auf alle sichtbaren Ebenen. 10.1.15.6. Bezier-Auswahl Abbildung 10-24. The Gimp - Auswahlwerkzeug/Bezier Dieses Auswahlwerkzeug verhält sich völlig anders, als alle bisher beschriebenen. Sie beginnen eine Selektion indem Sie mit der linken Maustaste einmal klicken, dies setzt den Startpunkt. Der Punkt erscheint in einem kleinen Kreis, einem sogenannten Anker (englisch: anchor). 414 Kapitel 10. Grafik Wiederholen Sie dies rund um den Bereich, den Sie auswählen möchten, an jeder Stelle wird ein weiterer Punkt gesetzt. Wenn Sie die Auswahl abgeschlossen haben, klicken Sie noch einmal auf den Startpunkt. Damit ist die Auswahl aber noch nicht ganz abgeschlossen, bisher haben Sie nur einige gerade Linien erzeugt. Wählen Sie nun einen der Anker aus, indem Sie ihn nochmal anklicken, halten Sie dabei die Maustaste gedrückt. Wenn Sie nun die Maus bewegen, sehen Sie zwei Linien, die sich von diesem Punkt entfernen, jede am Ende mit einem Quadrat markiert. Eine von diesen befindet sich in der Nähe des Mauspfeils. Diese Punkte werden „handles“ genannt und dienen zum Verändern der Kurve. Halten Sie dazu einen dieser Punkte mit der Maus fest und bewegen Sie ihn. Je nach Abstand zum Anker und abhängig von dem Winkel in dem Sie den Punkt von der ursprünglichen Position wegbewegen, können Sie die Kurve verändern. Dies hört sich viel komplizierter an als es ist! Mit den Tasten STRG und Shift können Sie jeden der Anker verschieben. Mit der Shift Taste können Sie die beiden zu einem Anker gehörenden „handles“ beeinflussen. Nun ein kleines Beispiel, wie Sie diese Auswahl einsetzen können: Erstellen Sie zunächst eine neue Grafik mit der Größe von 256x256 Pixeln. Zeichnen Sie nun mit dem Bezier-Werkzeug ein Dreieck, klicken Sie hierzu mit der linken Maustaste viermal in das Bild, einmal oben in der Mitte, einmal unten rechts, dann unten links und zum Abschluß noch einmal auf den Startpunkt. Hiermit haben Sie die nötigen Anker für die Bezierkurve gesetzt. Selektieren Sie nun den obersten, ersten Anker. Ein Mausklick auf diesen Punkt erzeugt die zu diesem Anker gehörenden „Handles“. Wenn Sie nun die Maustaste gedrückt halten und die Maus nach links bewegen, erscheinen einige weitere Linien. Beachten Sie, daß sich die Linie zu einer Kurve verwandelt hat. Wandern Sie ein wenig mit der Maus umher und beobachten Sie, was passiert... Lassen Sie nun die Maustaste los und wählen Sie den gleichen Punkt noch einmal, diesmal aber zusammen mit der Taste STRG (halten Sie beide (Maus- und Tastatur-) Tasten gedrückt). Bewegen Sie nun die Maus, jetzt wird der Ankerpunkt zusammen mit der Kurve verschoben. Probieren Sie das gleiche noch einmal, diesmal aber mit der SHIFT-Taste. Sie können nun einzelne Handles bewegen. Wenn Sie die Handles stören, klicken Sie einfach irgendwo außerhalb des Dreieckes in das Bild. Wenn Sie mit der Form zufrieden sind, klicken Sie innerhalb der Form, aber nicht auf einen der Handles. Die Form wird zu einer Auswahl, diese können Sie nun beispielsweise mit einer Farbe füllen oder ausschneiden. 10.1.15.7. „Zauberstab“-Auswahl Abbildung 10-25. The Gimp - Auswahlwerkzeug/Zauberstab Der Zauberstab ist das mächtigste Auswahlwerkzeug von Gimp. Der Mauspfeil funktioniert ähnlich wie bei der Freihand-Auswahl, allerdings wird nach Loslassen der Maustaste von Gimp versucht, zu „erraten“, welchen Bereich Sie tatsächlich markieren wollten. Dies wird anhand der Farben der umliegen Pixel ermittelt. Der selektierte Bereich wird erst nach nochmaligem Drücken und Loslassen der linken Maustaste zu einer richtigen Auswahl. Der Zauberstab hat noch einige weitere spannende Funktionen, die Sie am besten einfach mal ausprobieren. Interessant ist noch die Funktion „Convert to Bezier Curve“, welche die aktuelle Auswahl in eine Bezierkurve umwandelt und die Bezier-Auswahl aktiviert. 415 Kapitel 10. Grafik 10.2. Scanner Für die Ansteuerung von Scannern unter Linux wurde eine universelle Schnittstelle, genannt SANE, entwickelt. SANE steht für „Scanner Access Now Easy“, mal wieder eine der im Unix-Bereich sehr beliebten Abkürzungen. SANE liest aber nicht nur Daten von Scannern ein (auch wenn dies die häufigste Anwendung sein wird), sondern kann von einer großen Zahl von Geräten Bilddaten einlesen. Hierzu zählen auch Kameras. SANE stellt den verschiedensten Anwendungen eine Schnittstelle zur Verfügung, so daß ein Treiber für ein Gerät nur einmal entwickelt werden muß. SANE geht dabei noch einen Schritt weiter als ähnliche Treiber auf anderen Betriebssystemen, SANE erlaubt auch ein Scannen übers Netz, der Scanner muß also nicht zwingend an dem Rechner angeschlossen sein, auf dem zum Beispiel die Bildbearbeitungssoftware läuft. SANE umfaßt neben den Treibern für verschiedene Geräte auch eine eigene grafische Oberfläche, so daß man auch ohne ein Extraprogramm Daten einlesen kann. Diese Oberfläche benutzt, ebenso wie GNOME und The Gimp, das GTK Toolkit. Weiterhin können Sie SANE auch auf einem Rechner ohne grafische Oberfläche benutzen, beispielsweise auf einem Server, und die Dienste von SANE so anderen Rechnern im Netz zur Verfügung stellen. Für die ersten Gehversuche mit SANE müssen Sie nicht einmal über einen Scanner verfügen, ein Pseudo-Treiber erlaubt die Benutzung von SANE zum Einlesen von Dateien im PNM-Format. Auch ist SANE nicht auf den Betrieb unter Linux beschränkt, Sie können SANE auch unter diversen anderen Unix-Versionen betreiben. SANE unterstützt die meisten Scanner mit SCSI-Schnittstelle und vermehrt auch Modelle mit USB-Anschluß. Ältere Scanner zum Anschluß an die parallele Schnittstelle werden nur sehr begrenzt unterstützt, eine Übersicht finden Sie unter der URL http://www.pro-linux.de/t_hardware/pscanner.html. 10.2.1. SANE einrichten Zuerst müssen Sie natürlich die Debian-Pakete zu SANE auf Ihrem System installieren. Diese sind: sane, libsane, xsane, xsane-gimp und sane-gimp. Installieren Sie zunächst einmal sane wie folgt: sushi:/home/fr/# apt-get install sane Reading Package Lists... Done Building Dependency Tree... Done The following extra packages will be installed: libgimp1 libsane The following NEW packages will be installed: libgimp1 libsane sane 0 packages upgraded, 3 newly installed, 0 to remove and 3 not upgraded. Need to get 703kB of archives. After unpacking 1729kB will be used. Do you want to continue? [Y/n] Get:1 ftp://localhost unstable/main libsane 1.0.1-1999-10-21-6 [567kB] Get:2 ftp://localhost unstable/main sane 1.0.1-1999-10-21-6 [73.8kB] Get:3 ftp://localhost unstable/main libgimp1 1.0.4-2.0.1 [61.9kB] Fetched 703kB in 16s (42.4kB/s) Selecting previously deselected package libsane. (Reading database ... 62718 files and directories currently installed.) Unpacking libsane (from .../libsane_1.0.1-1999-10-21-6_i386.deb) ... Selecting previously deselected package libgimp1. Unpacking libgimp1 (from .../libgimp1_1.0.4-2.0.1_i386.deb) ... Selecting previously deselected package sane. Unpacking sane (from .../sane_1.0.1-1999-10-21-6_i386.deb) ... Setting up libgimp1 (1.0.4-2.0.1) ... Setting up libsane (1.0.1-1999-10-21-6) ... Setting up sane (1.0.1-1999-10-21-6) ... Zusätzlich wurden automatisch die benötigten Pakete libgimp1 und libsane installiert. Nun steht Ihnen das Programm sane-find-scanner zur Verfügung, mit diesem können Sie nun feststellen, welches Device für Ihren Scanner benutzt wird. Der Scanner muß dazu natürlich angeschlossen und eingeschaltet sein. sushi:/# sane-find-scanner 416 Kapitel 10. Grafik sane-find-scanner: found processor "HP C2520A 3503" at device /dev/sg0 Legen Sie nun einen Link vom angegebenen Device auf /dev/scanner an: ln -s /dev/sg0 /dev/scanner. Alternativ können Sie auch in der passenden Datei unter /etc/sane.d/ den Eintrag anpassen... aber die Methode, einen Link anzulegen, ist einfacher und universeller. Ein solcher Link wird im übrigen auch schon bei der Basisinstallation per CD-ROM für das Device /dev/cdrom vorgenommen und ist auch für andere Geräte, wie zum Beispiel ein Modem (ein Link von /dev/ttyS1 auf /dev/modem zum Beispiel), sinnvoll. Werfen Sie nun noch einen Blick in die Datei /etc/sane.d/dll.conf. In dieser finden Sie einen Eintrag für jeden verfügbaren Treiber. Sie können die nicht benötigten auskommentieren, wichtiger ist aber, daß der Treiber, den Sie wirklich benötigen, nicht auskommentiert ist. Die Datei /etc/sane.d/dll.conf:

  1. enable the next line if you want to allow access through the network:
  2. The following backends may hang when they are not present:
  3. abaton, apple, tamarack
  4. hp backend may core when not present
  5. The following backends will print warning messages when not present:
  6. s9036, agfafocus

net

  1. abaton
  2. agfafocus
  3. apple

artec canon coolscan

  1. dc25
  2. dc210

dmc epson hp microtek microtek2

  1. mustek

pint

  1. pnm

qcam ricoh

  1. s9036

sharp snapscan

  1. tamarack

umax Prüfen Sie nun mittels scanimage -L, ob das entsprechende Gerät gefunden wird:

  1. scanimage -L

device ‘hp:/dev/sg0’ is a Hewlett-Packard C2520A flatbed scanner device ‘hp:/dev/scanner’ is a Hewlett-Packard C2520A flatbed scanner Durch den angelegten Link wird das Gerät nun zweimal angezeigt. Beachten Sie, daß hier auch der benötigte Treiber angezeigt wird, dies ist der Eintrag am Anfang der Zeile, direkt hinter device. In diesem Fall wird also der hp-Treiber verwendet. Sie können nun einen ersten Versuch starten, indem Sie das Kommando scanimage --device hp > abc.pnm benutzen, um ein Bild zu scannen und in die Datei abc.pnm zu schreiben. Sie müssen natürlich das für Ihren Scanner passende Device angeben. Damit ist die eigentliche Installation des Scanners abgeschlossen. Kommen wir nun zum Abschluß: eine Benutzeroberfläche muß her. 417 Kapitel 10. Grafik 10.2.2. xscanimage Dazu stehen Ihnen gleich mehrere Programme zur Auswahl. Neben xsane steht Ihnen auch noch xscanimage zur Verfügung. xsane wird bei der Installation so eingerichtet, daß Sie auch direkt aus The Gimp heraus scannen können. xscanimage steht Ihnen bereits zur Verfügung, es wird zusammen mit dem Paket sane installiert. Abbildung 10-26. xscanimage Auswahl Nach dem Start von xscanimage müssen Sie zunächst das passende Gerät auswählen. Danach wird die eigentliche Benutzeroberfläche gestartet. Abbildung 10-27. xscanimage scannen 418 Kapitel 10. Grafik Im Feld „Filename“ können Sie einen Dateinamen eingeben oder über die Schaltfläche „Browse“ auswählen, unter dem der Scan später gespeichert werden soll. Unter „Scan Mode“ können Sie zwischen „Lineart“, „Halftone“ „Grayscale“ oder „Color“ wählen sowie die Auflösung des Scans einstellen. Weiter unten lassen sich Einstellungen zu Kontrast und Helligkeit vornehmen. Links unten im Fenster wird die Größe des Scans einmal für die Auflösung (die Einheit ist abhänging von der Auswahl im Menü unter „Preferences“ - „Length Unit“) sowie für die spätere Größe der Datei angezeigt. Die Schaltfläche „Preview Window“ öffnet ein Fenster, in dem Sie eine Vorschau des Scans sehen können. Diese wird normalerweise erst einmal in Schwarz-Weiß erstellt, Sie können dies aber unter „Scan Mode“ verändern. Im „Preview“-Fenster können Sie mit der linken Maustaste einen Bereich markieren, der Scan wird dann auf diesen Ausschnitt begrenzt. 10.2.3. xsane Als zweite grafische Schnittstelle zu Ihrem Scanner steht noch xsane zur Verfügung. Hierzu ist zuerst das Paket sane-gimp1.1 (am einfachsten via apt-get install sane-gimp1.1) zu installieren. Auch xsane startet zuerst mit einer Auswahl der verfügbaren Geräte, diesmal aber etwas eindrucksvoller: Abbildung 10-28. xsane Auswahl xsane erscheint auf den ersten Blick nicht so mächtig wie xscanimage; doch der Schein trügt. Hinter den Menüpunkten „Preferences“ und „View“ verbergen sich zahlreiche Auswahl- und Einstellmöglichkeiten. 419 Kapitel 10. Grafik Abbildung 10-29. xsane scannen Einiges kennen Sie schon von xscanimage her, neu ist aber die Auswahl unter „Scan mode“ zwischen „Scan“, „Copy“ und „Fax“. Die Option „Scan“ erstellt eine Datei auf Ihrer Festplatte. Mittels „Copy“ wird die Ausgabe direkt auf einem Drucker ausgegeben und „Fax“ schließlich gibt die gescannten Daten über eine Telefonleitung an ein entferntes Faxgerät weiter. 420 Kapitel 10. Grafik Abbildung 10-30. xsane Vorschau Natürlich verfügt auch xsane über eine Vorschau beim Scannen. Hierbei wird die Vorlage mit einer niedrigen Auflösung ohne Farben eingescannt und Sie können dann mit der Maus den gewünschten Bereich auswählen. 10.2.4. Scannen mit The Gimp Wenn Sie direkt aus The Gimp heraus scannen möchten, wählen Sie einfach aus dem Menü „Datei“ den Eintrag „Holen“ und den gewünschten Gerätetreiber. Die Benutzung gestaltet sich genauso, mit dem einzigen Unterschied, daß die gescannten Daten nicht auf der Festplatte gepeichert werden, sondern direkt in The Gimp geladen und dort bearbeitet werden können. Abbildung 10-31. xsane Gimp Menü 421 Kapitel 10. Grafik Da xsane als Plugin in The Gimp integriert ist, stehen Ihnen auch bei der Benutzung aus The Gimp heraus alle Funktionen (wie zu Beispiel die Vorschau) zur Verfügung. Abbildung 10-32. xsane Gimp Menü 10.3. Digitalkameras Digitalkameras sind mittlerweile mit mehreren Millionen Pixeln in der Lage qualitativ hochwertige Bilder zu liefern. Um diese an einem Debian GNU/Linux-System zu betreiben, ist das Programm gPhoto die erste Wahl. Momentan werden von gPhoto über hundert verschiedene Kamera-Modelle der verschiedensten Hersteller unterstützt. 422 Kapitel 10. Grafik Wenn Sie den Kauf einer Digitalkamera planen, sollten Sie zuerst einen Blick in die Dokumentation zu gPhoto werfen oder auf der Webseite http://www.gphoto.org/index.html prüfen, welches Modell unterstützt wird. Einige Hersteller halten die Informationen über die verwendeten Protokolle zum Datenaustausch geheim, somit ist eine Unterstützung dieser Kameras von gPhoto nicht sichergestellt. 10.3.1. gPhoto Abbildung 10-33. gPhoto 10.3.1.1. Einstellungen Beim ersten Start von gPhoto müssen Sie einige Einstellungen zu Ihrem Kameramodell und zur Schnittstelle, an der die Kamera angeschlossen ist, vornehmen. Speichern Sie dann diese Einstellungen ab. 423 Kapitel 10. Grafik Abbildung 10-34. gPhoto Einstellungen Wenn Sie später noch Änderungen an diesen Einstellungen vornehmen wollen, können Sie dies über das Menü „Configure“ - „Select Port-Camera Model“ vornehmen. 10.3.1.2. Benutzung Der Menüpunkt „Get Index“ im Menü „Camera“ erzeugt eine Übersicht der in der Kamera gespeicherten Bilder. Sie können mit gPhoto zwei verschiedene Arten dieses Indexes erzeugen. „Thumbnails“ erzeugt eine verkleinerte Ansicht zu jedem in der Kamera gespeicherten Bild. Sie können mit einem Mausklick auf jedes einzelne Bild dieses zum späteren Speichern auf der Festplatte auswählen. „No Thumbnails“ ist um einiges schneller bei der Darstellung der Übersicht. Für jedes in der Kamera gespeicherte Bild wird eine Schaltfläche angezeigt. Sie können nun mit einem Mausklick die gewünschten Bilder zum Speichern auswählen. Wenn Sie trotzdem eine verkleinerte Ansicht eines bestimmten Bildes sehen möchten, klicken Sie zweimal auf die entsprechende Schaltfläche. 10.3.1.3. Übertragung von Bildern/Thumbnails Nachdem Sie eines oder mehrere Bilder ausgewählt haben, die Sie von der Kamera auf die Festplatte Ihres Computers übertragen möchten, können Sie die Bilder selber und/oder die verkleinerten Ansichten der Bilder an einem beliebigen Ort speichern. Auch hierbei gibt es wieder zwei verschiedene Wege: „Open in Window“, diese Option lädt die ausgewählten Bilder in das Programm gPhoto. Sie können nun Veränderungen an dem Bild vornehmen oder das Bild in verschiedenen Formaten speichern. „Save to disk“, diese Aktion speichert die ausgewählten Bilder direkt auf die Festplatte. Sie werden vorher noch aufgefordert, den Pfad, in dem die Bilder gespeichert werden sollen, auszuwählen. Weiterhin müssen Sie einen Dateinamen angeben. Dieser wird mit der Nummer des Bildes sowie der Endung für das Dateiformat ergänzt. Wenn Sie zum Beispiel die Bilder 1 und 2 zum Speichern ausgewählt haben und als Dateinamen „Urlaubsbild“ gewählt haben, so werden die beiden Bilder als „Urlaubsbild-001.jpg“ und „Urlaubsbild-002.jpg“ in dem ausgewählten Verzeichnis gespeichert. Es ist ebenfalls möglich, zusätzlich die Bilder als verkleinerte Versionen zu speichern. Dies kann zum Beispiel zur Erstellung von Webseiten nützlich sein. Sie können dies über das Menü „Camera“ - „Get Selected“ 424 Kapitel 10. Grafik aktivieren. Die Auswahl „Images“ speichert das Bild in der vollen Größe, die Auswahl „Thumbnails“ speichert nur die verkleinerte Version der Bilder, und die Auswahl „Both“ speichert beide Versionen der Bilder. Die aktuelle Version erlaubt es auf der Kommandozeile alle auf der Kamera gespeicherten Bilder auf den Rechner zu übertragen. Hierbei ist anzugeben an welchem Anschluss die Kamera angeschlossen ist: gphoto2 --port "usb:" --get-all-images. Danach können dann die Bilder auch gelscht werden: gphoto2 --port "usb:" --delete-all-images 10.3.1.4. Löschen von Bildern aus dem Kameraspeicher Über den Menüpunkt „Camera“ - „Delete Selected Images“ können Sie die ausgewählten Bilder von der Kamera löschen. Vor dem eigentlichen Löschen der Bilder müssen Sie die Aktion noch einmal bestätigen. Das Löschen von Bildern auf der Kamera von einem externen Programm wird nicht von allen Kameras unterstützt. In diesem Fall bekommen Sie eine entsprechende Meldung. 10.3.1.5. Fotografieren Über den Menüpunkt „Take Picture“ im „Camera“-Menü können Sie direkt fotografieren. Das Bild wird in gPhoto angezeigt. Beachten Sie bitte, daß nicht alle Kameramodelle diese Funktion unterstützen. 10.3.1.6. Kamera konfigurieren Der Menüpunkt „Configure Camera“ aus dem Menü „Configure“ dient zur Einstellung der verschiedensten Parameter Ihrer Kamera. Dies ist sehr abhängig von den Fähigkeiten Ihrer Kamera und der passenden, von gPhoto verwendeten Bibliothek. 10.3.1.7. Kamera-Informationen Auch diese Funktion ist von Ihrem Kameramodell abhängig. Zum Beispiel können Angaben über die Anzahl der auf der Kamera gespeicherten Bilder, die Anzahl der noch zu speichernden Bilder oder den Status der Batterie angezeigt werden. 10.3.1.8. Bilder aus Verzeichnissen Sie können mit gPhoto auch komplette Verzeichnisse mit Bildern durchsuchen und anzeigen lassen. Über das Menü „File“ können Sie den Eintrag „Open Directory...“ auswählen und das gewünschte Verzeichnis selektieren. Es wird Ihnen dann eine Übersicht der in diesem Verzeichnis gefundenen Bilder angezeigt. Dieser Modus funktioniert genauso wie das Einlesen der Bilder von einer Kamera. Sie können auch hier einzelne Bilder durch einen Mausklick auswählen und danach eine Option aus dem Menü, zum Beispiel „Get Selected“, oder der Menüleiste auswählen. Sie können ein anderes Verzeichnis auswählen, indem Sie „Get Index“ aus dem Kamera-Menü auswählen. In diesem Modus sind mit Ausnahme von „Take Picture“, „Delete Selected Images“, und das „Live Preview“ Plugin alle Funktionen von gPhoto verfügbar. Sehr nützlich ist in diesem Zusammenhang der „HTML Gallerie Generator“. 10.3.1.9. Bearbeiten von Bildern gPhoto kann geöffnete Bilder mit einigen eingebauten Funktionen bearbeiten. Hierbei ist es egal, ob es sich um Bilder handelt, die gerade von einer Kamera übertragen wurden, oder ob die Bilder von der Festplatte stammen. Im Menü „Edit“ finden Sie zwei Menüpunkte: „Image Orientation“: hier verbergen sich Optionen zum Drehen (rotating) und Spiegeln (flipping) der Bilder. „Image Dimension“: Hier finden Sie einige Optionen zum Verändern der Bildgröße. Sie können sofort das Bild in der Größe halbieren oder verdoppeln, oder die gewünschte Größe genau angeben. Wenn Sie hier „Constrain Proportions“ aktivieren, wird das Seitenverhältnis beibehalten. 425 Kapitel 10. Grafik Auch auf diese Funktionen können Sie über die Werkzeugleiste zugreifen. 10.3.1.10. Automatische Nachbearbeitung von Bildern Mit der automatischen Nachbearbeitung von Bildern können Sie die Funktionalität von gPhoto selber erweitern. Über diese Funktion wird nach dem Laden eines Bildes das von Ihnen angegebene Script ausgeführt und auf das Bild angewendet. Mit einem Mausklick auf die Schaltfläche „Post-Process“ am unteren Rand des gPhoto-Fensters können Sie ein Fenster öffnen, in dem Sie diese Funktionalität aktivieren und deaktivieren können („Enable Post-Processing“). In dem Textfeld können Sie einen Befehl eingeben, der nach dem Laden jedes Bildes ausgeführt werden soll. Hierbei können Sie die Variable „%s“ für den Namen des aktuellen Bildes einsetzen. Unter Debian GNU/Linux gibt es eine Vielzahl von Programmen, die auf der Kommandozeile Bilddaten bearbeiten können. Die Pakete netpbm und imagemagic liefern Ihnen alle nur denkbaren Funktionen. Sie können auf diesem Wege auch das Programm The Gimp in gPhoto einbinden, um Ihre Bilder zu bearbeiten. Lesen Sie dazu im Abschnitt The Gimp nach, wie Sie dieses Programm über die Kommandozeile steuern können. 10.3.1.11. Speichern von geöffneten Bildern Wenn Sie an den geladenen Bildern Änderungen vorgenommen haben oder die Bilder noch gar nicht gespeichert haben, so können Sie dies über den Menüpunkt „Save Opened Image(s)“ vornehmen. Diese Funktion erreichen Sie auch über die Werkzeugleiste. Abbildung 10-35. gPhoto speichern In dem dann erscheinenden Fenster wählen Sie das Verzeichnis aus, in dem die Bilder gespeichert werden sollen. Wenn Sie nur das aktuelle Bild speichern möchten, klicken Sie nicht auf „Save all opened images“, sondern geben Sie den vollen Dateinamen an. Das Dateiformat bestimmen Sie, indem Sie die entsprechende Endung, also zum Beispiel .gif oder .jpg, angeben. Zum Speichern aller geöffneten Bilder aktivieren Sie die Option „Save all opened images“ und geben den gewünschten Begin des Dateinamens an. Dieser wird - wie schon zuvor beschrieben - um die laufende Nummer des Bildes und die Endung .jpg für jedes Bild erweitert. 10.3.1.12. Drucken von Bildern Das Drucken von Bildern aus gPhoto ist sehr einfach. Wenn Sie das gewünschte Bild in gPhoto geöffnet haben, wählen Sie einfach aus dem Menü „File“ den Eintrag „Print“ aus. Auch für diese Funktion finden Sie in der Werkzeugleiste ein Symbol. Abbildung 10-36. gPhoto drucken 426 Kapitel 10. Grafik In dem dann erscheinenden Fenster können Sie weitere Optionen für das zum Druck verwendete Kommando lpr angeben. Voraussetzung für einen erfolgreichen Druck ist natürlich, daß Sie zuvor Ihren Drucker richtig konfiguriert haben. Informationen hierzu finden Sie im Abschnitt Drucken. 10.3.1.13. Plugins gPhoto verfügt momentan über zwei Plugins: Live Camera!: mit diesem Plugin können Sie das laufende Kamerabild sehen. Sie können hier ebenfalls ein Bild „knipsen“. HTML Gallery: Dieses Plugin erzeugt eine Webseite mit allen Bildern aus dem aktuellen Index. Zunächst können Sie hier einen Titel eingeben, danach können Sie ein Layout für die Seiten wählen. Abschließend müssen Sie noch das Verzeichnis auswählen, in dem die Bilder und die Webseiten gespeichert werden sollen. Ein Beispiel für eine mit gPhoto erstellte Seite finden Sie unter der URL: http://www.gphoto.org/webserver . Wenn Sie eigene Vorlagen für Webseiten erzeugen möchten, werfen Sie einen Blick auf die Seite http://www.gphoto.org/docs.php3 unter den Punkt „HTML Gallery engine specs“. 10.3.1.14. gPhoto auf der Kommandozeile Auch gPhoto läßt sich von der Kommandozeile aus bedienen bzw. mit verschiedenen Parametern aufrufen. Einige der Parameter benötigen ein laufendes X-System, um zu funktionieren. Wenn Sie gPhoto von der Kommandozeile aus mit der Option -h aufrufen, bekommen Sie eine Übersicht der Funktionen angezeigt. fr@linux:~$ gphoto -h gPhoto v.0.3.5 - the GNU digital camera application Covered by the GNU GPL. Type "gphoto -v" for details. Usage: gphoto [-h] [-n] [-s # filename] [-t # filename] [-d #] [-l filename] -n display the # of pictures -s # filename save image # as filename -t # filename save thumbnail # as filename -d # delete image # from camera -l filename save live preview as filename -h display this help screen -v display information about the 0.3.5 version Hier einige Beispiele: gphoto -s 2 /var/www/wasser.jpg Speichert Bild Nummer 2 als Datei wasser.jpg im Verzeichnis /var/www/ ab. gphoto -s 5 wasser.jpg -t 5 wasser-small.jpg Speichert das Bild Nummer 5 im aktuellen Verzeichnis in voller Größe und in verkleinerter Form. Mit diesen Optionen von gPhoto können Sie sehr leicht eigene Shell-Scripte, zum Beispiel für eine Webcam, erstellen. 10.3.1.15. Weitere Informationen Mehr Infos zu gPhoto finden Sie auf der Webseite unter der URL http://www.gphoto.org. 427 Kapitel 11. Office Pakete Als „Office Pakete“ bezeichnet man Zusammenstellungen von Anwendungen welche im Bürobereich genutzt werden. Hauptsächlich sind dies Textverarbeitungen und Tabellenkalkulationen, aber auch Grafik- und Präsentationsprogramme gehören in diesen Bereich. Mitunter sind auch E-Mail Programme in diesen Sammlungen anzutreffen. An dieser etwas unklaren Deffinition zeigt sich schon das Office Pakete unterschiedlich ausgestattet sein können. Office Pakete können dabei aus einzelnen Anwendungen, welche in einem Paket oder Projekt zusammengeführt werden, oder aber in einer einzigen Anwendung bestehen. Unter GNU/Linux sind die bekanntesten, als Freie Software verfügbaren, Pakete: KOffice, Gnome Office und OpenOffice.org. 11.1. OpenOffice.org Abbildung 11-1. OpenOffice.org - Splashscreen OpenOffice.org ist ein Open Source Projekt mit der Zielsetzung, die international führende Office-Suite zu entwickeln, die auf allen wichtigen Plattformen läuft und Zugang zu Funktionen und Daten durch transparente Schnittstellen und ein XML-basiertes Dateiformat gewährt. OpenOffice.org basiert auf den Quelltexten von StarOffice 5.1 welche von Sun als OpenSource Software freigegeben wurden. Dieses zunächst einfach „OpenOffice“ genannte Paket, eine Umbenennung war notwendig da der Name bereits für ein anderes Produkt genutzt wurde, umfasst die Anwendungen Textverarbeitung, Tabellenkalkulation, Zeichenprogramm und Präsentation. Leider konnten nicht alle Komponenten von StarOffice als Freie Software in OpenOffice.org einfliessen, da Teile von externen Herstellern eingekauft wurden. Im wesentlichen handelte es sich dabei um die Rechtschreibkorrektur und das Drucksystem, beide Teile wurden mittlerweile in OpenOffice.org durch Komponenten aus dem OSS Bereich ersetzt, so daß dieses Paket wieder voll einsatzfähig ist. 428 Kapitel 11. Office Pakete OpenOffice.org besteht aus Textverarbeitung, Tabellenkalkulation, Präsentation, Zeichenprogramm, einem Modul zur Erstellung von Diagrammen, einem Formel-Editor und Dateiformat-Wandler (inklusive der Formate für Microsoft Office). 11.1.1. Installation OpenOffice.org ist noch nicht Bestandteil der Debian Distribution, ist aber aufgrund der Popularität trotzdem in einigen Debian CD Distributionen integriert, bzw. auf einer extra CD zu finden. Eine Integration in das Paketmanagement sollte dabei selbstverständlich sein, so das die gewünschten Pakete analog zu einer Installation aus dem Netz installiert werden können. Für eine Installation der OpenOffice.org Pakete aus dem Netz auf einem Debian GNU/Linux 3.0 „woody“ System ist folgende Zeile in der Datei /etc/apt/sources.list hinzuzufügen: deb http://ftp.freenet.de/pub/ftp.vpn-junkies.de/openoffice/ woody main contrib Wird auf dem System bereits die Entwicklerversion eingesetzt, so ist folgende Zeile zu verwenden: deb http://ftp.freenet.de/pub/ftp.vpn-junkies.de/openoffice/ unstable main contrib Auf dem Server sind verschiedene Versionen von OpenOffice.org für die Debian Releases „woody“, „sid“, „sarge“ usw. zu finden. Der Eintrag ist entsprechend der gewünschten Release anzupassen. Die Debian Pakete von OpenOffice.org werden von einem Team von Entwicklern gepflegt und sind auch für Nicht-Intel Architekturen verfügbar. Unter linux-debian.de/openoffice/ sind aktuelle Informationen, beispielweise auch ein Verzeichnis der Mirror Server im Netz, zu OpenOffice.org auf Debian GNU/Linux zu finden. OpenOffice.org wurde in viele kleinere Pakete aufgeteilt um so dem Administrator eine gezielte Auswahl der gewünschten Komponenten zu erlauben. fr@nigiri:~$ apt-cache search openoff openoffice.org - high-quality office productivity suite openoffice.org-bin - OpenOffice.org office suite binary files openoffice.org-help-de - OpenOffice.org office suite help (German) openoffice.org-help-en - OpenOffice.org office suite help (English) openoffice.org-help-es - OpenOffice.org office suite help (Spanish) openoffice.org-help-fr - OpenOffice.org office suite help (French) openoffice.org-help-it - OpenOffice.org office suite help (Italian) openoffice.org-help-sv - OpenOffice.org office suite help (Swedish) openoffice.org-l10n-ar - arabic language package for openoffice.org openoffice.org-l10n-da - danish language package for openoffice.org openoffice.org-l10n-de - german language package for openoffice.org openoffice.org-l10n-el - greek language package for openoffice.org openoffice.org-l10n-en - english_us language package for openoffice.org openoffice.org-l10n-es - spanish language package for openoffice.org openoffice.org-l10n-fr - french language package for openoffice.org openoffice.org-l10n-it - italian language package for openoffice.org openoffice.org-l10n-ja - japanese language package for openoffice.org openoffice.org-l10n-ko - korean language package for openoffice.org openoffice.org-l10n-nl - dutch language package for openoffice.org openoffice.org-l10n-pl - polish language package for openoffice.org openoffice.org-l10n-pt - portuguese language package for openoffice.org openoffice.org-l10n-ru - russian language package for openoffice.org openoffice.org-l10n-sv - swedish language package for openoffice.org openoffice.org-l10n-tr - turkish language package for openoffice.org openoffice.org-l10n-zh-cn - chinese_simplified language package for openoffice.org openoffice.org-l10n-zh-tw - chinese_traditional language package for openoffice.org 429 Kapitel 11. Office Pakete openoffice.org-spellcheck-de-at - German spellchecking for OpenOffice.org (Austria) openoffice.org-spellcheck-de-ch - German spellchecking for OpenOffice.org (Switzerland) openoffice.org-spellcheck-de-de - German spellchecking for OpenOffice.org (Germany) openoffice.org-spellcheck-fr-fr - French spellchecking for OpenOffice.org gramps - Genealogical Research and Analysis Management Program libming-fonts-openoffice - Fonts for use with the Ming Library for SWF Creation libspreadsheet-writeexcel-perl - Perl5 module to create Excel spreadsheets. mybulgarian - Bulgarian dictionary for OpenOffice myhungarian - The Hungarian dictionary for OpenOffice. ooqstart-gnome - OpenOffice QuickStarter applet for GNOME ttf-openoffice - OpenOffice TrueType Fonts Viele Pakete dienen der Internationalisierung der Oberfläche (Pakete „openoffice.org-l10n-*“), hier sollte das Paket für eine deusche Benutzeroberfläche installiert werden. Absolut notwendig sind die Pakete „openoffice.org“ und „openoffice.org-bin“, welche die eigentliche Programme enthalten. Sinnvoll für den deutschsprachigen Anwender sind „openoffice.org-help-de“ - die Hilfedateien und „openoffice.org-spellcheck-de-de“ - die Rechtschreibprüfung. Die gewünschten Pakete können nun mittels apt-get install openoffice.org openoffice.org-bin openoffice.org-l10n-de (usw.) installiert werden. 11.1.2. Konfiguration Beim ersten Aufruf des Programmes wird für jeden Benutzer ein Installationsprogramm gestartet. Dies ist notwendig da individuelle Parameter wie zum Beispiel Benutzername, Adresse usw. gespeichert werden. Die Einstellungen werden in der Datei ~/.sversionrc sowie im Verzeichniss ~/.openoffice gespeichert. Weiterhin werden in diesem Verzeichniss Links angelegt mit denen dieses Installationsprogramm jederzeit, durch Aufruf von .openoffice/[version]/setup, wieder aufgerufen werden kann. Ist dieses jedoch bereits einmalig aufgeführt worden, so stehen dort das reparieren und entfernen der Konfiguration zur Auswahl. Die wesentlichen Einstellungen lassen sich über das Menü „Extras“ - „Optionen“ in einem umfangreichen Dialog konfigurieren. Abbildung 11-2. Ein weiteres Programm zu Konfiguration findet sich ebenfalls, als spadmin, in diesem Verzeichnis. Mit spadmin läßt sich ein Drucker konfigurieren. Dieser Drucker kann übrigens auch so konfiguriert werden das 430 Kapitel 11. Office Pakete die Dateien im PDF Format auf der Festplatte gespeichert werden. Eine Faxlösung kann an dieser Stelle ebenfalls konfiguriert werden. Abbildung 11-3. OpenOffice.org - spadmin Sind alle Einstellungen vorgenommen, so läßt sich OpenOffice.org auf der Kommandozeile durch das Kommando openoffice starten. Im ersten Menü („Datei“) lassen sich unter dem Eintrag „Neu“ leere Dokumente als Textverarbeitung, Tabellenkalkulation usw. erzeugen. Alle OpenOffice.org Komponenten werden auch in das Debian Menüsystem aufgenommen, womit entsprechende Einträge in jeder Desktop Umgebung (GNOME oder KDE) bzw. bei jedem Windowmanager zur Verfügung stehen. 11.1.3. Textverarbeitung Als wichtigstes Teil von OpenOffice.org ist zuerst sicher der Textverarbeitungsteil zu sehen. Wird das Programm wie oben beschrieben aus der Kommandozeile oder aus dem Menü heraus gestartet, so wird dieser Teil des Paketes gestartet. 431 Kapitel 11. Office Pakete Abbildung 11-4. OpenOffice.org - Textverarbeitung Auf die Funktionen des Programms kann entweder über die Menüleiste oder aber über die Symbolleisten zugegriffen werden. Beide Leisten passen sich der jeweiligen Anwendung an, was bedeutet das die Einträge je nach Anwendungsfall (Textverarbeitung, Tabellenkalkulation usw.) unterschiedlich sind. Die wichtigsten Einträge in der Menüleiste sind: • Datei: hier finden sich Unterpunkte für das Öffnen und Schließen, sowie Speichern und Drucken von Dokumenten sowie andere grundlegende Funktionen • Bearbeiten: Einträge für das Editieren (Ausschneiden, Kopieren, Einfügen) von Text, Suchen, ... Ansicht: Ansichtsoptionen, Symbolleisten ein- und ausblenden, ... • Einfügen: für das Einfügen von Objekten, Sonderzeichen, erzwungenen Seitenumbrüchen, ... • Format: Formatierungsoptionen für Schrift, Absatz, ... • Extras: Rechtschreibung, Optionen, ... • Fenster: Steuerung der Fenster • Hilfe: Hilfefunktion mit Suchmöglichkeit Ein weiteres sinnvolles Werkzeug ist der „Stylist“. Sollte dieses Fenster nicht zu sehen sein so kann es jederzeit mit der Taste F11 aufgerufen werden. 432 Kapitel 11. Office Pakete Abbildung 11-5. Mit dem Stylisten lassen sich Überschriften, Abschnitte usw. festlegen. 11.1.4. Tabellenkalkulation Eine weitere wichtige Komponente ist die Tabellenkalkulation. 433 Kapitel 11. Office Pakete Abbildung 11-6. OpenOffice.org - Tabellenkalkulation 11.1.5. OpenOffice.org Links Deutschsprachige Webseiten zu OpenOffice.org de.openoffice.org Vorlagen u.a., auch für den deutschsprachigen Raum www.ooodocs.org 11.2. GNOME-Office Als GNOME-Office bezeichnet man eine Zusammenstellung verschiedener Komponenten aus dem GNOME Projekt. Folgende Pakete gehören zum GNOME-Office Projekt: Gnumeric, AbiWord, Balsa, Evolution, GFax, Galeon, Gimp, Eye of GNOME, Sodipodi, Sketch, Guppi, Dia, Achtung, GnuCash, MrProject, Toutdoux und GNOME-DB Als Meta-Paket kann gnome-office installiert werden, dieses Paket enthält die notwendigen Abhängigkeiten für die GNOME-Office Komponenten. 11.3. KDE Office K-Office oder KDE Office wurde aus Komponenten des KDE Projektes zusammengestellt. Diese sind KWord, KSpread, KPresenter, Kivio, Kontour, Krita, Kugar und KChart. Als Meta-Paket kann hier koffice installiert werden. 434 Kapitel 12. Text Um Linux nicht nur im Serverbereich populär zu machen, ist es wichtig, daß auch Anwendungen entwickelt werden, die aus dem typischen Office-Bereich stammen. Sicher kamen auch Sie schon einmal in die Situation, einen Brief erstellen zu müssen. Debian GNU/Linux bietet eine Vielzahl von Texteditoren, mit diesen lassen sich Texte in „Rohform“ erfassen, also ohne Formatierungen wie fett, kursiv usw. Diese Werkzeuge werden von jedem Programmierer benötigt und sind vielfach auf diese Benutzergruppe angepaßt. Sehr beliebt sind auch Programme und Werkzeuge, mit denen sich gut gestaltete Texte erstellen lassen, die aber über keine grafische Benutzeroberfläche verfügen. Die Texte werden dabei in einem beliebigen Editor erfaßt und mit Kennzeichnungen für die Formatierung versehen, ähnlich wie Sie es vielleicht aus der Sprache des Web kennen, dem HTML-Format. Je nach verwendetem Format lassen sich mit den verschiedensten Programmen alle nur denkbaren Ausgabeformate erstellen, wie HTML, Postscript, PDF oder auch ganz einfacher ASCII-Text. Mit Programmen zur weiteren Bearbeitung und Gestaltung von Texten, wie man Sie von anderen Betriebssystemen kennt, sah es lange Zeit unter GNU/Linux schlecht aus. Die erste bekanntere Anwendung war WordPerfect, die schon lange unter Unix lauffähig war, und auf GNU/Linux angepaßt wurde. Ein weiteres Paket, Applixware, ist ebenfalls schon lange erhältlich, aber nicht sehr verbreitet. Am populärsten dürfte wohl das Paket StarOffice sein, welches seit mehreren Jahren unter GNU/Linux lauffähig ist, und von Anfang an, entgegen der Philisophie auf anderen Betriebssystemen, kostenfrei für den privaten Gebrauch unter GNU/Linux verfügbar war. Alle diese Office-Pakete, die auch über eine Textverarbeitung verfügen, sind nicht Bestandteil von Debian GNU/Linux, da diese nicht den Richtlinien für freie Software im Sinne von Debian entsprechen. Auch wenn sie, wie StarOffice, kostenlos abgegeben werden. Dies bedeutet natürlich nicht, daß Sie diese Programme nicht unter Debian GNU/Linux installieren können... Mit der nächsten Version wird der Quellcode von StarOffice unter einer freien Lizenz verfügbar sein und somit auch in Debian GNU/Linux einfließen können, diese Software wird dann unter dem Namen (http://www.openoffice.org) OpenOffice verbreitet werden. Aber natürlich gibt es auch in diesem Bereich freie Alternativen, die den Weg in die Debian GNU/Linux-Distribution gefunden haben. 12.1. AbiWord Neben Gimp und Gnumeric stellt AbiWord als Textverarbeitung einen wichtigen Baustein im Bereich der Office-Anwendungen dar. Diese Textverarbeitung stellt als OpenSource Projekt eine kleine Besonderheit dar: neben der Betriebssystemplattform Unix wird auch die Windows-Welt unterstützt. Als Grundlage diente den Programmierern von AbiWord das Toolkit gtk+, welches auch bei GNOME, Gimp und vielen anderen Anwendungen benutzt wird. AbiWord unterstützt folgende Funktionen: • Formatierung von Zeichen (fett, fursiv, unterstrichen usw.) • Absatzausrichtung • Rechtschreibkontrolle • Dateiformate: XML sowie HTML und ASCII-Text • Import von Word97 und RTF-Dokumenten. • Interaktive Lineale und Tabulatoren • Styles • unbegrenztes Undo/Redo • suchen und ersetzen • Grafiken • Druckfunktion 435 Kapitel 12. Text Wenn Sie schon einmal mit einer Textverarbeitung gearbeitet haben, wird Ihnen der Einstieg in AbiWord sehr leicht fallen. Über die Symbolleiste am oberen Fensterrand sind die meisten Funktionen direkt zu erreichen, weitere finden sich in der Menüleiste. Momentan wird als einziges Format für Grafiken innerhalb des Textes das Dateiformat PNG unterstützt, beachten Sie dies auch beim Import von Dateien, die Grafiken werden hier nicht mit importiert. Wenn Sie bereits Ihr System so konfiguriert haben, daß unter GNOME alle Programme mit deutschsprachigen Menüs und Dialogen arbeiten, wird Ihnen sicher auffallen, daß dies bei AbiWord (noch) nicht der Fall ist. Hier ist momentan noch ein wenig Handarbeit notwendig. Beim ersten Start von AbiWord wird in Ihrem Homeverzeichnis ein Verzeichniss .AbiSuite angelegt. In diesem befindet sich die Datei AbiWord.Profile, in welcher folgende Änderungen vorzunehmen sind: - Ändern Sie alle Wörter _builtin_ in _custom_ - Ändern Sie die Zeichenkette „EnEN“ in den drei Einträgen MenuLabelSet="EnEN", StringSet="EnEN" und ToolbarLabelSet="EnEN" in "DeDE". Wenn Sie statt Deutsch eine andere Sprache verwenden wollen, stehen Ihnen folgende Sprachen zur Auswahl (wählen Sie die passende Variable): • DaDK: Danish • DuNL: Dutch • EsES: Spanish • FiFI: Finnish • FrFR: French • ItIT: Italian • NoNO: Norwegian Abbildung 12-1. AbiWord 436 Kapitel 12. Text Nach einem Neustart von AbiWord erscheinen die Menüs in der gewünschten Sprache. Die Rechtschreibprüfung von AbiWord benutzt die Datei american.hash, um den von Ihnen geschriebenen Text zu überprüfen. Diese Datei benutzt das gleiche Format wie das Programm ispell, Sie können diese Datei einfach durch eine Datei in der gewünschten Sprache ersetzen. Debian GNU/Linux liefert einige dieser Wörterbucher mit, eine komplette Liste finden Sie unter: http://fmg-www.cs.ucla.edu/geoff/ispell-dictionaries.html Nach der Installation von AbiWord zeigt ein symbolischer Link auf das Standard-Wörterbuch von ispell: fr@sushi:~$ ls -l /usr/share/abisuite/dictionary/american.hash lrwxrwxrwx 1 root root 32 Sep 1 16:44 /usr/share/abisuite/dictionary/american.hash 12.2. xpdf xpdf dient zur Anzeige von Dateien im PDF-Format unter X. Im Gegensatz zum später beschriebenen Acrobat-Reader ist xpdf OpenSource Software. Abbildung 12-2. xpdf Alle benötigten Funktionen sind über die Schaltflächen am unteren Fensterrand zu erreichen. Oft benötigte Funktionen können auch mit der rechten Maustaste aufgerufen werden. Sie können über die Schaltflächen im Dokument navigieren und auch das Dokument drucken, soweit ein Drucker angeschlossen und konfiguriert ist. 437 Kapitel 12. Text 12.3. acroread Alternativ zu xpdf können Sie auch den Acrobat-Reader von Adobe zum Betrachten von PDF-Dateien benutzen. Auch dieses Programm verfügt über einige Optionen, die auf der Kommandozeile angegeben werden können. Usage: /usr/bin/X11/acroread [options] [list of files] Options: -display <display> This option specifies the host and display to use. -geometry [<width>x<height>][{+|-}<x offset>{+|-}<y offset>] Size and/or location of the document windows. -help Prints the common command-line options. -helpall Prints out all command-line options. -iconic Launches in an iconic state on the desktop. -toPostScript [options] pdf_file ... [ps_dir] -toPostScript [options] -pairs pdf_file_1 ps_file_1 ... -toPostScript [options] Converts the given pdf_files to PostScript. In the first form, if the last file specified is a directory, then all preceding files will be converted to PostScript and the generated PostScript files will be placed into ps_dir. If a directory is not specified, then the PostScript files will be placed in the same directory as the original file. In the second form, the file list contains pairs, each consisting of a PDF filename and a corresponding PostScript filename. The third form specifies a filter, reading a PDF file from standard input and writing the PostScript file to standard output. The following are valid options for the conversion of PDF to PostScript: -binary - emit binary PostScript where possible -end <int> - identify the last page in the document to be converted (default is the last page of the document) -fast - emit PostScript such that all fonts are emitted once at the beginning of the document. This results in faster transmission times and smaller PostScript documents but requires more PostScript printer VM. -landscape - rotate the pages to print landscape -reverse - reverse the page order of the output -odd - emit only odd-numbered pages -even - emit only even-numbered pages -annotsOff - don’t print annotations -level1 - emit Level 1 PostScript (default is Level 2 PostScript) -level2 - emit Level 2 PostScript -level3 - emit Level 3 PostScript -printerhalftones - use the printer default halftones. -scale <int> - scale the pages according to the scale factor (default is 100 percent) -shrink - scale the pages to fit the page size -size <pagesize> - set the page size. The following page sizes are recognized: letter - letter size paper 438 Kapitel 12. Text tabloid - tabloid size paper ledger - ledger size paper legal - legal size paper executive - executive size paper a3 - standard A3 size a4 - standard A4 size a5 - standard A5 size b4 - standard B4 size b5 - standard B5 size wxh - custom size paper where w is the integer width in points and h is the integer height in points -start <int> - identify the first page in the document to be converted (default is the first page of the document) -xrm <X resource specification> Standard X Window System resource specification on command line. Abbildung 12-3. Acrobat-Reader Am interessantesten sind hier die Optionen, um aus der PDF-Datei eine Datei im Postscript-Format zu erzeugen. Hier haben Sie auch die Möglichkeit, nur gerade oder ungerade Seiten auszugeben oder die Papierausrichtung (Hoch- / Querformat) zu verändern. Sehr nützlich ist auch die Option, um die Seiten in der Postscriptdatei in umgekehrter Reichenfolge anzuordnen, Sie müssen so bei einigen Druckern die Seiten nach dem Ausdruck nicht von Hand umsortieren. Normalerweise werden Sie den Acrobat-Reader aber lediglich mit dem Dateinamen der zu ladenden Datei aufrufen. Die meisten Einstellungen können aber natürlich auch über die grafische Oberfläche vorgenommen werden. 439 Kapitel 13. Kalkulation 13.1. Gnumeric Gnumeric ist eine Tabellenkalkulation aus dem GNOME-Projekt. Gnumeric verfügt über eine große Anzahl mathematischer Funktionen, die Sie vielleicht schon von Tabellenkalkulationen auf anderen Betriebssystemen kennen. Das Ziel der Entwickler von Gnumeric ist es, möglichst viele nützliche Funktionen zu implementieren und so eine leistungsfähige und ressourcenschonende Alternative zu kommerziellen Produkten zu bieten. Um den Umstieg zu erleichtern, wurde Gnumeric zum Beispiel mit Importfunktionen für Dateien im Excel-Format ausgestattet. Wenn Sie bereits mit einer Tabellenkalkulation gearbeitet haben, wird Ihnen der Ein- oder Umstieg auf Gnumeric leichtfallen. Bei einer Tabellenkalkulation können Sie in jede Zelle eines Arbeitsblattes Texte, Zahlen, Formeln oder Verweise auf andere Zellen eingeben. Jede Änderung hat eine Neuberechnung der Zellen zur Folge, die sich auf das Eingabefeld beziehen. Des weiteren können Sie Schriftgrößen und Farben sowie weitere Attribute jeder einzelnen Zelle verändern. Um auf alle Funktionen zugreifen zu können, müssen die Pakete gnumeric und libguppi13 installiert werden. 13.1.1. Eingeben von Daten Um Daten in eine Zelle einzugeben, klicken Sie einfach mit der linken in die gewünschte Zelle. Die aktive Zelle wird mit einem grauen Rahmen markiert. Sie können die Markierung auch mit den Cursortasten bewegen und so eine andere Zelle aktivieren. 13.1.2. Zeichenketten und Zahlen Am einfachsten gestaltet sich die Eingabe von Zeichenketten und Zahlen in einer Zelle. Hierbei handelt es sich um feste Werte, der Wert, den Sie in eine solche Zelle eingeben, wird auch am Bildschirm angezeigt. Für diese Eingabewerte gibt es keine spezielle Syntax. Die einzige Beschränkung, die diesen Felder auferliegt ist, daß diese nicht mit einem „=“-Zeichen beginnen dürfen, da es für die Eingabe von Formeln reserviert ist. Abbildung 13-1. Gnumeric Eingabe 13.1.3. Datumsfelder Datumsfelder sind spezielle Zellen, in denen eine Zeichenkette eingegeben wurde, welche als Datum erkannt wird. Der von Ihnen eingegebene Wert wird in eine serielle Zahl umgewandelt, welche das eigentliche Datum darstellt. Über das automatisch vergebene Format der Zelle wird das gewünschte Datum dargestellt. 440 Kapitel 13. Kalkulation Als serielle Zahl bezeichnet man einen Wert, welcher ständig ab einem bestimmten Startwert (meist 0) um eins erhöht wird. Datumsfelder können zusammen mit der Funktion „autoausfüllen“ benutzt werden, auf diese gehen wir später noch ein. 13.1.4. Ändern von Zellen Nachdem Sie nun schon einige Zellen mit Werten oder Texten gefüllt haben, ist Ihnen vielleicht aufgefallen, daß es recht praktisch ist, mit den Cursortasten zwischen den Zellen wechseln zu können. Wenn Sie aber die Daten in einer Zelle verändern wollen, können Sie nicht innerhalb dieser Zelle mit den Cursortasten zwischen den einzelnen Zeichen „navigieren“. Vielleicht ist Ihnen schon die Eingabezeile unterhalb der Werkzeugleiste aufgefallen. Abbildung 13-2. Gnumeric Eingabezeile Wenn Sie bisher nur Texte und Zahlen eingegeben haben, enthält diese Eingabezeile die gleichen Werte wie die in der Tabelle markierte Zelle. Wenn Sie bereits eine Formel eingegeben haben, sehen Sie in der Eingabezeile die Formel und in der Zelle das Ergebnis. Sie können nun mit der Taste F2 in den erweiterten Eingabemodus wechseln. Nun können Sie auch mit den Cursortasten in der Zelle bzw. in der Eingabezeile umherwandern. Sie verlassen diesen Modus mit der Eingabetaste oder mit einem Mausklick auf eine andere Zelle. 13.1.5. Formeln Formeln sind das Kernstück jeder Tabellenkalkulation. Eine Formel kann als Argumente alle möglichen Werte, wie zum Beispiel Zahlen, Verweise auf Felder oder ganze Bereiche usw., enthalten. Eine Formel beginnt immer mit einem Gleichheitszeichen „=“. Alles nach diesem Zeichen wird entsprechend berechnet. Die einfachsten Formeln benutzen die vier Symbole für die Grundrechenarten: +, -, * und /. Wenn Sie also beispielsweise in eine Zelle die Formel =8+2 eingeben und die Eingabetaste drücken, wird Gnumeric diese Eingabe als Formel erkennen und den Wert „10“ in der Zelle berechnen. Gnumeric befolgt alle bekannten Regeln der Mathematik, Sie müssen also unter Umständen durch entsprechende Klammern dafür sorgen, daß Formeln, die Punkt- und Strichrechnung enthalten, in der 441 Kapitel 13. Kalkulation gewünschten Reihenfolge berechnet werden. Die Formel =(5*)+(49/7) wird als Ergebnis den Wert „32“ liefern. 13.1.6. Bezüge Sicher haben Sie schon bemerkt, daß die Zeilen und Spalten in Gnumeric mit Zahlen bzw. Buchstaben bezeichnet sind. Dies erlaubt es, wie auf einem Schachbrett jedes Feld eindeutig zu beschreiben. Das Feld in der linken, oberen Ecke wird mit „A1“ bezeichnet, das Feld rechts daneben mit „b1“ usw. Sie können diese Feldbezeichnungen auch genau in dieser Form in Formeln verwenden. Wenn Sie beispielsweise im Feld A1 den Wert 55 eingetragen haben, so würde das Ergebnis der Formel =a1+45 „100“ lauten. 13.1.7. Funktionen In Gnumeric wurden die meisten mathematischen Funktionen aus den Bereichen Mathematik, Finanzmathematik, Statistik und Wissenschaft implementiert. Jede Funktion stellt sich im Prinzip wie folgt dar: =FUNKTION(ARGUMENTE). Wenn Sie bereits mit Tabellenkalkulationen auf anderen Betriebssystemen gearbeitet haben, müssen Sie sich unter Umständen ein wenig umstellen - alle Funktionen in Gnumeric werden in englischer Sprache geschrieben. Dies ist in anderen Programmen, wie zum Beispiel Excel anders, hier wird die Muttersprache des Anwenders auf die Funktionen angewendet. Hier einige einfache Beispiele für Funktionen: =SUM(A1,A2,A4,B5) =AVERAGE(A1:A16) =EXP(1) =PI() =MIN(A1,A2,B6) Wenn eine Funktion mehrere Argumente verarbeiten kann, wie in diesem Beispiel die Funktion SUM, so können Sie hier eine unbegrenzte Anzahl von Argumenten angeben. 13.1.8. Namen Sie können einer Zelle, die eine sehr komplexe Formel enthalten kann, einen leicht zu merkenden Namen zuweisen. Namen können aber auch einem Zellbereich zugewiesen werden, es reicht dann, innerhalb einer Formel den Namen zu benutzen, und nicht den Bereich, auf den sich die Formel bezieht. Hier wieder einige Beispiele für die Verwendung von Namen: =VLOOKUP (C1, "gnu", DataBase, 2, 0) =LN(E_Constant) =SUM(DataBase, E_Constant) Diese setzt voraus, daß dem Bereich „$A$1:$B$500“ (oder ein anderer Bereich) der Name „DataBase“ zugewiesen wurde und der Name „E_Constant“ auf einen Wert 2.71828182845 verweist. Sie können einer Zelle oder einem Bereich einen Namen zuweisen, indem Sie auf die gewünschte Zelle klicken oder mit der linken Maustaste den Bereich markieren und anschließend aus dem Menü „Bearbeiten“ den Eintrag „Definiere Zellennamen“ auswählen. 442 Kapitel 13. Kalkulation Abbildung 13-3. Gnumeric Eingabezeile In diesem Dialog können Sie einen neuen Namen für den gewählten Bereich angeben oder bereits definierte Namen verändern bzw. die zugewiesenen Bereiche anpassen. Sie sollten für Zellen oder Bereiche keine Namen verwenden, die schon von den in Gnumeric implementierten Funktionen verwendet werden. Dies würde natürlich zu Konflikten führen. 443 Kapitel 14. Multimedia Auch der Bereich Multimedia hat bei GNU/Linux längst Einzug gehalten, neben Soundkarten sind hier insbesondere TV-Karten, DVDs und natürlich die Videobearbeitung zu nennen. 14.1. Sound 14.1.1. Soundkarte einrichten Um eine Soundkarte unter Debian GNU/Linux zu aktivieren, müssen Sie die nötigen Treiber als Module laden oder fest in den Kernel einkompilieren. Bei einer Soundkarte gibt es keinen Grund, die Treiber nicht als Module zu laden, eine Soundkarte wird normalerweise nicht beim Systemstart benötigt und kann also problemlos später als Modul geladen werden. GNU/Linux unterstützt eine Vielzahl von Soundkarten, Sie müssen also zunächst herausfinden, welche Soundkarte sich in Ihrem Rechner befindet. Wenn Sie ein Motherboard mit integriertem Soundchip verwenden oder GNU/Linux auf einem Notebook verwenden wollen, werden Sie keine eigene Soundkarte als Steckkarte in Ihrem Rechner finden. Wenn sich eine Steckkarte in Ihrem Rechner befindet, hilft oft ein Blick auf die auf der Karte aufgedruckten Angaben. Viele Karten und Chipsätze sind zu den sehr verbreiteten „Soundblaster“-Karten kompatibel, diese verwenden das Kernelmodul sb. Sehr verbreitet sind auch Karten, die das Modul es1371 verwenden, zu diesen gehören auch einige preiswertere Soundblaster-Modelle. Für alle Soundkarten müssen Sie jedoch zuallererst das Modul soundcore laden, am einfachsten mit dem Kommando modprobe soundcore. Dieses stellt Funktionalitäten zur Verfügung, die von allen weiteren Treibern für Soundkarten benutzt werden. Laden Sie danach das benötigte Modul für Ihre Soundkarte, beispielsweise mit modprobe es1371. Ob das Laden der Module erfolgreich war, sehen Sie schon auf der Kommandozeile, ein Blick in die Datei /var/log/syslog verrät Ihnen aber noch mehr Details. Wenn Sie eine ältere Soundkarte verwenden, die in einem der ISA-Steckplätze Ihres Rechners untergebracht ist, dann müssen Sie eventuell beim Laden des Moduls weitere Parameter wie zum Beispiel den benötigten Interrupt dieser Karte angeben. Bei neueren Karten, die im PCI-Steckplatz des Rechners untergebracht sind, ist dies nicht der Fall. Damit ist die eigentliche Installation der Soundkarte bereits abgeschlossen. Wenn Sie weitere Funktionen der Karte nutzen wollen (wie zum Beispiel eine MIDI-Schnittstelle), so kann es notwendig sein, weitere Module zu laden. Die Funktionsfähigkeit der Karte und der geladenen Treiber können Sie sehr leicht von der Kommandozeile aus feststellen. Auch Soundkarten werden unter GNU/Linux, wie alle anderen Geräte auch, über Gerätedateien angesprochen. Mit dem Kommando cat können Sie eine Sounddatei einfach über die Gerätedatei /dev/audio zur Soundkarte schicken. Meist wurde während der Installation von Debian GNU/Linux bereits die ein oder andere Sounddatei auf Ihrem Rechner installiert, Sie können diese mit dem Kommando locate .wav suchen und eine dieser Dateien dann ausgeben lassen. Hier ein prinzipielles Beispiel, passen Sie dieses bitte an Ihre Gegebenheiten an: fr@linux:~$ locate .wav /usr/share/sounds/logout.wav /usr/share/sounds/panel/slide.wav /usr/share/sounds/phone.wav ... fr@linux:~$ cat /usr/share/sounds/logout.wav > /dev/audio Wenn dieser Test erfolgreich ist, können Sie sich an die weitere Arbeit machen und einige der im folgenden vorgestellten Programme ausprobieren. 444 Kapitel 14. Multimedia 14.2. Xmms Xmms, das „X Multimedia Sound System“, ist ein sehr vielfältiges Programm zum Abspielen von Audio-CDs und Musik-Dateien aller Art. Xmms kann über Plugins erweitert werden, es existieren auch Plugins mit denen sich Videodaten anzeigen lassen. Die Oberfläche von Xmms erinnert an einen Cassetten- oder Videorecorder, so daß Sie sich schnell in die Bedienung einfinden werden. In der Titelzeile des Programms finden Sie drei Schaltflächen: die linke verkleinert Xmms, die mittlere zeigt nur noch die Titelzeile an und die rechte beendet Xmms. Im Fenster selber wird Ihnen der Status (Play, Pause, Stop) und die Spielzeit des aktuellen Songs angezeigt. 14.2.1. „Skins“ Xmms kann über sogenannte „skins“ im Aussehen verändert werden. Einige Beispiele finden Sie zum Download auf der Homepage von Xmms ( http://www.xmms.org ), kopieren Sie diese in das Verzeichnis ~/.xmms/Skins/. Sie müssen das Archiv nicht entpacken, Xmms kann auch mit gepackten „skins“ umgehen. Beachten Sie bitte, daß dazu das Programm unzip installiert sein muss. Starten Sie nun Xmms, mit der Tastenkombination ALT+S öffnet sich ein Fenster, in dem Sie die installierten „skins“ auswählen können. Xmms speichert den zuletzt gewählten „skins“ in der Datei ~/.xmms/config. Sie können hier auch auswählen, daß bei jedem neuen Song auch das Aussehen geändert werden soll. Wenn Sie die „skins“ in Ihrem Homeverzeichnis (~/.xmms/Skins/ speichern, stehen diese nur Ihnen zur Verfügung. Sie können die Archive auch (als Superuser) unter /usr/share/xmms/Skins/ installieren, so daß sie allen Benutzern zur Verfügung stehen. Kleiner Tip: Xmms kann auch die „skins“ des Programms WinAmp verwenden. 14.2.2. Hauptfenster Wenn Sie in den Bereich des Spectrum Analyzers klicken, können Sie das Aussehen verändern. Im linken Bereich sehen Sie die Buchstaben O A I D V, diese öffnen bei einem Mausklick ein Menü oder führen eine Aktion aus. 445 Kapitel 14. Multimedia Abbildung 14-1. xmms Rechts davon sehen Sie den Titel des aktuellen Songs sowie die Spielzeit und die Position des Songs in der Titelliste (Playlist). Weiter unten sehen Sie statistische Angaben zu: • MP3 Bitrate in kBps (meist 128 oder 112) • Sample Rate in kHz (meist 44) • Stereo oder Mono Weiter finden einen Schieberegler für die Lautstärke, für die Balance sowie die Schaltflächen EQ für den Equalizer und PL für die Playlist (Titelliste). Der größte Schieberegler bewegt sich während des Abspielen eines Songs nach rechts, je nach aktueller Position im Lied. Sie können diesen mit der Maus an jede beliebige Stelle im Song schieben. Sie können Xmms auch über die Tastatur bedienen: 446 Kapitel 14. Multimedia • z - springt zum letzten Song • x - abspielen • c - Pause • v - Stop • b - nächster Song • l - öffnet die Dateiauswahl • j - springt zu einem anderen Song über eine Auswahl • CRTL+l - öffnet die Auswahl, um eine URL hinzuzufügen • CRTL+p - Voreinstellungen • CTRL+v - Visualisierungs-Plugin • CTRL+r - Restspielzeit • CTRL+a - „Always on Top“ • CTRL+w - zeigt nur eine schmale Zeile des Programms an • CTRL+d - doppelte Größe • CTRL+j - springt zu einer bestimmten Zeit im Song • CTRL+z - springt zum Anfang der Liste • Shift+Control+w - öffnet/schließt die Playlist • ALT+g - öffnet/schließt den Equalizer • ALT+s - öffnet den „Skin selector“ 14.2.3. Titelliste (Playlist) Sie können sich eine individuelle Liste Ihrer Lieblingstitel zusammenstellen und speichern. Abbildung 14-2. Xmms Playlist 447 Kapitel 14. Multimedia Das dazugehörige Fenster erreichen Sie über die Schaltfläche PL auf der rechten Seite des Fensters. Am unteren Rand des neuen Fensters finden Sie fünf Schaltflächen, hinter jeder dieser fünf Schaltflächen verbirgt sich ein Menü (halten Sie die Maustaste gedrückt). Die fünf Menüs, von links nach rechts: File + • + url - fügt eine URL hinzu • + dir - fügt ein Verzeichnis hinzu, rekursiv also mit allen Unterverzeichnissen • + file - fügt eine Datei hinzu File - • - misc - löscht alle Dateien in der Liste • - crop - löscht alle, mit Ausnahme der ausgewählten Dateien aus der Liste • - file - löscht die ausgewählten Dateien Sel All • inv sel - kehrt die aktuelle Auswahl um • sel zero - selektiert keine Datei • sel all - selektiert alle Dateien Misc Opt • sort - ruft ein Menü mit Sortieroptionen auf • file inf - Dateiinformationen • misc opts - extra Optionen Load List • new list - erzeugt eine neue Playlist • save list - speichert die aktuelle Liste • load list - lädt eine Liste, von der Festplatte oder aus dem Netz 14.2.4. Equalizer Sie erreichen den Equalizer über die Schaltfläche EQ, dies öffnet ein neues Fenster. 448 Kapitel 14. Multimedia Abbildung 14-3. Xmms Equalizer Um den Equalizer zu aktivieren, müssen Sie ihn mit der Schaltfläche ON einschalten. Auch werden die hier vorgenommenen Einstellungen in der Datei ~/.xmms/config gespeichert, wenn Sie Xmms beenden. Über die Schaltfläche Preset können Sie verschiedene Einstellungen laden, das Format von WinAmp wird auch hier unterstützt. 14.2.5. Voreinstellungen Sie erreichen die Voreinstellungen über das Menü (Options/Preferences) oder mit der Tastenkombination CTRL+p. Die Voreinstellungen sind in die vier Bereiche „Audio I/O Plugins“, „Effect/General Plugins“, „Visualization Plugins“ und „Options“ aufgeteilt. 14.2.5.1. Audio I/O Hier finden Sie verschiedene Plugins für unterschiedliche Medien und Formate. Sie können verschiedene Input Plugins wählen und konfigurieren: • CD Audio Player - Geben Sie hier das Device an, an dem Ihr CD-ROM angeschlossen ist. Weiterhin können Sie hier die Lautstärke einstellen. Um mit diesem PlugIn Audio CDs abspielen zu können, muß in der Playlist (über File +) die entsprechende Gerätedatei (meist wird dies /dev/cdrom sein) hinzugefügt werden. Die Anzeige der Titel auf der CD kann automatisch erfolgen wenn der Rechner ans Internet angeschlossen ist. Als Voreinstellung wird http://www.freedb.org, bzw. einer der Server, benutzt. • MPEG Layer 1/2/3 Player - hier können Sie den Buffer und einen Proxy-Server einstellen. Weiterhin können Sie hier das Speichern der Daten aus dem Netz auf die Festplatte aktivieren. • Wave Player - keine Einstellmöglichkeiten • id software cin player - ebenfalls keine Einstellungen, Player für das Quake II Format Von den Output Plugins kann nur eins zur Zeit aktiv sein: • OSS Driver - dieses Plugin versorgt die Soundkarte mit den nötigen Daten. Wenn Sie über mehrere Soundkarten in Ihrem Rechner verfügen, können Sie hier eine auswählen. Weiterhin können Sie hier bestimmen, wieviel Speicher zur Pufferung von Daten verwendet werden soll. • eSound Output Plugin - Wenn Sie eSound (http://www.tux.org/~ricdude/EsounD.html) installiert haben, können Sie hier den Server wählen, der benutzt werden soll. 449 Kapitel 14. Multimedia • Disk Writer Plugin - Mit diesem Plugin können Sie jeden Sound, der von den Input Plugins gelesen werden kann, im WAV-Format speichern. • Effect/General Plugins - Hier haben Sie verschiedene Plugins zur Auswahl, beispielsweise um Xmms mit einem Joystick oder einer Infrarotschnittstelle zu steuern. Ziemlich lustig ist auch das „Echo“ Plugin... probieren Sie es aus! 14.2.5.2. Visualization Plugins Hier finden Sie einige tolle Plugins, um Ihre Songs auch grafisch richtig zur Geltung zu bringen. Am beeindruckensten ist sicher das OpenGL Plugin, Sie können hier die Tasten z, x, c, v, b wie im Hauptfenster benutzen. Zusätzlich können Sie die Pfeiltasten zum Verändern der x- und z-Achsen und die Tasten q und w zum Verändern der y-Achse benutzen. Die RETURN-Taste setzt die Werte zurück. Abbildung 14-4. Xmms OpenGL Plugin 14.2.5.3. Options Hier finden Sie diverse Einstellmöglichkeiten, die u.a. das Aussehen von Xmms beeinflussen oder das Verhalten verändern. 14.2.6. Xmms von der Kommandozeile Meist werden Sie Xmms über ein Menü Ihres Windowmanagers oder aus dem GNOME Panel starten. Xmms verfügt aber auch über ein paar sehr nützliche Kommandozeilenoptionen. Wenn Sie Xmms mit einem oder mehreren Dateinamen von der Kommandozeile aufrufen und Xmms bereits gestartet ist, so wird die aktuelle Titelliste durch die auf der Kommandozeile angegebenen Dateien ersetzt. 450 Kapitel 14. Multimedia Die komplette Übersicht erhalten Sie mit der Option --help: Usage: xmms [options] [files] ... Options: -h, --help Display this text and exit. -n, --session Select XMMS session (Default: 0) -r, --rew Skip backwards in playlist -p, --play Start playing current playlist -u, --pause Pause current song -s, --stop Stop current song -f, --fwd Skip forward in playlist -e, --enqueue Add file to current playlist -m, --show-main-window Show the main window -v, --version Print version number and exit. Die meisten Optionen sind selbsterklärend, nützlich ist die Option -e, diese fügt die angegebenen Dateien der aktuellen Playliste hinzu. 14.2.7. Features Die meisten Features von Xmms wurden bereits angesprochen, daher hier nur einige Stichpunkte: MP2 und MP3 streams, WAV/AU samples, diverse Modul-Formate (mod, xm, s3m, med, it, 669, amf, dsm, far gdm, imf, m15, mtm, stm, stx, ult, uni), CD Audio, Shout / Icecast, Spectrum Analyzer, Winamp 2.0 Skinunterstützung (wsz-Dateien), Gnome/Afterstep/WindowMaker Dock-Applikation, Maus mit Scrollrad... 14.2.8. Xmms und Netscape Sie können Xmms direkt aus Netscape benutzen, um Internetradio zu hören, stellen Sie dazu in Netscape unter „Edit/Preferences/Navigator/Applications“ einen neuen Mimetype „audio/x-scpls“ mit der Anwendung „xmms %s“ ein. Dies funktioniert mit dem Server http://www.shoutcast.com. Für MP3-Dateien vom Server http://www.mp3.com benutzen Sie die Werte: mimetype: audio/x-mpegurl, suffix: m3u, application: xmms %s . 451 Kapitel 14. Multimedia Abbildung 14-5. Xmms/Netscape Eine gute Übersicht aktueller MP3-Server finden Sie in dem Telepolis-Artikel „MP3: Gratis, legal und qualitativ wertvoll“ unter der URL: http://www.heise.de/tp/deutsch/inhalt/musik/3479/1.html. 14.3. zinf Zinf ist ein erweiterbarer Audio Player für verschiedene Plattformen. Zinf benutzt eine optimierte Version des Xing MPEG Decoders, welches ihn zu einem der schnellsten Player mit dem besten Klang macht. Die Homepage zur Zinf finden Sie unter der URL: http://www.zinf.org/. Dort finden Sie auch verschiedene „Themes“. 452 Kapitel 14. Multimedia Abbildung 14-6. Zinf Die herausragenden Features von Zinf sind: • Spielt alle MPEG 1, MPEG 2 und MPEG 2.5 encodeten Dateien. • Unterstützung von Xing’s Variable Bitrate Encoding Technology. • Spielt Songs aus dem Netz über HTTP unicast streaming (Shoutcast) oder IceCast style title streaming. • Speichert ShoutCast und IceCast Streams auf der Festplatte. • Playlist Editor. • Vom Benutzer einstellbarer Buffer für langsame Rechner. Zusätzlich unterstützt die Linux-Version die Funktionen: • Enlightened Sound Daemon Support • Kommandozeilen und ncurses-Oberfläche. 14.4. gqmpeg Gqmpeg ist eine grafische Oberfläche zu mpg123. Über die Konfiguration können Sie alle Optionen beeinflussen, die Sie auch bei mpg123 auf der Kommandozeile angeben können. Gqmpeg verfügt auch über eine sogenannte „Playlist“: hier können Sie Ihre Lieblingstitel eintragen, die dann abgespielt werden. Gqmpeg läßt sich, trotz grafischer Oberfläche, in weiten Teilen auch über die Tastatur steuern. Hierzu können Sie folgende Tasten nutzen: • p oder SPACE : Abspielen • s : Stop • n : Nächsten Titel abspielen • b : Vorherigen Titel abspielen • l : Öffnen der Playlist • m : startet den Mixer • i : zeigt Informationen zum aktuellen Titel 453 Kapitel 14. Multimedia • - : leiser • + oder = : lauter • CTRL - : Balance links • CTRL + : Balance rechts • CTRL t : Zeitanzeige • CTRL o : Einstellungen • CTRL i : Fenster verkleinern • CTRL a : Infos zum Programm • CTRL q : Programm beenden Optisch kann Gqmpeg in der Standardversion nicht mit anderen Playern mithalten. Gqmpeg kann über sogenannte „Skins“ im Aussehen verändert werden. Hier drei verschiedene Versionen von Gqmpeg: Abbildung 14-7. Gqmpeg Die Webseiten zu Gqmpeg finden Sie unter der URL: http://www.netpedia.net/hosting/gqview/mpeg-index.html, dort finden Sie auch die eben gezeigten „Skins“, welche im Verzeichnis .gqmpeg/skins/ in Ihrem Home-Verzeichnis abgelegt und entpackt werden müssen. 14.5. Grip Grip ist ein GTK-basierter CD-Player und CD-Ripper, Sie können damit von Ihren Audio-CDs eigene MP3-Dateien erzeugen. Grip beinhaltet alle Funktionen von cdparanoia, kann aber auch externe Programme benutzen. cdda2wav ist beispielsweise ebenfalls geeignet. Grip unterstützt freedb. (http://www.freedb.org/) ist eine Datenbank im Netz, die über Informationen zu vielen tausend CDs verfügt. Sie müssen also nicht mühsam die Titel vom CD-Cover abtippen, Grip holt die Informationen für Sie automatisch aus dem Netz. 454 Kapitel 14. Multimedia Abbildung 14-8. Grip Grip arbeitet auch mit DigitalDJ (http://nostatic.org/ddj/ddj.html), einer SQL-Datenbank, die Ihre Titel verwaltet, zusammen. Aufgrund von Lizenzproblemen ist kein Programm zum Erzeugen von MP3-Dateien in Debian GNU/Linux enthalten. Grip ist aber schon so konfiguriert, daß Sie sehr leicht ein solches Programm selber installieren können. Hierzu müssen Sie die Sourcen (Quellcode) zum Beispiel von lame (http://www.sulaco.org/mp3) oder bladeenc (http://bladeenc.mp3.no) besorgen, übersetzen und installieren. Dies hört sich schwieriger an als es ist... Mit folgenden Befehlen läßt sich die Installation von bladeenc als Superuser erledigen (die Ausgaben wurden etwas gekürzt): debian:/home/fr# tar xvfz bladeenc-0.92.0-src-stable.tar.gz bladeenc-0.92.0/ bladeenc-0.92.0/Makefile.in bladeenc-0.92.0/README bladeenc-0.92.0/stamp-h.in ... bladeenc-0.92.0/bladeenc/docs/en/index-5.html bladeenc-0.92.0/bladeenc/docs/en/index-6.html bladeenc-0.92.0/bladeenc/docs/en/index.html debian:/home/fr# cd bladeenc-0.92.0 debian:/home/fr/bladeenc-0.92.0# ./configure creating cache ./config.cache checking for a BSD compatible install... /usr/bin/install -c checking whether build environment is sane... ... creating bladeenc/docs/Makefile creating bladeenc/docs/en/Makefile creating config.h 455 Kapitel 14. Multimedia debian:/home/fr/bladeenc-0.92.0# make make all-recursive make[1]: Entering directory ‘/home/fr/bladeenc-0.92.0’ Making all in bladeenc ... make[2]: Entering directory ‘/home/fr/bladeenc-0.92.0’ make[2]: Leaving directory ‘/home/fr/bladeenc-0.92.0’ make[1]: Leaving directory ‘/home/fr/bladeenc-0.92.0’ debian:/home/fr/bladeenc-0.92.0# make install Making install in bladeenc make[1]: Entering directory ‘/home/fr/bladeenc-0.92.0/bladeenc’ Making install in docs make[2]: Entering directory ‘/home/fr/bladeenc-0.92.0/bladeenc/docs’ ... make[2]: Nothing to be done for ‘install-data-am’. make[2]: Leaving directory ‘/home/fr/bladeenc-0.92.0’ make[1]: Leaving directory ‘/home/fr/bladeenc-0.92.0’ Danach können Sie Grip zum Erstellen von MP3-Dateien benutzen. Wählen Sie hierzu zunächst unter „Tracks“ die gewünschten Tracks mit der rechten Maustaste aus. Unter „Rip“ klicken Sie nun auf „Rip+Encode“. Abbildung 14-9. Grip Die Dateien werden zunächst von der CD gelesen und als .wav-Dateien gespeichert. Diese werden dann in das MP3-Format umgewandelt. Beide Schritte laufen parallel ab, Sie können dies an den beiden Fortschrittsanzeigen sehen. 456 Kapitel 14. Multimedia Die Webseiten zu Grip finden Sie unter der URL: http://www.nostatic.org/grip/ 14.6. Videobearbeitung Die Bearbeitung von Videos ist mittlerweile auch auf GNU/Linux Systemen möglich. Lange Zeit mangelte es an entsprechender Software, kommerzielle Anbieter haben bis heute nicht diesen Markt erschlossen. Als Ausnahme ist hier lediglich die Firma Mainconcept mit dem Produkt MainActor zu nennen. Glücklicherweise haben sich aber auch in diesem Marktsegment Programierer gefunden die passende Lösungen als Freie Software anbieten. Diese wird im folgenden vorgestellt. Es wird hier lediglich auf die komplett digitale Bearbeitung von Videos eingegangen. Die hier vorgestellte Software kann natürlich auch mit Filmen die aus analogen Quellen digitalisiert wurden umgehen. Dieser Schritt der digitalisierung von analogen Bildmaterial wird jedoch nicht beschrieben. 14.6.1. iLink / Firewire / IEEE1394 Die offiziell als IEEE1394 bezeichnete, serielle, Schnittstelle findet in vielen modernen Digitalen Videokameras Anwendung. Die Übertragungsrate von 400 MBit/Sekunde eignet sich hervoragend zur Übertragung von großen Datenmengen (wie beispielsweise Videodaten). Bei Apple ist dieser schnelle Anschluß in den aktuellen G3/G4 MACs und im neuen iMAC DV sowie in den neuen Powerbooks vorhanden und heißt dort "Firewire". Sony nennt die Schnittstelle "iLink" und rüstet viele Notebooks von Hause aus damit aus. Trotz der unterschiedlichen Bezeichnungen meinen alle Hersteller die IEEE1394 Schnittstelle. Um Videos von einer DV (Digital Video) Kamera auf ein GNU/Linux System zu übertragen, benötigt man eine Firewire/iLink oder auch IEEE1394 Schnittstelle am Rechner und natürlich eine Kamera mit dieser Schnittstelle. Für Desktop Systeme sind PCI Karten mit IEEE1394 ab ca. 70 Euro erhältlich. Um die IEEE1394 Schnittstelle auch unter GNU/Linux ansprechen zu können, muß der verwendete Kernel mit den entsprechenden Treibern ausgestattet sein. Es existieren Treiber für die Kernel Version 2.2.x, es wird jedoch dringend zu einem Kernel der Reihe 2.4 geraten. Die Debian Kernel Pakete der Version 2.4 liefern die benötigten Treiber als Module mit. Benötigt werden die Module „ieee1394“ (IEEE1394 Treiber), „ohci1394“ (Chipsatz Unterstützung) und „raw1394“ („roher“ Zugriff auf die Geräte). Diese können wie gewohnt mittels modprobe geladen werden. Eventuell wird ein anderer Chipsatz Treiber benötigt (beispielsweise „aic5800“) dies ist von der verwendeten Hardware abhängig. wasabi:~# lsmod |grep 1394 raw1394 6416 0 (unused) ohci1394 15008 0 (unused) ieee1394 24584 0 [raw1394 ohci1394] Die IEEE1394 Schnittstelle ist „hot-plug“ fähig, Geräte können also gefahrlos im laufenden Betrieb miteinander verbunden werden. Dies kann auch im Syslog verfolgt werden. Jul 9 12:27:21 localhost kernel: ieee1394: registered ohci1394 driver, initializing now Jul 9 12:27:21 localhost kernel: ohci1394: looking for Ohci1394 cards Jul 9 12:27:21 localhost kernel: ohci1394_0: remapped memory spaces reg 0xc48bf000 Jul 9 12:27:21 localhost kernel: ohci1394_0: allocated interrupt 9 Jul 9 12:27:21 localhost kernel: ohci1394_0: soft reset finished Jul 9 12:27:21 localhost kernel: ohci1394_0: max packet size = 2048 bytes Jul 9 12:27:21 localhost kernel: ohci1394_0: 4 iso contexts available Jul 9 12:27:21 localhost kernel: ohci1394_0: Receive DMA ctx=0 initialized Jul 9 12:27:21 localhost kernel: ohci1394_0: Receive DMA ctx=1 initialized Jul 9 12:27:21 localhost kernel: ohci1394_0: AT dma ctx=0 initialized Jul 9 12:27:21 localhost kernel: ohci1394_0: AT dma ctx=1 initialized Jul 9 12:27:21 localhost kernel: ohci1394_0: Receive DMA ctx=2 initialized Jul 9 12:27:21 localhost kernel: ohci1394_0: resetting bus on request and attempting to become root Jul 9 12:27:21 localhost kernel: ieee1394: detected 1 ohci1394 adapter 457 Kapitel 14. Multimedia Jul 9 12:27:21 localhost kernel: ohci1394_0: PhyControl: 800301FF Jul 9 12:27:21 localhost kernel: ohci1394_0: SelfID process finished (phyid 0, root) Jul 9 12:27:21 localhost kernel: ohci1394_0: selfid packet 0x807f8056 rcvd Jul 9 12:27:21 localhost kernel: ieee1394: including selfid 0x56807f80 Jul 9 12:27:21 localhost kernel: ohci1394_0: This node self-id is 0x807f8056 Jul 9 12:27:21 localhost kernel: ohci1394_0: calling self-id complete Jul 9 12:27:21 localhost kernel: ohci1394_0: Got phy packet ctx=0 ... discarded 14.6.2. dvgrab dvgrab (http://www.schirmacher.de/arne/dvgrab/) speichert Audio und Video Daten von einem digitalen Camcorder in AVI Dateien. Diese AVI Dateien können später mit einer beliebigen anderen Software weiterbearbeitet werden. dvgrab verfügt über einige Parameter, hier nur zwei einfache Beispiele: Das Kommando dvgrab film speichert alle von Camcorder kommenden Daten in den Dateien film_001.avi, film_002.avi usw. Die Dateigröße wird dabei auf knapp ein Gigabyte beschnitten. Um nur eine bestimmte Anzahl von Bildern (Frames) zu speichern kann folgendes Kommando verwendet werden: dvgrab --frames 750 film. /50 Frames entsprechen bei einem PAL Camcorder 30 Sekunden Filmzeit. Weitere Parameter und Optionen liefert die Dokumentation zu dvgrab. 14.6.3. Kino Kino ist ein einfaches Programm zum bearbeiten von Videos. Die Möglichkeit digitale Videos direkt vom Camcorder auf Platte zu schreiben vermeidet den Umgang mit der Kommandozeilenversion von dvgrab. 458 Kapitel 14. Multimedia Abbildung 14-10. Kino Auf der rechten Seite besteht über verschiedene Reiter Zugriff auf die Funktionen „Editor“, „Capture“, „Timeline“ und „Export“ von Kino. Im Editor können Filme zusammengeschnitten oder Stücke herausgeschnitten werden. Der Bereich Capture dient zum einlesen der Filme. Die Dateien werden im AVI-Format gespeichert. 14.7. TV Karten TV-Karten auf Basis des Brooktree Chips bt848 / bt878 sind weitverbreitet und werden von vielen Herstellern eingesetzt. Zunächst müssen die notwendigen Module geladen werden: modprobe videodev modprobe i2c modprobe bttv pll=1 card=1 Die notwendigen Parameter für das bttv-Modul weichen je nach verwendeter Karte ab. Um den für die installierte Karte passenden Treiber zu finden ist ein Blick in die Datei /usr/src/linux/Documentation/video4linux/bttv/CARDLIST hilfreich. Diese Datei ist Bestandteil 459 Kapitel 14. Multimedia der Kernel Sourcen. Weitere Informationen zum bttv Treiber finden sich auf der Seite von Gerd Knorr (bytesex.org/bttv/). 14.7.1. xawtv Um nun ein Fernsehbild auf den Monitor zu zaubern, bedarf es noch einer passenden Anwendung. Mit xawtv steht diese unter Debian zur Verfügung. Während der Installation kann eine systemweite Konfigurationsdatei erzeugt werden, diese wird aus einem Scan aller Kanäle erstellt. xawtv wurde von Gerd Knorr geschrieben, aktuelle Debian Pakete stehen auf seiner Homepage (http://bytesex.org/xawtv/) zur Verfügung. 14.7.2. aletv Um auch Videotext Seiten nutzen zu können wird das Paket aletv benötigt. Die Webseiten von aletv sind unter http://www.goron.de/~froese/ zu finden. 14.8. Videoplayer 14.8.1. xine xine xine.sourceforge.net) (gesprochen „ksin“) ist ein GPL-lizenzierter Video-Player für Unix, Linux und andere Systeme. Es werden u.a. folgende Formate unterstützt: MPEG-1 Audio und Video, MPEG-2 Audio und Video, MP3, AVI (verschiedene Formate, auch DivX), Ogg Vorbis, QuickTime (eingeschränkt). xine spielt sowohl Audio- und Videodaten eines Streams. Die dazu benötigte Hardware-Leistung ist abhängig vom Format des Streams. Die untere Grenze für MPEG-2 bei voller Bildrate ist ein Pentium II mit 400MHz. xine kann CDs, SVCDs und DVDs direkt abspielen. Leider ist in vielen Ländern das Abspielen verschlüsselter DVDs durch „nichtauthorisierte“ Software verboten oder rechtlich unklar. Aus diesem Grund besitzt xine keine Funktion zum Abspielen verschlüsselter DVDs. Abbildung 14-11. xine 460 Kapitel 14. Multimedia xine kann aus dem Menü oder aus einem Terminal gestartet werden. Auf der Kommandozeile können direkt Video CDs (mittels: xine vcd://1) oder DVDs (mittels: xine dvd://VTS_01_1.VOB) abgespielt werden. Das Standard-Plugin zum Abspielen von DVDs (wie im oberen Beispiel) unterstützt weder Menüs noch verschlüsselte DVDs. Bessere DVD-Plugins sind „xine-dvdnav“, „xine-dmd“, „xine-d5d“. 14.9. Videokonferenzen 14.9.1. Gnomemeeting Gnomemeeting ist ein Client für Video- und Telefonkonferenzen, welcher durch die H.323 Kompatibilität Verbindungen zu Microsoft Netmeeting Clients erlaubt. Abbildung 14-12. Gnomemeeting Bei ersten Start von Gnomemeeting sind einige Einstellungen vorzunehmen. 461 Kapitel 14. Multimedia Abbildung 14-13. Gnomemeeting - Konfiguration 1/4 Zunächst sind einige persönliche Daten einzugeben, diese können auf einem öffentlichen Server gespeichert werden, so ist es möglich das andere Benutzer Kontakt aufnehmen können. Wenn dies nicht gewünscht ist, so kann die Übermittlung der Daten unten links im Fenster deaktiviert werden. 462 Kapitel 14. Multimedia Abbildung 14-14. Gnomemeeting - Konfiguration 2/4 Weiterhin muss der Netzwerktyp ausgewählt werden. 463 Kapitel 14. Multimedia Abbildung 14-15. Gnomemeeting - Konfiguration 3/4 464 Kapitel 14. Multimedia Abbildung 14-16. Gnomemeeting - Konfiguration 4/4 Damit ist die Konfiguration von Gnomemeeting abgeschlossen. Abbildung 14-17. Gnomemeeting - Fenster 465 Kapitel 14. Multimedia In der Voreinstellung bietet Gnomemeeting nur ein recht beschränktes Fenster, über das Menü können einige weitere Komponenten, beispielsweise ein Chat Fenster und ein Menü für Einstellungen, aktiviert werden. Abbildung 14-18. Gnomemeeting - Übertragung In der URL Zeile kann nun die IP Nummer des Kommunikationpartners eingegeben werden, wenn dort ebenfalls eine entsprechende Software läuft und der Partner das Gespräch annimmt, so sollte ein Videobild erscheinen. 466 Kapitel 15. CD brennen Wenn Sie einen CD-Brenner besitzen, so können Sie diesen natürlich auch unter Debian GNU/Linux benutzen. Bevor wir auf die einzelnen Programme eingehen, sind jedoch einige Vorarbeiten zu erledigen. 15.1. Hardware CD-Brenner sind mit SCSI- oder IDE-Schnittstellen im Handel erhältlich. Wenn Sie den Kauf eines CD-Brenners noch vor sich haben, sollten Sie sich, wenn möglich, für ein SCSI-Modell entscheiden. Diese sind in der Anschaffung nur unwesentlich teurer. Der Vorgang des Brennens einer CD erfordert aus technischen Gründen einen kontinuierlichen Datenstrom. Ein CD-Brenner verfügt über etwas Zwischenspeicher (Cache), um eventuelle Engpässe überbrücken zu können. Trotzdem kann es zu Abbrüchen kommen, falls Ihr System nicht in der Lage ist, die benötigten Daten schnell genug zu liefern. SCSI-Systeme sind hier im Vorteil. Auch sollten Sie vor dem Kauf des Gerätes einen Blick in die Liste der von cdrecord (mit diesem Programm werden die Daten auf die CD geschrieben) unterstützten Geräte werfen. Für die Version 1.8 von cdrecord lautet die URL: http://www.fokus.gmd.de/research/cc/glone/employees/joerg.schilling/private/cdwriters-1.8.html Wenn Sie das Gerät bereits angeschlossen haben, können Sie mit dem Kommando dmesg | more überprüfen, ob die Geräte gefunden wurden. Suchen Sie nach Zeilen, die mit scsi: beginnen. Auf einem System mit IDE-Geräten, die über eine SCSI-Emulation betrieben werden, werden Sie in etwa folgendes finden: scsi0 : SCSI host adapter emulation for IDE ATAPI devices scsi : 1 host. Vendor: GoldStar Model: CD-ROM CRD-8241B Rev: 2.03 Type: CD-ROM ANSI SCSI revision: 02 Detected scsi CD-ROM sr0 at scsi0, channel 0, id 0, lun 0 scsi : detected 1 SCSI generics 1 SCSI cdroms total.

  • sr0: scsi3-mmc drive: 1x/24x cd/rw xa/form2 cdda tray

Für ein reines SCSI-System bekommen Sie folgendes angezeigt: scsi0 : Tekram DC390/AM53C974 V2.0d 1998/12/25 scsi : 1 host. DC390: Target 4: Sync transfer 10.0 MHz, Offset 15 Vendor: TEAC Model: CD-R58S Rev: 1.0G Type: CD-ROM ANSI SCSI revision: 02 Detected scsi CD-ROM sr0 at scsi0, channel 0, id 4, lun 0 sr0: scsi3-mmc drive: 24x/24x writer cd/rw xa/form2 cdda tray Die genauen Bezeichnungen der Geräte sowie die Adressen sind natürlich von der Konfiguration Ihres Rechners abhängig. Wenn Ihre Geräte nicht erkannt werden, müssen Sie die benötigten Module laden beziehungsweise einen neuen Kernel übersetzen. 15.2. Kernel Um einen CD-Brenner benutzen zu können, ist es wichtig zu wissen, welche Schnittstelle das Gerät besitzt: 15.2.1. SCSI Wenn Sie bereits ein SCSI-Gerät besitzen, haben Sie sicher schon den nötigen Treiber für den SCSI-Hostadapter (SCSI-Controller) eingebunden. Der Standard-Debian GNU/Linux-Kernel verfügt über fast alle verfügbaren Treiber. Wenn Sie einen eigenen Kernel erstellt haben, sorgen Sie dafür, daß der Hostadapter erkannt wird. Weiterhin ist es nötig, das Modul für den Generischen SCSI-Treiber sg zu laden. Auch dies können Sie mit dem Kommando modprobe sg erledigen. Sie können die Module auch fest in den Kernel einbinden: 467 Kapitel 15. CD brennen Abbildung 15-1. Kernel SCSI Je nachdem ob Sie ein Modul erstellen wollen, oder den Treiber in den Kernel compilieren wollen, wählen Sie hier M oder Y. Übersetzen Sie dann den Kernel neu und starten Sie das System noch einmal. Damit sind die nötigen Schritte für SCSI-CD-Brenner abgeschlossen. 15.2.2. IDE Für ein IDE-Gerät ist die Kernel-Konfiguration etwas schwieriger, aber lesen Sie ruhig weiter... Wählen Sie zunächst das Menü „Block Devices“ und deaktivieren Sie den Punkt „IDE CD-ROM support“. Aktivieren Sie dafür den Punkt „SCSI emulation support“ einige Zeilen tiefer. Gehen Sie nun zum Hauptmenü der Kernel-Konfiguration zurück und wählen Sie das Menü „SCSI support“ an. Dort aktivieren Sie den SCSI Support (das ist korrekt, auch wenn Sie ein IDE-Gerät einsetzen). Weiterhin aktivieren Sie im gleichen Menü die Punkte „SCSI CD-ROM drivers“ und „SCSI generic support“. Speichern Sie diese Konfiguration und übersetzen Sie einen neuen Kernel. 15.3. Software Die grafischen Oberflächen unter GNU/Linux benutzen in der Regel Programme wie mkisofs, zum Erstellen des CD-Images, und cdrecord, um die Daten auf die CD zu schreiben. Eine sehr schöne Übersicht zu vielen verfügbaren Programmen, um CDs unter GNU/Linux zu erstellen, finden Sie unter: http://sites.inka.de/~W1752/cdrecord/frontend.de.html. Keines dieser grafischen Frontends kommt aber an die Leistungsfähigkeit der zugrundeliegenden Programme (mkisofs und cdrecord) heran. Wenn Sie sich mit den Programmen auf Kommandozeilenebene auseinandersetzen möchten, empfehlen wir Ihnen einen Blick auf die Webseiten: http://www.fokus.gmd.de/research/cc/glone/employees/joerg.schilling/private/cdrecord.html. Eine deutsche Übersetzung der cdrecord-Dokumentation finden Sie unter http://sites.inka.de/~W1752/cdrecord/online/. 468 Kapitel 15. CD brennen Eine weitere empfehlenswerte Seite ist http://www.fokus.gmd.de/research/cc/glone/employees/joerg.schilling/private/cdb.html, mit einer großen Übersicht über alles an Programmen, was zur CD-Erstellung benötigt wird. Für den täglichen Gebrauch werden Sie aber mit den hier beschriebenen grafischen Tools sicher auskommen. Weitere Informationen zum Erstellen von CDs unter GNU/Linux finden Sie im CD-Writing HOWTO unter: http://www.linuxdoc.org/HOWTO/CD-Writing-HOWTO.html. 15.3.1. mkhybrid mkhybrid ist ebenso wie mkisofs ein Programm, um CD-Images zu erzeugen, die dann (im einfachsten Fall) mit cdrecord auf einen Rohling gebrannt werden. Weitere Informationen finden Sie unter der URL: ftp://ftp.gwdg.de/pub/linux/misc/mkhybrid/ 15.3.2. CDs aus der Shell Wenn Sie keinen Wert auf komfortable grafische Oberflächen legen oder CDs aus einem Script heraus erzeugen lassen wollen, so können Sie natürlich auch die kommandozeilenbasierten Programme benutzen. Mit dem Programm mkisofs erzeugen Sie ein CD-Image, welches die später zu brennende CD darstellt. Tip: Vor dem eigentlichen Brennvorgang haben Sie die Möglichkeit, das Image zu überprüfen. Mit dem sogenannten „loop device“ im Linux-Kernel können Sie eine Datei wie ein Dateisystem mounten. Geben Sie hierzu dem Kommando mount die Option -o loop hinzu, ein Beispiel: mount meinecd.raw /cdrom -o loop. Das Image entfernen Sie aus dem Dateisystem wie gewohnt mit dem Kommando umount. Wenn Sie mit dem Inhalt des Images zufrieden sind, können Sie mit dem Kommando cdrecord das Image auf eine CD schreiben. Dem Kommando cdrecord sind hierzu im wesentlichen die Optionen -dev (für das benutzte Gerät) und -speed (die Geschwindigkeit, mit der CDs geschrieben werden können) anzugeben. Weitere Optionen finden Sie in der Dokumentation zu cdrecord. Natürlich können Sie auch auf eine Überprüfung des Images verzichten und die Daten praktisch in einem Rutsch von der Festplatte auf die CD befördern, verketten Sie hierzu mittels einer Pipe (|) die beiden Kommandos: mkisofs -R /cdrom/ | cdrecord dev=0,2,0 speed=8 -fs=8m -eject -v - Achten Sie bitte peinlichst genau darauf, die richtigen Angaben für den Parameter dev zu benutzen, dies könnte Sie sonst den Inhalt einer kompletten Festplatte kosten! Einsteiger sollten auf alle Fälle eines der im folgenden vorgestellten Programme mit grafischer Oberfläche benutzen. 15.3.3. X-CD-Roast X-CD-Roast war eines der ersten Programme mit einer grafischen Oberfläche zur Herstellung von CDs auf Unix-Systemen. Den aktuellen Stand der Entwicklung finden Sie auf der Homepage von X-CD-Roast unter: http://www.xcdroast.org 469 Kapitel 15. CD brennen Abbildung 15-2. X-CD-Roast X-CD-Roast zeichnet sich durch folgende Features aus: • Einfach zu bedienende grafische Oberfläche. • Automatische Erkennung von SCSI- und IDE-Geräten. • Erzeugen von ISO9660-CDs, „mastering“ • Erzeugen von Audio-CDs. • Schnelles Kopieren von CDs, Audio und Daten. X-CD-Roast unterstützt sowohl SCSI als auch IDE CD-Brenner. Natürlich können Sie diese Geräte auch gemischt betreiben. Die meisten der im Handel erhältlichen Geräte werden von X-CD-Roast automatisch erkannt. Beim ersten Start wird X-CD-Roast Sie dazu auffordern, die Konfiguration zu prüfen beziehungsweise neu zu erstellen. Die meisten Einstellungen sind sehr einfach, etwas mehr Aufmerksamkeit sollten Sie den Pfaden oder Partitionen widmen, auf denen die Daten zwischengespeichert werden. Sie können hier komplette, ungenutzte Partitionen verwenden oder, falls Sie keine freie Partition auf einer Ihrer Festplatten haben, die Daten in ein Verzeichnis schreiben lassen. Wenn Sie Audio-CDs nicht nur kopieren, sondern auch eigene CDs zusammenstellen wollen, können Sie in der Konfiguration auch die nötigen Einstellungen für Ihre Soundkarte vornehmen, Sie haben dann die Möglichkeit, direkt in die Titel reinzuhören. 470 Kapitel 15. CD brennen Abbildung 15-3. X-CD-Roast In der Konfiguration des CD-Brenners sollten Sie noch die gewünschte Brenngeschwindigkeit angeben, diese kann nicht automatisch ermittelt werden. Wundern Sie sich nicht, daß Sie hier keine acht-fache Brenngeschwindigkeit einstellen können, diese finden Sie später im Menü für den eigentlichen Brennvorgang. 15.3.3.1. Kopieren von CDs Wenn Sie nur über einen CD-Brenner verfügen und kein extra CD-ROM zum Lesen der Daten in Ihrem Rechner haben, müssen Sie zunächst die Original-CD einlesen und als Datei (image) auf Ihrer Festplatte speichern. Beachten Sie, daß hierzu genügend Platz auf der Partition frei sein muß, eine CD faßt knapp 700 MB Daten. 471 Kapitel 15. CD brennen Abbildung 15-4. X-CD-Roast Wenn Sie über mehr Platz verfügen, können Sie natürlich auch mehrere Images auf der Platte vorhalten und von diesen bei Bedarf Kopien erstellen. Natürlich können Sie auch CDs direkt kopieren, ohne den Umweg über ein Image zu machen. Sie erreichen diese Funktion über die Schaltfläche „Quick CD-Copy“. Hierzu ist es aber wichtig, daß das zum Lesen der Daten verwendete Gerät mindestens doppelt, besser dreifach, so schnell die Daten lesen kann wie diese dann von dem Brenner auf CD geschrieben werden. Beim Brennen von CDs müssen die Daten ohne Unterbrechung auf den CD-Rohling geschrieben werden. Die CD-Brenner verfügen über einen Zwischenspeicher (meist 1-2 MB), um kleinere Aussetzer in der Datenübertragung zu überbrücken. Wenn jedoch auf der Original-CD Kratzer sind, die vom Lesegerät korrigiert werden können, ist es manchmal nötig, diesen Bereich noch einmal einzulesen. Dies kann den Datenfluß unterbrechen, wenn das Lesegerät nicht schnell genug ist. In jedem Fall sind Sie auf der sicheren Seite, wenn Sie die Daten (auch wenn Sie über ein Lese- und ein Schreibgerät verfügen) zunächst auf die Festplatte schreiben und von dort auf den Rohling brennen. 472 Kapitel 15. CD brennen 15.3.3.2. Erstellen von Daten-CDs Abbildung 15-5. X-CD-Roast Auch das Erstellen eigener CDs ist mit X-CD-Roast recht einfach. Zunächst müssen Sie natürlich das Verzeichnis angeben, in dem sich die Daten befinden, die Sie auf die CD brennen wollen. Sie können dann noch Angaben zum Titel der CD und zum Hersteller sowie eine kurze Beschreibung eingeben. Zuletzt müssen Sie sich noch für einen CD-Typ entscheiden. X-CD-Roast kann die verschiedensten Formate erzeugen, unter GNU/Linux sollten Sie im allgemeinen das ISO9660-Format verwenden, welches auch von den meisten anderen Betriebssystemen gelesen werden kann. Wenn Sie Daten in die Windows-Welt transportieren möchten, steht Ihnen auch ein spezielles Windows98/NT-Format zu Auswahl. Sie können sich aber auch gezielt einzelne Parameter zusätzlich auswählen und so die vorgegebenen Werte ergänzen. Wenn Sie alle gewünschten Einstellungen vorgenommen haben, können Sie ein Image erzeugen lassen und dieses dann auf eine CD schreiben. Vielleicht ist es Ihnen schon passiert, daß Sie eine CD erstellt haben und diese nicht Ihren Vorstellungen entsprach. Für solche Fälle gibt es zwar nicht die Möglichkeit, die CD zu korrigieren, aber Sie können sich den Inhalt der späteren CD schon vorher ansehen. Der Linux-Kernel verfügt hierzu über ein sogenanntes „loop-device“, mit dem Sie eine Datei, also auch ein CD-Image, wie jedes andere Gerät in das Dateisystem einbinden. Sie können dies, als Superuser, ganz einfach mit dem Kommando mount und der zusätzlichen Option -o loop erreichen: sushi:~# mount linux-cd.raw /mnt -o loop Nun können Sie, wie auf jeden anderen Bereich in Ihrem Dateisystem, mit den normalen Programmen den Inhalt der CD kontrollieren. Wenn Sie mit dem Ergebnis zufrieden sind, können Sie die Datei auf einen CD-Rohling befördern. 15.3.3.3. Audio-CDs Das Erstellen von Audio-CDs beziehungsweise das kopieren einzelner Tracks von einer Audio-CD, ist von der Bedienung her sehr einfach, jedoch unterstützen nicht alle CD-ROMs bzw. CD-Brenner dies optimal. Um CDs 473 Kapitel 15. CD brennen in einer optimalen Qualität zu bekommen, sollten Sie in jedem Fall die Daten zunächst auf Festplatte speichern. Legen Sie nun die zu kopierende Audio-CD ein und klicken Sie auf „Update Information-Windows“, damit das Inhaltsverzeichnis der CD neu eingelesen wird. Abbildung 15-6. X-CD-Roast Sie können nun einzelne Titel (Tracks) auswählen oder die komplette CD auf die Festplatte übertragen. Klicken Sie hierzu auf „Read Tracks“. Über „Select/Show Tracks to Read“ können Sie die gewünschten Titel auswählen. Die Lesegeschwindigkeit sollten Sie, im Interesse der besten Qualität, möglichst nicht zu schnell einstellen. Wenn beim Lesen der Tracks von der Audio-CD in einem CD-ROM Probleme auftreten oder Sie das Gefühl haben, daß die Qualität nicht optimal ist, sollten Sie versuchen, die Tracks noch einmal, diesmal aber mit dem CD-Brenner einzulesen. Wenn Sie zum Einlesen ein IDE-Gerät benutzen, stellen Sie den Wert für „Audio-Read-Mode“ in den Voreinstellungen auf „ATAPI“. Sie können hier noch diverse andere Werte einstellen, sie werden in der Dokumentation näher erläutert. Wenn alle gewünschten Stücke eingelesen sind und Sie eine Soundkarte konfiguriert haben, können Sie sich die Stücke über die Schaltfläche „Play Audio-Track“ vor dem Schreibvorgang anhören. Prüfen Sie dabei, ob Sie mit der Qualität der einzelnen Tracks zufrieden sind. Abschließend können Sie über die Schaltfläche „Select/Show Tracks to Write“ die Titel auswählen, die Sie auf den Rohling brennen möchten. Hier können Sie ebenfalls die Reihenfolge der Titel auf der CD festlegen. Wenn Sie auch WAV-Dateien auf die CD brennen möchten, müssen Sie die Option „Fix wav-Files“ aktivieren. Bei einigen CD-Brennern kann es notwendig sein, die Option Swap Audio zu aktivieren, dies werden Sie nach der ersten CD sehr schnell merken. 15.3.4. gcombust gcombust ist eine grafische Oberfläche für die Programme mkisofs / mkhybrid / cdda2wav / cdrecord und cdlabelgen. Die Homepage finden Sie unter der URL: http://www.abo.fi/~jmunsin/gcombust/. Die 474 Kapitel 15. CD brennen herausragenden Eigenschaften von gcombust sind: • CD-Erstellung „On-The-Fly“, ohne ein Image zu erzeugen. • CD - CD-Kopie, ohne ein Image zu erzeugen. Auch bei Audio-CDs • Tooltips, Direkthilfe am Mauszeiger • Leichte Erstellung von ISO-Images. Sie können Sich die CD selber zusammenstellen, ohne auf der Platte ein Verzeichnis mit Links anlegen zu müssen. • Erstellung von Audio-CDs • Konvertierung von WAV nach Audio und umgekehrt. • Drucken von CD Covern, über cdlabelgen • Multisession-Unterstützung • Erstellen von bootfähigen CDs • Laden und Speichern von Verzeichnissen, zum Beispiel für Backups. • NLS (National Language Support) und DnD (Drag and Drop)-Unterstützung. Abbildung 15-7. gcombust 475 Kapitel 16. Netzwerk Wenn Sie über verschiedene Rechner verfügen, liegt der Gedanke nahe, ein kleines Netzwerk aufzubauen. Dies kann sinnvoll sein, um Daten zwischen den Rechnern auszutauschen, um Festplatten, Drucker oder Scanner, die an einem Rechner angeschlossen sind, auch an anderen Rechnern nutzen zu können oder auch, um einfach mal damit experimentiert zu haben. Eine weitere Anwendung wäre, über das Netzwerk und den Linux-Server auch anderen Rechnern, eventuell mit anderen Betriebssystemen, einen Zugang zum Internet zu verschaffen. Netzwerkkarten sind sehr preiswert zu haben, schon ab 15 Euro pro Stück für die einfachsten Modelle. Weiterhin benötigen Sie noch ein passendes Kabel. Ein einfaches Netzwerk läßt sich mit zwei 10 MBit-Netzwerkkarten und einem BNC-Kabel aufbauen. Eine solche Zusammenstellung ist häufig auch als Komplettpaket zu bekommen. Stand der Dinge sind aber 100MBit-Karten (welche nur unwesentlich teurer sind). Diese benötigen allerdings sogenannte TP (Twisted Pair-) Kabel, die über einen Hub miteinander verbunden werden. Es sind auch spezielle (gekreuzte) TP-Kabel im Handel, damit können Sie jedoch maximal zwei Rechner miteinander verbinden. Auch die Kombination: zwei 100MBit-Karten, Hub und Kabel bekommen Sie im Paket. Für ein Notebook benötigen Sie eine Netzwerkkarte im PCMCIA-Format, diese sind ab ca. 35 Euro erhältlich. Nachdem Sie die Hardware beschafft und in Ihrem Rechner installiert haben, müssen Sie diese noch Ihrem Debian GNU/Linux bekannt machen, sprich den passenden Treiber installieren und das TCP/IP Routing aufsetzen. Sollten Sie die nötigen Eintragungen nicht während der Basisinstallation vorgenommen haben (dies ist der einfachste Weg!), so müssen Sie die Treiber nachträglich installieren. 16.1. Netzwerkkarte Das Einbinden einer Netzwerkkarte ist nicht weiter schwierig, in den meisten Fällen reicht das Laden eines einzigen Modules aus. Auch bei Netzwerkkarten ist es sehr von Vorteil, wenn der Hersteller und der Typ der Karte bekannt ist. Bei großen Herstellern (3Com, Intel usw.) ist dies recht einfach, dort sind die Angaben meist auf der Karte aufgedruckt. Wenn Sie aber eine Karte von einem unbekannten Hersteller gekauft haben, wird die Sache etwas schwieriger. Hier sollten Sie einen Blick auf den größten Chip werfen und den Hersteller und ggf. die Nummer notieren. Bei neueren Karten mit PCI-Bus kommen momentan hauptsächlich zwei Treiber in die engere Auswahl: sogenannte NE2000-kompatible Karten werden vom Modul ne2k-pci bedient. Ebenfalls weit verbreitet sind Karten mit einem RealTek-Chipsatz, hierfür ist in Kerneln mit der Version 2.2.x das Modul rtl8139 zuständig. Dieses wurde ab dem Kernel 2.4 in 8139too umbenannt. Ältere ISA-Bus-Karten, die man manchmal sogar geschenkt bekommt, sind ebenfalls häufig NE2000-kompatibel. Für diese Karten benötigen Sie das Modul 8390 (welches von modprobe automatisch mit dem eigentlichen Treiber geladen wird) sowie das Modul ne. Oft ist es bei diesen Karten allerdings nötig, dem Modul weitere Parameter mitzugeben. In den meisten Fällen kommt man mit dem Kommando: modprobe ne io=0x300 aus. Weitere Werte für den Parameter io sind: 0x280, 0x320, 0x340 usw. In Ausnahmefällen kann auch die Angabe des Interrupts weiterhelfen, Beispiel: modprobe ne irq=7 io=0x300. Mit dem Kommando cat /proc/interrupts können Sie herausfinden, welche Interrupts bereits benutzt werden. Wenn Sie erfolgreich die Treiber für Ihre Karte laden konnten, können Sie diese Angaben dauerhaft in die Datei /etc/modules eintragen. Nun müssen Sie noch die Netzwerkkarte konfigurieren und die passenden Routen für Ihr Netzwerk setzen. Tragen Sie die gewünschten Werte in die Datei /etc/network/interfaces ein:

  1. /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
  2. The loopback interface

iface lo inet loopback

  1. The first network card - this entry was created during the Debian installation
  2. (network, broadcast and gateway are optional)

iface eth0 inet static 476 Kapitel 16. Netzwerk address 192.168.1.1 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 gateway Dieses Beispiel benutzt nicht geroutete Adressen und kann ohne Probleme für Ihr privates Netz übernommen werden. Um die Einstellungen zu aktivieren, können Sie das Programm ifup mit dem gewünschten Namen des Interfaces als Superuser ausführen. In diesem Beispiel mit dem Kommando: ifup eth0. Um ein Netzwerkinterface zu deaktivieren, benutzen Sie den Befehl ifdown. Beide Kommandos verfügen noch über eine Reihe weiterer Optionen, eine kurze Übersicht erhalten Sie mit der Option --help: linux:~# ifup --help Usage: ifup -anvsh -i<file> <ifaces...> -a --all de/configure all interfaces automatically -s --scheme SCHEME use SCHEME as scheme -h --help this help -i --interfaces FILE use FILE for interface definitions -n --no-act print out what would happen, but don’t do it -v --verbose print out what would happen before doing it Eine ausführliche Beschreibung finden Sie in der jeweiligen Man-Page. 16.2. PCMCIA-Netzwerkkarte Wenn Sie die PCMCIA-Netzwerkkarte sowie die PCMCIA-Treiber nicht bei der Erstinstallation Ihres Debian GNU/Linux-Systems installiert haben, so müssen Sie diese nachträglich installieren und konfigurieren. Hierzu steht Ihnen das Programm pcnetconfig zur Verfügung. Starten Sie zunächst pcnetconfig als Superuser: sushi:/home/fr# pcnetconfig This program will create a basic /etc/pcmcia/network.opts file, the pcmcia-cs package’s network adapter configuration file, based on choices that you make. A sample network.opts file is supplied in pcmcia-cs; you can edit this file to match your local network setup. Refer to the PCMCIA-HOWTO (usually in /usr/doc/HOWTO/PCMCIA-HOWTO.gz) for a detailed description of this file’s contents. Before continuing with this program, ensure that you know your host’s network configuration. Do you want to continue? [y] Bevor Sie fortfahren, ist es sinnvoll, wenn Sie sich die nötigen Daten für die Netzwerkkonfiguraton bereitlegen. Choose a method for obtaining the host’s IP address and routing information 1) Use the BOOTP protocol 2) Use the dhcpcd or dhclient program 3) Use /sbin/pump 4) Use netenv (from the netenv package) 5) Specify the IP address now (default) 5 Wählen Sie zunächst eine der oben angeführten Methoden. Auf Punkt 2, die Konfiguration via DHCP, gehen wir später noch einmal ein. Wir werden die Konfiguration am Beispiel von statischen Adressen vorstellen, wählen Sie hierzu die 5. 477 Kapitel 16. Netzwerk Enter the IP address for this interface: (type ’none’ to leave blank) 192.168.0.4 Geben Sie zunächst die IP-Adresse für Ihre PCMCIA-Netzwerkkarte ein. Adressen wie die oben gezeigte können Sie ohne Probleme in einem internen Netz benutzen, diese werden nicht im Internet benutzt (geroutet). Enter the netmask: (the default is ’255.255.255.0’; type ’none’ to leave blank) 255.255.255.0 Der Wert für die Netzmaske (netmask). Note: the "network address" here is NOT the same as the IP address. See the Networking HOWTO. In short, the network address is the IP address masked by the netmask. Enter the network address: (the default is ’192.168.0.0’; type ’none’ to leave blank) 192.168.0.0 Die Netzwerkadresse. Enter the broadcast address: (the default is ’192.168.255.255’; type ’none’ to leave blank) 192.168.255.255 Die Broadcast-Adresse. Enter the gateway address: (the default is ’192.168.0.1’; type ’none’ to leave blank) 192.168.0.1 Die Adresse des Gateways, dies ist der Rechner, der die Verbindung zu anderen Netzen „kennt“. Dieser Rechner wird häufig auch als „Router“ bezeichnet. Enter the local domain name: (type ’none’ to leave blank) openoffice.de Der Name Ihrer Domain. Für ein internes Netz können Sie sich hier auch irgendeinen Namen ausdenken. You may now specify up to three host names or IP addresses for nameservers for this interface, to be added to /etc/resolv.conf. The nameservers defined here complement the nameservers already defined in /etc/resolv.conf. The 1st nameserver: (type ’none’ to leave blank) 194.25.2.129 Geben Sie hier die Adresse Ihres Nameservers ein. Wenn Sie hier keinen Wert eingeben (weil Sie keinen Nameserver in Ihrem Netz konfiguriert haben und auch keinen Zugang zum Netz haben), können Sie diesen Wert auch freilassen. Sie können dann aber die benachbarten Rechner nur über die IP-Nummer ansprechen, oder Sie müssen alle Rechner in die Datei /etc/hosts eintragen. The 2nd nameserver: (type ’none’ to leave blank) To automatically mount and unmount NFS filesystems, first add all these filesystems to /etc/fstab, but include noauto in the mount options. WARNING: It is especially important to use either cardctl or cardinfo to shut down a network card when NFS mounts are configured this way. 478 Kapitel 16. Netzwerk It is not possible to cleanly unmount NFS filesystems if a network card is simply ejected without warning. Enter a list of NFS mount points to be mounted for this interface: (type ’none’ to leave blank) The next two parameters are for IPX networks. They are passed to the ipx_interface command. Enter the frame type (i.e., 802.2): (type ’none’ to leave blank) Enter the IPX network number: (type ’none’ to leave blank) Die weiteren Werte können Sie normalerweise freilassen. In addition to the usual network configuration parameters, the network.opts script can specify extra actions to be taken after an interface is configured, or before an interface is shut down. If network.opts defines a shell function called start_fn, it will be invoked by the network script after the interface is configured, and the interface name will be passed to the function as its first (and only) argument. Similarly, if it is defined, stop_fn will be invoked before shutting down an interface. Refer to the PCMCIA-HOWTO for more details. This program will now write the network.opts file. Please take care not to overwrite a previously configured version of this file. Do you want to write /etc/pcmcia/network.opts? [y] y Wenn Sie die Einstellungen speichern möchten, geben Sie hier y ein. Die Konfiguration ist damit abgeschlossen. Wenn Sie nun die Netzwerkkarte in den PCMCIA Slot stecken, wird diese anhand der Daten in der Datei /etc/pcmcia/network.opts konfiguriert und ins System eingebunden. 16.3. TCP/IP Das Protokollpaar TCP/IP hat sich in den vergangenen Jahren, auch unterstützt durch das schnelle Wachstum das Internets, durchgesetzt. Physikalisch besteht das Internet aus allen möglichen Verbindungen, sei es eine Modemstrecke oder ein Ethernet, bis hin zu schnellen ATM-basierten Strecken. Gemeinsam ist allen, daß dort TCP/IP zur Kommunikation eingesetzt wird. Auf allen diesen Verbindungen lassen sich Dienste wie WWW, Mail, News oder IRC benutzen. Im folgenden werden die Grundlagen beschrieben, Sie benötigen diese nicht unbedingt für die in diesem Buch vorgestellten, einfachen Beispiele. Wenn Sie aber Ihr Netz erweitern wollen oder tiefer in die Materie einsteigen möchten, sollten Sie jetzt weiterlesen. 16.3.1. IP-Adressen Jeder an das Internet (oder jedes andere IP-basierte Netzwerk) angeschlossene Computer wird über eine einmalige IP-Adresse identifiziert. IP-Adressen haben eine Länge von vier Byte, die normalerweise als vier dezimale Zahlen, getrennt durch Punkte, dargestellt werden. Im folgenden einige gültige Beispiele: 127.0.0.1 192.168.0.5 240.250.240.250 479 Kapitel 16. Netzwerk Anhand einer IP-Adresse lassen sich zwei Dinge feststellen. Erstens das Netzwerk, in dem sich ein bestimmter Rechner befindet, und zweitens der Rechner selber - dies entspricht dem sogenannten Netzwerk- und dem Host-Teil der Adresse. Für den Host-Teil der Adresse gibt es zwei besondere Werte: Wenn alle Bits auf 0 gesetzt sind, nennt man dies die Netzwerkadresse (network address, 0), wenn alle auf 1 gesetzt sind, beschreibt dies alle Rechner in diesem Netz - die sogenannte Broadcast-Adresse (255). 16.3.2. IP-Interface-Konfiguration ... oder „wie kommt die Netzwerkkarte zu Ihrer Adresse“. In den meisten Fällen werden Sie die Konfiguration Ihrer Netzwerkkarte bereits bei der Installation von Debian GNU/Linux vorgenommen haben. Wenn Sie eine solche Karte später einbauen oder das System mit einer zweiten Karte erweitern, müssen Sie diese von Hand einbinden. Das Kommando ifconfig wird benutzt, um einem Netzwerkinterface (dies kann eine Netzwerkkarte, ein Modem, ISDN Verbindung oder ähnliches sein...) die benötigten Einstellungen zuzuweisen. • Loopback - ein „virtuelles“ Netzwerkinterface. Dieses bezieht sich immer auf den Rechner selbst und hat die IP-Adresse: 127.0.0.1. Interface: lo • Ethernet - um zwei oder mehrere Rechner miteinander zu vernetzen, verwendet man eine Netzwerkkarte, Standard ist dabei der Einsatz von Ethernet-Karten. Interface: eth0, eth1, eth2 ... • Tokenring - ebenfalls zur Vernetzung über relativ kurze Strecken. Interface: tr0, tr1, tr2 ... • PPP - „Point-to-Point Protocol“ (Punkt-zu-Punkt-Protokoll), zur Verwndung über serielle Verbindungen, wie zum Beispiel Modemstrecken, ISDN usw. Interface: ppp0, ppp1, ppp2 ... • Dummy - für System, die ansonsten keine Netzwerkverbindungen haben. Interface: dummy, dummy0, dummy1 ... Es gibt noch einige weitere Beispiele, wir werden uns hier mit dem am meisten verbreiteten, dem Ethernet, beschäftigen. Wenn Ihr Kernel die installierte Netzwerkkarte nicht erkennt, müssen Sie das passende Modul laden. Sie können dies temporär mit dem Kommando insmod oder modprobe durchführen. Wenn Sie das richtige Modul gefunden haben, tragen Sie die nötigen Werte in die Datei /etc/modules oder /etc/conf.modules ein. Für eine NE2000-kompatible Karte wäre dies beispielsweise die Zeile alias eth0 ne (in der Datei /etc/conf.modules). Um nun der Karte eine IP-Adresse zuzuweisen, dient das Kommando ifconfig. Im einfachsten Fall, also ohne weitere Optionen, gibt ifconfig die bisher konfigurierten Interfaces aus:

  1. /sbin/ifconfig

lo Link encap:Local Loopback inet addr:127.0.0.1 Bcast:127.255.255.255 Mask:255.0.0.0 UP BROADCAST LOOPBACK RUNNING MTU:3584 Metric:1 RX packets:18584 errors:0 dropped:0 overruns:0 frame:0 TX packets:18584 errors:0 dropped:0 overruns:0 carrier:0 Collisions:0 Bisher sollte auf Ihrem Rechner lediglich das Loopback Interface (lo) konfiguriert sein. Rufen Sie nun ifconfig mit dem Namen des Interfaces (eth0 für die erste, eth1 für die zweite Karte usw.) sowie der gewünschten IP-Nummer auf, und sehen Sie sich die Veränderung an:

  1. /sbin/ifconfig eth0 192.109.42.23
  2. /sbin/ifconfig

lo Link encap:Local Loopback inet addr:127.0.0.1 Bcast:127.255.255.255 Mask:255.0.0.0 UP BROADCAST LOOPBACK RUNNING MTU:3584 Metric:1 RX packets:18584 errors:0 dropped:0 overruns:0 frame:0 TX packets:18584 errors:0 dropped:0 overruns:0 carrier:0 480 Kapitel 16. Netzwerk Collisions:0 eth0 Link encap:Ethernet HWaddr 00:00:F7:C3:45:1B inet addr:192.109.42.23 Bcast:192.109.42.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:55 errors:0 dropped:0 overruns:0 frame:0 TX packets:5 errors:0 dropped:0 overruns:0 carrier:0 Collisions:7 Interrupt:10 Base address:0x300 ifconfig gibt Ihnen nun auch die Informationen zur Ethernetkarte aus. Die Werte für die Netzmaske, Broadcast Adresse usw. wurden automatisch gesetzt. Wenn Sie bei diesen Werten andere Einstellungen benötigen, so müssen Sie diese ebenfalls mit ifconfig setzen:

  1. /sbin/ifconfig eth0 192.109.42.23 netmask 255.255.255.240

Die verändert die zuvor angegebenen Werte. Wenn Sie ein Interface komplett deaktivieren wollen, benutzen Sie die Option down:

  1. /sbin/ifconfig eth0 down

Wenn Sie Ihre Netzwerkkarte bereits bei der Installation von Debian GNU/Linux eingerichtet haben, so werden Sie feststellen, daß einfach schon alles funktioniert... hierzu wurden die notwendigen Werte in die Datei /etc/network/interfaces geschrieben.

  1. /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
  2. The loopback interface

iface lo inet loopback

  1. The first network card - this entry was created during the Debian installation
  2. (network, broadcast and gateway are optional)

iface eth0 inet static address 192.109.42.18 netmask 255.255.255.240 network 192.109.42.16 broadcast 192.109.42.16 gateway 192.109.42.17 In dieser Datei sind einige Variablen definiert, die beim Aufruf des Programms ifup ausgelesen werden. Wenn Sie Ihre Netzwerkkarte erst später eingerichtet haben, erstellen Sie diese Datei und passen sie Ihren Bedürfnissen an. 16.3.3. IP Routing Wenn Sie der Netzwerkkarte die eigenen Einstellungen mitgeteilt haben, müssen Sie dem Linux-Kernel noch beibringen, die IP-Pakete auch an die richtige Stelle zu schicken. Dies kann bei mehreren Netzwerkkarten durchaus richtige Arbeit werden... Der Kernel hält diese Informationen, welcher Rechner oder welches Netzwerk über welchen Weg zu erreichen ist, in der sogenannten „routing table“. Das Kommando, um sich diese Tabelle anzusehen, lautet: route. Wenn Sie bisher nur das Loopback Device konfiguriert haben, wird das Ergebnis folgendes sein:

  1. /sbin/route

Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 127.0.0.0 * 255.0.0.0 U 0 0 2 lo Dies bedeutet, daß alle IP-Pakete (auch „traffic“ genannt) für das Netzwerk 127 über das Loopback Device (lo) geschickt werden sollen. 481 Kapitel 16. Netzwerk Wenn Sie nun eine Netzwerkkarte konfiguriert haben, müssen Sie diese auch in die Routing-Tabelle des Kernels eintragen:

  1. /sbin/route add -net 192.109.42.0
  2. /sbin/route

Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 127.0.0.0 * 255.0.0.0 U 0 0 2 lo 192.109.42.0 * 255.255.255.0 U 0 0 137 eth0 Dies führt dazu, daß alle IP-Pakete für das Class-C Netz 192.109.42.xxx über das Interface eth0 zu erreichen sind. Wenn Sie nur einen kleinen Teil eines Netzes zur Verfügung haben, müssen Sie dies über die Netzmaske (netmask) steuern:

  1. /sbin/route add -net 192.109.42.16 netmask 255.255.255.240

In diesem Beispiel stehen 16 IP-Nummern zur Verfügung (.16 bis .31). Dies reicht schon aus, um ein kleines, internes Netzwerk zu betreiben. Wenn Sie jedoch zwei Netzwerke miteinander verbinden wollen, müssen Sie dies über ein sogenanntes „gateway“ (oder auch „router“ genannt) tun. Wenn über das neue Interface nur ein bestimmtes Netzwerk zu erreichen ist, und Sie die Adresse des Gateways (Routers) für dieses Netz kennen, müssen Sie die Routing-Tabelle um genau diesen Eintrag ergänzen. Sie erreichen dies mit der Option -net:

  1. route add -net 193.174.1.0 gw 192.109.42.17

Dies bedeutet, daß das Netz 193.174.1.0 (Class C) über das Gateway 192.109.42.17 zu erreichen ist, setzt aber auch voraus, daß schon bekannt ist, wie das Netz 192.109.42.x zu ereichen ist. Eine andere häufig anzutreffende Möglichkeit ist es, alle IP-Pakete, für die es keinen passenden Eintrag in der Routing-Tabelle gibt, an ein Gateway zu schicken, die sogenannte „default route“.

  1. route add default gw 192.109.42.17

Dies würde zu folgender Routing-Tabelle führen. Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 127.0.0.0 * 255.0.0.0 U 0 0 2 lo 192.109.42.16 0.0.0.0 255.255.255.240 U 0 0 0 eth0 0.0.0.0 192.109.42.17 0.0.0.0 UG 1 0 0 eth0 Sehen wir uns die Einträge im einzelnen einmal an: die erste Zeile bezieht sich auf das Loopback Device (127.0.0.0, lo). Wenn Sie einen neueren Kernel verwenden, wird dies unter Umständen nicht angezeigt. Werfen wir jedoch zunächst nochmal einen genaueren Blick auf die Datei /etc/network/interfaces:

  1. /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
  2. The loopback interface

iface lo inet loopback

  1. The first network card - this entry was created during the Debian installation
  2. (network, broadcast and gateway are optional)

iface eth0 inet static address 192.109.42.18 netmask 255.255.255.240 network 192.109.42.16 broadcast 192.109.42.16 gateway 192.109.42.17 482 Kapitel 16. Netzwerk Diese Datei definiert einige Variablen, wenn Sie eine Änderung an dieser Datei vornehmen, können Sie diese einfach mit dem Kommando ifup eth0 aktivieren. In den ersten Zeilen wird das sogenannte Loopback Device konfiguriert. Die folgenden Zeilen beinhalten die benötigten Variablen für Ihr Netz. In dieser Datei werden IP-Nummern verwendet. Wenn Sie das Kommando route aufrufen um sich die Routing Tabelle anzeigen zu lassen, werden Sie bemerken, daß dort die Namen der Rechner und Netze verwendet werden. Sie können die Ausgabe der IP-Nummern mit der Option -n hinter dem Kommando route erzwingen. In der Datei /etc/hosts finden Sie den Namen des lokalen Rechners, in der Datei /etc/networks den Namen des Netzes. Systeme, deren Name nicht in der Datei /etc/hosts beschrieben sind, werden im allgemeinen über den Nameserver aufgelöst. 16.3.4. Domain Name Server - DNS Jeder mit dem Internet verbundene Rechner oder jedes Netzwerk, welches IP als Netzwerk-Protokoll benutzt, hat eine (oder mehrere) IP-Adressen, mit der das Routing von und zu diesem System sichergestellt wird. Da die Benutzer sich diese Zahlenkolonnen nur schwer merken können, kann jedem Rechner (eigentlich jeder IP-Nummer) ein Name zugewiesen werden. Sicher haben Sie dies schon bei der Installation von Debian GNU/Linux bemerkt, Sie werden nach einem Rechnernamen (Hostname) gefragt. Dieser Name wird an verschiedenen Stellen gespeichert. Sie können mit dem Kommando hostname den Namen des Rechners herausfinden, es wird der Wert aus der Datei /etc/hostname ausgegeben. Wenn Sie dies an einem (dauerhaft) ans Internet angeschlossenen Rechner probieren, besteht dieser Name aus verschiedenen Teilen, die durch Punkte getrennt sind, zum Beispiel linux.openoffice.de. Nur der erste Teil ist der Name des Rechners (hostname), der Rest wird als „Domain Name“ bezeichnet (hier: openoffice.de). Da es natürlich viele Menschen gibt, die möchten, daß Ihr Rechner den Namen linux bekommt, wurde jeder dieser Namen dadurch einmalig gemacht, daß man ihn einer bestimmten Domain zuordnet. Innerhalb einer Domain (eine Gruppe von Computern, ein Netzwerk) ist meist eine Person für die Vergabe von Computernamen zuständig und pflegt die Daten(-bank) mit den notwendigen Informationen. Dieses System ist als DNS ( Domain Name Service) bekannt und mit einem Telefonverzeichnis vergleichbar. Sie können nach einem Computernamen suchen und erhalten dessen IP-Adresse. Vor der Einführung von DNS mußte man sich die IP-Adressen der Rechner merken, um sich im Internet bewegen zu können. Namen wurden nur innerhalb kleinerer Netzwerke benutzt und konnten in verschiedenen Netzen doppelt vergeben werden. Diese (lokalen) Namen wurden in der Datei /etc/hosts gespeichert. Natürlich können Sie auch heute noch diese Datei benutzen, sie wird auch bei der Installation von Debian GNU/Linux angelegt. Die Datei enthält den Namen des eigenen Rechners und die dazugehörige IP-Adresse. DNS ist ein sehr umfangreiches Thema, wir werden uns an dieser Stelle nur aus der Sicht des Nutzers (Client) damit befassen. Wenn ein Debian GNU/Linux-System die IP-Adresse eines anderen Rechners benötigt (zum Verschicken von Mail oder um eine Webseite aufzurufen), wird ein Teil der C Library benutzt, um die Informationen zu bekommen - der „resolver“. Zuerst wird ein Blick in die Datei /etc/nsswitch.conf geworfen (können Sie an dieser Stelle auch tun...). In dieser ist aufgeführt, an welchen Stellen versucht werden soll, die IP-Nummer zu finden. Hier sind drei verschiedene Einträge möglich, wenn mehrere vorhanden sind, werden diese der Reihenfolge nach durchsucht. • files - versucht den Hostnamen in der Datei /etc/hosts zu finden • dns - probiert es über eine Nameserverabfrage • 483 Kapitel 16. Netzwerk nis - fragt eine NIS-Datenbank Ein üblicher Eintrag in der Datei /etc/nsswitch wäre: hosts: files dns Dieser Eintrag bringt den Resolver dazu, zuerst die Datei /etc/hosts und dann den (in /etc/resolv.conf definierten) Nameserver (DNS) nach dem Rechnernamen zu durchsuchen. Die Datei /etc/resolv.conf enthält, neben dem Eintrag für einen oder mehrere Nameserver, zunächst den Namen der lokalen Domain. domain openoffice.de nameserver 194.25.2.129 nameserver 192.168.22.33 Die erste Zeile bewirkt, daß wenn nur ein Rechnername ohne Angabe der Domain angegeben wird, die lokale Domain an den Rechnernamen (Hostname) angehängt wird. Die folgenden Zeilen beschreiben die (IP-technisch gesehen möglichst gut erreichbaren) Nameserver. Sie sollten hier in jedem Fall IP-Nummer und nicht die Namen der Rechner verwenden. Alle Programme, die Sie benutzen (zum Beispiel Webbrowser), erfragen automatisch die IP-Nummer, wenn Sie einen Rechnernamen eingeben. Natürlich können Sie aber auch selber solche Abfragen starten. Das zu Debian GNU/Linux gehörende Paket dnsutils enthält das Programm nslookup. Sie können nslookup interaktiv benutzen, um mehrere Abfragen nacheinander zu starten. Die häufigste Anwendung ist aber, nslookup für eine einzelne Abfrage zu benutzen. Hierzu geben Sie nach dem Kommando einfach den Namen des gesuchten Rechners an:

  1. nslookup www.debian.org

Server: 194.25.2.129 Address: 194.25.2.129#53 Non-authoritative answer: Name: www.debian.org Address: 198.186.203.20 Nach dem befragten Server wird weiter unten die IP-Adresse für den gewünschten Server angegeben. 16.3.5. resolv.conf Auf die Datei /etc/resolv.conf wurde ja schon im vorherigen Abschnitt eingegangen. Hier noch ein etwas erweitertes Beispiel: domain openoffice.de search openoffice.de belug.org debian.org nameserver 194.25.2.129 nameserver 192.168.22.33 Hinzugekommen ist die zweite Zeile. Diese ist nicht zwingend notwendig, erleichtert aber die Arbeit. Mit dieser Zeile werden einfach (wenn Sie nur den Hostnamen angeben) die angegebenen Domains nach dem gewünschten Namen durchsucht, der Hostname wird automatisch um den Domainnamen ergänzt. 484 Kapitel 17. Server-Dienste 17.1. Apache Anfang 1995 war die beliebteste Server-Software für das WWW (World Wide Web) der frei verfügbare HTTP ( Hypertext Transfer Protocol) -Server „NCSA“, der von Rob McCool am National Center for Supercomputing Applications (daher der Name: NCSA), University of Illinois, Urbana-Champaign entwickelt wurde. Zu dieser Zeit fand aber schon keine weitere Entwicklung statt, da Rob McCool fast ein Jahr zuvor das NCSA verlassen hatte. Viele Webmaster entwickelten eigene Erweiterungen und beseitigten Fehler. Einige dieser Webmaster kommunizierten miteinander und koordinierten Ihre Entwicklungen in Form von sogenannten „Patches“. Diese Vielzahl der Patches führte auch zum Namen: „A PAtCHy server“ - Apache. Auf Basis des NCSA httpd Version 1.3 und allen verfügbaren Patches entstand im April 1995 die erste offizielle Version 0.6.2 des Apache Webservers. Bereits im Dezember 1995 wurde die Verion 1.0 veröffentlicht, die auch intern komplett überarbeitet war. Bereits ein Jahr, nachdem die Entwicklung aufgenommen wurde, konnte der Apache mehr Installationen aufweisen als der NCSA Server. Auch wenn Sie Ihren Rechner nicht permanent am Netz betreiben, macht ein eigener Webserver auf Ihrem System Sinn. Bei der Entwicklung eigener Webseiten können Sie diese sofort „Live“ auf Ihrem System testen. Sie müssen dazu nicht die Seiten erst auf den Server Ihres Providers übertragen. Ebenso können Sie selbst geschriebene CGI-Programme gleich testen. 17.1.1. Apache installieren & einrichten Die Installation von Apache können Sie wie gewohnt mit apt-get install apache durchführen. Auch dieses Paket beinhaltet ein Konfigurationscript, welches während der Installation gestartet wird. Wenn Sie Apache später neu konfigurieren möchten, können Sie das mit dem Programm apacheconfig durchführen. sushi:~# apt-get install apache Reading Package Lists... 100% Reading Package Lists... Done Building Dependency Tree... Done The following NEW packages will be installed: apache 0 packages upgraded, 1 newly installed, 0 to remove and 246 not upgraded. Need to get 0B/356kB of archives. After unpacking 666kB will be used. Selecting previously deselected package apache. (Reading database ... 64458 files and directories currently installed.) Unpacking apache (from .../web/apache_1.3.9-10.deb) ... Setting up apache (1.3.9-10) ... Installing new configuration file /etc/apache/httpd.conf ... Installing new configuration file /etc/apache/access.conf ... Installing new configuration file /etc/apache/srm.conf ... Installing new configuration file /etc/apache/cron.conf ... Updating alias /doc/ -> /usr/doc/ in srm.conf (for Debian docs). Your config files will not be modified until you select Y at "save changes." Enter the email address of your server administrator. This address will be used in error messages allowing users to submit reports of faulty links or misconfigured cgi-programs to you. It should be an email address that corresponds to a human. Who should the ServerAdmin be? [you@your.address] fr@openoffice.de Geben Sie hier Ihre E-Mail Adresse an. Diese Adresse können Sie später automatisch in Ihre Webseiten einbinden, zum Beispiel wenn es gewünscht ist, den Betreiber des Servers (Webmaster) zu erreichen. 485 Kapitel 17. Server-Dienste The DocumentRoot is set to /var/www. Installing your new homepage in /var/www. This release of the Apache server can be configured to load only certain modules into memory. This program can automagically configure Apache so only modules that are actually needed are loaded. Do you want to manually choose which modules to load? [y/N] Das Apache-Paket kommt mit einer ganzen Reihe von Modulen die, ähnlich wie die Module des Linux-Kernels, die Funktionalität des Webservers erweitern. Wir werden später noch einige interessante Module vorstellen. Sie können jetzt aber ohne Probleme darauf verzichten, weitere Module auszuwählen. Der Webserver wird auch so funktionieren. Working magic...........................................done.

  1. LoadModule vhost_alias_module /usr/lib/apache/1.3/mod_vhost_alias.so
  2. LoadModule env_module /usr/lib/apache/1.3/mod_env.so

LoadModule config_log_module /usr/lib/apache/1.3/mod_log_config.so LoadModule rewrite_module /usr/lib/apache/1.3/mod_rewrite.so

  1. LoadModule mime_magic_module /usr/lib/apache/1.3/mod_mime_magic.so

LoadModule mime_module /usr/lib/apache/1.3/mod_mime.so LoadModule negotiation_module /usr/lib/apache/1.3/mod_negotiation.so LoadModule status_module /usr/lib/apache/1.3/mod_status.so

  1. LoadModule info_module /usr/lib/apache/1.3/mod_info.so
  2. LoadModule includes_module /usr/lib/apache/1.3/mod_include.so

LoadModule autoindex_module /usr/lib/apache/1.3/mod_autoindex.so LoadModule dir_module /usr/lib/apache/1.3/mod_dir.so LoadModule cgi_module /usr/lib/apache/1.3/mod_cgi.so

  1. LoadModule asis_module /usr/lib/apache/1.3/mod_asis.so
  2. LoadModule imap_module /usr/lib/apache/1.3/mod_imap.so
  3. LoadModule action_module /usr/lib/apache/1.3/mod_actions.so
  4. LoadModule speling_module /usr/lib/apache/1.3/mod_speling.so

LoadModule userdir_module /usr/lib/apache/1.3/mod_userdir.so

  1. LoadModule proxy_module /usr/lib/apache/1.3/libproxy.so

LoadModule alias_module /usr/lib/apache/1.3/mod_alias.so LoadModule access_module /usr/lib/apache/1.3/mod_access.so LoadModule auth_module /usr/lib/apache/1.3/mod_auth.so

  1. LoadModule anon_auth_module /usr/lib/apache/1.3/mod_auth_anon.so
  2. LoadModule dbm_auth_module /usr/lib/apache/1.3/mod_auth_dbm.so
  3. LoadModule db_auth_module /usr/lib/apache/1.3/mod_auth_db.so
  4. LoadModule digest_module /usr/lib/apache/1.3/mod_digest.so
  5. LoadModule cern_meta_module /usr/lib/apache/1.3/mod_cern_meta.so

LoadModule expires_module /usr/lib/apache/1.3/mod_expires.so

  1. LoadModule headers_module /usr/lib/apache/1.3/mod_headers.so
  2. LoadModule usertrack_module /usr/lib/apache/1.3/mod_usertrack.so

LoadModule unique_id_module /usr/lib/apache/1.3/mod_unique_id.so LoadModule setenvif_module /usr/lib/apache/1.3/mod_setenvif.so

  1. LoadModule sys_auth_module /usr/lib/apache/1.3/mod_auth_sys.so
  2. LoadModule put_module /usr/lib/apache/1.3/mod_put.so
  3. LoadModule throttle_module /usr/lib/apache/1.3/mod_throttle.so
  4. LoadModule auth_ldap_module /usr/lib/apache/1.3/auth_ldap.so
  5. LoadModule allowdev_module /usr/lib/apache/1.3/mod_allowdev.so
  6. LoadModule pgsql_auth_module /usr/lib/apache/1.3/mod_auth_pgsql.so
  7. LoadModule cvs_module /usr/lib/apache/1.3/mod_cvs.so
  8. LoadModule define_module /usr/lib/apache/1.3/mod_define.so
  9. LoadModule eaccess_module /usr/lib/apache/1.3/mod_eaccess.so
  10. LoadModule roaming_module /usr/lib/apache/1.3/mod_roaming.so

Pondering...........................................done. Save these changes to the configuration files? [Y/n] 486 Kapitel 17. Server-Dienste Das Konfigurationsprogramm wird die nötigen Dateien unter /etc/apache/ speichern. Wie Sie sehen, sind viele Zeilen auskommentiert, hierzu dient das Zeichen # am Zeilenanfang. Wenn Sie später bestimmte Funktionen benötigen, entfernen Sie dieses Zeichen und starten Sie den Server neu. Bei einigen Modulen sind weitere Eintragungen in der Konfiguration notwendig, ein paar Beispiele finden Sie weiter unten, die anderen werden in der Dokumentation zu Apache beschrieben. Rotated ‘/etc/apache/httpd.conf’ at Sun Jan 23 19:25:42 CET 2000. Rotated ‘/etc/apache/srm.conf’ at Sun Jan 23 19:25:42 CET 2000. Restart Apache now? [Y/n] Stopping apache with apachectl ... Waiting for apache to terminate ...done. /usr/sbin/apachectl start: httpd started Der Webserver ist nun installiert und Sie können diesen mit einem beliebigen Webbrowser unter der Adresse: http://localhost/ erreichen. Es wurde bei der Installation eine Testseite eingerichtet, diese sollte Ihnen angezeigt werden. Die Dateien zu dieser Seite finden Sie unter /var/www/. Sie können dort nun eigene Seiten ablegen. Wenn Sie sich näher mit dem Apache Webserver beschäftigen wollen, sollten Sie auch die Dokumentation installieren, die sich im Paket apache-doc befindet. 17.1.2. Konfigurationsdateien Unter Debian GNU/Linux befinden sich die Konfigurationsdateien des Apache unter /etc/apache/. Apache benutzt drei Konfigurationdateien: • httpd.conf - Informationen zum Verhalten des Servers. • srm.conf - Informationen zu den Dokumenttypen • access.conf - Informationen zu den Zugriffen auf die Dokumente Debian GNU/Linux benutzt während der Installation des Paketes das Programm apacheconfig, um diese Dateien (speziell httpd.conf) zu konfigurieren. Sie können apacheconfig zu jeder Zeit wieder aufrufen (als Superuser). 17.1.3. Logdateien Apache protokolliert alle Aktionen in zwei Logdateien, welche unter /var/log/apache/ zu finden sind: • error_log - Fehlermeldungen. • access_log - Hier werden alle übertragenen Dateien protokolliert. 17.1.4. Starten & Stoppen Sie können den Apache als Superuser über das Script /etc/init.d/apache starten, neu starten und stoppen. linux:/home/fr# /etc/init.d/apache Usage: /etc/init.d/apache {start|stop|reload|reload-modules|force-reload|restart} linux:/home/fr# /etc/init.d/apache restart Restarting apache daemon... done. Wenn Sie Veränderungen an den Konfigurationsdateien vorgenommen haben, müssen Sie den Apache neu starten. Wenn dieser Neustart mißlingt, liegt ein Fehler in den Konfigurationsdateien vor. 487 Kapitel 17. Server-Dienste 17.1.5. CGI-Programme CGI (Common Gateway Interface) -Programme werden auf dem Webserver ausgeführt und liefern dynamische Daten als HTML-Datei an den Browser zurück. Im einfachsten Fall kann ein CGI-Programm ein einfaches Shell-Script sein, Sie können aber auch in jeder anderen Programmiersprache Anwendungen erstellen. Sehr beliebt sind Datenbankanwendungen, als Scriptsprache haben sich Perl und PHP durchgesetzt. Wenn Sie ein CGI-Programm erstellt haben, so muß dieses in dem Verzeichnis /usr/lib/cgi-bin/ liegen. Im Browser ist beispielsweise das Programm test.sh als http://localhost/cgi-bin/test.sh zu erreichen. Ein einfaches Beispiel für ein Programm test.sh wäre:

  1. !/bin/sh
  2. disable filename globbing

set -f echo Content-type: text/plain echo echo CGI/1.0 test script report: echo echo argc is $#. argv is "$*". echo echo SERVER_SOFTWARE = $SERVER_SOFTWARE echo SERVER_NAME = $SERVER_NAME Vergessen Sie nicht das Script ausführbar zu machen. Wenn Sie dieses Script über die oben gezeigte URL aufrufen, erhalten Sie folgende Ausgabe in Ihrem Webbrowser: CGI/1.0 test script report: argc is 0. argv is . SERVER_SOFTWARE = Apache/1.3.12 (Unix) Debian/GNU SERVER_NAME = surimi Sie können einem CGI-Programm auch Parameter übergeben, dies geschieht in der URL hinter einem Fragezeichen. Das Script zählt die Anzahl der Parameter und gibt auch den übergebenen String aus. Wenn Sie die URL http://localhost/cgi-bin/test.sh?Linuxrules! benutzen, um das Script aufzurufen, verändert sich die Ausgabe im Webbrowser in der zweiten Zeile wie folgt: argc is 1. argv is Linuxrules!. 17.1.6. Apache konfigurieren & optimieren Der Apache Webserver verfügt über eine Vielzahl von Funktionen, einige interessante möchten wir Ihnen im folgenden vorstellen. 17.1.6.1. URL-Korrekturen Der Apache Webserver kann URLs, die nicht auf dem Server vorhanden sind, in den meisten Fällen automatisch korrigieren. Es werden sowohl fehlende Buchstaben ergänzt als auch Groß- und Kleinschreibung geprüft und ggf. korrigiert. Hierzu werden alle Dateinamen auf dem Server geprüft und mit der URL verglichen. Wenn nur eine passende Datei gefunden wird, wird die URL korrigiert und die gefundene Datei angezeigt. Bei mehreren passenden Dateien wird eine Liste angezeigt. 488 Kapitel 17. Server-Dienste Um diese Funktion zu aktivieren, müssen Sie den Kommentar (#) vor der Zeile: # LoadModule speling_module /usr/lib/apache/1.3/mod_speling.so in der Datei /etc/apache/httpd.conf entfernen und die Option „CheckSpellig“ aktivieren. Hier ein Ausschnitt aus der Datei: ... LoadModule speling_module /usr/lib/apache/1.3/mod_speling.so ... ... CheckSpelling on ... Danach müssen Sie den Apache neu starten (mit /etc/init.d/apache reload). 17.1.6.2. Geschützte Verzeichnisse Wenn Sie Verzeichnisse auf Ihrem Webserver mit einem Paßwort schützen wollen, so erzeugen Sie in dem gewünschten Verzeichnis die Datei .htaccess. Diese sollte folgenden Inhalt haben: AuthUserFile /home/user007/www/.passwd AuthName "user007" AuthType Basic <Limit GET POST> require valid-user </Limit> Nun benötigen Sie noch die Datei mit dem Paßwort in verschlüsselter Form. Achten Sie darauf, daß diese Datei auf keinen Fall innerhalb der aus dem Netz zugänglichen Webseiten liegt! Erzeugen Sie die Datei /home/user007/www/.passwd, mit folgendem Eintrag: user007:gfrzGZ98bsd8 Sie können ein verschlüsseltes Paßwort mit dem Programm mkpasswd aus einem Klartext erzeugen. 17.1.6.3. SSI - Server Side Includes Server Side Includes (SSI) erlauben es, Webseiten, bevor diese zum Browser geschickt werden, zu interpretieren. Sie können über speziellen Code innerhalb der Seite Variablen benutzen oder einfach Entscheidungen (if then...) treffen und viele andere Dinge. Um diese Funktionalität zu aktivieren, muß das Modul mod_include entweder mit eincompiliert sein, oder es muß beim Start des Servers geladen werden. Weiterhin müssen Seiten, die interpretiert werden sollen, die Endung .shtml bekommen und Sie müssen dies in der Konfiguration aktivieren: AddType text/html .shtml AddHandler server-parsed .shtml Die erste Zeile weist den .shtml-Dateien den Mime-Type text/html zu, die zweite Zeile bestimmt, daß diese Dateien durch den Server interpretiert (parsed) werden sollen. Weiterhin müssen Sie diese Funktion noch explizit einschalten, mit der Zeile Options +Includes in der Datei /etc/apache/httpd.conf oder in einer Datei .htaccess innerhalb des gewünschten Verzeichnisses Ihres Webservers (hierzu muß AllowOverride ebenfalls aktiviert sein). 489 Kapitel 17. Server-Dienste Die zu interpretierenden Kommandos müssen innerhalb des HTML-Codes als SGML-Kommentare eingebettet werden. Die Syntax hierzu lautet: Die Werte (value) werden meist in doppelten Anführungszeichen, seltener in einfachen Anführungszeichen, gefaßt. Beachten Sie, daß der Abschluß dieser Zeile ( -->) mit einem Leerzeichen beginnt! Erlaubte Elemente sind unter anderem: „config“, „echo“, „exec“, „fsize“, „flastmod“, „printenv“, „set“ und „include“. Nähere Informationen zu diesen Elementen finden Sie in der Dokumentation, auf das Element „include“ gehen wir nun etwas genauer ein. Mit dem Element „include“ können Sie Text aus einer anderen Datei in die aktuelle Datei einfügen. Jede dieser so eingebundenen Dateien unterliegt den Zugriffsrechten des jeweiligen Verzeichnisses, wenn Sie also für den betreffenden Bereich die Option „IncludesNoExec“ gesetzt haben, werden so eingebundene CGI-Scripte ignoriert. Wenn diese Option nicht angegeben ist, wird das CGI-Script ausgeführt und das Ergebnis eingebunden. Das Element „include“ benötigt noch weitere Attribute, diese definieren den Ort, an dem die einzubindende Datei zu finden ist: file - dieses Attribut gibt einen relativen Pfad zu der Datei an. Der Wert darf kein absoluter Pfad sein und darf keinen Verweis auf ein höherliegendes Verzeichnis (../) enthalten. virtual - hiermit wird eine komplette URL relativ zum aktuellen Dokument angegeben. Hier sind keine Rechnernamen (hostname) zugelassen. Wenn die URL nicht mit einem / beginnt, wird ein Pfad relativ zum aktuellen Dokument angenommen. Weiterhin stehen Ihnen einige Variablen zur Verfügung, die Sie entweder direkt oder in Zusammenhang mit den Kommandos echo oder if und elif verwenden können: DATE_GMT Die aktuelle Zeit als „Greenwich Mean Time“ DATE_LOCAL Die aktuelle Zeit in der eingestellten Zeitzone DOCUMENT_NAME Der Dateiname, ohne Pfadangabe, des Dokumentes DOCUMENT_URI Die komplette URL des Dokumentes, dies ist bei eingebundenen Dateien nicht die URL des aktuellen Dokumentes LAST_MODIFIED Das Datum der letzten Änderung des Dokumentes Hier nun ein kleines Beispiel für die Anwendung in der Praxis. Wenn Sie einen Webserver mit vielen Seiten pflegen müssen, sind Sie vielleicht schon mal in die Verlegenheit gekommen, das Layout verändern zu müssen. Nun ist es natürlich sehr aufwendig, dies in allen Dateien ändern zu müssen. Die Lösung hierfür ist nun, eine HTML-Datei zu erstellen, in der das Layout der Seite(n) bestimmt wird. Innerhalb des BODY Tags erstellen Sie nun sinngemäß folgende Einträge: in foo in bar --> 490 Kapitel 17. Server-Dienste in neither Dies bewirkt, daß je nachdem mit welcher URL die Datei aufgerufen wird, eine andere Datei in den BODY Tag eingelesen wird. Sie müssen natürlich nicht die Hauptdatei entsprechend der Namen der anderen Dateien kopieren, ein passender Link reicht hier völlig aus. Natürlich können Sie die Liste der Dateien beliebig erweitern, dies soll nur ein kurzes Beispiel darstellen. Jede Veränderung des Aussehens der HTML-Seiten im Kopf der Datei wird nun sofort auf allen Seiten wirksam. 17.1.6.4. Umleitungen Manchmal ist es gewünscht, einzelne Webseiten oder gar komplette Server umzuleiten. Dies kann bei einem Providerwechsel nötig sein oder wenn Sie die Struktur Ihres Servers verändert haben. Wenn Sie einen kompletten Server umleiten wollen, weil sich beispielsweise der Name geändert hat, so aktivieren Sie das Modul mod_alias und ergänzen Sie die Datei /etc/apache/httpd.conf um die Zeile: Redirect / http://www.debian.org/ Dies führt aber nicht in allen Fällen zu dem gewünschten Ergebnis, zum Beispiel wenn nicht auf die Hauptseite, sondern auf eine alte URL unterhalb der Hauptseite zugegriffen wird. Besser ist es, wenn Sie alle Zugriffe auf den Server abfangen und dem Client (Browser) eine neue URL „unterschieben“. Hierzu benötigen Sie das Modul mod_rewrite und folgende Zeilen in der Konfiguration: RewriteEngine On RewriteRule /.* http://www.debian.org/ [R] Dies bewirkt, daß alle Anfragen auf den Server umgeleitet werden. 17.1.6.5. Fehlermeldungen Sicher haben Sie in Ihrem Webbrowser schon einmal die Meldung gesehen, daß eine gesuchte Seite nicht mehr gefunden wurde ( „Error 404: Page Not Found“). Der Anbieter hat vielleicht seinen Server umstrukturiert und die URL hat sich verändert. Sowas wird sicher auch auf Ihrem Server mal passieren. Sie können mit dem Apache Webserver diese Fehlermeldungen individuell gestalten oder auch dafür sorgen, daß in dem Fall, daß eine Seite nicht gefunden wird, der Client auf eine andere Seite geleitet wird. Standardmäßig bekommen Sie eine Fehlermeldung, wenn eine Seite nicht gefunden wurde, dazu müssen Sie nichts konfigurieren. Je nach Fehlernummer können Sie ein anderes Verhalten erzwingen. Neben der Fehlernummer müssen Sie noch eine URL angeben, die dem Client übermittelt werden soll. Diese URLs können mit einem / beginnen, wenn es sich um lokale URLs handelt, oder auf entfernte Server verweisen. ErrorDocument 500 http://foo.example.com/cgi-bin/tester ErrorDocument 404 /cgi-bin/bad_urls.pl ErrorDocument 401 /subscription_info.html ErrorDocument 403 "Sorry can’t allow you access today" 491 Kapitel 17. Server-Dienste 17.2. FTP-Server Um Dateien über das Netzwerk (oder auch im Internet) zu kopieren, hat sich seit langer Zeit das FTP (File Transfer) Protokoll etabliert. Sehr verbreitet ist der WU-FTPD-Server, welcher auch als Debian GNU Paket vorliegt. Wir möchten Ihnen jedoch an dieser Stelle den ProFTPD-Server vorstellen, der sich durch eine sehr leichte Konfiguration auszeichnet und durch ein moderneres Konzept größere Sicherheit bietet. Zunächst sollten Sie das Paket proftpd installieren. Danach finden Sie die Konfigurationsdatei im Verzeichnis /etc/ unter dem Namen proftpd.conf. Auch für dieses Debian-Paket wurde eine kleine Konfigurationsroutine hinzugefügt: +------------------------- Configuring Proftpd --------------------------+ | | | This option will create a ’ftp’ user if needed, and set up ProFTPD to | | allow anonymous ftp access to /home/ftp. | | | | Enable anonymous ftp access? | | | | <Yes> <No> | | | +------------------------------------------------------------------------+ Editing /etc/proftpd.conf ... Starting professional ftp daemon: proftpd. Sie können hier auswählen, ob Sie Ihren FTP-Bereich (Standard ist das Verzeichnis /home/ftp/) auch für anonyme Benutzer freigeben wollen. Werfen wir nun mal einen Blick in die erzeugte Konfigurationsdatei:

  1. This is a basic ProFTPD configuration file (rename it to
  2. ’proftpd.conf’ for actual use. It establishes a single server
  3. and a single anonymous login. It assumes that you have a user/group
  4. "nobody" and "ftp" for normal operation and anon.

ServerName "ProFTPD" ServerType standalone DeferWelcome off ShowSymlinks on MultilineRFC2228 on DefaultServer on ShowSymlinks on AllowOverwrite on TimeoutNoTransfer 600 TimeoutStalled 600 TimeoutIdle 1200 DisplayLogin welcome.msg DisplayFirstChdir .message LsDefaultOptions "-l"

  1. Port 21 is the standard FTP port.

Port 21

  1. Umask 022 is a good standard umask to prevent new dirs and files
  2. from being group and world writable.

Umask 022

  1. Set the user and group that the server normally runs at.

User root 492 Kapitel 17. Server-Dienste Group root

  1. A basic anonymous configuration, no upload directories.

<Anonymous ~ftp> User ftp Group nogroup

  1. We want clients to be able to login with "anonymous" as well as "ftp"

UserAlias anonymous ftp RequireValidShell off

  1. Limit the maximum number of anonymous logins

MaxClients 10

  1. We want ’welcome.msg’ displayed at login, and ’.message’ displayed
  2. in each newly chdired directory.

DisplayLogin welcome.msg DisplayFirstChdir .message

  1. Limit WRITE everywhere in the anonymous chroot

<Directory *> <Limit WRITE> DenyAll </Limit> </Directory>

  1. <Directory incoming>
  2. <Limit READ WRITE>
  3. DenyAll
  4. </Limit>
  5. <Limit STOR>
  6. AllowAll
  7. </Limit>
  8. </Directory>

</Anonymous> Wenn Sie sich bereits mit der Konfigurations des Apache Webservers beschäftigt haben, werden Ihnen in dieser Konfiguration sicher viele Dinge bekannt vorkommen. Damit wäre die grundsätzliche Konfiguration abgeschlossen. Wenn Sie wirklich den Zugriff von außen auf Ihren Rechner erlauben wollen, müssen Sie noch etwas mehr tun. Sehen Sie zunächst in die Datei /etc/hosts.deny, dort sollte lediglich der Eintrag ALL: ALL zu finden sein, um erst einmal alle Zugriffe von außen auf den Rechner abzublocken. Es ist einfacher, die Übersicht zu behalten, wenn man explizit die Rechner freigibt, die zugreifen dürfen. Dies geschieht über die Datei /etc/hosts.allow. Wenn Sie den Zugriff auf Ihren FTP-Server von jedem Rechner weltweit erlauben wollen, tragen Sie die Zeile ftpd: ALL in dieser Datei ein. Um den Zugriff aus der Domain .openoffice.de zu erlauben, genügt die folgende Zeile: ftpd: .openoffice.de Natürlich läßt sich der Zugriff auch auf einzelne Rechner beschränken, hierzu tragen Sie folgende Zeile (sinngemäß) ein: ftpd: 198.186.203.20 493 Kapitel 17. Server-Dienste Wenn Sie an den ProFTPD-Konfigurationdateien Veränderungen vorgenommen haben, müssen Sie den Dämon mit dem Kommando /etc/init.d/proftpd reload zum Einlesen der neuen Dateien überreden. Zum ProFTPD-Paket gehören einige weitere interessante Programme. Dies sind: ftpcount, ftpwho, ftpstats und ftpshut. ftpcount zeigt die Anzahl der Verbindungen zu jedem Server an. ftpwho zeigt Prozessinformationen zu allen aktiven Verbindungen an. ftpshut beendet alle ProFTPD-Server auf dem System zu einer bestimmten Zeit. In den Man-Pages zu den einzelnen Programmen finden Sie weitere Informationen. Weitere Informationen zu ProFTPD finden Sie im Netz unter der URL: http://www.proftpd.net. 17.3. DHCP DHCP ist ein sehr verbreitetes Protokoll, um automatisch Rechner für den Zugang zum Netz zu konfigurieren. Hierzu ist es notwendig, einen DHCP-Server aufzusetzen, von dem die Clients (zum Beispiel die Arbeitsplatzrechner) die nötigen Daten (IP-Nummer, Netzmaske oder auch Nameserver-Adresse) beziehen. Schauen wir uns zuerst die Konfiguration des Servers an: Installieren Sie zunächst das Paket dhcp. Die Konfiguration für den DHCP-Server finden Sie in der Datei /etc/dhcpd.conf. Hier ein Beispiel für die Datei /etc/dhcpd.conf bei der jedem Rechner (Client) eine feste IP-Nummer zugewiesen wird. Diese wird anhand der Hardware Adresse ( MAC-Adresse) der Netzwerkkarte zugeordnet.

  1. dhcpd.conf

option domain-name "openoffice.de"; option domain-name-servers gateway.openoffice.de; option subnet-mask 255.255.255.240; default-lease-time 600; max-lease-time 7200; subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.10 192.168.1.255; option broadcast-address 192.109.42.16; option routers gateway.openoffice.de; } host imac { hardware ethernet 08:00:07:26:c0:a5; fixed-address sushi.openoffice.de; } Diese Konfiguration benutzt ein nicht geroutetes Netz, welches Sie problemlos zu Hause für Ihr internes Netz verwenden können. Weiterhin werden die ersten 9 Adressen nicht benutzt, Rechner, die Ihre Netzwerkangaben per DHCP beziehen, benutzen IP-Nummer ab der 192.168.0.10 aufwärts. Sie müssen für jeden Rechner, den Sie über den DHCP-Server versorgen wollen, einen Eintrag, wie hier im Beispiel für den Rechner „imac“ gezeigt, vornehmen. Wenn Sie die Hardware-Adresse Ihrer Netzwerkkarte nicht kennen, konfigurieren Sie den DHCP-Server erst einmal ohne diesen Eintrag und lesen weiter. Sie können die Hardware-Adresse auch später aus dem Logfile Ihres Servers entnehmen. Weiterhin müssen Sie in der Datei /etc/init.d/dhcp die Variable run_dhcp auf 1 ändern. Danach können Sie mit /etc/init.d/dhcp start den DHCP-Server aktivieren. Starten Sie nun einen der Rechner, die per DHCP versorgt werden sollen (Client). Wenn Sie noch keinen Eintrag für die Hardware-Adresse vorgenommen haben, können Sie diese aus dem Logfile entnehmen. 494 Kapitel 17. Server-Dienste Benutzen Sie dazu als Superuser das Kommando: tail -f /var/log/messages. Fügen Sie die angezeigte Adresse in die Konfigurationsdatei ein und starten Sie den DHCP-Server neu (mit: /etc/init.d/dhcp stop und /etc/init.d/dhcp start). Sollte Ihr Client mittlerweile aufgegeben haben, so starten Sie diesen Rechner ebenfalls neu. Alternativ kann auch das Kommando pump benutzt werden um erneut eine DCHP Abfrage zu starten. Eine etwas umfangreichere Konfiguration, die auch eine dynamische Adressvergabe zuläßt und für einen Rechner eine feste IP-Adresse zuweist finden Sie hier:

  1. option definitions common to all supported networks...

option domain-name "openoffice.de"; option domain-name-servers ns.openoffice.de;

  1. option subnet-mask 255.255.255.224;

default-lease-time 600; max-lease-time 7200; subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.20 192.168.1.255; option domain-name-servers 192.168.1.6; option domain-name "openoffice.de"; option routers 192.168.1.6; option subnet-mask 255.255.255.0; option broadcast-address 192.168.1.255; default-lease-time 600; max-lease-time 7200; } host surimi { hardware ethernet 00:60:08:78:c3:67; fixed-address surimi; } Im folgenden einige kurze Informationen, wie Sie auch Ihre anderen Rechner auf DHCP umstellen. 17.3.1. GNU/Linux Notebook als DHCP-Client Die Konfiguration eines Notebooks mit Debian GNU/Linux ist denkbar einfach, benutzen Sie wie schon vorab beschrieben das Programm pcnetconfig und beantworten Sie die Frage nach der Methode mit 2 für „Use the dhcpcd or dhclient program“ sushi:/home/fr# pcnetconfig This program will create a basic /etc/pcmcia/network.opts file, the pcmcia-cs package’s network adapter configuration file, based on choices that you make. A sample network.opts file is supplied in pcmcia-cs; you can edit this file to match your local network setup. Refer to the PCMCIA-HOWTO (usually in /usr/doc/HOWTO/PCMCIA-HOWTO.gz) for a detailed description of this file’s contents. Before continuing with this program, ensure that you know your host’s network configuration. Do you want to continue? [y] Choose a method for obtaining the host’s IP address and routing information 1) Use the BOOTP protocol 2) Use the dhcpcd or dhclient program 495 Kapitel 17. Server-Dienste 3) Use /sbin/pump 4) Use netenv (from the netenv package) 5) Specify the IP address now (default) 2 In addition to the usual network configuration parameters, the network.opts script can specify extra actions to be taken after an interface is configured, or before an interface is shut down. If network.opts defines a shell function called start_fn, it will be invoked by the network script after the interface is configured, and the interface name will be passed to the function as its first (and only) argument. Similarly, if it is defined, stop_fn will be invoked before shutting down an interface. Refer to the PCMCIA-HOWTO for more details. This program will now write the network.opts file. Please take care not to overwrite a previously configured version of this file. Do you want to write /etc/pcmcia/network.opts? [y] y Speichern Sie die Konfiguration dann ab. 17.3.2. MacOS als DHCP-Client Unter MacOS wählen Sie unter dem Apfel-Menü den Punkt „Kontrollfelder“ / „TCP/IP“ aus. Abbildung 17-1. MacOS TCP/IP 496 Kapitel 17. Server-Dienste Wenn Sie gefragt werden, ob TCP/IP aktiviert werden soll, klicken Sie auf „Ja“. Wählen Sie danach aus dem Menü „DHCP“ aus und schließen Sie das Fenster. Abbildung 17-2. MacOS DHCP Beim nächsten Neustart versucht der Mac die Netzwerkinformationen per DHCP zu beziehen. Achten Sie darauf, daß der Mac an das Netzwerk angeschlossen ist. 17.4. Samba Samba verbindet zwei Welten miteinander. Auf einem Unix oder Debian GNU/Linux-Rechner installiert, dient es als Datei- und Druckerserver für über das Netzwerk angeschlossene Windows-Rechner. Samba benutzt hierzu das von Microsoft benutze SMB (Server Message Block)-Protokoll, es sind so an den Windows-Rechnern keinerlei Veränderungen vorzunehmen oder gar zusätzliche Software zu installieren. Dieses wird durch Protokolle erreicht, die als CIFS ( Common Internet File System) bekannt wurden. Eines der wichtigsten Elemente von CIFS ist das Protokoll SMB (Server Message Block). Samba ist eine freie Implementation von CIFS. Samba wurde bisher auf eine Vielzahl von Nicht-Unix-Betriebssystemen wie zum Beispiel VMS, AmigaOS und NetWare portiert. 17.4.1. Entstehung von Samba Vor einigen Jahren entwickelten die Firmen IBM und Sytec gemeinsam ein einfaches Netzwerk-System für kleine, lokale Netzwerke. Dieses wurde NetBIOS oder „Network Basic Input Output System“ genannt. Microsoft erweiterte die Funktionalität, so daß Laufwerke übers Netz verwendet werden konnten. Diese Version wurde SMB und später CIFS genannt. NetBIOS wurde für kleine, lokale Netzwerke entwickelt, im Zusammenspiel mit TCP/IP kann diese Grenze überwunden werden. Der Trick besteht darin, die 16 Byte langen NetBIOS-Namen auf IP-Adressen umzulegen, so daß diese ihren Weg in einem gerouteten IP-Netzwerk finden. Dieser Mechanismus wird in den RFCs 1001 und 1002 beschrieben. Mit der weiteren Entwicklung von Windows wurden zwei Funktionen hinzugefügt: Das „Browsen“ nach Diensten im Netz und eine Funktion zur zentralen Authentifizierung und Autorisierung, der sogenannte „Windows NT Domain Control“. 497 Kapitel 17. Server-Dienste 17.4.2. Funktionen von Samba Samba besteht aus zwei existenziellen Programmen, smbd und nmbd, welche die grundlegenden, aktuellen Funktionen von CIFS implementieren. Diese sind: • Datei- und Druckdienste • Authentifikation und Authorisation • Namensauflösung • „browsing“ Hierbei sind die Datei- und Druckdienste sicherlich die wichtigsten Bausteine des CIFS. Diese werden von smbd, dem SMB-Daemon, zur Verfügung gestellt. smbd verwaltet auch die sogenannte "Share mode" und "User mode"-Authentifizierung und Autorisation. Mit diesen können Sie Laufwerke und Druckdienste mit Paßwörtern schützen. Im einfachsten, im „Share“-Modus, kann ein Paßwort einem Laufwerk oder Drucker zugeordnet werden. Dieses Paßwort muß jedem Benutzer bekannt sein, der auf dieses Gerät zugreifen soll. Diese Methode ist natürlich durch ein Paßwort, welches vielen Benutzern bekannt ist, nicht sehr sicher. Empfehlenswerter ist es, jedem Benutzer einen eigenen Benutzernamen und ein Paßwort zu geben, der Systemadministrator entscheidet dann über die Konfiguration, welche Zugriffe für welchen Benutzer gestattet sind. Das mit Windows NT eingeführte System, der „Domain Controller“, erlaubt eine weitere Stufe der Authentifizierung. Die grundlegende Idee dahinter ist, daß ein Benutzer sich nur einmal legitimieren muß, um auf alle Netzwerkdienste zugreifen zu können. Das NT-System koordiniert dies über einen Server, den sogenannten Domain Controller. Eine NT Domain (nicht zu verwechseln mit dem Domain Name System (DNS)) ist eine Gruppe von Rechnern, die auf einen gemeinsamen Domain Controller zugreifen. Die anderen beiden Teile von CIFS, Namensauflösung und „browsing“, werden von nmbd zur Verfügung gestellt. Die Auflösung von Namen kann auf zwei Arten, „broadcast“ oder „point-to-point“, erfolgen. Ein Rechner kann eine oder beide dieser Methoden nutzen. Die Broadcast-Methode erinnert noch am meisten an die originale NetBIOS-Funktionalität, ein Rechner, der einen Service sucht, „ruft“ ins Netz und wartet auf eine Antwort. Dies kann einigen Traffic verursachen, ist aber in einem kleinen Netz kein echtes Problem. Die zweite Methode benutzt einen NBNS (NetBIOS Name Service)-Server. Unter Windows ist dies als WINS (Windows Internet Name Service) bekannt. Die Funktionsweise ist recht schnell erklärt: Jeder Client sendet seinen NetBIOS-Namen und die IP-Adresse an den NBNS-Server, der die Informationen in einer Datenbank speichert. Wenn ein Client mit einem anderen Client „sprechen“ möchte, sendet er den Namen des gewünschten Rechners an den NBNS-Server und dieser liefert die passende IP-Adresse zurück. Clients in verschiedenen Subnetzen können einen gemeinsamen NBNS-Server benutzen. Somit ist die Broadcast-Methode nicht auf lokale Netze beschränkt. NBNS läßt sich in etwa mit den DNS vergleichen, die Namensliste von NBNS ist allerdings komplett dynamisch und es gibt kaum Überprüfungen, ob ein Client zur Namesregistrierung authorisiert ist. Dies kann sehr schnell zu Konflikten führen. Bleibt noch das „browsing“. Dies hat nichts mit dem Surfen im WWW zu tun, sondern stellt vielmehr eine Liste der verfügbaren Laufwerke und Drucker dar. In einem LAN gibt es zwischen den teilnehmenden Rechnern eine „Abstimmung“ und der dominierende Rechner wird zum LMB (Local Master Browser) erklärt. Dieser LMB bekommt einen zusätzlichen Namen, seine Aufgabe ist es, eine Liste der verfügbaren Dienste zu pflegen. Diese Liste erscheint beim Anklicken des Symbols „Netzwerk Umgebung“. Als Ergänzung zu den LMBs gibt es noch DMBs (Domain Master Browsers). Diese koordinieren die Listen zwischen NT-Domänen und gerouteten Netzwerken. Über den NBNS kann ein LMB seinen DMB herausfinden und die Listen austauschen und ergänzen. Somit können die Listen an alle Teilnehmer in einer NT Domain verteilt werden. Leider dauert es bis zu einer Stunde, bis eine Änderung in einem Subnetz im Netz verbreitet ist. 498 Kapitel 17. Server-Dienste 17.4.3. Samba-Werkzeuge Im Samba-Paket sind eine Reihe von Werkzeugen enthalten, andere sind unter Debian GNU/Linux als separate Pakete verfügbar. • smbclient - ein einfaches Programm, ähnlich wie ftp, mit dem Sie eine Verbindung von einem GNU/Linux-System zu einem SMB-Laufwerk oder einem Drucker herstellen können und Dateien übertragen können. • nmblookup - ein NetBIOS Name Service Client. Hiermit können Sie IP-Adressen und Namen von anderen Rechnern im Netz ermitteln. • swat - Ein webbasiertes Administrationstool. 17.4.4. SMB-Dateisysteme Mit Samba können Sie von einem Windows-Rechner aus Dateisysteme Ihres Linux-Rechners völlig transparent nutzen, als wenn diese auf einer lokalen Festplatte liegen würden. Beispielsweise kann das Laufwerk „N:“ auf irgendeinem entfernten Rechner angelegt sein. Aber auch der umgekehrte Weg funktioniert, über das smbfs-Dateisystem können Sie auf Laufwerke zugreifen, die von einem Windows-Rechner freigegeben wurden. So können Sie zum Beispiel ein Verzeichnis /mnt/win/ anlegen und das entsprechende Laufwerk Ihres Windows-Rechners dort mounten. Sie können in diesem Verzeichnis alle Aktionen (lesen, schreiben, löschen usw. von Dateien) ausführen, wie auf Ihren lokalen Platten. 17.4.5. Konfiguration und Verwaltung Samba wird über die Datei /etc/smb.conf konfiguriert. Dies ist, wie unter Debian GNU/Linux üblich, eine normale ASCII-Datei, die Syntax ähnelt den von Windows bekannten*.ini-Dateien. Ziel ist es, Netzwerk-Administratoren, die mit Windows vetraut sind, einen leichten Umstieg zu bieten. Mit der wachsenden Funktionalität von Samba wuchsen auch die in der Konfigurationsdatei verfügbaren Parameter. Diese sind gut dokumentiert und erlauben sehr detaillierte Einstellungen. Neben der unter /usr/doc/samba/ liegenden mitgelieferten Dokumentation ist unter http://www.oreilly.com/catalog/samba/ auch die englischsprachige Online-Version des bei O’Reilly erschienenen Buches „Using Samba“ zu finden. Wer sich über den neuesten Stand der Samba-Entwicklung informieren möchte, dem sei die URL http://kt.linuxcare.com/KC/samba/ empfohlen. Die Homepage von Samba finden Sie unter: http://samba.org/. Als grafische Werkzeuge stehen Ihnen gnomba und tkchooser zur Verfügung, um exportierte Drucker und Laufwerke im Netz aufzuspüren und am System anzumelden. 17.4.6. SWAT Das Samba Web Administration Tool (SWAT) stellt eine webbasierte Konfigurationsoberfläche für Samba zur Verfügung. Eine Demoversion finden Sie unter der URL: http://anu.samba.org/cgi-bin/swat/. SWAT ist Bestandteil der Samba Distribution, wurde aber für Debian GNU/Linux als eigenes Paket gepackt. Da SWAT webbasiert ist, benötigen Sie ebenfalls einen Webserver (apache, roxen ...) auf Ihrem System. Starten Sie dann Ihren Webbrowser mit der URL http://localhost:901/. Bitte beachten Sie: Wenn Sie auf SWAT von einem anderen Rechner zugreifen (in einem internen Netz oder über das Internet), so werden alle Paßwörter unverschlüsselt übertragen. Informationen über die möglichen Einstellungen finden Sie in der Anleitung zu Samba. 499 Kapitel 17. Server-Dienste 17.4.7. gnosamba gnosamba ist ein grafisches Werkzeug zur Konfiguration von Samba. Die Webseiten zu gnosamba finden Sie unter der URL: http://www.open-systems.com/gnosamba.html. Sie können mit gnosamba eine bestehende Samba-Konfigurationsdatei einlesen und verändern. Sie können diese auch unter einem anderen Namen abspeichern, für Testzwecke beispielsweise. Abbildung 17-3. Gnosamba gnosamba befindet sich noch in der Entwicklung, es ist daher empfehlenswert, immer eine Sicherheitskopie der Samba-Konfigurationsdateien zu erstellen. Auch eine Unterstützung für die „höheren“ Funktionen, wie zum Beispiel PDC ( Primary Domain Controller)-Support sind noch nicht implementiert. 17.4.8. gnomba gnomba ist eine grafische Oberfläche für das zum Samba-Paket gehörende Programm smbclient. Sie können mit gnomba die freigegebenen Laufwerke und Drucker suchen lassen und gleich an Ihrem System anmelden. 500 Kapitel 17. Server-Dienste Abbildung 17-4. gnomba Dies entspricht in etwa der von Windows bekannten „Netzwerkumgebung“. Weitere Screenshots finden Sie auf der Webseite zu gnomba : http://gnomba.darkcorner.net/. 17.5. netatalk netatalk ist eine Implementierung der AppleTalk-Protokolle für Unix-Systeme. Die aktuelle Version unterstützt: EtherTalk Phase I und II, DDP, RTMP, NBP, ZIP, AEP, ATP, PAP, ASP sowie AFP. Sie können über netatalk, wie bei samba, Laufwerk und Drucker im Netz zur Verfügung stellen. AppleTalk findet in allen Versionen des MacOS auf Apples PowerMac-Architektur Verwendung. Auch die erste Konfiguration von netatalk ist unter Debian GNU/Linux sehr einfach. Installieren Sie einfach das Paket netatalk, und schon können Sie (eine korrekte Netzwerkkonfiguration vorausgesetzt) von Ihrem Mac aus auf Ihr Homeverzeichnis zugreifen. Sie finden die Konfigurationsdateien (papd.conf, AppleVolumes.default, AppleVolumes.system, afpd.conf und atalkd.conf zu netatalk) unter /etc/netatalk/. Eine Beispielkonfiguration, die zwei Arbeitsgruppen definiert, wie sie in einem kleinen Grafikbüro anzutreffen sein könnte, könnte durch folgende Einträge in der Datei AppleVolumes.default erreicht werden: ~/ "Home Directory" /home/public "public" access=fr,geka /home/macuser/grafik "Grafik" access=geka /home/macuser/design "Grafik" access=geka /home/macuser/web "Grafik" access=fr,geka Nach einem Neustart von netatalk, können Sie von Ihrem Mac aus über das Kontrollfeld „Auswahl“ auf den Server zugreifen. Klicken Sie hierzu auf das Symbol „AppleShare“. Im rechten Teil des Fensters können Sie nun einen Server wählen (hier „gateway“) oder, über die Schaltfläche „Server IP-Adresse“, die IP-Adresse des Servers angeben. 501 Kapitel 17. Server-Dienste Abbildung 17-5. MacOS Auswahl Geben Sie nun Ihren Benutzernamen und das entsprechende Paßwort an. Abbildung 17-6. MacOS Paßwort Sie können nun die freigegebenen Laufwerke anmelden. Wenn Sie möchten, daß einzelne Laufwerke auch nach dem nächsten Systemstart zur Verfügung stehen, so sind diese auf der rechten Seite mit einem Haken zu versehen. Sie können auch den Benutzernamen und das Paßwort speichern, dies ist aus Sicherheitsgründen allerdings nicht zu empfehlen. 502 Kapitel 17. Server-Dienste Abbildung 17-7. MacOS Laufwerke Die ausgewählten Laufwerke erscheinen nun auf dem Schreibtisch, und Sie können mit diesen genauso arbeiten wie mit lokalen Laufwerken Ihres Macs. Die Seiten im Web zu netatalk finden Sie unter: http://www.umich.edu/~rsug/netatalk/. 17.5.1. tkchooser Wenn Sie sich mit netatalk befassen, ist Ihnen sicher das MacOS-Kontrollfeld „Auswahl“ bekannt. tkchooser bildet dieses unter GNU/Linux nach und Sie können damit bequem Laufwerke und Drucker an Ihrem System anmelden. Weiterhin ist tkchooser auch in der Lage, via SMB exportierte Laufwerke und Drucker aufzuspüren und ins System einzubinden. Die Seiten im Web zu tkchooser finden Sie unter: http://www.cs.columbia.edu/~etgold/software/tkchooser2/. 503 Kapitel 18. Exotische Hardware In diesem Kapitel möchten wir Ihnen einiges an „exotischer“ Hardware für Ihr GNU/Linux-System vorstellen. Auf dem Hardwaremarkt tummeln sich einige Gerätschaften, für die noch keine GNU/Linux-Treiber verfügbar sind, beliebtes Beispiel sind die sogenannten „Win-Drucker“ oder „Win-Modems“, bei denen Funktionen, die eigentlich das Gerät übernimmt, in Software auf dem Rechner realisiert wurden. Eine Suche im Netz lohnt sich aber auf alle Fälle. An einigen Beispielen möchten wir Ihnen vorstellen, was die GNU/Linux-Gemeinde bisher an Treibern und Programmen geschaffen hat. 18.1. Notebook-Spezialitäten Notebooks zählen zwar nicht zu den Erweiterungen, die man sich „mal eben so“ zulegt, sind aber doch recht verbreitet. Interessant sind diese Geräte in diesem Abschnitt auch aufgrund der benutzten Hardwarekomponenten. Wenn Sie häufig mit Ihrem Notebook unterwegs sind, bietet Ihnen Debian GNU/Linux einige interessante Pakete: An erster Stelle steht sicher das Paket task-laptop, dieses faßt die wichtigsten Pakete für Besitzer tragbarer Computer zusammen. Es werden automatisch die Pakete apmd (kümmert sich um den Stromsparmodus Ihres Rechners), pcmcia-cs (die „allgemeinen“ PCMCIA-Treiber) sowie anacron (eine Ergänzung zu cron, die auch die „Ruhezeiten“ Ihres Rechners berücksichtigt und Jobs ggf. später startet) installiert. Weitere sinnvolle Pakete (die auch von task-laptop vorgeschlagen werden) sind: netenv (hiermit können Sie beim Systemstart zwischen verschiedenen Netzwerkkonfigurationen wählen), irda-tools und irda-common (Infrarotschnittstellen-Unterstützung), sowie toshutils (einige Helferlein speziell für Toshiba Notebooks). Generelle Informationen zur Benutzung von GNU/Linux auf Notebooks finden Sie auf der Seite „UniX with Mobile Computers“ von Werner Heuser unter der URL: tuxmobil.org. Konfigurationstips wie Sie die Laufzeit des Systems erhöhen können finden Sie im Battery Powered Linux Mini-HOWTO. Wenn Sie in den Paketen forschen, werden Sie noch weitere nützliche Programme finden. Aber einen Teil der Arbeit haben wir Ihnen schon abgenommen. 18.1.1. divine divine wird aus den Startdateien des PCMCIA-Systems heraus aufgerufen und kann anhand der vorhandenen Konfigurationsdateien feststellen, welche Einstellungen für das Netzwerk vorzunehmen sind. Schließen Sie einfach Ihr Notebook ans Netz an, starten Sie den Rechner und „schon sind Sie drin“ ;-). Die Homepage von divine finden Sie unter: http://www.fefe.de/divine. 18.1.2. wmbattery Um den Ladezustand des Akkus anzuzeigen, leistet wmbattery gute Dienste. Dieses Programm läßt sich im „Dock“ des Windowmanagers WindowMaker ablegen, benötigt diesen aber nicht zwingend. Abbildung 18-1. WMBattery 504 Kapitel 18. Exotische Hardware Sie können wmbattery auch mit jedem anderen Windowmanager benutzen. Um wmbattery betreiben zu können, muß das Bios Ihres Notebooks über eine APM (Advanced Power Management)-Unterstützung verfügen, und Sie müssen diese auch (unter „Character Devices“) im Kernel aktivieren. wmbattery zeigt Ihnen den prozentualen Ladezustand an. Zusätzlich wird der Zustand auch farblich dargestellt (grün, gelb, rot). Wenn das Notebook über das Netzteil betrieben wird und so der Akku geladen wird, wird auch dies angezeigt. 18.1.3. netenv Mit dem Paket netenv können Sie beim Systemstart zwischen verschiedenen Netzwerkkonfigurationen wählen, je nachdem, wo Sie sich gerade befinden. Bitte beachten Sie, daß der Bootvorgang unterbrochen wird und Sie ein Profil auswählen müssen, wenn Sie netenv installiert haben. Sie können netenv auch dazu benutzen, einen anderen Windowmanager oder einen anderen Drucker zu benutzen. 18.1.4. cardinfo cardinfo ist Bestandteils des Paketes pcmcia-cs. Sie können mit cardinfo alle Informationen über die erkannten PCMCIA-Karten sehen und auch Karten an- und abmelden oder zurücksetzen. Abbildung 18-2. Cardinfo 18.2. USB Der Trend bei neueren Motherboards und bei vielen Notebooks geht weg von parallelen und seriellen Schnittstellen, hin zu USB. Apples aktuelle Modelle, wie zum Beispiel der iMac, stellen sogar zur Tastatur und Maus die Verbindung über den USB-Bus her. Debian installiert in den aktuellen Versionen einen Kernel in der Version 2.4.19 oder höher. Dieser ist im Bezug auf den USB Support auf dem aktuellen Stand und enthält alle notwendigen Module. Wenn Sie dennoch einen 2.2.xer Kernel verwenden wollen, sollten Sie auf jeden Fall den USB-Teil aus den 2.4.xer Kernel übernehmen. Ein angepaßtes Paket finden Sie unter: http://www.suse.cz/development/usb-backport/. 18.2.1. Kernel-Konfiguration Diesen Abschnitt kann übersprungen werden wenn auf dem System bereits ein aktuelles Debian System mit dem Kernel 2.4.x (ab Debian 3.0, „bf24“) läuft. In jedem Fall ist zur Verwendung von Debian Kernel Paketen zu raten, dort sind alle Module bereits enthalten. Um USB nutzen zu können, müssen Sie auf älteren Systemen einen neuen Kernel übersetzen oder einen Kernel als Debian Paket einspielen. Am einfachsten benutzen Sie dazu make menuconfig auf der Console oder make xconfig, wenn Sie unter X11 arbeiten. 505 Kapitel 18. Exotische Hardware Abbildung 18-3. USB Kernel Konfiguration Aktivieren Sie zunächst den allgemeinen USB Support und wählen Sie dann entweder UHCI (wenn Sie ein Intel PIIX4, VIA oder ähnliches Chipset benutzen) oder OHCI-HCD (bei Compaq-Rechnern, iMacs, OPTi, SiS, ALi usw.) aus. Dies ist von dem verwendeten Motherboard abhängig, eventuell hilft auch ein Blick in das Handbuch zu Ihrem Motherboard. Sie können auch versuchen, das USB Chipset in der Ausgabe des Kommandos cat /proc/pci zu finden. Wenn es sich um eine kurze Angabe (wie etwa: i/o at 0xe400) handelt, wählen Sie UHCI, wenn die Ausgabe länger ist (etwa: 32 bit memory at 0xee000000), dann wählen Sie OHCI. Eine weitere Möglichkeit das verwendete USB Chipset zu ermitteln stellt das Kommando lspci zur Verfügung. lspci listet alle vom Bios erkannten PCI Geräte auf. In der ersten Spalte findet sich eine ID mit deren Hilfe sich genauere Informationen zu einzelnen PCI Geräte herausfinden lassen. Hierzu folgendes Beispiel: sushi:/home/fr# lspci 00:00.0 Host bridge: Intel Corporation 440BX/ZX - 82443BX/ZX Host bridge (rev 03) 00:01.0 PCI bridge: Intel Corporation 440BX/ZX - 82443BX/ZX AGP bridge (rev 03) 00:07.0 ISA bridge: Intel Corporation 82371AB PIIX4 ISA (rev 02) 00:07.1 IDE interface: Intel Corporation 82371AB PIIX4 IDE (rev 01) 00:07.2 USB Controller: Intel Corporation 82371AB PIIX4 USB (rev 01) 00:07.3 Bridge: Intel Corporation 82371AB PIIX4 ACPI (rev 02) 00:09.0 Ethernet controller: Intel Corporation 82557 [Ethernet Pro 100] (rev 08) 00:0a.0 Multimedia audio controller: Ensoniq ES1371 [AudioPCI-97] (rev 08) 00:0b.0 SCSI storage controller: Symbios Logic Inc. (formerly NCR) 53c810 (rev 23) 506 Kapitel 18. Exotische Hardware 01:00.0 VGA compatible controller: ATI Technologies Inc 3D Rage LT Pro AGP-133 (rev dc) sushi:/home/fr# lspci -v -s 00:07.2 00:07.2 USB Controller: Intel Corporation 82371AB PIIX4 USB (rev 01) (prog-if 00 [UHCI]) Flags: bus master, medium devsel, latency 64, IRQ 10 I/O ports at e000 [size=32] Zunächst werden mittels lspci alle USB Geräte angezeigt und der entsprechende Eintrag für USB ermittelt. Danach wird lspci mit den Optionen -v -s und der entsprechenden ID aufgerufen. Anhand dieser Ausgabe läßt sich ermitteln das es sich bei diesem System um einen UHCI Controller handelt. Wenn Sie sich nicht sicher sind, probieren Sie einfach beide nacheinander aus. Damit haben Sie die grundsätzliche USB-Unterstützung aktiviert. Sie müssen nun noch entscheiden, für welche Gerätegruppen Sie Treiber benötigen. Sie können hier frei wählen, ob Sie die Treiber fest in den Kernel einbinden wollen oder lieber Module verwenden möchten. USB Hubs werden automatisch erkannt, dies müssen Sie nicht extra aktivieren. Folgende Treiber stehen Ihnen zur Verfügung: • USB Device Filesystem • HID - Human Interface Device, Tastatur, Maus, Joystick, Gamepads... • Scanner • Audio - Lautsprecher • CDC ACM - ISDN-Modems • Printer - Drucker • Serial Converter - serielle Schnittstellen • CPiA - Kameras mit Vision CPiA Chipset • OV511 - Kameras mit OmniVision’s OV511 chipset • Kodak DC-2xx - Kodak’s DC-200 Kameras • Massenspeicher - Festplatten, Diskettenlaufwerke... Hierzu muß auch „SCSI“ aktiviert werden! • EZUSB - Firmware Downloader für Anchor Chips USB Microkontroller • USS720 - für parallele Schnittstellen • DABUSB - Digital Audio Broadcast Empfänger Übersetzen Sie nun den Kernel und ggf. auch die Module neu und starten Sie das System mit dem neuen Kernel. Wenn Sie sich entschieden haben, Module zu benutzen, müssen Sie diese laden. Sie benötigen mindestens die Module usbcore.o und entweder usb-uhci.o oder usb-ohci-hcd.o. Weiterhin müssen Sie die gewünschten Treiber, also beispielsweise scanner.o oder printer.o laden. Wenn Sie UHCI und einen externen USB-Hub benutzen, werden Sie in etwa folgendes in der Datei /var/log/syslog sehen: ....... Jul 19 20:46:02 rachel kernel: USB HID boot protocol mouse registered. ....... Jul 19 20:46:02 rachel kernel: uhci_control_thread at c01b8c5c Jul 19 20:46:02 rachel kernel: New bus registered Jul 19 20:46:02 rachel kernel: USB hub driver registered Jul 19 20:46:02 rachel kernel: uhci_connect_change: called for 0 ....... Jul 19 20:46:02 rachel kernel: USB hub found Jul 19 20:46:02 rachel kernel: hub: 4-ports detected Jul 19 20:46:02 rachel kernel: hub: individual port power switching Jul 19 20:46:02 rachel kernel: hub: standalone hub 507 Kapitel 18. Exotische Hardware Jul 19 20:46:02 rachel kernel: hub: individual port over current protection Jul 19 20:46:02 rachel kernel: hub: power on to power good time: 100ms Jul 19 20:46:02 rachel kernel: hub: hub controller current requirement: 100mA Jul 19 20:46:02 rachel kernel: hub: port 1 is removable Jul 19 20:46:02 rachel kernel: hub: port 2 is removable Jul 19 20:46:02 rachel kernel: hub: port 3 is removable Jul 19 20:46:02 rachel kernel: hub: port 4 is removable Jul 19 20:46:02 rachel kernel: hub: local power source is good Jul 19 20:46:02 rachel kernel: hub: no over current condition exists Jul 19 20:46:02 rachel kernel: enabling power on all ports Jul 19 20:46:02 rachel kernel: uhci_connect_change: called for 1 ....... Jul 19 20:46:02 rachel kernel: hub: port 3 connection change ....... Folgendes Beispiel zeigt ein UHCI System mit den USB Treibern des Kernels 2.4.5: Jul 23 10:54:33 sushi kernel: usb-uhci.c: $Revision: 1.259 $ time 18:23:00 May 27 2001 Jul 23 10:54:33 sushi kernel: usb-uhci.c: High bandwidth mode enabled Jul 23 10:54:33 sushi kernel: usb-uhci.c: USB UHCI at I/O 0xe000, IRQ 10 Jul 23 10:54:33 sushi kernel: usb-uhci.c: Detected 2 ports Jul 23 10:54:33 sushi kernel: usb.c: new USB bus registered, assigned bus number 1 Jul 23 10:54:33 sushi kernel: hub.c: USB hub found Jul 23 10:54:33 sushi kernel: hub.c: 2 ports detected Jul 23 10:54:33 sushi kernel: usb-uhci.c: v1.251 Georg Acher, Deti Fliegl, Thomas Sailer, Roman Weissgaerber Jul 23 10:54:33 sushi kernel: usb-uhci.c: USB Universal Host Controller Interface driver Jul 23 10:54:33 sushi kernel: hub.c: USB new device connect on bus1/2, assigned device number 2 Jul 23 10:54:33 sushi kernel: hub.c: USB hub found Jul 23 10:54:33 sushi kernel: hub.c: 4 ports detected Hier noch ein Beispiel von einem Apple iMac, bei dem die Tastatur und die Maus über den USB Port angeschlossen sind. PCI: Probing PCI hardware USB: kernel-interface.c:107: Universal USB Driver v$Revision: 1.53 $ USB-OHCI: driver.c:898: USB Open Host Controller Interface Driver USB-OHCI: driver.c:758: Host controller found at PCI bus 0 dev 20 fn 0 USB-OHCI: driver.c:564: Disabling OHCI legacy support on controller 0xc5fbd020 USB-OHCI: driver.c:843: Host Controller 0xc5fe0e00 (0) at PCI bus 0 dev 20 fn 0 initialized USB-OHCI: driver.c:844: IRQ 28 USB: kernel-interface.c:154: 1 USB host found USB-HUBD: driver.c:105: UUSBD Hub Driver v$Revision: 1.33 $ USB-HIDBP: driver.c:90: USB HID Boot Protocol Driver v$Revision: 1.5 $ adb devices: ..... USB-HUBM: khubdd.c:468: Starting khubdd (pid 2) USB-HUBM: hubm-stch.c:678: Device attachment detected on port 0 of hub 0xc5fe0e20 (0 -1) hdc: ATAPI 1X CD-ROM drive, 4224kB Cache Uniform CDROM driver Revision: 2.52 scsi0 : MESH scsi : 1 host. USBD: usbd-descr.c:1108: Device id 0x80d59b8 (0 1) at port 0, hub (0 -1): (no information available) USBD: usbd-descr.c:777: Processing USB device 0xc5fbdec0 (0 1), configuration index 0 USBD: usbd-descr.c:399: Processing interface 0, alternate setting 0 USBD: usbd-drv.c:331: Considering driver 0xc5fe4400 ‘USB HID Boot Protocol Driver v$Revision: 1.5 USBD: usbd-drv.c:331: Considering driver 0xc5fe4360 ‘UUSBD Hub Driver v$Revision: 1.33 $’, weight USB-HUBM: hubm-stch.c:678: Device attachment detected on port 0 of hub 0xc5fa6000 (0 1) 508 Kapitel 18. Exotische Hardware USBD: usbd-descr.c:1100: Device id 0xc3e494bb (0 2) at port 0, hub (0 1): Alps Electric M2452 USBD: usbd-descr.c:777: Processing USB device 0xc5fa6120 (0 2) ’M2452’, configuration index 0 USBD: usbd-descr.c:673: Unknown descriptor type 0x21 from device 0xc5fa6120 (0 2)’s configuration USBD: usbd-descr.c:399: Processing interface 0, alternate setting 0 USBD: usbd-drv.c:331: Considering driver 0xc5fe4400 ‘USB HID Boot Protocol Driver v$Revision: 1.5 USBD: usbd-drv.c:331: Considering driver 0xc5fe4360 ‘UUSBD Hub Driver v$Revision: 1.33 $’, weight USB-HIDBP: cfg.c:110: Interface 0 of device (0 2) supports HID Keyboard Boot Protocol USB-HUBM: hubm-stch.c:678: Device attachment detected on port 2 of hub 0xc5fa6000 (0 1) USBD: usbd-descr.c:1100: Device id 0x6411c61a (0 3) at port 2, hub (0 1): Logitech M4848 USBD: usbd-descr.c:777: Processing USB device 0xc5fa6360 (0 3) ’M4848’, configuration index 0 USBD: usbd-descr.c:673: Unknown descriptor type 0x21 from device 0xc5fa6360 (0 3)’s configuration USBD: usbd-descr.c:399: Processing interface 0, alternate setting 0 USBD: usbd-drv.c:331: Considering driver 0xc5fe4400 ‘USB HID Boot Protocol Driver v$Revision: 1.5 USBD: usbd-drv.c:331: Considering driver 0xc5fe4360 ‘UUSBD Hub Driver v$Revision: 1.33 $’, weight USB-HIDBP: cfg.c:139: Interface 0 of device (0 3) supports HID Boot Protocol Mouse Wenn Sie keinerlei Einträge finden, die beim Laden der Treiber auf USB-Geräte hindeuten, so probieren Sie einen anderen Treiber (UHCI statt OHCI-HCD oder umgekehrt), prüfen Sie, ob USB-Geräte angeschlossen sind, und sehen Sie im BIOS nach, ob die USB-Unterstützung aktiviert ist. 18.2.2. USB-Device-Dateisystem Das USB-Device-Dateisystem wird wie das /proc-Dateisystem dynamisch generiert. Sie können dieses Dateisystem an jeder beliebigen Stelle mounten, üblicherweise geschieht dies unter /proc/bus/usb. Dieses Verzeichnis wird automatisch vom Linux-Kernel erzeugt, wenn die USB-Unterstützung aktiviert wurde. Wenn Sie das USB-Device-Dateisystem an anderer Stelle im Dateisystem mounten möchten, kann es unter Umständen zu Problemen mit Programmen kommen, die das Dateisystem unterhalb von /proc/bus/usb erwarten. Um dieses Dateisystem zu aktivieren, müssen Sie die Option „Preliminary USB Device Filesystem“ sowie das /proc-Dateisystem aktivieren. Um dieses Dateisystem zu mounten, benötigen Sie Superuser-Rechte (root). Mit dem Kommando mount -t usbdevfs none /proc/bus/usb können Sie dies temporär bis zum nächsten Systemstart benutzen. Um dies nicht nach jedem Neustart des Systems wiederholen zu müssen, sollten Sie folgenden Eintrag in die Datei /etc/fstab aufnehmen: none /proc/bus/usb usbdevfs defaults 0 0 Hierbei ist zu beachten, daß dieser Eintrag nach dem Eintrag für das /proc, Dateisystem stehen muß, da das USB-Device-Dateisystem unterhalb von diesem gemountet wird. Sehen Sie sich nun einmal den Inhalt dieses Dateisystems an: dr-xr-xr-x 1 root root 0 Jan 26 10:40 001 -r--r--r-- 1 root root 0 Jan 26 10:40 devices -r--r--r-- 1 root root 0 Jan 26 10:40 drivers Auch wenn diese Dateien eine Größe von 0 Byte aufweisen lassen sich mit den üblichen Unix Tools (beispielsweise more, less oder cat) die Informationen in diesen Dateien anzeigen) die Informationen in diesen Dateien anzeigen. 509 Kapitel 18. Exotische Hardware 18.2.3. Human Interface Device (HID)-Konfiguration Der Linux-Kernel unterstützt vier verschiedene Gerätetypen über das HID Interface: Tastaturen, Mäuse, Joysticks und eine generische Schnittstelle. 18.2.3.1. HID Maus-Konfiguration Zunächst müssen Sie die (USB-) Mausunterstützung im Kernel aktiviert haben. Weiterhin ist es nützlich, wenn Sie die Option Mix all Mice into one device aktivieren, es werden dann alle angeschlossenen USB-Mäuse zu einem Gerät zusammengefaßt. Wenn Sie die Treiber als Module erzeugt haben, laden Sie die Module hid.o, input.o und mousedev.o. Wenn Sie nun die Maus einstecken, sollte diese vom Kernel erkannt werden. Sie können dies in der Datei /var/log/syslog prüfen. Weiterhin sollten Sie in der Datei /proc/interrupts einen Eintrag finden, der sich auf USB bezieht. Klicken Sie ein paarmal mit der Maus, und Sie können in dieser Datei verfolgen, daß dies Interrupts auslöst. fr@surimi:~$ cat /proc/interrupts CPU0 CPU1 0: 150269498 154722102 IO-APIC-edge timer 1: 304690 303233 IO-APIC-edge keyboard 2: 0 0 XT-PIC cascade 9: 0 0 IO-APIC-edge acpi 12: 3049906 3085565 IO-APIC-edge PS/2 Mouse 14: 8349647 8378011 IO-APIC-edge ide0 15: 4 4 IO-APIC-edge ide1 16: 12624976 12621964 IO-APIC-level eth0 17: 26754608 26755521 IO-APIC-level es1371 18: 0 0 IO-APIC-level bttv 19: 1728387 1729572 IO-APIC-level tmscsim, usb-uhci NMI: 304991583 304991583 LOC: 304969599 304969534 ERR: 9 Hier als Beispiel die Daten von einem Dual-Prozessor System. Erstellen Sie nun ein Verzeichnis unterhalb von /dev/ eine Gerätedatei für die Maus, eventuell ist diese aber auch schon vorhanden: mkdir /dev/usb mknod /dev/usb/usbmouse0 c 10 32 Wenn Sie nun das Kommando cat /dev/usb/usbmouse0 aufrufen und dann die Maus bewegen, sollten Sie viele wilde Zeichen sehen. Brechen Sie das Kommando mit CTRL+C ab. Wenn bis hierhin Ihre Tests erfolgreich waren, können Sie die Maus auch im praktischen Einsatz erproben. Um die Maus auf der Konsole mit gpm zu benutzen, starten Sie gpm wie folgt: gpm -m /dev/usb/usbmouse0 -t imps2. Sie können gpm auch dauerhaft zur Benutzung der USB-Maus überreden, indem Sie die entsprechenden Änderungen in der Datei /etc/gpm.conf aufnehmen oder das Programm gpmconfig benutzen. Wenn Sie die USB-Maus auch unter X benutzen möchten, verändern Sie den Abschnitt „Mouse“ in der Datei /etx/X11/XF86Config wie folgt: Section "Xinput" SubSection "Mouse" DeviceName "USB Mouse" Protocol "IMPS/2" Port "/dev/usb/usbmouse0" AlwaysCore EndSubSection EndSection und starten Sie den X-Server neu. 510 Kapitel 18. Exotische Hardware 18.2.3.2. HID Tastatur-Konfiguration Wenn Sie eine USB-Tastatur an einer i386-Architektur benutzen, so wird dies bereits vom BIOS unterstützt. Hierzu muß die Tastatur am HUB auf dem Motherboard angeschlossen sein. Es schadet aber auch nicht, wenn Sie dies trotzdem im Kernel aktivieren. Auf der PowerPC-Plattform müssen Sie dies in jedem Fall im Kernel aktivieren. Wenn Sie Module benutzen, laden Sie die Module: hid.o, input.o und keybdev.o. Wenn Sie einige Zeichen auf der Tastatur tippen, sehen Sie in der Datei /proc/interrupts, wie die Interrupts zu der USB-Tastatur hochgezählt werden. Auch in der Datei /var/log/syslog sollten Sie beim Einstecken der Tastatur einige Informationen finden. Beachten Sie, daß Sie beim Systemstart die Tastatur nur benutzen können, wenn das BIOS dies unterstützt, zu dieser Zeit ist der Linux-Kernel noch nicht geladen. Wenn das BIOS Ihres Systems dies nicht unterstützt, können Sie keine Kernel-Parameter übergeben oder ein alternatives Kernel-Image auswählen. 18.2.3.3. HID Joystick- und Gamepad-Konfiguration Wenn Sie die USB-Joystick-Unterstützung aktivieren, funktionieren Ihre normalen Joysticks nicht mehr. Wenn Sie Module verwenden, laden Sie die Module: hid.o, input.o und joydev.o. Wie schon bei der USB-Maus müssen Sie auch für die USB-Joystick-Unterstützung entsprechende Gerätedateien erzeugen: mknod /dev/usb/usbjs0 c 15 0 mknod /dev/usb/usbjs1 c 15 1 mknod /dev/usb/usbjs2 c 15 2 mknod /dev/usb/usbjs3 c 15 3 Mit dem Kommando: cat /dev/usb/usbjs0 werden nun bei jeder Aktion mit dem Joystick Zeichen auf dem Bildschirm ausgegeben. Sie können nun den Joystick in allen Spielen nutzen, die dies auch unterstützen. 18.2.4. Scanner-Konfiguration Der USB Scanner-Treiber arbeitet mit allen USB Scannern zusammen. Um aber sinnvoll damit arbeiten zu können, muß auch für SANE ein entsprechender Treiber vorhanden sein. Wenn Ihr Scanner nicht automatisch einem passenden Treiber zugeordnet wird, sollten Sie die Treiber als Module erzeugen und die Hersteller und Produkt-ID von Hand den Modulen übergeben (alternativ können Sie auch die Sourcen ändern). Das Kommando hierzu lautet: insmod scanner.o vendor=0xXXXX product=0xYYYY, ersetzen Sie XXXX mit der hexadezimalen Hersteller-ID und YYYY mit der Produkt-ID. Auch hier müssen Sie wieder Gerätedateien anlegen: mknod /dev/usb/usbscanner0 c 180 48 chmod a+rw /dev/usb/usbscanner0 Um die Gerätedatei und damit den Scanner benutzen zu können, benötigen Sie noch ein entsprechendes Programm. Unter GNU/Linux ist das Programm der Wahl hierbei SANE. Wenn Sie beispielsweise einen HP Scanner benutzen, müssen Sie die Datei /etc/sane.d/hp.conf so verändern, daß diese nur folgendes enthält: /dev/usb/usbscanner0 option connect-device Sie sollten nun den Scanner nutzen können. 511 Kapitel 18. Exotische Hardware 18.2.5. Modem-Konfiguration Um mit dem Linux USB-Modem Treiber zu funktionieren, müssen die angeschlossenen Geräte (Analog-Modems oder ISDN) der CDC (Communication Device Class)-Spezifikation entsprechen. Die benötigten Gerätedateien erzeugen Sie mit folgenden Kommandos: mknod /dev/usb/ttyACM0 c 166 0 mknod /dev/usb/ttyACM1 c 166 1 mknod /dev/usb/ttyACM2 c 166 2 mknod /dev/usb/ttyACM3 c 166 3 Sie können bis zu 32 solcher Gerätedateien anlegen. Sie können nun mit jeder Software auf das Modem zugreifen. 18.2.6. Drucker-Konfiguration Auch für einen USB-Drucker müssen Sie eine Gerätedatei erzeugen: mknod /dev/usb/usblp0 c 180 0 Ändern Sie nun die Gerätedatei in der Datei /etc/printcap, und Sie können den Drucker mit den üblichen Programmen ansprechen. 18.2.7. USB / Serielle Konfiguration Der serielle Treiber arbeitet momentan mit Geräten der Hersteller Belkin, Peracom und Connect Tech zusammen. Es werden bis zu 8 serielle Geräte unterstützt, auch dafür müssen Sie Gerätedateien anlegen: mknod /dev/usb/ttyUSB0 c 188 0 mknod /dev/usb/ttyUSB1 c 188 1 mknod /dev/usb/ttyUSB2 c 188 2 mknod /dev/usb/ttyUSB3 c 188 3 mknod /dev/usb/ttyUSB4 c 188 4 mknod /dev/usb/ttyUSB5 c 188 5 mknod /dev/usb/ttyUSB6 c 188 6 mknod /dev/usb/ttyUSB7 c 188 7 Sie können dann auf diese Geräte wie auf normale serielle Geräte zugreifen. 18.2.8. CPiA Kamera-Konfiguration Dieser Treiber unterstützt einen Chipsatz der Firma Vision, der in einer Reihe von Kameras zu finden ist, beispielsweise in der Creative WebCamII. Um diesen Treiber benutzen zu können, müssen Sie auch die „Video for Linux“-Unterstützung (zu finden unter „Character Devices“ in der Kernel-Konfiguration) im Kernel aktivieren. Auch dieser Treiber benötigt eine Gerätedatei: mknod /dev/video0 c 81 0 ln -s /dev/video0 /dev/video Um diese Hardware zu betreiben ist w3cam von Rasca Gmelch geeignet. Sie finden dies unter der URL: http://www.hdk-berlin.de/~rasca/w3cam/. Wenn Sie bereits eine TV-Karte in Ihrem Rechner installiert haben, können Sie für die ersten Versuche auch das Programm xawtv benutzen, hierbei müssen Sie auf der Kommandozeile die entsprechende Gerätedatei angeben (zum Beispiel: xawtv -c /dev/video1). Weiterhin ist es nötig, die Fenstergröße auf die Auflösung der Kamera anzupassen. 512 Kapitel 18. Exotische Hardware 18.2.9. OV511 Kamera-Konfiguration Dieser Treiber unterstützt ein Chipset der Firma OmniVision, welches zum Beispiel in der Creative WebCam III oder der Lenco MVC 95998 benutzt wird. Auch dieser Treiber benötigt die „Video for Linux“-Unterstützung und eine Gerätedatei: mknod /dev/video0 c 81 0 ln -s /dev/video0 /dev/video Sie können die gleichen Programme wie schon beschrieben nutzen. 18.2.10. Massenspeicher-Konfiguration Dieser Treiber (usb-storage) kann mit einer Vielzahl von Geräten benutzt werden. Dies kommt daher, daß eine Verbindung zum SCSI-Treiber im Kernel hergestellt wird, Sie müssen daher auch den SCSI Support im Kernel aktivieren. Sie können dann auf USB-Diskettenlaufwerke, Zip-Laufwerke, LS120-Laufwerke und USB CD-ROMs zugreifen. Wenn Sie die entsprechenden Module geladen haben, sollte in der Datei /proc/scsi/scsi das Gerät aufgeführt sein. Sie können nun in der Datei /etc/fstab für die verschiedenen Geräte folgende Einträge vornehmen, um einfach darauf zugreifen zu können. Bitte beachten Sie, daß Sie, wenn Sie über weitere SCSI-Geräte verfügen, den Eintrag /dev/sda anpassen müssen, dieses Beispiel bezieht sich auf ein System ohne SCSI Hostadapter. Für ein Diskettenlaufwerk: /dev/sda /mnt/usbfd auto noauto,user 0 0 Für ein Zip-Laufwerk: /dev/sda /mnt/usbzip vfat noauto,user 0 0 Für ein CD-ROM: /dev/sda /mnt/usbcdrom iso9660 ro,noauto,user 0 0 und für eine Festplatte: /dev/sda /mnt/usbhd ext2 defaults 1 2 18.3. PDA - Personal Digital Assistant PDAs sind mittlerweile sehr verbreitete kleine Geräte, mit denen sich sehr komfortabel Adressen, Termine, ToDo-Listen und vieles andere mehr verwalten lassen. Am beliebtesten sind die Geräte der Firma 3Com, welche das Betriebssystem PalmOS benutzen. Die Modellpalette ist schon recht umfangreich ( PalmPilot, PalmPilot Pro, Palm III, Palm IIIx, Palm V, Palm Vx, Palm VII) und wird auch teilweise von IBM in Lizenz vertrieben. Wir möchten hier nicht auf die Installation von Linux auf einem PalmPilot eingehen (eine Portierung ist in Arbeit), sondern einige Programme aufzeigen, mit denen Sie auf die Daten in Ihrem PalmPilot zugreifen können. Weitere Informationen zur Benutzung dieser Geräte mit GNU/Linux finden Sie unter tuxmobil.org/pda_linux.html. Zur Synchronisierung der PDA-Daten mit den Anwendungen auf dem heimischen Rechner stehen unter GNU/Linux verschiedene Anwendungen zur Verfügung. Solche Programme werden auch oft „conduit“ genannt. Zunächst müssen Sie jedoch das mitgelieferte „Cradle“ an eine freie serielle Schnittstelle anschließen. Das „Cradle“ verfügt über einen sogenannten „HotSync“-Knopf, dieser startet die Übertragung der Daten. 513 Kapitel 18. Exotische Hardware 18.3.1. pilot-link Basis aller im weiteren beschriebenen Programme ist das Paket pilot-link. Dieses dient zur Kommunikation mit dem Palm Pilot und kann auch direkt auf der Kommandozeile eingesetzt werden, beispielsweise um von Zeit zu Zeit ein komplettes Backup zu erstellen. Um die Einstellungen in den einzelnen Programmen zu erleichtern, sollten Sie einen Link von der entsprechenden seriellen Schnittstelle auf die Gerätedatei /dev/pilot anlegen. Wenn Sie das „Cradle“ an der zweiten seriellen Schnittstelle angeschlossen haben, können Sie diesen Link mit dem Kommando ln -s /dev/ttyS1 /dev/pilot anlegen. Das Paket pilot-link dient zur Übertragung von Daten von und zum PalmPilot und besteht aus einer Reihe verschiedener Programme. Sie müssen jedesmal, wenn Sie eines der Programme aus dem pilot-link-Paket benutzen, die „HotSync“-Taste drücken, um die Datenübertragung zu starten. Sie können pilot-link auf der Kommandozeile angeben, welche Schnittstelle zu benutzen ist. Ändern Sie die hier gezeigten Beispiele nach Ihren Gegebenheiten. 18.3.1.1. pilot-xfer pilot-xfer dient zum Sichern und Zurückspielen von Daten und zum Installieren von weiteren Programmen. Um ein Programm auf dem PalmPilot zu installieren, können Sie das Kommando pilot-xfer /dev/pilot -i programm.prc benutzen. Dagegen erstellt pilot-xfer /dev/pilot -b pilot-backup eine komplette Kopie aller Datenbanken das PalmPilots in dem Verzeichnis pilot-backup. Wenn dieses Verzeichnis nicht existiert, wird es neu angelegt. Um alle Daten wieder auf den PalmPilot zurückzuspielen, benutzen Sie das Kommando: pilot-xfer /dev/pilot -r pilot-backup 18.3.1.2. install-memo Mit diesem Kommando können Sie eine Datei als Merkzettel (Memo) auf dem PalmPilot installieren. Mit der Option -c können Sie die gewünschte Kategorie angeben, in der dieser Merkzettel erscheinen soll, diese muß bereits auf dem PalmPilot existieren. install-memo /dev/ttyS1 -c privat neues.memo Der Dateiname wird im Merkzettel als erste Zeile angelegt und erscheint damit in der Merkzettel-Übersicht. 18.3.1.3. memos Dieses Programm liest alle Merkzettel aus dem PalmPilot aus und gibt diese im Format der Standard-Unix-Mailboxen aus. Sie können diese Datei dann mit jedem gängigen Mailprogramm lesen. memos /dev/pilot > meine-memos 18.3.1.4. pilot-addresses Mit diesem Kommando können Sie die Adressdatenbank sichern und wieder zurückspielen. Benutzen Sie pilot-addresses /dev/pilot -w adressen.file 514 Kapitel 18. Exotische Hardware um die Daten auf Ihrem Rechner zu speichern, und pilot-addresses /dev/pilot -r adressen.file um diese wieder auf dem PalmPilot zu speichern. Neben den Kommandozeilen-Tools gibts es natürlich auch einige Programme mit grafischer Oberfläche zur Kommunikation mit dem PalmPilot. Für die eigentliche Kommunikation mit dem PalmPilot greifen aber auch diese Programme auf das Paket pilot-link zurück. 18.3.2. pi-address An dieser Stelle stellen wir Ihnen ein Programm vor, welches nicht im normalen Umfang von Debian GNU/Linux 2.2 enthalten ist. Wenn Sie den Abschnitt über das Programm alien durchgearbeitet haben, werden Sie pilot-address bereits kennen und wissen, wie Sie sich ein passendes Debian-Paket erstellen können. Ein weiterer Grund, dieses Programm hier aufzuführen, ist die tatkräftige Hilfe des Autors Michael Wiedmann bei der Erstellung dieses Buches, an dieser Stelle nochmals: Danke Michael! Natürlich kam pilot-address aber auch deshalb in die Auswahl, weil es einfach ein sehr nützliches Werkzeug für jeden Pilot-Besitzer ist. pilot-address ist ein grafisches Frontend zur Adressdatenbank Ihres Palm Piloten. Die Daten werden über das Programm pilot-xfer gelesen und geschrieben, dieses müssen Sie in jedem Fall installieren. pilot-xfer ist Bestandteil des Paketes pilot-link Abbildung 18-4. pi-Address 515 Kapitel 18. Exotische Hardware Da (noch) kein Debian-Paket von pilot-address den Weg auf die Debian-Server gefunden hat, müssen Sie zunächst die aktuelle Version von der Homepage http://www.in-berlin.de/User/miwie/pia/ besorgen. Sie können nun das Paket aus dem Quellcode (Source) selber übersetzen oder sich das Leben etwas leichter machen und eines der RPM-Pakete mit alien konvertieren. Sie finden dort auch ein Paket im Debian-Format, als kleine Übung können Sie aber auch das RPM-Paket konvertieren. 18.3.3. j-pilot Auch j-pilot setzt auf pilot-link auf. Sie können mit j-pilot Ihre Adressen, Termine, Notizen und Aufgaben verwalten und mit dem Palm Pilot synchronisieren, als und auch neue Programme installieren. Für die Anwendung „Ausgaben“ steht ein Modul zu Verfügung. Standardmäßig benutzt j-pilot die Gerätedatei /dev/pilot, diese sollten Sie als Link auf die entsprechende serielle Schnittstelle einrichten. 18.3.3.1. Einstellungen Nach dem ersten Start sollten Sie j-pilot einrichten, Sie können dies über den Menüpunkt „Preferences“ tun. Wenn Sie, wie schon beschrieben, einen symbolischen Link (/dev/pilot) benutzen, so können Sie diesen in der Konfiguration benutzen. Stellen Sie weiterhin die Geschwindigkeit der seriellen Schnittstelle ein. Abbildung 18-5. j-pilot Konfiguration Weiter können Sie hier die Datums- und Zeitformate einstellen sowie den Tag, mit dem die Woche beginnen soll (für die Ansicht im Kalender). Unter „My GTK colors file is“ können Sie zwischen verschiedenen Farbeinstellungen wählen. Sie können die Anzahl der gespeicherten Sicherheitskopien (Backups) einstellen sowie die Anzeige von gelöschten und modifizierten Datensätzen unterdrücken. Außerdem läßt sich die Anzeige von Terminen im Kalender ausschalten. 516 Kapitel 18. Exotische Hardware 18.3.3.2. Kalender Sie können den Kalender öffnen, indem Sie auf das Kalender-Symbol klicken oder den entsprechenden Eintrag („File“ - „Datebook“) aus dem Menü auswählen. Wenn Sie den Kalender aufrufen, wird jedesmal der aktuelle Tag angezeigt. Abbildung 18-6. j-pilot Kalender Sie können nun, durch einen Mausklick auf den entsprechenden Tag, einen Tag auswählen, die Termine werden dann aufgelistet, und auch hier können Sie einen Termin mit einem Mausklick auswählen, um detaillierte Informationen zu erhalten. 18.3.3.3. Adressen In dieser Ansicht können Sie auf Ihre Adressen zugreifen. Wenn Sie Ihre Adressen in verschiedene Kategorien aufgeteilt haben, so können Sie diese über das Menü über den Adressen auswählen. 517 Kapitel 18. Exotische Hardware Abbildung 18-7. j-pilot Adressen Über die Schaltfläche „Add or Modify a Record“ können Sie Einträge ändern oder auch hinzufügen. 18.3.3.4. Aufgaben Auch die Aufgaben können nach Kategorien aufgeteilt sein. Abbildung 18-8. j-pilot Aufgaben 518 Kapitel 18. Exotische Hardware Auch hier können Sie neue Aufgaben hinzufügen oder bereits existierende verändern. 18.3.3.5. Suchen Diese Funktion durchsucht alle Datenbanken nach dem eingegebenen Text. Abbildung 18-9. j-pilot Suchen Sie können weiterhin angeben, ob bei der Suche die Groß- und Kleinschreibung berücksichtigt werden soll. 18.3.3.6. Installation von Programmen Über diese Funktion können Sie Programme auswählen, die beim nächsten Hot-Sync auf den PalmPilot übertragen werden. 519 Kapitel 18. Exotische Hardware Abbildung 18-10. j-pilot Installation 18.3.3.7. Quit, Sync, Backup... Sie können j-pilot beenden, indem Sie aus dem Menü „File“ den Eintrag „Quit“ auswählen oder einfach im Hauptfenster links auf die „Quit“-Schaltfläche klicken. Die Schaltfläche „Sync“ führt eine normale Synchronisation der Daten durch, wenn Sie „Backup“ wählen, werden die Datenbanken des PalmPilots auf dem Rechner gesichert. Ein zweites Backup sichert nur die veränderten Daten und nimmt nicht so viel Zeit in Anspruch. Sie können mit j-pilot keine gesicherten Datenbanken auf den PalmPilot zurückspielen. Benutzen Sie hierzu pilot-link. Die Webseite zu j-pilot finden Sie unter der URL http://www.jpilot.org/. Im Netz ist auch eine deutschsprachige Anleitung zu finden. 520 Kapitel 18. Exotische Hardware 18.4. „Geräderte“ Mäuse In den letzten Monaten findet man immer mehr Angebote von Mäusen, die über ein Scrollrad verfügen. Mit diesem können Sie an jeder Stelle in einem Fenster den Bildschirminhalt verschieben, ohne erst an den Rand des Fensters wandern zu müssen, um die Scrollbalken zu betätigen. Dies funktioniert natürlich auch mit Debian GNU/Linux, leider aber noch nicht ohne einen Eingriff des Systemadministrators... aber das sind Sie ja mittlerweile. Am spannendsten ist natürlich die Funktion des Scrollrades unter X, aber auch auf der Konsole können Sie diese Erweiterung benutzen. 18.4.1. Scrollrad unter XFree86 XFree unterstützt Scrollräder seit der Version 3.3.2, wenn Sie noch eine ältere Version einsetzen, sollten Sie dringend die neueste Version installieren. Sie müssen an der Konfiguration des X-Servers nur eine einzige Zeile ändern bzw. diese hinzufügen. In dem Abschnitt „Pointer“ der Datei /etc/X11/XF86Config fügen Sie die Zeile ZAxisMapping 4 5 ein, ein bereits angepaßter Ausschnitt sieht wie folgt aus: Section "Pointer" Protocol "imps/2" Device "/dev/usbmouse" ZAxisMapping 4 5 Buttons 3 EndSection Sie können alle bisherigen Einstellungen so beibehalten, dies ist nur ein Beispiel. Eventuell müssen Sie noch das Maus-Protokoll anpassen, hier gilt: „imps/2“ für eine Wheel-Maus am PS/2 oder USB-Anschluß und „intellimouse“, wenn Sie die Maus am seriellen Anschluß eingesteckt haben. Nach der Änderung müssen Sie den X-Server neu starten. Ab sofort können in allen Anwendungen, die auf GTK basieren (ab Version 1.2.x), wie zum Beispiel The GIMP und allen Programmen aus dem GNOME Projekt, einsetzen. Ältere Programme unterstützen dies nicht direkt, können aber in den meisten Fällen sehr einfach angepaßt werden. Eine sehr umfangreiche Übersicht, wie die verschiedenen Programme zur Mitarbeit zu überreden sind, finden Sie unter: http://www.inria.fr/koala/colas/mouse-wheel-scroll/. Um Netscape zur Arbeit mit einer Wheel-Mouse zu überreden, tragen Sie in die Datei ~/.Xresources folgendes ein: !## Netscape Ergaenzung fuer Maus mit Scrollrad Netscape*drawingArea.translations: #replace \ <Btn1Down>: ArmLink() \n\ <Btn2Down>: ArmLink() \n\ ~Shift<Btn1Up>: ActivateLink() \n\ ~Shift<Btn2Up>: ActivateLink(new-window) \ DisarmLink() \n\ Shift<Btn1Up>: ActivateLink(save-only) \ DisarmLink() \n\ Shift<Btn2Up>: ActivateLink(save-only) \ DisarmLink() \n\ <Btn1Motion>: DisarmLinkIfMoved() \n\ <Btn2Motion>: DisarmLinkIfMoved() \n\ <Btn3Motion>: DisarmLinkIfMoved() \n\ <Motion>: DescribeLink() \n\ <Btn3Down>: xfeDoPopup() \n\ <Btn3Up>: ActivatePopup() \n\ Ctrl<Btn4Down>: PageUp()\n\ Ctrl<Btn5Down>: PageDown()\n\ Shift<Btn4Down>: LineUp()\n\ Shift<Btn5Down>: LineDown()\n\ None<Btn4Down>: LineUp()LineUp()LineUp()LineUp()LineUp()LineUp()\n\ None<Btn5Down>: LineDown()LineDown()LineDown()LineDown()LineDown()LineDown()\n\ Alt<Btn4Down>: xfeDoCommand(forward)\n\ Alt<Btn5Down>: xfeDoCommand(back)\n 521 Kapitel 18. Exotische Hardware Sie können nach jeder Änderung an dieser Datei den X-Server neu starten, um die Änderungen zu aktivieren. Alternativ können Sie die Datei auch während des laufenden Betriebes des X-Servers einlesen und aktivieren. Benutzen Sie hierzu das Kommando: xrdb -merge ~/.Xresources. Wundern Sie sich nicht, daß es bei Webseiten, die Frames benutzen, nötig ist, zuerst einmal irgendwo innerhalb des gewünschten Frames zu klicken, damit der gewünschte Bereich gescrollt wird. Dieses Verhalten ist normal, Netscape ist leider nicht in der Lage festzustellen, in welchem Bereich des Fensters sich der Mauszeiger befindet. 522 Kapitel 19. Systemadministration 19.1. Bootloader Vor dem Laden des Linux-Kernels wird mit dem sogenannten Bootloader ein kleines Programm geladen, welches Ihnen eine Auswahl zwischen verschiedenen installierten Betriebssystemen erlaubt. Der unter GNU/Linux gebräuchlichste Bootloader ist lilo. 19.1.1. lilo (i386) Bei der Installation von Debian GNU/Linux auf Ihrem System wird generell der Bootloader lilo auf Ihrer Festplatte installiert und so eingerichtet, daß das neue Debian GNU/Linux-System gestartet wird. 19.1.1.1. lilo einrichten Nach Installation des Basis-Systems und des Master Boot Records, gelangen Sie beim Booten des Rechners automatisch in den LILO und können plötzlich nur noch Linux starten. In diesem Abschnitt wird beschrieben, wie Sie die alten Systeme wieder aktivieren. LILO ist ein vollständiger Boot-Manager, mit dem nicht nur Linux gebootet werden kann, sondern auch jedes andere System, das sich an die im PC vorherrschenden Konventionen hält. Konfiguriert wird dieser Boot-Manager über die Datei /etc/lilo.conf. Wann immer Sie diese Datei ändern, müssen Sie das Programm lilo auf der Kommandozeile als Superuser aufrufen, um die Änderungen tatsächlich zu übernehmen. Es reicht nicht, die Konfigurationsdatei zu verändern! Wichtig in diesem Zusammenhang sind die Zeilen, die mit image und other anfangen, sowie die jeweils nachfolgende Zeile. Diese Schlüsselwörter dürfen mehrfach verwendet werden. Jede so beginnende Zeile bezeichnet ein System, das von LILO gebootet werden kann. Eine solche Partition kann einen Kernel, eine Root-Partition oder ein anderes, Nicht-Linux-System (other), beinhalten. Die Reihenfolge dieser Systeme ist entscheidend, denn das erste wird automatisch gebootet, wenn die Wartezeit (siehe delay) abgelaufen ist und LILO nicht durch Drücken der Shift-Taste angehalten wurde. Nach einer Erstinstallation existiert lediglich ein einziges solches System, welches das aktuelle Debian GNU/Linux-System bootet. Um ein zweites Linux-System zu booten (z.B. unter Verwendung eines anderen Kernels), müssen Sie die Datei /etc/lilo.conf um folgende Zeilen ergänzen: image=/boot/vmlinuz.neu label=neu append=’mcd=0x320,11’ read-only Lediglich die ersten beiden Zeilen sind erforderlich. Um die Bedeutung der nachfolgenden Zeilen zu erfahren, lesen Sie bitte in der Dokumentation zu LILO. 19.1.1.2. lilo und fremde Betriebssysteme Um ein anderes System als Linux zu booten, verwenden Sie das Schlüsselwort other wie folgt: other=/dev/hda1 label=win Rufen Sie danach lilo als Superuser auf, um lilo neu zu installieren. Bei einem Neustart des Systems können Sie nun am Bootprompt durch Eingeben von „win“ das Betriebssystem auf der Partition /dev/hda1 starten. 523 Kapitel 19. Systemadministration 19.1.2. GRUB GRUB (GRand Unified Bootloader) ist ein weiterer Bootloader, dessen Aufgabe es ist nach dem einschalten des Rechners die weitere Kontrolle an das Betriebssystem (also den Kernel) zu übergeben. Das Betriebsystem initialisiert dann über die geeigneten Treiber alle weitere Hardware im System. GRUB ist in der Lage viele verschiedene Betriebssysteme zu laden. Wird ein Betriebssystem nicht direkt von GRUB unterstützt, so kann dieses dennoch von GRUB über einen sogenannten „Chain-Bootloader“ geladen werden. Für die wichtigsten Betriebssysteme sind diese bereits im GRUB Paket enthalten. Einer der größten Vorteile von GRUB ist, das GRUB in der Lage ist auf das Dateisystem direkt zuzugreifen. Das bedeutet das GRUB nicht wissen muß wo genau der zu ladende Kernel auf der Festplatte liegt. Sie können also jederzeit einen neuen Kernel erzeugen und müssen hinterher nicht nochmal GRUB im MBR der Festplatte installieren. Es ist ebenfalls nicht notwendig alle Kernelversionen die sich auf der Festplatte befinden in die Konfigurationsdatei einzutragen. Sie können mit GRUB jederzeit auf jeden Kernel auf Ihrer Festplatte zugreifen, wenn auch mit ein wenig Tipparbeit. 19.1.2.1. Installation Die Installation von GRUB unter Debian ist wie üblich mit einem einfachen apt-get install grub so gut wie abgeschlossen. Sie sollten danach zunächst das Paket lilo entfernen, dies wird nicht mehr benötigt. Leider ist noch keine Installationsroutine zur kompletten automatischen Installation von GRUB verfügbar, so das noch einige wenige Schritte von Hand vorgenommen werden müssen. Um die notwendigen Daten (die Stage 1 und 2 Bootloader) in den Masterboot-Record der Festplatte zu schreiben, benutzen Sie das Programm „grub-install“. Wenn Sie „grub-install“ zunächst ohne Optionen aufrufen bekommen Sie eine kurze Übersicht der möglichen Optionen angezeigt: debian:~# grub-install install_device not specified. Usage: grub-install [OPTION] install_device Install GRUB on your drive. -h, --help print this message and exit -v, --version print the version information and exit --root-directory=DIR install GRUB images under the directory DIR instead of the root directory. --grub-shell=FILE use FILE as the grub shell. --force-lba force GRUB to use LBA mode even for a buggy BIOS. --recheck probe a device map even if it already exists. INSTALL_DEVICE can be a GRUB device name or a system device filename. Reports bugs to <bug-grub@gnu.org>. In den meisten Fällen ist es ausreichend lediglich das gewünschte Device anzugeben auf dem die Daten installiert werden sollen. Dies wird bei einer IDE-Festplatte meist /dev/hda sein. surimi:/home/fr# grub-install /dev/hda Installation finished. No error reported. This is the contents of the device map /boot/grub/device.map. Check if this is correct or not. If any of the lines is incorrect, fix it and re-run the script ‘grub-install’. (fd0) /dev/fd0 (hd0) /dev/hda (hd1) /dev/hdb 524 Kapitel 19. Systemadministration GRUB ist nun funktionsfähig installiert, Sie sollten aber noch ein Menü einrichten um nicht bei jedem Systemstart die Parameter für das Root-Device und den Kernel von Hand eingeben zu müssen. Kopieren Sie hierzu am besten das mitgelieferte Beispiel an die entsprechende Stelle. 19.1.2.2. Konfiguration Die Konfiguration von GRUB kann herkömlich, mittels eines Editors, erfolgen oder aber ganz elegant mittels update-grub. 19.1.2.2.1. update-grub update-grub ist Bestandteil des GRUB Debian Paketes. Existiert noch keine Konfigurationsdatei, so wird diese automatisch erstellt. Als Basis dienen dazu die Kernel- und RAM-Disk-Images im Verzeichnis /boot/. Zu jedem vorhandenen Kernel wird jeweils ein Eintrag für den normalen Start sowie für den Start im Single-User Modus erstellt. wasabi:~# update-grub Searching for GRUB installation directory ... found: /boot/grub . Testing for an existing GRUB menu.list file... Could not find /boot/grub/menu.lst file. Would you like one generated for you? (y/N) y Updating /boot/grub/menu.lst ... done Please note that configuration parameters for GRUB are stored in /boot/grub/menu.lst . You must edit this file in order to set the options which GRUB passes to the kernel, as well as the drive which GRUB looks in to for the kernel. Everything on the line after "kopt=" is passed to the kernel as parameters, and "groot=" must be set to the partition(in GRUB terms, such as "(hd0,0)") which GRUB will load the kernel from. After you have edited /boot/grub/menu.lst , please re-run ’update-grub’. Natürlich sind Veränderungen an der automatisch erstellten Konfiguration möglich. In der Konfigurationsdatei gibt es einen Abschnitt der mit „### BEGIN AUTOMAGIC KERNELS LIST“ beginnt. Diese Einträge können verändert werden, es dürfen aber auf keinen Fall die Kommentarzeichen (#) am Anfang jeder Zeile verändert werden! Ein Beispiel. Aus:

  1. kopt=root=/dev/hda1 ro

Wird:

  1. kopt=root=/dev/hda1 ro apm=on ide2=0x180,0x386

Die hinzugefügten Parameter werden beim Starten des Kernels übergeben. Nach der Änderung wird nochmals update-grub aufgerufen und die Änderungen werden in die eigentliche Konfiguration am Ende der Datei übernommen. 525 Kapitel 19. Systemadministration 19.1.2.2.2. Manuelle Konfiguration Wenn Sie im Verzeichnis /boot/grub/ eine Datei eine Datei menu.lst erzeugen, so wird GRUB beim nächsten Start aus dieser Datei ein Menü erstellen und Sie können dann aus den verschiedenen Einträgen dieses Menüs den gewünschten auswählen. Ein Beispiel für ein solches Menü finden Sie unter /usr/share/doc/grub/examples/menu.lst. debian:~# cp /usr/share/doc/grub/examples/menu.lst /boot/grub/ In dem Beispiel finden Sie einige Einträge für die verschiedensten Betriebssysteme, sowie einige andere Goodies die Sie mit GRUB anstellen können. Eine funktionsfähige Minimalkonfiguration könnte wie folgt aussehen: timeout 10 default 0

  1. For booting Linux

title Debian GNU/Linux root (hd0,0) kernel /vmlinuz root=/dev/hda1 Wenn ein Kernelpaket verwendet wird, so ist darauf zu achten das diese normalerweise eine Init-Ramdisk (initrd) verwenden. Ein entsprechender Eintrag, um eben diese Ramdisk ergänzt sieht wie folgt aus: title GNU/Linux 2.4.6 SMP root (hd0,6) kernel /vmlinuz-2.4.6-686-smp root=/dev/hda1 read-only initrd /initrd-2.4.6-686-smp Dieses Beispiel verwendet einen SMP Kernel und eine etwas andere Festplattenaufteilung, aber das Prinzip sollte erkennbar sein. 19.1.2.3. Hardwarebezeichnungen Vielleicht haben Sie sich schon über die etwas ungewohnten Bezeichnungen der Laufwerke in der Konfigurationsdatei gewundert. GRUB benutzt die von HURD-Kernel verwendeten Bezeichnungen für Gerätedateien, die Umstellung ist aber für den geübten Linux-Admin nicht sehr groß. Zunächst ist zu bemerken das alle Bezeichnungen für Geräte in Klammern () geschrieben werden. Statt der unter Linux üblichen Buchstaben (z.B. hda) werden die einzelnen Platten mit fortlaufenden Zahlen ab 0 bezeichnet. hda entspricht also hd0. Die einzelnen Partitionen einer Platten werden wie unter Linux mit Zahlen bezeichnet, allerdings beginnend mit 0 und getrennt mit einem Komma. Somit entspricht /dev/hda1 also (hd0,0). Weitere Geräte werden als (fd0) (Diskette) und (sd0) (SCSI Platten) bezeichnet. Sie können GRUB auch zum booten übers Netz einsetzen oder das Root-Filesystem per NFS mounten. Die Bezeichnung des Netzwerkdevices lautet (nd). 19.1.2.4. Kommandozeile GRUB verfügt auch über eine sehr leistungsfähige Kommandozeile, bedenken Sie dabei das zu dieser Zeit noch kein komplettes Betriebssystem oder gar ein Kernel geladen ist! Sollte es Ihnen nicht gelungen sein ein funktionsfähiges Menü zu erstellen, so landen Sie automatisch auf der GRUB-Kommandozeile. Sie können hier alle Kommandos, Laufwerksbezeichnungen und Dateinamen mit der TAB-Taste automatisch vervollständigen lassen, diese Feature kennen Sie sicher schon aus der Shell. 526 Kapitel 19. Systemadministration Wenn jedoch ein Menü angezeigt wird, können Sie dieses mit der Taste c verlassen und auf der Kommandozeile zum Beispiel von Hand einen anderen Kernel starten. Fehlerhafte Einträge im Menü lassen sich aus dem Menü mit der Taste e temporär verändern. Vergessen Sie nicht diese Änderungen später in die Datei /boot/grub/menu.lst einzutragen. 19.1.2.5. weitere Informationen Weitere Informationen zu GRUB finden Sie auf Ihrem System unter file:///usr/share/doc/grub/ und auf der Webseite des Projektes unter http://www.gnu.org/software/grub/grub.en.html. 19.2. Init Scripte Nach dem laden des Linux Kernels wird als erstes Programm überhaupt das Programm init gestartet. Dieses Programm startet alle weiteren Programme, welche dies sind wird über die Scripte im Verzeichnis /etc/init.d bestimmt. Je nach gewünschtem Runlevel des Systems zeigen Links auf die Scripte in diesem Verzeichnis. Das anlegen und löschen dieser Links wird bei der Installation der jeweiligen Dienste automatisch vorgenommen. Ein installierter Dienst wird normalerweise immer auch gestartet. Natürlich können Links von Hand hinzugefügt oder entfernt werden, aber auch für diese Arbeiten am System stellt Debian einige Werkzeuge zur Verfügung. 19.2.1. rcconf rcconf ist ein einfaches Werkzeug mit dem einzelne Dienste aus den Init-Scripten aktiviert oder deaktiviert werden können. Es ist mit rcconf nicht möglich den Runlevel eines Dienstes zu bestimmen. Abbildung 19-1. rcconf 527 Kapitel 19. Systemadministration 19.2.2. update-rc.d Detailiertere Einstellmöglichkeiten bietet update-rc.d. Zunächst sollte update-rc.d in jedem Fall mit der Option -n aufgerufen werden, diese zeigt lediglich an welche Aktionen durchgeführt werden sollen, lässt die entsprechenden Links aber unangetastet. usage: update-rc.d [-n] [-f] <basename> remove update-rc.d [-n] <basename> defaults [NN | sNN kNN] update-rc.d [-n] <basename> start|stop NN runlvl [runlvl] [...] . -n: not really -f: force Grundsätzlich ist natürlich immer der Name des Paketes anzugeben von welchem die Initscripte angepasst werden sollen. Bei Verwendung der Option remove werden alle Links auf das entsprechende Script entfernt. Hierbei prüft update-rc.d ob das Script bereits entfernt wurde. Ist dies nicht der Fall so bricht update-rc.d ab. Mit der Option -f kann erzwungen werden das die Links auch bei vorhandensein eines Script gelöscht werden. Mit den Optionen start, stop oder defaults werden die notwendigen Links angelegt, bzw. wiederhergestellt. Wird zusätzlich einer oder mehrere Runlevel angegeben so können die Links entsprechend den Wünschen des Systemadministrators angepasst werden. 19.3. alternatives Vielleicht ist Ihnen schon das Verzeichnis /etc/alternatives aufgefallen. In diesem befinden sich einige Links ins Dateisystem. Haben Sie schon herausgefunden wozu diese dienen? OK, dann wird das Geheimnis nun aufgedeckt.... „Alternativen“ sind eine weitere dieser vielen, netten Kleinigkeiten die das Leben in einem Debian GNU System leichter und schöner machen. Über Alternativen können beliebte Programme (beispielsweise vi) durch „Alternativen“ (beispielsweise vim) ersetzt werden. Hierbei sind keine Einträge in irgendwelchen Konfigurationsdateien notwendig. Sehen wir uns das einmal am Beispiel vi an. Zunächst versuchen wir zu ermitteln wo das eigentlich Programm vi zu finden ist: wasabi:/home/fr# ls -l ‘which vi‘ lrwxrwxrwx 1 root root 20 24. Feb 13:47 /usr/bin/vi -> /etc/alternatives/vi Und dieser Link wiederrum: wasabi:/home/fr# ls -l /etc/alternatives/vi lrwxrwxrwx 1 root root 12 20. Mär 08:15 /etc/alternatives/vi -> /usr/bin/vim ... zeigt auf das Programm vim. Nun lassen sich auch diese Links natürlich mir Unix Bordmitteln verändern, doch halt! Auch hier gibt es wieder ein Werkzeug aus der Debian Werkzeugkiste. update-alternatives ist das Werkzeug des Debian Systemadministrators um die Konfiguration dieser Links vorzunehmen. Hierbei ist es möglich aus sinnvollen Alternativen auszuwählen, es werden sogar Einschätzungen zum am besten geeigneten Programm für den jeweiligen Zweck abgegeben. update-alternatives: need --display, --config, --install, --remove or --auto Debian update-alternatives 1.9.20. 528 Kapitel 19. Systemadministration Copyright (C) 1995 Ian Jackson. Copyright (C) 2000,2001,2002 Wichert Akkerman This is free software; see the GNU General Public Licence version 2 or later for copying conditions. There is NO warranty. Usage: update-alternatives --install <link> <name> <path> <priority> [--slave <link> <name> <path>] ... update-alternatives --remove <name> <path> update-alternatives --auto <name> update-alternatives --display <name> update-alternatives --config <name> <name> is the name in /etc/alternatives. <path> is the name referred to. <link> is the link pointing to /etc/alternatives/<name>. <priority> is an integer; options with higher numbers are chosen. Options: --verbose|--quiet --test --help --version --altdir <directory> --admindir <directory> Zunächst sollten man sich einen Überblick über den aktuellen Zustand des Programmes, hier vi, verschaffen: wasabi:/home/fr# update-alternatives --display vi vi - status is manual. link currently points to /usr/bin/vim /usr/bin/nvi - priority 30 slave vi.1.gz: /usr/share/man/man1/nvi.1.gz /usr/bin/vim - priority 120 slave vi.1.gz: /usr/share/man/man1/vim.1.gz Current ‘best’ version is /usr/bin/vim. Sehr schön zu sehen, es stehen zwei Programm zur Verfügung die dem System als Editor vi dienen können: nvi und vim. Beide Versionen sind mit unterschiedlich hohen Prioritäten versehen, die höhere Version wird bevorzugt und in der letzetn Zeile als Empfehlung ausgegeben. Mit der Option --config können Veränderungen an der aktuellen Einstellung vorgenommen werden. Dies Auswahl des neuen Wertes erfolgt mit der jeweils vorrangestellten Zahl. 19.4. hdparm Mit dem Programm hdparm lassen sich Festplattenparameter auslesen und verändern. Die Syntax zu diesem Befehl lautet: hdparm - get/set hard disk parameters - version v5.2 Usage: hdparm [options] [device] .. Options: -a get/set fs readahead -A set drive read-lookahead flag (0/1) -b get/set bus state (0 == off, 1 == on, 2 == tristate) -B set Advanced Power Management setting (1-255) -c get/set IDE 32-bit IO setting -C check IDE power mode status -d get/set using_dma flag -D enable/disable drive defect-mgmt -E set cd-rom drive speed -f flush buffer cache for device on exit 529 Kapitel 19. Systemadministration -g display drive geometry -h display terse usage information -i display drive identification -I detailed/current information directly from drive -Istdin similar to -I, but wants /proc/ide/*/hd?/identify as input -k get/set keep_settings_over_reset flag (0/1) -K set drive keep_features_over_reset flag (0/1) -L set drive doorlock (0/1) (removable harddisks only) -M get/set acoustic management (0-254, 128: quiet, 254: fast) (EXPERIMENTAL) -m get/set multiple sector count -n get/set ignore-write-errors flag (0/1) -p set PIO mode on IDE interface chipset (0,1,2,3,4,...) -P set drive prefetch count -q change next setting quietly -Q get/set DMA tagged-queuing depth (if supported) -r get/set readonly flag (DANGEROUS to set) -R register an IDE interface (DANGEROUS) -S set standby (spindown) timeout -t perform device read timings -T perform cache read timings -u get/set unmaskirq flag (0/1) -U un-register an IDE interface (DANGEROUS) -v defaults; same as -mcudkrag for IDE drives -V display program version and exit immediately -w perform device reset (DANGEROUS) -W set drive write-caching flag (0/1) (DANGEROUS) -x tristate device for hotswap (0/1) (DANGEROUS) -X set IDE xfer mode (DANGEROUS) -y put IDE drive in standby mode -Y put IDE drive to sleep -Z disable Seagate auto-powersaving mode -z re-read partition table hdparm ist ein Kommandozeilenprogramm um verschiedene Festplattenparameter im Linux Kernel zu verändern. Dieses Programm benötigt mindestens einen Kernel der Version 1.2.13, dies sollte aber auf einem aktuellen Debian System kein Problem sein. 19.4.1. Optionen Wenn keine weiteren Optionen angegeben werden so wird bei einem IDE Device automatisch die Optionen -acdgkmnru und bei einem SCSI Device die Optionen -gr benutzt. Im einzelnen bewirken die Optionen folgendes: • -A Schaltet die „read-lookahead“ Funktion einer IDE Festplatte ein oder aus. Normalerweise ist diese Funktion aktiviert. • -c Zeigt den Status oder aktiviert den (E)IDE 32-Bit I/O Support. Die Parameter hier für sind: 0 um den Support zu deaktivieren, und 1 um den Support zu aktivieren. Der Wert 3 aktivert den 32-Bit Support mit einer speziellen Sync Sequenz die von einigen Chipsets benötigt wird. Diese Option funktioniert mit fast allen Chipsets, bringt jedoch etwas mehr Overhead mit sich. Wird kein Parameter angegeben, so wird die aktuelle Einstellung angezeigt. • -C Zeigt den aktuellen Power Mode Status einer IDE Festplatte an. Dieser kann folgende Werte annehmen: „unknown“ - Das Laufwerk unterstützt dieses Kommando nicht. „active“/„idle“ - Normalbetrieb. „standby“ - Low Power Modus, die Festplatte dreht sich nicht oder „schläft“ sogar komplett. Die -S, -y, -Y und -Z können zur Veränderung der IDE Power Modes verwendet werden. • -d Zeigt ob für das genannte Gerät der DMA Modus benutzt wird oder aktiviert/deaktiviert den Modus. Das Flag „using_dma“ funktioniert nur mit wenigen Kombinationen aus Festplatte und Controllern. Beispielsweise wird beim Intel Triton Chipset der Bus-Master DMA Modus in verbindung mit vielen 530 Kapitel 19. Systemadministration Festplatten ünterstützt. Wenn möglich sollte die Option -X34 zusammen mit -d1 benutzt werden um sicherzustellen das das Laufwerk selber den Multiword DMA Modus 2 unterstützt. • -f Synchonisieren und speichern des Cache Puffers der Festplatte beim beenden des Programmes. Dieser Vorgang wird auch bei den Optionen -t und -T durchgeführt. • -g Zeigt die Plattengeometrie (Zylinder, Köpfe, Sektoren), die Größe (in Sektoren) des Laufwerkes und den Offset (in Sektoren) des Devices vom Anfang der Platte. • -h Zeigt die Hilfeinformationen. • -i Zeigt die Identifikation der Festplatte, welche beim booten ausgelesen wurden, falls diese verfügbar sind. Diese Funktion wird nur von neueren Festplatten unterstützt. Die Informationen können veraltet sein wenn das System seit den Start viel beschäftigt war. • -I Zeigt die aktuelle Identifikation der Festplatte an. Wie die Option -i, die Informationen werden allerdings neu ausgelesen. • -k Liest oder setzt das keep_settings_over_reset Flag für das Laufwerk. Wenn diese Option gesetzt ist, werden die -dmu Optionen über einen (Soft-) Reset hinaus gespeichert. • -K Setzt das keep_features_over_reset Flag. Das setzen dieser Option rettet die -APSWXZ Einstellungen über einen (Soft-) Reset hinaus. Diese Option wird nicht von alle Laufwerken unterstützt. • -m Zeigt den aktuellen Zustand oder setzt den IDE Block Modus. Ein Wert von 0 deaktiviert diese Funktion. • -p Versucht das IDE Interface Chipset auf den gewünschten PIO Modus zu setzen oder versucht den bestmöglichen PIO Modus einzustellen. • -q Diese Option unterdrückt die Ausgabe von Meldungen für die folgenden Optionen. Dies kann eingesetzt werden wenn hdparm aus einer Datei beim Systemstart heraus aufgerufen wird. Diese Option hat keine Auswirkungen auf die Optionen -i, -v, -t oder -T. • -r Liest oder setzt das Read-Only Flag. • -S Setzt die Standby-Zeit des Gerätes. Nach der eingestellten Zeit in Sekunden fährt die Festplatte in den Ruhezustand. Ein Wert von 0 schaltet diese Funktion aus. • -T Führt einen Benchmark mit Lesezugriffen auf den Cache durch. Um sinnvolle Ergebnisse zu bekommen, sollte ein Test 2-3 mal auf einem System mit möglichste wenig anderen Prozessen durchgeführt werden. • -t Führt einen Benchmark mit Lesezugriffen auf das Gerät durch. Um sinnvolle Ergebnisse zu bekommen, sollte ein Test 2-3 mal auf einem System mit möglichste wenig anderen Prozessen durchgeführt werden. • -u Liest oder setzt das „interrupt-unmask“ Flag. Dies kann auf vielen Systemen die Reaktionszeit des Systems verbessern, ist aber mit Vorsicht einzusetzen, da nicht alle Chipsets diese Funktion richtig umsetzen können. Ein Wert von 1 aktiviert diese Funktion. • -v Zeigt die aktuellen Einstellungen an, mit Ausnahme von -i. Wenn keinerlei Optionen auf der Kommandozeile angegeben werden wird ebenfalls -v angenommen. Bei einem SCSI Gerät entspricht dies den Optionen -gr, bei einem IDE Gerät den Optionen -acdgkmnru. • -W Aktiviert oder deaktiviert bei einem IDE Laufwerk das write-caching Feature. Dies ist Standardmäßig deaktiviert. • -X Setzt den IDE Übertragungsmodus bei neueren (E)IDE/ATA2 Laufwerken. Diese Option wird meistens zusammen mit -d1 benutzt um den DMA Modus von/zu einem Laufwerk mit Chipsets die dies unterstützen (beispielsweise Intel 430FX Triton) zu aktivieren. Dort können dann auch mit -X34 „multiword DMA mode2“ Übertragungen aktiviert werden. Die Option -X66 aktiviert UltraDMA Mode2 Übertragungen. • -y Aktiviert sofort den Energiesparmodus bei einem IDE Laufwerk. • -Y Aktiviert sofort den Energiesparmodus mit dem geringsten Stromverbrauch bei einem IDE Laufwerk. • -Z Deaktiviert die Stromsparfunktionen bei einigen Seagate Laufwerken die diese Funktion nur fehlerhaft implementiert haben. 531 Kapitel 19. Systemadministration 19.4.2. Einbinden von hdparm Um nun nicht nach jedem Systemstart (als Superuser) das Programm hdparm neu aufrufen zu müssen, ist es sinnvoll den Aufruf in die Init-Scripte mit aufzunehmen. Im einfachsten Fall reicht es den entsprechenden Eintrag in der Datei /etc/init.d/bootmisc.sh aufzunehmen. Eleganter ist es wenn ein eigenes Startscript erstellt wird. Dies kann beispielsweise wie folgt aussehen:

  1. !/bin/sh

HDPARM=‘which hdparm‘ if [ $UID != 0 ] ; then exit 0 else if [ -f ‘which hdparm‘ ] ; then if [ -f "/etc/hdparm.conf" ] ; then { while read dummy do IN="$dummy" $HDPARM ‘echo $IN | cut -d : -f 2‘ /dev/‘echo $IN | cut -d : -f 1‘ done } < /etc/hdparm.conf else

  1. no config file: guess params

for i in ‘ls -1 /proc/ide/|grep hd[a-d]‘ ; do if [ ‘cat /proc/ide/$i/media‘ = "disk" ] ; then $HDPARM -d1 -c1 -S12 /dev/$i else echo; echo "/dev/$i: no disk! media is: ‘cat /proc/ide/$i/media‘" fi done fi fi fi Ohne an dem Script Veränderungen vorzunehmen, wird hdparm mit den Parametern -c1 -d1 -S12 aufgerufen. Dies kann entweder direkt im Script, oder aber besser mittels der Konfigurationsdatei /etc/hdparm.conf beeinflusst werden: hda:-c1d1 hdc:-c1d1 Wie hier gezeigt, können die Parameter für jedes Gerät einzeln angegeben werden. 19.5. Systemzeit (Fast) jeder Rechner verfügt heute über eine eingebaute Uhr, die über eine eingebaute Batterie die Uhrzeit auch im ausgeschalteten Zustand weiterlaufen läßt, so das immer eine korrekte Systemzeit eingestellt ist. Das Betriebssystem kümmert sich während der Laufzeit um die richtige Zeit und liest die Zeit einmalig beim Systemstart aus der Hardware-Uhr aus. Die Zeit des Betriebssystems läßt sich mit dem Kommando date anzeigen. bash-2.03$ date Sat Jan 22 17:54:00 CET 2000 532 Kapitel 19. Systemadministration Die Uhrzeit, die vom Uhrenchip auf dem Motherboard geliefert wird, ist normalerweise ausreichend genau. Wenn diese Zeit um mehrere Monate oder Jahre nach dem Einschalten des Rechners abweicht, sollten Sie die Batterie auf dem Motherboard wechseln (lassen). Das Kommando date, so wie oben gezeigt, zeigt den Wochentag, den Monat, den Tag, die Uhrzeit, die Zeitzone sowie das Jahr an. Ein weiteres Kommando, welches auf die Systemzeit zugreift, ist das Kommando time. Dieses zeigt allerdings nicht die Zeit an, wie man vielleicht vermuten könnte, sondern dient dazu, die Zeit zu bestimmen, die bestimmte Komandos zur Ausführung benötigen. $ time sleep 60 real 1m0.057s user 0m0.000s sys 0m0.000s Wundern Sie sich nicht, dieses Kommando benötigt eine Minute. Das Kommando sleep „schläft“ in diesem Beispiel 60 Sekunden, time ermittelt diese Zeit... nicht sehr sinnvoll, aber ein Beispiel ;-). Wenn Sie sich einen neuen Rechner zugelegt haben und Ihre Freunde wissen, daß Sie diesen unter GNU/Linux betreiben, werden diese vielleicht fragen, wie lange es dauert, einen neuen Kernel zu übersetzen. Sie können diese Zeit jetzt mit dem Kommando time ermitteln. Natürlich kommt es auch darauf an, welche Treiber Sie in den Kernel einbinden wollen und welche Kernel-Version Sie übersetzen... doch das ist ein anderes Thema... 19.5.1. date Um die Systemzeit auf Ihrem Rechner zu korrigieren, können Sie das Kommando als Superuser benutzen. date hat eine Vielzahl von Optionen, um die Zeit zu stellen, Sie können die gewünschte Zeit in allen nur denkbaren Formaten angeben. Hier einmal die Übersicht der Optionen: bash-2.03$ date --help Usage: date [OPTION]... [+FORMAT] or: date [OPTION] [MMDDhhmm[[CC]YY][.ss]] Display the current time in the given FORMAT, or set the system date. -d, --date=STRING display time described by STRING, not ‘now’ -f, --file=DATEFILE like --date once for each line of DATEFILE -I, --iso-8601[=TIMESPEC] output an ISO-8601 compliant date/time string. TIMESPEC=‘date’ (or missing) for date only, ‘hours’, ‘minutes’, or ‘seconds’ for date and time to the indicated precision. -r, --reference=FILE display the last modification time of FILE -R, --rfc-822 output RFC-822 compliant date string -s, --set=STRING set time described by STRING -u, --utc, --universal print or set Coordinated Universal Time --help display this help and exit --version output version information and exit FORMAT controls the output. The only valid option for the second form specifies Coordinated Universal Time. Interpreted sequences are: %% a literal % %a locale’s abbreviated weekday name (Sun..Sat) %A locale’s full weekday name, variable length (Sunday..Saturday) %b locale’s abbreviated month name (Jan..Dec) %B locale’s full month name, variable length (January..December) %c locale’s date and time (Sat Nov 04 12:02:33 EST 1989) %d day of month (01..31) %D date (mm/dd/yy) %e day of month, blank padded ( 1..31) %h same as %b 533 Kapitel 19. Systemadministration %H hour (00..23) %I hour (01..12) %j day of year (001..366) %k hour ( 0..23) %l hour ( 1..12) %m month (01..12) %M minute (00..59) %n a newline %p locale’s AM or PM %r time, 12-hour (hh:mm:ss [AP]M) %s seconds since 00:00:00, Jan 1, 1970 (a GNU extension) %S second (00..60) %t a horizontal tab %T time, 24-hour (hh:mm:ss) %U week number of year with Sunday as first day of week (00..53) %V week number of year with Monday as first day of week (01..52) %w day of week (0..6); 0 represents Sunday %W week number of year with Monday as first day of week (00..53) %x locale’s date representation (mm/dd/yy) %X locale’s time representation (%H:%M:%S) %y last two digits of year (00..99) %Y year (1970...) %z RFC-822 style numeric timezone (-0500) (a nonstandard extension) %Z time zone (e.g., EDT), or nothing if no time zone is determinable By default, date pads numeric fields with zeroes. GNU date recognizes the following modifiers between ‘%’ and a numeric directive. ‘-’ (hyphen) do not pad the field ‘_’ (underscore) pad the field with spaces Report bugs to <bug-sh-utils@gnu.org>. In der Praxis werden Sie die Zeit aber nur selten korrigieren müssen, so daß an dieser Stelle ein Beispiel reichen sollte. Sehen Sie sich nochmal die Hilfe zu date an, in der zweiten Zeile finden Sie folgendes: or: date [OPTION] [MMDDhhmm[[CC]YY][.ss]]. Die gewünschte Zeit kann im Format MM (Month - Monat), DD (Day - Tag), hh (Hour - Stunde) und mm (Minute) angegeben werden. Die anderen Werte können Sie ignorieren, diese werden Sie nur selten gebrauchen. Um die Zeit drei Tage und eine halbe Stunde zurückzustellen, benutzen Sie folgendes Kommando: linux:/home# date Sun Jan 23 10:47:59 CET 2000 linux:/home# date 01201017 Thu Jan 20 10:17:00 CET 2000 19.5.2. rdate Wenn Sie über einen Internetanschluß verfügen, können Sie dies auch Programmen wie zum Beispiel rdate überlassen. rdate übernimmt die Zeit von einem Server, der über eine Funkuhr (DCF77-Signal) verfügt, aus dem Netz. Sie können dieses Kommando in die Scripte, die Sie zum Aufbau der Internetverbindung benutzen, einbinden. Wenn Ihr Rechner ständig oder immer zu bestimmten Zeiten mit dem Internet verbunden ist, können Sie rdate auch über das Programm cron aufrufen, indem Sie es in die crontab des Superusers eintragen. Rufen Sie dazu das Kommando crontab mit der Option -e (edit - verändern) auf: bash-2.03$ su Password: linux:/home# crontab -e 534 Kapitel 19. Systemadministration Ergänzen Sie nun die Einträge in dieser Datei um folgende Zeile: 10 01 * * * /usr/sbin/rdate time.fu-berlin.de > /dev/null Ein solcher Eintrag stellt jede Nacht um zehn Minuten nach eins die Systemzeit nach den Angaben des Servers time.fu-berlin.de neu. Benutzen Sie bitte einen Server in Ihrer Nähe. Viele Provider bieten einen solchen Service an, fragen Sie einfach nach. Wenn Sie keinen geeigneten Server finden können, sollten Sie die Server der Physikalisch-Technischen Bundesanstalt (PTB) benutzen. Wie Sie vielleicht wissen, wird von der PTB das amtliche Zeitsignal ausgesendet, welches von DCF-77-Empfängern (Funkuhren) empfangen werden kann. Seit Anfang 2000 stellt die PTB diesen Dienst auch übers Internet zur Verfügung. Sie können die beiden öffentlichen Zeitserver der PTB als ptbtime1.ptb.de und ptbtime2.ptb.de erreichen. Um die vorhin in die Vergangenheit beförderte Systemzeit zu korrigieren, können Sie rdate natürlich auch auf der Kommandozeile ausführen: linux:/home# /usr/sbin/rdate time.fu-berlin.de Sun Jan 23 10:49:22 2000 19.6. Kernel erzeugen Auf einem Debian GNU/Linux System gibt es grundsätzlich zwei verschiedene Wege einen individuellen Kernel zu erzeugen. Zunächst ist es natürlich möglich alle Arbeitsschritte auf klassischem Wege „zu Fuß“, wie auf jedem anderen Linux System, durchzuführen. Die elegantere Methode ist es jedoch ein eigenes Debian Kernel-Paket zu erzeugen und dieses zu installieren. Sehen wir uns zunächst die etwas elegantere Debian Methode an, die klassische Methode werden wir später besprechen. 19.6.1. Debian Kernel (kernel-package) Das Paket kernel-package unterstützt den Debian GNU/Linux-Systemadministrator bei der Verwaltung von individuellen Linux-Kerneln auf seinem System. Sicherlich haben Sie schon die bei Debian GNU/Linux mitgelieferten Kernel-Pakete entdeckt. Diese sind so konfiguriert, daß diese auf den meisten Systemen funktionsfähig sind. Trotzdem ist es manchmal notwendig, einen eigenen Kernel zu übersetzen, um neue Hardware einzubinden oder um Hardwarekonflikte zu umgehen. Sie können hierbei das Paket kernel-package zu Hilfe nehmen. Dieses erzeugt ein Debian-Paket mit einem individuellen Kernel und allen Modulen für Ihr System. Zunächst benötigen Sie, neben dem Paket kernel-package, welches Sie schon installieren können, ein Paket mit dem gewünschten Kernel-Quellcode (Source). Sie finden die Archive unter ftp://ftp.kernel.org oder auf den Spiegelservern in Deutschland: ftp://ftp.de.kernel.org oder ftp://ftp2.de.kernel.org. Tip: aktuelle Kernel-Version herausfinden: Wenn Sie sich nicht per FTP durch die Verzeichnisse auf dem Kernel-Server „wühlen“ möchten um nachzusehen, ob es eine neue Version gibt, können Sie mit dem Kommando finger @www.kernel.org die aktuelle Kernel-Version ermitteln. Weiter benötigen Sie einige zusätzliche Pakete, um einen neuen Kernel zu übersetzen, dies sind: gcc, libc5-dev oder besser (weil aktueller) libc6-dev, binutils, make, gawk oder mawk, gzip, shellutils, grep sowie bin86 auf der i386-Plattform. Wenn Sie das Kommando make menuconfig zur Kernel-Konfiguration benutzen möchten, muß das Paket libncurses5-dev installiert sein. Aber sicher haben Sie einige davon bereits installiert... 535 Kapitel 19. Systemadministration Wenn die notwendigen Pakete installiert sind, entpacken Sie die Kernel-Quellen, üblicherweise geschieht dies unter /usr/src/. Die entpackten Quellen befinden sich dann im Verzeichnis /usr/src/linux. Es ist ratsam, wenn Sie verschiedene Kernelversionen verwalten wollen, diese umzubenennen, beispielsweise in: kernel-source-2.2.14. Wählen Sie in jedem Fall ein Verzeichnis auf Ihrer Platte, in dem genug Platz vorhanden ist. Die neuesten Kernel-Versionen sind in gepackter Form ca. 16,5 MB groß und nehmen im entpackten Zustand ca. 97 MB sowie ca. 116 MB, wenn alles übersetzt ist, ein. Je entpackter Kernel-Version! Wechseln Sie nun in das Verzeichnis, in dem die Kernel-Quellcodes liegen. Der Name eines Debian GNU/Linux-Paketes besteht immer aus dem Basisnamen (hier: kernel-image), der Versionsnummer des Kernels (zum Beispiel 2.2.14, diese wird aus dem Kernel-Makefile ermittelt) und der sogenannten Revisionsnummer, diese können Sie individuell vergeben (über die Option --revision, die Sie dem Programm make-kpkg übergeben können). Sie sollten diese Revisionsnummer eindeutig wählen, um zu verhindern, daß ein bereits installierter Kernel überschrieben wird. Weiterhin darf das Zeichen „_“ (Unterstrich) nicht verwendet werden. Alternativ können Sie auch die Umgebungsvariable DEBIAN_REVISION auf den gewünschten Wert setzen. Sie sollten die Revisionsnummer bei jedem neuen Kernel erhöhen, das Debian-Paketsystem kann so automatisch ein Update durchführen. Auch für das Paket kernel-package gibt es natürlich eine Konfigurationsdatei, diese finden Sie wie üblich im Verzeichnis /etc/ als kernel-pkg.conf. Üblicherweise sollten Sie dort mindestens Ihren Namen sowie die E-Mail-Adresse angeben, Sie können so immer feststellen, daß dieses Paket kein Original-Debian-Paket ist. Sie können, wenn nötig, noch weitere Variablen in dieser Datei benutzen. Momentan werden folgende Optionen unterstützt: • maintainer: Der „Betreuer“ dieses Kernel-Paketes. Wenn Sie hier ein Apostroph (’) verwenden möchten, so müssen Sie dieses wie folgt angeben: John O’\\”Brien. • email: Ihre E-Mail-Adresse • pgp: Name, der in der PGP-Datenbank gesucht werden soll. Normalerweise wird hier der Maintainer automatisch eingesetzt, Sie können dies auch mit der Umgebungsvariablen PGP_SIGNATURE überschreiben. • debian: Revisionsnummer des Paketes, Standardwert ist 1.00. Es kann die Umgebungsvariable DEBIAN_REVISION benutzt werden. • image_in_boot: Wenn Sie diese Variable auf TRUE setzen, wird der Kernel im Verzeichnis /boot/ abgelegt und ein entsprechender symbolischer Link angelegt, anstatt wie sonst üblich den Kernel direkt in das „root-“Verzeichnis (/) zu kopieren. Dies kann auch über die Umgebungsvariable IMAGE_IN_BOOT gesetzt werden. • kimage: Typ des Kernel-Images, zum Beispiel zImage oder bzImage, Standardwert ist bzImage. Dieser Wert kann über die Umgebungsvariable IMAGE_TYPE gesetzt werden. • no_symlink: kann nicht zusammen mit reverse_symlink verwendet werden. Sinnvoll kann diese Option im Zusammenspiel mit image_in_boot verwendet werden. Bei Verwendung der no_symlink Option wird das Kernel Image immer als Datei vmlinuz abgelegt (und nicht als /boot/vmlinuz-x.x.xx). Ein bereits existierendes Kernel Image wird in jedem Fall (und nicht nur wenn es sich vom neuen Kernel Image unterscheidet) in vmlinuz.old umbenannt. Dieses bringt eine Beschränkung auf zwei Kernel Images mit sich, weitere Versionen müssen dann von Hand eingepflegt werden. Diese Option kann auf Systemen eingesetzt werden welche keinen symbolischen Links unterstützen, beispielsweise wenn loadlin eingesetzt wird. Diese Option ist aber eher als Hack zu betrachten... 19.6.2. klassische Kernel 19.6.2.1. Anpassen des Kernels von Hand In einigen Fällen kann es notwendig sein, den Linux-Kernel an die eigenen Bedürfnisse anzupassen. Debian GNU/Linux installiert einen Standardkernel, der in den meisten Fällen ausreichend ist. Zusätzliche Treiber können über Module im laufenden Betrieb hinzugeladen werden. 536 Kapitel 19. Systemadministration 19.6.2.2. Benötigte Programme Um aus den Kernel-Sourcen einen lauffähigen Kernel zu erzeugen, müssen die Quelltexte mittels eines passenden Compilers übersetzt werden. Der komplette Linux-Kernel wurde in der Programmiersprache C geschrieben - mit Ausnahme einiger ganz weniger Zeilen, die aus Geschwindigkeitsgründen in der Maschinensprache Assembler geschrieben wurden. Übrigens steht unter Linux der gcc (GNU C-Compiler) - eine freie Implementierung eines C-Compilers - zur Verfügung. Sie benötigen folgende Pakete, um einen Kernel selber zu erzeugen: • binutils - der GNU Assembler, Linker und einige Zusatzprogramme. • libc6-dev - GNU C-Bibliothek, Entwicklerpaket. • gcc - Der eigentliche GNU (EGCS) C-Compiler. • make - GNU-Version von "make". • bin86 - 16-bit Assembler Nützlich, aber nicht zwingend erforderlich, sind weiterhin folgende Pakete: • libncurses4-dev - Entwickler-Bibliotheken und Dokumentation für ncurses • tkstep8.0-dev - NeXTStep ähnlich Version des Tk Toolkits. (oder tk8.0-dev oder tkstep4.2-dev oder tk4.2-dev) • kernel-package - Debian Linux-Kernel Paket-Scripte. 19.6.2.3. Entpacken der Sourcen Möchten Sie einen individuell auf Ihr System angepassten Kernel installieren, so ist es zuerst nötig, die Kernel-Sourcen (Quellcode) zu installieren. Für den ersten Versuch ist es ratsam, die gleiche Kernelversion zu installieren, die auch schon vom Installationsprogramm installiert wurde. Der Befehl cat /proc/version gibt Ihnen die installierte Version aus. Installieren Sie nun (mit dselect, dpkg oder apt) die Sourcen zu diesem Kernel. Die Kernel-Sourcen werden vom Installationsprogramm unter /usr/src/ als Datei kernel-source-2.x.x.tgz abgelegt und müssen noch von Hand entpackt werden. Dies erreichen Sie mit dem Befehl tar xvfz kernel-source-2.x.x.tgz. Die entpackten Sourcen finden sich nun in dem Verzeichnis kernel-source-2.x.x/. Auf den Servern finden sich die aktuellen Archive des Linux Kernels auch in einer mit bzip2 anstatt gzip, komprimierten Form. Diese Archive sind nochmal ein wenig kleiner, da bzip2 bessere Kompressionsalgorithmen verwendet. Die so gepackten Archive enden auf .bz2. Diese Archive können ebenfalls mit tar entpackt werden, hierzu ist aber die Option -j statt -z anzugeben. Bitte beachten Sie: es sind zwischenzeitlich einige Versionen von tar im Umlauf gewesen bei denen für bzip2 komprimierte Archive die Option -I zu verwenden ist. 19.6.2.4. Konfiguration des Kernels Wechseln Sie nun in das Verzeichnis, in dem Sie vorher die Kernel-Sourcen entpackt haben. Mit dem Kommando make config erzeugen Sie die benötigte Konfigurationsdatei. Sie können hier den Kernel individuell auf Ihre eigene Hardware anpassen. Bei vielen Optionen haben Sie die Möglichkeit, zwischen fest im Kernel integrierten Treibern * oder Modulen M zu wählen. Achten Sie darauf, nur die nötigen Treiber fest in den Kernel einzubinden, da sonst der Kernel zu groß wird und nicht mehr von lilo geladen werden kann. Gute Kandidaten auf der Liste der Module sind alle Treiber, die nicht zum unmittelbaren Systemstart benötigt werden (Netzwerk, Bandlaufwerke...). Neben make config stehen Ihnen alternativ die Befehle make menuconfig mit einer textbasierten Oberfläche ähnlich wie bei dselect sowie make xconfig unter X11 zur Verfügung. Diese erleichtern kleine Änderungen am Kernel sehr, da die gewünschten Einstellungen direkt anzuwählen sind. 537 Kapitel 19. Systemadministration Wenn Sie die Option menuconfig benutzen wollen, muß das Paket libncurses5-dev installiert sein, dieses stellt die notwendigen Funktionen für die textbasierte Oberfläche zur Verfügung. 19.6.2.5. Übersetzen des Kernels Nachdem Sie die gewünschten Einstellungen gemacht haben, werden mit dem Befehl make dep die Abhängigkeiten geprüft. Ein make clean räumt noch übrig gebliebene Dateien von der Platte. Einen neuen Kernel erzeugen Sie mit dem Befehl: make bzImage. Zum Übersetzen des Kernels müssen neben einem C-Compiler auch die Pakete bin86 und natürlich make (das haben Sie aber sicher vorher schon bemerkt...) installiert sein. Nach einiger Zeit (wenn alles ohne Fehlermeldungen über die Bühne gegangen ist) finden Sie den neuen Kernel unter /usr/src/kernel-source-2.x.x/arch/i386/boot/. Dieser muß nun noch an die passende Stelle (bei Debian üblicherweise /boot/) kopiert werden. Abschließend ist die Konfiguration von lilo zu prüfen und ggf. anzupassen. Statt make bzImage können Sie auch make bzlilo verwenden: dieser Befehl kopiert den Kernel nach /vmlinuz und benennt vorher den schon vorhandenen Kernel in vmlinuz.old um. Danach wird automatisch lilo aufgerufen und somit steht der Kernel dann ab dem nächsten Neustart zu Verfügung. 19.6.2.6. Übersetzen der Module Sie können nun die Treiber, die Sie bei der Konfiguration als Module ausgewählt haben, übersetzen. Dies geschieht mit dem Befehl make modules. Nach dem Übersetzen der Module, werden diese mit make modules_install an den richtigen Ort kopiert. 19.6.2.7. Tips Benutzen Sie das Zeichen „;“ um mehrere Kommandos nacheinander auszuführen. Sie müssen so nicht die einzelnen Schritte beim Übersetzen eines neuen Kernels abwarten. make dep && make clean && make bzlilo && make modules && make modules_install erledigt einen kompletten Durchlauf ohne Pause. Probieren Sie einfach einmal den Kernel mit der Option -s zu übersetzen, also: make -s zImage oder make -s bzImage. Bei einem so übersetzten Kernel werden lediglich Warnungen und Fehlermeldungen des Kernels beim Systemstart ausgegeben. Alle Ausgaben der Treiber werden unterdrückt. Sie können das Übersetzen des Kernels beschleunigen, indem Sie den Parameter -j # einfügen, wobei # für eine (fast beliebige) Zahl steht. Mit diesem Parameter werden, entsprechend der angegebenen Zahl, mehrere Prozesse gestartet und Teile des Kernels gleichzeitig übersetzt. Sinnvolle Werte für die Anzahl der Prozesse sind in erster Linie vom Ausbau des Hauptspeichers (RAM) abhängig. Auf Systemen mit mehreren Prozessoren wirkt sich dies natürlich auch positiv aus. Bedenken Sie bitte, daß zu hoch gewählte Werte zum Auslagern (swappen) führen und den Vorgang merklich verlangsamen. Um festzustellen, welcher Wert sinnvoll ist, benutzen Sie das Kommando: time make -j 10 bzImage und variieren den Wert für die Anzahl der Prozesse. Sollten Sie nach dem Übersetzen der Module mit make modules; make modules_install Probleme haben, diese zu laden, liegt dies wahrscheinlich daran, daß die Datei modules.dep, in der die Abhängigkeiten (dependencies) beschrieben sind, nicht aktuell ist. Es ist nicht nötig, in dieser Datei irgendetwas von Hand zu ändern: der Befehl depmod -a 2.2.x erstellt eine aktuelle Datei für Sie, wobei 2.2.x der neuen Kernelversion entspricht. Wenn Sie viele verschiedene Kernelversionen auf der Platte halten, kann es vorkommen, daß Fehlermeldungen in der Form: Warning: /boot/System.map has an incorrect kernel version. erscheinen. Neben der Möglichkeit, je eine Version der System.map in /boot/ und eine weitere in /usr/src/linux/ zu halten (was maximal zwei Versionen erlaubt), bietet Debian GNU/Linux sozusagen eine „Komplettlösung“. Das Script /etc/init.d/sysklogd startet beim Systemstart auch den klogd. Sie können am Anfang dieses Scripts in der Variablen KLOGD als Parameter -k /boot/System.map-$(uname -r) angeben. So wird je nach verwendeter Kernelversion eine passende System.map aus /boot/ geladen. Diese müssen Sie nach dem Übersetzen des Kernels in das Verzeichnis /boot/ kopieren und passend zur Kernelversion benennen. Am einfachsten können Sie das mit folgendem Kommando erledigen: cp /usr/src/linux/System.map /boot/System.map-‘uname -r‘. 538 Kapitel 19. Systemadministration Hier ein kleines Script, welches in /boot/ nach Kerneln sucht und eine passende lilo.conf erstellt, mit dem neuesten Kernel als Standardkernel.

  1. !/bin/bash

umask 772 kernel_dir=/boot

  1. lilo assumes the default image is the first one in lilo.conf, so
  2. we sort the kernel images backwards, hence the highest-version’d kernel
  3. will be the default.

images=‘cd $kernel_dir && ls -1 vmlinuz-* \ | egrep "vmlinuz-([0-9]+).([0-9]+).([0-9]+)[^-]*$" \ | sort -rn‘ cp -f /etc/lilo.conf.static /tmp/lilo.conf

  1. three lines per entry, 3 x 19 images = 57

( for img in $images ; do label=‘echo $img | sed ’s/vmlinuz/linux/ ; s/-//g ; s/\.//g’‘ echo "image=$kernel_dir/$img" echo "label=$label" echo "" done ) | head -57 >> /tmp/lilo.conf if /sbin/lilo -C /tmp/lilo.conf ; then mv -f /etc/lilo.conf /etc/lilo.conf.last cp -f /tmp/lilo.conf /etc/lilo.conf echo successfully installed new bootloader. rm -f /tmp/lilo.conf exit 0 else echo eek, lilo barfed rm -f /tmp/lilo.conf exit 1 fi Wenn Sie einen der neuesten Kernel (2.3.x oder 2.4.x) mit Debian GNU/Linux 2.2 verwenden möchten, sollten Sie folgende Zeile in die Datei /etc/fstab einfügen: none /var/shm shm defaults 0 0 Ab der Kernel-Version 2.3.51 wurde das „Shared-memory“-Dateisystem eingeführt. 19.6.3. SMP - Linux mit mehreren Prozessoren Mittlerweile sind Motherboards mit mehreren Prozessoren recht preiswert zu erhalten. Diese werden natürlich auch von Debian GNU/Linux unterstützt. Die Kernelversion 2.0.x kann bereits mit mehreren Prozessoren umgehen, im Kernel 2.2.x wurde die Unterstützung wesentlich verbessert. Ein Umstieg ist ratsam, aber nicht zwingend nötig. 19.6.3.1. Kernel 2.0 Um einen SMP-fähigen 2.0.x Kernel zu erzeugen, muß im Makefile die Zeile: # SMP=1 auskommentiert (also das erste Zeichen #) entfernt werden. Dies ist unabhängig von der Anzahl der Prozessoren, es wird lediglich die Fähigkeit mehrere Prozessoren zu nutzen, aktiviert. Linux erkennt die Anzahl der Prozessoren dann automatisch. 539 Kapitel 19. Systemadministration 19.6.3.2. Kernel 2.2 Mit der Kernelversion 2.2.x wurde die SMP-Funktionalität weiter ausgebaut und es gibt bei der Konfiguration des Kernels die Option SMP einzuschalten. Sie müssen nichts von Hand ändern. Den Parameter können Sie bei make config, make menuconfig oder make xconfig aktivieren. 19.7. Kernel Pakete Die Installation eines neuen Kernels kann nicht nur über den Weg eines selbstcompilierten Kernels aus den Sourcen erfolgen, bereits übersetzte Kernel werden auch vom Debian Team bereitgestellt. Hierbei kann zwischen verschiedensten Kerneln, die jeweils für die netsprechenden Prozessoren optimiert sind, gewählt werden. Für den Kernel in der Version 2.4.5 stehen beispielsweise folgende Pakete zur Auswahl: fr@surimi:~$ apt-cache search kernel-image-2.4.5 kernel-image-2.4.5-386 - Linux kernel image for version 2.4.5 on 386. kernel-image-2.4.5-586 - Linux kernel image for version 2.4.5 on 586/K5/5x86/6x86/6x86MX. kernel-image-2.4.5-586tsc - Linux kernel image for version 2.4.5 on Pentium-Classic. kernel-image-2.4.5-686 - Linux kernel image for version 2.4.5 on PPro/Celeron/PII/PIII. kernel-image-2.4.5-686-smp - Linux kernel image 2.4.5 on PPro/Celeron/PII/PIII SMP. kernel-image-2.4.5-k6 - Linux kernel image for version 2.4.5 on AMD K6/K6-II/K6-III kernel-image-2.4.5-w4l-jb - Linux kernel binary image for version 2.4.5-w4l-jb. Je nach vorhandener Hardware ist das entsprechende Paket zu wählen und beispielsweise mit apt-get zu installieren. sushi:~# apt-get install kernel-image-2.4.5-686 Reading Package Lists... Done Building Dependency Tree... Done The following extra packages will be installed: ash initrd-tools mkcramfs The following NEW packages will be installed: ash initrd-tools kernel-image-2.4.5-686 mkcramfs 0 packages upgraded, 4 newly installed, 0 to remove and 6 not upgraded. Need to get 7769kB of archives. After unpacking 21.5MB will be used. Do you want to continue? [Y/n] Nach erfolgter Installation des Paketes findet sich der eigentliche Kernel (vmlinuz-2.4.5-686-smp), die passende System.map (System.map-2.4.5-686-smp) sowie die Konfigurationsdatei mit der das Kernel-Image erzeugt wurde (config-2.4.5-686-smp) im Verzeichnis /boot. Weiterhin wurden die zum Kernel gehörenden Module unter /lib/modules/2.4.5... installiert. Je nach verwendetem Bootloader ist nun noch die Konfiguration anzupassen. Die von Debian Projekt zur Verfügung gestellten Linux Kernel verwenden eine RAM-Disk (initrd) beim Start. Deshalb ist es notwendig diese auch in der Konfiguration des Bootloaders anzugeben. Für GRUB würde eine solche Konfiguration wie folgt aussehen title GNU/Linux 2.4.5 686 root (hd0,8) kernel /vmlinuz-2.4.5-686 root=/dev/hda1 initrd /initrd-2.4.5-686 540 Kapitel 19. Systemadministration Wenn auf dem System lilo als Bootloader verwendet wird ist eine entsprechende Zeile in die Konfiguration aufzunehmen. 19.8. Webbasierte Administration mit Webmin Viele Administratoren sind der Meinung, daß das Programm der Wahl zur Konfiguration des Systems der Editor vi ist. Dem soll hier auf keinen Fall widersprochen werden. Vielmehr soll eine Alternative aufgezeigt werden, die es erlaubt, sich im Dschungel der Konfigurationsdateien etwas besser zurecht zu finden. Webmin ist ein von Jamie Cameron in Perl geschriebenes Administrations-Werkzeug, welches über Module erweiterbar ist. Webmin ist mittlerweile in 14 Sprachen übersetzt worden und wird von einigen Distributionsherstellern bereits mitgeliefert.Webmin ist seit der Debian Version 3.0 Bestandteil der Distribution. Webmin ist für verschiedene Unix Varianten verfügbar, natürlich auch für GNU/Linux. Neue Funktionen können leicht über Module hinzugefügt werden, dies wird durch eine gut dokumentierte API erleichtert. Webmin ist ein in der Unix-Welt einmaliges Werkzeug. Für nahezu jede Funktion des Systems wird eine einheitliche Benutzeroberfläche geboten, für deren Benutzung lediglich ein Webbrowser benötigt wird. Hierbei werden keine speziellen Konfigurationsdateien verwendet, alle Änderungen werden in den bisher verwendeten Konfigurationsdateien gespeichert. Natürlich können weiterhin Änderungen wie bisher mit einem Editor vorgenommen werden. 19.8.1. Installation Die Installation erfolgt wie üblich über die vom Debian-Projekt zur Verfügung gestellten Pakete. Neben dem eigentlichen Basispaket webmin gibt es eine Reihe weiterer Pakete, die sich zum Teil auch im Bereich non-free finden. Diese sind im einzelnen: webmin - Web-based administration toolkit webmin-apache - apache control module for webmin webmin-bind8 - bind8 control module for webmin webmin-core - core modules for webmin webmin-cpan - CPAN module for webmin webmin-dhcpd - dhcpd control module for webmin webmin-exports - NFS exports control module for webmin webmin-fetchmail - fetchmail mail retrieval module for webmin webmin-grub - grub control module for webmin webmin-inetd - inetd control module for webmin webmin-lpadmin - printer control module for webmin webmin-mysql - mysql-server control module for webmin webmin-nis - NIS clients/servers control module for webmin webmin-postfix - postfix control module for webmin webmin-postgresql - postgresql control module for webmin webmin-ppp - PPP configuration module for webmin webmin-quota - disk quota control module for webmin webmin-raid - raid control module for webmin webmin-samba - samba control module for webmin webmin-sendmail - sendmail control module for webmin webmin-software - software control module for webmin webmin-squid - squid control module for webmin webmin-status - server and system status control module for webmin webmin-wuftpd - wu-ftpd control module for webmin webmin-xinetd - xinetd control module for webmin webmin-ssl - Web-based administration toolkit Alle Module können beispielsweise mit apt-get installiert werden. Minimal sollten die Pakete webmin und webmin-status sowie die Module für die auf dem Zielsystem verwendeten Dienste installiert werden. 541 Kapitel 19. Systemadministration Während der Installation des Basispaketes von Webmin wird der Benutzer „root“ angelegt, das Passwort wird aus der Datei /etc/shadow kopiert. Bitte beachten Sie, daß Übertragungen über das Protokoll HTTP unverschlüsselt erfolgen. Webmin kann auch über HTTPS mitttels einer verschlüsselten Kommunikation angesprochen werden. Hierzu ist das Paket webmin-ssl zu installieren. 19.8.2. Zugriff auf Webmin Der Zugriff auf Webmin erfolgt über einen beliebigen Webbrowser von einem Rechner aus, der über das Netzwerk Zugriff auf das zu administrierende System hat. Zusätzlich zu dem Rechnernamen ist der Port, auf dem Webmin läuft (10000), anzugeben. Wenn beispielsweise der Rechner webmin.openoffice.de administriert werden soll, so ist als URL anzugeben: http://webmin.openoffice.de:10000/. Wenn Sie Webmin auf einem System mit grafischer Benutzeroberfläche einsetzen, so kann die Administration natürlich auch lokal erfolgen, die URL lautet dann http://localhost:10000/. Wenn auf dem System nur eine verschlüsselte Kommunikation möglich ist, so ist http durch https zu ersetzen. Nach erfolgreicher Anmeldung (als Benutzer „root“ mit dem entsprechenden Passwort) gelangt man zur Startseite von Webmin. Webmin unterteilt die verschiedenen Module in sogenannte Kategorien. Jede Kategorie wird durch einen „Reiter“ wie bei einer Karteikarte dargestellt. Beachten Sie, daß jede dieser Kategorien eigene, spezielle Funktionen darstellt. Beispielsweise können mit „Webmin Users“ aus der Kategorie „Webmin“ keine Benutzer für das darunterliegende GNU/Linux System angelegt werden, diese Funktion dient dazu Webmin Benutzer einzurichten. Bevor wir detailliert auf die einzelnen Module eingehen, verändern Sie bitte die Konfiguration so daß Webmin Ihnen eine deutschsprachige Oberfläche bietet. Somit sollten Sie die gleiche Konfiguration vorfinden, wie hier beschrieben. Sie finden die Einstellung in der Kategorie „Webmin“ unter „Webmin Configuration“, „Language“. Abbildung 19-2. Webmin - Spracheinstellung 19.8.3. Kategorie Webmin Diese Kategorie dient zur generellen Konfiguration von Webmin. Webmin kann unterschiedlichen Benutzer administrativen Zugriff auf das System gewähren. Speziell unter „Webmin Konfiguration“ finden sich sher viele Einstellungsmöglichkeiten.Weiterhin ist ein Einblick in die Logfiles vonWebmin über diese Kategorie möglich. 542 Kapitel 19. Systemadministration Abbildung 19-3. KategorieWebmin 19.8.3.1. Webmin Actions Log Im Actions Log werden alle Änderungen die über Webmin vorgenommen werden verzeichnet. Die Konfiguration kann für jedes Modul oder für individuelle Benutzer in der Webmin Konfiguration vorgenommen werden. Über diesen Eintrag können Ereignisse im Webmin Log gesucht werden. Abbildung 19-4. KategorieWebmin - Actions Log 543 Kapitel 19. Systemadministration 19.8.3.2. Webmin Benutzer Während der Installation von Webmin wurde bereits der Benutzer „root“ angelegt, das Passwort wurde aus der Datei /etc/shadow übernommen. Hier können nun für diesen Benutzer die Zugriffe auf die einzelnen Module festgelegt werden und neue Benutzer hinzugefügt oder gelöscht werden. Weiterhin ist es hier möglich Benutzergruppen zu definieren und Benutzer, die auf dem darunterliegendem System eingetragen sind, in die Webmin-Konfiguration zu übernehmen. Abbildung 19-5. KategorieWebmin - Benutzer 19.8.3.3. Webmin Konfiguration Hier finden sich verschiedene Einstellungen zur Netzwerkkonfiguration von Webmin. Es können Zugriffsbeschränkungen von bestimmten Rechnern aus vergeben werden, bei mehreren Netzwerkkarten kann 544 Kapitel 19. Systemadministration der Zugriff auf bestimmte Interfaces beschränkt werden. Es können Module gelöscht oder hinzugefügt werden, (dies sollte allerdings besser über die Paketverwaltung von Debian erfolgen) und die Sprache kann hier gewählt werden. Abbildung 19-6. KategorieWebmin - Konfiguration 19.8.3.3.1. Webmin Konfiguration - IP-Zugriffskontrolle Der Webmin-Server kann mit diesem Formular konfiguriert werden, um Anfragen von bestimmten IPs abzuweisen oder nur bestimmte IPs zuzulassen. Host-Namen (wie foo.bar.de) und IP-Netzwerke (wie 10.254.3.0 oder 10.254.1.0/255.255.255.128) können auch angegeben werden. Sie sollten den Zugriff auf Ihren Server auf vertraute Adressen beschränken, besonders, wenn der Server im Internet verfügbar ist. Anderenfalls hat jeder, der Ihr Passwort errät, vollständige Kontrolle über Ihr System. 545 Kapitel 19. Systemadministration Abbildung 19-7. KategorieWebmin - Konfiguration - IP-Zugriffskontrolle 19.8.3.3.2. Webmin Konfiguration - Anschluss und Adresse Wenn der Host, auf dem Webmin läuft, mehrere IP-Adressen hat, kann der Server so konfiguriert werden, dass er nur eine davon abhört. Der TCP-Anschluss, den Webmin abhört, kann hier auch konfiguriert werden. Beachten Sie: Ihr Webbrowser kann Sie erneut auffordern, sich anzumelden, wenn Sie Anschluss oder Adresse geändert haben. Abbildung 19-8. KategorieWebmin - Konfiguration - Anschluss und Adresse 546 Kapitel 19. Systemadministration 19.8.3.3.3. Webmin Konfiguration - Protokollierung Webmin kann so konfiguriert werden, dass er eine Protokolldatei für Seitenanfragen im Standard-CLF-Protokolldateiformat schreibt. Wenn Protokollierung aktiviert ist, können Sie wählen, ob IP-Adressen oder Host-Namen aufgezeichnet werden sollen und wie oft die Protokolldatei gelöscht werden soll. Wenn Protokollierung aktiviert ist, schreibt Webmin das Protokoll in /var/log/webmin/miniserv.log. Wenn das Logging aktiviert ist, schreibt Webmin ausserdem detailierte Informationen zu den Benutzeraktivitäten in die Datei /var/log/webmin.log. Diese Logdatei kann mit dem Webmin Actions Log Modul ausgewertet werden. Abbildung 19-9. KategorieWebmin - Konfiguration - Protokollierung 19.8.3.3.4. Webmin Konfiguration - Proxyserver Wenn der Host, auf dem Webmin läuft, sich hinter einer Firewall befindet, kann es sein, dass Sie Proxyserver zum Zugriff auf Web- und FTP-Seiten verwenden müssen. Einige Module, wie zum Beispiel das „Modul Software Pakete“, werden diese Proxies benutzen, wenn Sie Dateien oder Programme herunterladen. 547 Kapitel 19. Systemadministration Abbildung 19-10. KategorieWebmin - Konfiguration - Proxyserver 19.8.3.3.5. Webmin Konfiguration - Benutzerschnittstelle In diesem Formular können Sie die Optionen für die Benutzerschnittstelle bearbeiten, die von allen Modulen verwendet werden sollen. Jede Farbe wird mit dem RGB-System definiert, wobei jeder Wert eine hexadezimale Zahl zwischen 00 und ff ist. Abbildung 19-11. KategorieWebmin - Konfiguration - Benutzerschnittstelle 548 Kapitel 19. Systemadministration 19.8.3.3.6. Webmin Konfiguration - Webmin-Module Webmin-Module können nach der Installation durch Benutzen des Formulars rechts hinzugefügt werden. Module werden typischerweise als .wbm -Dateien vertrieben. Jede dieser Dateien kann ein oder mehrere Module enthalten. Module können auch von RPM-Dateien installiert werden, wenn dies von Ihrem Betriebssystem unterstützt wird. Wenn Sie mehr als eine Kopie desselben Moduls mit unterschiedlichen Konfigurationen benutzen wollen, dann können Sie mit dem Formular „Module klonen“ ein existierendes Modul klonen. Der Klon wird einen neuen Namen, eine neue Modulkonfiguration und neue Zugriffskontrollen haben und kann für andere Benutzer verfügbar gemacht werden. Existierende Module und Klone können mit dem Formular „Module löschen“ gelöscht werden. Wenn ein Modul mit Klonen gelöscht wird, werden die Klone ebenfalls entfernt. Wenn ein Modul entfernt wurde, muss es erst neu installiert werden, bevor Sie es wieder benutzen können. Ein Modul kann nicht gelöscht werden, wenn andere Module davon abhängen. 549 Kapitel 19. Systemadministration Abbildung 19-12. KategorieWebmin - Konfiguration - Module 19.8.3.3.7. Webmin Konfiguration - Betriebssystem In diesem Formular können Sie das Betriebssystem ändern, als das Webmin Ihr System behandelt. Dies kann nützlich sein, wenn Sie Ihr Betriebssystem zu einer neueren Version aktualisiert haben. Beachten Sie, dass die Konfiguration bereits installierter Module nicht geändert wird, selbst wenn es Unterschiede zwischen dem alten und dem neuen System gibt. Sie können ebenso den Suchpfad, der von Webmin beim Ausführen von Programmen benutzt wird, und den Pfad der freigegebenen Bibliotheken, der an Programme übergeben wird, ändern. 550 Kapitel 19. Systemadministration Abbildung 19-13. KategorieWebmin - Konfiguration - Betriebssystem 19.8.3.3.8. Webmin Konfiguration - Sprache Auf dieser Seite können Sie die Sprache wählen, in der Webmin Titel, Eingabeaufforderungen und Nachrichten anzeigen wird. Module, für die noch keine Übersetzung in die gewünschte Sprache existiert, werden in englischer Sprache angezeigt. Abbildung 19-14.Webmin - Spracheinstellung 551 Kapitel 19. Systemadministration 19.8.3.3.9. Webmin Konfiguration - Indexseitenoptionen Auf dieser Seite können Sie definieren, wieviele Symbole pro Reihe auf der Indexseite angezeigt werden sollen. Weiterhin können Module in Kategorien angezeigt werden, und es kann eine „Default“-Kategorie gewählt werden. Wenn ein Benutzer lediglich auf ein Modul Zugriff hat, so kann dieses automatisch angezeigt werden. Abbildung 19-15.Webmin - Indexseitenoptionen 19.8.3.3.10. Webmin Konfiguration - Webmin aktualisieren Dieses Formular erlaubt Ihnen, Ihre gesamte Webmin-Installation zu einer neuen Version zu aktualisieren. Sie können einfach aus einer lokalen Datei, aus einer hochgeladenen Datei oder einfach von der letzten Version von www.webmin.com installieren. Wie bei einer manuellen Aktualisierung werden alle Einstellungen und Module Dritter behalten. Im Interesse eines konsistenten Systems sollten Sie auf einem Debian GNU System allerdings die Installation und die Updates für Webmin über das Debian GNU Paketsystem vornehmen. 552 Kapitel 19. Systemadministration Abbildung 19-16.Webmin - Webmin aktualisieren 19.8.3.3.11. Webmin Konfiguration - Authentication Wenn die Option („Enable password timeouts“)aktiviert wird, wird bei jedem fehlgeschlagenen Loginversuch die Zeit bis zum nächsten Loginversuch erhöht. Dies erschwert sogenannte „Brute-Force“ Angriffe auf das System. Wenn die Option „Enable session authentication“ aktiviert wird, wird jeder Benutzerlogin beobachtet und Sie haben die Möglichkeit einen Benutzer nach einer bestimmten Zeit der Inaktivität automatisch auszuloggen. 553 Kapitel 19. Systemadministration Abbildung 19-17.Webmin - Authentication 19.8.3.3.12. Webmin Konfiguration - Reassign Modules Hier kann beeinflusst werden welches Modul in welchem Bereich der Webmin-Oberfläche angezeigt werden soll. 554 Kapitel 19. Systemadministration Abbildung 19-18.Webmin - Reassign Modules 19.8.3.3.13. Webmin Konfiguration - Edit Categories Hier können bestehenden Kategorien umbenannt oder neue Kategorien hinzugefügt werden. 555 Kapitel 19. Systemadministration Abbildung 19-19.Webmin - Edit Categories 19.8.3.3.14. Webmin Konfiguration - Webmin Themes Im oberen Bereich kann zunächst das aktive Theme ausgewält werden. Im unteren Bereich können neue Themes installiert werden. Abbildung 19-20.Webmin - Webmin Themes 556 Kapitel 19. Systemadministration 19.8.3.3.15. Webmin Konfiguration - Trusted Referers Hier können vertrauenswürdige Websites definiert werden von denen aus der Zugriff auf Webmin erlaubt werden soll. Abbildung 19-21.Webmin - Trusted Referers 19.8.3.4. Webmin Server Index Hier können entfernte Server im Netz administriert werden. Der Eintrag eines neuen Servers kann von Hand erfolgen, oder es kann ein Broadcast Request für das gesammte Netz durchgeführt werden. Die Suche kann aber auch gezielt nach Subnetzen erfolgen. 557 Kapitel 19. Systemadministration Abbildung 19-22. KategorieWebmin - Servers 19.8.4. Kategorie System In dieser Kategorie finden Sie Konfigurationsmöglichkeiten die das System betreffen. Die sind beispielsweise die Benutzer- und Gruppenverwaltung, die verwendeten lokalen und über das Netzwerk gemounteten Dateisysteme und die Verwaltung des Init-Vorgangs. Interessant ist auch der Link ganz unten rechts auf der Seite. Über diesen Link kann der Benutzer gewechselt werden, dies ist sonst bei Authentifizierungen übers Web nur durch einen Neustart des Browsers zu erreichen. Abbildung 19-23. KategorieWebmin - System 558 Kapitel 19. Systemadministration 19.8.4.1. Benutzer und Gruppen Diese Administrationsseite ist in drei Bereich geteilt: „Lokale Benutzer“ (dies sind die Benutzer des Systems sowie einige spezielle Benutzer die von bestimmten Diensten benötigt werden), „Lokale Gruppen“ (Gruppen für Benutzer und Systemdienste) sowie „Zeige Anmeldungen für“ (hier können Logins angezeigt werden). Abbildung 19-24. KategorieWebmin - System - Benutzer und Gruppen In den Bereichen „Lokale Benutzer“ und „Lokale Gruppen“ kann durch einen Mausklick auf einen Benutzer, bzw. eine Gruppe, dieser verändert werden. 559 Kapitel 19. Systemadministration Abbildung 19-25. KategorieWebmin - System - Benutzer und Gruppen - ändern Hinter dem Link „Neuen Benutzer erstellen“ findet sich eine ähnlich Administrationsoberfläche, allerdings ohne vorgegebene Werte. Mittels „Create, modify and delete users from batch file“ können Benutzer mittels der Daten aus einer Datei hinzugefügt, verändert oder auch gelöscht werden. Hierbei können die verschiedensten Aktionen, beispielsweise das setzen entsprechender Zugriffsrechte oder auch das kopieren von Voreinstellungen, durchgeführt werden. 560 Kapitel 19. Systemadministration Abbildung 19-26. KategorieWebmin - System - Benutzer und Gruppen - Batch Über die Schaltfläche „Zeige Anmeldungen für“ können Logins auf dem Rechner mit Datum und Uhrzeit angezeigt werden. Abbildung 19-27. KategorieWebmin - System - Benutzer und Gruppen - Anmeldungen 561 Kapitel 19. Systemadministration 19.8.4.2. Change Passwords Hier können die Passwörter für die Benutzer auf dem System verändert werden. Zunächst ist ein Benutzer auszuwählen, danach ist das neue Passwort zweimal einzugeben. Abbildung 19-28. KategorieWebmin - System - Passwörter ändern 19.8.4.3. Geplante Cron-Jobs Die Administration der Cron-Jobs für die einzelnen Benutzer kann über diese Seite erfolgen. Der obere Bereich dieser Seite zeigt die Benutzer für die bereits Cron-Jobs definiert wurden. Durch einen Mausklick auf einen dieser Cron-Jobs kann dieser verändert werden. Unterhalb der Tabelle können auch neue Cron.Jobs definiert werden (über „Neuer geplanter Cron-Job erstellt“). 562 Kapitel 19. Systemadministration Abbildung 19-29. KategorieWebmin - System - Cron-Jobs Über den Link „Benutzerzugriff auf Cron-Jobs kontrollieren“ können Cron-Jobs beschränkt werden. Es kann einzelnen Benutzern der Zugriff erlaubt oder verboten werden. Normalerweise ist die Benutzung von Cron allen Benutzern gestattet. 19.8.4.4. Laufende Prozesse Hier werden zunächst die aktuell laufenden Prozesse in einer Tabelle angezeigt. Über das Menü am oberen Bildschirmrand können weitere Angagen wie PID, Benutzer, Speicher und CPU angezeigt werden. Desweiteren kann hier nach Prozessen gesucht werden (Link „Suchen“). 563 Kapitel 19. Systemadministration Abbildung 19-30. KategorieWebmin - System - Laufende Prozesse Durch einen Mausklick auf die Prozessid gelangt man zu weiteren Informationen zu diesem Prozess. Hier finden sich Angaben zu Laufzeit, CPU- und Speicherauslastung usw.. Weiterhin kann hier dem Prozess ein Signal (beispielsweise KILL oder HUP) gesendet werden. Sollte dieser Prozess weitere Unterprozesse haben, so sind diese über eine Link erreichbar. Abbildung 19-31. KategorieWebmin - System - Prozessinformationen 564 Kapitel 19. Systemadministration 19.8.4.5. NFS-Exporte An dieser Stelle können Verzeichnisse die per NFS exportiert wurden verändert, oder neue Verzeichnisse zum Export freigegeben werden. Abbildung 19-32. KategorieWebmin - System - NFS-Exporte 19.8.4.6. PAM-Authentification Hier können Einstellungen zu PAM in Bezug auf die einzelnen Anwendungen des Systems (beispielsweise GDM oder Samba) vorgenommen werden, durch einen Mausklick auf einen Anwendungsnamen lassen sich für diese Anwendung die gewünschten Anpassungen vornehmen. Abbildung 19-33. KategorieWebmin - System - PAM-Authentification Hier können, am Beispiel der PAM Module für GDM, die einzelnen Module angepasst und verändert werden. 565 Kapitel 19. Systemadministration Abbildung 19-34. KategorieWebmin - System - Edit PAM Service 19.8.5. Kategorie Server Hier finden sich die verschiedenen Einträge für die installierten Server auf dem System. Je nach Anzahl, der auf Ihrem System installierten Dienste, können hier unterschiedlich viele Server aufgeführt sein. 566 Kapitel 19. Systemadministration Abbildung 19-35. Kategorie Server 19.8.5.1. Apache Webserver Die Konfiguration des Apache Webservers ist in verschiedene Bereiche aufgeteilt, die entsprechende Abschnitte in der/den Konfigurationsdatei/en darstellen. Die Startseite dieser Serverkonfiguration gliedert sich in die Globale Konfiguration, in der Einstellungen zu den Systemresourcen, zu den Adressen, Modulen usw. gemacht werden können und in die Konfiguration der virtuellen Server. Mit virtuellen Servern können mehrere Server unter eine IP-Nummer betrieben werden. 567 Kapitel 19. Systemadministration Abbildung 19-36. Kategorie Server - Apache 19.8.5.1.1. Apache Webserver - Prozesse und Grenzwerte Auf dieser Seite können Einstellungen zu den Grenzwerten von Apache vorgenommen werden. Normalerweise sind alle Werte sinnvoll eingestellt, es kann jedoch auf Systemen mit wenig Speicher oder mit sehr vielen Zugriffen sinnvoll sein, die Voreinstellungen zu verändern. 568 Kapitel 19. Systemadministration Abbildung 19-37. Kategorie Server - Apache - Prozesse und Grenzwerte • Maximum headers in request - Verändert den Wert LimitRequestFields in der Konfiguration. • Maximum request header size - Beschreibt die maximale Größe des Headers. Hiermit wird der Eintrag LimitRequestFieldsize verändert. • Maximum request line size - Die maximale Länge einer HTTP-Request Zeile. Dieser Wert sollte ausreichen bemessen werden, so daß jede Seite auf dem Server (auch beispielsweise Datenbankabfragen) erreicht werden kann. Hiermit wird der Wert LimitRequestLine verändert. • Maximum concurrent requests - Die maximal erlaubte Anzahl von gleichzeitigen Anfragen. Jede Anfrage veranlasst den Apache dazu, einen neuen Prozess zu starten. Diese maximale Grenze beschränkt die Anzahl der Apache Prozesse. Dieses Feld beeinflußt die Variable MaxClients. Um den Wert auf über 256 erhöhen zu können, muß in der Datei httpd.h der Apache Quellen die Variable HARD_SERVER_LIMIT angepasst werden, und der Server muß neu compiliert werden. • Maximum requests per server process - Maximale Anzahl von Anfragen je Serverprozess bevor dieser beendet und neugestartet wird. Dies ist aus mehreren Gründen sinnvoll: einmal werden so Speicherlöcher, die bei der Benutzung des Servers über einen längeren Zeitraum dazu führen würden, daß der gesamte Hauptspeicher verbraucht wird, umgangen. Weiterhin würde ohne diese Option immer die maximale Zahl von Prozessen, die bisher benutzt wurden, im Speicher gehalten werden. Dies beeinflußt die Option MaxRequestsPerChild. • Maximum spare server processes - Beschreibt die maximale Anzahl von unbenutzten Servern, die „auf Vorrat“ bereitgehalten werden. Somit können neue Anfragen sofort von bereits im Speicher gehaltenen Prozessen bearbeitet werden, ohne das ein neuer Prozess von der Festplatte geladen werden muß. Hiermit wird die Option MaxSpareServers verändert. • Minimum spare server processes - Dies entspricht der minimalen Anzahl der vorgehaltenen Server, der Wert wird in MinSpareServers gehalten. • Initial server processes - Die Anzahl der Serverprozesse, die beim Start des Daemons aufgerufen werden. Variable in der Konfigurationsdatei: StartServers. 569 Kapitel 19. Systemadministration • Display extended status information - Zeigt erweiterte Status-Informationen an. Verändert die Variable ExtendedStatus. 19.8.5.1.2. Apache Webserver - Netzwerk und Adressen In diesem Abschnitt werden die Netzwerkadressen und Ports definiert auf denen der Apache Webserver laufen soll. Weiterhin können Zugriffsrechte, Timeouts usw. definiert werden. Abbildung 19-38. Kategorie Server - Apache - Netzwerk und Adressen • Listen on addresses and ports - Diese Option beschreibt die Adressen und Ports, auf denen der Apache Webserver wacht und Anfragen entgegennimmt. Vorgabe ist der Port 80, es werden Anfragen auf allen IP-Adressen angenommen. Diese Einstellungen sollten für die meisten Anwendungen ausreichend sein. Es können verschiedene Apache-Instanzen auf einem System mit unterschiedlichen Konfigurationen und auf verschiedenen Adressen oder auch Ports laufen. Die Einstellungen in diesen Feldern verändern die Werte Listen und Port in der Apache Konfiguration. • Multiple requests per connection - Wenn die Option KeepAlive aktiviert ist, so kann hier die maximale Anzahl von Client-Anfragen eingestellt werden. Dies verändert die Option MaxKeepAliveRequests. • Keep-alive timeout - Zeit in Sekunden, die der Apache Webserver nach einer begonnenen Anfrage wartet, bis die Verbindung geschlossen wird. Der Wert wird im Parameter KeepAliveTimeout gespeichert. • Listen queue lenght - Die maximale Länge noch wartender Anfragen, die in der Queue hängen. Dieser Wert kann verkleinert werden, falls der Server Opfer eines TCP SYN Flood Angriffes wird. Dies verändert die Variable ListenBacklog. 570 Kapitel 19. Systemadministration • Adress for name virtual servers - Hier können die Adressen der virtuellen Server eingetragen werden. Virtuelle Server basieren auf Namen. Dies bedeutet, daß verschiedene Rechnernamen oder Domainnamen auf einem System betrieben werden können. Beachten Sie, daß hierzu auch Anpassungen im Nameserver (DNS) notwendig sind. Die verändert die Option NameVirtualHost in der Apache Konfiguration. • TCP send buffer size - Dies verändert die Option SendBufferSize. Diese setzt die Größe des Sendepuffers für TCP Pakete. Dieser Wert sollte nicht verändert werden. • Request timeout - Zeit in Sekunden, die der Server auf eine Anfrage wartet, nachdem die Verbindung hergestellt wurde. Parameter in der Konfiguration: TimeOut. 19.8.5.1.3. Apache Webserver - Apache-Module Der Apache Webserver wurde modular ausgelegt um so die Funktionalität des Basisservers erweitern zu können. Dies hält den Basisserver klein und nur die tatsächlich benötigten Funktionen können als Modul hinzugeladen werden. Mit diesem Konfigurationsabschnitt können die benötigten Module festgelegt werden. Abbildung 19-39. Kategorie Server - Apache - Apache-Module Das erste Modul, mod_so, stellt die grundsätzliche Funktionalität, weitere Module zur Laufzeit des Servers hinzuzuladen, bereit. Alle weiteren hier aufgeführten Module sind von der jeweiligen Installation auf dem System abhängig. Beispielsweise ist das Modul mod_php4 nur verfügbar wenn auch das entsprechende PHP4 Paket installiert ist. Informationen zu den einzelnen Modulen finden sich in der Dokumentation des Apache Webservers. 19.8.5.1.4. Apache Webserver - MIME-Typen MIME Types beschreiben die notwendigen Methoden, wie ein Webserver und die auf diesen zugreifenden Clients auf die verschiedenen Dateitypen, die vom Server geliefert werden, zugreifen können. In den meisten Fällen sind diese Informationen für die Clients wichtiger, da diese tatsächlich wissen müssen was mit den Daten 571 Kapitel 19. Systemadministration zu geschehen hat, während der Server selbst lediglich für die Auslieferung der Daten, und eben der MIME Informationen, zuständig ist. MIME oder „Multipurpose Internet Mail Extensions“ wurde ursprünglich erschaffen, um zu beschreiben wie E-Mails erweitert werden können, so daß auch andere Dateiformate als ASCII Texte versendet werden können. Mittlerweile hat sich MIME aber als allgemeiner Standard über die ursprüngliche Verwendung im Zusammenhang mit E-Mails hinaus etabliert. In diesem Abschnitt der Konfiguration können die bekannten MIME Types verändert werden. Am Ende der Seite können neue MIME Types hinzugefügt werden. Abbildung 19-40. Kategorie Server - Apache - MIME-Typen Weitere Informationen zu MIME Types finden sich auf der Seite von Earl Hood. Dort finden sich Links zu den relevanten RFCs und auch zur MIME FAQ. http://www.oac.uci.edu/indiv/ehood/MIME/MIME.html und http://www.faqs.org/faqs/mail/mime-faq/mime0/. 19.8.5.1.5. Apache Webserver - Verschiedenes Unter diesem Punkt finden sich, wie die Überschrift schon sagt, Einstellungsmöglichkeiten zu verschiedenen Funktionen. Die Seite bietet eine große Anzahl von Optionen, von denen im täglichen Gebrauch nur einige wenige von Bedeutung sind. 572 Kapitel 19. Systemadministration Abbildung 19-41. Kategorie Server - Apache - Verschiedenes • Core dump directory - Dies beschreibt das Verzeichnis, in dem der Apache Webserver bei einem Absturz die Core Dump Datei schreiben soll. Normalerweise werden diese Dateien in das Server-Root Verzeichnis geschrieben. Normalerweise hat der Server aber in diesem Verzeichnis keinen Schreibzugriff, es sollte hier also ein Verzeichnis angegeben werden in das der Server auch tatsächlich die Datei schreiben kann. CoreDumps dienen zur Fehlersuche in Programmen. Dies verändert den Wert CoreDumpDirectory in der Apache Konfiguration. • Server lock file - Setzt den Namen der Server-Lockdatei. Eine Lockdatei informiert einen neu gestarteten Prozess darüber, daß bereits ein Prozess mit der gleichen Funktionalität läuft. Normalerweise wird ein Prozess, wenn dieser Fall eintritt, sofort beeendet. Wenn jedoch auf einem System mehrere Server, beispielsweise auf unterschiedlichen IP-Nummern, laufen sollen, sind unterschiedliche Lockdateien zu verwenden. Die Angabe wird als Option LockFile gespeichert. • Server PID file - Die Datei, in der die Nummer der ProzessID des laufenden Server Prozesses gespeichert wird. Variable: PidFile. • Shared memory scoreboard file - Einige Architekturen benötigen Dateien, damit die Kinder mit den Elternprozessen kommunizieren können. Variable: ScoreBoardFile. • Server HTTP header - Hier können zusätzliche Daten, die im HTTP Header übertragen werden sollen, definiert werden. Die Angaben werden in der Variablen ServerTokens gespeichert. • Server execution - Beschreibt auf welche Weise der Server gestartet wird. Standalone startet den Server als Daemon, während Run from inetd den Server bei einer Anfrage über den inetd startet. Variable: ServerType 19.8.5.1.6. Apache Webserver - CGI CGI, oder Common Gateway Interface dient zur Bereitstellung von dynamischen Inhalten auf einer Webseite. CGI Programme können in nahezu jeder Programmiersprache geschrieben werden, beispielsweise Perl, PHP, Python, Java, C und bash oder andere Shell-Skripte und alle anderen Skript-Sprachen. CGI Programme stellen den Zugriff auf die CGI Funktionen des Apache zur Verfügung. 573 Kapitel 19. Systemadministration Abbildung 19-42. Kategorie Server - Apache - CGI • CGI Script log - Verzeichnis, in dem die Error-Logdateien der CGI-Scripte abgelegt werden. Wird hier kein Verzeichnis angegeben, so werden keine Logfiles erzeugt. Parameter in der Konfigurationsdatei: ScriptLog. • Maximum logged post data size - Daten auf GET oder PUT Requests von CGI-Skripten werden bei einem Fehler in die Logdateien geschrieben. Da diese Requests sehr groß sein können, kann die Größe der Logfileeinträge hier beschränkt werden. Die Voreinstellung ist 1024 Byte, die Konfigurationsvariable ScriptLogBuffer. • Maximum CGI log post size - Beschränkt die Gesamtgröße der CGI-Logdateien. Wird dieser Wert erreicht, so werden keine weiteren Einträge dieser Datei hinzugefügt. Dies entspricht dem Eintrag ScriptLogLength in der Apache Konfigurationsdatei. • Variables set based on browser type - Hier können für bestimmte Browser gezielt Variablen gesetzt werden. Einträge an dieser Stelle verändern den Eintrag BrowserMatch in der Konfigurationsdatei. Weiterhin muß hierzu das Modul mod_setenvif geladen sein. • Variable set based on request headers - Setzt Variablen anhand der Attribute einer Anfrage. Variable: SetEnvIf. 19.8.5.1.7. Apache Webserver - Per-Verzeichniseinstellungen Die Konfiguration des Apache Servers besteht aus globalen Einstellungen, die in den meisten Fällen später nocheinmal für bestimmte Verzeichnisse (beispielsweise Unterverzeichnisse auf dem Server oder komplette virtuelle Server) überschrieben werden können. Dieses Webmin Konfigurationsmodul erlaubt die Anpassung dieser Parameter. Um Optionen für ein Verzeichnis zu setzen, ist der Pfad und der Dateiname anzugeben und dann „Create Options File“ anzuklicken. Vereinbarungsgemäß werden diese Dateien .htaccess genannt, dies ist aber natürlich auch konfigurierbar. Mit dieser Datei ist auch eine einfache Authentifizierung möglich. 574 Kapitel 19. Systemadministration Abbildung 19-43. Kategorie Server - Apache - Per-Verzeichniseinstellungen Detaillierte Informationen zu den möglichen Optionen, die je Verzeichnis eingestellt werden können, finden sich unter http://httpd.apache.org/docs/mod/core.html#options. 19.8.5.1.8. Apache Webserver - Apache-Module neukonfigurieren In diesem Menü können Module neu konfiguriert werden. Dies stellt eine Liste mit allen von Webmin unterstützten Apache-Modulen dar, die bereits installierten markiert sind. Falls Sie dynamisch geladene Module benutzen, dann können Sie diese jetzt auswählen. Abbildung 19-44. Kategorie Server - Apache - Apache-Module neu konfigurieren 575 Kapitel 19. Systemadministration 19.8.5.1.9. Apache Webserver - Definierte Parameter bearbeiten Wenn Apache gestartet wird, können Parameter mit der Befehlzeilenoption -D übergeben werden. Weil diese Parameter die Direktiven beeinflussen können, die in Ihren Konfigurationsdateien vorkommen, muss Webmin wissen, welche Parameter dem Apache Webserver beim Start übergeben werden sollen. Abbildung 19-45. Kategorie Server - Apache - Definierte Parameter bearbeiten 19.8.5.2. Postfix Die Konfiguration des Mailservers Postfix gliedert sich in verschiedene Bereiche, die wiederum die verschiedenen Aufgabenbereiche des Postfix Mailservers darstellen. 576 Kapitel 19. Systemadministration Abbildung 19-46. Kategorie Server - Postfix Machen Sie sich zunächst einmal mit den verschiedenen Bereichen der Konfiguration vertraut, bevor Sie beginnen, Veränderungen an der Konfiguration vorzunehmen. 19.8.5.2.1. Postfix Mailserver - Allgemeine Einstellungen In den allgemeinen Einstellungen finden Sie eine große Anzahl von Optionen. Bitte lesen Sie in der Dokumentation zu Postfix nach, welche Möglichkeiten sich hier bieten. Die drei wichtigsten Optionen finden sich ganz oben auf der Seite unter „Nützlichste allgemeine Einstellungen“. Auf diese werden wir kurz eingehen, da diese im allgemeinen ausreichend sind, um Postfix sinnvoll zu konfigurieren. 577 Kapitel 19. Systemadministration Abbildung 19-47. Postfix Mailserver - Allgemeine Einstellungen • Welche Domäne soll in ausgehender Mail verwendet werden - bei einer vom System ausgehenden E-Mail wird die Absenderadresse aus dem Benutzernamen, eventuell dem Rechnernamen und dem Domainnamen gebildet. Hier können Sie wählen, aus welchen Informationen der Domainname ermittelt werden soll. • Für welche Domänen soll E-Mail empfangen werden - hier können Domains angegeben werden für die Mails akzeptiert werden sollen. Von allen hier nicht aufgeführten Domains werden E-Mail abgelehnt. • Welche Probleme werden an den Postmaster gemeldet - der Administrator des Mailsystems (Postmaster) 578 Kapitel 19. Systemadministration bekommt Problemmeldungen des Systems per E-Mail. Hier kann gewählt werden, welche Art von Fehlern und Problemen gemeldet werden sollen. Die weiteren Optionen auf dieser Seite sind in der Postfix-Dokumentation beschrieben. 19.8.5.2.2. Postfix Mailserver - Adressumschreibung und Maskierung Hier können Adressen automatisch verändert werden. Abbildung 19-48. Postfix Mailserver - Adressumschreibung und Maskierung Es können die verschiedensten Veränderungen an den Mailadressen vorgenommen werden. Dies kann beispielsweise für Sites sinnvoll sein die E-Mail via UUCP beziehen oder ausliefern. Über Funktionen wie „Adressmaskierung“ können Rechnernamen vor dem Domainnamen verborgen werden, so wird beispielsweise aus user@host.$mydomain user@$mydomain. 19.8.5.2.3. Postfix Mailserver - Mail-Aliases Hier können Aliase für Benutzer auf dem System definiert werden. 579 Kapitel 19. Systemadministration Abbildung 19-49. Postfix Mailserver - Mail-Aliases Im oberen Bereich können die zur Erzeugung der Datenbank notwendigen Kommandos definiert werden. Hier sind im Normalfall keine Änderungen notwendig. Im unteren Bereich dieser Konfiguration kann zu jedem Beutzernamen ein Alias angelegt werden. 19.8.5.2.4. Postfix Mailserver - Kanonische Verknüpfung Hier können verschiedene Adressen über zu definierende Tabellen verknüpft werden. 580 Kapitel 19. Systemadministration Abbildung 19-50. Postfix Mailserver - Kanonische Verknüpfung 19.8.5.2.5. Postfix Mailserver - Virtuelle Domänen Dieser Parameter beschreibt verschiedene Tabellen, in denen Mailadressen oder komplette Domains umgeleitet werden können. Hiermit werden typischerweise virtuelle Domains realisiert,. Die Standardeinstellung nimmt keine Umleitung von Adressen vor. Einige Beispiele für eine mögliche Konfiguration: dbm:/etc/postfix/virtual hash:/etc/postfix/virtual hash:/etc/postfix/virtual, nis:virtual hash:/etc/postfix/virtual, netinfo:/virtual 581 Kapitel 19. Systemadministration Abbildung 19-51. Postfix Mailserver - Virtuelle Domänen 19.8.5.2.6. Postfix Mailserver - Transportverknüpfung In diesen Tabellen werden zusätzliche Transportwege für Domains oder einzelne Mailserver beschrieben. Auch diese Funktion ist normalerweise deaktiviert. In der Manpage zu transport(5) finden sich weitergehende Informationen. Beispiele: dbm:/etc/postfix/transport hash:/etc/postfix/transport hash:/etc/postfix/transport, nis:transport hash:/etc/postfix/transport, netinfo:/transport Abbildung 19-52. Postfix Mailserver - Transportverknüpfung 582 Kapitel 19. Systemadministration 19.8.5.2.7. Postfix Mailserver - Neu eingerichtete Verknüpfung Diese Funktion (englisch: „Relocated Mapping“) kann Nachrichten erzeugen, die darüber informieren, daß ein Benutzer auf ein anderes System gewechselt ist. Es wird in diesem Fall eine sogenannte „bounce message“ erzeugt. Abbildung 19-53. Postfix Mailserver - Neu eingerichtete Verknüpfung 19.8.5.2.8. Postfix Mailserver - Lokale Lieferung Hier können verschiedene Parameter, die die Auslieferung von E-Mails auf dem lokalen System betreffen verändert werden. Zunächst einmal kann beispielsweise ein externes Programm mit der lokalen Auslieferung beauftragt werden („Name des Transports für lokale Lieferungen“). Auch kann hier das Verzeichnis gewählt werden, in dem die Mails gesammelt werden sollen („Verzeichnis für E-Mails in Warteschlange“). 583 Kapitel 19. Systemadministration Abbildung 19-54. Postfix Mailserver - Lokale Lieferung 19.8.5.2.9. Postfix Mailserver - Allgemeine Resourcenkontrolle Unter Allgemeinen Ressourcen finden sich Parameter, die sich auf Dateigrößen oder Timeouts bei der Mailauslieferung beziehen. 584 Kapitel 19. Systemadministration Abbildung 19-55. Postfix Mailserver - Allgemeine Resourcenkontrolle 19.8.5.2.10. Postfix Mailserver - SMTP-Server-Einstellungen In den Servereinstellungen können Parameter wie beispielsweise die maximale Anzahl der Empfänger einer E-Mail eingestellt werden. Hier finden sich auch Möglichkeiten einzelne SMTP-Kommandos einzuschränken und die Fehlermeldungen für die verschiedenen Arten von Fehlern können verändert werden. 585 Kapitel 19. Systemadministration Abbildung 19-56. Postfix Mailserver - SMTP-Server-Einstellungen 19.8.5.2.11. Postfix Mailserver - SMTP-Client-Einstellungen In diesem Menü können Einstellungen, die die Clients betreffen, vorgenommen werden. Dies betrifft insbesondere Timeouts bei verschiedenen Ereignissen, als auch beispielsweise Fehler beim MX-Lookup. 586 Kapitel 19. Systemadministration Abbildung 19-57. Postfix Mailserver - SMTP-Client-Einstellungen 19.8.5.2.12. Postfix Mailserver - Auslieferungsraten Unter Ausliefungsraten finden sich Einstellungen zur maximalen Anzahl gleichzeitig geöffneter Verbindungen und auch verschiedene Timeouteinstellungen für die Auslieferung. 587 Kapitel 19. Systemadministration Abbildung 19-58. Postfix Mailserver - Auslieferungsraten 19.8.5.2.13. Postfix Mailserver - Debugging-Funktionen Debugging-Funktionen dienen zur Fehlersuche bei Problemem mit dem Mailsystem. Hier können Domainen aufgeführt werden für die eine ausführliche Protokollierung gewünscht ist. 588 Kapitel 19. Systemadministration Abbildung 19-59. Postfix Mailserver - Debugging-Funktionen 19.8.5.3. DHCP Mittels eines DHCP Servers können Netzwerkeinstellungen zentral verwaltet werden. Ein DHCP Server liefert dem Client auf Anfrage alle notwendigen Informationen zum Netzwerk wie beispielsweise IP-Nummer, Netzmaske, Gateway oder auch den Host- und Domainnamen. Diese Angaben können entweder dynamisch (also zufällig) vergeben werden, oder jeder MAC-Adresse eines Clients werden feste Werte zugeordnet. Im oberen Bereich werden zunächst die gewünschten (Sub-) Netze definiert, im gezeigten Beispiel handelt es sich um ein internes, nicht geroutetes Netz (192.168.1.0). Im unteren Bereich werden dann die einzelnen Rechner definiert und den Netzen, bzw. IP-Adressen zugewiesen. 589 Kapitel 19. Systemadministration Abbildung 19-60. Kategorie Server - DHCP Ein Subnetz kann bearbeitet werden indem auf das entsprechenden Subnetz geklickt wird. Die Dialoge um ein neues Subnetz hinzuzufügen und um ein freigegebenes Subnetz hinzuzufügen sind ähnlich gestaltet, so das auf diese nicht weiter eingegangen wird. In diesem Beispiel wird ein internes, nicht geroutetes, Netz verwenden. Der Adressbereich liegt zwischen 192.168.1.20 und 192.168.1.255, die ersten 20 Adressen in diesem Netz wurden für fest installierte Systeme vergeben. Die restlichen Optionen befassen sich größtenteils mit Parametern die im Zusammenhang mit bootp stehen. 590 Kapitel 19. Systemadministration Abbildung 19-61. Kategorie Server - DHCP - Subnet bearbeiten In diesem Bereich können einzelne Hosts im Netz bearbeitet, gelöscht oder hinzugefügt werden. Neben dem Hostnamen müssen bei fest vergebenen IP-Adressen hier auch die Hardware Adresse der Netzwerkkarte angegeben werden. Die weiteren Einträge befassen sich wiederrum mit dem Protokol bootp. 591 Kapitel 19. Systemadministration Abbildung 19-62. Kategorie Server - DHCP - Hosts und Hostgruppen Hier können allgemeine Einstellungen für alle Netzwerke, Hosts und Gruppen vorgenommen werden. 592 Kapitel 19. Systemadministration Abbildung 19-63. Kategorie Server - DHCP - Client Einstellungen Hinter der Schaltfläche „Liste aktive Vergaben auf“, werden alle momentan vergebenen dynamischen und statischen IP-Nummer aufgelistet. Weiterhin findet sich dort eine Schaltfläche („List all active and expired leases“) mit der sich auch ältere Einträge über vergebene Adressen anzeigen lassen. 593 Kapitel 19. Systemadministration Abbildung 19-64. Kategorie Server - DHCP - Vergaben Die Schaltfläche „Änderungen anwenden“ kann zum Neustart des DHCP-Servers benutzt werden. Die getätigten Änderungen werden damit aktiv. 19.8.6. Kategorie Hardware In dieser Kategorie können die verschiedensten Einstellungen vorgenommen werden, die in Zusammenhang mit der Hardware des Systems stehen. Es können beispielsweise neue Partitionen angelegt, die Mountpunkte bestimmt, der Bootloader (Lilo oder GRUB) konfiguriert, Einstellungen am Netzwerk oder der Systemzeit sowie RAID Systeme konfiguriert werden. 19.8.6.1. Festplatten Partitionen Dieser Punkt stellt eine Schnittstelle zu fdisk und hdparm dar. Hier können (über „IDE-Parameter bearbeiten“) beispielsweise der DMA-Modus der Festplatte verändert werden, aber auch neue Partitionen angelegt oder bestehende Partitionen verändert werden. Ganz nebenbei stellt dieser Punkt auch noch einen Editor für die Datei /etc/fstab dar, hier können die Mount-Punkte der einzelnen Partitionen bestimmt werden. 594 Kapitel 19. Systemadministration Abbildung 19-65. Kategorie Hardware - Festplatten Hinter „IDE-Parameter bearbeiten“ verbergen sich die verschiedensten Einstellen die auch über die Kommandozeile mit dem Programm hdparm vorgenommen werden können. Bei IDE-Platten ist es zumindest sinnvoll den DMA Modus zu aktivieren („DMA benutzen“), sowie 32Bit breite Zugriffe zuzulassen („32-bit I/O-Unterstützung“). Eine detailierte Beschreibung aller mögliche Parameter die von hdparm unterstützt werden findet sich im Abschnitt zu hdparm. Abbildung 19-66. Kategorie Hardware - IDE-Parameter bearbeiten 595 Kapitel 19. Systemadministration Über die Auswahl „Primäre Partition hinzufügen“ und „Logische Partition hinzufügen“, können neue Partitionen erstellt werden. Abbildung 19-67. Kategorie Hardware - Partition erstellen Durch anklicken eines Eintrages in der Spalte „Benutzen“ im Partitionsmanager gelangt man in die Bearbeitungsmaske des gewählten Mount-Punktes. Hier kann beispielsweise der Platz an dem diese Partition in das Dateisystem eingebunden werden soll, verändert werden. Weiterhin können hier die Überprüfungen des Dateisystems beim Systemstart aktiviert oder deaktiviert werden, auch die Reihenfolge kann verändert werden. Unter „Erweiterte Mount-Einstellungen“ finden sich Beschränkungen der Zugriffsrechte und es können Änderungen im Verhalten beim Auftreten von Fehlern vorgenommen werden. 596 Kapitel 19. Systemadministration Abbildung 19-68. Kategorie Hardware - Bearbeite Mount 19.8.6.2. GRUB Hier kann der Bootloader GRUB konfiguriert werden. GRUB kann als leistungsfähige Alternative zu Lilo installiert werden. GRUB ist auch in der Lage, neben auf dem Linux Kernel basierenden Betriebssystemen beispielsweise GNU Hurd zu booten. Durch eine Mausklick auf einen bestehenden Eintrag kann dieser verändern werden. Mittels „Add a new boot option“ kann ein neuer Eintrag der Konfiguration hinzugefügt werden. Die Schaltfläche „Edit global options“ dient dazu allgemeine Konfigurationsparameter anzupassen. Mit der Schaltfläche „Install grub“ wird der Bootloader auf der Festplatte installiert. 597 Kapitel 19. Systemadministration Abbildung 19-69. Kategorie Hardware - GRUB Zu jedem Eintrag eines zu bootenden Betriebsystems in der GRUB Konfiguration gehört zunächst ein Titel („Option title“). Dieser kann frei gewählt werden. Weiterhin ist die Partition zu wählen, auf der sich der Kernel befindet. Dieser Wert kann auch aus einer Liste der verfügbaren Partitionen ausgewält werden. Natürlich ist dann noch das zu bootende Betriebsystem zu wählen. Dieser wird zunächst einmal sicher Linux sein, hier ist dann noch der Name, und ggf. der Pfad, zum Kernel-Image anzugeben. In der nächsten Zeile können noch Optionen für den Kernel definiert werden, dies wird meistens die zu verwendende Root-Partition sein, aber auch Parameter wie IRQ oder IO Bereiche gehören hier hinein. Wenn andere Betriebssysteme mit GRUB gebootet werden sollen, so kann gewählt werden, ob dies aus dem ersten Sector der Partition erfolgen soll, alternativ kann eine sogenannten „Chainloader“ Datei verwendet werden. Weiterhin kann diese Partition dann bootfähig gemacht werden. Als dritte Möglichkeit kann auch ein Eintrag erzeugt werden, der nicht zum Booten eines Betriebsystems dient. Dies kann beispielsweise ein Eintrag zum verändern der Farben des GRUB-Menüs sein, oder ein Eintrag um GRUB zu installieren. 598 Kapitel 19. Systemadministration Abbildung 19-70. Kategorie Hardware - GRUB - Edit Boot Option Dieser Eintrag ist mit dem vorhergehenden identisch, lediglich sind die Felder nicht mit Werte vorbelegt und müssen erst ausgefüllt werden. Abbildung 19-71. Kategorie Hardware - GRUB - Add Boot Option Als „Globale Optionen“ werden Parameter, die generell Auswirkungen auf die Konfiguration haben und nicht einem einzelnen Eintrag zuzuordnen sind, bezeichnet. Dies sind: Ein Default-Booteintrag und ein 599 Kapitel 19. Systemadministration Fallback-Eintrag, das Timeout in Sekunden bis der Default-Eintrag gestartet, wird sowie die gewünschte Festplatte oder Partition auf der GRUB installiert werden soll. Abbildung 19-72. Kategorie Hardware - GRUB - Global Options Ein Mausklick auf diese Schaltfläche installiert GRUB sofort auf der Festplatte, es gibt keine weitere Abfrage. Die Ausgabe des Programmes wird angezeigt, überprüfen Sie genau ob es während der Installation zu Problemen gekommen ist. Abbildung 19-73. Kategorie Hardware - GRUB - Install GRUB 19.8.6.3. Lilo Wenn Lilo auf dem System als Booloader verwendet wird, so kann dieser hier konfiguriert werden. Auch dieses Menü ist in zwei Bereiche geteilt, im oberen Bereich können bestehende Einträge in der Konfiguration verändert oder neue hinzugefügt werden. Darunter finden sich Einstellmöglichkeiten für globale Parameter die nicht direkt in Zusammenhang mit einem Eintrag für einen bestimmten Kernel stehen. 600 Kapitel 19. Systemadministration Abbildung 19-74. Kategorie Hardware - Lilo Durch einen Mausklick auf einen bestehenden Eintrag kann dieser verändert werden. Hinter dem Link „Einen neuen Boot-Kernel erstellen“, verbirgt sich das gleiche Menü, jedoch ohne Vorgabewerte. Zunächst ist im Feld „Name“ ein Titel für diesen Eintrag zu vergeben. Im Feld „Zu bootender Kernel“ ist der Pfad und der Dateiname des gewünschten Kernels anzu geben, dieser kann aber auch über die Schaltfläche ... direkt ausgewählt werden. Weiterhin können Kernel-Parameter die bei Booten des Systems aktiviert werden sollen im Feld „Kernel-Parameter“ angegeben werden. Als „Root-Gerät“ wird hier die Root-Partition bezeichnet. Weitere Parameter beeinflussen die Auflösung der Text-Konsole („VGA-Textmodus“), den Modus in dem das Root-Dateisystem gemountet werden soll(„Root-Mount-Modus“) und das Passwort welches bei der Benutzung von Lilo generell oder nur bei der Angabe von Optionen verwendet werden soll („Boot-Kennwort“ und „Kennwort benötigt für“). Natürlich kann an dieser Stelle auch eine eventuell zu verwendende RAM Disk konfiguriert werden. Wenn die gewünschten Einstellungen vorgenommen wurden, kann der Eintrag durch einen Mausklick auf „Speichern“ auf die Platte geschrieben werden. Dies schreibt lediglich die Veränderungen in die Datei /etc/lilo.conf, der Aufruf von lilo um den MBR neu zu schreiben wird dabei nicht ausgeführt. 601 Kapitel 19. Systemadministration Abbildung 19-75. Kategorie Hardware - Lilo - Boot-Kernel bearbeiten Hier werden allgemein gültige Einstellungen vorgenommen, dies sind beispielsweise die Auswahl wohin der Bootloader geschrieben werden soll („Schreibe Bootlader auf“) und verschiedene Wartezeiten sowie auch hier wieder ein allgemeines Kennwort für die gesammte Lilo-Konfiguration. Abbildung 19-76. Kategorie Hardware - Lilo - Globale Einstellungen 602 Kapitel 19. Systemadministration Über die Schaltfläche „Konfiguration anwenden“ wird der Aufruf von lilo mit der neu erstellten Konfiguration durchgeführt. Eventuell aufgetretene Fehlermeldungen oder auch Statusmeldungen werden angezeigt. Abbildung 19-77. Kategorie Hardware - Lilo - Konfiguration anwenden 19.8.6.4. Netzwerk Der Bereich Netzwerk gliedert sich in verschiedene Themen. Hier finde sich Einstellungen zu IP-Adressen, Routing und Namesauflösung. Abbildung 19-78. Kategorie Hardware - Netzwerk Die Konfiguration der Netzwerkschnittstellen zeigt zunächst eine Übersicht der bereits konfigurierten Interfaces an. Hier können über den Link „Eine neue Schnittstelle hinzufügen“ weitere Interfaces hinzugefügt werden. 603 Kapitel 19. Systemadministration Abbildung 19-79. Kategorie Hardware - Netzwerk - Netzwerkschnittstellen Durch eine Mausklick auf eine der Schnittstellen können Veränderungen an dieser vorgenommen werden. Hier können neben der IP-Adresse, Broadcast und Netmask auch Werte wie MTU und sogar die Hardwareadresse (natürlich wird dies nicht auf der Karte gespeichert sondern nur für den Betrieb überschrieben) verändert werden. Weiterhin können hier einer Karte virtuelle Schnittstellen hinzugefügt werden. Abbildung 19-80. Kategorie Hardware - Netzwerk - Aktive Schnittstelle bearbeiten Hier kann konfiguriert werden welcher Router, bzw. welches Gateway für das System verwendet werden soll. 604 Kapitel 19. Systemadministration Abbildung 19-81. Kategorie Hardware - Netzwerk - Routing und Gateways In diesem Dialog können Einstellungen zum Hostnamen, den zu verwendenden Nameservern, der Reihenfolge der Möglichkeiten für Nameserverabfragen und den Suchdomänen gemacht werden. Abbildung 19-82. Kategorie Hardware - Netzwerk - DNS-Client Die hier getätigten Einstellungen finden sich in der Datei /etc/hosts wieder. Hier können, falls kein eigener Nameserver für das interne Netz verfügbar ist, lokale Systeme eingetragen werden für die normalerweise keine sinnvolle Namensauflösung verfügbar ist. 605 Kapitel 19. Systemadministration Abbildung 19-83. Kategorie Hardware - Netzwerk - Host-Adressen 19.8.6.5. Systemzeit In dieser Menü kann sowohl die Systemzeit als auch die Hardware-Zeit (also die Zeit in der Uhr auf dem Motherboard) eingestellt und miteinander synchronisiert werden. Weiterhin kann hier ein Zeit-Server eingetragen werden mit dem die Systemzeit abgeglichen werden soll. Abbildung 19-84. Kategorie Hardware - Systemzeit Hier besteht die Möglichkeit Einstellungen zur Zeitzone und einigen anderen Parameter vorzunehmen. 606 Kapitel 19. Systemadministration Abbildung 19-85. Kategorie Hardware - Systemzeit - Konfiguration 19.8.7. Andere In dieser Kategorie finden sich einige Tools die in keine andere Kategorie passen. Abbildung 19-86. Kategorie Andere 607 Kapitel 19. Systemadministration Mit der Command Shell können Shell Kommandos aus Webmin heraus ausgeführt werden, die Standardausgabe des Kommandos wird im Browser ausgegeben. Das Kommando cd kann dazu benutzt werden, nachfolgenden Programmen das gewünschte Startverzeichnis zu geben. Abbildung 19-87. Kategorie Andere - Command Shell Mit „Eigene Befehle“ können Kommandos definiert die auch unter anderen Benutzerkennungen ausgeführt werden können. Beispielsweise können hier regelmäßige Arbeiten wie das löschen von Core-Dateien von Hand angestoßen werden. Abbildung 19-88. Kategorie Andere - Eigene Befehle Wenn auf dem System ein Telnet-Server installiert ist (was normalerweise nicht zu empfehlen ist) kann hierüber ein Login auf das System erfolgen. 608 Kapitel 19. Systemadministration Abbildung 19-89. Kategorie Andere - SSH-/Telnet-Login Hier kann der Zustand von verschiedenen Diensten überwacht werden. Abbildung 19-90. Kategorie Andere - System und Server Status 19.8.7.1. Themes Webmin läßt sich mit angepassten Themes versehen, mit denen sich das Aussehen der Seiten beeinflussen läßt. Um ein neues Theme zu erzeugen, muß im Verzeichnis /usr/share/webmin/ ein Unterverzeichnis erzeugt werden. In diesem Verzeichnis muß zumindest die Datei theme.info vorhanden sein. In dieser Datei ist 609 Kapitel 19. Systemadministration mindestens der Eintrag desc zwingend erforderlich. Dieser Eintrag beschreibt das Theme kurz und wird als Text in der Themenauswahl angezeigt. Die Syntax für alle Einträge in den Konfigurationsdateien lautet: name=wert. Die meisten Einstellungen werden in der Konfigurationsdatei config vorgenommen. Auch hier entspricht die Syntax der Einträge der oben beschriebenen (name=wert). Die hier definierten Werte überschreiben einige der voreingestellten Werte in der globalen Webmin Konfigurationsdatei /etc/webmin/config. Werte die überschrieben werden können sind: • cs_page - ein sechs Zeichen langer String im Hex-Format der die Werte für RRGGBB für den Hintergrund der Webseiten setzt. • cs_link - ein sechs Zeichen langer String im Hex-Format der die Werte für RRGGBB für die bereits besuchten und noch nicht besuchten Seiten setzt. • cs_text - ein sechs Zeichen langer String im Hex-Format der die Werte für RRGGBB für den normalen Text setzt. • bgimage - die relative URL (beispielsweise pics/hintergrund.jpg) für ein Hintergrundbild welches auf jeder Seite angezeigt wird. • noindex - wenn dieser Wert auf 1 gesetzt wird, so wird auf den Webseiten kein Link auf den Webmin Index angezeigt. Dies ist sinnvoll wenn Frames verwendet werden und über diese die Verwaltung der Seiten realisiert werden soll. • brand - HTML Code für eine Grafik oder einen Text, welcher in der rechten oberen Ecke der Index Seite angezeigt wird. • brand_url - URL, die hinter die Grafik gelegt wird. Diese wird bei einem Klick auf die Grafik aufgerufen. • headhtml - der hier aufgeführte HTML Code wird in der <head> Section jeder Webseite eingefügt. • headinclude - Name der Datei im Verzeichnis dieses Themes, dessen Inhalt in der <head> Section jeder Webseite eingefügt werden soll. • inbody - Dieser Text wird im <body>-Tag der Seite eingefügt. • prebody - dieser HTML Code wird am Anfang der <body> Section jeder Webseite eingefügt. Folgende Variablen sind hier erlaubt: %HOSTNAME% will be replaced with the system’s hostname. %VERSION% will be replaced with the webmin version. %USER% will be replaced with the current user’s login. %OS% will be replaced with the OS name and version. • texttitles - wird diese Variable auf 1 gesetzt, so werden die Überschriften auf jeder Seite als HTML Text dargestellt und nicht durch Grafiken erzeugt. • postbody - dieser HTML Code wird in der <body> Section jeder Seite eingefügt. Auch hier sind die unter prebody erwähnten Variablen erlaubt.

• tb - Text der im -Tag von Tabellenköpfen eingefügt wird. • cb - Text der im -Tag von Tabellen, unterhalb der Kopfzeile eingefügt wird. Um weitere Veränderungen vorzunehmen, müssen keine Änderungen an der Webmin-Konfigurationsdatei vorgenommen werden. Wenn ein Theme gewählt wird, so wird das Verzeichnis dieses Themes mit allen Inhalten dem Wurzelverzeichnis des Webmin Servers überlagert. Dateien die im Theme-Verzeichnis enthalten sind haben somit eine höhere Wertigkeit und werden bevorzugt geladen. Auf diesem Wege können auch die Icons oder die Grafiken, die die Seitenüberschriften erzeugen, ausgetauscht werden. Aber auch die verwendeten CGI-Programme können auf diesem Wege ausgetauscht werden. Dies kann beispielsweise dazu verwendet werden, um ein neues Hauptmenü zu erzeugen. Hierzu ist eine Datei 610 Kapitel 19. Systemadministration index.cgi zu erzeugen und im Theme-Verzeichnis abzulegen. Hierbei ist darauf zu achten, daß die tatsächlich benutzten Scripte im Hauptverzeichnis (nicht im Themeverzeichns) von Webmin liegen, die Pfade sind entsprechend zu setzen. Wenn das neue Theme vollendet ist kann es mit tar gepackt werden. Webmin Themes haben normalerweise die Endung .wbt. 611 Kapitel 20. Systemsicherheit In diesem Abschnitt sollen einige Hinweise gegeben werden wie ein Debian GNU/Linux System sicherer gegen unbefugte Zugriffe auf das System gemacht werden kann. Debian bietet hierzu einige vorbereitete Pakete die mit wenig Aufwand zu installieren oder zu konfigurieren sind. Zunächst sollten Sie bereits bei der Installation des Systems darauf achten das Sie sowohl die Frage nach der Verwendung von Shadow-Passwörtern als auch die Frage nach MD5 verschlüsselten Passwörtern mit „Ja“ beantworten. Generell ist zu sagen das jeder auf einem Unix System laufende Dienst ein Sicherheitsrisiko darstellt. Installieren Sie also ausschliesslich Dienste die auch auf dem System eingesetzt werden sollen. Das Debian Team nimmt die Sicherheit des Systems sehr ernst. Sicherheitslücken werden umgehend beseitigt und aktualisierte Versionen sind auf den Debian FTP-Servern verfügbar. Um Zugriff auf die jeweils aktuellen Sicherheitsupdates zu haben, sollte folgende Zeile der Datei /etc/apt/sources.list hinzugefügt werden: deb http://security.debian.org/ stable/updates main contrib non-free . 20.1. task-harden Um sicherzustellen das sich keine Pakete mit Sicherheitslücken auf dem System befinden, kann das Paket task-harden installiert werden. In diesem Paket sind verschiedene Task-Pakete aufgeführt, diese wiederrum sind mit entsprechenden Anhängigkeiten belegt. Die „harden-*“ Pakete werden laufend aktualisiert und sicherheitkritische Software wird durch entsprechende Abhängigkeiten die in diesen Paketen festgelegt sind von der Verwendung ausgeschlossen. Es kann also durchaus passieren das die Installation dieses Paketes dazu führt das ein benötigter Dienst gelöscht wird! Das Debian Team ist dabei der Meinung das es besser ist einen Dienst eine zeitlang nicht zur Verfügung zu stellen, statt einem Angreifer einen Angriffspunkt zu liefern. task-harden besitzt definierte Abhängigkeiten zu diversen anderen Paketen, welche auch gesondert installiert werden können. Diese decken kleinere Bereiche ab, so das es möglich ist einzelne Dienste oder bestimmte Systeme gezielt zu schützen. Diese Pakete sind: harden - Makes your system hardened. harden-3rdflaws - Avoid packages with security problems. harden-clients - Avoid clients that are known to be insecure. harden-development - Development tools for creating more secure programs. harden-doc - Useful documentation to secure a Debian system. harden-environment - Hardened system environment. harden-localflaws - Avoid packages with security holes. harden-nids - Harden a system by using a network intrusion detection system. harden-remoteaudit - Audit your system from this host. harden-remoteflaws - Avoid packages with security holes. harden-servers - Avoid servers that are known to be insecure. harden-surveillance - Check services and/or servers automaticly. harden-tools - Tools to enhance or analyze the security of the local system. Die durch diese Pakete vorgenommenen Veränderungen basieren auf den im Debian Security HOWTO beschriebenen Aktionen. 20.2. Securing Debian HOWTO Im „Securing Debian HOWTO“ (das englische Original ist erreichbar unter http://www.debian.org/doc/manuals/securing-debian-howto/index.html) finden sich Informationen an welchen Stellen ein Debian System noch sicherer gemacht werden kann. Daher soll an dieser Stelle nur auf einige grundlegende Dinge hingewiesen werden. 612 Kapitel 20. Systemsicherheit Zunächst müssen Sie sich darüber im klaren sein das ein System nur dann 100%tig sicher ist wenn keinerlei Dienste auf diesem nach aussen hin über das Netzwerk angeboten werden oder sogar garkeine Verbindung zu einem Netzwerk besteht. Dies ist in der Realität natürlich unsinnig und nicht durchsetzbar, das System würde so nicht sinnvoll benutzbar sein. Man sollte sich auch darüber im klaren sein das die Anforderungen an die Sicherheit stark vom Einsatz des Systems abhängig sind. Ein Privatnutzer wird deutlich andere Anforderungen stellen wie der Administrator eines Firewall Systems. Viele Einstellungen die die Sicherheit eines Systems erhöhen vereinfachen die Bedienung nicht unbedingt, auch hier ist zwischen Benutzbarkeit und Paranoia abzuwägen. Die Softwareseitigen Einstellungen an einem Debian System die zur Verbesserung der Sicherheit dienen, können nicht den physikalischen Zugriff auf das System verhindern. Wenn von Systemsicherheit die Rede ist muß auch bedacht werden das zu einem völlig sicheren System auch gehört das der Zugriff auf die Hardware unterbunden wird. Ein Angreifer der Zugriff auf die Hardware hat kann beispielsweise über eine Boot-CD oder Diskette Zugriff auf das System erlangen. Auch ein BIOS- oder Lilo-Passwort kann den Diebstahl der Festplatte nicht verhindern. Ein völlig sicheres System gehört also hinter gut verschlossene Türen. Doch Betrachtungen zur Hardwaresicherung sollen an dieser Stelle nicht weiter verfolgt werden. 20.2.1. Vor und während der Installation Bereits vor der Installation können einige Maßnahmen zur Sicherheit des Systems getroffen werden. Das Debian Installationsprogramm enthält ebenfalls einige Punkte an denen die Sicherheit des Systems verbessert werden kann. 20.2.1.1. BIOS Einstellungen Bevor ein Betriebsystem auf einem neuen Computer installiert wird, sollte ein BIOS Passwort gesetzt werden und die Booteinstellungen sollten so gewählt werden das ein Systemstart von Diskette nicht möglich ist. Nach der Installation sollte darauf geachtet werden das so schnell wie möglich auch der Start von CD-ROM abgeschaltet wird. Ein weitere Vorteil dieser Einstellungen zeigt sich wenn das System als Server betrieben wird. Es wäre nicht das erste mal das eine vergessene Diskette im Laufwerk einen erfolgreichen Reboot eines Systems verhindert, sehr ärgerlich wenn ein direkter Zugriff auf das System nur mit einer längeren Anfahrt möglich ist. 20.2.1.2. Plattenpartitionen Die Einteilung des verfügbaren Plattenplatzes hängt von der Verwendung des Systems ab. Hierzu sollte einige Dinge beachtet werden: • Jede Partition auf die Schreibzugriff von den Benutzern des Systems besteht, sollte auf einer eigenen Partition liegen, beispielsweise die Bereiche /home und /tmp. Dies verhindert das ein Benutzer das /-Dateisystem unbenutzbar macht und das gesamte System in einen instabilen Zustand bringt. Es bleibt natürlich ein gewisser Platz (meist 5%, dieser Wert kann mit tunefs angepasst werden) für den Superuser reserviert, doch kann so anderen Benutzern das Arbeit mit dem System unmöglich gemacht werden. • Es sollte für jeden Bereich der automatisch mit Daten gefüllt wird, beispielsweise /var und hier insbesondere /var/log eine eigene Partition vorgesehen werden. Auf Debian Systemen sollte /var großzügiger bemessen werden, da unter /var/cache/apt/archives Pakete temporär abgelegt werden wenn die Installation übers Netz erfolgt. Weiterhin finden sich unter /var/lib/dpkg viele Dateien die für das Paketmanagement benötigt werden. • Wenn Software installiert werden soll, die nicht in der Debian Distribution enthalten ist, sollten auch diese Bereich auf eigenen Partitionen liegen, diese werden dann bei einer Neuinstallation des nicht überschrieben. Nach dem File Hierarchy Standard (FHS) sind dies /opt oder /usr/local. 613 Kapitel 20. Systemsicherheit 20.2.1.3. Superuser Passwort Während der Installation wird nach einem Passwort für den Superuser (root) gefragt. Zusätzlich kann ein Benutzer dem System hinzugefügt, auch für diesen ist dann ein Passwort einzugeben. Auch wenn es möglich ist hier ein sehr einfaches Passwort zu verwenden, so ist dies natürlich nicht empfehlenswert. Die Auswahl eines guten Passwortes ist auf vielen Webseiten im Netz beschrieben, es sind dabei nur einige einfache Regeln zu beachten. Eine Suche nach „auswahl gutes passwort“ mittels Google führt schnell zum Erfolg. Grundsätzlich sollte auf jedem System neben dem Account für den Superuser auch ein Account für einen Benutzer angelegt werden der nicht alle Rechte hat. Dieser Benutzeraccount sollte für alle Logins auf dem System verwendet werden und nur wenn für eine bestimmte Aufgabe die Zugriffsrechte nicht ausreichend sind sollte mittels des Kommandos su die Identität gewechselt werden. Nach Beendigung der Arbeiten als Superuser sollte man sich umgehend wieder als normaler Benutzer im System bewegen. 20.2.1.4. Shadow- und MD5 Passwörter Während der Installation erfolgt eine Abfrage ob „Shadow Passwords“ aktiviert werden sollen. Wenn die Frage positiv beantwortet wird, werden die Passwörter in der Datei /etc/shadow verschlüsselt gespeichert. Diese Datei kann nur vom Superuser und der Gruppe „shadow“ gelesen werden, somit kann kein Benutzer des Systems die verschlüsselten Passwörter lesen und versuchen diese mit Hilfe einer Software zu entschlüsseln. Diese Einstellung kann später mit dem Programm shadowconfig rückgängig gemacht werden. Weiterhin besteht die Möglichkeit die Passwörter mit einer MD5 Verschlüsselung zu speichern, dies ist generell eine gute Idee, da so ein Angriff weiterhin erschwert wird und längere Passwörter möglich sind. 20.2.1.5. Aktivierte Dienste Wie bereits beschrieben sollten nur die absolut notwendigen Dienste auf einem System aktiviert werden. Jeder neue Dienst schafft möglicherweise ein neues Sicherheitsloch, welches vielleicht erst später zu einem Problem wird. Werden bestimmte Dienste nur selten benötigt, so können diese über die update-Kommandos (beispielsweise update-inetd) gezielt aktiviert und deaktiviert werden. 20.2.1.6. Mailinglisten Lesen Sie die Debian Security Mailinglisten. Relevant sind in diesem Zusammenhang debian-security-announce, dort werden Sicherheitslücken bekanntgegeben und es wird über Bugfixes dagegen informiert, sowie debian-security@lists.debian.org, dort werden alle Sicherheitstemen rund um Debian behandelt. Wenn Sie Meldungen über Sicherheitsupdates per E-Mail bekommen wollen, so senden Sie eine Mail an: debian-security-announce-request@lists.debian.org mit dem Wort „subscribe“ im Betreff der Mail. Die Anmeldung zu dieser Mailingliste ist auch über die Webseite http://www.debian.org/MailingLists/subscribe möglich. Auf dieser Mailingliste kommen nur sehr wenige Mails, man erfährt dort aber sehr schnell über Probleme mit Paketen informiert und erfahren eine Adresse an der eine fehlerbereinigte Version zur Verfügung steht. 20.2.2. Nach der Installation Nachdem das System mit allen benötigten Programmen eingerichtet ist, kann mit einigen weiteren Aktionen die Sicherheit des Systems weiter erhöht werden. 20.2.2.1. Absicherung des Bootloaders Jede Person die Zugang zur Tastatur des Systems hat kann eine Superuser-Shell bekommen und beispielsweise alle Passwörter ändern, indem am Bootprompt dateiname-des-bootkernels init=/bin/sh eingegeben wird. Um dies zu verhindern kann ein Passwort für den Boot-Loader gesetzt werden. Dies kann global für alle Boot-Images geschehen oder individuell für jedes einzelne. 614 Kapitel 20. Systemsicherheit Wenn Lilo als Bootloader verwendet wird, muß die Datei /etc/lilo.conf um die Einträge password und restricted erweitert werden. image=/boot/2.2.14-vmlinuz label=Linux read-only password=hackme restricted Danach muß lilo nochmal aufgerufen werden. Sorgen Sie dafür das die Datei /etc/lilo.conf nur vom Superuser gelesen werden kann, da das Passwort unverschlüsselt in der Konfigurationsdatei steht, dies ist mit dem Kommando chmod 600 /etc/lilo.conf zu erreichen. Die Option restricted bewirkt das nur nach einem Passwort gefragt wird wenn der Benutzer versucht zusätzliche Parameter am Bootprompt anzugeben. Die Auswahl verschiedener, bereits in der Konfiguration eingetragener Kernel ist weiterhin möglich. Wird der Eintrag restricted weggelassen, fragt Lilo in jedem Fall nach einem Passwort. Die genannten Einträge können am Anfang der Konfigurationsdatei allgemeingültig für alle Kernel in der Konfiguration angegeben werden, oder aber innerhalb eines Abschnittes der Konfigurationsdatei nur für bestimmte Kernel. Wird auf dem System GRUB verwendet, so müssen folgende Zeile der Datei /boot/grub/menu.lst hinzugefügt werden: timeout 3 password hackme Die Option timeout sorgt nach der angegebenen Zeit dafür das der Standardeintrag gebootet wird. 20.2.2.2. Starten von Diskette Der von Debian Versionen vor 2.2 installierte MBR (Master Boot Record) wurde mit einer Option installiert die es erlaubte von Diskette zu booten auch wenn dies sonst abgeschaltet war. Ob ein solcher MBR installiert ist läßt sich wie folgt prüfen: • Drücken Sie während des Startvorganges die Shift Taste, der MBR Prompt sollte erscheinen. • Drücken Sie nun „F“ und das System startet von Diskette. Mit dieser kann ein Superuserzugang zum System erreicht werden. Dieses Verhalten kann wie folgt verändert werden: lilo -b /dev/hda Wobei hda dem entsprechenden Devicenamen Ihres Systems angepasst werden muß. Die Bootdisketten ab Debian Version 2.2 installieren lilo direkt in den MBR, hier tritt diese Lücke nicht auf. 20.2.2.3. Mounten von Dateisystemen Beim mounten (einhängen in das Dateisystem) von ext2-Partitionen gibt es diverse Optionen die dem Kommando mount übergeben werden oder die direkt in die Datei /etc/fstab eingetragen werden können. Ein solcher Eintrag könnte beispielsweise wie folgt aussehen: /dev/hda7 /tmp ext2 defaults,nosuid,noexec,nodev 0 2 615 Kapitel 20. Systemsicherheit Die Optionen finden sich in der vierten Spalte. Die Option nosuid ignoriert gesetzte SUID und GUID Bits auf dieser Partition. Eine gesetzte Option noexec verhindert das auf dieser Partition befindliche Programme ausgeführt werden können und nodev ignoriert Device Dateien. Dabei ist zu beachten: • Dies bezieht sich nur auf ext2 Dateisysteme. • Auch solche Optionen können relativ leicht umgangen werden. Hierzu ein Beispiel: fr@sushi:/tmp# mount | grep tmp /dev/hda3 on /tmp type ext2 (rw,noexec,nosuid,nodev) fr@sushi:/tmp# ./date bash: ./date: Keine Berechtigung fr@sushi:/tmp# /lib/ld-linux.so.2 ./date Sun Jul 29 14:40:32 CEST 2001 Viele Tools die von Hackern benutzt werden, versuchen im Verzeichnis /tmp Dateien anzulegen und diese auszuführen. Mit der Option noexec kann man dem Einbrecher zumindest das Leben etwas schwerer machen. 20.2.2.4. Debian Sicherheitsupdates Sobald eine neue Sicherheitslücke in einem Debian Paket oder einer Software dieses Paketes bekannt wird, wird von den Paket-Maintainern innerhalb weniger Stunden oder Tage ein Update der betroffenen Pakete bereitgestellt. Das aktualisierte Paket wird unter http://security.debian.org zur Verfügung gestellt. Um auch die Sicherheitsupdates bei jeder Aktualisierung des Systems automatisch durchzuführen, muß folgende Zeile in die Datei /etc/apt/sources.list eingefügt werden: deb http://security.debian.org/debian-security stable/updates main contrib non-free In Ländern die den Import von Kryptografischer Software nicht verbieten kann zusätzlich folgende Zeile hinzugefügt werden. deb http://security.debian.org/debian-non-US stable/non-US main contrib non-free Natürlich können auch die entsprechenden deb-src Zeilen hinzugefügt werden wenn auch der Zugriff auf die Sourcen gewährleistet sein soll. Danach ist nur noch ein apt-get update gefolgt von einem apt-get upgrade nötig um das System auf den neuesten Stand zu bringen. 20.2.2.5. PAM - Pluggable Authentication Modules PAM erlaubt dem Systemadministrator die Auswahl auf welche Weise die verschiedenen Anwendungen eine Authentifizierung durchführen sollen. Hierzu muß jede Anwendung auf die Verwendung von PAM angepasst sein, dies ist seit Debian 2.2 für die meisten Programme der Fall. Ältere Versionen von Debian benutzen noch keine Authentifizierung über PAM. Für jede Anwendung existiert im Verzeichnis /etc/pam.d eine eigene Konfigurationsdatei. Mit PAM bietet sich die Möglichkeit mehrere Authentifizierungsschritte, vom Benutzer unbemerkt, durchzuführen. Beispielsweise kann eine Authentifizierung sowohl gegen eine Datenbank als auch gegen die Datei /etc/passwd erfolgen. Über PAM können viele Restriktionen auferlegt werden, genauso gut ist es aber möglich das System weit zu öffnen und so Sicherheitslücken zu schaffen. Bei der Veränderung von Einstellungen von PAM sollte also größte Vorsicht bewahrt werden. Eine typische Konfigurationszeile enthält in der dritten Spalte ein Kontrollfeld. 616 Kapitel 20. Systemsicherheit Dieses sollte auf den Wert „requisite“ gesetzt werden, so das bei einem Fehler in einem Modul ein Login verhindert wird. Zuerst sollte die Unterstützung für MD5 verschlüsselte Passwörter aktiviert werden, um so zu verhindern das ein Passwort leicht von einem Programm über eine Datenbank ermittelt werden kann. Die folgenden Zeilen sollten in allen Dateien in /etc/pam.d/ hinzugefügt werden die Zugang zu dem System erlauben, beispielsweise login und ssh. password required pam_cracklib.so retry=3 minlen=12 difok=3 password required pam_unix.so use_authtok nullok md5 Der erste Eintrag lädt das Cracklib PAM Modul, welches eine strengere Anforderungen an das verwendete Passwort stellt. Passwörter müssen mit diesem Modul mindestens 12 Zeichen haben, bei einer Passwortänderung müssen mindestens drei Zeichen verändert werden. Weiterhin werden nur 3 Login Versuche erlaubt. Die zweite Zeile benutzt die Standard Authentifizierung des Unix Systems mit einer MD5 Verschlüsselung und erlaubt auch leere Passwörter. Die use_authtok Option wird benötigt um das Passwort vom vorhergehenden Modul zu übernehmen. Um den Zugriff so zu beschränken das der Benutzer root sich lediglich auf den lokalen Terminal einloggen kann, muß die folgende Zeile in der Datei /etc/pam.d/login aktiviert werden: auth requisite pam_securetty.so Weiterhin müssen die Terminal von denen dem Benutzer root der Zugriff auf das System gewährt werden soll in die Datei /etc/security/access.conf eingetragen werden. Um auch die eigentlichen Benutzer des Systems zu beschränken, beispielsweise in der Anzahl der gleichzeitigen Logins, muß noch die folgende Zeile aktiviert werden: session required pam_limits.so In der Datei /etc/pam.d/passwd ist nun noch die erste Zeile zu verändern. Dort muß die Option „md5“ eingetragen werden um mit MD5 verschlüsselte Passwörter zu benutzen. Weiterhin kann die minimale Passwortlänge beispielsweise von 4 auf 6 Zeichen erhöht werden. Ebenso kann eine maximale Länge gesetzt werden falls dies gewünscht ist. Schlußendlich sollte die Zeile in etwas wie folgt aussehen: password required pam_unix.so nullok obscure min=6 max=11 md5 Wenn das Kommando su so geschützt werden soll das es nur von bestimmten Benutzern ausgeführt werden kann, muß zunächst eine neue Gruppe dem System hinzugefügt werden. Üblich ist es hierzu die Gruppe „wheel“ zu verwenden, da diese noch nicht existiert und es somit unwahrscheinlich ist das bereits Dateien zu dieser Gruppe gehören. Dieser Gruppe ist der Benutzer root sowie alle Benutzer die das Kommando su ausführen sollen, hinzuzufügen. In der Datei /etc/pam/su ist dann folgender Eintrag zu ergänzen: auth requisite pam_wheel.so group=wheel debug Somit wird sichergestellt das nur Benutzer die der Gruppe „wheel“ angehören das Kommando su ausführen können. Alle anderen Benutzer bekommen eine entsprechende Meldung wenn sie versuchen das Kommando auszuführen. Wenn nur bestimmten Benutzern eine Authentifizierung über PAM erlaubt werden soll, so ist dies relativ einfach über Dateien zu erreichen in denen die Benutzer aufgeführt sind denen der Login erlaubt oder verboten werden soll. Wenn beispielsweise nur dem Benutzer „fr“ der Login über ssh erlaubt werden soll, so muß dieser 617 Kapitel 20. Systemsicherheit in die Datei /etc/sshusers-allowed eingetragen werden und folgender Eintrag muß der Datei /etc/pam.d/ssh hinzugefügt werden. auth required pam_listfile.so item=user sense=allow file=/etc/sshusers-allowed onerr=fail Zu guter letzt sind folgende Einträge der Datei /etc/pam.d/other hinzuzufügen: Last, but not least, create /etc/pam.d/other and enter the following lines: auth required pam_securetty.so auth required pam_unix_auth.so auth required pam_warn.so auth required pam_deny.so account required pam_unix_acct.so account required pam_warn.so account required pam_deny.so password required pam_unix_passwd.so password required pam_warn.so password required pam_deny.so session required pam_unix_session.so session required pam_warn.so session required pam_deny.so Diese Voreinstellungen sind erst einmal eine sinnvolle Vorgabe, es werden grundsätzlich erstmal alle PAM Zugriffe verweigert. Ein Aufmerksamer Blick sollte auch in die Datei /etc/security/limits.conf geworfen werden. Hier werden Resourcen für die Benutzer des Systems festgelegt. 20.2.2.6. Anpassungen der /etc/inetd.conf Generell sollten alle nicht benötigten Dienste auf einem System deaktiviert werden. Jeder laufende, nicht unbedingt benötigte Dienst stellt ein potentielles Risiko dar. Dies betrifft beispielsweise die Dienste echo, charges, discard, daytime, time, talk, ntalk sowie die extrem unsicheren „r“-Kommandos wie rsh, rlogin, rcp. Für letztere ist es in jedem Fall besser das Kommando ssh zu benutzen. Nachdem die nicht benötigten Dienste deaktiviert sind, sollte geprüft werden ob der inetd überhaupt noch benötigt wird. Dienste können natürlich auch als Daemon gestartet werden statt den inetd zu benutzen. Denial of Service (DoS) Angriff können auch auf den inetd als Ziel ausgeführt werden und so beispielsweise die Systemlast eines Rechners in die Höhe treiben. Wenn trotzdem nicht auf den Einsatz eines inetd verzichtet werden kann, so sollte unter Umständen ein alternativer inetd eingesetzt werden der vielfältiger konfiguriert werden kann, beispielsweise der xinetd oder der rlinetd. Veränderungen an der inetd.conf können von Hand vorgenommen werden, Debian bietet aber eine einfach zu benutzende Alternative dazu: mit dem Programm update-inetd können einzelne Dienste verändert werden. Beipiel: /usr/sbin/update-inetd --disable telnet /etc/init.d/inetd restart Nach jeder Änderung ist der inetd noch neu zu starten. Das Kommando update-inetd kennt noch viele andere Optionen, beispielsweise auch um Einträge zu löschen: sushi:/home/fr# Usage: update-inetd [OPTION] MODE ARGUMENT 618 Kapitel 20. Systemsicherheit Options: --version output version information and exit --help display this help and exit --verbose explain what is being done --debug enables debugging mode --multi allow multiple removes/disables --file FILENAME use FILENAME instead of /etc/inetd.conf --group GROUPNAME add entry to section GROUPNAME --comment-chars CHARACTERS use CHARACTERS as comment characters --pattern PATTERN use PATTERN to select a service Modes: --add ENTRY add ENTRY to /etc/inetd.conf --remove ENTRY remove ENTRY (regular expression) --enable SERVICE enable SERVICE in /etc/inetd.conf --disable SERVICE disable SERVICE in /etc/inetd.conf In order to prevent the shell from changing your ENTRY definition you have to quote the ENTRY using single or double quotes. You can use tabs (the tab character or \t) and spaces to separate the fields of the ENTRY. If you want to enable/disable more than one SERVICE you can use a comma separated list of services (no whitespace characters allowed). 20.2.2.7. /etc/login.defs Nun sollten einige Einstellungen zum Benutzer Login und zur grundsätzlichen Konfiguration vorgenommen werden. FAIL_DELAY 10 Diese Variable sollte auf einen höheren Wert gesetzt werden um „Brute-Force“ Angriffe auf einem Terminal zu erschweren. Wenn ein falsches Passwort eingegeben wird, muß der Benutzer 10 Sekunden warten bis ein neuer Login Versuch gestartet werden kann. Dies frist einiges an Zeit wenn versucht wird ein Passwort zu erraten. Diese Einstellung gilt nur wenn getty benutzt wird, bei mingetty beispielsweise ist diese Einstellung ohne Wirkung. FAILLOG_ENAB yes Mit dieser Variablen werden fehlgeschlagene Logins im Logfile verzeichnet. Dies ist wichtig wenn „Brute-Force“ Angriffe aufgezeichnet werden sollen. LOG_UNKFAIL_ENAB yes Wenn die Variable FAILLOG_ENAB auf yes gesetzt wird, so sollte dies Variable auf yes gesetzt werden. Diese Einstellung schreibt auch unbekannte Benutzernamen bei einem Login ins Logfile. Es ist darauf zu achten das die entsprechenden Logdateien nicht von allen Benutzern gelesen werden können, da Benutzer häufig anstelle des Benutzernamens das Passwort eingeben. Damit andere Benutzer diese Datei nicht lesen können sind die Zugriffsrechte beispielsweise auf 640 zu setzen. SYSLOG_SU_ENAB yes Diese Einstellung verzeichnet die Benutzung des Kommandos su im Syslog. SYSLOG_SG_ENAB yes 619 Kapitel 20. Systemsicherheit Diese Einstellung erfüllt die gleiche Funktion wie die vorhergehende, jedoch für das Kommando sg. MD5_CRYPT_ENAB yes Wie schon beschrieben reduzieren MD5 verschlüsselte Passwörter die Gefahr des erschleichens eines Passwortes durch entsprechende Software. Wenn auf dem System noch „slink“ (Debian 2.1) eingesetzt wird so ist vor dem aktivieren dieser Option ein Blick in die Dokumentation zu werfen. Ansonsten wird diese Einstellung über PAM realisiert. PASS_MAX_LEN 50 Wenn MD5 Passwörter in der PAM Konfiguration aktiviert sind, so sollte diese Variable auf den gleichen Wert wie dort gesetzt werden. 20.2.2.8. /etc/ftpusers Diese Datei enthält eine Liste der Benutzer die nicht per FTP Protokoll einloggen dürfen. Benutzen Sie diese Datei nur wenn Sie wirklich sicher sind das auf dem System auf tatsächlich ein FTP-Server laufen soll, da per FTP der Benutzername und das Passwort immer im Klartext übertragen werden. Wenn der benutzte FTP-Daemon PAM unterstützt, so können auch dort die Benutzer zugelassen oder ausgeschlossen werden. 20.2.2.9. Einsatz eines TCP Wrappers TCP Wrapper wurde entwickelt als noch keine echten Paketfilter verfügbar waren aber trotzdem eine Kontrolle notwendig wurde. Ein TCP Wrapper erlaubt oder verbietet die Nutzen eines Dienstes einem Rechner oder einer Domain. Nähere Informationen finden sich in der Manpage hosts_access(5). Hier nun vielleicht das kleinste System um Einbruchsversuche zu registrieren. Auf alle Fälle sollte auf jedem System ein Firewall installiert sein, zusätzlich zu diesem TCP-Wrapper. Dieser kleine Trick schickt bei jedem verweigerten Zugriff auf auf einen Service eine Mail an den Superuser. ALL: ALL: spawn ( \ echo -e "\n\ TCP Wrappers\: Connection refused\n\ By\: $(uname -n)\n\ Process\: %d (pid %p)\n\ User\: %u\n\ Host\: %c\n\ Date\: $(date)\n\ " | /bin/mail -s "Connection to %d blocked" root) Natürlich ist dieses Beispiel nicht perfekt: Bei vielen Verbindungen innerhalb einer kurzen Zeit werden natürlich auch entsprechend viele E-Mails gesendet, was wiederrum einem DoS-Angriff gleichkommt. 20.2.2.10. Benutzung von su Sollte es einmal notwendig sein Arbeiten am System als Superuser durchzuführen, so kann das Kommando su benutzt werden um die benötigten Rechte zu erlangen. Es sollte versucht werden allen Benutzern klarzumachen das Arbeiten als Superuser nur in Ausnahmefällen gestattet sind. In jedem Fall ist ein Login als root zu vermeiden und stattdessen das Kommando su zu benutzen. Noch besser ist es jedoch das Kommando su komplett zu entfernen und stattdessen das Kommando sudo zu benutzen, welche eine ganze Reihe weiterer Funktionen bietet. su ist aber weithin bekannt da es auch auf vielen anderen Unix Systemen eingesetzt wird. 620 Kapitel 20. Systemsicherheit 20.2.2.11. Benutzung von sudo sudo erlaubt einem Benutzer Kommandos unter der ID eines anderen Benutzers auszuführen, gegebenenfalls auch als Superuser. Wenn der Benutzer in der Datei /etc/sudoers aufgeführt ist und sich authentifiziert hat, können Kommandos ausgeführt werden die ebenfalls in dieser Datei aufgeführt sind. Verletzungen dieser Regel, wie beispielsweise ein falsches Passwort oder die versuchte Ausführung eines unerlaubten Programmes, werden aufgezeichnet und per E-Mail an den Superuser (root) geschickt. 20.2.2.12. Benutzung von chroot chroot ist eine leistungsfähige Möglichkeit um ein Programm oder einen Daemon oder einem Benutzer zu beschränken. Man kann sich das wie in einem Gefängnis vorstellen aus dem ein Ausbruch unmöglich ist (normalerweise... aber einige Leute schaffen es ja doch manchmal...). Wenn einem Benutzer nicht vollkommen vertraut wird, so kann für diesen eine chroot-Umgebung eingerichtet werden. Dies kann einiges an Plattenplatz beanspruchen wenn alle benötigten Binaries und Bibliotheken in diese Umgebung kopiert werden müssen. Auch wenn es dem Benutzer gelingt Schaden anzurichten, so bleibt dieser auf die beschränkte Umgebung beschränkt. Ein gutes Beispiel für eine solche Anwendung ist folgende: die Authentifizierung erfolgt nicht gegen die Datei /etc/passwd sondern gegen LDAP oder/und eine MySQL Datenbank. Ein verwendeter FTP-Daemon benötigt das Binary und ein paar Bibliotheken. Hier bildet eine chroot-Umgebung eine excellente Verbesserung der Sicherheit, falls eine Sicherheitslücke in diesem FTP Daemon auftaucht. In diesem Fall ist lediglich die Benutzer-ID des FTP-Daemons betroffen und keine anderen Benutzer des Systems. Natürlich können auch viele andere Dienste von solch einer Umgebung profitieren. Als Hinweiß: Bisher wird bei keiner Debian Version eine chroot-Umgebung für die Dienste und Server verwendet. 20.2.2.13. Kernel Features Viele Funktionen des Kernel können während der Laufzeit verändert werden, beispielsweise indem mit dem Kommando echo ein Wert in die entsprechenden Datei geschrieben wird, oder mit dem Kommando sysctl. Mit dem Kommando sysctl -A kann angezeigt werden welche Einstellungen verändert werden können und welche Optionen verfügbar sind. In seltenen Fällen muß etwas verändert werden, aber auf diesem Weg kann die Sicherheit des Systems erhöht werden. /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts = 0 Wird diese Variable auf den Wert 1 gesetzt, so verhält sich das System nach aussen wie ein Windows System wenn ein Broadcast ping das System erreicht. /proc/sys/net/ipv4/icmp_echo_ignore_all = 0 Wenn ICMP Pakete auf dem Firewall nicht geblockt werden sollen, so ist dieser Wert auf 1 zu setzen. /proc/sys/net/ipv4/tcp_syncookies = 1 Diese Option ist ein zweischneidiges Schwert: Auf der einen Seite schützt es gegen „Syn-Flooding“ Atacken, auf der anderen Seite entspricht dies nicht den RFCs. Diese Option beschäftigt die angreifende Seite ebenso mit „Syn-Floods“ so das diese ebenso beschäftigt ist. Diese Option kann auch in /etc/network/options verändert werden, indem die Option syncookies auf yes gesetzt wird. /proc/sys/net/ipv4/conf/all/log_martians = 1 621 Kapitel 20. Systemsicherheit Mit dieser Option werden Pakete mit unerlaubten Adresse, beispielsweise wegen eines fehlerhaften Routings, im Netzwerk geloggt. 20.2.2.14. Benutzung der svgalib SVGAlib ist eine schöne Einrichtung für Liebhaber der Konsole, in der Vergangenheit hat es sich jedoch gezeigt das immer wieder Sicherheitslücken bekannt geworden sind. Sicherheitslücken in zgv wurden bekannt mit denen Superuser Rechte erlangt werden konnten. Wenn möglich sollte auf die Verwendung der SVGAlib verzichtet werden. 20.2.2.15. Sichere Übertragung von Dateien Die Übertragung zwischen zwei Rechnern sollte auf keinen Fall mit Programmen wie ftp oder rcp erfolgen, da diese den Benutzernamen und das Passwort unverschlüsselt übertragen. Als sichere Alternative steht scp zur Verfügung welches im Paket ssh enthalten ist. Hier werden sowohl Benutzername als auch Passwort und auch die Daten selber in verschlüsselter Form übertragen. 20.2.2.16. Benutzung von Quotas Eine saubere Definition von Benutzerquotas ist wichtig um zu verhindern das Benutzer ein komplettes Dateisystem mit Daten füllen können. Es können grundsätzlich zwei verschieden Quota Systeme eingesetzt werden - Benutzer- oder Gruppen-orientierte Quotas. Dies ist bei der Planung zu berücksichtigen. Einige Punkte sind bei der Benutzung von Quotas zu beachten: • Quotas sollten in Summe so klein gewählt werden das nicht der gesammte Plattenplatz belegt werden kann. • Quotas sollten so groß gewählt werden das die Benutzer nicht in der Arbeit behindert werden, beispielsweise sollte das Spoolverzeichnis für Mail nicht zu knapp bemessen werden. • Quotas müssen auf allen, von Benutzern beschreibbaren Bereichen eingerichtet werden, beispielsweise /home und /tmp. Für jede Partition, bzw. jedes Verzeichnis, auf das Benutzer einen Schreibzugriff haben, sollten Quotas aktiviert werden. Für diese Bereiche ist ein sinnvoller Wert zu errechnen der eine Balance zwischen Sicherheit und Benutzbarkeit des Systems schafft. Doch nun zur Benutzung von Quotas: Zunächst muß geprüft werden ob im Kernel die Quota Unterstützung aktiviert ist. Wenn dies nicht der Fall ist, muß ein neuer Kernel erzeugt werden. Danach ist zu prüfen ob das Paket quota installiert ist, ggf. ist dies zu installieren. Quotas werden aktiviert indem in der Datei /etc/fstab der Eintrag für das entsprechende Dateisystem in der Spalte „Options“ um den Eintrag usrquota erweitert wird.Wenn statt Benutzer-Quota, Gruppen-Quota benutzt werden sollen, lautet der Eintrag grpquota. Natürlich können auch beide gleichzeitig verwendet werden. Nun muß im Root-Verzeichnis des Dateisystems eine leere Datei quota.user und quota.group erzeugt werden. Das Quota System muß nun neugestartet werden, dies geschieht durch die Kommandos /etc/init.d/quota stop und /etc/init.d/quota start. Nun können die gewünschten Grenzwerte gesetzt werden. Um die Quota für einen Benutzer (beispielsweise fr) zu setzen, wird das Kommando edquota -u fr benutzt. Gruppen-Quota werden mit dem Kommando edquota -g gruppe gesetzt. Nun können die Grenzwerte für „soft“ und „hard“ sowie für die Inodes gesetzt werden. 20.2.2.17. Zugriffsrechte von Logdateien Einige Logdateien sind nach der Installation nicht perfekt. Zunächst ist es nicht notwendig das die Dateien /var/log/lastlog und /var/log/faillog von jedem Benutzer gelesen werden können. In der Datei lastlog sind Benutzer verzeichnet die sich in der letzten Zeit am System angemeldet haben, in der Datei faillog finden sich fehlgeschlagene Loginversuche. Bei beiden Dateien sollten die Zugriffsrechte auf 660 622 Kapitel 20. Systemsicherheit verändert werden. Prüfen Sie genau ob Logdateien mit unnötigen Zugriffsrechten versehen sind. Meist sind Lese- und Schreibrechte für den Superuser und für die Gruppe adm oder root ausreichend. 20.2.2.18. setuid Überprüfungen Debian wird mit einem täglichen Cronjob installiert welcher in /etc/cron.daily/standard zu finden ist. Der Aufruf von /usr/sbin/checksecurity führt eine Überprüfung des Systems auf Änderungen des setuid Flags an allen Dateien auf dem System durch. Um diesen Check zu aktivieren muß die Variable CHECKSECURITY_DISABLE in der Datei /etc/checksecurity.conf auf FALSE gesetzt sein. Dies ist auch die Voreinstellung, so das hier eigentlich keine Änderungen erforderlich sind. 20.2.2.19. chattr / lsattr Diese beiden Kommandos sind, auf einem ext2-Dateisystem sehr sinnvoll. Mit lsattr können die Attribute einer Datei angezeigt werden, mit chattr können diese verändert werden. Attribute unterscheiden sich von Zugriffsrechten! Es gibt viele verschiedene Attribute, hier werden nur die Sicherheitsrelevanten aufgeführt. Zwei Attribute können nur vom Superuser gesetzt werden. Zunächst wäre das „a“-Flag zu nennen. Wenn diese Attribut gesetzt ist können an die entsprechende Datei nur Daten angehängt (append) werden. Dieses Attribut kann auf einige Dateien in /var/log/ angewendet werden, beachten Sie jedoch das einige Dateien von Zeit zu Zeit rotiert werden. Das zweite wichtige Flag ist „i“, welches für „immutable“ steht. Wenn diese Flag gesetzt wird kann eine Datei weder verändert, gelöscht oder umbenannt werden. Auch kann kein Link auf diese Datei erzeugt werden. Wenn Benutzern die Einsicht in Logdateien verwehrt werden soll, so kann diese Flag gesetzt werden und die Leserechte können entfernt werden. Dies bietet auch eine etwas höhere Sicherheit gegen Eindringlinge, da dieser sich sicher darüber wundert das die Datei nicht gelöscht werden kann. Trotzdem sollten Sie sich nicht darauf verlassen das ein Eindringling diese Funktion nicht kennt. In jedem Fall ist es ihm zu diesem Zeitpunkt bereits gelungen in das System einzudringen... 20.2.2.20. Integrität des Dateisystems Sind Sie sicher das die, auf einem bereits seit Wochen oder Monaten ans Internet angeschlossenen System, installierten Programme noch die urspünglichen sind? Oder kann es sein das bereits das Programm /bin/login durch eine veränderte Variante ersetzt wurde, die einen unbemerkten Login als Superuser erlaubt...? Die einzige Methode ein System gegen solche Veränderungen zu schützen, ist die installierten Dateien täglich, wöchentlich oder beispielsweise monatlich (je häufiger dieser Test durchgeführt wird, umso weniger Zeit bleibt einem Eindringling auf dem System zu agieren) mittels eine Checksumme zu prüfen und diese mit vorab gespeicherten Werten zu vergleichen. Pakete die einen regelmäßigen Check der installierten Pakete ermöglichen sind: sXid, AIDE (Advanced Intrusion Detection Environment) und Tripwire (die aktuelle Version befindet sich im Bereich non-free, eine der nächsten Versionen wird unter der GPL stehen). Mit dem Paket debsums können alle MD5-Checksummen der installierten Pakete mit der Original Checksumme der Dateien in den Ursprungspaketen verglichen werden. Mittels debsums -a können alle Pakete des Systems oder aber mit debsums paketname bestimmte Pakete hinsichtlich der Checksummen überprüft werden. Hierbei ist zu beachten das es einem versierten Eindringling durchaus möglich ist auch diese Kontrolle der Checksummen zu beeinflussen. Die ursprünglichen Checksummen der Pakete liegen in den Dateien /var/lib/dpkg/info/paketname.md5sums und können von Angreifer auch angepasst werden. Eine höhere Sicherheit bietet wie schon erwähnt das Paket tripwire. 623 Kapitel 20. Systemsicherheit 20.2.2.21. locate und slocate Um die Sicherheit des Programmes locate zu erhöhen, kann alternativ das Programm slocate verwendet werden. slocate ist eine verbesserte Version von locate aus dem GNU Projekt. Wenn slocate verwendet wird, werden dem Benutzer nur Dateien angezeigt auf die dieser Benutzer auch tatsächlich Zugriff hat. Weiterhin können per Konfiguration auch Dateien und Verzeichnisse gezielt ausgeschlossen werde, so das diese nicht von locate in der Datenbank erfasst werden. 20.2.3. Sichere Dienste 20.2.3.1. ssh Ssh sollte generell für alle Remote-Logins auf einem System eingesetzt werden. Wenn Sie noch telnetd einsetzen, so ändern Sie dies jetzt sofort. Heutzutage ist es sehr einfach den Netzwerkverkehr mitzuschneiden und so an unverschlüsselte Benutzernamen und Passwörter zu gelangen. Die Verwendung von Programmen die keine verschlüsselte Kommunikation erlauben verbietet sich somit von selbst. Auch der Einsatz von hochwertigen Netzwerkkompenenten wie Switches erlaubt Angreifern das „mitlauschen“ auf den angeschlossenen Ports! Die meisten Switches schalten bei zu hoher Last einfach das „switching“ ab und arbeiten wie ein normaler Hub! Verlassen Sie sich nie auf diese Komponenten, sorgen Sie selbst für Sicherheit. Das Paket ssh kann mit dem Kommando apt-get install ssh schnell und einfach installiert werden. Nun sollten alle Benutzer angewiesen werden ausschliesslich ssh und keinesfalls telnet zu benutzen. Wenn möglich deinstallieren Sie telnet. Auch sollte ein Login als Superuser unmöglich gemacht werden, um Superuser Rechte zu erlangen können die Kommandos su oder besser sudo benutzt werden. Auch die Konfiguration des ssh Daemons kann zur Erhöhung der Sicherheit noch verbessert werden. In der Datei /etc/ssh/sshd_config verbietet folgende Zeile einen Login via ssh als Superuser: PermitRootLogin No Dies verhindert das per Brute-Force Angriff ein Login als Superuser möglich ist, da kein Login als Superuser erlaubt wird. Es sind nun zwei Login-Vorgänge (zunächst als Benutzer, dieser muss dann noch Superuser werden) notwendig. Listen 666 Wenn der Port auf dem der ssh Daemon läuft verändert wird, so kann dies einen potentiellen Angreifer auch etwas beschäftigen. Es stehen aber verschiedene Netzwerktools zur Verfügung mit deren Hilfe schnell und einfach ermittelt werden kann auf welchem Port ein Dienst läuft. Verwenden Sie hier nicht zuviel Ehrgeiz... PermitEmptyPasswords no Leere Passwörter sollte ebenfalls verhindert werden. AllowUsers alex geka fr Mit dieser Option wird nur bestimmten Benutzern der Login via ssh erlaubt. AllowGroups wheel admin Gleichermassen wird mit dieser Direktive nur bestimmten Gruppen der Zugriff per ssh erlaubt. 624 Kapitel 20. Systemsicherheit Um Benutzern oder Gruppen expliziert den Zugriff zu verbieten, stehen die Optionen DenyUsers und DenyGroups zur Verfügung. PasswordAuthentication no Wird diese Option auf „no“ gesetzt, so ist der Login nur Benutzern gestattet deren ssh-Key der Datei ~/.ssh/authorized_keys hinzugefügt wurde. Diese Einstellung ist sehr empfehlenswert! Bei Verwendung eines Key wird das Passwort nicht mehr von Client zum Server übermittelt. Die Authorisierung wird anhand eines Hashes geprüft und der Client erhält lediglich die Freigabe für den Server, oder auch nicht. Weiterhin ist der SSH Daemon so einzustellen das auschliesslich das Protokoll der Version 2 verwendet wird. Die Protokollversion 1 ist nach aktuellem Kenntnisstand als angreifbar anzusehen und sollte nicht mehr verwendet werden. Alle diese Optionen beziehen sich auf die Konfigurationsdateien von OpenSSH. Momentan sind drei ssh-Pakete im Umlauf: ssh1, ssh2 und OpenSSH, welches vom OpenBSD Team entwickelt wurde. OpenSSH ist eine komplett freie Implementation eines SSH Daemons, welche sowohl ssh1 als auch ssh2 unterstützt. Wenn das Paket „ssh“ installiert wird, so wird das Paket OpenSSH gewählt. 20.2.3.2. FTP Wenn auf dem System tatsächlich ein FTP Server installiert werden muß, so ist sicherzustellen das die Benutzer sich in einer „chroot“ Umgebung bewegen. Diese hält den Benutzer in seinem Homeverzeichnis gefangen, ansonsten könnte er sich frei im Dateisystem bewegen. Mit der Option DefaultRoot ~ im Globalen Abschnitt der Datei /etc/proftpd.conf kann dies sichergestellt werden. Danach ist der Server mit /etc/init.d/proftpd restart von der Veränderung der Konfiguration zu unterrichten. 20.2.3.3. X Anwendungen im Netz Um X Anwendung von einem Server aus auf einem Client darzustellen, ist zunächst auf dem Client das öffnen der Anwendung durch den Server zu erlauben. Vielfach ist zu lesen das dies durch das Kommando xhost + geschieht. Dies ist auch prinzipiell nicht falsch, erlaubt jedoch jedem System den Zugriff auf das X-Display. Besser ist es den Zugriff nur von den gewünschten Systemen aus zu erlauben, indem der entsprechende Rechnername dem Kommando als Option mitgegeben wird, also beispielsweise xhost +sushi. Eine deutlich sicherere Lösung ist es allerdings die komplette Session über ssh und damit verschlüsselt, zu tunneln. Dies erfolgt automatisch wenn eine ssh Verbindung zu einem System aufgebaut wird. Soll diese Funktion abgeschaltet werden, so ist die Option X11Forwarding in der ssh Konfiguration anzupassen. In Zeiten von ssh sollte auf die Verwendung von xhost komplett verzichtet werden. Wenn keinerlei Zugriff auf den X-Server von anderen Systemen im Netz erlaubt werden soll, so ist es das sicherste dies bereits beim Start von X zu verhindern indem der TCP Port 6000 deaktiviert wird. Wenn X über das Kommando startx gestartet wird, so kann dies mit: startx -- -nolisten tcp geschehen. 20.2.3.4. Display Manager Wenn der Displaymanager (das Programm welches einen grafischen Login beritstellt) nur auf dem lokalen System benötigt wird, so ist sicherzustellen das XDMCP (X Display Manager Control Protocol) deaktiviert ist. Wenn das Programm xdm benutzt wird kann dies durch die Zeile DisplayManager.requestPort: 0 625 Kapitel 20. Systemsicherheit in der Datei /etc/X11/xdm/xdm-config geschehen. Die XDMCP Unterstützung ist bei der Grundinstallation alle Display Manager unter Debian deaktiviert. 20.2.3.5. E-Mail Das lesen bzw. empfangen von E-Mail mittels POP3 ist das am häufigsten eingesetzte Protokoll ohne Verschlüsselung. Unabhängig davon ob POP3 oder IMAP als Protokoll verwendet wird, beide benutzen Benutzernamen und Passwörter im Klartext und auch die Daten werden unverschlüsselt übertragen. Als Alternative kann auch hier ssh verwendet werden, falls ein Shell-Account auf dem Rechner vorhanden ist. Mittels fetchmail kann über ssh eine verschlüsselte Verbindung aufgebaut werden, hierzu eine entsprechende .fetchmailrc: poll my-imap-mailserver.org via "localhost" with proto IMAP port 1236 user "ref" there with password "hackme" is alex here warnings 3600 folders .Mail/debian preconnect ’ssh -f -P -C -L 1236:my-imap-mailserver.org:143 -l ref my-imap-mailserver.org sleep 15 < /dev/null > /dev/null’ Die wichtigste Zeile ist der „preconnect“ Eintrag. Dieser startet eine ssh Session und installiert einen Tunnel welcher automatisch die Verbindungen zum IMAP Server auf Port 1236 weiterreicht, verschlüsselt. Alternativ kann fetchmail auch mit SSL benutzt werden. Wenn verschlüsselte IMAP und POP3 Server zur Verfügung gestellt werden sollen, so ist das Paket stunnel zu installieren. Die Daemonen müssen dann über stunnel -p /etc/ssl/certs/stunnel.pem -d pop3s -l /usr/sbin/popd gestartet werden, wobei -l den gewünschten Daemon und -d den Port beschreibt. Die Option -p setzt das SSL Zertifikat. Mittlerweile sind auch POP und IMAP Server verfügbar die über Verschlüsselungsfunktionen mittels SSL verfügen. Als Server für das POP Protokoll wäre hier apop zu nennen. 20.2.3.6. loghost - ein Server für Logdateien Ein „loghost“ ist ein Rechner auf dem Daten aus dem Syslog verschiedener Rechner remote gespeichert werden. Wenn ein Eindringling ein System geknackt hat, so ist es ihm unmöglich die Spuren aus den Logdateien zu entfernen, ausser er knackt auch noch den loghost. Somit sollte speziell ein solcher loghost gut abgesichert sein. Um ein System zu einem loghost umzuwandeln muß lediglich der syslog Daemon mit der Option -r gestartet werden. Natürlich muss aber auch auf allen Rechnern die nun die Daten auf diesem loghost abliefern sollen eine Anpassung erfolgen. Auf diesen Systemem sind in der Datei /etc/syslog.conf folgende Einträge hinzuzufügen: facility.level @loghost Das Feld „facility“ kann dabei den Wert authpriv, cron, cron, daemon, kern, lpr, mail, news, syslog, user, uucp oder local1 bis local7 annehmen. Als „level“ kann alert, crit, err, warning, notice oder info angegeben werden. Hinter dem Zeichen „@“ ist der Name des loghosts anzugeben. Wenn generell alle Einträge auf dem entfernten System gelogt werden sollen, so führt folgende Zeile zum Erfolg:

  • .* @loghost

626 Kapitel 20. Systemsicherheit Im Idealfall wird man die Logdateien sowohl auf dem lokalen System als auch auf dem Loghost speichern um durch vergleichen der Dateien schneller zu Ergebnis zu kommen. Weitere Informationen finden sich in den Manpages zu syslog(3), syslogd(8) und syslog.conf(5). 20.2.3.7. BIND Auf einem unveränderten System läuft der Nameserver BIND nach der Installation mit den Rechten des Benutzers und der Gruppe „root“. BIND kann sehr leicht umkonfiguriert werden, so daß er unter einer anderen Benutzer ID läuft. Leider kann er dann nicht mehr automatisch neue Netzwerkdevices erkennen die während des laufenden Betriebes hinzugefügt wurden, beispielsweise eine PCMCIA Netzwerkkarte in einem Notebook oder auch virtuelle Netzwerkdevices. In der Datei README.Debian des Nameservers finden sich weitere Informationen wie BIND unter einer anderen Benutzer ID zu laufen zu bringen ist. Wenn möglich sollte darauf verzichtet werden BIND mit Superuserrechten zu benutzen. Um BIND mit einer anderen Benutzer ID zu starten muß zunächst ein neuer Benutzer und eine entsprechende Gruppe angelegt werden. Es kann beispielsweise als Benutzername und Gruppe der Name „named“ benutzt werden. Hierzu sind folgende Kommandos notwendig addgroup named adduser --system --ingroup named named Nun muß in der Datei /etc/init.d/bind der Eintrag start-stop-daemon --start in start-stop-daemon --start --quiet --exec /usr/sbin/named -- -g named -u named geändert werden. Natürlich ist BIND nun noch mit /etc/init.d/bind stop und /etc/init.d/bind start neuzustarten. Dabei sollten im syslog (/var/log/syslog) in etwa folgender Eintrag auftauchen: Jul 8 23:21:01 sushi named[12432]: group = named Jul 8 23:21:01 sushi named[12432]: user = named Damit ist die Umstellung abgeschlossen. Idealerweise kann BIND nun noch in einer „chroot“ Umgebung betrieben werden. 20.2.3.8. snort snort ist ein flexibler Packet Sniffer welcher verschiedenste Angriff ermitteln kann. Hierzu gehören Buffer Overflows, CGI Angriffe, SMB Angriffe und vieles mehr. Snort kann Alarmierungen in Echtzeit durchführen. Dieses Programm sollte auf jedem Router installiert sein um jederzeit das Netzwerk zu überwachen. Die Installation erfolgt mit einem apt-get install snort, beantworten Sie die Fragen und werfen Sie dann einen Blick auf die Logdateien. 627 Kapitel 20. Systemsicherheit 20.2.4. Vor einem Einbruch 20.2.4.1. Debian Sicherheits Updates Unmittelbar nach jeder neuen Debian GNU Installation, beispielsweise von CD, sollten die neuesten verfügbaren Security-Updates installiert werden. Durch die notwendigen Vorlaufzeiten bei der Produktion von CDs sind diese natürlich nicht immer auf dem neuesten Stand. Natürlich ist es nicht ausreichend ein solches Update einmalig auszuführen, vielmehr müssen diese Updates in regelmäßigen Abständen durchgeführt werden. Dies verhindert das Software mit bekannten Sicherheitslücken über längere Zeit im laufenden Betrieb verwendet wird. 20.2.4.2. Austausch von Software Zunächst sollten alle Netzwerkdienste deren Passwörter im Klartext übertragen werden, deaktiviert, bzw. gegen Versionen mit verschlüsselter Kommunikation ausgetauscht werden. Dies betrifft Dienste wie FTP/Telnet/NIS/RPC usw.. Auch sollte auf die Verwendung von NIS (Network Information Service) verzichtet werden. Bei einer fehlerhaften Konfiguration kann es leicht zu Sicherheitslücken kommen. Auch sollte RPC deaktiviert werden soweit es möglich ist. Für diesen Dienst sind eine ganze Reihe von Sicherheitslücken bekannt. Natürlich wird grade NFS häufig verwendet und stellt in vielen Netzen einen wichtigen Basisdienst dar. Hier gilt es einen Kompromiss zwischen Sicherheit und Benutzbarkeit der Netzwerkdienste zu finden. Viele DDoS (Distributed Denial of Service) Angriffe benutzen RPC Sicherheitslücken um Systeme zu sogenannten „Agents“ oder „Handlern“ umzuwandeln. Das deaktivieren des Portmapers ist relativ einfach, wie für jede Lösung gibt es auch hier verschiedene Wege. Auf einem Debian System ist der einfachste Weg sicherlich ein update-rc.d portmap remove. Dieses Kommando löscht jeden symbolischen Link auf den Portmaper in /etc/rc${runlevel}.d/. Dies kann natürlich auch auf herkömlichem Wege von Hand erledigt werden. Eine weitere, nicht ganz elegante, Möglichkeit ist es die Zugriffsrechte so zu ändern das das Script nicht mehr ausführbar ist, mittels: chmod 644 /etc/init.d/portmap. Dies würde jedoch zu einer Fehlermeldung beim Start des Systems führen. Natürlich macht es nur wenig Sinn lediglich einen Teil der Dienste von unverschlüsselter auf verschlüsselte Kommunikation umzustellen, hier sollte der Systemadministrator konsequent durchgreifen. Generell sollten die Dienste ftp, telnet, pop, imap, http entfernt und durch die entsprechenden Dienste mit verschlüsselter Kommunikation (ftp-ssl, telnet-ssl, pop-ssl, https) ersetzt werden. 20.2.4.3. Kernel Patches Im Netz sind einige Kernel Patches verfügbar die nicht Bestandteil des Standard Linux Kernels sind, dessen Sicherheit aber verbessern. Vor dem Einsatz ist im Einzelfall zu prüfen ob der gewünschte Patch nicht schon in den gewünschten Kernel eingeflossen ist. Auch erhebt die Auflistung natürlich keinerlei Anspruch auf Vollständigkeit. • OpenWall Patch von „Solar Designer“ Eine Sammlung von Patches die beispielsweise Links beschränken, FIFOs in /tmp/ unterbinden, das /proc-Dateisystem schützen, die Behandlung von Datei-Descriptoren ändern und einiges andere verändern. Momentan werden Kernel der Serien 2.0, 2.2 und 2.4 unterstützt. Detailierte Informationen finden sich auf der Homepage http://www.openwall.com/linux/. • LIDS - Linux intrusion detection system von Huagang Xie und Philippe Biondi. Dieser Patch vereinfacht die Sicherung eines Linux Systems. Jeder Prozess kann beschränkt werden, indem Lese- und Schreibberechtigungen auf Dateien vergeben werden können. Weiterhin können je Prozess „Capabilities“ gesetzt werden. Zum Einsatz von LIDS auf Debian GNU Systemen gibt es eine spezielle Seite im Netz unter http://netzwurm.cc/computer/lids.html. Dort findet sich neben einem vorkonfigurierten Kernel auch ein Paket mit dem Administrationstool. Dieser Patch findet sich auf der Homepage des Projektes unter http://www.lids.org. • POSIX Access Control Lists (ACLs) für Linux. Dieser Patch erweitert den Kernel um Access Control Lists (ACLs), eine Methode um den Zugriff auf Dateien detailierter beschränken zu können. http://acl.bestbits.at 628 Kapitel 20. Systemsicherheit • Linux trustees. Mit diesem Patch wird ein erweitertes System mit Zugriffsrechten dem Kernel hinzugefügt. Alle Objekte werden im Kernel Speicher gehalten, so das ein schneller Zugriff möglich ist. Homepage: http://www.braysystems.com/linux/trustees.html. • International kernel patch. Dieser Patch implementiert cryptografische Dateisysteme im Kernel. Es sind in einigen Ländern die entsprechenden Gesetze zu beachten. Homepage: http://www.kerneli.org. • SubDomain. Mit diesem Patch kann eine noch sicherere chroot Umgebung aufgesetzt werden. Die für die Umgebung benötigten Dateien können einzeln angegeben werden und müssen nicht mit einkompiliert werden. Homepage: http://www.immunix.org/subdomain.html. • UserIPAcct. Dieser Patch bezieht sich nicht direkt auf die Sicherheit eines Systems, erhöht aber die Komtrolle über die unberechenbaren Benutzer. Hiermit können Quotas, bezogen auf den Benutzer, für den Netzwerktraffic vergeben werden. Statistiken sind ebenfalls verfügbar. Homepage: http://rsmeyers.3ti.org/useripacct. • FreeS/WAN. Um IPSec zusammen mit dem Linux Kernel verwenden zu können wird dieser Patch benötigt. Hiermit können VPNs (Virtual Private Network) sehr leicht aufgesetzt werden, zur Not auch mit Windows Rechnern auf der Gegenseite. IPSec ist der für VPNs eingebürgerte Standard. Homepage: http://www.freeswan.org. 20.2.4.4. Weitere Möglichkeiten Im folgenden einige Gedanken wie bisher gesagtes weiterhin umgesetzt werden kann. PAM ist durch den modularen Aufbau in der Lage die verschiedensten Authentifizierung Medien zu nutzen. Wie wäre es mit einem Scanner für Fingerabdrücke oder einem Iris-Scanner? Alle bisherigen Logfiles wurden auch in Files geschrieben. Diese können von einem Angreifer natürlich verändert oder gelöscht werden, auch wenn diese auf anderen Rechnern gespeichert werden. Logfiles die auf einem Drucker mit Endlospapier ausgegeben werden können nicht gelöscht werden! Um das löschen oder das verändern von Dateien zu verhindern kann ein komplettes System einmalig konfiguriert werden und dann auf eine bootfähige CD-ROM geschrieben werden. Natürlich sind so noch Angriffe auf das System möglich, es können aber keine Daten verändert, oder zusätzliche Programme installiert werden. Für ein Firewall System ist dies beispielsweise eine sinnvolle Möglichkeit das System zu schützen. Kernel Module: wenn möglich sollten alle Kernel Treiber nicht als Module übersetzt werden. Dann kann die Möglichkeit Module zu laden komplett deaktiviert werden. So können viele Angriffe abgewehrt werden. Auch hier gilt: nicht benutzte Funktionen sind abzuschalten. 20.2.5. Nach einem Einbruch... Nach einem Einbruch gibt es nicht viel zu tun. Das System ist sofort vom Netz zu nehmen und komplett neu zu installieren. Einfach, nicht war? Natürlich gilt es herauszufinden wie der Eindringling auf das System gekommen ist. Dies geschieht in einer abgeschotteten Umgebung, also ohne Netzzugang für das betroffene System. Es sind zur späteren weiteren Analyse alle Daten auf einem geeigneten Medium zu sichern. Gegebenenfalls ist eine Meldung an ein CERT zu erstellen und dort der Einbruch zu melden. Ist eine Strafverfolgung des Einbruchs vorgesehen oder geplant, so ist ggf. auf professionelle Unterstützung zurückzugreifen. Weiterhin sind auf dem neuen System alle notwendigen, vorab beschriebenen Sicherheitsvorkehrungen zu treffen. 629 Kapitel 21. Anpassen und Erzeugen von Debian Paketen Wenn Sie sich schon einige Zeit intensiver mit Debian auseinandergesetzt haben, so kommt vielleicht der Wunsch auf, eigene Pakete für das lokale System zu erzeugen. Vielleicht wollen Sie aber auch Pakete für Freunde bereitstellen oder sogar an der Debian Entwicklung teilhaben. Auch wenn es bei einigen tausend Debian Paketen schwer fällt, für einen Anwendungsbereich keine passende Software zu finden, so kann es doch sinnvoll sein, bestehende Pakete anzupassen (beispielsweise mit einer entsprechenden Konfiguration für das lokale Netzwerk) oder gar komplett neue Pakete zu erzeugen, die noch nicht als Debian Paket verfügbar sind. Für beide Probleme finden Sie in diesem Abschnitt eine Lösung. 21.1. Debian Pakete anpassen Das Anpassen von vorhandenen Debian Paketen kann aus verschiedenen Gründen sinnvoll sein. Es kann vorkommen, dass ein Paket auf der verwendeten Release Version von Debian (noch) nicht verfügbar ist, dass andere Flags zur Übersetzung mit dem Compiler verwendet werden sollen, oder dass das Paket auf einer anderen Hardwarearchitektur benutzt werden soll. Auch Anpassungen an den Init-Scripten sind unter Umständen sinnvoll. Zunächst sind von dem gewünschten Paket die entsprechenden Dateien mit den Endungen .dsc (Description / Beschreibung), .diff.gz (die für Debian vorgenommenen Änderungen) und .tar.gz (die eigentlichen Sourcen des Programmes) von Debian FTP Server zu holen. Für das Paket „gato“ finden sich auf dem Debian FTP-Server im Verzeichnis /debian/dists/woody/main/source/admin die Dateien gato_0.6.4-2.diff.gz, gato_0.6.4-2.dsc und gato_0.6.4.orig.tar.gz. Im nächsten Schritt sind die Sourcen des Paketes zu entpacken. Dies geschieht nicht wie sonst bei Sourcepaketen üblich mit dem Kommando tar (dieses würde lediglich die Original Sourcen entpacken) sondern mit dem Kommando dpkg-source -x *.dsc. Hierbei werden zusätzlich die für das Debian Paket vorgenommenen Veränderungen (Patches) und alle Dateien, die sich im Verzeichnis debian/ befinden, entpackt. Die Sourcen befinden sich in einem neuen Verzeichnis, welches sich aus dem Paketnamen und der Programmversion zusammensetzt. Wechseln Sie in dieses Verzeichnis. Nun können die gewünschten Veränderungen an den Sourcen vorgenommen werden. Wenn Sie Veränderungen oder Ergänzungen an Dateien im Verzeichnis debian/ vornehmen, so ist darauf zu achten das unter Umständen auch Veränderungen oder Anpassungen in der Datei debian/rules notwendig sind. Mehr zu den Funktionen der einzelnen Dateien erfahren Sie im nächsten Abschnitt. Abschliessend kann das Paket mit dpkg-buildpackage -us -uc -rfakeroot erstellt werden. Weitere Optionen von dpkg-buildpackage finden Sie ebenfalls im nächsten Abschnitt beschrieben. 21.2. Debian Pakete erzeugen Wenn Sie ein komplett neues Debian Paket erzeugen wollen, sei es weil zu den Sourcen noch kein Paket vorhanden ist oder weil Sie selber eine Software entwickelt haben, die Sie als Debian Paket zur Verfügung stellen wollen, so stehen Ihnen auch dafür unter Debian einige Hilfsmittel zur Verfügung. Zunächst sollten Sie sich die Sourcen des gewünschten Paketes besorgen und ein Unterverzeichnis für das neue Projekt erzeugen. Am Beispiel des Programmes dtcltiny, einem Client zur Steuerung von digitalen Modellbahnen, sollen die einzelnen Schritte vorgestellt werden. Die Sourcen diese Programmes finden Sie unter http://www.markus-pfeiffer.de. Natürlich können Sie auch ein beliebiges anderes Programm benutzen von dem Sie ein Debian Paket erzeugen möchten. Sie müssen dann aber ggf. an einigen Stellen etwas Kreativität einsetzen, da die hier gezeigten Beispiele sich nicht 1:1 übertragen lassen. Es ist überigens nicht zwingend notwendig das die Sourcen zu einem Programm verfügbar sind. Natürlich können Sie auch Debian Pakete von Programmen im Binärformat erstellen oder auch Dokumentation, beispielsweise im PDF Format, zu einem Paket packen. Wechseln Sie nun in das Unterverzeichnis und entpacken Sie die Sourcen des Programmes: 630 Kapitel 21. Anpassen und Erzeugen von Debian Paketen fr@debian:~/Daten/debian-pakete$ mkdir dtcltiny fr@debian:~/Daten/debian-pakete$ cd dtcltiny fr@debian:~/Daten/debian-pakete/dtcltiny$ tar xvfz ../../../dtcltiny-0.3.4.tgz dtcltiny-0.3.4/ dtcltiny-0.3.4/Makefile.am dtcltiny-0.3.4/acinclude.m4 dtcltiny-0.3.4/Makefile.dist ... dtcltiny-0.3.4/dtcltiny/InfoPort.moc.o dtcltiny-0.3.4/dtcltiny/.libs/ dtcltiny-0.3.4/configure dtcltiny-0.3.4/stamp-h Wichtig ist hierbei, dass das entstehende Unterverzeichnis schon aus dem Programmnamen und der Versionsnummer besteht. Sollte dies nicht so sein, muß das Verzeichnis entsprechend umbenannt werden. Im nächsten Schritt ist in das Verzeichnis zu wechseln und das Programm dh_make aufzurufen. fr@debian:~/Daten/debian-pakete/dtcltiny$ cd dtcltiny-0.3.4/ fr@debian:~/Daten/debian-pakete/dtcltiny/dtcltiny-0.3.4$ dh_make Type of package: single binary, multiple binary, or library? [s/m/l] s Maintainer name : Frank Ronneburg Email-Address : fr@unknown Date : Tue, 13 Nov 2001 21:56:17 +0100 Package Name : dtcltiny Version : 0.3.4 Type of Package : Single Hit <enter> to confirm: Done. Please edit the files in the debian/ subdirectory now. dtcltiny uses a configure script, so you probably don’t have to edit the Makefiles. dh_make erzeugt ein Unterverzeichnis, debian/ in dem sich Vorlagen für alle notwendigen Dateien zur Erzeugung eines Debian Paketes befinden. dh_make bietet die Möglichkeit verschiedene Pakettypen zu erzeugen, für ein einfaches Paket wie in diesem Beispiel ist „single binary“ die richtige Wahl. Abschliessend wird noch der Hinweis ausgegeben, dass sich im Unterverzeichnis debian/ einige Dateien befinden, auf die nochmal ein Blick geworfen werden sollte. Weiterhin wird darauf hingewiesen, dass in den Sourcen von dtcltiny ein configure Script enthalten ist und somit Änderungen am Makefile wahrscheinlich unnötig sind. Neben dem Verzeichnis debian/ wurde im darüber liegenden Verzeichnis noch eine Kopie des gesamten Verzeichnisbaumes angelegt. Dieser wurde um die Endung .orig ergänzt. Bei genauer Betrachtung des Beispiels ist vielleicht aufgefallen, dass die E-Mail Adressen nicht korrekt erkannt wurde, ein nettes Beispiel also, so kommen wir nicht um einen Blick ins Verzeichnis debian/ herum ;-). 21.2.1. README.Debian Die Datei README.Debian enthält Informationen zu den Besonderheiten des Debian Paketes. Wenn Veränderungen oder Ergänzungen gegenüber dem Source Paket vorgenommen werden, so sollten diese hier vermerkt werden. Achten Sie darauf in der letzten Zeile die E-Mail Adresse anzupassen. Eine bereits veränderte Version könnte wie folgt aussehen: dtcltiny for Debian

Ergänzungen: - dtcltiny in dtcltiny.bin umbenannt. - dtcltiny ist ein wrapper, wenn vorhanden wird eine Konfigdatei .dtcltiny.data aus dem Homeverzeichnis des Benutzers geladen. - In /usr/share/doc/dtcltiny/ findet sich eine 631 Kapitel 21. Anpassen und Erzeugen von Debian Paketen Beispielkonfigurationsdatei (SAMPLE.dtcltiny.data) -*- Frank Ronneburg <fr@openoffice.de>, Tue, 6 Nov 2001 22:29:53 +0100 Wenn Sie ein offizielles Debian Paket erstellen wollen oder auch nur das Paket im Netz verfügbar machen, so sollte die komplette Dokumentation, also auch Kommentare, in englischer Sprache erstellt werden. Bei Paketen für den privaten Gebrauch bleibt Ihnen die Wahl der Sprache natürlich überlassen. Wenn keine weiteren Veränderungen an den Sourcen, der Dokumentatiion oder den Scripten des Programmes notwendig waren, so kann diese Datei auch einfach gelöscht werden. 21.2.2. files Diese Datei enthält lediglich den Paketnamen, den Bereich sowie die Priorität des Paketes. dclttiny_0.3.4-1_i386.deb misc optional 21.2.3. changelog In dieser Datei werden Veränderungen zwischen den einzelnen Paketversionen (changes) dokumentiert. Sie sollten hier bei einer aktualisierten Version des Paketes die Veränderungen gegenüber der vorhergehenden Version dokumentieren. Sollte sich das Programm auf einem System plötzlich anders verhalten, so lassen sich meisten aus den Angaben in dieser Datei Rückschlüsse ziehen ob diese Veränderung beabsichtigt war. dtcltiny (0.3.4-1) unstable; urgency=low

  • Initial Release.

-*- Frank Ronneburg <fr@openoffice.de> Tue, 6 Nov 2001 22:29:53 +0100 Local variables: mode: debian-changelog End: 21.2.4. copyright In dieser Datei finden sich Hinweise zum Copyright dieses Paketes. Es können die gesamten Copyright Informationen hier aufgeführt werden, bei Paketen, die einer weit verbreiteten Lizenz unterliegen, reicht auch ein kurzer Hinweis, wo die Lizenz zu finden ist. Hier ein Beispiel für eine Software die der GPL unterliegt. Hier gibt es immer wieder Diskussionen unter den Debian Entwicklern. Insbesondere bei Paketen die der GPL unterliegen gehen die Meinungen auseinander. Grundsätzlich sollte, um Missverständnisse zu vermeiden, zu jedem Paket die Lizenz mitgeliefert werden. Die GPL hat in der aktuellen Version 2 eine Größe von ca. 18 kB. Das ist nicht sehr viel, wenn man die aber mit einigen tausend Paketen multipliziert so kommt doch eine beachtliche Menge an Speicherplatz zusammen. Es wurde vereinbart im Verzeichnis /usr/share/common-licenses/ jeweils eine Version der gebräuchlisten Lizenzen abzulegen und in jedem Paket nur auf die entsprechende Stelle zu verweisen. Somit ist sichergestellt das die Lizenz auf jedem Debian System installiert ist. Das folgende Beispiel zeigt eine solche Datei mit einem Hinweis auf die GPL. This package was debianized by Frank Ronneburg <fr@openoffice.de> on Tue, 6 Nov 2001 22:29:53 +0100. It was downloaded from http://www.markus-pfeiffer.de/ 632 Kapitel 21. Anpassen und Erzeugen von Debian Paketen Upstream Author(s): Markus Pfeiffer <dtcltiny@markus-pfeiffer.de> This code is released under the terms of the GPL license. See /usr/share/common-licenses/GPL for the full license. 21.2.5. control Die Datei control enthält verschiedenste Angaben zu dem Paket. Wichtig ist hier die Zeile Section:, dies ist der Bereich, in dem das Paket in der Debian Paketstruktur erscheint. Die Zeile Description: enthält in einer Zeile eine kurze Beschreibung des Paketes. Alle weiteren Zeilen müssen mit einem Leerzeichen beginnen und beschreiben das Paket ausführlich. Auch diese Texte sollten in englischer Sprache verfasst werden (das hier gezeigte Beispiel spiegelt lediglich den Zeitmangel des Autors wider...). Source: dtcltiny Section: x11 Priority: optional Maintainer: Frank Ronneburg <fr@openoffice.de> Build-Depends: debhelper (>> 3.0.0) Standards-Version: 3.5.2 Package: dtcltiny Architecture: any Depends: ${shlibs:Depends} Description: Control Locomotives on a Model Railroad, needs SRCP Server (eg. erddcd) dtcltiny ist ein Programm, mit dem man Loks auf einer Modellbahn steuern kann, die mit einem Digitaldecoder ausgerüstet sind. Es stellt für jede Lok einen Regler zur Verfügung, mit dem man die Geschwindigkeit, Fahrtrichtung und Sonderfunktionen einstellen kann. Nebenbei bietet es noch die Möglichkeit, Decoder nach dem NMRA-DCC Standard und Uhlenbrock-Decoder zu Programmieren. Die meisten der verwendeten Schlüsselwörter sollten selbsterklärend sein. Source: beschreibt den Namen der Sourcen des Paketes, mit Priority: kann bestimmt werden ob auf das Paket verzichtet werden kann (optional) oder ob das Paket zwingend notwendig für das System ist. Die Zeile Maintainer: enthält den Namen und die E-Mail Adresse des Paketbetreuers, diese Angaben sind in der gezeigten Schreibweise anzugeben. Build-Depends: beschreibt die Abhängigkeiten des Paketes. Mit dem Schlüsselwort Package: wird der Paketname des Binärpaketes beschrieben, die folgende Zeile Architecture: bezeichnet für welche Architekturen das Paket verwendet werden kann. Die kann beispielsweise i386, powerpc, alpha usw. sein, oder wie hier gezeigt das Schlüsselwort any für alle Architekturen. 21.2.6. rules In dieser Datei werden die Regeln zur Erstellung des Paketes definiert. Sollte der von Ihnen verwendete Source Code kein Makefile enthalten oder auch kein configure verwenden, so müssen Sie in dieser Datei die notwendigen Schritte zum erfolgreichen Übersetzen des Paketes beschreiben. Im hier gezeigten Beispiel wurde make ($(MAKE)) mit der Option -j 6 ergänzt, um die Übersetzung etwas zu beschleunigen. Eventuell kann es, beispielsweise bei Paketen die ausschliesslich Dokumentation enthalten, notwendig sein alle Zeilen die make aufrufen auszukommentieren. Sie müssen dann durch geeignete Einträge in der Datei selbst dafür sorgen das die Dateien an die richtige Stelle im Dateisystem kopiert werden. Die hier gezeigte Version wurde bereits an einigen Stellen angepasst. Im Abschnitt install: build sind einige Regeln definiert worden, mit denen das Binary durch ein Script ersetzt wird. Weiterhin wird ein Konfigfile als Beispiel im Dokumentationsverzeichnis abgelegt.

  1. !/usr/bin/make -f
  2. Sample debian/rules that uses debhelper.
  3. GNU copyright 1997 to 1999 by Joey Hess.
  4. Uncomment this to turn on verbose mode.

633 Kapitel 21. Anpassen und Erzeugen von Debian Paketen

  1. export DH_VERBOSE=1
  2. This is the debhelper compatability version to use.

export DH_COMPAT=3 configure: configure-stamp configure-stamp: dh_testdir

  1. Add here commands to configure the package.
  2. ./configure -*-prefix=/usr -*-mandir=\$${prefix}/share/man -*-infodir=\$${prefix}/share/info

./configure -*-prefix=/usr -*-program-suffix=.bin touch configure-stamp build: configure-stamp build-stamp build-stamp: dh_testdir

  1. Add here commands to compile the package.

$(MAKE) -j 6

  1. /usr/bin/docbook-to-man debian/dtcltiny.sgml > dtcltiny.1

touch build-stamp clean: dh_testdir dh_testroot rm -f build-stamp configure-stamp

  1. Add here commands to clean up after the build process.

-$(MAKE) clean dh_clean install: build dh_testdir dh_testroot dh_clean -k dh_installdirs

  1. Add here commands to install the package into debian/dtcltiny.

mkdir -p $(CURDIR)/debian/dtcltiny/usr $(MAKE) install prefix=$(CURDIR)/debian/dtcltiny/usr cp $(CURDIR)/debian/dtcltiny.sh $(CURDIR)/debian/dtcltiny/usr/bin/dtcltiny chmod a+x $(CURDIR)/debian/dtcltiny/usr/bin/dtcltiny

  1. Demo Konfigfile

mkdir -p $(CURDIR)/debian/dtcltiny/usr/share/doc/dtcltiny/ cp /home/fr/.dtcltiny.data $(CURDIR)/debian/dtcltiny/usr/share/doc/dtcltiny/SAMPLE.dtcltiny.data

  1. Build architecture-independent files here.

binary-indep: build install

  1. We have nothing to do by default.
  2. Build architecture-dependent files here.

binary-arch: build install dh_testdir dh_testroot

  1. dh_installdebconf

dh_installdocs dh_installexamples dh_installmenu 634 Kapitel 21. Anpassen und Erzeugen von Debian Paketen

  1. dh_installlogrotate
  2. dh_installemacsen
  3. dh_installpam
  4. dh_installmime
  5. dh_installinit

dh_installcron dh_installman dh_installinfo

  1. dh_undocumented

dh_installchangelogs ChangeLog dh_link dh_strip dh_compress dh_fixperms

  1. dh_makeshlibs

dh_installdeb

  1. dh_perl

dh_shlibdeps dh_gencontrol dh_md5sums dh_builddeb binary: binary-indep binary-arch .PHONY: build clean binary-indep binary-arch binary install configure 21.2.7. menu Mit dem Debian Menüsystem können Anwendungen, unabhängig von der verwendeten Benutzeroberfläche, in die Menüs eingebunden werden. Bei der Verwendung eines Icons ist darauf zu achten, dass dieses auch tatsächlich vorhanden ist. Gegebenenfalls muss das Icon mit dem Paket zusammen installiert werden. Das hier verwendete Beispiel verwendet ein Icon aus dem Gnome Paket. ?package(dtcltiny):needs=X11 section=Apps/Tools icon="/usr/share/pixmaps/gnome-diskfree.png"\ title="dtcltiny" command="/usr/bin/dtcltiny" Neben dem Paketnamen finden sich in dieser Datei weitere Angaben welche Benutzeroberfläche das Programm benötigt und in welchen Menüzweig es erscheinen soll. Das Schlüsselwort title beschreibt den Text der im Menü angezeigt wird, command schliesslich enthält den kompletten Pfad und den Programmnamen. 21.2.8. postinst, preinst, postrm, prerm Diese vier Dateien enthalten Informationen die vor (pre) oder nach (post) der Installation des Paketes ausgeführt werden sollen. Hier nur ein Beispiel: Alle in der Datei postinst enthaltenen Kommandos werden nach (post) der Installation (inst) des Paketes ausgeführt. Durch dh_make wurde im Verzeichnis debian/ eine Vorlage erzeugt (postinst.ex), die umbenannt und mit Inhalten gefüllt werden kann.

  1. ! /bin/sh
  2. postinst script for erddcd
  3. see: dh_installdeb(1)

set -e

  1. summary of how this script can be called:
  2. * <postinst> ‘configure’ <most-recently-configured-version>
  3. * <old-postinst> ‘abort-upgrade’ <new version>
  4. * <conflictor’s-postinst> ‘abort-remove’ ‘in-favour’ <package>
  5. <new-version>

635 Kapitel 21. Anpassen und Erzeugen von Debian Paketen

  1. * <deconfigured’s-postinst> ‘abort-deconfigure’ ‘in-favour’
  2. <failed-install-package> <version> ‘removing’
  3. <conflicting-package> <version>
  4. for details, see /usr/share/doc/packaging-manual/
  5. quoting from the policy:
  6. Any necessary prompting should almost always be confined to the
  7. post-installation script, and should be protected with a conditional
  8. so that unnecessary prompting doesn’t happen if a package’s
  9. installation fails and the ‘postinst’ is called with ‘abort-upgrade’,
  10. ‘abort-remove’ or ‘abort-deconfigure’.

case "$1" in configure)

abort-upgrade|abort-remove|abort-deconfigure)

  • )

echo "postinst called with unknown argument \‘$1’" >&2 exit 0

esac

  1. dh_installdeb will replace this with shell code automatically
  2. generated by other debhelper scripts.
  3. DEBHELPER#

exit 0 Das Script kann während der Installation mit verschiedenen Parametern aufgerufen werden. Entsprechende Abschnitte in der Vorlage können mit den gewünschten Kommandos gefüllt werden. Wenn alle Anpassungen an den Dateien im Verzeichnis debian/ vorgenommen wurden, so kann versucht werden, mit dem Kommando dpkg-buildpackage ein Debian Paket zu erzeugen. Hierbei ist zu beachten, dass das Kommando im Verzeichnis mit den entpackten Quelldateien ausgeführt wird. 21.2.9. dpkg-buildpackage Nachdem die Vorbereitungen an den Dateien im Verzeichnis debian/ abgeschlossen sind, kann mit dem Programm dpkg-buildpackage das Paket erstellt werden. dpkg-buildpackage wird ohne weitere Parameter versuchen die Sourcen und die Changes Datei des Paketes digital zu signieren. Hierzu wird ein vorhandener GnuPG Key benutzt. Ist kein solcher Key erzeugt worden, so kann das signieren mit den Optionen -us (unsigned source) und -uc (unsigned changes) verhindert werden. Im einfachsten Fall genügt also das Kommando dpkg-buildpackage -us -uc (als „root“) um das Paket zu erzeugen. dpkg-buildpackage verfügt natürlich noch über viele weitere Optionen debian:~# dpkg-buildpackage --help dpkg-buildpackage: unknown option or argument --help Debian dpkg-buildpackage . Copyright (C) 1996 Ian Jackson. Copyright (C) 2000 Wichert Akkerman This is free software; see the GNU General Public Licence version 2 636 Kapitel 21. Anpassen und Erzeugen von Debian Paketen or later for copying conditions. There is NO warranty. Usage: dpkg-buildpackage [options] Options: -r<gain-root-command> -p<sign-command> -d do not check build dependencies and conflicts -D check build dependencies and conflicts -k<keyid> the key to use for signing -sgpg the sign-command is called like GPG -spgp the sign-command is called like PGP -us unsigned source -uc unsigned changes -a<arch> Debian architecture we build for (implies -d) -b binary-only, do not build source } also passed to -B binary-only, no arch-indep files } dpkg-genchanges -S source only, no binary files } -t<system> set GNU system type } passed to dpkg-architecture -v<version> changes since version <version> } -m<maint> maintainer for package is <maint> } -e<maint> maintainer for release is <maint> } only passed -C<descfile> changes are described in <descfile> } to dpkg- -si (default) src includes orig for rev. 0 or 1 } genchanges -sa uploaded src always includes orig } -sd uploaded src is diff and .dsc only } -nc do not clean source tree (implies -b) -tc clean source tree when finished -ap add pause before starting signature process -h print this message -W Turn certain errors into warnings. } passed to -E When -W is turned on, -E turned it off. } dpkg-source -i[<regex>] ignore diffs of files matching regex } only passed to dpkg-source dpkg-buildpackage benötigt eine Umgebung die der späteren Installationsumgebung ähnlich ist. Das Paket kann als Superuser (root) erzeugt werden um dies zu gewährleisten. Nun macht es wenig Sinn einen GnuPG-Key für den Superuser zu erzeugen. Um dieses Problem zu umgehen, dient die Option -r, direkt gefolgt von einem Kommando, welches es Benutzer erlaubt, Kommandos als Superuser auszuführen bzw. eine virtuelle root-Umgebung schafft. Dies kann beispielsweise das Kommando fakeroot oder sudo sein, ggf. ist natürlich die Konfiguration des Programmes (sudo) für diesen Benutzer anzupassen. Viele der weiteren Optionen können und sollten in den Konfigurationsdateien im Verzeichnis debian/ definiert werden, bei Bedarf können diese aber auch auf der Kommandozeile angepasst werden. 21.3. Package Dateien Die selbst erstellten Pakete können natürlich einfach mit dpkg -i paket.deb installiert werden, eleganter ist es jedoch, die Pakete komplett in die Debian Paketverwaltung einzubinden so das alle Informationen des Paketes über die Paketverwaltungstools verfügbar sind. Sie können so auch Pakete im Netz bereitstellen die dann automatisch auf allen Systemen die darauf zugreifen bei Veränderungen aktualisiert werden. Die notwendigen Informationen sind natürlich in den erzeugten Paketen enthalten und müssen aus diesen extrahiert werden. Auf dem Server, der die Pakete zur Verfügung stellt, stehen die gesammelten Informationen in der Datei Packages. Diese wird bei einem Update durch apt oder dselect eingelesen. Zum Erzeugen einer Packages-Datei dient das Programm dpkg-scanpackages. Wenn Sie beispielsweise Pakete für die Gruppe „misc“ erzeugt haben, so lautet der Aufruf wie folgt: dpkg-scanpackages misc override.woody.main.gz dists/woody/main/binary-all/ > Packages. Die Datei override.woody.main.gz finden Sie ebenfalls auf dem Debian FTP-Server im Verzeichnis /indices/. 637 Kapitel 21. Anpassen und Erzeugen von Debian Paketen Wenn kein kompletter Verzeichnisbaum für die Pakete existiert, so kann der Pfad - wie hier gezeigt - auf der Kommandozeile angegeben werden. Um die Pakete nun auf einem Server bereitzustellen, muss noch ein entsprechender Eintrag in der Datei /etc/apt/sources.list vorgenommen werden. Eine passende Kombination stellt folgendes Beispiel dar: % cd /wo/die/pakete/liegen % dpkg-scanpackages . /dev/null > Packages && gzip -9c Packages > Packages.gz Dieses erzeugt zunächst die Datei „Packages“ und eine mit gzip komprimierte Version dieser Datei. Der passende Eintrag für die Datei sources.list müsste dann wie folgt aussehen deb http://www.mein.server.name.domain/wo/die/pakete/liegen ./ 638 Kapitel 22. Modellbahnen Modellbahnen: viele von uns haben sicher in ihrer Jugend einige Schienen, Loks und Wagen besessen. Vielleicht findet sich bei dem ein oder anderen noch eine Kiste mit den Jugenderinnerungen im Keller, die unter anderem durch das Hobby Computer vernachlässigt wurde. Warum nicht einfach die beiden Hobbys miteinander verbinden? Die Modellbahnindustrie hat der zunehmenden Verbreitung von Computern Rechnung getragen und in den letzten Jahren Systeme zur Steuerung von kompletten Modellbahnanlagen auf den Markt gebracht. Neben den Lokomotiven können damit auch Weichen und Zubehörartikel wie Kräne via Computer gesteuert werden. 22.1. Herkömmliche Systeme Urspünglich wurden elektrische Modellbahnen (auf dem Markt fanden oder finden sich auch Dampf- bzw. Uhrwerkgetriebene Modellbahnen) über einen regelbaren Transformator mit Strom versorgt. Verschiedene Hersteller setzen hier auf unterschiedliche Konzepte. So sind mit Gleich- oder Wechselspannung betriebene Systeme auf dem Markt. Eine weitere Unterscheidung bietet die Stromzuführung nur über die Schienen (2-Leiter) oder über die, hier elektrisch verbundenen Schienen und einen zusätzlichen Mittelleiter (3-Leiter). Verschiedene Hersteller wie Märklin, Fleischmann, Trix usw. brachten Modelle für diese Systeme auf den Markt, leider waren nicht alle untereinander kompatibel. Mit einem immer größer werdenden Fuhrpark entstand der Wunsch mehrere Lokomotiven gleichzeitig auf der Anlage betreiben zu können. Mit den erhältlichen regelbaren Transformatoren konnte je Gleisabschnitt nur jeweils eine Lokomotive individuell gesteuert werden. Aufwendige Schaltungen für getrennte Gleisabschnitte mussten elektrisch oder elektronisch in auswendiger Handarbeit erstellt werden. Für Magnetartikel wie zum Beispiel Weichen, wurde eine aufwendige Verkabelung zu einem Steuerpult notwendig, dort wurden dann über Taster oder Schalter die einzelnen Weichen angesteuert. Eine Erleichterung brachten die Elektronischen Steuerungen, sei es als Impulsbreiten-Steuerung für die Lokomotiven um das Fahrverhalten zu verbessern oder aber elektronische Steuerungen von ganzen Weichenstraßen. Das Problem der Verkabelung wurde damit jedoch nicht gelöst. 22.2. Digitale Systeme Die Lösung brachten die sogenannten Digitalsysteme, welche von verschiedenen Herstellern auf den Markt gebracht wurden, leider gab es auch hier wieder unterschiedliche, zueinander inkompatible Systeme. Als erster Hersteller kam Märklin mit einem digitalen System auf den Markt, dieses System wird heute als „Märklin Motorola“ (MM) bezeichnet. Weiterhin hat sich DCC (Digital Command Control) der NMRA (National Model Railroad Association) durchgesetzt. Mittlerweile sind Zentralen auf dem Markt die Lokomotiven und Decoder verschiedener Hersteller gleichzeitig ansprechen können. Eine digital gesteuerte Modellbahn benötigt natürlich auch einen Transformator, welcher die Netzspannung auf ein ungefährliches Mass reduziert. Meist kann hier zunächst auch der alte, regelbare Transformator eingesetzt werden. Das Digitalsystem wird dabei am nicht-geregelten Ausgang des Transformators angeschlossen, dieser diente bisher für die Versorgung von Magnetartikeln oder für die Beleuchtung. Für größere Anlagen auf denen zwei oder mehr Züge gleichzeitig verkehren sollen, ist die Anschaffung eines leistungsfähigeren Transformators zu empfehlen. Neben dem Transformator besteht ein Digitalsystem aus einer Zentraleinheit sowie verschiedenen Geräten zur Steuerung der Lokomotiven und der Magnetartikel wie z.B. Weichen, Beleuchtung usw. Hier ein Beispiel für eine Mögliche Kombination zum Betrieb einer kleinen Anlage 639 Kapitel 22. Modellbahnen Abbildung 22-1. Digitale Steuerung - Bedienelemente Das hier vorgestellte Beispiel zeigt einige Digital-Komponenten des Herstellers Märklin. Da der Autor dieser Zeilen auch über ein solches System verfügt, wird im folgenden auch weiterhin auf das Märklin Digital System eingegangen. Sollten Sie ein anderes System einsetzen, so können Sie die im folgenden beschriebenen Schritte aber durchaus als Leitfaden sehen. Passende Software finden Sie sicherlich über die Suchmaschinen im Internet, die hier vorgestellten Links können ebenfalls als Startpunkt für Ihre Suche dienen. Wenn Sie bereits über eine Digital aufgerüstete Modellbahnanlage verfügen, so können Sie diese mit den im folgenden vorgestellten Programmen aufwerten und über Ihren Computer steuern. Sollten Sie das System jedoch noch im herkömlichen Betrieb fahren, so sind zunächst einige Hardwarekomponenten zu beschaffen. 22.3. Hardware Für den digitalen Betrieb einer Modellbahnanlage sind zunächst einige Hardwarekomponenten anzuschaffen. Eine digital gesteuerte Modellbahnanlage besteht aus einem Trafo und einer Bedieneinheit mit der der Lokführer die Lokomotiven und Magnetartikel steuern kann. Bei größeren Anlagen kommen noch weitere Komponenten wie Leistungsverstärker (Booster), weitere Bedieneinheiten (Central Unit oder Keyboard) hinzu. Bei der hier beschriebenen Steuerung der Anlage durch ein GNU/Linux System kann komplett auf die Bedienelemente und die Zentrale des Digitalsystems verzichtet werden. Die komplette Funktion der Zentrale wird durch einen Serverprozess nachgebildet.Wie schon beschrieben benötigen Sie zunächst auf alle Fälle einen Transformator, für die ersten Versuche ist ein vorhandener Transformator Ihrer alten Anlage meist ausreichend. Weiterhin wird ein „Booster“ benötigt, welcher einerseits die Spannung an das Gleis liefert und andererseits diese mit einem digitalen Steuerungssignal überlagert. Weiterhin muß dieser Booster mit einer seriellen Schnittstelle ausgestattet sein über die der Computer verbunden werden kann. Märklin hat bzw. hatte verschiedene Geräte auf dem Markt, die hierfür in Frage kommen. Neben dem recht preiswerten Delta Control 6604 können auch die Digital Booster 6015 und 6017 und andere eingesetzt werden. Die Verbindung des Boosters oder des Interface erfolgt über ein serielles Kabel, dieses ist ggf. mit einigen Bauteilen auszustatten. Wenn Sie über keinerlei Erfahrungen mit elektronischen Bauelementen verfügen und nicht wissen auf welcher Seite ein Lötkolben heiss wird, so lassen Sie die Finger von Selbstbau eines solchen Kabels und schreiben Sie lieber dem Autor dieser Zeilen eine nette E-Mail, vielleicht wird Ihnen geholfen... Für den geübten Bastler stellt ein solches Kabel keine große Herausforderung dar, alle Bauteile lassen sich im Gehäuse des DIN Steckers unterbringen. Hier das Schaltbild für das Kabel für den Betrieb mit dem Märklin Booster 6015 oder 6017. Beachten Sie die unterschiedliche Belegung der Anschlüsse, je nachdem ob Sie den Booster 6015 oder 6017 einsetzen. Auf der PC-Seite können bei älteren Systemen durchaus noch 25 polige serielle Anschlüsse vorhanden sein. Neuere PC Modelle sind generell mit 9 poligen seriellen Anschlüssen ausgestattet. 640 Kapitel 22. Modellbahnen Abbildung 22-2. Digitale Steuerung - Kabel 6015/6017 Für das DELTA-Control 6604 ist ein anderes Kabel zum Anschluss an die serielle Schnittstelle notwendig. Abbildung 22-3. Digitale Steuerung - Kabel 6604 Wenn Sie bereits ein etwas älteres Digitalsystem besitzen, so können Sie statt des Boosters auch die Central Unit (6020 oder 6021) und das Interface (6050 oder 6051) einsetzen. Dabei ist zu beachten das ein anderen 641 Kapitel 22. Modellbahnen Server eingesetzt werden muss, doch dazu finden Sie im Abschnitt über die Software genauere Informationen. Das Kabel zum Anschluß des Interface (6050 oder 6051) ist sehr einfach herzustellen. Interface 6050/6051 Computer 6 pol DIN Stecker 9 pol DSUB Buchse 1 3 4 2 5 8 3 5 Brücke: 4 - 6 - 1 22.3.1. Decoder Zuletzt müssen noch die Lokomotiven mit einem Decoder ausgestattet werden, falls nicht schon Lokomotiven vorhanden sind die von Hause aus mit Decodern für den Digitalbetrieb ausgeliefert werden. Es sind die verschiedensten Arten von Dekodern am Markt verfügbar, eine Einbauanleitung wird mit jedem Decoder mitgeliefert. Neuere Lokmodelle sind von Hause aus schon mit einem Decoder bestückt, Anfang 2002 sind im Märklin Programm nur noch eine Handvoll Modelle enthalten die nicht für den Digitalbetrieb geeignet sind. Für den Einsatz auf Märklin Digital Anlagen sind natürlich Decoder aus dem gleichen Hause bestens geeignet. Preiswertere Varianten finden sich im Sortiment von Conrad Electronic. Weitere Hardware wird für den Anfang nicht benötigt wenn Sie das System mit GNU/Linux steuern möchten. Natürlich gibt es auch Decoder für Magnetartikel, doch dieser Abschnitt soll Sie nur neugierig auf das Thema machen, am Ende finden Sie noch einige Links zu weiteren Seiten im Netz. 22.3.1.1. 6603 Delta Decoder Dieser erste Delta Decoder ist mit einem 701.xxx Chip bestückt, xxx steht hierbei für eine weitere, mit dem Produktzyklus aufsteigende, Zahlen und Buchstabenkombination, die neueste Version ist 701.17b. Wie allen anderen Digitaldecoder erlaubt auch dieser Decoder den Betrieb auf Analogen Anlagen. Im Digitalbetrieb stehen lediglich 15 Adressen und keine Funktionen zur Verfügung. Die Beleuchtung der Lokomotiven erfolgt auf herkömmliche Art, je schneller die Lok fährt umso heller die Beleuchtung. Tabelle 22-1. Delta Decoder - Dip-Schalter Einstellungen Adresse 1 2 3 4 2 off on on on 6 on off on on 8 off off on on 18 on on off on 20 off on off on 24 on off off on 26 off off off on 54 on on on off 56 off on on off 60 on off on off 62 off off on off 72 on on off off 74 off on off off 78 on off off off 642 Kapitel 22. Modellbahnen Adresse 1 2 3 4 80 on on on on Alle Delta Decoder können mit einigem Geschick so umgebaut werden das alle 80 Adressen verwendbar sind. Neuere Versionen dieses Decoders (701.17 und höher) können auch um eine bzw. vier Funktionen erweitert werden. 22.3.1.2. 6080 Digital Decoder Als Märklin Standard Digital Decoder unterstützt dieses Modell alle 80 möglichen Adressen. Dieser Decoder basiert auf dem 701.13 Chip und unterstützt eine Funktion die normalerweise für die Beleuchtung genutzt wird. Leider flackert die Beleuchtung bei Verwendung dieses Decoders. Dies kann mit einigen Bauteilen beseitigt werden. 22.3.1.3. 6090 Digital Decoder Der 6090 ist Märklins älterer High-End Decoder, somit ist die Nutzung von 80 Adressen und einer Funktion möglich. Auch dieser Decoder nutzt den 701.13 Chip, somit kann (und sollte) auch bei diesem Decoder das Flackern der Stirnbeleuchtung unterdrückt werden. Weiterhin ist der Decoder mit mit Potentiometer ausgestattet um die minimale und maximale Geschwindigkeit, sowie die Anfahr- und Bremsverzögerung einzustellen. Enthalten ist weiterhin ein neuer Permanentmagnet und ein neuer 5-poliger Motor, so das sich ein älteres Modell mit sehr guten Fahreigenschaften umrüsten läßt. 22.3.1.4. 66031 Digital Decoder Dieser neue Delta Decoder unterstützt alle Funktionen das älteren Modells, „spricht“ aber das Protokollformat der neuen Generation, somit werden beispielsweise auch Telex Kupplungen oder Raucheinsätze unterstützt. Weiterhin ist die Beleuchtung nun immer eingeschaltet und kann nicht ausgeschaltet werden. Die Beleuchtung wechselt mit der Fahrtrichtung. Die Aktivierung der Funktion wird ähnlich aktiviert wie von der Analogen Steuerung her bekannt: Ein Fahrtrichtungswechsel aktiviert/deaktiviert auch die Funktion. Tabelle 22-2. Technische Daten Delta Decoder 66031 Motorausgang: maximal 800 mA Lichtausgang: maximal 100 mA Funktionsausgang: maximal 250 mA Gesamt: maximal 1,1 A Motor- und Funktionsausgänge sind gegen Überlastung und Kurzschlüsse geschüzt. 22.3.1.5. „Wikinger“Lokomotiv Decoder Echte Elektronik-Freaks können zum Selbstbau eines Lokdecoder schreiten, der sogenannte „Wikinger“-Decoder ist hier das Modell der Wahl, aber Vorsicht: das ist wirklich etwas für Leute die sich damit auskennen. Informationen hierzu finden sich unter http://www.frederiksson.dk/indexeng.html. 22.4. Software Wie wir schon gesehen haben sind nur wenige Hardwarekomponenten für den Digitalbetrieb einer Modellbahn notwendig. Mit der Software verhält es sich ähnlich. Die Software einer digital gesteuerten Modellbahnanlage 643 Kapitel 22. Modellbahnen besteht aus zwei Komponenten; einem Serverprozess welche die Funktionalität einer Zentrale nachbildet sowie verschiedenen Clientprogrammen die zur Steuerung der Anlage dienen. Die hier nachfolgend vorgestellten Projekte stehen zum großen Teil als inoffizielle Debian Pakete zur Verfügung. Tragen Sie folgende Zeile in die Datei /etc/apt/sources.list ein: deb http://www.openoffice.de/debian/ stable main und installieren Sie dann die gewünschten Pakete, beispielsweise mit apt-get. Natürlich können Sie sich auch die Sourcen der Programme besorgen und die kompletten Pakete selbst übersetzen. 22.4.1. Server Die Auswahl der Software für den Server ist von der bereits vorhandenen Hardware abhängig. Beide hier vorgestellten Server unterstützen das SRC Protokoll (Simple Railroad Command Protocol). Die aktuelle Spezifikation dieses Protokolls findet sich unter http://srcpd.sourceforge.net/srcp/. Vorabversionen des Protokollstandards finden sich unter http://members.tripod.de/mtrute/Modellbahn/srcp-maintain.html SRCP ist ein plattformunabhängiges Internetprotokoll zum Steuern von Modelleisenbahnen, insbesondere digital gesteuerter. Ein SRCP komformer Server stellt das Bindeglied zwischen der Modellbahn (Hardware) und den Steuerprogrammen (Clients), über welche die Modellbahn gesteuert werden soll, dar. Das Protokoll vermittelt eine Client-Server Struktur, wobei der Server die Schnittstelle zur Modellbahnanlage und die Clients die Schnittstelle zu den(m) Modellbahner(n) darstellen. SRCP ist Multiuser fähig. 22.4.1.1. erddcd Das Projekt DDL - Digital Direct for Linux http://www.vogt-it.com/OpenSource/DDL/ von Torsten Vogt stellt mit dem Daemon „erddcd“ einen Serverprozess zur Verfügung, der mit dem Booster kommuniziert und somit eine Digitalzentrale überflüssig macht. erddcd ist Bestandteil des Paketes DDL. Dieser Server kann mit den Boostern 6604, 6015 oder 6017 der Firma Märklin, sowie mit verschiedenen Selbstbauboostern verwendet werden. Der Daemon erddcd sendet die Steuerdaten von unterschiedlichen Clients zum Booster, welcher über ein serielles Kabel mit dem Rechner verbunden ist. Das Debian Paket wurde um das Init-Script /etc/init.d/erddcd erweitert, ausserdem wird eine Konfigurationsdatei /etc/erddcd.conf ausgewertet. In dieser ist ggf. die Bezeichnung der seriellen Schnittstelle anzupassen, falls der Booster nicht an /dev/ttyS0 angeschlossen ist. 22.4.1.2. srcpd Mit srcpd von Matthias Trute (http://srcpd.sourceforge.net) steht ein weiterer Server zur Verfügung mit dem die Märklin Central Unit 6020 oder 6021 zusammen mit den Märklin Interfaces 6050 oder 6051 angesprochen werden können. Weiterhin unterstützt srcpd die Intellibox der Firma Uhlenbrock. Das srcpd Projekt wurde im Sommer 2001 aus der Taufe gehoben und hat sich zum Ziel gesetzt einen einfach zu benutzenden SRCP-konformen Server für die digitale Modellbahnsteuerung zu erstellen. Der Urahn des srcpd ist der erddcd von Torsten Vogt. Dieser emuliert auf dem PC ein Interface und benötigt zur Steuerung der Modelleisenbahn nur die Booster, Schaltdecoder, Rückmeldemodule etc., jedoch kein Interface. Auf dieser Basis wurde mit Beginn des Jahres 2000 die ersten SRCP Fassungen entwickelt und parallel dazu begann Matthias Trute einen Dämon (m6051d) für das Märklin-Interface M6051 zu schreiben. Dieser benutzte einige Routinen des erddcd, schlug aber schon früh einen anderen Weg ein. Diesen Dämon wiederum nahm Frank Schmischke wiederum zusammen mit dem erddcdals Ausgangsbasis für einen Dämon für die Intellibox von Uhlenbrock. 644 Kapitel 22. Modellbahnen Da der überwiegende Teil der beiden Dämonen (für M6051 und Intellibox) identischen Code besitzt wurde von Matthias Trute die Idee geboren, einen universellen SRCP-Server zu erstellen, der alle bekannten Interfaces abdecken soll. Den größten und aufwendigsten Anteil am Server hat der SRCP-Teil, wo die eingehenden Befehle auf ihre Korrektheit geprüft und anschließend dekodiert werden, und wo die Informationen für die Clients zusammengestellt werden. Aus diesem Grund wurde im Sommer 2001 das srcpd-Projekt vom Matthias Trute (Maintainer) und Frank Schmischke aus der Taufe gehoben. Sie haben ihre beiden SRCP-Server zum neuen srcpd verschmolzen. Änderungen die das SRCP betreffen (und da wird es einige sehr interessante geben!), brauchen jetzt nur noch einmalig für alle intergrierten Interfaces durchgeführt zu werden. Hierdurch ist ein wesentlich besseres weiterentwickeln möglich, da nun mehrere Leute am selben Code rumwerkeln und Fehler schneller und besser aufgespürt und beseitigt werden können. 22.4.2. Clients Während die SRCP Serversoftware ledigliche eine anfängliche Konfiguration benötigt und dann unbemerkt im Hintergrund arbeitet, stellen die hier vorgestellten Client Programme die Verbindung zum Lokführer vor dem Bildschirm her. Jeder SRCP Server kann Instruktionen von mehreren Clients gleichzeitig verarbeiten, es können also die hier vorgestellten Programme bunt gemischt eingesetzt werden. 22.4.2.1. telnet Zuerst zu einem etwas ungewöhnlichen Client, telnet. telnet wird sich sicherlich nicht zum bevorzugten Werkzeug zur Modellbahnsteuerung entwickeln, für die Fehlersuche kann es jedoch sinnvoll sein auch dieses Werkzeug zu kennen. telnet stellt die einfachste Variante der Arbeit mit dem srcpd dar. Wenn der srcpd und telnet auf dem gleichen Rechner laufen, kann man mittels % telnet localhost 12345 den srcpd in Verbindung mit telnet betreiben. Wenn der srcpd auf einem anderen Rechner läuft, so ist bei telnet der Parameter localhost durch den entsprechenden Rechnernamen zu ersetzten. Bei einer abweichenden Portadresse ist der Parameter 12345 entsprechend anzupassen. Nach dem Start von telnet wird eine Verbindung zum srcpd aufgebaut. Wenn dies erfolgreich durchgeführt worden ist, wird vom srcpd eine Willkommensmeldung an telnet zurückgeschickt. Alle Ausgaben erscheinen auf der aktuellen Console, es gibt keine weitere Benutzeroberfläche. Nun kann am Prompt ein Befehl gemäß SRCP Standard eingegeben werden, Beispielsweise: % SET GL PS 33 1 12 14 0 4 0 0 0 0 Dieser bewirkt, daß die Lok mit der Adresse 33 mit Fahrstufe 12 (von 14 möglichen) ohne Licht oder sonstige Zusatzfunktionen (4) vorwärts fahren soll. Dies soll nur als Beispiel dienen, wenn telnet zur weiteren Steuerung benutzt werden soll, so hilft ein Blick in die SRCP Spezifikation. Zum Beenden können die Befehle: % LOGOUT oder % SHUTDOWN verwendet werden. Bei ersterem wird nur die Verbindung zum srcpd unterbrochen und telnet beendet sich, während mit dem zweiten Befehl der srcpd angewiesen wird sich zu Beenden, telnet wird hierbei ebenfalls beendet. 645 Kapitel 22. Modellbahnen 22.4.2.2. j-man j-man ist ein in Java geschriebenes Programm zur Steuerung von Lokomotiven und Magnetartikeln und Bestandteil des Paketes DDL. j-man bietet über ein Menü im Hauptfenster Zugriff auf alle weiteren Funktionen. Ein Context Menü ist über die rechte Maustaste zu erreichen. Abbildung 22-4. Digitale Steuerung - j-man Hauptfenster Über folgenden Dialog können weitere Lokomotiven hinzugefügt werden, neben einem Namen ist natürlich die Adresse des Decoders und der Typ festzulegen. Abbildung 22-5. Digitale Steuerung - j-man Lok hinzufügen Zur Steuerung steht neben dem Lok-Controler für einzelne Lokomotiven, auch der hier gezeigte Mehrfachcontroler zur Auswahl. 646 Kapitel 22. Modellbahnen Abbildung 22-6. Digitale Steuerung - j-man Mehrfachcontroler Zur Steuerung des Digital Krans „Goliath“ steht ein spezieller Dialog zur Verfügung. Abbildung 22-7. Digitale Steuerung - j-man Goliath j-man verfügt noch über einige weitere Funktionen, beispielsweise zum Schalten von Weichen und ganzen Fahrstraßen. 22.4.2.3. loco-panel loco-panel, ebenfalls aus dem DDL Paket, dient zur Anzeige der von den Clients gesendeten Befehlen. Im Normalbetrieb werden Sie dieses Programm nicht benötigen, zur Fehlersuche kann es aber unter Umständen hilfreich sein. 647 Kapitel 22. Modellbahnen Abbildung 22-8. Digitale Steuerung - loco-panel 22.4.2.4. monitor Dieses Programm dient dem Test des Info- oder Feedbackports eines SRCP-Servers (srcpd, erddcd). Mit dem Kommando: % monitor localhost 12346 wird eine Verbindung zum Feedback-Port des srcpd hergestellt (bei Standardkonfiguration, sonst ggf. Parameter anpassen). Die Portnummer ist hierbei der Basisport des srcpd plus eins. Für den Infoport muß diese Portangabe nochmals um eins erhöht werden. Anschließend schreibt das Programm alle vom srcpd eingehenden Meldungen auf den Bildschirm.Auf diese Art und Weise läßt sich die korrekte Rückmeldung durch den srcpd testen. 22.4.2.5. keyboard Um einfach die Magnetartikel zu schalten, gibt es Keyboard. Um einen Automatikbetrieb zu realisieren gibt es Memory. Die gleichnamigen Produkte der Fa. Märklin sind zwar die geistigen Paten, aber haben nichts mit diesem Programm gemein. Das Programm benutzt TCL/TK und läuft auch unter Windows. Benutzung: ganz unten wird die aktuelle Basisadresse angezeigt Diese kann mit den Buttons um jeweils 16 nach oben bzw. nach unten verändert werden. Zu dieser Basisadresse muß sodann die Zahl zwischen den Buttons hinzugezählt werden, um die Adresse des Dekoders zu ermitteln, die letztendlich angesprochen wird. Solange eine der Tasten gedrückt wird, wird der entsprechende Ausgang des Dekoders aktiviert. Vorsicht ist also geboten, die Spulen können dabei durchbrennen. 22.4.2.6. recorder Der Recorder ist für automatisierte Aktionen und für Makrofunktionen wie Weichenstraßensteuerung gedacht. Gegenwärtig kann man 24 Aktionen auf Knopfdruck abrufen und auch von einem Feedbackereignis triggern lassen. Daneben kann die Liste der SRCP Befehle editiert, gespeichert und auch wieder eingelesen werden. Einzig der Record-Modus funktioniert noch nicht. Auch gibt es noch Probleme mit der Parallelverarbeitung. Mehrere Trigger gleichzeitig funktionieren noch nicht. Die Benutzung ist einfach: Programm starten und für die 24 "Tasten" die jeweiligen Aktionen einlesen. Sodann kann mit einem Mausclick auf eine der Tasten die zugehörge Aktion ausgelöst werden. über die Radiobuttons ganz oben wird die Wirkung des Mausklicks verändert: Jetzt wird die Liste editierbar (ein Editfenster klappt auf), die Aktionsliste kann gespeichert und wieder eingelesen werden, oder eben das Programm lauscht am SRCP Server und speichert die Ereignisse so, daß sie wieder ausgeführt werden können. Momentan werden alle Befehle einer Taste auf einmal ausgeführt. 648 Kapitel 22. Modellbahnen 22.4.2.7. rcsh rcsh ist eine Shell zur Steuerung von digitalen Modellbahnen. Eine einfach Scriptsprache erlaubt es Lokomotiven direkt aus der Shell heraus zu steuern. Hier ein einfaches Beispiel: l = locoN1(4)

  1. Licht an, langsam aus Bahnhof herausfahren

l.func(1) l.speed(1) l.send()

  1. Immer noch langsam im Bahnhofsbereich

l.speed(3) l.send() time.sleep(12)

  1. Beschleunigen auf freier Strecke

l.speed(7) l.send() time.sleep(20)

  1. langsam in Bahnhof

l.speed(2) l.send() time.sleep(5)

  1. Kriechen und Stillstand an alter Startposition

l.speed(1) l.send() time.sleep(3) l.speed(0) l.func(0) l.send() print l.speed() In diesem Beispiel zur (zeitlichen) Steuerung eines Zuges aus dem Bahnhof auf die Strecke und wieder zurück in den Bahnhof, sind die wichtigsten Funktionen benutzt worden. Eine etwas ausführlichere Dokumentation finden Sie auf Ihrem Debian System in der Datei /usr/share/doc/rcsh/README.Debian. 22.4.2.8. rcman rcman ist ein Client mit textueller Oberfläche zur Steuerung von Modellbahnen in Verbindung mit einem SRCP konformen Server. rcman orientiert sich an j-man aus dem DDL Projekt. Abbildung 22-9. Digitale Steuerung - rcman 649 Kapitel 22. Modellbahnen rcman ist eine in Python geschriebene Anwendung. rcman wird nicht direkt aufgerufen, es ist zunächste eine Scriptdatei zu erstellen. Diese importiert zunächst alle Funktionen von rcman, danach können mit einfachen Kommandos die einzelnen Lokomotiven definiert werden. Dem Paket liegt ein Beispiel (rcmandemo.py) im Verzeichnis /usr/share/doc/rcman/examples/ bei. Da rcman auch ohne grafische Benutzeroberfläche auskommt läßt sich rcman auch auf älteren Systemen gut einsetzen. Die Bedienung des Programmes kann über die Tastatur oder auch mit der Maus erfolgen. Wenn die Maus über ein Scrollrad verfügt, so kann damit die Geschwindigkeit der Lok gesteuert werden. rcman kann über eine Infrarot Fernbedienung gesteuert werden, hierzu muss das LIRC Paket installiert sein. 22.4.2.9. srcptt HTML und HTTP bieten leider nur eingeschränkte Möglichkeiten zur Steuerung via Webbrowser. Die Interaktion zwischen der Benutzeroberfläche und dem System ist dabei leider nicht immer so zeitnah möglich wie es wünschenswert oder gar notwendig wäre. Trotzdem lassen sich mittels HTML, PHP oder auch Perl interessante Anwendungenerstellen. Das Paket srcptt legt die entsprechenden Dateien im Verzeichnis /var/www/srcptt/ ab. Mittels eines beliebigen Webbrowsers sind diese nun im Netz (http://server.domain/srcptt/) oder auch lokal (http://localhost/srcptt/ erreichbar. 22.4.2.10. SpDrS60 SpDrS60 SpDrS60 ist das erste Programm zum nächsten Monaten noch starken Änderungen unterzogen wird. Aber trotzdem komfortablen Steuern von Weichen und Signalen für die Benutzung mit SRCP-konformen Servern. Es ist ausserdem das erste grafische ausgereifte Programm, um unter Linux seine Modellbahn zu steuern. Es bietet schon jetzt viel Komfort, um seine Modellbahnanlage getreu den bei der Deutschen Bahn AG immer noch verwendeten Spurplan-Drucktastenstellwerken (SpDr) zu steuern. Bei der Benutzung dieses Programms muss man sich - sofern man es kennt - von einigen gewohnten Eigenschaften eines Steuerprogramms verabschieden, da diese meistens zu sehr auf die Belange der Modellbahn abgestimmt sind. 22.4.2.11. JoyCtrl JoyCtrl benutzt den Joystick zur Steuerung der Loks unter Linux und ist eine Alternative/Ergänzung zu Mausoder Tastatursteuerungen. Als Hardware dient mir ein billiger analoger Joystick mit einigen Feuerknöpfen. Für die Umrechnung der Knüppelbewegungen in Lokkommandos habe ich ein Kennlinienkonzept verwirklicht. Damit kann ich den Knüppelbewegungen unterschiedliche Lokaktionen zuordnen, je nach Situation. Ein jederzeitiges Umschalten ermöglicht, etwa im Bahnhofsbereich rangieren zu können und auf der freien Strecke entspannt die Lok laufen zu lassen. 22.4.2.12. dtcltiny Ein weiterer Client ist mit dtcltiny von Markus Pfeiffer verfügbar, dieser Client basiert auf QT. Auch dieses Paket wurde gegenüber dem urspünglichen Paket ein wenig angepasst, ein einfacher Aufruf von dtcltiny startet das Programm mit sinnvollen Parametern und versucht im Homeverzeichnis des Benutzers eine Konfigurationsdatei zu laden. Wenn Sie die Ursprungsversion benutzen möchten, so finden Sie das Programm unter /usr/bin/dtcltiny.bin. 650 Kapitel 22. Modellbahnen Abbildung 22-10. Digitale Steuerung - dtcltiny Die Beispielkonfiguration unter /usr/share/doc/dtcltiny/SAMPLE.dtcltiny.data kann als .dtcltiny.datain das Homeverzeichnis kopiert werden (cp /usr/share/doc/dtcltiny/SAMPLE.dtcltiny.data ~/.dtcltiny.data). Diese Beispielkonfiguration enthält zwei Einträge, mit der die beiden Decoder der Dampflokomotive „Big Boy“ (Märklin Nummer 37990) gesteuert werden können. Über das Menü „File“ können andere Konfigurationsdateien geladen oder aber die aktuelle Konfiguration gespeichert werden. Auch können über den Menüpunkt „New loco“ weitere Lokomotiven hinzugefügt werden. 651 Kapitel 22. Modellbahnen Abbildung 22-11. Digitale Steuerung - dtcltiny New loco / General Unter dem Menüpunkt „General“ kann neben dem Namen und einem Alias, also eine Bezeichnung für den ganzen Zug beispielsweise, noch der verwendete Decoder, das Protokoll sowie natürlich die Adresse des Decoders eingestellt werden. Abbildung 22-12. Digitale Steuerung - dtcltiny New loco / Funcs Im zweiten Abschnitt lassen sich die Funktionen des Decoders einstellen. Unter „Type“ finden sich die Funktionen wie „light“, „smoke“, „coupling“, „sound“ und „shunting“. Dies verändert das angezeigte Symbol für diese Funktion. In der Zeile „Activate as“ lässt sich das Verhalten der Schaltfläche als Taster oder Schalter einstellen. 652 Kapitel 22. Modellbahnen Abbildung 22-13. Digitale Steuerung - dtcltiny New loco / Speeds Der letzte Abschnitt dient zur Parametrisierung des Fahrverhaltens der Lok. Zunächst kann die maximale Geschwindigkeit der Lok in km/h oder mph eingestellt werden. Es lassen sich Werte für die Minimale und die Durchschnittliche Geschwindigkeit einstellen. Diese drei Werte werden im Hauptfenster durch drei Balken (grün, gelb, rot) dargestellt. Ein Mausklick auf einen der Balken beschleunigt sanft auf die eingestellte Geschwindigkeit dieses Bereiches. Natürlich läßt sich die Lok durch einen Klick in einen langsameren Bereich auch sanft abbremsen. Im unteren Bereich lassen sich die Verzögerungen für das Anfahren und Bremsen einstellen. 22.5. Weitere Informationen DER_MOBA - Digitalprojekt der Newsgroup de.rec.modelle.bahn. Ziel ist die Schaffung eines skalierbaren - d.h. an die jeweiligen Anforderungen anpassbaren - Digitalsystems. http://www.der-moba.de/Digital/ DDL - Digital Direct for Linux, Multiprotokoll-Controler und Steuerungssoftware für digitale Modelleisenbahnen. http://www.vogt-it.com/OpenSource/DDL/ SpDrS60 für Linux - Programm zum komfortablen Steuern von Weichen und Signalen. http://www.linux-modellbahn.de/ Tips zur Modellbahnsteuerung mit SuSE und Scripte zur Steuerung via Webbrowser. http://www.fingerlinge.de/bernd/Modellbahn/Digital-Seiten/ Viele Hardwarebasteleien, Lok- Weichendekoder, Controller, Booster usw. . http://home.arcor.de/dr.koenig/digital/digital.htm Netz Community für Märklin Fans. http://www.marklin-users.net/ Bauanleitungen für Lok- und Weichendekoder. http://www.frederiksson.dk/indexeng.html Märklin Digital Seiten der c’t von Carsten Meyer. http://www.heise.de/ct/Redaktion/cm/digital.html rcsh - Railroad Command Shell und rcman von Dr. Peer Griebel http://www.griebel-net.de/peer/rcsh/rcsh.html und http://www.griebel-net.de/peer/rcsh/rcman.html 653 Kapitel 23. Weitere Infos 23.1. Abkürzungen / Begriffe In einer technischen Dokumentation läßt es sich nur schwer vermeiden vollkommen auf englischsprachliche Begriffe oder auf „Kunstwörter“ aus dem Wortschatz der „Community“ zu verzichten. Begriffe wie: „Hacker“, „FAQ“ oder „AFAIK“ finden sich aber auch in HOWTOs oder auf Mailinglisten. Eine sehr umfangreiche Liste von Begriffen mit ausführlichen Erklärungen ist von Eric S. Raymond als „Jargon-File“ zusammengestellt worden und im Netz unter http://www.tuxedo.org/jargon/ in den verschiedensten Formaten verfügbar. Hier einige Erläuterungen zu den gebräuchlisten Begriffen, insbesondere im Zusammenhang mit Debian GNU. • AM Application Maintainer, eine Person die einen NM durch den NM Prozess geleitet. • BTS Bug Tracking System • DAM Debian Account Manager, ein Debian Entwickler der für das einrichten neuer Benutzeraccounts zuständig ist. • DDP Debian Documentation Project, in diesem Projekt wird die Dokumentation zu Debian GNU erstellt und verwaltet. • DMUP Debian Machine Use Policies, Richtlinien für die Benutzung der Debian Entwicklungsmaschinen. • DPL Debian Project Leader, die Person die dem Projekt vorsteht und es nach aussen representiert. • DWN Debian Weekly News, wöchentliche Neuigkeiten des Projektes • ITA Intend to Adopt, ein Maintainer möchte ein Packet von einem anderen übernehmen. Sie auch wnpp. • ITO Intend to Orphan, ein Maintainer möchte ein verwaistes Paket übernehmen. Sie auch wnpp. • ITP Intend to Package, wenn ein Maintainer ein neues Paket erstellen möchte wird dies zunächst auf der Mailingliste debian-devel angekündigt. Sie auch wnpp. • KCD Kernel Cousin Debian, eine wöchentliche Zusammenstellung der wichtigsten Diskussionen aus der Mailingliste debian-devel. Zu finden unter http://kt.zork.net/debian/. • MIA Missing in Action, ein Maintainer der keine Bugs beseitigt oder nicht auf Mails antwortet. • NM New Maintainer, jemand der Maintainer werden möchte oder grade geworden ist. • NMU Non Maintainer Upload, eine andere Person als der Maintainer hat ein Paket auf einen Server gelegt. • OPN - Ein Netzwerk von Rechnern die das IRC Netzwerk hosten. • RFA - Ein Entwickler möchte ein Paket abgeben und bittet einen anderen Maintainer das Paket zu übernehmen. • RFP - Ein Entwickler möchte eine Software als Debian Paket zusammenstellen und auf dem Server ablegen. • RL Real Life - Das Gegenteil des „Virtual Life“ welches sich im Netz, also in IRC-Channeln, Newsgroups und auf Mailinglisten abspielt. • RTFM Read the Fine Manual - weist freundlich darauf hin doch zunächst einen Blick in die Dokumentation zu werfen. Häufig auch als Read the Fucking Manual anzutreffen. • UTSL Use the Source, Luke - entnommen aus den Star Wars Filmen, es wird gebeten doch einen Blick in den Quellcode zu werfen. • wnpp Work-Needing and Prospective Packages - Liste von Pakete die zur Zeit ohne hinreichende Betrueung sind. 654 Kapitel 23. Weitere Infos 23.2. Debian Mirror Ein eigener Debian Mirror, also eine lokale Kopie aller benötigten Dateien vom Debian-FTP Server kann für verschiedene Zwecke sinnvoll sein. Zunächst einmal hat man sofortigen Zugriff auf alle Dateien und kann diese installieren ohne auf den Download der Dateien warten zu müssen. Natürlich ist auch die Aktualität der Software um einiges besser als bei der Installation von CD-ROMs. Für die Installation von mehreren Rechnern ist eine solche lokale Kopie ebenfalls die erste Wahl. Wenn, wie im nächsten Abschnitt beschrieben, eigene Debian CDs erstellt werden sollen, ist ein Mirror unumgänglich. Aufgrund des bereits großen Umfangs des Debian-Archives ist es nicht sinnvoll eine komplette Kopie aller Dateien lokal vorzuhalten. Meist ist es ausreichend lediglich die Binarys für die verwendete Architetur (beispielsweise i386) vorzuhalten. Die Sourcen der Pakete werden nur in seltenen Fällen benötigt und können gezielt bei Bedarf besorgt werden. Informationen zum spiegeln eines Debian Servers finden sich auch unter http://www.debian.org/mirror/ftpmirror. 23.2.1. absurd_debmirror absurd_debmirror ist ein auf rsync basierendes Shellscript. Der Vorteil bei der Verwendung von rsync ist der schonendere Umgang mit den Systemresourcen. absurd_debmirror überträgt neben den eigentlichen Paketen auch die entsprechenden Bootdisketten der gewünschten Release, so das sich dieses Programm sehr gut eignet um einen lokalen Mirror zu erzeugen aus dem bootfähige CD-ROMs generiert werden können. absurd_debmirror enthält eine umfangreiche Dokumentation innerhalb des Scriptes. Als Parameter beim Aufruf von absurd_debmirror ist zunächst das lokale Verzeichnis anzugeben in dem die Pakete abgelegt werden sollen (ohne Angabe des Verzeichnisses debian). Zweiter Parameter ist der Server von dem die Pakete geholt werden, gefolgt von dem Verzeichnis auf diesem Server. Als drittes folgt die gewünschte Release, mehrere Releases sind dabei durch Anführungszeichen zusammenzufassen. Gleiches gilt für die Bereiche sowie für die gewünschten Architekturen. Ein Aufruf von absurd_debmirror kann demnach wie folgt aussehen: absurd_debmirror /home/ftp ftp.debian.org debian "woody sid" "main contrib non-free non-US/main non-US/contrib non-US/non-free" "i386" Natürlich ist es auch möglich den Non-US Bereich eines Servers zu spiegeln. Dies kann mit folgendem Aufruf geschehen: /usr/local/bin/absurd_debmirror /home/ftp/debian non-us.debian.org debian-non-US "woody sid" "non-US/main non-US/contrib non-US/non-free" "i386" absurd_debmirror wird nicht mehr weiterentwickelt, stattdessen kann das im folgenden beschriebene debmirror verwendet werden. 23.2.2. debmirror Das Programm debmirror von Joey Hess bietet eine sehr einfach Möglichkeit einen Debian FTP Server, bei Bedarf auch nur in Teilen, zu spiegeln. Das Programm steht leider nicht als offizielles Debian Paket zur Verfügung, da es sich aber um ein Perl Script handelt ist dies keine große Katastrophe. Sie finden die aktuelle Version unter http://cvs.kitenet.net/joey-cvs/bin/Attic/debmirror. Alternativ kann auf das nicht-offizielle Paket unter http://www.openoffice.de/linux/debian/dists/woody/main/binary-i386/misc/ zurückgegriffen werden. debmirror benutzt keine Konfigurationsdatei, alle benötigten Parameter können auf der Kommandozeile angegeben werden. Sehr vorteilhaft ist bei diesem Script das es speziell auf die Bedürfnisse von Debian angepasst wurde, so kann es beispielsweise mit Package-Pools problemlos umgehen. Das Packages-Pool Konzept wurde mit der Entwicklung von „woody“ eingeführt und erlaubt es verschiedene Releases (testing, stable, unstable...) auf Basis der Daten innerhalb des Verzeichnisses pool/ zu verwalten. Weiterhin werden die 655 Kapitel 23. Weitere Infos benötigten Dateien auf Basis der Package-Dateien ermittelt, somit ist auch hier immer ein einheitlicher Stand sichergestellt. Die Verwendung von debmirror ist ziemlich simpel. Wenn das Programm ohne weitere Parameter aufgerufen wird, bekommen Sie eine Übersicht der möglichen Parameter: sushi:~# ./debmirror mirrordir not specified Usage: ./debmirror mirrordir [--debug] [--progress] [--source|--nosource] [--md5sums|--nomd5sums] [--passive] [--host=remotehost] [--user=remoteusername] [--root=directory] [--dist=foo[,bar,..] ...] [--section=foo[,bar,..] ...] [--arch=foo[,bar,..] ...] [--cleanup|--nocleanup] [--skippackages] [--adddir=directory] [--ignore=regex] [--getcontents] [--exclude=regex] [--help] Als einziger Parameter ist „mirrordir“ zwingend erforderlich. Dieser beschreibt das lokale Verzeichnis in dem der Debian Spiegel erzeugt werden soll. Wenn dieses Verzeichnis nicht vorhanden ist, so wird es erzeugt. Folgendes Kommando erzeugt einen Debian Mirror für die Architektur „i386“ im Verzeichnis /home/ftp/debian/, es werden die Versionen „potato“, „woody“ und „sid“ mit den Bereichen „main“, „contrib“ und „non-free“ kopiert. Als Server dient „ftp.debianorg“ (hier sollte auf alle Fälle ein gut erreichbarer Server benutzt werden), es werden keine Sourcen übertragen und das Verzeichnis „debian-non-US“ auf der lokalen Platte wird nicht angetastet (dazu gleich mehr). Weiterhin wird Fortschritt laufend angezeigt. debmirror -a i386 -s main -s contrib -s non-free \ -h ftp.debian.org \ -d woody -d potato -d sid \ /home/ftp/debian \ --nosource \ --ignore=debian-non-US/ --progress Da auf dem offiziellen Debian FTP Server die Pakete aus dem non-US Bereich fehlen, können diese Pakete mit einer zweiten Zeile auf den heimischen Rechner geholt werden: debmirror -a i386 -h ftp.de.debian.org \ -r /debian-non-US -s non-US/main,non-US/contrib,non-US/non-free \ -d woody -d potato -d sid \ /home/ftp/debian/debian-non-US --progress Je nach Bandbreite Ihrer Internetanbindung steht Ihnen nach einiger Zeit ein lokaler Debian Mirror zur Verfügung. 23.2.3. debmirror-wrapper debmirror-wrapper ist ein Script welches einige der Fehler in debmirror umschifft und einige Funktionen implementiert die nur in seltenen Fällen gebraucht werden. Beispielsweise werden auf einem durchschnittlichen Mirror keine Bootdisketten benötigt und diese werden auch von debmirror deshalb nicht berücksichtigt. Diese können aber mittels debmirror-wrapper übertragen werden, beispielsweise wenn diese zur Herstellung von eigenen Debian CD-ROMs benötigt werden. Durch den Einsatz von debmirror-wrapper wird auch die Syntax beim Aufruf noch einfacher. Viele der benötigten Optionen können direkt im Script fest verankert werden, lange Kommandozeilen Optionen entfallen damit. debmirror-wrapper von Stephan A. Suerken ist auf seinen Webseiten zu finden. 656 Kapitel 23. Weitere Infos 23.2.4. mirror mirror steht als Debian Paket zur Verfügung und wird seit vielen Jahren auch auf großen FTP Servern (beispielsweise an Universitäten) benutzt um Inhalte anderer FTP Server lokal zu speichern. Für eine lokale Kopie der Daten eines Debian FTP Servers wird neben dem eigentlichen Programm mirror vor allem viel Festplattenplatz benötigt. Da mirror als universelles Programm zum spiegeln von FTP Servern entwickelt wurde, kennt es natürlich keine Debian Besonderheiten wie Package-Pools. Um nicht unnötig Pakete zu kopieren ist leider eine etwas aufwendige Konfiguration nötig. Die Konfigurationsdateien für das Programm mirror finden sich nach der Installation im Verzeichnis /etc/mirror/packages/. Hier kann für jeden gewünschten Mirror eine Datei angelegt werden. Das Program selber wird dann mit der Konfigurationsdatei als Parameter aufgerufen. Zusätzlich kann die Option -d (auch mehrfach) angegeben werden um mehr Informationen über den Vorgang zu bekommen. Hier eine Konfigurationsdatei die die Architekturen i386 und powerpc vom Debian FTP Server kopiert. package=Debian

comment=Mirror of parts of ftp.debian.org/pub/debian

  1. specify remote host, directory and ls-lR file

site=ftp.de.debian.org remote_dir=/debian store_remote_listing=/tmp/DEBIANREMOTE ls_lR_file=ls-lR.gz

  1. specify the local directory

local_dir=/home/ftp/debian

  1. inform this user about results

mail_to=fr

  1. Compress these files.
  2. compress_patt=\.*(C|c)ontents(-i386)?
  3. compress_patt+|Packages(-Master)?|ls-lR|md5sums
  4. compress_patt+|Maintainers|msdos-names
  5. Exclude these files or directories

exclude_patt=private/|project/|ls-lR|ls-lR.gz|ls-lR.patch.gz|dsync.list exclude_patt+|debian-(bugs|lists)/ exclude_patt+|\.*(hurd-i386|hppa|mipsel|mips|ia64|s390|arm|m68k|alpha| hurd|mips|sparc).deb? exclude_patt+|\.*(hurd-i386|hppa|mipsel|mips|ia64|s390|arm|m68k|alpha| hurd|mips|sparc).udeb? exclude_patt+|\.*(hurd-i386|hppa|mipsel|mips|ia64|s390|arm|m68k|alpha| hurd|mips|sparc).gz? exclude_patt+|\.*(hurd-i386|hppa|mipsel|mips|ia64|s390|arm|m68k|alpha| hurd|mips|sparc).diff.gz? exclude_patt+|\.*(hurd-i386|hppa|mipsel|mips|ia64|s390|arm|m68k|alpha| hurd|mips|sparc).dsc? exclude_patt+|\.*(hurd-i386|hppa|mipsel|mips|ia64|s390|arm|m68k|alpha| hurd|mips|sparc).tar.gz? exclude_patt+|\.tar.gz? exclude_patt+|\.dsc? exclude_patt+|\.changes? exclude_patt+|\.diff.gz? exclude_patt+|bo/ exclude_patt+|rex/ exclude_patt+|slink/ exclude_patt+|binary-arm/ exclude_patt+|binary-m68k/ exclude_patt+|binary-ia64/ exclude_patt+|binary-hppa/ exclude_patt+|binary-sparc/ 657 Kapitel 23. Weitere Infos exclude_patt+|binary-mipsel/ exclude_patt+|binary-mips/ exclude_patt+|binary-alpha/ exclude_patt+|disks-alpha/ exclude_patt+|disks-m68k/ exclude_patt+|disks-sparc/ exclude_patt+|upgrade-alpha/ exclude_patt+|upgrade-m68k/ exclude_patt+|upgrade-sparc/ exclude_patt+|binary-s390/ exclude_patt+|binary-hurd-i386/ exclude_patt+|md5sums exclude_patt+|md5sums.gz exclude_patt+|/potato/main/disks-arm/ exclude_patt+|/potato/main/binary-arm/ exclude_patt+|/potato/contrib/binary-arm/ exclude_patt+|/potato/non-free/binary-arm/ exclude_patt+|/potato/main/binary-sparc/ exclude_patt+|/potato/contrib/binary-sparc/ exclude_patt+|/potato/non-free/binary-sparc/ exclude_patt+|woody/non-free/binary-sparc/ exclude_patt+|woody/non-free/binary-alpha/ exclude_patt+|woody/main/binary-sparc/ exclude_patt+|woody/main/binary-alpha/ exclude_patt+|woody/contrib/binary-sparc/ exclude_patt+|woody/contrib/binary-alpha/ exclude_patt+|woody/main/binary-hurd/ exclude_patt+|woody/main/binary-hurd-i386/ exclude_patt+|woody/main/binary-arm/ exclude_patt+|woody/main/binary-mips/ exclude_patt+|woody/main/binary-mipsel/ exclude_patt+|binary-hppa/ exclude_patt+|binary-sh/ exclude_patt+|woody/main/binary-sparc/ exclude_patt+|woody/main/disks-sparc/ exclude_patt+|woody/main/binary-alpha/ exclude_patt+|woody/Contents-arm.gz exclude_patt+|woody/Contents-hurd-i386.gz exclude_patt+|woody/Contents-alpha.gz exclude_patt+|woody/Contents-sparc.gz exclude_patt+|woody/Contents-hppa.gz exclude_patt+|woody/Contents-sh.gz exclude_patt+|woody/Contents-mips.gz exclude_patt+|woody/Contents-mipsel.gz

exclude_patt+|\.notar

  1. Don’t delete what is mirrored by the other mirror package below
  2. delete_excl=(local|debian-non-US|non-US|project)(/|$)
  3. Do not delete if more than 20% of all files would vanish

max_delete_files=20% 658 Kapitel 23. Weitere Infos 23.3. Erstellen von eigenen Debian GNU/Linux CD-ROMs Debian GNU/Linux CD-ROMs sind im Handel, als Heft-CDs oder zum Download als Image erhältlich. Natürlich bietet Debian Ihnen aber auch die Möglichkeit eigene, bootfähige CDs herzustellen und diese auf die eigenen Bedürfnisse anzupassen. Hierzu steht das Paket debian-cd zu Verfügung. Zunächst sollten Sie jedoch dafür sorgen das die benötigten Dateien für die CDs auf Ihrem System vorhanden sind. Üblich ist es hierzu eine lokale Kopie (Mirror) der gewünschten Architektur(en) (z.B. i386) anzulegen. Das Program mirror ist hierzu hervorragend geeignet. Neben einigen gebräuchlichen Tools (wie zum Beispiel apt-get, perl, bash, make... ) die auf jedem System vorhanden sein sollten, benötigt debian-cd die Programme mkisofs/mkhybrid, dpkg-multicd, das Perl MD5 Modul, dpkg-dev und lynx. Natürlich benötigen Sie auch noch einigen freien Plattenplatz. Nach der Installation dieses Paketes finden sich die notwendigen Dateien im Verzeichnis /usr/share/debian-cd/. In der Datei CONF.sh müssen einige Zeilen angepasst werden. 23.3.1. Konfiguration • export CODENAME=woody - Hier wird die Variable für die gewünschte Version gesetzt. Es sollte bei einem kompletten Mirror einer stabilen Version jederzeit möglich sein die gewünschten CDs zu erstellen. Bei Entwicklerversionen können dringend benötigte Pakete fehlen oder es sind noch keine angepassten Bootdisketten verfügbar. In einem solchen Fall kann aber auch das Paket debian-cd in einem Zustand sein der es nicht erlaubt CDs zu erstellen. • export DEBVERSION="2.3 r0" - Versionsnummer und Releasestand der Distribution. • export OFFICIAL="Unofficial" - Dieser Wert sollte nicht verändert werden. Die Bezeichnung „Official“ ist nur für CD-Images erlaubt die vom Debian Projekt erstellt wurden. Für Vorabversionen kann hier auch die Bezeichnung „Unofficial Beta“ benutzt werden. • export ARCH=‘dpkg --print-installation-architecture‘ - Diese Variable beschreibt für welche Architektur die CD-Images erstellt werden sollen. Häufig wird diese Architektur identisch mit der bereits verwendeten Architektur sein, so das man beruhigt dem Programm dpkg die Aufgabe übertragen kann den richtigen Wert zu ermitteln. Natürlich iste auch möglich CD-Images für eine andere Architektur zu erstellen. In diesem Fall ist der Wert entsprechend anzupassen und natürlich müssen die benötigten Pakete für die Zielarchitektur vorliegen. Je nach Zielarchitektur müssen ggf. noch weitere Pakete, beispielsweise aboot für die Alpha-Architektur, installiert werden. Die nächsten vier Variablen sollten auf Verzeichnisse auf der gleichen Partition und auf dem gleichen Device zeigen. Wenn dies nicht möglich ist, kann die Variable COPYLINK auf 1 gesetzt werden. Dies benötigt einiges an zusätzlichem Festplattenplatz da keine symbolischen Link verwendet werden können. Diese Option muß auch gesetzt sein falls die Daten auf einem per NFS gemounteten Laufwerk liegen. • export MIRROR=/home/ftp/debian - Pfad zum Debian Mirror. Das Verzeichnis unter dem sich die Kopie des Debian FTP-Servers befindet. • export NONUS=/home/ftp/debian/debian-non-US - Das Verzeichnis in dem sich die Dateien aus dem non-US Bereich befinden. Wenn dieser Bereich nicht auf den CDs enthalten sein soll, kann diese Zeile auskommentiert werden. • export FORCENONUSONCD1=1 - Wenn diese Zeile, durch entfernen des Zeichens # aktiviert wird, werden zwei Versionen der ersten CD erzeugt. Eine enthält alle Pakete aus non-US, die andere nicht. Diese Option ist nur sinnvoll wenn tatsächlich beide CD-Images benötigt werden. • export TDIR=/home/ftp/debian/.tmp - Pfad zu einem Verzeichnis in dem Dateien, die zur Erzeugung der CDs benötigt werden, abgelegt werden können. • export OUT=/home/ftp/CD-Images - Pfad in dem die CD-Images abgelegt werden. Dieser kann sich auf einer anderen Partition befinden. Die weiteren Optionen müssen nicht zwingend angepasst werden, trotzdem lohnt es sich mal einen Blick darauf zu werfen. 659 Kapitel 23. Weitere Infos • export APTTMP=/home/ftp/debian/.tmp/apt - Das Verzeichnis für temporäre Dateien die von apt benötigt werden. • export NONFREE=1 - Beschreibt ob auch die Non-Free Teile der Distribution auf den CDs enthalten sein sollen. • export EXTRANONFREE=1 - Hiermit werden die Non-Free Teile auf eine Extra CD geschrieben. Bitte beachten Sie, es kann nur eine der Optionen NONFREE oder EXTRANONFREE benutzt werden. • export LOCAL=1 - Wenn ein Verzeichnis $MIRROR/dists/$CODENAME/local/binary-$ARCH existiert, und die Dateien aus diesem Verzeichnis auf die zu erstellende CD kopiert werden sollen, so ist bei dieser Zeile der Kommentar zu entfernen. • export LOCALDEBS=/home/fr/pakate/debian - Wenn die lokalen Pakete nicht in dem oben beschriebenen Verzeichnis liegen, so kann mit dieser Variablen das gewünschte Verzeichnis angegeben werden. • export BOOTDIR=/boot - Diese Variable ist zu benutzen wenn die Dateien cd.b und second.b nicht an der üblichen Stelle zu finden sind und CD-Images für die Sparc-Architektur erzeugt werden. • export SYMLINK=1 - Mit dieser Option werden Symbolische Links zu den benötigten Paketen erzeugt. • export COPYLINK=1 - Hiermit werden alle Dateien kopiert und keine Symbolischen Links angelegt. • export MKISOFS=/usr/bin/mkhybrid - Hier kann der Pfad zum Programm mkhybrid, mit dem die ISO-Dateien erzeugt werden, angegeben werden. Hier kann auch ein anderes Programm mit ähnlicher Funktionalität, beispielsweise mkisofs benutzt werden. • export MKISOFS_OPTS="-a -r -T" #For normal users oder export MKISOFS_OPTS="-a -r -F . -T" #For symlink farmers - Optionen für das Programm mkhybrid. • export VERBOSE_MAKE=1 - Gibt mehr Informationen während der Zusammenstellung der CD-Images aus. • ATTEMPT_FALLBACK=yes - Mit dieser Option kann versucht werden eine einfachere CD zu erstellen, falls es ohne diese Option fehlschlägt. • export EXCLUDE="$BASEDIR"/tasks/exclude-potato - Liste einiger Dateien die nicht enthalten sein sollen, in diesem Fall um auf der ersten CD etwas Platz zu sparen. • export UNEXCLUDE2="$BASEDIR"/tasks/unexclude-CD2-potato - Hiermit werden die eben ausgeschlossenen Dateien auf die CD Nummer 2 geschrieben. • export SRCEXCLUDE="$BASEDIR"/tasks/exclude-src-potato - Liste einige Quellpakete die ebenfalls nicht auf den CDs erscheinen sollen. Hier ein Beispiel für eine bereits angepasste Konfiguration.

  1. This file will have to be sourced where needed
  2. The debian-cd dir
  3. Where I am (hoping I’m in the debian-cd dir)

export BASEDIR=‘pwd‘

  1. Building potato cd set ...

export CODENAME=woody

  1. Version number, "2.2 r0", "2.2 r1" etc.

export DEBVERSION="3.0 r0"

  1. Official or non-official set.
  2. NOTE: THE "OFFICIAL" DESIGNATION IS ONLY ALLOWED FOR IMAGES AVAILABLE
  3. ON THE OFFICIAL DEBIAN CD WEBSITE http://cdimage.debian.org

export OFFICIAL="Unofficial"

  1. export OFFICIAL="Official"
  2. export OFFICIAL="Official Beta"
  3. ... for arch

660 Kapitel 23. Weitere Infos export ARCH=‘dpkg --print-installation-architecture‘

  1. IMPORTANT : The 4 following paths must be on the same partition/device.
  2. If they aren’t then you must set COPYLINK below to 1. This
  3. takes a lot of extra room to create the sandbox for the ISO
  4. images, however. Also, if you are using an NFS partition for
  5. some part of this, you must use this option.
  6. Paths to the mirrors

export MIRROR=/home/ftp/debian

  1. Comment the following line if you don’t have/want non-US

export NONUS=/home/ftp/debian/debian-non-US

  1. And this option will make you 2 copies of CD1 - one with all the
  2. non-US packages on it, one with none. Useful if you’re likely to
  3. need both.
  4. export FORCENONUSONCD1=1
  5. Path of the temporary directory

export TDIR=/home/ftp/debian/.tmp

  1. Path where the images will be written

export OUT=/home/fr/mp3/IMAGES

  1. Where we keep the temporary apt stuff.
  2. This cannot reside on an NFS mount.

export APTTMP=/home/ftp/debian/.tmp/apt

  1. Do I want to have NONFREE merged in the CD set

export NONFREE=1

  1. Do I want to have NONFREE on a separate CD (the last CD of the CD set)
  2. WARNING: Don’t use NONFREE and EXTRANONFREE at the same time !
  3. export EXTRANONFREE=1
  4. If you have a $MIRROR/dists/$CODENAME/local/binary-$ARCH dir with
  5. local packages that you want to put on the CD set then
  6. uncomment the following line
  7. export LOCAL=1
  8. If your local packages are not under $MIRROR, but somewhere else,
  9. you can uncomment this line and edit to to point to a directory
  10. containing dists/$CODENAME/local/binary-$ARCH
  11. export LOCALDEBS=/home/joey/debian/va/debian
  12. Sparc only : bootdir (location of cd.b and second.b)
  13. export BOOTDIR=/boot
  14. Symlink farmers should uncomment this line :
  15. export SYMLINK=1
  16. Use this to force copying the files instead of symlinking or hardlinking
  17. them. This is useful if your destination directories are on a different
  18. partition than your source files.
  19. export COPYLINK=1
  20. Options
  21. export MKISOFS=/usr/bin/mkhybrid
  22. export MKISOFS_OPTS="-a -r -T" #For normal users
  23. export MKISOFS_OPTS="-a -r -F . -T" #For symlink farmers
  24. uncomment this to if you want to see more of what the Makefile is doing

export VERBOSE_MAKE=1 661 Kapitel 23. Weitere Infos

  1. uncoment this to make build_all.sh try to build a simple CD image if
  2. the proper official CD run does not work
  3. ATTEMPT_FALLBACK=yes
  4. We don’t want certain packages to take up space on CD1...

export EXCLUDE="$BASEDIR"/tasks/exclude-potato

  1. ...but they’re okay on other CDs (UNEXCLUDEx == may be included on CD >= x)

export UNEXCLUDE2="$BASEDIR"/tasks/unexclude-CD2-potato

  1. Any packages listed in EXCLUDE but not in any UNEXCLUDE will be
  2. excluded completely.
  3. We also exclude some source packages

export SRCEXCLUDE="$BASEDIR"/tasks/exclude-src-potato 23.3.2. Erstellen der CD-Images Für das eigentliche erstellen der CD-Images stehen zwei Shell-Scripte zur Verfügung. build.sh erstellt Imges für eine einzelne Architektur. Die gewünschte Architektur wird über die Konfigurationsdatei ermittelt oder kann auf der Kommandozeile übergeben werden. build_all.sh erstellt CDs Images für alle Architekturen. 23.3.3. Aktualisieren von debian-cd Wenn CD-Images für eine Entwicklungsversion von Debian erstellt werden sollen, so kann es passieren das das Paket nicht auf dem allerneuesten Stand ist. In einem solchen Fall bietet sich ein Versuch mit einer Entwicklungsversion von debian-cd aus dem CVS Baum an. Eine komplette Kopie der CVS Version kann mit folgenden Befehlen erstellt werden: cvs -d :pserver:anonymous@cvs.debian.org:/cvs/debian-boot login cvs -d :pserver:anonymous@cvs.debian.org:/cvs/debian-boot -z3 checkout debian-cd cvs -d :pserver:anonymous@cvs.debian.org:/cvs/debian-boot logout Im aktuellen Verzeichnis wird ein Verzeichnis debian-cd erstellt in dem sich die neuesten Dateien befinden. Wenn diese Version aktualisiert werden soll sind beim nächsten Aufruf folgende Kommandos notwendig: cvs -d :pserver:anonymous@cvs.debian.org:/cvs/debian-boot login cvs -d :pserver:anonymous@cvs.debian.org:/cvs/debian-boot -z3 update -d -P cvs -d :pserver:anonymous@cvs.debian.org:/cvs/debian-boot logout 23.4. Programmfehler (bugs) Debian GNU/Linux nimmt die Sicherheit sehr ernst. Der größte Teil der Probleme, die bekannt werden, ist innerhalb von 48 Stunden korrigiert. Die Erfahrung zeigt, daß „Sicherheit durch Verschleierung“ (englisch: security trough obscurity) nicht funktioniert. Die öffentliche „Ent-Schleierung“ wird durch Freigabe des Source-Codes zu Programmen erreicht und erlaubt es, bessere Lösungen für Sicherheits-Probleme schneller zu finden. Mängel in der Sicherheit werden bei Debian GNU/Linux so lange verfolgt, bis eine korrigierte Version in die Distribution eingefügt wird. Wenn Sie in einem stabilen Release eine höhere Versionsnummer finden, dann benutzen Sie die neuere Version. 662 Kapitel 23. Weitere Infos Wenn Sie selber einen Fehler in einem Programm in Ihrer Debian GNU/Linux-Distribution finden, sehen Sie zunächst nach, ob dieses Problem bereits bekannt ist. Sollte dies nicht der Fall sein, so können Sie das Programm bug benutzen, um diesen Fehler an die Debian-Entwickler zu melden. Für allerneueste Sicherheitsinformationen über Debian tragen Sie sich in die debian-security-announce Mailing-Liste ein. Informationen hierzu finden Sie auf den Webseiten des Debian-Projektes. Die Debian GNU/Linux-Distribution verwendet ein Fehlerverfolgungssystem, in dem Details von Fehlern, die von Benutzern oder Entwicklern gemeldet wurden, gespeichert werden. Jeder gefundene Fehler bekommt eine Nummer zugewiesen und wird so lange gespeichert, bis der Fehler beseitigt ist. Sie finden eine Liste aller bekannten Fehler unter: http://www.debian.org/Bugs/ 23.5. Installations- und Rettungsdiskette Sie können die Installationsdiskette oder die CD - falls Sie von dieser das System bei der Installation gestartet haben - auch zur Reparatur Ihres Systems benutzen. Dies kann in seltenen Fällen passieren, z. B. falls Sie den Rechner nicht ordnungsgemäß runtergefahren haben, was auch der Fall bei einem Stromausfall ist. Manchmal kommt es auch vor, daß Sie etwas an den Dateien in /etc geändert haben oder daß ein neu erstellter Kernel nicht startet. Aber auch wenn Sie das Paßwort für den Superuser vergessen haben, kann die Bootdiskette Sie vor der Neuinstallation bewahren. In einem Notfall legen Sie die Rescue-Diskette ein und starten das System neu. Statt wie bei der Installation einfach die Eingabetaste zu drücken, können Sie nun am Prompt zusätzliche Parameter eingeben. Eine umfangreiche Übersicht der Befehle befindet sich auf der Diskette. Diese können Sie sich mit den Funktionstasten ansehen. Wir werden hier nur zwei gebräuchliche Fälle vorstellen. Sollte zum Beispiel die lilo-Konfiguration fehlgeschlagen sein oder der neu übersetzte Kernel läßt sich nicht mehr booten, so sind immer noch alle Daten auf der Root-Partition in einwandfreiem Zustand. Sie haben jetzt die Möglichkeit, den auf der Rescue-Diskette befindlichen Kernel zu booten und das Dateisystem auf der Root-Partition zu mounten. Geben Sie hierzu am Prompt folgendes ein: rescue root=/dev/hda1 Hierbei ist zu beachten, daß Sie - je nachdem auf welcher Partition sich Ihre Root-Partition befindet - das passende device angeben. Nachdem der Kernel von Diskette geladen wurde, wird das System ganz normal gestartet und Sie können sich danach am System anmelden und den Fehler beheben. Im Fall einer nicht funktionierenden Konfiguration von lilo loggen Sie sich als Superuser ein, beheben die Fehler in der Konfigurationsdatei und rufen anschließend das Kommando lilo auf. Ein anderer Fall wäre ein Fehler im Dateisystem der Root-Partition, welches ein normales Booten des Systems verhindert. In den meisten Fällen kommt man hierbei sogar ohne eine Rescue-Diskette aus. Meist hält das System beim Start an und nach Eingabe des Root-Paßwortes können Sie das Dateisystem dann reparieren. Dies läßt sich auch mit der Rescue-Diskette ausführen. Booten Sie hierzu ganz normal mit der Diskette, als wenn Sie eine Installation durchführen wollen. Wählen Sie noch die gewünschte Tastatur aus und wechseln Sie dann mit der Tastenkombination ALT+F3 auf die dritte Konsole. Nach Drücken der Eingabetaste steht dort eine Shell zur Verfügung. Sie können von dort aus das defekte Dateisystem manuell reparieren. Benutzen Sie dazu das Kommando: e2fsck /dev/hda1. Auch hier ist wieder das entsprechende Device anzugeben. Nach einem Neustart des Systems sollte alles wieder wie gewohnt funktionieren. 23.6. Technische Informationen zu den Boot-Disketten 23.6.1. Quellcode Das Paket boot-floppies enthält den gesamten Quellcode, um die Installations-Disketten herstellen zu können. Dieser Text ist auch im Paket installmanual-de zu finden. 663 Kapitel 23. Weitere Infos 23.6.2. Die Notfalldiskette Auf der Notfall-Diskette ist ein MS-DOS-Dateisystem enthalten, auf das von jedem System, das DOS-Disketten mounten kann (sogar DOS oder Windows), zugegriffen werden kann. Der Linux-Kernel liegt in der Datei linux. Die Datei root.bin ist ein mit dem Programm gzip komprimiertes Image eines 1.44 MB Minix-Dateisystems. Dieses wird in die RAM-Disk im Hauptspeicher geladen und dort als Festplattenersatz für das Root-Dateisystem verwendet. 23.6.3. Kernel ersetzen Wenn der Kernel auf der Notfalldiskette ersetzt werden soll, muß der neue Linux-Kernel mit den folgenden Eigenschaften (als fester Bestandteil, nicht als ladbare Module) konfiguriert werden: • Initial RAM disk • MSDOS, Minix und EXT2-Dateisystem • Ausführbare Dateien als ELF executables Danach wird der neu erzeugte Kernel (zImage oder bzImage) mit dem Dateinamen „linux“ auf die Notfalldiskette kopiert. Anschließend rufen Sie das Shell-Skript rdev.sh auf, das ebenfalls auf der Diskette zu finden ist. Dieses Programm nimmt noch ein paar kleine Einstellungen an dem neuen Linux-Kernel vor. 23.6.4. Die Basisdisketten Die Disketten des Basis-Systems enthalten einen 512 Byte großen Kopf sowie jeweils einen Teil eines mit gzip komprimierten tar-Archivs. Werden jeweils die Köpfe entfernt und danach die Inhalte der Disketten zusammengefügt, so ergibt sich das vollständige komprimierte tar-Archiv. Dieses Archiv enthält das Grundsystem, das während der Installation auf Ihr System kopiert wird. Es bietet die Basis-Funktionalität eines Debian GNU/Linux-Systems, dem jedoch noch zahlreiche Anwendungen fehlen. Wenn das Archiv installiert ist, muß das System zunächst mit dem Menüpunkt Configure the Base System konfiguriert werden. Mit Hilfe von weiteren Menüeinträgen im Installationssystem werden die Netzwerkanbindung, der Betriebssystemkern und seine Module installiert und konfiguriert. Erst danach kann das System eingesetzt werden. 23.7. Deutsche Tastatur mit X11 Wir empfehlen Ihnen die Installation des Paketes user-de. Dies nimmt alle nötigen Einstellungen für Sie vor. Wurde das Window-System X11 erfolgreich mit xf86config konfiguriert und startet die grafische Oberfläche ohne Probleme, dann sollte die Tastaturbelegung unter X11 der Belegung auf der Textkonsole entsprechen. Wenn auf der Konsole eine Deutsche Tastaturbelegung geladen wurde, unter X11 jedoch zum Beispiel die Tasten ’Y’ und ’Z’ vertauscht sind und auf den Umlauttasten Semikolon und Doppelpunkt liegen, dann müssen Sie für X11 die Tastaturbelegung ändern. Editieren Sie dazu die Datei /etc/X11/XF86Config wie folgt: ... Section "Keyboard" ... XkbLayout "de" ...

  1. XkbKeymap "xfree86(us)"

... 664 Kapitel 23. Weitere Infos Die Zeile mit XkbLayout ist ursprünglich auskommentiert, das heißt, sie hat ein ‘#’-Zeichen am Anfang. Möglicherweise ist die Zeile überhaupt nicht vorhanden. In diesem Fall fügen Sie die Zeile in der Section Keyboard ein. Folgende Zeile XkbKeymap "xfree86(us)" kommentieren Sie aus, das heißt, Sie schreiben ein ‘#’-Zeichen in die erste Spalte. Alternativ zu obiger Methode können Sie versuchen, die Zeile XkbKeymap "xfree86(us)" abzuändern in XkbKeymap "xfree86(de)" Für Schweizer Benutzer von Debian GNU/Linux könnten diese Einstellungen an derselben Stelle funktionieren: ... XkbRules "xfree86" XkbModel "pc102" XkbLayout "de_CH" XkbVariant "nodeadkeys" XkbOptions "" ... Auf jeden Fall müssen Sie nach diesen Änderungen die Datei abspeichern, X11 beenden und neu starten. Achtung: Das Terminalprogramm xterm akzeptiert möglicherweise keine Umlaute. Zum Austesten der neuen Tastaturbelegung starten Sie am besten einen Editor wie xedit. 23.7.1. Gerätedateien in /dev und ihre Bedeutung Unter Linux befinden sich im Verzeichnis /dev/ verschiedene besondere Dateien, die sogenannten Gerätedateien (device files). Unter Unix wird auf Hardware- und System-Komponenten jeweils über Gerätedateien zugegriffen. Mit Hilfe einer solchen Datei kann vom jeweiligen Programm über einen speziellen internen Treiber das zugehörige Gerät beziehungsweise eine Systemkomponente angesprochen werden. Die Gerätedatei dient dafür als Schnittstelle. Aus Anwendersicht verhalten sich Gerätedateien oft anders als gewöhnliche Dateien. Die Bedeutung der wichtigsten Gerätedateien ist im folgenden aufgeführt. Es gibt sehr viele verschiedene CD-ROM-Laufwerke und Schnittstellen. Sollten Sie weder ein SCSI-CD-ROM-Laufwerk haben noch eines mit IDE-Schnittstelle, dann gibt es für Ihr CD-ROM-Laufwerk eine spezielle Gerätedatei, die bereits bei der Installation automatisch angelegt wurde. Der Name dieser Gerätedatei ist üblicherweise ein Kürzel des Namens Ihres CD-ROM-Laufwerks. Um den Zugriff auf das CD-ROM-Laufwerk zu vereinfachen, existiert der symbolische Link /dev/cdrom. Dieser Link wird bei der Installation ebenfalls angelegt und verweist auf die eigentliche Gerätedatei. Mit dem Kommando ls -l /dev/cdrom sehen Sie nach, auf welche Gerätedatei cdrom verweist. fr@sushi:~$ ls -l /dev/cdrom lrwxrwxrwx 1 root root 3 Sep 1 16:06 /dev/cdrom -> hdc Hier die wichtigsten Gerätedateien im Verzeichnis /dev/: fd0 1. Diskettenlaufwerk fd1 2. Diskettenlaufwerk hda IDE Festplatte / IDE CDROM am 1. Anschluß Master hdb IDE Festplatte / IDE CDROM am 1. Anschluß Slave hdc IDE Festplatte / IDE CDROM am 2. Anschluß Master hdd IDE Festplatte / IDE CDROM am 2. Anschluß Slave hda1 1. Partition der ersten IDE Platte hda15 15. Partition der ersten IDE Platte 665 Kapitel 23. Weitere Infos sda SCSI (Wechsel-) Platte, kleinste SCSI ID sdb SCSI (Wechsel-) Platte, nächst größere SCSI ID sdc SCSI (Wechsel-) Platte, nächst größere SCSI ID sda1 1. Partition der ersten SCSI (Wechsel-) Platte sda15 15. Partition der ersten SCSI (Wechsel-) Platte scd0 1. SCSI CDROM Laufwerk scd1 2. SCSI CDROM Laufwerk cdrom Symbolischer Link auf cdrom Laufwerk mouse Symbolischer Link auf Maus-Gerätedatei ttyS0 1. Serielle Schnittstelle (COM1) ttyS1 2. Serielle Schnittstelle (COM2) lp0 1. Parallele Schnittstelle lp1 2. Parallele Schnittstelle null Hier können beliebig viel Daten reinkopiert werden zero Hieraus können beliebig viel Nullen gelesen werden Achtung: Die Daten bei DOS-formatierten Zip-Medien liegen auf Partition vier. Das heißt, daß Sie zum Mounten eines DOS-formatierten ZIP-Mediums folgendes eingeben müssen: mount -t vfat /dev/sdc4 /zip. Dies gilt für den Fall, daß das Zip-Laufwerk das dritte SCSI-Plattengerät für Wechselmedien ist und daß Sie das Zip-Medium auf das Verzeichnis /zip mounten möchten. 23.7.2. Warenzeichen Warenzeichen, die nicht explizit angegeben wurden, gehören ihren jeweiligen Eigentümern. Linux ist eingetragenes Warenzeichen von Linus Torvalds. 386, 386sx, 486, Pentium, Pentium Pro, Pentium II und Pentium III sind Eigentum von Intel. Windows, Windows95, Windows98, WindowsNT und WinModem sind Warenzeichen von Microsoft. ThinkPad und OS/2 sind Eigentum von IBM. 23.8. Debian – Gesellschaftsvertrag „Gesellschaftsvertrag“ mit der Gemeinschaft für freie Software Wir sind „Software In The Public Interest“-Hersteller des Debian GNU/Linux-Systems. Wir bieten diesen „Gesellschaftsvertrag“ der Gemeinschaft für freie Software an. (Mit „Gemeinschaft für freie Software“ werden alle Hersteller und Anwender freier Software bezeichnet.) 1. Debian wird 100% freie Software bleiben Wir versprechen, daß die Debian GNU/Linux-Distribution auch weiterhin vollständig aus freier Software bestehen wird. Da es viele verschiedene Auslegungen des Begriffs „freie Software“ gibt, haben wir weiter unten die Richtlinien aufgeführt, nach denen wir freie Software identifizieren. Trotzdem werden wir Anwender unterstützen, die nichtfreie Programme einsetzen oder entwickeln. Wir werden aber niemals das Gesamtsystem von nichtfreier Software abhängig machen. 2. Unser Beitrag zur Gemeinschaft für freie Software Wenn wir neue Komponenten des Debian-Systems schreiben, so werden wir sie als freie Software lizensieren. Wir werden das bestmögliche System erstellen, so daß freie Software weit verbreitet und genutzt wird. Wir werden Korrekturen, Verbesserungen, Anwenderwünsche usw. an die ursprünglichen („upstream“) Autoren weiterleiten, deren Programme in unser System integriert wurden. 3. Wir werden Probleme nicht verbergen 666 Kapitel 23. Weitere Infos Wir werden unsere Fehlerdatenbank für alle Zeiten öffentlich betreiben. Fehlermeldungen, die von Anwendern online abgeschickt werden, werden augenblicklich für andere sichtbar. 4. Unsere Prioritäten sind unsere Anwender und freie Software Wir orientieren uns an den Bedürfnissen unserer Anwender und der Gemeinschaft für freie Software. Ihre Interessen stehen an erster Stelle. Wir werden unsere Nutzer bei Ihrer Arbeit mit den verschiedensten Rechnerumgebungen unterstützen. Wir haben nichts dagegen, daß kommerzielle Software auf Debian-Systemen eingesetzt wird. Außerdem erlauben wir anderen eine erweiterte („Value-Added“) Distribution zu erstellen, die Debian und kommerzielle Software enthält, ohne dafür irgendwelche Gebühren zu erheben. Um diese Ziele zu erreichen, werden wir ein integriertes System von hoher Qualität und 100% freier Software anbieten, die die gerade beschriebene Nutzung nicht durch rechtliche Einschränkungen, wie z. B. durch Lizenzverträge, verhindert. 5. Programme, die nicht unseren Standards für freie Software genügen Wir wissen, daß einige unserer Anwender unbedingt Programme einsetzen müssen, die nicht den Debian-Richtlinien für freie Software entsprechen. Für solche Programme haben wird die zusätzlichen Bereiche „contrib“ und „non-free“ auf unserem FTP-Archiv eingerichtet. Die Software in diesen Verzeichnissen ist nicht Bestandteil des Debian-Systems, wurde aber trotzdem für den Einsatz in einem Debian-System vorbereitet. Wir empfehlen den CD-Herstellern, die jeweiligen Lizenzbestimmungen der Programmpakete in diesen Verzeichnissen zu studieren und selbst zu entscheiden, ob Sie die Programme mit Ihren CDs verteilen dürfen. Obwohl die Programme aus „non-free“ nicht Bestandteil der Debian-Distribution sind, unterstützen wir ihren Einsatz und bieten Infrastruktur für diese nicht freien Programme an, z. B. unsere Fehlerdatenbank und die Mailing-Listen. 23.9. Die Debian-Richtlinien für freie Software (englisch: Debian Free Software Guidelines) 1. Unbeschränkte Weitergabe Ein Bestandteil der Debian-Distribution darf durch seine Lizenz nicht verhindern, daß irgend jemand diese Software als Bestandteil einer Software-Distribution, die Programme aus den verschiedensten Quellen enthält, verkauft oder weitergibt. Die Lizenz darf keine Abgaben oder sonstige Leistungen für einen solchen Verkauf fordern. 2. Quellcode Das Programm muß im Quellcode vorliegen, und es muß die Weitergabe sowohl im Quellcode als auch in compilierter Form erlaubt sein. 3. Weiterführende Arbeiten Die Lizenz muß Veränderungen und weiterführende Arbeiten gestatten und es erlauben, daß diese unter den gleichen Lizenzbedingungen weitergegeben werden dürfen wie die Original-Software. 4. Integrität des ursprünglichen Quellcodes Die Lizenz darf die Weitergabe von verändertem Quellcode nur dann verbieten, wenn sie die Weitergabe von sogenannten Patch-Dateien mit dem Quellcode erlaubt, die dazu dienen, das Programm vor seiner Herstellung zu modifizieren. Die Lizenz muß ausdrücklich die Weitergabe der aus dem veränderten Quellcode erzeugten Programme erlauben. Die Lizenz darf fordern, daß die veränderten Programme einen anderen Namen oder eine andere Versionsnummer tragen müssen. (Dies ist ein Kompromiß. Die Debian-Gruppe ermutigt alle Autoren, Veränderungen an Dateien sowohl im Quellcode als auch in Binärform zu erlauben.) 5. Keine Diskriminierung von Personen oder Gruppen Die Lizenz darf keine Person oder Gruppe von Personen diskriminieren. 6. Keine Diskriminierung von Einsatzbereichen Die Lizenz darf keine Einschränkungen hinsichtlich des Einsatzbereichs vornehmen. Beispielsweise darf sie nicht verhindern, daß das Programm geschäftlich oder für genetische Forschungen verwendet wird. 667 Kapitel 23. Weitere Infos 7. Weitergabe der Lizenz Die mit einem Programm verbundenen Rechte müssen für alle gelten, die das Programm erhalten, ohne daß es für sie notwendig ist, eine zusätzliche Lizenz zu erwerben. 8. Keine spezielle Lizenz für Debian Die mit dem Programm verbundenen Rechte dürfen nicht davon abhängig sein, daß das Programm Teil des Debian-Systems ist. Falls das Programm aus der Debian-Distribution herausgenommen wird und ohne Debian genutzt oder vertrieben werden soll, ansonsten aber im Rahmen der Programmlizenz bleibt, so müssen alle Parteien, die das Programm bekommen, die gleichen Rechte haben, wie sie im Zusammenhang mit dem Debian-System gewährt wurden. 9. Keine Auswirkungen auf andere Programme Die Lizenz darf keine Beschränkungen besitzen, die Auswirkungen auf andere Software hat, die mit diesem Programm weitergegeben wird. Beispielsweise darf die Lizenz nicht vorschreiben, daß alle anderen Programme auf dem gleichen Medium freie Software sein müssen. 10. Beispiellizenzen Die „GPL“- „BSD“- und „Artistic“-Lizenzen sind Beispiele für Lizenzen, die wir als „frei“ betrachten. Dies ist die deutsche Übersetzung von „Debian’s social contract with the free software community“. In Zweifelsfällen ist das englische Original maßgeblich. Es ist beispielsweise unter http://www.debian.org/social_contract.en.html verfügbar. 23.10. GNU Public License Deutsche Übersetzung der GNU General Public License Erstellt im Auftrag der S.u.S.E. GmbH [suse@suse.de] von Katja Lachmann Übersetzungen [na194@fim.uni-erlangen.de], überarbeitet von Peter Gerwinski [peter.gerwinski@uni-essen.de] (31. Oktober 1996) Diese Übersetzung wird mit der Absicht angeboten, das Verständnis der GNU General Public License (GNU-GPL) zu erleichtern. Es handelt sich jedoch nicht um eine offizielle oder im rechtlichen Sinne anerkannte Übersetzung. Die Free Software Foundation (FSF) ist nicht der Herausgeber dieser Übersetzung, und sie hat diese Übersetzung auch nicht als rechtskräftigen Ersatz für die Original-GNU-GPL anerkannt. Da die Übersetzung nicht sorgfältig von Anwälten überprüft wurde, können die Übersetzer nicht garantieren, daß die Übersetzung die rechtlichen Aussagen der GNU-GPL exakt wiedergibt. Wenn Sie sichergehen wollen, daß von Ihnen geplante Aktivitäten im Sinne der GNU-GPL gestattet sind, halten Sie sich bitte an die englischsprachige Originalversion. Die Free Software Foundation möchte Sie darum bitten, diese Übersetzung nicht als offizielle Lizenzbedingungen für von Ihnen geschriebene Programme zu verwenden. Bitte benutzen Sie hierfür statt dessen die von der Free Software Foundation herausgegebene englischsprachige Originalversion. This is a translation of the GNU General Public License into German. This translation is distributed in the hope that it will facilitate understanding, but it is not an official or legally approved translation. The Free Software Foundation is not the publisher of this translation and has not approved it as a legal substitute for the authentic GNU General Public License. The translation has not been reviewed carefully by lawyers, and therefore the translator cannot be sure that it exactly represents the legal meaning of the GNU General Public License. If you wish to be sure whether your planned activities are permitted by the GNU General Public License, please refer to the authentic English version. The Free Software Foundation strongly urges you not to use this translation as the official distribution terms for your programs; instead, please use the authentic English version published by the Free Software Foundation. GNU General Public License Deutsche Übersetzung der Version 2, Juni 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 668 Kapitel 23. Weitere Infos 675 Mass Ave, Cambridge, MA 02139, USA Jeder hat das Recht, diese Lizenzurkunde zu vervielfältigen und unveränderte Kopien zu verbreiten; Änderungen sind jedoch nicht gestattet. Diese Übersetzung ist kein rechtskräftiger Ersatz für die englischsprachige Originalversion! Vorwort Die meisten Softwarelizenzen sind daraufhin entworfen worden, Ihnen die Freiheit zu nehmen, die Software weiterzugeben und zu verändern. Im Gegensatz dazu soll Ihnen die GNU General Public License, die allgemeine öffentliche GNU-Lizenz, ebendiese Freiheit garantieren. Sie soll sicherstellen, daß die Software für alle Benutzer frei ist. Diese Lizenz gilt für den Großteil der von der Free Software Foundation herausgegebenen Software und für alle anderen Programme, deren Autoren Ihr Werk dieser Lizenz unterstellt haben. Auch Sie können diese Möglichkeit der Lizenzierung für Ihre Programme anwenden. (Ein anderer Teil der Software der Free Software Foundation unterliegt statt dessen der GNU Lesser General Public License, der allgemeinen öffentlichen GNU-Lizenz für Bibliotheken.) Die Bezeichnung „freie“ Software bezieht sich auf Freiheit, nicht auf den Preis. Unsere Lizenzen sollen Ihnen die Freiheit garantieren, Kopien freier Software zu verbreiten (und etwas für diesen Service zu berechnen, wenn Sie möchten), die Möglichkeit, die Software im Quelltext zu erhalten oder den Quelltext auf Wunsch zu bekommen. Die Lizenzen sollen garantieren, daß Sie die Software ändern oder Teile davon in neuen freien Programmen verwenden dürfen - und daß Sie wissen, daß Sie dies alles tun dürfen. Um Ihre Rechte zu schützen, müssen wir Einschränkungen machen, die es jedem verbieten, Ihnen diese Rechte zu verweigern oder Sie aufzufordern, auf diese Rechte zu verzichten. Aus diesen Einschränkungen folgen bestimmte Verantwortlichkeiten für Sie, wenn Sie Kopien der Software verbreiten oder sie verändern. Beispielsweise müssen Sie den Empfängern alle Rechte gewähren, die Sie selbst haben, wenn Sie - kostenlos oder gegen Bezahlung - Kopien eines solchen Programms verbreiten. Sie müssen sicherstellen, daß auch Sie den Quelltext erhalten beziehungsweise erhalten können. Und Sie müssen ihnen diese Bedingungen zeigen, damit Sie Ihre Rechte kennen. Wir schützen Ihre Rechte in zwei Schritten: (1) Wir stellen die Software unter ein Urheberrecht (Copyright), und (2) wir bieten Ihnen diese Lizenz an, die Ihnen das Recht gibt, die Software zu vervielfältigen, zu verbreiten und/oder zu verändern. Um die Autoren und uns zu schützen, wollen wir darüberhinaus sicherstellen, daß jeder erfährt, daß für diese freie Software keinerlei Garantie besteht. Wenn die Software von jemand anderem modifiziert und weitergegeben wird, möchten wir, daß die Empfänger wissen, daß Sie nicht das Original erhalten haben, damit von anderen verursachte Probleme nicht den Ruf des ursprünglichen Autors schädigen. Schließlich und endlich ist jedes freie Programm permanent durch Software-Patente bedroht. Wir möchten die Gefahr ausschließen, daß Distributoren eines freien Programms individuell Patente lizensieren - mit dem Ergebnis, daß das Programm proprietär würde. Um dies zu verhindern, haben wir klargestellt, daß jedes Patent entweder für freie Benutzung durch jedermann lizenziert werden muß oder überhaupt nicht lizenziert werden darf. Es folgen die genauen Bedingungen für die Vervielfältigung, Verbreitung und Bearbeitung: Bedingungen für die Vervielfältigung, Verbreitung und Bearbeitung Paragraph 0. Diese Lizenz gilt für jedes Programm und jedes andere Werk, in dem ein entsprechender Vermerk des Copyright-Inhabers darauf hinweist, daß das Werk unter den Bestimmungen dieser General Public License verbreitet werden darf. im Folgenden wird jedes derartige Programm oder Werk als „das Programm“ bezeichnet; die Formulierung „auf dem Programm basierendes Werk“ bezeichnet das Programm sowie jegliche Bearbeitung des Programms im urheberrechtlichen Sinne, also ein Werk, welches das Programm, auch auszugsweise, sei es unverändert oder verändert und/oder in eine andere Sprache übersetzt, enthält. (im Folgenden wird die Übersetzung ohne Einschränkung als „Bearbeitung“ eingestuft.) Jeder Lizenznehmer wird im folgenden als „Sie“ angesprochen. Andere Handlungen als Vervielfältigung, Verbreitung und Bearbeitung werden von dieser Lizenz nicht berührt; sie fallen nicht in Ihren Anwendungsbereich. Der Vorgang der Ausführung des Programms wird nicht eingeschränkt, und die Ausgaben des Programms unterliegen dieser Lizenz nur, wenn der Inhalt ein auf dem Programm basierendes Werk darstellt (unabhängig davon, daß die Ausgabe durch die Ausführung des Programms erfolgte). Ob dies zutrifft, hängt von den Funktionen des Programms ab. 669 Kapitel 23. Weitere Infos Paragraph 1. Sie dürfen auf beliebigen Medien unveränderte Kopien des Quelltextes des Programms, wie Sie ihn erhalten haben, anfertigen und verbreiten. Voraussetzung hierfür ist, daß Sie mit jeder Kopie einen entsprechenden Copyright-Vermerk sowie einen Haftungsausschluß veröffentlichen, alle Vermerke, die sich auf diese Lizenz und das Fehlen einer Garantie beziehen, unverändert lassen und desweiteren allen anderen Empfängern des Programms zusammen mit dem Programm eine Kopie dieser Lizenz zukommen lassen. Sie dürfen für den eigentlichen Kopiervorgang eine Gebühr verlangen. Wenn Sie es wünschen, dürfen Sie auch gegen Entgelt eine Garantie für das Programm anbieten. Paragraph 2. Sie dürfen Ihre Kopie(n) des Programms oder eines Teils davon verändern, wodurch ein auf dem Programm basierendes Werk entsteht; Sie dürfen derartige Bearbeitungen unter den Bestimmungen von Paragraph 1 vervielfältigen und verbreiten, vorausgesetzt, daß zusätzlich alle folgenden Bedingungen erfüllt werden: (a) Sie müssen die veränderten Dateien mit einem auffälligen Vermerk versehen, der auf die von Ihnen vorgenommene Modifizierung und das Datum jeder Änderung hinweist. (b) Sie müssen dafür sorgen, daß jede von Ihnen verbreitete oder veröffentlichte Arbeit, die ganz oder teilweise von dem Programm oder Teilen davon abgeleitet ist, Dritten gegenüber als Ganzes unter den Bedingungen dieser Lizenz ohne Lizenzgebühren zur Verfügung gestellt wird. (c) Wenn das veränderte Programm normalerweise bei der Ausführung interaktiv Kommandos einliest, müssen Sie dafür sorgen, daß es, wenn es auf dem üblichsten Wege für solche interaktive Nutzung gestartet wird, eine Meldung ausgibt oder ausdruckt, die einen geeigneten Copyright-Vermerk enthält sowie einen Hinweis, daß es keine Gewährleistung gibt (oder anderenfalls, daß Sie Garantie leisten), und daß die Benutzer das Programm unter diesen Bedingungen weiter verbreiten dürfen. Auch muß der Benutzer darauf hingewiesen werden, wie er eine Kopie dieser Lizenz ansehen kann. (Ausnahme: Wenn das Programm selbst interaktiv arbeitet, aber normalerweise keine derartige Meldung ausgibt, muß Ihr auf dem Programm basierendes Werk auch keine solche Meldung ausgeben). Diese Anforderungen betreffen das veränderte Werk als Ganzes. Wenn identifizierbare Abschnitte des Werkes nicht von dem Programm abgeleitet sind und vernünftigerweise selbst als unabhängige und eigenständige Werke betrachtet werden können, dann erstrecken sich diese Lizenz und Ihre Bedingungen nicht auf diese Abschnitte, wenn sie als eigenständige Werke verbreitet werden. Wenn Sie jedoch dieselben Abschnitte als Teil eines Ganzen verbreiten, das ein auf dem Programm basierendes Werk darstellt, dann muß die Verbreitung des Ganzen nach den Bedingungen dieser Lizenz erfolgen, deren Bedingungen für weitere Lizenznehmer somit auf die Gesamtheit ausgedehnt werden - und damit auf jeden einzelnen Teil, unabhängig vom jeweiligen Autor. Somit ist es nicht die Absicht dieses Abschnittes, Rechte für Werke in Anspruch zu nehmen oder zu beschneiden, die komplett von Ihnen geschrieben wurden; vielmehr ist es die Absicht, die Rechte zur Kontrolle der Verbreitung von Werken, die auf dem Programm basieren oder unter seiner auszugsweisen Verwendung zusammengestellt worden sind, auszuüben. Ferner bringt ein einfaches Zusammenstellen eines anderen Werkes, das nicht auf dem Programm basiert, zusammen mit dem Programm oder einem auf dem Programm basierenden Werk auf ein- und demselben Speicher- oder Vertriebsmedium das andere Werk nicht in den Anwendungsbereich dieser Lizenz. Paragraph 3. Sie dürfen das Programm (oder ein darauf basierendes Werk gemäß Paragraph 2) als Objectcode oder in ausführbarer Form unter den Bedingungen von Paragraph 1 und 2 vervielfältigen und verbreiten - vorausgesetzt, daß Sie außerdem eine der folgenden Leistungen erbringen: (a) Liefern Sie das Programm zusammen mit dem vollständigen zugehörigen maschinenlesbaren Quelltext auf einem für den Datenaustausch üblichen Medium aus, wobei die Verteilung unter den Bedingungen der Paragraphen 1 und 2 erfolgen muß. Oder: (b) Liefern Sie das Programm zusammen mit einem mindestens drei Jahre lang gültigen schriftlichen Angebot aus, jedem Dritten eine vollständige maschinenlesbare Kopie des Quelltextes zur Verfügung zu stellen - zu nicht 670 Kapitel 23. Weitere Infos höheren Kosten als denen, die durch den physikalischen Kopiervorgang anfallen -, wobei der Quelltext unter den Bedingungen der Paragraphen 1 und 2 auf einem für den Datenaustausch üblichen Medium weitergegeben wird. Oder: (c) Liefern Sie das Programm zusammen mit dem schriftlichen Angebot der Zurverfügungstellung des Quelltextes aus, das Sie selbst erhalten haben. (Diese Alternative ist nur für nicht-kommerzielle Verbreitung zulässig und nur, wenn Sie das Programm als Objectcode oder in ausführbarer Form mit einem entsprechenden Angebot gemäß Absatz b erhalten haben.) Unter dem Quelltext eines Werkes wird diejenige Form des Werkes verstanden, die für Bearbeitungen vorzugsweise verwendet wird. Für ein ausführbares Programm bedeutet „der komplette Quelltext“ Der Quelltext aller im Programm enthaltenen Module einschließlich aller zugehörigen Modulschnittstellen-Definitionsdateien sowie der zur Compilation und Installation verwendeten Skripte. Als besondere Ausnahme jedoch braucht der verteilte Quelltext nichts von dem zu enthalten, was üblicherweise (entweder als Quelltext oder in binärer Form) zusammen mit den Hauptkomponenten des Betriebssystems (Kernel, Compiler usw.) geliefert wird, unter dem das Programm läuft - es sei denn, diese Komponente selbst gehört zum ausführbaren Programm. Wenn die Verbreitung eines ausführbaren Programms oder des Objectcodes dadurch erfolgt, daß der Kopierzugriff auf eine dafür vorgesehene Stelle gewährt wird, so gilt die Gewährung eines gleichwertigen Zugriffs auf den Quelltext als Verbreitung des Quelltextes, auch wenn Dritte nicht dazu gezwungen sind, den Quelltext zusammen mit dem Objectcode zu kopieren. Paragraph 4. Sie dürfen das Programm nicht vervielfältigen, verändern, weiter lizenzieren oder verbreiten, sofern es nicht durch diese Lizenz ausdrücklich gestattet ist. Jeder anderweitige Versuch der Vervielfältigung, Modifizierung, Weiterlizenzierung und Verbreitung ist nichtig und beendet automatisch Ihre Rechte unter dieser Lizenz. Jedoch werden die Lizenzen Dritter, die von Ihnen Kopien oder Rechte unter dieser Lizenz erhalten haben, nicht beendet, solange diese die Lizenz voll anerkennen und befolgen. Paragraph 5. Sie sind nicht verpflichtet, diese Lizenz anzunehmen, da Sie sie nicht unterzeichnet haben. Jedoch gibt Ihnen nichts anderes die Erlaubnis, das Programm oder von ihm abgeleitete Werke zu verändern oder zu verbreiten. Diese Handlungen sind gesetzlich verboten, wenn Sie diese Lizenz nicht anerkennen. Indem Sie das Programm (oder ein darauf basierendes Werk) verändern oder verbreiten, erklären Sie Ihr Einverständnis mit dieser Lizenz und mit allen Ihren Bedingungen bezüglich der Vervielfältigung, Verbreitung und Veränderung des Programms oder eines darauf basierenden Werkes. Paragraph 6. Jedesmal, wenn Sie das Programm (oder ein auf dem Programm basierendes Werk) weitergeben, erhält der Empfänger automatisch vom ursprünglichen Lizenzgeber die Lizenz, das Programm entsprechend den hier festgelegten Bestimmungen zu vervielfältigen, zu verbreiten und zu verändern. Sie dürfen keine weiteren Einschränkungen der Durchsetzung der hierin zugestandenen Rechte des Empfängers vornehmen. Sie sind nicht dafür verantwortlich, die Einhaltung dieser Lizenz durch Dritte durchzusetzen. Paragraph 7. Sollten Ihnen infolge eines Gerichtsurteils, des Vorwurfs einer Patentverletzung oder aus einem anderen Grunde (nicht auf Patentfragen begrenzt) Bedingungen (durch Gerichtsbeschluß, Vergleich oder anderweitig) auferlegt werden, die den Bedingungen dieser Lizenz widersprechen, so befreien Sie diese Umstände nicht von den Bestimmungen dieser Lizenz. Wenn es Ihnen nicht möglich ist, das Programm unter gleichzeitiger Beachtung der Bedingungen in dieser Lizenz und Ihrer anderweitigen Verpflichtungen zu verbreiten, dann dürfen Sie als Folge das Programm überhaupt nicht verbreiten. Wenn zum Beispiel ein Patent nicht die gebührenfreie Weiterverbreitung des Programms durch diejenigen erlaubt, die das Programm direkt oder indirekt von Ihnen erhalten haben, dann besteht der einzige Weg, sowohl das Patentrecht als auch diese Lizenz zu befolgen, darin, ganz auf die Verbreitung des Programms zu verzichten. Sollte sich ein Teil dieses Paragraphen als ungültig oder unter bestimmten Umständen nicht durchsetzbar erweisen, so soll dieser Paragraph seinem Sinne nach angewandt werden; im übrigen soll dieser Paragraph als Ganzes gelten. Zweck dieses Paragraphen ist nicht, Sie dazu zu bringen, irgendwelche Patente oder andere Eigentumsansprüche zu verletzen oder die Gültigkeit solcher Ansprüche zu bestreiten; dieser Paragraph hat einzig den Zweck, die Integrität des Verbreitungssystems der freien Software zu schützen, das durch die Praxis öffentlicher Lizenzen verwirklicht wird. Viele Leute haben großzügige Beiträge zu dem großen Angebot der mit diesem System verbreiteten Software im Vertrauen auf die konsistente Anwendung dieses Systems geleistet; es 671 Kapitel 23. Weitere Infos liegt am Autor/Geber, zu entscheiden, ob er die Software mittels irgendeines anderen Systems verbreiten will; ein Lizenznehmer hat auf diese Entscheidung keinen Einfluß. Dieser Paragraph ist dazu gedacht, deutlich klarzustellen, was als Konsequenz aus dem Rest dieser Lizenz betrachtet wird. Paragraph 8. Wenn die Verbreitung und/oder die Benutzung des Programms in bestimmten Staaten entweder durch Patente oder durch urheberrechtlich geschützte Schnittstellen eingeschränkt ist, kann der Urheberrechtsinhaber, der das Programm unter diese Lizenz gestellt hat, eine explizite geographische Begrenzung der Verbreitung angeben, in der diese Staaten ausgeschlossen werden, so daß die Verbreitung nur innerhalb und zwischen den Staaten erlaubt ist, die nicht ausgeschlossen sind. In einem solchen Fall beinhaltet diese Lizenz die Beschränkung, als wäre sie in diesem Text niedergeschrieben. Paragraph 9. Die Free Software Foundation kann von Zeit zu Zeit überarbeitete und/oder neue Versionen der General Public License veröffentlichen. Solche neuen Versionen werden vom Grundprinzip her der gegenwärtigen entsprechen, können aber im Detail abweichen, um neuen Problemen und Anforderungen gerecht zu werden. Jede Version dieser Lizenz hat eine eindeutige Versionsnummer. Wenn in einem Programm angegeben wird, daß es dieser Lizenz in einer bestimmten Versionsnummer oder „jeder späteren Version“ („any later version“ unterliegt, so haben Sie die Wahl, entweder den Bestimmungen der genannten Version zu folgen oder denen jeder beliebigen späteren Version, die von der Free Software Foundation veröffentlicht wurde. Wenn das Programm keine Versionsnummer angibt, können Sie eine beliebige Version wählen, die je von der Free Software Foundation veröffentlicht wurde. Paragraph 10. Wenn Sie den Wunsch haben, Teile des Programms in anderen freien Programmen zu verwenden, deren Bedingungen für die Verbreitung anders sind, schreiben Sie an den Autor, um ihn um die Erlaubnis zu bitten. Für Software, die unter dem Copyright der Free Software Foundation steht, schreiben Sie an die Free Software Foundation; wir machen zu diesem Zweck gelegentlich Ausnahmen. Unsere Entscheidung wird von den beiden Zielen geleitet werden, zum einen den freien Status aller von unserer freien Software abgeleiteten Werke zu erhalten und zum anderen das gemeinschaftliche Nutzen und Wiederverwenden von Software im allgemeinen zu fördern. Keine Gewährleistung Paragraph 11. Da das Programm ohne jegliche Kosten lizenziert wird, besteht keinerlei Gewährleistung für das Programm, soweit dies gesetzlich zulässig ist. Sofern nicht anderweitig schriftlich bestätigt, stellen die Copyright-Inhaber und/oder Dritte das Programm so zur Verfügung, „wie es ist“ ohne irgendeine Gewährleistung, weder ausdrücklich noch implizit, einschließlich - aber nicht begrenzt auf - Marktreife oder Verwendbarkeit für einen bestimmten Zweck. Das volle Risiko bezüglich Qualität und Leistungsfähigkeit des Programms liegt bei Ihnen. Sollte sich das Programm als fehlerhaft herausstellen, liegen die Kosten für notwendigen Service, Reparatur oder Korrektur bei Ihnen. Paragraph 12. In keinem Fall, außer wenn durch geltendes Recht gefordert oder schriftlich zugesichert, ist irgendein Copyright-Inhaber oder irgendein Dritter, der das Programm wie oben erlaubt modifiziert oder verbreitet hat, Ihnen gegenüber für irgendwelche Schäden haftbar, einschließlich jeglicher allgemeiner oder spezieller Schäden, Schäden durch Seiteneffekte (Nebenwirkungen) oder Folgeschäden, die aus der Benutzung des Programms oder der Unbenutzbarkeit des Programms folgen (einschließlich - aber nicht beschränkt auf - Datenverluste, fehlerhafte Verarbeitung von Daten, Verluste, die von Ihnen oder anderen getragen werden müssen, oder dem Unvermögen des Programms, mit irgendeinem anderen Programm zusammenzuarbeiten), selbst wenn ein Copyright-Inhaber oder Dritter über die Möglichkeit solcher Schäden unterrichtet worden war. Ende der Bedingungen Anhang: Wie Sie diese Bedingungen auf Ihre neuen Programme anwendbar machen Wenn Sie ein neues Programm entwickeln und wollen, daß es von größtmöglichem Nutzen für die Allgemeinheit ist, dann erreichen Sie das am besten, indem Sie es zu freier Software machen, die jeder unter diesen Bestimmungen weiterverbreiten und verändern kann. Um dies zu erreichen, fügen Sie die folgenden Anmerkungen zu Ihrem Programm hinzu. Am sichersten ist es, sie an den Anfang einer jeden Quelldatei zu stellen, um den Gewährleistungsausschluß möglichst deutlich darzustellen; außerdem sollte jede Datei mindestens eine „Copyright“Zeile besitzen sowie einen kurzen Hinweis darauf, wo die vollständige Lizenz gefunden werden kann. 672 Kapitel 23. Weitere Infos [eine Zeile mit dem Programmnamen und einer kurzen Beschreibung] Copyright (C) 19[yy] [Name des Autors] This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. Auf Deutsch: [eine Zeile mit dem Programmnamen und einer kurzen Beschreibung] Copyright (C) 19[jj] [Name des Autors] Dieses Programm ist freie Software. Sie können es unter den Bedingungen der GNU General Public License, wie von der Free Software Foundation herausgegeben, weitergeben und/oder modifizieren, entweder unter Version 2 der Lizenz oder (wenn Sie es wünschen) jeder späteren Version. Die Veröffentlichung dieses Programms erfolgt in der Hoffnung, daß es Ihnen von Nutzen sein wird, aber OHNE JEDE GEWÄHRLEISTUNG - sogar ohne die implizite Gewährleistung der MARKTREIFE oder der EIGNUNG FÜR EINEN BESTIMMTEN ZWECK. Details finden Sie in der GNU General Public License. Sie sollten eine Kopie der GNU General Public License zusammen mit diesem Programm erhalten haben. Falls nicht, schreiben Sie an die Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. Fügen Sie auch einen kurzen Hinweis hinzu, wie Sie elektronisch und per Brief erreichbar sind. Wenn Ihr Programm interaktiv ist, sorgen Sie dafür, daß es nach dem Start einen kurzen Vermerk ausgibt: Gnomovision version 69, Copyright (C) 19[yy] [Name des Autors] Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type ‘show w’. This is free software, and you are welcome to redistribute it under certain conditions; type ‘show c’ for details. Auf Deutsch: Gnomovision Version 69, Copyright (C) 19[jj] [Name des Autors] Für Gnomovision besteht KEINERLEI GARANTIE; geben Sie ‘show w’ für Details ein. Gnomovision ist freie Software, die Sie unter bestimmten Bedingungen weitergeben dürfen; geben Sie ‘show c’ für Details ein. Die hypothetischen Kommandos ‘show w’ und ‘show c’ sollten die entsprechenden Teile der GNU-GPL anzeigen. Natürlich können die von Ihnen verwendeten Kommandos anders heißen als ‘show w’ und ‘show c’; es könnten auch Mausklicks oder Menüpunkte sein - was immer am besten in Ihr Programm paßt. Soweit vorhanden, sollten Sie auch Ihren Arbeitgeber (wenn Sie als Programmierer arbeiten) oder Ihre Schule einen Copyright-Verzicht für das Programm unterschreiben lassen. Hier ein Beispiel; ändern Sie bitte die Namen: Yoyodyne, Inc., hereby disclaims all copyright interest in the program „Gnomovision“ (which makes passes at compilers) written by James Hacker. [Unterschrift von Ty Coon], 1 April 1989 Ty Coon, President of Vice Auf Deutsch: Die Yoyodyne GmbH erhebt keinerlei urheberrechtlichen Anspruch auf das Programm „Gnomovision“ (einem Schrittmacher für Compiler), geschrieben von James Hacker. [Unterschrift von Ty Coon], 1. April 1989 Ty Coon, Vizepräsident Diese General Public License gestattet nicht die Einbindung des Programms in proprietäre Programme. Ist Ihr Programm eine Funktionsbibliothek, so kann es sinnvoller sein, das Linken proprietärer Programme mit dieser Bibliothek zu gestatten. Wenn Sie dies tun wollen, sollten Sie die GNU Library General Public License anstelle dieser Lizenz verwenden. 673 Kapitel 23. Weitere Infos 23.11. Open Publication License OPEN PUBLICATION LICENSE Draft v0.4, 8 June 1999 I. REQUIREMENTS ON BOTH UNMODIFIED AND MODIFIED VERSIONS The Open Publication works may be reproduced and distributed in whole or in part, in any medium physical or electronic, provided that the terms of this license are adhered to, and that this license or an incorporation of it by reference (with any options elected by the author(s) and/or publisher) is displayed in the reproduction. Proper form for an incorporation by reference is as follows: Copyright (c) <year> by <author’s name or designee> This material may be distributed only subject to the terms and conditions set forth in the Open Publication License, vX.Y or later (the latest version is presently available at http://www.opencontent.org/openpub/). The reference must be immediately followed with any options elected by the author(s) and/or publisher of the document (see section VI). Commercial redistribution of Open Publication-licensed material is permitted. Any publication in standard (paper) book form shall require the citation of the original publisher and author. The publisher and author’s names shall appear on all outer surfaces of the book. On all outer surfaces of the book the original publisher’s name shall be as large as the title of the work and cited as possessive with respect to the title. II. COPYRIGHT The copyright to each Open Publication is owned by its author(s) or designee. III. SCOPE OF LICENSE The following license terms apply to all Open Publication works, unless otherwise explicitly stated in the document. Mere aggregation of Open Publication works or a portion of an Open Publication work with other works or programs on the same media shall not cause this license to apply to those other works. The aggregate work shall contain a notice specifying the inclusion of the Open Publication material and appropriate copyright notice. SEVERABILITY. If any part of this license is found to be unenforceable in any jurisdiction, the remaining portions of the license remain in force. NO WARRANTY. Open Publication works are licensed and provided „as is“ without warranty of any kind, express or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose or a warranty of non-infringement. IV. REQUIREMENTS ON MODIFIED WORKS All modified versions of documents covered by this license, including translations, anthologies, compilations and partial documents, must meet the following requirements: 1) The modified version must be labeled as such. 2) The person making the modifications must be identified and the modifications dated. 3) Acknowledgement of the original author and publisher if applicable must be retained according to normal academic citation practices. 4) The location of the original unmodified document must be identified. 5) The original author’s (or authors’) name(s) may not be used to assert or imply endorsement of the resulting document without the original author’s (or authors’) permission. V. GOOD-PRACTICE RECOMMENDATIONS In addition to the requirements of this license, it is requested from and strongly recommended of redistributors that: 1) If you are distributing Open Publication works on hardcopy or CD-ROM, you provide email notification to the authors of your intent to redistribute at least thirty days before your manuscript or media freeze, to give the authors time to provide updated documents. This notification should describe modifications, if any, made to the document. 2) All substantive modifications (including deletions) be either clearly marked up in the document or else described in an attachment to the document. Finally, while it is not mandatory under this license, it is considered good form to offer a free copy of any hardcopy and CD-ROM expression of an Open Publication-licensed work to its author(s). 674 Kapitel 23. Weitere Infos VI. LICENSE OPTIONS The author(s) and/or publisher of an Open Publication-licensed document may elect certain options by appending language to the reference to or copy of the license. These options are considered part of the license instance and must be included with the license (or its incorporation by reference) in derived works. A. To prohibit distribution of substantively modified versions without the explicit permission of the author(s). „Substantive modification“ is defined as a change to the semantic content of the document, and excludes mere changes in format or typographical corrections. To accomplish this, add the phrase ‘Distribution of substantively modified versions of this document is prohibited without the explicit permission of the copyright holder.’ to the license reference or copy. B. To prohibit any publication of this work or derivative works in whole or in part in standard (paper) book form for commercial purposes is prohibited unless prior permission is obtained from the copyright holder. To accomplish this, add the phrase ’Distribution of the work or derivative of the work in any standard (paper) book form is prohibited unless prior permission is obtained from the copyright holder.’ to the license reference or copy. OPEN PUBLICATION POLICY APPENDIX: (This is not considered part of the license.) Open Publication works are available in source format via the Open Publication home page at http://www.opencontent.org. Open Publication authors who want to include their own license on Open Publication works may do so, as long as their terms are not more restrictive than the Open Publication license. If you have questions about the Open Publication License, please contact TBD, and/or the Open Publication Authors’ List at opal@opencontent.org, via email. 23.12. GNU Free Document License 1.1 (GFDL) Der Autor dieser Übersetzung ist Josef Spillner <dr_maux@maux.de>. Dieser Text wurde von der spanischen Version übertragen. Dies ist eine inoffizielle Übersetzung der GNU Free Documentation License (GFDL), Version 1.1, ins Deutsche. Sie wurde nicht von der Free Software Foundation veröffentlicht, und legt nicht gesetzlich die Verteilungsbedingungen für Dokumente fest die die GFDL nutzen -- nur der originale englische Text der GFDL tut dies. Wie auch immer, ich hoffe daß sie Deutschsprachigen hilft die GFDL besser zu verstehen. This is an unofficial translation of the GNU Free Documentation License (GFDL) into German. It was not published by the Free Software Foundation, and does not legally state the distribution terms for works that uses the GFDL --only the original English text of the GFDL does that. However, I hope that this translation will help German speakers understand the GFDL better. Die originale Version der GFDL gibt es unter: http://www.gnu.org/copyleft/fdl.html GNU Freie Dokumentationslizenz Version 1.1, März 2000 Copyright (C) 2000 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Jeder darf diese Lizenzurkunde kopieren und wortwörtliche Kopien davon verteilen, Änderungen daran sind jedoch nicht gestattet. .1. Päambel Der Zweck dieser Lizenz ist es, eine Anleitung, ein Textbuch oder andere geschriebene Dokumente "frei" im Sinne von Freiheit zu halten: jedem die effektive Freiheit zu sichern, es zu kopieren und weiterzuverteilen, mit oder ohne es zu ändern, entweder kommerziell oder nichtkommerziell. Zweitens sichert diese Lizenz dem Autor 675 Kapitel 23. Weitere Infos und Veröffentlicher einen Weg, Anerkennung für seine Arbeit zu bekommen, ohne dabei für Änderungen anderer verantwortlich zu sein. Diese Lizenz ist eine Art "copyleft", das heißt daß abgeleitete Arbeiten des Dokumentes selbst wieder im gleichen Sinne frei sein müssen. Es ergänzt die GNU General Public License, die eine Copyleft-Lizenz für freie Software darstellt. Wir haben diese Lizenz gestaltet, um sie für Anleitungen von freier Software zu benutzen, weil freie Software freie Dokumentation benötigt: Ein freies Programm sollte mit Anleitungen kommen die dieselbe Freiheit wie die Software bieten. Aber diese Lizenz ist nicht auf Software-Anleitungen beschränkt; sie kann für alle textlichen Arbeiten verwendet werden, unabhängig vom Thema oder ob es als gedrucktes Buch veröffentlicht wird. Wir empfehlen diese Lizenz prinzipiell für Arbeiten deren Zweck Anleitungen oder Referenzen sind. .2. Anwendbarkeit und Definitionen Diese Lizenz betrifft jede Anleitung oder andere Arbeit die einen Hinweis des Copyright-Halters enthält, welcher besagt, daß sie unter den Bedingungen dieser Lizenz verteilt werden kann. Das "Dokument", weiter unten, bezieht sich auf jede dieser Anleitungen oder Arbeiten. Jedes Mitglied der Öffentlichkeit ist ein Lizenznehmer, und wird mit "Sie" bezeichnet. Eine "Modifizierte Version" von dem Dokument bezeichnet jegliche Arbeit, die das Dokument oder einen Teil davon enthält, entweder wortwörtlich kopiert oder mit Modifikationen und/oder in eine andere Sprache übersetzt. Ein "Sekundärer Abschnitt" ist ein benannter Anhang oder ein wichtiger Abschnitt des Dokumentes der exklusiv mit der Beziehung des Veröffentlichers zu dem Gesamtthema des Dokumentes (oder verwandten Themen) handelt und nichts enthält was direkt unter das Gesamtthema fällt. (Wenn zum Beispiel das Dokument teilweise ein Textbuch der Mathematik ist, erklärt ein "Sekundärer Abschnitt" keine Mathematik.) Die Beziehung könnte eine Angelegenheit einer historischen Verbindung mit dem Thema oder einer verwandten Sache sein, oder einer gesetzlichen, kommerziellen, philosophischen, ethnischen oder politischen Position ihr gegenüber. "Unveränderliche Abschnitte" sind spezielle Sekundäre Abschnitte, deren Titel in dem Hinweis, der besagt, daß das Dokument unter dieser Lizenz veröffentlicht ist, gekennzeichnet sind, Unveränderte Abschnitte zu sein. Die "Covertexte" sind spezielle kurze Textpassagen, die, als Vorderseitentexte oder Rückseitentexte, in dem Hinweis aufgeführt sind, der besagt, daß das Dokument unter dieser Lizenz veröffentlicht ist. Eine "Transparente" Kopie des Dokumentes meint eine maschinenlesbare Kopie, die in einem der Allgemeinheit zugänglichen Format repräsentiert ist, deren Inhalt direkt und einfach mit gebräuchlichen Texteditoren oder (bei aus Pixeln bestehenden Bildern) gebräuchlichen Zeichenprogrammen oder (bei Bildern) weit verbreiteten Bildverarbeitungsprogramm besehen und verändert werden kann, und das geeignet ist in Textformatierern eingegeben werden zu können oder automatisch in eine Vielzahl von Formaten übersetzt werden kann die geeignet sind in Textformatierern eingegeben werden zu können. Eine Kopie in einem anderen Transparenten Dateiformat dessen Aufbau gestaltet wurde eine ständige Veränderung durch den Leser zu vereiteln oder abzuwenden ist nicht Transparent. Eine Kopie die nicht "Transparent" ist nennt man "Undurchsichtig". Beispiele von passenden Formaten für Transparente Kopien enthalten reines ASCII ohne Codierung, das Texinfo-Eingabeformat, das LaTeX-Eingabeformat, SGML oder XML die eine öffentlich zugängliche DTD nutzen, und dem Standard entsprechendes HTML das für die Veränderung durch Menschen gestaltet wurde. Undurchsichtige Formate enthalten PostScript, PDF, proprietäre Formate die nur von proprietären Textverarbeitungen gelesen und bearbeitet werden, SGML oder XML für die die DTD und/oder die Verarbeitungswerkzeuge nicht allgemein erhältlich sind, und maschinengeneriertes HTML das von einigen Textverarbeitungen nur zu Ausgabezwecken produziert wurde. Die "Titelseite" meint bei einem gedruckten Buch die Titelseite selbst, und die folgenden Seiten die gebraucht werden um leserlich das Material zu beinhalten das die Lizenz benötigt um auf der Titelseite zu erscheinen. Für Arbeiten die als solche keine Titelseiten haben meint "Titelseite" den Text, der der wirkungsvollsten Erscheinung des Arbeitstitels am nächsten kommt und den Textkörper einleitet. 676 Kapitel 23. Weitere Infos .3. Wortwörtliche Kopien Sie dürfen das Dokument auf jedem Medium kopieren und verteilen, entweder kommerziell oder nichtkommerziell, vorausgesetzt daß die Lizenz, die Copyrighthinweise und der Lizenzhinweis, der besagt daß die Lizenz für das Dokument gilt, in allen Kopien reproduziert werden, und daß sie keine wie auch immer lautenden andere Bedingungen als die der Lizenz hinzufügen. Sie dürfen keine technischen Möglichkeiten nutzen, die das Lesen oder Weiterkopieren der Kopien, die Sie machen oder weiterkopieren, kontrollieren oder behindern. Wie auch immer, Sie dürfen im Gegenzug Vergütungen für Kopien akzeptieren. Wenn Sie eine genügend große Anzahl von Kopien verteilen, müssen Sie auch den Bedingungen in Abschnitt 3 zustimmen. Sie dürfen auch Kopien unter den oben genannten Bedingungen verleihen, und Sie dürfen Kopien öffentlich zeigen. .4. Kopieren in Mengen Wenn Sie mehr als 100 gedruckte Kopien des Dokumentes veröffentlichen, und die Lizenz des Dokumentes Cover-Texte verlangt, müssen Sie die Kopien in Verpackungen einschließen die, sauber und leserlich, all diese Cover-Texte enthalten: Vorderseitentexte auf der Vorderseite, und Rückseitentexte auf der Rückseite. Beide Seiten müssen auch sauber und leserlich Sie als den Veröffentlicher dieser Kopien identifizieren. Die Vorderseite muß den vollen Titel mit allen Wörtern des Titels gleich auffällig und sichtbar darstellen. Sie dürfen andere Materialien zusätzlich der Seite hinzufügen. Kopieren mit Veränderungen der Seiten, solange diese den Titel des Dokumentes absichern und diese Bedingungen erfüllen, können in anderer Hinsicht als wortwörtliche Kopien behandelt werden. Wenn die geforderten Texte für jede Seite zu groß sind um leserlich darauf zu passen, sollten Sie die erstgenannten (soviele wie vernünftig daraufpassen) auf die aktuelle Seite setzen, und mit dem Rest auf angrenzenden Seiten fortfahren. Wenn Sie mehr als 100 Undurchsichtige Kopien des Dokumentes veröffentlichen oder verteilen, müssen Sie entweder zusammen mit jeder Undurchsichtigen Kopie eine Transparente Kopie einfügen, oder in oder mit jeder Undurchsichtigen Kopie eine öffentlich zugängliche Computer-Netzwerk-Adresse angeben die eine komplette Transparente Kopie des Dokumentes enthält, die frei von hinzugefügtem Material ist und die sich die allgemeine netzwerknutzende Öffentlichkeit mit Standard-Netzwerkprotokollen unentgeltlich herunterladen kann. Wenn Sie die letzte Option verwenden, müssen Sie, wenn Sie beginnen Undurchsichtige Kopien in Mengen zu verteilen, vernünftige umsichtige Schritte unternehmen, die sicherstellen, daß die Transparente Kopie unter der genannten Adresse mindestens ein Jahr, nachdem Sie das letzte Mal eine Undurchsichtige Kopie dieser Edition (direkt oder über Ihre Vermittler oder Händler) an die Öffentlichkeit verteilt haben. Es wird erbeten, aber nicht verlangt, daß Sie die Autoren des Dokumentes kontaktieren, bevor Sie eine große Anzahl an Kopien weiterverteilen, um ihnen zu ermöglichen, Sie mit einer aktualisierten Version des Dokumentes zu versorgen. .5. Modifikationen Sie dürfen eine Modifizierte Version eines Dokumentes unter den in den Abschnitten 2 und 3 obenstehenden Bedingungen kopieren und verteilen, vorausgesetzt Sie veröffentlichen die Modifizierte Version unter genau dieser Lizenz, so daß die modifizierte Version die Stelle des Dokumentes einnimmt, folglich auch das Lizenzieren der Verteilung und Modifikation der Modifizierten Version an jeden der eine Kopie davon besitzt. Zuätzlich müssen Sie diese Dinge in der Modifizierten Version tun: A. Auf der Titelseite (und auf den Covern, falls vorhanden) einen Titel verwenden, der sich von dem des Dokumentes unterscheidet, und von denen vorhergehender Versionen (die, falls vorhanden, in dem History-Abschnitt des Dokumentes aufgeführt sein sollten). Sie dürfen denselben Titel wie in einer vorhergehenden Version nutzen wenn der ursprüngliche Veröffentlicher sein Einverständnis gibt. B. Auf der Titelseite, eine oder mehrere Personen als Autoren benennen die für das Einbringen von Veränderungen in die Modifizierte Version verantwortlich sind, zusammen mit mindesten fünf eigentlichen Autoren des Dokumentes (allen eigentlichen Autoren, wenn es weniger als fünf sind). C. Auf der Titelseite den Namen des Veröffentlichers der Modifizierten Version als Veröffentlicher kennzeichnen. 677 Kapitel 23. Weitere Infos D. Alle Copyright-Hinweise des Dokumentes beibehalten. E. Einen passenden Copyright-Hinweis für Ihre Modifikationen angrenzend an die anderen Copyright-Hinweise hinzufügen. F. Gleich hinter dem Copyright-Hinweis einen Lizenzhinweis einfügen, der die öffentliche Erlaubnis gibt die Modifizierte Version unter den Bedingungen dieser Lizenz zu nutzen, in einer Form die weiter unten im Anhang dargestellt ist. G. In dem Lizenzhinweis die volle Liste der Unveränderlichen Abschnitte und benötigten Cover-Texte, die in dem Lizenzhinweis des Dokumentes gegeben ist, beibehalten. H. Eine unveränderte Kopie dieser Lizenz einfügen. I. Den Abschnitt, der mit "History" (Geschichte) betitelt ist, und seinen Titel, beibehalten und ihn zu einem Punkt hinzufügen der mindestens Titel, Jahr, neue Autoren, und Veröffentlicher der Modifizierten Version wie auf der Titelseite gegeben, benennt. Wenn es keinen mit "History" betitelten Abschnitt gibt, erstellen Sie einen, der den Titel, Jahr, Autoren, und Veröffentlicher des Dokumentes wie auf der Titelseite gegeben, benennt, und fügen Sie dann einen Punkt hinzu der die Modifizierte Version beschreibt wie im vorhergehenden Satz. J. Die Netzwerk-Adresse, falls aufgeführt, beibehalten, die im Dokument aufgeführt ist um öffentlichen Zugriff zu einer Transparenten Kopie des Dokumentes zu ermöglichen, und genauso die Netzwerk-Adressen, die im Dokument für frühere Versionen, auf denen es basiert, aufgeführt sind. Diese können in den "History"-Abschnitt gestellt werden. Sie können eine Netzwerk-Adresse für ein Werk auslassen, das mindestens vier Jahre vor dem Dokument selbst veröffentlicht wurde, oder wenn der ursprüngliche Autor, auf den sich die jeweilige Version bezieht, es erlaubt. K. In jeglichem Abschnitt, der mit "Acknowledgements" (Anerkennungen) oder "Dedications" (Widmungen) betitelt ist, den Titel des Abschnittes beibehalten, und in dem Abschnitt allen Inhalt und Ton von jeder Anerkennung und/oder Widmung jedes Beitragenden beibehalten, der dort aufgeführt ist. L. Alle Unveränderlichen Abschnitte des Dokumentes beibehalten, unverändert in ihrem Text und ihren Titeln. Abschnittsnummern oder ähnliches werden nicht als Teil von Abschnittstiteln betrachtet. M. Alle Abschnitte, die mit "Endorsements" (Billigungen) betitelt sind, löschen. Solche Abschnitte dürfen nicht mit in die Modifizierte Version aufgenommen werden. N. Betiteln Sie keine existierenden Abschnitte mit "Endorsements" oder so, daß sie im Widerspruch zu Titeln von Unveränderlichen Abschnitten stehen. Wenn die Modifizierte Version neue wichtige Abschnitte enthält oder Anhänge, die Sekundäre Abschnitte darstellen, und kein Material enthalten das aus dem Dokument kopiert wurde, dürfen Sie nach Ihrer Wahl einige oder alle diese Abschnitte als Unveränderlich bezeichnen. Um dies zu tun, fügen Sie ihre Titel der Liste der Unveränderlichen Abschnitte in dem Lizenzhinweis der Modifizierten Version hinzu. Diese Titel müssen sich von allen anderen Abschnittstiteln unterscheiden. Sie dürfen einen Abschnitt "Endorsements" hinzufügen, vorausgesetzt er enthält nichts außer Bewilligungen Ihrer Modifizierten Version von verschiedenen Seiten--zum Beispiel, Aussagen von Beurteilungen oder daß der Text von einer Organisation als für die autoritäre Definition eines Standards befunden wurde. Sie dürfen eine Passage aus bis zu fünf Wörtern als Vorderseitentext hinzufügen, und eine Passage von bis zu 25 Wörtern als Rückseitentext, ans Ende der Liste von Covertexten in der Modifizierten Version. Höchstens eine Passage von Vorderseitentexten und eine von Rückseitentexten darf von (oder durch Abmachungen von) irgendeinem Wesen hinzugefügt werden. Wenn das Dokument für die entsprechende Seite schon einen Covertext hat, der vorher von Ihnen oder durch Abmachungen von demselben Wesen, in dessen Namen Sie handeln, hinzugefügt wurde, dürfen Sie keinen anderen hinzufügen; aber Sie dürfen den alten, wenn es der ursprüngliche Veröffentlicher, der den alten hinzugefügt hat, explizit erlaubt, ersetzen. Der/die Autor(en) und Veröffentlicher des Dokumentes erteilen durch diese Lizenz nicht die Erlaubnis, ihre Namen für Veröffentlichungen für Bewilligungen irgendeiner Modifizierten Version oder deren Durchsetzungen oder Andeutungen zu nutzen. 678 Kapitel 23. Weitere Infos .6. Dokumente kombinieren Sie dürfen das Dokument mit anderen Dokumenten, die unter dieser Lizenz veröffentlicht wurden, unter den Bedingungen in Abschnitt 4 für Modifizierte Versionen kombinieren, vorausgesetzt Sie beinhalten in der Kombination alle Unveränderlichen Abschnitte aller ursprünglichen Dokumente, unverändert, und führen Sie alle als Unveränderliche Abschnitte Ihrer kombinierten Arbeit in deren Lizenzhinweis auf. Die kombinierte Arbeit braucht nur eine Kopie dieser Lizenz zu beinhalten, und mehrfache identische Unveränderliche Abschnitte können durch eine einzige Kopie ersetzt werden. Wenn es mehrere Unveränderliche Abschnitte mit demselben Titel, aber unterschiedlichem Inhalt gibt, machen Sie den Titel jedes Abschnittes durch Hinzufügen (in Klammern) des Namens des ursprünglichen Autors oder Veröffentlichers dieses Abschnittes, falls bekannt, unverwechselbar, oder ansonsten durch eine einzigartige Nummer. Führen Sie dieselben Änderungen in der Liste der Unveränderlichen Abschnitte im Lizenzhinweis der kombinierten Arbeit durch. In der Kombination müssen Sie alle mit "History" betitelten Abschnitte aus den verschiedenen ursprünglichen Dokumenten zusammenführen, und daraus einen Abschnitt "History" bilden; genauso kombinieren Sie jeden mit "Acknowledgements" betitelten Abschnitt, und jeden mit "Dedications" betitelten Abschnitt. Sie müssen jeden mit "Endorsements" betitelten Abschnitt löschen. .7. Sammlungen von Dokumenten Sie dürfen eine Sammlung erstellen, die aus dem Dokument und anderen, unter dieser Lizenz veröffentlichten Dokumenten besteht, und die individuellen Kopien der Lizenz in den einzelnen Dokumenten durch eine einzige Kopie ersetzen, die sich in der Sammlung befindet, vorausgesetzt Sie folgen den Regeln dieser Lizenz für wortwörtliches Kopieren jedes dieser Dokumente in jeglicher Hinsicht. Sie dürfen ein einzelnen Dokument aus einer solchen Sammlung heraustrennen, und es individuell unter dieser Lizenz verteilen, vorausgesetzt Sie fügen eine Kopie dieser Lizenz in das herausgetrennte Dokument ein, und folgen der Lizenz in jeglicher Hinsicht bezüglich dem wortwörtlichen Kopieren von dem Dokument. .8. Aggregation mit unabhängigen Arbeiten Eine Zusammenstellung dieses Dokumentes oder seinen Ableitungen mit anderen separaten und unabhängigen Dokumenten oder Arbeiten, in oder auf einem Teil eines Speicher- oder Verteilungsmediums, zählt nicht als Ganzes als Modifizierte Version des Dokumentes, vorausgesetzt kein Gesamt-Copyright wurde für die Zusammenstellung festgelegt. Solch eine Zusammenstellung wird "Aggregat" (Mischung) genannt, und diese Lizenz gilt nicht für die anderen selbstenthaltenen Arbeiten, die mit dem Dokument zusammengestellt wurden, im Falle daß sie zusammengestellt wurden, wenn sie nicht selbst abgeleitete Arbeiten des Dokumentes sind. Wenn die Covertext-Bedingung von Abschnitt 3 auf diese Kopien des Dokumentes anwendbar ist, dann können, wenn das Dokument weniger als ein Viertel des gesamten Aggregates ist, die Covertexte des Dokumentes auf Seiten platziert werden die nur das Dokument innerhalb des Aggregates umgeben. Ansonsten müssen sie auf Seiten erscheinen, die das gesamte Aggregat umgeben. .9. Übersetzung Übersetzung wird als eine Art Modifikation angesehen, also dürfen Sie Übersetzungen des Dokumentes unter den Bedingungen von Abschnitt 4 verteilen. Das Ersetzen von Unveränderlichen Abschnitten mit Übersetzungen erfordert spezielle Einwilligung des Copyright-Halters, aber Sie dürfen Übersetzungen von einigen oder allen Unveränderlichen Abschnitten zusätzlich zu den ursprünglichen Versionen dieser Unveränderlichen Abschnitte einfügen. Sie dürfen eine Übersetzung dieser Lizenz hinzufügen, vorausgesetzt Sie beinhalten auch die ursprüngliche englische Version dieser Lizenz. Im Falle einer Nichtübereinstimmung zwischen der Übersetzung und der ursprünglichen englischen Version dieser Lizenz hat die ursprüngliche englische Version Vorrang. 679 Kapitel 23. Weitere Infos .10. Termination Sie dürfen das Dokument nicht kopieren, modifizieren, sublizenzieren oder verteilen außer wie es diese Lizenz ausdrücklich vorschreibt. Jegliche andere Absicht, das Dokument zu kopieren, modifizieren, sublizenzieren oder verteilen ist nichtig, und beendet automatisch Ihre Rechte unter dieser Lizenz. Wie auch immer, Parteien, die Kopien oder Rechte von Ihnen unter dieser Lizenz bekommen haben, wird nicht die Lizenz beendet, solange diese Parteien in voller Zustimmung verbleiben. .11. Zukünftige Revisionen dieser Lizenz Die Free Software Foundation kann von Zeit zu Zeit neue, revidierte Versionen der GNU Free Documentation License veröffentlichen. Solche neue Versionen werden vom Grundprinzip her der vorliegenden Version gleichen, können sich aber im Detail unterscheiden, um neue Probleme oder Anliegen anzusprechen. Siehe auch http://www.gnu.org/copyleft/. Jeder Version dieser Lizenz wird eine unterscheidende Versionsnummer gegeben. Wenn das Dokument angibt, daß eine spezielle Version dieser Lizenz "oder eine spätere Version" darauf zutrifft, haben Sie die Wahl den Bestimmungen und Bedingungen von entweder der angegebenen Version oder einer beliebigen späteren Version, die von der Free Software Foundation (nicht als Entwurf) veröffentlicht wurde, zu folgen. Wenn das Dokument keine Versionsnummer angibt, können Sie irgendeine, jemals von der Free Software Foundation (nicht als Entwurf) veröffentlichte Version wählen. .12. Wie Sie diese Lizenz für Ihre Dokumente nutzen können Um diese Lizenz in einem von Ihnen geschriebenen Dokument nutzen zu können, fügen Sie eine Kopie der Lizenz in das Dokument ein und setzen Sie die folgenden Copyright- und Lizenzhinweise gleich hinter die Titelseite: Copyright (c) JAHR IHR NAME. Es wird die Erlaubnis gegeben dieses Dokument zu kopieren, verteilen und/oder zu verändern unter den Bedingungen der GNU Free Documentation License, Version 1.1 oder einer späteren, von der Free Software Foundation veröffentlichten Version; mit den Unveränderlichen Abschnitten DEREN TITEL AUFGEZÄHLT sind, mit den Vorderseitentexten die AUFGEZÄHLT sind, und mit den Rückseitentexten die AUFGEZÄHLT sind. Eine Kopie dieser Lizenz ist in dem Abschnitt enthalten, der mit "GNU Free Documentation License" betitelt ist. Wenn Sie keine Unveränderlichen Abschnitte haben, schreiben Sie "mit keinen Unveränderlichen Abschnitten" anstatt anzugeben welche Unveränderlich sind. Wenn Sie keine Vorderseitentexte haben, schreiben Sie "keine Vorderseitentexte" anstatt "Vorderseitentexte die AUFGEZÄHLT sind"; genauso bei den Rückseitentexten. Wenn Ihr Programm nicht-triviale Beispiele von Programmcode enthält, empfehlen wir, diese Beispiele parallel unter einer freien Software-Lizenz, wie der GNU General Public License, zu veröffentlichen, um ihren Gebrauch in freier Software zu erlauben. .13. Begriffe 1. Begriff „copyleft“ ist ein neuer, von GNU eingeführter Begriff. Es ist ein Wortspiel eines englischen Wortes, das aus "copyright" "copyleft" macht, und damit ausdrückt daß es kopieren nicht verbietet, sondern erlaubt unbeschränkt unter vertraglichen Bedingungen zu kopieren. http://www.gnu.org/copyleft/copyleft.de.html 2. Begriff „Lizenznehmer“: An wen sich die Lizenz richtet. Übersetzung: Josef Spillner dr_maux@maux.de 680 Stichwortverzeichnis

  1. , 95

$, 95 .deb, 135 .htaccess, 489, 489, 574 .shtml, 489 .Xdefaults, 316 /etc/, 106 /proc, 127 /usr/src/, 537 3Com, ii, 476, 513 404, 491 8139too, 476 8390, 476

, 538

|, 117 öffentlichen Schlüssel, 358 A Package Tool, 141 a.out, 11 Abhängigkeiten, 135 AbiWord, 435 Access, ?? access.conf, 487 access_log, 487 Acrobat-Reader, 438 Actions Log, 543 Administration, 134 alien, ??, 515 AllowOverride, 489 Alpha, i, 12, 19, 133, 659 AM, 654 Amiga, 19 AmigaOS, 497 anmelden, 93 anXious, ?? Apache, 485 Apache Module, 571 Apache Webserver - MIME-Typen, 571 apacheconfig, 485, 487 Application Maintainer, 654 Applixware, 435 apsfilter, 364 apt, 132 apt-get, 140, 143 apt-get build-dep, 147 apt-get source, 147 apt-proxy, 155 apt-setup, 142 apt-show-source, 157 aptitude, 161 Architektur, ?? Arm, 12, 19 ASCII-Terminals, 187 async, 128 Atari, 19 Audio, 507 Authentifizierung, 574 auto, 128 AVI, 458, 459, 460 Base, 134 bash, 116 Ben Collins, 13 Benutzernamen, 94 Besitzer, 104 Betriebssystem, 10 Bezugsquellen, 31 Bildbearbeitung, 396 binutils, 535 Binärformat, 11 Bo, 12, 18 boot.bat, 43 Bootdisketten, 42 Bootloader, 523, 524, 540 BrowserMatch, 574 Bruce Perens, 12, 29 BSD, 364 BTS, 654 Buchhandlung Lehmanns, i Bug Tracking System, 654 Buzz, 12, 18 bzip2, 537 C, 573 capt, 159 cd, 107 CD-Brenner, 470 CD-Image, 469 CD-Writing HOWTO, 469 CDC ACM, 507 cdda2wav, 474 cdlabelgen, 474 cdrecord, 469, 474 cfdisk, 50 CGI, 488, 573 CGI-Programm, 488 Chain-Bootloader, 524 CheckSpellig, 489 chmod, 105 CIFS, 497 Codename, 12 Codenamen, 18 Common Gateway Interface, 488, 573 Common Internet File System, 497 Common UNIX Printing System, 364 Communication, 134 Communicator, 314 Community, 654 conduit, 513 Config, ?? Console-Apt, 159 Contrib, 133 Core Dump, 573 CoreDumpDirectory, 573 cp, 107 681 CPiA, 507 Cradle, 513, 514 CUPS, 364, 364 DABUSB, 507 dahb-html, ii dahb-html-content, ii dahb-html-pics, ii dahb-pdf, ii dahb-txt, ii DAM, 654 Datei- und Druckerserver, 497 Dateisystem, 124 DATE_GMT, 490 DATE_LOCAL, 490 Datum 2000-Problem, 39 DCF77, 534 DDP, 654 debfoster, 177 Debian, 10 Debian Account Manager, 654 Debian Beowulf, 20 Debian Documentation Project, 654 Debian Free Software Guidelines, 132 Debian Free Software Guidelines, 12 Debian GNU/Hurd, 88 Debian GNU/MiNT, 20 Debian GNU/NetBSD, 20 Debian Machine Use Policies, 654 Debian Mirror, 655 Debian Project Leader, 654 Debian Social Contract, 11, 12 Debian Weekly News, 654 Debian-Entwickler, 11 Debian-Paketformat, 135 deborphan, 175 DEC Alpha, 19 default route, 482 defaults, 128 dependency, 135 dev, 128 Development, 134 df, 127 DFSG, 132 DHCP, 494, 497 DHCP Server, 589 DHCP-Server, 494 Digital Kameras, 457 Digital Video, 458 Digitalkamera, 422 Distribution, ?? dlocate, ?? DMUP, 654 DNS, 483 dnsutils, 484 Documentation, 134 DOCUMENT_NAME, 490 DOCUMENT_URI, 490 Domain, 483 Domain Name, 483 Domain Name Service, 483 Downloadzeiten, 304 dpkg, 11, 172 dpkg --purge, 176 dpkg-reconfigure, 129 DPL, 654 dselect, 132, 135 DSL, 304 Dualprozessor, 539 dump, 128 DVD, 460 dvgrab, 458 DWN, 654 E-Mail, 325 E-Mail Filter, 347 echo, 490 editkeep, 176 Editors, 134 Electronics, 134 Elektronische Post, 325 ELF-Format, 12 elif, 490 Eric Raymond, 29 Eric S. Raymond, 654 error_log, 487 Evolution, 338 Excel, 440 exec, 128 exim, 326 eximconfig, 326 ExtendedStatus, 570 EZUSB, 507 fdisk, 125, 594 fetchmail, 340 file, 490 File Transfer Protocol, 349, 492 files, 483 finger, 535 fips.exe, 37 Firewire, 457 Free Software Foundation, ??, 3, 11, 45 FreeBSD, 318 FreeBSD-Lizenz, 3 Freie Software, 28 fsck, 128 FSF, 11, 45 FSF Europe, 3 fstab, 127 ftp, 349, 492 Funkuhr, 534 G3/G4 MAC, 457 Galeon, 318 Games, 134 Gateway, 482, 589 gcc, 535, 537 682 gcombust, 474 Gecko, 318 Ghostscript, 367 gmc, 185 gnomba, 500 GNOME Desktop, 318 gnome-apt, ?? gnosamba, 500 GNU, 1, 364 GNU C-Compiler, 537 GNU General Public License, 3, 31 GNU Hurd, 27 GNU Image Manipulation Programm, 396 GNU is not Unix, 1 GNU Lesser General Public License, 3 GNU Library General Public License, 3 GNU Projekt, 1, 11 GNU Projekte, 3 GNU’s Not Unix, 3 Gnumeric, 435, 440 GnuPG, 347 gPhoto, 422 GPL, 3, 31, 318 gpm, ?? gpmconfig, 182 Gqmpeg, 453 GRand Unified Bootloader, 524 Graphics, 134 Grip, 454 group, 104 GRUB, 524 GRUB - Kommandozeile, 526 GRUB Bootdiskette, 89 Gruppe, 104 Gruppen, ?? gzip, 537 Ham Radio, 134 Hamm, 12, 18 Hardware-Architekturen, 19 Hardware-Uhr, 532 HARD_SERVER_LIMIT, 569 hda, 125 hdb, 125 hdc, 125 hdd, 125 hdparm, 529 HID, 507 hisax, 300 Homepage, 352 hostname, 483 HotSync, 513, 514 HOWTOs, 654 hppa, 19 HTML, ii HTTP, 485 HTTP Header, 573 httpd.conf, 487, 489 hurd-i386, 20 Hypertext Transfer Protocol, 485 i386, 12, 19 ia64, 19 Ian Jackson, 12 Ian Murdock, 11 IDE, 125 IDE-Parameter, 594 IDEA, 357 IEEE, 364 IEEE1394, 457 IETF, 364 if, 490 iLink, 457 iMAC DV, 457 IMAP, 331, 340 imps/2, 521 include, 490 IncludesNoExec, 490 initrd, 526, 540 Install, ?? Intel, 476 Intend to Adopt, 654 Intend to Orphan, 654 Intend to Package, 654 Internet, 11 Internet Engineering Task Force, 364 Internet Printing Protocol, 364 Internet Relay Chat, 35 Internet Service Provider, 294 Interpreters, 134 IP-Nummer, 589 IPP, 364, 364 IRC, 35 ISDN, 304 isdnconfig, 301 isdnutils, 301 ISO9660, 470 ISP, 294 ITA, 654 ITO, 654 ITP, 654 j-pilot, 516 Jargon-File, 654 Java, 573 Joel Klecker, 13 John Hall, 29 Kalenderfunktion, 348 Kanalbündelung, 304 KCD, 654 KDE, 280 KDE 2.2, 280 KDE 3.0, 286 KeepAliveTimeout, 570 Kern, 1 kernel, 1, 524 Kernel Cousin Debian, 654 683 Kernel-Konfiguration, 535 kernel-package, 535 Kernel-Server, 535 Kernel-Source, 537 Kernel-Sourcen, 537 Kodak DC-2xx, 507 LANG, 129 Larry Augustin, 29 LAST_MODIFIED, 490 Lehmanns, 32 LGPL, 3 Libraries, 134, 135 lilo, 523 LimitRequestFieldsize, 569 LimitRequestLine, 569 Links, ?? Linus Torvalds, 1, 3, 9 Linux Logo, 8 Linux Pinguine, 10 Linux-Distributionen, ?? Linux-Kernel, 11 LinuxLand International, 32 Listen, 570 ListenBacklog, 570 Lizenzen, 106 Lizenzen für Freie Software, 3 ln, 119 lo, 482 loadlin.exe, 43 localepurge, 129 locales, 129 LockFile, 573 login.app, ?? Loopback Device, 482 lpd, 364, 364 lpinfo, 367 LPRng, 364, 364 lynx, 324 m68k, 11, 19 MAC-Adresse, 494 MacOS, 496 magicfilter, 364 Mail, 134 Mailinglisten, 654 Mailserver, 342 Main, 133 Maintainer, 11, 536 make, 535 make -j, 538 make -s, 538 man, 98 Mandrake, ii Martin Schulze, 11 Massenspeicher, 507 Master, 125 Mathematics, 134 MaxClients, 569 MaxKeepAliveRequests, 570 MaxRequestsPerChild, 569 MaxSpareServers, 569 mc, ?? Menüsystem, 188 MIA, 654 Mikro-Kernel, 27 MIME Types, 366, 572 Mime-Type, 489 MinSpareServers, 569 mips, 19 Miscellaneous, 134 Missing in Action, 654 mkdir, 107 mke2fs, 126 mkhybrid, 474 mkisofs, 469, 474 mkpasswd, 489 Modul, 444 mod_alias, 491 mod_include, 489 mod_php4, 571 mod_so, 571 more, 107 Motorola 68000, 19 mount, 124 Mozilla, 316 Mozilla PSM, 319 MP3, 460 MPEG-1, 460 MPEG-2, 460 mpg123, 453 MS-Outlook, 338 Multilink, 304 multitasking, 1, 93 multiuser, 1, 93 NameVirtualHost, 571 National Center for Supercomputing Applications, 485 ncftp, 349 NCSA, 485 ne, 476 NE2000, 476 NE2000-kompatibel, 476 ne2k-pci, 476 NetBIOS, 497 NetBIOS-Namen, 497 Netscape, 314 netselect, 31 NetWare, 497 Network, 134 Network Basic Input Output System, 497 Netzmaske, 589 Netzwerkdrucker, 364 Netzwerkkarte, 476 New Maintainer, 654 Newsgroups, 135 684 nis, 483 NM, 654 NMU, 654 noauto, 128 nodev, 128 noexec, 128 Non Maintainer Upload, 654 Non-Free, 133 Non-profit-Organisation, 31 Non-US, 133 nosuid, 128 Notebook, 495 nouser, 128 nslookup, 484 nsswitch.conf, 483 offizielle GNU Projekte, 3 Ogg Vorbis, 460 OHCI-HCD, 506 Old Libraries, 135 Open Hardware Project, 12 Open Projects IRC Netzwerk, 35 Open Projects Network, 654 Open Source, 30 Open Source Definition, 29 Open Source Software, 28 OpenOffice, 32, 435 OpenPGP, 358 OPN, 654 orphaner, 176 OSI, 29 Other Operating Systems and File Systems, 135 OV511, 507 owner, 104 Paketgruppen, 178 Paketmanagement, 11 Paketsystem, 11 Palm Pilot, 514, 516 PalmOS, 513 PalmPilot, ii, 513 Paßwort, 94 PDA, ii, 513 PDC, 500 PDF, ii PDF-Datei, 439 Perl, 488, 573 PGP, 347 Photo-CDs, 396 PHP, 488, 573 PidFile, 573 pilot-address, 515 pilot-link, 514, 516 pilot-xfer, 514 Pinguin, 9 Pipes, 117 poff, 299 pon, 299 POP, 340 POP3, 331 Port, 570 Port 80, 570 POSIX Standard, 364 Postfix, 576 Potato, 12, 18 PowerPC, 11, 19 PPD Dateien, 367 pppconfig, 294 PPPoE, 304 Pretty Good Privacy, 357 Primary Domain Controller, 500 Printer, 507 Printer Working Group, 364 privaten Schlüssel, 358 ProFTP, 492 Project Leader, 12 Provider, 342 ProzessID, 573 PS/2, 521 PTB, 535 pump, 495 PWG, 364 Python, 573 QT, 280 Quellcode, 537 Quelloffen, 30 Quelltexte, 537 Quicktime, 460 Quit, ?? r, w und x, 104 RAM-Disk, 540 rdate, 534 Read the Fine Manual, 654 Read the Fucking Manual, 654 Real Life, 654 RealTek, 476 reboot, 98 RedHat, ii RedHat-Paket, 192 rekursiven Akronym, 3 Release Notes, 45 released, 133 Remove, ?? Request for Adoption, 654 Request for Comments, 364 Request for Packaging, 654 resolver, 483 restore, 128 rex, 18 RFA, 654 RFC, 364 RFP, 654 Richard Stallman, 1 RL, 654 ro, 128 Routing-Tabelle, 482 685 RPM, ii, 190 RSA, 357 RTFM, 654 rtl8139, 476 rw, 128 s390, 20 Samba, 365, 497 Samba Web Administration Tool, 499 SANE, 416 Sarge, 17, 18 Scanner, 507 scd0, 125 scd1, 125 Schnittstelle, 514 ScoreBoardFile, 573 screen, ?? ScriptLog, 574 ScriptLogBuffer, 574 ScriptLogLength, 574 Scrollmaus, 315 Scrollrad, 521 SCSI, 125 Select, ?? SendBufferSize, 571 Serial Converter, 507 Server Message Block, 497 Server Side Includes, 489 Server-Lockdatei, 573 ServerTokens, 573 ServerType, 573 SetEnvIf, 574 Shell-Script, 488 Shell-Skripte, 573 Shells, 135 shutdown, 98 sid, 18 Slave, 125 sleep, 533 Slink, 12, 18 slocate, 110 SMB, 497 SMP - Kernel 2.0, 539 SMP - Kernel 2.2 und höher, 540 Software in the Public Interest, 12 Sound, 135 Soundblaster, 444 Soundkarte, 444 Sparc, 12, 19 sparc64, 20 SPI, 12, 31 srm.conf, 487 ssh, ?? SSI, 489 SSL, 319 StarOffice, 435 StartServers, 569 startx, 247 su, 95 suid, 128 SuperProbe, 194 Superuser, 95 SuSE, ii SWAT, 499 sync, 98, 128 System halted, 98 Systemadministrator, 95 Systembibliotheken, 135 Systemzeit, 532 T-DSL, 304 Tabellenkalkulation, 440 task, 132 task-Pakete, 178 tasksel, ?? TCP/IP, 497 Terminverwaltung, 348 TeX, 135 Text Processing, 135 text/html, 489 The Gimp, 396 time, 533 TimeOut, 571 touch, 104 Toy Story, 12, 18 Treppeneffekten, 261 Troll Tech, 280 True-Type-Schriften, 263 Tux, 10 TV-Karte, 459 TXT, ii UHCI, 506 UltraSparc, 19 Update, ?? update-menus, 189 URL Zeile, 322 USB Device Filesystem, 507 USB Scanner, 416 USB-Diskettenlaufwerke, 513 Use the Source, Luke, 654 Usenet, 3 user, 128 USS720, 507 Utilities, 135 UTSL, 654 Verknüpfungen, 119 Verschlüsselung, 347 Version des Linux Kernels, 3 versteckten Dateien, 108 Verzeichnisbaum, 124 Video CD, 460 Video-Player, 460 Videotext, 460 virtual, 490 Virtual Memory, 5 virtuelle Konsolen, 97 686 VMS, 497 VT100, 120 WAV, 475 wc, 117 Web, 135 Webmin, 541 wget, 150 Wheel-Maus, 521 whoami, 95 Wichert Akkerman, 12 Windows NT Domain Control, 497 wnpp, 654 Woody, 15, 18 WordPerfect, 435 Work-Needing and Prospective Packages, 654 World Wide Web, 485 WWW, 485 X Multimedia Sound System, 445 X Window, 135 X-Window-System, 193, 226 x86, 1 xawtv, 460 xdm, ?? xf86setup, 194 XFree86, 193, 226 XFree86-Team, 193, 226 Ximian, 338 xine, 460 Xmms, 445 xpdf, 437 xrdb, 522 xviddetect, 193 Y2k-Bug, 39 ZAxisMapping, 521 Zeitsignal, 535 Zeitzone, 533 Zinf, 452 Zugriffsrechte, 104 687