Linux-Integration, zwei Fragen eines Newbie

Siassei

Member
Hallo alle zusammen,

zu später Stunde noch ein kleiner Beitrag :-)

Seit einigen Tagen spiele ich mit den Gedanken von Linux (Ubuntu 11.10) auf FreeBSD um zu steigen. Vor einiger Zeit habe ich bereits einen Versuch unternohmen auf FreeBSD 8.x umzusteigen. Nach ein paar Wochen war das Experiment zu ende. Hauptgrund war die fehlende Unterstützung von Hardwarekomponenten des Laptops. In dem letzten halben Jahr hat sich viel geändert. Unter anderem der Laptop :-)

Vor dem Umstieg möchte ich noch ein paar Information bezüglich

1) Im HowTo-Bereich des offiziellen Forums findet sich folgender Artikel
http://forums.freebsd.org/showthread.php?t=26086
In diesem Artikel wird beschrieben, wie man eine Ubuntu-Version in FreeBSD integriert.

Meine Frage hierzu ist, wie gut und mächtig ist diese Unterstützung (Linux-Systeme ala Fedora, Ubuntu, Mint, ....) zu integrieren?
Bekommt man die gewünschten Programme in der Regel zum laufen oder stösst man hier häufig an irgendwelche Grenzen?
Wo sind die Grenzen? Kann ganze Teile des Systems nutzen oder nur die Bibliotheken z.B. libxyz.so?

Zwei Beispielanwendungen aus dem Linux-Bereich
- Gnome Netzwerk Applet
- Unity, der Gnome3 ersatzt kommt in Ubuntu zu Einsatz
- ... hier kannst du dir ein Beispiel überlegen

Kann man diese unter FreeBSD (/compact/linux) installieren und starten?

2) Nvidia Optimus
Gibt es derzeit ein Projekt im BSD-Bereich, dass an einer Integration der Technologie arbeiten?
Ähnlich den Linuxprojekten Bumblebee oder Ironhide. Diese sind viel versprechend. In den ersten Test's mit vier versch. Notebooks hatte ich großen Erfolg.

Gruß, Thomas
 
Zu 2) Nvidia GPUs werden nur mit dem Nvidia Blob unterstützt. Mir ist kein derartiges Projekt bekannt.

Unit und Gnome3 sind für mich Gründe diesen Linux Distros fern zu bleiben.
 
Zu 1:
Der Linuxlutor ist technisch gesehen einfach eine Implementierung der Syscalls des Linux 2.6.16 Kernels. Hinuzu kommen einige andere Dinge wie eine Emulation der Linuxvarianten von /proc und /sys in Form von linprocfs und linsysfs. Damit denkt ein Programm es würde unter einem Linux laufen und funktioniert einfach, ohne jeden Emulationsoverhead und so weiter und so fort. FreeBSD kann - recht wenig bekannt - das Gleiche übrigens auch mit einer Untermenge klassischer SysV-Systeme. Das gesagt ergeben sich nun 3 Dinge.

1) Die meisten Userlandanwendungen aus Linux funktionieren. Oft macht der Sound Probleme, da Linux ALSA und FreeBSD OSS nutzt, aber mit ein wenig Fingerspitzengefühl bekommt man es meist hin.

2) Anwendungen laufen nicht, wenn sie neuere Syscalls in 2.6.16 brauchen. Mal unter uns gesagt, gehen die Linuxer etwas zu sorglos mit Syscalls um, sie scheinen nicht zu wissen, dass man jeden einmal eingefügten Call für die nächste Ewigkeit unterstützen darf. Die historisch recht alten BSD-Systeme sind aus gutem Grund die Systeme mit den mit Abstand am meisten Syscalls... Zum Glück sehen es die Anwendungsentwickler ähnlich und ihnen ist oftmals Kompatiblität sehr wichtig, weshalb es nur sehr wenige Anwendungen gibt, die diese neueren Features nutzen.

