One Unified Global Perspective
Communications with a Global Perspective
Contact Us
Voice over IP
PBX Solutions
Open Source


2006 Nov 13 - Mon

Debian Etch 2 Base Build

This build process creates a basic VMWare session with Debian Etch 2 Network Boot CD. Familiarity with VMWare is assumed. A similar configuration can be used when installing on physical hardware.

I'm posting this build process as it forms the basis for a number of other configurations that have already been posted, or will be posting in the near future. This configuration forms the basis of a network monitoring server that can be used to support a predominately Cisco based infrastructure.

To create a VM, start the VMWare wizard with File -> New -> Virtual Machine. Use a 'Custom' Virtual Machine Configuration.

Select Next and then for an 'Appropriate Configuration', choose custom, then click 'Next'.

For a 'Virtual Machine Format', use 'New - Workstation 5'.

New Virtual Machine

When you need to select a Guest Operating System, there is no entry for Debian. Therefore, in the radio button list, select 'Linux'. Then in the drop down box, select 'Other Linux 2.6.x kernel'.

In the next wizard window, provide a Virtual Machine name such as 'debbase'. Select an appropriate directory.

Select Guest Operating System

For 'Processor Configuration', select 'One' processor.

Default memory usage of 256 MB should be fine.

Network Type

For the 'Network Type', typically you'd use 'Bridged Networking'. During operating system installation and configuration, you can then assign a dedicated IP address or allow the network DHCP to assign it an IP address.

On the 'Specify Disk Capacity' wizard window, the 8GB default disk size should be fine. Leave 'Allocate all disk space now' as blank. Optionally, you can select the 'Split disk into 2 GB files'.

When you need to specify 'Disk File', give it a name such as hda which is similar to the Linux physical drive vernacular.

Click 'Finish' to finish the VM session creation.

Operating System Installation

Now that the VM session has been created, the operating system can now be installed.

For the VM properties, you can point the virtual CD-ROM to a physical drive or to an .iso file on your harddrive. In either case, make the Debian Etch 2 NetInstall available and start the VM session. It should boot from you CD or .iso file.

By default, the installation process will install Debian with Kernel 2.6, so just hit the ENTER key to start.

On the Language screen, hit enter to accept English.

On the country screen, choose Other, then select Bermuda (choose your own country here). This selection also sets the timezone, so be sure to choose appropriately, and hit ENTER.

For the Keyboard Layout, use American English and hit ENTER.

