Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

Elenita

macrumors member
Original poster
Mar 2, 2003
34
0
Washington, DC
Hey, everyone,

It seems like a number of switchers these days are Unix or Linux users, and I was wondering if anybody who's used (or uses) these OS'es could questions about Linux, Unix, and the Unix-ness of Mac OS X.

Just to let you know where I'm coming from, I'm a former Windows (3.1/95/98/2k/NT/XP) user who was so sick of crashes, freezes, missing drivers, spyware, etc. that I started looking at Linux. Somehow, I ended up looking at Mac OS X, and was impressed enough to wait for a 15" Aluminum Powerbook. I love the UI, but I'm also curious about the Unix core and Unix/Linux in general.

So, in no particular order:

--I know Linux is based on Unix, but what differentiates the two? What can be done with one that can't be done with the other? (I'm sorry if this is a really idiotic question)

--Are there any benefits in using a true Unix/Linux distro on PPC over using Jaguar (or Panther)?

--Given the proprietary non-Unix layers on top of Darwin, is it really possible to do *everything* through the command line?

--Are there any quirks in the tcsh Terminal in OS X that aren't in a regular Unix/Linux distro?

I'm sure I'll think of more questions later, but I think I'll start here. Thanks in advance!
 
1) Linux is (afaik) *nix-like. It started out very modestly, as something that really can't be considered unix. Since then, it's expanded into something very unix-like. A sort of unix clone perhaps. Also, a lot of unix systems now use software developed for Linux, making them more linux like. I could be a bit off here.

2) A few. Darwin isn't a terribly good *nix distro since it's just designed to run OSX. That said, it seems to have plenty of software these days, and it has more drivers for Mac stuff (I've heard their x86 drivers are rather limited right now). Linux, for example would probably have better scaling to very large and small machines, and a slightly larger amount of software. OpenBSD would be more secure (it's more secure that just about anything, from what I've heard). FreeBSD would be similar, except I don't think it has a PowerPC port.

3) Nope. You're not going to be able to run anything using Carbon or Cocoa without at least having the graphical part running. So, no Photoshop, no Word, no iTunes, etc... You can use the terminal to launch graphical applications, but only if you actually have the graphical part started up (to run without it, log in as >console).

4) Not with tcsh itself, afaik. OSX has some files in different places, uses netinfo, and uses the mach-o binary format rather than the ELF one used by Linux, but I think the shells are the same.
 
Originally posted by Catfish_Man
2) A few. Darwin isn't a terribly good *nix distro since it's just designed to run OSX. That said, it seems to have plenty of software these days, and it has more drivers for Mac stuff (I've heard their x86 drivers are rather limited right now). Linux, for example would probably have better scaling to very large and small machines, and a slightly larger amount of software. OpenBSD would be more secure (it's more secure that just about anything, from what I've heard). FreeBSD would be similar, except I don't think it has a PowerPC port.

Maybe I'm just dense...

Then, what could I get from using one of those distros (or a Linux distro like Yellow Dog Linux, SuSE, Debian) that I couldn't get from Jaguar (or Panther) besides the increased security of Open BSD? Especially since I can download Linux packages via Fink?

To put it another way, since I don't think I'm making myself very clear: at the risk of boiling things down too far, Jaguar is sometimes touted as Unix with a pretty UI that has the ability to run binary applications. What does one lose by putting Quartz, Open GL, and Aqua atop a Unix or hypothetical Linux distro? What could one gain by using a distro (Unix or Linux) that lacks those layers?

Thanks a million.
 
unix is the name given to operating systems using portions of the actual UNIX code licensed from the SCO. linux is an attempt to clone this functionality. to my knowledge, the only commercially available UNIX to run on PPC is IBM's AIX, but you probably can't get that unless you buy an IBM server.

linux/bsd are free, while a license for a commercial UNIX will cost you a lot of money and wouldn't be worth it, linux would suit you better, as there's much more support and precompiled binaries.

obviously i'm a little biased, but mac os x is much better than linux. if you're planning on buying a mac just to run linux then you're wasting a lot of money. you can run almost any linux software on osx because apple provides an x11 server and there are great projects like fink to help port software to darwin.
 
Originally posted by FattyMembrane
obviously i'm a little biased, but mac os x is much better than linux. if you're planning on buying a mac just to run linux then you're wasting a lot of money. you can run almost any linux software on osx because apple provides an x11 server and there are great projects like fink to help port software to darwin.

Oh, I had no intention of doing that, don't worry. :)

I love my Powerbook and OS X, and am really glad I ended my very dysfunctional relationship with Microsoft. I'm just curious about the advantages and disadvantages of using an open source OS when compared to a semi-open source model like Jaguar or Panther.

It's possible that I may pick up a cheap copy of Yellow Dog Linux or SuSE or Debian or whatever to experiment. Stick it on a secondary partition and just see what possibilities exist in the Open Source world.

Or maybe not. After all, I'm comfortable with, but still new to, Mac OS X territory and might want to spend some more time exploring it before jumping into something new. And like you said, FattyMembrane, x11 and Fink are out there, and it's possible I'll use these tools to download packages and just increase my tcsh skills instead.

::shrug:: I don't really know yet. At this point, I'm just trying to consider all my options and learn what I can.

Thanks for the advice.
 
--I know Linux is based on Unix, but what differentiates the two? What can be done with one that can't be done with the other? (I'm sorry if this is a really idiotic question)