3) Wenn Anwendungen mehr als nur Syscalls brauchen, werden sie nicht funktionieren. Das betrifft grundsätzlich alles, was kernelnah ist. Klassische Beispiele dafür sind zum Beispiel X.org oder auch Netzwerkmanager.

Daher:
- Das "Gnome Netzwerk Applet" wird nicht laufen.
- Unity kann hingegen durchaus laufen. Hat aber wohl noch niemand getestet.

Für die Praxis ist es die beste Idee, so viel es geht mit nativen Anwendungen zu machen und den Linuxulator nur dann zu nutzen, wenn es keine Alternativen gibt. Das betrifft dann meist total defekte Anwendungen und Anwendungen ohne Quellcode. Mal unter uns, ich denke, dass 75% der Nutzung des Linuxulators für Spiele ist...
 
Danke Yamagi für deine Antwort. Ich denke dass ich nun die Möglichkeit der Linux-Integration in FreeBSD verstehe.

Zur Kernel-Version 2.6.16. Ähm wenn ich mich jetzt nicht ganz täusche, dann handelt es sich um eine Kernel, der um 2006 erschien. Warum verwendet man eine so alte Kernel-Version?

@Alle
Was sind die klassischen Desktop-Umgebungen für FreeBSD? Was könnt ihr ausser Gnome2 empfehlen?
 
Windowmanager/Desktops gibt es mehr als genug. Nun kann dir hier jeder seine Wahl vorschlagen. Einfacher und besser wäre es aber sicher wenn du einfach mal im Internet nach einer Liste von Windowmanagern/Desktop-Systemen für Unix suchst. Die meisten welche unter einer freien Lizenz stehen wird es auch für FreeBSD geben. (Kannst ja dann auf freshports.org mal nachsehen ob es den Desktop deiner Wahl in den Ports gibt).

Allgemein sind wie Yamagi ja schon sagte sehr viele Anwendungen aus der Linuxwelt auch nativ auf FreeBSD verfügbar. Ein System auf Basis einer Emulation oder Kompartibilitätsschict aufzubauen halte ich auch nicht unbedingt für sinnvoll. Wie ich den Leute immer sage die sich unter anderen Systemen ein "Mac-Like-System" haben wollen. Wenn du nen Mac willst kauf dir einen. So eben auch hier. Wenn du Linux willst, dann nimm Linux. Wo ist da sonst der Vorteil... (OK, beim Mac isses der Preis... Aber an Qualität gewinnt man da kaum was).

Ich denke wenn Unity nicht unbedingt ein Must-Have ist und du keine besonderen Programme einsetzt (hierzu gehören auch einige Spiele), dass du sicherlich mit einem nativen FreeBSD glücklich werden kannst.

Du darfst den Kernel an sich nicht mit den zur Verfügung gestellten Syscalls vergleichen. DIe Entwicklung des Kernels umfasst ja noch deutlich mehr internes. Innere Verbesserungen, Bug Fixes, etc. Das ist in dieser Betrachtungsweise alles uninteressant, da ja kein echter Linux-Kernel da ist. Es geht rein um die Schnittstellendefinition des Kernels 2.6.16
 
Wenn du bisher Ubuntu benutzt hast, versuch's direkt mit PC-BSD (http://pcbsd.org), da hast du ein vorkonfiguriertes FreeBSD direkt out-of-the-box.

Danke für eure Antworten. Werde denn Umstieg in den nächsten Wochen wohl durchziehen

@laemodost
Ich möchte von einem out-of-the-box System wegkommen. Da kann ich gleich bei Ubuntu oder Fedora bleiben. Ich suche ein stabiles und leistungsfähiges System, dass eine sehr gute Abwärtzkompabillität hat.

Gruß, Thomas
 
Hi Siassei.

Da deine Fragen bereits konkret angegangen wurden, will ich lieber noch etwas allgemeiner schwafeln (was mir eh liegt).

