Lecture 1: Introduction

Download Report

Transcript Lecture 1: Introduction

New SA Training
Topic 10: Software Management

Common aspects of software management



Everyone needs software
What does software installation require?

Files added or updated

Directory services updates (e.g., changes to
/etc/services, new DNS aliases)

Becoming accessible to users (e.g., showing up in
a Start Menu, or in a user's PATH)
Localization (i.e., differences in system as shipped by
the vendor vs. what your organization needs locally).

Install it yourself

Give list of packages to third party and pay them
to install it
Software Management (cont.)

Managing change
 Inventory (i.e., what do you have?)
 Versioning your build
 Rogue users and departments
 Testing
 Make changes reversible (n.b. undoable and
reversible aren’t the exact same concepts).
 "reversible" means that you can do some
well-defined set of steps to both do an
operation forwards, as well as backwards
 "undoable" means you can get back to the
original state, but may require a much more
cumbersome process
Software Management (cont.)

Managing change (continued)
 Revision control – policy and process
 Software location policies (client vs.
server, which directories/drives are for
user software, etc)
 Interactive installation vs. automatic
installation
 Timing of installation and updates
(vendor driven vs. SA driven vs. user
driven)
Software Management (cont.)

Fat clients vs. thin clients (with fat servers)

Question: one old rationale for thin clients was
the high cost of disks. Now that disks are
cheaper, some argue that fat client is better.
What other factors need to be considered in
making a decision between fat and thin client?
Windows Specifics
Registry and system folder combine to
encourage fat client
 Microsoft encourages fat client installation
 DLL Hell (different applications needing
different versions of core DLLs)
 Current methods for installation rely on
GPO (Group Policy Object)

Windows Specifics (cont.)

Three ways of Installing Software using AD
 Publishing applications (make available
for end users to install)
 Assigning applications to computers
(installs onto system)
 Assigning applications to users (installs
desktop and/or Start Menu shortcuts, but
the first use actually does the install)
Windows Specifics (cont.)
 .msi
 .msp
 .mst
 .zap
Windows Installer Database
Windows Installer Patch
Windows Installer Transform
Zero Administration Package
 WinINSTALL LE (and similar products)
can be used for packaging software that
does not provide a native installer
Windows Specifics (cont.)

Other ways of installing software
 Copy files locally and update desktop
and/or Start Menu
 Copy files onto server, and update
desktop and/or Start Menu
 Run vendor-supplied installation
package (often just like Assigning to
computers, but may not be if the
package doesn't update the list of
installed software).
Windows Install Exercise
 When would we want to “Publish” software?
 When would we want to “Assign” to a User?
 When would we want to “Assign” to a
Computer?
 Are there other ways of installing software
beyond what we have already discussed?
 Let’s take a look at how this is done in a
Group Policy!
Linux Specifics



Unix world often thin client and fat server
Some vendors have packaging solutions
Traditionally:
 Download source (assume it's src.tgz)
 gunzip -c src.tgz | tar xvf  cd src
 read README
 read INSTALL
 edit Makefile
 edit source code
 make
 make install
Linux Specifics (cont.)

More recently, it's:






Download source (assume it's src.tgz)
gunzip -c src.tgz | tar xvf –
cd src
./configure
make
make install
Upgrade? Symbolic links to provide
canonical names.
 Uninstall? Who would ever do that?

Linux Specifics (cont.)

RedHat uses rpm
 rpm –ivh package (install, verbose, w/hashes)
 rpm –qa
(query for all installed packages)
 rpm –ql package
(list all files in a package)
 rpm -qi package
(provide package “info”)
 rpm -Uvh package(upgrade, verb/hashes)
 rpm -e package
(erase)

Lack of ability to build programs from source may hinder
your growth as an SA. Also, some experience with C (or
C++) can be important, as there may be times when you are
asked to debug code issues (in the form of buggy software
from vendors, on both Windows and Unix).
Linux Install Exercise
 Let’s look at RPM
 Install from source?
Updating and Managing Software
 Windows
 Widowsupdate
/ autoupdate
 Officeupdate
 SUS/WSUS
 SMS/System
Center
 Let’s look at Windows Update & WSUS
Updating and Managing (cont.)
 RedHat
RedHat Network / up2date
 RHN Proxy

 Let’s look at RHN