MojaveのCatalinaへのアップデートを取り消すスクリプト
先日行ったように、もうMojaveでは、Catalinaへのアップデートへの表示をもとからは消せません。しかし、Mojave自体のセキュリティアップデートは受けたいので、一度はアップデートの状態を見て、Catalinaだけだったら、消すことになります。
Shell scriptでは何行かあって、面倒なので、オートマタとshellscriptで、一発で消す方法にしました。
まず、Shell scriptは以下のとおりです、ここではユーザーのディレクトリはalphaとなっています。
/Users/alpha/updateclear.shをcotediterか何かで(viでも、vimでもお好きなエディタでどうぞ)以下のようにスクリプトを作ります。
#!/bin/bash
defaults write com.apple.systempreferences AttentionPrefBundleIDs 0
defaults write /Library/Preferences/com.apple.SoftwareUpdate.plist LastUpdatesAvailable 0
defaults write /Library/Preferences/com.apple.SoftwareUpdate.plist LastRecommendedUpdatesAvailable 0
defaults delete /Library/Preferences/com.apple.SoftwareUpdate.plist RecommendedUpdates
killall Dock
この中でいくつかは、rootで実行しないといけないので、つぎにAutomatorを用意します。

以上のようにroot(admin)権限で、動くようにします。
Apple Scriptを実行をドラッグアンドドロップし、以下のように書きます。
do shell script "sudo /Users/alpha/updateclear.sh" with administrator privileges
デスクトップに貼り付けて、ダブルクリックすれば、sudo(ルートへ)のパスワードを聞いてきますので、パスワードを入れて動きます。
アイコンの貼替えは、以下のページでどうぞ。
http://inforati.jp/apple/mac-tips-techniques/system-hints/how-to-customize-a-icon-of-macos.html
追加:コメント頂きました。sudo なくても、
defaults delete com.apple.preferences.softwareupdate LatestMajorOSSeenByUserBundleIdentifier
softwareupdate --list
で良いそうです。出典は
Remove red (1) notification badge for disabled Catalina upgrade in Mojave #
みんな考えてることは一緒なんですねぇ^^
アプリ化するなら、Automatorで、Shellscriptを実行のみで行けそうですね。