Die Namen werden zwar unterschiedlich benutzt, doch ich hoffe, verstanden zu werden, wenn ich den Aufbau eines BetriebsSystems mit dem bekannten Ausdruck "Zwiebel-Modell" beschreibe. Die Zwiebel besteht aus vielen Schalen, die sich Schicht nach Schicht um einen stabilen Kernbereich anlagern und gemeinsam eine Funktionseinheit bilden.
In der anorganischen Welt der SW sind die einzelnen Schichten sogar (teilweise) austauschbar. Der Austausch gelingt am ehesten, wo die Ähnlichkeit am größten ist, erfordert aber mitunter sehr großen Aufwand. So gibt es Betriebssysteme, die sich Linux als Kernel nehmen und darauf die User-Schicht eines FreeBSD laufen lassen oder es gibt das auch umgekehrt, der Kernel von FreeBSD mit GNU, dem typischen Linux-Userland.

Nun habe ich bereits zwei Namen eingeworfen und unsere Zwiebel besteht bisher schon aus Kernel und Userland.
Beide zusammen bezeichnen typischerweise ein Betriebssystem. FreeBSD, NetBSD, OpenBSD, DragonflyBSD zum Beispiel halten das auch so. Deshalb nenne ich Linux selten nur Linux, sondern GNU/Linux (und weil ich auch Betriebssysteme im Einsatz habe, bei denen busybox mit Linux gepaart ist und es durchaus verwirrend ist, einfach nur Linux zu sagen und doch so ganz und gar unterschiedliche Dinge damit zu meinen).
Im Gegensatz dazu gibt es auch Hersteller, die unter dem Begriff Betriebssystem mehr verstehen und etwa auch eine Grafische Oberfläche hinzunehmen. Beispiele sind etwa Mac, Mac OS X und die meisten Microsoft Systeme. Deshalb ist schnell klar, weshalb meine Angewohnheit mit GNU/Linux im Namen nicht alleine dadurch erklärt werden kann, dass ich es gerne präzise habe, denn dann müsste ich für einen Desktop-PC den Namen etwa so wählen: KDE3/XORG/GNU/Linux oder XFCE/X-Free/BSD/HURD, wobei das nun Fantasie-Schöpfungen sind. Und damit wiederum erwähne ich also weitere Schichten in unserem Systemaufbau, die bei Auslieferung sogenannter Komplett-Systeme vorher von jemandem ausgewählt und zusammengestellt wurden.

Wer solch ein System zusammenstellen will, muss die einzelnen Komponenten dazu nicht erfinden. Es ist eben eine Zusammenstellung (womit ich diese Leistung aber nicht klein reden möchte). Alle Komponenten werden in separaten Projekten (meist) in Freiheit entwickelt und können benutzt werden.
Es lässt sich leicht vorstellen, dass das Zusammenbringen von unabhängig entwickelter SW zu einer funktionellen Einheit mitunter schwierig sein kann und dass sich Distributoren deshalb auf eine eher überschaubare Anzahl von Anwendungen begrenzen.
Wie ist denn der "normale" Gang der Dinge?
Wenn jemand ein Basis-System installiert hat, sucht er nach passenden Erweiterungen, zusätzlichen Programmen und lädt deren Quellcode um sie dann für sein System zu kompilieren. Das ist wirklich zeitraubend und schwierig.
FreeBSD bringt hier eine große Erleichterung und bietet ein komplettes Informationssystem zu vielen Quellen. Dieses System nennt sich das Ports-System und in den Ports sind Anwendungen gelistet, also die Orte der Quellen und die Quersummen zu den benötigten Dateien, sowie Patches und spezielle Anpassungen für eine reibungslose Funktion in FreeBSD. Damit können sogar Unbedarfte wie ich Anwendungen zusätzlich installieren.
Damit aber nicht genug, gibt es Helfer, die aus ihren installierten Anwendungen Binärpakete bauen und zur Verfügung stellen. Diese müssen natürlich für die jeweilige Rechner-Architektur gebaut werden und wenn sie für mich passen, kann ich die direkt benutzen und einsetzen und mir so das langsame Kompilieren ersparen.

