• The used release is Debian 10 - Buster

  • Sources and issues reports on Github

Post-installation guide after Debian installation with Gnome.

It is supposed that your user has superuser privileges.

Install compression and decompression tools

  1. Install basic compression and decompression packages:

    sudo apt install rar unrar zip unzip p7zip-full p7zip-rar bzip2 lzip lzop lbzip2 lrzip plzip
  2. gui tool for compression and decompression:

    sudo apt install file-roller

Install package managers

To manage packages installation, updates and removals.

  1. Install:

    sudo apt install aptitude synaptic

    where:

    • aptitude: interface for installing distribution packages.

    • synaptic package manager: gui for distribution package management [Optional].

    • gdebi: gui to install deb packages [Optional].

Install basic developer/compilation libraries and tools

Not only for development but to compile and install other packages.
  1. On terminal type:

    sudo apt install build-essential cmake automake autoconf git git-core wget gdb curl

    where:

    • build-essential includes the following packages:

      • libc6-dev - GNU C Library: Development Libraries and Header Files.

      • gcc - GNU C compiler.

      • g++ - GNU C++ compiler.

      • make - GNU Utility to compile and create groups.

      • dpkg-dev - Debian package development tools.

    • automake: compile tool.

    • checkinstall: create and install .deb package.

    • cmake: C compile tool.

    • git and git-core: version control tool.

    • wget: download files.

    • gdb: C debugger.

    • curl: for making requests.

  2. Install linux headers for compilation tasks:

    sudo apt install linux-headers-$(uname -r)
  3. Install Gtk basic graphic library(avoid some Gtk errors):

    sudo aptitude install libcanberra-gtk-module

Install Java

Install JRE for running java applications.

For developers: JDK installation could be checked at [Debian Developer Tools]. Although is recommended to also install the JRE as distribution package.
  1. Install OpenJDK Java 11:

    sudo apt install openjdk-11-jre

Install Vim ["Optional"]

Advanced terminal text editor.

  1. On terminal type:

    sudo apt install vim
  2. Modify vim configuration file:

    sudo vim /etc/vim/vimrc

    and append some custom options(syntax on and auto indent):

    vimrc
    syntax on
    set smartindent
    " set number
  3. Save and exit.

Customize terminal(bash) prompt [Optional]

Modify terminal prompt to reduce space on screen.

  1. Open .bashrc:

    vim ~/.bashrc

    and add this at the end of file:

    .bashrc
    PS1="\u:\W$ "

    where \u is the username and \W is the last fragment of the current working directory.

  2. Save and exit.

Power up your terminal, Install ZSH [Optional but recommendable]

  1. Install ZSH terminal, this is an enhanced shell, for more information look here

    sudo apt install zsh
  2. Install Oh My ZSH with, ,or look for the installation on its website:

    sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

Choose default operating system at grub and show boot info at startup [Optional]

If you have a multi SO boot, customize the grub.

  1. Open and modify grub:

    sudo vim /etc/default/grub
  2. Select default operating system at startup [Optional]:

    Change number on line for desired boot option position(check grub menu for positions):

    GRUB_DEFAULT=0
  3. Show system boot info at startup [Optional]:

    Change line:

    GRUB_CMDLINE_LINUX_DEFAULT="quiet"

    for

    GRUB_CMDLINE_LINUX_DEFAULT=""
  4. Save and exit.

  5. Update grub:

    sudo update-grub2

Set multimedia packages repository [Optional]

Repository for installing updated versions of multimedia applications (E.g. vlc, audacious, handbrak, kdenlive, audio and video codecs)

Sometimes this repository can break other dependencies. It is only recommended if you want the newest version of the mentioned applications. I don’t use this anymore.
  1. Edit repositories file

    sudo vim /etc/apt/sources.list
  2. Add the following lines at the end

    # deb-multimedia
    # apt install deb-multimedia-keyring
    deb http://www.deb-multimedia.org testing main non-free
  3. It may have end up like this:

    sources.list
     deb http://ftp.mx.debian.org/debian/ testing main contrib non-free
     deb-src http://ftp.mx.debian.org/debian/ testing main contrib non-free
    
     deb http://security.debian.org/ testing/updates main contrib non-free
     deb-src http://security.debian.org/ testing/updates main contrib non-free
    
     deb http://ftp.mx.debian.org/debian/ testing-updates main contrib non-free
     deb-src http://ftp.mx.debian.org/debian/ testing-updates main contrib non-free
    
     # deb-multimedia
     # apt install deb-multimedia-keyring
     deb http://www.deb-multimedia.org testing main non-free
    The repositories are based on a Debian Testing release.
  4. Save and exit.

  5. Update packages (this will throw an error which is going to be solved in the next step):

    sudo apt update
  6. Install repository keyring

    sudo apt install deb-multimedia-keyring
    sudo apt update
  7. Upgrade packages:

    sudo apt upgrade

