freehelia_appendixes

Back to FreeHelia Abstract and Contents – Prev References

8 Appendixes


8.1 Automated Installation

This kickstart file was demonstrated in Linux teaching session to Open Helia project. It is meant to be used with a boot cd to load it from network.

The boot cd can be created from “Fedora Core CD 1” : images/boot.iso, by modifying boot loader configuration isolinux.cfg to include the kickstart file by default, and then re-creating the cd image. A script for writing a bootable cd from this images is included in appendix “mkcd

For printing purposes, the lines ending with a backslash have been wrapped. These lines need to be concatenated for files to work.


8.1.1 ks.cfg Automatic Installation Script

# ks.cfg for FreeHelia
# Copyright 2003-2004 Tero Karvinen tero.karvinen at iki.fi
# 20040123t1000
install
#url --url http://10.0.0.1/instero/terix/
url –url  ftp://ftp.funet.fi/pub/linux/mirrors/redhat/fedora/linux/core/1/i386/os/
lang en_US.UTF-8
langsupport --default en_US.UTF-8 en_US.UTF-8
keyboard fi
# could use 2-button ps2 here, wheel can be enabled later
# usb works instantly when plugged
mouse --emulthree
xconfig --startxonboot --defaultdesktop=kde
network --device eth0 --bootproto dhcp
rootpw piilos-ana
firewall --high --ssh
authconfig --enableshadow --enablemd5
timezone --utc Europe/Helsinki
bootloader --location=mbr
# this will be done before script:
#zerombr yes
# reboot on pxe boot, but not with a cd in the drive
#reboot
#clearpart --linux --initlabel
#part /boot --fstype ext3 --size=100 --ondisk=hda
#part / --fstype ext3 --size=700 --grow --ondisk=hda
# Use a pre script to make swap size equal to physical memory
#part swap --size=128 --grow --maxsize=256 --ondisk=hda
%packages --resolvedeps
# Lot of stuff
@ office
@ sound-and-video
@ editors
#@ admin-tools
@ emacs
@ base-x
@ gnome-desktop
@ gnome-software-development
@ graphics
@ development-tools
@ printing
@ games
@ text-internet
@ graphical-internet
kernel
#kernel-pcmcia-cs
grub
# Text mode basics
@ base
mc
nano
openssh-clients
elinks
lynx
screen
openssh-server
redhat-config-network-tui
### X basics: kde, gnome, light window man
#@ base-x
kdebase
 # icewm
redhat-config-xfree86
redhat-config-network
### minimum software
xpdf
#nedit
openoffice.org
#@ printing
gimp
epiphany
rdesktop
vnc
gaim
# g-links
### applications
@ gnome-desktop
#@ admin-tools
xmms
gaim
ethereal-gnome
nmap-frontend
#kernel-pcmcia-cs
grub
fsh
-firstboot
#-up2date
#-up2date-gnome
-rhn-applet
-rhgb
%pre
#!/bin/sh
echo "Preinstall script running"
%post
#wget http://10.0.0.1/terix/post-install.sh
#sh post-install.sh |tee >> /var/tmp/post-install.log
# reboot, have cd check rh was not just installed
wget http://myy.helia.fi/~karte/helnux/yum.conf
cp yum.conf /etc/yum.conf
chkconfig yum on
wget http://myy.helia.fi/~karte/helnux/installed.php
# Copyright 2003 Tero Karvinen tero.karvinen at iki.fi


8.1.2 Isolinux.cfg for Bootable Installer

# isolinux.cfg Modifications (c) Tero Karvinen
default helnux
prompt 1
timeout 60
display boot.msg
F1 boot.msg
F2 options.msg
F3 general.msg
F4 param.msg
F5 rescue.msg
F7 snake.msg
label helnux
  kernel vmlinuz
  append initrd=initrd.img ramdisk_size=8192
        ks=http://myy.helia.fi/~karte/helnux/ks.cfg
label linux
  kernel vmlinuz
  append initrd=initrd.img ramdisk_size=8192
