-
All replies
-
Helpful answers
-
Jan 16, 2014 9:18 PM in response to adifferentfurby Linc Davis,This procedure is a diagnostic test. It changes nothing, for better or worse, and therefore will not, in itself, solve your problem.If you don't already have a current backup, back up all data before doing anything else. The backup is necessary on general principle, not because of anything in the test procedure. There are ways to back up a computer that isn't fully functional. Ask if you need guidance.Below are instructions to run a UNIX shell script, a type of program. All it does is to gather information about the state of your computer. That information goes nowhere unless you choose to share it on this page. However, you should be cautious about running a program at the instance of a stranger on a public message board. If you have doubts, search this site for other discussions in which this procedure has been followed without any report of ill effects. If you can't satisfy yourself that the instructions are safe, don't follow them.Here's a summary of what you need to do: Copy a line of text from this web page into the window of another application. Wait about a minute. Then paste some other text, which will have been copied automatically, back into a reply on this page. The sequence is: copy, paste, wait, paste again. Details follow.
You may have started the computer in "safe" mode. Preferably, these steps should be taken in “normal” mode. If the system is now in safe mode and works well enough in normal mode to run the test, restart as usual. If you can only test in safe mode, do that.
If you have more than one user, and the one affected by the problem is not an administrator, then please run the test twice: once while logged in as the affected user, and once as an administrator. The results may be different. The user that is created automatically on a new computer when you start it for the first time is an administrator. If you can't log in as an administrator, test as the affected user. Most personal Macs have only one user, and in that case this paragraph doesn’t apply.
The script is a single long line, all of which must be selected. You can accomplish this easily by triple-clicking anywhere in the line. The whole line will highlight, though you may not see all of it in your browser, and you can then copy it. If you try to select the line by dragging across the part you can see, you won't get all of it.
Triple-click anywhere in the line of text below on this page to select it:
clear; shopt -s extglob; Fb='%s\n\t(%s)\n'; Fm='\n%s:\n\n%s\n'; Fs='\n%s: %s\n'; Fu='User %s%%\t\tSystem %s%%'; PB="/usr/libexec/PlistBuddy -c Print"; A () { [[ a -eq 0 ]]; }; R () { o=; [[ r -eq 0 ]]; }; Pm () { [[ "$o" ]] && o=`sed 's/^ */ /' <<< "$o"` && printf "$Fm" "$1" "$o"; }; Pc () { o=`egrep -v '^[[:blank:]]*($|#)' "$2"`; Pm "$1"; }; Pp () { o=`$PB "$2" | awk -F'= ' \/$3'/{print $2}'`; Pm "$1"; }; Ps () { o="${o##+( )}"; [[ ! "$o" =~ ^0?$ ]] && printf "$Fs" "$1" "$o"; }; id | grep -qw '80(admin)'; a=$?; A && sudo true; r=$?; t=`date +%s`; clear; { A || echo $'No admin access\n'; A && ! R && echo $'No root access\n'; system_profiler SPSoftwareDataType | sed '8!d;s/^ *//'; o=`system_profiler SPDiagnosticsDataType | sed '5,6!d'`; [[ "$o" =~ Pass ]] || Pm "POST"; o=`pmset -g therm | sed 's/^.*CP/CP/'`; grep -q 'No th' <<< "$o" && o=; Pm "Thermal conditions"; o=`pmset -g sysload | grep -v :`; grep -q '= [^GO]' <<< "$o" || o=; Pm "System load advisory"; o=`nvram boot-args | awk '{$1=""; print}'`; Ps "boot-args"; o=`ls /L*/L*/Dia*/*.panic | wc -l`; Ps "Panics"; o=`ls /L*/L*/Dia*/*.c* | tail`; Pm "System crash logs"; o=`ls L*/L*/Dia* | tail`; Pm "User crash logs"; o=`syslog -F bsd -k Sender kernel -k Message CReq 'GPU |hfs: Ru|I/O e|n Cause: -|NVDA\(|pagin|SATA W|timed? ?o' | tail -n25 | awk '/:/{$4=""; $5=""; print}'`; Pm "Kernel messages"; o=`df -m / | awk 'NR==2 {print $4}'`; [[ o -lt 5120 ]] && Ps "Free space (MiB)"; o=$(($(vm_stat | awk '/eo/{sub("\\.",""); print $2}')/256)); o=$((o>=1024?o:0)); Ps "Pageouts (MiB)"; s=( `sar -u 1 10 | sed '$!d'` ); [[ s[4] -lt 90 ]] && o=`printf "$Fu" ${s[1]} ${s[3]}` || o=; Pm "Total CPU usage" && s=(`ps acrx -o comm,ruid,%cpu | sed '2!d'`); o=${s[2]}%; Ps "CPU usage by process $s of user ${s[1]}"; s=(`top -R -l1 -n1 -o prt -stats command,uid,prt | sed '$!d'`); s[2]=${s[2]%[+-]}; o=$((s[2]>=25000?s[2]:0)); Ps "Mach ports used by process $s of user ${s[1]}"; o=`kextstat -kl | grep -v com\\.apple | cut -c53- | cut -d\< -f1`; Pm "Loaded extrinsic kernel extensions"; R && o=`sudo launchctl list | sed 1d | awk '!/0x|com\.(apple|openssh|vix\.cron)|org\.(amav|apac|calendarse|cups|dove|isc|ntp|post[fg]|x)/{print $3}'`; Pm "Extrinsic system jobs"; o=`launchctl list | sed 1d | awk '!/0x|com\.apple|org\.(x|openbsd)|\.[0-9]+$/{print $3}'`; Pm "Extrinsic agents"; for d in {/,}L*/{La,Priv,Sta}*; do o=`ls -A "$d" | egrep -v '^(\.DS_Store$|com\.apple\.)'`; Pm "$d"; done; o=`find -L /S*/L*/E* {/,}L*/{A*d,Compon,Ex,In,Keyb,Mail,P*P,Qu,Scripti,Servi,Spo}* -type d -name Contents -prune | while read d; do ID=$($PB\ :CFBundleIdentifier "$d/Info.plist") || ID="No bundle ID"; egrep -qv "^com\.apple\.[^x]|Accusys|ArcMSR|ATTO|HDPro|HighPoint|driver\.stex|hp-fax|\.hpio|JMicron|microsoft\.MDI|print|SoftRAID" <<< $ID && printf "$Fb" "${d%/Contents}" "$ID"; done`; Pm "Extrinsic loadable bundles"; o=`find /u*/{,*/}lib -type f -exec sh -c 'file -b "$1" | grep -qw shared && ! codesign -v "$1"' {} {} \; -print`; Pm "Unsigned shared libraries"; o=`launchctl getenv DYLD_INSERT_LIBRARIES`; Pm "Inserted libraries"; o=`find {,/u*/lo*}/e*/periodic -type f -mtime -10d`; Pm "Modified periodic scripts"; o=`scutil --proxy | grep Prox`; Pm "Proxies"; o=`scutil --dns | awk '/r\[0\] /{if ($NF !~ /^1(0|72\.(1[6-9]|2[0-9]|3[0-1])|92\.168)\./) print $NF; exit}'`; Ps "DNS"; R && o=`sudo profiles -P | grep :`; Pm "Profiles"; for f in fstab sysctl.conf crontab launchd.conf; do Pc $f /etc/$f; done; Pc "hosts" <(egrep -v '(local|broadcast)host' /etc/hosts); Pc "User launchd" ~/.launchd; R && Pc "Root crontab" <(sudo crontab -l); Pc "User crontab" <(crontab -l); R && o=`sudo defaults read com.apple.loginwindow LoginHook`; Pm "Login hook"; Pp "Global login items" /L*/P*/loginw* Path; Pp "User login items" L*/P*/*loginit* Name; Pp "Safari extensions" L*/Saf*/*/E*.plist Bundle | sed 's/\..*$//;s/-[1-9]$//'; o=`find ~ $TMPDIR.. \( -flags +sappnd,schg,uappnd,uchg -o ! -user $UID -o ! -perm -600 \) | wc -l`; Ps "Restricted user files"; cd; o=`system_profiler SPFontsDataType | egrep "Valid: N|Duplicate: Y" | wc -l`; Ps "Font problems"; o=`find L*/{Con,Pref}* -type f ! -size 0 -name *.plist ! -exec sh -c 'plutil -s "$1" >&-' {} {} \; -print`; Pm "Bad plists"; d=(Desktop L*/Keyc*); n=(20 7); for i in {0..1}; do o=`find "${d[$i]}" -type f -maxdepth 1 | wc -l`; o=$((o<=n[$i]?0:o)); Ps "${d[$i]##*/} files"; done; o=$((`date +%s`-t)); Ps "Elapsed time (s)"; } 2>/dev/null | pbcopy; exit 2>&-Copy the selected text to the Clipboard by pressing the key combination command-C.Launch the built-in Terminal application in any of the following ways:
☞ Enter the first few letters of its name into a Spotlight search. Select it in the results (it should be at the top.)
☞ In the Finder, select Go ▹ Utilities from the menu bar, or press the key combination shift-command-U. The application is in the folder that opens.
☞ Open LaunchPad. Click Utilities, then Terminal in the icon grid.
When you launch Terminal, a text window will open with a line already in it, ending either in a dollar sign ($) or a percent sign (%). If you get the percent sign, enter “sh” and press return. You should then get a new line ending in a dollar sign.
Click anywhere in the Terminal window and paste (command-V). The text you pasted should vanish immediately. If it doesn't, press the return key.
If you're logged in as an administrator, you'll be prompted for your login password. Nothing will be displayed when you type it. You will not see the usual dots in place of typed characters. Make sure caps lock is off. Type carefully and then press return. You may get a one-time warning to be careful. If you make three failed attempts to enter the password, the test will run anyway, but it will produce less information. In most cases, the difference is not important.
If you're not logged in as an administrator, you won't be prompted for your password. The test will still run. It just won't do anything that requires administrator rights.
The test may take up to a few minutes to run, depending on how many files you have and the speed of the computer. A computer that's abnormally slow may take longer to run the test. There is no indication of progress until it's done. Wait for the line "[Process completed]" to appear in the Terminal window. If you don't see that line within half an hour or so, the test probably won't complete in a reasonable time. In that case, close the Terminal window and report your results. No harm will be done.
When the test is complete, quit Terminal. The results will have been copied to the Clipboard automatically. They are not shown in the Terminal window. Please don't copy anything from there. All you have to do is start a reply to this comment and then paste by pressing command-V again.
If any private information, such as your name or email address, appears in the results, anonymize it before posting. Usually that won't be necessary.
When you post the results, you might see the message, "You have included content in your post that is not permitted." That's because the forum software falsely identifies something in the post as a violation of the terms of use. If that happens, please post the results on Pastebin, then post a link here to the page you created.
Note: This is a public forum, and others may give you advice based on the results of the test. They speak only for themselves, and I don't necessarily agree with them.
________________________________
Copyright © 2014 Linc Davis. As the sole author of this work, I reserve all rights to it except as provided in the Terms of Use of Apple Support Communities ("ASC"). Readers of ASC may copy it for their own personal use. Neither the whole nor any part may be redistributed. -
Mar 28, 2014 4:00 AM in response to adifferentfurby GeoffreyS56,My mid 2011 mac mini has been seriously sluggish of late - it seems to me since installing Mavericks - (now 10.9.2). According to Geekbench, it matched my 2013 macbook air, but in real life... no way.
I thought it might be in the difference between spinning and solid state hard drives, and indeed an upgrade last year of a 2008 iMac to an SSD gave that computer an enormous boost. But you don't want to even think about DIY replacing the drive in a mac mini, though I believe it can be done.
Anyway I took the more modest plunge and spent £50 on upgrading the memory from 2Gb to 8GB (takes all of 2 minutes to install) - and the Mini is a different animal. Launching any app - except for the initial boot up- is 2 to 3 times quicker.
Just a thought.
Message was edited by: GeoffreyS56
-
Mar 28, 2014 6:14 AM in response to adifferentfurby den.thed,Having a 2010 Mac Mini, I agree with GeoffreyS56.
A couple of years ago I upgraded mine to a Hitachi HGST (7200rpm) HD and 8GB of RAM from Crucial. At that time I went from Snow Leopard to Mountain Lion and then last year went to Mavericks without any problems.
1. For sure upgrade to 8GB of RAM, if you have not already do so.
2. Then consider an HGST or SSD upgrade. If that is not realistic for you, then at least make sure that you have 40 or 50GB of free space on your Hard Drive for OS X to work in.
-
-
Jul 29, 2014 5:32 PM in response to jpostelnekby jpostelnek,It seems as though my son may have unknowingly dl'd some bad files. I appreciate any help you can provide.
-
Jul 29, 2014 5:40 PM in response to GeoffreyS56by tbirdvet,Not that difficult to change Mini hard drive. I did mine in under 30 mins. SSD made a huge difference.
-
Jul 29, 2014 7:03 PM in response to tbirdvetby jpostelnek,I appreciate your input. I have actually installed an SSD in my 2009 MBP, and it is now blazing fast. (<25 second boot times!) The issue with my MacMini is somehow a result of malware that my son may have unknowingly downloaded. He is an avid Minecraft player and has downloaded things without knowing what they were. (He's 10 years old). The main issue on mine is that no internet browsers (I use Safari and Firefox) will connect to the internet. I checked my wireless router, modem, network settings, and all of them are running properly. Also, all of my other computers (all Macs) and other devices (iPhone, iPod, Android phone, etc) connect to the internet without issue. Also, many of the other applications are now running slowly and intermittently. So, while the problem seems to be centered around not being able to connect to the internet on the MacMini, all of the issues are only on the MacMini, and only began to occur after my son started downloading Minecraft servers and related programs.
-
-
Jul 29, 2014 9:20 PM in response to BDAquaby jpostelnek,I thought so too. I have removed all files associated with Geneio. I even uninstalled Firefox. And, I reset all Safari preferences. Still having the issue of not being able to access the internet.
-
Jul 29, 2014 11:46 PM in response to jpostelnekby MadMacs0,CleanUpMyMac2 and TuneUpMyMac need to go in accordance with the developers instructions to uninstall. They will do more harm than good for most users.
-
Jul 29, 2014 11:50 PM in response to jpostelnekby MadMacs0,jpostelnek wrote:
Still having the issue of not being able to access the internet.
I didn't notice that you mentioned that later and it seems to have nothing to do with this topic, so after you finish removing those two worthless "cleanup" apps, start a new topic with a subject that will attract users who are currently on line and are experts in getting you back on-line. The only people reading this are a few people still monitoring this from January.
-
Oct 28, 2014 4:20 AM in response to Linc Davisby ewartw,Hi, this is the result for the test you recommended - any suggestion on how I can improve the performance?
Boot Mode: Normal
System crash logs:
/Library/Logs/DiagnosticReports/Google Earth_2014-10-22-123307_Ewarts-Mac-mini.cpu_resource.diag
/Library/Logs/DiagnosticReports/PluginProcess_2014-10-24-165444_Ewarts-Mac-mini .crash
User crash logs:
Adobe Premiere Pro CS6_2014-10-21-095622_Ewarts-Mac-mini.crash
com.apple.WebKit.WebContent_2014-09-29-093733_Ewarts-Mac-mini.crash
com.apple.WebKit.WebContent_2014-10-08-184745_Ewarts-Mac-mini.crash
Kernel messages:
Oct 22 09:30:39 Warning: IOSurface 00000075 modified by process com.apple.WebKit using the GPU while surface is write locked by process com.apple.WebKit
Oct 22 09:39:25 Warning: IOSurface 0000008a modified by process com.apple.WebKit using the GPU while surface is write locked by process com.apple.WebKit
Oct 22 09:42:35 Warning: IOSurface 000000ed modified by process com.apple.WebKit using the GPU while surface is write locked by process com.apple.WebKit
Pageouts (MiB): 3261
CPU usage by process Average: of user 0: 0%
Loaded extrinsic kernel extensions:
com.Greatdy.driver.SystemAudioCapture (1.0.0)
Extrinsic system jobs:
com.quark.quarkupdate
com.microsoft.office.licensing.helper
com.adobe.SwitchBoard
com.adobe.fpsaud
Extrinsic agents:
com.quark.quarkupdate.agent
com.adobe.ARM.df0ab5bbe6f698196fcc21e3c1e66dcb758bd911f4d637272d9d8109
com.google.keystone.user.agent
/Library/LaunchAgents:
com.adobe.AAM.Updater-1.0.plist
com.quark.quarkupdate.agent.plist
/Library/LaunchDaemons:
com.adobe.SwitchBoard.plist
com.adobe.fpsaud.plist
com.microsoft.office.licensing.helper.plist
com.quark.quarkupdate.plist
/Library/PrivilegedHelperTools:
com.microsoft.office.licensing.helper
com.quark.quarkupdate
Library/LanguageModeling:
en-dynamic.lm
Library/LaunchAgents:
com.adobe.ARM.df0ab5bbe6f698196fcc21e3c1e66dcb758bd911f4d637272d9d8109.plist
com.google.keystone.agent.plist
Extrinsic loadable bundles:
/System/Library/Extensions/ComputerAudioCapture.kext
(com.Greatdy.driver.SystemAudioCapture)
/System/Library/Extensions/TrackballWorks.kext
(com.kensington.trackballworks.driver)
/Library/Internet Plug-Ins/AdobePDFViewer.plugin
(com.adobe.acrobat.pdfviewer)
/Library/Internet Plug-Ins/AdobePDFViewerNPAPI.plugin
(com.adobe.acrobat.pdfviewerNPAPI)
/Library/Internet Plug-Ins/Flash Player.plugin
(com.macromedia.Flash Player.plugin)
/Library/Internet Plug-Ins/SharePointBrowserPlugin.plugin
(com.microsoft.sharepoint.browserplugin)
/Library/Internet Plug-Ins/SharePointWebKitPlugin.webplugin
(com.microsoft.sharepoint.webkitplugin)
/Library/Internet Plug-Ins/Silverlight.plugin
(com.microsoft.SilverlightPlugin)
/Library/PreferencePanes/Flash Player.prefPane
(com.adobe.flashplayerpreferences)
/Library/PreferencePanes/QUPreferencePane.prefPane
(com.quark.QUPreferencePane)
/Library/PreferencePanes/TrackballWorks.prefPane
(com.kensington.trackballworks.prefpane)
/Library/QuickLook/QuarkXPress.qlgenerator
(com.quark.xpress)
/Library/QuickTime/Flix Flv.component
(com.wildform.flix.flv)
/Library/QuickTime/Flix Swf.component
(com.wildform.flix.swf)
/Library/ScriptingAdditions/Adobe Unit Types.osax
(No bundle ID)
/Library/ScriptingAdditions/QXPScriptingAdditions.osax
(com.quark.QXPScriptingAdditions.Bundle)
/Library/Spotlight/LogicPro.mdimporter
(No bundle ID)
/Library/Spotlight/QuarkXPress.mdimporter
(com.quark.xpress.v6)
Library/Internet Plug-Ins/Google Earth Web Plug-in.plugin
(com.Google.GoogleEarthPlugin.plugin)
DNS: 194.168.4.100
Safari extensions:
OpenIE
Restricted user files: 252
Font problems: 4
Elapsed time (s): 125
-
Oct 28, 2014 6:40 PM in response to ewartwby MadMacs0,As you may have guessed by now, replying to a nine month old discussion won't get you much help. Link rarely responds to any "me too" requests and probably isn't even monitoring this any more. I'm not really sure why I am.
You need to start a new discussion item and describe your problem in as much detail as you can, but don't post any test results until you are asked to. Most people won't understand them. That way you will attract far more troubleshooters who are currently on-line and ready to help.
That's just the way this forum works best.
-
Jan 9, 2015 8:21 AM in response to Linc Davisby rchmbrs,clear; shopt -s extglob; Fb='%s\n\t(%s)\n'; Fm='\n%s:\n\n%s\n'; Fs='\n%s: %s\n'; Fu='User %s%%\t\tSystem %s%%'; PB="/usr/libexec/PlistBuddy -c Print"; A () { [[ a -eq 0 ]]; }; R () { o=; [[ r -eq 0 ]]; }; Pm () { [[ "$o" ]] && o=`sed 's/^ */ /' <<< "$o"` && printf "$Fm" "$1" "$o"; }; Pc () { o=`egrep -v '^[[:blank:]]*($|#)' "$2"`; Pm "$1"; }; Pp () { o=`$PB "$2" | awk -F'= ' \/$3'/{print $2}'`; Pm "$1"; }; Ps () { o="${o##+( )}"; [[ ! "$o" =~ ^0?$ ]] && printf "$Fs" "$1" "$o"; }; id | grep -qw '80(admin)'; a=$?; A && sudo true; r=$?; t=`date +%s`; clear; { A || echo $'No admin access\n'; A && ! R && echo $'No root access\n'; system_profiler SPSoftwareDataType | sed '8!d;s/^ *//'; o=`system_profiler SPDiagnosticsDataType | sed '5,6!d'`; [[ "$o" =~ Pass ]] || Pm "POST"; o=`pmset -g therm | sed 's/^.*CP/CP/'`; grep -q 'No th' <<< "$o" && o=; Pm "Thermal conditions"; o=`pmset -g sysload | grep -v :`; grep -q '= [^GO]' <<< "$o" || o=; Pm "System load advisory"; o=`nvram boot-args | awk '{$1=""; print}'`; Ps "boot-args"; o=`ls /L*/L*/Dia*/*.panic | wc -l`; Ps "Panics"; o=`ls /L*/L*/Dia*/*.c* | tail`; Pm "System crash logs"; o=`ls L*/L*/Dia* | tail`; Pm "User crash logs"; o=`syslog -F bsd -k Sender kernel -k Message CReq 'GPU |hfs: Ru|I/O e|n Cause: -|NVDA\(|pagin|SATA W|timed? ?o' | tail -n25 | awk '/:/{$4=""; $5=""; print}'`; Pm "Kernel messages"; o=`df -m / | awk 'NR==2 {print $4}'`; [[ o -lt 5120 ]] && Ps "Free space (MiB)"; o=$(($(vm_stat | awk '/eo/{sub("\\.",""); print $2}')/256)); o=$((o>=1024?o:0)); Ps "Pageouts (MiB)"; s=( `sar -u 1 10 | sed '$!d'` ); [[ s[4] -lt 90 ]] && o=`printf "$Fu" ${s[1]} ${s[3]}` || o=; Pm "Total CPU usage" && s=(`ps acrx -o comm,ruid,%cpu | sed '2!d'`); o=${s[2]}%; Ps "CPU usage by process $s of user ${s[1]}"; s=(`top -R -l1 -n1 -o prt -stats command,uid,prt | sed '$!d'`); s[2]=${s[2]%[+-]}; o=$((s[2]>=25000?s[2]:0)); Ps "Mach ports used by process $s of user ${s[1]}"; o=`kextstat -kl | grep -v com\\.apple | cut -c53- | cut -d\< -f1`; Pm "Loaded extrinsic kernel extensions"; R && o=`sudo launchctl list | sed 1d | awk '!/0x|com\.(apple|openssh|vix\.cron)|org\.(amav|apac|calendarse|cups|dove|isc|ntp|post[fg]|x)/{print $3}'`; Pm "Extrinsic system jobs"; o=`launchctl list | sed 1d | awk '!/0x|com\.apple|org\.(x|openbsd)|\.[0-9]+$/{print $3}'`; Pm "Extrinsic agents"; for d in {/,}L*/{La,Priv,Sta}*; do o=`ls -A "$d" | egrep -v '^(\.DS_Store$|com\.apple\.)'`; Pm "$d"; done; o=`find -L /S*/L*/E* {/,}L*/{A*d,Compon,Ex,In,Keyb,Mail,P*P,Qu,Scripti,Servi,Spo}* -type d -name Contents -prune | while read d; do ID=$($PB\ :CFBundleIdentifier "$d/Info.plist") || ID="No bundle ID"; egrep -qv "^com\.apple\.[^x]|Accusys|ArcMSR|ATTO|HDPro|HighPoint|driver\.stex|hp-fax|\.hpio|JMicron|microsoft\.MDI|print|SoftRAID" <<< $ID && printf "$Fb" "${d%/Contents}" "$ID"; done`; Pm "Extrinsic loadable bundles"; o=`find /u*/{,*/}lib -type f -exec sh -c 'file -b "$1" | grep -qw shared && ! codesign -v "$1"' {} {} \; -print`; Pm "Unsigned shared libraries"; o=`launchctl getenv DYLD_INSERT_LIBRARIES`; Pm "Inserted libraries"; o=`find {,/u*/lo*}/e*/periodic -type f -mtime -10d`; Pm "Modified periodic scripts"; o=`scutil --proxy | grep Prox`; Pm "Proxies"; o=`scutil --dns | awk '/r\[0\] /{if ($NF !~ /^1(0|72\.(1[6-9]|2[0-9]|3[0-1])|92\.168)\./) print $NF; exit}'`; Ps "DNS"; R && o=`sudo profiles -P | grep :`; Pm "Profiles"; for f in fstab sysctl.conf crontab launchd.conf; do Pc $f /etc/$f; done; Pc "hosts" <(egrep -v '(local|broadcast)host' /etc/hosts); Pc "User launchd" ~/.launchd; R && Pc "Root crontab" <(sudo crontab -l); Pc "User crontab" <(crontab -l); R && o=`sudo defaults read com.apple.loginwindow LoginHook`; Pm "Login hook"; Pp "Global login items" /L*/P*/loginw* Path; Pp "User login items" L*/P*/*loginit* Name; Pp "Safari extensions" L*/Saf*/*/E*.plist Bundle | sed 's/\..*$//;s/-[1-9]$//'; o=`find ~ $TMPDIR.. \( -flags +sappnd,schg,uappnd,uchg -o ! -user $UID -o ! -perm -600 \) | wc -l`; Ps "Restricted user files"; cd; o=`system_profiler SPFontsDataType | egrep "Valid: N|Duplicate: Y" | wc -l`; Ps "Font problems"; o=`find L*/{Con,Pref}* -type f ! -size 0 -name *.plist ! -exec sh -c 'plutil -s "$1" >&-' {} {} \; -print`; Pm "Bad plists"; d=(Desktop L*/Keyc*); n=(20 7); for i in {0..1}; do o=`find "${d[$i]}" -type f -maxdepth 1 | wc -l`; o=$((o<=n[$i]?0:o)); Ps "${d[$i]##*/} files"; done; o=$((`date +%s`-t)); Ps "Elapsed time (s)"; } 2>/dev/null | pbcopy; exit 2>&-
