PDA

View Full Version : Tales from a *NIX user


v_thunder
04-05-2002, 04:56 PM
Hi all,

First a little background on myself:

I've been a UNIX (mostly Linux) user for the past 6 years or so, and I've been a big fan of it for some time. I studied computer science, and work with UNIX computers all day, doing desktop software related development. Shortly after the release of the iPod I purchased an apple Cube (from eBay), which is now running OS X.

To summarize my OS X experiences, I'd say that they shift wildly from being incredibly positive to being rather dissapoing sometimes. It seems rather odd to me, that features I care deeply about seem to be non-issues to (apparently) everyone else.

So I turn to you :) I don't hope to find solutions to my current gripes, but merely to find out what others think about them, and possibly influence a few into my way of thinking ;) I'll concentrate on the dissapointments here, but please understand that I really do like the system in general, regardless of things like these.

So, on to my #1 all-time biggest problem with the current system: OS X packages suck. I am used the system doing things like:

* Keeping track of what is installed.
* Keeping track of what needs to be updated, removed, etc. Housekeeping.
* Telling me what I can remove without breaking anything else.
* Telling me what extra software pieces I need to install a certain program.
* Having the system automatically grab those extra pieces without my help.
* Telling me when installing a certain program will break something else--preventing me from doing that.
* Having the system (and not me directly) modify the contents of "sensitive" directories, like /Applications for example.
* Other related miscellaneous automated processes.

I hope that these features are obvious enough that I don't have to explain them or why they are wanted. I've noticed that the OSX installer keeps ".pkg" files from installed software, but I can't seem to understand how they are used, or if they fill in any of the features above. If they do, by all means, please tell me :)

I also read somewhere in the Darwin webpages that .deb packages (the Debian GNU/Linux package format) are used (by Darwin only), but the instructions actually tell you to run ar and tar on the archive yourself. Yuck. Yuck. Did I say yuck? Yuck.

I do have more to share, but in the interest of not boring you to death (ha!) I'll stop here for now :)

Comments would be more than welcome.

-Dan

griffman
04-27-2002, 12:52 AM
Hmm ... here's my theory, and it's just that -- a theory.

Apple picked UNIX as the underneath layer of OS X in order to gain stability and offer some capabilities to UNIX users in an attempt to attract them to the platform. They were also dealing with the legacy of NEXT, so they didn't really get to start from scratch.

As such, I think most of the stuff you mention falls into either the "nice to have" or "I wouldn't use it even if I knew that I had it" category. Typical (pre OS X) Mac users won't really notice any of the items you listed. We install stuff via the installer program; when we're done with it, the program either comes with an uninstaller (rare) or (more likely), we just drag the application folder to the trash. Also note that the historical Mac user will not spend much time in the UNIX shell unless they choose to be there.

So in Apple's eyes, the focus was on the GUI experience that most typical Mac users would also focus on. The things you mentioned are all quite important if you primarily install and work with UNIX packages, but there are very few (none?) Mac GUI packages that have dependencies or break something else if removed, so those features aren't really required.

I also think Apple will be constantly improving the UNIX side of the system, and I can't help but believe that better package and part management is high on their list.

For now, though, I just use fink and let it do all the hard work (since I have little UNIX experience!).

-rob.

dschep
04-27-2002, 08:47 AM
Apple keeps track of installed packages too

/Library/Receipts

The Eleven
05-04-2002, 08:42 PM
It seems as if you are suffering some culture shock. I don't think most Mac users would understand what you want (maybe I don't either). Macs are pretty hands-off and it is hard to bork up the system w/o becoming root and thrashing around.


* Keeping track of what is installed.


In addition to the aforementioned receipts, you can look in start up /Applications/Utilities/Apple\ System\ Profiler, which has a listing of installed applications and such.

* Keeping track of what needs to be updated, removed, etc. Housekeeping.

Most of this stuff is taken care of by Software Update or the various applications' update feature. If you are talking about *NIX packages, have you checked out Fink (fink.sourceforge.net)? It is a nice package manager.

* Telling me what I can remove without breaking anything else.

You can pretty much remove anything you want as long as you're not root. See Fink, also.

* Telling me what extra software pieces I need to install a certain program.

For Mac apps, this isn't really an issue. See Fink, also.

* Having the system automatically grab those extra pieces without my help.

Not really an issue for Mac applications. See Fink (or apt-get).

* Telling me when installing a certain program will break something else--preventing me from doing that.

Not really an issue for the Mac side of things. Fink fails here, but I haven't had an issue yet.

* Having the system (and not me directly) modify the contents of "sensitive" directories, like /Applications for example.

Besides messing too much with the Bundles, you *should* be able to mess directly with /Applications. Mac users would howl if they couldn't.