label text
  kernel vmlinuz
  append initrd=initrd.img text ramdisk_size=8192
label expert
  kernel vmlinuz
  append expert initrd=initrd.img ramdisk_size=8192
label ks
  kernel vmlinuz
  append ks initrd=initrd.img ramdisk_size=8192
label lowres
  kernel vmlinuz
  append initrd=initrd.img lowres ramdisk_size=8192
label memtest86
  kernel memtest
  append -


8.1.3 mkcd – Creating a Bootable Installer Cdrom

#!/bin/sh
# a script to create bootable cd from a directory with isolinux
# mount -o loop boot.iso bootmnt/ && cd bootmnt
mkisofs -v -o helnux-ksnet.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table /home/tee/terix/minibootcd/minibootcd/
cdrecord -eject helnux-ksnet.iso


8.2 Estimating the Number of Users in Helia

The number of users was aproximated with

 karte@myy.helia.fi$ cat /etc/passwd|grep /bin/bash|wc -l
  10858

This probably includes non-active users, but we can assume that non-active users must be stored in future systems too.

The operating system version of myy was found out with

 karte@myy.helia.fi$ cat /etc/redhat-release
 Red Hat Linux Advanced Server release 2.1AS (Pensacola)


8.3 Yum automated software installation and update for Red Hat Linux

Published during this study at http://iki.fi/karvinen and tested with more than hundred users in Helia Tiko, Helia company training and volunteers worldwide.

Yum is the easiest way to keep all programs up to date. It downloads and installs the latest version of a program. A single command can update all software installed, including third-party software, security updates and operating system. It can do the updating automatically in the night. In this howto, we install yum and make it do all the above.

Yum is similar to, but better than apt, apt4rpm, windows update, up2date, yast and many other package managers I have seen.

Yum works in a safe, standardized way. It uses rpm (Red Hat package manager) for installing programs. Authenticity of packages is checked with strong gpg encryption. Package repositories are just folders on a web server.

This tutorial is for Red Hat 9. If you are using the newer Fedora Core 1 or later, you already have yum installed. For configuring Fedora version, see unofficial Fedora Faq.

We will install yum, then choose trusted packagers and start installing programs. We will also see some yum tips.

© Tero Karvinen


8.3.1 Install yum

Red Hat has rpm package manager installed by default. We use rpm to install yum.

Download yum-2.0.3-0.fdr.1.rh90.noarch.rpm

Open command prompt: Main menu (the red hat menu on bottom left corner), System Tools, Terminal. Become root with su -. Notice how your prompt turns from $ to #.

Go to the folder where you downloaded yum. Most likely cd /home/your-user-name/. If you can see the file with ls, you are on the right place.

rpm -Uvh yum*.noarch.rpm

In the command above, rpm -Uvh means installing just like rpm -i you may have used allready. -Uvh just displays some extra info and erases old version of program if necessary. You can rpm -q yum to see if yum is installed. It should tell you the version number of yum.

# rpm -q yum yum-2.0.3-0.fdr.1.rh90


8.3.2 Add trusted packagers to your keyring

In yum, it really does not matter if enemy takes over the internet and fakes to be some website offering software. All software is cryptographically checked before installation. To install some software, we must tell yum who we trust.

rpm –import /usr/share/doc/yum-*/Fedora-GPG-KEY rpm –import /usr/share/doc/yum-*/RPM-GPG-KEY

We installed the key of Red Hat Inc, as we obviously trust the company that compiled our operating system. We installed Fedora’s key, as we have allready installed yum packaged by Fedora. These two keys are probably the most usefull ones. 8.3.3 Start installing software

yum install lynx

Because it is your first run, it first downloads headers that contain information about what is available. This can take as long as 20 minutes, but it only needs to be done once. Yum prints the names of headers it downloads

