OS X mit Linux oder pures Linux?

C

CaT

Aktives Mitglied
Thread Starter
Dabei seit
15.09.2003
Beiträge
474
Reaktionspunkte
0
Hallo zusammen

Ich hab mir gestern ein Ibook mit Mac OS X gekauft. Und ich muss sagen ich bin bis jetzt sehr zufrieden. Ich habe bis jetzt eigentlich hauptsächlich mit Linux gearbeited (Debian und Gentoo) geschäftlich arbeite ich oft mit Solaris und das schon seit längerer Zeit. Also ist mir die ganze Welt nicht fremd. ABer wenn ich das Terminal von OS X aufmache sehe ich doch einige sachen die anders sind. Und jetzt wollte ich fragen ob ihr ne gute Seite habt wo ich also schon Unixkenner die Infos finde die mir zeigen wie das genau auf OS X aufgebaut ist.

Weiterhin habe ich von diversen Ports gelesen um Linux Apps auf OS X zu installieren.. Wie Fink, Opendarwin usw. Jetzt wollte ich fragen was ihr damit für erfahrungen gemacht habt ? Was könnt ihr mir empfehlen ?
Ich hätte jetzt daran gedacht Portage von Gentoo in OS X zu implementieren. Doch ich weiss nicht ob es evlt. bessere Lösungen gibt oder etwas anderes. Wie ist denn Opendarwin genau ?

Nun noch eine frage zur Auswahl generel. Das ist sehr wichtig. Ich weiss nicht soll ich OS X drauflassen und einfach die Apps von Linux portieren. Oder lohnt es sich komplett eine Linuxdistribution zu installieren ? Ich meine von den Geschwindigkeitsvorteilen ? Denn OS X bietet mir schon einige Vorteile. Aber ich möchte Linux eigentlich nicht auslassen, da ich's doch oft benutze und desshalb bräuchte ich eine möglichst gleiche Umgebung. Und jetzt weiss ich nicht wie ihr's seht. Wenn es gut funktioniert mit dem portieren von Linuxprogrammen auf Mac OS X und alles gut läuft und auch die Rechnerleistung nicht unnötig beansprucht wird werde ich das nehmen. Wenn z.B. mit Linux und selbstkompiliertem Kernel usw. die Geschwindigkeit erheblich höher ist, würd ich eben wahrscheindlich Linux noch installieren. Aber da schon standartmässig OS X daruf ist möchte ich eigentlich nicht nochmal alles machen nur um's zu testen. Denn ich bin sicher es gibt hier einige die mir weiterhelfen können.

Grüsse
CaT
 
Es gibt doch Linux das auf Mac läuft, dann könntest du doch theoretisch deine Festplatte partitionieren, und auf einer dein OS X laufen lassen, auf der anderen Linux.

Sorry, dass ich nicht mehr Details hab, ich hab sowas in der Richtung noch nie gemacht, und ich verspüre auch kein Verlangen nach Linux auf meinem Powerbook. Aber ich bin sicher, es gibt Leute hier die sich auskennen!
 
CaT schrieb:
... Wie Fink, Opendarwin usw. ... Wie ist denn Opendarwin genau ?
Darwin = Name des Mac OS X Kernel + Runtime-System (bin, lib, ...)
OpenDarwin = weitere Apps dazu (Open Source)

Darwin/MacOS X basiert auf Mach/BSD-Unix und das erklärt die meisten Abweichungen zu Linux. Meist gibt es alles unter etwas anderem Dateinamen und anderen Options. Z.B. heisst 'insmod' bei MacOS X 'kextload'.

-- hns
 
hi
danke für den buchtipp.
schildkroeter: Das ist ja genau der Punkt. Ich weiss dass es diverse Linux gibt die auf mac's laufen. Ich hatte auf meinem alten Ibook auch schon Linux daruf. Ohne Probleme. Nur will ich eben nicht umbedingt 2 Systeme. Desshalb frag ich ja wie gut das mit dem portieren klappt. Oder ob ein pures linux z.B. Leistungsmässig viel besser ist. Ich möchte eben nicht alles neu installieren nur um's auszuprobieren. Und desshalb wollte ich euch mal fragen. Und jetzt interessiert mich halt.
OS X weiterhin verwenden und die Applikationen von Linux portieren
oder eine pure Linuxinstallation.
Wie siehts vorallem mit Programmen aus die X11 benötigen ? Basiert Aqua bereits auf X11 ? Ich müsste doch X11 noch installieren oder ? Oder funktionieren die Programme auch so ? (die rede ist halt von allem was nicht umbedingt in der konsole funktioniert sondern grafisches). Wie siehts z.b. mit QT usw. aus ? Können da einfach die Libs installiert werden und dann läuft ein Programm auch unter OS X ?
 
