Kapitel 7. Benutzerprogramme

7.1. Nun, wo sind die ganzen Benutzerprogramme?
7.2. Wie konfiguriere ich INN (Internet News) für meine Maschine?
7.3. Unterstützt FreeBSD Java™?
7.4. Warum kann ich manche Ports auf meiner 7.X, 8.X oder 9.X-STABLE-Maschine nicht erstellen?
7.5. Ich habe gerade versucht, INDEX mit make index zu bauen, und es hat nicht geklappt. Woran liegt das?
7.6. Warum ist CVSup nicht im FreeBSD-Basisquellbaum enthalten?
7.7. Ich habe die Sourcen aktualisiert, wie aktualisiere ich jetzt die installierten Ports?
7.8. Muss ich nach der Aktualisierung einer FreeBSD-Hauptversionsnummer jedes Mal alle Ports neu erstellen lassen?
7.9. Muss ich nach der Aktualisierung einer FreeBSD-Unterversionsnummer jedes Mal alle Ports neu erstellen lassen?
7.10. Warum ist /bin/sh so spartanisch? Warum benutzt FreeBSD nicht die bash oder eine ähnliche Shell?
7.11. Wieso dauert es so lange, bis Netscape® und Opera starten?
7.12. Ich habe die Ports-Sammlung mit CVSup aktualisiert. Viele Ports lassen sich danach nicht mehr bauen und geben seltsame Fehlermeldungen aus. Was ist passiert? Ist die Ports-Sammlung kaputt?
7.13. Wie erzeuge ich Audio-CDs aus MIDI-Dateien?

7.1. Nun, wo sind die ganzen Benutzerprogramme?

Werfen Sie bitte einen Blick auf die Ports-Seite, um Informationen über die nach FreeBSD portierten Softwarepakete zu erhalten. Die Liste enthält zurzeit 24,000 Einträge und wächst täglich. Informieren Sie sich daher regelmäßig auf dieser Seite oder abonnieren Sie die Mailingliste FreeBSD announcements, um sich über Änderungen zu informieren.

Die meisten Ports sollten auf den 7.X, 8.X und 9.X-Systemen laufen. Jedes Mal, wenn ein FreeBSD-Release erstellt wird, wird auch ein Snapshot des Port-Baumes vom Zeitpunkt des Releases in das Verzeichnis ports/ eingefügt.

Wir unterstützen auch das Konzept von “Packages” - im Grunde genommen nicht mehr als komprimierte Binärdistributionen mit ein wenig zusätzlicher Intelligenz zur Ermöglichung angepasster Installationen. Ein Package kann leicht installiert und wieder deinstalliert werden, ohne, dass man etwas über wissen muss, welche Dateien es enthält.

Benutzen Sie das Packages Menü in sysinstall(8) (unter dem Menüpunkt post-configuration) oder führen Sie den Befehl pkg_add(1) mit den speziellen Paketdateien aus, die Sie installieren möchten. Paketdateien können für gewöhnlich an der Endung .tgz oder .tbz erkannt werden und diejenigen, die über eine CD-ROM-Distribution verfügen, haben auf ihrer CD ein Verzeichnis packages/All, das solche Dateien enthält. Für verschiedene FreeBSD-Versionen können sie von folgenden Adressen auch über das Netz heruntergeladen werden:

oder von Ihrem nächstgelegenen Mirror.

Beachten Sie, dass nicht alle Ports als Package verfügbar sind, da ständig neue hinzugefügt werden. Es ist immer eine gute Idee, sich regelmäßig auf der ftp.de.FreeBSD.org Masterseite darüber zu informieren, welche Packages verfügbar sind.

7.2. Wie konfiguriere ich INN (Internet News) für meine Maschine?

Ein idealer Startpunkt nach der Installation des Packages oder Ports news/inn ist Dave Barr's INN-Seite, wo Sie die INN-FAQ finden.

7.3. Unterstützt FreeBSD Java™?

Ja. Informieren Sie sich bitte unter http://www.de.FreeBSD.org/java/.

7.4. Warum kann ich manche Ports auf meiner 7.X, 8.X oder 9.X-STABLE-Maschine nicht erstellen?

Wenn Sie eine FreeBSD-Version benutzen, die deutlich älter als das aktuelle -CURRENT oder -STABLE ist, könnte es sein, dass Sie vorher Ihre Ports-Sammlung aktualisieren müssen. Lesen Sie dazu den Abschnitt Keeping Up des Porters-Handbuch. Ist Ihre Ports-Sammlung aktuell, könnte es sein, dass jemand eine Änderung am Port durchgeführt hat, die für -CURRENT funktioniert, den Port für -STABLE aber unbrauchbar gemacht hat. Bitte senden Sie einen Fehlerbericht mit dem Befehl send-pr(1). Von der Ports-Sammlung wird nämlich erwartet, dass sie sowohl auf -CURRENT als auch auf -STABLE funktioniert.