Gathering header information file(s) from server(s)
Server: Fedora Linux / stable for Red Hat Linux 9 (i386)
Server: Fedora Linux / testing for Red Hat Linux 9 (i386)
Server: Red Hat Linux 9 (i386)
Server: Red Hat Linux 9 (i386) updates
Finding updated packages
Downloading needed headers
getting /var/cache/yum/fedora-stable/headers/leafnode-0-1.9.43-0.fdr.1.rh90.i386.hdr
getting /var/cache/yum/fedora-stable/headers/libzvt-devel-0-2.0.1-0.fdr.5.rh90.i386.hdr
getting /var/cache/yum/fedora-stable/headers/mhash-devel-0-0.8.18-0.fdr.1.rh90.i386.hdr
   [..]
Resolving dependencies
Dependencies resolved
I will do the following:
[install: lynx 0-2.8.5-7.1.i386]
Is this ok [y/N]: y

Accept with y and press enter. Yum downloads requested packages and installs them.

If any additional programs, dependencies, are needed, yum will ask if you want to install those too. For example, lynx needs perl-CGI, so if we don’t have that installed yet, yum installs it. Calculating available disk space – this could take a bit lynx 100 % done 1/1 Installed: lynx 0-2.8.5-7.1.i386 Transaction(s) Complete

