Next Previous Contents

7. Appendix

7.1 Appendix A - A script for creating host directories

#!/usr/bin/bash
#This is a script for creating host directories using the
#directory scheme illustrated before in this document.
#It is written on Solaris and I did not test it on Linux.
#Execute it at the ws directory.
#Needs as input a file containing space separeted IP
#addresses named addr, for example bash# ./script addr
#This file must be like this: 195.251.160.10 195.251.160.11 195.251.160.13 ....

echo "Creating the tar archive"; echo

cd base
tar cpf linux.tar ./bin ./dev ./etc ./lib ./sbin ./var
mv linux.tar /usr/local/linux/ws/linux.tar
cd ..

echo "Creating host directories"; echo

for addr in $(cat addr)
do
        echo "Working on host $addr"
        mkdir $addr
        cd $addr
        echo "   ---Creating nessesary directores"
        mkdir boot
        mkdir cdrom
        mkdir floppy
        mkdir home
        mkdir mnt
        mkdir opt
        mkdir proc
        mkdir root
        mkdir tmp
        mkdir usr
        echo "   ---Extracting tar archive"

        ln -s ../linux.tar ./linux.tar
        tar xf linux.tar
        rm linux.tar

        echo "   ---Removing unnessesary files"
        rm -R ./lib/modules/*
        rm -R ./var/yp
        rm -R ./var/X11R6/sax
        rm -R ./var/tmp
        rm -R ./var/state/dhcp
        rm -R ./var/squid
        rm -R ./var/run/*
        rm -R ./var/opt
        rm -R ./var/named
        rm -R ./var/mysql
        rm -R ./var/lib/amanda
        rm -R ./var/lib/codadmin
        rm -R ./var/lib/firewall
        rm -R ./var/lib/apsfilter
        rm -R ./var/lib/gdm
        rm -R ./var/lib/misc
        rm -R ./var/lib/nobody
        rm -R ./var/lib/pcmcia
        rm -R ./var/lib/pgsql
        rm -R ./var/lib/rpm/*
        rm -R ./var/lib/setup
        rm -R ./var/lib/wvdial
        rm -R ./var/lib/wwwrun
        rm -R ./var/lib/xdm
        rm -R ./var/lib/xkb
        rm -R ./var/lib/YaST/*
        rm -R ./var/lib/zope
        rm -R ./var/log/*
        rm -R ./var/cache/*
        rm -R ./var/games
        rm -R ./var/adm/*

        echo "   ---Deciding the hostname"
        nslookup $addr |sed -n "s/^Name: *//p" >etc/HOSTNAME
        cd ..
        i=$(($i+1))
        echo

done
echo "Removing the tar archive"
rm linux.tar
echo
exit  0

7.2 Appendix B - A script to create the dhcpd.conf file using arpwatch

#!/bin/bash
#A script that starts arpwatch, pings a range of addresses and creates an
#/etc/dhcpd.conf file from the output of arpwatch.
#The arp.dat2dhcpd.conf programm is described later.
#Do not forget to edit the i variable and the while statement to specify
#the range of the addresses you want to ping

i=128;

echo "Starting arpwatch";echo
arpwatch

while [ "$i" -lt 253 ]
do
        addr=195.251.160.$i
        echo "Now pinging $addr"
        ping -c 5 $addr >/dev/null
        i=$(($i+1))
done
echo
exit
killproc arpwatch
echo "Creating /etc/dhcpd.conf"
cat /var/lib/arpwatch/arp.dat |arp.dat2dhcpd.conf >/etc/dhcpd.conf

The arp.dat2dhcpd.conf script