oh das ist schonmal super hns. sind die apps von OpenDarwin in diesemfalle für FreeBsd oder einfach nur die sources die man selber kompiliert (configure, make, make install ) ?
ahh schomal etwas das gut zu wissen ist mit z.b. insmod. woher finde ich genau mehr solche infos ? das ist genau was ich suche.
kann man den kernel für mac os X auch selber kompilieren ? oder funktioniert der wie ein genkernel ?
 
Die meisten guten Programme für Linux wurden auf OSX portiert. Du musst da selber eigentlich nix machen ausser sie per fink oder sonstwas zu installieren.
Die Geschwindigkeit der Programme ist kaum schlechter als unter Linux... Geschwindikgeitsnachteile können eh nur durch schlechte portierung auftreten denn es läuft ja nativ auf dem System... also geht keine Leistung in Emulationen oder so.
Ich empfehle dir (wenn es nur ums reine Arbeiten geht) ein pures OSX. Du wirst wohl fast alles wiederfinden was du unter Linux kanntest.

Sowohl X11 als auch QT (und auch GTK) gibt es für den Mac. X11 kannst du auf der Apple-Seite laden (es ist nicht mit Aqua verwand, läuft aber darin).
QT wurde von Trolltech auch für OSX bereit gestellt... daher kannst du z.B. auch viele KDE-Anwendungen in OSX verwenden.

Wenn du wie gesagt nicht direkt das System Linux brauchst um daran zu bauen, aus Forschungszwecken oder sonst was empfehl ich dir bleib beim OSX. ;)
 
AFAIK liegen die Quellen des Kernel offen... Ich hab aber von noch keinem User gehört der ihn sich selber gebaut hätte... Würd ich auch nicht machen (wüsste net warum.. und ich komm auch aus der Gentoo-Schiene). Genkernel ist doch das script das einen kernel selber baut oder? Dann lieber den Orginalkernel ;)

Du musst bei den Programmen wie Fink eigenltich nix wirklich machen... Bedienung ist wie z.B. Apt oder Portage unter Linux... Du wählst aus was du willst und das System installiert dann das Paket (entweder als Binary oder aus den Sourcen ... je nach Paketverwaltungstool).... BTW: es wurde glaub ich auch Portage auf OSX portiert...
 
oh hi rakor. Vielen dank auch für deine Infos !
Also wurden QT und GTK für Mac geschrieben oder sind das Ports von Linux ? Denn das wäre natürlich interessant.
Also läuft X11 quasi über Aqua ? Und ich muss da nix konfigurieren (alla XFree86.conf oder Xorg.conf)
Nun zum entwickeln an Linux hab ich sonst schon noch Rechner zuhause :) Ich möchte es ehre zum arbeiten. Und ich möchte os X eigentlich schon behalten (vorallem wegen Designprogrammen) aber trotzdem möchte ich gerne die Sachen von Linux nutzen.

Nunja ich frage wegen den Kernelquellen weil es mich interessiert ob sich evlt. noch etwas optimieren lässt bzw. unnötiges rausnehmen. Ich weiss eben wie gesagt nicht wie der Kernel von Mac aufgebaut ist.

Ja Genkernel ist eigentlich ein Kernel der modularisiert ist. D.h. wenn er erkennt eigentlich die installierte Hardware und lädt die Treiber dafür. So kann man bequem neue Geräte hinzufügen und es läuft. Wenn man jedoch das System nicht erweitert und weiss was man für hardware hat mach das nicht gross Sinn. Dann kann man's ja fix reinkompilieren. Und ich wollte fragen ob der Mac Kernel auch so funktioniert.

Betreffend Portage und OS X ja es gibt's. Desshalb hab ich ja im ursprünglichen Post gefragt, ob jemand erfahrungen damit hat.
 
QT und GTK wurden lediglich portiert. Genaueres findest du sicher auf den Seiten von Trolltech und GTK (http://www.trolltech.com/ http://www.gtk.org).

Das X11 rendert sozusagen die Grafik in Aqua.... Du musst da eigenlich nix mehr konfigurieren.... Guck auch mal hier vorbei http://www.apple.com/de/macosx/features/x11/

Du kannst in OSX selbst andere Windowmanager starten wenn du willst... ist aber etwas unnötig.

Zu Kernelfragen und mehr schau dich mal hier um: http://www.opendarwin.org/
Ich halte es nicht für notwendig da rumzuschrauben.. Die Hardwareparlette bei den Macs ist so überschaubar, dass ich mir net vorstellen kann, dass der Kernel überfettet ist...

Allgemein kannst du dich mal hier durchwühlen: http://www.apple.com/downloads/macosx/unix_open_source/


So wie ich das sehen ist für dich ein aufgebohrtest OSX ideal... Aber das ist meine persönliche Meinung...
 
Zuletzt bearbeitet von einem Moderator:
Ob es das Genkernel gibt weiss ich nicht.. Ich hab meine Linuxkernel immer "von Hand" gebaut und unter OSX den Orginalkernel verwendet.

Mit Portage hab ich keine Erfahrung auf dem Mac... Ich habe sporadisch Fink laufen... aber eigenlich brauch ich das kaum da man das meiste mitlerweile auch so für OSX bekommt oder es entsprechende OSX-Anwendungen gibt.
 
CaT schrieb:
kann man den kernel für mac os X auch selber kompilieren ?
Ja *kann* man schon. Hier sind die Sourcen zu finden: http://developer.apple.com/darwin/ und hier eine Anleitung:
http://developer.apple.com/cgi-bin/search.pl?q=how+to+build+kernel&num=10&site=default_collection

Aber wozu? Das meiste kommt über Kernel Extensions und auch die sind ziemlich vollständig. Braucht man nur neu erstellen, wenn man eigene Hardwaretreiber will. Ich habe es einmal aus Spass gemacht und mich dann nur gewundert, dass mein Kernel um ca. 1k Byte kleiner war als der von Apple. Keine Ahnung warum...

Und sehr viel Linux-Sourcen lassen sich direkt oder mit wenigen Änderungen (meist im Makefile, Optionen von gcc) übersetzen. Schwieriger wird es nur, wenn die Pakete bestimmte Libraries voraussetzen. Dann muss man entweder die Libraries auch noch mitübersetzen (und zwar so lange in die Tiefe bis man auf dem kleinsten gemeinsamen Nenner ankommt: POSIX & X11). Oder man passt einige Aufrufe an.

Die Frage ist eher, was Du spezielles suchst, was es noch nicht gibt. Nur dan lohnt es sich in die Tiefen von Darwin einzusteigen. Das ist dann aber auf den Developer-Seiten von Apple relativ gut beschrieben. Trotzdem sehr komplex. Ich habe z.B. erst jetzt nach ca. 4 Jahren MacOS X meinen ersten eigenen Treiber angepasst (noch nicht mal selbst geschrieben).

-- hns
 
CaT schrieb:
Ich weiss eben wie gesagt nicht wie der Kernel von Mac aufgebaut ist.

Ja Genkernel ist eigentlich ein Kernel der modularisiert ist. D.h. wenn er erkennt eigentlich die installierte Hardware und lädt die Treiber dafür. So kann man bequem neue Geräte hinzufügen und es läuft. Wenn man jedoch das System nicht erweitert und weiss was man für hardware hat mach das nicht gross Sinn. Dann kann man's ja fix reinkompilieren. Und ich wollte fragen ob der Mac Kernel auch so funktioniert.
Ja, der Kernel bei mir sieht z.B. so aus:
Code:
hns:~ hns$ ls -l /mach_kernel
-rw-r--r--   1 root  wheel  4308960 Jul  3 07:28 /mach_kernel
hns:~ hns$
also gerade mal 4,3 MByte. Da ist nichts unnötiges drin. Alles andere wird wie bei Linux bei Bedarf geladen und heisst eben KEXT (Kernel Extension) statt Modul. Und da Apple so ziemlich alles mitliefert was man brauchen könnte (mehrere 100 MByte) und trotzdem nur geladen wird was man wirklich braucht, gibts da nicht mehr viel zu optimieren.

Zum grundsätzlichen Aufbau gibts bei Apple Devleoper auch eine Reihe von guten Artikeln. Darwin ist (m.E.) um Welten besser/übersichtlicher dokumentiert als Linux.

-- hns
 
CaT schrieb:
Nunja ich frage wegen den Kernelquellen weil es mich interessiert ob sich evlt. noch etwas optimieren lässt bzw. unnötiges rausnehmen. Ich weiss eben wie gesagt nicht wie der Kernel von Mac aufgebaut ist.

Lass es, es bringt nichts.

Der Kernel von OS X ist ein Microkernel, der sich zur Laufzeit selbst "zusammenbaut". Da kann man nichts unnötiges "rausnehmen", da der Kernel sich schon optimal ans System angepasst hat.

1. Gibt es keine grafische Konfiguration wie bei Linux.
2. Hätte das eh keinen Sinn.
3. Für Änderungen musst du den Source-Code bearbeiten.
 
Rakor schrieb:
Die meisten guten Programme für Linux wurden auf OSX portiert.

Da wird aber meist nicht wirklich "portiert".

Ich benutze keinen Paket-Manager und die original Sourcen und habe bisher alles nötige auch so zum Laufen gekriegt. Da waren keine Source-Code-Änderungen nötig.

Das einzige was fink und Darwinports eigentlich machen sind Skripte zu erstellen, damit das Paket automatisch und mit allen Abhängigkeiten installiert wird.

Es sind nur sehr selten Source-Code-Änderungen nötig. Dort meist bei Programmen, die entsprechen System-Sachen wie Sound benutzen. Hier muss man meist patchen.
 
@CAT: Wenn es dir noch immer um ein Buch geht, dann empfehle ich immer die beiden O'Reilly Bücher "Learning Unix for Mac OS X <Name der Katze>" und "Mac OS X <Name der Katze> for Unix Geeks".
Ich hab mir das Learning Buch für Panther gekauft und komm auch unter Tiger noch damit klar. Das Einzige worüber ich gestolpert bin ist das cronjobs jetzt in Tiger nahezu alle durch launchd ersetzt wurden. Suchst du aber auf developer.apple.com nach launchd findest du die man page und anderes Hilfreiches.

Das Unix Geek Buch steht noch auf meiner Wunschliste.

Zum Portageprogramm:
Ich nutze seit dem ich, eigene Dummheit sei Dank, Mac OS X 10.3.7 nochmal neuinstallieren durfte Darwinports und bin damit überaus zufrieden. Am Ende war ich bei fink fast nur noch damit beschäftigt jeden Tag ein selfupdate zu machen und zu hoffen, daß alles gut geht und wenn du mal ein oder zwei Updates verpaßt hattest, dann warst du gleich ausgeschlossen und mußtest mit Rettungsaktionen und was weiß ich nicht allem das fink ins Leben zurückholen. Es war einfach zum Selbstzweck geworden.

Das gentoo Portage System ist mir unter OS X ehrlich gesagt suspekt. Bei Darwinports und Fink ist mir klar, daß die "abgeschottet" von normalen Mac OS X laufen und dann über Pfade setzen und so ins OS X eingebunden werden und gerade OpenDarwin macht das noch zusätzlich transparent indem es beispielsweise das gnu copy nicht cp nennt sondern gcp. Bei gentoo Portage hatte ich beim Lesen der Ziele immer etwas Bauchweh und das Gefühl, die wollen mein Darwin durch ein gentoo Darwin ersetzen und sich möglichst viel von OS X unter den Nagel reißen. Kann völlig unbegründet sein.
 
Maveric schrieb:
Bei gentoo Portage hatte ich beim Lesen der Ziele immer etwas Bauchweh und das Gefühl, die wollen mein Darwin durch ein gentoo Darwin ersetzen und sich möglichst viel von OS X unter den Nagel reißen. Kann völlig unbegründet sein.

Öhm, genau das ist das Ziel von Gentoo/OSX.
 
hallo
Also danke mal für die Tipps von euch. Ich habe mich gestern mal bei adc registriert und ich bin hell begeistert was die da an Informationen liefern das ist ja unglaublich ! Super sache. Nur brauchts viel Zeit für all die Dokus. Weiterhin hab ich gleich Xcode installiert das is ja auch ne super sache.
Nun ich bin mir jetzt immernoch nicht sicher was ich nehmen soll. Ich brauche eigentlich halt eine Umgebung die es mir schnell und gut ermöglicht Linuxprogramme unter OS X zu verwenden. Im moment kommt mir ehrlich gesagt nichts in den Sinn :)
Also denkt ihr am besten (auch wenn ich später evlt. richtiung development bei Apple oder so gehen will) wäre da Darwin und Opendarwin sowie die Darwinports ? Fink hat einfach mehr Packete als Darwinports. Aber laut Maveric's Beschreibung tönt das ja auch nicht gerade gut. Ist Darwinports besser ?
Und ich möchte dann sicherlich gtk, qt und x11 nutzen. Es wäre mir schon recht wenn ich ein etwas gescheites Packet bzw Sourcemanagement hätte. Also jeder einzelnen Lib nachrennen das würde mich nicht so anmachen.

Ja es stimmt schon dass es dann ein Gentoo/ OS X gibt. Ich kenn halt einfach gentoo und bin sehr zufrieden damit. Aber wenn OpenDarwin mit Darwinports auch ein gutes Sytem ist, dann könnte ich mir das schon vorstellen. Ich bin da sehr offen. Hauptsache es ist ein gutes Sytstem das auch Sinn macht.

Was würdet ihr empfehlen ?
Eben eigentlich könnte ich ja immer nur die Sources runterladen. Mit Xcode hab ich ja ne super Entwicklungsumgebung. Aber eben alles selbst Portieren und alle Libs zusammensuchen möchte ich nicht umbedingt.
 
fink und darwinports tun sich paket mässig nichts...
beide sind nichts für versions-fetischisten...

mit ports hast du eventuell nicht so abstruse paket-abhänigkeiten...

wie schon erwähnt wurde, die meisten sourcen laufen eigentlich out-of-the-box...
das meiste patchen, dass fink/darwinports tun, ist das anpassen an deren verzeichnis struktur (/sw bzw /opt)...
 
Zurück
Oben Unten