Sunday, December 27, 2015

DIY: Debian from Barebones

Have you ever  wanted to build your own linux system from the ground up like arch linux or LFS if yes then read on: You know debian offers variety of builds for their users there are cd images,DVD images and even a blue-ray image then there is also the small images like netinstall images. The netinstall images downloads the packages from the internet during installation and installs the packages and conigures it. But you don't want the bleeding edge software, you want the stability of debian with the attractiveness and the ease of use you get with the other distros. So with that in mind we'll build our own debian linux system.

1. Download the netinstall image from the debian website. Burn the image to a cd or an pendrive.

2.  Start the installer and partition your hard drives and install the base system.[I assume you can deal with this stuff.]

3. After apt asks you to choose the mirror it will ask for the desktop environment to install, at that time uncheck every thing even the standard system utilities if you are installing it in a laptop choose laptop-utilities and standard system utilities and continue.

4. Then it will install the Grub boot loader and will reboot.

5. After reboot you will be presented with the command line login prompt.

6. Login as user. Become root, edit the Sources.list file. In the sources.list file remove all the lines and replace it with this

deb jessie main contrib non-free
deb jessie-updates main contrib non-free
deb jessie/updates main contrib non-free

save the file.  use the nano editor it is the easiest. httpredir is a new method of choosing your debian mirror automatically and also it results in faster downloads you can read more about it in

7. After changing your sources.list  reload apt with apt-get update.

8. Install  Xorg, Xfce4 and pulseaudio. [I'm choosing the xfce desktop because of it's ease of use and attractiveness and being lightweight] but if you prefer an another desktop environment it is your  choice.

apt-get install xorg
apt-get install pulseaudio pavucontrol
apt-get install xfce4

If you don't want pulseaudio just skip that step.

9. Install login manager. there are different login managers of choice they are gdm,kdm,xdm,lightdm and slim. I'm going with slim login manager because it's independent,lightweight and easy to configure in a single file. So,

apt-get install slim

10. Reboot with the following command 

systemctl reboot

11. Slim will configure your desktop environment and you will be presented with a  graphical login prompt.Login as user.

12. Open up the terminal. Become root, install synaptic package manager and xfce4-goodies.

apt-get install synaptic 
apt-get install xfce4-goodies

13. So we have a very skeletal desktop environment. We need to install applications to make it more functional. First let's start with graphics section. There are lot of image viewers such as gpicview,shotwell,ristretto,feh,etc. for our image viewer we'll install Shotwell image viewer. since we have installed synaptic package manager you can search for shotwell package manager.

14. So in synaptic search for font manager and install it. If you have a collection of fonts in your system you can use it to install it in your system.

15. Install  Vlc player [Necessary], Exaile music player[optional].

16. Install openjdk-7 and iced tea plugin.

17. Install Iceweasel,Icedove if you want email client,Transmission bit torrent client,Chromium web browser, flashplugin-nonfree and pepperflashplugin- nonfree. You may ask why you might need two browsers, one word: Flash.Since adobe is phasing out support for flash in linux platform and only Google is supporting flash with their own plugin you may as well get used to chromium. Chromium is the open source version of the google chrome web browser.

18. Install rar,unrar,lzma,lzip,zip and numlockx.

19. Install Atril document viewer, Fbreader. For office work you can use the kingsoft wps office  else you can install abiword for word processing and gnumeric for spreadsheet and for presentation install libreoffice-core and libreoffice impress.

20. Install Gparted for managing your partition and Ntfs-config for configuring your ntfs partition or your external hard drive.

21. If you open the VLC player at this point  it will look something that came from the  windows 98, its because VLC was written using qt library so to make it look beautiful go to tools->Preferences->force window style -> choose GTK+.

22. Install qt4-qtconfig and Gtk-chtheme.The qt4-qtconfig package will maintain GTK look and feel for all QT applications installed in your system. and the Gtk-chtheme will change the gtk themes for your apps.

