Building an Effective Software Deployment Process Using IBM Endpoint Manager JOHN TYNDALL University Services, Classroom and Lab Computing
hopefully, you already know ❶ Basic IEM concepts. ❷ Basic relevance. ❸ Basic application installation.
and hopefully, you ll learn how to ❶ Test applications. ❷ Write and deploy installer fixlets. ❸ Troubleshoot and maintain.
Installing Software
GOAL: Install Mozilla Firefox ❶ Download the package. ❷ Unpack the app. ❸ Install it.
GOAL: Install Mozilla Firefox
GOAL: Install Mozilla Firefox
GOAL: Install Mozilla Firefox
did you notice? Installer files What files/folders need to be included to make the installation work? Settings What options need to be configured? At installation? Afterwards? Application files Where does the installer put files? Verification Did the app install correctly? Did it even need to be installed in the first place?
installer files? application bundle (.app) disk image (.dmg) installer (.pkg,.mpkg) archive (.zip,.sit,.tar.gz)
settings? configuration (license key, select features) customization (add to dock) demoralization (disable updates)
application files? /Applications ~ /Library /, /System, /bin
verification?
installing software
Translating to the Command Line
from this
to this
with this installation unattended silent
GOAL: Install Mozilla Firefox ❶ Download the package. ❷ Unpack the app. ❸ Install it.
installer files application bundle (.app) disk image (.dmg) installer (.pkg,.mpkg) archive (.zip,.sit,.tar.gz)
mount the.dmg hdiutil attach [options] mountpoint path filename.dmg attach mount as a volume -quiet, -nobrowse make volume silent and invisible in Finder -mountpoint mount the volume at the specified location hdiutil attach quiet nobrowse -mountpoint /tmp/firefox Firefox.dmg
GOAL: Install Mozilla Firefox
copy the application cp -Rfp filename.app destination -R recursively copy all components -f overwrite any existing files -p preserve the bundle s attributes cp -Rfp /tmp/firefox/firefox.app /Applications
GOAL: Install itunes
GOAL: Install itunes
install the package installer package filename.pkg target destination -package specify the path to the package (.pkg or.mpkg) -target specify the installation destination installer pkg Install itunes.pkg target /
GOAL: Install Adobe Flash Player
GOAL: Install itunes
GOAL: Install Adobe Flash Player
GOAL: Install Adobe Flash Player installer pkg /tmp/afp/install Adobe Flash Player.app/Contents/Resources/Adobe Flash Player.pkg target /
Translating to BigFix
systems management @ penn state Endpoint Management keep yourself happy. Inventory keep auditors happy. Control keep ourselves happy. Support keep your boss happy. Patch Management keep the security office happy. Application Deployment keep end users happy. Power Management keep Earth happy.
key components ❶ The Fixlet ❷ The Relevance ❸ The Action
a fixlet ❶ Identifies a problem (relevance). ❷ Solves the problem (action).
fixlets vs. tasks identify and remediate a problem (i.e., fix) reports as Fixed fixlets maintenance and management (i.e., doesn t necessarily address problems) reports as Completed tasks
relevance ❶ Queries information about a system ❷ Returns TRUE or FALSE ❸ Can also return values (analysis)
comparing relevance to SQL SQL Relevance Data structures Tables, views, stored Inspectors procedures Data querying SELECT <column> FROM <table> <attribute> of <inspector> Result filtering WHERE WHOSE Result sorting ORDER BY n/a Data writing INSERT, UPDATE n/a
actions ❶ Execute commands on a system. ❷ Can be BigFix or OS commands.
comparing action script to Terminal commands OS X cp mv Rm cat/echo/touch open Sleep BigFix copy move delete createfile/appendfile run wait download/prefetch continue if
GOAL: Install Mozilla Firefox ❶ Download the package. ❷ Unpack the app. ❸ Install it.
download the package prefetch Firefox.dmg sha1:13929ab1517ab3aaa5e6cbbdee747127f2c0c217 size:60366702 http://downloads.mozilla.com/firefox 30.0.dmg
GOAL: Install Mozilla Firefox ❶ Download the package. ❷ Unpack the app. ❸ Install it.
unpack the app wait hdiutil attach -quiet nobrowse -mountpoint "/tmp/firefox" " Download/Firefox.dmg"
GOAL: Install Mozilla Firefox ❶ Download the package. ❷ Unpack the app. ❸ Install it.
install the app wait cp Rfp "/tmp/firefox/firefox.app" "/Applications"
verification ❶ Did the application install correctly? ❷ Did it even need to be installed?
what do you need to know? ❶ Is this the right OS? ❷ Is the software already installed? ❸ Are there any other dependencies?
firefox 30.0 system requirements for mac ❶ Mac OS X version 10.6 or later. ❷ (Firefox 30.0 isn t installed.)
mac os x version 10.6 or later mac of operating system name of operating mac of operating system starts systemwith Mac whose (version of ANDit >= 10.6.0 ) system version >= 10.6.0 )
firefox 30.0 isn t installed not exists folder /Applications/Firefox.app not exists not exists folder application /Applications/Firefox.app whose Firefox.app (version of it >= 30.0 )
firefox 30.0 system requirements for mac mac of operating system whose (version of it >= 10.6.0 ) AND not exists folder /Applications/Firefox.app whose (version of it >= 30.0 )
when you get stuck, try QnA.app
Creating content in BigFix
steps for creating content ❶ Look to see if it already exists!
ibm fixlets: patches ❶ Patches for Mac OS X ❷ Updates for Mac Applications
sysman fixlets: software sharing installers
steps for creating content ❶ Look to see if it already exists! ❷ Look (harder) to see if it already exists!
check external resources ibm developerworks forum bigfix.me google it read the vendor s documentation (if any)
steps for creating content ❶ Look to see if it already exists! ❷ Look (harder) to see if it already exists! ❸ Use the Software Deployment Wizard.
Organizing content in BigFix
finding and organizing content
organize computers into groups
organize computers into groups
organize computers into groups
retrieve information using analyses
retrieve information using analyses
retrieve information using analyses
and use it to create a report
consider baselines BASELINE A Utilities Drivers BASELINE B Common software BASELINE C Departmental software
deploy baselines as policies exists file Baseline.A.done? exists file Baseline.B.done? BASELINE A Utilities Drivers BASELINE B Common software BASELINE C Departmental software write a file at the end, e.g., Baseline.A.done write a file at the end, e.g., Baseline.B.done write a file at the end, e.g., System.Build.done
Deploying content in BigFix
Troubleshooting
At 12:05:07-0400 - DownloadPing command received (ID=516140) At 12:05:11-0400 - actionsite (http://warez.psu.edu:52311/cgi-bin/bfgather.exe/actionsite) Command succeeded (evaluated true) continue if {(size of it = 1234 AND sha1 of it = abc") of file MyWebSearch.tmp" of folder " Download"} (action:h3110) At 12:05:13-0400 - actionsite (http://warez.psu.edu:52311/cgi-bin/bfgather.exe/actionsite) Command succeeded extract MyWebSearch.tmp (action:h3110) Command started - wait mkdir -p "/tmp" (action:h3110) At 12:05:33-0400 - Encryption: optional encryption with no certificate; reports in cleartext At 12:06:11-0400 - Report posted successfully At 12:06:12-0400 - actionsite (http://warez.win.psu.edu:52311/cgibin/bfgather.exe/actionsite) Command succeeded (Exit Code=0) wait mkdir -p "/tmp" (action:h3110) At 12:06:13-0400 - actionsite (http://warez.win.psu.edu:52311/cgibin/bfgather.exe/actionsite) Command succeeded createfile until END (action:h3110) Command started - wait sh -c "/usr/bin/hdiutil mount /tmp/mywebsearch/toolbar.dmg" (action:h3110) At 12:06:15-0400 - actionsite (http://warez.win.psu.edu:52311/cgibin/bfgather.exe/actionsite) Command succeeded (Exit Code=1) wait sh -c "/usr/bin/hdiutil mount /tmp/mywebsearch/toolbar.dmg" (action:h3110) Command started - wait sh -c "/usr/sbin/installer -target / -pkg /MyWebBar\ Tools\ \Install.mpkg" (action:h3110) Command succeeded (Exit Code=1) wait sh -c "/usr/sbin/installer -target / -pkg /MyWebBar\ Tools\ \Install.mpkg" (action:h3110) Command started - wait sh -c "/usr/bin/hdiutil unmount /Volumes/Command\ Line\ Tools\ \(Mountain\ Lion\)" (action:h3110) At 12:06:16-0400 - actionsite (http://warez.win.psu.edu:52311/cgibin/bfgather.exe/actionsite) Command succeeded (Exit Code=1) wait sh -c "/usr/bin/hdiutil unmount /tmp/mywebsearch" (action:h3110) At 12:06:16-0400 - ActionLogMessage: (action:h3110) ending action
helpful logs /Library/Application Support/Bigfix/BES Agent/ BESData/ Global/Logs/*.log /Library/Logs/BESAgent.log /var/log/install.log /var/log/system.log
troubleshooting packages pkgutil --pkgs grep -i term
troubleshooting packages pkgutil --files package
Building an Effective Software Deployment Process Using IBM Endpoint Manager John Tyndall, jbt8@psu.edu IT Manager, CLC University Services, Penn State University SysMan Service http://clc.its.psu.edu/sysman SysMan SharePoint (and Web Reports Access) https://wss.psu.edu/sysman QnA for Mac OS X http://support.bigfix.com/bes/install/besclients-nonwindows.html#osx IEM Inspectors Reference https://support.bigfix.com/inspectors/world%20objects_mac.html IBM BigFix Community Forums https://www.ibm.com/developerworks/community/forums/html/category?id=33333333-0000-0000-0000-000000000506 BigFix.me https://bigfix.me CLC Help Request http://clc.its.psu.edu/help