Oihoihoih. Einstein hatte nach mehr als zehn Jahren angestrengten Nachdenkens eine Formel aus etwa acht Lettern gefunden, mit der er Raum und Zeit neu beschreiben konnte. So einfach kann das aussehen, wenn man lange genug über etwas nachdenkt und klug genug ist, Lösungen zu sehen. Ich fürchte, keines davon trifft auf mich zu. Ich schaffe es leider nicht wirklich klar auszudrücken und schon gar nicht kurz.
Deshalb versuche ich es dauernd mit Wiederholungen und hoffe, dadurch etwas klarer zu werden.

FreeBSD besteht aus zwei Schichten unserer Betriebssystem-Zwiebel und bietet dann zwei mögliche Vereinfachungen, zusätzliche SW zu installieren. Einmal aus den Quellen direkt und einmal fertig gebaute Binärpakete.
Zusätzlich zur Installation der SW erfordert diese oft weitergehende Arbeiten, Konfiguration, automatisches oder abhängiges Starten und so weiter. Dafür muss der FreeBSD-User selbst sorgen.
Ein Nutzer von FreeBSD hat also viel Freiheit in der Wahl, nichts wird ihm vorgegeben, außer dem Grundsystem und zwei Möglichkeiten, SW vereinfacht installieren zu können.

Lass mich mal Ubuntu als Beispiel für den anderen Plott nehmen, weil es bekannt ist und du es auch schon genannt hast.
Da bekommt der Anwender ein vollkommen fertiges Set an Anwendungen installiert, die aufeinander abgestimmt wurden und bereit für den Gebrauch sind.
Darüber hinaus gibt es ebenfalls ein Angebot an Information zu Quellen, doch das hat nur einen relativ kleinen Umfang, denn die bevorzugte Methode ist die Verwendung von Binärpaketen und dazu bietet Ubuntu selbst eine sehr große Auswahl an Möglichkeiten und kann auch eine Auswahl an "fremd-gebauten" Pakten aufnehmen.
Ich habe das nicht gezählt, aber insgesamt dürfte die Auswahl bei Ubuntu weitgehend der bei FreeBSD (und anderen) entsprechen und wahrscheinlich mehr als 80 Prozent der Anwendungen finden sich bei beiden in den sogenannten Paketbäumen.

Das bedeutet: bei Ubuntu bekommst du ein fix und fertiges Endanwender-System und kannst das dann umbauen, wenn es dir nicht passt, während du bei FreeBSD ein Basis-System bekommst, bei dem du selbst den Fortgang bestimmst.

Die Ergebnisse können dann schließlich sehr ähnlich aussehen und vielleicht vollkommen identisch erscheinen. Ob ich einen Brief mit Libre-Office unter Ubuntu oder FreeBSD oder wo auch immer schreibe, macht kaum einen Unterschied. Der Browser Opera arbeitet gleich und sieht gleich aus und so weiter. Auf der Oberfläche sehen unsere Zwiebeln gleich aus, ja, wir verwenden exakt die gleichen Programme!

Mit dieser Erkenntnis also nochmal zurück in die unteren Schichten der Zwiebel.
Was uns Endanwender normalerweise am wenigsten interessiert, ist der vielleicht wichtigste Teil eines Betriebssystems: der Kernel. Was ich dazu nun sage, ist Abenteuergeschichte und nicht fundiert, es ist mein Eindruck.
Bei FreeBSD herrscht hier Ordnung. Da ist alles sehr übersichtlich gehalten und klar und konservativ und es gibt genau eine Version für jedes FreeBSD.
Bei Linux herrscht das Chaos. Der Kernel selbst ist teilweise unüberschaubar und hinsichtlich der Konzepte gibt es so viele Änderungen, dass sich alle dauernd zu widersprechen scheinen. Jede Distribution benutzt nicht nur unterschiedliche Versionen sondern baut auch noch selbst Dinge ein oder aus, ganz wie es den Machern gefällt. Tatsächlich ist ein Ubuntu-Linux (der Kernel!) nicht der Gleiche, wie ein SuSE-Linux oder ein Debian-Linux und dann findet die Entwicklung des Kernels selbst auch noch vollkommen losgelöst von der Entwicklung des Userlands GNU statt und scheint mehr oder weniger ein Eineinhalb-Mann Projekt zu sein. Das ist für mich unendlich verwirrend und unüberschaubar.