7.5. Ich habe gerade versucht, INDEX mit make index zu bauen, und es hat nicht geklappt. Woran liegt das?

Stellen Sie zuerst sicher, dass Ihre Ports-Sammlung aktuell ist. Fehler, die einen Bau von INDEX aus einer aktuellen Ports-Sammlung verhindern, sind sofort sichtbar und werden daher fast immer umgehend behoben.

Ist Ihre Ports-Sammlung jedoch aktuell, haben Sie vielleicht ein anderes Problem. make index hat einen Bug im Umgang mit unvollständigen Kopien der Ports-Sammlung. Es nimmt an, dass Sie über eine lokale Kopie aller Ports verfügen, von denen jeder lokale Port abhängt. Wenn Sie also beispielsweise eine Kopie von foo/bar auf Ihrem System haben, und foo/bar ist von baz/quux abhängig, dann muss auch eine Kopie von baz/quux auf Ihrem System vorhanden sein, sowie eine Kopie aller Ports, von denen baz/quux abhängt. Anderenfalls ist make index aufgrund fehlender Informationen nicht in der Lage, den Abhängigkeitsbaum zu erzeugen.

Dieses Problem tritt vor allem dann auf, wenn FreeBSD-Benutzer csup(1) (oder csup(1)) verwenden, um die Ports-Sammlung zu aktualisieren und dabei verschiedene Kategorien durch die Datei refuse von der Aktualisierung ausschließen. Theoretisch ist es zwar möglich, Kategorien auszuschließen, in der Praxis gibt es aber zu viele Ports, die von Ports in anderen Kategorien abhängen. Wenn Sie also INDEX bauen wollen, müssen Sie über eine komplette Kopie der Ports-Sammlung verfügen.

Es gibt seltene Fälle, in denen INDEX nicht gebaut werden kann, wenn bestimmte WITH_* oder WITHOUT_* Variablen in make.conf gesetzt sind. Wenn Sie dieses Problem haben, sollten Sie diese make-Variablen deaktivieren und INDEX erneut bauen, bevor Sie das Problem an FreeBSD ports melden.

7.6. Warum ist CVSup nicht im FreeBSD-Basisquellbaum enthalten?

Das Basissystem von FreeBSD soll “selbstverwaltend” sein. Es soll also möglich sein, das komplette Betriebssystem mit einer beschränkten Anzahl von Werkzeugen zu starten. Daher werden die zum Bau von FreeBSD nötigen Werkzeuge mit dem Quelltext gekoppelt. Zu diesen Werkzeugen gehören ein C-Compiler (gcc(1)), make(1), awk(1) und andere.

Da CVSup in Modula-3 geschrieben wurde, müsste ein Modula-3-Compiler ins Basissystem aufgenommen und auch gewartet werden. Dies würde einen gestiegenen Speicherbedarf für die FreeBSD-Quellen sowie einen erhöhten Wartungsaufwand verursachen. Daher ist es sowohl für Entwickler als auch Benutzer einfacher, CVSup bei Bedarf als Port oder als Paket von einer Installations-CD zu installieren.

Wie dem auch sei, FreeBSD-Benutzer müssen seit FreeBSD 6.2-RELEASE nicht mehr ohne einen kompatiblen CVSup-Client auskommen. Dank Maxime Henrion wurde CVSup als csup(1) in C neu geschrieben und ist mittlerweile Teil des Basissystems. Obwohl zur Zeit noch nicht alle Eigenschaften von CVSup implementiert sind, ist es gut genug (und sehr schnell!) darin, ihre Quellen zu synchronisieren. Für FreeBSD-Systeme vor 6.2 kann es als Port oder Paket (siehe net/csup) installiert werden.

7.7. Ich habe die Sourcen aktualisiert, wie aktualisiere ich jetzt die installierten Ports?

FreeBSD enthält zwar kein Programm, das die installierten Ports aktualisiert, allerdings existieren diverse Programme, die diesen Prozess etwas vereinfachen. Weiterhin können Sie zusätzliche Programme installieren, die Sie dabei unterstützen, siehe Ports aktualisieren im FreeBSD Handbuch.

7.8. Muss ich nach der Aktualisierung einer FreeBSD-Hauptversionsnummer jedes Mal alle Ports neu erstellen lassen?

