software update

tlarkin
Honored Contributor

what is the best method to disable software update on the client level? I mean completely disable so it never pops up, on every account. I just need the auto checking disabled. It is screwing with one of my scripts and when I do softwareupdate --schedule off it doesn't disable.

You get a cookie if you can tell me how to do this, and my gratitude.

Thanks

Tom

18 REPLIES 18

heathjw
New Contributor

A radical suggestions -- remove Software Update.app from CoreServices. That is the first thing that comes to mind, although I don't know what else it might damage/affect. Could always be redeployed by various scripts/Casper tools.

- Jay Heath

Not applicable

To disable software update checking, downloading etc... set the System Preference Pane in your current user

Open Composer and Create a New Package, from the list click on the "User Environment" and scroll down to "Software Update Settings"

Click on this and then Click Choose.

This will build you a list of files that you can then deploy via a policy to your clients using the Fill Existing Users and Fill User Templates.

The setting is then set for all users of those machines.


Tomos Tyler
Technical Business Development Manager

Computers Now Pty Ltd

www.compnow.com.au

![external image link](attachments/82278f45df0c4a7ea250f18317d4187e)

Bukira
Contributor

$(UOr if you have an OD you can set it there with a MCX, set the software update server to some fake address and bingo

Criss

Criss Myers
Senior Customer Support Analyst (Mac Services)
iPhone Developer
Apple Certified Technical Coordinator v10.5
LIS Development Team
Adelphi Building AB28
University of Central Lancashire
Preston PR1 2HE
Ex 5054
01772 895054

![external image link](attachments/0db84344b39e49abb9e34cff6cf966c0)

tlarkin
Honored Contributor

OK,

My image is pristine, so fresh default user template, and no users logged in. I am scripting a log in, and it works and software update executes, but it will not ever turn off the software update schedule.....

I have done the following

1 - softwareupdate --schedule off

2 - take the scheduler.plist and set the time to auto check 2000 years in the future via MCX and WGM

3 - snap shot a user pref from composer and manual trigger add it in the script after the user account logs in, to override the user template, and have it set to fill the user template

Well, when this user account logs in it gets a fresh plist from the user template, and the software update schedule is still set to on every single time...... Now if I wait long enough MCX will update eventually and change it. I think I am going to just say forget the whole logging in thing....

Not applicable

Agree or direct it to a SUS that you control.

-- James Alcasíd | VeriSolv Technologies
Department of Veterans Affairs | Enterprise Infrastructure Engineering
470 L'Enfant Plaza SW Suite 3100, Washington DC 20024
Office (202) 245-4573, Mobile (202) 340-8930

Note:
This message is for the named person's use only. It may contain
confidential, proprietary or legally privileged information. No
confidentiality or privilege is waived or lost by any mis-transmission. If
you receive this message in error, immediately delete it and all copies of
it from your system, destroy any hard copies of it and notify the sender.
You must not, directly or indirectly, use, disclose, distribute, print, or
copy any part of this message if you are not the intended recipient. Any
views expressed in this message are those of the individual sender, except
where the message states otherwise and the sender is authorized to state
them to be the views of any such entity.

P Save Paper ­ Do you really need to print this e-mail?

13:3

tlarkin
Honored Contributor

If you look at the com.apple.scheduler.plist it contains this path to
execute this app

/System/Library/CoreServices/Software
Update.app/Contents/Resources/SoftwareUpdateCheck

If I delete that binary, it will no longer auto check, and even if I
point it to a fake SUS, it will still auto check right????

Bukira
Contributor

i point mine to fake SUS and have no problems

Criss Myers
Senior Customer Support Analyst (Mac Services)
iPhone Developer
Apple Certified Technical Coordinator v10.5
LIS Development Team
Adelphi Building AB28
University of Central Lancashire
Preston PR1 2HE
Ex 5054
01772 895054

tlarkin
Honored Contributor

Does the auto checker ever pop up? I am requesting more HD space on
all my Casper servers, and if it goes through I will be joining them to
OD and putting the SUS service on them this summer. That is budget
depending of course....

This is starting to drive me nuts, and I am about to say forget this
method and script SWU at the log in window, which would most likely just
work.

Thanks

Tom

donmontalvo
Esteemed Contributor III

Hi Tom,

Is it possible to add /System/Library/CoreServices/Software Update.app to the dis-allowed apps list?

Would that break SUS if it runs at the UNIX level?

Don

--
https://donmontalvo.com

Not applicable

I have the same question. We allow users to run software update through
Self Service and we use our Jamf distribution points as software update
servers. But the software update built into OS X still pops up. I just
want to keep that from happening. What is the best way to achieve this?

Cody Smedsrud
Educational Technology Associate
Success Charter Network

tlarkin
Honored Contributor

Well, this is my new "unconfirmed" method. I am testing it right now. Each user has a plist file called com.apple.scheduler, which schedules auto checking for updates. If you inspect the plist it looks like this: <key>AbsoluteSchedule</key> <dict> <key>com.apple.SoftwareUpdate</key> <dict> <key>SUCheckSchedulerTag</key> <dict> <key>Action</key> <dict> <key>process</key> <string>/System/Library/CoreServices/Software Update.app/Contents/Resources/SoftwareUpdateCheck</string> <key>type</key> <integer>0</integer> </dict> <key>Timer</key> <dict> <key>date</key> <date>2001-01-01T08:00:00Z</date> <key>repeatInterval</key> <real>604800</real>

The part I highlighted in red is the date, on which the schedule needs to start, which is 2001. When you run softwareupdate --schedule off, it actually just changes the date value to something that will never run. So, I dragged the property list into WGM and I changed the date to 12-01-4000, so in two thousand years from now, software update will finally run it's initial check, and then run at the set interval in between checks. I am enforcing this via MCX, but I am still testing it. So, this may or may not work. I think it is worth a shot, and this plist is unique to each user, so me running it in the script, was running as root via Casper framework. Another option would be, grab the current user, and run sudo -u $USER softwareupdate --schedule off, which would run as that user, but you would have to code a variable to grab the current user, you know because $USER would just probably echo out as root since scripts like log in hooks run as root. So from Casper as a log in hook, sudo -u $3 softwareupdate --schedule off might work. I have not tested that method either. So, maybe changing the date when scheduler starts is the answer we are all looking for, and it would be the simplest.

Testing it out now...

-Tom

hasaanh
New Contributor III

I just tested this method on a dozen client computers and it works great. I'm going to test pushing this to one of my managed servers.

Hasaan Herrington
Technical Support II
Information Technology
Anchorage School District
(907) 742-4615

donmontalvo
Esteemed Contributor III

Wow, there's one for the FAQ...very nice, didn't know the option was there.

--
https://donmontalvo.com

tlarkin
Honored Contributor

That was my other option, modifying the user template and installing it via package during imaging. The problem I am running into, is that these images are pristine and have zero user accounts on them, so the first log in gets a fresh pull of plists from the user template. So I either gotta pause the script to let the user template populate, or I gotta modify the template. MCX does not modify the plist fast enough on first log in unfortunately.

I am now looking at capturing the changes in the user template....

Why is this so freaking hard LOL?

-Tom

Not applicable

Tom,

The software update is a unique beast.

If you are using Mobile Homes you could install this package onto the server to force any mobile home created to use your preferred preference from the server. Obviously this file we are adjusting is for the logged in user and not system wide, i.e. SUS server will still work.

Not sure if this will help, not sure which user template your homes are looking at... :-p.

Tomos

Not applicable

Hi Guys,

Trying to run our (Mac) software updates through casper self service.
We have setup a software update server, which has all up the updates ready to be installed.
The only issue we seem to have is when we try launching this via Self Service, we are prompted for the admin password.
Any thoughts as to why this might be and how we can by pass the admin password request ?

Cheers in advance.

![external image link](attachments/4e98f56ffb7147428539e6ee474b181a)

Not applicable

I found that if I launched the actual binary via a scrip usin self servicet, it would run with root permissions fine. Create a script with this line in it and put it self service...

/System/Library/CoreServices/Software Update.app/Contents/MacOS/Software Update

jarednichols
Honored Contributor

Yep, that works for us too as when you run it from a policy it's sudoing with your casper admin account.

j
--
Jared F. Nichols
Desktop Engineer, Client Services
Information Services Department
MIT Lincoln Laboratory
244 Wood Street
Lexington, Massachusetts 02420
781.981.5436