Mi è stato fornito il seguente plist che punta a uno script bash.
Lo script dovrebbe eliminare l'installer (El capitan.app) dopo che è stato scaricato per impedire agli utenti di aggiornarlo.
Non funziona e non sono sicuro di cosa sia necessario modificare / modificare, se possibile, la sceneggiatura. Non riesce a eliminare il programma di installazione scaricato.
Ho inserito lo script nella posizione / usr / local / bin, nome file blockelcapitan.sh e posso anche confermare che il dameon di avvio (memorizzato in / Library / LaunchDaemons) sia stato caricato come confermato utilizzando il comando:
sudo launchctl list | grep net.
che mostra un risultato di:
- 78 net.ORG.blockelcapitan
Ho bisogno di aiuto con lo script, non ho idea se è corretto o cosa è necessario aggiungere / rimuovere / modificare.
#!/bin/bash
Version=$(sw_vers | grep ProductVersion | tail -c 7 | cut -d . -f 2)
if [[ $Version -ge 11 ]]
then
sudo launchctl unload /Library/LaunchDaemons/net.ORG.blockelcapitan.plist
sudo rm -rf /Library/LaunchDaemons/net.ORG.blockelcapitan.plist
sudo rm -rf /var/ORG/ElCapitan/
sudo rm -rf /var/db/receipts/net.ORG.pkg.BlockElCapitanLaunchDaemon.bom
sudo rm -rf /var/db/receipts/net.ORG.pkg.BlockElCapitanLaunchDaemon.plist
exit 0
fi
rm -rf /Applications/Install\ OS\ X\ El\ Capitan.app/
osascript -e 'display dialog "OS X El Capitan is not allowed on ORG computers at this time." with title "ORG Technology Notice" buttons {"OK"} default button "OK" giving up after 30'
Post-flight for installer PKG (you’ll want to use something like Packages for Mac to build a deployable .pkg):
#!/bin/bash
launchctl load -w /Library/LaunchDaemons/net.ORG.blockelcapitan.plist
Version=$(sw_vers | grep ProductVersion | tail -c 7 | cut -d . -f 2)
if [[ $Version -ge 11 ]]
then
sudo launchctl unload /Library/LaunchDaemons/net.ORG.blockelcapitan.plist
sudo rm -rf /Library/LaunchDaemons/net.ORG.blockelcapitan.plist
sudo rm -rf /var/ORG/ElCapitan/
sudo rm -rf /var/db/receipts/net.ORG.pkg.BlockElCapitanLaunchDaemon.bom
sudo rm -rf /var/db/receipts/net.ORG.pkg.BlockElCapitanLaunchDaemon.plist
exit 0
fi
Ecco l'effettivo launchdaemon stesso:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com /DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>net.ORG.blockelcapitan</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/blockelcapitan.sh</string>
</array>
<key>KeepAlive</key>
<dict>
<key>PathState</key>
<dict>
<key>/Applications/Install OS X El Capitan.app/</key>
<true/>
</dict>
</dict>
<key>OnDemand</key>
<true/>
</dict>
</plist>