[OpenBSD]

[FAQ-Index] [Zum Kapitel 7 - Tastatur- und Bildschirmkontrollen] [Zum Kapitel 9 - Zu OpenBSD migrieren]

8 - Allgemeine Fragen


Inhaltsverzeichnis


8.1 - Ich habe mein root-Passwort vergessen, was kann ich nun tun?

Ein paar Schritte zur Wiederherstellung

  1. Boote in den ,single user'-Modus. Tippe bei der i386-Architektur beim Boot-Prompt boot -s ein.
  2. Mounte die Laufwerke.
    # fsck -p / && mount -uw /
  3. Wenn /usr nicht auf der gleichen Partition wie / ist (und das sollte nicht der Fall sein), dann musst du diese ebenfalls mounten
    # fsck -p /usr && mount /usr
  4. Führe passwd(1) aus
  5. Boote in den ,multiuser'-Modus ... und merke dir dein Passwort!

8.2 - X startet nicht, ich bekomme jede Menge Fehlermeldungen

Wenn du X vollständig eingerichtet hast und du eine XF86Config verwendest, bei der du weißt, dass sie funktioniert, dann liegt das Problem höchstwahrscheinlich in der machdep.allowaperture. Du musst ebenfalls sicherstellen, dass:

option APERTURE

in deiner Kernelkonfiguration steht. [Beim GENERIC-Kernel ist das bereits der Fall]

Danach musst du /etc/sysctl.conf editieren und machdep.allowaperture=2 setzen. Dies wird X erlauben, auf den Aperture-Treiber zuzugreifen. Dies wäre bereits gesetzt, hättest du während der Installation gesagt, dass du X verwenden wirst. OpenBSD benötigt für alle X-Server, dass der Aperture-Treiber gesetzt ist, weil dieser Zugriffe auf die E/A-Ports und auf die Grafikkarten kontrolliert.

Für weitere Informationen über das Konfigurieren und Verwenden von X auf deiner Plattform, lies die /usr/X11R6/README-Datei auf deinem installierten System.

8.3 - Kann ich Programmiersprache XYZ unter OpenBSD einsetzen?

Du wirst Unterstützung für die meisten gängigen Programmiersprachen entweder im Basissystem (genauer gesagt in den Dateisets baseXX.tgz und compXX.tgz) oder im Packages- und Portssystem finden. Es wird empfohlen, dass du das benötigte Dateiset oder das Package für den Compiler installierst, den du benutzen möchtest, statt ihn vom Quelltext aus zu übersetzen. Für das Übersetzen einiger Compiler werden viele Systemressourcen benötigt. Es ist meist auch nur sinnvoll, wenn du spezielle Ansprüche stellst oder kein Package vorliegt.

Die folgende Tabelle liefert einen Überblick über die Compiler der unterschiedlichen Sprachen. In ihr kannst du sowohl die Compiler als auch mögliche Probleme oder Begrenzungen finden, die bei der Benutzung der Sprachen auftreten können. Einige Compiler stehen nur für bestimmte Plattformen bereit. Ob deine Plattform unterstützt wird kannst du herausfinden, indem du entweder das Suchergebnis durch den Ports-Tree überprüfst oder direkt einen Blick auf die Makefile des Ports wirfst. Im zweiten Fall musst du nach den Zeilen ONLY_FOR_ARCHS, NOT_FOR_ARCHS, BROKEN, etc. suchen.

Hinweis: In diesem Artikel wird eine alphabetisch sortierte Liste bereitgestellt, um das Suchen nach einer bestimmten Sprache zu vereinfachen (zwischen den unterschiedlichen Kategorien der Programmiersprachen wurde nicht unterschieden). Es wurden nicht alle Sprachen aufgeführt, die es für OpenBSD gibt oder unter OpenBSD genutzt werden können. Wenn du Ungenauigkeiten oder Probleme entdeckst, die hier nicht behandelt wurden, sende bitte einen Bericht darüber.

