Something like "Extensions Manager" for OS X?

Discussion in 'macOS' started by darkgoob, May 1, 2014.

  1. darkgoob macrumors 6502

    Joined:
    Oct 16, 2008
    #1
    Back in the days of "classic" Mac OS there existed a feature called "Extensions Manager". It showed all the stuff that loads at startup with your system, whether it was a "Control Panel" or "Extension". You could selectively disable certain ones, make certain "startup sets" that would load your specified set of stuff at the next reboot. Within Extensions Manager, each item had a plain-English name, and Apple-authentic system items were pre-grouped into folders like "Mac OS 9.1" or "QuickTime x.x", while third party things might be grouped like "Norton Utilities 5.1" so you knew those items all went together. You could always know what was an authentic Apple item, and what was a third-party item. It was easy to disable all third-party items, or just specific ones.

    Now clearly, OS X has a lot more complexity than just Control Panels and Extensions. In each of the three active Library folders there's subdirectories for Audio drivers (MIDI Devices, MIDI Drivers), Bundles, CoreMediaIO plugins, Graphics things (Image Units and Quartz Composer Plug-Ins), Image Capture (Devices, TWAIN Data Sources, etc.), Extensions, Filesystems, Frameworks, Input Methods, LaunchAgents, LaunchDaemons, Messages plug-ins, PreferencePanes, StartupItems -- plus more that I haven't mentioned -- and that's not to mention what might be lurking in hidden unix areas such as /var, /usr, /opt, /usr/local, etc.

    Further, in OS X, many items have cryptic names and disabling things is entirely not straightforward. So for example in Activity Monitor, under System Processes, I see "ntpd", "ocspd", "racoon", three instances of "login", "kextd", and many other things. I have no way to know what is an official Apple process and what's a virus or trojan horse, short of googling "ocspd" and sifting through whatever comes up. If I determine that one of these processes is a third-party item that I want to remove, there is no direct way to simply find the file that's responsible for the presence of that process and temporarily disable it for troubleshooting purposes. Even if I can find the file(s) responsible, getting the process to die is not always easy since you will also have to use launchctl at the command line to unload "the specified configuration files".

    Because of this insane degree of complexity and lack of user friendliness, even when a problem might be able to be solved by unloading a certain plist in launchctl, more often than not the advice that is given to users is to simply do a "clean install" of the system. However, because I was a hardcore Mac expert in the 90s who never found a crashing system I couldn't fix, therefore in the 14 years that I have been using OS X, I have always just "migrated" from my previous system and then fixed any problems manually. I have never started fresh and reinstalled everything. I have always been able to find the cause of any problems and surgically remove it -- even when people on discussion boards and Apple geniuses told me to just do a clean install and reinstall everything.

    (Disclaimer: I know *why* geniuses recommend that, it's because there's nothing like the Extensions Manager. There is nothing built into OS X that can help you isolate what files on your system are not from Apple. There is no PreferencePane that can let you temporarily disable everything except the base system items. You can manage StartupItems and Fonts through System Preferences, but that's about it. So I'm not suggesting that I'm smarter than Apple geniuses, or that my "hardcore" way of doing things is "better" because I recognize that the "nuke the site from orbit" approach is better for most people, and that I'm one of the very few people who will stay up all night to figure out *why* something is happening. I'm obsessed with knowing *why* problems happen so I can avoid them.)

    TLDR: My question to the MacRumors community is: does anyone know of a comprehensive GUI-based tool for seeing what things are active and inactive on your system and selectively enabling/disabling/removing things? Ideally it would show all third-party items, all optional processes that are included with OS X but don't normally run (e.g. you could see if Apache webserver is running or not, etc.). It would include kernel extensions, preference panes, hardware drivers, any sort of plug-in, font, keyboard layouts, process, unix executable, frameworks, libraries, startup items, etc. that could possibly take up processor cycles, read from RAM or the file system, use the network, etc., and identify what's official Apple, what's from a known manufacturer, when it was installed, what physical files on the hard drive are related to it, what version it is (extra points if it can tell me if there's a newer version available), etc. Thanks. :apple:

    PS: if you work for Apple, please put this into whatever the next version of OS X is going to be (numerically, shouldn't it be XI?).
     
  2. simsaladimbamba

    Joined:
    Nov 28, 2010
    Location:
    located
    #2
    That is what this site is for.

    No, software versioning works different, thus you get Mac OS X 10.4 Tiger version 10.4.10 and 10.4.11.

    And since OS X is a big name, Apple will not give that up yet, especially since it plans to use the architecture for another decade.

    In other words, Mac OS X 10.10 and 10.11 and 10.12 will come, and as those numbers are now only internally used and not for marketing, it is no problem for Apple. Look at Windows 7 and 8, they are still at version 6.x internally. 7 and 8 are just names.
     
  3. Fishrrman macrumors G4

    Fishrrman

    Joined:
    Feb 20, 2009
    #3
    I, too, am surprised that nobody has released a "kext manager" that will do for OS X what the Extensions Manager did for the Classic Mac OS...
     
  4. darkgoob thread starter macrumors 6502

    Joined:
    Oct 16, 2008
    #4
    I guess I know what software I'm going to develop next :D
     

Share This Page