Install basic software

Install Google Chrome [Optional]

  1. Get .deb package at Google Chrome website.

  2. Go to the download location and type:

    sudo dpkg -i package.deb
  3. If there are missing dependencies, install them with:

    sudo apt install -f

Install Libreoffice

  1. Install office suite software and Spanish language:

    sudo apt install libreoffice libreoffice-l10n-es
  2. If the gui is bad-looking, install theme support:

    sudo apt install libreoffice-style-tango libreoffice-gtk3

Install some basic gui tools

  1. Type:

    sudo apt install gedit evince gnome-disk-utility gnome-screenshot rhythmbox vlc vlc-l10n kolourpaint4

    where:

    • gedit: basic text editor.

    • evince: pdf reader.

    • gnome-disk-utility: system disks graphic visualization.

    • gnome-screenshot: software for advanced screenshots.

    • rhythmbox: music player. [Optional]

    • vlc vlc-l10n: video player. [Optional]

    • kolourpaint4: a basic linux image editor, similar to Microsoft Paint. [Optional]

  2. Other packages[Optional]:

    sudo apt install gparted brasero transmission gnome-sound-recorder meld bleachbit

    where:

    • gparted: partition and format tool.

    • brasero: copy and burn cd’s.

    • transmission: torrent downloads.

    • gnome-sound-recorder: sound recorder.

    • meld: compare two files on _gui:.

    • bleachbit: clean temporal files, similar to Ccleaner.

  3. Others packages to be considered:

    • evolution: personal information manager, email, address book, calendar, etc.

    • gnome-maps: gnome maps.

    • gnome-schedule: gnome calendar.

    • gnotes: gnome notes.

    • gtk-recordmydesktop: software for recording screen.

    • gksu: superuser gui launcher. type alt+f2 and type gksu, E.g. gksu nautilus.

Install other commands [Optional]

  1. Type:

    sudo apt install tree lm-sensors youtube-dl screenfetch xclip net-tools rsync

    where:

    • tree: produces a depth indented listing of files and folders.

    • lm-sensors: Check processor temperatures. Type sensors.

    • youtube-dl: download youtube(and other pages) videos.

    • screenfetch: print system information.

    • xclip: copy information to clipboard on terminal.

    • net-tools: network tools such as ifconfig, ping, traceroute …​

    • rsync: tool for sync files between hosts, devices.

  2. Some leisure commands [very optional]

    sudo apt install cmatrix rig moria cowsay

    where:

    • cmatrix: simulates the display from “The Matrix”.

    • rig: generate random identities.

    • moria: RPG adventure game on terminal.

    • cowsay: ascii cow saying given text. You can pipe fortune | cowsay.

    • libaa-bin: use command aafire to show a fire.

    • sl: ascii train animation.

    • xcowsay: graphic cow saying given text.

    • fortune: random sentences.

    • bb: visual demo for terminal.

Install Asciidoctor [Optional]

  1. Compiler for creating Asciidoctor documents:

    sudo apt install asciidoctor
  2. To create Asciidoctor files to PDF:

    sudo gem install asciidoctor-pdf --pre

Install Calibre [Optional]

  1. Software to manage ebooks and sync with e-reader.

    sudo -v && wget -nv -O- https://download.calibre-ebook.com/linux-installer.sh | sudo sh /dev/stdin

    or visit their website

Install more software [Optional]

For easy install software that may not be at the OS repositories, you can install more app distribution software. The advantages of these ones is the simple installation and the automatically updates.

Actually there are two big ones Flatpak or Snacraft, although I prefer to use Flatpak for almost any common app since I found that the packages are first updated here, but! for IDE’s, code editors and some development software I rather use Snapcraft since it has a better native integration to use the terminal or compilers.

