Sunday, October 19, 2014

Installing Debian.

Debian testingcurrently aliased jessie, contains software being tested for inclusion in the next major release. The packages included in this distribution have had some testing in unstable but they may not be completely fit for release yet. It contains more modern packages than stable but older than unstable. This distribution is updated continually until it enters the “frozen” state. Security updates for testing distribution are provided by Debian testing security team.

Keep Calm and Install Debian Jessie

In this article, we are going to learn to install & setup Debian Xfce “jessie” testing from scratch using netinst/minimal iso which is around 300MB in size.
Note: This method of installing Debian requires a functioning internet connection during installation.
Although both Ethernet and wireless connections are supported, a wired Ethernet connection is better. This method requires internet connection because only minimal packages as opposed to the full version and the other stuff has to be downloaded during installation.

Step 1: Download the ISO & make a bootable disk

Download the iso & make a bootable usb drive using software like “Unetbootin” or some other similar software that lets you copy iso files to a usb drive & make it bootable.  You can find the weekly builds of all architecture & all formats in this link, Here are the direct links to download the weekly builds of the testing iso,

Do a server/network setup to install the debian system:

Step 2: The installation from the iso

Boot from the usb drive and choose install. For older machines just use the cdrom and the cd/dvd drive. Yes don’t choose the graphical installer as we are going to use the basic installer. You can refer to the attached images at the end of the article for the step by step process of the installation. There are a total of 42 pictures so we are just going to list only the important steps during the installation.

Configure Network

If you are using dhcp on your home router then the network setting will be configured automatically.  If you are not using dhcp then the installer will ask you to configure the network manually. We have dhcp setup in my home router so the network settings were configured automatically by the installer.



Name that identifies the particular system on the network. You can leave debian as the hostname or choose something else. I chose myinuxbox.


Domain Name

If you are on a particular domain, then use that. If you are not sure then you can just leave it blank.  You can always go back later and name it. We left it as blank as we are not in any domain. (Note: Don’t use local as its a reserved name)


Choose Mirror

Choose the mirror country and the mirror to use to download the packages & updates from. We usually just use the defaults.



Generally proxies are only used in a business or protected network. You network administrator can get you the details you need.  If you want to configure proxy then you can do it here. If you are not going to use a proxy then leave it as blank and go to next step.  We left it as blank as we are not using any proxy server.


Root Password

Actually we are going to grant sudo (administrative rights) access to the user we are going to choose in the next step. So basically the root access is of much use when multiple users are using the system and you don’t want others to have sudo (aka root) access.  Enter the root password and re-enter the root password.


Username & Password

Enter the username (no caps as it makes it easier to keep up with users and for you to have a simpler log in name) and the fullname of the user. Its better to choose a password different from the root password. First thing people will try to become root is to use your password if they know it.


Partition Manager

We to arrange the system as you might setup a file cabinet to partition the files. The partition manager is same as the partition manager from the graphical install except for the fact that we will be configuring everything using keyboard itself.  Choose one partition for the installation and another partition for swap.
  • 20GB partition with ext4 filesystem with mount point as / (you can leave all other options in the default value)
  • 4GB swap (usually swap size it twice the RAM size, so if the system has 2GB RAM then the swap size should be 4GB)

After choosing the partitions, choose “yes” to write changes to disk.


Package usage survey

If you are too much concerned about “privacy” then choose no or else choose yes. We chose NO. Basically Debian wants to know what packages are important to you.


Step 3: Software selectio

This is the most important step in this installation, so make sure to choose the “correct” options. We are going to install Xfce desktop environment later. Xfce is a less system resource hog, So deselect the “Graphical desktop environment” option and continue. You may want to select the “Laptop” option if you are using a laptop for the installation.


Step 4: GRUB Installation

GRUB will check if any other operating systems are already installed in the system and will list them. If the list is correct then you may proceed with the installation. Usually GRUB boot loader is installed in /dev/sda but if you have more than one HDD, then you can choose the HDD in which you want the boot loader to be installed.


Complete the installation from the iso

Get ready to boot into your new installation after the installer reboots the system.


Step 5: Boot into the new installation
Boot into your new Debian installation and get ready to roll… Nope, not actually. We still have few more steps to do.


After booting into Debian, you will still be greeted with a command line because we are yet to install a display manager nor the graphical desktop environment.
Enter the user login & password that you chose during the installation.

Now we have to switch to super user mode (root) and edit the resources list to testing, update and then install sudo & grant sudo rights to the user.
Here are the commands,


Enter the root password

nano /etc/apt/sources.list

You’ll find something like
deb jessie main
# deb-src jessie main
deb jessie/updates main
# deb-src jessie/updates main