linux was developed as a free alternative to unix, and is the largest if not the first open source project of its kind. the beginnings went by the name "gnu", which in recursive geek-esque fashion says "gnu's not unix". it works essentially the same way and is compatible with code written for other flavors of unix after a recompile, but without use of any proprietary code. may i suggest an excellent documentary.

--Are there any benefits in using a true Unix/Linux distro on PPC over using Jaguar (or Panther)?

really depends on what you're doing. if you want adobe stuff, you're on win or mac (or possibly irix, i swear i saw a copy of illustrator on an indy). the gimp is not a photoshop replacement, though it tries to be. if you want ease of use you're on mac (not one linux distro have i considered easy for even the simplest of tasks; no way am i editing a file and restarting xfree to change screen res). if you want a stripped down os for serving, linux might be a good idea, or the only idea if you're limited by old hardware.

--Given the proprietary non-Unix layers on top of Darwin, is it really possible to do *everything* through the command line?

already been said. graphical stuff, no. commands to edit text and manage files and change settings, yes. i'm sure there's some good tutorials out there for learning a *nix command line.

to my knowledge, the only commercially available UNIX to run on PPC is IBM's AIX, but you probably can't get that unless you buy an IBM server.

there was a/ux, which is very scary to me. in another dimension we are all using a/ux. (and in yet another dimension we're all using be os, but that's beside the point)
 
couple comments on things i've not seen explicitly covered in this thread...

- the osx command line is very full-featured. of course, it can't do things that require a gui, but i don't think that was the original question. its functionality compares favorably to linux distributions. many packages that compile/run on such distributions will also do so on osx.

- imho, the differences between osx and the various linux distributions are no larger than the differences among the linux distributions themselves (apple-added apps aside)

- the great advantage of the linux distributions is the ability to run on a huge variety of machines. of course, osx will only run on a subset of apple hardware

- osx and the included apps make for a great environment. it should provide the base for what 99% of normal (i.e. not corporate) users need to do. the 1%, of course, should investigate compatability for their particular package of choice

*** a note on my "corporate" comment: of course, osx can run office-type apps perfectly well. what i mean is things like SAP, which afaik isn't offered on osx.
 
I'm just curious about the advantages and disadvantages of using an open source OS when compared to a semi-open source model like Jaguar or Panther.

with osx, we get the best of both worlds. the elegance and compatibility of the mac os, and access to all the great open-source tools through darwin (essentially a repackaged version of freebsd). if you use the XDarwin x11 setup instead of apple's, you can actually boot the computer into a linux-like x11 environment instead of the mac os.

It's possible that I may pick up a cheap copy of Yellow Dog Linux or SuSE or Debian or whatever to experiment. Stick it on a secondary partition and just see what possibilities exist in the Open Source world.

