MTAT.08.021 Systems Administration2011-03-17 1/37 Ulrich Norbisrath () University of Tartu Systems...
Transcript of MTAT.08.021 Systems Administration2011-03-17 1/37 Ulrich Norbisrath () University of Tartu Systems...
2011-03-171/37
Ulrich Norbisrath (http://ulno.net)University of Tartu
Systems Administrationhttp://sysadmin.ulno.net
MTAT.08.021Systems Administration
L5: Software
Lecture2011-03-17
2011-03-172/37
Ulrich Norbisrath (http://ulno.net)University of Tartu
Systems Administrationhttp://sysadmin.ulno.net
Software
software – the binding component
storage processorbuses/data paths
2011-03-173/37
Ulrich Norbisrath (http://ulno.net)University of Tartu
Systems Administrationhttp://sysadmin.ulno.net
Outline
● Ownership and usage rights ● Installing● Updating● Software library● Tools
2011-03-174/37
Ulrich Norbisrath (http://ulno.net)University of Tartu
Systems Administrationhttp://sysadmin.ulno.net
Software: ownership, usage rights
Ownership of the copy
● All the (owners) rights for the copy transferred to the end user
● Copyright may remain with the publisher
License to use the copy
● Client is licensed to use the copy of the software, but ownership of the copy remains with the publisher
2011-03-175/37
Ulrich Norbisrath (http://ulno.net)University of Tartu
Systems Administrationhttp://sysadmin.ulno.net
Free Software (vaba tarkvara)
● End user owns the copy– Owning the copy ≠ owning the copyright
● Owner's rights and liabilities● Accepting the license grants additional
rights, user will be bounded by the terms of license
● Copyleft vs. permissive
2011-03-176/37
Ulrich Norbisrath (http://ulno.net)University of Tartu
Systems Administrationhttp://sysadmin.ulno.net
Free Software
Copyleft● Aim to preserve
freedom of the software
GNU General Public License, Lesser GNUPublic License (weak copyleft)
Permissive● Aim to give more
freedom to the users
BSD License, Apache License (>1.0), MIT License
2011-03-177/37
Ulrich Norbisrath (http://ulno.net)University of Tartu
Systems Administrationhttp://sysadmin.ulno.net
Proprietary software(suletud tarkvara)
● Proprietary: „closed“, „commercial“● End user does not own the copy● End user is granted the right to use the copy● Accepting the license is prerequisite of using
the software● No standards, vendors impose their own rules● EULA: End User License Agreement
– How to use the copy, which is licensed– Do you read the EULA?– Consider using EULAlizers
2011-03-178/37
Ulrich Norbisrath (http://ulno.net)University of Tartu
Systems Administrationhttp://sysadmin.ulno.net
Software: Cost
Freeware (tasuta tarkvara)
Voluntary donations
Free for personal use
Shareware (vabalt levitatav prooviversioon)
Try & buy, trial (prooviversioon)
For charge
2011-03-179/37
Ulrich Norbisrath (http://ulno.net)University of Tartu
Systems Administrationhttp://sysadmin.ulno.net
Source Openness
Closed source – only vendor/publisher and their partners can access the code
Shared source – user gains access to the code by signing agreement, ownership remains with vendor
Open source – code accessible by everyone, end-user owns the copy
Access to source does not automatically imply the rights to modify the source
2011-03-1710/37
Ulrich Norbisrath (http://ulno.net)University of Tartu
Systems Administrationhttp://sysadmin.ulno.net
Counting the Users
● License tied to one workstation - per-seat● Tied to one user - per-user● Installed to many locations, allowed to use N
copies concurrently - concurrent, floating (ujuv litsents)
● License covers whole department/company or faculty/campus – site-licence, campus licence
● License tied to particular hardware – OEM (Original Equipment Manufacturer – confusing term)
2011-03-1711/37
Ulrich Norbisrath (http://ulno.net)University of Tartu
Systems Administrationhttp://sysadmin.ulno.net
License Duration
● „Forever“● Annual fee (rent)● Software support/maintenance/assurance
2011-03-1712/37
Ulrich Norbisrath (http://ulno.net)University of Tartu
Systems Administrationhttp://sysadmin.ulno.net
License Server
● Keeps track of floating / concurrent licenses ● Upon starting, application performs a check-
out of the license● When the application is closed, a check-in is
performed● No more free licenses to check out?
– application does not start, – ..or starts for a limited period of time..– ..or starts with a limited functionality
2011-03-1713/37
Ulrich Norbisrath (http://ulno.net)University of Tartu
Systems Administrationhttp://sysadmin.ulno.net
Physical Tokens
● Also known as dongles– A piece of hardware that enables the use of some
software application– Usually an USB device– Sometimes used with license servers
2011-03-1714/37
Ulrich Norbisrath (http://ulno.net)University of Tartu
Systems Administrationhttp://sysadmin.ulno.net
Installing Software
● Only install what you own or are licensed to use
● Temporary and trial installations– must be clearly distinguished– must not be used to do “real work”
● Software install rights– person with install rights must understand
the concepts of software licensing
2011-03-1715/37
Ulrich Norbisrath (http://ulno.net)University of Tartu
Systems Administrationhttp://sysadmin.ulno.net
Installing Software
● Mass installations– The only real way to mass install is to automate
● Identical installations: identical problems– Try to parallelize for faster install times
● Applications/systems that were identically installed tend to develop differences over time
– Life-time management should be identical, too– You may benefit from “checkpoints”
2011-03-1716/37
Ulrich Norbisrath (http://ulno.net)University of Tartu
Systems Administrationhttp://sysadmin.ulno.net
Packaging
Managing large quantities of software installations will get complicated
This can be mitigated by software packages
Package Management System (PMS)
2011-03-1717/37
Ulrich Norbisrath (http://ulno.net)University of Tartu
Systems Administrationhttp://sysadmin.ulno.net
Activity: The evolution of packaging (20-30min)● In teams collect concepts for installing software(especially automatically) and put them intoa chronological order
● Select 4 most important concepts● Consider: Setup of Content Management System,Installation of K3b in fresh Ubuntu,installing or compiling Lyx for Windows
2011-03-1718/37
Ulrich Norbisrath (http://ulno.net)University of Tartu
Systems Administrationhttp://sysadmin.ulno.net
Concepts for packages and package management
● Dependency handling● Recommendations● Consistency (do not break anything)● Configuration (restoration)● Distribution● Upgrade avoidance
2011-03-1719/37
Ulrich Norbisrath (http://ulno.net)University of Tartu
Systems Administrationhttp://sysadmin.ulno.net
Evolution of Packaging (1)
● Source code (or binary code) with half-automated install
tarball (incl Makefile), .jar
● Install packages (incl. removal functions, basic dependencies)
.exe install packages in Windows
2011-03-1720/37
Ulrich Norbisrath (http://ulno.net)University of Tartu
Systems Administrationhttp://sysadmin.ulno.net
Evolution of Packaging (2)
● Standard package formats with tools to manage them (removal, audit, dependencies, single package manager)
RedHat Package Management (rpm), Debian Package Format (deb), Solaris Package (pkg), Windows
Installer (msi)
● Software repository systems (dependency resolving, central updates, single toolset)
APT, Yum, YAST2/Zypp,CPAN, PEAR
2011-03-1721/37
Ulrich Norbisrath (http://ulno.net)University of Tartu
Systems Administrationhttp://sysadmin.ulno.net
Software Repository
● Set of published software (available over Internet)
● Has structure, meta-info● Compatible with some software management
application● Complex aspects of dependency, version,
update management are kept hidden from the end user
● One system can be connected to many repositories, single tool for management
2011-03-1722/37
Ulrich Norbisrath (http://ulno.net)University of Tartu
Systems Administrationhttp://sysadmin.ulno.net
Repository Examples
● Install repository for the OS● Drivers from hardware vendors
● N: nVidia, ATI, Intel graphics drivers
● Applications from third-party● N: Packman, rpmforge, EPEL, Blastwave
● For-charge and proprietary software● N: NightStar LX, Eucalyptus
● Repository for SW development libraries● N: CPAN, PEAR, CRAN
2011-03-1723/37
Ulrich Norbisrath (http://ulno.net)University of Tartu
Systems Administrationhttp://sysadmin.ulno.net
Software packaging
Vendor 2 Vendor 3
Vendor 1
OS (distro) ver 1
x86_64
i386
OS (distro) ver 2
x86_64
i386
Updates
1
x86_64
i386
2
x86_64
i386
Driver A + upg
x86_64
i386
Application B OS 1 + upg
x86_64
i386
Application B OS v2 + upg
x86_64
i386
Client 1
Client 2
2011-03-1724/37
Ulrich Norbisrath (http://ulno.net)University of Tartu
Systems Administrationhttp://sysadmin.ulno.net
Software Updates
● Upgrade versions are usually cheaper than full versions
– Functionality updates● Security updates – should be free● Bug fixes – usually free● Software “lifetime” – for how long is the
software version supported?
2011-03-1725/37
Ulrich Norbisrath (http://ulno.net)University of Tartu
Systems Administrationhttp://sysadmin.ulno.net
Software Updates
● Security updates– Security updates must be (semi)automated!– Ideal model:
1. Security update gets published2. Adminstrators test the update – in (semi)automated
way3. If the update passes testing, it will be delivered to all
the systems needing the update via automated infrastructure
2011-03-1726/37
Ulrich Norbisrath (http://ulno.net)University of Tartu
Systems Administrationhttp://sysadmin.ulno.net
Software Updates
● Version updates (upgrades)– Major upgrades need planning– Too quick upgrades will have a negative impact– Learn from the experience of other companies
● If possible, the upgrade should be simultaneous over the company– New and old version may not be fully compatible
2011-03-1727/37
Ulrich Norbisrath (http://ulno.net)University of Tartu
Systems Administrationhttp://sysadmin.ulno.net
License Store
● Repository of license tokens (agreements, license files, ..)
● With every token, list of existing installations is kept
● Each new installation should begin with registering itself in the license store
2011-03-1728/37
Ulrich Norbisrath (http://ulno.net)University of Tartu
Systems Administrationhttp://sysadmin.ulno.net
Software Library
● Structured library of software:– Installation packages of licensed software– Different versions (for testing, in use, archive)– “Install keys” can be either kept in software
library or license store
2011-03-1729/37
Ulrich Norbisrath (http://ulno.net)University of Tartu
Systems Administrationhttp://sysadmin.ulno.net
Tips, Tools, and Tricks
2011-03-1730/37
Ulrich Norbisrath (http://ulno.net)University of Tartu
Systems Administrationhttp://sysadmin.ulno.net
Distributed Installation/ Configuration
● Use of– clusterssh (cssh): ssh, which logs in multiple
times– dsh: distributed shell (Demo)– gsh: global shell
● Call yum or apt-get● Debian/CentOS/Fedora... mechanism for
installing multiple machines– FAI, Anaconda script
2011-03-1731/37
Ulrich Norbisrath (http://ulno.net)University of Tartu
Systems Administrationhttp://sysadmin.ulno.net
Dependency resolution
● Example in aptitude (demo)
2011-03-1732/37
Ulrich Norbisrath (http://ulno.net)University of Tartu
Systems Administrationhttp://sysadmin.ulno.net
Pinning/update suppression (Demo)
● Updates are not necessarily good all the time.
● You often want to suppress them or only apply very stable updates.
● Process in debian/ubuntu: hold, pinning– /etc/apt/preferences
● Fedora– /etc/yum.conf
Package: *Pin: release o=Debian,a=unstablePin-Priority: -1
Package: *Pin: release o=Debian,a=testingPin-Priority: 1000[main]
exclude = package
2011-03-1733/37
Ulrich Norbisrath (http://ulno.net)University of Tartu
Systems Administrationhttp://sysadmin.ulno.net
Dependency and Dll Hell
● What happens, if there are multiple versions of a shared library?
● How to manage this is called dependency →or library hell
● Bind to specific versions has →disadvantages
● Very bad case: diversion for graphic drivers (debian/ubuntu example)
2011-03-1734/37
Ulrich Norbisrath (http://ulno.net)University of Tartu
Systems Administrationhttp://sysadmin.ulno.net
Package yourself
● Checkinstall● Recipe (gentoo, archlinux)● Windows software
– nullsoft– msi packaging tool
● Java: IzPack● Python: Easyinstall● Other option: gnu stow
2011-03-1735/37
Ulrich Norbisrath (http://ulno.net)University of Tartu
Systems Administrationhttp://sysadmin.ulno.net
Manage configuration
● What to do with configuration files?● How to change?● What if interaction is needed?
2011-03-1736/37
Ulrich Norbisrath (http://ulno.net)University of Tartu
Systems Administrationhttp://sysadmin.ulno.net
Discussion
● Installer vs. PMS● Package vs. software library
2011-03-1737/37
Ulrich Norbisrath (http://ulno.net)University of Tartu
Systems Administrationhttp://sysadmin.ulno.net
The Sysadmin Challenge (Bonuspoints!!)
● Present your sysadmin related challenge on discussion board until Monday morning (use your real name!)
● Vote for other challenge (until I announce selection)!● Depending on quality and number of challenges, I will
select several challenges for solving (1pt for selected challengers) – will be announced Monday evening.
● Until Wednesday noon, send solution proposals (slides, screencasts, concepts) to me via email (add sysadmin-challenge to subject).
● Good proposals will get 1pt, I will select up to two presenters, these will get 10 minute slots on Thursday to present and get 2 extra-points when presenting solution.
● You can earn max. 5pts for challenges, 10pts max total.