23. Install all the Gtk themes and the Faenza icon theme. [I'm leaving the themes choice upto the user.]

24. Add the user to the group root. From the terminal type the following command 

usermod -a -G  root  user 

25. Install sudo and  make the user member of group sudo and add the following line in /etc/sudoers   under the heading user privilege specification.

user     ALL=(ALL:ALL) ALL

26. Download slim themes from here and here.
a.  Extract the downloaded archive.
b.  Become root  and copy the extracted folder to  /usr/share/slim/themes 
c.  Edit /etc/slim.conf
d.  Goto to the section current theme and change  the name of the theme to the one you like.
e.  In the numlock section make sure to change the value to 'on'

27. Install ttf-mscorefonts-installer from the synaptic package manager.

28. To improve your security install gufw firewall from the synaptic package manager.

29. If you have multimedia keyboard chances are that you have a lot of buttons in your keyboard that isn't mapped by default so we have to configure it. Go to settings -> keyboard ->Application shortcut  click add  a dialog box will open in the command box enter the command to perform click ok and then press the key it will mapped to that key.
For example if I want to map the print screen key to do a screenshot of my computer then goto settings -> keyboard ->application shortcut -> click add -> in the command box type \usr\bin\scrot [you must have installed scrot] click  ok and then press the print screen key in the keyboard and that's it  your shortcut is mapped to the key.

1.If you are a fan of Manga or comics then install Comix.

2.If you need a Bible software install Xiphos.

3.If you need phonetic transliteration then install ibus,m17n-imconfig and m17n-db. And add the following lines in your .bashrc

export GTK_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=ibus

Goto settings -> Session and Startup ->Application auto start -> name [ibus] command [/usr/bin/ibus] then go to advanced and check the boxes for gnome and kde services to start at startup.

4.  Install Geany IDE if you are learning a programing language. It supports  C, C++, Python and perl.
5. Install gnuplot,plotdrop and Rlplot [if you want the easy way].

6. If you want MATLAB alternative install Scilab.

7. For data analysis install R programming language. There is an IDE specifically for R called R-studio it is not in the repo but you can download it from their website

8. Install TeXLive2015 or from the repo and install Texmaker  if you really want to use latex.[Install perl-tk first]

9. If you are intrested in research and will be publishing papers then Install Mendeley.It can be used as an reference manager , download your papers if is open-access and can also search for papers.
10. If you like to play old Nintendo games then install  Nestopia.

11. If you have online storage  such as dropbox  then you can install it  by adding the following line to your sources.list.

deb jessie main

To import the  GPG keys of Dropbox into your apt repository, perform the following command from your terminal shell:
sudo apt-key adv --keyserver --recv-keys 1C61A2656FB57B7E4DE0F4C1FC918B335044912E
reload the repo in the synaptic package manager and install dropbox from synaptic.

12 . There are  some third party repositories available for Debian.

13. Deb-multimedia hosts newer versions of multimedia packages that is shipped with debian. to add the deb-multimedia repo to your sources.llist follow these instructions.
sudo dpkg -i deb-multimedia-keyring_2015.6.1_all.deb
apt-get update  

become root and open a file called /etc/apt/preferences using nano and add the following lines

Package: *
Pin: release a=deb-multimedia
Pin-Priority: 800

Package: *
Pin: release a=jessie
Pin-Priority: 750

save the file. what I did was I gave deb-multimedia repo higher priority over debian  repo when installing multimedia packages.

when you open synaptic package manager click reload then click mark all upgrades it should list upgrades install them and you are done. Also don't forget to install libdvdcss2.

 16. Some people  just want  to have Mozilla Firefox  they can dowload it from the Mozilla firefox website. Extract the package and run firefox.

17. If you are ok with iceweasel but want to have latest  version of it then follow these instructions. 

a. Install pkg-mozilla-archive-keyring from the synaptic package manager.

b. Edit your sources.list file and add  the   following lines

deb jessie-backports iceweasel-release
You can install it with the following commands:
apt-get update 
apt-get install -t jessie-backports iceweasel
For more information you can read it in mozilla debian team's website.

18 For Indian  Languages fonts install the fonts-indic metapackage from the synaptic package manager to install  fonts Indian languages.

19. If you want oracle java for your system then do the following.

a. Install java-package from the synaptic package manager and exit.
b.Download oracle java jdk from the oracle java website.
c. Download the tar.gz version of oracle java for your architecture. 
d. open terminal and as normal user give the following commands
make-jpkg jdk-8u51-linux-x64.tar.gz
Become root and install java with the following command.  
dpkg -i oracle-java8-jdk_8u51_amd64.deb
If you need more information about goto Debian wiki.   

And that's it your very own Debian system. Here's a preview of my desktop
and my login screen.

No comments:

Post a Comment