most of these companies let you download a copy for free. i'd suggest trying one of the LiveCDs from gentoo. it's an entire system with gnome/kde on a bootable cd. i have one and it's great for tinkering around.
 
linux was developed as a free alternative to unix, and is the largest if not the first open source project of its kind. the beginnings went by the name "gnu", which in recursive geek-esque fashion says "gnu's not unix". it works essentially the same way and is compatible with code written for other flavors of unix after a recompile, but without use of any proprietary code. may i suggest an excellent documentary.

Thanks. I think all the pieces of the what-differentiates-unix-from-linux puzzle are finally coming together. And the documentary looks really interesting; I'll rent it as soon as I get a chance.

That raises another question for me, though. Why are the BSD's, which also are open source (aren't they?) and attempt to clone Unix functionality, not considered Linux? Is the underlying code just too different--an attempt to reach the same goal as Linux but in an entirely different way? Or does it have to do with the fact that the code originally came out of Berkley?

God, asking these questions makes me realize how ignorant I am about every aspect of open source. :(

there was a/ux, which is very scary to me. in another dimension we are all using a/ux. (and in yet another dimension we're all using be os, but that's beside the point)

Don't forget NeXTStep! Looking back, I guess it shouldn't be a big surprise that the Mac OS made the transition to *nix...

imho, the differences between osx and the various linux distributions are no larger than the differences among the linux distributions themselves (apple-added apps aside)

Ahhh, that's comforting to know. Why it's so comforting, I'm not sure. It might have to do with my (mistaken) assumption that the proprietary layers on top of Darwin limited the Unix-ness of Panther/Jaguar. Or that the proprietary layers somehow fundamentally altered the Unix part of the code. Or something.

Sorry, this is one of those things that probably only makes sense in my my head. But thanks for making that explicitly clear, zimv20.

most of these companies let you download a copy for free. i'd suggest trying one of the LiveCDs from gentoo. it's an entire system with gnome/kde on a bootable cd. i have one and it's great for tinkering around.

Oh, wow! I had no idea that gentoo Live CDs existed. I remember being interested in the gentoo distribution when I first stumbled across it (for reasons I can no longer remember--but probably because I'm a very individualistic control-freak), but remember being scared at the idea of having to compile absolutely everything. That little voice in my head pointed out that pretty much starting from scratch when I was completely new to Linux was a Very Stupid Thing To Do.

But a live CD? If I know that I can play around with stuff without needing to significantly change my current system, I'm more than willing to give it a shot. In fact, I think I'll have a lot of fun with it!

Thanks for taking the time to answer my questions, everyone. :)
 
Originally posted by Elenita
Why are the BSD's, which also are open source (aren't they?) and attempt to clone Unix functionality, not considered Linux?

lineage of the code base
 
It doesn't seem like anyone has answered your questions regarding running linux on your Mac. From what I've seen, it's not a great idea for your Powerbook yet. There are two big issues with current PPC Linux distributions and Powerbooks.

1.) No Airport Extreme support. This is Broadcom's fault because they won't release details of their chipset (used in Airport Extreme and other 802.11g products) to linux driver authors. There actually is a new development about this today, there is a new Win32 network driver wrapper for linux that will apparently run the win32 broadcom drivers for linux. I would pay attention to Yellow Dog's page, I'm sure they're following that.

2) The other big one is ACPI support. While the battery meter works, the linux 2.4.x kernel does not support suspend-to-ram and some other nice power saving features that your PB has. This support should come with the Linux 2.6.x kernel, but it's not quite finished yet, and once it is, it will still take a while for the distro builders to incorporate it.

It sounds like for your purposes, OS X will be fine. Use FINK to install unix software compiled for OS X-(easier than it sounds)

The differences between BSD and Linux are mostly in the kernel. You can call your OS Linux if it runs the Linux kernel. BSD uses a Berkeley variant of the Unix kernel. The software that sits on top of the kernel is largely the same between BSD and Linux (and other Unixes too). For more information, check out http://www.gnu.org/gnu/linux-and-gnu.html



Good luck
 
