LinuxBasics.org

The community that helps people to run Linux

rss
Table of Contents

Debian Slim System

by Douglas Orchard. Contributed by permission.

My workstation is a Debian Sid system. however the selection of packages makes it a “Slim System”.

This tutorial is just my notes on how I made a slim system.
After 5 years of building Debian and Slackware systems, I have found my favorite packages, and I have a list of them.

These are the packages I use daily or my first choice when a specific task comes up. I have not installed redundant packages (eg. joe and kate).

My install starts by downloading a small iso file. This file is usually the latest “Stable” release, from http://cdimage.debian.org/debian-cd/3.1_r0a/i386/iso-cd/
The businesscard.iso image has a size of some 30-40 MB. It is small enough to fit on business card-shaped CDs. This image contains just the bare necessities to start a Debian installation, i.e. those parts of the installer which are necessary to configure networking and download the rest of the installation system.

At the beginning the installer prompts for the usual information (eg. your keyboard and timezone), just like all the other installers. When the installer has all the necessary information (including your internet conection details), it starts to install all the packages essential to complete the install from the internet (especially “apt-get”).

Near the end of the installation you are prompted to use “tasksel or dselect” to choose additional packages, I skip both. You are also prompted to “choose additional sources”, I pick “html” (not CD or ftp or network), and then select my local mirror from the list that is provided.

I then reboot and login as root and modify some features in the config files:

I then login as my user and mount my latest backup CD, and copy some files to the harddrive. These files include such things as my favorite bash prompt, how to install truetype fonts in debian, my favorite Blackbox style and my bbkeysrc file. Also copied in are the three files that make my system a Slim System:

  1. Programs.install - A bash script.</li>
  2. Programs.cli - A list of packages I consider essential on a Command line interface.
  3. Programs.gui - A list of packages I consider essential on a graphical desktop

Excerpts from the bash script are shown here to illustrate the way the script works (the entire script is available here).

  #!/bin/bash
  
  echo
  echo "  This script will now install Debian GNU/Linux"
  echo "          you may select some programs"
  echo
  echo
  echo "  Do you wish to install the Base packages?  (y,n)"
  echo "  YOU MUST DO THIS BEFORE ANYTHING ELSE!!!"
  echo "  Only if you have done this already may you say NO"
  read basic
  
  # Blackbox
  echo
  echo "  Do you wish to install X, Blackbox and some gui programs?  (y,n)"
  read blackbox
  echo
  
  ....
  
  if [ "$basic" = "y" ]; then
          echo "  Now installing the Base Packages"
          for myfile in $(cat programs.cli); do
                  echo "  Now installing $myfile"
                  apt-get -y install $myfile
                  echo
                  echo
          done
  fi
  
  if [ "$blackbox" = "y" ]; then
          echo "  Now installing the graphical desktop"
          for myfile in $(cat programs.gui); do
                  echo "  Now installing $myfile"
                  apt-get -y install $myfile
                  echo
                  echo
          done
  fi

programs.cli

  a2ps
  adduser
  apcd
  apsfilter
  bin86
  bsdmainutils
  bsdutils
  bind
  build-essential
  bzip2
  chkrootkit
  cdrecord
  epic4
  aspell
  aspell-en
  aspell-doc
  mutt
  gawk
  gcc
  hdpar
  html2ps
  less
  libncurses5-dev
  links
  make
  mc
  mkisofs
  nfs-common
  ntpdate
  python
  shellutils
  smbfs
  ssh
  strace
  tcpdump
  traceroute
  util-linux
  unzip
  vim
  wget
  whiptail
  xutils

programs.gui

  x-window-system
  blackbox
  bbkeys
  bbtime
  bbdate
  bbpager
  xnee
  bluefish
  feh
  gs
  ghostview
  gimp
  gimp-help-en
  gtop
  libmikmod2
  libvorbis0
  numlockx
  qcad
  rxvt
  ttmkfdir
  fttools
  freetype2
  java-common
  libdockapp1
  libmotif3
  xchat
  xpdf
  xli
  aumix
  xmms
  xmms-cdread
  xine
  smpeg-xmms
  spider
  mah-jong

Bash-script "Programs.install"

#!/bin/bash
 