#!/usr/bin/perl -n
($ether, $ip,$stup1,$name) = split;
if ($name eq "") {
print "
host host$i {
        hardware ethernet $ether;
        fixed-address $ip;
}
";
$i++;}
else{
        print "
host $name {
        hardware ethernet $ether;
        fixed-address $ip;
}
"}

7.3 Appendix C - A sample XF86Config file

#This file should let X 4.0.1 work in 1024x768@16M colors
#with the fbdev driver using the linux's framebuffer
Section "Files"
  RgbPath       "/usr/X11R6/lib/X11/rgb"
  FontPath      "/usr/X11R6/lib/X11/fonts/75dpi:unscaled"
  FontPath      "/usr/X11R6/lib/X11/fonts/local"
  FontPath      "/usr/X11R6/lib/X11/fonts/misc:unscaled"
  FontPath      "/usr/X11R6/lib/X11/fonts/100dpi:unscaled"
  FontPath      "/usr/X11R6/lib/X11/fonts/Type1"
  FontPath      "/usr/X11R6/lib/X11/fonts/URW"
  FontPath      "/usr/X11R6/lib/X11/fonts/Speedo"
  FontPath      "/usr/X11R6/lib/X11/fonts/misc"
  FontPath      "/usr/X11R6/lib/X11/fonts/75dpi"
  FontPath      "/usr/X11R6/lib/X11/fonts/100dpi"
  FontPath      "/usr/X11R6/lib/X11/fonts/PEX"
  FontPath      "/usr/X11R6/lib/X11/fonts/cyrillic"
  FontPath      "/usr/X11R6/lib/X11/fonts/latin2/misc"
  FontPath      "/usr/X11R6/lib/X11/fonts/latin2/75dpi"
  FontPath      "/usr/X11R6/lib/X11/fonts/latin2/100dpi"
  FontPath      "/usr/X11R6/lib/X11/fonts/latin7/75dpi"
  FontPath      "/usr/X11R6/lib/X11/fonts/kwintv"
  FontPath      "/usr/X11R6/lib/X11/fonts/truetype"
  FontPath      "/usr/X11R6/lib/X11/fonts/uni"
  FontPath      "/usr/X11R6/lib/X11/fonts/ucs/misc"
  FontPath      "/usr/X11R6/lib/X11/fonts/ucs/75dpi"
  FontPath      "/usr/X11R6/lib/X11/fonts/ucs/100dpi"
  FontPath      "/usr/X11R6/lib/X11/fonts/xtest"
EndSection

Section "ServerFlags"
  AllowMouseOpenFail
EndSection

Section "Module"
EndSection

# This section is no longer supported
# See a template below
# Section "XInput"
# EndSection

Section "Keyboard"
  Protocol      "Standard"
  XkbRules      "xfree86"
  XkbModel      "microsoft"
  XkbLayout     "us"
EndSection

Section "Pointer"
  Protocol              "PS/2"
  Device                "/dev/psaux"
  SampleRate            60
  BaudRate              1200
  Buttons               5
EndSection

Section "Monitor"
  Identifier    "Primary-Monitor"
  VendorName    "Unknown"
  ModelName     "Unknown"
  HorizSync     29-64
  VertRefresh   47-90
  Modeline "1400x1050" 59.93 1400 1416 1704 1816 1050 1050 1055 1097
  Modeline "1280x960" 59.90 1280 1296 1552 1664 960 960 965 1003
  Modeline "1600x1000" 59.90 1600 1616 1968 2080 1000 1000 1004 1044
  Modeline "1024x864" 59.89 1024 1040 1216 1328 864 864 870 902
  Modeline "800x600" 58.55 800 816 928 1040 600 600 608 626
  Modeline "1152x864" 59.99 1152 1168 1384 1496 864 864 870 902
  Modeline "1280x1024" 59.90 1280 1296 1552 1664 1024 1024 1029 1070
  Modeline "640x480" 37.44 640 656 720 832 480 480 486 501
  Modeline "1024x768" 59.89 1024 1040 1216 1328 768 768 774 802
  Modeline "1600x1200" 59.90 1600 1616 1968 2080 1200 1200 1204 1253
EndSection

Section "Device"
  Identifier    "Primary-Card"
  VendorName    "---AUTO DETECTED---"
  BoardName     "---AUTO DETECTED---"
EndSection

Section "Screen"
  Driver        "fbdev"
  Device        "Primary-Card"
  Monitor       "Primary-Monitor"
  DefaultColorDepth     16
  SubSection "Display"
    Depth       32
    Modes       "default"
  EndSubSection
  SubSection "Display"
    Depth       24
    Modes       "default"
  EndSubSection
  SubSection "Display"
    Depth       16
    Modes       "default"
    Virtual     1024 768
  EndSubSection
  SubSection "Display"
    Depth       8
    Modes       "default"
  EndSubSection
EndSection

Section "Screen"
  Driver        "fbdev"
  Device        "Primary-Card"
  Monitor       "Primary-Monitor"
  DefaultColorDepth     16
  SubSection "Display"
    Depth       32
    Modes       "default"
  EndSubSection
  SubSection "Display"
    Depth       24
    Modes       "default"
  EndSubSection
  SubSection "Display"
    Depth       16
    Modes       "default"
    Virtual     1024 768
  EndSubSection
  SubSection "Display"
    Depth       8
    Modes       "default"
  EndSubSection
EndSection


Next Previous Contents