Trotzdem gibt es Gründe für Linux, etwa: es funktioniert sau gut!
Mein Eindruck ist, dass es den Entwicklern bei Linux sehr wichtig ist, dass es funktioniert. Dafür unternehmen sie die gewaltigen Anstrengungen und vergessen auch mal ihre eigenen Festlegungen und nehmen schnell was Fremdes auf oder basteln gewaltige Umleitungen. Es ist scheinbar wichtiger, unter allen Umständen zu funktionieren, als irgendwelchen (abstrakten) Grundsätzen treu zu sein.
Das ist vielleicht auch ein Grund, weshalb es so gut mit exotischer HW funktioniert, etwa mit Laptops.
Da ist FreeBSD im Vergleich weit hinten, es bietet einige der benötigten Technologien (soweit ich das sehen kann) noch immer gar nicht an. Stromsparen und schnelle Systemstarts sind nun mal nicht so wichtig für Rechner, die dauernd laufen und die nicht mit Augenmerk auf schmale Akku-Packs entwickelt wurden. Deshalb glaube ich, dass Linux noch immer erste Wahl für Laptops ist.
Und gerade hier legt Ubuntu noch eins drauf und schafft einige eigene Mechanismen, die noch schneller starten sollen und noch weniger Strom verbrauchen helfen.


Deshalb würde ich meinen, Ubuntu-GNU/Linux ist für einen Laptop erste Wahl.
Es ist nicht nur ein Linux-System, hat also diesen auf Funktion getrimmten Kern, es ist auch ein System mit sehr umfangreichen Möglichkeiten, einem sehr großen Angebot an fertig gepackten Paketen, die einfach zusätzliche SW installieren lassen und es ist sehr gut dokumentiert. Es gibt umfangreiche Bücher (wegen des Umfangs nicht immer sofort bei Erscheinen einer neuen Version), die kostenlos im Netz verfügbar sind und etwa dem FreeBSD-Handbuch entsprechen. Außerdem gibt es ein gutes deutsches Forum.

Nun, all dieses Gute, was ich da zu Ubuntu sage, ist aber letztlich eine Ecke weit nur Spekulation und bei anderen nachgelesen. Es war mir selbst zu kompliziert nochmal was zu lernen und ich kann sehr gut mit den Einschränkungen leben und wählte daher lieber FreeBSD für meinen Netbook. Diese Entscheidung hat aber mehr mit meinem Starrsinn zu tun, als dass ich sie praktisch begründen könnte und deshalb kann ich daraus keine Empfehlung für andere ableiten.
Wie ich es beschrieb, scheinen mir weitaus mehr Gründe für die Wahl von Ubuntu zu sprechen und ein Grund ist Linux.
Linux gibt es aber nicht nur bei Ubuntu.
Mehr Freiheit in der Zusammenstellung kannst du schon bei Debian erwarten und sicher bei Gentoo oder Arch-Linux.


Du solltest das deshalb vielleicht nochmal überdenken, ob du wirklich ein FreeBSD auf deinem Laptop haben willst. Wenn du vor der Entscheidung stehst, erscheint es mir praktischer, sich in eine der Linux-Distributionen einzuarbeiten und damit mehr Funktion in Richtung Laptop-HW zu bekommen.
 
