Das FreeBSD-Handbuch

The FreeBSD German Documentation Project

Version: 49178

Redistribution and use in source (SGML DocBook) and 'compiled' forms (SGML, HTML, PDF, PostScript, RTF and so forth) with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code (SGML DocBook) must retain the above copyright notice, this list of conditions and the following disclaimer as the first lines of this file unmodified.

  2. Redistributions in compiled form (transformed to other DTDs, converted to PDF, PostScript, RTF and other formats) must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

Wichtig:

THIS DOCUMENTATION IS PROVIDED BY THE FREEBSD DOCUMENTATION PROJECT "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FREEBSD DOCUMENTATION PROJECT BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS DOCUMENTATION, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

FreeBSD ist ein eingetragenes Warenzeichen der FreeBSD Foundation.

3Com und HomeConnect sind eingetragene Warenzeichen der 3Com Corporation.

3ware und Escalade sind eingetragene Warenzeichen von 3ware Inc.

ARM ist ein eingetragenes Warenzeichen von ARM Limited.

Adaptec ist ein eingetragenes Warenzeichen von Adaptec, Inc.

Adobe, Acrobat, Acrobat Reader und PostScript sind entweder eingetragene Warenzeichen oder Warenzeichen von Adobe Systems Incorporated in den Vereinigten Staaten und/oder in anderen Ländern.

Apple, FireWire, Mac, Macintosh, Mac OS, Quicktime und TrueType sind eingetragene Warenzeichen von Apple Computer, Inc., in den Vereinigten Staaten und anderen Ländern.

Corel und WordPerfect sind Warenzeichen oder eingetragene Warenzeichen der Corel Corporation und/oder ihren Gesellschaften in den Vereinigten Staaten und/oder anderen Ländern.

Sound Blaster ist ein Warenzeichen von Creative Technology Ltd. in den Vereinigten Staaten und/oder in anderen Ländern.

Android is a trademark of Google Inc.

Heidelberg, Helvetica, Palatino und Times Roman sind Marken der Heidelberger Druckmaschinen AG in Deutschland und anderen Ländern.

IBM, AIX, OS/2, PowerPC, PS/2, S/390 und ThinkPad sind Warenzeichen der International Business Machines Corporation in den Vereinigten Staaten, anderen Ländern oder beiden.

IEEE, POSIX und 802 sind eingetragene Warenzeichen vom Institute of Electrical and Electronics Engineers, Inc. in den Vereinigten Staaten.

Intel, Celeron, EtherExpress, i386, i486, Itanium, Pentium und Xeon sind Warenzeichen oder eingetragene Warenzeichen der Intel Corporation oder ihrer Gesellschaften in den Vereinigten Staaten und in anderen Ländern.

Intuit und Quicken sind eingetragene Warenzeichen und/oder Dienstleistungsmarken von Intuit Inc. oder einer ihrer Geselllschaften in den Vereinigten Staaten und in anderen Ländern.

Linux ist ein eingetragenes Warenzeichen von Linus Torvalds.

LSI Logic, AcceleRAID, eXtremeRAID, MegaRAID und Mylex sind Warenzeichen oder eingetragene Warenzeichen der LSI Logic Corp.

Microsoft, MS-DOS, Outlook, Windows, Windows Media und Windows NT sind entweder eingetragene Warenzeichen oder Warenzeichen der Microsoft Corporation in den Vereinigten Staaten und/oder in anderen Ländern.

Motif, OSF/1 und UNIX sind eingetragene Warenzeichen und IT DialTone und The Open Group sind Warenzeichen der The Open Group in den Vereinigten Staaten und in anderen Ländern.

Oracle ist ein eingetragenes Warenzeichen der Oracle Corporation.

PowerQuest und PartitionMagic sind eingetragene Warenzeichender PowerQuest Corporation in den Vereinigten Staaten und/oder anderen Ländern.

RealNetworks, RealPlayer und RealAudio sind eingetragene Warenzeichen von RealNetworks, Inc.

Red Hat, RPM, sind Warenzeichen oder eingetragene Warenzeichen von Red Hat, Inc. in den Vereinigten Staaten und in anderen Ländern.

Sun, Sun Microsystems, Java, Java Virtual Machine, JDK, JSP, JVM, Netra, Solaris, StarOffice und SunOS sind Warenzeichen oder eingetragene Warenzeichen von Sun Microsystems, Inc. in den Vereinigten Staaten und in anderen Ländern.

Symantec und Ghost sind eingetragene Warenzeichen der Symantec Corporation in den Vereinigten Staaten und in anderen Ländern.

MATLAB ist ein eingetragenes Warenzeichen von The MathWorks, Inc.

SpeedTouch ist ein Warenzeichen von Thomson

U.S. Robotics und Sportster sind eingetragene Warenzeichen der U.S. Robotics Corporation.

VMware ist ein Warenzeichen von VMware, Inc

Waterloo Maple und Maple sind Warenzeichen oder eingetragene Warenzeichen von Waterloo Maple Inc.

Mathematica ist ein eingetragenes Warenzeichen von Wolfram Research, Inc.

XFree86 ist ein Warenzeichen von The XFree86 Project, Inc.

Ogg Vorbis und Xiph.Org sind Warenzeichen von Xiph.Org.

Viele Produktbezeichnungen von Herstellern und Verkäufern sind Warenzeichen. Soweit dem FreeBSD Project das Warenzeichen bekannt ist, werden die in diesem Dokument vorkommenden Bezeichnungen mit dem Symbol oder dem Symbol ® gekennzeichnet.

Zuletzt bearbeitet am 2016-07-26 22:13:00Z von bhd.
Zusammenfassung

Willkommen bei FreeBSD! Dieses Handbuch beschreibt die Installation und den täglichen Umgang mit FreeBSD 8.4-RELEASE, 9.3-RELEASE und FreeBSD 10.3-RELEASE. Das Handbuch ist jederzeit unter Bearbeitung und das Ergebnis der Arbeit vieler Einzelpersonen. Dies kann dazu führen, dass bestimmte Bereiche nicht mehr aktuell sind und auf den neuesten Stand gebracht werden müssen. Bei Unklarheiten empfiehlt es sich daher stets, die englische Originalversion des Handbuchs zu lesen.

Wenn Sie bei der Übersetzung des Handbuchs mithelfen möchten, senden Sie bitte eine E-Mail an die Mailingliste 'FreeBSD German Documentation Project' .

Die aktuelle Version des Handbuchs ist immer auf dem FreeBSD-Webserver verfügbar und kann in verschiedenen Formaten und in komprimierter Form vom FreeBSD FTP-Server oder einem der vielen Spiegel herunter geladen werden (ältere Versionen finden Sie hingegen unter http://docs.FreeBSD.org/doc/). Vielleicht möchten Sie das Handbuch aber auch durchsuchen.

[ einzelne Abschnitte / komplettes Dokument ]

Inhaltsverzeichnis
Vorwort
I. Erste Schritte
1. Einleitung
1.1. Überblick
1.2. Willkommen zu FreeBSD
1.3. Über das FreeBSD Projekt
2. FreeBSD 8.X (und älter) installieren
2.1. Übersicht
2.2. Hardware-Anforderungen
2.3. Vor der Installation
2.4. Die Installation starten
2.5. Das Werkzeug sysinstall
2.6. Plattenplatz für FreeBSD bereitstellen
2.7. Den Installationsumfang bestimmen
2.8. Das Installationsmedium auswählen
2.9. Die Installation festschreiben
2.10. Arbeiten nach der Installation
2.11. Fehlersuche
2.12. Anspruchsvollere Installationen
2.13. Eigene Installationsmedien herstellen
3. FreeBSD 9.X (und neuer) installieren
3.1. Übersicht
3.2. Minimale Hardwarenaforderungen
3.3. Vor der Installation
3.4. Die Installation starten
3.5. Verwendung von bsdinstall
3.6. Plattenplatz bereitstellen
3.7. Die Installation festschreiben
3.8. Arbeiten nach der Installation
3.9. Fehlerbehebung
3.10. Verwendung der Live-CD
4. Grundlagen des UNIX Betriebssystems
4.1. Übersicht
4.2. Virtuelle Konsolen und Terminals
4.3. Benutzer und grundlegende Account-Verwaltung
4.4. Zugriffsrechte
4.5. Verzeichnis-Strukturen
4.6. Festplatten, Slices und Partitionen
4.7. Anhängen und Abhängen von Dateisystemen
4.8. Prozesse und Dämonen
4.9. Shells
4.10. Text-Editoren
4.11. Geräte und Gerätedateien
4.12. Manualpages
5. Installieren von Anwendungen: Pakete und Ports
5.1. Übersicht
5.2. Installation von Software
5.3. Suchen einer Anwendung
5.4. Benutzen von pkg zur Verwaltung von Binärpaketen
5.5. Benutzen der Ports-Sammlung
5.6. Pakete mit Poudriere bauen
5.7. Nach der Installation
5.8. Kaputte Ports
6. Das X-Window-System
6.1. Übersicht
6.2. Terminologie
6.3. Xorg installieren
6.4. Xorg konfigurieren
6.5. Schriftarten in Xorg benutzen
6.6. Der X-Display-Manager
6.7. Grafische Oberflächen
6.8. Compiz Fusion installieren
6.9. Fehlersuche
II. Oft benutzte Funktionen
7. Desktop-Anwendungen
7.1. Übersicht
7.2. Browser
7.3. Büroanwendungen
7.4. Anzeigen von Dokumenten
7.5. Finanzsoftware
8. Multimedia
8.1. Übersicht
8.2. Soundkarten einrichten
8.3. MP3-Audio
8.4. Videos wiedergeben
8.5. TV-Karten
8.6. MythTV
8.7. Scanner
9. Konfiguration des FreeBSD-Kernels
9.1. Übersicht
9.2. Wieso einen eigenen Kernel bauen?
9.3. Informationen über die vorhandene Hardware beschaffen
9.4. Die Kernelkonfigurationsdatei
9.5. Einen angepassten Kernel bauen und installieren
9.6. Wenn etwas schiefgeht
10. Drucken
10.1. Schnellstart
10.2. Druckerverbindungen
10.3. Gebräuchliche Seitenbeschreibungssprachen
10.4. Direktes Drucken
10.5. LPD (Line Printer Daemon)
10.6. Andere Drucksysteme
11. Linux®-Binärkompatibilität
11.1. Übersicht
11.2. Konfiguration der Linux®-Binärkompatibilität
11.3. Weiterführende Themen
III. Systemadministration
12. Konfiguration und Tuning
12.1. Übersicht
12.2. Start von Diensten
12.3. cron(8) konfigurieren
12.4. Dienste unter FreeBSD verwalten
12.5. Einrichten von Netzwerkkarten
12.6. Virtual Hosts
12.7. Konfiguration der Systemprotokollierung
12.8. Konfigurationsdateien
12.9. Einstellungen mit sysctl(8)
12.10. Tuning von Laufwerken
12.11. Einstellungen von Kernel Limits
12.12. Hinzufügen von Swap-Bereichen
12.13. Energie- und Ressourcenverwaltung
13. FreeBSDs Bootvorgang
13.1. Übersicht
13.2. FreeBSDs Bootvorgang
13.3. Willkommmensbildschirme während des Bootvorgangs konfigurieren
13.4. Konfiguration von Geräten
13.5. Init: Initialisierung der Prozess-Kontrolle
13.6. Der Shutdown-Vorgang
14. Sicherheit
14.1. Übersicht
14.2. Einführung
14.3. Einmalpasswörter
14.4. TCP Wrapper
14.5. Kerberos
14.6. OpenSSL
14.7. VPN mit IPsec
14.8. OpenSSH
14.9. Zugriffskontrolllisten für Dateisysteme (ACL)
14.10. Sicherheitsprobleme in Software von Drittanbietern überwachen
14.11. FreeBSD Sicherheitshinweise
14.12. Prozess-Überwachung
14.13. Einschränkung von Ressourcen
14.14. Gemeinsame Administration mit Sudo
15. Jails
15.1. Übersicht
15.2. Jails - Definitionen
15.3. Einrichtung und Verwaltung von Jails
15.4. Feinabstimmung und Administration
15.5. Mehrere Jails aktualisieren
15.6. Verwaltung von Jails mit ezjail
16. Verbindliche Zugriffskontrolle
16.1. Übersicht
16.2. Schlüsselbegriffe
16.3. Erläuterung
16.4. MAC Labels verstehen
16.5. Planung eines Sicherheitsmodells
16.6. Modulkonfiguration
16.7. Das MAC Modul seeotheruids
16.8. Das MAC Modul bsdextended
16.9. Das MAC Modul ifoff
16.10. Das MAC Modul portacl
16.11. Das MAC Modul partition
16.12. Das MAC Modul Multi-Level Security
16.13. Das MAC Modul Biba
16.14. Das MAC Modul LOMAC
16.15. Beispiel 1: Nagios in einer MAC Jail
16.16. Beispiel 2: User Lock Down
16.17. Fehler im MAC beheben
17. Security Event Auditing
17.1. Einleitung
17.2. Schlüsselbegriffe
17.3. Audit Konfiguration
17.4. Audit-Trails
18. Speichermedien
18.1. Übersicht
18.2. Hinzufügen von Laufwerken
18.3. Partitionen vergrößern
18.4. USB Speichermedien
18.5. Erstellen und Verwenden von CDs
18.6. DVDs benutzen
18.7. Disketten benutzen
18.8. Datensicherung
18.9. Speicherbasierte Laufwerke
18.10. Schnappschüsse von Dateisystemen
18.11. Disk Quotas
18.12. Partitionen verschlüsseln
18.13. Den Auslagerungsspeicher verschlüsseln
18.14. Highly Available Storage (HAST)
19. GEOM: Modulares Framework zur Plattentransformation
19.1. Übersicht
19.2. RAID0 - Striping
19.3. RAID1 - Spiegelung
19.4. RAID3 - Byte-Level Striping mit dedizierter Parität
19.5. Software RAID
19.6. GEOM Gate Netzwerk
19.7. Das Labeln von Laufwerken
19.8. UFS Journaling in GEOM
20. Das Z-Dateisystem (ZFS)
20.1. Was ZFS anders macht
20.2. Schnellstartanleitung
20.3. zpool Administration
20.4. zfs Administration
20.5. Delegierbare Administration
20.6. Themen für Fortgeschrittene
20.7. Zusätzliche Informationen
20.8. ZFS-Eigenschaften und Terminologie
21. Dateisystemunterstützung
21.1. Übersicht
21.2. Linux® Dateisysteme
22. Virtualisierung
22.1. Übersicht
22.2. FreeBSD als Gast-Betriebssystem unter Parallels für Mac OS® X
22.3. FreeBSD als Gast-Betriebssystem unter Virtual PC für Windows®
22.4. FreeBSD als Gast-Betriebssystem unter VMware Fusion für Mac OS®
22.5. VirtualBox™ Gasterweiterungen auf einem FreeBSD Gast
22.6. FreeBSD als Host mit Virtualbox
22.7. FreeBSD als Host mit bhyve
23. Lokalisierung – I18N/L10N einrichten und benutzen
23.1. Übersicht
23.2. Lokale Anpassungen benutzen
23.3. I18N-Programme übersetzen
23.4. Lokalisierung für einzelne Sprachen
24. FreeBSD aktualisieren
24.1. Übersicht
24.2. FreeBSD-Update
24.3. Aktualisieren der Dokumentationssammlung
24.4. Einem Entwicklungszweig folgen
24.5. Synchronisation der Quellen
24.6. Das komplette Basissystem neu bauen
24.7. Installation mehrerer Maschinen
25. DTrace
25.1. Überblick
25.2. Unterschiede in der Implementierung
25.3. Die DTrace Unterstützung aktivieren
25.4. DTrace verwenden
IV. Netzwerke
26. Serielle Datenübertragung
26.1. Übersicht
26.2. Begriffe und Hardware
26.3. Terminals
26.4. Einwählverbindungen
26.5. Verbindungen nach Außen
26.6. Einrichten der seriellen Konsole
27. PPP
27.1. Übersicht
27.2. PPP konfigurieren
27.3. Probleme bei PPP-Verbindungen
27.4. PPP over Ethernet (PPPoE)
27.5. PPP over ATM (PPPoA)
28. Elektronische Post (E-Mail)
28.1. Terminologie
28.2. Übersicht
28.3. E-Mail Komponenten
28.4. Sendmail-Konfigurationsdateien
28.5. Wechseln des Mailübertragungs-Agenten
28.6. Fehlerbehebung
28.7. Weiterführende Themen
28.8. Ausgehende E-Mail über einen Relay versenden
28.9. E-Mail über Einwahl-Verbindungen
28.10. SMTP-Authentifizierung
28.11. E-Mail-Programme
28.12. E-Mails mit fetchmail abholen
28.13. E-Mails mit procmail filtern
29. Netzwerkserver
29.1. Übersicht
29.2. Der inetd Super-Server
29.3. Network File System (NFS)
29.4. Network Information System (NIS)
29.5. Lightweight Access Directory Protocol (LDAP)
29.6. Dynamic Host Configuration Protocol (DHCP)
29.7. Domain Name System (DNS)
29.8. Apache HTTP-Server
29.9. File Transfer Protocol (FTP)
29.10. Datei- und Druckserver für Microsoft® Windows®-Clients (Samba)
29.11. Die Uhrzeit mit NTP synchronisieren
29.12. iSCSI Initiator und Target Konfiguration
30. Firewalls
30.1. Einführung
30.2. Firewallkonzepte
30.3. PF
30.4. Die IPFILTER-Firewall (IPF)
30.5. IPFW
31. Weiterführende Netzwerkthemen
31.1. Übersicht
31.2. Gateways und Routen
31.3. Drahtlose Netzwerke
31.4. USB Tethering
31.5. Bluetooth
31.6. LAN-Kopplung mit einer Bridge
31.7. Link-Aggregation und Failover
31.8. Plattenloser Betrieb mit PXE
31.9. IPv6
31.10. Common Address Redundancy Protocol (CARP)
V. Anhang
A. Bezugsquellen für FreeBSD
A.1. CD und DVD Sets
A.2. FTP-Server
A.3. Benutzen von Subversion
A.4. Subversion Mirror Sites
A.5. Benutzen von rsync
B. Bibliografie
B.1. Bücher speziell für FreeBSD
B.2. Handbücher
B.3. Administrations-Anleitungen
B.4. Programmierhandbücher
B.5. Betriebssystem-Interna
B.6. Sicherheits-Anleitung
B.7. Hardware-Anleitung
B.8. UNIX® Geschichte
B.9. Zeitschriften, Magazine und Journale
C. Ressourcen im Internet
C.1. Mailinglisten
C.2. Usenet-News
C.3. World Wide Web Server
C.4. E-Mail Adressen
D. OpenPGP-Schlüssel
D.1. Ansprechpartner
FreeBSD Glossar
Stichwortverzeichnis
Abbildungsverzeichnis
2.1. FreeBSD Boot Loader Menu
2.2. Ausgabe der Geräteerkennung
2.3. Ihr Land auswählen
2.4. Die Tastaturbelegung auswählen
2.5. Die Gebrauchsanweisung von sysinstall auswählen
2.6. Die Dokumentation abrufen
2.7. Das Dokumentationsmenü von sysinstall
2.8. Das Hauptmenü von sysinstall
2.9. Sysinstall Keymap Menu
2.10. Das Hauptmenü von sysinstall
2.11. Optionen von sysinstall
2.12. Die Standard-Installation starten
2.13. Ein Laufwerk für Fdisk aussuchen
2.14. Typischer Fdisk-Bildschirm vor dem Editieren
2.15. Eine Partition über die gesamte Platte
2.16. Sysinstall Boot-Manager-Menü
2.17. Die Laufwerksauswahl verlassen
2.18. Sysinstall Disklabel-Editor
2.19. Sysinstall Disklabel-Editor mit automatischen Vorgaben
2.20. Die Größe einer Partition festlegen
2.21. Die Größe einer Partition ändern
2.22. Den Partitionstyp festlegen
2.23. Den Mountpoint festlegen
2.24. Sysinstall Disklabel-Editor
2.25. Die Distribution auswählen
2.26. Die Distributionen bestätigen
2.27. Das Installationsmedium auswählen
2.28. Eine Netzwerkkarte auswählen
2.29. Die Netzwerkkarte ed0 konfigurieren
2.30. inetd.conf editieren
2.31. Anonymous-FTP konfigurieren
2.32. Begrüßungsmeldung des FTP-Servers editieren
2.33. exports editieren
2.34. Merkmale der Systemkonsole
2.35. Bildschirmschoner auswählen
2.36. Den Bildschirmschoner einstellen
2.37. Die Konfiguration der Systemkonsole verlassen
2.38. Das Gebiet auswählen
2.39. Das Land auswählen
2.40. Die Zeitzone auswählen
2.41. Das Mausprotokoll festlegen
2.42. Das Mausprotokoll festlegen
2.43. Den Mausport einstellen
2.44. Den Mausport einstellen
2.45. Den Mouse-Daemon aktivieren
2.46. Den Mouse-Daemon testen
2.47. Die Paketkategorie aussuchen
2.48. Pakete auswählen
2.49. Pakete installieren
2.50. Paketinstallation bestätigen
2.51. Benutzerkonto auswählen
2.52. Benutzerkonto anlegen
2.53. Benutzermenü verlassen
2.54. Die Installation beenden
2.55. Netzwerkdienste – obere Hälfte
2.56. Den MTA festlegen
2.57. Ntpdate konfigurieren
2.58. Netzwerkdienste – untere Hälfte
3.1. FreeBSD Boot Loader Menü
3.2. FreeBSD Boot-Optionen Menü
3.3. Willkommen-Menü
3.4. Tastaturbelegung festlegen
3.5. Tastaturauswahlbildschirm
3.6. Erweiterte Tastaturbelegung
3.7. Festlegen des Rechnernamens
3.8. Komponenten für die Installation auswählen
3.9. Installation über das Netzwerk
3.10. Einen Spiegelserver wählen
3.11. Partitionierung unter FreeBSD 9.x
3.12. Partitionierung unter FreeBSD 10.x und neueren Versionen
3.13. Aus mehreren Platten eine auswählen
3.14. Auswahl der gesamten Platte oder einer Partition
3.15. Überprüfen der erstellen Partitionen
3.16. Partitionen manuell erstellen
3.17. Partitionen manuell anlegen
3.18. Partitionen manuell erzeugen
3.19. ZFS Konfigurationsmenü
3.20. ZFS Pool Typen
3.21. Auswahl der Laufwerke
3.22. Ungültige Auswahl
3.23. Eigenschaften einer Festplatte
3.24. Passwort für die Verschlüsselung der Platte
3.25. Letzte Chance
3.26. Letzte Bestätigung
3.27. Herunterladen der Distributionsdateien
3.28. Überprüfen der Distributionsdateien
3.29. Entpacken der Distributionsdateien
3.30. Das root-Passwort setzen
3.31. Eine zu konfigurierende Netzwerkschnittstelle auswählen
3.32. Nach drahtlosen Access Points scannen
3.33. Ein drahtloses Netzwerk auswählen
3.34. Verbindungsaufbau mit WPA2
3.35. Auswahl von IPv4
3.36. Auswählen der IPv4-Konfiguration über DHCP
3.37. Statische IPv4-Konfiguration
3.38. Auswahl von IPv6
3.39. Auswahl der IPv6 SLAAC-Konfiguration
3.40. Statische IPv6-Konfiguration
3.41. DNS-Konfiguration
3.42. Lokale oder UTC-Zeit
3.43. Auswahl der geographischen Region
3.44. Das Land auswählen
3.45. Wählen einer Zeitzone
3.46. Bestätigen der Zeitzone
3.47. Auswahl zusätzlicher Dienste
3.48. Aktivierung der Absturzaufzeichnung
3.49. Benutzerkonten hinzufügen
3.50. Benutzerinformationen eingeben
3.51. Verlassen der Benutzer- und Gruppenverwaltung
3.52. Letzte Schritte der Konfiguration
3.53. Manuelle Konfiguration
3.54. Die Installation vervollständigen
31.1. PXE-Bootvorgang mit NFS Root Mount
Tabellenverzeichnis
2.1. Gerätekonfiguration
2.2. Partitionen auf dem ersten Laufwerk
2.3. Partitionen auf weiteren Laufwerken
2.4. FreeBSD 8.X ISO-Abbilder
3.1. Partitionierungsschemas
4.1. Programme zur Verwaltung von Benutzer-Accounts
4.2. UNIX® Zugriffsrechte
4.3. Laufwerk-Codes
4.4. Gebräuchliche Umgebungsvariablen
6.1. Die Konfigurationsdateien von XDM
8.1. Typische Fehlermeldungen
10.1. Ausgabe PDLs
14.1. Ressourcenbeschränkungen für Login-Klassen
17.1. Audit-Ereignisklassen
17.2. Präfixe für Audit-Ereignisklassen
26.1. Nullmodemkabel vom Typ DB-25-zu-DB-25
26.2. Nullmodemkabel vom Typ DB-9-zu-DB-9
26.3. Nullmodemkabel vom Typ DB-9-zu-DB-25
26.4. Signalnamen
26.5. Fall 1: Option 0x10 für sio0
26.6. Fall 2: Option 0x30 für sio0
29.1. NIS Begriffe
29.2. Zusätzliche Benutzer
29.3. Zusätzliche Rechner
29.4. DNS-Begriffe
30.1. Nützliche pfctl Optionen
31.1. Allgemeine Attribute in Routingtabellen
31.2. Station Capability Codes
31.3. Reservierte IPv6-Adressen
Liste der Beispiele
2.1. Eine bestehende Partition verwenden
2.2. Eine bestehende Partition verkleinern
3.1. Ein traditionelles, partitioniertes Dateisystem erstellen
4.1. Ein Programm als Superuser installieren
4.2. Einen Benutzer unter FreeBSD anlegen
4.3. Interaktives Löschen von Accounts mit rmuser
4.4. chpass als Superuser verwenden
4.5. chpass als normaler Benutzer verwenden
4.6. Das eigene Passwort wechseln
4.7. Als Superuser das Passwort eines anderen Accounts verändern
4.8. Setzen der Mitgliederliste einer Gruppe mit pw(8)
4.9. Ein Gruppenmitglied mit pw(8) hinzufügen
4.10. Hinzufügen eines neuen Gruppenmitglieds mittels pw(8)
4.11. Mit id die Gruppenzugehörigkeit bestimmen
4.12. Namen von Platten, Slices und Partitionen
4.13. Aufteilung einer Festplatte
6.1. Den Intel® Treiber über eine Datei auswählen
6.2. Den Radeon Treiber über eine Datei auswählen
6.3. Den VESA Treiber über eine Datei auswählen
6.4. Den scfb Treiber über eine Datei auswählen
6.5. Die Bildschirmauflösung in eine Datei schreiben
6.6. Manuelles Einstellen der Monitorfrequenzen
6.7. Konfiguration eines Tastaturlayouts
6.8. Konfiguration mehrerer Tastaturlayouts
6.9. X über die Tastatur beenden
6.10. Die Anzahl der Maustasten festlegen
12.1. Einfache Server Konfiguration
12.2. Erstellen einer Swap-Datei
13.1. boot0-Screenshot
13.2. boot2-Screenshot
13.3. Auf insecure gesetzte Konsole in /etc/ttys
14.1. Einen sicheren Tunnel für SMTP erstellen
14.2. Sicherer Zugriff auf einen POP3-Server
14.3. Umgehen einer Firewall
15.1. mergemaster(8) in einer nicht vertrauenswürdigen Jail ausführen
15.2. mergemaster(8) in einer vertrauenswürdigen Jail ausführen
15.3. BIND in einer Jail laufen lassen
18.1. dump mit ssh benutzen
18.2. dump über ssh mit gesetzter RSH benutzen
18.3. Das aktuelle Verzeichnis mit tar sichern
18.4. Wiederherstellung mit tar in das aktuelle Verzeichnis
18.5. Rekursive Sicherung des aktuellen Verzeichnisses mit ls und cpio
18.6. Das aktuelle Verzeichnis mit pax sichern
19.1. Die Partitionen einer Bootplatte labeln
26.1. Einträge in /etc/ttys hinzufügen
29.1. Die Konfigurationsdatei von inetd neu einlesen
29.2. Ein exportiertes Dateisystem mit amd in den Verzeichnisbaum einhängen
29.3. Ein exportiertes Dateisystem mit autofs(5) in den Verzeichnisbaum einhängen
29.4. Beispiel einer /etc/ntp.conf
31.1. LACP Aggregation mit einem Cisco® Switch
31.2. Ausfallsicherer Modus
31.3. Failover Modus zwischen Ethernet- und Wireless-Schnittstellen

Vorwort

Über dieses Buch

Der erste Teil dieses Buchs führt FreeBSD-Einsteiger durch den Installationsprozess und stellt leicht verständlich Konzepte und Konventionen vor, die UNIX® zu Grunde liegen. Sie müssen nur neugierig sein und bereitwillig neue Konzepte aufnehmen, wenn diese vorgestellt werden, um diesen Teil durchzuarbeiten.

Wenn Sie den ersten Teil bewältigt haben, bietet der umfangreichere zweite Teil eine verständliche Darstellung vieler Themen, die für FreeBSD-Administratoren relevant sind. Wenn Kapitel auf anderen Kapiteln aufbauen, wird das in der Übersicht am Anfang eines Kapitels erläutert.

Weitere Informationsquellen entnehmen Sie bitte Anhang B, Bibliografie.

Änderungen gegenüber der dritten Auflage

Die aktuelle Auflage des Handbuchs ist das Ergebnis der engagierten Arbeit Hunderter Mitarbeiter des FreeBSD Documentation Projects in den vergangenen 10 Jahren. Die wichtigsten Änderungen dieser Auflage gegenüber der dritten Auflage von 2004 sind:

Änderungen gegenüber der zweiten Auflage (2004)

Die dritte Auflage des Handbuchs war das Ergebnis der über zwei Jahre dauernden engagierten Arbeit des FreeBSD Documentation Projects. Die gedruckte Ausgabe war derart umfangreich, dass es notwendig wurde, sie in zwei Bände aufzuteilen. Die wichtigsten Änderungen dieser Auflage waren:

  • Kapitel 12, Konfiguration und Tuning enthält neue Abschnitte über ACPI, Energie- und Ressourcenverwaltung und das Werkzeug cron.

  • Kapitel 14, Sicherheit erläutert nun Virtual Private Networks (VPNs), Zugriffskontrolllisten (ACLs) und Sicherheitshinweise.

  • Kapitel 16, Verbindliche Zugriffskontrolle ist ein neues Kapitel, das vorgeschriebene Zugriffskontrollen vorstellt und erklärt, wie FreeBSD-Systeme mit MACs abgesichert werden können.

  • Kapitel 18, Speichermedien enthält neue Informationen über USB-Speichergeräte, Dateisystem-Snapshots, Quotas, Datei- und Netzwerk-basierte Dateisysteme sowie verschlüsselte Partitionen.

  • Zum Kapitel 27, PPP wurde ein Abschnitt über Fehlersuche hinzugefügt.

  • Kapitel 28, Elektronische Post (E-Mail) wurde um Abschnitte über alternative Transport-Agenten (MTAs), SMTP-Authentifizierung, UUCP, fetchmail, procmail und weitere Themen erweitert.

  • Kapitel 29, Netzwerkserver ist ein weiteres neues Kapitel dieser Auflage. Das Kapitel beschreibt, wie der Apache HTTP-Server, ftpd und ein Samba-Server für Microsoft® Windows®-Clients eingerichtet werden. Einige Abschnitte aus dem Kapitel 31, Weiterführende Netzwerkthemen befinden sich nun, wegen des thematischen Zusammenhangs, in diesem Kapitel.

  • Das Kapitel 31, Weiterführende Netzwerkthemen beschreibt nun den Einsatz von Bluetooth®-Geräten unter FreeBSD und das Einrichten von drahtlosen Netzwerken sowie ATM-Netzwerken.

  • Neu hinzugefügt wurde ein Glossar, das die im Buch verwendeten technischen Ausdrücke definiert.

  • Das Erscheinungsbild der Tabellen und Abbildungen im Buch wurde verbessert.

Änderungen gegenüber der ersten Auflage (2001)

Die zweite Auflage ist das Ergebnis der engagierten Arbeit der Mitglieder des FreeBSD Documentation Projects über zwei Jahre. Die wichtigsten Änderungen gegenüber der ersten Auflage sind:

Gliederung

Dieses Buch ist in fünf Abschnitte unterteilt. Der erste Abschnitt, Erste Schritte, behandelt die Installation und die Grundlagen von FreeBSD. Dieser Abschnitt sollte in der vorgegebenen Reihenfolge durchgearbeitet werden, schon Bekanntes darf aber übersprungen werden. Der zweite Abschnitt, Oft benutzte Funktionen, behandelt häufig benutzte Funktionen von FreeBSD. Dieser Abschnitt sowie alle nachfolgenden Abschnitte können in beliebiger Reihenfolge gelesen werden. Jeder Abschnitt beginnt mit einer kurzen Übersicht, die das Thema des Abschnitts und das nötige Vorwissen erläutert. Die Übersichten helfen dem Leser, interessante Kapitel zu finden und erleichtern das Stöbern im Handbuch. Der dritte Abschnitt, Systemadministration, behandelt die Administration eines FreeBSD-Systems. Der vierte Abschnitt, Netzwerke, bespricht Netzwerke und Netzwerkdienste. Der fünfte Abschnitt enthält Anhänge und Verweise auf weitere Informationen.

Kapitel 1, Einleitung

Dieses Kapitel macht Einsteiger mit FreeBSD vertraut. Es behandelt die Geschichte, die Ziele und das Entwicklungsmodell des FreeBSD-Projekts.

Kapitel 3, FreeBSD 9.X (und neuer) installieren

Beschreibt den Ablauf der Installation von FreeBSD 9.x und neuere mittels bsdinstall.

Kapitel 2, FreeBSD 8.X (und älter) installieren

Beschreibt den Ablauf der Installation von FreeBSD 8.x und früher mittels sysinstall. Spezielle Installationsmethoden, wie die Installation mit einer seriellen Konsole, werden ebenfalls behandelt.

Kapitel 4, Grundlagen des UNIX Betriebssystems

Erläutert die elementaren Kommandos und Funktionen von FreeBSD. Wenn Sie schon mit Linux® oder einem anderen UNIX® System vertraut sind, können Sie dieses Kapitel überspringen.

Kapitel 5, Installieren von Anwendungen: Pakete und Ports

Zeigt wie mit der innovativen Ports-Sammlung oder mit Paketen Software von Fremdherstellern installiert wird.

Kapitel 6, Das X-Window-System

Beschreibt allgemein das X Window System und geht speziell auf X11 unter FreeBSD ein. Weiterhin werden grafische Benutzeroberflächen wie KDE und GNOME behandelt.

Kapitel 7, Desktop-Anwendungen

Enthält eine Aufstellung verbreiteter Anwendungen wie Browser, Büroanwendungen und Office-Pakete und beschreibt wie diese Anwendungen installiert werden.

Kapitel 8, Multimedia

Erklärt, wie Sie auf Ihrem System Musik und Videos abspielen können. Beispielhaft werden auch Anwendungen aus dem Multimedia-Bereich beleuchtet.

Kapitel 9, Konfiguration des FreeBSD-Kernels

Erklärt, warum Sie einen angepassten Kernel erzeugen sollten und gibt ausführliche Anweisungen wie Sie einen angepassten Kernel konfigurieren, bauen und installieren.

Kapitel 10, Drucken

Beschreibt, wie Sie Drucker unter FreeBSD verwalten. Diskutiert werden Deckblätter, das Einrichten eines Druckers und ein Abrechnungssystem für ausgedruckte Seiten.

Kapitel 11, Linux®-Binärkompatibilität

Beschreibt die binäre Kompatibilität zu Linux®. Weiterhin werden ausführliche Installationsanleitungen für Oracle® und Mathematica® gegeben.

Kapitel 12, Konfiguration und Tuning

Beschreibt die Einstellungen, die ein Systemadministrator vornehmen kann, um die Leistungsfähigkeit eines FreeBSD Systems zu verbessern. In diesem Kapitel werden auch verschiedene Konfigurationsdateien besprochen.

Kapitel 13, FreeBSDs Bootvorgang

Erklärt den Bootprozess von FreeBSD und beschreibt die Optionen, mit denen sich der Bootprozess beeinflussen lässt.

Kapitel 14, Sicherheit

Beschreibt die Werkzeuge mit denen Sie Ihr FreeBSD-System absichern. Unter Anderem werden Kerberos, IPsec und OpenSSH besprochen.

Kapitel 15, Jails

Dieses Kapitel beschreibt das Jails-Framework sowie die Vorteile von Jails gegenüber der traditionellen chroot-Unterstützung von FreeBSD.

Kapitel 16, Verbindliche Zugriffskontrolle

Erklärt vorgeschriebene Zugriffskontrollen (MACs) und wie mit ihrer Hilfe FreeBSD-Systeme gesichert werden.

Kapitel 17, Security Event Auditing

Beschreibt, was FreeBSD Event Auditing ist, wie Sie diese Funktion installieren und konfigurieren und die damit erzeugten Audit-Trails überwachen und auswerten können.

Kapitel 18, Speichermedien

Erläutert den Umgang mit Speichermedien und Dateisystemen. Behandelt werden Plattenlaufwerke, RAID-Systeme, optische Medien, Bandlaufwerke, RAM-Laufwerke und verteilte Dateisysteme.

Kapitel 19, GEOM: Modulares Framework zur Plattentransformation

Beschreibt das GEOM-Framework von FreeBSD sowie die Konfiguration der verschiedenen unterstützten RAID-Level.

Kapitel 21, Dateisystemunterstützung

Beschreibt die Unterstützung nicht-nativer Dateisysteme (beispielsweise des Z-Dateisystems (zfs) von Sun™) durch FreeBSD.

Kapitel 22, Virtualisierung

Dieses Kapitel beschreibt verschiedene Virtualisierungslösungen und wie diese mit FreeBSD zusammenarbeiten.

Kapitel 23, Lokalisierung – I18N/L10N einrichten und benutzen

Zeigt wie Sie FreeBSD mit anderen Sprachen als Englisch einsetzen. Es wird sowohl die Lokalisierung auf der System-Ebene wie auch auf der Anwendungs-Ebene betrachtet.

Kapitel 24, FreeBSD aktualisieren

Erklärt die Unterschiede zwischen FreeBSD-STABLE, FreeBSD-CURRENT und FreeBSD-Releases. Das Kapitel enthält Kriterien anhand derer Sie entscheiden können, ob es sich lohnt, ein Entwickler-System zu installieren und aktuell zu halten. Außerdem wird beschrieben, wie Sie Ihr System durch das Einspielen neuer Sicherheits-Patches absichern.

Kapitel 25, DTrace

Beschreibt, wie das von Sun™ entwickelte DTrace-Werkzeug unter FreeBSD konfiguriert und eingesetzt werden kann. Dynamisches Tracing kann Ihnen beim Aufspüren von Leistungsproblemen helfen, indem Sie Echtzeit-Systemanalysen durchführen.

Kapitel 26, Serielle Datenübertragung

Erläutert, wie Sie Terminals und Modems an Ihr FreeBSD-System anschließen und sich so ein- und auswählen können.

Kapitel 27, PPP

Erklärt wie Sie mit PPP, SLIP oder PPP über Ethernet ein FreeBSD-System mit einem entfernten System verbinden.

Kapitel 28, Elektronische Post (E-Mail)

Erläutert die verschiedenen Bestandteile eines E-Mail Servers und zeigt einfache Konfigurationen für sendmail, dem meist genutzten E-Mail-Server.

Kapitel 29, Netzwerkserver

Bietet ausführliche Informationen und Beispielkonfigurationen, die es Ihnen ermöglichen, Ihren FreeBSD-Rechner als Network File System Server, Domain Name Server, Network Information Server, oder als Zeitsynchronisationsserver einzurichten.

Kapitel 30, Firewalls

Erklärt die Philosophie hinter softwarebasierten Firewalls und bietet ausführliche Informationen zur Konfiguration der verschiedenen, für FreeBSD verfügbaren Firewalls.

Kapitel 31, Weiterführende Netzwerkthemen

Behandelt viele Netzwerkthemen, beispielsweise das Verfügbarmachen einer Internetverbindung für andere Rechner eines LANs, Routing, drahtlose Netzwerke, Bluetooth®, IPv6, ATM und andere mehr.

Anhang A, Bezugsquellen für FreeBSD

Enthält eine Aufstellung der Quellen von denen Sie FreeBSD beziehen können: CD-ROM, DVD sowie Internet-Sites.

Anhang B, Bibliografie

Dieses Buch behandelt viele Themen und kann nicht alle Fragen erschöpfend beantworten. Die Bibliografie enthält weiterführende Bücher, die im Text zitiert werden.

Anhang C, Ressourcen im Internet

Enthält eine Aufstellung der Foren, die FreeBSD Benutzern für Fragen und Diskussionen zur Verfügung stehen.

Anhang D, OpenPGP-Schlüssel

Enthält PGP-Fingerabdrücke von etlichen FreeBSD Entwicklern.

Konventionen in diesem Buch

Damit der Text einheitlich erscheint und leicht zu lesen ist, werden im ganzen Buch die nachstehenden Konventionen beachtet:

Typographie

Kursiv

Für Dateinamen, URLs, betonte Teile eines Satzes und das erste Vorkommen eines Fachbegriffs wird ein kursiver Zeichensatz benutzt.

Fixschrift

Fehlermeldungen, Kommandos, Umgebungsvariablen, Namen von Ports, Hostnamen, Benutzernamen, Gruppennamen, Gerätenamen, Variablen und Code-Ausschnitte werden in einer Fixschrift dargestellt.

Fett

Fett kennzeichnet Anwendungen, Kommandozeilen und Tastensymbole.

Benutzereingaben

Tasten werden fett dargestellt, um sie von dem umgebenden Text abzuheben. Tasten, die gleichzeitig gedrückt werden müssen, werden durch ein + zwischen den einzelnen Tasten dargestellt:

Ctrl+Alt+Del

Im gezeigten Beispiel soll der Benutzer die Tasten Ctrl, Alt und Del gleichzeitig drücken.

Tasten, die nacheinander gedrückt werden müssen, sind durch Kommas getrennt:

Ctrl+X, Ctrl+S

Das letzte Beispiel bedeutet, dass die Tasten Ctrl und X gleichzeitig betätigt werden und danach die Tasten Ctrl und S gleichzeitig gedrückt werden müssen.

Beispiele

Beispiele, die durch C:\> eingeleitet werden, zeigen ein MS-DOS® Kommando. Wenn nichts Anderes angezeigt wird, können diese Kommandos unter neuen Versionen von Microsoft® Windows® auch in einem DOS-Fenster ausgeführt werden.

E:\> tools\fdimage floppies\kern.flp A:

Beispiele, die mit # beginnen, müssen unter FreeBSD mit Superuser-Rechten ausgeführt werden. Dazu melden Sie sich entweder als root an oder Sie wechseln von Ihrem normalen Account mit su(1) zu dem Benutzer root.

# dd if=kern.flp of=/dev/fd0

Beispiele, die mit % anfangen, werden unter einem normalen Benutzer-Account ausgeführt. Sofern nichts Anderes angezeigt wird, verwenden die Beispiele die Syntax der C-Shell.

% top

Danksagung

Dieses Buch ist aus Beiträgen von vielen Leuten aus allen Teilen der Welt entstanden. Alle eingegangen Beiträge, zum Beispiel Korrekturen oder vollständige Kapitel, waren wertvoll.

Einige Firmen haben dieses Buch dadurch unterstützt, dass Sie Autoren in Vollzeit beschäftigt und die Veröffentlichung des Buchs finanziert haben. Besonders BSDi (das später von Wind River Systems übernommen wurde) beschäftigte Mitglieder des FreeBSD Documentation Projects, um dieses Buch zu erstellen. Dadurch wurde die erste (englische) gedruckte Auflage im März 2000 möglich (ISBN 1-57176-241-8). Wind River Systems bezahlte dann weitere Autoren, die die zum Drucken nötige Infrastruktur verbesserten und zusätzliche Kapitel beisteuerten. Das Ergebnis dieser Arbeit ist die zweite (englische) Auflage vom November 2001 (ISBN 1-57176-303-1). Zwischen 2003 und 2004 bezahlte FreeBSD Mall, Inc mehrere Mitarbeiter für die Vorbereitung der gedruckten dritten Auflage.

Teil I. Erste Schritte

Dieser Teil des FreeBSD-Handbuchs richtet sich an Benutzer und Administratoren für die FreeBSD neu ist. Diese Kapitel

  • geben Ihnen eine Einführung in FreeBSD,

  • geleiten Sie durch den Installationsprozess,

  • erklären Ihnen die Grundlagen von UNIX® Systemen,

  • zeigen Ihnen, wie Sie die Fülle der erhältlichen Anwendungen Dritter installieren und

  • führen Sie in X, der Benutzeroberfläche von UNIX® Systemen ein. Es wird gezeigt, wie Sie den Desktop konfigurieren, um effektiver arbeiten zu können.

Wir haben uns bemüht, Referenzen auf weiter vorne liegende Textteile auf ein Minimum zu beschränken, so dass Sie diesen Teil des Handbuchs ohne viel Blättern durcharbeiten können.

Inhaltsverzeichnis
1. Einleitung
1.1. Überblick
1.2. Willkommen zu FreeBSD
1.3. Über das FreeBSD Projekt
2. FreeBSD 8.X (und älter) installieren
2.1. Übersicht
2.2. Hardware-Anforderungen
2.3. Vor der Installation
2.4. Die Installation starten
2.5. Das Werkzeug sysinstall
2.6. Plattenplatz für FreeBSD bereitstellen
2.7. Den Installationsumfang bestimmen
2.8. Das Installationsmedium auswählen
2.9. Die Installation festschreiben
2.10. Arbeiten nach der Installation
2.11. Fehlersuche
2.12. Anspruchsvollere Installationen
2.13. Eigene Installationsmedien herstellen
3. FreeBSD 9.X (und neuer) installieren
3.1. Übersicht
3.2. Minimale Hardwarenaforderungen
3.3. Vor der Installation
3.4. Die Installation starten
3.5. Verwendung von bsdinstall
3.6. Plattenplatz bereitstellen
3.7. Die Installation festschreiben
3.8. Arbeiten nach der Installation
3.9. Fehlerbehebung
3.10. Verwendung der Live-CD
4. Grundlagen des UNIX Betriebssystems
4.1. Übersicht
4.2. Virtuelle Konsolen und Terminals
4.3. Benutzer und grundlegende Account-Verwaltung
4.4. Zugriffsrechte
4.5. Verzeichnis-Strukturen
4.6. Festplatten, Slices und Partitionen
4.7. Anhängen und Abhängen von Dateisystemen
4.8. Prozesse und Dämonen
4.9. Shells
4.10. Text-Editoren
4.11. Geräte und Gerätedateien
4.12. Manualpages
5. Installieren von Anwendungen: Pakete und Ports
5.1. Übersicht
5.2. Installation von Software
5.3. Suchen einer Anwendung
5.4. Benutzen von pkg zur Verwaltung von Binärpaketen
5.5. Benutzen der Ports-Sammlung
5.6. Pakete mit Poudriere bauen
5.7. Nach der Installation
5.8. Kaputte Ports
6. Das X-Window-System
6.1. Übersicht
6.2. Terminologie
6.3. Xorg installieren
6.4. Xorg konfigurieren
6.5. Schriftarten in Xorg benutzen
6.6. Der X-Display-Manager
6.7. Grafische Oberflächen
6.8. Compiz Fusion installieren
6.9. Fehlersuche

Kapitel 1. Einleitung

Restrukturiert, umorganisiert und Abschnitte neu geschrieben von Jim Mock.

1.1. Überblick

Herzlichen Dank für Ihr Interesse an FreeBSD! Das folgende Kapitel behandelt verschiedene Aspekte des FreeBSD Projekts wie dessen geschichtliche Entwicklung, seine Ziele oder das Entwicklungsmodell.

Nach dem Durcharbeiten des Kapitels wissen Sie über folgende Punkte Bescheid:

  • Wo FreeBSD im Vergleich zu anderen Betriebssystemen steht

  • Die Geschichte des FreeBSD Projekts

  • Die Ziele des FreeBSD Projekts

  • Die Grundlagen des FreeBSD-Open-Source-Entwicklungsmodells

  • Und natürlich woher der Name FreeBSD kommt.

1.2. Willkommen zu FreeBSD

FreeBSD ist ein auf 4.4BSD-Lite basierendes Betriebssystem für Intel (x86 und Itanium®), AMD64 und Sun UltraSPARC® Rechner. An Portierungen zu anderen Architekturen wird derzeit gearbeitet. Mehr zur Geschichte von FreeBSD erfahren Sie in die Geschichte von FreeBSD oder aus den aktuellen Release-Informationen. Falls Sie das FreeBSD Projekt unterstützen wollen (z.B. mit Quellcode, Hardware- oder Geldspenden), lesen Sie den FreeBSD unterstützen Artikel.

1.2.1. Was kann FreeBSD?

FreeBSD hat zahlreiche bemerkenswerte Eigenschaften. Um nur einige zu nennen:

  • Präemptives Multitasking mit dynamischer Prioritätsanpassung zum reibungslosen und ausgeglichenen Teilen der Systemressourcen zwischen Anwendungen und Anwendern, selbst unter schwerster Last.

  • Mehrbenutzerbetrieb erlaubt es, viele FreeBSD-Anwender gleichzeitig am System mit verschiedenen Aufgaben arbeiten zu lassen. Beispielsweise können Geräte wie Drucker oder Bandlaufwerke, die sich nur schwerlich unter allen Anwendern des Systems oder im Netzwerk teilen lassen, durch setzen von Beschränkungen auf Benutzer oder Gruppen wichtige Systemressourcen vor Überbeanspruchung geschützt werden.

  • StarkeTCP/IP-Netzwerkfähigkeit mit Unterstützung von Industriestandards wie SCTP, DHCP, NFS, NIS, PPP, SLIP, IPsec und IPv6. Das bedeutet, Ihr FreeBSD-System kann in einfachster Weise mit anderen Systemen interagieren. Zudem kann es als Server-System im Unternehmen wichtige Aufgaben übernehmen, beispielsweise als NFS- oder E-Mail-Server oder es kann Ihren Betrieb durch HTTP- und FTP-Server beziehungsweise durch Routing und Firewalling Internetfähig machen.

  • Speicherschutz stellt sicher, dass Anwendungen (oder Anwender) sich nicht gegenseitig stören. Stürzt eine Anwendung ab, hat das keine Auswirkung auf andere Prozesse.

  • Der Industriestandard X-Window-System (X11R7) bietet eine grafische Benutzeroberfläche (GUI).

  • Binärkompatibilität mit vielen auf anderen Betriebssystemen erstellten Programmen wie Linux, SCO, SVR4, BSDI und NetBSD.

  • Tausende zusätzliche leicht zu portierende Anwendungen sind über die FreeBSD Ports und Paket-Sammlung verfügbar. Warum mühselig im Netz nach Software suchen, wenn diese bereits vorhanden ist?

  • Tausende zusätzliche leicht zu portierende Anwendungen sind über das Internet zu beziehen. FreeBSD ist Quellcode-kompatibel mit den meisten kommerziellen UNIX® Systemen. Daher bedürfen Anwendungen häufig nur geringer oder gar keiner Anpassung, um auf einem FreeBSD-System zu kompilieren.

  • Seitenweise anforderbarer virtueller Speicher und merged VM/buffer cache -Entwurf bedient effektiv den großen Speicherhunger mancher Anwendungen bei gleichzeitigem Aufrechterhalten der Bedienbarkeit des Systems für weitere Benutzer.

  • SMP-Unterstützung für Systeme mit mehreren CPUs.

  • Ein voller Satz von C und C++ Entwicklungswerkzeugen. Viele zusätzliche Programmiersprachen für höhere Wissenschaft und Entwicklung sind in der Ports- und Packages-Sammlung verfügbar.

  • Quellcode für das gesamte System bedeutet größtmögliche Kontrolle über Ihre Umgebung. Warum sollte man sich durch proprietäre Lösungen knebeln und sich auf Gedeih und Verderb der Gnade eines Herstellers ausliefern, wenn man doch ein wahrhaft offenes System haben kann?

  • Umfangreiche Online-Dokumentation.

  • und viele weitere!

FreeBSD basiert auf dem 4.4BSD-Lite-Release der Computer Systems Research Group (CSRG) der Universität von Kalifornien in Berkeley und führt die namenhafte Tradition der Entwicklung von BSD-Systemen fort. Zusätzlich zu der herausragenden Arbeit der CSRG hat das FreeBSD Projekt tausende weitere Arbeitsstunden investiert, um das System zu verfeinern und maximale Leistung und Zuverlässigkeit bei Alltagslast zu bieten. FreeBSD bietet Leistung und Zuverlässigkeit auf dem Niveau kommerzieller Angebote, und kombiniert viele innovative Funtionen, die in anderen Angeboten nicht verfübar sind.

Die Anwendungsmöglichkeiten von FreeBSD werden nur durch Ihre Vorstellungskraft begrenzt. Von Software-Entwicklung bis zu Produktionsautomatisierung, von Lagerverwaltung über Abweichungskorrektur bei Satelliten; Falls etwas mit kommerziellen UNIX® Produkten machbar ist, dann ist es höchstwahrscheinlich auch mit FreeBSD möglich. FreeBSD profitiert stark von tausenden hochwertigen Anwendungen aus wissenschaftlichen Instituten und Universitäten in aller Welt. Häufig sind diese für wenig Geld oder sogar kostenlos zu bekommen. Kommerzielle Anwendungen sind ebenso verfügbar und es werden täglich mehr.

Durch den freien Zugang zum Quellcode von FreeBSD ist es in unvergleichbarer Weise möglich, das System für spezielle Anwendungen oder Projekte anzupassen. Dies ist mit den meisten kommerziellen Betriebssystemen einfach nicht möglich. Beispiele für Anwendungen, die unter FreeBSD laufen, sind:

  • Internet-Dienste: Die robuste TCP/IP-Implementierung in FreeBSD macht es zu einer idealen Plattform für verschiedenste Internet-Dienste, wie zum Beispiel:

    • HTTP-Server (Standard oder mit SSL-Verschlüsselung)

    • IPv4- und IPv6-Routing

    • Firewall NAT (IP-Masquerading)-Gateways

    • FTP-Server

    • E-Mail-Server

    • Und mehr...

  • Bildung: Sind Sie Informatikstudent oder Student eines verwandten Studiengangs? Die praktischen Einblicke in FreeBSD sind die beste Möglichkeit etwas über Betriebssysteme, Rechnerarchitektur und Netzwerke zu lernen. Einige frei erhältliche CAD-, mathematische und grafische Anwendungen sind sehr nützlich, gerade für diejenigen, deren Hauptinteresse in einem Computer darin besteht, andere Arbeit zu erledigen!

  • Forschung: Mit dem frei verfügbaren Quellcode für das gesamte System bildet FreeBSD ein exzellentes Studienobjekt in der Disziplin der Betriebssysteme, wie auch in anderen Zweigen der Informatik. Es ist beispielsweise denkbar, das räumlich getrennte Gruppen gemeinsam an einer Idee oder Entwicklung arbeiten. Das Konzept der freien Verfügbarkeit und -nutzung von FreeBSD ermöglicht so die freie Verwendung, ohne sich gross Gedanken über Lizenzbedingungen zu machen oder aufgrund von Beschränkungen evtl. in einem offenen Forum bestimmte Dinge nicht diskutieren zu dürfen.

  • Netzwerkfähigkeit: Brauchen Sie einen neuen Router? Oder einen Name-Server (DNS)? Eine Firewall zum Schutze Ihres Intranets vor Fremdzugriff? FreeBSD macht aus dem in der Ecke verstaubenden 386- oder 486-PC im Handumdrehen einen leistungsfähigen Router mit anspruchsvollen Paketfilter-Funktionen.

  • Embedded: FreeBSD ist eine exzellente Plattform, um auf embedded Systemen aufzubauen. Mit der Unterstützung für die ARM®-, MIPS®- und PowerPC®-Plattformen, verbunden mit dem robusten Netzwerkstack, aktuellen Neuerungen und der freizügigen BSD-Lizenz stellt FreeBSD eine ausgezeichnete Basis für embedded Router, Firewalls und andere Geräte dar.

  • Desktop: FreeBSD ist eine gute Wahl für kostengünstige X-Terminals mit dem frei verfügbaren X11-Server. FreeBSD bietet die Auswahl aus vielen Open Source Desktop Umgebungen, dazu gehören auch die GNOME und KDE GUIs. FreeBSD kann sogar plattenlos booten, was einzelne Workstations sogar noch günstiger macht und die Verwaltung erleichtert.

  • Software-Entwicklung: Das Standard-FreeBSD-System wird mit einem kompletten Satz an Entwicklungswerkzeugen bereitgestellt, unter anderem einem vollständigen C/C++-Compiler und -Debugger. Entwicklungswerkzeugen. Viele zusätzliche Programmiersprachen für Wissenschaft und Entwicklung sind aus der Ports- und Packages-Sammlung zu haben.

FreeBSD ist sowohl in Form von Quellcode als auch in Binärform auf CD-ROM, DVD und über Anonymus FTP erhältlich. Lesen Sie dazu Anhang A, Bezugsquellen für FreeBSD, um weitere Informationen zum Bezug von FreeBSD zu erhalten.

1.2.2. Wer verwendet FreeBSD?

FreeBSDs fortgeschrittene Eigenschaften, bewährte Sicherheit und vorhersehbare Release-Zyklen, genauso wie seine tolerante Lizenz haben dazu geführt, dass es als Plattform zum Aufbau vieler kommerzieller und quelloffener Geräte und Produkte verwendet wird. Viele der weltgrössten IT-Unternehmen benutzen FreeBSD:

  • Apache - Die Apache Software Foundation lässt den Grossteil seiner der Öffentlichkeit zugänglichen Infrastruktur, inklusive des möglicherweise grössten SVN-Repositories der Welt mit über 1,4 Millionen Commits, auf FreeBSD laufen.

  • Apple - OS X verwendet viel von FreeBSDs eigenem Netzwerkstack, virtuellem Dateisystem und den Benutzerumgebungskomponenten für sein eigenes System. Apple iOS nutzt ebenso Elemente, die es von FreeBSD übernommen hat

  • Cisco - IronPort Network Sicherheits- und Anti-Spam-Appliance verwendet einen modifizierten FreeBSD-Kernel.

  • Citrix - Die NetScaler Reihe von Sicherheits-Appliances bietet auf den Schichten 4-7 Load-Balancing, Content Caching, Anwendungsfirewall, gesichertes VPN und mobilen Cloud-Netzwerkzugriff, gepaart mit der Mächtigkeit der FreeBSD-Shell.

  • Dell KACE - Die KACE Systemmanagement-Appliances nutzen FreeBSD wegen seiner Zuverlässigkeit, Skalierbarkeit und Gemeinschaft, welche deren zukünftige Weiterentwicklung fördert.

  • Experts Exchange - Alle öffentlich zugänglichen Webserver werden von FreeBSD betrieben und machen starken Gebrauch von Jails, ohne den Überhang von Virtualisierung, um Entwicklungs- und Testumgebung voneinander zu isolieren.

  • Isilon - Isilons Unternehmens-Speicherappliances basieren auf FreeBSD. Die extrem liberale FreeBSD-Lizenz erlaubt Isilon ihr intellektuelles Eigentum durch den gesamten Kernel zu integrieren und kann sich so auf das Erstellen ihres Produktes und nicht des Betriebssystems fokussieren.

  • iXsystems - Die TrueNAS-Linie von vereinheitlichten Speicherappliances beruht auf FreeBSD. Zusätzlich zu deren kommerziellen Produkten, managed iXsystems auch noch die beiden Open Source Projekte PC-BSD und FreeNAS.

  • Juniper - Das JunOS Betriebssystem, welches alle Juniper Netzwerkgeräte (inklusive Router, Switche, Sicherheits- und Netzwerkappliances) antreibt, verwendet FreeBSD Juniper ist einer der vielen Hersteller, welcher das symbolische Verhältnis zwischen dem Projekt und dem Hersteller von kommerziellen Produkten darstellt. Verbesserungen, die Juniper entwickelt hat, werden ebenso in FreeBSD aufgenommen, um die Komplexität der Integration neuer Eigenschaften von FreeBSD zurück in zukünftige JunOS Versionen zu vereinfachen.

  • McAfee - SecurOS, die Basis von McAfee Enterprise-Firewallprodukten inkl. Sidewinder basiert auf FreeBSD.

  • NetApp - Die Data ONTAP GX Reihe von Speicherappliances basieren auf FreeBSD. Zusätzlich hat NetApp viele Neuheiten beigesteuert, inklusive des neuen BSD-lizensierten Hypervisors bhyve.

  • Netflix - Die OpenConnect-Appliance, die Netflix verwendet, um Filme zu seinen Kunden zu streamen basiert auf FreeBSD. Netflix hat weitreichende Beiträge zum Quellcode von FreeBSD beigetragen und arbeitet daran, ein möglichst geringes Delta zur normalen Version beizubehalten. Netflix OpenConnect-Appliances sind für mehr als 32% vom gesamten Internetverkehr in Nordamerika verantwortlich.

  • Sandvine - Sandvine nutzt FreeBSD as die Basis für deren Echtzeit Hochgeschwindigkeits-Netzwerkplattform, welche den Kern deren intelligenter Netzwerkpolicy-Kontrollprodukte darstellt.

  • Sony - Die PlayStation 4 Spielekonsole verwendet eine modifizierte Version von FreeBSD.

  • Sophos - Das Sophos Email-Appliance Produkt basiert auf einem abgesicherten FreeBSD und scannt eingehende E-Mail auf Spam und Viren, während es gleichzeitig ausgehende Mail auf Schadsoftware und versehentlichen Versand von vertraulichen Informationen überwacht.

  • Spectra Logic - Die nTier Reihe von archivspeicherfähigen Appliances nutzt FreeBSD und OpenZFS.

  • The Weather Channel - Die IntelliStar Appliance, welche am Kopfende eines jeden Kabelversorgers installiert ist und für das Einspeisen von lokalen Wettervorhersagen in das Kabelfernsehprogramm verantwortlich ist, läuft auf FreeBSD.

  • Verisign - Verisign ist für den Betrieb der .com und .net Root-Domainregistries genauso verantwortlich wie für die dazugehörige DNS-Infrastruktur. Sie verlassen sich auf einen Reihe von verschiedenen Netzwerkbetriebssystemen inklusive FreeBSD, um zu gewährleisten, dass es keine gemeinsame Fehlerstelle in deren Infrastruktur gibt.

  • Voxer - Voxer verwendet ZFS auf FreeBSD für ihre mobile Voice-Messaging-Platform. Voxer wechselte von einem Solaris-Derivat zu FreeBSD, wegen der ausgezeichneten Dokumentation und wegen der größeren, aktiveren und sehr Entwickler freundlichen Gemeinschaft. Neben entscheidenen Merkmalen wie ZFS und DTrace bietet FreeBSD auch TRIM-Unterstützung für ZFS.

  • WhatsApp - Als WhatsApp eine Plattform benötigte, die in der Lage ist, mehr als 1 Million gleichzeitiger TCP-Verbindungen pro Server abzuarbeiten, entschied man sich für FreeBSD. Anschließend fuhren Sie damit fort, auf 2,5 Millionen Verbindungen pro Server hochzuskalieren.

  • Wheel Systems - Die FUDO Sicherheitsappliance erlaubt es Unternehmen, Vertragspartner und Administratoren, die an ihren Systemen arbeiten durchführen, zu überwachen, zu kontrollieren, aufzuzeichnen und zu begutachten. Dies basiert auf all den besten Sicherheitseigenschaften von FreeBSD, inklusive ZFS, GELI, Capsicum, HAST und auditdistd.

FreeBSD hat ebenfalls eine Reihe von verwandten Open Source Projekten hervorgebracht:

  • BSD Router - Einen FreeBSD-basierten Ersatz für grosse Unternehmensrouter, der entwickelt wurde, um auf Standard PC-Hardware zu laufen.

  • FreeNAS - Ein eigens dafür entworfenes FreeBSD für den Zweck als Netzwerk-Dateiserver Appliance zu fungieren. Es enthält eine Python-basierte Webschnittstelle, um das Management von sowohl UFS- als auch ZFS-Systemen zu vereinfachen. Enthalten sind NFS, SMB/CIFS, AFP, FTP und iSCSI. Ebenfalls enthalten ist ein erweiterteres Plugin-System basierend auf FreeBSD-Jails.

  • GhostBSD - Eine auf den Desktop-Einsatz orientierte Distribution von FreeBSD, welche mit einer Gnome-Desktop-Umgebung ausgeliefert wird.

  • mfsBSD - Eine Sammlung von Werkzeugen zum Erstellen von FreeBSD-Systemimages, welches ausschliesslich im Hauptspeicher läuft.

  • NAS4Free - Eine Dateiserverdistribution basierend auf FreeBSD mit einer von PHP-getriebenen Webschnittstelle.

  • OPNSense - OPNSense ist eine quelloffene, einfach zu benutzende und auf FreeBSD basierende Firewall- und Router-Plattform. OPNSense enthält viele Funktionen die sonst nur in kommerziellen Firewalls enthalten sind und manchmal sogar mehr. Es kombiniert die vielfältigen Funktionen kommerzieller Angebote mit den Vorteilen von offenen und nachprüfbaren Quellen.

  • PC-BSD - Eine massgeschneiderte Version von FreeBSD, die sich an Desktop-Benutzern mit graphischen Oberflächenwerkzeugen orientiert, um die Mächtigkeit von FreeBSD allen Benutzern zur Verfügung zu stellen. Entwickelt wurde sie mit dem Ziel, den Übergang von Windows- und OS X-Benutzern zu erleichtern.

  • pfSense - Eine Firewalldistribution basierend auf FreeBSD mit eine grossen Menge von Fähigkeiten und ausgedehnter IPv6-Unterstützung.

  • ZRouter - Eine Open Source Firmware-Alternative für eingebettete Geräte, die auf FreeBSD basiert. Entwickelt wurde sie, um die proprietäre Firmware von Standard-Routern zu ersetzen.

FreeBSD wird auch dazu eingesetzt, um einige der grössten Webseiten des Internets zu betreiben. Dazu gehören:

und viele weitere. Wikipedia pflegt eine Liste von Produkten, die auf FreeBSD basieren.

1.3. Über das FreeBSD Projekt

Der folgende Abschnitt bietet einige Hintergrundinformationen zum FreeBSD Projekt, einschließlich einem kurzen geschichtlichen Abriss, den Projektzielen und dem Entwicklungsmodell.

1.3.1. Kurzer geschichtlicher Abriss zu FreeBSD

Das FreeBSD Projekt erblickte das Licht der Welt Anfang 1993 teils als Auswuchs des Unofficial 386BSD Patchkit unter der Regie der letzten drei Koordinatoren des Patchkits: Nate Williams, Rod Grimes und Jordan Hubbard.

Das ursprüngliche Ziel war es, einen zwischenzeitlichen Abzug von 386BSD zu erstellen, um ein paar Probleme zu beseitigen, die das Patchkit-Verfahren nicht lösen konnte. Der frühe Arbeitstitel für das Projekt war 386BSD 0.5 oder 386BSD Interim als Referenz darauf.

386BSD war das Betriebssystem von Bill Jolitz, welches bis zu diesem Zeitpunkt heftig unter fast einjähriger Vernachlässigung litt. Als das Patchkit mit jedem Tag anschwoll und unhandlicher wurde, entschied man sich, Bill Jolitz zu helfen, indem ein übergangsweise bereinigter Abzug zur Verfügung gestellt wurde. Diese Pläne wurden durchkreuzt, als Bill Jolitz plötzlich seine Zustimmung zu diesem Projekt zurückzog, ohne einen Hinweis darauf, was stattdessen geschehen sollte.

Das Trio entschied, dass das Ziel sich weiterhin lohnen würde, selbst ohne die Unterstützung von Bill und so wurde entschieden, den Namen FreeBSD zu verwenden, der von David Greenman geprägt wurde. Die anfänglichen Ziele wurden festgelegt, nachdem man sich mit den momentanen Benutzern des Systems besprach und abzusehen war, dass das Projekt die Chance hatte, Realität zu werden, kontaktierte Jordan Walnut Creek CDROM mit dem Vorhaben, FreeBSDs Verteilung auch auf diejenigen auszuweiten, die noch keinen Internetzugang besaßen. Walnut Creek CDROM unterstützte nicht nur die Idee durch die Verbreitung von FreeBSD auf CD, sondern ging auch so weit dass es dem Projekt eine Maschine mit schneller Internetverbindung zur Verfügung stellte, um damit zu arbeiten. Ohne den von Walnut Creek bisher nie dagewesenen Grad von Vertrauen in ein, zur damaligen Zeit, komplett unbekanntes Projekt, wäre es unwahrscheinlich, dass FreeBSD so weit gekommen wäre, wie es heute ist.

Die erste auf CD-ROM (und netzweit) verfügbare Veröffentlichung war FreeBSD 1.0 im Dezember 1993. Diese basierte auf dem Band der 4.3BSD-Lite (Net/2) der Universität von Kalifornien in Berkeley. Viele Teile stammten aus 386BSD und von der Free Software Foundation. Gemessen am ersten Angebot, war das ein ziemlicher Erfolg und Sie ließen dem das extrem erfolgreiche FreeBSD 1.1 im Mai 1994 folgen.

Zu dieser Zeit formierten sich unerwartete Gewitterwolken am Horizont, als Novell und die Universität von Kalifornien in Berkeley (UCB) ihren langen Rechtsstreit über den rechtlichen Status des Berkeley Net/2-Bandes mit einem Vergleich beilegten. Eine Bedingung dieser Einigung war es, dass die UCB große Teile des Net/2-Quellcodes als belastet zugestehen musste, und dass diese Besitz von Novell sind, welches den Code selbst einige Zeit vorher von AT&T bezogen hatte. Im Gegenzug bekam die UCB den Segen von Novell, dass sich das 4.4BSD-Lite-Release bei seiner endgültigen Veröffentlichung als unbelastet bezeichnen darf. Alle Net/2-Benutzer sollten auf das neue Release wechseln. Das betraf auch FreeBSD. Dem Projekt wurde eine Frist bis Ende Juli 1994 eingeräumt, das auf Net/2-basierende Produkt nicht mehr zu vertreiben. Unter den Bedingungen dieser Übereinkunft war es dem Projekt noch erlaubt ein letztes Release vor diesem festgesetzten Zeitpunkt herauszugeben. Das war FreeBSD 1.1.5.1.

FreeBSD machte sich dann an die beschwerliche Aufgabe, sich Stück für Stück aus einem neuen und ziemlich unvollständigen Satz von 4.4BSD-Lite-Teilen, wieder aufzubauen. Die Lite -Veröffentlichungen waren deswegen leicht, weil Berkeleys CSRG große Code-Teile, die für ein start- und lauffähiges System gebraucht wurden, aufgrund diverser rechtlicher Anforderungen entfernen musste und weil die 4.4-Portierung für Intel-Rechner extrem unvollständig war. Das Projekt hat bis November 1994 gebraucht diesen Übergang zu vollziehen. Im Dezember wurde dann FreeBSD 2.0 veröffentlicht. Obwohl FreeBSD gerade die ersten Hürden genommen hatte, war dieses Release ein maßgeblicher Erfolg. Diesem folgte im Juni 1995 das robustere und einfacher zu installierende FreeBSD 2.0.5.

Seit dieser Zeit hat FreeBSD eine Reihe von Releases veröffentlicht, die jedes mal die Stabilität, Geschwindigkeit und Menge an verfügbaren Eigenschaften der vorherigen Version verbessert.

Momentan werden langfristige Entwicklungsprojekte im 10.X-CURRENT (Trunk)-Zweig durchgeführt, und Abzüge (Snapshots) der Releases von 10.X werden regelmässig auf den Snapshot-Servern zur Verfügung gestellt.

1.3.2. Ziele des FreeBSD-Projekts

Beigetragen von Jordan Hubbard.

Das FreeBSD Projekt stellt Software her, die ohne Einschränkungen für beliebige Zwecke eingesetzt werden kann. Viele von uns haben beträchtlich in Quellcode und das Projekt investiert und hätten sicher nichts dagegen, hin und wieder ein wenig finanziellen Ausgleich dafür zu bekommen. Aber in keinem Fall bestehen wir darauf. Wir glauben unsere erste und wichtigste Mission ist es, Software für jeden Interessierten und zu jedem Zweck zur Verfügung zu stellen, damit die Software größtmögliche Verbreitung erlangt und größtmöglichen Nutzen stiftet. Das ist, glaube ich, eines der grundlegenden Ziele freier Software, welche wir mit größter Begeisterung unterstützen.

Der Code in unserem Quellbaum, der unter die General Public License (GPL) oder die Library General Public License (LGPL) fällt, stellt geringfügig mehr Bedingungen. Das aber vielmehr im Sinne von eingefordertem Zugriff, als das übliche Gegenteil der Beschränkungen. Aufgrund zusätzlicher Abhängigkeiten, die sich durch die Verwendung von GPL-Software bei kommerziellem Gebrauch ergeben, bevorzugen wir daher Software unter dem transparenteren BSD-Copyright, wo immer es angebracht ist.

1.3.3. Das FreeBSD-Entwicklungsmodell

Beigetragen von Satoshi Asami.

Die Entwicklung von FreeBSD ist ein offener und flexibler Prozess, der durch den Beitrag von buchstäblich tausenden Leuten rund um die Welt ermöglicht wird, wie an der Liste der Beitragenden ersehen können. Die vielen Entwickler können aufgrund der Entwicklungs-Infrastruktur von FreeBSD über das Internet zusammenarbeiten. Wir suchen ständig nach neuen Entwicklern, Ideen und jenen, die sich in das Projekt tiefer einbringen wollen. Nehmen Sie einfach auf der Mailingliste FreeBSD technical discussions Kontakt mit uns auf. Die Mailingliste FreeBSD announcements steht für wichtige Ankündigungen, die alle FreeBSD-Benutzer betreffen, zur Verfügung.

Unabhängig davon ob Sie alleine oder mit anderen eng zusammen arbeiten, enthält die folgende Aufstellung nützliche Informationen über das FreeBSD Projekt und dessen Entwicklungsabläufe.

Die SVN-Repositories

Der Hauptquellbaum von FreeBSD wurde über viele Jahre ausschließlich mit CVS (Concurrent-Versions-System) gepflegt, einem frei erhältlichen Versionskontrollsystem. Im Juni 2008 begann das FreeBSD Project mit dem Umstieg auf SVN (Subversion). Dieser Schritt wurde notwendig, weil durch technische Einschränkungen von CVS aufgrund des rapide wachsenden Quellcodebaumes und dem Umfang der bereits gespeichterten Revisisionsinformationen an dessen Grenzen zu stoßen begann. Die Repositories des Dokumentationsprojekts und die Ports-Sammlung wurden ebenfalls von CVS zu SVN im Mai und Juli 2012 umgezogen. Lesen Sie dazu Synchronisation der Quellen für weitere Informationen zum Beziehen der FreeBSD src/ Repository und Die Ports-Sammlung verwenden für Details zum Beziehen der FreeBSD Ports-Sammlung.

Die Committer-Liste

Die Committer sind diejenigen Leute, welche schreibenden Zugriff auf den Subversion-Baum besitzen und berechtigt sind, Änderungen an den FreeBSD-Quellen (der Begriff Committer stammt aus dem Versionskontrollbefehl commit , der dazu verwendet wird, Änderungen in das Repository zu bringen). Jeder hat die Möglichkeit über die die Datenbank für Problemberichte einen Fehlerreport einzureichen. Bevor Sie einen Fehlerreport einreichen, sollten Sie auf den FreeBSD Mailinglisten, den IRC-Kanälen oder in Foren überprüfen, ob das Problem tatsächlich ein Fehler ist.

The FreeBSD core team

Die FreeBSD core team ist mit dem Vorstand vergleichbar, wenn das FreeBSD Projekt ein Unternehmen wäre. Die Hauptaufgabe des Core Teams ist es sicherzustellen, dass sich das Projekt als Ganzes in einem guten Zustand befindet und sich in die richtige Richtung bewegt. Das Einladen von engagierten und verantwortungsvollen Entwicklern zu dem Zweck, sich der Gruppe von Committern anzuschliessen, ist eine der Funktionen des Core Teams, genauso wie neue Mitglieder des Core Teams zu rekrutieren, wenn andere ausscheiden. Das aktuelle Core Team wurde aus einer Menge von Kandidaten aus dem Kreis der Committer im Juli 2014 gewählt. Wahlen werden alle zwei Jahre abgehalten.

Anmerkung:

Wie die meisten Entwickler auch, sind die Mitglieder des Core Teams Freiwillige, wenn es um die Entwicklung von FreeBSD geht und erhalten keinerlei finanziellen Vorteil aus dem Projekt, deshalb sollte Verpflichtung nicht fehlverstanden werden mit garantierter Unterstützung. Die Vorstands-Analogie oben ist nicht sehr akkurat und kann vielleicht besser damit umschrieben werden, dass diese Leute ihr Leben für FreeBSD gegen jedwede Vernunft geopfert haben.

Aussenstehende Beitragende

Schliesslich stellt die grösste, aber nichtsdestotrotz wichtigste Gruppe von Entwicklern die der Benutzer selbst dar, die stetig Rückmeldungen und Fehlerbehebungen liefert. Der hauptsächliche Weg mit FreeBSDs nicht-zentralisierter Entwicklung Kontakt zu halten, ist, die FreeBSD technical discussions Mailingliste zu abonnieren, auf der solche Dinge diskutiert werden. Lesen Sie dazu Anhang C, Ressourcen im Internet für weitere Informationen über die verschiedenen FreeBSD-Mailinglisten.

Liste der Beitragenden ist eine, die lang ist und stetig wächst, also warum nicht FreeBSD beitreten und noch heute etwas zurückgeben?

Code ist nicht die einzige Art, zu dem Projekt etwas beizutragen. Für eine ausführlichere Liste von Dingen die getan werden müssen, lesen Sie auf der FreeBSD Projektwebseite.

Zusammenfassend ist unser Entwicklungsmodell als eine lose Menge von konzentrischen Kreisen organisiert. Das zentralisierte Modell ist mit der Praktikabilität der Anwender von FreeBSD entworfen worden, die mit der einfachen Art einhergeht, eine zentrale Basis für den Code zu haben und keine potentiellen Beiträge auszuschliessen! Unser Ansporn ist es, ein stabiles Betriebssystem mit einer grossen Menge von kohärenten Anwendungsprogrammen, welches die Benutzer einfach installieren und verwenden können - dieses Modell funktioniert darin sehr gut, dieses Ziel zu erreichen.

Alles was wir von denen verlangen, die uns als FreeBSD-Entwickler beitreten ist, etwas von der gleichen Hingabe an den Erfolg, die seine momentanen Gemeinschaft inne hat, zu besitzen.

1.3.4. Programme von Drittherstellern

Zusätzlich zur Basisdistribution bietet FreeBSD eine Sammlung von portierter Software mit tausenden der am meisten nachgefragten Programme an. Als diese Zeilen geschrieben wurden, gab es über 24,000 Ports! Die Liste der Ports reicht von HTTP-Servern, zu Spielen, Sprachen, Editoren und so ziemlich alles, was dazwischen liegt. Die gesamte Port-Sammlung ist geschätzt 500 MB gross. Um einen Port zu übersetzen, wechseln Sie einfach in das Verzeichnis des Programms, das sie installieren möchten und geben make install ein und das System erledigt den Rest. Die gesamte Originaldistribution für jeden Port, den Sie bauen wird dynamisch heruntergeladen, so dass sie nur genügend Plattenplatz zum bauen des Ports, den sie haben möchten, zur Verfügung stellen müssen. Fast jeder Port ist auch als vorkompiliertesPaket, das über das folgende einfache Kommando (pkg install) für diejenigen, die keine kompilierten Port aus den Quellen wünschen. Weitere Informationen zu Ports und Paketen finden Sie in Kapitel 5, Installieren von Anwendungen: Pakete und Ports.

1.3.5. Zusätzliche Dokumentation

Alle momentanen FreeBSD Versionen bieten eine Option im Installer (entweder sysinstall(8) oder bsdinstall(8)), um zusätzliche Dokumentation unter /usr/local/share/doc/freebsd während des initialen Systemsetups zu installieren. Dokumentation kann auch zu einem späteren Zeitpunkt über Pakete installiert werden, wie es Abschnitt 24.3.6.2, „Verwendung von Dokumentations-Paketen“ beschreibt. Sie können ebenso die lokal installierten Anleitungen mit jedem HTML-fähigen Browser lesen, indem Sie die folgende URL verwenden:

Genauso erhalten Sie auch die Master (und am häufigsten aktualisierten) Kopien von http://www.FreeBSD.org/.

Kapitel 2. FreeBSD 8.X (und älter) installieren

Überarbeitet und teilweise neu geschrieben von Jim Mock.
Der Gang durch sysinstall und alle Bildschirmabzüge von Randy Pratt.
Übersetzt von Martin Heinen und Johann Kois.

2.1. Übersicht

FreeBSD wird mit dem textorientierten und einfach zu benutzendem Installationsprogramm installiert. Beginnend mit FreeBSD 9.0-RELEASE handelt es sich dabei um das Programm bsdinstall. Ältere FreeBSD-Versionen verwenden hingegen nach wie vor sysinstall für die Installation. Dieses Kapitel beschreibt die Installation von FreeBSD über sysinstall. Der Einsatz von bsdinstall wird hingegen in Kapitel 3, FreeBSD 9.X (und neuer) installieren besprochen.

Dieses Kapitel behandelt folgende Punkte:

  • Das Erzeugen von FreeBSD-Startdisketten.

  • Wie FreeBSD Platten anspricht und aufteilt.

  • Wie sysinstall ausgeführt wird.

  • Die Menüs von sysinstall und die erforderlichen Eingaben in den Menüs.

Bevor Sie dieses Kapitel lesen, sollten Sie

  • Die Hardware-Notes der FreeBSD-Release, die Sie installieren wollen, lesen und sicherstellen, dass Ihre Hardware unterstützt wird.

Anmerkung:

Diese Installationsanleitung gilt für Rechner mit i386™-Architektur (PC-kompatible Rechner). Abweichende Anweisungen für andere Plattformen werden, falls notwendig, gegeben. Obwohl diese Anleitung so aktuell wie möglich ist, kann das Installationsverfahren von dem hier gezeigten geringfügig abweichen. Legen Sie bitte daher diese Anleitung nicht wortwörtlich aus, sondern lassen Sie sich von diesem Kapitel durch den Installationsprozess leiten.

2.2. Hardware-Anforderungen

2.2.1. Minimalkonfiguration

Die zur Installation von FreeBSD erforderliche Minimalkonfiguration hängt von der zu installierenden FreeBSD-Version sowie von der Hardware-Architektur ab.

Informationen zur jeweiligen Minimalkonfiguration finden Sie in den folgenden Abschnitten dieses Kapitels. Je nachdem, wie Sie FreeBSD installieren, benötigen Sie eventuell auch ein Diskettenlaufwerk, ein unterstütztes CD-ROM-Laufwerk, oder auch eine Netzwerkkarte. Abschnitt 2.3.7, „Das Startmedium vorbereiten“ des Handbuchs enthält weitere Informationen zu den verschiedenen Installationsarten.

2.2.1.1. Die FreeBSD/i386- und FreeBSD/pc98-Architekturen

Sowohl FreeBSD/i386 als auch FreeBSD/pc98 benötigen jeweils mindestens einen 486-Prozessor sowie mindestens 24 MB RAM. Außerdem benötigen Sie für eine Minimalinstallation mindestens 150 MB freien Platz auf Ihrer Festplatte.

Anmerkung:

In den meisten derartigen Konfigurationen ist es besser, für mehr RAM und mehr Plattenplatz zu sorgen, statt einen schnelleren Prozessor einzubauen.

2.2.1.2. Die FreeBSD/amd64-Architektur

Es gibt zwei Klassen von Prozessoren, auf denen Sie FreeBSD/amd64 ausführen können. Die erste Klasse bilden die AMD64-Prozessoren (zu denen AMD Athlon 64-, AMD Athlon 64-FX-, oder AMD Opteron-Prozessoren gehören).

Die zweite Klasse von Prozessoren, auf denen Sie diese FreeBSD/amd64 einsetzen können, ist die Intel® EM64T-Architektur. Prozessoren dieser Klasse sind beispielsweise Intel® Core™ 2 Duo-, Quad-, und Extreme-Prozessoren sowie die Intel® Xeon™-Prozessorreihen 3000, 5000, und 7000.

Wenn Sie einen auf dem Chipsatz nVidia nForce3 Pro-150 basierenden Rechner haben, müssen Sie im BIOS das IO-APIC deaktivieren. Erlaubt ihr BIOS dies nicht, müssen Sie stattdessen ACPI deaktivieren. Der Grund dafür sind Fehler im Pro-150-Chipsatz, die bis jetzt nicht behoben werden konnten.

2.2.1.3. Die FreeBSD/sparc64-Architektur

Um FreeBSD/sparc64 zu installieren, benötigen Sie eine unterstützte Plattform (lesen Sie dazu auch Abschnitt 2.2.2, „Unterstützte Hardware“ des Handbuchs).

Sie benötigen außerdem eine seperate Festplatte, wenn Sie FreeBSD/sparc64 installieren wollen, da es derzeit leider noch nicht möglich ist, die Platte mit einem weiteren Betriebssystem zu teilen.

2.2.2. Unterstützte Hardware

Die Hardware-Notes, die mit jedem FreeBSD-Release ausgeliefert werden, enthalten eine Liste lauffähiger Hardware. Die Hardware-Notes befinden sich üblicherweise in der Datei HARDWARE.TXT im Wurzelverzeichnis der Distribution (CD-ROM oder FTP). Sie können die Hardware-Notes außerdem im Dokumentationsmenü von sysinstall oder auf der Webseite Release Information lesen.

2.3. Vor der Installation

2.3.1. Erstellen Sie eine Geräteliste

Bevor Sie FreeBSD installieren, erfassen Sie die Komponenten Ihres Rechners. Die FreeBSD-Installation wird die Komponenten (Festplatten, Netzwerkkarten, CD-ROM-Laufwerke) zusammen mit der Modellbezeichnung und des Herstellers anzeigen. FreeBSD wird auch versuchen, die richtige Konfiguration der Geräte zu ermitteln. Dazu gehören die benutzten Interrupts (IRQ) und IO-Ports. Wegen der Unwägbarkeiten von PC-Hardware kann die Konfiguration der Geräte allerdings fehlschlagen. In diesem Fall müssen Sie die von FreeBSD ermittelte Konfiguration korrigieren.

Wenn Sie schon ein anderes Betriebssystem, wie Windows® oder Linux installiert haben, können Sie die Hardware-Konfiguration mit den Mitteln dieses Betriebssystems bestimmen. Wenn Sie nicht sicher sind, welche Einstellungen eine Erweiterungskarte besitzt, sehen Sie auf der Karte selbst nach. Manchmal sind die Einstellungen dort aufgedruckt. Gebräuchliche IRQs sind 3, 5 und 7. Die Adressen von IO-Ports werden normalerweise hexadezimal, zum Beispiel 0x330, angegeben.

Halten Sie die Gerätekonfiguration vor der Installation in einer Tabelle wie der nachstehenden fest:

Tabelle 2.1. Gerätekonfiguration
GerätIRQIO-PortsAnmerkung
erste Festplatte--40 GB, Seagate, erster IDE-Master
CD-ROM--erster IDE-Slave
zweite Festplatte--20 GB, IBM, zweiter IDE-Master
erster IDE-Controller140x1f0 
Netzwerkkarte--Intel® 10/100
Modem--3Com® 56K Faxmodem, an COM1
   

Nachdem Sie wissen, über welche Hardware Ihr Rechner verfügt, müssen Sie diese Informationen mit den Hardwareanforderungen der zu installierenden FreeBSD-Version abgleichen.

2.3.2. Sichern Sie Ihre Daten

Wenn der Rechner, auf dem Sie FreeBSD installieren wollen, wichtige Daten enthält, sichern Sie bitte diese Daten. Prüfen Sie auch, dass Sie die Daten aus der Sicherung wiederherstellen können, bevor Sie FreeBSD installieren. Die FreeBSD-Installation fragt zwar nach, bevor Sie Daten auf Ihre Festplatte schreibt, Ihre Daten sind allerdings unwiderruflich verloren, wenn der Installationsvorgang einmal angelaufen ist.

2.3.3. Den Installationsort von FreeBSD festlegen

Wenn Sie die gesamte Festplatte für FreeBSD verwenden wollen, müssen Sie sich an dieser Stelle keine weiteren Gedanken machen – lesen Sie bitte im nächsten Abschnitt weiter.

Wenn Sie allerdings FreeBSD neben anderen Betriebssystemen betreiben wollen, müssen Sie wissen, wie Daten auf einer Festplatte abgelegt werden und welche Auswirkungen dies hat.

2.3.3.1. Platteneinteilung von FreeBSD/i386-Systemen

Eine PC-Festplatte wird in einzelne Bereiche unterteilt, die Partitionen heißen. FreeBSD verwendet intern ebenfalls Partitionen. Um Verwechslungen und Unklarheiten zu vermeiden, werden diese Plattenbereiche unter FreeBSD als Slices bezeichnet. So verwendet beispielsweise das Werkzeug fdisk den Begriff Slices, um sich auf PC-Partitionen zu beziehen. Auf einer PC-Festplatte können maximal vier Partitionen, die primäre Partitionen genannt werden, angelegt werden. Eine erweiterte Partition hebt diese Beschränkung auf. Eine Festplatte kann nur eine erweiterte Partition enthalten, die wiederum weitere so genannte logische Partitionen enthalten kann.

Jede Partition besitzt eine Partitions-ID – eine Zahl, die den Typ der Partition festlegt. FreeBSD-Partitionen tragen die Partitions-ID 165.

Üblicherweise kennzeichnen Betriebssysteme Partitionen in einer besonderen Art und Weise. Beispielsweise werden jeder primären und logischen Partition unter MS-DOS® und dem verwandten Windows® Laufwerksbuchstaben beginnend mit C: zugewiesen.

FreeBSD muss auf einer primären Partition installiert werden. In dieser Partition hält FreeBSD alle Daten einschließlich der Dateien, die Sie anlegen. Verfügt das System über mehrere Festplatten, können Sie auf allen oder einigen Platten eine FreeBSD-Partition einrichten. Zur Installation von FreeBSD benötigen Sie eine freie Partition: Dies kann eine extra für die Installation eingerichtete Partition sein oder eine existierende Partition, die nicht mehr benötigte Daten enthält.

Wenn auf allen Platten bereits sämtliche Partitionen benutzt werden, müssen Sie eine der Partitionen für FreeBSD frei machen. Benutzen Sie dazu die Werkzeuge des eingesetzten Betriebssystems (fdisk unter MS-DOS® oder Windows®).

Verfügt das System über eine freie Partition, benutzen Sie diese Partition. Es kann allerdings sein, dass Sie eine oder mehrere der vorhandenen Partitionen vorher verkleinern müssen.

Eine minimale FreeBSD-Installation benötigt nur 100 MB Plattenplatz. Diese Installation ist allerdings sehr begrenzt und lässt wenig Platz für Ihre eigenen Dateien. Realistischer sind 250 MB für FreeBSD ohne graphische Benutzeroberfläche und 350 MB für FreeBSD mit einer graphischen Benutzeroberfläche. Sie benötigen weiteren Platz für die Installation zusätzlicher Software.

Um die Partitionen zu verkleinern, können Sie beispielsweise das kommerzielle PartitionMagic® oder das freie GParted benutzen. Sowohl GParted als auch PartitionMagic® können auch NTFS-Partitionen verändern. GParted ist auf vielen Linux-Live-CDs, beispielsweise der SystemRescueCD, verfügbar.

Bei der Veränderung von Microsoft® Vista-Partionen kommt es manchmal zu Problemen. In einem solchen Fall ist es von Vorteil, wenn Sie eine Vista-Installations-CD zur Verfügung haben. Wie bei jeder Änderung an Ihrer Festplatte sollten Sie auch hier zuerst ein aktuelles Backup anlegen.

Warnung:

Der falsche Gebrauch dieser Werkzeuge kann Daten auf der Festplatte löschen. Vor dem Einsatz dieser Werkzeuge stellen Sie bitte sicher, dass Sie frische, funktionierende Datensicherungen besitzen.

Beispiel 2.1. Eine bestehende Partition verwenden

Nehmen wir an, Sie haben einen Rechner mit einer 4 GB Festplatte, auf der schon eine Version von Windows® installiert ist. Weiterhin haben Sie die Platte in zwei Laufwerke C: und D: unterteilt, die jeweils 2 GB groß sind. Auf C: wird 1 GB benutzt und 0,5 GB von Laufwerk D: werden benutzt.

Sie haben also eine Festplatte mit zwei Partitionen und könnten alle Daten von Laufwerk D: auf das Laufwerk C: kopieren. Damit wäre die zweite Partition für FreeBSD frei.


Beispiel 2.2. Eine bestehende Partition verkleinern

Nehmen wir an, Sie haben einen Rechner mit einer 4 GB Festplatte auf der schon eine Version von Windows® installiert ist. Während der Installation von Windows® haben sie eine große Partition C: angelegt, die 4 GB groß ist. Von den 4 GB werden 1,5 GB benutzt und Sie wollen 2 GB für FreeBSD verwenden.

Sie haben zwei Möglichkeiten, FreeBSD zu installieren:

  1. Sichern Sie die Daten der Windows®-Partition und installieren Sie Windows® erneut auf einer 2 GB großen Partition.

  2. Verkleinern Sie die Windows®-Partition mit einem der oben aufgeführten Werkzeuge.


2.3.4. Netzwerkparameter ermitteln

Wird während der Installation ein Netzwerk benötigt (weil Sie über FTP oder von einem NFS-Server installieren wollen), müssen Sie die Konfiguration des Netzwerks kennen. Während der Installation werden Netzwerkparameter abgefragt, damit sich FreeBSD mit dem Netzwerk verbinden und die Installation abschließen kann.

2.3.4.1. Verbindung über Ethernet oder ein Kabel/DSL-Modem

Wenn Sie sich mit einem Ethernet verbinden oder eine Internet-Verbindung mit einem Ethernet-Adapter über Kabel oder DSL herstellen, benötigen Sie die nachstehenden Daten:

  1. IP-Adresse

  2. IP-Adresse des Default-Gateways

  3. Hostname

  4. IP-Adressen der DNS-Server

  5. Subnetzmaske

Wenn Sie die Daten nicht besitzen, fragen Sie bitte Ihren Systemadministrator oder Ihren Service-Provider. Können die Daten über DHCP bezogen werden, merken Sie sich diese Tatsache.

2.3.4.2. Verbindung über ein Modem

Auch wenn Sie sich mit einem normalen Modem bei einem ISP einwählen, können Sie FreeBSD aus dem Internet installieren. Die Installation über ein Modem dauert nur sehr lange.

Sie benötigen die nachstehenden Daten:

  1. Die Telefonnummer des ISPs.

  2. Die COM-Schnittstelle, an der das Modem angeschlossen ist.

  3. Den Benutzernamen und das Passwort für Ihr Konto.

2.3.5. Lesen Sie die FreeBSD-Errata

Auch wenn das FreeBSD-Project bemüht ist, ein Release so stabil wie möglich herzustellen, treten ab und an Fehler auf. In seltenen Fällen betrifft ein Fehler die Installations-Prozedur. Die Fehler und deren Behebungen werden in den FreeBSD-Errata festgehalten. Lesen Sie bitte die Errata, bevor Sie FreeBSD installieren, damit Sie nicht in frisch entdeckte Probleme laufen.

Dokumentation zu jedem Release, inklusive der Errata zu jedem Release, finden Sie im Release-Bereich des FreeBSD Webauftritts.

2.3.6. Die Installationsdateien beschaffen

FreeBSD kann von Dateien aus irgendeiner der nachstehenden Quellen installiert werden:

Lokale Medien
  • von einer CD-ROM oder einer DVD

  • von einem USB-Stick

  • von einer MS-DOS®-Partition auf demselben Rechner

  • von einem SCSI- oder QIC-Bandlaufwerk

  • von Disketten

Netzwerk
  • von einem FTP-Server, wenn erforderlich auch durch eine Firewall oder durch einen HTTP-Proxy

  • von einem NFS-Server

  • über eine feste serielle oder eine feste parallele Verbindung

Wenn Sie eine FreeBSD-CD oder FreeBSD-DVD gekauft haben, besitzen Sie schon alles, was Sie zur Installation benötigen. Lesen Sie bitte im nächsten Abschnitt (Abschnitt 2.3.7, „Das Startmedium vorbereiten“) weiter.

Wenn Sie sich die FreeBSD-Installationsdateien noch nicht besorgt haben, lesen Sie bitte zuerst den Abschnitt 2.13, „Eigene Installationsmedien herstellen“. Dort werden die notwendigen Vorbereitungen für eine Installation von den eben genannten Medien beschrieben. Wenn Sie den Abschnitt durchgearbeitet haben, lesen Sie bitte in Abschnitt 2.3.7, „Das Startmedium vorbereiten“ weiter.

2.3.7. Das Startmedium vorbereiten

Um FreeBSD zu installieren, müssen Sie Ihren Rechner mit einem speziellen Startmedium hochfahren, das die Installationsroutine startet. Sie können das Installationsprogramm nicht unter einem anderen Betriebssystem ausführen. Ein Rechner startet normalerweise das auf der Festplatte installierte Betriebssystem, er kann aber auch von Disketten gestartet werden. Aktuelle Rechner können in der Regel auch von einer CD-ROM oder von einem USB-Stick starten.

Tipp:

Wenn Sie eine FreeBSD CD-ROM oder DVD besitzen (gekauft oder selbst erstellt) und Ihr Rechner von CD-ROM oder DVD starten kann (üblicherweise können Sie das mit der BIOS-Option Boot Order einstellen), können Sie diesen Abschnitt überspringen. Eine FreeBSD CD-ROM oder DVD lässt sich direkt starten; Sie können damit FreeBSD ohne weitere Vorbereitungen installieren.

Um einen bootbaren USB-Stick zu erstellen, gehen Sie wie folgt vor:

  1. Das Speicherabbild für den USB-Stick herunterladen

    Das Speicherabbild finden Sie auf dem FreeBSD-FTP-Server ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/arch/ISO-IMAGES/version/FreeBSD-version-RELEASE-arch-memstick.img (oder einem Spiegelserver) im Verzeichnis ISO-IMAGES/. Ersetzen Sie arch und version durch die von Ihnen verwendete Architektur und die FreeBSD-Version, die Sie einsetzen wollen. Für FreeBSD/i386 10.3-RELEASE finden Sie das Speicherabbild für den USB-Stick beispielsweise unter folgenden Link: ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/ISO-IMAGES/10.3/FreeBSD-10.3-RELEASE-i386-memstick.img.

    Das benötigte Speicherabbild hat den Dateityp .img. Das Verzeichnis ISO-IMAGES/ enthält verschiedene Speicherabbilder. Sie müssen also (basierend auf der zu installierenden FreeBSD-Version und/oder Ihrer Hardware) das für Sie passende Speicherabbild herunterladen.

    Wichtig:

    Sichern Sie Ihre Daten, bevor Sie fortfahren, da im nächsten Schritt alle auf dem USB-Stick befindlichen Daten gelöscht werden.

  2. Den USB-Stick vorbereiten

    Prozedur 2.1. Den USB-Stick unter FreeBSD vorbereiten

    Warnung:

    Das Beispiel im nächsten Schritt verwendet /dev/da0 als die Gerätedatei, über die Sie den USB-Stick ansprechen. Achten Sie besonders darauf, dass Sie die richtige Gerätedatei verwenden, da Sie ansonsten unbeabsichtigt Daten löschen könnten.

    • Das Image mit dd(1) auf den Stick schreiben

      Bei der .img-Datei handelt es sich nicht um eine normale Datei, die Sie einfach auf den Stick kopieren können. Vielmehr handelt es sich dabei um ein Image des kompletten Dateisystems, das Sie mit dd(1) direkt auf den USB-Stick schreiben müssen:

      # dd if=FreeBSD-10.3-RELEASE-i386-memstick.img of=/dev/da0 bs=64k

      Wird dabei die Fehlermeldung Operation not permitted angezeigt, stellen Sie bitte sicher, dass das Zielgerät nicht verwendet, manuell eingehängt oder von einem Systemprogramm automatisch eingehängt wurde. Dann versuchen Sie es erneut.

    Prozedur 2.2. Den USB-Stick unter Windows® vorbereiten

    Warnung:

    Stellen Sie unbedingt sicher, dass Sie im folgenden Schritt den korrekten Laufwerkbuchstaben für Ihren USB-Stick angeben, da Sie ansonsten unbeabsichtigt Daten löschen könnten.

    1. Image Writer für Windows herunterladen

      Image Writer für Windows ist ein frei verfügbares Programm, mit dem Sie ein Image auf einen USB-Stick schreiben können. Laden Sie das Programm von https://launchpad.net/win32-image-writer/ herunter und entpacken Sie es in einen Ordner auf Ihrer Festplatte.

    2. Das Image mit Image Writer auf den Stick schreiben

      Klicken Sie doppelt auf das Symbol Win32DiskImager, um das Programm zu starten. Vergewissern Sie sich, dass es sich bei dem unter Device angezeigten Laufwerk um Ihren USB-Stick handelt. Danach klicken Sie auf das Ordnersymbol und wählen die zuvor heruntergeladene Image-Datei aus. Klicken Sie auf Save, um die Image-Datei zu laden. Nachdem Sie alle Eingaben nochmals geprüft haben, müssen Sie noch sicherstellen, dass kein anderes Programm auf den USB-Stick zugreift. Danach klicken Sie auf den Button Write, um das Image auf den USB-Stick zu schreiben.

Um Startdisketten zu erzeugen, benutzen Sie die nachstehende Anleitung:

  1. Abbilder der Startdisketten besorgen

    Wichtig:

    Beachten Sie, dass ab FreeBSD 8.X Startdisketten nicht mehr unterstützt werden. Lesen Sie bitte weiter oben in diesem Kapitel, wie Sie FreeBSD von einer CD-ROM, einer DVD oder einem USB-Stick installieren können.

    Die Abbilder der Startdisketten befinden sich auf dem Installationsmedium im Verzeichnis floppies/; sie können auch aus dem Internet heruntergeladen werden: ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/arch/version-RELEASE/floppies/. Ersetzen Sie arch und version durch die passende Architektur und die passende Version. Beispielsweise stehen die Startdisketten von FreeBSD/i386 9.3-RELEASE unter ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/9.3-RELEASE/floppies/.

    Die Abbilder besitzen die Dateinamenerweiterung .flp. Im Verzeichnis floppies/ befinden sich verschiedene Abbilder; welches Sie benutzen, hängt von der zu installierenden FreeBSD-Version und in einigen Fällen vom Zielrechner ab. In den meisten Fällen werden Sie vier Disketten benötigen: boot.flp, kern1.flp, kern2.flp sowie kern3.flp. Lesen Sie bitte die Datei README.TXT im Verzeichnis floppies/, sie enthält aktuelle Informationen zu den Abbildern.

    Wichtig:

    Wenn Sie die Abbilder aus dem Internet herunterladen, benutzen Sie bitte den Binärmodus des FTP-Programms. Einige Web-Browser verwenden den Textmodus (oder ASCII-Modus), was dazu führt, dass sich die erstellten Disketten nicht starten lassen.

  2. Die Disketten vorbereiten

    Pro Abbild benötigen Sie eine Diskette. Es ist wichtig, dass die verwendeten Disketten fehlerfrei sind. Sie können dies sicherstellen, indem Sie die Disketten selbst formatieren, verlassen Sie sich bitte nicht auf vorformatierte Disketten. Das Formatierprogramm von Windows® zeigt fehlerhafte Blöcke nicht an, es markiert die Blöcke einfach als fehlerhaft und ignoriert sie dann. Benutzen Sie neue Disketten, wenn Sie diese Installationsart verwenden.

    Wichtig:

    Wenn Sie FreeBSD installieren und das Installationsprogramm abstürzt, einfriert oder sich merkwürdig verhält, sind oft fehlerbehaftete Disketten die Ursache. Schreiben Sie die Abbilder auf neue Disketten und versuchen Sie, noch mal zu installieren.

  3. Die Abbilder auf Disketten schreiben

    Die .flp-Dateien sind keine normalen Dateien, die Sie auf eine Diskette kopieren. Sie können die Abbilder nicht von einem Laufwerk auf ein anderes Laufwerk kopieren. Die Abbilder werden mit einem speziellen Werkzeug direkt auf die Diskette geschrieben.

    Wenn Sie die Startdisketten unter MS-DOS® oder Windows® erstellen, können Sie das mitgelieferte Werkzeug fdimage verwenden.

    Wenn Sie die Abbilder auf der CD-ROM verwenden und das CD-ROM-Laufwerk den Laufwerksbuchstaben E: besitzt, führen Sie den nachstehenden Befehl aus:

    E:\> tools\fdimage floppies\boot.flp A:

    Führen Sie das Kommando für jede .flp-Datei aus. Wechseln Sie bitte jedes Mal die Diskette und beschriften Sie die Diskette mit dem Namen der kopierten Datei. Falls Sie die Abbilder an anderer Stelle liegen haben, passen Sie bitte die Kommandozeile an. Wenn Sie keine CD-ROM besitzen, können Sie fdimage aus dem Verzeichnis tools des FreeBSD-FTP-Servers herunterladen.

    Wenn Sie Startdisketten auf einem UNIX® System (zum Beispiel einem anderen FreeBSD System) erstellen, schreiben Sie die Abbilder mit dem Befehl dd(1) direkt auf die Disketten. Auf einem FreeBSD-System lautet die Kommandozeile:

    # dd if=boot.flp of=/dev/fd0

    Unter FreeBSD spricht /dev/fd0 das erste Diskettenlaufwerk an (das Laufwerk A:), /dev/fd1 spricht das Laufwerk B: an. Andere UNIX® Varianten verwenden unter Umständen andere Gerätenamen, die in der Dokumentation des jeweiligen Systems beschrieben sind.

Nun ist alles für die FreeBSD-Installation vorbereitet.

2.4. Die Installation starten

Wichtig:

Die Installationsprozedur lässt die Daten auf Ihren Laufwerken solange unverändert bis die nachstehende Meldung erscheint:

Last Chance: Are you SURE you want continue the installation?

If you're running this on a disk with data you wish to save then WE
STRONGLY ENCOURAGE YOU TO MAKE PROPER BACKUPS before proceeding!

We can take no responsibility for lost disk contents!

Vor dieser Meldung kann die Installationsprozedur jederzeit abgebrochen werden, ohne die Daten auf der Festplatte zu verändern. Wenn Sie meinen, etwas falsch konfiguriert zu haben, können Sie vor diesem Zeitpunkt einfach den Rechner ausschalten.

2.4.1. Der Systemstart

2.4.1.1. Systemstart von i386™-Systemen

  1. Schalten Sie zunächst Ihren Rechner aus.

  2. Schalten Sie den Rechner ein. Während des Starts sollte angezeigt werden, wie Sie das Systemeinstellungsmenü (oder BIOS) erreichen. Meist drücken Sie dazu die Tasten F2, F10, Del oder Alt+S. Benutzen Sie die angezeigte Tastenkombination. Viele Rechner zeigen beim Systemstart eine Grafik an. Typischerweise können Sie die Grafik mit der Taste Esc entfernen und so die angezeigten Meldungen lesen.

  3. Suchen Sie Option, die einstellt von welchem Gerät der Rechner startet. Normalerweise wird die Option Boot Order genannt und zeigt eine Geräteliste, beispielsweise Floppy, CD-ROM, First Hard Disk an.

    Wenn Sie von einer CD-ROM starten, stellen Sie sicher, das das CD-ROM-Laufwerk ausgewählt ist. Starten Sie hingegen von einem USB-Stick oder von einer Startdiskette, wählen Sie ebenfalls den entsprechenden Eintrag aus. Wenn Sie nicht sicher sind, lesen Sie bitte im Handbuch des Rechners oder im Handbuch der Systemplatine nach.

    Stellen Sie das gewünschte Startmedium ein und sichern Sie die Einstellungen. Der Rechner sollte dann neu starten.

  4. Wenn Sie (wie in Abschnitt 2.3.7, „Das Startmedium vorbereiten“ beschrieben) ein bootbaren USB-Stick vorbereitet haben, stöpseln Sie diesen bitte ein, bevor Sie Ihren Rechner einschalten.

    Wenn Sie den Rechner von einer CD-ROM starten, legen Sie die CD-ROM so früh wie möglich in das Laufwerk ein.

    Anmerkung:

    Bis einschließlich FreeBSD 7.3 kann FreeBSD auch von einer Startdiskette aus installiert werden. Eine Anleitung hierzu finden Sie in Abschnitt 2.3.7, „Das Startmedium vorbereiten“). Legen Sie die erste Diskette (diese enthält das Abbild boot.flp) in das Diskettenlaufwerk ein und starten Sie den Rechner.

    Wenn Ihr Rechner wieder normal startet und das existierende Betriebssystem lädt, kann das folgende Ursachen haben:

    1. Das Startmedium (Diskette, CD-ROM) ist nicht schnell genug eingelegt worden. Belassen Sie das Startmedium im Laufwerk und starten Sie Ihren Rechner neu.

    2. Die BIOS-Einstellungen sind falsch vorgenommen worden. Wiederholen Sie diesen Schritt, bis Sie die richtige Einstellung gefunden haben.

    3. Das verwendete BIOS kann nicht von dem gewünschten Medium starten.

  5. FreeBSD startet jetzt. Wenn Sie von einer CD-ROM starten, sehen Sie die folgenden Meldungen (Versionsangaben entfernt):

    Booting from CD-Rom...
    645MB medium detected
    CD Loader 1.2
    
    Building the boot loader arguments
    Looking up /BOOT/LOADER... Found
    Relocating the loader and the BTX
    Starting the BTX loader
    
    BTX loader 1.00 BTX version is 1.02
    Consoles: internal video/keyboard
    BIOS CD is cd0
    BIOS drive C: is disk0
    BIOS drive D: is disk1
    BIOS 636kB/261056kB available memory
    
    FreeBSD/i386 bootstrap loader, Revision 1.1
    
    Loading /boot/defaults/loader.conf
    /boot/kernel/kernel text=0x64daa0 data=0xa4e80+0xa9e40 syms=[0x4+0x6cac0+0x4+0x88e9d]
    \           

    Wenn Sie mit Startdisketten hochfahren, sehen Sie folgende Meldungen (Versionsangaben entfernt):

    Booting from Floppy...
    Uncompressing ... done
    
    BTX loader 1.00  BTX version is 1.01
    Console: internal video/keyboard
    BIOS drive A: is disk0
    BIOS drive C: is disk1
    BIOS 639kB/261120kB available memory
    
    FreeBSD/i386 bootstrap loader, Revision 1.1
    
    Loading /boot/defaults/loader.conf
    /kernel text=0x277391 data=0x3268c+0x332a8 |
    
    Insert disk labelled "Kernel floppy 1" and press any key...

    Folgen Sie der Anweisung und entfernen Sie die boot.flp-Diskette, anschließend legen Sie die kern1.flp-Diskette ein und drücken Enter. Starten Sie das System mit der ersten Diskette und legen Sie, wenn Sie dazu aufgefordert werden, die anderen Disketten ein.

  6. Unabhängig davon, ob Sie von Disketten oder von CD-ROM gestartet haben, erscheint danach das FreeBSD Bootloader-Menü:

    Abbildung 2.1. FreeBSD Boot Loader Menu
    FreeBSD Boot Loader Menu

    Warten Sie entweder zehn Sekunden oder drücken Sie Enter.

2.4.1.2. Systemstart bei SPARC64®-Systemen

Die meisten SPARC64®-Systeme sind so konfiguriert, dass sie automatisch von der Festplatte starten. Um FreeBSD auf einem solchen System zu installieren, müssen Sie das System aber über das Netzwerk oder von einer CD-ROM starten. Daher müssen Sie den Bootprozess unterbrechen und das System über das PROM (OpenFirmware) starten.

Dazu starten Sie Ihr System neu und warten, bis die Startmeldung erscheint. Der genaue Wortlaut hängt vom eingesetzten Modell ab, die Nachricht sollte aber ähnlich der folgenden aussehen:

Sun Blade 100 (UltraSPARC-IIe), Keyboard Present
Copyright 1998-2001 Sun Microsystems, Inc.  All rights reserved.
OpenBoot 4.2, 128 MB memory installed, Serial #51090132.
Ethernet address 0:3:ba:b:92:d4, Host ID: 830b92d4.

Um den Startvorgang zu unterbrechen, drücken Sie nun die Tastenkombination L1+A oder Stop+A. Verwenden Sie eine serielle Verbindung, senden Sie das Signal BREAK über die serielle Konsole (etwa durch die Eingabe von ~# in den Programmen tip(1) oder cu(1)). In beiden Fällen landen Sie anschließend am PROM-Prompt:

ok     1
ok {0} 2

1

Der auf Einprozessorsystemen verwendete Prompt.

2

Der Prompt auf Mehrprozessorsystemen. Die Zahl steht dabei für die Anzahl der vorhandenen Prozessoren.

Nun legen Sie Ihre CD-ROM in das Laufwerk ein und geben am PROM-Prompt boot cdrom ein. Danach startet Ihr System von der eingelegten CD-ROM.

2.4.2. Die Geräteerkennung prüfen

Die letzten paar Hundert Zeilen der Bildschirmausgabe werden gesichert und können geprüft werden.

Um sich den Bildschirmpuffer anzusehen, drücken Sie die Taste Scroll-Lock. Im Puffer können Sie mit den Pfeiltasten oder den Tasten PageUp und PageDown blättern. Um zur normalen Bildschirmausgabe zurückzukehren, drücken Sie nochmals die Taste Scroll-Lock.

Prüfen Sie mit diesem Verfahren nun die Ausgaben der Geräteerkennung. Sie werden einen Text ähnlich wie in Abbildung 2.2, „Ausgabe der Geräteerkennung“ sehen. Die genauen Ausgaben sind abhängig von den in Ihrem System installierten Geräten.

Abbildung 2.2. Ausgabe der Geräteerkennung
avail memory = 253050880 (247120K bytes)
Preloaded elf kernel "kernel" at 0xc0817000.
Preloaded mfs_root "/mfsroot" at 0xc0817084.
md0: Preloaded image </mfsroot> 4423680 bytes at 0xc03ddcd4

md1: Malloc disk
Using $PIR table, 4 entries at 0xc00fde60
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <Host to PCI bridge> on motherboard
pci0: <PCI bus> on pcib0
pcib1:<VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
pci1: <Matrox MGA G200 AGP graphics accelerator> at 0.0 irq 11
isab0: <VIA 82C586 PCI-ISA bridge> at device 7.0 on pci0
isa0: <iSA bus> on isab0
atapci0: <VIA 82C586 ATA33 controller> port 0xe000-0xe00f at device 7.1 on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
uhci0 <VIA 83C572 USB controller> port 0xe400-0xe41f irq 10 at device 7.2 on pci
0
usb0: <VIA 83572 USB controller> on uhci0
usb0: USB revision 1.0
uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr1
uhub0: 2 ports with 2 removable, self powered
pci0: <unknown card> (vendor=0x1106, dev=0x3040) at 7.3
dc0: <ADMtek AN985 10/100BaseTX> port 0xe800-0xe8ff mem 0xdb000000-0xeb0003ff ir
q 11 at device 8.0 on pci0
dc0: Ethernet address: 00:04:5a:74:6b:b5
miibus0: <MII bus> on dc0
ukphy0: <Generic IEEE 802.3u media interface> on miibus0
ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
ed0: <NE2000 PCI Ethernet (RealTek 8029)> port 0xec00-0xec1f irq 9 at device 10.
0 on pci0
ed0 address 52:54:05:de:73:1b, type NE2000 (16 bit)
isa0: too many dependant configs (8)
isa0: unexpected small tag 14
orm0: <Option ROM> at iomem 0xc0000-0xc7fff on isa0
fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5” drive> on fdc0 drive 0
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> flags 0x1 irq1 on atkbdc0
kbd0 at atkbd0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model Generic PS/@ mouse, device ID 0
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1 at port 0x2f8-0x2ff irq 3 on isa0
sio1: type 16550A
ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
pppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/15 bytes threshold
plip0: <PLIP network interface> on ppbus0
ad0: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata0-master UDMA33
acd0: CD-RW <LITE-ON LTR-1210B> at ata1-slave PIO4
Mounting root from ufs:/dev/md0c
/stand/sysinstall running as init on vty0

Prüfen Sie die Ausgabe der Geräteerkennung sorgfältig und stellen Sie sicher, dass FreeBSD alle erwarteten Geräte gefunden hat. Wenn ein Gerät nicht gefunden wurde, wird es nicht angezeigt. Ist dies bei Ihnen der Fall, müssen Sie einen angepassten Kernel erstellen, da das betroffene Gerät (beispielsweise eine Soundkarte) in diesem Fall vom GENERIC-Kernel nicht unterstützt wird.

Sie gelangen im nächsten Schritt in ein Menü, in dem Sie über die Cursortasten das Land, in dem Sie sich befinden, auswählen können (Abbildung 2.3, „Ihr Land auswählen“). Durch die Bestätigung mit der Enter-Taste wird automatisch das von Ihnen gewählte Land sowie die dazu passende Tastaturbelegung gewählt.

Abbildung 2.3. Ihr Land auswählen
Ihr Land auswählen

Haben Sie als Land United States gewählt, wird automatisch die amerikanische Standardtastatur verwendet. Haben Sie hingegen ein anderes Land angegeben, erscheint das folgende Menü, in dem Sie Ihre Tastaturbelegung auswählen können (bestätigen Sie Ihre Auswahl mit der Enter-Taste).

Abbildung 2.4. Die Tastaturbelegung auswählen
Die Tastaturbelegung auswählen

Nachdem Sie das Land ausgewählt haben, erscheint das Hauptmenü von sysinstall.

2.5. Das Werkzeug sysinstall

Zum Installieren von FreeBSD stellt das FreeBSD-Project das Werkzeug sysinstall zur Verfügung. Das Werkzeug arbeitet textorientiert und bietet eine Reihe von Menüs und Bildschirmen, um den Installationsprozess zu konfigurieren und zu steuern.

Die Menüs von sysinstall werden mit Tasten wie den Pfeiltasten, Enter, Tab oder Space bedient. Eine ausführliche Beschreibung der Tastenbelegung ist in der Gebrauchsanweisung von sysinstall enthalten.

Die Gebrauchsanweisung können Sie lesen, indem Sie den Menüpunkt Usage auswählen. Stellen Sie sicher, dass die Schaltfläche [Select], wie in Abbildung 2.5, „Die Gebrauchsanweisung von sysinstall auswählen“ gezeigt, aktiviert ist und drücken Sie die Taste Enter.

Es erscheinen Anweisungen wie das Menüsystem zu bedienen ist. Wenn Sie diese gelesen haben, drücken Sie Enter, um in das Hauptmenü zurückzukehren.

Abbildung 2.5. Die Gebrauchsanweisung von sysinstall auswählen
Die Gebrauchsanweisung von sysinstall auswählen

2.5.1. Die Dokumentation abrufen

Aus dem Hauptmenü wählen Sie mit den Pfeiltasten Doc aus und drücken Enter.

Abbildung 2.6. Die Dokumentation abrufen
Die Dokumentation abrufen

Es wird das Dokumentationsmenü angezeigt.

Abbildung 2.7. Das Dokumentationsmenü von sysinstall
Das Dokumentationsmenü von sysinstall

Lesen Sie bitte unbedingt die mitgelieferte Dokumentation.

Um ein Dokument zu lesen, wählen Sie das Dokument mit den Pfeiltasten aus und drücken Enter. Wenn Sie das Dokument gelesen haben, kommen Sie mit der Taste Enter in das Dokumentationsmenü zurück.

Um in das Hauptmenü zurückzukommen, wählen Sie mit den Pfeiltasten Exit aus und drücken die Taste Enter.

2.5.2. Die Tastaturbelegung ändern

Um die Tastaturbelegung zu ändern, wählen Sie den Menüpunkt Keymap und drücken Enter. Dies ist nur erforderlich wenn Sie eine nicht standard-konforme Tastatur oder eine andere als eine amerikanische Tastatur einsetzen.

Abbildung 2.8. Das Hauptmenü von sysinstall
Das Hauptmenü von sysinstall

Eine andere Tastaturbelegung können Sie mit den Pfeiltasten markieren und der Taste Space auswählen. Wenn Sie die Taste Space nochmals drücken wird die Auswahl aufgehoben. Haben Sie eine Tastaturbelegung ausgewählt, markieren Sie mit den Pfeiltasten [ OK ] und drücken Sie Enter.

Der Bildschirmabzug zeigt nur einen der verfügbaren Belegungen an. Mit der Taste Tab markieren Sie die Schaltfläche [ Cancel ], die mit der Vorgabe-Belegung wieder in das Hauptmenü zurückführt.

Abbildung 2.9. Sysinstall Keymap Menu
Sysinstall Keymap Menu

2.5.3. Installationsoptionen einstellen

Wählen Sie Options aus und rücken die Taste Enter.

Abbildung 2.10. Das Hauptmenü von sysinstall
Das Hauptmenü von sysinstall

Abbildung 2.11. Optionen von sysinstall
Optionen von sysinstall

Für die meisten Benutzer sind die voreingestellten Werte völlig ausreichend und brauchen daher nicht geändert werden. Der Name des Releases variiert mit der zu installierenden Version von FreeBSD.

Eine Beschreibung der ausgewählten Option erscheint blau hervorgehoben am unteren Ende des Bildschirms. Mit der Option Use Defaults können Sie alle Optionen auf die Vorgabewerte zurückstellen.

Wenn Sie die Hilfeseite zu den verschiedenen Optionen lesen wollen, drücken Sie die Taste F1.

Die Taste Q führt in das Hauptmenü zurück.

2.5.4. Eine Standard-Installation starten

Die Standard-Installation sollte von allen UNIX®- oder FreeBSD-Anfängern benutzt werden. Markieren Sie mit den Pfeiltasten Standard und drücken Sie Enter, um die Installation zu starten.

Abbildung 2.12. Die Standard-Installation starten
Die Standard-Installation starten

2.6. Plattenplatz für FreeBSD bereitstellen

Ihre erste Aufgabe ist, FreeBSD Plattenplatz bereitzustellen und den Plattenplatz für sysinstall kenntlich zu machen (label). Sie müssen daher wissen, wie FreeBSD mit Platten umgeht.

2.6.1. Nummerierung der Laufwerke im BIOS

Bevor Sie FreeBSD installieren und konfigurieren, sollten Sie Sie einen wichtigen Punkt beachten. Dies gilt insbesondere dann, wenn Sie mehrere Festplatten besitzen.

In einem PC, der unter einem vom BIOS abhängigen Betriebssystem, wie MS-DOS® oder Microsoft® Windows® läuft, kann das BIOS die normale Reihenfolge der Laufwerke verändern und das Betriebssystem beachtet diese Änderung. Mit dieser Funktion kann der Rechner von einem anderen Laufwerk als dem so genannten primären Laufwerk gestartet werden. Die Funktion ist sehr zweckmäßig für Benutzer, die Datensicherungen auf einer zweiten Platte erstellen und dafür Werkzeuge wie Ghost oder xcopy einsetzen. Wenn die erste Platte ausfällt, von einem Virus befallen wird oder durch einen Fehler des Betriebssystems verunstaltet wird, können die Platten im BIOS logisch getauscht werden. Es sieht so aus, als wären die Laufwerke, ohne Öffnen des Gehäuses getauscht worden.

Teurere Systeme mit SCSI-Controllern haben oft BIOS-Erweiterungen, mit denen die Reihenfolge von bis zu sieben SCSI-Platten in ähnlicher Weise verändert werden kann.

Ein Benutzer, der es gewohnt ist, diese BIOS-Funktionen zu benutzen, mag überrascht sein, dass FreeBSD sich nicht wie erwartet verhält. FreeBSD verwendet das BIOS nicht und weiß daher nichts von der logischen Plattenordnung im BIOS. Dies kann zu sehr verwirrenden Situationen führen, insbesondere wenn die Platten identische Geometrien besitzen und Kopien voneinander sind.

Vor der Installation von FreeBSD sollte im BIOS die normale Nummerierung der Laufwerke eingestellt und so belassen werden. Ist es nötig, die Reihenfolge der Laufwerke zu verändern, so sollte das immer auf dem schweren Weg, also durch Öffnen des Gehäuses und Verändern der Jumper und Kabel, erfolgen.

2.6.2. Slices mit Fdisk erstellen

Anmerkung:

Zu diesem Zeitpunkt werden noch keine Änderungen auf die Festplatte ausgeschrieben. Sie können daher sysinstall jederzeit verlassen, und erneut beginnen, wenn Sie denken, einen Fehler gemacht zu haben. Sie können sysinstall über die Menüs verlassen, die Taste U drücken oder die Option Undo wählen. Wenn Sie einmal nicht wissen, wie Sie ein Menü verlassen, können Sie den Rechner auch einfach ausschalten.

Nachdem Sie in sysinstall die Standard-Installation ausgewählt haben, werden Sie folgende Meldung sehen:

                                 Message
 In the next menu, you will need to set up a DOS-style ("fdisk")
 partitioning scheme for your hard disk. If you simply wish to devote
 all disk space to FreeBSD (overwriting anything else that might be on
 the disk(s) selected) then use the (A)ll command to select the default
 partitioning scheme followed by a (Q)uit. If you wish to allocate only
 free space to FreeBSD, move to a partition marked "unused" and use the
 (C)reate command.
                                [  OK  ]

                      [ Press enter or space ]

Drücken Sie, wie angegeben, Enter. Im nächsten Bildschirm werden alle Festplatten angezeigt, die der Kernel während der Geräteerkennung gefunden hat. Abbildung 2.13, „Ein Laufwerk für Fdisk aussuchen“ zeigt ein Beispiel von einem System mit zwei IDE-Platten, die als ad0 und ad2 erkannt wurden.

Abbildung 2.13. Ein Laufwerk für Fdisk aussuchen
Ein Laufwerk für Fdisk aussuchen

Sie fragen sich vielleicht, warum ad1 nicht angezeigt wird. Wurde die Platte vielleicht nicht erkannt?

Stellen Sie sich ein System mit zwei IDE-Platten vor. Eine Platte ist als Master am ersten Controller, die andere als Master am zweiten Controller angeschlossen. Wenn FreeBSD die Platten in der Reihenfolge, in der sie gefunden werden, nummerieren würde, hießen die Platten ad0 und ad1 und alles würde funktionieren.

Wenn Sie nun am ersten IDE-Controller eine dritte Platte als Slave anschließen würden, wäre diese Platte ad1. Die vorher ad1 genannte Platte würde nun ad2 heißen. Dateisysteme werden auf Geräten wie ad1s1a angelegt. Daher könnte es passieren, dass auf einmal Dateisysteme nicht mehr gefunden werden und Sie FreeBSD umkonfigurieren müssten.

Um diese Probleme zu umgehen, kann der Kernel so eingestellt werden, dass er Platten nach ihrem Anschlussort anstelle der gefundenen Reihenfolge benennt. Nach diesem Schema ist die Master-Platte am zweiten IDE-Controller immer ad2, auch wenn es die Geräte ad0 oder ad1 gar nicht gibt.

Dieses Verhalten ist in FreeBSD voreingestellt und der Grund warum im Beispiel die Geräte ad0 und ad2 angezeigt werden. Der Rechner, von dem die gezeigte Ausgabe stammt, hatte zwei IDE-Platten, die beide als Master konfiguriert waren, und keine Slave-Platten.

Wählen Sie die Platte aus, auf die Sie FreeBSD installieren wollen und drücken Sie [ OK ]. Anschließend startet Fdisk und zeigt einen Bildschirm wie den in Abbildung 2.14, „Typischer Fdisk-Bildschirm vor dem Editieren“.

Der Bildschirm von Fdisk ist in drei Abschnitte unterteilt.

Der erste Abschnitt umfasst die ersten beiden Zeilen der Anzeige. Er enthält Einzelheiten über die aktuell ausgewählte Platte, unter anderem den FreeBSD-Gerätenamen, die Plattengeometrie und die Kapazität der Platte.

Der zweite Abschnitt zeigt die auf der Platte befindlichen Slices. Angezeigt wird der Anfang und das Ende der Slice, die Größe der Slice, der FreeBSD-Gerätename, eine Beschreibung und der Subtyp. Im Beispiel sehen Sie zwei unbenutzte Slices, die durch die Plattenbelegung auf PCs entstehen. Weiterhin sehen Sie eine große FAT-Slice, die ziemlich sicher unter MS-DOS®/Windows® als Laufwerk C: auftaucht und eine erweiterte Slice, die unter MS-DOS®/Windows® weitere Laufwerke enthalten kann.

Im dritten Abschnitt sind die Kommandos von Fdisk zusammengefasst.

Abbildung 2.14. Typischer Fdisk-Bildschirm vor dem Editieren
Typischer Fdisk-Bildschirm vor dem Editieren

Die nächsten Schritte hängen von der beabsichtigten Einteilung der Festplatte ab.

Wenn Sie die gesamte Festplatte für FreeBSD verwenden wollen, drücken Sie die Taste A (entspricht dem Menüpunkt Use Entire Disk). Später im Installationsverlauf müssen Sie diese Auswahl bestätigen, danach werden alle bisherigen Daten von der Festplatte gelöscht. Diese Auswahl löscht vorher vorhandene Slices und ersetzt sie durch einen kleinen unbenutzten Bereich (der wieder durch das PC-Design bedingt ist) und eine große Slice für FreeBSD. Wählen Sie dann die neu erstellte Slice mit den Pfeiltasten aus und drücken Sie die Taste S, um die Slice als startfähig (bootbar) zu markieren. Abbildung 2.15, „Eine Partition über die gesamte Platte“ zeigt den Bildschirm zu diesem Zeitpunkt. Beachten Sie das A in der Spalte Flags. Dies zeigt an, dass die Slice aktiv ist und das System von dieser Slice starten wird.

Um Platz für FreeBSD zu schaffen, können Sie auch bestehende Slices löschen. Markieren Sie dazu die Slice mit den Pfeiltasten und drücken Sie die Taste D. Danach legen Sie eine neue Slice mit der Taste C an. Sie werden nach der Größe der zu erstellenden Slice gefragt; der Vorgabewert entspricht der größten Slice, die angelegt werden kann (entspricht entweder dem größten freien Bereich auf der Festplatte oder der ganzen Festplatte).

Wenn Sie schon Platz für FreeBSD geschaffen haben (beispielsweise mit PartitionMagic®), können Sie eine neue Slice direkt mit der Taste C anlegen. Sie werden wieder nach der Größe der anzulegenden Slice gefragt.

Abbildung 2.15. Eine Partition über die gesamte Platte
Eine Partition über die gesamte Platte

Drücken Sie die Taste Q, wenn Sie fertig sind. Sysinstall merkt sich die Änderungen, schreibt sie aber noch nicht auf die Festplatte.

2.6.3. Einen Boot-Manager installieren

Sie können nun einen Boot-Manager installieren. Unter folgenden Umständen sollten Sie den FreeBSD-Boot-Manager installieren:

  • Das System besitzt mehr als ein Laufwerk und FreeBSD ist auf einem anderen Laufwerk als dem ersten Laufwerk installiert.

  • FreeBSD teilt sich das Laufwerk mit einem anderen Betriebssystem. Beim Systemstart wollen Sie auswählen, welches Betriebssystem gestartet wird.

Wird der Rechner ausschließlich mit FreeBSD betrieben und FreeBSD ist auf dem ersten Laufwerk installiert, dann genügt der Standard-Boot-Manager. Wenn Sie einen anderen Boot-Manager benutzen, der FreeBSD starten kann, wählen Sie bitte None aus.

Nachdem Sie die Auswahl getroffen haben, drücken Sie die Taste Enter.

Abbildung 2.16. Sysinstall Boot-Manager-Menü
Sysinstall Boot-Manager-Menü

In der Hilfe, die Sie mit der Taste F1 aufrufen, werden Probleme beschrieben, die entstehen können, wenn sich zwei Betriebssysteme ein Laufwerk teilen.

2.6.4. Slices auf einem anderen Laufwerk anlegen

Wenn das System mehr als ein Laufwerk besitzt, kehrt die Installationsprozedur nach der Auswahl des Boot-Managers zum Bildschirm Select Drives zurück. Sie können hier ein anderes Laufwerk auswählen und auf diesem Laufwerk mit Fdisk weitere Slices anlegen.

Wichtig:

Wenn Sie FreeBSD auf einem anderen Laufwerk als dem ersten Laufwerk installieren, müssen Sie den FreeBSD-Boot-Manager auf beiden Laufwerken installieren.

Abbildung 2.17. Die Laufwerksauswahl verlassen
Die Laufwerksauswahl verlassen

Die Taste Tab wechselt zwischen dem zuletzt ausgewählten Laufwerk und den Schaltflächen [ OK ] und [ Cancel ].

Drücken Sie einmal die Taste Tab, um [ OK ] auszuwählen und drücken Sie anschließend Enter um die Installation weiterzuführen.

2.6.5. Partitionen mit Bsdlabel anlegen

In jeder angelegten Slice müssen Sie Partitionen anlegen. Die Partitionen werden mit Buchstaben von a bis h gekennzeichnet. Die Buchstaben b, c und d haben eine besondere Bedeutung, die Sie beachten sollten.

Einige Anwendungen profitieren von einer besonderen Aufteilung der Partitionen, insbesondere wenn das System mehr als ein Laufwerk besitzt. Bei der ersten FreeBSD-Installation sollten Sie sich allerdings nicht zu viele Gedanken über die Partitionen machen. Wichtiger ist, dass Sie FreeBSD installieren und benutzen. Wenn Sie mehr Erfahrung mit FreeBSD gesammelt haben, können Sie FreeBSD jederzeit mit anderen Partitionen installieren.

Das folgende Schema legt vier Partitionen an: Eine Partition für den Auslagerungsbereich (swap space) und drei Partitionen für Dateisysteme.

Tabelle 2.2. Partitionen auf dem ersten Laufwerk
PartitionDateisystemGrößeBeschreibung
a/1 GBDas Root-Dateisystem. Jedes andere Dateisystem wird irgendwo unterhalb von diesem Dateisystem eingehangen. 1 GB ist eine vernünftige Größe für dieses Dateisystem. Sie werden hier wenig Daten speichern und FreeBSD benötigt ungefähr 128 MB Platz auf diesem Dateisystem. Der Rest ist für temporäre Daten und die Reserve, falls künftige Versionen von FreeBSD mehr Platz in / benötigen.
bN/A2-3 x RAM

Der Auslagerungsbereich befindet sich auf der b-Partition. Es ist schon fast eine Kunst, die Größe des Auslagerungsbereichs richtig zu bestimmen. Eine gute Daumenregel ist, den Auslagerungsbereich zwei bis dreimal größer als den Hauptspeicher (RAM) anzulegen. Sie sollten mindestens 64 MB für den Auslagerungsbereich vorsehen. Wenn das System also weniger als 32 MB Hauptspeicher besitzt, richten Sie einen 64 MB großen Auslagerungsbereich ein.

Besitzt das System mehr als ein Laufwerk, können Sie auf jedem Laufwerk Auslagerungsbereiche anlegen. Da FreeBSD alle Auslagerungsbereiche benutzt, wird der Vorgang des Auslagerns durch mehrere Bereiche beschleunigt. Berechnen Sie in diesem Fall die Größe des benötigten Auslagerungsbereichs, beispielsweise 128 MB, und teilen Sie die Größe durch die Anzahl der Laufwerke. Dies gibt die Größe des Auslagerungsbereichs auf jedem Laufwerk. Mit zwei Platten ergibt das in diesem Beispiel 64 MB Auslagerungsbereich pro Platte.

e/var512 MB bis 4096 MBDas Verzeichnis /var enthält Dateien, die sich dauernd ändern (Protokolldateien und Dateien für Verwaltungszwecke) und auf die im Normalbetrieb oft zugegriffen wird. Liegen diese Dateien in einem gesonderten Dateisystem, kann FreeBSD den Zugriff auf die Dateien optimieren, ohne den Zugriff auf Dateien mit einem anderen Zugriffmuster zu stören.
f/usrDer Rest des Laufwerks (mindestens 8 GB)Alle anderen Dateien werden normalerweise im Verzeichnis /usr oder einem Unterverzeichnis von /usr abgelegt.

Warnung:

Die eben genannten Werte dienen nur als Beispiel und sollten nur von erfahrenen Benutzern editiert werden. Wir empfehlen Ihnen, die vom Partitionseditor vorgeschlagene Aufteilung (Auto Defaults) zu verwenden.

Wenn Sie FreeBSD auf mehr als einem Laufwerk installieren, müssen Sie noch weitere Partitionen in den Slices auf den anderen Laufwerken anlegen. Am einfachsten legen Sie pro Laufwerk zwei Partitionen an: eine für den Auslagerungsbereich und eine andere für ein Dateisystem.

Tabelle 2.3. Partitionen auf weiteren Laufwerken
PartitionDateisystemGrößeBeschreibung
b--Wie schon besprochen, können Sie den Auslagerungsbereich auf mehrere Platten verteilen. Auch wenn die a-Partition frei ist, sollte der Auslagerungsbereich entsprechend der Konvention auf der b-Partition angelegt werden.
e/disknDer Rest des LaufwerksDer Rest der Platte wird von einer großen Partition eingenommen. Sie könnten für diese Partition die a-Partition anstelle der e-Partition benutzen. Allerdings ist die a-Partition per Konvention für das Root-Dateisystem (/) reserviert. Sie brauchen die Konvention nicht zu beachten, da aber sysinstall die Konvention beachtet, ist die Installation sauberer, wenn Sie das auch tun. Sie können das Dateisystem irgendwo einhängen. Das Beispiel schlägt die Verzeichnisse /diskn vor, wobei n die Laufwerke nummeriert. Sie können ein anderes Schema verwenden, wenn Sie möchten.

Wenn Sie die Aufteilung der Partitionen festgelegt haben, können Sie die Partitionen mit sysinstall anlegen. Es erscheint die nachstehende Meldung:

                                 Message
 Now, you need to create BSD partitions inside of the fdisk
 partition(s) just created. If you have a reasonable amount of disk
 space (1GB or more) and don't have any special requirements, simply
 use the (A)uto command to allocate space automatically. If you have
 more specific needs or just don't care for the layout chosen by
 (A)uto, press F1 for more information on manual layout.

                                [  OK  ]
                          [ Press enter or space ]

Drücken Sie Enter, um den FreeBSD-Partitionseditor, der Disklabel heißt, zu starten.

Abbildung 2.18, „Sysinstall Disklabel-Editor“ zeigt den Einstiegsbildschirm von Disklabel. Der Bildschirm ist in drei Bereiche geteilt.

Die ersten Zeilen zeigen den Namen des Laufwerks, das Sie gerade bearbeiten und die Slice, die die erstellten Partitionen enthält (Disklabel spricht hier von Partitionen anstatt von Slices). Der freie Platz einer Slice, der noch keiner Partition zugeordnet ist, wird ebenfalls angezeigt.

In der Mitte des Bildschirms werden die angelegten Partitionen, der Name des Dateisystems, das sich in der Partition befindet, dessen Größe und die Optionen zum Erstellen des Dateisystems angezeigt.

Das untere Drittel des Bildschirms zeigt die in Disklabel gültigen Tastenkombinationen.

Abbildung 2.18. Sysinstall Disklabel-Editor
Sysinstall Disklabel-Editor

Disklabel kann für Sie automatisch Partitionen mit vorgegebenen Größen erstellen (diese Standardgrößen werden durch einen internen Partitionierungsalgorithmus ermittelt, der auf der Plattengröße beruht). Probieren Sie das bitte jetzt aus und drücken Sie die Taste A. Der Bildschirm sieht danach ähnlich wie in Abbildung 2.19, „Sysinstall Disklabel-Editor mit automatischen Vorgaben“ aus. Abhängig von der Größe des Laufwerks können die Vorgabewerte richtig oder falsch sein. Da Sie die Vorgaben nicht akzeptieren müssen, spielt das keine Rolle.

Anmerkung:

FreeBSD legt das Verzeichnis /tmp in einer eigenen Partition an. Dies verhindert, dass sich die Root-Partition mit temporären Dateien füllt.

Abbildung 2.19. Sysinstall Disklabel-Editor mit automatischen Vorgaben
Sysinstall Disklabel-Editor mit automatischen Vorgaben

Wollen Sie die vorgegebenen Partitionen nicht verwenden und durch eigene ersetzen, markieren Sie mit den Pfeiltasten die erste Partition und drücken Sie die Taste D, um die Partition zu löschen. Wiederholen Sie dies für alle vorgegebenen Partitionen.

Um die erste Partition (a), die als / eingehangen wird, zu erstellen, drücken Sie die Taste C. Stellen Sie dabei sicher, dass die richtige Slice im oberen Teil des Bildschirms markiert ist. Wie in Abbildung 2.20, „Die Größe einer Partition festlegen“, erscheint ein Fenster, in dem Sie die Größe der Partition angeben müssen. Sie können die Größe in Blöcken oder einer Zahl gefolgt von M für Megabyte, G für Gigabyte oder C für Zylinder angeben.

Abbildung 2.20. Die Größe einer Partition festlegen
Die Größe einer Partition festlegen

Die vorgegebene Größe erstellt eine Partition, die den Rest der Slice ausfüllt. Wenn Sie die Größen aus dem früheren Beispiel verwenden, löschen Sie die vorgeschlagene Größe mit der Taste Backspace und tragen Sie 512M ein, wie in Abbildung 2.21, „Die Größe einer Partition ändern“ gezeigt. Drücken Sie anschließend [ OK ].

Abbildung 2.21. Die Größe einer Partition ändern
Die Größe einer Partition ändern

Nachdem Sie die Größe der Partition festgelegt haben, werden Sie gefragt, ob die Partition ein Dateisystem oder einen Auslagerungsbereich enthalten soll (siehe Abbildung 2.22, „Den Partitionstyp festlegen“). Die erste Partition enthält ein Dateisystem, wählen Sie FS aus und drücken Sie die Taste Enter.

Abbildung 2.22. Den Partitionstyp festlegen
Den Partitionstyp festlegen

Abschließend müssen Sie, weil Sie ein Dateisystem erstellen, angeben, wo das Dateisystem eingehangen wird. Die Eingabe ist in Abbildung 2.23, „Den Mountpoint festlegen“ dargestellt. Das Root-Dateisystem wird in / eingehangen, geben Sie daher / ein und drücken Sie die Taste Enter.

Abbildung 2.23. Den Mountpoint festlegen
Den Mountpoint festlegen

Auf dem Bildschirm wird jetzt die neu angelegte Partition angezeigt. Wiederholen Sie diese Prozedur für die restlichen Partitionen. Beim Anlegen des Auslagerungsbereichs werden Sie nicht nach einem Mountpoint gefragt, da ein Auslagerungsbereich nie eingehangen wird. Wenn Sie die letzte Partition anlegen, /usr, können Sie die vorgeschlagene Größe stehen lassen. Das Dateisystem wird dann den Rest der Slice einnehmen.

Der letzte Bildschirm von Disklabel sieht wie in Abbildung 2.24, „Sysinstall Disklabel-Editor“ aus (Ihre Werte werden von den gezeigten Werten abweichen). Drücken Sie die Taste Q, um Disklabel zu verlassen.

Abbildung 2.24. Sysinstall Disklabel-Editor
Sysinstall Disklabel-Editor

2.7. Den Installationsumfang bestimmen

2.7.1. Die Distribution auswählen

Welche Software Sie installieren, hängt hauptsächlich vom Zweck des Rechners und dem zur Verfügung stehenden Plattenplatz ab. Die vorgegebenen Distributionen reichen von der minimalen Installation bis hin zu einer kompletten Installation. Anfänger sollten eine der vorgegebenen Distributionen auswählen, erfahrene Benutzer können die zu installierende Distribution anpassen.

Die Taste F1 führt zu einem Hilfebildschirm, der die Distributionen und deren Inhalte beschreibt. Drücken Sie Enter, um die Hilfe zu verlassen und zur Auswahl der Distribution zurückzukehren.

Wenn Sie eine graphische Benutzeroberfläche installieren wollen, müssen Sie die Konfiguration des X-Servers und die Auswahl der Benutzeroberfläche nach erfolgreicher Installation durchführen. Die Installation und Konfiguration des X-Servers wird in Kapitel 6, Das X-Window-System besprochen.

Wenn Sie einen angepassten Kernel erstellen wollen, wählen Sie eine Distribution aus, die den Quellcode (source code) enthält. Warum und wie Sie einen angepassten Kernel erstellen, erfahren Sie in Kapitel 9, Konfiguration des FreeBSD-Kernels.

Natürlich ist das flexibelste System das, auf dem alles installiert ist. Wenn das System über ausreichend Plattenplatz verfügt, wählen Sie mit den Pfeiltasten die Option All aus (siehe Abbildung 2.25, „Die Distribution auswählen“) und drücken die Taste Enter. Wenn Sie Bedenken haben, dass der Plattenplatz nicht ausreicht, wählen Sie eine Distribution, die weniger Software enthält. Machen Sie sich keine unnötigen Sorgen um die richtige Distribution, ausgelassene Distribution können später nachinstalliert werden.

Abbildung 2.25. Die Distribution auswählen
Die Distribution auswählen

2.7.2. Die Ports-Sammlung installieren

Nach der Auswahl der Distribution haben Sie Gelegenheit, die FreeBSD-Ports-Sammlung zu installieren. Mit der Ports-Sammlung lässt sich Software Dritter auf einfache Art und Weise installieren. Der Quellcode der zu installierenden Software ist nicht in der Ports-Sammlung enthalten. Stattdessen enthält die Ports-Sammlung Dateien, die den Installationsprozess (herunterladen, übersetzen und installieren) automatisieren. Die Ports-Sammlung wird in Kapitel 5, Installieren von Anwendungen: Pakete und Ports besprochen.

Der Installationsprozess prüft nicht, ob ausreichend Platz für die Ports-Sammlung vorhanden ist. Wählen Sie die Ports-Sammlung bitte nur aus, wenn das System über ausreichenden Platz verfügt. In FreeBSD 10.3 nimmt die Ports-Sammlung ungefähr 500 MB Plattenplatz in Anspruch. Neuere Versionen von FreeBSD benötigen mit Sicherheit noch mehr Platz.

                         User Confirmation Requested
 Would you like to install the FreeBSD ports collection?

 This will give you ready access to over 24,000 ported software packages,
 at a cost of around 500 MB of disk space when "clean" and possibly much
 more than that if a lot of the distribution tarballs are loaded
 (unless you have the extra CDs from a FreeBSD CD/DVD distribution
 available and can mount it on /cdrom, in which case this is far less
 of a problem).

 The ports collection is a very valuable resource and well worth having
 on your /usr partition, so it is advisable to say Yes to this option.

 For more information on the ports collection & the latest ports,
 visit:
     http://www.FreeBSD.org/ports

                              [ Yes ]     No

Wählen Sie mit den Pfeiltasten [ Yes ] aus, um die Ports-Sammlung zu installieren. Wählen Sie [ No ] aus, um die Ports-Sammlung auszulassen. Drücken Sie danach die Taste Enter, es erscheint wieder das Distributionsmenü.

Abbildung 2.26. Die Distributionen bestätigen
Die Distributionen bestätigen

Wenn Sie mit den ausgewählten Optionen zufrieden sind, wählen Sie mit den Pfeiltasten Exit aus (stellen Sie sicher, dass [ OK ] aktiv ist) und drücken Sie die Taste Enter.

2.8. Das Installationsmedium auswählen

Wenn Sie von einer CD-ROM oder einer DVD installieren, wählen Sie bitte Install from a FreeBSD CD/DVD aus. Stellen Sie sicher, dass [ OK ] aktiv ist und drücken Sie dann die Taste Enter, um mit der Installation fortzufahren.

Wenn Sie ein anderes Installationsmedium benutzen, wählen Sie die passende Option aus und folgen den angezeigten Anweisungen.

Die Hilfeseiten über Installationsmedien erreichen Sie mit der Taste F1. Drücken Sie Enter, um zur Auswahl des Installationsmediums zurückzukehren.

Abbildung 2.27. Das Installationsmedium auswählen
Das Installationsmedium auswählen

FTP-Installationsmodi:

Sie können zwischen drei FTP-Installationsmodi wählen: Active-FTP, Passive-FTP oder über einen HTTP-Proxy.

FTP Active: Install from an FTP server

Diese Option führt alle FTP-Operationen im Active-Mode aus. Dieser Modus funktioniert nicht durch Firewalls, er funktioniert aber mit alten FTP-Servern, die den Passive-Mode nicht beherrschen. Wenn die Verbindung im Passive-Mode (das ist die Vorgabe) hängt, versuchen Sie den Active-Mode.

FTP Passive: Install from an FTP server through a firewall

Mit dieser Option benutzt sysinstall Passive-Mode für alle FTP-Operationen. In diesem Modus funktionieren Verbindungen durch Firewalls, die einkommende Pakete auf beliebigen TCP-Ports blockieren.

FTP via a HTTP proxy: Install from an FTP server through a http proxy

Diese Option weist sysinstall an, alle FTP-Operationen mit HTTP über einen Proxy (wie ein Web-Browser) durchzuführen. Der Proxy leitet die Anfragen an den richtigen FTP-Server weiter. Mit dieser Option passieren Sie eine Firewall, die FTP-Verbindungen verbietet, aber einen HTTP-Proxy anbietet. Neben dem FTP-Server müssen Sie in diesem Fall den Proxy-Server angeben.

Bei einem FTP-Proxy-Server müssen Sie normalerweise den Ziel-FTP-Server als Teil des Benutzernamens hinter dem Klammeraffen (@) angeben. Der Proxy-Server übernimmt die Kommunikation mit dem Ziel-FTP-Server. Nehmen wir an, Sie wollen von ftp.FreeBSD.org über den FTP-Proxy foo.example.com auf Port 1234 installieren.

Wählen Sie das Menü Options aus und setzen Sie dort den FTP-Benutzernamen (username) auf ftp@ftp.FreeBSD.org. Als Passwort geben Sie bitte Ihre E-Mail-Adresse an. Setzen Sie das Installationsmedium auf Active-FTP oder Passive-FTP, je nachdem welchen Modus der Proxy-Server unterstützt. Für die URL geben Sie ftp://foo.example.com:1234/pub/FreeBSD an.

Der Proxy-Server foo.example.com leitet Zugriffe auf das Verzeichnis /pub/FreeBSD an den Server ftp.FreeBSD.org weiter. Daher können foo.example.com als FTP-Server angeben.

2.9. Die Installation festschreiben

Wenn Sie wünschen, kann die Installation nun beginnen. Dies ist die letzte Gelegenheit, die Installation abzubrechen und Änderungen auf der Festplatte zu vermeiden.

                       User Confirmation Requested
 Last Chance! Are you SURE you want to continue the installation?

 If you're running this on a disk with data you wish to save then WE
 STRONGLY ENCOURAGE YOU TO MAKE PROPER BACKUPS before proceeding!

 We can take no responsibility for lost disk contents!

                             [ Yes ]    No

Wählen Sie [ Yes ] aus und drücken Sie Enter, um weiter zu machen.

Die Installationsdauer hängt von den ausgewählten Distributionen, dem Installationsmedium und der Geschwindigkeit des Rechners ab. Während der Installation wird der Fortgang mit Statusmeldungen angezeigt.

Die Installation ist beendet, wenn die folgende Meldung erscheint:

                               Message

Congratulations! You now have FreeBSD installed on your system.

We will now move on to the final configuration questions.
For any option you do not wish to configure, simply select No.

If you wish to re-enter this utility after the system is up, you may
do so by typing: /usr/sbin/sysinstall.

                                 [ OK ]

                      [  Press enter or space  ]

Drücken Sie die Taste Enter, um die Nacharbeiten durchzuführen.

Wenn Sie [ No ] auswählen und Enter drücken wird die Installation abgebrochen und das System wird nicht verändert. Die nachstehende Meldung wird angezeigt:

                                Message
Installation complete with some errors.  You may wish to scroll
through the debugging messages on VTY1 with the scroll-lock feature.
You can also choose "No" at the next prompt and go back into the
installation menus to retry whichever operations have failed.

                                 [ OK ]

Die Meldung wird angezeigt, weil nichts installiert wurde. Drücken Sie Enter, um in das Hauptmenü zurückzukehren. Dort können Sie die Installationsprozedur verlassen.

2.10. Arbeiten nach der Installation

Nach einer erfolgreichen Installation wird das System konfiguriert. Sie können das System direkt konfigurieren oder nach einem Neustart. Nach einem Neustart rufen Sie sysinstall auf und wählen den Menüpunkt Configure.

2.10.1. Netzwerkkonfiguration

Wenn Sie schon PPP für eine FTP-Installation konfiguriert haben, erscheint dieser Bildschirm nicht. Sie können die Konfiguration später in sysinstall vornehmen.

Netzwerke und die Konfiguration von FreeBSD als Gateway oder Router werden eingehend im Kapitel Weiterführende Netzwerkthemen behandelt.

                      User Confirmation Requested
   Would you like to configure any Ethernet or PPP network devices?

                             [ Yes ]   No

Wenn Sie eine Netzwerkkarte konfigurieren wollen, wählen Sie [ Yes ] aus und drücken Sie die Taste Enter. Wählen Sie [ No ], um die Netzwerkkonfiguration zu überspringen.

Abbildung 2.28. Eine Netzwerkkarte auswählen
Eine Netzwerkkarte auswählen

Wählen Sie die zu konfigurierende Karte mit den Pfeiltasten aus und drücken Sie die Taste Enter.

                      User Confirmation Requested
       Do you want to try IPv6 configuration of the interface?

                              Yes   [ No ]

Für das gezeigte Installationsbeispiel genügte das momentan verwendete Internet-Protokoll (IPv4). Daher wurde mit den Pfeiltasten [ No ] ausgewählt und mit der Taste Enter bestätigt.

Wenn Sie durch einen RA-Server mit einem IPv6-Netzwerk verbunden sind, wählen Sie bitte [ Yes ] und drücken die Taste Enter. Die Suche nach den RA-Servern dauert einige Sekunden.

                             User Confirmation Requested
        Do you want to try DHCP configuration of the interface?

                              Yes   [ No ]

Falls Sie das Dynamic Host Configuration Protocol (DHCP) nicht verwenden, wählen Sie [ No ] aus und drücken Sie Enter.

Wenn Sie [ Yes ] auswählen, wird das Programm dhclient ausgeführt und bei Erfolg die Netzwerkkarte konfiguriert. Mehr über DHCP können Sie in Abschnitt 29.6, „Dynamic Host Configuration Protocol (DHCP)“ nachlesen.

Der nächste Bildschirmabzug zeigt die Netzwerkkonfiguration eines Systems, das Gateway für das lokale Netz ist.

Abbildung 2.29. Die Netzwerkkarte ed0 konfigurieren
Die Netzwerkkarte ed0 konfigurieren

Tragen Sie in die Felder, die Sie mit der Taste Tab auswählen können, die richtige Konfiguration ein.

Host

Der vollständige Rechnername (fully-qualified hostname), wie in diesem Beispiel k6-2.example.com.

Domain

Der Domain-Name, in dem sich der Rechner befindet. Im Beispiel ist das example.com.

IPv4 Gateway

Die IP-Adresse des Rechners, der Pakete an entfernte Netze weiterleitet. Sie müssen dieses Feld ausfüllen, wenn der sich der Rechner in einem Netzwerk befindet. Lassen Sie das Feld leer, wenn der Rechner der Gateway in das Internet ist. Der IPv4-Gateway wird auch default gateway oder default route genannt.

Name server

Die IP-Adresse des lokalen DNS-Servers. Im Beispiel gibt es keinen lokalen DNS-Server, daher wurde der DNS-Server des Providers (208.163.10.2) benutzt.

IPv4 address

Die IP-Adresse der Netzwerkkarte (192.168.0.1).

Netmask (Netzmaske)

Im Beispiel werden Adressen aus einem Klasse C Netz (192.168.0.0 bis 192.168.0.255) benutzt. Standardmäßig besitzt ein Klasse C Netz die Netzmaske 255.255.255.0.

Extra options to ifconfig (Optionen für ifconfig)

Zusätzliche Optionen für den Befehl ifconfig, die spezifisch für die verwendete Netzwerkkarte sind. Im Beispiel sind keine Optionen angegeben.

Wenn Sie alle Werte eingegeben haben, wählen Sie mit Tab [ OK ] aus und drücken Sie Enter.

                      User Confirmation Requested
        Would you like to bring the ed0 interface up right now?

                             [ Yes ]   No

Wenn Sie [ Yes ] auswählen und Enter drücken, wird die Netzwerkkonfiguration aktiviert. Allerdings bringt dies zu diesem Zeitpunkt nicht viel, da der Rechner noch neu gestartet werden muss.

2.10.2. Gateway einrichten

                       User Confirmation Requested
       Do you want this machine to function as a network gateway?

                              [ Yes ]    No

Wählen Sie [ Yes ], wenn der Rechner ein Gateway für ein lokales Netz ist und Pakete an andere Netze weiterleitet. Wenn der Rechner ein normaler Netzknoten ist, wählen Sie [ No ] aus. Bestätigen Sie die auswahl mit der Taste Enter.

2.10.3. IP-Dienste einrichten

                      User Confirmation Requested
Do you want to configure inetd and the network services that it provides?

                               Yes   [ No ]

Wenn [ No ] ausgewählt wird, werden Dienste wie telnetd nicht aktiviert. Benutzer können sich dann von entfernten Rechnern nicht mit telnet an dieser Maschine anmelden. Lokale Benutzer können aber auf entfernte Rechner mit telnet zugreifen.

Die Dienste können Sie nach der Installation aktivieren, indem Sie die Datei /etc/inetd.conf editieren. Dies wird in Abschnitt 29.2.1, „Konfigurationsdatei“ beschrieben.

Wenn Sie jetzt weitere Dienste aktivieren möchten, wählen Sie [ Yes ] aus. Es erscheint die nachstehende Rückfrage:

                      User Confirmation Requested
The Internet Super Server (inetd) allows a number of simple Internet
services to be enabled, including finger, ftp and telnetd.  Enabling
these services may increase risk of security problems by increasing
the exposure of your system.

With this in mind, do you wish to enable inetd?

                             [ Yes ]   No

Bestätigen Sie die Rückfrage mit [ Yes ].

                      User Confirmation Requested
inetd(8) relies on its configuration file, /etc/inetd.conf, to determine
which of its Internet services will be available.  The default FreeBSD
inetd.conf(5) leaves all services disabled by default, so they must be
specifically enabled in the configuration file before they will
function, even once inetd(8) is enabled.  Note that services for
IPv6 must be separately enabled from IPv4 services.

Select [Yes] now to invoke an editor on /etc/inetd.conf, or [No] to
use the current settings.

                             [ Yes ]   No

Wenn Sie [ Yes ] auswählen, können Sie Dienste aktivieren, in dem Sie das Zeichen # am Zeilenanfang entfernen.

Abbildung 2.30. inetd.conf editieren
inetd.conf editieren

Wenn Sie die gewünschten Dienste aktiviert haben, drücken Sie die Taste Esc. Es erscheint ein Menü, in dem Sie die Änderungen abspeichern und den Editor verlassen können.

2.10.4. SSH aktivieren

                      User Confirmation Requested
                  Would you like to enable SSH login?
                           Yes        [  No  ]

Durch die Auswahl von [ Yes ], wird sshd(8), der OpenSSH-Daemon aktiviert. Danach ist es möglich, sich über eine verschlüsselte Verbindung auf Ihrem System anzumelden. Weitere Informationen über OpenSSH finden Sie in Abschnitt 14.8, „OpenSSH“ des FreeBSD-Handbuchs.

2.10.5. Anonymous-FTP

                      User Confirmation Requested
 Do you want to have anonymous FTP access to this machine?

                              Yes    [ No ]

2.10.5.1. Anonymous-FTP verbieten

Wenn Sie die vorgegebene Auswahl [ No ] mit der Taste Enter bestätigen, können Benutzer, die ein Konto und ein Passwort auf dem System besitzen, immer noch mit FTP auf das System zugreifen.

2.10.5.2. Anonymous-FTP erlauben

Wenn Sie Anonymous-FTP erlauben, darf jeder auf Ihr System zugreifen. Bedenken Sie die Folgen für die Systemsicherheit (siehe Kapitel 14, Sicherheit) bevor Sie diese Option aktivieren.

Um Anonymous-FTP zu aktivieren, wählen Sie mit den Pfeiltasten [ Yes ] aus und drücken Sie die Taste Enter. Es erscheint folgende Meldung:

                       User Confirmation Requested
 Anonymous FTP permits un-authenticated users to connect to the system
 FTP server, if FTP service is enabled.  Anonymous users are
 restricted to a specific subset of the file system, and the default
 configuration provides a drop-box incoming directory to which uploads
 are permitted.  You must separately enable both inetd(8), and enable
 ftpd(8) in inetd.conf(5) for FTP services to be available.  If you
 did not do so earlier, you will have the opportunity to enable inetd(8)
 again later.

 If you want the server to be read-only you should leave the upload
 directory option empty and add the -r command-line option to ftpd(8)
 in inetd.conf(5)

 Do you wish to continue configuring anonymous FTP?

                          [ Yes ]         No

Diese Nachricht informiert Sie darüber, dass der FTP-Dienst auch in der Datei /etc/inetd.conf aktiviert werden muss, wenn Sie anonyme FTP-Verbindungen erlauben wollen (lesen Sie dazu auch Abschnitt 2.10.3, „IP-Dienste einrichten“ des FreeBSD-Handbuchs). Wählen Sie [ Yes ] und drücken Sie Enter, um fortzufahren. Danach erscheint der folgende Bildschirm:

Abbildung 2.31. Anonymous-FTP konfigurieren
Anonymous-FTP konfigurieren

Mit der Taste Tab wechseln Sie zwischen den Feldern, in die Sie die benötigten Informationen eingeben.

UID

Die User-ID, die dem anonymen FTP-Benutzer zugewiesen werden soll. Alle hochgeladenen Dateien werden diesem User-ID gehören.

Group

Die Gruppe, zu der der anonyme FTP-Benutzer gehören soll.

Comment

Eine Beschreibung dieses Benutzers in der Datei /etc/passwd.

FTP Root Directory

Ort, an dem Dateien für anonymen FTP-Zugang bereitgestellt werden sollen.

Upload Subdirectory

Das Verzeichnis, in dem von einem anonymen FTP-Benutzer hochgeladene Dateien gespeichert werden.

Das FTP-Wurzelverzeichnis wird per Voreinstellung in /var angelegt. Wenn in /var zu wenig Platz vorhanden ist, können Sie das FTP-Wurzelverzeichnis beispielsweise nach /usr/ftp verlegen.

Wenn Sie mit den Einstellungen zufrieden sind, drücken Sie die Taste Enter.

                          User Confirmation Requested
         Create a welcome message file for anonymous FTP users?

                              [ Yes ]    No

Wenn Sie [ Yes ] auswählen und mit Enter bestätigen, können Sie die Begrüßungsmeldung des FTP-Servers in einem Editor ändern.

Abbildung 2.32. Begrüßungsmeldung des FTP-Servers editieren
Begrüßungsmeldung des FTP-Servers editieren

Der Editor, in dem Sie sich befinden, heißt ee. Folgen Sie den Anweisungen, um die Meldung zu editieren. Sie können die Meldung auch später in einem Editor Ihrer Wahl editieren. Merken Sie sich dazu den Dateinamen, der im Editor unten angezeigt wird.

Wenn Sie die Taste Esc drücken, erscheint ein Menü, in dem a) leave editor vorgewählt ist. Drücken Sie die Taste Enter, um den Editor zu verlassen. Falls Sie Änderungen vorgenommen haben, bestätigen Sie die Änderungen nochmals mit Enter.

2.10.6. Network-File-System einrichten

Mit dem Network-File-System (NFS) können Sie über ein Netzwerk auf Dateien zugreifen. Ein Rechner kann NFS-Server, NFS-Client oder beides sein. NFS wird in Abschnitt 29.3, „Network File System (NFS)“ besprochen.

2.10.6.1. NFS-Server einrichten

                       User Confirmation Requested
 Do you want to configure this machine as an NFS server?

                              Yes    [ No ]

Wenn Sie keinen NFS-Server benötigen, wählen Sie [ No ] aus und bestätigen Sie mit Enter.

Wenn Sie [ Yes ] auswählen, erscheint der Hinweis, dass die Datei exports angelegt werden muss.

                               Message
Operating as an NFS server means that you must first configure an
/etc/exports file to indicate which hosts are allowed certain kinds of
access to your local filesystems.
Press [Enter] now to invoke an editor on /etc/exports
                               [ OK ]

Drücken Sie Enter und es wird ein Editor gestartet, in dem Sie die Datei exports editieren können.

Abbildung 2.33. exports editieren
exports editieren

Folgen Sie den Anweisungen, um Dateisysteme zu exportieren. Sie können die Datei auch später in einem Editor Ihrer Wahl editieren. Merken Sie sich dazu den Dateinamen, der im Editor unten angezeigt wird.

Drücken Sie die Taste Esc und es erscheint ein Menü, in dem a) leave editor vorgewählt ist. Drücken Sie die Taste Enter, um den Editor zu verlassen.

2.10.6.2. NFS-Client einrichten

Mit einem NFS-Client können Sie auf NFS-Server zugreifen.

                       User Confirmation Requested
 Do you want to configure this machine as an NFS client?

                              Yes   [ No ]

Wählen Sie entweder [ Yes ] oder [ No ] aus und drücken Sie Enter.

2.10.7. Die Systemkonsole einrichten

Sie können verschiedene Merkmale der Systemkonsole anpassen.

                      User Confirmation Requested
       Would you like to customize your system console settings?

                              [ Yes ]  No

Wenn Sie die Merkmale der Systemkonsole anpassen wollen, wählen Sie [ Yes ] aus und drücken Sie die Taste Enter.

Abbildung 2.34. Merkmale der Systemkonsole
Merkmale der Systemkonsole

Oft wird ein Bildschirmschoner auf der Konsole aktiviert. Wälen Sie mit den Pfeiltasten Saver aus und drücken Sie die Taste Enter.

Abbildung 2.35. Bildschirmschoner auswählen
Bildschirmschoner auswählen

Wählen Sie den gewünschten Bildschirmschoner mit den Pfeiltasten aus und drücken Sie Enter. Das Konfigurationsmenü der Systemkonsole erscheint wieder.

In der Voreinstellung wird der Bildschirmschoner nach 300 Sekunden aktiviert. Um diese Zeitspanne zu ändern, wählen Sie wieder Saver aus. Mit den Pfeiltasten wählen Sie dann Timeout aus und drücken Enter. Es erscheint ein Eingabefenster:

Abbildung 2.36. Den Bildschirmschoner einstellen
Den Bildschirmschoner einstellen

Ändern Sie die Zeitspanne und wählen Sie [ OK ] aus. Mit Enter kehren Sie in das Konfigurationsmenü der Systemkonsole zurück.

Abbildung 2.37. Die Konfiguration der Systemkonsole verlassen
Die Konfiguration der Systemkonsole verlassen

Um die Nacharbeiten fortzuführen, wählen Sie Exit aus und drücken Sie Enter.

2.10.8. Die Zeitzone einstellen

Wenn Sie die Zeitzone richtig einstellen, kann Ihr Rechner automatisch regional bedingte Zeitumstellungen ausführen und andere von der Zeitzone abhängige Funktionen handhaben.

Das folgende Beispiel gilt für den Osten der USA. Ihre Auswahl hängt vom geographischen Standort Ihres Rechners ab.

                      User Confirmation Requested
          Would you like to set this machine's time zone now?

                            [ Yes ]   No

Um die Zeitzone einzustellen, wählen Sie [ Yes ] und drücken Enter.

                       User Confirmation Requested
 Is this machine's CMOS clock set to UTC? If it is set to local time
 or you don't know, please choose NO here!

                              Yes   [ No ]

Je nachdem ob die Systemzeit die Zeitzone UTC verwendet, wählen Sie [ Yes ] oder [ No ] aus. Bestätigen Sie die Auswahl mit der Taste Enter.

Abbildung 2.38. Das Gebiet auswählen
Das Gebiet auswählen

Wählen Sie mit den Pfeiltasten das richtige Gebiet aus und drücken Sie Enter.

Abbildung 2.39. Das Land auswählen
Das Land auswählen

Wählen Sie mit den Pfeiltasten das richtige Land aus und drücken Sie Enter.

Abbildung 2.40. Die Zeitzone auswählen
Die Zeitzone auswählen

Wählen Sie mit den Pfeiltasten die richtige Zeitzone aus drücken Sie Enter.

                            Confirmation
            Does the abbreviation 'EDT' look reasonable?

                            [ Yes ]   No

Wenn die angezeigte Abkürzung der Zeitzone richtig ist, bestätigen Sie diese mit der Taste Enter.

2.10.9. Linux-Kompatibilität

Anmerkung:

Die folgenden Anweisungen sind nur für FreeBSD 7.X gültig. Installieren Sie eine FreeBSD 8.X-Version, wird der folgende Bildschirm nicht angezeigt.

                      User Confirmation Requested
          Would you like to enable Linux binary compatibility?

                            [ Yes ]   No

Wenn Sie [ Yes ] auswählen und Enter drücken, können Sie Linux-Software auf FreeBSD laufen lassen. Später wird dazu die notwendige Software installiert.

Wenn Sie über FTP installieren, müssen Sie mit dem Internet verbunden sein. Einige FTP-Server bieten nicht alle verfügbare Software an. Es kann sein, dass die nötige Software für die Linux-Kompatibilität nicht installiert werden kann, dies können Sie später jedoch nachholen.

2.10.10. Die Maus konfigurieren

Mit einer 3-Tasten-Maus können Sie Texte auf der Konsole und in Programmen markieren und einfügen (cut and paste). Wenn Sie eine 2-Tasten-Maus besitzen, können Sie eine 3-Tasten-Maus emulieren. Lesen Sie dazu nach der Installation die Hilfeseite moused(8). Das folgende Beispiel zeigt die Konfiguration einer nicht-USB-Maus (PS/2 oder serielle Maus):

                      User Confirmation Requested
         Does this system have a PS/2, serial, or bus mouse?

                            [ Yes ]    No 

Wählen Sie [ Yes ] für eine PS/2-, eine serielle oder eine Bus-Maus. Haben Sie hingegen eine USB-Maus, wählen Sie [ No ]. Danach drücken Sie Enter.

Abbildung 2.41. Das Mausprotokoll festlegen
Das Mausprotokoll festlegen

Markieren Sie mit den Pfeiltasten Type und drücken Sie press Enter.

Abbildung 2.42. Das Mausprotokoll festlegen
Das Mausprotokoll festlegen

Im Beispiel wurde eine PS/2-Maus verwendet, sodass die Vorgabe Auto passend war. Sie können das Protokoll mit den Pfeiltasten ändern. Stellen Sie sicher, dass [ OK ] aktiviert ist und verlassen Sie das Menü mit der Taste Enter.

Abbildung 2.43. Den Mausport einstellen
Den Mausport einstellen

Wählen Sie mit den Pfeiltasten Port und drücken Sie die Taste Enter.

Abbildung 2.44. Den Mausport einstellen
Den Mausport einstellen

Im Beispiel wurde eine PS/2-Maus verwendet, sodass die Vorgabe PS/2 richtig war. Sie können den Port mit den Pfeiltasten ändern. Bestätigen Sie die Auswahl mit der Taste Enter.

Abbildung 2.45. Den Mouse-Daemon aktivieren
Den Mouse-Daemon aktivieren

Wählen Sie nun mit den Pfeiltasten Enable aus und drücken Sie die Taste Enter, um den Mouse-Daemon zu aktivieren und zu testen.

Abbildung 2.46. Den Mouse-Daemon testen
Den Mouse-Daemon testen

Bewegen Sie die Maus hin und her und prüfen Sie, dass sich der Mauszeiger entsprechend bewegt. Wenn alles in Ordnung ist, wählen Sie [ Yes ] aus und drücken Sie Enter. Wenn sich die Maus nicht richtig verhält, wurde sie nicht korrekt konfiguriert. Wählen Sie in diesem Fall [ No ] und versuchen Sie, die Einstellungen zu korrigieren.

Um mit den Nacharbeiten fortzufahren, wählen Sie mit den Pfeiltasten Exit aus und drücken Sie Enter.

2.10.11. Pakete installieren

Pakete (packages) sind schon übersetzte Programme und sind ein zweckmäßiger Weg, Programme zu installieren.

Beispielhaft wird im Folgenden die Installation eines Paketes gezeigt. In diesem Schritt können auch weitere Pakete installiert werden. Nach der Installation können Sie mit sysinstall zusätzliche Pakete installieren.

                     User Confirmation Requested
 The FreeBSD package collection is a collection of hundreds of
 ready-to-run applications, from text editors to games to WEB servers
 and more. Would you like to browse the collection now?

                            [ Yes ]   No

Nachdem Sie [ Yes ] ausgewählt und Enter gedrückt haben, gelangen Sie in die Paketauswahl:

Abbildung 2.47. Die Paketkategorie aussuchen
Die Paketkategorie aussuchen

Es stehen nur die Pakete zur Auswahl, die sich auf dem momentanen Installationsmedium befinden.

Wenn Sie All auswählen, werden alle Pakete angezeigt. Sie können die Anzeige auf die Pakete einer Kategorie beschränken. Wählen Sie mit den Pfeiltasten die Kategorie aus und drücken Sie die Taste Enter.

Ein Menü mit allen Paketen der ausgewählten Kategorie erscheint:

Abbildung 2.48. Pakete auswählen
Pakete auswählen

Im gezeigten Bildschirm ist das Paket bash ausgewählt. Sie können weitere Pakete auswählen, indem Sie die Pakete mit den Pfeiltasten markieren und die Taste Space drücken. In der unteren linken Ecke des Bildschirms wird eine Kurzbeschreibung des ausgewählten Pakets angezeigt.

Die Taste Tab wechselt zwischen dem zuletzt ausgesuchten Paket, [ OK ] und [ Cancel ].

Wenn Sie die zu installierenden Pakete ausgewählt haben, drücken Sie einmal Tab, um [ OK ] zu markieren. Drücken Sie dann Enter, um wieder in die Paketauswahl zu gelangen.

Die rechte und die linke Pfeiltaste wechseln ebenfalls zwischen [ OK ] und [ Cancel ]. Mit diesen Tasten können Sie auch [ OK ] auswählen und dann mit Enter zur Paketauswahl zurückkehren.

Abbildung 2.49. Pakete installieren
Pakete installieren

Benutzen Sie die Taste Tab und die Pfeiltasten um [ Install ] auszuwählen. Drücken Sie anschließend die Taste Enter. Sie müssen jetzt die Installation der Pakete bestätigen:

Abbildung 2.50. Paketinstallation bestätigen
Paketinstallation bestätigen

Die Paketinstallation wird gestartet, wenn Sie [ OK ] auswählen und Enter drücken. Den Verlauf der Installation können Sie anhand der angezeigten Meldungen verfolgen; achten Sie dabei auf Fehlermeldungen.

Nach der Paketinstallation können Sie die Nacharbeiten fortsetzen. Wenn Sie keine Pakete ausgewählt haben und die Nacharbeiten fortsetzen möchten, wählen Sie trotzdem [ Install ] aus.

2.10.12. Benutzer und Gruppen anlegen

Während der Installation sollten Sie mindestens ein Benutzerkonto anlegen, sodass Sie das System ohne das Konto root benutzen können. Normalerweise ist die Root-Partition recht klein und läuft schnell voll, wenn Sie Anwendungen unter dem root-Konto laufen lassen. Vor der größten Gefahr warnt der nachstehende Hinweis:

                     User Confirmation Requested
 Would you like to add any initial user accounts to the system? Adding
 at least one account for yourself at this stage is suggested since
 working as the "root" user is dangerous (it is easy to do things which
 adversely affect the entire system).

                            [ Yes ]   No

Der Bildschirm auf Deutsch:

                      Bestätigung erforderlich
 Wollen Sie Benutzerkonten anlegen?  Wir empfehlen, mindestens
 ein Konto für sich selbst anzulegen, da es gefährlich
 ist, unter "root" zu arbeiten (es ist leicht, Befehle einzugeben,
 die das System nachhaltig beeinträchtigen).

                            [ Yes ]   No

Um ein Benutzerkonto anzulegen, wählen Sie [ Yes ] aus und drücken Enter.

Abbildung 2.51. Benutzerkonto auswählen
Benutzerkonto auswählen

Markieren Sie User mit den Pfeiltasten und drücken Sie die Taste Enter.

Abbildung 2.52. Benutzerkonto anlegen
Benutzerkonto anlegen

Wählen Sie die Felder zum Ausfüllen mit der Taste Tab aus. Zur Hilfe werden die nachstehenden Beschreibungen werden im unteren Teil des Bildschirms angezeigt:

Login ID

Der Name des Benutzerkontos (verpflichtend).

UID

Die numerische ID dieses Kontos. Wenn Sie das Feld leer lassen, wird eine ID automatisch zugeteilt.

Group

Die diesem Konto zugeordnete Login-Gruppe. Wenn Sie das Feld leer lassen, wird automatisch eine Gruppe zugeteilt.

Password

Das Passwort des Benutzerkontos. Füllen Sie dieses Feld sehr sorgfätig aus.

Full name

Der vollständige Name des Benutzers (Kommentarfeld).

Member groups

Die Gruppen, in denen dieses Konto Mitglied ist (das Konto erhält Zugriffsrechte auf Dateien dieser Gruppe).

Home directory

Das Heimatverzeichnis des Benutzerkontos. Wenn Sie das Feld leer lassen, wird das Verzeichnis automatisch festgelegt.

Login shell

Die Login-Shell des Kontos. Wenn Sie das Feld leer lassen, wird /bin/sh als Login-Shell festgesetzt.

Im Beispiel wurde die Login-Shell von /bin/sh zu der vorher installierten /usr/local/bin/bash geändert. Tragen Sie keine Shell ein, die nicht existiert, da sich sonst nicht anmelden können. In der BSD-Welt wird häufig die C-Shell benutzt, die Sie mit /bin/tcsh angeben können.

Damit ein Wechsel auf den Superuser root möglich ist, wurde dem Benutzerkonto die Gruppe wheel zugeordnet.

Wenn Sie zufrieden sind, drücken Sie [ OK ]. Es erscheint wieder das Benutzer-Menü:

Abbildung 2.53. Benutzermenü verlassen
Benutzermenü verlassen

Weitere Gruppen können, wenn Sie die Anforderungen schon kennen, zu diesem Zeitpunkt angelegt werden. Nach der Installation können Sie Gruppen mit dem Werkzeug sysinstall anlegen.

Wenn Sie alle Benutzer angelegt haben, wählen Sie mit den Pfeiltasten Exit aus und drücken Sie die Taste Enter.

2.10.13. Das root-Passwort festlegen

                        Message
 Now you must set the system manager's password.
 This is the password you'll use to log in as "root".

                         [ OK ]

               [ Press enter or space ]

Um das root-Passwort festzulegen, drücken Sie die Taste Enter.

Sie müssen das Passwort zweimal eingeben. Stellen Sie sicher, dass Sie das Passwort nicht vergessen. Beachten Sie, dass bei der Eingabe das Passwort weder ausgegeben wird noch Sterne angezeigt werden.

New password :
Retype new password :

Nach der erfolgreichen Eingabe des Passworts kann die Installation fortgesetzt werden.

2.10.14. Die Installation beenden

Wenn Sie noch weitere Netzwerkkarten konfigurieren oder weitere Einstellungen vornehmen wollen, können Sie das jetzt tun. Sie können die Einstellungen auch nach der Installation mit sysinstall vornehmen.

                     User Confirmation Requested
 Visit the general configuration menu for a chance to set any last
 options?

                              Yes   [ No ]

Um in das Hauptmenü zurückzukehren, wählen Sie mit den Pfeiltasten [ No ] aus und drücken Sie Enter.

Abbildung 2.54. Die Installation beenden
Die Installation beenden

Wählen Sie mit den Pfeiltasten [X Exit Install] aus und drücken Sie die Taste Enter. Sie müssen das Beenden der Installation bestätigen:

                     User Confirmation Requested
 Are you sure you wish to exit? The system will reboot.

                            [ Yes ]   No

Wählen Sie [ Yes ]. Wenn Sie von einer CD-ROM gestartet haben, erhalten Sie die folgende Meldung, die Sie daran erinnert, die CD-ROM aus dem Laufwerk zu entfernen:

                    Message
Be sure to remove the media from the drive.

                    [ OK ]
           [ Press enter or space ]

Das CD-Laufwerk ist bis zum Neustart des Systems verriegelt. Entfernen Sie die CD zügig, wenn der Rechner startet.

Achten Sie beim Neustart des Systems auf eventuell auftauchende Fehlermeldungen (lesen Sie Abschnitt 2.10.16, „FreeBSD starten“ für weitere Informationen).

2.10.15. Weitere Netzwerkdienste einrichten

Beigetragen von Tom Rhodes.

Anfänger ohne Vorwissen finden das Einrichten von Netzwerkdiensten oft deprimierend. Netzwerke und das Internet sind für moderne Betriebssysteme von entscheidender Bedeutung. Es ist daher wichtig, die Netzwerkfunktionen von FreeBSD zu kennen. Die von FreeBSD angebotenen Netzwerkdienste können Sie während der Installation kennen lernen.

Netzwerkdienste sind Programme, die Eingaben aus dem Netzwerk entgegennehmen. Es wird große Mühe darauf verwendet, dass diese Programme keinen Schaden verursachen. Leider können auch Programmierern Fehler unterlaufen und es gibt Fälle, in denen Fehler in Netzwerkdiensten von Angreifern ausgenutzt wurden. Es ist daher wichtig, dass Sie nur Dienste aktivieren, die Sie benötigen. Im Zweifallsfall sollten Sie einen Dienst solange nicht aktivieren, bis Sie herausfinden, dass Sie den Dienst benötigen. Einen Dienst können Sie später immer noch mit sysinstall oder in der Datei /etc/rc.conf aktivieren.

Wählen Sie den Menüpunkt Networking und es erscheint ein Menü wie das nachstehende:

Abbildung 2.55. Netzwerkdienste – obere Hälfte
Netzwerkdienste – obere Hälfte

Die erste Option, Interfaces, wurde schon in Abschnitt 2.10.1, „Netzwerkkonfiguration“ konfiguriert. Sie können daher diesen Punkt überspringen.

Der Punkt AMD aktiviert einen Dienst, der automatisch Dateisysteme einhängt. Normalerweise wird der Dienst zusammen mit dem NFS-Protokoll (siehe unten) verwendet, um automatisch entfernte Dateisysteme einzuhängen. Dieser Menüpunkt erfordert keine weitere Konfiguration.

Der nächste Menüpunkt ist AMD Flags. Wenn Sie den Punkt auswählen, erscheint ein Fenster, in dem Sie AMD-spezifische Optionen eingeben können. Die nachstehenden Optionen sind schon vorgegeben:

-a /.amd_mnt -l syslog /host /etc/amd.map /net /etc/amd.map

Die Option -a legt das Verzeichnis fest (hier /.amd_mnt), unter dem Dateisysteme eingehangen werden. Die Option -l legt die Protokolldatei fest. Wenn syslogd verwendet wird, werden alle Meldungen an den Daemon syslogd gesendet. Das Verzeichnis /host dient zum Zugriff auf exportierte Verzeichnisse von entfernten Rechnern, das Verzeichnis /net dient zum Zugriff auf exportierte Verzeichnisse von entfernten IP-Adressen. Die Datei /etc/amd.map enthält die Einstellungen für von AMD verwaltete Dateisysteme.

Die Auswahl Anon FTP erlaubt Anonymous-FTP-Verbindungen. Wählen Sie diese Option, wenn Sie einen Anonymous-FTP-Server einrichten wollen. Seien Sie sich über die Sicherheitsrisiken bewusst, wenn Sie Anonymous-FTP erlauben. Die Sicherheitsrisiken und die Konfiguration von Anonymous-FTP werden in einem gesonderten Fenster erklärt, das aufgeht, wenn Sie diese Option auswählen.

Der Menüpunkt Gateway konfiguriert das System, wie vorher erläutert, als Gateway. Wenn Sie während der Installation den Rechner aus Versehen als Gateway konfiguriert haben, können Sie dies hier wieder rückgängig machen.

Der Menüpunkt Inetd konfiguriert, wie schon oben besprochen, den Daemon inetd(8).

Die Auswahl Mail konfiguriert den Mail Transfer Agent (MTA) des Systems. Wenn Sie diesen Punkt auswählen, erscheint das folgende Menü:

Abbildung 2.56. Den MTA festlegen
Den MTA festlegen

In diesem Menü wählen Sie aus, welcher MTA installiert und benutzt wird. Ein MTA ist ein Mail-Server, der E-Mails an lokale Empfänger oder an Empfänger im Internet ausliefert.

Die Auswahl Sendmail installiert das verbreitete sendmail (in FreeBSD die Voreinstellung). Die Auswahl Sendmail local verwendet sendmail als MTA, deaktiviert aber den Empfang von E-Mails aus dem Internet. Postfix und Exim sind ähnlich wie Sendmail. Beide Programme liefern E-Mails aus und einige Anwender verwenden lieber eines der beiden Programme als MTA.

Nachdem Sie einen MTA ausgewählt haben (oder beschlossen haben, keinen MTA zu benutzen), erscheint wieder das Menü Netzwerkdienste. Der nächste Menüpunkt ist NFS client.

Die Auswahl NFS client erlaubt es dem System, mit einem NFS-Server zu kommunizieren. Ein NFS-Server stellt mithilfe des NFS-Protokolls Dateisysteme für andere Systeme auf dem Netzwerk bereit. Wenn der Rechner alleine für sich steht, können Sie diesen Menüpunkt auslassen. Wahrscheinlich müssen Sie noch weitere Einstellungen vornehmen; der Abschnitt 29.3, „Network File System (NFS)“ beschreibt die Einstellungen für NFS-Server und NFS-Clients.

Der Menüpunkt NFS server richtet einen NFS-Server auf dem Rechner ein. Durch die Auswahl dieses Punktes werden die für Remote-Procedure-Call (RPC) benötigten Dienste gestartet. Mit RPC werden Routinen auf entfernten Rechnern aufgerufen.

Der nächste Punkt, Ntpdate, konfiguriert die Zeitsynchronisation. Wenn Sie diesen Punkt auswählen, erscheint das folgende Menü:

Abbildung 2.57. Ntpdate konfigurieren
Ntpdate konfigurieren

Wählen Sie aus diesem Menü einen nahe liegenden Server aus. Die Zeitsynchronisation mit einem nahe liegenden Server ist, wegen der geringeren Latenzzeit, genauer als die Synchronisation mit einem weiter entfernten Server.

Der nächste Menüpunkt ist PCNFSD. Wenn Sie diesen Punkt auswählen, wird net/pcnfsd aus der Ports-Sammlung installiert. Dieses nützliche Werkzeug stellt NFS-Authentifizierungsdienste für Systeme bereit, die diese Dienste nicht anbieten (beispielsweise Microsofts MS-DOS®).

Um die nächsten Menüpunkte zu sehen, müssen Sie herunterblättern:

Abbildung 2.58. Netzwerkdienste – untere Hälfte
Netzwerkdienste – untere Hälfte

Die Programme rpcbind(8), rpc.statd(8) und rpc.lockd(8) werden für Remote-Procedure-Calls (RPC) benutzt. Das Programm rpcbind verwaltet die Kommunikation zwischen NFS-Servern und NFS-Clients und ist für den Betrieb eines NFS-Servers erforderlich. Der Daemon rpc.statd hält zusammen mit dem Daemon rpc.statd des entfernten Rechners den Status der Verbindung. Der Status einer Verbindung wird normalerweise in der Datei /var/db/statd.status festgehalten. Der nächste Menüpunkt ist rpc.lockd, der Dateisperren (file locks) bereitstellt. rpc.lockd wird normalerweise zusammen mit dem Daemon rpc.statd benutzt, der festhält welche Rechner Sperren anfordern und wie oft Sperren angefordert werden. Beide Dienste sind wunderbar zur Fehlersuche geeignet, doch werden Sie zum Betrieb von NFS-Servern und NFS-Clients nicht benötigt.

Der nächste Punkt in der Auswahl ist Routed, der Routing-Daemon. Das Programm routed(8) verwaltet die Routing-Tabelle, entdeckt Multicast-Router und stellt die Routing-Tabelle auf Anfrage jedem mit dem Netz verbundenen Rechner zur Verfügung. Der Daemon wird hauptsächlich auf Gateways eines lokalen Netzes eingesetzt. Wenn Sie den Punkt auswählen müssen Sie den Ort des Programms angeben. Die Vorgabe können Sie mit der Taste Enter übernehmen. Anschließend werden Sie nach den Kommandozeilenoptionen für routed gefragt. Vorgegeben ist die Option -q.

Der nächste Menüpunkt ist Rwhod. Wenn Sie diesen Punkt auswählen, wird während des Systemstarts der Daemon rwhod(8) gestartet. Das Kommando rwhod schickt Broadcast-Meldungen in das Netz oder empfängt diese im Consumer-Mode. Die Funktion der Werkzeuge wird in den Hilfeseiten ruptime(1) und rwho(1) beschrieben.

Der vorletzte Menüpunkt aktiviert den Daemon sshd(8), den OpenSSH Secure-Shell-Server. Wo möglich sollte SSH anstelle von telnet und FTP eingesetzt werden. Der Secure-Shell-Server erstellt verschlüsselte und daher sichere Verbindungen zwischen zwei Rechnern.

TCP Extensions ist der letzte Menüpunkt. Diese Auswahl aktiviert die TCP-Erweiterungen aus RFC 1323 und RFC 1644. Obwohl dies auf vielen Rechnern die Verbindungsgeschwindigkeit erhöht, können durch diese Option auch Verbindungsabbrüche auftreten. Auf Servern sollte diese Option nicht aktiviert werden, auf Einzelmaschinen kann diese Option nützlich sein.

Wenn Sie die Netzwerkdienste eingerichtet haben, blättern Sie zum Menüpunkt Exit hoch, um die Nacharbeiten fortzusetzen oder verlassen Sie sysinstall, indem Sie zweimal X Exit und danach [X Exit Install] wählen.

2.10.16. FreeBSD starten

2.10.16.1. Start von FreeBSD auf FreeBSD/i386

Wenn alles funktioniert hat, laufen viele Meldungen über den Bildschirm und schließlich erscheint ein Anmeldeprompt. Um sich die Meldungen anzusehen. drücken Sie die Taste Scroll-Lock. Sie können dann mit den Tasten PgUp und PgDn blättern. Wenn Sie erneut Scroll-Lock drücken, kehren Sie zum Anmeldeprompt zurück.

Es kann sein, dass der Puffer zu klein ist, um alle Meldungen anzuzeigen. Nachdem Sie sich angemeldet haben, können Sie sich mit dem Kommando dmesg alle Meldungen ansehen.

Melden Sie sich bitte mit dem Benutzerkonto an (rpratt im Beispiel), das Sie während der Installation eingerichtet haben. Arbeiten Sie mit root nur dann wenn es erforderlich ist.

Die nachfolgende Abbildung zeigt typische Startmeldungen (Versionsangaben entfernt):

Copyright (c) 1992-2002 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
        The Regents of the University of California. All rights reserved.

Timecounter "i8254"  frequency 1193182 Hz
CPU: AMD-K6(tm) 3D processor (300.68-MHz 586-class CPU)
  Origin = "AuthenticAMD"  Id = 0x580  Stepping = 0
  Features=0x8001bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,MMX>
  AMD Features=0x80000800<SYSCALL,3DNow!>
real memory  = 268435456 (262144K bytes)
config> di sn0
config> di lnc0
config> di le0
config> di ie0
config> di fe0
config> di cs0
config> di bt0
config> di aic0
config> di aha0
config> di adv0
config> q
avail memory = 256311296 (250304K bytes)
Preloaded elf kernel "kernel" at 0xc0491000.
Preloaded userconfig_script "/boot/kernel.conf" at 0xc049109c.
md0: Malloc disk
Using $PIR table, 4 entries at 0xc00fde60
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <Host to PCI bridge> on motherboard
pci0: <PCI bus> on pcib0
pcib1: <VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
pci1: <Matrox MGA G200 AGP graphics accelerator> at 0.0 irq 11
isab0: <VIA 82C586 PCI-ISA bridge> at device 7.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <VIA 82C586 ATA33 controller> port 0xe000-0xe00f at device 7.1 on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
uhci0: <VIA 83C572 USB controller> port 0xe400-0xe41f irq 10 at device 7.2 on pci0
usb0: <VIA 83C572 USB controller> on uhci0
usb0: USB revision 1.0
uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
chip1: <VIA 82C586B ACPI interface> at device 7.3 on pci0
ed0: <NE2000 PCI Ethernet (RealTek 8029)> port 0xe800-0xe81f irq 9 at
device 10.0 on pci0
ed0: address 52:54:05:de:73:1b, type NE2000 (16 bit)
isa0: too many dependant configs (8)
isa0: unexpected small tag 14
fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5” drive> on fdc0 drive 0
atkbdc0: <keyboard controller (i8042)> at port 0x60-0x64 on isa0
atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
kbd0 at atkbd0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model Generic PS/2 mouse, device ID 0
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> at flags 0x1 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1 at port 0x2f8-0x2ff irq 3 on isa0
sio1: type 16550A
ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/15 bytes threshold
ppbus0: IEEE1284 device found /NIBBLE
Probing for PnP devices on ppbus0:
plip0: <PLIP network interface> on ppbus0
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
ppi0: <Parallel I/O> on ppbus0
ad0: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata0-master using UDMA33
ad2: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata1-master using UDMA33
acd0: CDROM <DELTA OTC-H101/ST3 F/W by OIPD> at ata0-slave using PIO4
Mounting root from ufs:/dev/ad0s1a
swapon: adding /dev/ad0s1b as swap device
Automatic boot in progress...
/dev/ad0s1a: FILESYSTEM CLEAN; SKIPPING CHECKS
/dev/ad0s1a: clean, 48752 free (552 frags, 6025 blocks, 0.9% fragmentation)
/dev/ad0s1f: FILESYSTEM CLEAN; SKIPPING CHECKS
/dev/ad0s1f: clean, 128997 free (21 frags, 16122 blocks, 0.0% fragmentation)
/dev/ad0s1g: FILESYSTEM CLEAN; SKIPPING CHECKS
/dev/ad0s1g: clean, 3036299 free (43175 frags, 374073 blocks, 1.3% fragmentation)
/dev/ad0s1e: filesystem CLEAN; SKIPPING CHECKS
/dev/ad0s1e: clean, 128193 free (17 frags, 16022 blocks, 0.0% fragmentation)
Doing initial network setup: hostname.
ed0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
        inet6 fe80::5054::5ff::fede:731b%ed0 prefixlen 64 tentative scopeid 0x1
        ether 52:54:05:de:73:1b
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x8
        inet6 ::1 prefixlen 128
        inet 127.0.0.1 netmask 0xff000000
Additional routing options: IP gateway=YES TCP keepalive=YES
routing daemons:.
additional daemons: syslogd.
Doing additional network setup:.
Starting final network daemons: creating ssh RSA host key
Generating public/private rsa1 key pair.
Your identification has been saved in /etc/ssh/ssh_host_key.
Your public key has been saved in /etc/ssh/ssh_host_key.pub.
The key fingerprint is:
cd:76:89:16:69:0e:d0:6e:f8:66:d0:07:26:3c:7e:2d root@k6-2.example.com
 creating ssh DSA host key
Generating public/private dsa key pair.
Your identification has been saved in /etc/ssh/ssh_host_dsa_key.
Your public key has been saved in /etc/ssh/ssh_host_dsa_key.pub.
The key fingerprint is:
f9:a1:a9:47:c4:ad:f9:8d:52:b8:b8:ff:8c:ad:2d:e6 root@k6-2.example.com.
setting ELF ldconfig path: /usr/lib /usr/lib/compat /usr/X11R6/lib
/usr/local/lib
a.out ldconfig path: /usr/lib/aout /usr/lib/compat/aout /usr/X11R6/lib/aout
starting standard daemons: inetd cron sshd usbd sendmail.
Initial rc.i386 initialization:.
rc.i386 configuring syscons: blank_time screensaver moused.
Additional ABI support: linux.
Local package initialization:.
Additional TCP options:.

FreeBSD/i386 (k6-2.example.com) (ttyv0)

login: rpratt
Password:

Das Erzeugen der RSA- und DSA-Schlüssel kann auf langsamen Maschinen lange dauern. Die Schlüssel werden nur beim ersten Neustart erzeugt, spätere Neustarts sind schneller.

Wenn der X-Server konfiguriert ist und eine Oberfläche ausgewählt wurde, können Sie X mit dem Kommando startx starten.

2.10.17. FreeBSD herunterfahren

Es ist wichtig, dass Sie das Betriebssystem richtig herunterfahren. Wechseln Sie zunächst mit dem Befehl su zum Superuser; Sie müssen dazu das root-Passwort eingeben. Der Wechsel auf den Superuser gelingt nur, wenn der Benutzer ein Mitglied der Gruppe wheel ist. Ansonsten melden Sie sich direkt als Benutzer root an. Der Befehl shutdown -h now hält das System an.

The operating system has halted.
Please press any key to reboot.

Sie können den Rechner ausschalten, nachdem die Meldung Please press any key to reboot erschienen ist. Wenn Sie stattdessen eine Taste drücken, startet das System erneut.

Sie können das System auch mit der Tastenkombination Ctrl+Alt+Del neu starten. Sie sollten diese Tastenkombination allerdings nicht gewohnheitsmäßig benutzen.

2.11. Fehlersuche

Dieser Abschnitt behandelt häufig auftretende Installationsprobleme. Weiterhin enthält er Hinweise, wie FreeBSD parallel mit MS-DOS® oder Windows® betrieben wird.

2.11.1. Wenn etwas schief geht

Aufgrund der Beschränkungen der PC-Architektur ist eine zuverlässige Geräteerkennung nicht möglich. Falls die Geräteerkennung fehlschlägt, können Sie einige Dinge versuchen.

Sehen Sie in den Hardware Notes Ihrer FreeBSD-Version nach, ob Ihre Hardware unterstützt wird.

Wenn Ihre Hardware unterstützt wird und sich der Installationsprozess aufhängt oder sonstige Probleme auftauchen, müssen Sie einen angepassten Kernel erstellen, da Ihre Hardware in diesem Fall nicht vom GENERIC-Kernel unterstützt wird. Der Kernel auf den Startdisketten verwendet die Werkseinstellungen für IRQs, IO-Adressen und DMA-Kanäle. Geänderte Einstellungen müssen Sie daher in der Kernelkonfigurationsdatei angeben, damit FreeBSD diese Geräte korrekt erkennt.

Es ist auch möglich, dass die Suche nach einem nicht vorhandenen Gerät dazu führt, dass die Erkennung eines vorhandenen Geräts fehlschlägt. In diesem Fall sollten Sie nicht vorhandene Geräte, deren Einstellungen sich mit vorhandenen Geräten überschneiden, deaktivieren.

Anmerkung:

Einige Installationsprobleme können Sie vermeiden oder umgehen, indem Sie die Firmware der Hardware, insbesondere die Firmware der Systemplatine, aktualisieren. Die Firmware der Systemplatine ist das BIOS. Die meisten Hardware-Hersteller bieten aktuelle Firmware und Anleitungen zur Aktualisierung der Firmware auf dem Internet an.

Viele Hersteller raten davon ab, ohne guten Grund das BIOS zu aktualisieren. Die Aktualisierung kann fehlschlagen und den BIOS-Chip dauerhaft beschädigen.

2.11.2. MS-DOS®- und Windows®-Dateisysteme benutzen

Mit Double Space™ komprimierte Dateisysteme werden zurzeit von FreeBSD nicht unterstützt. Damit FreeBSD auf die Daten zugreifen kann, müssen Sie das Dateisystem daher dekomprimieren. Rufen Sie dazu den Compression Agent aus dem Menü Start > Programs > System Tools auf.

FreeBSD unterstützt MS-DOS®-Dateisysteme (manchmal auch als FAT-Dateisysteme bezeichnet). Der Befehl mount_msdosfs(8) bindet diese Dateisysteme in den FreeBSD-Verzeichnisbaum ein und erlaubt dadurch den Zugriff auf die darin enthaltenen Daten. mount_msdosfs(8) wird normalerweise nicht direkt, sondern über einen Eintrag in der Datei /etc/fstab oder durch den Aufruf des Befehls mount(8) (in Kombination mit den korrekten Parametern).

Ein typischer Eintrag in /etc/fstab sieht so aus:

/dev/ad0sN  /dos  msdosfs rw  0   0

Anmerkung:

Das Verzeichnis /dos muss bereits vorhanden sein, damit dieser Eintrag funktioniert. Weitere Informationen zu den Einstellungen in der Datei /etc/fstab finden sich in der Manualpage fstab(5).

Ein typischer Aufruf von mount(8) zum Einhängen eines MS-DOS®-Dateisystems sieht so aus:

# mount -t msdosfs /dev/ad0s1 /mnt

Das MS-DOS®-Dateisystem befindet sich hier auf der ersten Partition der primären Platte. Dies kann bei Ihnen anders sein. Die Anordnung der Partitionen entnehmen Sie den Ausgaben von dmesg und mount.

Anmerkung:

FreeBSD numeriert Platten (genauer MS-DOS®-Partitionen) anders als andere Betriebssysteme. Die Nummern von erweiterten Partitionen sind in der Regel höher als die Nummern von primären Partitionen. Das Werkzeug fdisk(8) kann Ihnen dabei helfen, festzustellen, welche Partitionen zu FreeBSD und welche zu einem anderen Betriebssystem gehören.

Analog werden NTFS-Partitionen mit dem Kommando mount_ntfs(8) eingehangen.

2.11.3. Fragen und Antworten zu häufig auftretenden Problemen

2.11.3.1. Mein System hängt sich beim Testen der Hardware auf, oder es verhält sich seltsam während der Installation oder das Diskettenlaufwerk wird nicht getestet.
2.11.3.2. Direkt nach der Installation beginnt das System zwar zu booten, der Kernel wird geladen und meine Hardware getestet. Dann bricht der Bootvorgang aber mit der folgenden (oder einer ähnlichen) Fehlermeldung ab:
2.11.3.3. Nach der Installation beginnt das System zu booten, der Bootmanager zeigt im Bootmenü aber immer nur F? an und das System startet nicht.
2.11.3.4. FreeBSD erkennt meine ed(4)-Netzwerkkarte. Trotzdem erhalte ich weiterhein Timeout-Meldungen für dieses Gerät.
2.11.3.5. Wenn ich sysinstall aus einen X-Terminal starte, ist die gelbe Schritt auf dem grauen Hintergrund nur schwer zu erkennen. Gibt es eine Möglichkeit, den Kontrast für dieses Programm zu erhöhen?

2.11.3.1.

Mein System hängt sich beim Testen der Hardware auf, oder es verhält sich seltsam während der Installation oder das Diskettenlaufwerk wird nicht getestet.

FreeBSD 5.0 und neuer machen ausgiebig Gebrauch von den ACPI-Systemdiensten zur Systemkonfiguration der i386-, amd64- und ia64-Plattformen, falls diese während des Bootvorgangs gefunden werden. Leider enthalten sowohl der ACPI-Treiber als auch manche Motherboard- und BIOS-Implementierungen für ACPI noch einige Fehler. Kommt es auf Ihrem System zu Problemen, können Sie ACPI daher deaktivieren, indem während des Bootvorganges den Hint hint.acpi.0.disabled aktivieren:

set hint.acpi.0.disabled="1"

Da diese Einstellung bei jedem Neustart verloren geht, aktivieren Sie sie dauerhaft, indem Sie die Zeile hint.acpi.0.disabled="1" in die Datei /boot/loader.conf. Weitere Informationen über den Bootloader finden Sie in Abschnitt 13.1, „Übersicht“ des FreeBSD-Handbuchs.

2.11.3.2.

Direkt nach der Installation beginnt das System zwar zu booten, der Kernel wird geladen und meine Hardware getestet. Dann bricht der Bootvorgang aber mit der folgenden (oder einer ähnlichen) Fehlermeldung ab:

changing root device to ad1s1a panic: cannot mount root

Was läuft hier falsch? Was kann/muss ich tun?

Was soll ich mit diesem bios_drive:interface(unit,partition)kernel_name anfangen, das mir die Hilfefunktion ausgibt?

Dabei handelt es sich um ein lange bekanntes Problem, das nur dann auftritt, wenn es sich bei der Bootplatte nicht um die erste Platte im System handelt. Das BIOS numeriert die Festplatten anders als FreeBSD, daher ist das System manchmal nicht in der Lage, diese Numerierungen selbst automatisch in Einklang zu bringen.

Sollte Ihre Bootplatte nicht die erste Platte im System sein, können Sie FreeBSD dabei helfen, diese Platte zu finden. Es gibt zwei Situationen, in denen Sie FreeBSD mitteilen müssen, wo sich das root-Dateisystem befindet. Dazu müssen Sie die Nummer der Platte im BIOS, den Plattentyp sowie die Nummer der Platte unter FreeBSD angeben.

Im ersten Fall verfügen Sie über zwei IDE-Platten, die beide als Master an ihrem jeweiligen IDE-Controller konfiguriert sind. FreeBSD soll dabei von der zweiten Platte booten. Ihr BIOS erkennt die beiden Platten als Platte 1 und Platte 2, während FreeBSD die Platten als ad0 und ad2 erkennt.

Für das BIOS befindet sich FreeBSD auf der Platte Nummer 1, der Typ ist ad, und FreeBSD erkennt die Platte als Platte Nummer 2. Daher geben Sie Folgendes ein:

1:ad(2,a)kernel

Beachten Sie, dass dieser Eintrag nicht notwendig ist, wenn die zweite Platte als Slave am primären IDE-Controller konfiguriert ist (sondern sogar falsch wäre).

Die zweite Situation entsteht, wenn Sie von einer SCSI-Platte booten und zusätzlich eine oder mehrere IDE-Platten installiert haben. In diesem Fall ist die Plattennummer unter FreeBSD kleiner als die Plattennummer im BIOS. Verfügen Sie über zwei IDE-Platten und eine SCSI-Platte, hat die SCSI-Platte im BIOS die Nummer 2, den Typ da, und wird von FreeBSD als Platte Nummer 0 erkannt. In diesem Fall geben Sie daher Folgendes ein:

2:da(0,a)kernel

Durch diese Zeile teilen Sie FreeBSD mit, dass Sie von der BIOS-Platte Nummer 2 booten wollen (bei der es sich um die erste SCSI-Platte Ihres Systems handelt). Verfügen Sie nur über eine IDE-Platte, geben Sie hingegen 1: ein.

Nachdem Sie die korrekten Werte ermittelt haben, können Sie die entsprechende Zeile in exakt der gleichen Form in die Datei /boot.config aufnehmen. In der Voreinstellung verwendet FreeBSD den Inhalt dieser Datei als Standardantwort am boot:-Prompt.

2.11.3.3.

Nach der Installation beginnt das System zu booten, der Bootmanager zeigt im Bootmenü aber immer nur F? an und das System startet nicht.

Sie haben bei der FreeBSD-Installation eine falsche Plattengeometrie angegeben. Starten Sie den Partitionseditor neu und geben Sie die korrekte Plattengeometrie an. Danach installieren Sie FreeBSD erneut (diesmal mit der korrekten Plattengeometrie).

Ist es Ihnen nicht möglich, die korrekte Plattengeometrie herauszufinden, hilft Ihnen vielleicht der folgende Tipp weiter: Legen Sie eine kleine MS-DOS®-Partition am Beginn Ihrer Bootplatte an und installieren Sie anschließend FreeBSD auf diese Platte. Das FreeBSD-Installationsprogramm wird die MS-DOS®-Partition erkennen und ist dadurch normalerweise in der Lage, die korrekte Plattenkonfiguration automatisch zu erkennen.

Die Vorgangsweise im folgenden Tipp wird zwar nicht länger empfohlen, soll aber trotzdem dokumentiert werden:

Wenn Sie ein reines FreeBSD-System aufsetzen wollen (als Server oder als Workstation) und daher nie auf Kompatibilitält zu MS-DOS®, Linux oder anderen Betriebssystemen angewiesen sein werden, haben Sie auch die Möglichkeit, die komplette Platte (durch die Wahl von A im Partitionseditor) für FreeBSD zu verwenden. Danach wird FreeBSD die komplette Platte vom ersten bis zum letzten Sektor verwenden und die tatsächliche Plattengeometrie ignorieren. Danach ist es allerdings nicht mehr möglich, ein anderes Betriebssystem auf die gleiche Platte zu installieren (ohne auch FreeBSD neu zu installieren).

2.11.3.4.

FreeBSD erkennt meine ed(4)-Netzwerkkarte. Trotzdem erhalte ich weiterhein Timeout-Meldungen für dieses Gerät.

Ihre Karte verwendet wahrscheinlich einen anderen IRQ als den, der in der Datei /boot/device.hints angegeben wurde. Der ed(4)-Treiber verwendet in der Voreinstellung keine Soft-Konfiguration (also Werte, die durch EZSETUP unter MS-DOS® eingeben wurden). Sie können dies allerdings erzwingen, indem Sie die Option -1 in den Hints für dieses Gerät angeben.

Entweder verändern Sie die Jumper-Konfiguration der Karte (und, falls notwendig, die Kerneleinstellungen). Oder Sie geben den IRQ als -1 an, indem Sie hint.ed.0.irq="-1" eingeben. Dadurch wird der Kernel angewiesen, die Soft-Konfiguration zu verwenden.

Prüfen Sie auch, ob Ihre Karte nicht etwa IRQ 9 verwendet, da dieser mit IRQ 2 geteilt wird. Diese Einstellung verursacht häufig Probleme (insbesondere dann, wenn IRQ 2 durch eine VGA-Grafikkarte belegt ist!). Wenn irgend möglich, sollten Sie daher IRQ 2 oder 9 nicht verwenden.

2.11.3.5.

Wenn ich sysinstall aus einen X-Terminal starte, ist die gelbe Schritt auf dem grauen Hintergrund nur schwer zu erkennen. Gibt es eine Möglichkeit, den Kontrast für dieses Programm zu erhöhen?

Haben Sie X11 bereits installiert und die von sysinstall verwendeten Farben bereiten Ihnen beim Lesen von Text Probleme (wenn Sie ein X-Terminal verwenden), sollten Sie die Zeile XTerm*color7: #c0c0c0 in die Datei ~/.Xdefaults aufnehmen. Dadurch wird der Hintergrund in einem dunkleren Grauton dargestellt.

2.12. Anspruchsvollere Installationen

Beigetragen von Valentino Vaschetto.
Aktualisiert von Marc Fonvieille.

Dieser Abschnitt beschreibt die Installation von FreeBSD in besonderen Situationen.

2.12.1. FreeBSD auf einem System ohne Monitor oder Tastatur installieren

Diese Methode wird als headless install (kopflose Installation) bezeichnet, da die Maschine, auf die FreeBSD installiert werden soll, entweder keinen Monitor angeschlossen hat oder über keine VGA-Karte verfügt. Wie kann FreeBSD dennoch installiert werden? Eben mithilfe einer seriellen Konsole. Im Wesentlichen ist eine serielle Konsole eine andere Maschine, die Ein- und Ausgaben für eine andere Maschine bereitstellt. Um über eine serielle Konsole zu installieren, erstellen Sie zunächst (wie in Abschnitt 2.3.7, „Das Startmedium vorbereiten“ beschrieben) einen bootbaren USB-Stick oder laden Sie das passende CD-ISO-Abbild herunter.

Um von diesen Medien in eine serielle Konsole booten zu können, müssen Sie die folgenden Schritte durchführen (bei Verwendung einer Boot-CD kann der erste Schritt entfallen):

  1. Den USB-Stick für eine serielle Konsole anpassen

    Wenn Sie ein System mit den frisch erstellten USB-Stick starten, läuft der normale FreeBSD-Installationsprozess an. Diese Installation soll aber über die serielle Konsole gesteuert werden. Daher müssen Sie den USB-Stick mit dem Befehl mount(8) in den Verzeichnisbaum einhängen:

    # mount /dev/da0a /mnt

    Anmerkung:

    Passen Sie den Mountpunkt und die Gerätedatei falls nötig an Ihre Gegebenheiten an.

    Nachdem Sie den USB-Stick eingehängt haben, müssen Sie ihn rekonfigurieren, damit er in eine serielle Konsole startet. Dazu nehmen Sie in die Datei loader.conf des USB-Sticks eine Zeile auf, die die serielle Konsole als Systemkonsole festlegt:

    # echo 'console="comconsole"' >> /mnt/boot/loader.conf

    Damit ist Ihr USB-Stick für die Installation vorbereitet. Sie können ihn daher wieder aus dem Dateisystem aushängen:

    # umount /mnt

    Entfernen Sie nun den USB-Stick und machen Sie direkt mit Schritt 3 weiter.

  2. Die Installations-CD für eine serielle Konsole anpassen

    Wenn Sie von dem soeben heruntergeladenen CD-ISO-Abbild (siehe Abschnitt 2.13.1, „Eine Installations-CD-ROM erzeugen“) starten, gelangen Sie in den normalen Installationsmodus von FreeBSD. Da wir aber in eine serielle Konsole booten wollen, muss das CD-Image extrahiert, modifiziert und neu erzeugt werden, bevor Sie es auf eine CD-R brennen.

    Entpacken Sie alle Dateien des CD-ISO-Abbilds (beispielsweise FreeBSD-10.3-RELEASE-i386-disc1.iso) auf dem System, auf das Sie das Abbild heruntergeladen haben unter Verwendung von tar(1):

    # mkdir /path/to/headless-iso
    # tar -C /path/to/headless-iso -pxvf FreeBSD-10.3-RELEASE-i386-disc1.iso

    Nun müssen Sie das entpackte ISO-Abbild rekonfigurieren, damit es künftig in eine serielle Konsole startet. Dazu nehmen Sie in die Datei loader.conf des entpackten ISO-Abbild eine Zeile auf, die die serielle Konsole als Systemkonsole festlegt:

    # echo 'console="comconsole"' >> /path/to/headless-iso/boot/loader.conf

    Damit ist der Dateibaum des entpackten ISO-Abbilds für die Installation vorbereitet und Sie können über den Befehl mkisofs(8) (das Sie über den Port sysutils/cdrtools installieren können) ein neues CD-ISO-Abbild erzeugen:

    # mkisofs -v -b boot/cdboot -no-emul-boot -r -J -V "Headless_install" \
    	    -o Headless-FreeBSD-10.3-RELEASE-i386-disc1.iso /path/to/headless-iso

    Dieses rekonfigurierte ISO-Abbild brennen Sie nun mit dem Brennprogramm Ihrer Wahl auf eine CD-R.

  3. Das Nullmodemkabel anschließen

    Sie müssen beide Maschinen mit einem Nullmodemkabel verbinden. Schließen Sie das Nullmodemkabel an die seriellen Schnittstellen beider Maschinen an. Sie können kein direktes serielles Kabel verwenden, Nullmodemkabel besitzen gekreuzte Leitungen.

  4. Die Installation starten

    Sie können die Installation jetzt starten. Stöpseln Sie den vorbereiteten USB-Stick ein und starten Sie Ihren Computer. Alternativ starten Sie Ihren Computer und legen die vorbereitete Installations-CD ein.

  5. Die Verbindung mit der zur installierenden Maschine herstellen

    Mit dem Kommando cu(1) verbinden Sie sich mit der zu installierenden Maschine:

    # cu -l /dev/cuau0

    Unter FreeBSD 7.X verwenden Sie hingegen den folgenden Befehl:

    # cu -l /dev/cuad0

Fertig! Über die cu-Sitzung können Sie nun die zu installierende Maschine steuern. Der Kernel wird automatisch geladen und Sie können anschließend den Terminaltyp festlegen. Wählen Sie die FreeBSD color console aus und fahren wie gewohnt mit der Installation fort.

2.13. Eigene Installationsmedien herstellen

Anmerkung:

Im Folgenden ist mit Installations-CD eine CD-ROM oder DVD gemeint, die Sie gekauft oder selbst hergestellt haben.

Oft müssen Sie eigene Installationsmedien erzeugen. Dies können physische Medien wie Bänder sein oder Installationsquellen sein, aus denen sysinstall Dateien herunterlädt, beispielsweise ein lokaler FTP-Server oder eine MS-DOS®-Partition.

Beispiele:

  • Im lokalen Netzwerk befinden sich viele Maschinen, Sie besitzen allerdings nur eine Installations-CD. Den Inhalt der Installations-CD wollen Sie auf einem lokalem FTP-Server bereitstellen. Zur Installation wird der lokale FTP-Server anstelle eines Internet-Servers benutzt.

  • Sie haben eine Installations-CD, allerdings erkennt FreeBSD im Gegensatz zu MS-DOS®/Windows® das CD- oder DVD-Laufwerk nicht. Sie können die Installationsdateien auf eine MS-DOS®-Partition desselben Rechners kopieren und FreeBSD von der MS-DOS®-Partition installieren.

  • Der Rechner, auf dem Sie FreeBSD installieren wollen, besitzt kein CD- oder DVD-Laufwerk. Ein anderer Rechner, zu dem eine serielle oder parallele Verbindung besteht, besitzt allerdings ein CD- oder DVD-Laufwerk.

  • Sie wollen ein Band erzeugen, mit dem Sie FreeBSD installieren können.

2.13.1. Eine Installations-CD-ROM erzeugen

Mit jeder Release stellt das FreeBSD-Project für jede unterstützte Architektur mindestens zwei CD-Abbilder (ISO-Images) zur Verfügung. Wenn Sie einen CD-Brenner besitzen, können Sie diese Abbilder brennen und damit FreeBSD installieren. Wenn Sie einen CD-Brenner besitzen und über eine gute Internet-Verbindung verfügen, ist das die preiswerteste Art, FreeBSD zu installieren.

  1. Das richtige Abbild herunterladen

    Die ISO-Abbilder für jedes Releases können Sie von ftp://ftp.FreeBSD.org/pub/FreeBSD/ISO-IMAGES-arch/version oder einem nahe gelegenen Spiegel herunterladen. Ersetzen Sie arch und version durch passende Werte.

    Das Verzeichnis enthält die folgenden Abbilder:

    Tabelle 2.4. FreeBSD 8.X ISO-Abbilder
    DateinameInhalt
    FreeBSD-version-RELEASE-arch-bootonly.isoEnthält alles, was Sie benötigen, um um den FreeBSD-Kernel zu laden und das Installationsprogramm zu starten. Die zu installierenden Dateien müssen allerdings über FTP oder eine andere geeignete Quelle bezogen werden, da sie in diesem Abbild nicht enthalten sind.
    FreeBSD-version-RELEASE-arch-dvd1.iso.gzDieses DVD-Abbild enthält alle zur Installation von FreeBSD nötigen Dateien, eine Auswahl an Paketen Dritter sowie die Dokumentation. Zusätzlich ermöglicht es Ihnen dieses Abbild, einen livefs-basierten Rettungsmodus zu starten.
    FreeBSD-version-RELEASE-arch-memstick.imgDieses Abbild kann auf einen USB-Stick geschrieben werden. Dieser kann danach als Installationsmedium verwendet werden (wenn Ihr System dies unterstützt). Zusätzlich ermöglicht es Ihnen dieses Abbild, einen livefs-basierten Rettungsmodus zu starten. Die FreeBSD-Dokumentation ist ebenfalls enthalten, aber keine Pakete Dritter. Dieses Abbild ist erst ab FreeBSD 8.0 verfügbar.
    FreeBSD-version-RELEASE-arch-disc1.isoDieses CD-Abbild enthält alle für die Installation von FreeBSD nötigen Dateien sowie die Dokumentation. Es sind allerdings keine Pakete Dritter enthalten.
    FreeBSD-version-RELEASE-arch-disc2.isoSo viele Pakete Dritter, wie auf dem Installationsmedium Platz hatten. Dieses Abbild ist für FreeBSD 8.X nicht mehr verfügbar.
    FreeBSD-version-RELEASE-arch-disc3.isoEin weiteres Abbild mit so vielen Paketen Dritter, wie auf dem Installationsmedium Platz hatten. Dieses Abbild ist für FreeBSD 8.X nicht mehr verfügbar.
    version-RELEASE-arch-docs.isoDie FreeBSD-Dokumentation.
    FreeBSD-version-RELEASE-arch-livefs.isoDieses Abbild enthät einen livefs-basierten Rettungsmodus. Eine Installation von FreeBSD ist mit diesem Abbild allerdings nicht möglich.

    Anmerkung:

    Die Abbilder für FreeBSD 7.X-Releases vor FreeBSD 7.3 sowie für FreeBSD 8.0 wurden noch unterschiedlich benannt. Bei Ihnen fehlt die Bezeichnung FreeBSD- am Anfang des Abbildnamens.

    Sie benötigen nur eines der beiden Abbilder bootonly oder disc1. Laden Sie bitte nicht beide Abbilder herunter, das disc1-Abbild enthält alles, was das bootonly-Abbild enthält.

    Benutzen Sie das bootonly-Abbild, wenn Sie eine preiswerte Internet-Anbindung besitzen. Mit diesem Abbild können Sie FreeBSD installieren. Software Dritter können Sie anschließend mithilfe des Ports-Systems (Kapitel 5, Installieren von Anwendungen: Pakete und Ports) herunterladen.

    Benutzen Sie das dvd1-Abbild, wenn Sie FreeBSD installieren wollen und das Installationsmedium eine angemessene Auswahl an Software Dritter enthalten soll.

    Die zusätzlichen Abbilder sind nützlich, aber nicht notwendig, insbesondere wenn Sie eine schnelle Internet-Verbindung besitzen.

  2. Die CDs brennen

    Sie müssen die Abbilder auf eine CD brennen. Das Brennen von CDs unter FreeBSD wird in Abschnitt 18.5.2, „Eine CD brennen“ beschrieben.

    Wenn Sie die CDs unter einem anderen Betriebssystem erstellen, benutzen Sie die entsprechenden Werkzeuge des Betriebssystems. Die Abbilder sind Standard-ISO-Abbilder und können von vielen Brennprogrammen verarbeitet werden.

Anmerkung:

Wenn Sie eine angepasste Version von FreeBSD erstellen wollen, sollten Sie den Release Engineering Article lesen.

2.13.2. Einen lokalen FTP-Server einrichten

Die Dateien auf der Installations-CD sind genauso angeordnet wie auf den FreeBSD-FTP-Servern. Daher ist es einfach, einen lokalen FTP-Server für die FreeBSD-Installation über ein Netzwerk einzurichten.

  1. Hängen Sie auf dem FTP-Server die CD-ROM in das Verzeichnis /cdrom ein:

    # mount /cdrom
  2. Legen Sie ein Konto für Anonymous-FTP an. Dazu editieren Sie die Datei /etc/passwd mit dem Kommando vipw(8) und fügen die nachstehende Zeile hinzu:

    ftp:*:99:99::0:0:FTP:/cdrom:/nonexistent
  3. Stellen Sie sicher, dass der FTP-Dienst in der Datei /etc/inetd.conf aktiviert ist.

Jeder, der Ihren Rechner über das Netzwerk erreicht, kann nun FreeBSD über FTP installieren. In sysinstall wird dazu FTP als Installationsmedium wählt. Der FTP-Server wird durch die Auswahl Other (andere als die vorgegebenen Server) und anschließende Eingabe von ftp://Ihr Rechner festgelegt.

Anmerkung:

Wenn die Version der für die FTP-Installation Ihrer Clients verwendeten Bootmedien (normalerweise Disketten) nicht exakt der von Ihnen auf Ihrem lokalen FTP-Server angebotenen Version entspricht, ist sysinstall nicht in der Lage, die Installation abzuschließen. Sind die Versionsnummern unterschiedlich, können Sie durch das Aufrufen des Punktes Options sysinstall dazu zwingen, die Installation dennoch abzuschließen. Dazu setzen Sie den Namen der Distribution auf any.

Warnung:

Diese Vorgehensweise ist in Ihrem lokalen Netzwerk, das durch eine Firewall geschützt ist, völlig in Ordnung. Wenn Sie FTP für Rechner auf dem Internet (und nicht für lokale Rechner) anbieten, zieht Ihr Server die Aufmerksamkeit von Crackern und andere Unannehmlichkeiten auf sich. Achten Sie in diesem Fall darauf, dass Sie gute Sicherheitsverfahren anwenden.

2.13.3. Installationsdisketten erstellen

Wenn Sie, was wir nicht empfehlen, von Disketten installieren müssen, weil Disketten das einzig unterstützte Installationsmedium sind oder Sie es sich einfach schwer machen wollen, müssen Sie zunächst einige Disketten vorbereiten.

Sie müssen mindestens den Inhalt des Verzeichnisses base auf 1.44 MB Disketten kopieren. Wenn Sie die Disketten unter MS-DOS® erstellen, müssen Sie die Disketten mit dem MS-DOS®-Kommando FORMAT formatieren. Unter Windows® können Sie Disketten mithilfe des Explorers formatieren (klicken Sie mit der rechten Maustaste auf das A:-Laufwerk und wählen Sie Format aus).

Vertrauen Sie vorformatierten Disketten nicht; formatieren Sie die Disketten zur Sicherheit immer selbst. In der Vergangenheit waren vorformatierte Disketten der Verursacher vieler Probleme.

Falls Sie die Disketten auf einer FreeBSD-Maschine erstellen, sollten Sie immer noch formatieren. Allerdings brauchen Sie kein MS-DOS®-Dateisystem auf den Disketten anzulegen. Mit den Kommandos bsdlabel und newfs können Sie das Dateisystem UFS verwenden, wie im nachstehenden Beispiel für 3.5" 1.44 MB Disketten gezeigt:

# fdformat -f 1440 fd0.1440
# bsdlabel -w fd0.1440 floppy3
# newfs -t 2 -u 18 -l 1 -i 65536 /dev/fd0

Anschließend können Sie die Disketten wie ein normales Dateisystem einhängen und beschreiben.

Nachdem Sie die Disketten formatiert haben, kopieren Sie die Dateien der Distribution auf die Disketten. Die Dateien der Distribution sind in Stücke geteilt, sodass fünf Dateien auf eine 1.44 MB Diskette passen. Kopieren Sie die gewünschten Distribution auf Disketten, wobei Sie so viele Dateien wie möglich auf eine Diskette kopieren. Jede Distribution wird auf der Diskette in einem eigenen Verzeichnis abgelegt, beispielsweise a:\base\base.aa, a:\base\base.ab und so weiter.

Wichtig:

Die Datei base.inf muss unbedingt auf die erste Diskette des base-Diskettensatzes kopiert werden, damit das Installationsprogramm feststellen kann, wie viele Disketten geladen werden müssen, um die Distribution wieder zusammenzusetzen.

Im Installationsprozess wählen Sie als Installationsmedium Floppy aus. Folgen Sie dann den gegebenen Anweisungen.

2.13.4. Von einer MS-DOS®-Partition installieren

Um eine Installation von einer MS-DOS®-Partition vorzubereiten, kopieren Sie Dateien der Distributionen in das Verzeichnis freebsd direkt unterhalb des Wurzelverzeichnisses (zum Beispiel c:\freebsd). In diesem Verzeichnis muss sich dieselbe Verzeichnisstruktur wie auf dem Installationsmedium befinden. Wenn Sie die Dateien von einer Installations-CD kopieren, empfehlen wir den MS-DOS®-Befehl xcopy. Das nachstehende Beispiel bereitet eine minimale Installation von FreeBSD vor:

C:\> md c:\freebsd
C:\> xcopy e:\bin c:\freebsd\bin\ /s
C:\> xcopy e:\manpages c:\freebsd\manpages\ /s

Im Beispiel wurde angenommen, dass auf Laufwerk C: ausreichend Platz vorhanden ist und die CD-ROM Laufwerk E: ist.

Wenn Sie kein CD-Laufwerk besitzen, können Sie die Distributionen von ftp.FreeBSD.org herunterladen. Jede Distribution liegt in einem eigenen Verzeichnis. Beispielsweise liegt die Base-Distribution im Verzeichnis 10.3/base/.

Kopieren Sie jede Distribution, die Sie von einer MS-DOS®-Partition installieren wollen (und für die Platz ist) in das Verzeichnis c:\freebsd. Für eine minimale Installation benötigen Sie nur die Base-Distribution.

2.13.5. Ein Installationsband erstellen

Falls Sie nicht über FTP oder von einer CD-ROM installieren können, ist die Installation von Band wahrscheinlich die einfachste Methode. Das Installationsprogramm erwartet, dass sich die Distributionen im tar-Format auf dem Band befinden. Von den Distributions-Dateien erstellen Sie das Installationsband einfach mit dem Kommando tar:

# cd /freebsd/distdir
# tar cvf /dev/rwt0 dist1 ... dist2

Stellen Sie während der Installation sicher, dass Sie über genügend freien Platz in einem temporären Verzeichnis (das Sie festlegen können) verfügen. Das temporäre Verzeichnis muss den gesamten Inhalt des Bands aufnehmen können. Da auf Bänder nicht wahlfrei zugegriffen werden kann, benötigt diese Installationsmethode temporär sehr viel Platz.

Anmerkung:

Das Band muss sich vor dem Neustart mit der Startdiskette im Laufwerk befinden. Ansonsten wird das Band während der Geräteerkennung vielleicht nicht erkannt.

2.13.6. Eine Netzwerkinstallation vorbereiten

Sie können drei Verbindungsarten für eine Netzwerkinstallation benutzen: Eine Ethernet-Verbindung, eine serielle Verbindung (PPP), oder eine parallele Verbindung (PLIP, Laplink-Kabel).

Die schnellste Netzwerkinstallation ist natürlich mit einer Netzwerkkarte möglich. FreeBSD unterstützt die meisten der üblichen Netzwerkkarten. Eine Liste der unterstützten Netzwerkkarten ist in den Hardware-Notes jedes Releases enthalten. Wenn Sie eine unterstützte PCMCIA-Netzwerkkarte benutzen, stellen Sie sicher, dass die Karte eingesteckt ist, bevor der Laptop eingeschaltet wird. Leider unterstützt FreeBSD das Einstecken von PCMCIA-Karten während der Installation noch nicht.

Für eine Netzwerkinstallation müssen Sie Ihre IP-Adresse, die Netzwerkmaske und den Namen Ihres Rechner kennen. Wenn Sie über eine PPP-Verbindung installieren und keine feste IP-Adresse besitzen, braucht Sie der vorgehende Satz nicht zu beunruhigen. Sie können eine IP-Adresse dynamisch von Ihrem ISP beziehen. Fragen Sie Ihren Systemadministrator nach den richtigen Netzwerkeinstellungen. Wenn Sie andere Rechner über Namen anstatt über IP-Adressen erreichen wollen, brauchen Sie zudem einen Nameserver und möglicherweise die Adresse eines Gateways (mit PPP ist das die Adresse des ISPs), über den Sie den Nameserver erreichen. Wenn Sie von einem FTP-Server über einen HTTP-Proxy installieren wollen, benötigen Sie außerdem noch die Adresse des Proxy-Servers. Wenn Sie nicht alle oder zumindest die meisten der benötigten Daten kennen, sollten Sie wirklich vor der Installation mit Ihrem Systemadministrator oder ISP reden!

Wenn Sie ein Modem benutzen, ist PPP ziemlich sicher die einzige Wahl. Stellen Sie sicher, dass Sie die Daten Ihres Service Providers bereitliegen haben, da Sie während der Installation die Daten früh benötigen.

Wenn Sie PAP oder CHAP benutzen, um sich mit Ihrem ISP zu verbinden (wenn Sie unter Windows® kein Skript benötigen, um die Verbindung herzustellen), brauchen Sie an der ppp-Eingabeaufforderung nur das Kommando dial abzusetzen. Ansonsten müssen Sie sich mit Modem-spezifischen AT-Kommandos bei Ihrem ISP einwählen (PPP stellt nur einen einfachen Terminal-Emulator zur Verfügung). Weiteres über PPP erfahren Sie im Abschnitt User-PPP des Handbuchs und im PPP-Abschnitt der FAQ. Bei Problemen können Sie mit dem Kommando set log local Meldungen auf den Bildschirm umleiten.

Wenn eine feste Verbindung zu einer anderen FreeBSD-Maschine besteht, sollten Sie ein paralleles Laplink-Kabel in Betracht ziehen. Über eine parallele Verbindung sind höhrere Geschwindigkeiten als über eine serielle Verbindung (typischerweise bis zu 50 kByte/s) möglich. Daher ist die Installation über eine parallele Verbindung schneller als eine Installation über eine serielle Verbindung.

2.13.6.1. Eine NFS-Installation vorbereiten

Eine NFS-Installation ist unkompliziert. Kopieren Sie einfach die Distributionen auf einen NFS-Server und wählen Sie NFS als Installationsmedium aus.

Wenn der NFS-Server nur Verbindungen über privilegierte Ports (Ports kleiner 1024) annimmt, setzen Sie vor der Installation die Option NFS Secure im Menü Options.

Wenn Sie eine schlechte Netzwerkkarte besitzen, die sehr langsam ist, wählen Sie die Option NFS Slow.

Damit die NFS-Installation funktioniert, muss der NFS-Server auch Unterverzeichnisse von exportierten Verzeichnissen zum Einhängen freigeben. Wenn beispielsweise die Distribution von FreeBSD 10.3 unter ziggy:/usr/archive/stuff/FreeBSD liegt, muss der Rechner ziggy erlauben, das Verzeichnis /usr/archive/stuff/FreeBSD einzuhängen. Es reicht nicht, dass ziggy erlaubt das Verzeichnis /usr oder /usr/archive/stuff einzuhängen.

Unter FreeBSD werden diese Freigaben in der Datei /etc/exports mit der Option -alldirs eingestellt. Die nötigen Einstellungen können auf einem anderen NFS-Server unterschiedlich sein. Wenn Sie vom NFS-Server die Fehlermeldung permission denied erhalten, dann haben Sie wahrscheinlich die Freigaben nicht richtig konfiguriert.

Kapitel 3. FreeBSD 9.X (und neuer) installieren

Restructured, reorganized, and parts rewritten by Jim Mock.
Updated for bsdinstall by Gavin Atkinson und Warren Block.
Erweitert um root-on-ZFS von Allan Jude.
Übersetzt von Benedict Reuschling.

3.1. Übersicht

Beginnend mit FreeBSD 9.0-RELEASE enthält FreeBSD ein text-basiertes, einfach zu verwendendes Installationsprogramm namens bsdinstall. Dieses Kapitel beschreibt die Installation von FreeBSD mit Hilfe von bsdinstall. Der Einsatz von sysinstall, das Installationsprogramm von FreeBSD-nbsp;8.x, wird in Kapitel 2, FreeBSD 8.X (und älter) installieren behandelt.

Die Installationsanweisungen in diesem Kapitel gelten für die i386™- und AMD64-Architekturen. Gegebenenfalls werden spezifische Anweisungen für andere Plattformen erwähnt. Möglicherweise gibt es auch geringfügige Unterschiede zwischen dem Installationsprogramm und dem, was hier gezeigt wird. Sie sollten dieses Kapitel daher als eine Art Wegweiser und nicht als exakte Anleitung betrachten.

Anmerkung:

Benutzer, die es vorziehen, FreeBSD mit einem graphischen Installationsprogramm zu installieren, sind vielleicht an pc-sysinstall, dem Installationsprogramm des PC-BSD Projekts interessiert. Dieses Installationsprogramm kann benutzt werden, um einen graphischen Desktop (PC-BSD) oder eine Kommandozeilen-Version von FreeBSD zu installieren. Weitere Details finden Sie im PC-BSD Handbuch ( http://wiki.pcbsd.org/index.php/Colophon).

Nachdem Sie dieses Kapitel gelesen haben, werden Sie wissen:

  • welche Mindestanforderungen an die Hardware gestellt werden und welche Architekturen FreeBSD unterstützt.

  • wie man FreeBSD Installationsmedien erstellt.

  • wie man bsdinstall startet.

  • welche Fragen bsdinstall stellt, was sie bedeuten und wie man diese beantwortet.

  • wie Sie Fehler bei der Installation beheben.

  • wie Sie eine Live-Version von FreeBSD ausprobieren können, bevor Sie die Installtion starten.

Bevor Sie dieses Kapitel lesen, sollten Sie:

  • Die Liste von unterstützter Hardware lesen, die mit der zu installierenden Version von FreeBSD ausgeliefert wird, um sicherzustellen, dass die Hardware auch unterstützt wird.

3.2. Minimale Hardwarenaforderungen

Die Hardwaranforderungen zur Installation von FreeBSD variieren mit der Version von FreeBSD und der Hardwarearchitektur. Hardwarearchitekturen und von FreeBSD unterstützte Geräte werden in den Hardware Notes aufgelistet. Normalerweise heißt diese Datei HARDWARE.TXT und befindet sich im Wurzelverzeichnis des Installationsmediums. Kopien dieser Hardwareliste finden Sie in den Release Information der FreeBSD Webseite ( http://www.FreeBSD.org/releases/index.html).

Für die Installation von FreeBSD sind mindestens 64 MB RAM und 1.5 GB freier Festplattenspeicher erforderlich. Das ist jedoch eine minimale Installation, die kaum freien Speicherplatz bietet. Die Anforderungen an den Arbeitsspeicher hängen stark vom Einsatzzweck ab. Während spezialisierte FreeBSD-Systeme mit weniger als 128 MB RAM auskommen, sollten Desktop-Systeme mindestens 4 GB RAM haben.

Die Anforderungen an den Prozessor für jede Architektur lassen sich wie folgt zusammenfassen:

amd64

Dies ist die häufigste Art von Prozessor für Desktop- und Laptop-Computern. Andere Anbieter nennen diese Architektur auch x86-64.

Es gibt zwei primäre Anbieter von amd64-Prozessoren: Intel® (produziert Intel64-Prozessoren) und AMD (produziert AMD64).

Beispiele für amd64-kompatible Prozessoren umfassen: AMD Athlon™64, AMD Opteron™, multi-core Intel® Xeon™ und Intel® Core™ 2 sowie neuere Prozessoren.

i386

Die 32-Bit x86-Architektur.

Fast alle i386-kompatiblen Prozessoren mit einer Floating-Point-Einheit werden unterstützt. Alle Intel®-Prozessoren 486 oder neuer werden unterstützt.

FreeBSD nutzt die Physical Adress Extensions (PAE), falls die CPU diese Funktion unterstützt. Wenn PAE im Kernel aktiviert ist, wird Speicher über 4 GB vom Kernel erkannt und kann von System verwendet werden. Diese Funktion bringt auch Einschränkungen für die Gerätetreiber und anderen Komponenten von FreeBSD. Einzelheiten finden Sie in pae(4).

ia64

Die derzeit unterstützten Prozessoren sind Itanium® und Itanium® 2. Zu den unterstützten Chipsätzen zählen HP zx1, Intel® 460GX und Intel® E8870. Sowohl Einprozessorsysteme (UP) als auch Mehrprozessorsysteme (SMP werden unerstützt.

pc98

Die NEC PC-9801/9821-Serie mit fast allen i386-kompatiblen Prozessoren, einschließlich 80486, Pentium®, Pentium® Pro und Pentium® II werden unterstützt. Alle i386-kompatiblen Prozessoren von AMD, Cyrix, IBM und IDT werden ebenfalls unterstützt. Ebenso die EPSON PC-386/486/586-Serie, welche mit der NEC-Serie PC-9801 kompatibel ist. NEC FC-9801/9821 und die NEC SV-98-Serie sollte ebenfalls unterstützt werden.

Der hochauflösende Modus wird nicht unterstützt. NEC PC-98XA/XL/RL/XL^2 und die NEC PC-H98-Serie werden nur im normalen (PC-9801 kompatibel) Modus unterstützt. Die SMP bezogenen Funktionen von FreeBSD werden nicht unterstützt. Auch der New Extend Standard Architecture (NESA) Bus, verwendet in den Serien PC-H98, SV-H98 und FC-H98, wird nicht unterstützt.

powerpc

Alle New Word ROM Apple® Mac®-Systeme mit integriertem USB werden unterstützt. SMP wird auf Maschinen mit mehreren CPUs unterstützt.

Ein 32-Bit Kernel kann jedoch nur die ersten 2 GB RAM verwenden.

sparc64

Systeme, die von FreeBSD/sparc64 unterstützt werden, sind auf der FreeBSD/sparc64-Projektseite aufgelistet ( http://www.FreeBSD.org/platforms/sparc.html").

SMP wird auf allen Systemen mit mehr als einem Prozessor unterstützt. Eine dedizierte Platte wird benötigt, da es nicht möglich ist, eine Platte mit einem anderen Betriebssystem zur gleichen Zeit zu teilen.

3.3. Vor der Installation

Wenn das System die Mindestanforderungen für die Installation von FreeBSD erfüllt, sollte die Installationsdatei heruntergeladen und die Installationsmedien vorbereitet werden. Bevor Sie dies tun, prüfen Sie mit Hilfe dieser Checkliste, ob das System für die Installation bereit ist:

  1. Sichern Sie wichtige Daten

    Erstellen Sie immer eine Sicherung aller wichtigen Daten, bevor Sie ein Betriebssystem installieren. Speichern Sie die Daten jedoch nicht auf dem System, auf dem das Betriebssystem installiert wird, sondern nutzen Sie einen Wechseldatenträger, wie beispielsweise ein USB-Laufwerk, oder sichern Sie auf einem anderen System im Netzwerk, oder nutzen einen Online-Backup-Dienst. Überprüfen Sie die Sicherungen, bevor Sie mit der Installation beginnen. Sobald das Installationsprogramm die Festplatte des Systems formatiert, gehen alle gespeicherten Daten unwiderruflich verloren.

  2. Den Installationsort von FreeBSD festlegen

    Falls FreeBSD das einzige installierte Betriebssystem sein wird, kann dieser Schritt übersprungen werden. Sollte FreeBSD allerdings die Platte mit anderen Betriebssystemen teilen, müssen Sie entscheiden, welche Platte oder Partition für FreeBSD verwendet werden soll.

    Für die Architekturen i386 und amd64 können die Platten in mehrere Partitionen aufgeteilt werden. Dazu stehen Ihnen zwei Partitionsschemata zur Verfügung. Traditionell enthält ein Master Boot Record (MBR) eine Partitionstabelle, welche bis zu vier primäre Partitionen aufnehmen kann. Aus historischen Gründen werden diese primären Partitionen in FreeBSD slices genannt. Eine Begrenzung von nur vier Partitionen ist für große Platten sehr beschränkt, so dass eine dieser primären Partitionen als erweiterte Partition eingesetzt wird. Mehrere logische Partitionen können dann innerhalb der erweiterten Partition angelegt werden. Die GUID-Partitionstabelle (GPT) ist eine neuere und einfachere Methode zur Partition einer Festplatte. Geläufige GPT-Implementierungen erlauben bis zu 128 Partitionen pro Platte, was die Notwendigkeit von logischen Partitionen eliminiert.

    Warnung:

    Manche älteren Betriebssysteme wie Windows® XP sind mit dem GPT-Partitionsschema nicht kompatibel. Wenn sich FreeBSD die Platte mit einem solchen Betriebssystem teilen soll, werden MBR Partitionen benötigt.

    FreeBSDs Standard-Bootloader benötigt entweder eine primäre oder eine GPT-Partition. Wenn alle primären oder GPT-Partitionen bereits in Verwendung sind, muss eine davon für FreeBSD zur Verfügung gestellt werden. Benutzen Sie ein Werkzeug zur Veränderung der Partitionsgrößen, wenn Sie eine Partition erstellen möchten, ohne dabei vorhandene Daten zu löschen. Den freigegebenen Platz können Sie dann für die Installation verwenden.

    Eine Vielzahl freier und kommerzieller Werkzeuge zur Veränderung der Partitionsgrößen finden Sie unter http://en.wikipedia.org/wiki/List_of_disk_partitioning_software. GParted Live (http://gparted.sourceforge.net/livecd.php) ist eine freie Live-CD, die den GParted-Partitionseditor enthält. GParted ist auch in einer Vielzahl von anderen Linux Live-CD Distributionen enthalten.

    Warnung:

    Bei richtiger Anwendung können Werkzeuge zur Veränderung von Partitionsgrößen auf sichere Art und Weise Platz für eine neue Partition schaffen. Erstellen Sie trotzdem eine Vollsicherung und überprüfen Sie deren Integrität bevor Sie die Partitionen auf der Platte verändern.

    Festplattenpartitionen, die unterschiedliche Betriebssysteme enthalten, ermöglichen es, jeweils eines dieser Systeme zu verwenden. Eine alternative Möglichkeit, mehrere Betriebssysteme gleichzeitig einzusetzen, ohne dabei Partitionen ändern zu müssen, wird im Kapitel 22, Virtualisierung behandelt.

  3. Netzwerkparameter ermitteln

    Manche FreeBSD Installationsarten benötigen eine Netzwerkverbindung, um Installationsdateien herunter zu laden. Nach jeder Installation bietet das Installationsprogramm die Möglichkeit, die Netzwerkschnittstellen des Systems zu konfigurieren.

    Steht im Netzwerk ein DHCP-Server zur Verfügung, wird dieser im Allgemeinen verwendet, um automatisch Netzwerkeinstellungen vorzunehmen. Falls DHCP nicht verfügbar ist, müssen die folgenden Netzwerkeinstellungen beim lokalen Netzwerkadministrator oder Provider erfragt werden:

    Erforderliche Informationen zum Netzwerk
    1. IP-Adresse

    2. Subnetz-Maske

    3. IP-Adresse des Default-Gateway

    4. Domänenname des Netzwerks

    5. IP-Adressen der DNS-Server im Netzwerk

  4. Lesen Sie die FreeBSD-Errata

    Obwohl das FreeBSD Projekt sich bemüht, jede veröffentlichte Version von FreeBSD so stabil wie möglich zu machen, können sich doch gelegentlich Fehler in den Veröffentlichungsprozess einschleichen. In sehr seltenen Fällen betreffen diese Fehler den Installationsvorgang. Wenn diese Probleme entdeckt und behoben sind, werden dazu Hinweise in der FreeBSD Errata ( http://www.freebsd.org/releases/10.3R/errata.html) auf der FreeBSD Webseite veröffentlicht. Prüfen Sie die Errata vor der Installation, um sicherzustellen, dass es keine Probleme gibt, welche die Installation betreffen.

    Informationen und Errata für all diese Veröffentlichungen finden Sie unter den Release Informationen auf der FreeBSD Webseite ( http://www.freebsd.org/releases/index.html).

3.3.1. Die Installationsmedien vorbereiten

Das FreeBSD-Installationsprogramm ist keine Anwendung, das aus einem anderen Betriebssystem heraus gestartet werden kann. Laden Sie stattdessen eine Installationsdatei für FreeBSD herunter und brennen Sie den Dateityp auf einen entsprechenden Datenträger (CD, DVD, oder USB). Starten Sie dann das System mit diesem Datenträger.

Die FreeBSD-Installationsmedien sind unter www.freebsd.org/where.html#download verfügbar. Der Name der Installationsdatei enthält die Version von FreeBSD, die Architektur sowie den Dateityp. Wenn Sie beispielsweise FreeBSD 10.2 auf einem amd64-System von DVD installieren wollen, laden Sie FreeBSD-10.0-RELEASE-amd64-dvd1.iso und brennen Sie die Datei auf eine DVD. Starten Sie dann das System mit dieser DVD.

Es stehen mehrere Dateitypen zur Verfügung, wenn auch nicht alle Dateitypen für alle Architekturen zur Verfügung stehen. Mögliche Dateitypen sind:

  • -bootonly.iso: Dies ist die kleinste Installation, die lediglich das Installationsprogramm enthält. Hierzu ist während der Installation eine funktionierende Internetverbindung erforderlich, da das Installationsprogramm die benötigen Dateien für die FreeBSD-Installation herunter laden muss. Diese Datei sollte mit einem CD-Brennprogramm auf CD gebrannt werden.

  • -disc1.iso: Diese Datei enthält alle benötigten Dateien für eine FreeBSD-Installation, den Quellcode und die Ports-Sammlung. Die Datei sollte mit einem CD-Brennprogramm auf CD gebrannt werden.

  • -dvd1.iso: Diese Datei enthält alle benötigen Dateien für eine FreeBSD-Installation, den Quellcode und die Ports-Sammlung. Darüber hinaus enthält sie eine Reihe von beliebten Binärpaketen zur Installation eines Window-Managers, sodass Sie ein komplettes System installieren können, ohne dass Sie eine Verbindung zum Internet benötigen. Die Datei sollte mit einem DVD-Brennprogramm auf eine DVD gebrannt werden.

  • -memstick.img: Diese Datei enthält alle benötigten Dateien für eine FreeBSD-Installation, den Quellcode und die Ports-Sammlung. Die Datei sollte mit den nachstehenden Anweisungen auf einen USB-Stick geschrieben werden.

Laden Sie auch CHECKSUM.SHA256 aus dem gleichen Verzeichnis herunter, um die Integrität der Installationsmedien anhand einer Prüfsumme zu berechnen. FreeBSD bietet hierfür sha256(1) an, andere Betriebssysteme haben ähnliche Programme. Vergleichen Sie die Prüfsumme mit der in CHECKSUM.SHA256. Wenn die beiden Prüfsummen nicht übereinstimmen, ist die Datei beschädigt und sollte erneut heruntergeladen werden.

3.3.1.1. Eine Installationsdatei auf einen USB-Stick schreiben

Die *.img-Datei ist ein komplettes Abbild (engl. Image) des späteren USB-Sticks. Die Datei kann nicht auf das Zielgerät kopiert werden. Es existieren jedoch mehrere Programme, mit denen die *.img-Datei auf einen USB-Stick geschrieben werden kann. In diesem Abschnitt werden zwei dieser Programme vorgestellt.

Wichtig:

Bevor Sie fortfahren, machen Sie Sicherungskopien der Daten auf dem USB-Stick. Diese Prozedur wird alle Daten auf dem Stick löschen.

Prozedur 3.1. Das Image mit dd auf einen USB-Stick schreiben

Warnung:

Dieses Beispiel verwendet /dev/da0 als das Zielgerät, auf welches das Image geschrieben werden soll. Seien Sie sehr vorsichtig, dass das richtige Gerät benutzt wird, da das Kommando alle vorhandenen Daten auf dem Zielgerät zerstört.

  • Das Werkzeug dd(1) steht unter BSD, Linux® und Mac OS®-Systemen zur Verfügung. Um das Image zu brennen, verbinden Sie den USB-Stick mit dem System und bestimmen Sie dessen Gerätenamen. Geben Sie dann den Namen der Installationsdatei und den Gerätenamen des USB-Sticks an. Dieses Beispiel schreibt die Installation für amd64 auf das erste USB-Gerät im FreeBSD-System.

    # dd if=FreeBSD-10.0-RELEASE-amd64-memstick.img of=/dev/da0 bs=1M conv=sync

    Wenn dieser Befehl fehlschlägt, stellen Sie sicher, dass der USB-Stick nicht eingehangen ist und prüfen Sie den Gerätenamen. Auf einigen Systemen muss der Befehl vielleicht mit Hilfe von sudo(8) ausgeführt werden. Einige Systeme wie Linux® verwenden vielleicht einen Puffer. Verwenden Sie dann sync(8), um die Daten zu schreiben.

Prozedur 3.2. Das Image unter Windows® schreiben

Warnung:

Versichern Sie sich, dass Sie den korrekten Laufwerksbuchstaben angeben, da die bestehenden Daten des Laufwerks überschrieben und zerstört werden.

  1. Image Writer für Windows® herunterladen

    Image Writer für Windows® ist eine frei verfügbare Anwendung, welche eine Imagedatei korrekt auf einen USB-Stick schreiben kann. Laden Sie diese von https://launchpad.net/win32-image-writer/ herunter und entpacken Sie sie in einen Ordner.

  2. Das Image mit Image Writer auf den USB-Stick schreiben

    Klicken Sie doppelt auf das Win32DiskImager-Icon, um das Programm zu starten. Prüfen Sie dabei, dass der Laufwerksbuchstabe unter Device dem Gerät entspricht, in dem sich der USB-Stick befindet. Klicken Sie auf das Ordnersymbol und wählen Sie das Image aus, welches auf den USB-Stick geschrieben werden soll. Um den Image-Dateinamen zu akzeptieren, klicken Sie auf [ Save ]. Überprüfen Sie erneut, ob alles stimmt und dass keine Ordner auf dem USB-Stick in anderen Fenstern geöffnet sind. Sobald alles bereit ist, klicken Sie auf [ Write ], um die Imagedatei auf den USB-Stick zu schreiben.

Sie sind jetzt dazu bereit, mit der Installation von FreeBSD zu beginnen.

3.4. Die Installation starten

Wichtig:

Es werden bei Installation so lange keine Änderungen an den Festplatten durchgeführt, bis die folgende Meldung erscheint:

Your changes will now be written to disk.  If you
have chosen to overwrite existing data, it will
be PERMANENTLY ERASED. Are you sure you want to
commit your changes?

Die Installation kann vor dieser Warnung zu jeder Zeit abgebrochen werden. Falls Zweifel bestehen, dass etwas falsch konfiguriert wurde, schalten Sie einfach den Computer vor diesem Punkt aus und es werden keine Änderungen an der Festplatte vorgenommen.

Dieser Abschnitt beschreibt, wie das System vom Installationsmedium, das nach den Anweisungen in Abschnitt 3.3.1, „Die Installationsmedien vorbereiten“ erstellt wurde, gebootet wird. Wenn Sie einen bootfähigen USB-Stick einsetzen, verbinden Sie diesen mit dem System, bevor Sie den Computer einschalten. Falls die Installation von einer CD startet, müssen Sie den Computer einschalten und die CD so bald wie möglich einlegen. Wie das System konfiguriert werden muss, um von dem verwendeten Installationsmedium zu booten, hängt von der Architektur ab.

3.4.1. Systemstart von i386™ und amd64

Diese Architekturen beinhalten ein BIOS-Menü zur Auswahl des Boot-Gerätes. Abhängig von dem verwendeten Installationsmedium können Sie CD/DVD oder USB als erstes Boot-Gerät auswählen. Die meisten Systeme erlauben es auch, das Boot-Gerät während des Startvorgangs zu wählen, typischerweise durch drücken von F10, F11, F12 oder Esc.

Falls der Computer wie normal startet und das bestehende Betriebssystem lädt, befolgen Sie einen der hier aufgeführten Schritte:

  1. Das Installationsmedium wurde während des Startvorgangs nicht früh genug eingelegt. Lassen Sie das Medium eingelegt und versuchen Sie, den Rechner neu zu starten.

  2. Die Änderungen am BIOS waren nicht richtig oder wurden nicht gespeichert. Überprüfen Sie, dass das richtige Boot-Gerät als erstes Boot-Gerät ausgewählt ist.

  3. Das verwendete System ist zu alt und unterstützt das starten vom gewählten Medium nicht. In diesem Fall kann der Plop Boot Manager ( http://www.plop.at/en/bootmanager.html) verwendet werden, um ältere Computer von CD oder USB-Medien zu starten.

3.4.2. Systemstart beim PowerPC®

Auf den meisten Maschinen können Sie C auf der Tastatur gedrückt halten, um von der CD zu starten. Andernfalls, halten Sie Command+Option+O+F, oder Windows+Alt+O+F auf nicht-Apple® Tastaturen gedrückt. Geben Sie an der 0 >-Eingabeaufforderung folgendes ein:

boot cd:,\ppc\loader cd:0

3.4.3. Systemstart für SPARC64®

Die meisten SPARC64®-Systeme sind so eingerichtet, dass diese automatisch von der Festplatte starten. Um FreeBSD von CD zu installieren ist es nötig, in die PROM einzubrechen.

Um dies zu tun, starten Sie das System neu und warten Sie bis die Startmeldungen erscheinen. Abhängig vom Modell sollte dies in etwa folgendermaßen aussehen:

Sun Blade 100 (UltraSPARC-IIe), Keyboard Present
Copyright 1998-2001 Sun Microsystems, Inc.  All rights reserved.
OpenBoot 4.2, 128 MB memory installed, Serial #51090132.
Ethernet address 0:3:ba:b:92:d4, Host ID: 830b92d4.

Falls das System jetzt damit fortfährt von Platte zu starten, müssen Sie L1+A oder Stop+A auf der Tastatur eingeben oder ein BREAK über die serielle Konsole senden. Wenn Sie tip oder cu bentutzen, können Sie mit ~# einen BREAK erzeugen. Der Prompt von PROM zeigt dann ok an, wenn es sich um ein System mit einer CPU handelt, beziehungsweise ok {0} auf SMP-Systemen, wobei die Nummer die Anzahl der aktiven CPUs anzeigt.

Legen Sie nun die CD in das Laufwerk und geben Sie boot cdrom am PROM-Prompt ein.

3.4.4. FreeBSD Bootmenü

Wenn das System vom Installationsmedium gestartet wird, erscheint folgendes Menü auf dem Bildschirm:

Abbildung 3.1. FreeBSD Boot Loader Menü
FreeBSD Boot Loader Menü

In der Voreinstellung wird das Menü zehn Sekunden auf Benutzereingaben warten, bevor das Installationsprogramm gestartet wird. Drücken Sie die Leertaste, um den Timer anzuhalten. Um eine Option auszuwählen, drücken Sie die entsprechende Nummer bzw. Buchstaben. Die folgenden Optionen stehen zur Verfügung.

  • Boot Multi User: Dies wird den Boot-Prozess von FreeBSD fortsetzen. Wenn der Timer angehalten wurde, drücken Sie entweder die 1, B, oder Enter.

  • Boot Single User: Dieser Modus kann verwendet werden, um eine bestehende FreeBSD-Installation zu reparieren. Dies wird in Abschnitt 13.5.1, „Der Single-User Modus“ beschrieben. Drücken Sie die 2 oder S um in diesen Modus zu gelangen.

  • Escape to loader prompt: Dieser Modus startet einen Prompt, welcher nur eine begrenzte Anzahl an Low-Level-Befehlen enthält. Dies wird in Abschnitt 13.2.3, „Phase Drei“ beschrieben. Drücken Sie die 3 oder Esc um in diesen Modus zu gelangen.

  • Reboot: Startet das System neu.

  • Configure Boot Options: Öffnet das Menü, welches in Abbildung 3.2, „FreeBSD Boot-Optionen Menü“ beschrieben ist.

Abbildung 3.2. FreeBSD Boot-Optionen Menü
FreeBSD Boot-Optionen Menü

Das Boot-Optionen Menü ist in zwei Abschnitte unterteilt. Der erste Abschnitt wird verwendet, um zurück zum Hauptmenü zu gelangen, oder um Optionen zurück auf die Standardwerte zu setzen.

Im zweiten Abschnitt können verschiedene Optionen auf On oder Off gesetzt werden. Das System wird bei einem Neustart immer mit den Einstellungen für diese Optionen booten:

  • ACPI Support: Wenn das System während des Bootens hängt, setzen Sie diese Option auf Off.

  • Safe Mode: Wenn das System trotz deaktiviertem ACPI Support immer noch hängt, setzen Sie diese Option auf On.

  • Single User: Setzen Sie die Option auf On, um eine bestehende FreeBSD-Installation zu reparieren. Dieser Prozess wird in Abschnitt 13.5.1, „Der Single-User Modus“ beschrieben. Sobald das Problem behoben ist, setzen Sie die Option wieder auf Off.

  • Verbose: Wenn Sie während des Bootens ausführliche Meldungen sehen möchten, zum Beispiel für die Fehlersuche bei Hardwareproblemen, setzen Sie diese Option auf On.

Nachdem Sie die benötigten Auswahlen getroffen haben, drücken Sie die 1 oder die Rücktaste, um zum Hauptmenü zurückzukehren. Drücken Sie dann Enter um den FreeBSD Bootprozess fortzusetzen. Eine Reihe von Boot-Meldungen werden nun im Rahmen der Geräteerkennung von FreeBSD angezeigt. Sobald dieser Prozess abgeschlossen ist, erscheint das Menü aus Abbildung 3.3, „Willkommen-Menü“.

Abbildung 3.3. Willkommen-Menü
Willkommen-Menü

Wählen Sie hier [ Install ] und drücken Sie Enter, um in das Installationsprogramm zu gelangen. Der Rest dieses Kapitels beschreibt das Installationsprogramm. Andernfalls verwenden Sie die Pfeiltasten um einen anderen Menüpunkt auszuwählen. [ Shell ] kann verwendet werden, um eine Shell zu starten und Zugriff auf die Kommandozeilenprogramme zu erhalten, damit beispielsweise die Platten vor der Installation vorbereitet werden können. [ Live CD ] kann verwendet werden um FreeBSD vor der Installation auszuprobieren. Die Live-Version wird in Abschnitt 3.10, „Verwendung der Live-CD beschrieben.

Tipp:

Um sich die Boot-Meldungen und die Ergebnisse der Geräteerkennung erneut anzeigen zu lassen, drücken Sie S gefolgt von Enter. Dadurch wird eine Shell gestartet, in der Sie die Ereignisse seitenweise mit more /var/run/dmesg.boot lesen können. Geben Sie exit ein, um zum Willkommen-Menü zurückzukehren.

3.5. Verwendung von bsdinstall

Dieser Abschnitt zeigt die Reihenfolge der Menüs von bsdinstall sowie die Informationen, die während der Installation abgefragt werden. Benutzen Sie die Pfeiltasten zur Navigation und die Leertaste, um einen Menüpunkt zu aktivieren oder zu deaktivieren. Wenn Sie fertig sind, drücken Sie Enter, um die Auswahl zu speichern und zum nächsten Bildschrim zu gelangen.

3.5.1. Die Tastaturbelegung auswählen

Abhängig davon, welche Systemkonsole verwendet wird, zeigt bsdinstall am Anfang das Menü aus Abbildung 3.4, „Tastaturbelegung festlegen“.

Abbildung 3.4. Tastaturbelegung festlegen
Tastaturbelegung festlegen

Um die Tastaturbelegung zu konfigurieren, wählen Sie [ YES ] gefolgt von Enter. Dadurch wird das Menü aus Abbildung 3.5, „Tastaturauswahlbildschirm“ angezeigt. Wenn Sie stattdessen die Standardtastaturbelegung verwenden möchten, wählen Sie [ NO ] gefolgt von Enter, um dieses Menü zu überspringen.

Abbildung 3.5. Tastaturauswahlbildschirm
Tastaturauswahlbildschirm

Wählen Sie die Tastenbelegung, die der am System angeschlossenen Tastatur am nächsten kommt, indem Sie die Pfeiltasten Hoch/Runter verwenden und anschliessend Enter drücken.

Anmerkung:

Durch drücken von Esc wird das Menü verlassen und die Standardbelegung eingestellt. United States of America ISO-8859-1 ist eine sichere Option, falls Sie sich unsicher sind, welche Auswahl Sie treffen sollen.

In FreeBSD 10.0-RELEASE und neueren Versionen wurde dieses Menü erweitert. Die vollständige Auswahl der Tastaturbelegungen wird nun angezeigt und die Voreinstellung ist ausgewählt. Wird die Tastenbelegung geändert, erscheint ein Dialog, in dem der Benutzer die Einstellung testen kann, bevor die Installation fortgesetzt wird.

Abbildung 3.6. Erweiterte Tastaturbelegung
Erweiterte Tastaturbelegung

3.5.2. Den Rechnernamen festlegen

Das nächste bsdinstall-Menü konfiguriert den Rechnernamen, der für das neu zu installierende System verwendet werden soll.

Abbildung 3.7. Festlegen des Rechnernamens
Festlegen des Rechnernamens

Geben Sie einen für das Netzwerk eindeutigen Rechnernamen an. Der eingegebene Rechnername sollte ein voll-qualifizierter Rechnername sein, so wie z.B. machine3.example.com

3.5.3. Auswahl der zu installierenden Komponenten

Im nächsten Schritt fragt Sie bsdinstall, die optionalen Komponenten für die Installation auszuwählen.

Abbildung 3.8. Komponenten für die Installation auswählen
Komponenten für die Installation auswählen

Die Entscheidung, welche Komponenten auszuwählen sind, hängt grösstenteils davon ab, für was das System künftig eingesetzt werden soll und der zur Verfügung stehende Plattenplatz. Der FreeBSD-Kernel und die Systemprogramme (zusammengenommen auch als Basissystem bezeichnet) werden immer installiert. Abhängig vom Typ der Installation, werden manche dieser Komponenten nicht erscheinen.

  • doc - Zusätzliche Dokumentation, meistens eher von historischem Interesse, wird nach /usr/share/doc installiert. Dokumentation, wie Sie vom FreeBSD Dokumentationsprojekt bereitgestellt wird, kann zu einem späteren Zeitpunkt installiert werden. Anweisungen dazu finden Sie in Abschnitt 24.3, „Aktualisieren der Dokumentationssammlung“.

  • games - Mehrere traditionelle BSD-Spiele, darunter fortune, rot13 und andere.

  • lib32 - Kompatibilitäts-Bibliotheken, um 32-bit Anwendungen auf der 64-bit Version von FreeBSD laufen zu lassen.

  • ports - Die FreeBSD Ports-Sammlung ist eine Sammlung von Dateien, die das herunterladen, erstellen und installieren von Drittanbietersoftware automatisiert. Kapitel 5, Installieren von Anwendungen: Pakete und Ports behandelt die Verwendung der Ports-Sammlung.

    Warnung:

    Das Installationsprogramm prüft nicht, ob genügend Plattenplatz zur Verfügung steht. Wählen Sie diese Option nur, wenn die Festplatte über ausreichend Speicher verfügt. Die Ports-Sammlung nimmt etwa 500 MB Plattenplatz ein.

  • src - Der vollständige FreeBSD Quellcode für den Kernel und die Systemprogramme. Obwohl dies für die meisten Anwendungen nicht benötigt wird, kann es doch für manche Gerätetreiber, Kernelmodule und einigen Anwendungen aus der Ports-Sammlung erforderlich sein. Der Quellcode wird auch benötigt um an FreeBSD selbst mitzuentwickeln. Der komplette Quellcodebaum benötigt 1 GB Plattenplatz und um das gesamte Betriebssystem neu zu erstellen, werden zusätzliche 5 GB Platz benötigt.

3.5.4. Installation aus dem Netzwerk

Das Menü in Abbildung 3.9, „Installation über das Netzwerk“ wird nur angezeigt, wenn Sie von einer -bootonly.iso-CD installieren, da dieses Installationsmedium keine Kopie der Installationsdateien enthält. Da die Installationsdateien über eine Netzwerkverbindung abgerufen werden müssen, weist dieses Menü darauf hin, dass zunächst die Netzwerkschnittstelle konfiguriert werden muss.

Abbildung 3.9. Installation über das Netzwerk
Installation über das Netzwerk

Um die Netzwerkverbindung zu konfigurieren, drücken Sie Enter und folgen Sie den Anweisungen in Abschnitt 3.8.2, „Die Netzwerkschnittstelle konfigurieren“. Sobald die Schnittstelle konfiguriert ist, bestimmen Sie einen Spiegelserver, welcher in der gleichen Region auf der Welt beheimatet ist, wie der Computer, auf dem FreeBSD installiert werden soll. Dateien können so viel schneller übertragen werden, wenn der Spiegelserver sich näher am Zielcomputer befindet und die Installationszeit wird somit reduziert.

Abbildung 3.10. Einen Spiegelserver wählen
Einen Spiegelserver wählen

Die Installation wird auf die gleiche Weise fortfahren, als würden die Installationsdateien auf einem lokalen Installationsmedium vorliegen.

3.6. Plattenplatz bereitstellen

Im nächsten Menü wird die Methode bestimmt, um den Plattenplatz zuzuweisen. Die verfügbaren Optionen hängen von der verwendeten FreeBSD-Version ab.

Abbildung 3.11. Partitionierung unter FreeBSD 9.x
Partitionierung unter FreeBSD 9.x

Abbildung 3.12. Partitionierung unter FreeBSD 10.x und neueren Versionen
Partitionierung unter FreeBSD 10.x und neueren Versionen

Die geführte Partitionierung (Guided) richtet Partitionen automatisch ein, während die manuelle Partitionierung (Manual) es fortgeschrittenen Anwendern erlaubt, selbstgewählte Partitionen über weitere Menüs zu erzeugen. Schließlich gibt es noch die Option Shell, in der Kommandozeilenprogramme wie gpart(8) fdisk(8) und bsdlabel(8) direkt ausgeführt werden können. ZFS Partitionierung, die ab FreeBSD 10 verfügbar ist, erstellt ein root-on-ZFS System mit Unterstützung für Boot Environments, welches optional verschlüsselt werden kann.

Dieser Abschnitt beschreibt, was bei der Partitionierung der Platten zu beachten ist und wie die einzelnen Methoden zur Partitionierung angewendet werden.

3.6.1. Ein Partitionslayout entwerfen

Wenn Sie Dateisysteme anlegen, sollten Sie beachten, dass Festplatten auf Daten in den äußeren Spuren schneller zugreifen können als auf Daten in den inneren Spuren. Daher sollten die kleineren und oft benutzten Dateisysteme an den äußeren Rand der Platte gelegt werden. Die größeren Partitionen wie /usr sollten in die inneren Bereiche gelegt werden. Es empfiehlt sich, die Partitionen in folgender Reihenfolge anzulegen: /, swap, /var und /usr.

Die Größe der /var-Partition ist abhängig vom Zweck der Maschine. Diese Partition enthält hauptsächlich Postfächer, Logdateien und Druckwarteschlangen. Abhängig von der Anzahl an Systembenutzern und der Aufbewahrungszeit für Logdateien, können Postfächer und Logdateien unerwartete Größen annehmen. Die meisten Benutzer benötigen nur selten mehr als ein Gigabyte für /var.

Anmerkung:

Ein paar Mal wird es vorkommen, dass viel Festplattenspeicher in /var/tmp benötigt wird. Wenn neue Software mit pkg_add(1) installiert wird, extrahieren die Paketwerkzeuge eine vorübergehende Kopie der Pakete unter /var/tmp. Die Installation grosser Softwarepakete wie Firefox, Apache OpenOffice oder LibreOffice kann sich wegen zu wenig Speicherplatz in /var/tmp als trickreich herausstellen.

Die /usr Partition enthält viele der Hauptbestandteile des Systems, einschließlich der FreeBSD Ports-Sammlung und den Quellcode des Systems. Für diese Partition werden mindestens zwei Gigabyte empfohlen.

Behalten Sie bei der Auswahl der Partitionsgrößen den Platzbedarf im Auge. Wenn Sie den Platz auf einer Partition vollständig aufgebraucht haben, eine andere Partition aber kaum benutzen, kann die Handhabung des Systems schwierig werden.

Als Daumenregel sollten Sie doppelt soviel Speicher für die Swap-Partition vorsehen, als Sie Hauptspeicher haben, da die VM-Paging-Algorithmen im Kernel so eingestellt sind, dass sie am besten laufen, wenn die Swap-Partition mindestens doppelt so groß wie der Hauptspeicher ist. Zu wenig Swap kann zu einer Leistungsverminderung im VM page scanning Code führen, sowie Probleme verursachen, wenn später mehr Speicher in die Maschine eingebaut wird.

Auf größeren Systemen mit mehreren SCSI-, oder IDE-Laufwerken an unterschiedlichen Controllern, wird empfohlen, Swap-Bereiche auf bis zu vier Laufwerken einzurichten. Diese Swap-Partitionen sollten ungefähr dieselbe Größe haben. Der Kernel kann zwar mit beliebigen Größen umgehen, aber die internen Datenstrukturen skalieren bis zur vierfachen Größe der größten Partition. Ungefähr gleich große Swap-Partitionen erlauben es dem Kernel, den Swap-Bereich optimal über die Laufwerke zu verteilen. Große Swap-Bereiche, auch wenn sie nicht oft gebraucht werden, sind nützlich, da sich ein speicherfressendes Programm unter Umständen auch ohne einen Neustart des Systems beenden lässt.

Indem Sie ein System richtig partitionieren, verhindern Sie, dass eine Fragmentierung in den häufig beschriebenen Partitionen auf die meist nur gelesenen Partitionen übergreift. Wenn Sie die häufig beschriebenen Partitionen an den Rand der Platte legen, dann wird die I/O-Leistung dieser Partitionen steigen. Die I/O-Leistung ist natürlich auch für große Partitionen wichtig, doch erzielen Sie eine größere Leistungssteigerung, wenn Sie /var an den Rand der Platte legen.

3.6.2. Geführte Partitionierung

Bei dieser Methode wird ein Menü die verfügbaren Platten anzeigen. Sollten mehrere Platten angeschlossen sein, wählen Sie diejenige aus, auf der FreeBSD installiert werden soll.

Abbildung 3.13. Aus mehreren Platten eine auswählen
Aus mehreren Platten eine auswählen

Nachdem Sie die Platte ausgewählt haben, fordert das nächste Menü dazu auf, entweder die gesamte Festplatte für die Installation zu nutzen oder eine Partition aus unbenutzten Speicherplatz zu erstellen. Ein allgemeines Partitionslayout, das die gesamte Platte einnimmt wird erstellt, wenn [ Entire Disk ] ausgewählt wird. Durch die Wahl von [ Partition ] wird ein Partitionslayout aus dem unbenutzten Speicherplatz der Platte erstellt.

Abbildung 3.14. Auswahl der gesamten Platte oder einer Partition
Auswahl der gesamten Platte oder einer Partition

Nachdem das Partitionslayout nun erstellt wurde, sollten Sie es überprüfen, um sicherzustellen, dass es die Bedürfnisse der Installation erfüllt. Durch die Auswahl von [ Revert ] können die Partitionen wieder auf den urprünglichen Wert zurückgesetzt werden und durch [ Auto ] werden die automatischen FreeBSD Partitionen wiederhergestellt. Partitionen können auch manuell erstellt, geändert oder gelöscht werden. Sollte die Partitionierung richtig sein, wählen Sie [ Finish ] aus, um mit der Installation fortzufahren.

Abbildung 3.15. Überprüfen der erstellen Partitionen
Überprüfen der erstellen Partitionen

3.6.3. Manuelle Partitionierung

Diese Methode öffnet den Partitionseditor:

Abbildung 3.16. Partitionen manuell erstellen
Partitionen manuell erstellen

Durch hervorheben einer Platte (in diesem Fall ada0) und die Auswahl von [ Create ], wird ein Menü mit den verfügbaren Partitionierungsschemas angezeigt.

Abbildung 3.17. Partitionen manuell anlegen
Partitionen manuell anlegen

GPT ist normalerweise die beste Wahl für amd64-Computer. Ältere Computer, die nicht mit GPT kompatibel sind, sollten MBR verwenden. Die anderen Partitionsschemas werden für gewöhnlich für ältere Computersysteme benutzt.

Tabelle 3.1. Partitionierungsschemas
AbkürzungBeschreibung
APMApple Partition Map, verwendet von PowerPC®.
BSDBSD-Labels ohne einen MBR, manchmal auch dangerously dedicated mode genannt, da nicht-BSD Festplatten-Werkzeuge dies vielleicht nicht erkennen können.
GPTGUID Partition Table ( http://en.wikipedia.org/wiki/GUID_Partition_Table).
MBRMaster Boot Record ( http://en.wikipedia.org/wiki/Master_boot_record).
PC98MBR-Variante, verwendet von NEC PC-98 Computern ( http://en.wikipedia.org/wiki/Pc9801).
VTOC8Volume Table Of Contents, von Sun SPARC64 und UltraSPARC Computern verwendet.

Nachdem das Partitionierungsschema ausgewählt und erstellt wurde, werden durch erneute Auswahl von [ Create ] die Partitionen erzeugt.

Abbildung 3.18. Partitionen manuell erzeugen
Partitionen manuell erzeugen

Eine FreeBSD-Standardinstallation mit GPT legt mindestens die folgenden drei Partitionen an:

  • freebsd-boot - Enthält den FreeBSD-Bootcode.

  • freebsd-ufs - Ein FreeBSD UFS-Dateisystem.

  • freebsd-swap - FreeBSD Auslagerungsbereich (swap space).

Ein weiter Partitionstyp ist freebsd-zfs. Dieser Typ ist für Partitionen bestimmt, die ein FreeBSD ZFS-Dateisystem verwenden sollen (Kapitel 20, Das Z-Dateisystem (ZFS)). gpart(8) enthält Beschreibungen der verfügbaren GPT-Partitionstypen.

Es können mehrere Dateisystempartitionen erzeugt werden und manche Leute ziehen es vor, ein traditionelles Layout mit getrennten Partitionen für die Dateisysteme /, /var, /tmp und /usr zu erstellen. Lesen Sie dazu Beispiel 3.1, „Ein traditionelles, partitioniertes Dateisystem erstellen“, um ein Beispiel zu erhalten.

Größenangaben (Size) können mit gängigen Abkürzungen eingegeben werden: K für Kilobytes, M für Megabytes oder G für Gigabytes.

Tipp:

Korrekte Sektorausrichtung ermöglicht grösstmögliche Geschwindigkeit und das Anlegen von Partitionsgrössen als vielfaches von 4K-Bytes hilft, die passende Ausrichtung auf Platten mit entweder 512-Bytes oder 4K-Bytes Sektorgrössen, festzulegen. Generell sollte die Verwendung von Partitionsgrössen, die sogar vielfache von 1M oder 1G sind, den einfachsten Weg darstellen, um sicher zu stellen, dass jede Partition an einem vielfachen von 4K beginnt. Eine Ausnahme gibt es: momentan sollte die freebsd-boot-Partition aufgrund von Beschränkungen im Bootcode nicht grösser sein als 512K.

Ein Einhägepunkt (Mountpoint) wird benötigt, falls diese Partition ein Dateisystem enthält. Falls nur eine einzelne UFS-Partition erstellt wird, sollte der Einhängepunkt / lauten.

Ein label ist ein Name, durch den diese Partition angesprochen wird. Festplattennamen oder -nummern können sich ändern, falls die Platte einmal an einem anderen Controller oder Port angeschlossen sein sollte, doch das Partitionslabel ändert sich dadurch nicht. Anstatt auf Plattennamen und Partitionsnummern in Dateien wie /etc/fstab zu verweisen, sorgen Labels dafür, dass das System Hardwäreänderungen eher toleriert. GPT-Labels erscheinen in /dev/gpt/, wenn eine Platte angeschlossen wird. Andere Partitionierungsschemas besitzen unterschiedliche Fähigkeiten, Labels zu verwenden und diese erscheinen in anderen /dev/-Verzeichnissen.

Tipp:

Vergeben Sie ein einzigartiges Label auf jedem Dateisystem um Konflikte mit identischen Labels zu verhindern. Ein paar Buchstaben des Computernamens, dessen Verwendungszweck oder Ortes kann dem Label hinzugefügt werden. Beispielsweise labroot oder rootfs-lab für die UFS Root-Partition auf einem Laborrechner namens lab.

Beispiel 3.1. Ein traditionelles, partitioniertes Dateisystem erstellen

Für ein traditionelles Partitionslayout, in dem sich /, /var, /tmp und /usr in getrennten Partitionen befinden sollen, erstellen Sie ein GPT-Partitionsschema und anschliessend die Partitionen selbst. Die gezeigten Partitionsgrössen sind typisch für eine Festplatte von 20 G. Falls mehr Platz verfügbar ist, sind größere Swap oder /var-Partitionen nützlich. Den hier gezeigten Beschreibungen sind bsp für Beispiel vorangestellt, jedoch sollten Sie andere, einzigartige Beschreibungen verwenden, wie oben beschrieben.

Standardmäßig erwartet FreeBSDs gptboot, dass die erste UFS-Partition die /-Partition ist.

PartitionstypGrösseEingehängt alsBeschreibung
freebsd-boot512K  
freebsd-ufs2G/bsprootfs
freebsd-swap4Gbspswap 
freebsd-ufs2G/varbspvarfs
freebsd-ufs1G/tmpbsptmpfs
freebsd-ufsAkzeptieren Sie die Standardeinstellungen (Rest der Platte)/usrbspusrfs

Nachdem die selbstgewählten Partitionen erzeugt wurden, wählen Sie [ Finish ], um mit der Installation fortzusetzen.

3.6.4. Root-on-ZFS automatische Partitionierung

Die Unterstützung für die automatische Erstellung von Root-on-ZFS Installationen wurde in FreeBSD 10.0-RELEASE hinzugefügt. Dieser Modus funktioniert nur mit ganzen Laufwerken und wird alle vorhandenen Daten auf der Platte löschen. Das Installationsprogramm wird die Partitionen für ZFS automatisch an 4k Sektoren ausrichten. Dies funktioniert auch zuverlässig bei einer Sektorgröße von 512 Byte und hat den Vorteil, dass nachträglich Laufwerke mit einer Sektorgröße von 4k hinzugefügt werden können, entweder als zusätzlicher Speicherplatz oder als Ersatz für eine ausgefallene Platte. Das Installationsprogramm kann auch optional die Platte mit GELI verschlüsseln, wie in Abschnitt 18.12.2, „Plattenverschlüsselung mit geli beschrieben. Wird die Verschlüsselung aktiviert, wird eine 2 GB große unverschlüsselte Partition für /boot erstellt. Diese enthält den Kernel und weitere Dateien, die nötig sind um den Kernel zu booten. Zudem wird eine Swap-Partition erstellt. Der verbleibende Platz wird für den ZFS-Pool verwendet.

Das Konfigurationsmenü für ZFS bietet einige Optionen, um die Erstellung des Pools zu beeinflussen.

Abbildung 3.19. ZFS Konfigurationsmenü
ZFS Konfigurationsmenü

Wählen Sie T um den Pool Typ und die Festplatte(n) zu konfigurieren, die den Pool bilden werden. Mit Ausnahme des Stripe Modus, unterstützt das automatische ZFS Installationsprogramm derzeit nur die Erstellung eines einzigen Top-Level-vdevs. Wenn Sie komplexere Pools erstellen möchten, folgen Sie den Anweisungen in Abschnitt 3.6.5, „Shell Partitionierung“. Das Installationsprogramm unterstützt verschiedene Pool Typen, einschließlich Stripe (nicht empfohlen, keine Redundanz), Spiegel (beste Leistung, weniger nutzbarer Speicherplatz), und RAID-Z 1, 2 und 3 (übersteht den Ausfall von jeweils einer, zwei und drei Platten). Am unteren Rand des Bildschirms werden Hinweise zur Anzahl der benötigten Platten angezeigt. Im Fall von RAID-Z wird die optimale Anzahl von Platten für die jeweilige Konfiguration angezeigt.

Abbildung 3.20. ZFS Pool Typen
ZFS Pool Typen

Sobald ein Pool Typ (Pool Type) ausgewählt wurde, wird eine Liste der verfügbaren Laufwerke angezeigt und der Benutzer wird aufgefordert, eine oder mehrere Festplatten auszuwählen um den Pool zu bilden. Anschließend wie die Konfiguration geprüft um zu gewährleisten, dass genug Platten ausgewählt wurden. Wählen Sie <Change Selection> um zur Auswahl der Laufwerke zurückzukehren, oder <Cancel> um den Pool Typ zu ändern.

Abbildung 3.21. Auswahl der Laufwerke
Auswahl der Laufwerke

Abbildung 3.22. Ungültige Auswahl
Ungültige Auswahl

Wenn eine oder mehrere Platten in der Liste fehlen, oder wenn Festplaten angebunden wurden, nachdem das Installationsprogramm gestartet wurde, wählen Sie - Rescan Devices um die Laufwerke nochmals zu suchen und anzuzeigen. Um sicherzustellen, dass die richtigen Platten ausgewählt wurden, können Sie das - Disk-Info Menü verwenden. Dieses Menü zeigt verschiedene Informationen, einschließlich der Partitionstabelle, der Modelnummer und der Seriennummer, falls verfügbar.

Abbildung 3.23. Eigenschaften einer Festplatte
Eigenschaften einer Festplatte

Das Konfigurationsmenü von ZFS ermöglicht es dem Benutzer auch, einen Namen für den Pool zu vergeben, 4k Sektoren zu deaktivieren, Tabellentypen zu aktivieren oder deaktivieren, zwischen GPT (empfohlen) und MBR zu wechseln und die Größe des Swap-Bereichs zu wählen. Wenn alle Optionen auf die gewünschten Werte eingestellt sind, wählen Sie >>> Install am oberen Rand des Menüs.

Wenn die GELI Plattenverschlüsselung aktiviert wurde, fordert Sie das Installationsprogramm zweimal zur Eingabe der Passphrase auf.

Abbildung 3.24. Passwort für die Verschlüsselung der Platte
Passwort für die Verschlüsselung der Platte

Das Installationsprogramm bietet dann eine letzte Chance, abzubrechen, bevor der Inhalt der ausgewählten Laufwerken zerstört wird, um den neuen ZFS-Pool zu erstellen.

Abbildung 3.25. Letzte Chance
Letzte Chance

Danach wird die Installation normal weitergeführt.

3.6.5. Shell Partitionierung

bsdinstall bietet bei fortgeschrittenen Installationen womöglich nicht die benötigte Flexibilität. Erfahrene Benutzer können die Option Shell im Menü auswählen, um die Laufwerke manuell zu partitionieren, Dateisysteme zu erstellen, /tmp/bsdinstall_etc/fstab zu befüllen und Dateisysteme unter /mnt einzuhängen. Geben Sie anschließend exit ein, um zu bsdinstall zurückzukehren und die Installation fortzusetzen.

3.7. Die Installation festschreiben

Sobald die Platten konfiguriert sind, stellt das nächste Menü die letzte Chance dar, Änderungen vorzunehmen, bevor die ausgewählten Festplatten formatiert werden. Wenn Änderungen vorgenommen werden müssen, wählen Sie [ Back ] um zur Partitionierung zurückzukehren. [ Revert & Exit ] wird das Installationsprogramm verlassen, ohne Änderungen an den Festplatten vorzunehmen.

Abbildung 3.26. Letzte Bestätigung
Letzte Bestätigung

Wählen Sie [ Commit ] und drücken Sie Enter, um die eigentliche Installation zu starten.

Die Installationsdauer hängt von den gewählten Distributionen, dem Installationsmedium und der Geschwindigkeit des Computers ab. Eine Reihe von Nachrichten werden angezeigt, um den Fortschritt darzustellen.

Zunächst formatiert das Installationsprogramm die ausgewählten Platten und initialisiert die Partitionen. Bei einer bootonly-Installation werden als nächstes die benötigten Komponenten heruntergeladen:

Abbildung 3.27. Herunterladen der Distributionsdateien
Herunterladen der Distributionsdateien

Als nächstes wird die Integrität der Distributionsdateien überprüft, um sicherzustellen, dass diese während des Ladevorgangs nicht beschädigt oder unsauber vom Installationsmedium gelesen wurden:

Abbildung 3.28. Überprüfen der Distributionsdateien
Überprüfen der Distributionsdateien

Zum Schluss werden die überprüften Distributionsdateien auf die Festplatte entpackt:

Abbildung 3.29. Entpacken der Distributionsdateien
Entpacken der Distributionsdateien

Sobald alle benötigten Distributionsdateien entpackt wurden, wird bsdinstall das erste Menü für die Arbeiten nach der Installation anzeigen. Die zur Verfügung stehenden Konfigurationsoptionen werden im nächsten Abschnitt beschrieben.

3.8. Arbeiten nach der Installation

Sobald FreeBSDinstalliert ist, fordert Sie bsdinstall dazu auf, mehrere Optionen zu konfigurieren, bevor das neu installierte System gebootet wird. Die Konfigurationsoptionen werden in diesem Abschnitt beschrieben.

Tipp:

Nach einem Neustart des Systems bietet bsdconfig eine menügestützte Konfiguration dieser und weiterer Optionen.

3.8.1. Setzen des root-Passworts

Zuerst muss das root-Passwort gesetzt werden. Die eingegebenen Zeichen werden dabei nicht auf dem Bildschirm angezeigt. Nachdem das Passwort eingegeben wurde, muss es zur Bestätigung erneut eingetippt werden. Damit werden auch Tippfehler verhindert.

Abbildung 3.30. Das root-Passwort setzen
Das root-Passwort setzen

3.8.2. Die Netzwerkschnittstelle konfigurieren

Als nächstes wird eine Liste der gefundenen Netzwerkschnittstellen gezeigt. Wählen Sie die Schnittstelle aus, die Sie konfigurieren möchten.

Anmerkung:

Die Menüs für die Netzwerkkonfiguration werden übersprungen, falls dies bereits als Teil der bootonly-Installation durchgeführt worden ist.

Abbildung 3.31. Eine zu konfigurierende Netzwerkschnittstelle auswählen
Eine zu konfigurierende Netzwerkschnittstelle auswählen

Wenn Sie eine Ethernet-Schnittstelle ausgewählt haben, fährt das Installationsprogramm mit dem Menü aus Abbildung 3.35, „Auswahl von IPv4 fort. Wenn Sie eine drahtlose Netzwerkschnittstelle ausgewählt haben, wird das System nach drahtlosen Zugriffspunkten (Access Points) suchen:

Abbildung 3.32. Nach drahtlosen Access Points scannen
Nach drahtlosen Access Points scannen

Drahtlose Netzwerke werden durch einen Service Set Identifier (SSID) identifiziert. Der SSID ist ein kurzer, eindeutiger Name, der für jedes Netzwerk vergeben wird. SSIDs, die während des Scans gefunden wurden, werden aufgelistet, gefolgt von einer Beschreibung der Verschlüsselungsarten, die für dieses Netzwerk verfügbar sind. Falls die gewünschte SSID nicht in der Liste auftaucht, wählen Sie [ Rescan ], um erneut einen Scanvorgang durchzuführen. Falls dann das gewünschte Netzwerk immer noch nicht erscheint, überprüfen Sie die Antenne auf Verbindungsprobleme oder versuchen Sie, näher an den Access point zu gelangen. Scannen Sie erneut nach jeder vorgenommenen Änderung.

Abbildung 3.33. Ein drahtloses Netzwerk auswählen
Ein drahtloses Netzwerk auswählen

Geben Sie nun die Verschlüsselungsinformationen ein, um sich mit dem drahtlosen Netzwerk zu verbinden. WPA2 wird als Verschlüsselung dringend empfohlen, da ältere Verschlüsselungsmethoden, wie WEP, nur wenig Sicherheit bieten. Wenn das Netzwerk WPA2 verwendet, geben Sie das Passwort (auch bekannt als Pre-Shared Key PSK) ein. Aus Sicherheitsgründen werden die in das Eingabefeld eingegeben Zeichen nur als Sternchen angezeigt.

Abbildung 3.34. Verbindungsaufbau mit WPA2
Verbindungsaufbau mit WPA2

Wählen Sie, ob eine IPv4-Adresse auf der Ethernet-Schnittstelle oder der drahtlosen Schnittstelle konfiguriert werden soll.

Abbildung 3.35. Auswahl von IPv4
Auswahl von IPv4

Es gibt zwei Arten, ein IPv4-Netzwerk zu konfigurieren. DHCP wird automatisch die Netzwerkschnittstelle richtig konfigurieren und sollte verwendet werden, wenn das Netzwerk über einen DHCP-Server verfügt. Eine statische IP-Konfiguration erfordert die manuelle Eingabe von Netzwerkinformationen.

Anmerkung:

Geben Sie keine zufällig gewählten Netzwerkinformationen ein, da dies nicht funktionieren wird. Holen Sie sich die in Erforderliche Informationen zum Netzwerk gezeigten Informationen vom Netzwerkadministrator oder Serviceprovider, falls kein DHCP-Server verfügbar ist.

Falls ein DHCP-Server zur Verfügung steht, wählen Sie im nächsten Menü [ Yes ], um die Netzwerkschnittstelle automatisch einrichten zu lassen. Dieser Vorgang kann einige Sekunden dauern.

Abbildung 3.36. Auswählen der IPv4-Konfiguration über DHCP
Auswählen der IPv4-Konfiguration über DHCP

Wenn kein DHCP-Server zur Verfügung steht, wählen Sie [ No ] und tragen Sie die folgenden Informationen in das Menü ein:

Abbildung 3.37. Statische IPv4-Konfiguration
Statische IPv4-Konfiguration

  • IP Address - Die IPv4-Adresse, welche diesem Computer zugewiesen werden soll. Diese Adresse muss eindeutig sein und darf nicht bereits von einem anderen Gerät im lokalen Netzwerk verwendet werden.

  • Subnet Mask - Die Subnetzmaske des Netzwerks.

  • Default Router - Die IP-Adresse des Defaultrouters im Netzwerk.

Das nächste Menü fragt, ob die Schnittstelle für IPv6 konfiguriert werden soll. Falls IPv6 verfügbar ist und verwendet werden soll, wählen Sie [ Yes ] aus.

Abbildung 3.38. Auswahl von IPv6
Auswahl von IPv6

IPv6 besitzt ebenfalls zwei Arten der Konfiguration. StateLess Address AutoConfiguration, (SLAAC) wird automatisch die richtigen Informationen von einem lokalen Router abfragen. Lesen Sie http://tools.ietf.org/html/rfc4862 für weitere Informationen. Eine statische Konfiguration verlangt die manuelle Eingabe von Netzwerkinformationen.

Wenn ein IPv6-Router verfügbar ist, wählen Sie im nächsten Menü [ Yes ], um die Netzwerkschnittstelle automatisch konfigurieren zu lassen.

Abbildung 3.39. Auswahl der IPv6 SLAAC-Konfiguration
Auswahl der IPv6 SLAAC-Konfiguration

Wenn kein IPv6-Router zur Verfügung steht, wählen Sie [ No ] und tragen Sie die folgenden Adressinformationen in dieses Menü ein:

Abbildung 3.40. Statische IPv6-Konfiguration
Statische IPv6-Konfiguration

  • IPv6 Address - Die zugewiesene IPv6-Adresse, welche dem Computer zugeteilt werden soll. Diese Adresse muss eindeutig sein und nicht bereits von einer anderen Netzwerkkomponente im lokalen Netzwerk verwendet werden.

  • Default Router - Die IPv6-Adresse des Defaultrouters im Netzwerk.

Das letzte Menü der Netzwerkkonfiguration konfiguriert den Domain Name System (DNS) Resolver, welcher Hostnamen von und zu Netzwerkadressen umwandelt. Falls DHCP oder SLAAC verwendet wurde, um die Netzwerkschnittstelle zu konfigurieren, ist die Konfiguration für den Resolver möglicherweise bereits eingetragen. Andernfalls geben Sie den lokalen Netzwerkdomänennamen in das Feld Search ein. DNS #1 und DNS #2 sind die IPv4- und/oder IPv6-Adressen der lokalen DNS-Server. Zumindest ein DNS-Server wird benötigt.

Abbildung 3.41. DNS-Konfiguration
DNS-Konfiguration

3.8.3. Setzen der Zeitzone

Das nächste Menü fragt, ob die Systemuhr UTC oder die lokale Zeit verwendet. Wenn Sie sich nicht sicher sind, wählen Sie [ No ], um somit die häufiger verwendete lokale Zeit zu setzen.

Abbildung 3.42. Lokale oder UTC-Zeit
Lokale oder UTC-Zeit

Die nächsten Menüs werden verwendet, um die korrekte Ortszeit zu ermitteln. Dazu muss die gewünschte geographische Region, das Land und die Zeitzone ausgewählt werden. Das Setzen der Zeitzone erlaubt es dem System automatische Korrekturen vorzunehmen, beispielsweise beim Wechsel von Sommer- auf Winterzeit.

Das hier gezeigte Beispiel bezieht sich auf einen Rechner in der östlichen Zeitzone der Vereinigten Staaten. Die Auswahl wird von der geographischen Lage abhängig sein.

Abbildung 3.43. Auswahl der geographischen Region
Auswahl der geographischen Region

Das passende Gebiet wird durch die Pfeiltasten und das anschließende drücken von Enter gewählt.

Abbildung 3.44. Das Land auswählen
Das Land auswählen

Wählen Sie das zutreffende Land mit den Pfeiltasten und durch anschließendes drücken von Enter aus.

Abbildung 3.45. Wählen einer Zeitzone
Wählen einer Zeitzone

Die passende Zeitzone wird durch die Pfeiltasten und anschließendes drücken von Enter ausgewählt.

Abbildung 3.46. Bestätigen der Zeitzone
Bestätigen der Zeitzone

Bestätigen Sie, dass die Abkürzung für die Zeitzone richtig ist. Wenn Ihnen diese richtig erscheint, drücken Sie Enter, um mit dem Rest der Konfiguration fortzufahren.

3.8.4. Dienste aktivieren

Zusätzliche Systemdienste, die zur Startzeit aktiviert werden sollen, können im folgenden Menü eingeschaltet werden. All diese Dienste sind optional. Starten Sie nur die Dienste, die zur korrekten Funktion des Systems benötigt werden.

Abbildung 3.47. Auswahl zusätzlicher Dienste
Auswahl zusätzlicher Dienste

Die folgenden Dienste können über dieses Menü aktiviert werden:

  • sshd - Der Secure Shell (SSH)-Daemon für Fernzugriff über eine verschlüsselte Verbindung. Aktivieren Sie diesen Dienst nur dann, wenn das System für Fernzugriff zur Verfügung stehen soll.

  • moused - Aktivieren Sie diesen Dienst, wenn Sie Mausunterstützung auf der Systemkonsole benötigen.

  • ntpd - Der Network Time Protocol (NTP)-Daemon zur automatischen Uhrzeitsynchronisation. Aktivieren Sie diesen Dienst, wenn es im Netzwerk einen Windows®-, Kerberos- oder LDAP-Server gibt.

  • powerd - Systemwerkzeug zur Leistungsregelung und für Stromsparfunktionen.

3.8.5. Absturzaufzeichnung aktivieren

Das nächste Menü wird Sie fragen, ob die Absturzaufzeichnung auf dem Zielsystem aktiviert werden soll. Die Aktivierung von Absturzaufzeichnungen kann sehr nützlich sein um Systemfehler aufzuspüren, deswegen wird Anwendern empfohlen, diese zu aktivieren.

Abbildung 3.48. Aktivierung der Absturzaufzeichnung
Aktivierung der Absturzaufzeichnung

3.8.6. Benutzer hinzufügen

Das nächste Menü fordert Sie dazu auf, mindestens ein Benutzerkonto zu erstellen. Es wird empfohlen, sich als normaler Benutzer am System anzumelden und nicht als root-Benutzer. Wenn man als root angemeldet ist, gibt es so gut wie keine Beschränkungen oder Schutz vor dem, was man tun kann. Die Anmeldung als normaler Benutzer ist daher sicherer und bietet mehr Schutz.

Wählen Sie [ Yes ], um neue Benutzer hinzuzufügen.

Abbildung 3.49. Benutzerkonten hinzufügen
Benutzerkonten hinzufügen

Folgen Sie den Anweisungen und geben Sie die angeforderten Informationen für das Benutzerkonto ein. Das Beispiel in Abbildung 3.50, „Benutzerinformationen eingeben“ erstellt ein Konto für den Benutzer asample.

Abbildung 3.50. Benutzerinformationen eingeben
Benutzerinformationen eingeben

Die folgenden Informationen müssen eingegeben werden:

  • Username - Der Name des Benutzers, den man zur Anmeldung eingeben muss. Es ist üblich, den ersten Buchstaben des Vornamens zusammen mit dem Nachnamen zu kombinieren. Jeder Benutzername ist möglich, solange er für das System einzigartig ist. Es wird zwischen Groß- und Kleinschreibung unterschieden und der Benutzername sollte keine Leerzeichen enthalten.

  • Full name - Der volle Name des Benutzers. Dieser darf auch Leerzeichen enthalten und dient als Beschreibung für das Benutzerkonto.

  • Uid - User ID. Normalerweise wird dieses Feld leer gelassen, so dass das System einen Wert vergibt.

  • Login group - Die Benutzergruppe. Normalerweise bleibt dieses Feld leer, um die Standardgruppe zu akzeptieren.

  • Invite user into other groups? - Zusätzliche Gruppen zu denen der Benutzer als Mitglied hinzugefügt werden soll. Falls der Benutzer administrativen Zugriff benötigt, tragen Sie hier wheel ein.

  • Login class - In der Regel bleibt dieses Feld leer.

  • Shell - Die interaktive Shell für diesen Benutzer. Tragen Sie hier eine der aufgeführten Shells ein. Weitere Informationen über Shells finden Sie im Abschnitt 4.9, „Shells“.

  • Home directory - Das Heimatverzeichnis des Benutzers. Die Vorgabe ist für gewöhnlich richtig.

  • Home directory permissions - Zugriffsrechte auf das Heimatverzeichnis des Benutzers. Die Vorgabe ist normalerweise die passende.

  • Use password-based authentication? - Normalerweise yes, damit der Benutzer bei der Anmeldung sein Passwort eingeben muss.

  • Use an empty password? - Normalerweise no, da ein leeres Passwort unsicher ist.

  • Use a random password? - Normalerweise no, damit der Benutzer sein Passwort am nächsten Prompt selber vergeben kann.

  • Enter password - Das Passwort für diesen Benutzer. Eingegebene Zeichen werden nicht am Bildschirm angezeigt.

  • Enter password again - Das Passwort muss zur Überprüfung erneut eingegeben werden.

  • Lock out the account after creation? - Normalerweise no, damit sich der Benutzer anmelden kann.

Nachdem alles eingegeben wurde, wird eine Zusammenfassung angezeigt und das System fragt Sie, dies so korrekt ist. Falls ein Eingabefehler gemacht wurde, geben Sie no ein und versuchen es erneut. Falls alles in Ordnung ist, geben Sie yes ein, um den neuen Benutzer anzulegen.

Abbildung 3.51. Verlassen der Benutzer- und Gruppenverwaltung
Verlassen der Benutzer- und Gruppenverwaltung

Falls es mehr Benutzer hinzuzufügen gibt, beantworten Sie die Frage Add another user? mit yes. Geben Sie no ein, wird das hinzufügen von Benutzern beendet und die Installation fortgesetzt.

Für weitere Informationen zum hinzufügen von Benutzern und deren Verwaltung, lesen Sie Abschnitt 4.3, „Benutzer und grundlegende Account-Verwaltung“.

3.8.7. Letzte Konfigurationsschritte

Nachdem alles installiert und konfiguriert wurde, bekommen Sie noch eine letzte Chance, um Einstellungen zu verändern.

Abbildung 3.52. Letzte Schritte der Konfiguration
Letzte Schritte der Konfiguration

Verwenden Sie dieses Menü, um noch letzte Änderungen oder zusätzliche Konfigurationen vor dem Abschliessen der Installation zu tätigen.

Nachdem die lezten Konfigurationsschritte beendet sind, wählen Sie Exit.

Abbildung 3.53. Manuelle Konfiguration
Manuelle Konfiguration

bsdinstall wird nach zusätzlichen Konfigurationen, die noch zu tätigen sind, fragen, bevor in das neue System gebootet wird. Wählen Sie [ Yes ], um in eine Shell innerhalb des neuen Systems zu wechseln oder [ No ], um mit dem letzten Schritt der Installation zu beginnen.

Abbildung 3.54. Die Installation vervollständigen
Die Installation vervollständigen

Wenn weitere Konfigurationen oder besondere Einstellungen benötigt werden, wählen Sie [ Live CD ], um das Installationsmedium im Live-CD Modus zu starten.

Wenn die Installation vollständig ist, wählen Sie [ Reboot ], um den Computer neu zu starten und das neu installierte FreeBSD-System zu booten. Vergessen Sie nicht, das FreeBSD Installationsmedium zu entfernen, oder der Computer wird erneut davon starten.

Wenn FreeBSD startet, werden viele Informationsmeldungen ausgegeben. Nachdem das System den Startvorgang abgeschlossen hat, wird eine Anmeldeaufforderung angezeigt. Geben Sie am login: den Benutzernamen ein, den Sie während der Installation hinzugefügt haben. Vermeiden Sie es, sich als root anzumelden. Lesen Sie Abschnitt 4.3.1.3, „Der Superuser-Account“, wenn Sie administrativen Zugriff benötigen.

Um Nachrichten, die während des Bootens angezeigt wurden, zu sehen, aktivieren Sie durch drücken von Scroll-Lock den scroll-back buffer. Die Tasten PgUp, PgDn und die Pfeiltasten dienen zur Navigation durch die Nachrichten. Durch erneutes drücken von Scroll-Lock wird der Bildschirm wieder entsperrt und kehrt zur normalen Anzeige zurück. Mit less /var/run/dmesg.boot können Sie sich diese Nachrichten im laufenden Betrieb ansehen. Durch drücken von q kehren Sie wieder zur Kommandozeile zurück.

Wenn sshd in Abbildung 3.47, „Auswahl zusätzlicher Dienste“ aktiviert wurde, ist der erste Start ein bisschen langsamer, weil das System die RSA- und DSA-Schlüssel erzeugen muss. Die nachfolgenden Startvorgänge werden dann wieder schneller sein. Wie in diesem Beispiel zu sehen ist, werden die Fingerabdrücke der Schlüssel am Bildschirm ausgegeben:

Generating public/private rsa1 key pair.
Your identification has been saved in /etc/ssh/ssh_host_key.
Your public key has been saved in /etc/ssh/ssh_host_key.pub.
The key fingerprint is:
10:a0:f5:af:93:ae:a3:1a:b2:bb:3c:35:d9:5a:b3:f3 root@machine3.example.com
The key's randomart image is:
+--[RSA1 1024]----+
|    o..          |
|   o . .         |
|  .   o          |
|       o         |
|    o   S        |
|   + + o         |
|o . + *          |
|o+ ..+ .         |
|==o..o+E         |
+-----------------+
Generating public/private dsa key pair.
Your identification has been saved in /etc/ssh/ssh_host_dsa_key.
Your public key has been saved in /etc/ssh/ssh_host_dsa_key.pub.
The key fingerprint is:
7e:1c:ce:dc:8a:3a:18:13:5b:34:b5:cf:d9:d1:47:b2 root@machine3.example.com
The key's randomart image is:
+--[ DSA 1024]----+
|       ..     . .|
|      o  .   . + |
|     . ..   . E .|
|    . .  o o . . |
|     +  S = .    |
|    +  . = o     |
|     +  . * .    |
|    . .  o .     |
|      .o. .      |
+-----------------+
Starting sshd.

Lesen Sie Abschnitt 14.8, „OpenSSH“ für weitere Informationen zu Fingerabdrücken und SSH.

FreeBSD installiert standardmässig keine graphische Umgebung. Kapitel 6, Das X-Window-System enthält Informationen zur Installation und Konfiguration eines graphischen Window Managers.

Das korrekte herunterfahren eines FreeBSD-Computers hilft, beugt dem Datenverlust vor und schützt sogar die Hardware vor Schäden. Schalten Sie nicht den Strom ab, bevor das System ordnungsgemäß heruntergefahren wurde! Wenn der Benutzer ein Mitglied der wheel-Gruppe ist, können Sie zum Superuser durch die Eingabe von su und der anschließenden Eingabe des Passworts von root werden. Geben Sie dann shutdown -p now ein. Das System wird jetzt sauber heruntergefahren und, falls die Hardware es unterstützt, den Rechner ausschalten.

3.9. Fehlerbehebung

Dieser Abschnitt behandelt einfache Fehlerbehebungen für die Installation, wie beispielsweise häufig auftretende Fehler, die von Anwendern berichtet wurden.

Überprüfen Sie die Hardware Notes ( http://www.FreeBSD.org/releases/index.html) nach der Version von FreeBSD, um sicher zu stellen, dass die Hardware auch unterstützt wird. Wenn die Hardware unterstützt wird und Sie immer noch Abstürze oder andere Probleme erleben, müssen Sie einen eigenen Kernel bauen. Diese Prozedur wird in Kapitel 9, Konfiguration des FreeBSD-Kernels beschrieben. Das erlaubt es, Unterstützung für Geräte, die im GENERIC-Kernel nicht vorhanden sind, hinzuzufügen. Der Kernel ist mit der Annahme konfiguriert, dass die Hardwaregeräte sich in ihren Fabrikeinstellungen in Bezug auf IRQs, I/O-Adressen und DMA-Kanälen befinden. Wenn die Hardware neu konfiguriert wurde, werden Sie möglicherweise die Konfiguration des Kernels bearbeiten und diesen neu erstellen müssen, um FreeBSD mitzuteilen, wo es gewisse Dinge finden kann.

Anmerkung:

Manche Installationsprobleme können Aktualisierung der Firmware auf verschiedenen Hardwarekomponenten verhindert oder verringert werden, meistens am Mainboard. Mit Mainboard-Firmware ist für gewöhnlich das BIOS gemeint. Die meisten Mainboard- und Computerhersteller haben eine Webseite mit Aktualisierungen und Informationen zur Durchführung.

Hersteller raten meist von einer Aktualisierung des Mainboard-BIOS ab, ausser es gibt einen guten Grund dafür, wie beispielsweise eine kritische Aktualisierung. Der Aktualisierungsvorgang kann schiefgehen, was das BIOS unvollständig macht und den Computer nicht mehr starten lässt.

Wenn das System während der Geräteerkennung beim Starten hängt oder sich während der Installation merkwürdig verhält, ist ACPI vielleicht der Übeltäter. FreeBSD macht starken Gebrauch vom ACPI-Dienst des Systems auf den i386-, amd64- und ia64-Platformen, um den System bei der Konfiguration während des Startvorgangs zu helfen. Leider existieren immer noch Fehler im ACPI-Treiber, in den Mainboards und der BIOS-Firmware. ACPI kann durch setzen der Einstellung hint.acpi.0.disabled im dritten Teil des Bootloaders deaktiviert werden:

set hint.acpi.0.disabled="1"

Dies wird nach jedem Neustart des Systems wieder zurückgesetzt, also ist es notwendig, die Zeile hint.acpi.0.disabled="1" zu der Datei /boot/loader.conf hinzuzufügen. Weitere Informationen über den Bootloader lassen sich in Abschnitt 13.1, „Übersicht“ nachlesen.

3.10. Verwendung der Live-CD

Das Willkommensmenü von bsdinstall, welches in Abbildung 3.3, „Willkommen-Menü“ gezeigt wird, enthält eine [ Live CD ] Option. Die Live-CD ist für Benutzer, die sich fragen, ob FreeBSD das richtige Betriebssystem für sie ist und die vor der Installation noch einige Merkmale und Eigenschaften testen wollen.

Die folgenden Punkte sollten beachtet werden, bevor die [ Live CD ] benutzt wird:

  • Um Zugriff auf das System zu bekommen, wird eine Authentifizierung benötigt. Der Benutzername ist root und das Kennwort bleibt leer.

  • Da das System direkt von dem Installationsmedium ausgeführt wird, ist die Geschwindigkeit deutlich langsamer als bei einem System, das auf einer Festplatte installiert ist.

  • Diese Option enthält nur eine Eingabeaufforderung und keine graphische Oberfläche.

Kapitel 4. Grundlagen des UNIX Betriebssystems

4.1. Übersicht

Dieses Kapitel umfasst die grundlegenden Kommandos und Funktionsweisen des FreeBSD-Betriebssystems. Viel von diesem Material gilt auch für jedes andere UNIX®-artige System. Neue Benutzer von FreeBSD sollten dieses Kapitel aufmerksam lesen.

Dieser Abschnitt behandelt die folgenden Themen:

  • virtuelle Konsolen,

  • Erstellung und Verwaltung von Benutzern und Gruppen in FreeBSD,

  • Zugriffsrechte unter UNIX® sowie Datei-Flags unter FreeBSD,

  • Zugriffskontrolllisten für Dateisysteme,

  • die Verzeichnisstruktur von FreeBSD,

  • Organisation von Dateisystemen unter FreeBSD,

  • Ein- und Abhängen von Dateisystemen,

  • Prozesse, Dämonen und Signale,

  • Shells und die Login-Umgebung,

  • Texteditoren,

  • Geräte und Gerätedateien,

  • wie Sie in den Manualpages nach weiteren Informationen suchen können.

4.2. Virtuelle Konsolen und Terminals

Wenn das FreeBSD-System so konfiguriert wurde, dass es ohne eine grafische Benutzeroberfläche startet, wird das System nach dem Start einen Anmeldeprompt ausgeben, wie in diesem Beispiel zu sehen:

FreeBSD/amd64 (pc3.example.org) (ttyv0)

login:

Die erste Zeile enthält einige Informationen über das System. amd64 zeigt an, dass auf dem System in diesem Beispiel eine 64-Bit Version von FreeBSD läuft. Der Hostname ist pc3.example.org und ttyv0 gibt an, dass dies die Systemkonsole ist. Die zweite Zeile zeigt den Anmeldeprompt.

Da FreeBSD ein Mehrbenutzersystem ist, muss es die verschiedenen Benutzer voneinander unterscheiden können. Dies wird dadurch erreicht, dass sich jeder Benutzer zuerst am System anmelden muss, um Zugriff auf die Programme zu bekommen. Jeder Benutzer hat einen eindeutigen Benutzernamen und ein persönliches Kennwort.

Um sich auf der Systemkonsole anzumelden, geben Sie den Benutzernamen ein, der während der Systeminstallation, wie in Abschnitt 3.8.6, „Benutzer hinzufügen“ beschrieben, konfiguriert wurde und drücken Sie Enter. Geben Sie dann das zum Benutzernamen zugeordnete Passwort ein und drücken Enter. Das Passwort wird aus Sicherheitsgründen nicht angezeigt.

Sobald das richtige Passwort eingegeben wird, wird die Nachricht des Tages (MOTD) gefolgt von einer Eingabeaufforderung ausgegeben. In Abhängigkeit der verwendeten Shell des Benutzers wird der Prompt mit dem Zeichen #, $ oder % dargestellt. Der Prompt zeigt an, dass der Benutzer jetzt an der FreeBSD Systemkonsole angemeldet ist und nun alle verfügbaren Befehle probieren kann.

4.2.1. Virtuelle Konsolen

Obwohl die Systemkonsole dazu verwendet werden kann, um mit dem System zu interagieren, wird sich ein Benutzer in der Regel an einer virtuellen Konsole im FreeBSD-System anmelden. Das liegt daran, dass die Systemmeldungen standardmäßig auf der Systemkonsole angezeigt werden und somit die Meldungen des Befehls oder einer Datei, die der Benutzer gerade bearbeitet, überschrieben werden.

In der Voreinstellung ist FreeBSD so konfiguriert, dass viele virtuelle Konsolen zur Eingabe von Befehlen zur Verfügung stehen. Jede virtuelle Konsole verfügt über einen eigenen Anmeldeprompt und eine Shell. Sie können ganz einfach zwischen den virtuellen Konsolen umschalten. Dies ist vergleichbar mit mehreren geöffneten Fenstern in einer graphischen Umgebung.

Die Tastenkombinationen Alt+F1 bis Alt+F8 sind in FreeBSD zum Umschalten zwischen virtuellen Konsolen reserviert. Verwenden Sie Alt+F1 um auf die Systemkonsole (ttyv0) zu wechseln, Alt+F2 für die erste virtuelle Konsole (ttyv1, Alt+F3 für die zweite virtuelle Konsole (ttyv2, und so weiter.

Beim Wechsel von einer Konsole zur nächsten wird die Bildschirmausgabe von FreeBSD verwaltet. Dies erzeugt die Illusion mehrerer Bildschirme und Tastaturen, an denen Kommandos abgesetzt werden können. Die Programme, die in einer virtuellen Konsole gestartet werden, laufen auch dann weiter, wenn der Benutzer auf eine andere virtuelle Konsole wechselt.

Lesen Sie kbdcontrol(1), vidcontrol(1), atkbd(4), syscons(4) sowie vt(4) für eine recht technische Beschreibung der FreeBSD-Konsole und der Tastatur-Treiber.

In FreeBSD wird die Anzahl der verfügbaren virtuellen Konsolen in diesem Abschnitt von /etc/ttys konfiguriert:

# name    getty                         type  status comments
#
ttyv0   "/usr/libexec/getty Pc"         xterm   on  secure
# Virtual terminals
ttyv1   "/usr/libexec/getty Pc"         xterm   on  secure
ttyv2   "/usr/libexec/getty Pc"         xterm   on  secure
ttyv3   "/usr/libexec/getty Pc"         xterm   on  secure
ttyv4   "/usr/libexec/getty Pc"         xterm   on  secure
ttyv5   "/usr/libexec/getty Pc"         xterm   on  secure
ttyv6   "/usr/libexec/getty Pc"         xterm   on  secure
ttyv7   "/usr/libexec/getty Pc"         xterm   on  secure
ttyv8   "/usr/X11R6/bin/xdm -nodaemon"  xterm   off secure

Um eine virtuelle Konsole zu deaktivieren, setzen Sie ein Kommentarzeichen (# an den Anfang der Zeile für die entsprechende Konsole. Um bspw. die Anzahl der verfügbaren virtuellen Konsolen von acht auf vier zu reduzieren, setzen Sie ein # an den Anfang der letzten vier Zeilen, den virtuellen Konsolen ttyv5 bis ttyv8. Kommentieren Sie nicht die Zeile für die Systemkonsole ttyv0 aus! Beachten Sie, dass die letzte virtuelle Konsole (ttyv8) zum Wechsel auf die graphische Oberfläche gedacht ist, wenn Xorg wie im Kapitel 6, Das X-Window-System installiert und konfiguriert ist.

ttys(5) enthält eine ausführliche Beschreibung der Spalten dieser Datei und der verfügbaren Optionen für virtuelle Konsolen.

4.2.2. Single-User-Modus

Das FreeBSD Boot-Menü verfügt über eine Option Boot Single User. Wird diese Option gewählt, bootet das System in einen speziellen Modus, der als Single-User-Modus bekannt ist. Dieser Modus wird normalerweise zur Reparatur des Systems verwendet, bspw. wenn das System nicht mehr startet, oder das root-Passwort zurückgesetzt werden muss. Im Single-User-Modus haben Sie keinen Zugriff auf das Netzwerk und es stehen Ihnen keine weiteren virtuellen Konsolen zur Verfügung. Allerdings haben Sie vollen Zugriff auf das System und in der Voreinstellung wird das root-Passwort nicht benötigt. Aus diesem Grund wird ein physischer Zugriff auf die Tastatur benötigt, um in diesem Modus zu booten. Zur Absicherung eines FreeBSD-Systems sollte ermittelt werden, welche Personen physischen Zugriff auf die Tastatur bekommen sollen.

Die Einstellungen für den Single-User-Modus befinden sich diesem Abschnitt von /etc/ttys:

# name  getty                           type  status  comments
#
# If console is marked "insecure", then init will ask for the root password
# when going to single-user mode.
console none                            unknown  off  secure

In der Voreinstellung ist der Status auf secure eingestellt. Das setzt voraus, dass der physische Zugriff auf die Tastatur entweder unwichtig ist, oder über eine Sicherheitsrichtlinie geregelt wird. Wenn der Status auf insecure eingestellt wird, wird davon ausgegangen, dass die Umgebung selbst unsicher ist, da jeder Zugriff auf die Tastatur hat. FreeBSD wird dann nach dem root-Passwort fragen, wenn ein Benutzer versucht in den Single-User-Modus zu booten.

Anmerkung:

Setzen Sie insecure nicht leichtfertig ein! Wenn das root-Passwort vergessen wird, wird es schwierig in den Single-User-Modus zu gelangen, wenn man den Bootprozess von FreeBSD nicht genau versteht.

4.2.3. Den Videomodus der Konsole anpassen

Der Standard-Videomodus der FreeBSD-Konsole kann auf jeden Modus eingestellt werden, der von der Grafikkarte und dem Monitor unterstützt wird (beispielsweise 1024x768 oder 1280x1024). Um eine andere Einstellung zu verwenden, muss das VESA-Modul geladen werden:

# kldload vesa

Um festzustellen, welche Video-Modi von der Hardware unterstützt werden, nutzen Sie vidcontrol(1). Um eine Liste aller unterstützten Modi zu sehen, verwenden Sie diesen Befehl:

# vidcontrol -i mode

Die Ausgabe dieses Befehls listet alle Videomodi, die von der Hardware unterstützt werden. Um einen neuen Video-Modi zu wählen, wird der entsprechende Modus als root-Benutzer an vidcontrol(1) übergeben:

# vidcontrol MODE_279

Um diese Einstellung dauerhaft zu speichern, muss folgende Zeile in /etc/rc.conf hinzugefügt werden:

allscreens_flags="MODE_279"

4.3. Benutzer und grundlegende Account-Verwaltung

FreeBSD ermöglicht es mehreren Benutzern, den Computer zur selben Zeit zu benutzen. Es kann immer nur ein Benutzer vor der Konsole sitzen, aber es können sich beliebig viele Benutzer über das Netzwerk am System anmelden. Jeder Benutzer muss einen Account haben, um das System benutzen zu können.

Nachdem Sie dieses Kapitel gelesen haben, werden Sie

  • die verschiedenen Account-Typen von FreeBSD kennen,

  • wissen, wie Sie Accounts angelegen, verändern oder löschen,

  • wissen, wie Sie Limits für einen Benutzer oder eine Gruppe setzen, um beispielsweise Ressourcen, wie Speicher oder CPU-Zeit einzuschränken,

  • wissen, wie Sie Gruppen erstellen und Benutzer zu diesen Gruppen hinzufügen.

4.3.1. Account-Typen

Jeder Zugriff auf das FreeBSD-System geschieht über Accounts und alle Prozesse werden von Benutzern gestartet, also sind Benutzer- und Account-Verwaltung von wesentlicher Bedeutung.

Es gibt drei Haupttypen von Accounts: Systembenutzer, Benutzer-Accounts und der Superuser-Account.

4.3.1.1. Systembenutzer

Systembenutzer starten Dienste wie DNS, Mail-Server und Web-Server. Der Grund dafür ist die Sicherheit; wenn die Programme von dem Superuser gestartet werden, können Sie ohne Einschränkungen handeln.

Beispiele von Systembenutzern sind daemon, operator, bind, news und www.

nobody ist der generische unprivilegierte Systembenutzer. Bedenken Sie aber, dass je mehr Dienste nobody benutzen, desto mehr Dateien und Prozesse diesem Benutzer gehören und dieser Benutzer damit umso privilegierter wird.

4.3.1.2. Benutzer-Accounts

Benutzer-Accounts sind realen Personen zugeordnet und sind das primäre Mittel des Zugriffs das System. Jede Person, die Zugriff auf das System bekommt, sollte einen eindeutigen Benutzer-Account besitzen. Dies erlaubt es dem Administrator herauszufinden, wer was macht. Gleichzeitig werden die Benutzer daran gehindert, die Einstellungen anderer Benutzer zu zerstören.

Jeder Benutzer kann die eigene Umgebung anpassen, bspw. seine voreingestellte Shell, Editor, Tastenbelegungen und Spracheinstellungen.

Mit jedem Account eines FreeBSD-Systems sind bestimmte Informationen verknüpft:

Loginnamen

Der Loginname wird am login: Prompt eingegeben. Jeder Benutzer muss einen eindeutigen Benutzernamen haben. Es gibt eine Reihe von Regeln für die Erstellung von gültigen Loginnamen, die in passwd(5) dokumentiert sind. Es wird aus Kompatibilitätsgründen empfohlen, Benutzernamen zu verwenden, die aus Kleinbuchstaben bestehen und bis zu acht Zeichen lang sind.

Passwort

Jeder Account ist mit einem Passwort verknüpft.

User ID (UID)

Die User ID (UID) ist eine Zahl, die verwendet wird, um die Benutzer auf dem FreeBSD-System eindeutig zu identifizieren. Programme, die einen Loginnamen akzeptieren, wandeln diesen zuerst in eine UID um. Es wird empfohlen, nur UIDs kleiner 65535 zu verwenden, da höhere Werte Kompatibilitätsprobleme mit einigen Anwendungen verursachen können.

Group ID (GID)

Die Group ID (GID) ist eine Zahl, die verwendet wird, um die primäre Gruppe eines Benutzers eindeutig zu identifizieren. Gruppen sind ein Mechanismus zur Steuerung des Zugriffs auf Ressourcen über die GID eines Benutzers anstelle der UID. Dies kann die Größe einiger Konfigurationsdateien signifikant reduzieren und ermöglicht es Benutzern, Mitglied mehreren Gruppen zu sein. Es wird empfohlen, GIDs kleiner 65535 zu verwenden, da höhere Werte bei einigen Anwendungen große Probleme verursachen können.

Login-Klasse

Login-Klassen erweitern das Gruppenkonzept. Sie erhöhen die Flexibilität des Systems in der Handhabung der verschiedenen Accounts. Login-Klassen werden auch im Abschnitt 14.13.1, „Login-Klassen konfigurieren“ diskutiert.

Gültigkeit von Passwörtern

In der Voreinstellung verfallen Passwörter nicht. Allerdings können Passwortwechsel nach einer gewissen Zeit auf Basis einzelner Accounts erzwungen werden.

Verfallszeit eines Accounts

In der Voreinstellung verfallen unter FreeBSD keine Accounts. Wenn Sie Accounts einrichten, die nur für eine bestimmte Zeit gültig sein sollen, beispielsweise Accounts für Teilnehmer eines Praktikums, können Sie mit pw(8) die Gültigkeitsdauer des Accounts angeben. Nachdem die angegebene Zeitspanne verstrichen ist, kann dieser Account nicht mehr zum Anmelden verwendet werden, obwohl alle Verzeichnisse und Dateien, die diesem Account gehören, noch vorhanden sind.

vollständiger Benutzername

FreeBSD identifiziert einen Account eindeutig über den Loginnamen, der aber keine Ähnlichkeit mit dem richtigen Namen des Benutzers haben muss. Ähnlich wie bei einem Kommentar, kann diese Information Leerzeichen, Großbuchstaben und mehr als 8 Zeichen enthalten.

Heimatverzeichnis

Das Heimatverzeichnis gibt den vollständigen Pfad zu dem Verzeichnis an, in dem sich der Benutzer nach erfolgreicher Anmeldung befindet. Es ist üblich, alle Heimatverzeichnisse unter /home/Loginname oder /usr/home/Loginname anzulegen. Im Heimatverzeichnis oder in dort angelegten Verzeichnissen werden die Dateien eines Benutzers gespeichert.

Login-Shell

Grundsätzlich ist die Shell, von denen es viele unterschiedliche gibt, eine Schnittstelle zum System. Die bevorzugte Shell eines Benutzers kann seinem Account zugeordnet werden.

4.3.1.3. Der Superuser-Account

Der Superuser-Account, normalerweise root genannt, ist vorkonfiguriert und erleichtert die Systemverwaltung, sollte aber nicht für alltägliche Aufgaben wie das Verschicken und Empfangen von Mails, Erforschen des Systems oder Programmierung benutzt werden.

Der Superuser kann, im Gegensatz zu normalen Benutzer-Accounts, ohne Beschränkungen operieren und die falsche Anwendung des Superuser-Accounts kann in spektakulären Katastrophen resultieren. Benutzer-Accounts sind nicht in der Lage, das System versehentlich zu zerstören, deswegen wird empfohlen, normale Benutzer-Accounts zu verwenden, solange nicht zusätzliche Privilegien benötigt werden.

Kommandos, die Sie als Superuser eingeben, sollten Sie immer doppelt und dreifach überprüfen, da ein zusätzliches Leerzeichen oder ein fehlender Buchstabe irreparablen Datenverlust bedeuten kann.

Es gibt mehrere Möglichkeiten Superuser-Rechte zu bekommen. Obwohl man sich direkt als root anmelden kann, wird von dieser Methode dringend abgeraten.

Verwenden Sie stattdessen su(1) um zum Superuser zu werden. Wenn Sie noch ein - eingeben, wird der Benutzer auch die Umgebung des Root-Benutzers erben. Der Benutzer, der diesen Befehl ausführt muss Mitglied der Gruppe wheel sein, oder der Befehl schlägt fehl. Zudem muss der Benutzer das Kennwort für den Benutzer-Account root kennen.

In diesem Beispiel wird der Benutzer nur zum Superuser, um make install auszuführen, da dieser Befehl Superuser-Rechte erfordert. Nachdem der Befehl ausgeführt wurde, kann der Benutzer exit eingeben, um den Superuser-Account zu verlassen und zu den Privilegien des Benutzer-Accounts zurückkehren.

Beispiel 4.1. Ein Programm als Superuser installieren
% configure
% make
% su -
Password:
# make install
# exit
%

Das in FreeBSD enthaltene su(1) funktioniert gut für einzelne Systeme oder in kleineren Netzwerken, mit nur einem Administrator. Eine Alternative ist es, das Paket oder den Port security/sudo zu installieren. Diese Software bietet eine Protokollierung von Aktivitäten und ermöglicht es dem Administrator zu bestimmen, welche Benutzer welche Befehle als Superuser ausführen dürfen.

4.3.2. Accounts verändern

FreeBSD stellt eine Vielzahl an Programmen bereit, um Accounts zu verändern. Die gebräuchlichsten Kommandos sind in Tabelle 4.1, „Programme zur Verwaltung von Benutzer-Accounts“ gefolgt von einer detaillierten Beschreibung, zusammengefasst. Weitere Informationen und Anwendungsbeispiele finden Sie in der Manualpage des jeweiligen Programms.

Tabelle 4.1. Programme zur Verwaltung von Benutzer-Accounts
ProgrammZusammenfassung
adduser(8)Das empfohlene Werkzeug, um neue Accounts zu erstellen.
rmuser(8)Das empfohlene Werkzeug, um Accounts zu löschen.
chpass(1)Ein flexibles Werkzeug, um Informationen in der Account-Datenbank zu verändern.
passwd(1)Ein Werkzeug, um Passwörter von Accounts zu ändern.
pw(8)Ein mächtiges und flexibles Werkzeug um alle Informationen über Accounts zu ändern.

4.3.2.1. adduser

Das empfohlene Programm zum Hinzufügen neuer Benutzer ist adduser(8). Wenn ein neuer Benutzer hinzugefügt wird, aktualisiert das Programm automatisch /etc/passwd und /etc/group. Es erstellt auch das Heimatverzeichnis für den Benutzer, kopiert die Standardkonfigurationsdateien aus /usr/share/skel und kann optional eine ,,Willkommen``-Nachricht an den neuen Benutzer versenden. Das Programm muss als Superuser ausgeführt werden.

Das Werkzeug adduser(8) arbeitet interaktiv und führt durch die einzelnen Schritte, wenn ein neues Benutzerkonto erstellt wird. Wie in Beispiel 4.2, „Einen Benutzer unter FreeBSD anlegen“ zu sehen ist, müssen Sie entweder die benötigte Information eingeben oder Return drücken, um den Vorgabewert in eckigen Klammern zu akzeptieren. In diesem Beispiel wird der Benutzer in die Gruppe wheel aufgenommen, was es ihm erlaubt mit su(1) zum Superuser zu werden. Wenn Sie fertig sind, können Sie entweder einen weiteren Benutzer erstellen oder das Programm beenden.

Beispiel 4.2. Einen Benutzer unter FreeBSD anlegen
# adduser
Username: jru
Full name: J. Random User
Uid (Leave empty for default):
Login group [jru]:
Login group is jru. Invite jru into other groups? []: wheel
Login class [default]:
Shell (sh csh tcsh zsh nologin) [sh]: zsh
Home directory [/home/jru]:
Home directory permissions (Leave empty for default):
Use password-based authentication? [yes]:
Use an empty password? (yes/no) [no]:
Use a random password? (yes/no) [no]:
Enter password:
Enter password again:
Lock out the account after creation? [no]:
Username   : jru
Password   : ****
Full Name  : J. Random User
Uid        : 1001
Class      :
Groups     : jru wheel
Home       : /home/jru
Shell      : /usr/local/bin/zsh
Locked     : no
OK? (yes/no): yes
adduser: INFO: Successfully added (jru) to the user database.
Add another user? (yes/no): no
Goodbye!
#

Anmerkung:

Wenn Sie das Passwort eingeben, werden weder Passwort noch Sternchen angezeigt. Passen Sie auf, dass Sie das Passwort korrekt eingeben.

4.3.2.2. rmuser

Benutzen Sie rmuser(8) als Superuser, um einen Account vollständig aus dem System zu entfernen. Dieses Programm führt die folgenden Schritte durch:

  1. Entfernt den crontab(1) Eintrag des Benutzers, wenn dieser existiert.

  2. Entfernt alle at(1) jobs, die dem Benutzer gehören.

  3. Schließt alle Prozesse des Benutzers.

  4. Entfernt den Benutzer aus der lokalen Passwort-Datei des Systems.

  5. Entfernt optional das Heimatverzeichnis des Benutzers, falls es dem Benutzer gehört.

  6. Entfernt eingegangene E-Mails des Benutzers aus /var/mail.

  7. Entfernt alle Dateien des Benutzers aus temporären Dateispeicherbereichen wie /tmp.

  8. Entfernt den Loginnamen von allen Gruppen, zu denen er gehört, aus /etc/group. Wenn eine Gruppe leer wird und der Gruppenname mit dem Loginnamen identisch ist, wird die Gruppe entfernt. Das ergänzt sich mit den einzelnen Benutzer-Gruppen, die von adduser(8) für jeden neuen Benutzer erstellt werden.

Der Superuser-Account kann nicht mit rmuser(8) entfernt werden, da dies in den meisten Fällen das System unbrauchbar macht.

Als Vorgabe wird ein interaktiver Modus benutzt.

Beispiel 4.3. Interaktives Löschen von Accounts mit rmuser
# rmuser jru
Matching password entry:
jru:*:1001:1001::0:0:J. Random User:/home/jru:/usr/local/bin/zsh
Is this the entry you wish to remove? y
Remove user's home directory (/home/jru)? y
Removing user (jru): mailspool home passwd.
#

4.3.2.3. chpass

Jeder Benutzer kann chpass(1) verwenden, um die Shell und persönliche Informationen des Benutzerkontos zu verändern. Der Superuser kann dieses Werkzeug benutzen, um zusätzliche Kontoinformationen für alle Benutzer zu ändern.

Werden neben dem optionalen Loginnamen keine weiteren Optionen angegeben, zeigt chpass(1) einen Editor mit Account-Informationen an. Wenn der Benutzer den Editor verlässt, wird die Account-Datenbank mit den neuen Informationen aktualisiert.

Anmerkung:

Dieses Programm fragt nach dem Verlassen des Editors nach dem Passwort, es sei denn, man ist als Superuser angemeldet.

In Beispiel 4.4, „chpass als Superuser verwenden“ hat der Superuser chpass jru eingegeben. Es werden die Felder ausgegeben, die für diesen Benutzer geändert werden können. Wenn stattdessen jru diesen Befehl aufruft, werden nur die letzten sechs Felder ausgegeben. Dies ist in Beispiel 4.5, „chpass als normaler Benutzer verwenden“ zu sehen.

Beispiel 4.4. chpass als Superuser verwenden
#Changing user database information for jru.
Login: jru
Password: *
Uid [#]: 1001
Gid [# or name]: 1001
Change [month day year]:
Expire [month day year]:
Class:
Home directory: /home/jru
Shell: /usr/local/bin/zsh
Full Name: J. Random User
Office Location:
Office Phone:
Home Phone:
Other information:

Beispiel 4.5. chpass als normaler Benutzer verwenden
#Changing user database information for jru.
Shell: /usr/local/bin/tcsh
Full Name: J. Random User
Office Location:
Office Phone:
Home Phone:
Other information:

Anmerkung:

Die Kommandos chfn(1) und chsh(1) sind nur Verweise auf chpass(1), genauso wie ypchpass(1), ypchfn(1) und ypchsh(1). Da NIS automatisch unterstützt wird, ist es nicht notwendig das yp vor dem Kommando einzugeben. NIS wird später im Kapitel 29, Netzwerkserver besprochen.

4.3.2.4. passwd

Jeder Benutzer kann mit passwd(1) einfach sein Passwort ändern. Um eine versehentliche oder unbefugte Änderung zu verhindern, muss bei einem Passwortwechsel zunächst das ursprüngliche Passwort eingegeben werden, bevor das neue Passwort festgelegt werden kann.

Beispiel 4.6. Das eigene Passwort wechseln
% passwd
Changing local password for jru.
Old password:
New password:
Retype new password:
passwd: updating the database...
passwd: done

Der Superuser kann jedes beliebige Passwort ändern, indem er den Benutzernamen an passwd(1) übergibt. Das Programm fordert den Superuser nicht dazu auf, das aktuelle Passwort des Benutzers einzugeben. Dadurch kann das Passwort geändert werden, falls der Benutzer sein ursprüngliches Passwort vergessen hat.

Beispiel 4.7. Als Superuser das Passwort eines anderen Accounts verändern
# passwd jru
Changing local password for jru.
New password:
Retype new password:
passwd: updating the database...
passwd: done

Anmerkung:

Wie bei chpass(1) ist yppasswd(1) nur ein Verweis auf passwd(1). NIS wird von jedem dieser Kommandos unterstützt.

4.3.2.5. pw

Mit dem Werkzeug pw(8) können Accounts und Gruppen erstellt, entfernt, verändert und angezeigt werden. Dieses Kommando dient als Schnittstelle zu den Benutzer- und Gruppendateien des Systems. pw(8) besitzt eine Reihe mächtiger Kommandozeilenschalter, die es für die Benutzung in Shell-Skripten geeignet machen, doch finden neue Benutzer die Bedienung des Kommandos komplizierter, als die der anderen hier vorgestellten Kommandos.

4.3.3. Gruppen

Eine Gruppe ist einfach eine Zusammenfassung von Accounts. Gruppen werden durch den Gruppennamen und die GID identifiziert. Der Kernel von FreeBSD entscheidet anhand der UID und der Gruppenmitgliedschaft eines Prozesses, ob er dem Prozess etwas erlaubt oder nicht. Wenn jemand von der GID eines Benutzers oder Prozesses spricht, meint er damit meistens die erste Gruppe der Gruppenliste.

Die Zuordnung von Gruppennamen zur GID steht in /etc/group, einer Textdatei mit vier durch Doppelpunkte getrennten Feldern. Im ersten Feld steht der Gruppenname, das zweite enthält ein verschlüsseltes Passwort, das dritte gibt die GID an und das vierte besteht aus einer Komma separierten Liste der Mitglieder der Gruppe. Eine ausführliche Beschreibung der Syntax dieser Datei finden Sie in group(5).

Wenn Sie /etc/group nicht von Hand editieren möchten, können Sie pw(8) zum Editieren benutzen. Das folgende Beispiel zeigt das Hinzufügen einer Gruppe mit dem Namen teamtwo:

Beispiel 4.8. Setzen der Mitgliederliste einer Gruppe mit pw(8)
# pw groupadd teamtwo
# pw groupshow teamtwo
teamtwo:*:1100:

1100 ist die GID der Gruppe teamtwo. Momentan hat teamtwo noch keine Mitglieder. Mit dem folgenden Kommando wird der Benutzer jru in die Gruppe teamtwo aufgenommen.

Beispiel 4.9. Ein Gruppenmitglied mit pw(8) hinzufügen
# pw groupmod teamtwo -M jru
# pw groupshow teamtwo
teamtwo:*:1100:jru

Als Argument von -M geben Sie eine Komma separierte Liste von Mitgliedern an, die in die Gruppe aufgenommen werden sollen. Aus den vorherigen Abschnitten ist bekannt, dass die Passwort-Datei ebenfalls eine Gruppe für jeden Benutzer enthält. Das System teilt dem Benutzer automatisch eine Gruppe zu, die aber vom groupshow Kommando von pw(8) nicht angezeigt wird. Diese Information wird allerdings von id(1) und ähnlichen Werkzeugen angezeigt. Das heißt, dass pw(8) nur /etc/group manipuliert, es wird nicht versuchen, zusätzliche Informationen aus /etc/passwd zu lesen.

Beispiel 4.10. Hinzufügen eines neuen Gruppenmitglieds mittels pw(8)
# pw groupmod teamtwo -m db
# pw groupshow teamtwo
teamtwo:*:1100:jru,db

Die Argumente zur Option -m ist eine durch Komma getrennte Liste von Benutzern, die der Gruppe hinzugefügt werden sollen. Anders als im vorherigen Beispiel werden diese Benutzer in die Gruppe aufgenommen und ersetzen nicht die bestehenden Benutzer in der Gruppe.

Beispiel 4.11. Mit id die Gruppenzugehörigkeit bestimmen
% id jru
uid=1001(jru) gid=1001(jru) groups=1001(jru), 1100(teamtwo)

In diesem Beispiel ist jru Mitglied von jru und teamtwo.

Weitere Informationen zu diesem Befehl und dem Format von /etc/group finden Sie in pw(8) und group(5).

4.4. Zugriffsrechte

In FreeBSD besitzt jede Datei und jedes Verzeichnis einen Satz von Zugriffsrechten. Es stehen mehrere Programme zum Anzeigen und Bearbeiten dieser Rechte zur Verfügung. Ein Verständnis für die Funktionsweise von Zugriffsrechten ist notwendig, um sicherzustellen, dass Benutzer nur auf die von ihnen benötigten Dateien zugreifen können und nicht auf die Dateien des Betriebssystems oder von anderen Benutzern.

In diesem Abschnitt werden die traditionellen Zugriffsrechte von UNIX® beschrieben. Informationen zu feingranularen Zugriffsrechten für Dateisysteme finden Sie im Abschnitt 14.9, „Zugriffskontrolllisten für Dateisysteme (ACL)“.

In UNIX® werden die grundlegenden Zugriffsrechte in drei Typen unterteilt: Lesen, Schreiben und Ausführen. Diese Zugriffstypen werden verwendet, um den Dateizugriff für den Besitzer der Datei, die Gruppe und alle anderen zu bestimmen. Die Lese-, Schreib- und Ausführungsberechtigungen werden mit den Buchstaben r, w und x dargestellt. Alternativ können die Berechtigungen als binäre Zahlen dargestellt werden, da jede Berechtigung entweder aktiviert oder deaktiviert (0) ist. Wenn die Berechtigung als Zahl dargestellt wird, ist die Reihenfolge immer als rwx zu lesen, wobei r den Wert 4 hat, w den Wert 2 und x den Wert 1.

In Tabelle 4.1 sind die einzelnen nummerischen und alphabetischen Möglichkeiten zusammengefasst. Das Zeichen - in der Spalte Auflistung im Verzeichnis besagt, dass eine Berechtigung deaktiviert ist.

Tabelle 4.2. UNIX® Zugriffsrechte
WertZugriffsrechteAuflistung im Verzeichnis
0Kein Lesen, Kein Schreiben, Kein Ausführen---
1Kein Lesen, Kein Schreiben, Ausführen--x
2Kein Lesen, Schreiben, Kein Ausführen-w-
3Kein Lesen, Schreiben, Ausführen-wx
4Lesen, Kein Schreiben, Kein Ausführenr--
5Lesen, Kein Schreiben, Ausführenr-x
6Lesen, Schreiben, Kein Ausführenrw-
7Lesen, Schreiben, Ausführenrwx

Benutzen Sie das Argument -l mit ls(1), um eine ausführliche Verzeichnisauflistung zu sehen, die in einer Spalte die Zugriffsrechte für den Besitzer, die Gruppe und alle anderen enthält. Die Ausgabe von ls -l könnte wie folgt aussehen:

% ls -l
total 530
-rw-r--r--  1 root  wheel     512 Sep  5 12:31 myfile
-rw-r--r--  1 root  wheel     512 Sep  5 12:31 otherfile
-rw-r--r--  1 root  wheel    7680 Sep  5 12:31 email.txt

Das erste Zeichen (ganz links) der ersten Spalte zeigt an, ob es sich um eine normale Datei, ein Verzeichnis, ein zeichenorientiertes Gerät, ein Socket oder irgendeine andere Pseudo-Datei handelt. In diesem Beispiel zeigt - eine normale Datei an. Die nächsten drei Zeichen, dargestellt als rw-, ergeben die Rechte für den Datei-Besitzer. Die drei Zeichen danach r-- die Rechte der Gruppe, zu der die Datei gehört. Die letzten drei Zeichen, r--, geben die Rechte für den Rest der Welt an. Ein Minus bedeutet, dass das Recht nicht gegeben ist. In diesem Beispiel sind die Zugriffsrechte also: der Eigentümer kann die Datei lesen und schreiben, die Gruppe kann lesen und alle anderen können auch nur lesen. Entsprechend obiger Tabelle wären die Zugriffsrechte für diese Datei 644, worin jede Ziffer die drei Teile der Zugriffsrechte dieser Datei verkörpert.

Wie kontrolliert das System die Rechte von Hardware-Geräten? FreeBSD behandelt die meisten Hardware-Geräte als Dateien, welche Programme öffnen, lesen und mit Daten beschreiben können. Diese speziellen Gerätedateien sind in /dev gespeichert.

Verzeichnisse werden ebenfalls wie Dateien behandelt. Sie haben Lese-, Schreib- und Ausführ-Rechte. Das Ausführungs-Bit hat eine etwas andere Bedeutung für ein Verzeichnis als für eine Datei. Die Ausführbarkeit eines Verzeichnisses bedeutet, dass in das Verzeichnis, zum Beispiel mit cd(1), gewechselt werden kann. Das bedeutet auch, dass in dem Verzeichnis auf Dateien, deren Namen bekannt sind, zugegriffen werden kann, vorausgesetzt die Zugriffsrechte der Dateien lassen dies zu.

Das Leserecht auf einem Verzeichnis erlaubt es, sich den Inhalt des Verzeichnisses anzeigen zu lassen. Um eine Datei mit bekanntem Namen in einem Verzeichnis zu löschen, müssen auf dem Verzeichnis Schreib- und Ausführ-Rechte gesetzt sein.

Es gibt noch mehr Rechte, aber die werden vor allem in speziellen Umständen benutzt, wie zum Beispiel bei SetUID-Binaries und Verzeichnissen mit gesetztem Sticky-Bit. Mehr über Zugriffsrechte von Dateien und wie sie gesetzt werden, finden Sie in chmod(1).

4.4.1. Symbolische Zugriffsrechte

Beigesteuert von Tom Rhodes.

Symbolische Zugriffsrechte verwenden Zeichen anstelle von oktalen Werten, um die Berechtigungen für Dateien oder Verzeichnisse festzulegen. Zugriffsrechte verwenden die Syntax Wer, Aktion und Berechtigung. Die folgenden Werte stehen zur Auswahl:

OptionSymbolBedeutung
WeruBenutzer (user)
WergGruppe (group)
WeroAndere (other)
WeraAlle
Aktion+Berechtigungen hinzufügen
Aktion-Berechtigungen entziehen
Aktion=Berechtigungen explizit setzen
Berechtigungrlesen (read)
Berechtigungwschreiben (write)
Berechtigungxausführen (execute)
BerechtigungtSticky-Bit
BerechtigungsSet-UID oder Set-GID

Diese symbolischen Werte werden zusammen mit chmod(1) verwendet. Beispielsweise würde der folgende Befehl den Zugriff auf FILE für alle anderen Benutzer verbieten:

% chmod go= FILE

Wenn Sie mehr als eine Änderung der Rechte einer Datei vornehmen wollen, können Sie eine durch Kommata getrennte Liste der Rechte angeben. Das folgende Beispiel entzieht der Gruppe und der Welt die Schreibberechtigung auf FILE und fügt für jeden Ausführungsrechte hinzu:

% chmod go-w,a+x FILE

4.4.2. FreeBSD Datei-Flags

Beigetragen von Tom Rhodes.

Zusätzlich zu den Zugriffsrechten unterstützt FreeBSD auch die Nutzung von Datei-Flags. Diese erhöhen die Sicherheit des Systems, indem sie eine verbesserte Kontrolle von Dateien erlauben. Verzeichnisse werden allerdings nicht unterstützt. Mit dem Einsatz von Datei-Flags kann sogar root daran gehindert werden, Dateien zu löschen oder zu verändern.

Datei-Flags werden mit chflags(1) verändert. Um beispielsweise auf der Datei file1 das unlöschbar-Flag zu aktivieren, geben Sie folgenden Befehl ein:

# chflags sunlink file1

Um dieses Flag zu deaktivieren, setzen Sie ein no vor sunlink:

# chflags nosunlink file1

Um die Flags einer Datei anzuzeigen, verwenden Sie ls(1) zusammen mit -lo:

# ls -lo file1
-rw-r--r--  1 trhodes  trhodes  sunlnk 0 Mar  1 05:54 file1

Einige Datei-Flags können nur vom root-Benutzer gesetzt oder gelöscht werden. Andere wiederum können auch vom Eigentümer der Datei gesetzt werden. Weitere Informationen hierzu finden sich in chflags(1) und chflags(2).

4.4.3. Die Berechtigungen setuid, setgid, und sticky

Beigetragen von Tom Rhodes.

Anders als die Berechtigungen, die bereits angesprochen wurden, existieren drei weitere Einstellungen, über die alle Administratoren Bescheid wissen sollten. Dies sind die Berechtigungen setuid, setgid und sticky.

Diese Einstellungen sind wichtig für manche UNIX®-Operationen, da sie Funktionalitäten zur Verfügung stellen, die normalerweise nicht an gewöhnliche Anwender vergeben wird. Um diese zu verstehen, muss der Unterschied zwischen der realen und der effektiven Benutzer-ID erwähnt werden.

Die reale Benutzer-ID ist die UID, welche den Prozess besitzt oder gestartet hat. Die effektive UID ist diejenige, als die der Prozess läuft. Beispielsweise wird passwd(1) mit der realen ID des Benutzers ausgeführt, der sein Passwort ändert. Um jedoch die Passwortdatenbank zu bearbeiten, wird es effektiv als root-Benutzer ausgeführt. Das ermöglicht es normalen Benutzern, ihr Passwort zu ändern, ohne einen Permission Denied-Fehler angezeigt zu bekommen.

Die setuid-Berechtigung kann durch das Voranstellen bei einer Berechtigungsgruppe mit der Nummer Vier (4) gesetzt werden, wie im folgenden Beispiel gezeigt wird:

# chmod 4755 suidexample.sh

Die Berechtigungen auf suidexample.sh sehen jetzt wie folgt aus:

-rwsr-xr-x   1 trhodes  trhodes    63 Aug 29 06:36 suidexample.sh

Beachten Sie, dass ein s jetzt Teil der Berechtigungen des Dateibesitzers geworden ist, welches das Ausführen-Bit ersetzt. Dies ermöglicht es Werkzeugen mit erhöhten Berechtigungen zu laufen, wie beispielsweise passwd.

Anmerkung:

Die nosuid mount(8)-Option bewirkt, dass solche Anwendungen stillschweigend scheitern, ohne den Anwender darüber zu informieren. Diese Option ist nicht völlig zuverlässig, da ein nosuid-Wrapper in der Lage wäre, dies zu umgehen.

Um dies in Echtzeit zu beobachten, öffnen Sie zwei Terminals. Starten Sie auf einem passwd als normaler Benutzer. Während es auf die Passworteingabe wartet, überprüfen Sie die Prozesstabelle und sehen Sie sich die Informationen für passwd(1) an:

Im Terminal A:

Changing local password for trhodes
Old Password:

Im Terminal B:

# ps aux | grep passwd
trhodes  5232  0.0  0.2  3420  1608   0  R+    2:10AM   0:00.00 grep passwd
root     5211  0.0  0.2  3620  1724   2  I+    2:09AM   0:00.01 passwd

Obwohl passwd(1) als normaler Benutzer ausgeführt wird, benutzt es die effektive UID von root.

Die setgid-Berechtigung führt die gleiche Aktion wie die setuid-Berechtigung durch, allerdings verändert sie die Gruppenberechtigungen. Wenn eine Anwendung oder ein Werkzeug mit dieser Berechtigung ausgeführt wird, erhält es die Berechtigungen basierend auf der Gruppe, welche die Datei besitzt und nicht die des Benutzers, der den Prozess gestartet hat.

Um die setgid-Berechtigung auf einer Datei zu setzen, geben Sie chmod(1) eine führende Zwei (2) mit:

# chmod 2755 sgidexample.sh

Beachten Sie in der folgenden Auflistung, dass das s sich jetzt in dem Feld befindet, das für die Berechtigungen der Gruppe bestimmt ist:

-rwxr-sr-x   1 trhodes  trhodes    44 Aug 31 01:49 sgidexample.sh

Anmerkung:

Obwohl es sich bei dem in diesen Beispielen gezeigten Shellskript um eine ausführbare Datei handelt, wird es nicht mit einer anderen EUID oder effektiven Benutzer-ID ausgeführt. Das ist so, weil Shellskripte keinen Zugriff auf setuid(2)-Systemaufrufe erhalten.

Die setuid und setgid Berechtigungs-Bits können die Systemsicherheit verringern, da sie erhöhte Rechte ermöglichen. Das dritte Berechtigungs-Bit, das sticky bit kann die Sicherheit eines Systems erhöhen.

Wenn das sticky bit auf einem Verzeichnis angewendet wird, erlaubt es das Löschen von Dateien nur durch den Besitzer der Datei. Dies ist nützlich, um die Löschung von Dateien in öffentlichen Verzeichnissen wie /tmp, durch Benutzer denen diese Dateien nicht gehören, zu verhindern. Um diese Berechtigung anzuwenden, stellen Sie der Berechtigung eine Eins (1) voran:

# chmod 1777 /tmp

Das sticky bit kann anhand des t ganz am Ende der Berechtigungen abgelesen werden.

# ls -al / | grep tmp
drwxrwxrwt  10 root  wheel         512 Aug 31 01:49 tmp

4.5. Verzeichnis-Strukturen

Die FreeBSD-Verzeichnishierarchie ist die Grundlage, um ein umfassendes Verständnis des Systems zu erlangen. Das wichtigste Verzeichnis ist das Root-Verzeichnis /. Dieses Verzeichnis ist das erste, das während des Bootens eingehangen wird. Es enthält das notwendige Basissystem, um das Betriebssystem in den Mehrbenutzerbetrieb zu bringen. Das Root-Verzeichnis enthält auch die Mountpunkte für Dateisysteme, die beim Wechsel in den Multiuser-Modus eingehängt werden.

Ein Mountpunkt ist ein Verzeichnis, in das zusätzliche Dateisysteme (in der Regel unterhalb des Wurzelverzeichnisses) eingehängt werden können. Dieser Vorgang wird in Abschnitt 4.6, „Festplatten, Slices und Partitionen“ ausführlich beschrieben. Standard-Mountpunkte sind /usr, /var, /tmp, /mnt sowie /cdrom. Auf diese Verzeichnisse verweisen üblicherweise Einträge in /etc/fstab. Diese Datei ist eine Tabelle mit verschiedenen Dateisystemen und Mountpunkten, vom System gelesen werden. Die meisten der Dateisysteme in /etc/fstab werden beim Booten automatisch durch das Skript rc(8) gemountet, wenn die zugehörigen Einträge nicht mit noauto versehen sind. Weitere Informationen zu diesem Thema finden Sie im Abschnitt 4.7.1, „Die fstab Datei“.

Eine vollständige Beschreibung der Dateisystem-Hierarchie finden Sie in hier(7). Die folgende Aufstellung gibt einen kurzen Überblick über die am häufigsten verwendeten Verzeichnisse:

VerzeichnisBeschreibung
/Wurzelverzeichnis des Dateisystems.
/bin/Grundlegende Werkzeuge für den Single-User-Modus sowie den Mehrbenutzerbetrieb.
/boot/Programme und Konfigurationsdateien, die während des Bootens benutzt werden.
/boot/defaults/Vorgaben für die Boot-Konfiguration. Weitere Details finden Sie in loader.conf(5).
/dev/Gerätedateien. Weitere Details finden Sie in intro(4).
/etc/Konfigurationsdateien und Skripten des Systems.
/etc/defaults/Vorgaben für die System Konfigurationsdateien. Weitere Details finden Sie in rc(8).
/etc/mail/Konfigurationsdateien von MTAs wie sendmail(8).
/etc/namedb/Konfigurationsdateien von named(8).
/etc/periodic/Täglich, wöchentlich oder monatlich laufende Skripte, die von cron(8) gestartet werden. Weitere Details finden Sie in periodic(8).
/etc/ppp/Konfigurationsdateien von ppp(8).
/mnt/Ein leeres Verzeichnis, das von Systemadministratoren häufig als temporärer Mountpunkt genutzt wird.
/proc/Prozess Dateisystem. Weitere Details finden Sie in procfs(5) und mount_procfs(8).
/rescue/Statisch gelinkte Programme zur Wiederherstellung des Systems, wie in rescue(8) beschrieben.
/root/Home Verzeichnis von root.
/sbin/Systemprogramme und administrative Werkzeuge, die grundlegend für den Single-User-Modus und den Mehrbenutzerbetrieb sind.
/tmp/Temporäre Dateien, die für gewöhnlich bei einem Neustart des Systems verloren gehen. Häufig wird ein speicherbasiertes Dateisystem unter /tmp eingehängt. Dieser Vorgang kann automatisiert werden, wenn tmpmfs-bezogene Variablen von rc.conf(5) verwendet werden, oder ein entsprechender Eintrag in /etc/fstab existiert. Weitere Informationen finden Sie in mdmfs(8).
/usr/Der Großteil der Benutzerprogramme und Anwendungen.
/usr/bin/Gebräuchliche Werkzeuge, Programmierhilfen und Anwendungen.
/usr/include/Standard C include-Dateien.
/usr/lib/Bibliotheken.
/usr/libdata/Daten verschiedener Werkzeuge.
/usr/libexec/System-Dämonen und System-Werkzeuge, die von anderen Programmen ausgeführt werden.
/usr/local/Lokale Programme und Bibliotheken. Die Ports-Sammlung von FreeBSD benutzt dieses Verzeichnis als Zielverzeichnis für Anwendungen. Innerhalb von /usr/local sollte das von hier(7) beschriebene Layout für /usr benutzt werden. Das man Verzeichnis wird direkt unter /usr/local anstelle unter /usr/local/share angelegt. Die Dokumentation der Ports findet sich in share/doc/port.
/usr/obj/Von der Architektur abhängiger Verzeichnisbaum, der durch das Bauen von /usr/src entsteht.
/usr/ports/Die FreeBSD-Ports-Sammlung (optional).
/usr/sbin/System-Dämonen und System-Werkzeuge, die von Benutzern ausgeführt werden.
/usr/share/Von der Architektur unabhängige Dateien.
/usr/src/Quelldateien von BSD und/oder lokalen Ergänzungen.
/var/Wird für mehrere Zwecke genutzt und enthält Logdateien, temporäre Daten und Spooldateien. Manchmal wird ein speicherbasiertes Dateisystem unter /var eingehängt. Dieser Vorgang kann automatisiert werden, wenn die varmfs-bezogenen Variablen von rc.conf(5) verwendet werden, oder ein entsprechender Eintrag in /etc/fstab existiert. Weitere Informationen finden Sie in mdmfs(8).
/var/log/Verschiedene Logdateien des Systems.
/var/mail/Postfächer der Benutzer.
/var/spool/Verschiedene Spool-Verzeichnisse der Drucker- und Mailsysteme.
/var/tmp/Temporäre Dateien, die in der Regel auch bei einem Neustart des Systems erhalten bleiben, es sei denn, bei /var handelt es sich um ein speicherbasiertes Dateisystem.
/var/yp/NIS maps.

4.6. Festplatten, Slices und Partitionen

FreeBSD identifiziert Dateien anhand eines Dateinamens. In Dateinamen wird zwischen Groß- und Kleinschreibung unterschieden: readme.txt und README.TXT bezeichnen daher zwei verschiedene Dateien. FreeBSD benutzt keine Dateiendungen, um den Typ der Datei zu bestimmen, egal ob es sich um ein Programm, ein Dokument oder um andere Daten handelt.

Dateien werden in Verzeichnissen gespeichert. In einem Verzeichnis können sich keine oder hunderte Dateien befinden. Ein Verzeichnis kann auch andere Verzeichnisse enthalten und so eine Hierarchie von Verzeichnissen aufbauen, die die Ablage von Daten erleichtert.

In Dateinamen werden Verzeichnisse durch einen Schrägstrich (/, Slash) getrennt. Wenn z.B. das Verzeichnis foo ein Verzeichnis bar enthält, in dem sich die Datei readme.txt befindet, lautet der vollständige Name der Datei (oder der Pfad zur Datei) foo/bar/readme.txt. Beachten Sie, dass sich dies von Windows® unterscheidet, wo der \ (Backslash für die Trennung von Datei- und Verzeichnisnamen verwendet wird. FreeBSD benutzt keine Laufwerkbuchstaben oder Laufwerknamen im Pfad. Beispielsweise würde man unter FreeBSD nicht c:\foo\bar\readme.txt eingeben.

Verzeichnisse und Dateien werden in einem Dateisystem gespeichert. Jedes Dateisystem besitzt genau ein Wurzelverzeichnis, das so genannte Root-Directory. Dieses Wurzelverzeichnis kann weitere Verzeichnisse enthalten. Ein Dateisystem wird als Wurzeldateisystem festgelegt, und jedes weitere Dateisystem wird unter dem Wurzeldateisystem eingehangen. Daher scheint jedes Verzeichnis, unabhängig von der Anzahl der Platten, auf derselben Platte zu liegen.

Betrachten wir die drei Dateisysteme A, B und C. Jedes Dateisystem besitzt ein eigenes Wurzelverzeichnis, das zwei andere Verzeichnisse enthält: A1, A2, B1, B2, C1 und C2.

Das Wurzeldateisystem soll A sein. ls(1) zeigt darin die beiden Verzeichnisse A1 und A2 an. Der Verzeichnisbaum sieht wie folgt aus:

Ein Dateisystem wird in einem Verzeichnis eines anderen Dateisystems eingehangen. Wir hängen nun das Dateisystem B in das Verzeichnis A1 ein. Das Wurzelverzeichnis von B ersetzt nun das Verzeichnis A1 und die Verzeichnisse des Dateisystems B werden sichtbar:

Jede Datei in den Verzeichnissen B1 oder B2 kann über den Pfad /A1/B1 oder /A1/B2 erreicht werden. Dateien aus dem Verzeichnis /A1 sind jetzt verborgen. Wenn das Dateisystem B wieder abgehangen wird (umount), erscheinen die verborgenen Dateien wieder.

Wenn das Dateisystem B unter dem Verzeichnis A2 eingehangen würde, sähe der Verzeichnisbaum so aus:

Die Dateien des Dateisystems B wären unter den Pfaden /A2/B1 und /A2/B2 erreichbar.

Dateisysteme können übereinander eingehangen werden. Der folgende Baum entsteht, wenn im letzten Beispiel das Dateisystem C in das Verzeichnis B1 des Dateisystems B eingehangen wird:

C könnte auch im Verzeichnis A1 eingehangen werden:

Sie können sogar mit nur einem großen Dateisystem auskommen. Dies hat mehrere Nachteile und einen Vorteil.

Vorteile mehrerer Dateisysteme
  • Die Dateisysteme können mit unterschiedlichen Optionen (mount options) eingehangen werden. Beispielsweise kann das Wurzeldateisystem schreibgeschützt eingehangen werden, sodass es für Benutzer nicht möglich ist, versehentlich kritische Dateien zu editieren oder zu löschen. Von Benutzern beschreibbare Dateisysteme wie /home können mit der Option nosuid eingehangen werden, wenn sie von anderen Dateisystemen getrennt sind. Die SUID- und GUID-Bits verlieren auf solchen Dateisystemen ihre Wirkung und die Sicherheit des Systems kann dadurch erhöht werden.

  • Die Lage von Dateien im Dateisystem wird, abhängig vom Gebrauch des Dateisystems, automatisch von FreeBSD optimiert. Ein Dateisystem mit vielen kleinen Dateien, die häufig geschrieben werden, wird anders behandelt als ein Dateisystem mit wenigen großen Dateien. Mit nur einem Dateisystem ist diese Optimierung unmöglich.

  • In der Regel übersteht ein FreeBSD-Dateisystem auch einen Stromausfall. Allerdings kann ein Stromausfall zu einem kritischen Zeitpunkt das Dateisystem beschädigen. Wenn die Daten über mehrere Dateisysteme verteilt sind, lässt sich das System mit hoher Wahrscheinlichkeit noch starten. Dies erleichtert das Zurückspielen von Datensicherungen.

Vorteil eines einzelnen Dateisystems
  • Dateisysteme haben eine festgelegte Größe. Es kann passieren, dass Sie eine Partition vergrößern müssen. Dies ist nicht leicht: Sie müssen die Daten sichern, das Dateisystem vergrößert anlegen und die gesicherten Daten zurückspielen.

    Wichtig:

    FreeBSD kennt den Befehl growfs(8), mit dem man Dateisysteme im laufenden Betrieb vergrößern kann.

Dateisysteme befinden sich in Partitionen (damit sind nicht die normalen MS-DOS®-Partitionen gemeint). Jede Partition wird mit einem Buchstaben von a bis h bezeichnet und kann nur ein Dateisystem enthalten. Dateisysteme können daher über ihren Mount-Point, den Punkt an dem sie eingehangen sind, oder den Buchstaben der Partition, in der sie liegen, identifiziert werden.

FreeBSD benutzt einen Teil der Platte für den Swap-Bereich, um virtuellen Speicher zur Verfügung zu stellen. Dadurch kann der Rechner Anwendungen mehr Speicher zur Verfügung stellen als tatsächlich eingebaut ist. Wenn der Speicher knapp wird, kann FreeBSD nicht benutzte Daten in den Swap-Bereich auslagern. Die ausgelagerten Daten können später wieder in den Speicher geholt werden (dafür werden dann andere Daten ausgelagert).

Für einige Partitionen gelten besondere Konventionen:

PartitionKonvention
aEnthält normalerweise das Wurzeldateisystem.
bEnthält normalerweise den Swap-Bereich.
cIst normalerweise genauso groß wie die Slice in der die Partition liegt. Werkzeuge, die auf der kompletten Slice arbeiten, wie ein Bad-Block-Scanner, können so die c-Partition benutzen. Für gewöhnlich wird in dieser Partition kein Dateisystem angelegt.
dFrüher hatte die d-Partition eine besondere Bedeutung. Heute ist dies nicht mehr der Fall und die Partition d kann wie jede andere Partition auch verwendet werden.

In FreeBSD werden Festplatten in Slices, welche in Windows® als Partitionen bekannt sind, aufgeteilt und von 1 bis 4 durchnummeriert. Diese werden dann in Partitionen unterteilt, welche wiederum Dateisysteme enthalten und mit Buchstaben benannt werden.

Die Slice-Nummern werden mit vorgestelltem s hinter den Gerätenamen gestellt: da0s1 ist die erste Slice auf dem ersten SCSI-Laufwerk. Auf einer Festplatte gibt es höchstens vier Slices. In einer Slice des passenden Typs kann es weitere logische Slices geben. Diese erweiterten Slices werden ab fünf durchnummeriert: ada0s5 ist die erste erweiterte Slice auf einer SATA-Platte. Diese Geräte werden von Dateisystemen benutzt, die sich in einer kompletten Slice befinden müssen.

Slices, dangerously dedicated-Festplatten und andere Platten enthalten Partitionen, die mit Buchstaben von a bis h bezeichnet werden. Der Buchstabe wird an den Gerätenamen gehangen: da0a ist die a-Partition des ersten da-Laufwerks. Dieses Laufwerk ist dangerously dedicated. ada1s3e ist die fünfte Partition in der dritten Slice der zweiten SATA-Platte.

Schließlich wird noch jede Festplatte des Systems eindeutig bezeichnet. Der Name einer Festplatte beginnt mit einem Code, der den Typ der Platte bezeichnet. Es folgt eine Nummer, die angibt, um welche Festplatte es sich handelt. Anders als bei Slices werden Festplatten von Null beginnend durchnummeriert. Gängige Festplatten-Namen sind in Tabelle 4.3, „Laufwerk-Codes“ aufgeführt.

Wenn Sie eine Partition angeben, beinhaltet das den Plattennamen, s, die Slice-Nummer und den Buchstaben der Partition. Einige Beispiele finden Sie in Beispiel 4.12, „Namen von Platten, Slices und Partitionen“.

Der Aufbau einer Festplatte wird in Beispiel 4.13, „Aufteilung einer Festplatte“ dargestellt.

Bei der Installation von FreeBSD legen Sie Slices auf der Festplatte an, erstellen Partitionen für FreeBSD innerhalb der Slice, erstellen ein Dateisystem oder Auslagerungsbereiche und entscheiden, welche Dateisysteme wo eingehangen werden.

Tabelle 4.3. Laufwerk-Codes
LaufwerkstypGerätename
SATA- und IDE-Festplattenada oder ad
SCSI-Festplatten und USB-Speichermedienda
SATA- und IDE-CD-ROM-Laufwerkecd oder acd
SCSI-CD-ROM-Laufwerkecd
Diskettenlaufwerkefd
Verschiedene proprietäre CD-ROM-Laufwerkemcd für Mitsumi CD-ROM und scd für Sony CD-ROM
SCSI-Bandlaufwerkesa
IDE-Bandlaufwerkeast
RAID-LaufwerkeBeispiele sind aacd für Adaptec® AdvancedRAID, mlxd für Mylex®, amrd für AMI MegaRAID®, idad für Compaq Smart RAID, twed für 3ware® RAID.

Beispiel 4.12. Namen von Platten, Slices und Partitionen
NameBedeutung
ada0s1aDie erste Partition (a) in der ersten Slice (s1) der ersten SATA-Festplatte (ada0).
da1s2eDie fünfte Partition (e) der zweiten Slice (s2) auf der zweiten SCSI-Festplatte (da1).

Beispiel 4.13. Aufteilung einer Festplatte

Das folgende Diagramm zeigt die Sicht von FreeBSD auf die erste SATA-Festplatte des Systems. Die Platte soll 250 GB groß sein und eine 80 GB große Slice (MS-DOS®-Partitionen) sowie eine 170 GB große Slice enthalten. Die erste Slice enthält ein Windows® NTFS-Dateisystem (C:), die zweite Slice enthält eine FreeBSD-Installation. Die FreeBSD-Installation in diesem Beispiel verwendet vier Datenpartitionen und einen Auslagerungsbereich.

Jede der vier Partitionen enthält ein Dateisystem. Das Wurzeldateisystem ist die a-Partition. In der d-Partition befindet sich /var und in der f-Partition befindet sich /usr. Die c-Partition bezieht sich auf die gesamte Slice und wird nicht für gewöhnliche Partitionen verwendet.


4.7. Anhängen und Abhängen von Dateisystemen

Ein Dateisystem wird am besten als ein Baum mit der Wurzel / veranschaulicht. /dev, /usr, und die anderen Verzeichnisse im Rootverzeichnis sind Zweige, die wiederum eigene Zweige wie /usr/local haben können.

Es gibt verschiedene Gründe, bestimmte dieser Verzeichnisse auf eigenen Dateisystemen anzulegen. /var enthält log/, spool/ sowie verschiedene andere temporäre Dateien und kann sich daher schnell füllen. Es empfiehlt sich, /var von / zu trennen, da es schlecht ist, wenn das Root-Dateisystem voll läuft.

Ein weiterer Grund bestimmte Verzeichnisbäume auf andere Dateisysteme zu legen, ist gegeben, wenn sich die Verzeichnisbäume auf gesonderten physikalischen oder virtuellen Platten, wie Network File System oder CD-ROM-Laufwerken, befinden.

4.7.1. Die fstab Datei

Während des Boot-Prozesses (Kapitel 13, FreeBSDs Bootvorgang) werden in /etc/fstab aufgeführte Verzeichnisse, sofern sie nicht mit der Option noauto versehen sind, automatisch angehangen. Diese Datei enthält Einträge in folgendem Format:

device	/mount-point	fstype	options	dumpfreq	passno
device

Ein existierender Gerätename wie in Tabelle 4.3, „Laufwerk-Codes“ beschrieben.

mount-point

Ein existierendes Verzeichnis, auf dem das Dateisystem gemountet wird.

fstype

Der Typ des Dateisystems, der an mount(8) weitergegeben wird. FreeBSDs Standarddateisystem ist ufs.

options

Entweder rw für beschreibbare Dateisysteme oder ro für schreibgeschützte Dateisysteme, gefolgt von weiteren benötigten Optionen. Eine häufig verwendete Option ist noauto für Dateisysteme, die während der normalen Bootsequenz nicht angehangen werden sollen. Weitere Optionen finden sich in mount(8).

dumpfreq

Wird von dump(8) benutzt, um bestimmen zu können, welche Dateisysteme gesichert werden müssen. Fehlt der Wert, wird 0 angenommen.

passno

Bestimmt die Reihenfolge, in der die Dateisysteme überprüft werden sollen. Für Dateisysteme, die übersprungen werden sollen, ist passno auf 0 zu setzen. Für das Root-Dateisystem, das vor allen anderen überprüft werden muss, sollte der Wert von passno 1 betragen. Allen anderen Dateisystemen sollten Werte größer 1 zugewiesen werden. Wenn mehrere Dateisysteme den gleichen Wert besitzen, wird fsck(8) versuchen, diese parallel zu überprüfen.

Lesen Sie fstab(5) für weitere Informationen über das Format von /etc/fstab und dessen Optionen.

4.7.2. Verwendung von mount(8)

Dateisysteme werden mit mount(8) eingehängt. In der grundlegenden Form wird es wie folgt benutzt:

# mount device mountpoint

Dieser Befehl bietet viele Optionen, die in mount(8) beschrieben werden. Die am häufigsten verwendeten Optionen sind:

Optionen von mount
-a

Hängt alle Dateisysteme aus /etc/fstab an. Davon ausgenommen sind Dateisysteme, die mit noauto markiert sind, die mit der Option -t ausgeschlossen wurden und Dateisysteme, die schon angehangen sind.

-d

Führt alles bis auf den mount-Systemaufruf aus. Nützlich ist diese Option in Verbindung mit -v. Damit wird angezeigt, was mount(8) tatsächlich versuchen würde, um das Dateisystem anzuhängen.

-f

Erzwingt das Anhängen eines unsauberen Dateisystems (riskant) oder die Rücknahme des Schreibzugriffs, wenn der Status des Dateisystems von beschreibbar auf schreibgeschützt geändert wird.

-r

Hängt das Dateisystem schreibgeschützt ein. Dies kann auch durch Angabe von -o ro erreicht werden.

-t fstype

Hängt das Dateisystem mit dem angegebenen Typ an, oder hängt nur Dateisysteme mit dem angegebenen Typ an, wenn -a angegeben wurde. ufs ist das Standarddateisystem.

-u

Aktualisiert die Mountoptionen des Dateisystems.

-v

Geschwätzig sein.

-w

Hängt das Dateisystem beschreibbar an.

Die folgenden Optionen können durch eine Kommata separierte Liste an -o übergeben werden:

nosuid

SetUID und SetGID Bits werden auf dem Dateisystem nicht beachtet. Dies ist eine nützliche Sicherheitsfunktion.

4.7.3. Verwendung von umount(8)

umount(8) hängt ein Dateisystem ab. Dieser Befehl akzeptiert als Parameter entweder einen Mountpoint, einen Gerätenamen, -a oder -A.

Jede Form akzeptiert -f, um das Abhängen zu erzwingen, und -v, um etwas geschwätziger zu sein. Seien Sie bitte vorsichtig mit -f, da der Computer abstürzen kann oder es können Daten auf dem Dateisystem beschädigt werden.

Um alle Dateisysteme abzuhängen, oder nur diejenigen, die mit -t gelistet werden, wird -a oder -A benutzt. Beachten Sie, dass -a das Root-Dateisystem nicht aushängt.

4.8. Prozesse und Dämonen

FreeBSD ist ein Multitasking-Betriebssystem. Jedes Programm, das zu irgendeiner Zeit läuft wird als Prozess bezeichnet. Jedes laufende Kommando startet mindestens einen neuen Prozess. Dazu gibt es eine Reihe von Systemprozessen, die von FreeBSD ausgeführt werden.

Jeder Prozess wird durch eine eindeutige Nummer identifiziert, die Prozess-ID (PID) genannt wird. Prozesse haben ebenso wie Dateien einen Besitzer und eine Gruppe, die festlegen, welche Dateien und Geräte der Prozess benutzen kann. Die meisten Prozesse haben auch einen Elternprozess, der sie gestartet hat. Beispielsweise ist die Shell ein Prozess. Jedes in Shell gestartete Kommando ist dann ein neuer Prozess, der die Shell als Elternprozess besitzt. Die Ausnahme hiervon ist ein spezieller Prozess namens init(8), der beim booten immer als erstes gestartet wird und der immer die PID 1 hat.

Manche Programme erwarten keine Eingaben vom Benutzer und lösen sich bei erster Gelegenheit von ihrem Terminal. Ein Webserver zum Beispiel antwortet auf Web-Anfragen und nicht auf Benutzereingaben. Mail-Server sind ein weiteres Beispiel für diesen Typ von Anwendungen. Diese Programme sind als Dämonen bekannt. Der Begriff Dämon stammt aus der griechischen Mythologie und bezeichnet ein Wesen, das weder gut noch böse ist und welches unsichtbar nützliche Aufgaben verrichtet. Deshalb ist das BSD Maskottchen dieser fröhlich aussehende Dämon mit Turnschuhen und Dreizack.

Programme, die als Dämon laufen, werden entsprechend einer Konvention mit einem d am Ende benannt. BIND steht beispielsweise für Berkeley Internet Name Domain, das tatsächlich laufende Programm heißt aber named. Der Apache Webserver wird httpd genannt und der Druckerspool-Dämon heißt lpd(8). Dies ist allerdings nur eine Konvention. Der Dämon der Anwendung Sendmail heißt beispielsweise sendmail und nicht maild.

4.8.1. Prozesse beobachten

Um die Prozesse auf dem System zu sehen, benutzen Sie ps(1) und top(1). Eine statische Liste der laufenden Prozesse, deren PIDs, Speicherverbrauch und die Kommandozeile, mit der sie gestartet wurden, erhalten Sie mit ps(1). Um alle laufenden Prozesse in einer Anzeige zu sehen, die alle paar Sekunden aktualisiert wird, so dass Sie interaktiv sehen können was der Computer macht, benutzen Sie top(1).

In der Voreinstellung zeigt ps(1) nur die laufenden Prozesse, die dem Benutzer gehören. Zum Beispiel:

% ps
 PID TT  STAT    TIME COMMAND
8203  0  Ss   0:00.59 /bin/csh
8895  0  R+   0:00.00 ps

Die Ausgabe von ps(1) ist in einer Anzahl von Spalten organisiert. Die PID Spalte zeigt die Prozess-ID. PIDs werden von 1 beginnend bis 99999 zugewiesen und fangen wieder von vorne an. Ist eine PID bereits vergeben, wird diese allerdings nicht erneut vergeben. Die Spalte TT zeigt den Terminal, auf dem das Programm läuft. STAT zeigt den Status des Programms und TIME gibt die Zeit an, die das Programm auf der CPU gelaufen ist. Dies ist nicht unbedingt die Zeit, die seit dem Start des Programms vergangen ist, da die meisten Programme hauptsächlich auf bestimmte Dinge warten, bevor sie wirklich CPU-Zeit verbrauchen. Unter der Spalte COMMAND findet sich schließlich die Kommandozeile, mit der das Programm gestartet wurde.

ps(1) besitzt viele Optionen, um die angezeigten Informationen zu beeinflussen. Eine nützliche Kombination ist auxww. a zeigt Information über alle laufenden Prozesse aller Benutzer. Der Name des Besitzers des Prozesses, sowie Informationen über den Speicherverbrauch werden mit u angezeigt. x zeigt auch Dämonen-Prozesse an, und ww veranlasst ps(1) die komplette Kommandozeile für jeden Befehl anzuzeigen, anstatt sie abzuschneiden, wenn sie zu lang für die Bildschirmausgabe wird.

Die Ausgabe von top(1) sieht in etwa so aus:

% top
last pid:  9609;  load averages:  0.56,  0.45,  0.36              up 0+00:20:03  10:21:46
107 processes: 2 running, 104 sleeping, 1 zombie
CPU:  6.2% user,  0.1% nice,  8.2% system,  0.4% interrupt, 85.1% idle
Mem: 541M Active, 450M Inact, 1333M Wired, 4064K Cache, 1498M Free
ARC: 992M Total, 377M MFU, 589M MRU, 250K Anon, 5280K Header, 21M Other
Swap: 2048M Total, 2048M Free

  PID USERNAME    THR PRI NICE   SIZE    RES STATE   C   TIME   WCPU COMMAND
  557 root          1 -21  r31   136M 42296K select  0   2:20  9.96% Xorg
 8198 dru           2  52    0   449M 82736K select  3   0:08  5.96% kdeinit4
 8311 dru          27  30    0  1150M   187M uwait   1   1:37  0.98% firefox
  431 root          1  20    0 14268K  1728K select  0   0:06  0.98% moused
 9551 dru           1  21    0 16600K  2660K CPU3    3   0:01  0.98% top
 2357 dru           4  37    0   718M   141M select  0   0:21  0.00% kdeinit4
 8705 dru           4  35    0   480M    98M select  2   0:20  0.00% kdeinit4
 8076 dru           6  20    0   552M   113M uwait   0   0:12  0.00% soffice.bin
 2623 root          1  30   10 12088K  1636K select  3   0:09  0.00% powerd
 2338 dru           1  20    0   440M 84532K select  1   0:06  0.00% kwin
 1427 dru           5  22    0   605M 86412K select  1   0:05  0.00% kdeinit4

Die Ausgabe ist in zwei Abschnitte geteilt. In den ersten fünf Kopfzeilen finden sich die zuletzt zugeteilte PID, die Systemauslastung (engl. load average), die Systemlaufzeit (die Zeit seit dem letzten Reboot) und die momentane Zeit. Die weiteren Zahlen im Kopf beschreiben wie viele Prozesse momentan laufen, wie viel Speicher und Swap verbraucht wurde und wie viel Zeit das System in den verschiedenen CPU-Modi verbringt. Wenn das ZFS-Kernelmodul geladen ist, dann zeigt die Zeile ARC, wie viele Daten aus dem Cache gelesen wurden.

Darunter befinden sich einige Spalten mit ähnlichen Informationen wie in der Ausgabe von ps(1), beispielsweise die PID, den Besitzer, die verbrauchte CPU-Zeit und das Kommando, das den Prozess gestartet hat. top(1) zeigt in zwei Spalten den Speicherverbrauch des Prozesses an. Die erste Spalte gibt den gesamten Speicherverbrauch des Prozesses an, in der zweiten Spalte wird der aktuelle Verbrauch angegeben.

Die Anzeige wird von top(1) automatisch alle zwei Sekunden aktualisiert. Ein anderer Intervall kann mit -s spezifiziert werden.

4.8.2. Stoppen von Prozessen

Eine Möglichkeit mit einem laufenden Prozess zu kommunizieren, ist über das Versenden von Signalen mittels kill(1). Es gibt eine Reihe von verschiedenen Signalen. Manche haben eine feste Bedeutung, während andere in der Dokumentation der Anwendung beschrieben sind. Ein Benutzer kann ein Signal nur an einen Prozess senden, welcher ihm gehört. Wird versucht ein Signal an einen Prozess eines anderen Benutzers zu senden, resultiert dies in einem Zugriffsfehler mangels fehlender Berechtigungen. Die Ausnahme ist der root-Benutzer, welcher jedem Prozess Signale senden kann.

FreeBSD kann auch ein Signal an einen Prozess senden. Wenn eine Anwendung schlecht geschrieben ist und auf Speicher zugreift, auf den sie nicht zugreifen soll, so sendet FreeBSD dem Prozess das Segmentation Violation Signal (SIGSEGV). Wenn eine Anwendung programmiert wurde, den alarm(3) Systemaufruf zu benutzen, um nach einiger Zeit benachrichtigt zu werden, bekommt sie das Alarm-Signal (SIGALRM) gesendet.

Zwei Signale können benutzt werden, um einen Prozess zu stoppen: SIGTERM und SIGKILL. SIGTERM fordert den Prozess höflich zum Beenden auf. Der Prozess kann das Signal abfangen und hat dann Gelegenheit Logdateien zu schließen und die Aktion, die er durchführte, abzuschließen. In manchen Situationen kann der Prozess SIGTERM ignorieren, wenn er eine Aktion durchführt, die nicht unterbrochen werden darf.

SIGKILL kann von keinem Prozess ignoriert werden. Wird einem Prozess SIGKILL geschickt, dann wird FreeBSD diesen sofort beenden[1].

Andere häufig verwendete Signale sind SIGHUP, SIGUSR1 und SIGUSR2. Da diese Signale für allgemeine Zwecke vorgesehen sind, werden verschiedene Anwendungen unterschiedlich auf diese Signale reagieren.

Ändern Sie beispielsweise die Konfiguration eines Webservers, so muss dieser angewiesen werden, seine Konfiguration neu zu lesen. Ein Neustart von httpd würde dazu führen, dass der Server für kurze Zeit nicht erreichbar ist. Senden Sie dem Dämon stattdessen das SIGHUP-Signal. Es sei erwähnt, dass verschiedene Dämonen sich anders verhalten. Lesen Sie die Dokumentation des entsprechenden Dämonen um zu überprüfen, ob der Dämon bei einem SIGHUP die gewünschten Ergebnisse erzielt.

Prozedur 4.1. Verschicken von Signalen

Das folgende Beispiel zeigt, wie Sie inetd(8) ein Signal schicken. Die Konfigurationsdatei von inetd(8) ist /etc/inetd.conf. Diese Konfigurationsdatei liest inetd(8) ein, wenn er SIGHUP empfängt.

  1. Suchen Sie mit pgrep(1) die PID des Prozesses, dem Sie ein Signal schicken wollen. In diesem Beispiel ist die PID von inetd(8) 198:

    % pgrep -l inetd
    198 inetd -wW
  2. Benutzen Sie kill(1), um ein Signal zu senden. Da inetd(8) dem Benutzer root gehört, müssen Sie zuerst mit su(1) root werden:

    % su
    Password:
    # /bin/kill -s HUP 198

    kill(1) wird, wie andere UNIX® Kommandos auch, keine Ausgabe erzeugen, wenn das Kommando erfolgreich war. Wird versucht, einem Prozess der nicht dem Benutzer gehört, ein Signal zu senden, dann wird die Meldung kill: PID: Operation not permitted ausgegeben. Ein Tippfehler bei der Eingabe der PID führt dazu, dass das Signal an einen falschen Prozess gesendet wird, was zu negativen Ergebnissen führen kann, oder das Signal wird an eine PID gesendet die derzeit nicht in Gebrauch ist, was zu dem Fehler kill: PID: No such process führt.

    Warum sollte man /bin/kill benutzen?:

    Viele Shells stellen kill als internes Kommando zur Verfügung, das heißt die Shell sendet das Signal direkt, anstatt /bin/kill zu starten. Beachten Sie, dass die unterschiedlichen Shells eine andere Syntax benutzen, um die Namen der Signale anzugeben. Anstatt jede Syntax zu lernen, kann es einfacher sein, /bin/kill direkt aufzurufen.

Beim Versenden von anderen Signalen, ersetzen Sie TERM oder KILL in der Kommandozeile mit dem Namen des Signals.

Wichtig:

Das zufällige Beenden eines Prozesses kann gravierende Auswirkungen haben. Insbesondere init(8), mit der PID 1, ist ein Spezialfall. /bin/kill -s KILL 1 ist ein schneller, jedoch nicht empfohlener Weg, das System herunterzufahren. Überprüfen Sie die Argumente von kill(1) immer zweimal bevor Sie Return drücken.

4.9. Shells

Eine Shell stellt eine Kommandozeilen-Schnittstelle zur Interaktion mit dem Betriebssystem zur Verfügung. Sie empfängt Befehle von einem Eingabekanal und führt diese aus. Viele Shells bieten eingebaute Funktionen, die die tägliche Arbeit erleichtern, beispielsweise eine Dateiverwaltung, die Vervollständigung von Dateinamen (Globbing), Kommandozeilen-Editor, sowie Makros und Umgebungsvariablen. FreeBSD enthält einige Shells, darunter die Bourne Shell (sh(1)) und die verbesserte C-Shell (tcsh(1)). Weitere Shells, wie zsh oder bash, befinden sich in der Ports-Sammlung.

Die verwendete Shell ist letztlich eine Frage des Geschmacks. Ein C-Programmierer, findet vielleicht eine C-artige Shell wie tcsh(1) angenehmer. Ein Linux®-Benutzer bevorzugt vielleicht bash. Jede Shell hat ihre speziellen Eigenschaften, die mit der bevorzugten Arbeitsumgebung des Benutzers harmonieren kann oder nicht. Deshalb stehen mehrere Shells zur Auswahl.

Ein verbreitetes Merkmal in Shells ist die Dateinamen-Vervollständigung. Nachdem der Benutzer einige Buchstaben eines Kommandos oder eines Dateinamen eingeben hat, vervollständigt die Shell den Rest durch drücken der Tab-Taste. Angenommen, Sie haben zwei Dateien foobar und football. Um foobar zu löschen, kann der Benutzer rm foo eingeben und Tab drücken um den Dateinamen zu vervollständigen.

Die Shell wird lediglich rm foo anzeigen. Sie konnte den Dateinamen nicht vervollständigen, da sowohl foobar als auch football mit foo anfangen. Einige Shells geben einen Signalton aus, oder zeigen alle Möglichkeiten an, wenn mehr als ein Name mit dem gegebenen Muster übereinstimmt. Der Benutzer muss dann weitere Zeichen eingeben, damit die Shell den gewünschten Dateinamen bestimmen kann. Durch Eingabe von t und erneutes Drücken von Tab ist die Shell in der Lage, den gewünschten Dateinamen zu vervollständigen.

Ein weiteres Merkmal der Shell ist der Gebrauch von Umgebungsvariablen. Dies sind veränderbare Schlüsselpaare im Umgebungsraum der Shell, die jedes von der Shell aufgerufene Programm lesen kann. Daher enthält der Umgebungsraum viele Konfigurationsdaten für Programme. Tabelle 4.4, „Gebräuchliche Umgebungsvariablen“ zeigt verbreitete Umgebungsvariablen und deren Bedeutung. Beachten Sie, dass die Namen der Umgebungsvariablen immer in Großbuchstaben geschrieben sind:

Tabelle 4.4. Gebräuchliche Umgebungsvariablen
VariableBeschreibung
USERName des angemeldeten Benutzers.
PATHListe mit Verzeichnissen (getrennt durch Doppelpunkt) zum Suchen nach Programmen.
DISPLAYDer Name des Xorg-Bildschirms, auf dem Ausgaben erfolgen sollen.
SHELLDie aktuelle Shell.
TERMName des Terminaltyps des Benutzers. Benutzt, um die Fähigkeiten des Terminals zu bestimmen.
TERMCAPDatenbankeintrag der Terminal Escape Codes, benötigt um verschieden Terminalfunktionen auszuführen.
OSTYPETyp des Betriebssystems.
MACHTYPEDie CPU-Architektur des Systems.
EDITORVom Benutzer bevorzugter Text-Editor.
PAGERVom Benutzer bevorzugter Text-Betrachter.
MANPATHListe mit Verzeichnissen (getrennt durch Doppelpunkt) zum Suchen nach Manualpages.

Das Setzen von Umgebungsvariablen unterscheidet sich von Shell zu Shell. In tcsh(1) und csh(1) wird dazu setenv benutzt. sh(1) und bash benutzen export um Umgebungsvariablen zu setzen. Dieses Beispiel für die tcsh(1)-Shell setzt die Variable EDITOR auf /usr/local/bin/emacs:

% setenv EDITOR /usr/local/bin/emacs

Der entsprechende Befehl für bash wäre:

% export EDITOR="/usr/local/bin/emacs"

Um eine Umgebungsvariable zu expandieren, geben Sie in der Kommandozeile das Zeichen $ vor dessen Namen ein. Zum Beispiel gibt echo $TERM den aktuellen Wert von$TERM aus.

Shells behandeln Spezialzeichen, so genannte Metazeichen, als besondere Darstellungen für Daten. Das häufigste Zeichen ist *, das eine beliebige Anzahl Zeichen in einem Dateinamen repräsentiert. Metazeichen können zur Vervollständigung von Dateinamen (Globbing) benutzt werden. Beispielsweise liefert echo * nahezu das gleiche wie ls, da die Shell alle Dateinamen die mit * übereinstimmen, an echo weitergibt.

Um zu verhindern, dass die Shell ein Sonderzeichen interpretiert, schützt man es, indem man einen Backslash (\) voranstellt. Zum Beispiel zeigt echo $TERM die Einstellung des Terminals an, wohingegen echo \$TERM einfach die Zeichenfolge $TERM ausgibt.

4.9.1. Ändern der Shell

Der einfachste Weg die Standard Shell zu ändern, ist chsh zu benutzen. chsh startet den Editor, welcher durch die Umgebungsvariable EDITOR gesetzt ist. Standardmäßig ist dies vi(1). Tragen Sie in die Zeile die mit Shell: beginnt, den absoluten Pfad der neuen Shell ein.

Alternativ setzt chsh -s die Shell, ohne dabei einen Editor aufzurufen. Um die Shell zum Beispiel auf bash zu ändern, geben Sie folgenden Befehl ein:

% chsh -s /usr/local/bin/bash

Anmerkung:

Die neue Shell muss in /etc/shells aufgeführt sein. Wurde die Shell aus der FreeBSD Ports-Sammlung installiert, so wie in Kapitel 5, Installieren von Anwendungen: Pakete und Ports beschrieben, sollte sie automatisch zu dieser Datei hinzugefügt worden sein. Wenn der Eintrag fehlt, nutzen Sie folgenden Befehl, und ersetzen Sie den Pfad mit dem Pfad zur gewünschten Shell:

# echo /usr/local/bin/bash >> /etc/shells

Danach kann chsh(1) erneut aufgerufen werden.

4.9.2. Fortgeschrittene Shell Techniken

Geschrieben von Tom Rhodes.

Die UNIX®-Shell ist nicht nur ein Kommandozeileninterpreter, sie ist ein leistungsfähiges Werkzeug, das Benutzern die Ausführung von Befehlen ermöglicht. Es kann die Ein- und Ausgabe umleiten und Befehle miteinander verketten, um die finale Ausgabe zu verbessern. Diese Funktionalität, gepaart mit den eingebauten Befehlen, bietet dem Benutzer eine Umgebung, welche die Effizienz erheblich steigern kann.

Als Redirection bezeichnet man die Umleitung der Ein- oder Ausgabe in einen anderen Befehl oder Datei. Um beispielsweise die Ausgabe des Befehls ls(1) in eine Datei zu schreiben, muss die Ausgabe umgeleitet werden:

% ls > Verzeichnis_Ausgabe.txt

Die Datei Verzeichnis_Ausgabe.txt enthält nun den Verzeichnisinhalt. Einige Befehle, wie beispielsweise sort(1), können verwendet werden um von der Eingabe zu lesen. Wenn Sie die Ausgabe sortieren möchten, müssen Sie die Eingabe umleiten:

% sort < Verzeichnis_Ausgabe.txt

Die Eingabe wird sortiert und auf dem Bildschirm ausgegeben. Um diese Ausgabe wiederum in eine Datei umzuleiten, kann die Ausgabe von sort(1) umgeleitet werden:

% sort < Verzeichnis_Ausgabe.txt > Sortierte_Ausgabe.txt

In den bisherigen Beispielen wurden für die Umleitung Dateideskriptoren verwendet. Jedes UNIX®-System verfügt über drei Dateideskriptoren: Standardeingabe (stdin), Standardausgabe (stdout) und Stardardfehlerausgabe (stderr). Jeder Deskriptor hat einen bestimmten Zweck. Die Eingabe könnte von einer Tastatur, einer Maus oder einem anderen Eingabegerät stammen. Die Ausgabe könnte der Bildschirm oder ein Drucker sein. Die Standardfehlerausgabe wird zur Diagnose und für Fehlermeldungen verwendet. Alle drei Deskriptoren arbeiten I/O basiert und werden häufig als Streams bezeichnet.

Die Verwendung von Deskriptoren erlaubt es der Shell, die Ein- und Ausgabe von verschiedenen Kommandos umzuleiten und zu teilen. Eine weitere Möglichkeit zur Umleitung bietet der Pipe-Operator.

Der UNIX® Pipe-Operator | wird verwendet, um die Ausgabe eines Kommandos an ein anderes Programm zu übergeben. Grundsätzlich bedeutet dies, dass die Standardausgabe eines Programms als Standardeingabe für ein weiteres Programm verwendet wird. Ein Beispiel:

% cat Verzeichnis_Auflistung.txt | sort | less

In diesem Beispiel wird der Inhalt von Verzeichnis_Auflistung.txt sortiert und die Ausgabe an less(1) übergeben. Dies erlaubt es dem Benutzer, die Ausgabe Schritt für Schritt und im eigenen Tempo zu betrachten.

4.10. Text-Editoren

Die meiste Konfiguration unter FreeBSD wird durch das Editieren von Textdateien erledigt. Deshalb ist es eine gute Idee, mit einem Texteditor vertraut zu werden. FreeBSD hat ein paar davon im Basissystem und sehr viel mehr in der Ports-Sammlung.

Ein einfach zu erlernender Editor ist ee(1), was für easy editor steht. Um diesen Editor zu starten, gibt man in der Kommandozeile ee filename ein, wobei filename den Namen der zu editierenden Datei darstellt. Einmal im Editor, finden sich alle Editor-Funktionen oben im Display aufgelistet. Das Einschaltungszeichen (^) steht für die Ctrl (oder Strg) Taste, mit ^e ist also die Tastenkombination Ctrl+e gemeint. Um ee(1) zu verlassen, drücken Sie Esc und wählen dann im Hauptmenü leave editor aus. Der Editor fragt nach, ob Sie speichern möchten, wenn die Datei verändert wurde.

FreeBSD verfügt über leistungsfähigere Editoren wie vi(1) als Teil des Basissystems. Andere Editoren wie editors/emacs und editors/vim sind Teil der Ports-Sammlung. Diese Editoren bieten höhere Funktionalität, jedoch auf Kosten einer etwas schwierigeren Erlernbarkeit. Das Erlernen eines leistungsfähigeren Editors, wie vim oder Emacs, kann auf lange Sicht Zeit einsparen.

Viele Anwendungen, die Dateien verändern oder Texteingabe erwarten, werden automatisch einen Texteditor öffnen. Um den Standardeditor zu ändern, wird die Umgebungsvariable EDITOR gesetzt, wie im Abschnitt Abschnitt 4.9, „Shells“ beschrieben.

4.11. Geräte und Gerätedateien

Der Begriff Gerät wird meist in Verbindung mit Hardware wie Laufwerken, Druckern, Grafikkarten oder Tastaturen gebraucht. Der Großteil der Meldungen, die beim Booten von FreeBSD angezeigt werden, beziehen sich auf gefundene Geräte. Eine Kopie dieser Bootmeldungen wird in /var/run/dmesg.boot gespeichert.

Jedes Gerät verfügt über einen Gerätenamen und Gerätenummer. Zum Beispiel steht ada0 für die erste SATA Festplatte, während kbd0 die Tastatur repräsentiert.

Auf die meisten Geräte wird unter FreeBSD über spezielle Gerätedateien im /dev Verzeichnis zugegriffen.

4.12. Manualpages

4.12.1. Manualpages

Die umfassendste Dokumentation rund um FreeBSD gibt es in Form von Manualpages. Annähernd jedes Programm im System bringt eine kurze Referenzdokumentation mit, die die grundsätzliche Funktion und verschiedene Parameter erklärt. Diese Manuals können mit man eingesehen werden:

% man Kommando

Kommando ist der Name des Kommandos, über das man etwas erfahren will. Um beispielsweise mehr über das Kommando ls(1) zu erfahren, geben Sie ein:

% man ls

Die Manualpages sind in nummerierte Sektionen unterteilt, die jeweils ein Thema darstellen. In FreeBSD sind die folgenden Sektionen verfügbar:

  1. Benutzerkommandos.

  2. Systemaufrufe und Fehlernummern.

  3. Funktionen der C Bibliothek.

  4. Gerätetreiber.

  5. Dateiformate.

  6. Spiele und andere Unterhaltung.

  7. Verschiedene Informationen.

  8. Systemverwaltung und -Kommandos.

  9. Kernel Schnittstellen.

In einigen Fällen kann dasselbe Thema in mehreren Sektionen auftauchen. Es gibt zum Beispiel ein chmod Benutzerkommando und einen chmod() Systemaufruf. Um man(1) mitzuteilen, aus welcher Sektion die Information angezeigt werden soll, kann die Sektionsnummer mit angeben werden:

% man 1 chmod

Dies wird Ihnen die Manualpage für das Benutzerkommando chmod(1) zeigen. Verweise auf eine Sektion der Manualpages werden traditionell in Klammern gesetzt. So bezieht sich chmod(1) auf das Benutzerkommando und chmod(2) auf den Systemaufruf.

Wenn das Kommando nicht bekannt ist, kann man -k benutzt werden, um nach Schlüsselbegriffen in den Kommandobeschreibungen zu suchen:

% man -k mail

Dieser Befehl zeigt eine Liste von Kommandos, deren Beschreibung das Schlüsselwort mail enthält. Die gleiche Funktionalität erhalten Sie auch, wenn Sie apropos(1) benutzen.

Um die Beschreibungen der Kommandos in /usr/bin zu lesen, geben Sie ein:

% cd /usr/bin
% man -f * | more

Dasselbe erreichen Sie durch Eingabe von:

% cd /usr/bin
% whatis * | more

4.12.2. GNU Info Dateien

FreeBSD enthält verschiedene Anwendungen und Utilities der Free Software Foundation (FSF). Zusätzlich zu den Manualpages können diese Programme Hypertext-Dokumente enthalten, die info-Seiten genannt werden. Diese Dokumente können mit info(1) ansehen kann. Wenn editors/emacs installiert ist, kann auch der info-Modus von emacs benutzt werden.

Um info(1) zu benutzen, geben Sie ein:

% info

Eine kurze Einführung gibt es mit h; eine Befehlsreferenz erhalten Sie durch Eingabe von: ?.



[1] Es gibt Fälle, in denen ein Prozess nicht unterbrochen werden kann. Wenn ein Prozess zum Beispiel eine Datei von einem anderen Rechner auf dem Netzwerk liest und dieser Rechner nicht erreichbar ist, dann ist der Prozess nicht zu unterbrechen. Wenn der Prozess den Lesezugriff nach einem Timeout von typischerweise zwei Minuten aufgibt, dann wird er beendet.

Kapitel 5. Installieren von Anwendungen: Pakete und Ports

Übersetzt von Uwe Pierau.
Überarbeitet von Björn Heidotting.

5.1. Übersicht

FreeBSD enthält eine umfassende Sammlung von Systemwerkzeugen, die Teil des Basissystems sind. Darüber hinaus stellt FreeBSD zwei sich ergänzende Methoden zur Installation von Drittanbieter-Software zur Verfügung: Die Ports-Sammlung zur Installation aus dem Quellcode sowie Pakete zur Installation von vorkompilierten binären Softwarepaketen. Beide Methoden können benutzt werden, um Anwendungen von lokalen Medien oder über das Netzwerk zu installieren.

Dieses Kapitel behandelt die folgenden Themen:

  • Den Unterschied zwischen binären Softwarepaketen und Ports.

  • Wie man Drittanbieter-Software findet, die nach FreeBSD portiert wurde.

  • Wie Binärpakete mit pkg verwaltet werden.

  • Den Bau von Drittanbieter-Software aus dem Quellcode mithilfe der Ports-Sammlung.

  • Wie man die Dateien findet, die zusammen mit der Anwendung installiert wurden.

  • Was zu tun ist, wenn die Installation einer Software fehlschlägt.

5.2. Installation von Software

Die typischen Schritte zur Installation von Drittanbieter-Software auf einem UNIX® System sind:

  1. Download der Software, die als Quelltext oder im Binärformat vorliegen kann.

  2. Auspacken der Software. Dies ist typischerweise ein mit compress(1), gzip(1) oder bzip2(1) komprimiertes Tar-Archiv.

  3. Durchsuchen der Dokumentation, die sich in INSTALL, README oder mehreren Dateien im Verzeichnis doc/ befindet, nach Anweisungen, wie die Software zu installieren ist.

  4. Kompilieren der Software, wenn sie als Quelltext vorliegt. Dazu muss vielleicht das Makefile angepasst, oder configure ausgeführt werden.

  5. Testen und installieren der Software.

Wenn die Software nicht speziell für FreeBSD geschrieben wurde, muss vielleicht sogar der Quelltext angepasst werden, damit die Software funktioniert. Zurzeit werden über 24,000 Anwendungen Dritter zur Verfügung gestellt.

Ein FreeBSD-Paket enthält vorkompilierte Kopien aller Befehle für eine Anwendung, sowie zusätzliche Konfigurationsdateien und Dokumentation. Pakete können mit den pkg-Befehlen, wie pkg install, manipuliert werden.

Ein FreeBSD-Port ist eine Sammlung von Dateien, die das Kompilieren der Quelltexte einer Anwendung automatisieren. Die Dateien, die ein Port umfasst enthalten alle notwendigen Informationen um die Anwendung herunterzuladen, zu extrahieren, anzupassen und zu installieren.

Das Portsystem kann auch dazu benutzt werden, Pakete zu generieren, die mit den Paketverwaltungswerkzeugen von FreeBSD manipuliert werden können.

Pakete und Ports beachten Abhängigkeiten zwischen Anwendungen. Wenn ein Paket oder die Ports-Sammlung benutzt wird, um eine Anwendung zu installieren, dann werden fehlende Bibliotheken zuerst installiert, sofern sie nicht schon vorher installiert waren.

Obwohl beide Technologien gleichartig sind, so haben Pakete und Ports jeweils ihre eigenen Stärken. Welche Technologie eingesetzt wird, hängt letzten Endes von den Anforderungen ab, die an eine bestimmte Anwendung gestellt werden.

Vorteile von Paketen
  • Das komprimierte Paket einer Anwendung ist normalerweise kleiner als das komprimierte Archiv der Quelltexte.

  • Pakete müssen nicht mehr kompiliert werden. Dies ist ein Vorteil, wenn große Pakete wie Mozilla, KDE oder GNOME auf langsamen Maschinen installiert werden.

  • Wenn Sie Pakete verwenden, brauchen Sie nicht zu verstehen, wie Software unter FreeBSD kompiliert wird.

Vorteile von Ports
  • Da die Pakete auf möglichst vielen System laufen sollen, werden Optionen beim Übersetzen zurückhaltend gesetzt. Wird eine Anwendung über die Ports übersetzt, können die Optionen nach eigenen Bedürfnissen angepasst werden.

  • Die Eigenschaften einiger Anwendungen werden über Optionen zum Zeitpunkt des Übersetzens festgelegt. Apache kann zum Beispiel über eine große Auswahl an eingebauten Optionen konfiguriert werden.

    Für einige Fälle existieren verschiedene Pakete einer Anwendung, die beim Übersetzen unterschiedlich konfiguriert wurden. Für Ghostscript gibt es ein ghostscript-Paket und ein ghostscript-nox11-Paket, die sich durch die Xorg Unterstützung unterscheiden. Das Erstellen von verschiedenen Paketen wird aber schnell unhandlich, wenn eine Anwendung mehr als ein oder zwei Optionen zum Zeitpunkt des Übersetzens besitzt.

  • Die Lizenzbestimmungen mancher Software verbietet ein Verbreiten in binärer Form. Diese Software muss als Quelltext, der durch den Benutzer kompiliert werden muss, ausgeliefert werden.

  • Einige Leute trauen binären Distributionen nicht, oder sie ziehen es vor den Quelltext zu lesen, um diesen nach möglichen Problemen zu durchsuchen.

  • Der Quellcode wird benötigt, um individuelle Anpassungen anzuwenden.

Wenn Sie über aktualisierte Ports informiert sein wollen, lesen Sie die Mailinglisten FreeBSD ports und FreeBSD ports bugs.

Warnung:

Bevor Sie eine Anwendung installieren, informieren Sie sich auf der Seite http://vuxml.FreeBSD.org/ über mögliche Sicherheitsprobleme mit der Anwendung, oder führen Sie pkg audit -F aus, um alle installierten Pakete auf bekannte Sicherheitslücken zu überprüfen.

Der Rest dieses Kapitels beschreibt, wie man Software Dritter mit Paketen und Ports unter FreeBSD installiert und verwaltet.

5.3. Suchen einer Anwendung

Die Anzahl der nach FreeBSD portierten Anwendungen steigt ständig. Es gibt einige Wege, um nach Anwendungen zu suchen:

  • Die FreeBSD-Webseite stellt unter http://www.FreeBSD.org/ports/ eine aktuelle und durchsuchbare Liste aller Anwendungen zur Verfügung. Die Ports können nach dem Namen den Anwendung, oder über die Software-Kategorie durchsucht werden.

  • Dan Langille verwaltet FreshPorts.org, das eine umfassende Suchfunktion bietet und Änderungen an den Anwendungen in der Ports-Sammlung verfolgt. Registrierte Benutzer können eine Merkliste erstellen, um automatisch eine E-Mail zu erhalten, sobald ein Port von dieser Liste aktualisiert wurde.

  • Wenn Sie bei der Suche nach einer bestimmten Anwendung nicht weiter kommen, versuchen Sie eine Webseite wie SourceForge.net oder GitHub.com. Schauen Sie dann auf der FreeBSD-Webseite nach, ob die Anwendung portiert wurde.

  • Das Paket Repository nach einer Anwendung durchsuchen:

    # pkg search subversion
    git-subversion-1.9.2
    java-subversion-1.8.8_2
    p5-subversion-1.8.8_2
    py27-hgsubversion-1.6
    py27-subversion-1.8.8_2
    ruby-subversion-1.8.8_2
    subversion-1.8.8_2
    subversion-book-4515
    subversion-static-1.8.8_2
    subversion16-1.6.23_4
    subversion17-1.7.16_2

    Die Paketnamen enthalten jeweils die Versionsnummer. Wenn ein Port von python abhängt, wird auch die Versionsnummer von python ausgegeben, mit der die Anwendung gebaut wurde. Für einige Ports stehen sogar mehrere Versionen zur Verfügung. Im Fall von subversion gibt es drei verschiedene Versionen, mit unterschiedlichen Optionen. In diesem Fall wird die Version von subversion statisch gelinkt. Wenn Sie ein Paket installieren, ist es am besten den Ursprung des Ports anzugeben, also den Pfad in der Ports-Sammlung. Wiederholen Sie pkg search mit -o um den Ursprung der Pakete anzuzeigen:

    # pkg search -o subversion
    devel/git-subversion
    java/java-subversion
    devel/p5-subversion
    devel/py-hgsubversion
    devel/py-subversion
    devel/ruby-subversion
    devel/subversion16
    devel/subversion17
    devel/subversion
    devel/subversion-book
    devel/subversion-static

    Zudem unterstützt pkg search die Suche mit regulären Ausdrücken, nach exakten Treffern, nach der Beschreibung oder nach anderen Feldern in der Repository-Datenbank. Nach der Installation von ports-mgmt/pkg oder ports-mgmt/pkg-devel, finden Sie in pkg-search(8) weitere Details.

  • Wenn die Ports-Sammlung bereits installiert ist, gibt es mehrere Methoden, um die lokale Version dieser Port-Sammlung abzufragen. Verwenden Sie whereis Datei um herauszufinden, in welcher Kategorie ein Port ist, wobei Datei der Name des Programms ist, das installiert werden soll:

    # whereis lsof
    lsof: /usr/ports/sysutils/lsof

    Alternativ kann der echo(1)-Befehl verwendet werden:

    # echo /usr/ports/*/*lsof*
    /usr/ports/sysutils/lsof

    Beachten Sie aber, dass dieser Befehl auch alle Dateien im Verzeichnis /usr/ports/distfiles findet, auf die der angegebene Suchbegriff passt.

  • Ein weiterer Weg nach Software zu suchen besteht darin, die eingebaute Suchfunktion der Ports-Sammlung zu benutzen. Wechseln Sie dazu in das Verzeichnis /usr/ports, und rufen Sie make search name=Anwendungsname auf, wobei Anwendungsname der Name der Software ist. Um zum Beispiel nach lsof zu suchen:

    # cd /usr/ports
    # make search name=lsof
    Port:   lsof-4.88.d,8
    Path:   /usr/ports/sysutils/lsof
    Info:   Lists information about open files (similar to fstat(1))
    Maint:  ler@lerctr.org
    Index:  sysutils
    B-deps:
    R-deps: 

    Tipp:

    Der integrierte Suchmechanismus verwendet eine Datei mit Index-Informationen. Erscheint eine Meldung, dass der INDEX benötigt wird, führen Sie make fetchindex aus, um die aktuelle Index-Datei herunterzuladen. Mit einem vorhandenen INDEX ist make search in der Lage, die gewünschte Suche durchzuführen.

    Die Path:-Zeile zeigt an, wo der Port zu finden ist.

    Um weniger Informationen zu erhalten, benutzen Sie die Funktion quicksearch:

    # cd /usr/ports
    # make quicksearch name=lsof
    Port:	lsof-4.88.d,8
    Path:	/usr/ports/sysutils/lsof
    Info:	Lists information about open files (similar to fstat(1))

    Erweiterte Suchen führen Sie mit make search key=Text oder make quicksearch key=Text aus. Damit werden Portnamen, Kommentare, Beschreibungen und Abhängigkeiten nach Text durchsucht. Dies kann sehr nützlich sein, wenn der Name des Programms nicht bekannt ist.

    Bei der Verwendung von search und quicksearch wird Groß- und Kleinschreibung bei der Suche ignoriert. Die Suche nach LSOF wird dieselben Ergebnisse wie die Suche nach lsof liefern.

5.4. Benutzen von pkg zur Verwaltung von Binärpaketen

pkg ist der Nachfolger für die traditionellen Paketverwaltungswerkzeuge von FreeBSD. Es bietet viele Funktionen, die den Umgang mit Binärpaketen schneller und einfacher machen.

pkg ist kein Ersatz für die Portverwaltungswerkzeuge wie ports-mgmt/portmaster oder ports-mgmt/portupgrade. Während diese Werkzeuge Drittanbieter-Software sowohl aus Binärpaketen als auch aus der Ports-Sammlung installieren können, so installiert pkg ausschließlich Binärpakete.

5.4.1. Erste Schritte mit pkg

FreeBSD enthält ein Bootstrap-Programm, welches pkg zusammen mit den Manualpages installiert.

Um das Bootstrap Programm zu starten, geben Sie folgendes ein:

# /usr/sbin/pkg

Für ältere Versionen von FreeBSD muss pkg zunächst aus der Ports-Sammlung oder als Paket installiert werden.

Um den Port zu installieren, geben Sie folgendes ein:

# cd /usr/ports/ports-mgmt/pkg
# make
# make install clean

Bei der Aktualisierung eines bestehenden Systems, welches ursprünglich die alten Paketverwaltungswerkzeuge verwendet hat, muss die Datenbank in das neue Format konvertiert werden, damit die neuen Werkzeuge wissen, welche Pakete bereits installiert sind. Sobald pkg installiert ist, muss die Paketdatenbank mit dem folgenden Befehl vom traditionellen Format in das neue Format konvertiert werden:

# pkg2ng

Anmerkung:

Auf neu installieren Systemen, auf denen noch keine Software von Drittanbietern installiert wurde, kann dieser Schritt entfallen.

Wichtig:

Die Konvertierung ist unwiderruflich. Sobald die Paketdatenbank in das Format von pkg umgewandelt wurde, sollten die traditionellen pkg_* Werkzeuge nicht mehr benutzt werden.

Anmerkung:

Bei der Konvertierung der Paketdatenbank können Fehler ausgegeben werden, wenn die Inhalte auf die neue Version umgewandelt werden. Im Allgemeinen können diese Fehler ignoriert werden. Wenn pkg2ng fertig ist, wird eine Liste von Drittanbieter-Software ausgegeben, die nicht erfolgreich konvertiert werden konnte. Diese Anwendungen müssen manuell neu installiert werden.

Um sicherzustellen, dass die FreeBSD Ports-Sammlung neue Pakete mit pkg und nicht mit den traditionellen Formaten registriert, muss in FreeBSD 10.X und früheren Versionen folgende Zeile in /etc/make.conf hinzugefügt werden:

WITH_PKGNG=     yes

Das pkg Paketverwaltungssystem benutzt die Pakete der FreeBSD-Spiegel. Wenn Sie ein eigenes Paket-Repository erstellen möchten, lesen Sie Abschnitt 5.6, „Pakete mit Poudriere bauen“

Weitere Konfigurationsoptionen für pkg sind in pkg.conf(5) beschrieben.

Informationen zur Bedienung von pkg ist in pkg(8) verfügbar. Alternativ kann pkg ohne zusätzliche Argumente aufgerufen werden.

Jedes Argument von pkg ist in seiner spezifischen Manualpage dokumentiert. Um beispielsweise die Manualpage von pkg install zu lesen, geben Sie einen der folgenden Befehle ein:

# pkg help install
# man pkg-install

Der Rest dieses Abschnitts beschreibt die typischen Verwaltungsaufgaben für Binärpakete, die mit pkg erledigt werden können. Jedes gezeigte Kommando verfügt über Optionen, um das Verhalten anzupassen. Details und weitere Beispiele finden Sie in den Manualpages der einzelnen Kommandos.

5.4.2. Informationen über installierte Pakete anzeigen

Informationen über bereits installierte Pakete können mit pkg info angezeigt werden. Dabei wird, wenn keine weiteren Optionen angegeben werden, die Version und die Beschreibung aller Pakete oder eines einzelnen Pakets ausgegeben.

Um zu ermitteln welche Version von pkg installiert ist, geben Sie folgendes ein:

# pkg info pkg
pkg-1.1.4_1

5.4.3. Installation und Deinstallation von Paketen

Ein Binärpaket installieren Sie mit dem folgenden Befehl, wobei paketname der Name des zu installierenden Pakets ist:

# pkg install paketname

Dieser Befehl verwendet Daten aus dem Repository um zu bestimmen, welche Version der Software und welche Abhängigkeiten installiert werden müssen. Um beispielsweise curl zu installieren:

# pkg install curl
Updating repository catalogue
/usr/local/tmp/All/curl-7.31.0_1.txz          100% of 1181 kB 1380 kBps 00m01s

/usr/local/tmp/All/ca_root_nss-3.15.1_1.txz   100% of  288 kB 1700 kBps 00m00s

Updating repository catalogue
The following 2 packages will be installed:

        Installing ca_root_nss: 3.15.1_1
        Installing curl: 7.31.0_1

The installation will require 3 MB more space

0 MB to be downloaded

Proceed with installing packages [y/N]: y
Checking integrity... done
[1/2] Installing ca_root_nss-3.15.1_1... done
[2/2] Installing curl-7.31.0_1... done
Cleaning up cache files...Done

Das neue Paket und jedes weitere Paket, das als Abhängigkeit installiert wurde, ist in der Liste der installierten Pakete zu sehen:

# pkg info
ca_root_nss-3.15.1_1     The root certificate bundle from the Mozilla Project
curl-7.31.0_1     Non-interactive tool to get files from FTP, GOPHER, HTTP(S) servers
pkg-1.1.4_6       New generation package manager

Wird ein Paket nicht mehr benötigt, kann es mit pkg delete entfernt werden. Zum Beispiel:

# pkg delete curl
The following packages will be deleted:

      curl-7.31.0_1

The deletion will free 3 MB

Proceed with deleting packages [y/N]: y
[1/1] Deleting curl-7.31.0_1... done

5.4.4. Installierte Pakete aktualisieren

Installierte Pakete können mit diesem Kommando auf die neuesten Versionen aktualisiert werden:

# pkg upgrade

Dieses Kommando vergleicht und aktualisiert die installierten Versionen der Pakete mit denen im Repository.

5.4.5. Installierte Pakete auditieren

Gelegentlich werden Sicherheitslücken in einer Drittanbieter-Software entdeckt. pkg besitzt einen eingebauten Auditing-Mechanismus. Um die auf dem System installierte Software auf Sicherheitslücken zu prüfen, geben Sie folgenden Befehl ein:

# pkg audit -F

5.4.6. Automatisches Entfernen von nicht mehr benötigten Abhängigkeiten

Das Entfernen eines Pakets kann möglicherweise Abhängigkeiten hinterlassen, die nicht mehr benötigt werden. Unnötige Pakete, die als Abhängigkeit von anderen Paketen installiert wurden, können automatisch erfasst und entfernt werden:

# pkg autoremove
Packages to be removed:
    ca_root_nss-3.15.1_1

The autoremoval will free 723 kB

Proceed with autoremoval of packages [y/N]: y
Deinstalling ca_root_nss-3.15.1_1... done

5.4.7. Wiederherstellung der Paketdatenbank

Im Gegensatz zum alten Paketverwaltungssystem beinhaltet pkg einen eigenen Mechanismus zur Sicherung der Paketdatenbank. Diese Funktionalität ist standardmäßig aktiviert.

Tipp:

Um das Skript daran zu hindern, eine Sicherung der Paketdatenbank zu erstellen, muss in periodic.conf(5) daily_backup_pkgdb_enable="NO" gesetzt werden.

Um den Inhalt einer früheren Paketdatenbank wiederherzustellen, geben Sie folgendes Kommando ein und ersetzen Sie /path/to/pkg.sql durch den Speicherort der gesicherten Datenbank:

# pkg backup -r /path/to/pkg.sql

Anmerkung:

Wenn Sie eine Sicherung wiederherstellen, die von einem periodic Skript erstellt wurde, müssen Sie diese zuerst dekomprimieren.

Um eine manuelle Sicherung der pkg Paketdatenbank zu erstellen, führen Sie den folgenden Befehl aus, und ersetzen Sie /path/to/pkg.sql durch einen geeigneten Dateinamen:

# pkg backup -d /path/to/pkg.sql

5.4.8. Alte Pakete entfernen

Standardmäßig speichert pkg Pakete in einem Cache-Verzeichnis, welches in pkg.conf(5) in der Variablen PKG_CACHEDIR definiert wird. Nur Kopien der neusten installierten Pakete werden beibehalten. Ältere Versionen von pkg haben alle Pakete aufbewahrt. Um diese veralteten Pakete zu entfernen, geben Sie folgendes ein:

# pkg clean

Um alle Pakte aus dem Cache-Verzeichnis zu löschen, geben Sie ein:

# pkg clean -a

5.4.9. Manipulation der Paket-Metadaten

Bei Software aus der FreeBSD Ports-Sammlung kann es vorkommen, dass die Hauptversionsnummer geändert wird. Dafür hat pkg ein eingebautes Kommando, um die Quelle eines Pakets zu aktualisieren. Dies ist nützlich, wenn zum Beispiel lang/php5 zu lang/php53 umbenannt wurde, damit lang/php5 jetzt die Version 5.4 integrieren kann.

Um die Quelle des Pakets für das obige Beispiel zu ändern, geben Sie folgendes ein:

# pkg set -o lang/php5:lang/php53

Ein weiteres Beispiel: Um lang/ruby18 auf lang/ruby19 zu aktualisieren, geben Sie folgendes ein:

# pkg set -o lang/ruby18:lang/ruby19

In diesem letzten Beispiel wird die Quelle der Bibliotheken von libglut von graphics/libglut auf graphics/freeglut geändert:

# pkg set -o graphics/libglut:graphics/freeglut

Anmerkung:

Bei einem Wechsel der Paketquelle ist es notwendig, die Pakete neu zu installieren, welche von dem Paket abhängig sind, das seine Paketquelle geändert hat. Um eine Neuinstallation von abhängigen Paketen zu erzwingen, führen Sie folgenden Befehl aus:

# pkg install -Rf graphics/freeglut

5.5. Benutzen der Ports-Sammlung

Die Ports-Sammlung ist eine Reihe von Makefiles, Patches und Beschreibungen, die unter /usr/ports gespeichert sind. Diese Dateien werden für den Bau und die Installation von Anwendungen unter FreeBSD verwendet. Bevor eine Anwendung aus den Ports erstellt werden kann, muss zuerst die Ports-Sammlung installiert werden. Wenn Sie dies nicht bereits bei der Installation von FreeBSD getan haben, benutzen Sie eine der beiden Methoden um sie zu installieren:

Prozedur 5.1. Installation mit Portsnap

FreeBSDs Basissystem enthält mit Portsnap ein schnelles und benutzerfreundliches Werkzeug zur Installation der Ports-Sammlung und die bevorzugte Wahl für die meisten Benutzer. Dieses Programm stellt eine Verbindung zu einem FreeBSD-Server her, überprüft den gesicherten Schlüssel und lädt eine aktuelle Kopie der Ports-Sammlung herunter. Der Schlüssel wird benötigt, um die Integrität der heruntergeladenen Dateien zu untersuchen.

  1. Laden Sie einen komprimierten Snapshot der Ports-Sammlung in /var/db/portsnap:

    # portsnap fetch
  2. Wenn Sie Portsnap das erste Mal verwenden, müssen Sie den Snapshot nach /usr/ports extrahieren:

    # portsnap extract
  3. Nach dem ersten Einsatz von Portsnap, kann /usr/ports wie folgt aktualisiert werden:

    # portsnap fetch
    # portsnap update

    Bei der Verwendung von fetch können die extract oder update Operationen nacheinander ausgeführt werden, etwa so:

    # portsnap fetch update
Prozedur 5.2. Installation mit Subversion

Wird mehr Kontrolle über die Ports-Sammlung benötigt, oder wenn die lokalen Änderungen beibehalten werden sollen, kann Subversion benutzt werden, um die Ports-Sammlung zu laden. Lesen Sie den Subversion Primer für eine detaillierte Beschreibung von Subversion.

  1. Subversion muss installiert sein, bevor die Ports-Sammlung geladen werden kann. Ist eine lokale Kopie der Ports-Sammlung bereits vorhanden, installieren Sie Subversion wie folgt:

    # cd /usr/ports/devel/subversion
    # make install clean

    Wenn keine lokale Kopie der Ports-Sammlung vorhanden ist, oder pkg zur Verwaltung von Paketen benutzt wird, kann Subversion als Paket installiert werden:

    # pkg install subversion
  2. Laden Sie eine Kopie der Ports-Sammlung:

    # svn checkout https://svn.FreeBSD.org/ports/head /usr/ports
  3. Nach dem erstmaligen checkout mit Subversion kann /usr/ports wie folgt aktualisiert werden:

    # svn update /usr/ports

Die Ports-Sammlung installiert eine Reihe von Verzeichnissen, die jeweils eine Softwarekategorie repräsentieren. Jede Kategorie hat für jede einzelne Anwendung ein weiteres Unterverzeichnis. Jedes Unterverzeichnis enthält Dateien, die FreeBSD sagen, wie ein Programm kompiliert und installiert werden muss. Diese Dateien werden auch Port-Gerüst genannt. Jedes Port-Gerüst beinhaltet die folgenden Dateien und Verzeichnisse:

  • Makefile: enthält Anweisungen, die spezifizieren, wie die Anwendung kompiliert wird und wohin die Komponenten installiert werden sollten.

  • distinfo: enthält die Namen und die Prüfsummen der Dateien, die heruntergeladen werden müssen, um den Port zu bauen.

  • files: dieses Verzeichnis enthält Patches, welche das Übersetzen und Installieren der Anwendung unter FreeBSD ermöglichen. Zudem können noch weitere Dateien, die für die Übersetzung des Ports verwendet werden, enthalten sein.

  • pkg-descr: enthält eine ausführlichere Beschreibung der Anwendung.

  • pkg-plist: eine Liste aller Dateien, die durch diesen Port installiert werden. Außerdem sind hier Informationen enthalten, die zum Entfernen des Ports benötigt werden.

Einige Ports beinhalten noch pkg-message oder weitere Dateien, die vom Port-System benutzt werden, um spezielle Situationen zu handhaben. Wenn Sie mehr über diese Dateien oder das Port-System erfahren wollen, lesen Sie das FreeBSD Porter's Handbook.

Ein Port enthält nicht den eigentlichen Quellcode, der auch als Distfile bekannt ist. Der heruntergeladene Quellcode wird automatisch nach /usr/ports/distfiles extrahiert.

5.5.1. Ports installieren

Dieser Abschnitt beschreibt die grundlegende Benutzung der Ports-Sammlung, um Software zu installieren oder zu deinstallieren. Eine ausführliche Beschreibung der einzelnen make-Targets finden Sie in ports(7).

Warnung:

Stellen Sie sicher, dass die Ports-Sammlung aktuell ist, bevor Sie einen Port kompilieren. Informieren Sie sich vorher zusätzlich unter http://vuxml.FreeBSD.org/ über mögliche Sicherheitsprobleme des zu installierenden Ports. Alternativ können Sie pkg audit -F ausführen, bevor Sie einen neuen Port installieren. Die täglich laufende Sicherheitsprüfung des Systems aktualisiert ebenfalls die Datenbank und prüft installierte Anwendungen auf vorhandene Sicherheitsprobleme. Weitere Informationen finden Sie in pkg-audit(8) und periodic(8).

Die Benutzung der Ports-Sammlung setzt eine funktionierende Internetverbindung und Superuser-Rechte voraus.

Um einen Port zu installieren, wechseln Sie in das Verzeichnis des Ports, den Sie installieren möchten. Geben Sie dann make install am Prompt ein:

# cd /usr/ports/sysutils/lsof
# make install
>> lsof_4.88D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
>> Attempting to fetch from ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/.
===>  Extracting for lsof-4.88
...
[Ausgabe des Auspackens weggelassen]
...
>> Checksum OK for lsof_4.88D.freebsd.tar.gz.
===>  Patching for lsof-4.88.d,8
===>  Applying FreeBSD patches for lsof-4.88.d,8
===>  Configuring for lsof-4.88.d,8
...
[configure-Ausgabe weggelassen]
...
===>  Building for lsof-4.88.d,8
...
[Ausgabe der Übersetzung weggelassen]
...
===>  Installing for lsof-4.88.d,8
...
[Ausgabe der Installation weggelassen]
...
===>   Generating temporary packing list
===>   Compressing manual pages for lsof-4.57
===>   Registering installation for lsof-4.57
===>  SECURITY NOTE:
      This port has installed the following binaries which execute with
      increased privileges.
/usr/local/bin/lsof
#

Da lsof eine Anwendung ist, die mit erhöhten Rechten läuft, wird nach der Installation eine Sicherheitswarnung angezeigt. Sobald die Installation abgeschlossen ist, erscheint wieder der Prompt.

Um die Suche nach Kommandos zu beschleunigen, speichern einige Shells eine Liste der verfügbaren Kommandos in den durch die Umgebungsvariable PATH gegebenen Verzeichnissen. Benutzer der tcsh müssen eventuell rehash eintippen, um die neu installierten Kommandos benutzen zu können, ohne den vollständigen Pfad anzugeben. Benutzer der Shell sh müssen stattdessen hash -r eintippen. Weitere Informationen finden Sie in der Dokumentation der jeweiligen Shell.

Bei der Installation wird ein Arbeitsverzeichnis erstellt, das alle temporären Dateien enthält, die während des Bauvorgangs benötigt werden. Wenn dieses Verzeichnis nach der Installation entfernt wird, spart dies Plattenplatz und minimiert mögliche Probleme bei der Aktualisierung des Ports auf eine neuere Version:

# make clean
===>  Cleaning for lsof-4.88.d,8
#

Anmerkung:

Sie können zwei Schritte sparen, wenn Sie bei der Kompilierung des Ports gleich make install clean eingeben.

5.5.1.1. Port Installation anpassen

Einige Ports bieten Optionen, mit denen zusätzliche Funktionen oder Sicherheitsoptionen eingestellt werden können. Beispiele dafür sind www/firefox, security/gpgme und mail/sylpheed-claws. Wenn ein Port von anderen Ports abhängig ist und diese über zusätzliche Abhängigkeiten und Optionen verfügen, wird mehrmals ein Menü ausgegeben, wo der Benutzer verschiedene Optionen wählen kann. Um dies zu vermeiden, wechseln Sie in das Verzeichnis des Ports und geben Sie make config-recursive ein, um die Konfiguration an einem Stück zu erledigen. Führen Sie danach make install [clean] aus, um den Port zu kompilieren und zu installieren.

Tipp:

Bei der Verwendung von config-recursive wird eine Liste von Ports, die konfiguriert werden, vom Target all-depends-list erstellt. Es wird empfohlen, make config-recursive so lange auszuführen, bis alle Optionen der abhängigen Ports definiert sind und keine Optionen und Menüs mehr erscheinen. Damit soll sichergestellt werden, dass alle Optionen konfiguriert wurden.

Es gibt diverse Möglichkeiten, dieses Menü nach dem Bau eines Ports erneut aufzurufen, um Optionen zu entfernen, hinzuzufügen oder anzupassen. Sie können beispielsweise mit cd in das Verzeichnis des Ports wechseln und dort make config eingeben. Eine andere Möglichkeit ist make showconfig. Eine weitere Alternative bietet make rmconfig, das alle ursprünglich gewählten Optionen zurücksetzt und es Ihnen dadurch ermöglicht, die Konfiguration erneut zu beginnen. Die eben erwähnten Optionen werden ausführlich in ports(7) beschrieben.

Die Ports-Sammlung benutzt zum Herunterladen von Dateien fetch(3), das diverse Umgebungsvariablen unterstützt. Die Variablen FTP_PASSIVE_MODE, FTP_PROXY und FTP_PASSWORD müssen unter Umständen gesetzt werden, wenn das FreeBSD-System hinter einer Firewall oder einem FTP/HTTP-Proxy arbeitet. Eine vollständige Liste der unterstützten Variablen finden Sie in fetch(1).

Benutzer ohne eine ständige Internet-Verbindung können make fetch im Verzeichnis /usr/ports ausführen, um die benötigten Dateien herunterzuladen. Es ist auch möglich, make fetch nur in einem Teil des Baums, wie /usr/ports/net, aufzurufen. Die Dateien von allen abhängigen Ports werden mit diesem Kommando allerdings nicht heruntergeladen. Wenn Sie diese Dateien ebenfalls herunterladen wollen, benutzen Sie stattdessen make fetch-recursive.

In einigen seltenen Fällen ist es erforderlich, die benötigten Dateien von einem anderen Ort als den im Port definierten MASTER_SITES herunterzuladen. Sie können MASTER_SITES mit dem folgenden Kommando überschreiben:

# cd /usr/ports/directory
# make MASTER_SITE_OVERRIDE= \
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch

Die Variablen WRKDIRPREFIX und PREFIX überschreiben das voreingestellte Bau- und Zielverzeichnis. Zum Beispiel:

# make WRKDIRPREFIX=/usr/home/example/ports install

Dieses Kommando baut den Port unter /usr/home/example/ports und installiert ihn unter /usr/local.

Die Variable PREFIX legt das Installations-Verzeichnis fest:

# make PREFIX=/usr/home/example/local install

In diesem Beispiel wird der Port unter /usr/ports gebaut und nach /usr/home/example/local installiert.

Sie können beide Variablen auch zusammen benutzen:

# make WRKDIRPREFIX=../ports PREFIX=../local install

Alternativ können diese Variablen auch als Umgebungsvariablen gesetzt werden. In der Manualpage Ihrer Shell finden Sie Anweisungen, wie Umgebungsvariablen gesetzt werden.

5.5.2. Entfernen installierter Ports

Installierte Ports können mit pkg delete wieder deinstalliert werden. Beispiele für dieses Kommando finden Sie in pkg-delete(8).

Alternativ kann make deinstall im Verzeichnis des Ports aufgerufen werden:

# cd /usr/ports/sysutils/lsof
make deinstall
===>  Deinstalling for sysutils/lsof
===>   Deinstalling
Deinstallation has been requested for the following 1 packages:

        lsof-4.88.d,8

Thee deinstallation will free 229 kB
[1/1] Deleting lsof-4.88.d,8... done

Es wird empfohlen die Nachrichten zu lesen, die ausgegeben werden, wenn ein Port deinstalliert wird. Wenn der Port noch Anwendungen hat, die von ihm abhängig sind, werdenn diese am Bildschirm angezeigt, aber die Deinstallation wird forgesetzt. In solchen Fällen ist es besser, die Anwendung neu zu installieren, um fehlende Abhängigkeiten zu vermeiden.

5.5.3. Ports aktualisieren

Im Laufe der Zeit stehen neuere Versionen der Software in der Ports-Sammlung zur Verfügung. In diesem Abschnitt wird beschrieben, wie Sie bestimmen, welche Software aktualisiert werden kann und wie das Upgrade durchzuführen ist.

Um festzustellen, ob neuere Versionen der installierten Ports verfügbar sind, stellen Sie sicher, dass die neueste Version der Ports-Sammlung installiert ist. Dies wird in Prozedur 5.1, „Installation mit Portsnap“ und Prozedur 5.2, „Installation mit Subversion“ beschrieben. Führen Sie unter FreeBSD 10 und neueren Versionen, bzw. auf Systemen die bereits mit pkg arbeiten, den folgenden Befehl aus, um eine Liste der installierten Ports zu erhalten für die eine aktuelle Version existiert:

# pkg version -l "<"

Mit FreeBSD 9.X und älteren Versionen kann stattdessen dieser Befehl verwendet werden:

# pkg_version -l "<"

Wichtig:

Lesen Sie zuerst /usr/ports/UPDATING, bevor Sie einen Port aktualisieren. In dieser Datei werden Probleme und zusätzlich durchzuführende Schritte bei der Aktualisierung einzelner Ports beschrieben. Dazu gehören solche Dinge wie geänderte Dateiformate, verschobene Konfigurationsdateien, aber auch Inkompatibilitäten zu einer Vorgängerversion. Notieren Sie sich alle Anweisungen der Ports, die aktualisiert werden müssen. Folgen Sie den Anweisungen, wenn Sie das Upgrade durchführen.

5.5.3.1. Ports mit Portmaster aktualisieren

ports-mgmt/portmaster ist ein sehr kleines Werkzeug zum Aktualisieren von Ports. Es wurde entwickelt, um mit den in FreeBSD integrierten Werkzeugen zu arbeiten, ohne dabei von anderen Ports oder Datenbanken abhängig zu sein. Sie können das Programm aus der Ports-Sammlung installieren:

# cd /usr/ports/ports-mgmt/portmaster
# make install clean

Portmaster teilt Ports in vier Kategorien ein:

  • Root Port: hat keine Abhängigkeiten und andere Ports sind nicht von diesem Port abhängig.

  • Trunk Port: hat keine Abhängigkeiten, aber andere Ports sind von diesem Port abhängig.

  • Branch Port: hat Abhängigkeiten und andere Ports sind von diesem Port abhängig.

  • Leaf Port: hat Abhängigkeiten, aber andere Ports sind nicht von diesem Port abhängig.

Um eine Liste der installierten Ports anzuzeigen und nach neueren Versionen zu suchen, verwenden Sie:

# portmaster -L
===>>> Root ports (No dependencies, not depended on)
===>>> ispell-3.2.06_18
===>>> screen-4.0.3
        ===>>> New version available: screen-4.0.3_1
===>>> tcpflow-0.21_1
===>>> 7 root ports
...
===>>> Branch ports (Have dependencies, are depended on)
===>>> apache22-2.2.3
        ===>>> New version available: apache22-2.2.8
...
===>>> Leaf ports (Have dependencies, not depended on)
===>>> automake-1.9.6_2
===>>> bash-3.1.17
        ===>>> New version available: bash-3.2.33
...
===>>> 32 leaf ports

===>>> 137 total installed ports
        ===>>> 83 have new versions available

Um alle installierten Ports zu aktualisieren, verwenden Sie folgenden Befehl:

# portmaster -a

Anmerkung:

In der Voreinstellung erzeugt Portmaster eine Sicherheitskopie, bevor ein installierter Port gelöscht wird. Ist die Installation der neuen Version erfolgreich, wird dieses Backup wieder gelöscht. Wollen Sie das Backup lieber manuell löschen, verwenden Sie die Option -b beim Aufruf von Portmaster. Durch die Verwendung von -i wird Portmaster im interaktiven Modus gestartet und fragt bei jedem zu aktualisierenden Port nach, wie weiter vorgegangen werden soll. Viele weitere Optionen stehen zur Verfügung. Lesen Sie die Manualpage von portmaster(8) für weitere Einzelheiten in Bezug auf ihre Nutzung.

Treten während der Aktualisierung Fehler auf, verwenden Sie die Option -f, um alle Ports zu aktualisieren beziehungsweise neu zu bauen:

# portmaster -af

Portmaster ist auch in der Lage, neue Ports zu installieren, wobei zuvor alle abhängigen Ports aktualisiert werden. Um diese Funktion zu nutzen, geben Sie den Pfad des Ports in der Ports-Sammlung an:

# portmaster shells/bash

5.5.3.2. Ports mit Portupgrade aktualisieren

Ein weiteres Werkzeug zur Aktualisierung von Ports ist Portupgrade, welches als Paket oder Port ports-mgmt/portupgrade zur Verfügung steht. Dieses Programm installiert eine Reihe von Anwendungen, die für die Verwaltung von Ports verwendet werden können. Das Programm ist jedoch von Ruby abhängig. Um den Port zu installieren, geben Sie ein:

# cd /usr/ports/ports-mgmt/portupgrade
# make install clean

Durchsuchen Sie vor jedem Update die Liste der installierten Ports mit pkgdb -F und beheben Sie alle gefundenen Probleme.

Benutzen Sie portupgrade -a, um automatisch alle veralteten Ports auf dem System zu aktualisieren. Verwenden Sie zusätzlich den Schalter -i, wenn Sie individuell entscheiden wollen, ob ein Port aktualisiert werden soll:

# portupgrade -ai

Um nur eine spezifische Anwendung zu aktualisieren, verwenden Sie portupgrade Paketname. Es ist wichtig den Schalter -R zu benutzen, um zuvor alle Ports zu aktualisieren, die von dem gegebenen Anwendung abhängen.

# portupgrade -R firefox

Um Pakete anstelle von Ports zu installieren, verwenden Sie den Schalter -P. Mit dieser Option durchsucht Portupgrade die in der Umgebungsvariablen PKG_PATH aufgeführten Verzeichnisse nach Paketen. Sind lokal keine Pakete vorhanden, versucht Portupgrade die Pakete über das Netz herunterzuladen. Gibt es die Pakete weder lokal noch auf entfernten Rechnern, werden die Ports verwendet. Um die Nutzung von Ports gänzlich zu verhindern, benutzen Sie die Option -PP. Portupgrade würde dann abbrechen, falls keine Pakete zur Verfügung stehen.

# portupgrade -PP gnome3

Wenn Sie nur die Quelldateien des Ports, oder die Pakete mit -P herunterladen möchten, ohne die Anwendung zu bauen oder zu installieren, geben Sie den Schalter -F an. Weitere Informationen zu den verfügbaren Schaltern finden Sie in der Manualpage von portupgrade(1).

5.5.4. Platzbedarf von Ports

Die Nutzung der Ports-Sammlung wird im Laufe der Zeit viel Plattenplatz verschlingen. Nach dem Bau und der Installation eines Ports, wird make clean die temporären Arbeitsverzeichnisse work aufräumen. Portmaster wird dieses Verzeichnis automatisch entfernen, wenn die Option -K verwendet wird. Wenn Portupgrade installiert ist, wird dieser Befehl alle Arbeitsverzeichnisse der lokalen Ports-Sammlung entfernen:

# portsclean -C

Zusätzlich werden sich im Laufe der Zeit zahlreiche veraltete Distfiles in /usr/ports/distfiles ansammeln. Wenn Portupgrade installiert ist, können mit dem folgenden Befehl alle Distfiles gelöscht werden, die vom keinem Port mehr benötigt werden:

# portsclean -D

Mit Portupgrade können Sie alle Distfiles löschen, die von keinem derzeit installierten Port benötigt werden:

# portsclean -DD

Wenn Portmaster installiert ist, benutzen Sie diesen Befehl:

# portmaster --clean-distfiles

In der Voreinstellung arbeitet dieses Programm interaktiv und fragt den Benutzer um Bestätigung, bevor ein Distfile gelöscht wird.

Zusätzlich zu diesen Kommandos gibt es noch port-mgmt/pkg_cutleaves. Dieses Werkzeug automatisiert die Deinstallation von installierten Ports, die nicht weiter benötigt werden.

5.6. Pakete mit Poudriere bauen

Poudriere ist ein unter der BSD-Lizenz stehendes Werkzeug zum Erstellen und Testen von FreeBSD-Paketen. Dieses Programm nutzt FreeBSD Jails, um die Pakete in einer isolierten Umgebung zu bauen. Diese Jails können verwendet werden, um Pakete für andere Versionen von FreeBSD zu bauen, oder um auf einem amd64-System Pakete für i386 zu bauen. Sobald die Pakete gebaut sind, haben sie das gleiche Format wie auf den offiziellen Spiegeln. Die Pakete können dann mit pkg(8) oder anderen Paketverwaltungswerkzeugen benutzt werden.

Poudriere wird über das Paket oder den Port ports-mgmt/poudriere installiert. Die Installation beinhaltet eine Beispielkonfiguration in /usr/local/etc/poudriere.conf.sample. Kopieren Sie diese Datei nach /usr/local/etc/poudriere.conf. Bearbeiten Sie dann die kopierte Datei, um die Konfiguration anzupassen.

Obwohl ZFS für poudriere nicht zwingend erforderlich ist, so hat die Nutzung doch einige Vorteile. Wird ZFS eingesetzt, muss in /usr/local/etc/poudriere.conf die Variable ZPOOL definiert, und die Variable FREEBSD_HOST auf einen nahe gelegenen Spiegel gesetzt werden. Die Definition von CCACHE_DIR erlaubt die Verwendung von devel/ccache, um die Bauzeit für häufig kompilierten Code verkürzen. Es kann vorteilhaft sein, die poudriere-Datasets in einem separaten Verzeichnis auf /poudriere einzuhängen. Die Werte der anderen Konfigurationsvariablen sind in der Regel angemessen und brauchen nicht geändert werden.

Die Anzahl der Kerne im Prozessor wird verwendet um zu bestimmen, wie viele Bauprozesse parallel ausgeführt werden sollen. Stellen Sie ausreichend virtuellen Speicher bereit, entweder in Form von RAM oder als Swap-Speicher. Ist der virtuelle Speicher aufgebraucht, bricht der Bauprozess ab und die Jails stürzen ab, was zu seltsamen Fehlermeldungen führt.

5.6.1. Jails und Ports-Sammlung initialisieren

Nach der Konfiguration muss poudriere initialisiert werden, damit es eine Jail mit der benötigten Ports-Sammlung startet. Geben Sie mit -j den Namen der Jail und mit -v die gewünschte FreeBSD-Version an. Auf FreeBSD/amd64-Systemen kann die Architektur mit dem Schalter -a und i386 oder amd64 gesetzt werden. Der voreingestellte Wert für die Architektur können Sie sich mit uname anzeigen lassen.

# poudriere jail -c -j 10amd64 -v 10.0-RELEASE
====>> Creating 10amd64 fs... done
====>> Fetching base.txz for FreeBSD 10.0-RELEASE amd64
/poudriere/jails/10amd64/fromftp/base.txz      100% of   59 MB 1470 kBps 00m42s
====>> Extracting base.txz... done
====>> Fetching src.txz for FreeBSD 10.0-RELEASE amd64
/poudriere/jails/10amd64/fromftp/src.txz       100% of  107 MB 1476 kBps 01m14s
====>> Extracting src.txz... done
====>> Fetching games.txz for FreeBSD 10.0-RELEASE amd64
/poudriere/jails/10amd64/fromftp/games.txz     100% of  865 kB  734 kBps 00m01s
====>> Extracting games.txz... done
====>> Fetching lib32.txz for FreeBSD 10.0-RELEASE amd64
/poudriere/jails/10amd64/fromftp/lib32.txz     100% of   14 MB 1316 kBps 00m12s
====>> Extracting lib32.txz... done
====>> Cleaning up... done
====>> Jail 10amd64 10.0-RELEASE amd64 is ready to be used
# poudriere ports -c -p local
====>> Creating local fs... done
====>> Extracting portstree "local"...
Looking up portsnap.FreeBSD.org mirrors... 7 mirrors found.
Fetching public key from ec2-eu-west-1.portsnap.freebsd.org... done.
Fetching snapshot tag from ec2-eu-west-1.portsnap.freebsd.org... done.
Fetching snapshot metadata... done.
Fetching snapshot generated at Tue Feb 11 01:07:15 CET 2014:
94a3431f0ce567f6452ffde4fd3d7d3c6e1da143efec76100% of   69 MB 1246 kBps 00m57s
Extracting snapshot... done.
Verifying snapshot integrity... done.
Fetching snapshot tag from ec2-eu-west-1.portsnap.freebsd.org... done.
Fetching snapshot metadata... done.
Updating from Tue Feb 11 01:07:15 CET 2014 to Tue Feb 11 16:05:20 CET 2014.
Fetching 4 metadata patches... done.
Applying metadata patches... done.
Fetching 0 metadata files... done.
Fetching 48 patches.
(48/48) 100.00%  done.
done.
Applying patches...
done.
Fetching 1 new ports or files... done.
/poudriere/ports/tester/CHANGES
/poudriere/ports/tester/COPYRIGHT

[...]

Building new INDEX files... done.

poudriere kann auf einem einzelnen Rechner Ports mit mehreren Konfigurationen bauen, in mehreren Jails und aus unterschiedlichen Ports-Sammlungen. Spezifische Konfigurationen für diese Kombinationen werden Sets genannt. Lesen Sie den Abschnitt CUSTOMIZATION in poudriere(8) für weitere Einzelheiten nach der Installation von port-mgmt/poudriere oder ports-mgmt/poudriere-devel.

Die hier gezeigte Konfiguration verwendet eine einzelne Jail-, Port- und Set-spezifische make.conf in /usr/local/etc/poudriere.d. Der verwendete Dateiname in diesem Beispiel wird aus einer Kombination von Jailnamen, Portnamen und Setnamen zusammen gesetzt: 10amd64-local-workstation-make.conf. Die make.conf des Systems und diese neue Datei werden verwendet, um die make.conf für die Jail zu erzeugen.

Die zu bauenden Pakete werden in 10amd64-local-workstation-pkglist eingetragen:

editors/emacs
devel/git
ports-mgmt/pkg
...

Die Optionen und Abhängigkeiten für die Ports werden wie folgt konfiguriert:

# poudriere options -j 10amd64 -p local -z workstation -f 10amd64-local-workstation-pkglist

Schließlich werden die Pakete gebaut und ein Paket-Repository erstellt:

# poudriere bulk -j 10amd64 -p local -z workstation -f 10amd64-local-workstation-pkglist

Ctrl+t zeigt den aktuellen Status des Baus an. Poudriere speichert zudem Dateien in /poudriere/logs/bulk/jailname. Diese Dateien kann ein Webserver nutzen, um Informationen über den Bau anzuzeigen.

Die Pakete stehen jetzt im poudriere Repository für die Installation zur Verfügung.

Weitere Informationen zu poudriere finden Sie in poudriere(8) und unter https://github.com/freebsd/poudriere/wiki.

5.6.2. Konfiguration des pkg-Clients für das Poudriere Repository

Obwohl es möglich ist ein eigenes Repository zusammen mit dem offiziellen Repository zu nutzen, ist es manchmal sinnvoll das offizielle Repository zu deaktivieren. Dazu wird eine Konfigurationsdatei erstellt, welche die offizielle Konfigurationsdatei überschreibt. Erzeugen Sie dazu /usr/local/etc/pkg/repos/FreeBSD.conf mit dem folgenden Inhalt:

FreeBSD: {
        enabled: no
}

Am einfachsten ist es, das poudriere Repository über HTTP zur Verfügung zu stellen. Setzen Sie einen Webserver auf, der die Dateien des Paketverzeichnisses ausliefert, zum Beispiel /usr/local/poudriere/data/packages/10amd64. 10amd64 bezeichnet dabei den Namen des Baus.

Wenn die URL des Paket Repositories http://pkg.example.com/10amd64 ist, dann sollte die Konfiguration des Repositories in /usr/local/etc/pkg/repos/custom.conf wie folgt aussehen:

custom: {
	url: "http://pkg.example.com/10amd64",
	enabled: yes,
}

5.7. Nach der Installation

Unabhängig davon, ob die Software aus einem binären Paket oder aus einem Port installiert wird, benötigen die meisten Anwendungen von Drittanbietern ein gewisses Maß an Konfiguration, nachdem sie installiert wurden. Die folgenden Kommandos und Speicherorte helfen Ihnen dabei festzustellen, was mit der Anwendung zusammen installiert wurde.

  • Die meisten Anwendungen installieren mindestens eine Konfigurationsdatei nach /usr/local/etc. Falls die Anwendung viele Konfigurationsdateien enthält, wird ein Unterverzeichnis erstellt um die Dateien zu speichern. Oft werden die Konfigurationsdateien mit einem Suffix wie beispielsweise .sample installiert. Die Konfigurationsdateien sollten überprüft und ggf. bearbeitet werden, um die Anforderungen des Systems zu erfüllen. Um eine Konfigurationsdatei zu bearbeiten, kopieren Sie diese zunächst ohne die Erweiterung .sample.

  • Wenn die Anwendung Dokumentation zur Verfügung stellt, wird diese nach /usr/local/share/doc installiert. Viele Anwendungen installieren auch Manualpages. Diese Dokumentation sollten Sie lesen, bevor Sie fortfahren.

  • Einige Anwendungen laufen als Dienst und müssen vor dem ersten Start in /etc/rc.conf eingetragen werden. Diese Anwendungen installieren meist ein Skript in /usr/local/etc/rc.d. Weitere Informationen finden Sie im Abschnitt 12.2, „Start von Diensten“.

  • Benutzer der csh(1) sollten rehash ausführen, um die neu installierten Programme nutzen zu können.

  • Benutzen Sie pkg info, um die Dateien, Manualpages und Binaries zu ermitteln, die mit der Anwendung installiert wurden.

5.8. Kaputte Ports

Wenn sich ein Port nicht bauen oder installieren lässt, versuchen Sie folgendes:

  1. Stellen Sie fest, ob die Datenbank mit den Problemberichten bereits einen Lösungsvorschlag enthält. Ist dies der Fall, kann die vorgeschlagene Lösung getestet werden.

  2. Bitten Sie den Betreuer des Ports um Hilfe. Geben Sie dazu make maintainer ein oder lesen Sie das Makefile im Verzeichnis des Ports, um an die E-Mail-Adresse zu kommen. Vergessen Sie nicht die Zeile mit $FreeBSD: aus dem Makefile und die Ausgabe bis zur Fehlermeldung mitzuschicken.

    Anmerkung:

    Einige Ports werden nicht von einer Einzelperson, sondern von einer Mailingliste betreut. Viele (aber nicht alle) dieser Adressen haben die Form . Denken Sie daran, wenn Sie Ihre Fragen formulieren.

    Dies gilt insbesondere für Ports, die als Betreuer den Eintrag aufweisen. Derartige Ports haben überhaupt keinen Betreuer. Korrekturen und Unterstützung kommen daher nur von Personen, die diese Mailingliste abonniert haben. Gerade in diesem Bereich werden jederzeit zusätzliche freiwillige Helfer benötigt!

    Erhalten Sie auf Ihre Anfrage keine Antwort, benutzen Sie Bugzilla, um einen Problembericht zu erstellen. Bevor Sie einen solchen Bericht erstellen, lesen Sie den Artikel Writing FreeBSD Problem Reports.

  3. Reparieren Sie ihn! Das FreeBSD Porter's Handbook enthält eine detaillierte Beschreibung des Portsystems. Damit sind Sie in der Lage, einen zeitweilig kaputten Port zu reparieren oder einen eigenen Port zu erstellen.

  4. Installieren Sie das Paket anstelle des Ports. Anweisungen hierzu finden Sie in Abschnitt 5.4, „Benutzen von pkg zur Verwaltung von Binärpaketen“.

Kapitel 6. Das X-Window-System

Übersetzt von Martin Heinen.

6.1. Übersicht

Bei einer Installation von FreeBSD mit bsdinstall wird nicht automatisch eine grafische Benutzeroberfläche installiert. Dieses Kapitel beschreibt die Installation und Konfiguration von Xorg, das eine grafische Umgebung über das quelloffene X-Window-System zur Verfügung stellt. Weiterhin wird beschrieben, wie Sie eine Desktop-Umgebung oder einen Window Manager finden und installieren können.

Anmerkung:

Benutzer die eine Installationsmethode bevorzugen, welche automatisch Xorg konfiguriert und zudem die Auswahl eines Window Managers während der Installation anbietet, sollten sich die pcbsd.org Webseite ansehen.

Weitere Informationen über Video-Hardware, die von Xorg unterstützt wird, finden Sie auf der x.org Webseite.

Nachdem Sie dieses Kapitel gelesen haben, werden Sie

  • Die Komponenten des X-Window-Systems und ihr Zusammenspiel kennen.

  • Wissen, wie Xorg installiert und konfiguriert wird.

  • Wissen, wie verschiedene Window-Manager und Desktop-Umgebungen installiert und konfiguriert werden.

  • Wissen, wie TrueType®-Schriftarten mit Xorg benutzt werden.

  • Wissen, wie Sie die grafische Anmeldung (XDM) einrichten.

Bevor Sie dieses Kapitel lesen, sollten Sie

6.2. Terminologie

Obwohl es nicht nötig ist, alle Details der verschiedenen Komponenten des X Window Systems und deren Zusammenspiel zu kennen, kann es trotzdem nützlich sein die Grundlagen dieser Komponenten zu verstehen:

X-Server

X wurde von Anfang an netzwerktransparent entworfen und verwendet ein Client-Server-Modell. In diesem Modell läuft der X-Server auf dem Rechner, an dem die Tastatur, der Bildschirm und die Maus angeschlossen ist. Der Server ist für Dinge wie die Verwaltung des Bildschirms und die Verarbeitung von Tastatur- und Maus-Eingaben sowie anderer Ein- und Ausgabegeräte, wie beispielsweise ein Tablet oder ein Videoprojektor, verantwortlich. Dieses Modell verwirrt viele Leute, die erwarten, dass der X-Server der leistungsstarke Rechner im Maschinenraum und der X-Client ihr Arbeitsplatzrechner ist.

X-Client

Jede X-Anwendung, wie beispielsweise XTerm oder Firefox ist ein X-Client. Der Client sendet dem Server Nachrichten wie Zeichne an diesen Koordinaten ein Fenster und der Server sendet dem Client Nachrichten der Art Der Benutzer hat gerade den Ok-Knopf gedrückt.

In kleinen Umgebungen laufen der X-Server und die X-Clients auf demselben Rechner. Es ist auch möglich, den X-Server auf einem weniger leistungsfähigen Rechner laufen zu lassen und die X-Anwendungen auf einem leistungsfähigeren Rechner zu betreiben. In diesem Fall kommunizieren der X-Server und die X-Clients über das Netzwerk.

Window-Manager

X schreibt nicht vor, wie Fenster auf dem Bildschirm auszusehen haben, wie sie mit der Maus zu verschieben sind, welche Tastenkombinationen benutzt werden sollen um zwischen den Fenstern zu wechseln, wie die Fensterrahmen aussehen, oder ob diese Schaltflächen zum schließen haben. Stattdessen gibt X die Verantwortung für all diese Sachen an eine separate Window-Manager Anwendung ab. Es stehen zahlreiche Window-Manager zur Verfügung. Jeder Window-Manager bietet ein anderes Erscheinungsbild: einige unterstützen virtuelle Bildschirme, andere erlauben Tastenkombinationen zur Verwaltung des Bildschirms. Einige besitzen eine Start Schaltfläche und in manchen lässt sich das Aussehen und Verhalten der Anwendung über Themes beliebig einstellen. Window-Manager stehen in der Kategorie x11-wm der Ports-Sammlung zur Verfügung.

Jeder Window-Manager wird unterschiedlich konfiguriert. Einige erwarten eine manuell erstellte Konfigurationsdatei, während andere ein grafisches Werkzeug für die meisten Konfigurationsarbeiten anbieten.

Desktop-Umgebungen

KDE und GNOME werden als Desktop-Umgebungen bezeichnet, da sie eine ganze Reihe von Anwendungen für typische Desktop-Aufgaben enthalten. Dazu zählen beispielsweise Office-Pakete, Webbrowser und Spiele.

Fokus

Der Window-Manager ist für die Methode verantwortlich, mit der ein Fenster den Fokus bekommt. Jedes System, das Fenster verwendet muss entscheiden, wie ein Fenster aktiviert wird, damit es Eingaben empfangen kann. Das aktive Fenster sollte zudem sichtbar gekennzeichnet werden.

Eine Methode wird click-to-focus genannt. Ein Fenster wird aktiv, wenn es mit der Maus angeklickt wird. Eine weitere Methode ist focus-follows-mouse. Hier hat liegt der Fokus auf dem Fenster, auf dem sich der Mauszeiger befindet. Wird der Mauszeiger in ein anderes Fenster bewegt, so erhält dieses Fenster den Fokus. Eine dritte Methode ist sloppy-focus. Hier wechselt der Fokus nur dann, wenn sich der Mauszeiger in ein neues Fenster bewegt und nicht, wenn er das aktive Fenster verlässt. Ist der Mauszeiger auf der Desktop Oberfläche, so bleibt der Fokus auf dem zuletzt verwendeten Fenster. Bei der Methode click-to-focus wird das aktive Fenster durch einen Mausklick festgelegt. Dabei kann das Fenster vor alle anderen Fenster gesetzt werden. Alle Eingaben werden dann, unabhängig von der Position des Mauszeigers, dem aktiven Fenster zugeordnet.

Die verschiedenen Window-Manager unterstützen noch andere Methoden. Alle unterstützen jedoch click-to-focus und die meisten von ihnen auch die anderen Methoden. Lesen Sie die Dokumentation des Window-Managers um festzustellen, welche Methoden zur Verfügung stehen.

Widgets

Widget bezeichnet Objekte, die in irgendeiner Weise geklickt oder manipuliert werden können. Dazu gehören buttons (Schaltflächen), check buttons (Schaltfläche für Mehrfachauswahlen), radio buttions (Schaltfläche für Einfachauswahlen), Icons und Auswahllisten. Eine Widget-Sammlung ist eine Reihe von Widgets, die verwendet werden um grafische Anwendungen zu erstellen. Es gibt mehrere populäre Widget-Sammlungen, einschließlich Qt, das von KDE benutzt wird, und GTK+, das von GNOME benutzt wird. Als Folge dessen, haben Anwendungen einen bestimmten look and feel, je nachdem welche Widget-Sammlung benutzt wurde, um die Anwendung zu erstellen.

6.3. Xorg installieren

In FreeBSD kann Xorg als Paket oder Port installiert werden.

Die nachstehenden Kommandos bauen und installieren Xorg aus der Ports-Sammlung:

# cd /usr/ports/x11/xorg
# make install clean

Die Installation des Pakets ist zwar schneller, dafür können weniger Optionen angepasst werden:

# pkg install xorg

Bei beiden Vorgehensweisen wird ein vollständiges Xorg-System installiert. Dies ist die beste Option für die meisten Anwender.

Eine kleinere Version des Xorg-Systems für erfahrene Anwender ist mit x11/xorg-minimal verfügbar. Die meisten Dokumente, Bibliotheken und Anwendungen werden hierbei nicht installiert. Einige Anwendungen erfordern jedoch diese zusätzlichen Komponenten, um ordnungsgemäß zu funktionieren.

6.4. Xorg konfigurieren

Warren Block
Björn Heidotting

6.4.1. Schnellstartanleitung

Xorg unterstützt die meisten gängigen Grafikkarten, Tastaturen und Zeigegeräte. Diese Geräte werden automatisch erkannt und müssen nicht manuell konfiguriert werden.

  1. Wenn Xorg bereits zuvor auf diesem Computer verwendet wurde, verschieben oder entfernen Sie alle vorhandenen Konfigurationsdateien:

    # mv /etc/X11/xorg.conf ~/xorg.conf.etc
    # mv /usr/local/etc/X11/xorg.conf ~/xorg.conf.localetc
  2. Fügen Sie die Benutzer, die Xorg verwenden, zur Gruppe video oder wheel hinzu, um die 3D-Beschleunigung zu aktivieren. Um den Benutzer jru in eine der verfügbaren Gruppen hinzuzufügen:

    # pw groupmod video -m jru || pw groupmod wheel -m jru
  3. Der Window-Manager TWM ist standardmäßig enthalten und wird auch gestartet, wenn Xorg startet:

    % startx
  4. Auf einigen älteren Versionen von FreeBSD muss die Systemkonsole auf vt(4) eingestellt sein, damit der Wechsel auf die Konsole ordnungsgemäß funktioniert. Informationen dazu finden Sie im Abschnitt 6.4.3, „Kernel Mode Setting (KMS)“.

6.4.2. Benutzergruppen für Grafikbeschleunigung

Um die 3D-Beschleunigung für Grafikkarten zu ermöglichen, ist der Zugriff auf /dev/dri notwendig. In der Regel ist es am einfachsten, die Benutzer zur Gruppe video oder wheel hinzuzufügen. In diesem Beispiel wird pw(8) verwendet, um den Benutzer slurms zu der Gruppe video hinzuzufügen, bzw. zur Gruppe wheel, falls die Gruppe video nicht existiert:

# pw groupmod video -m slurms || pw groupmod wheel -m slurms

6.4.3. Kernel Mode Setting (KMS)

Wenn der Computer die Anzeige von der Konsole auf eine höhere Bildschirmauflösung für X umstellt, muss der Videoausgabe-Modus eingestellt werden. Neuere Versionen von Xorg verwenden dazu ein System innerhalb des Kernels, um diesen Modus effizienter zu ändern. Ältere Versionen von FreeBSD verwenden dafür sc(4), welches jedoch nicht mit dem KMS-System umgehen kann. Das führt dazu, dass nach dem Schließen von X die Konsole leer bleibt, obwohl sie weiterhin funktioniert. Die neuere vt(4) Konsole vermeidet dieses Problem.

Fügen Sie diese Zeile in /boot/loader.conf ein um vt(4) zu aktivieren:

kern.vty=vt

6.4.4. Konfigurationsdateien

6.4.4.1. Verzeichnis

Xorg sucht in verschiedenen Verzeichnissen nach Konfigurationsdateien. Unter FreeBSD ist /usr/local/etc/X11/ das bevorzugte Verzeichnis für diese Dateien. Die Verwendung dieses Verzeichnisses hilft dabei, Anwendungsdateien vom Betriebssystem getrennt zu halten.

Das Speichern von Konfigurationsdateien unter /etc/X11/ funktioniert immer noch, allerdings vermischt diese Methode Anwendungsdateien mit Dateien des Basissystems und wird daher nicht empfohlen.

6.4.4.2. Einzelne oder mehrere Dateien

Anstatt die traditionelle xorg.conf zu verwenden, ist es einfacher, mehrere Dateien, die jeweils eine bestimmte Einstellung konfigurieren, zu verwenden. Diese Dateien werden im Unterverzeichnis xorg.conf.d/ des Hauptverzeichnisses gespeichert. Der vollständige Pfad ist normalerweise /usr/local/etc/X11/xorg.conf.d/.

Beispiele für diese Dateien werden später in diesem Abschnitt vorgestellt.

Die traditionelle, einzelne xorg.conf funktioniert weiterhin, ist jedoch nicht so übersichtlich und flexibel wie die Verwendung von mehreren Dateien im Unterverzeichnis xorg.conf.d/.

6.4.5. Grafikkarten

Intel®

3D-Beschleunigung wird von den meisten Intel®-Grafikkarten unterstützt, einschließlich Ivy Bridge (HD Graphics 2500, 4000 und P4000), Iron Lake (HD Graphics) und Sandy Bridge (HD Graphics 2000).

Treibername: intel

Weitere Informationen finden Sie unter https://en.wikipedia.org/wiki/List_of_Intel_graphics_processing_units.

AMD® Radeon

2D- und 3D-Beschleunigung wird von den meisten Radeon-Karten bis zur HD6000-Serie unterstützt.

Treibername: radeon

Weitere Informationen finden Sie unter https://en.wikipedia.org/wiki/List_of_AMD_graphics_processing_units.

NVIDIA

Verschiedene NVIDIA Treiber sind in der Kategorie x11 der Ports-Sammlung enthalten. Installieren Sie den Treiber, der für die Grafikkarte benötigt wird.

Weitere Informationen finden Sie unter https://en.wikipedia.org/wiki/List_of_Nvidia_graphics/processing_units.

Hybride Kombinationen

Einige Notebooks besitzen zusätzlich zum Chipsatz oder Prozessor einen Grafikprozessor. Optimus kombiniert Intel® und NVIDIA Hardware. Umschaltbare Grafik bzw. Hybride Grafik ist eine Kombination aus Intel®, oder AMD® Prozessor mit AMD® Radeon GPU.

Die Implementierungen dieser Hybrid-Grafik-Systeme variieren und Xorg in FreeBSD ist nicht in der Lage, alle Versionen der Hardware zu betreiben.

Einige Computer bieten jedoch eine BIOS-Option, um eine der beiden Grafikkarten zu deaktivieren oder den diskreten Modus einzuschalten. Zum Beispiel ist es manchmal möglich, die NVIDIA GPU in einem Optimus-System zu deaktivieren. Intel® Video kann dann mit einem Intel® Treiber verwendet werden.

Die BIOS-Einstellungen sind abhängig vom Modell des Computers. In manchen Situationen können beide GPUs aktiviert bleiben. Um solch ein System lauffähig zu machen genügt es bereits, nur die Haupt-GPU im Abschnitt Device der Konfigurationsdatei zu setzen.

Andere Grafikkarten

Treiber für weniger gebräuchliche Grafikkarten finden Sie in der Kategorie x11-drivers der Ports-Sammlung.

Karten, die nicht durch einen speziellen Treiber unterstützt werden, sind vielleicht noch mit dem Treiber x11-drivers/xf86-video-vesa nutzbar. Dieser Treiber wird von x11/xorg installiert. Der Treiber kann auch manuell als x11-drivers/xf86-video-vesa installiert werden. Xorg versucht immer diesen Treiber zu verwenden, wenn für die Grafikkarte kein passender Treiber gefunden wird.

x11-drivers/xf86-video-scfb ist ein ähnlicher Treiber, der mit vielen UEFI und ARM® Computern funktioniert.

Video-Treiber über eine Datei einstellen

Den Intel® Treiber in einer Konfigurationsdatei einstellen:

Beispiel 6.1. Den Intel® Treiber über eine Datei auswählen

/usr/local/etc/X11/xorg.conf.d/driver-intel.conf

Section "Device"
	Identifier  "Card0"
	Driver	    "intel"
	# BusID	    "PCI:1:0:0"
EndSection

Wenn mehr als eine Grafikkarte vorhanden ist, kann der Eintrag BusID verwendet werden, um die gewünschte Karte auszuwählen. Eine Liste der BusIDs der Grafikkarten kann mit pciconf -lv | grep -B3 display ausgegeben werden.


Den Radeon Treiber in einer Konfigurationsdatei einstellen:

Beispiel 6.2. Den Radeon Treiber über eine Datei auswählen

/usr/local/etc/X11/xorg.conf.d/driver-radeon.conf

Section "Device"
	Identifier  "Card0"
	Driver	    "radeon"
EndSection

Den VESA Treiber in einer Konfigurationsdatei einstellen:

Beispiel 6.3. Den VESA Treiber über eine Datei auswählen

/usr/local/etc/X11/xorg.conf.d/driver-vesa.conf

Section "Device"
	Identifier  "Card0"
	Driver	    "vesa"
EndSection

Den Treiber scfb für UEFI- oder ARM®-Computer auswählen:

Beispiel 6.4. Den scfb Treiber über eine Datei auswählen

/usr/local/etc/X11/xorg.conf.d/driver-scfb.conf

Section "Device"
	Identifier  "Card0"
	Driver	    "scfb"
EndSection

6.4.6. Monitore

Fast alle Monitore unterstützen den Extended Display Identification Data Standard (EDID). Xorg verwendet EDID um mit dem Monitor zu kommunizieren und die unterstützten Auflösungen und Bildwiederholfrequenzen zu erkennen. Xorg wählt dann die für den Monitor am besten geeignete Kombination von Einstellungen.

Weitere vom Monitor unterstützte Auflösungen, können in der Konfigurationsdatei, oder nach dem Start des X-Servers mit xrandr(1) gesetzt werden.

xrandr(1) benutzen

Führen Sie xrandr(1) ohne Parameter aus, um eine Liste von Video-Ausgängen und erkannten Monitor-Modi zu sehen:

% xrandr
Screen 0: minimum 320 x 200, current 3000 x 1920, maximum 8192 x 8192
DVI-0 connected primary 1920x1200+1080+0 (normal left inverted right x axis y axis) 495mm x 310mm
   1920x1200     59.95*+
   1600x1200     60.00
   1280x1024     85.02    75.02    60.02
   1280x960      60.00
   1152x864      75.00
   1024x768      85.00    75.08    70.07    60.00
   832x624       74.55
   800x600       75.00    60.32
   640x480       75.00    60.00
   720x400       70.08
DisplayPort-0 disconnected (normal left inverted right x axis y axis)
HDMI-0 disconnected (normal left inverted right x axis y axis)

Die Auflistung zeigt, dass der DVI-0 Ausgang benutzt wird, um eine Bildschirmauflösung von 1920x1200 bei einer Bildwiederholrate von 60 Hz anzuzeigen. An den Anschlüssen DisplayPort-0 und HDMI-0 sind keine Monitore angeschlossen.

Die anderen Anzeigemodi können mit xrandr(1) ausgewählt werden. Um beispielsweise auf 1280x1024 bei 60 Hz umzuschalten:

% xrandr --mode 1280x1024 --rate 60

Häufig wird für einen Videoprojektor der externe Videoausgang eines Notebooks verwendet.

Die Typen und Anzahl der Videoanschlüsse variiert zwischen den Geräten und auch die Ausgabe variiert von Treiber zu Treiber. Was für den einen Treiber HDMI-1 ist, nennt ein anderer Treiber vielleicht HDMI1. Führen Sie daher zunächst xrandr(1) aus, um alle verfügbaren Anschlüsse aufzulisten.

% xrandr
Screen 0: minimum 320 x 200, current 1366 x 768, maximum 8192 x 8192
LVDS1 connected 1366x768+0+0 (normal left inverted right x axis y axis) 344mm x 193mm
   1366x768      60.04*+
   1024x768      60.00
   800x600       60.32    56.25
   640x480       59.94
VGA1 connected (normal left inverted right x axis y axis)
   1280x1024     60.02 +  75.02
   1280x960      60.00
   1152x864      75.00
   1024x768      75.08    70.07    60.00
   832x624       74.55
   800x600       72.19    75.00    60.32    56.25
   640x480       75.00    72.81    66.67    60.00
   720x400       70.08
HDMI1 disconnected (normal left inverted right x axis y axis)
DP1 disconnected (normal left inverted right x axis y axis)

Vier Ausgänge wurden gefunden: das integrierte Panel LVDS1, sowie die externen Anschlüsse VGA1, HDMI1 und DP1.

Der Videoprojektor wurde am Ausgang VGA1 angeschlossen. xrandr(1) wird nun verwendet, um diese Ausgabe auf die native Auflösung des Projektors einzustellen und den zusätzlichen Platz auf der rechten Seite des Desktops hinzuzufügen:

% xrandr --output VGA1 --auto --right-of LVDS1

--auto wählt die Auflösung und Aktualisierungsrate die von EDID ermittelt wurden. Wenn die Auflösung nicht richtig ermittelt wurde, kann ein fester Wert mit --mode anstelle von --auto angegeben werden. Beispielsweise können die meisten Projektoren mit einer Auflösung von 1024x768 betrieben werden, die mit --mode 1024x768 gesetzt wird.

xrandr(1) wird häufig aus .xinitrc ausgeführt, um den entsprechenden Modus zu setzen wenn X startet.

Bildschirmauflösung über eine Datei einstellen

Eine Bildschirmauflösung von 1024x768 in einer Konfigurationsdatei einstellen:

Beispiel 6.5. Die Bildschirmauflösung in eine Datei schreiben

/usr/local/etc/X11/xorg.conf.d/screen-resolution.conf

Section "Screen"
	Identifier "Screen0"
	Device     "Card0"
	SubSection "Display"
	Modes      "1024x768"
	EndSubSection
EndSection

Die wenigen Monitore, die EDID nicht beherrschen, können durch setzen von HorizSync und VertRefresh auf den Bereich der vom Monitor unterstützten Frequenzen konfiguriert werden.

Beispiel 6.6. Manuelles Einstellen der Monitorfrequenzen

/usr/local/etc/X11/xorg.conf.d/monitor0-freq.conf

Section "Monitor"
	Identifier   "Monitor0"
	HorizSync    30-83  # kHz
	VertRefresh  50-76  # Hz
EndSection

6.4.7. Eingabegeräte

6.4.7.1. Tastaturen

Tastaturlayout

Die standardisierte Position von Tasten auf einer Tastatur wird als Layout bezeichnet. Layouts und andere einstellbare Parameter werden in xkeyboard-config(7) beschrieben.

In der Voreinstellung ist ein US-amerikanisches Layout aktiv. Um ein alternatives Layout zu wählen, setzen Sie die Optionen XkbLayout und XkbVariant in der Klasse InputClass. Dies wird für alle Eingabegeräte der entsprechenden Klasse angewendet werden.

Beispiel 6.7. Konfiguration eines Tastaturlayouts

/usr/local/etc/X11/xorg.conf.d/keyboard-fr-oss.conf

Section "InputClass"
	Identifier	"KeyboardDefaults"
	Driver		"keyboard"
	MatchIsKeyboard	"on"
	Option		"XkbLayout" "fr"
	Option		"XkbVariant" "oss"
EndSection

Beispiel 6.8. Konfiguration mehrerer Tastaturlayouts

Hier werden die Tastaturlayouts für Vereinigte Staaten, Spanien und Ukraine gesetzt. Mit Alt+Shift können Sie zwischen den einzelnen Layouts wechseln. Für eine verbesserte Steuerung des Layouts kann x11/xxkb oder x11/sbxkb benutzt werden.

/usr/local/etc/X11/xorg.conf.d/kbd-layout-multi.conf

Section "InputClass"
	Identifier	"All Keyboards"
	MatchIsKeyboard	"yes"
	Option		"XkbLayout" "us,es,ua"
EndSection

Xorg über die Tastatur beenden

X kann über eine Tastenkombination geschlossen werden. Standardmäßig ist die Tastenkombination jedoch nicht gesetzt, da sie mit Tastaturbefehlen für einige Anwendungen in Konflikt steht. Die Aktivierung dieser Option erfordert Änderungen in der Sektion InputDevice für die Tastatur:

Beispiel 6.9. X über die Tastatur beenden

/usr/local/etc/X11/xorg.conf.d/keyboard-zap.conf

Section "InputClass"
	Identifier	"KeyboardDefaults"
	Driver		"keyboard"
	MatchIsKeyboard	"on"
	Option		"XkbOptions" "terminate:ctrl_alt_bksp"
EndSection

6.4.7.2. Mäuse und Zeigegeräte

Viele Parameter für die Maus können über Konfigurationseinstellungen eingestellt werden. mousedrv(4) enthält eine vollständige Liste.

Mauszeiger

Die Anzahl der Maustasten wird in xorg.conf im Abschnitt InputDevice für die Maus festgelegt. Um die Anzahl der Tasten auf 7 zu setzen:

Beispiel 6.10. Die Anzahl der Maustasten festlegen

/usr/local/X11/xorg.conf.d/mouse0-buttons.conf

Section "InputDevice"
	Identifier  "Mouse0"
	Option	    "Buttons" "7"
EndSection

6.4.8. Manuelle Konfiguration

In einigen Fällen funktioniert die Autokonfiguration nicht mit bestimmter Hardware, oder es wird eine andere Konfiguration benötigt. Für diese Fälle kann eine benutzerdefinierte Konfigurationsdatei erstellt werden.

Eine Konfigurationsdatei kann, basierend auf der von Xorg erfassten Hardware erzeugt werden. Diese Konfigurationsdatei ist ein guter Ausgangspunkt für angepasste Konfigurationen.

Erzeugung einer xorg.conf:

# Xorg -configure

Die Konfigurationsdatei wird in /root/xorg.conf.new gespeichert. Machen Sie alle gewünschten Änderungen an dieser Datei. Danach testen Sie die Datei mit:

# Xorg -config /root/xorg.conf.new

Nachdem die neue Konfiguration angepasst und getestet wurde, kann die Konfiguration in kleinere Dateien unter /usr/local/etc/X11/xorg.conf.d/ aufgeteilt werden.

6.5. Schriftarten in Xorg benutzen

6.5.1. Type 1 Schriftarten

Die Schriftarten, die mit Xorg ausgeliefert werden, eignen sich ganz und gar nicht für Desktop-Publishing-Anwendungen. Große Schriftarten zeigen bei Präsentationen deutliche Treppenstufen und kleine Schriftarten sind fast unleserlich. Es gibt allerdings mehrere hochwertige Type 1 Schriftarten (PostScript®), die mit Xorg benutzt werden können. Beispielsweise enthalten die URW-Schriftarten (x11-fonts/urwfonts) hochwertige Versionen gängiger Type 1 Schriftarten (unter anderem Times Roman®, Helvetica®, Palatino®). Die Sammlung Freefonts (x11-fonts/freefonts) enthält viele weitere Schriftarten, doch sind diese für den Einsatz in Grafikprogrammen wie Gimp gedacht und nicht für den alltäglichen Gebrauch. Weiterhin kann Xorg mit einem Minimum an Aufwand konfiguriert werden, damit TrueType®-Schriftarten benutzt werden können. Mehr dazu erfahren Sie in der Manualpage X(7) und im Abschnitt 6.5.2, „TrueType®-Schriftarten“.

Die Type 1 Schriftarten lassen sich aus der Ports-Sammlung wie folgt installieren:

# cd /usr/ports/x11-fonts/urwfonts
# make install clean

Analog lassen sich Freefont und andere Sammlungen installieren. Damit der X-Server diese Schriftarten erkennt, fügen Sie eine entsprechende Zeile in die Konfigurationsdatei des X-Servers (/etc/X11/xorg.conf) hinzu:

FontPath "/usr/local/share/fonts/urwfonts/"

Alternativ kann in der X-Sitzung das folgende Kommando abgesetzt werden:

% xset fp+ /usr/local/share/fonts/urwfonts
% xset fp rehash

Jetzt kennt der X-Server die neuen Schriftarten, jedoch nur bis zu Ende der Sitzung. Soll die Änderung dauerhaft sein, müssen die Befehle in ~/.xinitrc eingetragen werden, wenn X mittels startx gestartet wird, beziehungsweise in ~/.xsession, wenn ein grafischer Login-Manager, wie XDM verwendet wird. Eine dritte Möglichkeit besteht darin, /usr/local/etc/fonts/local.conf zu verwenden, was im Abschnitt 6.5.3, „Anti-aliasing“ demonstriert wird.

6.5.2. TrueType®-Schriftarten

Xorg besitzt eine eingebaute Unterstützung zur Darstellung von TrueType®-Schriftarten. Hierzu existieren zwei verschiedene Module, die diese Funktionalität aktivieren können. In diesem Beispiel wird das Freetype-Modul benutzt, da es besser mit anderen Werkzeugen, die TrueType®-Schriftarten darstellen, übereinstimmt. Um das Freetype-Modul zu aktivieren, muss die folgende Zeile zum Abschnitt "Module" in /etc/X11/xorg.conf hinzugefügt werden.

Load "freetype"

Erstellen Sie ein Verzeichnis für die TrueType®-Schriftarten (beispielsweise /usr/local/share/fonts/TrueType) und kopieren Sie alle Schriftarten dorthin. Beachten Sie, dass die Schriftarten für Xorg im UNIX®/MS-DOS®/Windows®-Format vorliegen müssen und nicht direkt von einem Apple® Mac® übernommen werden können. Sobald die Dateien in das Verzeichnis kopiert wurden, verwenden Sie mkfontdir um fonts.dir zu erstellen, damit X weiß, dass diese neuen Dateien installiert wurden. mkfontdir kann als Paket installiert werden:

# pkg install mkfontdir

Erstellen Sie dann einen Index der Schriftarten für X:

# cd /usr/local/share/fonts/TrueType
# mkfontdir

Geben Sie dem System das TrueType®-Verzeichnis, wie im Abschnitt 6.5.1, „Type 1 Schriftarten“ beschrieben, bekannt:

# xset fp+ /usr/local/share/fonts/TrueType
# xset fp rehash

Oder fügen Sie eine FontPath-Zeile in xorg.conf ein.

Jetzt sollten Gimp, Apache OpenOffice und alle anderen X-Anwendungen die TrueType®-Schritarten erkennen. Extrem kleine Schriftarten (Webseiten, die mit hoher Auflösung betrachtet werden) und sehr große Schriftarten (in StarOffice™) werden jetzt viel besser aussehen.

6.5.3. Anti-aliasing

Alle Schriftarten in Xorg, die in den Verzeichnissen /usr/local/share/fonts/ und ~/.fonts/ gefunden werden, werden automatisch für Anti-aliasing an Anwendungen zur Verfügung gestellt, die Xft beherrschen. Die meisten aktuellen Anwendungen beherrschen Xft, dazu gehören auch KDE, GNOME und Firefox.

In der Datei /usr/local/etc/fonts/local.conf werden die Schriftarten, die mit dem Anti-aliasing-Verfahren benutzt werden sollen und die Eigenschaften des Verfahrens festgelegt. In diesem Abschnitt wird nur die grundlegende Konfiguration von Xft beschrieben. Weitere Details entnehmen Sie bitte der Hilfeseite fonts-conf(5).

Die Datei local.conf ist ein XML-Dokument. Achten Sie beim Editieren der Datei daher auf die richtige Groß- und Kleinschreibung und darauf, dass alle Tags geschlossen sind. Die Datei beginnt mit der üblichen XML-Deklaration gefolgt von einer DOCTYPE-Definition und dem <fontconfig>-Tag:

        <?xml version="1.0"?>
        <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
        <fontconfig>

Wie vorher erwähnt, stehen schon alle Schriftarten in /usr/local/share/fonts/ und ~/.fonts/ für Anwendungen, die Xft unterstützen, zur Verfügung. Wenn Sie ein Verzeichnis außerhalb dieser beiden Bäume benutzen wollen, fügen Sie eine Zeile wie die nachstehende zu /usr/local/etc/fonts/local.conf hinzu:

<dir>/path/to/my/fonts</dir>

Wenn Sie neue Schriftarten hinzugefügt haben, müssen Sie den Schriftarten-Cache neu aufbauen:

# fc-cache -f

Das Anti-aliasing-Verfahren zeichnet Ränder leicht unscharf, dadurch werden kleine Schriften besser lesbar und der Treppenstufen-Effekt bei wird großen Schriften vermieden. Auf normale Schriftgrößen sollte das Verfahren aber nicht angewendet werden, da dies die Augen zu sehr anstrengt. Um kleinere Schriftgrößen als 14 Punkt von dem Verfahren auszuschließen, fügen Sie in local.conf die nachstehenden Zeilen ein:

       <match target="font">
	   <test name="size" compare="less">
	       <double>14</double>
	   </test>
	   <edit name="antialias" mode="assign">
	       <bool>false</bool>
	   </edit>
	 </match>
	 <match target="font">
	   <test name="pixelsize" compare="less" qual="any">
	       <double>14</double>
	   </test>
	   <edit mode="assign" name="antialias">
	       <bool>false</bool>
	   </edit>
	 </match>

Das Anti-aliasing-Verfahren kann die Abstände einiger Fixschriften falsch darstellen, dies fällt besonders unter KDE auf. Sie können das Problem umgehen, indem Sie die Abstände dieser Schriften auf den Wert 100 festsetzen. Fügen Sie die nachstehenden Zeilen hinzu:

       <match target="pattern" name="family">
           <test qual="any" name="family">
               <string>fixed</string>
           </test>
           <edit name="family" mode="assign">
               <string>mono</string>
           </edit>
        </match>
        <match target="pattern" name="family">
            <test qual="any" name="family">
                <string>console</string>
            </test>
            <edit name="family" mode="assign">
                <string>mono</string>
            </edit>
        </match>

Damit werden die Namen der gebräuchlichen Fixschriften auf "mono" abgebildet. Für diese Schriften setzen Sie dann den Abstand fest:

         <match target="pattern" name="family">
             <test qual="any" name="family">
                 <string>mono</string>
             </test>
             <edit name="spacing" mode="assign">
                 <int>100</int>
             </edit>
         </match>      

Bestimmte Schriftarten, wie Helvetica, können Probleme mit dem Anti-Aliasing-Verfahren verursachen. In der Regel erscheinen diese Schriftarten dann vertikal halbiert. Im schlimmsten Fall stürzen Anwendungen als Folge davon ab. Sie vermeiden dies, indem Sie betroffene Schriftarten in local.conf von dem Verfahren ausnehmen:

         <match target="pattern" name="family">
             <test qual="any" name="family">
                 <string>Helvetica</string>
             </test>
             <edit name="family" mode="assign">
                 <string>sans-serif</string>
             </edit>
         </match>        

Wenn Sie local.conf editiert haben, stellen Sie bitte sicher, dass die Datei mit dem Tag </fontconfig> endet. Ist das nicht der Fall, werden die Änderungen nicht berücksichtigt.

Benutzer können eigene Einstellungen in der Datei ~/.fonts.conf vornehmen. Achten Sie auch hier auf die richtige XML-Syntax.

Mit einem LCD können Sie sub-pixel sampling anstelle von Anti-aliasing einsetzen. Dieses Verfahren behandelt die horizontal getrennten Rot-, Grün- und Blau-Komponenten eines Pixels gesondert und verbessert damit (teilweise sehr wirksam) die horizontale Auflösung. Die nachstehende Zeile in local.conf aktiviert diese Funktion:

         <match target="font">
             <test qual="all" name="rgba">
                 <const>unknown</const>
             </test>
             <edit name="rgba" mode="assign">
                 <const>rgb</const>
             </edit>
         </match>

Anmerkung:

Abhängig von der Art Ihres Bildschirms müssen Sie anstelle von rgb eines der folgenden verwenden: bgr, vrgb oder vbgr. Experimentieren Sie und vergleichen, was besser aussieht.

6.6. Der X-Display-Manager

Beigetragen von Seth Kingsley.

Xorg enthält den X-Display-Manager XDM, um Sitzungen zu verwalten. XDM stellt eine graphische Anmeldemaske zur Verfügung, in der Sie den Server, auf dem eine Sitzung laufen soll, auswählen können und in der Sie die Autorisierungs-Informationen, wie Benutzername und Passwort, eingeben können.

Dieser Abschnitt zeigt, wie der X-Displaymanager konfiguriert wird. Einige grafische Oberflächen enthalten ihre eigenen graphischen Login-Manager. Eine Anleitung zur Konfiguration des GNOME Display-Managers finden Sie im Abschnitt 6.7.1, „GNOME“. Eine Anleitung zur Konfiguration des KDE Display Managers finden Sie im Abschnitt 6.7.2, „KDE“.

6.6.1. XDM einrichten

XDM kann über das Paket oder den Port x11/xdm installiert werden. Nach der Installation lässt sich XDM durch einen Eintrag in /etc/ttys bei jedem Start des Rechners aktivieren:

ttyv8   "/usr/local/bin/xdm -nodaemon"  xterm   off secure

Ändern Sie den Wert off zu on und speichern Sie die Datei. ttyv8 zeigt an, dass XDM auf dem neunten virtuellen Terminal ausgeführt wird.

Die Konfigurationsdateien von XDM befinden sich in /usr/local/lib/X11/xdm. Dieses Verzeichnis enthält einige Dateien, mit denen das Verhalten und Aussehen von XDM beeinflusst werden kann, sowie ein paar Skripte und Programme zur Einrichtung des Desktops. Eine Zusammenfassung der Aufgaben dieser Dateien beschreibt die Tabelle 6.1, „Die Konfigurationsdateien von XDM“. Die genaue Syntax und Verwendung wird in xdm(1) beschrieben.

Tabelle 6.1. Die Konfigurationsdateien von XDM
DateiBeschreibung
XaccessVerbindungen zu XDM werden über das X Display Manager Connection Protocol (XDMCP) hergestellt. Xaccess enthält die Client-Berechtigungen zur Steuerung der XDMCP-Verbindungen entfernter Maschinen. In der Voreinstellung erlaubt diese Datei keine Verbindungen von entfernten Maschinen.
XresourcesDiese Datei steuert das Erscheinungsbild der Bildschirmauswahl und Anmeldemasken von XDM. In der Voreinstellung erscheint ein rechteckiges Anmeldefenster, dass den Hostnamen und einen Anmeldeprompt mit Login: und Password anzeigt. Das Format dieser Datei entspricht den Dateien im Verzeichnis app-defaults, die in der Dokumentation von Xorg beschrieben sind.
XserversDiese Datei enthält eine Liste entfernter Rechner, die in der Bildschirmauswahl angeboten werden.
XsessionDieses Skript wird von XDM aufgerufen, nachdem sich ein Benutzer erfolgreich angemeldet hat. Üblicherweise besitzt jeder Benutzer eine angepasste Version dieses Skripts in ~/.xsession, das dann anstelle von Xsession ausgeführt wird.
Xsetup_*Diese Skripten werden automatisch ausgeführt, bevor die Bildschirmauswahl oder die Anmeldemasken angezeigt werden. Für jeden lokalen Bildschirm gibt es ein Skript namens Xsetup_*, wobei * die lokale Bildschirmnummer ist. Normalerweise werden damit ein oder zwei Programme, wie xconsole, im Hindergrund gestartet.
xdm-configKonfiguration für alle auf der Maschine verwalteten Bildschirme.
xdm-errorsEnthält Fehler, die vom Server generiert werden. Wenn ein von XDM verwalteter Bildschirm hängen bleibt, suchen Sie in dieser Datei nach Fehlermeldungen. Für jede Sitzung werden die Meldungen auch in die Datei ~/.xsession-errors des Benutzers geschrieben.
xdm-pidDie Prozess-ID des gerade laufenden XDM-Prozesses.

6.6.2. Fernzugriff einrichten

In der Voreinstellung können sich nur Benutzer auf dem selben System über XDM anmelden. Um es Benutzern anderer Systeme zu ermöglichen, sich mit dem Bildschirm-Server zu verbinden, muss der Zugriffsregelsatz bearbeitet und der Listener aktiviert werden.

Um XDM so zu konfigurieren, dass jede Verbindung angenommen wird, kommentieren Sie die Zeile DisplayManager.requestPort in /usr/local/lib/X11/xdm/xdm-config aus, indem Sie der Zeile ein ! voranstellen.

! SECURITY: do not listen for XDMCP or Chooser requests
! Comment out this line if you want to manage X terminals with xdm
DisplayManager.requestPort:     0

Speichern Sie die Änderungen und starten Sie XDM neu. Um den Fernzugriff zu beschränken, sehen Sie sich die Beispiele in /usr/local/lib/X11/xdm/Xaccess an. Zusätzliche Informationen finden Sie in xdm(1)

6.7. Grafische Oberflächen

Beigetragen von Valentino Vaschetto.

Dieser Abschnitt beschreibt die Installation der drei beliebtesten grafischen Oberflächen unter FreeBSD. Eine Oberfläche kann alles von einem einfachen Window-Manager bis hin zu kompletten Anwendungen sein. Mehr als einhundert grafische Oberflächen stehen in der Kategorie x11-wm der Ports-Sammlung zur Verfügung.

6.7.1. GNOME

GNOME ist eine benutzerfreundliche Oberfläche. Es besitzt eine Leiste, mit der Anwendungen gestartet werden und die Statusinformationen anzeigen kann. Programme und Daten können auf der Oberfläche abgelegt werden und Standardwerkzeuge stehen zur Verfügung. Es gibt Konventionen, die es Anwendungen leicht machen, zusammenzuarbeiten und ein konsistentes Erscheinungsbild garantieren. Weitere Informationen zu GNOME unter FreeBSD finden Sie unter http://www.FreeBSD.org/gnome. Die Webseite enthält zusätzliche Informationen über die Installation, Konfiguration und Verwaltung von GNOME unter FreeBSD.

Diese grafische Oberfläche kann als Paket installiert werden:

# pkg install gnome3

Um GNOME stattdessen aus der Ports-Sammlung zu übersetzen, nutzen Sie das folgende Kommando. GNOME ist eine große Anwendung, die sogar auf einem schnellen Computer einige Zeit zum Übersetzten benötigt.

# cd /usr/ports/x11/gnome3
# make install clean

GNOME benötigt ein eingehängtes /proc Dateisystem. Fügen Sie daher die folgende Zeile in /etc/fstab ein, damit procfs(5) beim Systemstart automatisch eingehängt wird:

proc           /proc       procfs  rw  0   0

GNOME benötigt D-Bus und HAL für einen Nachrichtenbus und Hardware Abstraktion. Diese Anwendungen werden automatisch als Abhängigkeiten von GNOME installiert. Aktivieren Sie die Dienste in /etc/rc.conf, sodass sie automatisch gestartet werden wenn das System bootet:

dbus_enable="YES"
hald_enable="YES"

Nach der Installation weisen Sie Xorg an, GNOME zu starten. Der einfachste Weg, dies zu tun, ist über den GNOME Display Manager GDM, der als Teil des GNOME-Desktops installiert wird. Um GDM zu aktivieren, fügen Sie folgende Zeile in /etc/rc.conf ein:

gdm_enable="YES"

In der Regel ist es ratsam, alle GNOME-Dienste zu starten. Um dies zu erreichen, fügen Sie die folgende Zeile in /etc/rc.conf ein:

gnome_enable="YES"

GDM wird nun automatisch gestartet, wenn das System hochfährt.

GNOME kann alternativ auch von der Kommandozeile gestartet werden, wenn eine entsprechend konfigurierte ~/.xinitrc vorliegt. Existiert diese Datei bereits, ersetzen Sie den Aufruf des Window-Managers durch /usr/local/bin/gnome-session. Wenn .xinitrc nicht existiert, erstellen Sie die Datei mit folgendem Befehl:

% echo "exec /usr/local/bin/gnome-session" > ~/.xinitrc

Eine dritte Methode ist, XDM als Display-Manager zu verwenden. In diesem Fall erstellen Sie eine ausführbare ~/.xsession:

% echo "#!/bin/sh" > ~/.xsession
% echo "exec /usr/local/bin/gnome-session" >> ~/.xsession
% chmod +x ~/.xsession

6.7.2. KDE

KDE ist eine weitere, leicht zu benutzende Desktop-Umgebung. Dieser Desktop bietet eine Sammlung von Anwendungen mit einheitlichem Erscheinungsbild (look and feel), einheitlichen Menüs, Werkzeugleisten, Tastenkombinationen, Farbschemata, Internationalisierung und einer zentralen, dialoggesteuerten Desktop-Konfiguration. Weitere Informationen zu KDE finden Sie unter http://www.kde.org/. Spezifische Informationen für FreeBSD finden Sie unter http://freebsd.kde.org.

Um das Paket KDE4 zu installieren, geben Sie ein:

# pkg install x11/kde4

Um KDE stattdessen aus dem Quellcode zu übersetzen, verwenden Sie das folgende Kommando. Bei der Installation wird ein Menü zur Auswahl der Komponenten angezeigt. KDE ist eine große Anwendung, die sogar auf einem schnellen Computer einige Zeit zum Übersetzen benötigt.

# cd /usr/ports/x11/kde4
# make install clean

KDE benötigt ein eingehängtes /proc. Fügen Sie diese Zeile in /etc/fstab ein, um das Dateisystem automatisch beim Systemstart einzuhängen:

proc           /proc       procfs  rw  0   0

KDE benötigt D-Bus und HAL für einen Nachrichtenbus und Hardware Abstraktion. Diese Anwendungen werden automatisch als Abhängigkeiten von KDE installiert. Aktivieren Sie die Dienste in /etc/rc.conf, sodass sie automatisch gestartet werden wenn das System bootet:

dbus_enable="YES"
hald_enable="YES"

Die Installation von KDE beinhaltet den KDE Display-Manager KDM. Um diesen Display-Manager zu aktivieren, fügen Sie folgende Zeile in /etc/rc.conf ein:

kdm4_enable="YES"

Eine zweite Möglichkeit KDE zu starten, ist startx in der Kommandozeile einzugeben. Damit dies funktioniert, wird folgende Zeile in ~/.xinitrc benötigt:

exec /usr/local/bin/startkde

Eine dritte Möglichkeit ist KDE über XDM zu starten. Um dies zu tun, erstellen Sie eine ausführbare ~/.xsession wie folgt:

% echo "#!/bin/sh" > ~/.xsession
% echo "exec /usr/local/bin/startkde" >> ~/.xsession
% chmod +x ~/.xsession

Sobald KDE gestartet wird, finden Sie im integrierten Hilfesystem weitere Informationen zur Benutzung der verschiedenen Menüs und Anwendungen.

6.7.3. Xfce

Xfce ist eine Desktop-Umgebung, basierend auf den von GNOME verwendeten GTK+-Bibliotheken. Es hat einen geringeren Speicherbedarf und stellt dabei einen schlichten, effizienten und einfach zu benutzenden Desktop zur Verfügung. Xfce ist vollständig konfigurierbar, verfügt über eine Programmleiste mit Menüs, Applets und einen Programmstarter. Zudem sind ein Datei-Manager und ein Sound-Manager enthalten und das Programm ist über Themes anpassbar. Da es schnell, leicht und effizient ist, eignet sich Xfce ideal für ältere oder langsamere Rechner mit wenig Speicher. Weitere Informationen zu Xfce finden Sie unter http://www.xfce.org.

Um das Paket Xfce zu installieren, geben Sie folgendes ein:

# pkg install xfce

Um stattdessen den Port zu übersetzen:

# cd /usr/ports/x11-wm/xfce4
# make install clean

Im Gegensatz zu GNOME oder KDE, besitzt Xfce keinen eigenen Login-Manager. Damit Xfce von der Kommandozeile mit startx gestartet werden kann, muss zunächst ein Eintrag in ~/.xinitrc hinzugefügt werden:

% echo "exec /usr/local/bin/startxfce4 --with-ck-launch" > ~/.xinitrc

Alternativ dazu kann XDM verwendet werden. Um diese Methode zu konfigurieren, erstellen Sie eine ausführbare ~/.xsession:

% echo "#!/bin/sh" > ~/.xsession
% echo "exec /usr/local/bin/startxfce4 --with-ck-launch" >> ~/.xsession
% chmod +x ~/.xsession

6.8. Compiz Fusion installieren

Der Einsatz von hübschen 3D-Effekten ist eine Möglichkeit, die Benutzerfreundlichkeit eines Desktop-Rechners zu erhöhen.

Die Installation des Compiz Fusion Pakets ist einfach, aber bei der Konfiguration sind ein paar Schritte notwendig, die nicht in der Dokumentation des Ports beschrieben werden.

6.8.1. Konfiguration des FreeBSD nVidia-Treibers

Desktop-Effekte erzeugen eine hohe Last auf der Grafikkarte. Für nVidia-basierte Grafikkarten sind die proprietären Treiber für eine gute Leistung erforderlich. Benutzer anderer Grafikkarten können diesen Abschnitt überspringen und mit der Konfiguration von Xorg fortfahren.

Lesen Sie die FAQ zu diesem Thema, um herauszufinden, wie der richtige nVidia-Treiber ermittelt werden kann.

Nachdem der richtige Treiber für die Karte ermittelt wurde, kann er wie jedes andere Paket installiert werden.

Um beispielsweise den aktuellsten Treiber zu installieren:

# pkg install x11/nvidia-driver

Der Treiber erstellt ein Kernelmodul, welches beim Systemstart geladen werden muss. Fügen folgende Zeile in /boot/loader.conf ein:

nvidia_load="YES"

Anmerkung:

Um das Kernelmodul direkt in den laufenden Kernel zu laden, kann der Befehl kldload nvidia eingeben werden. Allerdings wurde festgestellt, dass einige Versionen von Xorg nicht richtig funktionieren, wenn der Treiber nicht beim Systemstart geladen wurde. Nach der Änderung in /boot/loader.conf wird daher ein Neustart des Systems empfohlen.

Wenn das Kernelmodul geladen ist, muss in der Regel nur noch eine einzige Zeile in xorg.conf geändert werden, um den proprietären Treiber zu aktivieren:

Suchen Sie folgende Zeile in /etc/X11/xorg.conf:

Driver      "nv"

und ändern Sie die Zeile zu:

Driver      "nvidia"

Wenn Sie nun die grafische Oberfläche starten, sollten Sie vom nVidia Startbildschirm begrüßt werden. Alles sollte wie gewohnt funktionieren.

6.8.2. Konfiguration von Desktop-Effekten in xorg.conf

Um Compiz Fusion zu aktivieren, muss /etc/X11/xorg.conf angepasst werden:

Fügen Sie diesen Abschnitt hinzu, um Composite-Effekte zu aktivieren:

Section "Extensions"
    Option         "Composite" "Enable"
EndSection

Suchen Sie den Abschnitt Screen, der ähnlich wie hier gezeigt aussehen sollte:

Section "Screen"
    Identifier     "Screen0"
    Device         "Card0"
    Monitor        "Monitor0"
    ...

und fügen Sie die beiden folgenden Zeilen hinzu (z.B. nach Monitor):

DefaultDepth    24
Option         "AddARGBGLXVisuals" "True"

Suchen Sie den Abschnitt Subsection, der sich auf die gewünschte Bildschirmauflösung bezieht. Wenn Sie z.B. 1280x1024 verwenden möchten, suchen Sie den folgenden Abschnitt. Sollte die gewünschte Auflösung nicht in allen Unterabschnitten vorhanden sein, können Sie den entsprechenden Eintrag manuell hinzufügen:

SubSection     "Display"
    Viewport    0 0
    Modes      "1280x1024"
EndSubSection

Für Composite-Effekte wird eine Farbtiefe von 24 Bit benötigt. Ändern Sie dazu den obigen Abschnitt wie folgt:

SubSection     "Display"
    Viewport    0 0
    Depth       24
    Modes      "1280x1024"
EndSubSection

Zuletzt muss noch sichergestellt werden, dass die Module glx und extmod im Abschnitt Module geladen werden:

Section "Module"
    Load           "extmod"
    Load           "glx"
    ...

Die vorangegangenen Einstellungen können automatisch mit x11/nvidia-xconfig erledigt werden, indem Sie folgende Kommandos als root ausführen:

# nvidia-xconfig --add-argb-glx-visuals
# nvidia-xconfig --composite
# nvidia-xconfig --depth=24

6.8.3. Installation und Konfiguration von Compiz Fusion

Die Installation von Compiz Fusion ist so einfach wie die Installation jedes anderen Pakets:

# pkg install x11-wm/compiz-fusion

Wenn die Installation abgeschlossen ist, starten Sie (als normaler Benutzer) den grafischen Desktop mit folgendem Befehl:

% compiz --replace --sm-disable --ignore-desktop-hints ccp &
% emerald --replace &

Der Bildschirm wird für einige Sekunden flackern, da der Window Manager (z.B. Metacity, wenn Sie GNOME benutzen) von Compiz Fusion ersetzt wird. Emerald kümmert sich um die Fensterdekoration (z.B. die Schatzflächenn schließen, minimieren und maximieren, Titelleisten, usw.).

Sie können dieses einfache Skript anpassen und es dann beim Start automatisch ausführen lassen (z.B. durch Hinzufügen von Sessions beim GNOME-Desktop):

#! /bin/sh
compiz --replace --sm-disable --ignore-desktop-hints ccp &
emerald --replace &

Speichern Sie die Datei in Ihrem Heimatverzeichnis, beispielsweise als start-compiz und machen Sie die Datei ausführbar:

% chmod +x ~/start-compiz

Benutzen Sie dann die grafische Oberfläche, um das Skript zu Autostart-Programme hinzuzufügen (beim GNOME-Desktop unter Systemwerkzeuge, Einstellungen, Sessions).

Um die gewünschten Effekte und Einstellungen zu konfigurieren, starten Sie (wieder als normaler Benutzer) den Compiz Config Einstellungs—Manager:

% ccsm

Anmerkung:

In GNOME finden Sie diese Einstellungen wieder im Menü unter Systemwerkzeuge, Einstellungen.

Wenn Sie gconf support während der Installation ausgewählt haben, können Sie diese Einstellungen auch im gconf-editor unter apps/compiz finden.

6.9. Fehlersuche

Wenn die Maus nicht funktioniert, müssen Sie diese zuerst konfigurieren. In neueren Versionen von Xorg werden die InputDevice-Abschnitte in xorg.conf ignoriert, um stattdessen die automatisch erkannten Geräte zu verwenden. Um das alte Verhalten wiederherzustellen, fügen Sie folgende Zeile zum Abschnitt ServerLayout oder ServerFlags dieser Datei hinzu:

Option "AutoAddDevices" "false"

Anmerkung:

Wie zuvor erwähnt, wird standardmäßig der hald-Dienst automatisch die Tastatur erkennen. Es kann jedoch passieren, dass das Tastaturlayout oder das Modell nicht korrekt erkannt wird. Grafische Oberflächen wie GNOME, KDE oder Xfce stellen Werkzeuge für die Konfiguration der Tastatur bereit. Es ist allerdings auch möglich, die Tastatureigenschaften direkt zu setzen, entweder mit Hilfe von setxkbmap(1) oder mit einer Konfigurationsregel von hald.

Wenn Sie zum Beispiel eine PC 102-Tasten Tastatur mit französischem Layout verwenden möchten, müssen sie eine Tastaturkonfigurationsdatei x11-input.fdi für hald im Verzeichnis /usr/local/etc/hal/fdi/policy anlegen. Diese Datei sollte die folgenden Zeilen enthalten:

<?xml version="1.0" encoding="iso-8859-1"?>
<deviceinfo version="0.2">
  <device>
    <match key="info.capabilities" contains="input.keyboard">
      <merge key="input.x11_options.XkbModel" type="string">pc102</merge>
      <merge key="input.x11_options.XkbLayout" type="string">fr</merge>
    </match>
  </device>
</deviceinfo>

Wenn diese Datei bereits existiert, kopieren Sie nur die Zeilen in die Datei, welche die Tastaturkonfiguration betreffen.

Sie müssen Ihren Computer neu starten, um hald zu zwingen, diese Datei einzulesen.

Es ist auch möglich, die gleiche Konfiguration von einem X-Terminal oder einem Skript über den folgenden Befehl heraus zu tätigen:

% setxkbmap -model pc102 -layout fr

/usr/local/share/X11/xkb/rules/base.lst enthält die zur Verfügung stehenden Tastatur- und Layoutoptionen.

Die Konfigurationsdatei xorg.conf.new kann nun an bestimmte Bedürfnisse angepasst werden. Öffnen Sie die Datei in einem Editor, wie emacs(1) oder ee(1). Falls der Monitor ein älteres oder ungewöhnliches Modell ist und keine automatische Erkennung unterstützt, können die Synchronisationsfrequenzen im Abschnitt "Monitor" der xorg.conf.new eingetragen werden.

Section "Monitor"
      Identifier   "Monitor0"
      VendorName   "Monitor Vendor"
      ModelName    "Monitor Model"
      HorizSync    30-107
      VertRefresh  48-120
EndSection

Die meisten Monitore unterstützen die automatische Erkennung der Synchronisationsfrequenzen, so dass eine manuelle Eingabe der Werte nicht erforderlich ist. Für die wenigen Monitore, die keine automatische Erkennung unterstützen, sollten nur die vom Hersteller zur Verfügung gestellten Werte eingegeben werden, um einen möglichen Schaden zu vermeiden.

X unterstützt die Energiesparfunktionen (DPMS, Energy Star) für Monitore. Mit xset(1) können die Zeitlimits für die DPMS-Modi standby, suspend, off vorgeben, oder zwingend aktiviert werden. Die DPMS-Funktionen können mit der folgenden Zeile im Abschnitt "Monitor" aktiviert werden:

Option         "DPMS"

Die gewünschte Auflösung und Farbtiefe stellen sie im Abschnitt "Screen" ein:

Section "Screen"
      Identifier "Screen0"
      Device     "Card0"
      Monitor    "Monitor0"
      DefaultDepth 24
      SubSection "Display"
	      Viewport  0 0
	      Depth     24
	      Modes     "1024x768"
      EndSubSection
EndSection

Mit DefaultDepth wird die standardmäßige Farbtiefe angegeben. Mit der Option -depth von Xorg(1) lässt sich die vorgegebene Farbtiefe überschreiben. Modes gibt die Auflösung für die angegebene Farbtiefe an. Die Farbtiefe im Beispiel beträgt 24 Bits pro Pixel, die zugehörige Auflösung ist 1024x768 Pixel. Beachten Sie, dass in der Voreinstellung nur Standard-VESA-Modi der Grafikkarte angegeben werden können.

Sichern Sie die Konfigurationsdatei. Testen Sie anschließend die Konfiguration, wie oben beschrieben.

Anmerkung:

Bei der Fehlersuche stehen Ihnen die Protokolldateien von Xorg zur Verfügung. Die Protokolle enthalten Informationen über alle Geräte, die mit dem Xorg-Server verbunden ist. Die Namen der Xorg-Protkolldateien haben das Format /var/log/Xorg.0.log. Der exakte Name der Datei variiert dabei von Xorg.0.log bis Xorg.8.log, und so weiter.

Wenn alles funktioniert, installieren Sie die Datei an einen Ort, an dem Xorg(1) sie finden kann. Typischerweise ist dies /etc/X11/xorg.conf oder /usr/local/etc/X11/xorg.conf.

# cp xorg.conf.new /etc/X11/xorg.conf

Damit ist die Konfiguration von Xorg abgeschlossesn. Xorg kann nun mit dem Programm startx(1) gestartet werden. Alternativ kann der Xorg-Server auch mithilfe von xdm(1) gestartet werden.

6.9.1. Konfiguration des Intel® i810 Graphics Chipsets

Der Intel® i810-Chipset benötigt den Treiber agpgart, die AGP-Schnittstelle für Xorg. Die Manualpage für den Treiber agp(4) enthält weitere Informationen.

Ab jetzt kann die Hardware wie jede andere Grafikkarte auch konfiguriert werden. Beachten Sie, dass der Treiber agp(4) nicht nachträglich in einen laufenden Kernel geladen werden kann. Er muss entweder fest im Kernel eingebunden sein, oder beim Systemstart über /boot/loader.conf geladen werden.

6.9.2. Einen Widescreen-Monitor einsetzen

Dieser Abschnitt geht über die normalen Konfigurationsarbeiten hinaus und setzt ein wenig Vorwissen voraus. Selbst wenn die Standardwerkzeuge zur X-Konfiguration bei diesen Geräten nicht zum Erfolg führen, gibt es in den Protokolldateien genug Informationen, mit denen Sie letztlich doch einen funktionierenden X-Server konfigurieren können. Alles, was Sie dazu benötigen, ist ein Texteditor.

Aktuelle Widescreen-Formate (wie WSXGA, WSXGA+, WUXGA, WXGA, WXGA+, und andere mehr) unterstützen Seitenverhältnisse wie 16:10 oder 10:9, die unter X Probleme verursachen können. Bei einem Seitenverhältnis von 16:10 sind beispielsweise folgende Auflösungen möglich:

  • 2560x1600

  • 1920x1200

  • 1680x1050

  • 1440x900

  • 1280x800

Irgendwann wird die Konfiguration vereinfacht werden, dass nur noch die Auflösung als Mode in Section "Screen" eingtragen wird, so wie hier:

Section "Screen"
Identifier  "Screen 0"
Device	    "Card 0"
Monitor	    "Monitor0"
Default Depth 24
SubSection  "Display"
	ViewPort  0 0
	Depth	  24
	Modes	  "1680x1050"
EndSubSection
EndSection

Xorg ist intelligent genug, um die Informationen zu den Auflösungen über I2C/DDC zu beziehen, und weiß daher, welche Auflösungen und Frequenzen der Widescreen-Monitor unterstützt.

Wenn diese ModeLines in den Treiberdateien nicht vorhanden sind, kann es sein, dass Sie Xorg beim Finden der korrekten Werte unterstützen müssen. Dazu extrahieren Sie die benötigten Informationen aus /var/log/Xorg.0.log und erzeugen daraus eine funktionierende ModeLine. Suchen Sie nach Zeilen ähnlich den folgenden:

(II) MGA(0): Supported additional Video Mode:
(II) MGA(0): clock: 146.2 MHz   Image Size:  433 x 271 mm
(II) MGA(0): h_active: 1680  h_sync: 1784  h_sync_end 1960 h_blank_end 2240 h_border: 0
(II) MGA(0): v_active: 1050  v_sync: 1053  v_sync_end 1059 v_blanking: 1089 v_border: 0
(II) MGA(0): Ranges: V min: 48  V max: 85 Hz, H min: 30  H max: 94 kHz, PixClock max 170 MHz

Diese Informationen werden auch als EDID-Informationen bezeichnet. Um daraus eine funktionierende ModeLine zu erzeugen, müssen lediglich die Zahlen in die korrekte Reihenfolge gebracht werden:

ModeLine <name> <clock> <4 horiz. timings> <4 vert. timings>

Die korrekte ModeLine in Section "Monitor" würde für dieses Beispiel folgendermaßen aussehen:

Section "Monitor"
Identifier      "Monitor1"
VendorName      "Bigname"
ModelName       "BestModel"
ModeLine        "1680x1050" 146.2 1680 1784 1960 2240 1050 1053 1059 1089
Option          "DPMS"
EndSection

Nachdem diese Äderungen durchgeführt sind, sollte X auch auf Ihrem neuen Widescreen-Monitor starten.

6.9.3. Fehersuche in Compiz Fusion

6.9.3.1. Ich habe Compiz Fusion installiert und anschließend die hier erwähnten Kommandos eingegeben. Nun fehlen den Fenstern die Titelleisten und Schaltflächen. Was kann ich tun?
6.9.3.2. Wenn ich Compiz Fusion starte, bringt dass den X-Server zum Absturz. Was kann ich tun?

6.9.3.1.

Ich habe Compiz Fusion installiert und anschließend die hier erwähnten Kommandos eingegeben. Nun fehlen den Fenstern die Titelleisten und Schaltflächen. Was kann ich tun?

Wahrscheinlich fehlt eine Einstellung in /etc/X11/xorg.conf. Überprüfen Sie diese Datei gründlich, und überprüfen Sie insbesondere die Richtlinien DefaultDepth und AddARGBGLXVisuals.

6.9.3.2.

Wenn ich Compiz Fusion starte, bringt dass den X-Server zum Absturz. Was kann ich tun?

Wenn Sie /var/log/Xorg.0.log durchsuchen, finden Sie wahrscheinlich Fehlermeldungen, die während des Starts von X ausgegeben werden. Die häufigste Meldung ist:

(EE) NVIDIA(0):     Failed to initialize the GLX module; please check in your X
(EE) NVIDIA(0):     log file that the GLX module has been loaded in your X
(EE) NVIDIA(0):     server, and that the module is the NVIDIA GLX module.  If
(EE) NVIDIA(0):     you continue to encounter problems, Please try
(EE) NVIDIA(0):     reinstalling the NVIDIA driver.

Dies ist für gewöhnlich der Fall, wenn Sie Xorg aktualisieren. Sie müssen das Paket x11/nvidia-driver neu installieren, damit GLX neu gebaut wird.

Teil II. Oft benutzte Funktionen

Nach den Grundlagen beschäftigt sich das FreeBSD-Handbuch mit oft benutzten Funktionen von FreeBSD. Die Kapitel behandeln die nachstehenden Themen:

  • Zeigen Ihnen beliebte und nützliche Werkzeuge wie Browser, Büroanwendungen und Programme zum Anzeigen von Dokumenten.

  • Zeigen Ihnen Multimedia-Werkzeuge für FreeBSD.

  • Erklären den Bau eines angepassten FreeBSD-Kernels, der die Systemfunktionen erweitert.

  • Beschreiben ausführlich das Drucksystem, sowohl für direkt angeschlossene Drucker als auch für Netzwerkdrucker.

  • Erläutern, wie Sie Linux-Anwendungen auf einem FreeBSD-System laufen lassen.

Damit Sie einige Kapitel verstehen, sollten Sie vorher andere Kapitel gelesen haben. Die Übersicht zu jedem Kapitel zählt die Voraussetzungen für das erolgreiche Durcharbeiten des Kapitels auf.

Kapitel 7. Desktop-Anwendungen

7.1. Übersicht

Obwohl FreeBSD wegen seiner Leistung und Stabilität vor allem auf Serversystemen sehr beliebt ist, so ist es auch für den täglichen Einsatz als Desktop geeignet. Mit über 24,000 Anwendungen, die als Pakete oder Ports vorliegen, ist es leicht einen individuellen Desktop zu bauen, auf dem eine Vielzahl von Desktop-Anwendungen laufen. Dieses Kapitel zeigt, wie Sie die zahlreichen Desktop-Anwendungen, wie Web-Browser, Office-Pakete, Dokumentbetrachter und Finanzsoftware, installieren können.

Anmerkung:

Benutzer die es vorziehen eine vorkonfigurierte Desktop-Version von FreeBSD zu installieren, anstatt das System von Grund auf zu konfigurieren, sollten sich die pcbsd.org Website ansehen.

Bevor Sie dieses Kapitel lesen, sollten Sie wissen:

Informationen zur Konfiguration von Multimedia-Anwendungen finden Sie in Kapitel 8, Multimedia.

7.2. Browser

FreeBSD besitzt keinen vorinstallierten Browser, stattdessen enthält das www-Verzeichnis der Ports-Sammlung viele Browser, die als Paket oder aus der Ports-Sammlung installiert werden können.

Die Desktop-Umgebungen KDE und GNOME verfügen über eigene HTML-Browser. Weitere Informationen zur Einrichtung dieser Umgebungen finden Sie in Abschnitt 6.7, „Grafische Oberflächen“.

Besonders schlanke Browser sind www/dillo2, www/links und www/w3m.

Dieser Abschnitt demonstriert, wie die folgenden gängigen Webbrowser installiert werden, sowie den Ressourcenbedarf, den Installationsaufwand beim Übersetzen des Ports, oder ob die Anwendung wichtige Abhängigkeiten benötigt.

AnwendungRessourcenbedarfInstallationsaufwand aus den PortsAnmerkungen
FirefoxmittelhochFreeBSD, Linux® und lokalisierte Versionen sind verfügbar
OperaniedrigniedrigEs gibt eine FreeBSD- und eine Linux-Version. Die Linux-Version hängt von der Linux-Kompatibilität (Linux Binary Compatibility) und linux-openmotif ab.
KonquerormittelhochBenötigt KDE-Biliotheken
ChromiummittelhochBenötigt Gtk+

7.2.1. Firefox

Firefox ist ein Open-Source Browser, der vollständig auf FreeBSD portiert wurde. Er bietet eine dem HTML-Standard konforme Anzeige, Browserfenster als Tabs, Blockierung von Pop-up-Fenstern, Erweiterungen, verbesserte Sicherheit und mehr. Firefox basiert auf der Mozilla Codebasis.

Installieren Sie das Paket der aktuellen Release-Version von Firefox:

# pkg install firefox

Um stattdessen die Extended Support Release (ESR) Version zu installieren, benutzen Sie:

# pkg install firefox-esr

Lokalisierte Versionen finden Sie in www/firefox-i18n und www/firefox-esr-i18n.

Alternativ kann auch die Ports-Sammlung verwendet werden, um die gewünschte Version von Firefox aus dem Quellcode zu installieren. Dieses Beispiel baut www/firefox, wobei sich firefox durch die ESR oder die lokalisierte Version ersetzen lässt.

# cd /usr/ports/www/firefox
# make install clean

7.2.1.1. Firefox und das Java™-Plugin

Die Installation von Firefox enthält keine Unterstützung für Java™. java/icedtea-web stellt ein freies Webbrowser-Plugin für die Ausführung von Java-Applets zur Verfügung. Dieses Plugin kann als Paket, oder wie in diesem Beispiel, über die Ports-Sammlung installiert werden:

# cd /usr/ports/java/icedtea-web
# make install clean

Verwenden Sie die Standardoptionen beim Übersetzen des Ports.

Starten Sie nun Firefox. Geben Sie in der Adresszeile about:plugins ein und bestätigen Sie die Eingabe mit Enter. Dadurch wird eine Seite geöffnet, die alle installierten Plugins auflistet. In dieser Liste sollte sich auch das Java-Plugin befinden.

Wird das Plugin nicht gefunden, muss für jeden Benutzer der folgende Befehl ausgeführt werden:

% ln -s /usr/local/lib/IcedTeaPlugin.so \
  $HOME/.mozilla/plugins/

7.2.1.2. Firefox und das Adobe® Flash®-Plugin

Ein natives Adobe® Flash®-Plugin ist für FreeBSD nicht verfügbar. Es existiert jedoch ein Software-Layer (Wrapper), der es erlaubt die Linux®-Version des Plugins unter FreeBSD einzusetzen. Dieser Wrapper bietet auch Unterstützung für weitere Webbrowser-Plugins wie zum Beispiel RealPlayer®.

Führen Sie die folgenden Schritte aus, um das Plugin zu installieren und zu aktivieren:

  1. Installieren Sie den Port www/nspluginwrapper. Aus lizenzrechtlichen Gründen ist ein Paket nicht verfügbar. Dieser Port benötigt emulators/linux_base-c6.

  2. Installieren Sie den Port www/linux-c6-flashplugin11. Aus lizenzrechtlichen Gründen ist ein Paket nicht verfügbar.

  3. Bevor das Plugin verwendet werden kann, muss der Benutzer zunächst das folgende Kommando aufrufen:

    % nspluginwrapper -v -a -i

    Nach einem Update von Flash® muss der Benutzer folgendes eingeben:

    % nspluginwrapper -v -a -u

    Starten Sie den Browser und geben Sie in der Adresszeile about:plugins ein. Diese Eingabe muss mit Enter bestätigt werden. Dadurch wird eine Seite geladen, die alle installierten Plugins auflistet.

7.2.1.3. Firefox und das Swfdec Flash®-Plugin

Swfdec ist die Bibliothek zum Dekodieren und Rendern von Flash® Animationen. Swfdec-Mozilla ist ein Plugin für Firefox-Browser, welches die Swfdec-Bibliothek zum Abspielen von SWF-Dateien benutzt.

Um das Paket zu installieren:

# pkg install swfdec-plugin

Wenn das Paket nicht verfügbar ist, kann es auch über die Ports-Sammlung gebaut und installiert werden:

# cd /usr/ports/www/swfdec-plugin
# make install clean

Starten Sie den Browser neu, damit das Plugin aktiviert wird.

7.2.2. Opera

Opera ist ein vollwertiger und standardkonformer Browser, der zudem relativ klein und schnell ist. Es enthält einen eingebauten E-Mail- und Newsreader, einen IRC-Client, einen RSS/Atom-Feeds-Reader, sowie weitere Programme. Opera ist als native Version für FreeBSD, oder als Linux®-Version verfügbar.

Der folgende Befehl installiert die FreeBSD-Version von Opera. Ersetzen Sie opera durch linux-opera, wenn Sie stattdessen die Linux®-Version installieren wollen.

# pkg install opera

Alternativ können Sie beide Versionen über die Ports-Sammlung installieren. Dieses Beispiel übersetzt die native Version:

# cd /usr/ports/www/opera
# make install clean

Wenn Sie die Linux®-Version des Browsers verwenden wollen, ersetzen Sie opera durch linux-opera.

Um Adobe® Flash®-Plugin Unterstützung zu installieren, übersetzten Sie zunächst den Port www/linux-c6-flashplugin11. Ein Paket ist aus lizenzrechtlichen Gründen nicht verfügbar. Installieren Sie anschließend www/opera-linuxplugins. Dieses Beispiel übersetzt beides aus der Ports-Sammlung:

# cd /usr/ports/www/linux-c6-flashplugin11
# make install clean
# cd /usr/ports/www/opera-linuxplugins
# make install clean

Um die Existenz des Plugins zu überprüfen, starten Sie den Browser und geben Sie in der Adresszeile about:plugins ein. Diese Eingabe muss mit Enter bestätigt werden. Dadurch wird eine Seite geladen, die alle installierten Plugins auflistet.

Um das Java-Plugin zu installieren, folgen Sie den Anweisungen in Abschnitt 7.2.1.1, „Firefox und das Java™-Plugin“.

7.2.3. Konqueror

Konqueror ist mehr als nur ein Webbrowser, da es ebenfalls Dateimanager und Multimedia-Betrachter ist. Es ist als Paket oder Port x11/kde4-baseapps verfügbar.

Konqueror unterstützt sowohl WebKit als auch sein eigenes KHTML. WebKit wird von vielen modernen Browsern verwendet, einschließlich Chromium. Um WebKit mit Konqueror unter FreeBSD zu verwenden, installieren Sie das Paket oder den Port www/kwebkitpart. Dieses Beispiel übersetzt den Port:

# cd /usr/ports/www/kwebkitpart
# make install clean

Um WebKit in Konqueror zu aktivieren, klicken Sie auf Settings, Configure Konqueror. Klicken Sie auf der Seite General das Dropdown-Menü neben Default web browser engine und ändern Sie KHTML auf WebKit.

Konqueror kann auch Flash®-Seiten darstellen. Wie Sie die Flash®-Unterstützung aktivieren, können Sie unter http://freebsd.kde.org/howtos/konqueror-flash.php nachlesen.

7.2.4. Chromium

Chromium ist ein quelloffenes Browserprojekt mit dem Ziel ein sicheres, schnelleres und stabileres Surferlebnis im Web zu ermöglichen. Chromium ermöglicht surfen mit Tabs, Blockieren von Pop-Ups, Erweiterungen und vieles mehr. Chromium ist das Open Source Projekt, welches auf dem Google Chrome Webbrowser basiert.

Chromium kann als Paket durch die Eingabe des folgenden Befehls installiert werden:

# pkg install chromium

Als Alternative kann Chromium aus dem Quellcode durch die Ports Collection übersetzt werden:

# cd /usr/ports/www/chromium
# make install clean

Anmerkung:

Die ausführbare Datei für Chromium ist /usr/local/bin/chrome und nicht /usr/local/bin/chromium.

7.2.4.1. Chromium und das Java™-Plug-In

Die Installation von Chromium enthält keine Unterstützung für Java™. Um Unterstützung für das Java™-Plugin zu installieren, folgen Sie den Anweisungen in Abschnitt 7.2.1.1, „Firefox und das Java™-Plugin“.

Sobald Unterstützung für Java™ installiert ist, starten Sie Chromium und geben Sie about:plugins in die Adresszeile ein. IcedTea-Web sollte dort als eines der installierten Plugins aufgelistet sein.

Falls Chromium das IcedTea-Web Plugin nicht anzeigt, geben Sie das folgende Kommando ein und starten Sie den Webbrowser anschließend neu:

# mkdir -p /usr/local/share/chromium/plugins
# ln -s /usr/local/lib/IcedTeaPlugin.so \
   /usr/local/share/chromium/plugins/

7.2.4.2. Chromium und das Adobe® Flash®-Plugin

Die Konfiguration von Chromium und Adobe® Flash® ist ähnlich zur Anleitung in Abschnitt 7.2.1.2, „Firefox und das Adobe® Flash®-Plugin“. Es sollte keine weitere Konfiguration notwendig sein, da Chromium in der Lage ist, einige Plugins von anderen Browsern zu benutzen.

7.3. Büroanwendungen

Neue Benutzer suchen oft ein komplettes Office-Paket oder eine leicht zu bedienende Textverarbeitung. Einige graphische Oberflächen wie KDE enthalten zwar ein Office-Paket, diese werden unter FreeBSD jedoch nicht standardmäßig installiert. Unabhängig von der installierten graphischen Oberfläche können diverse Office-Pakete jederzeit installiert werden.

Dieser Abschnitt demonstriert, wie die folgenden gängigen Büroanwendungen installiert werden, sowie den Ressourcenbedarf, den Installationsaufwand beim Übersetzen des Ports, oder ob die Anwendung wichtige Abhängigkeiten benötigt.

AnwendungRessourcenbedarfInstallationsaufwand aus den Portswichtige Abhängigkeiten
CalligraniedrighochKDE
AbiWordniedrigniedrigGtk+ oder GNOME
The GimpniedrighochGtk+
Apache OpenOfficehochenormJDK und Mozilla
LibreOfficeetwas hochenormGtk+, KDE/ GNOME oder JDK

7.3.1. Calligra

Die KDE-Gemeinschaft stellt ein Office-Paket bereit, das auch separat von KDE eingesetzt werden kann. Calligra umfasst Standardkomponenten, die auch in anderen Office-Paketen enthalten sind. Words ist die Textverarbeitung, Sheets die Tabellenkalkulation, mit Stage werden Präsentationen erstellt und Karbon ist ein Zeichenprogramm.

In FreeBSD kann editors/calligra als Paket oder Port installiert werden. Um das Paket zu installieren, geben Sie folgendes ein:

# pkg install calligra

Wenn das Paket nicht verfügbar ist, benutzen Sie stattdessen die Ports-Sammlung:

# cd /usr/ports/editors/calligra
# make install clean

7.3.2. AbiWord

AbiWord ist eine freie Textverarbeitung, die dem Erscheinungsbild von Microsoft® Word ähnlich ist. Das Programm ist schnell, besitzt viele Funktionen und ist benutzerfreundlich.

AbiWord kann viele Dateiformate importieren oder exportieren, unter anderem auch propietäre wie Microsoft® .rtf.

Das AbiWord-Paket installieren Sie wie folgt:

# pkg install abiword

Sollte das Paket nicht zur Verfügung stehen, kann es über die Ports-Sammlung installiert werden:

# cd /usr/ports/editors/abiword
# make install clean

7.3.3. The GIMP

The GIMP ist ein ausgereiftes Bildverarbeitungsprogramm mit dem Bilder erstellt oder retuschiert werden können. Es kann sowohl als einfaches Zeichenprogramm oder zum retuschieren von Fotografien benutzt werden. Das Programm besitzt eine eingebaute Skriptsprache und es existieren sehr viele Plugins. The GIMP kann zahlreiche Formate lesen und speichern und stellt Schnittstellen zu Scannern und Tablets zur Verfügung.

Um das Paket zu installieren, geben Sie ein:

# pkg install gimp

Benutzen Sie alternativ die Ports-Sammlung:

# cd /usr/ports/graphics/gimp
# make install clean

Die Kategorie graphics (freebsd.org/ports/graphics.html) der Ports-Sammlung enthält für The Gimp verschiedene Plugins, Hilfedateien und Handbücher.

7.3.4. Apache OpenOffice

Apache OpenOffice ist eine Open Source Büroanwendung, die unter Leitung der Apache Software Foundation weiterentwickelt wird. Es enthält die typischen Anwendungen eines Office-Pakets: Textverarbeitung, Tabellenkalkulation, Präsentation und ein Zeichenprogramm. Die Bedienung gleicht anderen Office-Paketen und das Programm kann zahlreiche Dateiformate importieren und exportieren. Es gibt lokalisierte Versionen mit angepassten Menüs, Rechtschreibkontrollen und Wörterbüchern.

Die Textverarbeitung von Apache OpenOffice speichert Dateien im XML-Format. Dadurch wird die Verwendbarkeit der Dateien auf anderen Systemen erhöht und die Handhabung der Daten vereinfacht. Die Tabellenkalkulation besitzt eine Makrosprache und eine Schnittstelle zu Datenbanken. Apache OpenOffice läuft stabil auf Windows®, Solaris™, Linux®, FreeBSD und Mac OS® X. Weitere Informationen über Apache OpenOffice finden Sie auf openoffice.org. Spezifische Informationen für FreeBSD finden Sie auf porting.openoffice.org/freebsd/.

Apache OpenOffice installieren Sie wie folgt:

# pkg install apache-openoffice

Nachdem das Paket installiert ist, geben Sie folgenden ein, um Apache OpenOffice zu starten:

% openoffice-X.Y.Z

wobei X.Y.Z die Versionsnummer von Apache OpenOffice darstellt. Nach dem ersten Start werden einige Fragen gestellt. Außerdem wird im Heimatverzeichnis des Benutzers ein Verzeichnis .openoffice.org angelegt.

Falls das gewünschte Apache OpenOffice-Paket nicht verfügbar ist, kann immer noch der Port übersetzt werden. Es erfordert jedoch eine Menge Plattenplatz und ziemlich viel Zeit um die Quellen zu übersetzten.

# cd /usr/ports/editors/openoffice-4
# make install clean

Anmerkung:

Um eine lokalisierte Version zu bauen, ersetzen Sie den letzten Befehl durch:

# make LOCALIZED_LANG=Ihre_Sprache install clean

Ersetzen Sie Ihre_Sprache durch den korrekten ISO-Code. Eine Liste der unterstützten Codes steht in files/Makefile.localized, die sich im Portsverzeichnis befindet.

7.3.5. LibreOffice

LibreOffice ist ein frei verfügbares Office-Paket, welches von documentfoundation.org entwickelt wird. Es mit anderen großen Office-Paketen kompatibel und für eine Vielzahl von Plattformen erhältlich. Es ist ein Fork von Apache OpenOffice unter neuem Namen, das alle Anwendungen in einem kompletten Office-Paket enthält: Textverarbeitung, Tabellenkalkulation, Präsentationsmanager, Zeichenprogramm, Datenbankmanagementprogramm und ein Werkzeug zum Erstellen und Bearbeiten von mathematischen Formeln. Das Programm steht in verschiedenen Sprachen zur Verfügung, und die Internationalisierung wurde auf die Oberfläche, Rechtschreibkorrektur und die Wörterbücher ausgeweitet.

Das Textverarbeitungsprogramm von LibreOffice benutzt ein natives XML-Dateiformat für erhöhte Portabilität und Flexibilität. Die Tabellenkalkulation enthält eine Makrosprache und kann mit externen Datenbanken Verbindungen herstellen. LibreOffice ist stabil und läuft nativ auf Windows®, Linux®, FreeBSD und Mac OS® X. Weitere Informationen zu LibreOffice finden Sie unter libreoffice.org.

Um die englische Version von LibreOffice als Paket zu installieren, geben Sie folgenden Befehl ein:

# pkg install libreoffice

Die Kategorie editors ( freebsd.org/ports/editors.html) der Ports-Sammlung enthält viele Lokalisierungen für LibreOffice. Wenn Sie ein lokalisiertes Paket installieren, ersetzen Sie libreoffice durch den Namen des lokalisierten Pakets.

Wenn das Paket installiert ist, geben Sie folgendes Kommando ein, um LibreOffice zu starten:

% libreoffice

Während des ersten Starts werden einige Fragen gestellt. Außerdem wird im Heimatverzeichinis des Benutzers ein Verzeichnis .libreoffice angelegt.

Falls das gewünschte LibreOffice-Paket nicht verfügbar ist, kann immer noch der Port übersetzt werden. Es erfordert jedoch eine Menge Plattenplatz und ziemlich viel Zeit um die Quellen zu übersetzten. Dieses Beispiel übersetzt die englische Version:

# cd /usr/ports/editors/libreoffice
# make install clean

Anmerkung:

Um eine lokalisierte Version zu bauen, wechseln Sie mit cd in das Portverzeichnis der gewünschten Sprache. Unterstützte Sprachen finden Sie in der Kategorie editors ( freebsd.org/ports/editors.html) der Ports-Sammlung.

7.4. Anzeigen von Dokumenten

Einige neuere Dokumentformate, die sich aktuell großer Beliebtheit erfreuen, können Sie sich mit den im Basissystem enthaltenen Programmen möglicherweise nicht ansehen. Dieser Abschnitt zeigt, wie Sie die folgenden Dokumentbetrachter installieren können:

Die nachstehenden Anwendungen werden behandelt:

AnwendungRessourcenbedarfInstallationsaufwand aus den Portswichtige Abhängigkeiten
XpdfniedrigniedrigFreeType
gvniedrigniedrigXaw3d
GeeqieniedrigniedrigGtk+ oder GNOME
ePDFViewniedrigniedrigGtk+
OkularniedrighochKDE

7.4.1. Xpdf

Für Benutzer, die einen schnellen PDF-Betrachter bevorzugen, bietet Xpdf eine schlanke und effiziente Alternative, die wenig Ressourcen benötigt. Da das Programm die Standard X-Zeichensätze benutzt, ist es nicht auf andere Toolkits angewiesen.

Um das Xpdf-Paket zu installieren, geben Sie folgendes ein:

# pkg install xpdf

Wenn das Paket nicht verfügbar ist, benutzen Sie die Ports-Sammlung:

# cd /usr/ports/graphics/xpdf
# make install clean

Starten Sie nach der Installation xpdf und aktivieren Sie das Menü mit der rechten Maustaste.

7.4.2. gv

gv kann PostScript®- und PDF-Dokumente anzeigen. Es stammt von ghostview ab, hat aber wegen der Xaw3d-Bibliothek eine schönere Benutzeroberfläche. gv besitzt viele konfigurierbare Funktionen, wie z. B. Ausrichtung, Papiergröße, Skalierung und Kantenglättung (Anti-Aliasing). Fast jede Operation kann sowohl mit der Tastatur als auch mit der Maus durchgeführt werden.

Installieren Sie das gv-Paket wie folgt:

# pkg install gv

Benutzen Sie die Ports-Sammlung, wenn das Paket nicht zur Verfügung steht:

# cd /usr/ports/print/gv
# make install clean

7.4.3. Geeqie

Geeqie ist ein Fork des nicht mehr betreuten GQview Projekts, mit dem Ziel die Entwicklung weiter voranzutreiben und bestehende Fehlerkorrekturen zu integrieren. Mit Geeqie lassen sich Bilder verwalten. Es kann unter anderem Bilder anzeigen, einen externen Editor starten und eine Vorschau (thumbnail) erzeugen. Zudem beherrscht Geeqie einen Diashow-Modus und einige grundlegende Dateioperationen, was die Verwaltung von Bildern und das auffinden von doppelten Dateien erleichtert. Geeqie unterstützt Vollbild-Ansicht und Internationalisierung.

Um das Geeqie-Paket zu installieren, geben Sie folgendes ein:

# pkg install geeqie

Wenn das Paket nicht verfügbar ist, benutzen Sie die Ports-Sammlung:

# cd /usr/ports/graphics/geeqie
# make install clean

7.4.4. ePDFView

ePDFView ist ein leichtgewichtiger PDF-Betrachter, der nur die Gtk+- und Poppler-Bibliotheken benötigt. Es befindet sich derzeit noch in Entwicklung, kann aber bereits die meisten PDF-Dateien (auch verschlüsselte) öffnen, speichern und über CUPS drucken.

Um das Paket ePDFView zu installieren, geben Sie folgendes ein:

# pkg install epdfview

Benutzen Sie die Ports-Sammlung, falls das Paket nicht verfügbar ist:

# cd /usr/ports/graphics/epdfview
# make install clean

7.4.5. Okular

Okular ist ein universeller Dokumentbetrachter der auf KPDF für KDE basiert. Es kann die meisten Formate öffnen, einschließlich PDF, PostScript®, DjVu, CHM, XPS und ePub.

Um das Paket Okular zu installieren, geben Sie folgendes ein:

# pkg install okular

Benutzen Sie die Ports-Sammlung, falls das Paket nicht verfügbar ist:

# cd /usr/ports/graphics/okular
# make install clean

7.5. Finanzsoftware

Zur Verwaltung der persönlichen Finanzen können einige leistungsfähige und einfach zu bedienende Anwendungen installiert werden. Einige von ihnen unterstützen verbreitete Formate, darunter Dateiformate, die von Quicken und Excel verwendet werden.

Dieser Abschnitt behandelt die folgenden Anwendungen:

AnwendungRessourcenbedarfInstallationsaufwand aus den Portswichtige Abhängigkeiten
GnuCashniedrighochGNOME
GnumericniedrighochGNOME
KMyMoneyniedrighochKDE

7.5.1. GnuCash

GnuCash ist Teil des GNOME-Projekts, mit dem Ziel, leicht zu bedienende und leistungsfähige Anwendungen bereitzustellen. Mit GnuCash können Einnahmen und Ausgaben, Bankkonten und Wertpapiere verwaltet werden. Das Programm ist leicht zu bedienen und genügt dennoch hohen Ansprüchen.

GnuCash stellt ein Register, ähnlich dem in einem Scheckheft und ein hierarchisches System von Konten zur Verfügung. Eine Transaktion kann in einzelne Teile aufgespaltet werden. GnuCash kann Quicken-Dateien (QIF) importieren und einbinden. Weiterhin unterstützt das Programm die meisten internationalen Formate für Zeitangaben und Währungen. Die Bedienung des Programms kann durch zahlreiche Tastenkombinationen und dem automatischen Vervollständigen von Eingaben beschleunigt werden.

Das GnuCash-Paket installieren Sie wie folgt:

# pkg install gnucash

Wenn das Paket nicht zur Verfügung steht, benutzen Sie die Ports-Sammlung:

# cd /usr/ports/finance/gnucash
# make install clean

7.5.2. Gnumeric

Gnumeric ist eine Tabellenkalkulation, die von der GNOME-Gemeinschaft entwickelt wird. Das Programm kann Eingaben anhand des Zellenformats oder einer Folge von Eingaben vervollständigen. Dateien verbreiteter Formate, wie die von Excel, Lotus 1-2-3 oder Quattro Pro lassen sich importieren. Es besitzt viele eingebaute Funktionen und Zellenformate, darunter die üblichen wie Zahl, Währung, Datum, Zeit, und viele weitere.

Installieren Sie das Gnumeric-Paket mit folgendem Kommando:

# pkg install gnumeric

Wenn das Paket nicht zur Verfügung steht, benutzen Sie die Ports-Sammlung:

# cd /usr/ports/math/gnumeric
# make install clean

7.5.3. KMyMoney

KMyMoney ist ein Programm zur Verwaltung der persönlichen Finanzen, das von der KDE-Gemeinschaft entwickelt wird. KMyMoney hat das Ziel, wichtige Funktionen zu bieten, die auch von kommerziellen Programmen zur Verwaltung der persönlichen Finanzen unterstützt werden. Zudem zählen eine einfache Bedienung sowie korrekte doppelte Buchführung zu den herausragenden Fähigkeiten dieses Programms. KMyMoney unterstützt den Import von Datendateien im Format Quicken (QIF), kann Investionen verfolgen, unterstützt verschiedene Währungen und bietet umfangreiche Reportmöglichkeiten.

Um das Paket KMyMoney zu installieren, geben Sie folgendes ein:

# pkg install kmymoney-kde4

Sollte das Paket nicht verfügbar sein, benutzen Sie die Ports-Sammlung:

# cd /usr/ports/finance/kmymoney2-kde4
# make install clean

Kapitel 8. Multimedia

Überarbeitet von Ross Lippert.

8.1. Übersicht

FreeBSD unterstützt viele unterschiedliche Soundkarten, die Benutzern den Genuss von Highfidelity-Klängen auf dem Computer ermöglichen. Dazu gehört unter anderem die Möglichkeit, Tonquellen in den Formaten MPEG Audio Layer 3 (MP3), Waveform Audio File (WAV), Ogg Vorbis und vielen weiteren Formaten aufzunehmen und wiederzugeben. Darüber hinaus enthält die FreeBSD Ports-Sammlung Anwendungen, die das Bearbeiten von aufgenommenen Tonspuren, das Hinzufügen von Klangeffekten und die Kontrolle der angeschlossenen MIDI-Geräte erlauben.

FreeBSD unterstützt auch die Wiedergabe von Videos und DVDs. Die FreeBSD Ports-Sammlung enthält Anwendungen, um verschiedene Video-Medien wiederzugeben, zu kodieren und zu konvertieren.

Dieses Kapitel beschreibt die Einrichtung von Soundkarten, Video-Wiedergabe, TV-Tuner Karten und Scannern unter FreeBSD. Es werden auch einige Anwendungen beschrieben, die für die Verwendung dieser Geräte zur Verfügung stehen.

Dieses Kapitel behandelt die folgenden Punkte:

  • Konfiguration einer Soundkarte in FreeBSD.

  • Fehlersuche bei Sound Einstellungen.

  • Wiedergabe und Kodierung von MP3s und anderen Audio-Formaten.

  • Vorbereitung des Systems für die Wiedergabe von Videos.

  • Wiedergabe von DVDs, .mpg- und .avi-Dateien.

  • Rippen von CDs und DVDs.

  • Konfiguration von TV-Karten.

  • Installation und Konfiguration von MythTV.

Bevor Sie dieses Kapitel lesen, sollten Sie:

8.2. Soundkarten einrichten

Von Moses Moore.
Aktualisiert von Marc Fonvieille.
Übersetzt von Benedikt Köhler und Uwe Pierau.

Bevor Sie die Konfiguration beginnen, sollten Sie in Erfahrung bringen welches Soundkartenmodell und welcher Chip benutzt wird. FreeBSD unterstützt eine Reihe Soundkarten. Die Hardware-Notes zählen alle unterstützten Karten und deren Treiber für FreeBSD auf.

Um die Soundkarte benutzen zu können, muss der richtige Gerätetreiber geladen werden. Am einfachsten ist es, das Kernelmodul für die Soundkarte mit kldload(8) zu laden. Dieses Beispiel lädt den Treiber für einen integrierten Chipsatz, basierend auf der Intel Spezifikation:

# kldload snd_hda

Um den Treiber automatisch beim Systemstart zu laden, fügen Sie folgende Zeile in /boot/loader.conf ein:

snd_hda_load="YES"

Weitere ladbare Soundmodule sind in /boot/defaults/loader.conf aufgeführt. Wenn Sie nicht sicher sind, welchen Gerätetreiber Sie laden müssen, laden Sie das Modul snd_driver:

# kldload snd_driver

Der Treiber snd_driver ist ein Meta-Treiber, der alle gebräuchlichen Treiber lädt und die Suche nach dem richtigen Treiber vereinfacht. Durch Hinzufügen des Meta-Treibers in /boot/loader.conf können alternativ alle Audio-Treiber geladen werden.

Um zu ermitteln, welcher Treiber für die Soundkarte vom Metatreiber snd_driver geladen wurde, geben Sie cat /dev/sndstat ein.

8.2.1. Soundkarten in der Kernelkonfiguration einrichten

Die Unterstützung für die Soundkarte kann auch direkt in den Kernel kompiliert werden. Weitere Informationen über den Bau eines Kernels finden Sie im Kapitel 9, Konfiguration des FreeBSD-Kernels.

Bei der Verwendung eines eigenen Kernels müssen Sie sicherstellen, dass der Treiber für das Audio-Framework in der Kernelkonfigurationsdatei vorhanden ist:

device sound

Als Nächstes muss die Unterstützung für die Soundkarte hinzugefügt werden. Um das Beispiel mit dem integrierten Intel Audio-Chipsatz aus dem vorherigen Abschnitt fortzusetzen, verwenden Sie die folgende Zeile in der Kernelkonfigurationsdatei:

device snd_hda

Lesen Sie die Manualpage des Treibers, um den entsprechenden Gerätenamen herauszufinden.

Nicht PnP-fähige ISA-Soundkarten benötigen eventuell Einstellungen, wie IRQ und I/O-Port in /boot/device.hints. Während des Systemstarts liest der loader(8) diese Datei und reicht die Einstellungen an den Kernel weiter. Für eine alte Creative SoundBlaster® 16 ISA-Karte, die sowohl den snd_sbc(4)- als auch den snd_sb16-Treiber benötigt, müssen die folgenden Zeilen in die Kernelkonfigurationsdatei eingetragen werden:

device snd_sbc
device snd_sb16

Wenn die Karte den I/O-Port 0x220 und IRQ 5 benutzt, müssen folgende Zeilen zusätzlich in /boot/device.hints hinzugefügt werden:

hint.sbc.0.at="isa"
hint.sbc.0.port="0x220"
hint.sbc.0.irq="5"
hint.sbc.0.drq="1"
hint.sbc.0.flags="0x15"

Die Syntax für /boot/device.hints wird in sound(4), sowie in der Manualpage des jeweiligen Treibers beschrieben.

Das Beispiel verwendet die vorgegebenen Werte. Falls die Karteneinstellungen andere Werte vorgeben, müssen die Werte in der Kernelkonfiguration angepasst werden. Weitere Informationen zu dieser Soundkarte finden Sie in snd_sbc(4).

8.2.2. Die Soundkarte testen

Nachdem Sie den neuen Kernel gestartet oder das erforderliche Modul geladen haben, sollte die Soundkarte erkannt werden. Führen Sie dmesg | grep pcm aus, um dies zu überprüfen. Diese Ausgabe stammt von einem System mit einem integrierten Conexant CX20590 Chipsatz:

pcm0: <NVIDIA (0x001c) (HDMI/DP 8ch)> at nid 5 on hdaa0
pcm1: <NVIDIA (0x001c) (HDMI/DP 8ch)> at nid 6 on hdaa0
pcm2: <Conexant CX20590 (Analog 2.0+HP/2.0)> at nid 31,25 and 35,27 on hdaa1

Der Status der Karte kann auch mit diesem Kommando geprüft werden:

# cat /dev/sndstat
FreeBSD Audio Driver (newpcm: 64bit 2009061500/amd64)
Installed devices:
pcm0: <NVIDIA (0x001c) (HDMI/DP 8ch)> (play)
pcm1: <NVIDIA (0x001c) (HDMI/DP 8ch)> (play)
pcm2: <Conexant CX20590 (Analog 2.0+HP/2.0)> (play/rec) default

Die Ausgabe kann für jede Soundkarte anders aussehen. Wenn das Gerät pcm nicht erscheint, prüfen Sie die Kernelkonfigurationsdatei und stellen Sie sicher, dass der richtige Treiber geladen oder in den Kernel kompiliert wurde. Im nächsten Abschnitt werden häufig auftretende Probleme sowie deren Lösungen besprochen.

Wenn alles glatt lief, sollte die Soundkarte jetzt unter FreeBSD funktionieren. Wenn ein CD- oder DVD-Laufwerk an die Soundkarte angeschlossen ist, können Sie jetzt mit cdcontrol(1) eine CD abspielen:

% cdcontrol -f /dev/acd0 play 1

Warnung:

Audio CDs besitzen eine spezielle Kodierung. Daher sollten sie nicht mit mount(8) in das Dateisystem eingehangen werden.

Es gibt viele Anwendungen, wie audio/workman, die eine bessere Benutzerschnittstelle besitzen. Zur Wiedergabe von MP3-Audiodateien kann audio/mpg123 installiert werden.

Eine weitere schnelle Möglichkeit die Karte zu prüfen, ist es, Daten an das Gerät /dev/dsp zu senden:

% cat Datei > /dev/dsp

Für Datei kann eine beliebige Datei verwendet werden. Wenn Sie einige Geräusche hören, funktioniert die Soundkarte.

Anmerkung:

Die Gerätedateien /dev/dsp* werden automatisch erzeugt, wenn sie das erste Mal benötigt werden. Werden sie nicht verwendet, sind sie hingegen nicht vorhanden und tauchen daher auch nicht in der Ausgabe von ls(1) auf.

8.2.3. Fehlerbehebung

Die folgende Tabelle zeigt typische Fehlermeldungen sowie deren Lösungen:

Tabelle 8.1. Typische Fehlermeldungen
FehlerLösung
sb_dspwr(XX) timed out

Der I/O Port ist nicht korrekt angegeben.

bad irq XX

Der IRQ ist falsch angegeben. Stellen Sie sicher, dass der angegebene IRQ mit dem Sound IRQ übereinstimmt.

xxx: gus pcm not attached, out of memory

Es ist nicht genug Speicher verfügbar, um das Gerät zu betreiben.

xxx: can't open /dev/dsp!

Überprüfen Sie mit fstat | grep dsp ob eine andere Anwendung das Gerät geöffnet hat. Häufige Störenfriede sind esound oder die Sound-Unterstützung von KDE.


Moderne Grafikkarten beinhalten oft auch ihre eigenen Soundtreiber, um HDMI zu verwenden. Diese Audiogeräte werden manchmal vor der eigentlichen, separaten Soundkarte aufgeführt und dadurch nicht als das Standardgerät zum Abspielen von Tönen benutzt. Um zu prüfen, ob das der Fall ist, führen Sie dmesg aus und suchen Sie nach der Zeichenfolge pcm. Die Ausgabe sieht in etwa so aus:

...
hdac0: HDA Driver Revision: 20100226_0142
hdac1: HDA Driver Revision: 20100226_0142
hdac0: HDA Codec #0: NVidia (Unknown)
hdac0: HDA Codec #1: NVidia (Unknown)
hdac0: HDA Codec #2: NVidia (Unknown)
hdac0: HDA Codec #3: NVidia (Unknown)
pcm0: <HDA NVidia (Unknown) PCM #0 DisplayPort> at cad 0 nid 1 on hdac0
pcm1: <HDA NVidia (Unknown) PCM #0 DisplayPort> at cad 1 nid 1 on hdac0
pcm2: <HDA NVidia (Unknown) PCM #0 DisplayPort> at cad 2 nid 1 on hdac0
pcm3: <HDA NVidia (Unknown) PCM #0 DisplayPort> at cad 3 nid 1 on hdac0
hdac1: HDA Codec #2: Realtek ALC889
pcm4: <HDA Realtek ALC889 PCM #0 Analog> at cad 2 nid 1 on hdac1
pcm5: <HDA Realtek ALC889 PCM #1 Analog> at cad 2 nid 1 on hdac1
pcm6: <HDA Realtek ALC889 PCM #2 Digital> at cad 2 nid 1 on hdac1
pcm7: <HDA Realtek ALC889 PCM #3 Digital> at cad 2 nid 1 on hdac1
...

In diesem Beispiel wurde die Grafikkarte (NVidia) vor der Soundkarte (Realtek ALC889) aufgeführt. Um die Soundkarte als Standardabspielgerät einzusetzen, ändern Sie hw.snd.default_unit auf die Einheit, welche für das Abspielen benutzt werden soll:

# sysctl hw.snd.default_unit=n

Hier repräsentiert n die Nummer der Soundkarte, die verwendet werden soll, in diesem Beispiel also 4. Sie können diese Änderung dauerhaft machen, indem Sie die folgende Zeile zu /etc/sysctl.conf hinzufügen:

hw.snd.default_unit=4

8.2.4. Mehrere Tonquellen abspielen

Beigetragen von Munish Chopra.

Oft sollen mehrere Tonquellen gleichzeitig abgespielt werden. FreeBSD verwendet dazu virtuelle Tonkanäle. Virtuelle Kanäle mischen die Tonquellen im Kernel, sodass mehrere Kanäle benutzt werden können, als von der Hardware unterstützt werden.

Drei sysctl(8) Optionen stehen zur Konfiguration der virtuellen Kanäle zur Verfügung:

# sysctl dev.pcm.0.play.vchans=4
# sysctl dev.pcm.0.rec.vchans=4
# sysctl hw.snd.maxautovchans=4

Im Beispiel werden vier virtuelle Kanäle eingerichtet, eine im Normalfall ausreichende Anzahl. Sowohl dev.pcm.0.play.vchans=4 und dev.pcm.0.rec.vchans=4 sind die Anzahl der virtuellen Kanäle des Geräts pcm0, die fürs Abspielen und Aufnehmen verwendet werden und sie können konfiguriert werden, sobald das Gerät existiert. Da das Modul pcm unabhängig von den Hardware-Treibern geladen werden kann, gibt hw.snd.maxautovchans die Anzahl der virtuellen Kanäle an, die später eingerichtete Audiogeräte erhalten. Lesen Sie pcm(4) für weitere Informationen.

Anmerkung:

Die Anzahl der virtuellen Kanäle kann nicht geändert werden, solange das Gerät genutzt wird. Schließen Sie daher zuerst alle Programme wie Musikabspielprogramme oder Sound-Daemonen, die auf dieses Gerät zugreifen.

Die korrekte pcm-Gerätedatei wird automatisch zugeteilt, wenn ein Programm das Gerät /dev/dsp0 anfordert.

8.2.5. Den Mixer einstellen

Beigetragen von Josef El-Rayes.

Die Voreinstellungen des Mixers sind im Treiber pcm(4) fest kodiert. Es gibt zwar viele Anwendungen und Dienste, die den Mixer einstellen können und die eingestellten Werte bei jedem Start wieder setzen, am einfachsten ist es allerdings, die Standardwerte für den Mixer direkt im Treiber einzustellen. Der Mixer kann mit den entsprechenden Werten in /boot/device.hints eingestellt werden:

hint.pcm.0.vol="50"

Die Zeile setzt die Lautstärke des Mixers beim Laden des Moduls pcm(4) auf den Wert 50.

8.3. MP3-Audio

Ein Beitrag von Chern Lee.
Übersetzt von Benedikt Köhler.

Dieser Abschnitt beschreibt einige unter FreeBSD verfügbare MP3-Player. Zudem wird beschrieben, wie Audio-CDs gerippt und MP3s kodiert und dekodiert werden.

8.3.1. MP3-Player

XMMS ist ein beliebter graphischer MP3-Player. WinAmp-Skins können auch mit XMMS genutzt werden, da die Benutzerschnittstelle fast identisch mit der von Nullsofts WinAmp ist. Daneben unterstützt XMMS auch eigene Plugins.

XMMS kann als multimedia/xmms Port oder Paket installiert werden.

Die Benutzerschnittstelle von XMMS ist leicht zu erlernen und enthält eine Playlist, einen graphischen Equalizer und vieles mehr. Diejenigen, die mit WinAmp vertraut sind, werden XMMS sehr leicht zu benutzen finden.

Der Port audio/mpg123 ist ein alternativer, kommandozeilenorientierter MP3-Player.

mpg123 kann ausgeführt werden, indem das zu benutzende Audiogerät und die abzuspielende MP3-Datei auf der Kommandozeile angegeben wird. Wenn das Audiogerät beispielsweise /dev/dsp1.0 ist und die MP3-Datei Foobar-GreatestHits.mp3 heißt, geben Sie Folgendes ein um die Datei abzuspielen:

# mpg123 -a /dev/dsp1.0 Foobar-GreatestHits.mp3
High Performance MPEG 1.0/2.0/2.5 Audio Player for Layer 1, 2 and 3.
Version 0.59r (1999/Jun/15).  Written and copyrights by Michael Hipp.
Uses code from various people.  See 'README' for more!
THIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY! USE AT YOUR OWN RISK!





Playing MPEG stream from Foobar-GreatestHits.mp3 ...
MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo

8.3.2. CD-Audio Tracks rippen

Bevor eine ganze CD oder einen CD-Track in das MP3-Format umgewandelt werden kann, müssen die Audiodaten von der CD auf die Festplatte gerippt werden. Dabei werden die CDDA (CD Digital Audio) Rohdaten in WAV-Dateien kopiert.

Die Anwendung cdda2wav, die im sysutils/cdrtools Paket enthalten ist, kann zum Rippen der Audiodaten und anderen Informationen von CDs genutzt werden.

Wenn die Audio CD in dem Laufwerk liegt, kann der folgende Befehl als root ausgeführt werden, um eine ganze CD in einzelne WAV-Dateien (eine Datei für jeden Track) zu rippen:

# cdda2wav -D 0,1,0 -B

Der Schalter -D 0,1,0 bezieht sich auf das SCSI-Gerät 0,1,0, das sich aus dem Ergebnis des Befehls cdrecord -scanbus ergibt.

cdda2wav unterstützt auch ATAPI (IDE) CD-ROM-Laufwerke. Um von einem IDE-Laufwerk zu rippen, übergeben Sie auf der Kommandozeile statt der SCSI-IDs den Gerätenamen. Das folgende Kommando rippt den 7. Track:

# cdda2wav -D /dev/acd0 -t 7

Um einzelne Tracks zu rippen, benutzen Sie -t wie folgt:

# cdda2wav -D 0,1,0 -t 7

Dieses Beispiel rippt den siebten Track der Audio CD-ROM. Um mehrere Tracks zu rippen, zum Beispiel die Tracks eins bis sieben, können Sie wie folgt einen Bereich angeben:

# cdda2wav -D 0,1,0 -t 1+7

Mit dd(1) können ebenfalls Audio-Stücke von ATAPI-Laufwerken kopiert werden. Dies wird im Abschnitt 18.5.5, „Kopieren von Audio-CDs“ erläutert.

8.3.3. MP3-Dateien kodieren

Lame ist ein weitverbreiteter MP3-Encoder, der als Port audio/lame installiert werden kann. Aus lizenzrechtlichen Gründen ist kein Paket verfügbar.

Der folgende Befehl konvertiert die gerippte WAV-Datei audio01.wav in audio01.mp3 um:

# lame -h -b 128 \
--tt "Foo Liedtitel" \
--ta "FooBar Künstler" \
--tl "FooBar Album" \
--ty "2001" \
--tc "Geripped und kodiert von Foo" \
--tg "Musikrichtung" \
audio01.wav audio01.mp3

128 kbits ist die gewöhnliche MP3-Bitrate. Die Bitraten 160 oder 192 kbits bieten eine höhere Qualität. Je höher die Bitrate ist, desto mehr Speicherplatz benötigt die resultierende MP3-Datei. -h verwendet den higher quality but a little slower (höhere Qualität, aber etwas langsamer) Modus. Die Schalter, die mit --t beginnen, sind ID3-Tags, die in der Regel Informationen über das Lied enthalten und in die MP3-Datei eingebettet sind. Weitere Optionen können in der Manualpage von lame nachgelesen werden.

8.3.4. MP3-Dateien dekodieren

Um aus MP3-Dateien eine Audio CD zu erstellen, müssen diese zuerst in ein nicht komprimiertes WAV-Format umgewandelt werden. Sowohl XMMS als auch mpg123 unterstützen die Ausgabe der MP3-Dateien in unkomprimierte Dateiformate.

Dekodieren mit XMMS:

  1. Starten Sie XMMS.

  2. Klicken Sie mit der rechten Maustaste, um das XMMS-Menu zu öffnen.

  3. Wählen Sie Preferences im Untermenü Options.

  4. Ändern Sie das Output-Plugin in Disk Writer Plugin.

  5. Drücken Sie Configure.

  6. Geben Sie ein Verzeichnis ein, in das Sie die unkomprimierte Datei schreiben wollen.

  7. Laden Sie die MP3-Datei wie gewohnt in XMMS mit einer Lautstärke von 100% und einem abgeschalteten EQ.

  8. Drücken Sie Play und es wird so aussehen, als spiele XMMS die MP3-Datei ab, aber keine Musik ist zu hören. Der Player überspielt die MP3-Datei in eine Datei.

  9. Vergessen Sie nicht, das Output-Plugin wieder in den Ausgangszustand zurückzusetzen um wieder MP3-Dateien anhören zu können.

Mit mpg123 nach stdout schreiben:

  • Geben Sie mpg123 -s audio01.mp3 > audio01.pcm ein.

XMMS schreibt die Datei im WAV-Format aus während mpg123 die MP3-Datei in rohe PCM-Audiodaten umwandelt. cdrecord kann mit beiden Formaten Audio-CDs erstellen. Der Dateikopf von WAV-Dateien erzeugt am Anfang des Stücks ein Knacken. Sie können den Dateikopf mit dem Werkzeug SoX, das sich als Paket oder aus dem Port audio/sox installieren lässt, entfernen:

% sox -t wav -r 44100 -s -w -c 2 track.wav track.raw

Lesen Sie Abschnitt 18.5, „Erstellen und Verwenden von CDs“, um mehr Informationen zur Benutzung von CD-Brennern mit FreeBSD zu erhalten.

8.4. Videos wiedergeben

Beigetragen von Ross Lippert.

Bevor Sie beginnen, sollten Sie das Modell und den benutzten Chip der Videokarte kennen. Obwohl Xorg viele Videokarten unterstützt, können nicht alle Karten Videos schnell genug wiedergeben. Eine Liste der Erweiterungen, die der Xorg-Server für eine Videokarte unterstützt, erhalten Sie unter laufendem Xorg mit xdpyinfo.

Halten Sie eine kurze MPEG-Datei bereit, mit der Sie Wiedergabeprogramme und deren Optionen testen können. Da einige DVD-Spieler in der Voreinstellung das DVD-Gerät mit /dev/dvd ansprechen oder diesen Namen fest einkodiert haben, ist es vielleicht hilfreich symbolische Links auf die richtigen Geräte anzulegen:

# ln -sf /dev/acd0 /dev/dvd

Aufgrund der Beschaffenheit devfs(5) gehen gesondert angelegte Links wie diese bei einem Neustart des Systems verloren. Damit die symbolischen Links automatisch beim Neustart des Systems angelegt werden, fügen Sie die folgende Zeile in /etc/devfs.conf ein:

link acd0 dvd

Das Entschlüsseln von DVDs erfordert den Aufruf bestimmter Funktionen, sowie Schreibzugriff auf das DVD-Gerät.

Xorg benutzt Shared-Memory und es wird empfohlen, die nachstehenden sysctl(8)-Variablen auf die gezeigten Werte zu erhöhen:

kern.ipc.shmmax=67108864
kern.ipc.shmall=32768

8.4.1. Video-Schnittstellen

Es gibt einige Möglichkeiten, Videos unter Xorg abzuspielen. Welche Möglichkeit funktioniert, hängt stark von der verwendeten Hardware ab.

Gebräuchliche Video-Schnittstellen sind:

  1. Xorg: normale Ausgabe über Shared-Memory.

  2. XVideo: Eine Erweiterung der Xorg-Schnittstelle, die Videos in jedem X11-Drawable anzeigen kann. Diese Erweiterung bietet auch auf leistungsschwachen Maschinen eine gute Qualität der Wiedergabe. Der nächste Abschnitt beschreibt, wie Sie feststellen, ob diese Erweiterung ausgeführt wird.

  3. SDL: Simple DirectMedia Layer ist eine portable Schnittstelle für verschiedene Betriebssysteme, mit denen Anwendungen plattformunabhängig und effizient Ton und Grafik benutzen können. SDL bietet eine hardwarenahe Schnittstelle, die manchmal schneller ist als die Xorg-Schnittstelle. Unter FreeBSD kann SDL über das Paket oder den Port devel/sdl20 installiert werden.

  4. DGA: Direct Graphics Access ist eine Xorg-Erweiterung die es Anwendungen erlaubt, am Xorg-Server vorbei direkt in den Framebuffer zu schreiben. Da die Anwendung und der Xorg-Server auf gemeinsame Speicherbereiche zugreifen, müssen die Anwendungen unter dem Benutzer root laufen. Die DGA-Erweiterung kann mit dga(1) getestet werden. Wenn DGA ausgeführt wird, ändert sich die Farbe des Bildschrims, wenn eine Taste gedrückt wird. Drücken Sie zum Beenden q.

  5. SVGAlib: Eine Schnittstelle zur Grafikausgabe auf der Konsole.

8.4.1.1. XVideo

Ob die Erweiterung läuft, entnehmen Sie der Ausgabe von xvinfo:

% xvinfo

XVideo wird untertsützt, wenn die Ausgabe in etwa wie folgt aussieht:

X-Video Extension version 2.2
screen #0
  Adaptor #0: "Savage Streams Engine"
    number of ports: 1
    port base: 43
    operations supported: PutImage
    supported visuals:
      depth 16, visualID 0x22
      depth 16, visualID 0x23
    number of attributes: 5
      "XV_COLORKEY" (range 0 to 16777215)
              client settable attribute
              client gettable attribute (current value is 2110)
      "XV_BRIGHTNESS" (range -128 to 127)
              client settable attribute
              client gettable attribute (current value is 0)
      "XV_CONTRAST" (range 0 to 255)
              client settable attribute
              client gettable attribute (current value is 128)
      "XV_SATURATION" (range 0 to 255)
              client settable attribute
              client gettable attribute (current value is 128)
      "XV_HUE" (range -180 to 180)
              client settable attribute
              client gettable attribute (current value is 0)
    maximum XvImage size: 1024 x 1024
    Number of image formats: 7
      id: 0x32595559 (YUY2)
        guid: 59555932-0000-0010-8000-00aa00389b71
        bits per pixel: 16
        number of planes: 1
        type: YUV (packed)
      id: 0x32315659 (YV12)
        guid: 59563132-0000-0010-8000-00aa00389b71
        bits per pixel: 12
        number of planes: 3
        type: YUV (planar)
      id: 0x30323449 (I420)
        guid: 49343230-0000-0010-8000-00aa00389b71
        bits per pixel: 12
        number of planes: 3
        type: YUV (planar)
      id: 0x36315652 (RV16)
        guid: 52563135-0000-0000-0000-000000000000
        bits per pixel: 16
        number of planes: 1
        type: RGB (packed)
        depth: 0
        red, green, blue masks: 0x1f, 0x3e0, 0x7c00
      id: 0x35315652 (RV15)
        guid: 52563136-0000-0000-0000-000000000000
        bits per pixel: 16
        number of planes: 1
        type: RGB (packed)
        depth: 0
        red, green, blue masks: 0x1f, 0x7e0, 0xf800
      id: 0x31313259 (Y211)
        guid: 59323131-0000-0010-8000-00aa00389b71
        bits per pixel: 6
        number of planes: 3
        type: YUV (packed)
      id: 0x0
        guid: 00000000-0000-0000-0000-000000000000
        bits per pixel: 0
        number of planes: 0
        type: RGB (packed)
        depth: 1
        red, green, blue masks: 0x0, 0x0, 0x0

Einige der aufgeführten Formate, wie YUV2 oder YUV12 existieren in machen XVideo-Implementierungen nicht. Dies kann zu Problemen mit einigen Spielern führen.

XVideo wird wahrscheinlich von der Karte nicht unterstützt, wenn die Ausgabe wie folgt aussieht:

X-Video Extension version 2.2
screen #0
no adaptors present

Wenn die XVideo-Erweiterung auf der Karte nicht läuft, wird es nur etwas schwieriger, die Anforderungen für die Wiedergabe von Videos zu erfüllen.

8.4.2. Video-Anwendungen

Dieser Abschnitt behandelt Anwendungen aus der FreeBSD-Ports-Sammlung, die für die Wiedergabe von Videos genutzt werden können.

8.4.2.1. MPlayer und MEncoder

MPlayer ist ein auf Geschwindigkeit und Flexibilität ausgelegter Video-Spieler für die Kommandozeile mit optionaler graphischer Oberfläche. Weitere graphische Oberflächen für MPlayer stehen in der FreeBSD Ports-Sammlung zur Verfügung.

MPlayer kann als Paket oder Port multimedia/mplayer installiert werden. Der Bau von MPlayer berücksichtigt die vorhandene Hardware und es können zahlreiche Optionen ausgewählt werden. Aus diesen Gründen ziehen es manche Benutzer vor, den Port zu übersetzen, anstatt das Paket zu installieren.

Die Optionen sollten beim Bau des Ports überprüft werden, um dem Umfang der Unterstützung, mit dem der Port gebaut wird, zu bestimmen. Wenn eine Option nicht ausgewählt wird, ist MPlayer nicht in der Lage, diese Art von Video-Format wiederzugeben. Mit den Pfeiltasten und der Leertaste können die erforderlichen Formate ausgewählt werden. Wenn Sie fertig sind, drücken Sie Enter, um den Bau und die Installation fortzusetzen.

In der Voreinstellung wird das Paket oder der Port das mplayer-Kommandozeilenprogramm und das graphische Programm gmplayer bauen. Um Videos zu dekodieren, installieren Sie den Port multimedia/mencoder. Aus lizenzrechtlichen Gründen steht ein Paket von MEncoder nicht zur Verfügung.

MPlayer erstellt beim ersten Start ~/.mplayer im Heimatverzeichnis des Benutzers. Dieses Verzeichnis enthält die voreingestellten Konfigurationseinstellungen für den Benutzer.

Dieser Abschnitt beschreibt nur ein paar wenige Anwendungsmöglichkeiten. Eine vollständige Beschreibung der zahlreichen Möglichkeiten finden Sie in der Manualpage von mplayer(1).

Um die Datei testfile.avi abzuspielen, geben Sie die Video-Schnittstelle mit -vo an:

% mplayer -vo xv testfile.avi
% mplayer -vo sdl testfile.avi
% mplayer -vo x11 testfile.avi
# mplayer -vo dga testfile.avi
# mplayer -vo 'sdl:dga' testfile.avi

Es lohnt sich, alle Option zu testen. Die erzielte Geschwindigkeit hängt von vielen Faktoren ab und variiert beträchtlich je nach eingesetzter Hardware.

Wenn Sie eine DVD abspielen wollen, ersetzen Sie testfile.avi durch -dvd://N Gerät. N ist die Nummer des Stücks, das Sie abspielen wollen und Gerät gibt den Gerätenamen der DVD an. Das nachstehende Kommando spielt das dritte Stück von /dev/dvd:

# mplayer -vo dga -dvd://3 /dev/dvd

Anmerkung:

Das standardmäßig verwendete DVD-Laufwerk kann beim Bau des MPlayer-Ports mit der Option WITH_DVD_DEVICE=/pfad/zum/gerät festgelegt werden. Die Voreinstellung verwendet das Gerät /dev/cd0. Weitere Details finden Sie in Makefile.options des Ports.

Die Tastenkombinationen zum Abbrechen, Anhalten und Weiterführen der Wiedergabe entnehmen Sie der Ausgabe von mplayer -h oder der mplayer(1) Manualpage.

Weitere nützliche Optionen für die Wiedergabe sind -fs -zoom zur Wiedergabe im Vollbild-Modus und -framedrop zur Steigerung der Geschwindigkeit.

Jeder Benutzer kann häufig verwendete Optionen in seine ~/.mplayer/config eintragen:

vo=xv
fs=yes
zoom=yes

mplayer kann verwendet werden, um DVD-Stücke in .vob-Dateien zu rippen. Das zweite Stück einer DVD wandeln Sie wie folgt in eine Datei um:

# mplayer -dumpstream -dumpfile out.vob -dvd://2 /dev/dvd

Die Ausgabedatei out.vob wird im MPEG-Format abgespeichert.

Jeder Benutzer, der mehr Informationen über Video unter UNIX® sammeln möchte, sollte mplayerhq.hu/DOCS konsultieren, da es technisch sehr informativ ist. Diese Dokumentation sollte ebenfalls studiert werden, bevor Fehlerberichte eingereicht werden.

Vor der Verwendung von mencoder ist es hilfreich, sich mit den auf mplayerhq.hu/DOCS/HTML/en/mencoder.html beschriebenen Optionen vertraut zu machen. Es gibt unzählige Möglichkeiten die Qualität zu verbessern, die Bitrate zu verringern und Formate zu konvertieren. Einige davon haben erhebliche Auswirkungen auf die Geschwindigkeit. Falsche Kombinationen von Kommandozeilenparametern ergeben eventuell Dateien, die selbst mplayer nicht mehr wiedergeben kann.

Hier ist ein Beispiel für eine einfache Kopie:

% mencoder input.avi -oac copy -ovc copy -o output.avi

Wenn Sie in eine Datei rippen, benutzen Sie die Option -dumpfile von mplayer.

Um input.avi nach MPEG4 mit MPEG3 für den Ton zu konvertieren, muss zunächst der Port audio/lame installiert werden. Aus lizenzrechtlichen Gründen ist ein Paket nicht verfügbar. Wenn der Port installiert ist, geben Sie ein:

% mencoder input.avi -oac mp3lame -lameopts br=192 \
	   -ovc lavc -lavcopts vcodec=mpeg4:vhq -o output.avi

Die Ausgabedatei lässt sich mit Anwendungen wie mplayer oder xine abspielen.

input.avi kann durch -dvd://1 /dev/dvd ersetzt und das Kommando als root ausgeführt werden, um ein DVD-Stück direkt zu konvertieren. Da vielleicht ein paar Versuche nötig sind, um das gewünschte Ergebnis zu erhalten, empfiehlt es sich das Stück zuerst in eine Datei zu schreiben und anschließend die Datei weiter zu bearbeiten.

8.4.2.2. Der Video-Spieler xine

xine ist ein Video-Spieler mit einer wiederverwendbaren Bibliothek und ein Programm, das durch Plugins erweitert werden kann. Es kann als Paket oder Port multimedia/xine installiert werden.

Für einen reibungslosen Betrieb benötigt xine entweder eine schnelle CPU mit einer schnellen Grafikkarte, oder die XVideo-Erweiterung. Am schnellsten läuft xine mit der XVideo-Erweiterung.

In der Voreinstellung startet xine eine grafische Benutzeroberfläche. Über die Menüs können dann bestimmte Dateien geöffnet werden.

Alternativ kann xine auch über die Kommandozeile aufgerufen werden, um Dateien direkt wiederzugeben:

% xine -g -p mymovie.avi

Weitere Informationen und Tipps zur Fehlerbehebung finden Sie unter xine-project.org/faq.

8.4.2.3. Die Transcode-Werkzeuge

Transcode ist eine Sammlung von Werkzeugen zur Umwandlung von Video- und Audio-Dateien. Transcode mischt Video-Dateien und kann kaputte Video-Dateien reparieren. Die Werkzeuge werden als Filter verwendet, das heißt die Ein- und Ausgaben verwenden stdin/stdout.

Unter FreeBSD kann Transcode als Paket oder Port multimedia/transcode installiert werden. Viele Benutzer bevorzugen es den Port zu bauen, da er ein Menü bereitstellt, wo die entsprechenden Formate für den Bau ausgewählt werden können. Mit den Pfeiltasten und der Leertaste können die erforderlichen Formate ausgewählt werden. Wenn Sie fertig sind, drücken Sie Enter, um den Bau und die Installation fortzusetzen.

Dieses Beispiel zeigt, wie eine DivX-Datei in eine PAL MPEG-1-Datei konvertiert wird:

% transcode -i input.avi -V --export_prof vcd-pal -o output_vcd
% mplex -f 1 -o output_vcd.mpg output_vcd.m1v output_vcd.mpa

Die daraus resultierende MPEG-Datei, output_vcd.mpg, kann beispielsweise mit MPlayer abgespielt werden. Die Datei kann auch mit einem Programm wie multimedia/vcdimager oder sysutils/cdrdao als Video-CD auf eine CD-R gebrannt werden.

Zusätzlich zu der Manualpage von transcode, sollten Sie auch die Informationen und Beispiele im transcoding.org/cgi-bin/transcode lesen.

8.5. TV-Karten

Beigetragen von Josef El-Rayes.
Überarbeitet von Marc Fonvieille.

Mit TV-Karten können Sie mit dem Rechner über Kabel oder Antenne fernsehen. Die meisten Karten besitzen einen RCA- oder S-Video-Eingang. Einige Karten haben auch einen FM-Radio-Empfänger.

Der bktr(4)-Treiber von FreeBSD unterstützt PCI-TV-Karten mit einem Brooktree Bt848/849/878/879 Chip. Dieser Teiber unterstützt die meisten Pinnacle PCTV Karten. Die Karte sollte einen der unterstützten Empfänger besitzen, die in bktr(4) aufgeführt sind.

8.5.1. Den Treiber laden

Um die Karte benutzen zu können, muss der bktr(4)-Treiber geladen werden. Damit dies beim Systemstart automatisch erfolgt, muss die folgende Zeile in /boot/loader.conf hinzugefügt werden:

bktr_load="YES"

Alternativ kann der Treiber für die TV-Karte auch fest in den Kernel kompiliert werden. In diesem Fall müssen folgende Zeilen in die Kernelkonfigurationsdatei aufgenommen werden:

device	 bktr
device	iicbus
device	iicbb
device	smbus

Die zusätzlichen Treiber werden benötigt, da die Komponenten der Karte über einen I2C-Bus verbunden sind. Bauen und installieren Sie dann den neuen Kernel.

Um den Treiber zu testen, muss das System neu gestartet werden. Während des Neustarts sollte die TV-Karte erkannt werden:

bktr0: <BrookTree 848A> mem 0xd7000000-0xd7000fff irq 10 at device 10.0 on pci0
iicbb0: <I2C bit-banging driver> on bti2c0
iicbus0: <Philips I2C bus> on iicbb0 master-only
iicbus1: <Philips I2C bus> on iicbb0 master-only
smbus0: <System Management Bus> on bti2c0
bktr0: Pinnacle/Miro TV, Philips SECAM tuner.

Abhängig von der verwendeten Hardware können die Meldungen natürlich anders aussehen. Die entdeckten Geräte lassen sich mit sysctl(8) oder in der Kernelkonfigurationsdatei überschreiben. Wenn Sie beispielsweise einen Philips-SECAM-Empfänger erzwingen wollen, fügen Sie die folgende Zeile zur Kernelkonfigurationsdatei hinzu:

options OVERRIDE_TUNER=6

Alternativ können Sie sysctl(8) benutzen:

# sysctl hw.bt848.tuner=6

Weitere Informationen zu den verschiedenen Kerneloptionen und sysctl(8)-Parametern finden Sie in bktr(4).

8.5.2. Nützliche Anwendungen

Um die TV-Karte zu benutzen, installieren Sie eine der nachstehenden Anwendungen:

  • multimedia/fxtv lässt das Fernsehprogramm in einem Fenster laufen und kann Bilder, Audio und Video aufzeichnen.

  • multimedia/xawtv eine weitere TV-Anwendung mit vergleichbaren Funktionen.

  • Mit audio/xmradio lässt sich der FM-Radio-Empfänger, der sich auf TV-Karten befindet, benutzen.

Weitere Anwendungen finden Sie in der FreeBSD Ports-Sammlung.

8.5.3. Fehlersuche

Wenn Sie Probleme mit der TV-Karte haben, prüfen Sie zuerst, ob der Video-Capture-Chip und der Empfänger vom bktr(4)-Treiber unterstützt werden und ob Sie die richtigen Optionen verwenden. Weitere Hilfe zu unterstützten TV-Karten finden Sie auf der Mailingliste freebsd-multimedia.

8.6. MythTV

MythTV ist eine beliebte Open Source PVR-Anwendung. Dieser Abschnitt beschreibt die Installation und Konfiguration von MythTV unter FreeBSD. Weitere Informationen zur Benutzung von MythTV finden Sie unter mythtv.org/wiki.

MythTV benötigt ein Frontend und ein Backend. Diese Komponenten können entweder auf dem gleichen System, oder auf unterschiedlichen Maschinen installiert werden.

Das Frontend kann unter FreeBSD über den Port oder das Paket multimedia/mythtv-frontend installiert werden. Zudem muss Xorg, wie in Kapitel 6, Das X-Window-System beschrieben, installiert und konfiguriert sein. Idealerweise besitzt das System auch eine Videokarte, die X-Video Motion Compensation (XvMC) unterstützt, sowie optional eine LIRC-kompatible Fernbedienung.

Benutzen Sie multimedia/mythtv, um sowohl das Frontend als auch das Backend zu installieren. Ein MySQL™ Datenbank-Server ist ebenfalls erforderlich und sollte automatisch als Abhängigkeit installiert werden. Optional sollte das System einen Empfänger und ausreichend Speicherplatz haben, um die aufgezeichneten Daten speichern zu können.

8.6.1. Hardware

MythTV verwendet V4L um auf Videoeingabegeräte, wie Kodierer und Empfänger zuzugreifen. Unter FreeBSD funktioniert MythTV am besten mit USB DVB-S/C/T Karten, die von multimedia/webcamd unterstützt werden, da dies eine V4L-Anwendung zur Verfügung stellt, die als Benutzerprogramm läuft. Jede DVB-Karte, die von webcamd unterstützt wird, sollte mit MythTV funktionieren, jedoch gibt es eine Liste von Karten, die unter wiki.freebsd.org/WebcamCompat abgerufen werden kann. Es existieren auch Treiber für Hauppauge-Karten in den folgenden Paketen: multimedia/pvr250 und multimedia/pvrxxx, allerdings liefern diese nur eine Treiberschnittstelle, die nicht dem Standard entspricht und die nicht mit MythTV-Versionen grösser als 0.23 funktionieren. Aus lizenzrechtlichen Gründen ist ein Paket nicht verfügbar, sodass die beiden Ports übersetzt werden müssen.

Die wiki.freebsd.org/HTPC enthält eine Liste von allen verfügbaren DVB-Treibern.

8.6.2. MythTV Backend einrichten

Geben Sie folgendes ein, um MythTV aus der Ports-Sammlung zu installieren:

# cd /usr/ports/multimedia/mythtv
# make install

Richten Sie anschließend die MythTV-Datenbank ein:

# mysql -uroot -p < /usr/local/share/mythtv/database/mc.sql

Konfigurieren Sie dann das Backend:

# mythtv-setup

Zum Schluss starten Sie das Backend:

# echo 'mythbackend_enable="YES"' >> /etc/rc.conf
# service mythbackend start

8.7. Scanner

Beigetragen von Marc Fonvieille.

Unter FreeBSD stellt SANE (Scanner Access Now Easy) aus der Ports-Sammlung eine einheitliche Schnittstelle (API) für den Zugriff auf Scanner bereit. SANE wiederum greift auf Scanner mithilfe einiger FreeBSD-Treiber zu.

FreeBSD unterstützt sowohl SCSI- als auch USB-Scanner. Abhängig von der Schnittstelle des Scanners, werden unterschiedliche Treiber benötigt. Prüfen Sie vor der Konfiguration mithilfe der Liste der unterstützten Geräte ob der Scanner von SANE unterstützt wird.

Dieses Kapitel beschreibt, wie Sie feststellen können, ob der Scanner von FreeBSD erkannt wurde. Zudem enthält es einen Überblick über die Konfiguration und Verwendung von SANE unter FreeBSD.

8.7.1. Den Scanner überprüfen

Im GENERIC-Kernel sind schon alle, für einen USB-Scanner notwendigen, Treiber enthalten. Benutzer mit einem angepassten Kernel sollten sicherstellen, dass die Kernelkonfiguration die nachstehenden Zeilen enthält:

device usb
device uhci
device ohci
device ehci

Um zu überprüfen ob der Scanner erkannt wird, schließen Sie den USB-Scanner an. Prüfen Sie dann mit dmesg(8), ob der Scanner in den Systemmeldungen erscheint:

ugen0.2: <EPSON> at usbus0

In diesem Beispiel wurde ein EPSON Perfection® 1650 USB-Scanner an /dev/ugen0.2 erkannt.

Wenn der Scanner eine SCSI-Schnittstelle besitzt, ist die Kernelkonfiguration abhängig vom verwendeten SCSI-Controller. Der GENERIC-Kernel unterstützt die gebräuchlichen SCSI-Controller. Den richtigen Treiber finden Sie in /usr/src/sys/conf/NOTES. Neben dem SCSI-Treiber muss die Kernelkonfiguration noch die nachstehenden Zeilen enthalten:

device scbus
device pass

Nachdem Sie einen Kernel gebaut und installiert haben, sollte der Scanner beim Neustart in den Systemmeldungen erscheinen:

pass2 at aic0 bus 0 target 2 lun 0
pass2: <AGFA SNAPSCAN 600 1.10> Fixed Scanner SCSI-2 device
pass2: 3.300MB/s transfers

Wenn der Scanner während des Systemstarts ausgeschaltet war, können Sie die Geräteerkennung erzwingen, indem Sie den SCSI-Bus erneut absuchen. Verwenden Sie dazu camcontrol:

# camcontrol rescan all
Re-scan of bus 0 was successful
Re-scan of bus 1 was successful
Re-scan of bus 2 was successful
Re-scan of bus 3 was successful

Der Scanner sollte jetzt in der SCSI-Geräteliste erscheinen:

# camcontrol devlist
<IBM DDRS-34560 S97B>              at scbus0 target 5 lun 0 (pass0,da0)
<IBM DDRS-34560 S97B>              at scbus0 target 6 lun 0 (pass1,da1)
<AGFA SNAPSCAN 600 1.10>           at scbus1 target 2 lun 0 (pass3)
<PHILIPS CDD3610 CD-R/RW 1.00>     at scbus2 target 0 lun 0 (pass2,cd0)

Weitere Informationen über SCSI-Geräte unter FreeBSD finden Sie in scsi(4) und camcontrol(8).

8.7.2. SANE konfigurieren

SANE besteht aus zwei Teilen, den Backends (graphics/sane-backends) und den Frontends (graphics/sane-frontends oder graphics/xsane). Das Backend greift auf den Scanner zu. Lesen Sie http://www.sane-project.org/sane-supported-devices.html um herauszufinden, welches Backend welchen Scanner unterstützt. Die Frontends sind die Anwendungen, mit denen gescannt wird. graphics/sane-frontends installiert xscanimage, während graphics/xsane xsane installiert.

Installieren Sie zuerst den Port oder das Paket graphics/sane-backends. Anschließend können Sie mit dem Befehl sane-find-scanner prüfen, ob SANE den Scanner erkennt:

# sane-find-scanner -q
found SCSI scanner "AGFA SNAPSCAN 600 1.10" at /dev/pass3

Die Ausgabe zeigt die Schnittstelle und die verwendete Gerätedatei des Scanners. Der Hersteller und das Modell können in der Ausgabe fehlen.

Anmerkung:

Bei einigen USB-Scannern muss die Firmware geladen werden. Lesen Sie sane-find-scanner(1) und sane(7) für weitere Details.

Als nächstes müssen Sie prüfen, ob der Scanner vom Frontend erkannt wird. Die SANE-Backends werden mit dem Kommandozeilenwerkzeug scanimage geliefert. Mit diesem Werkzeug können Sie sich Scanner anzeigen lassen und den Scan-Prozess von der Kommandozeile starten. Die Option -L zeigt die Scanner an. Das erste Beispiel ist für einen SCSI-Scanner, das zweite ist für einen USB-Scanner:

# scanimage -L
device `snapscan:/dev/pass3' is a AGFA SNAPSCAN 600 flatbed scanner
# scanimage -L
device 'epson2:libusb:/dev/usb:/dev/ugen0.2' is a Epson GT-8200 flatbed scanner

Die Zeile 'epson2:libusb:/dev/usb:/dev/ugen0.2' im zweiten Beispiel nennt das Backend (epson2) und die Gerätedatei (/dev/ugen0.2), die der Scanner verwendet.

Wenn scanimage den Scanner nicht erkennen kann, erscheint folgende Meldung:

# scanimage -L

No scanners were identified. If you were expecting something different,
check that the scanner is plugged in, turned on and detected by the
sane-find-scanner tool (if appropriate). Please read the documentation
which came with this software (README, FAQ, manpages).

Wenn das passiert, müssen Sie in der Konfigurationsdatei des Backends unterhalb von /usr/local/etc/sane.d/ den verwendeten Scanner eintragen. Wenn der Scanner EPSON Perfection® 1650, der das Backend epson2 benutzt, nicht erkannt wurde, muss /usr/local/etc/sane.d/epson2.conf angepasst werden. Fügen Sie eine Zeile mit der Schnittstelle und dem Gerätenamen in die Datei ein. In diesem Beispiel wurde die nachstehende Zeile eingefügt:

usb /dev/ugen0.2

Speichern Sie die Änderungen und prüfen Sie, ob der Scanner mit dem richtigen Backend und Gerätenamen erkannt wird:

# scanimage -L
device 'epson2:libusb:/dev/usb:/dev/ugen0.2' is a Epson GT-8200 flatbed scanner

Wenn scanimage -L den Scanner erkannt hat, ist der Scanner eingerichtet und bereit, zu scannen.

Obwohl scanimage von der Kommandozeile scannen kann, ist eine graphische Anwendung zum Scannen besser geeignet. SANE bietet ein einfaches und effizientes Werkzeug: xscanimage.

Alternativ ist xsane, das über den Port oder das Paket graphics/xsane installiert wird, eine weitere beliebte graphische Anwendung. Dieses Frontend besitzt erweiterte Funktionen wie den Scan-Modus, eine Farbkorrektur und Batch-Scans. Beide Anwendungen lassen sich als GIMP-Plugin verwenden.

8.7.3. Berechtigungen für den Scanner

Wenn andere Benutzer den Scanner benutzen sollen, müssen sie Lese- und Schreibrechte auf die Gerätedatei des Scanners besitzen. Im vorherigen Beispiel wird die Datei /dev/ugen0.2 verwendet, die faktisch nur ein Symlink auf die echte Gerätedatei, /dev/usb/0.2.0 genannt, darstellt. Sowohl der Symlink als auch die Gerätedatei sind jeweils im Besitz der Gruppen wheel und operator. Damit ein Benutzer den Scanner benutzen kann, muss er Mitglied in einer der beiden Gruppen sein. Allerdings sollte aus Sicherheitsgründen genau überlegt werden, welche Benutzer zu welcher Gruppe hinzugefügt werden, besonders bei der Gruppe wheel. Eine bessere Lösung ist es, eine spezielle Gruppe für den Zugriff anzulegen und den Scanner für Mitglieder dieser Gruppe zugänglich zu machen.

Dieses Beispiel erstellt eine Gruppe namens usb:

# pw groupadd usb

Anschließend muss der /dev/ugen0.2-Symlink und der Gerätename /dev/usb/0.2.0 für die Gruppe usb mit den Schreibrechten 0660 oder 0664 ausgestattet werden. All dies kann durch das Hinzufügen der folgenden Zeilen in /etc/devfs.rules erreicht werden:

[system=5]
add path ugen0.2 mode 0660 group usb
add path usb/0.2.0 mode 0660 group usb

Jetzt müssen nur noch Benutzer zur Gruppe usb hinzugefügt werden, um ihnen den Zugriff auf den Scanner zu erlauben:

#pw groupmod usb -m joe

Weitere Details finden Sie in pw(8).

Kapitel 9. Konfiguration des FreeBSD-Kernels

9.1. Übersicht

Der Kernel ist das Herz des FreeBSD-Betriebssystems. Er ist verantwortlich für die Speicherverwaltung, das Durchsetzen von Sicherheitsdirektiven, Netzwerkfähigkeit, Festplattenzugriffen und vieles mehr. Obwohl FreeBSD es ermöglicht, dynamisch konfiguriert zu werden, ist es ab und an notwendig, einen angepassten Kernel zu konfigurieren und zu kompilieren.

Nachdem Sie dieses Kapitel gelesen haben, werden Sie Folgendes wissen:

  • Wann Sie einen angepassten Kernel kompilieren sollten.

  • Wie Sie eine Hardware-Inventur durchführen.

  • Wie Sie eine Kernelkonfigurationsdatei verändern.

  • Wie Sie mit der Konfigurationsdatei einen neuen Kernel kompilieren.

  • Wie Sie den neuen Kernel installieren.

  • Was zu tun ist, falls etwas schiefgeht.

Alle Kommandos, aus den Beispielen dieses Kapitels, müssen mit root-Rechten ausgeführt werden.

9.2. Wieso einen eigenen Kernel bauen?

Traditionell besaß FreeBSD einen monolithischen Kernel. Der Kernel war ein einziges großes Programm, das eine bestimmte Auswahl an Hardware unterstützte. Um das Kernelverhalten zu ändern, musste man einen neuen Kernel kompilieren und dann den neuen Kernel booten.

Heutzutage befinden sich die meisten Funktionen des FreeBSD-Kernels in Modulen, die je nach Bedarf dynamisch geladen und entladen werden können. Dies erlaubt es, einen laufenden Kernel anzupassen, um sofort neue Hardware oder neue Funktionen zu unterstützen. Dies ist als modularer Kernel bekannt.

Gelegentlich ist es noch notwendig, eine statische Kernelkonfigurationen durchzuführen. In einigen Fällen ist die Funktion zu systemnah, um durch ein Modul realisiert zu werden. Andere Umgebungen verhindern vielleicht das Laden und Entladen von Kernelmodulen und erfordern, dass nur die benötigte Funktionalität statisch in den Kernel kompiliert wird.

Das Erstellen eines angepassten Kernels ist eines der Rituale für erfahrene BSD-Benutzer. Obwohl dieser Prozess recht viel Zeit in Anspruch nimmt, kann er doch viele Vorteile für das FreeBSD-System bringen. Im Gegensatz zum GENERIC-Kernel, der eine Vielzahl von Hardware unterstützen muss, kann ein angepasster Kernel so eingeschränkt werden, dass er nur noch die Hardware des Rechners unterstützt. Dies hat einige Vorteile:

  • Schnellerer Bootvorgang. Da der Kernel nur nach der Hardware des Systems sucht, kann sich die Zeit für einen Systemstart verkürzen.

  • Geringerer Speicherbedarf. Ein eigener Kernel benötigt in der Regel weniger Speicher als ein GENERIC-Kernel durch das Entfernen von Funktionen und Gerätetreibern. Das ist vorteilhaft, denn der Kernel verweilt immer im RAM und verhindert dadurch, dass dieser Speicher von Anwendungen genutzt wird. Deshalb ist ein angepasster Kernel auf einem System mit wenig RAM sinnvoll.

  • Zusätzliche Hardwareunterstützung. Ein angepasster Kernel kann Unterstützung für Geräte bieten, die im GENERIC-Kernel nicht enthalten sind.

Bevor Sie einen angepassten Kernel erstellen, überlegen Sie sich bitte, warum Sie dies tun wollen. Wenn Sie lediglich eine bestimmte Hardwareunterstützung benötigen, existiert diese vielleicht schon als Kernelmodul.

Kernelmodule existieren in /boot/kernel und können mit kldload(8) dynamisch in den laufenden Kernel geladen werden. Die meisten Kerneltreiber verfügen über ein ladbares Modul und eine Manualpage. Der drahtlose Ethernet-Treiber ath(4) hat die folgenden Informationen in seiner Manualpage:

Alternatively, to load the driver as a module at boot time, place the
following line in loader.conf(5):

    if_ath_load="YES"

Durch das Hinzufügen von if_ath_load="YES" in /boot/loader.conf wird das Modul dynamisch beim Systemstart geladen.

In manchen Fällen gibt es kein entsprechendes Modul in /boot/kernel. Dies gilt insbesondere für bestimmte Subsysteme.

9.3. Informationen über die vorhandene Hardware beschaffen

Bevor die Kernelkonfigurationsdatei bearbeitet wird, ist es empfehlenswert eine Bestandsaufnahme der Hardware des Systems durchzuführen. Auf einem Dual-Boot-System können diese Informationen aus dem anderen Betriebssystem ermittelt werden. Microsoft®s Gerätemanager enthält beispielsweise Informationen über die installierte Hardware.

Anmerkung:

Einige Versionen von Microsoft® Windows® verfügen über ein System-Icon auf dem Desktop, über das Sie den Gerätemanager direkt aufrufen können.

Wenn FreeBSD das einzige installierte Betriebssystem ist, dann listet dmesg(8) die Hardware auf, die während des Systemstarts gefunden wurde. Die meisten FreeBSD-Gerätetreiber haben eine eigene Manualpage, die Informationen über die unterstützte Hardware enthält. Die folgenden Zeilen zeigen beispielsweise an, dass der psm(4)-Treiber eine angeschlossene Maus gefunden hat:

psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: [GIANT-LOCKED]
psm0: [ITHREAD]
psm0: model Generic PS/2 mouse, device ID 0

Da diese Hardware vorhanden ist, sollte dieser Treiber nicht aus einer angepassten Kernelkonfigurationsdatei entfernt werden.

Wenn dmesg keine Informationen zur gefundenen Hardware anzeigt, können diese Informationen auch aus /var/run/dmesg.boot entnommen werden.

Ein weiteres Werkzeug für die Suche nach Hardware ist pciconf(8), das ausführliche Informationen bereitstellt. Ein Beispiel:

% pciconf -lv
ath0@pci0:3:0:0:        class=0x020000 card=0x058a1014 chip=0x1014168c rev=0x01 hdr=0x00
    vendor     = 'Atheros Communications Inc.'
    device     = 'AR5212 Atheros AR5212 802.11abg wireless'
    class      = network
    subclass   = ethernet

Die Ausgabe zeigt, dass der Treiber ath eine drahtlose Ethernetkarte gefunden hat.

Die Option -k von man(1) kann verwendet werden, um nützliche Informationen zu erhalten. Um beispielsweise eine Liste von Manualpages zu erhalten, welche ein spezifisches Wort enthalten:

# man -k Atheros
ath(4)                   - Atheros IEEE 802.11 wireless network driver
ath_hal(4)               - Atheros Hardware Access Layer (HAL)

Mit einer Inventarliste der Hardware können Sie dann sicherstellen, dass Sie die Treiber der installierten Hardware nicht versehentlich entfernen, wenn Sie die Kernelkonfigurationsdatei bearbeiten.

9.4. Die Kernelkonfigurationsdatei

Bevor eine angepasste Kernelkonfigurationsdatei erstellt werden kann, muss zuerst der vollständige FreeBSD Quellcodebaum installiert werden.

Falls /usr/src/ nicht existiert oder leer ist, sind die Kernelquellen nicht installiert. Die Quellen können mit Subversion und der Anleitung im Abschnitt A.3, „Benutzen von Subversion installiert werden.

Sobald die Quellen installiert sind, können Sie sich einen Überblick über /usr/src/sys verschaffen. Dieses Verzeichnis enthält eine Reihe von Unterverzeichnissen, einschließlich Verzeichnisse für die unterstützten Architekturen amd64, i386, ia64, pc98, powerpc und sparc64. Alles in diesen Verzeichnissen ist nur für die jeweilige Architektur relevant. Der Rest des Codes ist maschinenunabhängig und für alle Architekturen gleich. Jede unterstützte Architektur hat ein Unterverzeichnis conf, das die GENERIC Kernelkonfigurationsdatei für diese Architektur enthält.

Bearbeiten Sie GENERIC nicht direkt. Kopieren Sie stattdessen die Datei unter einem anderen Namen und machen dann die Änderungen an dieser Kopie. Traditionell besteht der Name des Kernels immer aus Großbuchstaben. Wenn Sie mehrere FreeBSD-Maschinen mit unterschiedlicher Hardware betreuen, ist es eine gute Idee, die Konfigurationsdatei nach den Hostnamen der Maschinen zu benennen. In diesem Beispiel wird eine Kopie der GENERIC Kernelkonfigurationsdatei, namens MYKERNEL, für die amd64-Architektur erstellt:

# cd /usr/src/sys/amd64/conf
# cp GENERIC MYKERNEL

MYKERNEL kann jetzt mit einem Texteditor bearbeitet werden. Der Standard-Editor ist vi, jedoch steht mit ee ein weiterer, einfach zu bedienender Editor bereit.

Das Format der Konfigurationsdatei ist einfach. Jede Zeile enthält ein Schlüsselwort, das ein Gerät oder ein Subsystem repräsentiert, ein Argument und eine kurze Beschreibung. Jeder Text, der hinter einem # steht, gilt als Kommentar und wird ignoriert. Um die Kernel-Unterstützung für ein Gerät oder Subsystem zu entfernen, muss ein # an den Anfang der Zeile, die dieses Gerät oder Subsystem repräsentiert, gesetzt werden. Verändern Sie keine Zeilen, die Sie nicht genau verstehen.

Neben den Kurzbeschreibungen in dieser Datei, finden Sie zusätzliche Erklärungen in NOTES, die sich in demselben Verzeichnis wie GENERIC für die jeweilige Architektur befindet. Von der Architektur unabhängige Optionen sind in /usr/src/sys/conf/NOTES aufgeführt.

Tipp:

Wenn Sie die Kernelkonfigurationsdatei fertig bearbeitet haben, sollten Sie eine Sicherungskopie außerhalb von /usr/src speichern

Alternativ kann die Kernelkonfigurationsdatei an anderer Stelle gespeichert, und ein symbolischer Link auf die Datei erstellt werden:

# cd /usr/src/sys/amd64/conf
# mkdir /root/kernels
# cp GENERIC /root/kernels/MYKERNEL
# ln -s /root/kernels/MYKERNEL

Es ist möglich, eine include-Anweisung in die Kernelkonfigurationsdatei aufzunehmen. Diese erlaubt das lokale Einfügen von anderen Konfigurationsdateien in die aktuelle, was es einfacher macht, kleinere Änderungen an einer existierenden Datei zu vollziehen. Wenn Sie einen GENERIC-Kernel mit nur einer kleinen Anzahl von zusätzlichen Optionen und Treibern benötigen, brauchen Sie mit den folgenden Zeilen nur ein kleines Delta im Vergleich zu GENERIC anpassen, wie in diesem Beispiel zu sehen:

include GENERIC
ident MYKERNEL

options         IPFIREWALL
options         DUMMYNET
options         IPFIREWALL_DEFAULT_TO_ACCEPT
options         IPDIVERT

Diese Methode zeigt die Unterschiede der lokalen Konfigurationsdatei zu einem GENERIC-Kernel an. Sobald Aktualisierungen durchgeführt werden, können neue Eigenschaften, die zu GENERIC hinzugefügt werden, auch dem lokalen Kernel angehängt werden, es sei denn, es wird durch nooptions oder nodevice unterbunden. Eine umfassende Liste von Konfigurationseinstellungen und deren Beschreibungen finden Sie in config(5).

Anmerkung:

Um einen Kernel mit allen möglichen Optionen zu bauen, führen Sie als root die folgenden Befehle aus:

# cd /usr/src/sys/arch/conf && make LINT

9.5. Einen angepassten Kernel bauen und installieren

Nachdem die Änderungen an der angepassten Kernelkonfigurationsdatei gespeichert sind, kann der Quellcode für den Kernel mit den folgenden Schritten übersetzt werden:

Prozedur 9.1. Einen Kernel bauen
  1. Wechseln Sie das Verzeichnis:

    # cd /usr/src
  2. Bauen Sie den Kernel, indem Sie den Namen der Kernelkonfigurationsdatei angeben:

    # make buildkernel KERNCONF=MYKERNEL
  3. Installieren Sie den neuen Kernel. Dieser Befehl wird den neuen Kernel nach /boot/kernel/kernel kopieren, und den alten Kernel nach /boot/kernel.old/kernel speichern:

    # make installkernel KERNCONF=MYKERNEL
  4. Fahren Sie das System herunter und starten Sie den neuen Kernel. Wenn etwas nicht funktioniert, lesen Sie Der Kernel bootet nicht:.

In der Voreinstellung werden beim Bau eines angepassten Kernels stets alle Kernelmodule neu gebaut. Um einen Kernel schneller zu bauen, oder um nur bestimmte Module zu bauen, bearbeiten Sie /etc/make.conf, bevor Sie den Kernel neu bauen.

In diesem Beispiel werden über eine Variable nur die Kernelmodule definiert, die auch tatsächlich gebaut werden sollen. In der Voreinstellung werden alle Module gebaut:

MODULES_OVERRIDE = linux acpi

Alternativ kann auch eine Variable verwendet werden, die bestimmte Kernelmodule vom Bauprozess ausschließt:

WITHOUT_MODULES = linux acpi sound

Weitere Variablen und deren Beschreibung finden Sie in make.conf(5).

9.6. Wenn etwas schiefgeht

Es gibt vier Hauptfehlerquellen beim Erstellen eines angepassten Kernels:

config verursacht Fehler:

Wenn config fehlschlägt, zeigt es die Nummer der Zeile an, die das Problem verursacht. Bei der folgenden Fehlermeldung sollten Sie die angegebene Zeile mit GENERIC oder NOTES vergleichen und sicherstellen, dass das Schlüsselwort in Zeile 17 richtig geschrieben ist:

config: line 17: syntax error
make verursacht Fehler:

Wenn make fehlschlägt, liegen meistens Fehler in der Konfigurationsdatei vor, die aber nicht schwerwiegend genug für config waren. Überprüfen Sie die Konfiguration und wenn Sie keinen Fehler entdecken können, schicken Sie eine E-Mail mit der Kernelkonfigurationsdatei an die Mailingliste 'Fragen und Antworten zu FreeBSD' .

Der Kernel bootet nicht:

Wenn der neue Kernel nicht bootet oder die Geräte nicht erkannt werden, ist das noch kein Grund zur Panik. Glücklicherweise besitzt FreeBSD einen exzellenten Mechanismus zur Wiederherstellung nach dem Einsatz inkompatibler Kernel. Wählen Sie einfach den zu bootenden Kernel im FreeBSD Bootloader aus. Dazu wählen Sie im Bootmenü die Option Escape to a loader prompt. Danach geben Sie am Prompt boot kernel.old oder den Namen eines anderen Kernels ein, der sauber bootet.

Nun kann die Konfiguration noch einmal überprüft und der Kernel neu kompiliert werden. Dazu ist /var/log/messages sehr nützlich, da hier sämtliche Kernelmeldungen von jedem erfolgreichen Bootvorgang gespeichert werden. dmesg(8) gibt die Kernelmeldungen vom letzten Bootvorgang aus.

Anmerkung:

Wenn Sie Probleme beim Kernelbau bekommen, heben Sie sich immer eine Kopie von GENERIC oder einen anderen Kernel, der garantiert bootet, auf. Dies ist sehr wichtig, weil jedes Mal, wenn ein neuer Kernel installiert wird, kernel.old mit dem zuletzt installierten Kernel überschrieben wird und dieser möglicherweise nicht bootfähig ist. Verschieben Sie daher den funktionierenden Kernel so schnell wie möglich, indem Sie das Verzeichnis mit dem funktionierenden Kernel umbenennen:

# mv /boot/kernel /boot/kernel.bad
# mv /boot/kernel.good /boot/kernel
Der Kernel funktioniert, aber ps nicht

Wenn Sie eine andere Version des Kernels installiert haben als die, mit der Ihre Systemwerkzeuge gebaut wurden, beispielsweise einen Kernel aus den -CURRENT-Quellen auf einem -RELEASE-System, werden Programme wie ps(1) und vmstat(8) nicht mehr funktionieren. Um dies zu beheben, sollten Sie das komplette System neu bauen und installieren. Achten Sie darauf, dass die Quellen, aus denen das System gebaut wird, zum installierten Kernel passt. Man sollte niemals einen Kernel benutzen, der nicht zur Systemversion passt.

Kapitel 10. Drucken

Beigetragen von Warren Block.
Übersetzt von Björn Heidotting.

Trotz vieler Versuche es zu vermeiden, ist der Druck von Informationen auf Papier immer noch eine wichtige Funktion. Drucken hat zwei grundlegende Komponenten. Die Daten müssen an den Drucker gesendet werden, und zwar in einer Form, die der Drucker verstehen kann.

10.1. Schnellstart

Die grundlegende Druckfunktion kann schnell eingerichtet werden. Der Drucker muss lediglich fähig sein, normalen ASCII-Text zu drucken. Informationen zum Druck von anderen Dateien finden Sie in Abschnitt 10.5.3, „Filter“.

  1. Erstellen Sie ein Verzeichnis zur Speicherung der Druckaufträge:

    # mkdir -p /var/spool/lpd/lp
    # chown daemon:daemon /var/spool/lpd/lp
    # chmod 770 /var/spool/lpd/lp
  2. Erstellen Sie als root die Datei /etc/printcap mit folgendem Inhalt:

    lp:\
    	:lp=/dev/unlpt0:\  1
    	:sh:\
    	:mx#0:\
    	:sd=/var/spool/lpd/lp:\
    	:lf=/var/log/lpd-errs:

    1

    Diese Zeile ist für einen Drucker, der an einem USB-Port angeschlossen ist.

    Für einen Drucker, der am parallelen oder Drucker-Port angeschlossen ist, verwenden Sie:

    :lp=/dev/lpt0:\

    Für einen Netzwerkdrucker verwenden Sie:

    :lp=:rm=network-printer-name:rp=raw:\

    Ersetzen Sie network-printer-name durch den DNS-Namen des Netzwerkdruckers.

  3. Aktivieren Sie lpd beim Systemstart, indem Sie folgende Zeile in /etc/rc.conf hinzufügen:

    lpd_enable="YES"

    Starten Sie den Dienst:

    # service lpd start
    Starting lpd.

    Drucken Sie eine Testseite:

    # printf "1. Der Drucker kann drucken.\n2. Dies ist die zweite Zeile.\n" | lpr

    Tipp:

    Wenn die beiden Zeilen nicht am linken Rand starten und Sie einen Treppeneffekt beobachten, lesen Sie Abschnitt 10.5.3.1, „Den Treppeneffekt verhindern“.

    Mit lpr können nun Textdateien gedruckt werden. Geben Sie den Dateinamen auf der Kommandozeile an oder lassen Sie lpr von einer Pipe lesen.

    % lpr textfile.txt
    % ls -lh | lpr

10.2. Druckerverbindungen

Es gibt eine Vielzahl von Möglichkeiten, einen Drucker mit einem Rechner zu verbinden. Kleine Desktop-Drucker werden in der Regel mit dem USB-Anschluss verbunden, ältere Modelle nutzen oft die parallele Schnittstelle. Einige Drucker sind direkt mit einem Netzwerk verbunden, damit sie leichter von mehreren Rechnern benutzt werden können. Nur noch wenige Drucker verwenden einen seriellen Anschluss.

FreeBSD unterstützt die folgenden Arten von Druckern:

USB

USB-Drucker können mit einem freien USB-Anschluss des Rechners verbunden werden.

Wenn FreeBSD einen USB-Drucker erkennt, werden zwei Gerätenamen erstellt: /dev/ulpt0 und /dev/unlpt0. Beide Geräte leiten die Daten an den Drucker weiter. Nach jedem Druckauftrag wird der USB-Anschluss von ultp0 zurückgesetzt. Das Zurücksetzen kann bei einigen Druckern Probleme verursachen, daher wird in der Regel stattdessen unlpt0 verwendet, das den Anschluss nicht zurücksetzt.

Prallel (IEEE-1284)

Die parallele Schnittstelle ist /dev/lpt0. Der Gerätename erscheint unabhängig davon, ob ein Drucker angeschlossen ist oder nicht. Eine automatische Erkennung findet nicht statt.

Die Hersteller haben sich weitgehend von diesem älteren Anschluss verabschiedet und auch viele Rechner haben keine parallele Schnittstelle mehr. Es existieren jedoch Adapter, um einen parallelen Drucker an einem USB-Port anzuschließen. Der Drucker wird dann wie ein USB-Drucker behandelt. Es können auch Printserver verwendet werden, um parallele Drucker direkt mit einem Netzwerk zu verbinden.

Seriell (RS-232)

Serielle Anschlüsse sind veraltet und werden außer in Nischenanwendungen nur noch selten verwendet. Die Kabel, Stecker und die erforderliche Verkabelung sind oft sehr unterschiedlich.

Der Gerätename für einen seriellen Anschlüsse ist /dev/cuau0 oder /dev/cuau1. Es können auch USB-Adapter verwendet werden. Diese erscheinen als /dev/cuaU0.

Damit mit dem Drucker kommuniziert werden kann, müssen einige Kommunikationsparameter bekannt sein. Zu den wichtigsten zählen die Baudrate (BPS - Bits pro Sekunde) und die Parität. Diese Werte variieren, aber typische serielle Drucker verwenden eine Baudrate von 9600 und keine Parität.

Netzwerk

Netzwerkdrucker werden direkt mit dem lokalen Netzwerk verbunden.

Der DNS-Name des Druckers muss bekannt sein. Wenn dem Drucker eine dynamische Adresse per DHCP zugeteilt wird, sollte das DNS automatisch aktualisiert werden, so dass der Drucker immer die richtige IP-Adresse hat. Um dieses Problem zu vermeiden, werden Netzwerkdruckern häufig statische IP-Adressen zugeteilt.

Die meisten Netzwerkdrucker verstehen Druckaufträge, die über das LPD-Protokoll empfangen werden. Sie können auch den Namen der Druckwarteschlange angeben. Einige Drucker verarbeiten die Daten unterschiedlich, je nachdem welche Warteschlange verwendet wird. Zum Beispiel druckt eine Raw-Warteschlange die Daten unverändert, während eine Text-Warteschlange den Text um Wagenrückläufe ergänzt.

Viele Netzwerkdrucker können auch Daten drucken, die direkt an Port 9100 gesendet werden.

10.2.1. Zusammenfassung

Verkabelte Netzwerkdrucker drucken in der Regel am schnellsten und sind einfach einzurichten. Für den direkten Anschluss am Rechner wird USB wegen seiner Geschwindigkeit und Einfachheit bevorzugt. Parallele Verbindungen funktionieren, haben jedoch ihre Begrenzung in Bezug auf Kabellänge und Geschwindigkeit. Serielle Verbindungen sind schwieriger zu konfigurieren und die Verdrahtung unterscheidet sich zwischen den Modellen. Zudem müssen Baudrate und Parität bekannt sein. Glücklicherweise sind serielle Drucker selten geworden.

10.3. Gebräuchliche Seitenbeschreibungssprachen

Daten, die an einen Drucker gesendet werden, müssen in einer Sprache verfasst sein, die der Drucker verstehen kann. Diese Sprachen werden Seitenbeschreibungssprachen oder