echo
echo "  This script will now install Debian GNU/Linux"
echo "  	you may select some programs"
echo
echo
echo "  Do you wish to install the Base packages?  (y,n)"
echo "  YOU MUST DO THIS BEFORE ANYTHING ELSE!!!"
echo "  Only if you have done this already may you say NO"
read basic
 
# Server
echo
echo "  If you wish to use this machine as a server, you"
echo "  must install NFS and/or Samba or Apache"
echo
echo "  Do you wish to install NFS?  (y,n)"
read nfs
echo "  Do you wish to install Samba?  (y,n)"
read samba
echo "  Do you wish to install Apache?  (y,n)"
read apache
echo
 
# Blackbox
echo
echo "  Do you wish to install X, Blackbox and some gui programs?  (y,n)"
read blackbox
echo
 
# Laptop
echo
echo "  If this is a laptop, you should have a battery monitor?  (y,n)"
read laptop
echo
 
# Varicad
echo
echo "  Do you wish to install the libraries for Varicad?  (y,n)"
echo "  Varicad must be installed before upgrading from Woody."
read varicad
echo
 
# Wine
echo
echo "  Do you wish to install Wine and Wine libraries?  (y,n)"
read wine
echo
 
# FlightGear
echo
echo "  Do you wish to install FlightGear?  (y,n)"
read flightgear
echo
 
# PPP
echo
echo "  If you do NOT have a modem, you cant use PPP"
echo "  Can I remove PPP? (y,n)"
read ppp
echo
 
echo
 
if [ "$basic" = "y" ]; then
	echo "  Now installing the Base Packages"
	for myfile in $(cat programs.cli); do
		echo "  Now installing $myfile"
		apt-get -y install $myfile
		echo
		echo
	done
fi
 
if [ "$nfs" = "y" ]; then
	echo "  Now installing NFS"
	apt-get -y install nfs-user-server
	echo
	echo
fi
 
if [ "$samba" = "y" ]; then
	echo "  Now installing Samba"
	apt-get -y install samba
	echo
	echo
fi
 
if [ "$apache" = "y" ]; then
	echo "  Now installing apache"
	apt-get -y install apache
	echo
	echo
fi
 
if [ "$ppp" = "y" ]; then
	echo "  Now removing PPP"
	apt-get -y remove ppp pppconfig
	echo
	echo
fi
 
 
if [ "$blackbox" = "y" ]; then
	echo "  Now installing the graphical desktop"
	for myfile in $(cat programs.gui); do
		echo "  Now installing $myfile"
		apt-get -y install $myfile
		echo
		echo
	done
fi
 
if [ "$wine" = "y" ]; then
	echo "  Now installing Wine"
	apt-get -y install wine wine-utils wine-doc winesetuptk libwine libwine-dev
	echo
	echo
fi
 
if [ "$laptop" = "y" ]; then
	echo "  Now installing Xbat"
	apt-get -y install xbat
	echo
	echo
fi
 
if [ "$varicad" = "y" ]; then
	echo "  Now installing the Varicad libraries"
	apt-get -y install kdelibs3 libqt2-gl libstdc++2.9-glibc2.1
	echo
	echo
fi
 
if [ "$flightgear" = "y" ]; then
	echo "  Now installing FlightGear and Joystick"
	apt-get -y install flightgear joystick
	echo
	echo
fi
 
echo
echo
echo
echo "  This script has only installed the Links web browser"
echo "  You must install by hand the following packages"
echo "  Varicad		dpkg -i varicad-en_9.0.1.0-1_i386.deb"
echo "  Opera		dpkg -i opera_7.54-20040803.5-shared-qu_en_i386.deb"
echo "  Open Office	tar xvzf OOo_1.1.3_LinuxIntel_install.tar.gz"
echo
echo
echo
echo "		All done  Bye"
exit

Copyright (c) by the authors.
Prior to editing, authors agreed to license their contributions by the terms of the GPL.
See our licensing page for details.


Linux® is a registered trademark of Linus Torvalds.


 
  tutorials/during/distros/debian/debian_slim_system.txt · Last modified: 2008/07/20 19:08

LinuxBasics.org

Start Linux-Course Tutorials Linux Links Security Blog Forum E-mail List Search Online Chat

Site-Info

Help Get in Touch Making of LBo

Wiki-Control

Powered by

Linux Apache DokuWiki Mailman RUTE ht://Dig