SpracheWo?Hinweise
Awk base38.tgz, awk(1)
lang/gawk GNU awk
C, C++ comp38.tgz, gcc(1) Die C-/C++-Compiler im Basissystem wurden überprüft und standardmäßig mit Sicherheitsverbesserungen (z. B. ProPolice) ausgestattet. Lies bitte gcc-local(1) für weitere Details. Diese Compiler werden ebenfalls Warnungen ausgeben, wenn unsichere Funktionen wie sprintf(), strcpy(), strcat(), tmpnam(), etc. genutzt werden. Beachte, dass die meisten Plattformen gcc 3.3.5 nutzen - einige verwenden immer noch 2.95.3.
C, C++ lang/gcc Diese Compiler wurden nicht auf Sicherheit überprüft und beinhalten keine Sicherheitsverbesserungen wie die Compiler, die sich im Basissystem befinden. Die Compiler wurden in egcc, eg++, etc. umbenannt, um die Verwechslung mit ihren Pendanten im Basissystem auszuschließen.
Caml lang/ocaml Objective Caml
COBOL lang/open-cobol
Fortran comp38.tgz, g77(1) Nur Unterstützung für Fortran 77.
lang/gcc Fortram 95 wird auch von egfortran unterstützt, der sich im gcc 4.0 und neueren Versionen befindet. Dieser neue Compiler wird als Subpackage (g95) vom gcc bereitgestellt.
Haskell lang/ghc
lang/nhc98
Java devel/jdk Sun JDK - keine Packages verfügbar; siehe die Übersetzungsanweisungen weiter unten.
lang/jikes Schneller Compiler, der gut läuft. Er benötigt ein »Laufzeit-jar: die Bytecodeversion der gesamten Standard-API.
devel/eclipse Große IDE; funktioniert mit dem Sun JDK
Lua lang/lua Zusätzliche Lua-Bibliotheken und Hilfswerkzeuge können über den Ports-Tree installiert werden.
Perl base38.tgz, perl(1) Viele Perl-Module sind über den Ports-Tree verfügbar; suche also erst dort, bevor du Module von CPAN installierst.
PHP www/php4 Viele Subpackages werden für unterschiedliche PHP-Module bereitgestellt.
www/php5
Prolog lang/gprolog GNU Prolog-Compiler.
Python lang/python Andere Ports verwenden standardmäßig Python 2.3.
Ruby lang/ruby
Scheme lang/scm
Smalltalk lang/squeak
Tcl lang/tcl

Sun JDK übersetzen

Aufgrund Suns restriktiver SCSL-Lizenz kann OpenBSD keine Binärpackages des JDKs ausliefern. Dies bedeutet, dass du es aus den Ports erstellen musst. Beachte, dass du sehr viel RAM benötigst, damit die Erzeugung erfolgreich beendet werden kann.

Die JDK-Ports befinden sich in dem Unterverzeichnis devel/jdk des Ports-Trees. Du kannst zwischen verschiedenen Versionen wählen - jede hat ihr eigenes Unterverzeichnis. Nur die Versionen 1.3 und 1.4 haben ein Browserplugin. Wenn du einfach nur make eingibst, dann wirst du eine Bildschirmmeldung sehen, die dir mitteilt, dass du die Quelltextdateien von Suns Website per Hand herunterladen musst. Vor dem Runterladen musst du dich auf der Website registieren - und die Lizenzbestimmungen akzeptieren. Das ist der Grund, warum das Ports-Framework den Download nicht automatisch starten kann.

Kopiere die benötigten Distributionsdateien und -patches in das Verzeichnis /usr/ports/distfiles sobald du sie heruntergeladen hast und beginne mit dem Build, indem du im Unterverzeichnis des Ports make aufrufst.

Das JDK benötigt einen funktionierenden Java-2-Compiler als Bootstrap, um erzeugt werden zu können. Für diesen Zweck verwendet der Port eine Linux-Version des JDKs. Wenn du das ungerecht findest, dann kannst du dich bei Sun beschweren und nachfragen, warum sie keine native OpenBSD-Version bereitstellen. Die Linux-Emulation unter OpenBSD funktioniert nur auf i386-Systemen, so dass das JDK nur auf i386 erzeugt werden kann. Das Ports-Framework sollte sich selbst darum kümmern, die benötigten Dateien zu installieren und kern.emul.linux=1 zu setzen. Für weitere Informationen über die Linux-Emulation lies bitte die compat_linux(8)-Manualseite sowie FAQ 9 - Linux-Binaries unter OpenBSD ausführen. Beachte, dass diese Linux-Emulation nur während der Erzeugungsphase vom JDK benötigt wird; das Ergebnis wird nativ unter OpenBSD laufen. Du benötigst keine Linux-Emulation, um das Java-Plugin benutzen zu können.

Nach vielen Stunden wird der Build dann fertig sein. Mache dann mit make install weiter, um das JDK zu installieren.

Andere Entwicklungswerkzeuge

Zusätzlich gibt es viele andere Entwicklungswerkzeuge, die im Basissystem bereitgestellt werden oder als Package oder Port installiert werden können. Ein paar Beispiele sind: