prospective_user asks:
"I
am a heavy user of Unix, spend most of my time running Linux and am
considering getting myself an iBook, after seeing a considerable
amount of exposure Macs/Apple have in both Slashdot and the O'Reilly
Network. Given that MacOS X is based on FreeBSD/Mach, I suppose that the usual
Unix libraries and environments (like ncurses and tcl/tk) are
available in MacOS X (which I hope is true, for text-based
applications). In fact, I'm concerned about the Unix side of MacOS X
and also plan on running Debian/PPC on it, but I plan to primarily use
MacOS X. So, before having an (uncertain) investment in a new platform, it
would be reasonable to have a bit more of background on it and thus,
the questions: how well does MacOS X support traditional Unix
applications? For instance, how do the following applications run
under MacOS X (which I use the most): teTeX, GNU Emacs, mutt and
fetchmail?" Note that the submittor isn't asking if OSX is or is
not a Unix; we've
fielded
that question already. No, the question here is where does OSX
differ from the other unicies.
"Also regarding the investment in a new platform and coming from the
x86 world, I'm a bit interested about the PowerPC performance in
comparison to what I could get with a x86 notebook. I've read some
articles and pages that suggest that PowerPCs may not be fast (or, in
fact, may be quite slower than their x86 counterparts):
Some of the sources I've read are:
these
pages, from
D. J. Bernsteins's website, and
this article on
processor performance from the
GMP website.
Also, as some later questions, can the portable Macs be plugged to
non-mac monitors? And does MacOS X feature a packet filter like Linux
or other BSDs do?
Any comments and experiences with these machines are welcome.
Thanks."
Linux is great for what it is. Linux is a swiss army knife. It is most things to most people. There's nothing it wont do if you're willing to put forth the effort to use what's there. In itself that's a wonderful design philosophy. I've been using Linux for a long time and it amazes me what it can do when people put their minds to it. Gearheads love this sort of OS, and love to demonstrate it's ability to perform any function no matter how arcane or bizarre the procedure to get there is. The people who build Linux are pragmatists. Soured by years of lofty goals, but failed implementations, they work to make a system that solves all the problems, even if they have to compromise usability, simplicity, or advanced design. Efficiency is stressed at the system level. I've never encountered a general purpose computing task that could not be solved by Linux.
MacOS X on the other hand is more like a perfectly ergonomic, intuitivley simple yet surprisingly flexible single bladed knife. It doesn't have a corkscrew or scissors, But the handle grip doubles as a file and it is perfectly balanced along every axis. Ninjas use it for throwing, Butchers use it for cutting meat. Carpenters use it to score material and Master chefs use it to prepare dishes, but you wont be able to open a wine bottle, it wont loosen most phillips screws and you'll just make a mess if you try to open a can of peas or bottle of beer with it. It also wont fit in your pocket. However, if there was ever a knife that was a perfect balance of asthetics, utility, and well executed engineering, this is it. Again, a wonderful design philosophy.
Hear Hear. I thoroughly agree with the three bullet points in the previous post; may I add my 2 cents?
Even after 10 months of OS X, you might be less than dissapointed if you're indeed looking for an operating environment that behaves like what you're used to (say, on BSD or Linux).
My main gripe with OS X was when I upgraded from 10 to 10.1, all my build tools were broken, and I had to bite my lip and wait for Apple's Developer's Kit fix. That sort of thing doesn't happen while using Linux (not yet, to me anyway).
Try writing a device driver? (can't do PCMCIA or IR yet, thanks Apple). On a _unixy_ system,
write a file or two, include library headers and functions, toss a compiler in, you're all set. Under OS X, it's such a curcuituous wild goose chase.
My conclusion: OS X has pretty graphics, apps, and a generally useful programming environment (I mean editor, command line, cc, ld; not that ProjectBuilder); but if you really want to do something other than puttering around in the command line, you will be less than impressed. (I don't know much about Solaris, so I can't say anything about being able to fiddle with it the way you can Linux, ?BSD?, Minix, et al.
I'm afraid all of MacOS X's vaunted Unixness is little more than FUD.
OS X is based on Darwin, which is a full-fledged Unix kernel that complies with every relevant standard: POSIX, XPG, you name it. Because of this fact, software written within those standards compiles and runs with no problems.
Just this morning I wanted to download some big ISOs to my iMac at home while I was away; why waste that expensive DSL line just 'cause I'm not at home? So I logged in to my iMac with SSH and used NcFTP to download the source code for GNU Screen from the GNU FTP site. Then it was "configure && make && sudo make install." At that point, I was able to run "screen" and use a detached terminal session from the office to download my ISOs.
If that's not pretty damn Unix-like, I don't know what is.
Of course, that doesn't mean OS X is just like Solaris, or HP-UX, or IRIX, or FreeBSD, or Linux any more than those OSs are all like each other. The definition of "Unix-like" is defined by a set of standards, and OS X meets 'em.
You're talking about how different OS X is from your expectations, not how it fits the definition of "Unix." They're not the same thing.
Also, I don't think "FUD" means what you think it means.
The Unix directories are completely hidden from the Finder
/etc, all I can say is THANK GOD! OS X is great for one reason only - they took Unix, dumped all the crap, and kept all the good stuff. It's Unix, how it was meant to be done. No more worrying about hundreds of apps, each with their own configuration mechanism - it all goes through Apple's (NeXT's) APIs and is stored as XML.
No they're not. There's an option - it MAY be "Show hidden files" or something to that effect, but I'm pretty sure it's not. I'm not at my OS X box right now so I can't check. It can be done, though.
Now, as for your gripes about
and likewise one cannot start GUI apps from the console.
Try the "open" command.
I'm very happy with Mac OS X for two reasons:
m l
1) I previously worked for a large Linux and Solaris based ISP. I'm still able to work with all of my favorite command line utilities and perl scripts.
2) It's boss friendly, It's geek friendly. -- I can compile and run the stuff I want. My boss can run Microsoft Office v.X. It's a "commercial, supported OS", whatever the hell that means (important to some people I guess). And the full, complete developer environment is free....
http://developer.apple.com/tools/macosxtools.ht
If you are willing to run Xwindows in addition to MacOS X you can get almost anything working... as other have suggested look into the fink project.
Pluses to Apple Hardware:
Fairly nice power management, I have not done the comparison, but I get decent (2.5 hours on a battery) off an old walstreet powerbook in OS X.
Nice wireless, Airport is a just another standard wireless card, but it works well out of the box.
I have had no problems attaching PBs to a number of external monitor and projectors.
In general they make nice hardware.
I agree with you. For that matter, AIX (which is a UNIX for all intents and purposes....) does something similar with it's implementation of UNIX. All AIX config is done in SMITTY or SMIT (both GUI and a ASCII terminal driven) and all config is stored in the ODM Database. Sure, you can make changes and changes that work to the standard /etc text files, but those changes are lost when you reboot/IPL. I believe IBM still calls a reboot an IPL even under AIX....amazing how many mainframish like things are throughout AIX....program fixes are called PTF's in both AIX, OS/390 (or whatever MVS is now called) and DOS/VSE. In any case, who gives a crap where thigns are stored/configged? I mean even the Linux guys can't all decide on where to store what. Desktops do they go in /usr or /opt? GRUB stores it's config in /boot/grub/menu.lst .....LILO stores it's info in /etc/lilo.conf. Grub you can make a change and reboot. Lilo you must run lilo after updating a kernel or get lilililiii. The things that makes a machine UNIX like, to me, is how you interface with it and not how close to a "standard" which doesn't really seem to exist between even true UNIX machines. Can you SSH into a OSX based machine and run tcsh/bash/ksh or whatever and then run a text based FTP client and download source, compile it, then do whetever and as another poster already said, run it. You can. You can download just abut any Linux source code and get it to compile (well, that's what I have heard anyway.....). Sure, a Carbonized or Cocoa app looks great and may not be a true "UNIX" type of app, but what about a GNOME or KDE app? Are they more UNIXy? I think not.
Gorkman
I am a long time Linux and UNIX user. I began running Linux exclusively fairly early in its life cycle, and thus I require a nice UNIX environment for my day to day life.
/etc/hosts file exists, but does not appear to be used. Instead, you must use Apple's NetInfo manager. Additionally, the base compiler's supplied with Apple's developer tools have some differences that make porting a little bit interesting. Overall though, its a great UNIX environment.
About 3 weeks ago, I purchased an Apple Titanium PowerBook G4 with the intent of installing Linux on it. Since then, my experiences with OS X have made me reconsider.
I started out quite skeptical, but was pleasantly surprised to find many of my favorite Linux/UNIX applications available. Step 1 was to install Fink. Fink is a source and binary distribution of UNIX applications and utilities for OS X. I installed it quickly, and was able to use the debian-like commands (apt-get install!) to get Python, rootless XFree86, and bash installed. Fink can be found at http://fink.sourceforge.net.
Since then, I have grown used to the excellent environment that they have built, Its very refreshing to see such a usable and powerful desktop environment based around a standard UNIX kernel!
Now, there are some caveats. Some of the standard locations for things don't make sense. For example, the
I am extremely happy with the UNIX side of Mac OS X, but I am equally impressed with the amazing usability and cool technology of Aqua and Quartz. Very cool stuff.
If you have any questions about my experience, feel free to post them here and I will do my best to respond.