Now all users can use lynx right away. No reboots, no changing cdroms, no nuisance. If you are still root (have a # on your command prompt), exit.

Now try lynx. If you can run lynx (the text mode web browser), you have succeeded. Congratulations, you have now installed the state of the art package manager yum.


8.3.4 Yum tips

That was just too easy, wasn’t it? To have some fun with yum, try

yum list "*ssh*"        # lists packages that have "ssh" in the name
chkconfig yum on        # make yum update all programs every night
yum remove up2date      # remove a program, dependencies handled
yum -y install pine     # -y answers "yes" to all questions
                        # pine is the package that has pico editor


8.3.5 Links

Duke University 2003: Yellow dog Updater, Modified. Official homepage of yum. Has a list of yum repositories.

Fedora Project 2003: Fedora.us. The biggest yum repository, now merging with Red Hat.

Saou, Mathias 2003: Freshrpms.net. The first big automated software repository for Red Hat. Best packages of many programs, such as mplayer and sylpheed. Good documentation.

To use yum in some real application, try some of my other tutorials. Most of them use yum to install software. 8.3.6 Copyright and Administrivia (for Appendix “Yum automated…”)

Tested with Red Hat Linux 9 Shrike

Copyright 2003-09-28, 2003-09-29, 2003-11-05 (yum list ssh), 2003-11-19 (Fedora Core advise+link) Tero Karvinen. 8.4 Legal Notice

No part of this paper should be considered legal advice. None of it has been checked by a lawyer. Licensing terms of any software referenced or included are here as reported by software vendor in question, for authoritative licenses, see legal notices in software in question. 8.5 Currently Installed Software in Helia and Free Alternatives

List of software installed in workstations of Helia on 2003, based on “Mama Ghost” (Helia IT services 2003) and observation by writer.

Multimedia players play music and videos in many file formats, such as mp3, dvd, real, quicktime, flash and shockwave. Currently installed are

  • Windows Media Player (generic media player) – MPlayer or Xine
  • Flash player, Shockwave player – Linux versions available from Macromedia (Macromedia, Inc 2003)
  • WinAmp (mp3, ogg) – xmms, freeAmp
  • Realplayer basic (rm, ram) – Linux version is available from Real.com (Realnetworks Inc 2003), but there are reports of privacy problems (See for example Gibson 2003), so excluding RealPlayer from distribution should be considered. Also Helia should avoid producing or publishing content in RealMedia formats.
  • DVD playing: MPlayer, Xine, VideoLan client or Ogle
  • Linux uses mime types similar to Windows (this program opens that kind of file)

Utilites

  • PowerArchiver (zip, tar, gz, bz2, rar, cab, arj, arc, ace, zoo, lha) – file-roller, konqueror, or command line unarchivers called from script (I have written such a tool in 1993). Also atool, un.
  • Acrobat full version (view and create pdf) – Almost all Linux programs can print pdf. Viewers include Adobe Acrobat Viewer, xpdf, kghostview, ggv. Pdf viewer plugin for Mozilla is available.
  • Ssh and sftp client – openssh, scp, sftp, gftp. Also a free ssh server is available.
  • Easy CD creator (data and audio cd burning) – cdrecord, kcd, k3b. Burning cd’s as a non-root user must be set up manually.
  • Textpad text editor – Astonishing amount of text editors are available: kate, gedit, vi, emacs…

Browsers

  • Internet Explorer and Netscape, Java support – Mozilla, Netscape, Konqueror…
  • Java plugin and SDK are available for Linux.

Databases

  • Solid – MySQL, Postgress
  • Winha and Otso, course management software – This could be challenging, as the software is tailored for Helia. Could run Windows versions in Wine, or write a web interface if sourcecode or application programming interface is available.

Office

  • MS Office 2000 – kOffice, OpenOffice or Abiword and Gnumeric
  • Frontpage – Mozilla has a WYSIWYG (graphical) web page editor. Many web editing tools are available: validators, preprocessors. Apache web server with scripting support could be installed to web development workstations.
  • Language support fi se, uk, de, fr, ru, es, cn – some Linux distributions use utf-8 charset in all programs, so they can display practically any language with the same charset. Spelling is available in many languages including Finnish and * English. User interface language, including desktop, taskbar and programs, can often be changed easily, but the level and quality of translation varies.
  • PageMaker (desktop publishing) – Scribus, but I have not tested it.
  • PhotoShop (image manipulation) – Gimp, gnu image manipulation program that has functionality similar to PhotoShop, but the user interface is often considered slightly clunky. ImageMagick provides batch image handling superior to PhotoShop.
  • TiimiPosti (email) – Might be able to run in an emulator like Wine. Is there really need for multiple email systems? Staff could move to IMP, which is used by students. Dropping duplicate solutions is likely to reduce support costs.

Educational

  • Typing Master – Makin’ Bakon Typing Tutor, TuxTyping, typespeed… I have not tested any of these typing tutorial programs. Promentor (Language learning, could be some of English, Swedish, German, French or Finnish). – Could be emulated. Many free dictionaries exist: Magic-Dic, QuickDic, StarDict…
  • Venäjän Kielen Mestari (Russian language Learning) – could be emulated.

Other software

  • Rational Rose (visual modeling for integrated development environments) – Linux version available (IBM 2003). UML models can also be drawn with Dia.

Sap gui (Enterprice Resource Planning) – MySAP client for Linux (SAP AG 2003).

  • Virus protection – Virus protection is not necessary with Linux. Instead, Linux uses generic security methods to protect from virii (Bartolich 2002).

Workstations management

  • Installation with Ghost and Windows XP sysprep. Most workstations still require manual tweaking. Licensing issues require different software combinations to be installed.
  • Asset management is done with a proprietary program.
  • Remote control is currently done with a proprietary Virtual Network Computer (vnc) based program, whose security level and encryption is unknown. Linux allows remote administration with very high security by installing (Free) ssh server on every workstation. Ssh server is installed by default in many popular distributions. Graphical remote control is possible with ssh, X Window System and vnc.
  • Software updates are handled with ghost and network logon script. Linux has more sophisticated update systems, such as apt and yum. They are discussed below in chapter “Managing Workstations”.

8.6 Glossary

License – An agreement between software vendor and user. Accepting license is usually a requirement for using software.

Distribution – A combination of operating system and software. An installer has usually an easy to use installer, documentation and support.

Linux – The Free operating system and distribution or just the Free kernel (the tiny core of an operating system), depending on context.

Operating System (OS) – software platform that lies between applications and hardware. Some popular operating systems are Windowses, BSD, Apple OSX and Linux.

Information Technology (IT) – field of automatic processing of information, which in practice consists of computer systems and related organizations.

Copyright 2003-2005 Tero Karvinen http://iki.fi/karvinen

Back to FreeHelia Abstract and Contents



Posted in Old Site | Tagged | Comments Off on freehelia_appendixes

Comments are closed.