I think anyone who has never done any OS install before can install Debian with any issue at all, provided they will not be doing any partitioning. It is that easy.

As for me, I do a lot more installations than the average person, so I semi-automate the setup process with the help of this script:


# some convenience
shopt -s expand_aliases
source ~/nna/conf/bash_aliases

# config files
sudo cp ~/nna/conf/sources.list /etc/apt
sudo cp ~/nna/conf/sudoers /etc

sudo apt-get update
sudo apt-get --allow-unauthenticated upgrade
sudo apt-get --allow-unauthenticated dist-upgrade
sudo apt-get --allow-unauthenticated install devscripts debhelper build-essential python3-apt gpm

# wajig
(cd ~/src/wajig && iiwajig)
ibase && inondebian && itracker && icpython && ipurge

# for Tracker
sudo sh -c "echo 'fs.inotify.max_user_watches=100000' >> /etc/sysctl.conf"

# so I can share via a webserver, or easily access from browser
sudo ln -s ~/.custom_repo /var/www/custom_repo

Contents of Debian repository list file:

$ cat /etc/apt/sources.list
deb file:/home/wena/.custom_repo tshepang main
deb http://debian.mirror.ac.za/debian wheezy main contrib non-free

The tshepang codename refers to my custom repository, the one managed by reprepro.

Contents of sudo setup file:

$ sudo cat /etc/sudoers
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
root     ALL=(ALL) ALL
%sudo    ALL=(ALL) ALL
Defaults !tty_tickets
Defaults timestamp_timeout=100

The one change from default sudo setup is so that each bash session can inherit sudo powers from another. It's one case where I trade security for convenience. Another such case is increasing the ask-for-password timeout to 100 minutes, instead of the default 15 minutes.

And then these aliases, which point to scripts that install some packages:

  • ibase: basic stuff I got to have, stuff like the components I use for my desktop apps, some CLI tools, and some documentation
  • inondebian: packages that aren't part of Debian, e.g. stuff from external repositories, or nonm-free stuff from Debian repos
  • itracker: I always run the git version of Tracker, so these tools help me build it
  • ipurge: stuff that was installed as Recommends dependencies of the above (e.g. gnome-bluetooth) or during Debian installation (e.g. vim), but that I won't use

The symbolic links is so that those I share a network with (LAN) can have easy web browser access to some stuff on my machine.