Auf jeden Fall! Während ein aktuelles System mit Software für eine ältere Version funktionieren wird, werden Sie mit zufälligen Abstürzen und nicht funktionierenden Ports zurückbleiben, sobald Sie anfangen, andere Ports zu installieren oder diejenigen, die Sie bereits haben, aktualisieren möchten.

Wenn das System aktualisiert wird, werden verschiedene Shared-Libraries, ladbare Module und andere Systembestandteile mit neueren Versionen ersetzt. Anwendungen, die gegen die älteren Versionen gelinkt sind, werden nicht starten oder in anderen Fällen nicht korrekt funktionieren.

Für weitere Informationen, lesen Sie den Abschnitt über Betriebssystemupgrades im FreeBSD Handbuch.

7.9. Muss ich nach der Aktualisierung einer FreeBSD-Unterversionsnummer jedes Mal alle Ports neu erstellen lassen?

Generell nicht. Die FreeBSD-Entwickler tun ihr möglichstes, um die Binärkompatibilität über alle Veröffentlichungen mit der gleichen Hauptversionsnummer zu garantieren. Ausnahmen werden in den Release Notes dokumentiert und die darin enthaltenen Hinweise sollten befolgt werden.

7.10. Warum ist /bin/sh so spartanisch? Warum benutzt FreeBSD nicht die bash oder eine ähnliche Shell?

Weil der POSIX®-Standard definiert, dass es so eine Shell geben muss.

Die ausführlichere Antwort: Viele Leute müssen Shell-Programme schreiben, die auf vielen verschiedenen Systemen nutzbar sein müssen. Aus diesem Grund enthält der POSIX-Standard eine sehr detaillierte Definition der Shell und der Hilfsprogramme. Die meisten Programme werden für die Bourne Shell geschrieben; außerdem nutzen mehrere wichtige Schnittstellen (make(1), system(3), popen(3) und ihre Entsprechungen in höheren Programmiersprachen wie Perl und Tcl) die Bourne Shell, um Befehle auszuführen. Da die Bourne Shell an so vielen Stellen und so häufig genutzt wird, muss sie die folgenden Anforderungen erfüllen: Schneller Start, ein klar definiertes Verhalten und ein möglichst geringer Speicherverbrauch.

Wir haben bei der vorliegenden Implementierung versucht, möglichst viele dieser Anforderungen zu erfüllen. Um /bin/sh nicht zu groß werden zu lassen, haben wir viele der Annehmlichkeiten der anderen Shells weggelassen. Aus diesem Grund gibt es in den Ports die luxuriöseren Shells wie bash, scsh, tcsh und zsh. Vergleichen Sie einfach mal den Speicherverbrauch der verschiedenen Shells, indem Sie ps -u aufrufen und sich die Angaben in den Spalten “VSZ” und “RSS” ansehen.

7.11. Wieso dauert es so lange, bis Netscape® und Opera starten?

In den meisten Fällen liegt es daran, dass Ihre DNS-Einstellungen fehlerhaft sind. Sowohl Netscape als auch Opera stellen Anfragen an DNS, wenn Sie gestartet werden. Das Fenster des Browsers erscheint erst, wenn das Programm eine Antwort erhalten hat oder es festgestellt hat, dass Ihr System nicht an ein Netzwerk angeschlossen ist.

7.12. Ich habe die Ports-Sammlung mit CVSup aktualisiert. Viele Ports lassen sich danach nicht mehr bauen und geben seltsame Fehlermeldungen aus. Was ist passiert? Ist die Ports-Sammlung kaputt?

Sie sollten immer die Teilsammlung ports-base aktualisieren, wenn Sie nur Teile der Ports-Sammlung mit Hilfe der CVSup-Teilsammlungen aktualisieren. Die Erklärung dazu finden Sie im Handbuch.

7.13. Wie erzeuge ich Audio-CDs aus MIDI-Dateien?

Installieren Sie zuerst den Port audio/timidity++. Danach müssen Sie manuell die GUS-Patche von Eric A. Welsh von http://alleg.sourceforge.net/digmid.html installieren. Wenn TiMidity++ richtig installiert wurde, können Sie mit dem folgenden Kommando MIDI-Dateien in das WAV-Format konvertieren:

% timidity -Ow -s 44100 -o /tmp/juke/01.wav 01.mid

Die WAV-Dateien können dann in andere Formate konvertiert werden oder (wie im FreeBSD-Handbuch beschrieben) auf Audio-CDs gebrannt werden.

Wenn Sie Fragen zu FreeBSD haben, schicken Sie eine E-Mail an <de-bsd-questions@de.FreeBSD.org>.
Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine E-Mail an <de-bsd-translators@de.FreeBSD.org>.