Ubuntu oder FreeBSD. Meine Meinung ist wenn man sowas später in Betracht zieht schon beim kauf des Gerätes berücksichtigen und eben ein ordentliches Gerät kaufen, ohne zusammengefrickelten Bios oder dies und jene Option sind eine Krücke oder funktionieren nur mit Windows. Solche Entscheidungen würden auch den Entwicklern helfen. Problem ist heute doch einfach das sich viele Hardwarehersteller nicht an Standarts halten die sie unterschrieben haben und einfach was schnell verkaufen wollen auf Teufel komm raus und der User und Entwickler quält sich mit der Kacke ab.
Gruß
 
Ubuntu oder FreeBSD. Meine Meinung ist wenn man sowas später in Betracht zieht schon beim kauf des Gerätes berücksichtigen und eben ein ordentliches Gerät kaufen, ohne zusammengefrickelten Bios oder dies und jene Option sind eine Krücke oder funktionieren nur mit Windows. Solche Entscheidungen würden auch den Entwicklern helfen. Problem ist heute doch einfach das sich viele Hardwarehersteller nicht an Standarts halten die sie unterschrieben haben und einfach was schnell verkaufen wollen auf Teufel komm raus und der User und Entwickler quält sich mit der Kacke ab.
Gruß

... und eben ganz besonders ärgerlich bei Laptops und Netbooks, wo eh schon eher exotische HW im Einsatz ist und die Komponenten mitunter nur sehr schwierig zu tauschen sind, wenn es denn überhaupt Alternativen gibt.

ich stimme deiner Ansicht vollkommen zu: würden die Leute (mich eingeschlossen) vorher darüber nachdenken, was sie da kaufen, wären wir in einer besseren Welt. Leider kaufen die meisten Leute einfach nur und überlegen gar nichts und wenn sie etwas überlegen, dann garantiert nicht in Richtung Betriebssysteme.

Das ist nur leicht OT:
solch ein Verhalten kenne ich aus einem anderen Bereich ebenfalls. Die Leute schauen auf Werbung und zwar vor allem, wenn sie nicht wissen, was sie eigentlich brauchen. Das hört sich merkwürdig an, aber ein vollkommen unbedarfter Käufer wird eher einen PC kaufen, wenn der für gleiches Geld 2.7GHz hat und nicht den nehmen, der 2.4GHz kann. Es wird eher der genommen, der die 750GB Platte drin hat als der, mit 500GB und wer eine 1600er Matrix anbieten kann, schlägt den 1200er, was auch immer das sein soll und 4D würde 3D schlagen, wie auch heute schon 3D 2D überbietet. Andere Punkte, Konstruktionsmerkmale und verbautes Material etwa, bleiben demgegenüber im Hintergrund und spielen keine Rolle. Leute sind so.
Wenn dort angeboten würde: taugt für FreeBSD, wäre das vollkommen uninteressant.
Überhaupt würde kaum ein PC ohne vorinstalliertes Betriebssystem gekauft werden und alles, was nicht proprietär ist und Geld kostet, hat es sehr schwer und wird misstrauisch beäugt. (Wären diese Systeme nicht vorinstalliert, könnte sie auch kaum jemand installieren.)

Kurzum, warum Menschen so merkwürdig entscheiden, bleibt mir vollkommen schleierhaft, zeigt sich aber durchgängig in unserem Verhalten. Es spielen irgendwelche Gründe eine stärkere Rolle, als kühler Verstand und nüchternes Urteil.
Niemand ist darüber erhaben.
Bei Themen, die uns mehr interessieren und wo wir eigene Urteile haben, merken wir es vielleicht eher. In allen Bereichen sind aber jene stets in der Minderzahl, die sich mit einem Thema intensiver befassen und Kaufentscheidungen bewusster treffen. Deshalb sind diese "bewussten Käufer" stets ein schlechter Markt, allenfalls eine Nische und es wird sich nicht an ihnen orientiert, niemals.
 
Zurück
Oben