Originally posted by fraeone
It doesn't seem like anyone has answered your questions regarding running linux on your Mac. From what I've seen, it's not a great idea for your Powerbook yet. There are two big issues with current PPC Linux distributions and Powerbooks.

I use my PB as a desktop replacement most of the time--with a power adapter and plugged directly into an ethernet jack--so those two issues don't directly affect me right now. But they're definitely things I wasn't aware of previously, and will keep in mind. Thanks!

I've downloaded Fink and played around with it a little during the last few weeks. And I'm sure that Jaguar and Panther, plus Fink and x11, are enough for me. I'll probably be getting a Gentoo Live CD in the near-ish future, just to play around with it in my spare time. But with OS X I will remain...

Once again, everyone, thanks for taking the time to answer all my stupid questions. I've learned quite a lot from this thread, and I'm grateful. :)
 
As others have said, the command line is very full-featured, and really, anything that changes the system can be done via the command line. Admittedly, you can't do things like play MP3's from the command line, but you can launch iTunes. Oh, and you don't need to use tcsh if you prefer bash. There's three ways to set the shell, one as a non-login shell, and two as a login shell. Other things you can do with the command line:

• Software Update - 'sudo softwareupdate <updatename>'
• Repair Permissions - 'sudo diskutil repairPermissions /'
• Enable/disable journaling - 'sudo diskutil enableJournal /'
• take a screenshot (only works from a terminal, not in console mode) - 'screencapture'
•open a file or folder in an application (default for folders is Finder) - 'open -a <application> <file or folder>

For a more complete listing of what you can do, cd into /bin, /sbin, /usr/bin, and /usr/sbin, and read the man pages on any apps you don't recognize.

One last thing: while the various shells don't have any OS-specific quirks necessarily (well... bash has one that I know of involving the ~/.bash_profile and ~/.bashrc files, but I suspect that's a bug), but the filesystem is laid out differently from common Unix and Linux distros that I've seen. For example, /var is /private/var, /etc is /private/etc (though both have symbolic links to them in /).
 
Originally posted by Elenita


To put it another way, since I don't think I'm making myself very clear: at the risk of boiling things down too far, Jaguar is sometimes touted as Unix with a pretty UI that has the ability to run binary applications. What does one lose by putting Quartz, Open GL, and Aqua atop a Unix or hypothetical Linux distro? What could one gain by using a distro (Unix or Linux) that lacks those layers?

Thanks a million.

Now that Jaguar has an X Windows server built in, I can't immediately think of any reasons why adding Quartz and Aqua would take away from the UNIX functionality of OS X. As long as you're able to recompile your favourite Linux app, and you have the libraries and infrastructure available to you on OS X (the bundled Apple X-Windows server being a prime example of that), then you should be on an equal footing.

Possibly the only gain I could think of is that on low-end systems, the overhead of Quartz and Aqua might drag performance down more than just a simple windows manager and X-Windows running (if you needed to run graphical apps at all). I suspect Linux and X-Windows would probably run better on a 233MHz G3 system than OS X and Aqua would.

I still keep a Linux system around because I need to run a few commercial apps on x86 Linux that aren't available as source...IBM's DB2 database software in particular. Kind of ironic isn't it...I use Mac OS X to run all the open source Unix software like Perl and Apache, but use Linux to run the proprietary closed source apps...ahh how times have changed.
 
Originally posted by Elenita
Why are the BSD's, which also are open source (aren't they?) and attempt to clone Unix functionality, not considered Linux?

Originally posted by zimv20
lineage of the code base

Let me ramble a bit:

The BSD's are all descended from the "Berkeley Software Distribution" (BSD, get it?) It was a tape of UNIX code that went through the wringer of AT&T/Novell/Etc legal copyright entanglement. FreeBSD was completely rewritten based on "Lite" code that was free of copyright.

The GNU project is an attempt by Richard Stallman's Free Software Foundation to write a UNIX-like operating system from the ground up. They had rewritten almost all of the UNIX tools (a compiler, file and system management tools, etc) but didn't have a working kernel. This is where Linux Torvalds comes in.