Install Flatpak

For easy install software that may not be at the OS repositories, you can install Flatpak an app distribution software:

  1. Install main package:

    sudo apt install flatpak
  2. Install the Software Flatpak plugin:

    sudo apt install gnome-software-plugin-flatpak
  3. Add the Flathub repository, the repository where the apps could be uploaded:

    sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
  4. A reboot may be needed.

    sudo reboot
  5. Some examples:

    • Install Slack:

      sudo flatpak install flathub com.slack.Slack
    • Install Skype:

      sudo flatpak install flathub com.skype.Client
    • Install Discord:

      sudo flatpak install flathub com.discordapp.Discord

Install Snapcraft

Install Snapcraft:

sudo apt install snapd

This will be used on the Debian Developer Tools

Install others deb packages:

If there are software that you could only find on a deb package, you could install like this:

sudo dpkg -i package.deb
  1. If there are missing dependencies, install them with:

    sudo apt install -f

Install "tar" and other compressed software

Usually this packages are installed like this:

  1. Get sources from their website

  2. Go to download location and extract files, where software-package is the downloaded package:

    tar -xvzf software-package.tar.gz
  3. Move extracted folder to opt folder:

    sudo mv Software-Folder /opt/
  4. Create a symbolic link for execute the software from terminal, where software-executable is an executable script.

    sudo ln -s /opt/Software-Folder/software-executable /usr/bin/software-name
  5. Create a .desktop file in order to launch the app from the applications menu, with the name of software-name.desktop

    sudo vim /usr/share/applications/software-name.desktop

    with the following information:

    software-name.desktop
    [Desktop Entry]
    Encoding=UTF-8
    Name=Software Name
    Exec=software-name
    Icon=/opt/Postman/app/resources/app/assets/icon.png  // this location may change to look for the icon
    Terminal=false
    Type=Application
    Categories=Development;

    save and exit.

Automatically Mount Partition [Optional]

To mount other hard drives or partitions automatically at startup.

Mount NTFS partition:

  1. Install ntfs-3g:

    sudo apt install ntfs-3g
  2. Create directory on /media which will be used for mounting partition (where files is the name of the directory):

    sudo mkdir /media/files
  3. Identify desired partition to be mounted:

    sudo fdisk -l

    this will display all partitions with this format: /dev/sdX# where X is the storage device and # is the partition number.

  4. Once the partition was identified, look for its UUID:

    sudo blkid
  5. Edit fstab file for setup partition mounting on startup:

    sudo vim /etc/fstab

    and add these lines(replace XXXXXXXXXXXXXXXX with UUID partition):

    UUID=XXXXXXXXXXXXXXXX /media/files ntfs-3g uid=1000,gid=users,umask=0022 0 0

    save and exit. fstab file may look similar to:

    fstab
    # /etc/fstab: static file system information.
    #
    # Use 'blkid' to print the universally unique identifier for a
    # device; this may be used with UUID= as a more robust way to name devices
    # that works even if disks are added and removed. See fstab(5).
    #
    # <file system> <mount point>   <type>  <options>       <dump>  <pass>
    # / was on /dev/sda5 during installation
    UUID=942b3e5e-2634-46c9-9ecd-86bea21ce534 /               ext4    errors=remount-ro 0       1
    # /boot/efi was on /dev/sda2 during installation
    UUID=D82A-C79C  /boot/efi       vfat    umask=0077      0       1
    # swap was on /dev/sda6 during installation
    UUID=94daf3fe-d750-4f10-96e4-5df4f99753bf none            swap    sw              0       0
    
    
    #/dev/sdb1 /media/files ntfs-3g uid=1000,gid=1000 0 0
    
    #/dev/sdb1 /media/files ntfs default 0 0
    
    UUID=01D33276FAF0C850 /media/files ntfs-3g uid=1000,gid=1000,umask=0022 0 0

    where:

    • UUID is the unique identifier of the partition.

    • /media/files is the destination folder.

    • uid=1000,gid=1000 are the owners.

    • umask=0022 are the permissions.

  6. Reboot to test it. [Optional]

    sudo reboot
If partition cannot be mounted, system won’t boot. This happens for instance when windows has fast boot option activated or if the storage is not available.

On Debian installation series

Comments