managing operating systems with a revision control system
DESCRIPTION
TRANSCRIPT
Managing PC Operating Systems
with a Revision Control System
Ing.Mag. Gottfried Rudorfer
Wirtschaftsuniversität Wien
October 25, 1997
Want a unique system configuration– Correct
preferences for• Windows-Profile• MS-Office • Firefox
System
AdministratorUsers
Tasks– Updates – New software– Configuration of
• operating system• applications
The problem
Large scale managementof PCs Problem: The
administrative effort increases proportional with the number of PCs.
Goal: Software for automatic administration of the software
PC specific problems
Users with physical access to the computer may be able to change the software configuration – The user installs another operating
system from USB device– The user may change files and/or
partitions especially when having admin-rights
ConsequencesThe installed software on the
clients has to be regarded as non safe.
A changed software configuration has to be expected.
A software distribution system has to consider this consequences!
Existing approaches
If the user reports problems with the installation, the PC is reinstalled from scratch.
Unattended system installation with– Network-boot with access to a
repository server– Setup of software packages with
default settings
Our approach
A system which– does not require a complete re-install
but rather performs a software check.– tries to repair the existing
configuration without a fresh install.– is much faster compared to
unattended full installations
Functionality for the userVerification of a client. Speed. Verification is fast because:
– Installation from scratch is only necessary when there was a serious change in system configuration.
– The content of files is not transmitted to the client when the attributes of the file are identical with the current master copy.
Benefits for the administratorPrograms for the generation of a
new master copy. A revision control system to store
different versions of the master copy at the same time.
Only one PC client has to be managed!
Relationship between clients, server and repository
Updating a client
Load the operating system for the installation.
Run the installation program.
Reboot the system.
Provides the master copy.
ServerClient
The operating system for the installation: Linux Generic boot loader
(LILO)– loads the kernel as ram
disk.
Initial RAM-Disk– the file system is mapped
into the main memory.– Finally /initrc is
executed.
The OS has unlimited access to the hard disk.
The installation programWritten in Perl5Functionality
– Check the partition table.– Check the file systems.– Mount the file systems.– Ask the server to update the client.– Dismount the file systems.– Write a new master boot record.– Do local customizations.
Replacing the current master copy
Boot LinuxLogin at the
server as pc7adm.
The server executes the command rdist at the client using rsh.
Management of different master copies with our fsrcs.
ServerClient
The master copy
Is a directory on the server which contains all files of a client.
Access with two accounts:– pc7inst: for reading the files– pc7adm: for writing files
Problem: A working master copy might be replaced by a non operational version.
Security on the serverThe clients shouldn’t have
unlimited root privileges.The upload program has to be run
with root privileges!Solution:
– .rhosts– No login shell for the upload and download
users. – All programs perform first a chroot to the
master copy.
The repository of fsrcs
PerformanceFresh installation of both operating
systems– 909 Mbytes of data– approx. 40,000 files– 42 minutes
Check with minor modifications of both operating systems– 8 minutes
Check with minor modifications of Windows 95– 202 Mbytes of data– approx. 3,500 files– 2 minutes
Future work
Management of different hardware configurations with one repository.
Merge rdist and fsrcs into a single application.
Managing PC Operating Systems
with a Revision Control System
Gottfried Rudorfer