Linus was a CS student playing around with developing a kernel as an exercise. He based his kernel off Minix, a UNIX clone used for teaching. Technically, the term Linux refers to a kernel, like Darwin refers to the OS X kernel. We add the GNU tools to the Linux kernel and we have a working OS. Add XFree86, and you have a GUI on top of the Linux kernel and the GNU utilities. XFree86 I guess would equate to the functionality we get from Quartz/QE in OS X. Or maybe Q/QE are like a window manager...dunno. The Linux/GNU/BSD world can get pretty complex. It's getting easier, but there's a steep learning curve there.

Here's a great bit of history:
Originally posted by Linus Torvalds
From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)
Newsgroups: comp.os.minix
Subject: What would you like to see most in minix?
Summary: small poll for my new operating system
Message-ID: <1991Aug25.205708.9541@klaava.Helsinki.FI>
Date: 25 Aug 91 20:57:08 GMT
Organization: University of Helsinki

Hello everybody out there using minix -
I'm doing a (free) operating system (just a hobby, won't be big and
professional like gnu) for 386(486) AT clones. This has been brewing
since april, and is starting to get ready. I'd like any feedback on
things people like/dislike in minix, as my OS resembles it somewhat
(same physical layout of the file-system (due to practical reasons)
among other things).
I've currently ported bash(1.08) and gcc(1.40), and things seem to work.
This implies that I'll get something practical within a few months, and
I'd like to know what features most people would want. Any suggestions
are welcome, but I won't promise I'll implement them :)
Linus (torvalds@kruuna.helsinki.fi)
PS. Yes - it's free of any minix code, and it has a multi-threaded fs.
It is NOT protable (uses 386 task switching etc), and it probably never
will support anything other than AT-harddisks, as that's all I have :-(.

Basically, you won't really get anything from Linux that you can't get on OS X. There are some Open Source projects that haven't had their code specifically tweaked to work with OS X, but if you can tweak and compile pretty much any of the GNU tools or other Open Source projects can be made to work in OS X. OS X can use every shell (command line interpreter) that I have tried to use: Bash, Tcsh (default, I don't like it), Ksh, Zsh...AND you can choose to use the OS X terminal emulator Terminal.app, or install one of the other terminal emulators like aterm, xterm, or their ilk.
 
Originally posted by Elenita
Why are the BSD's, which also are open source (aren't they?) and attempt to clone Unix functionality, not considered Linux?

Ugh, sorry, I got very longwinded up there...short answer: Linux is a Kernel, Free/Open/NetBSD are all complete operating systems.

Linux -- Darwin -- GNU Hurd
*BSD -- OS X -- Windows

It should be noted that Darwin (the OS X kernel) and GNU Hurd are both based on the Mach microkernel. Linux is a "monolithic" kernel.

And just to add to the confusion, when someone bundles a bunch of stuff and uses the Linux kernel to run it, they call the resulting OS "Linux". Time to take an aspirin.
 
Oh, and you don't need to use tcsh if you prefer bash

Since I haven't really done anything notable with a CLI (getting some packages via Fink and reading man pages are the only things I can claim), I honestly don't have a preference--I'm too ignorant, I suppose.

I hope I'm not opening up a can of worms here, but may I ask what the relative strengths and weaknesses between the popular shells are?

Also, why bother with all this 'sudo' business in the terminal? Wouldn't it just make more sense to enable /root and get stuff that way?

I still keep a Linux system around because I need to run a few commercial apps on x86 Linux that aren't available as source...IBM's DB2 database software in particular. Kind of ironic isn't it...I use Mac OS X to run all the open source Unix software like Perl and Apache, but use Linux to run the proprietary closed source apps...ahh how times have changed.

Hehe. I must say, that is ironic, deliciously so. But then, I've always been attracted to irony. :p

At the risk of sounding like an (ever bigger) idiot, I know Perl and PHP, not to mention thousands of other useful goodies, were included with OS X. But.. where are they, exactly? And are they already compiled, or do I need to do that myself?

I'm asking about Perl and PHP specifically because I have some scripts written in those languages and checking them out on my machine before uploading them to my host would be nice.