* Other related miscellaneous automated processes.


Thus far, OS X has taken me virtually no effort to keep upkept (is that a phrase :) ). Pretty much a hands off affair. What is it exactly that you want automated?

11

scgf
05-12-2002, 11:58 AM
I too come from a Linux background. It sounds like you used Debian Linux as I did.

The one thing Linux lacks is a unified library (I'm not sure if Library is the correct term), but for each and every app you need specific libs. No developer could assume that the end user would be using Gnome, KDE, WindowMaker, or that GTK or QT would be available and so on. The list is endless.

With OS X the developer can safely assume the end user is using the Aqua windowing system and that all necessary libs will be in place. Many more assumptions can be made about the user's system than can be made by the Linux developer. Dependency checking is therefore not as important.

I have been using Mac OS X for three weeks or so and have successfully installed and uninstalled many apps without a problem. Nothing 'broke' in the process.

v_thunder
05-20-2002, 01:27 AM
I believe that it is, in fact, culture shock. The fact is, I haven't touched my Mac in about two weeks, mainly because every time I sit in front of it I just stare at it for a while thinking "I wish I could get myself to hack on this thing..", but so far I haven't. Maybe I'll get myself to learn objc one of these days. I'd also need to get a laptop, I can't sit on a desktop for too long. Those tibooks are looking nice...

Anyways, I digress. Fink is good. Well, as good as apt-get is, which is fairly decent, if you don't mind the fact that it's god-awful code. But debian packages (which apt uses (via dpkg) are quite flexible. I'm not a terribly huge fan of them, but they pretty much solve all of the problems in my bullet point list above.

The problem is that fink is an add-on package. The apt-get database will not have packages for all the libraries and applications that come with OSX, so its usefulness is limited. That is, if I run `dpkg --get-selections` I get a whooping 15 packages, and this includes all the base fink/debian stuff. In other words, it's next to useless. It has to be built in. The entire system needs to use it.

Now, it seems that /Library/Receipts does have some interesting bits, and I'd be very happy if it could be leveraged into a more advanced pkg mgmt system. Has anyone figured out how to use them? I've tried lessing a few files here and there, and it seems that with some docs in hand it should be a piece of cake to figure out. I've only seen a few binary files in there. Are there any tools to view the installed packages, list their dependencies, run checks to verify all files are installed, etc, etc?

Thanks for the responses so far,

-Dan

v_thunder
05-20-2002, 01:45 AM
Eleven, about your comment:

> Besides messing too much with the Bundles, you *should* be able to
> mess directly with /Applications. Mac users would howl if they
> couldn't.

I actually ran into trouble with this. I followed this reasoning:
The OS lets me modify /Applications, therefore I should be able to do
it without breaking anything.

So I hacked /Applications to pieces by moving around apps to my
liking.

Then a large-ish update came along via the OSX updater, and it
proceeded to unpack .app directories where the apps originally were.
This is, in my opinion, completely unacceptable.

There is one mitigating factor, which is that I run as an "admin". I
did this because I imagined that most people would run as that too,
and I wanted to run OSX in a more-or-less standard way. Perhaps I was
mistaken about this, and I never should've messed with /Applications.
I think the OS didn't make it clear that it wouldn't be able to handle
it, though.

The key problem here is that there is no clear separation between what
is *mine* and what is the *system's*. In the modern Unix world, the
only thing that is mine is what's in my home directory, basically.
Anything else is Not To Be Touched. Not directly, that is. There are
tools (like dpkg/rpm/sw*/pkg*) to deal with these things for you. I
think that this is one of the main differences between my way of
thinking and Apple's.. I don't know if I'm right about that, but it
feels that way.

-Dan

I was able to fix the mess by running cp to merge the new .app
trees with the old ones.

Marcwic
05-28-2002, 05:28 AM
Something like Windows' add/remove programs would be helpful, and make os x more configuarable! we want to be able turn off animations etc sometimes!

AshBunny
06-08-2002, 11:56 AM
not really a comment about apps & the OS, but one "shock" i think for Mac users coming from the older systems over to OS-X is that of the "users" concept - a lot of people are used to having documents everywhere, where as in OS-X it's best if they exist within /Users/(username)/

i think this is good. and in fact, i get frustrated when going back to the older Mac systems and have to get used to finding documents anywhere & everywhere.

regards,
--
ashley

Reddog
06-24-2002, 01:46 PM
As a general rule of thumb, if a program comes with an installer that puts things in certain places, then leave that stuff alone. It needs to be there. Most anything else is fair game to move where you want (excepting system files) unless the readme says different.

Most readme's that I've seen say to put the program anywhere. Only a few have actual installers.

Pat