= My suggested Ubuntu install - DRAFT = I often install Ubuntu for friends, family and colleagues and I end up customizing their machines to be able to provide remote support. This page is a personal collection of notes and references about my preferred method of installing Ubuntu from scratch and the customizations I use. == Getting the ISO == I primarily use Alternate editions of the Ubuntu CDs. Alternate editions let me do "command line only system" which I can then customize so it becomes Ubuntu, Kubuntu or Xubuntu depending on the system's resources. If I know the target system has a DVD drive abd/or am dealing with low speeed Internet connectivity, I get a DVD ISO which also lets me install a "text only" system. == Installing tips & tricks == * I '''always''' use the default english language and keyboard. I can always customize language preferences later. This also means I become familiar with the same vocabulary everytime I install. * I use a very short password for convenience which I make a mental note to change as soon as the system has been installed. The admin password will be used frequently during the initial install and post-install so keep it simple. * I only install the "text system" only, and later add the appropriate meta-package (see suggested packages below) == Post-install == === Remove the CD or DVD repositories === I usually remove the CD or DVD repositories after installing. This way I don' t need to keep the media around which may happen during the first few packages installation. 1. {{{ sudo nano /etc/apt/sources.list }}} 1. Remove CD-ROM repository (can't find the exact reference for this) === Local cache of repositories === If this is going to be a permanent desktop or server install on a network where other Ubuntu systems will co-exist, I also intially install and configure apt-cacher. Apt-cacher acts as a local proxy for update packages. When other machines are properly configured, they request an update from the local apt-cacher server. If it's the first time the update is requested, it is downloaded from the Internet, otherwise it is served locally from the apt-cacher server, this saving bandwidth. Other than saving bandwidth and making future installs/updates much faster, a local apt-cacher also means only one machine is getting updates from the outside and actually need to have diretc Internet acces, which is also a nice security advantage. Here are two great guides to setting up apt-cacher: * [[http://www.debuntu.org/how-to-set-up-a-repository-cache-with-apt-cacher|How To Set up a repository cache with apt-cacher]] * [[http://ubuntu-tutorials.com/2007/01/08/save-bandwidth-during-updates-with-apt-cacher-ubuntu-610/|Save Bandwidth With Multiple Machines with Apt-Cacher]] === Update & upgrade === After those steps I proceed to perform the first update & upgrade of the system in one step, because it can take sometime I run this unattended: {{{ sudo apt-get update -y && sudo apt-get upgrade -y }}} === Suggested packages === Depending on what version of Ubuntu will be installed, I then proceed to install the following * '''ubuntu-desktop''' for the standard Ubuntu with Gnome desktop * '''kubuntu-desktop''' for Kubuntu with the KDE desktop * '''kubuntu-kde4-desktop''' for the KDE 4 desktop, if you are running a Hardy-based install * '''xubuntu-desktop''' for Xubuntu with the XFCE desktop * '''startupmanager''' will let you update many boot-time preferences I need to try [[https://help.ubuntu.com/community/Openbox|Openbox]] too, as it seems to be getting lots of attention lately (as of March 2008) and seems to be among the least hungry windows managers around. == DNS == I always setup static DNS entries to those of opendns.com. They have a great guide for [[https://www.opendns.com/start/ubuntu.php|quick setup of Ubuntu and OpenDNS]]. == Boot customization == (to be detailed a bit more) In /boot/grub/menu.lst: * Remove the "quiet" keyword from kernel options. This will give a bit more detail about the boot process while keeping the splash screen. * Make the timeout before booting into Ubuntu a bit longer. I use {{{timeout 8}}} * Uncomment the ''Pretty colours'': {{{color cyan/blue white/blue}}} This can also be accomplished graphically by using the '''startupmanager''' package. == Gnome desktop applets == * '''Disk Mounter''' is a must === Webcam-related packages === * cheese * wengophone == Secure remote access == * Reverse SSH tunneling and VNC (to be documented) * '''openssh-server''': never use password authentication-only (to be documented)