It should be noted that Darwin (the OS X kernel) and GNU Hurd are both based on the Mach microkernel. Linux is a "monolithic" kernel.

And yet another dumb question (sick of me yet? I would be...): what's the difference between micro- and monolithic kernels? Beside the allusions to size, obviously.

And just to add to the confusion, when someone bundles a bunch of stuff and uses the Linux kernel to run it, they call the resulting OS "Linux". Time to take an aspirin

Actually, I think I can attribute this headache to too much economics in too short a time (stupid midterm!), not your explanation. :) But, frankly, I don't think it helps an already complicated subject to have the kernel and OS share a name. It wasn't the smartest marketing move in history...

Just to make sure I've got everything right:

--Unix is actually owned by SCO. Most things that calls themselves "unix" are not derived from the original code but are actually attempts to clone (and/or improve upon) the functionality of it.

--The BSD's are examples of this endeavor. They're offspring of the code (kernel?) to come out of Berkley, but were rewritten based on a "lite" version that was copyright-free.

--The Linux OS is also an attempt to clone the functionality of the original Unix, but uses a different kernel from the BSD's--the Linux kernel, developed by Linus Torvalds.

--When combined with the GNU tools provided by the Free Software Foundation and other open source developers, the kernels actually become operating systems.

--Because both BSD's and Linux use the same tools, they actually have similar functionality, even if the kernels--the heart of their respective OS'es--differ considerably.

--Despite the proprietary parts of Apple's OS, there is a completely functional BSD at the core. As a result, someone who uses Jaguar or Panther has all the power of a BSD at their fingertips--including using programs originally written for BSD/Linux with some help from Fink/x11.

Am I missing anything?
 
Well the summary there looks pretty good to me. I'm not an expert, but I am a big, fat geek.

Monolithic kernels were pretty much the standard, one, big kernel that handled all the hardware. Microkernels are the "new thing" ("new" meaning like late 80's/early 90's), where seperate hardware and i/o functions are broken out among a bunch of little servers and the microkernel acts as a traffic cop, passing messages from server to server among other tasks. In certain circles (and I'd assume the FSF is one of these circles) having a monolithic kernel is like using a dugout canoe as opposed to a jetboat. I have noticed that microkernels seem to be insanely hard to make work, however.

Here is some good info, a bit dense and jargon-ish, but it's pretty clear:
http://en.wikipedia.org/wiki/Exokernel

EDIT: Oh, and you don't even need fink if you know your way around configure/make/make install. You can download and compile tons and tons of Open Source software just like you can with linux. What fink does is act as a package manager similar to Debian's apt/dpkg system, FreeBSD's Ports, or Gentoo's Portage. I prefer Portage to all of these systems, and praises be sung to the Gentoo team, they are porting Portage to OS X. The Gentoo, Fink, and DarwinPorst projects are also all working together on a Metapkg project to prevent rework on moving software to OS X. http://metapkg.org/ This is a nascent endeavor at this point.
 
Originally posted by panphage
EDIT: Oh, and you don't even need fink if you know your way around configure/make/make install. You can download and compile tons and tons of Open Source software just like you can with linux. What fink does is act as a package manager similar to Debian's apt/dpkg system, FreeBSD's Ports, or Gentoo's Portage. I prefer Portage to all of these systems, and praises be sung to the Gentoo team, they are porting Portage to OS X. The Gentoo, Fink, and DarwinPorst projects are also all working together on a Metapkg project to prevent rework on moving software to OS X. http://metapkg.org/ This is a nascent endeavor at this point.

Ooooh, very cool! The power and flexibility of Portage is fascinating to me, if only on a theoretical level, and one of the things I most want to play with whenever I manage to get my hands on it.

I actually spent a while at the Gentoo website, reading documentation for the PPC port, and debating whether or not I should get the Live CD (I know they're cheap--it's time that I'm running low on in this case). Ultimately, I decided against it because there's Panther to play with too. But I'll definitely be keeping an eye on Gentoo and Metapkg (especially Metapkg) for the next little while. :)

Thanks for the link.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.