If you have a DHCP server, the installation process will automatically configure an IP address for your VM. If you had wanted to use a static IP address, either disable DHCP visability to the VM, or restart the installation and set the DHCP parameter to none (select F1 to find the appropriate screen with the parameter at the first installation screen.

For the hostname, use a name appropriate for the machine you'll be building. On the following screen, provide a domain name. For example:

You can then select a Debian Mirror from which to download the remaining packages for the installation. I normally use under the United States listed mirrors. You can skip or you can configure the http proxy information, as appropriate for your network access to the internet.

Installation will do a hardware scan and then start into drive partitioning.

After choosing the default, you'll be presented with three choices for partitioning.

I don't use any of the defaults, so choose <Go Back> to get the main partiioning screen.


To partition the drive, use the following steps:

  • On a system with dual drives using software raid:
    • create a 200MB partition on each drive for the /boot partition
    • set the boot flag on each partition
    • the two partitions can then be joined in the raid manager as /dev/md0
    • create a 500mb or 1gb partiion on each drive for the swap (normally I allow the swap partition to be managed by LVM, but as LVM will be residing on the raid'd partition, swap is maintained on the non-raid location to keep it fast)
    • allocate the remaining space on each drive into a final partition which will be used by LVM
    • join these two partitions together in the raid manager to become /dev/md1
    • once created and the operating system is installed, 'mdadm --detail /dev/md0' can be used to view synchronization status
    • once the raid partitions are in place, proceed with file system and LVM allocation (some of the following steps are redundant or are in need of adjustment [I'll have to reorganize this a little later] )
  • select the drive and create new empty partition table (if you are not configuring with raid)
  • select the free space and create a new partition of size 200MB, make it primary at the beginning, and the mount point should be /boot and set the 'Bootable Flag' to on.
  • select the remaining free space, create a new partition, use the maximum space available, make it primary, use as 'physical volume for LVM', and don't make it bootable
  • now start the 'Configure the Logical Volume Manager' selection, and select yes when asked to commit the current changes
  • use the 'Modify volume groups' menu
    • Create Volume Group
    • use the space bar to select the shown volume group device
    • call it 'vg01'
  • use the 'Modify Logical Volumes' menu to create logical volumes
    • Swap: lvSwap in vg01 of 500MB
    • Base: lvBase in vg01 of 2GB
    • Var: lvVar in vg01 of 1GB
    • Netflow: lvNetflow in vg01 of 500MB
  • leave logical volume creation and leave logical volume manager menu
  • you'll see a listing with logical volumes and physical partitions, each needs to be assigned a mount point with the following steps... you'll select #1 under each indicated logical volume
    • lvBase use as ext3 with mount point '/'
    • lvNetflow use as ext3 with mount point of '/var/local/netflow'
    • lvSwap use as swap area
    • lvVar use as ext3 with mount point '/var'
  • you can now Finish Partitioning and write changes

Additional Installation Steps:

  • During the network install, a network card may not get recognized. If this is the case, try 'install noapic' on install boot. This worked on a IBM e300 server with an e100 network card.
  • Set a password for the root account
  • For the screen asking for a regular user account, create an account called 'admin' and provide it with a password
  • For software selection screen, uncheck everything, then check:
    • Web Server
    • File Server
    • SQL database
    • Standard systems
  • For the Samba Server configuration, put in your network domain name
  • Choose Yes to install the GRUB boot loader to the master boot record.
  • Allow the system to reboot
Final Installation Steps

Log back in after reboot and install a few more modules:

  • apt-get update
  • apt-get upgrade
  • apt-get install apt-file
  • apt-get install ssh
  • apt-get install ncftp
  • apt-get install ntp
  • apt-get install curl
  • apt-get install lynx
  • apt-get install expect
  • apt-get install cvs
  • apt-get install ntpdate
  • apt-get install tcpdump
  • apt-get install iperf
  • apt-get install perl-doc

To synchronize the server time with NTP:

ntpdate servername|ipaddress 

For some basic service management:

apt-get install sysv-rc-conf

Remove the AppleTalk protocol:

update-rc.d -f netatalk remove
apt-get remove netatalk

To search for packages:

apt-get install apt-file
apt-file update
apt-file -l list image

To install the default Perl CPAN bundle for the first time, accept all defaults.  If your proxy or firewall does not accept ftp commands, modify the command around line 58 in '/usr/share/perl/5.8.8/' so it uses an http site like:

$CPAN::Defaultsite ||= ""

That one will get the regular list of repositories downloaded. You can then choose one or more to your liking. seems to be a good one.

perl -MCPAN -eshell
install PAR::Dist
install Compress::Zlib
install IO::Zlib
install Test::More
install Spiffy
install Test::Base
install Digest::SHA::PurePerl
install YAML
install Bundle::CPAN
reload cpan
install Error
install Digest::SHA1
install Digest::MD5
install DBI

If you choose a download site that doesn't work very well, use the following command and restart the perl configuration.

rm -rf /usr/lib/perl5/5.8.6/CPAN/

Perform general configuration install generic utilities.

Uncomment certain commands in .bashrc or adding lines like:

#for regular proxying:
#for ntlm proxying with APS098:
export http_proxy

Then reload the .bashrc file with:

#this command:
source .bashrc
#or this command

Install your .ssh key:

scp -r .ssh root@yourmachine:/root

Finally, if you are using VMWare, make a snapshot of the base build so it can be used as a basis for other servers, and can be rolled back when necessary.

From the command line, you can shutdown the server with:

shutdown -h now
Specific Server Prepatory Steps

After making a snapshop of the server, it can be renamed to the target. To do so, you'll need to change existing name in the following files to reflect the new name:

  • /etc/hostname
  • /etc/hosts
Install Latest Kernel

Make sure you have all the latest packages installed.

Make sure you've got the latest and most appropriate kernel for your machine. You can use:

apt-file -l search linux

to determine what the current image is. Install it with:

apt-get install linux-image-2.6.15-1-686

Mastershaper will require the source:

apt-get install linux-source-2.6.15

New blog site at: Raymond Burkholder - What I Do

Blog Content ©2013
Ray Burkholder
All Rights Reserved
(441) 705-7292
(519) 838-6013
Available for Contract Work

RSS: Click to see the XML version of this web page.

View Ray 
Burkholder's profile on LinkedIn
Add to Technorati Favorites

Su Mo Tu We Th Fr Sa

Main Links:
Monitoring Server
SSH Tools
QuantDeveloper Code

Special Links:

Blog Links:
Sergey Solyanik
Marc Andreessen
Micro Persuasion
... Reasonable ...
Chris Donnan
Trader Mike
Ticker Sense
Stock Bandit
The Daily WTF
Guy Kawaski
J. Brant Arseneau
Steve Pavlina
Matt Cutts
Kevin Scaldeferri
Joel On Software
Quant Recruiter
Blosxom User Group
Wesner Moise
Julian Dunn
Steve Yegge
Max Dama


Mason HQ

Disclaimer: This site may include market analysis. All ideas, opinions, and/or forecasts, expressed or implied herein, are for informational purposes only and should not be construed as a recommendation to invest, trade, and/or speculate in the markets. Any investments, trades, and/or speculations made in light of the ideas, opinions, and/or forecasts, expressed or implied herein, are committed at your own risk, financial or otherwise.