Now what we are going to do is make this installation as testing forever. So even after jessie goes stable, this installation will still download packages from the next testing release which will have some other code name.
Also we are going to add “contrib” & “non-free” repositories that are not 100% FOSS as per the Debian Free Software Guidelines.
  • “contrib” – repositories include packages which do comply with the DFSG, but may fail other requirements. For instance, they may depend on packages which are in non-free or requires such for building them.
  • “non-free” – repositories include packages which do not comply with the DFSG

Now replace “jessie” with “testing” and add “contrib non-free” after main. Save and close the file.
deb testing main contrib non-free
deb-src testing main contrib non-free
deb testing/updates main contrib non-free
deb-src testing/updates main contrib non-free

If you want to use a installation that is 100% FOSS as per the Debian Free Software Guidelines then just don’t add “contrib” & “non-free”.
Note: I would like to let you know that we are going to install software from the “contrib” and “non-free” repositories too.

Now lets update the system & grant sudo access to the user.

# apt-get update
# apt-get install sudo

# usermod -a -G sudo <username>

Replace <username> with your username to which you want to grant sudo

# reboot

Step 6: Update & Upgrade the new installation

Now we are going to update & upgrade the system. We are using the iso from the weekly builds, so this step should take less time.
Log into your user and run the following commands.

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get dist-upgrade

If you get any messages, press q to exit the message and continue the installation. You may read them if you want and then press q.
When you get a dialogue box asking if services can be restarted automatically during upgrade, choose “yes”.


After the upgrade is complete, restart the system

$ sudo reboot

Step 7: Install the Xfce Desktop Environment

Now we are going to install Xfce & goodies by running the following command.

$ sudo apt-get install xfce4 xfce4-goodies
 The “Goodies for Xfce” project includes additional software and artwork that are related to the Xfce desktop, but not part of the official release.
To view the list of packages installed by xfce4-goodies, check this link,

If you want to start the HDD temp monitoring daemon during startup then you chose “yes” or else choose “no”. we chose “no”.


After the installation is complete, run the following command to check if the Xfce installation was successful.

$ startx
The startx command is actually a “front end” for the xinit system which will  bring up the GUI (Xfce in this installation).
After running the above command you will see the Xfce desktop environment that we just installed. Now  log out to get back to the command line.

Step 8: Install the Lightdm display manager

Now we are going to install lightdm display manager (i.e. the GUI in which you enter username & password) which is the recommended display manager for Xfce. You may install some other display manager as per your choice. You can find the list of display managers available in Debian in this link,

$ sudo apt-get install lightdm

Now we are going to install few packages,
  • synaptic package manager – graphical package management tool which enables you to install, upgrade and remove software packages in a user friendly way.
  • apt-xapian-index – maintenance and search tools for a Xapian index of Debian packages
  • gdebi – simple tool to install deb packages
  • gksu – graphical frontend for su
  • menu – generates programs menu for all menu-aware applications
  • iceweasel – Iceweasel is just Firefox but with a different name
Note: we like to also install vim, mc, links2, and gpm to make command line use easier.

$ sudo apt-get install synaptic apt-xapian-index gdebi gksu menu
$ sudo reboot

After rebooting the system and while entering your username & password, choose “Xfce Session” from the drop down box. Now enjoy your new Debian Xfce installation.


First lets update the sources and grant sudo access to the default user.
Also we are going to add “contrib” & “non-free” repositories that are not 100% FOSS as per the Debian Free Software Guidelines.
  • “contrib” – repositories include packages which do comply with the DFSG, but may fail other requirements. For instance, they may depend on packages which are in non-free or requires such for building them.
  • “non-free” – repositories include packages which do not comply with the DFSG

If you want to use a installation that is 100% FOSS as per the Debian Free Software Guidelines then just don’t add “contrib” & “non-free”.
Note: I would like to let you know that we are going to install software from the “contrib” and “non-free” repositories too.

Now lets begin. Open terminal & run the following commands,

$ su

 Enter the root password

GUI to manage network connections :

We have 2 choices here,
  1. wicd – If you are going to use only wired & wireless wifi network connections.
  2. network-manager-gnome – If you are going to use VPN or mobile broadband in addition to wired & wireless wifi network connections.
I installed wicd in my system just to check its performance and I can say that its much smooth & stable than the default network-manager. I could see the difference immediately in iceweasel, pages were loading faster and smoother than before wicd was installed.
Initially I installed wicd just for the sake of testing it so that I could add the steps in this guide but after experiencing the network smoothness, I decided to stick with wicd and purge network-manager.


If you want to use VPN or mobile internet then can’t use wicd and have to settle with the default network manager. To install the frontend gui for network manager, run the following command
sudo apt-get install network-manager-gnome
You can refer the Debian wiki,, for information on setting up wifi.

Extra screensavers: (Optional)

If you are a fan of the matrix screensaver like me, then you might want to install it.

$ sudo apt-get install xscreensaver-gl

That is all for now.

No comments:

Post a Comment