Building an Effective Software Deployment Process
Using IBM Endpoint Manager
JOHN TYNDALL
hopefully, you already
know
❶ Basic IEM concepts.
❷ Basic relevance.
and hopefully, you’ll
learn
how to
❶ Test applications.
❷ Write and deploy installer fixlets.
❸ Troubleshoot and maintain.
GOAL:
Install Mozilla Firefox
❶ Download the package.
❷ Unpack the app.
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?
installer files?
application bundle (.app)
installer (.pkg, .mpkg)
archive (.zip, .sit, .tar.gz)
disk image (.dmg)
settings?
configuration (license key, select features)
customization (add to dock)
application files?
/Applications
/Library
~
with this
installation
unattended
GOAL:
Install Mozilla Firefox
❶ Download the package.
❷ Unpack the app.
installer files
application bundle (.app)
installer (.pkg, .mpkg)
archive (.zip, .sit, .tar.gz)
disk image (.dmg)
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
copy the application
cp -Rfp “
filename.app” destination
-R
– recursively copy all components
-f
– overwrite any existing files
-p
– preserve the bundle’s attributes
install the package
installer –package “
filename.pkg” –target destination
-package
– specify the path to the package (.pkg or .mpkg)
-target
– specify the installation destination
GOAL:
Install Adobe Flash Player
installer –pkg
“
/tmp/AFP/Install Adobe Flash Player.app/Contents/Resources/Adobe Flash Player.pkg”
Inventory
keep auditors happy.
Patch Management
keep the security office happy.
Power Management
keep Earth happy.
Application Deployment
keep end users happy.
Endpoint Management
keep yourself happy.
Control
keep ourselves happy.
Support
keep your boss happy.
key components
❶ The Fixlet
❷ The Relevance
❸ The Action
a fixlet
❶ Identifies a problem (relevance).
❷ Solves the problem (action).
fixlets vs. tasks
fixlets
tasks
maintenance and management
(i.e., doesn’t necessarily address problems)
identify and remediate a problem
(i.e., fix)
reports as “Fixed”
relevance
❶ Queries information about a system
❷ Returns TRUE or FALSE
comparing relevance to SQL
SQL
Relevance
Data structures
Tables, views, stored
procedures
Inspectors
Data querying
SELECT <column>
FROM <table>
<attribute> of
<inspector>
Result filtering
WHERE
WHOSE
Result sorting
ORDER BY
n/a
actions
❶ Execute commands on a system.
❷ Can be BigFix or OS commands.
comparing action script to Terminal commands
OS X
BigFix
cp
copy
mv
move
Rm
delete
cat/echo/touch
createfile/appendfile
open
run
Sleep
wait
download/prefetch
continue
if
GOAL:
Install Mozilla Firefox
❶ Download the package.
❷ Unpack the app.
download the package
prefetch
Firefox.dmg
sha1:13929ab1517ab3aaa5e6cbbdee747127f2c0c217
size:60366702
GOAL:
Install Mozilla Firefox
❶ Download the package.
❷ Unpack the app.
unpack the app
wait
hdiutil attach -quiet –nobrowse
GOAL:
Install Mozilla Firefox
❶ Download the package.
❷ Unpack the app.
install the app
wait
cp –Rfp
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?
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
name
whose
of
operating system
mac
mac
mac
(version
of
of
of
operating system
operating system
operating system
of it >=
AND
starts with “Mac”
“10.6.0”
)
firefox 30.0 isn’t installed
not exists
application
“Firefox.app”
not exists
folder
“/Applications/Firefox.app”
not exists
folder
“/Applications/Firefox.app”
whose
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”
)
steps for creating content
ibm fixlets: patches
❶ Patches for Mac OS X
steps for creating content
❶ Look to see if it already exists!
check external resources
ibm developerWorks forum
bigfix.me
google it
steps for creating content
❶ Look to see if it already exists!
❷ Look (harder) to see if it already exists!
❸ Use the Software Deployment Wizard.
consider baselines
BASELINE
A
Utilities
Drivers
BASELINE
B
Common
software
BASELINE
C
Departmental
software
deploy baselines as policies
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”
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/cgi-bin/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/cgi-bin/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/cgi-bin/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/cgi-bin/bfgather.exe/actionsite)
Command succeeded (Exit Code=1) wait sh -c "/usr/bin/hdiutil unmount /tmp/MyWebSearch" (action:h3110)
At 12:06:16 0400
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
troubleshooting packages
Building an Effective Software Deployment Process Using IBM Endpoint Manager
John Tyndall, [email protected]
IT Manager, CLC University Services, Penn State University
SysMan Service
http://clc.its.psu.edu/SysMan
CLC Help Request
http://clc.its.psu.edu/HelpSysMan 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