-
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
-
Install basic compression and decompression packages:
sudo apt install rar unrar zip unzip p7zip-full p7zip-rar bzip2 lzip lzop lbzip2 lrzip plzip
-
gui tool for compression and decompression:
sudo apt install file-roller
Install package managers
To manage packages installation, updates and removals.
-
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. |
-
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
andgit-core
: version control tool. -
wget
: download files. -
gdb
: C debugger. -
curl
: for making requests.
-
-
Install linux headers for compilation tasks:
sudo apt install linux-headers-$(uname -r)
-
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. |
-
Install OpenJDK Java 11:
sudo apt install openjdk-11-jre
Install Vim ["Optional"]
Advanced terminal text editor.
-
On terminal type:
sudo apt install vim
-
Modify vim configuration file:
sudo vim /etc/vim/vimrc
and append some custom options(syntax on and auto indent):
vimrcsyntax on set smartindent " set number
-
Save and exit.
Customize terminal(bash) prompt [Optional]
Modify terminal prompt to reduce space on screen.
-
Open
.bashrc
:vim ~/.bashrc
and add this at the end of file:
.bashrcPS1="\u:\W$ "
where
\u
is the username and\W
is the last fragment of the current working directory. -
Save and exit.
Power up your terminal, Install ZSH [Optional but recommendable]
Choose default operating system at grub and show boot info at startup [Optional]
If you have a multi SO boot, customize the grub.
-
Open and modify grub:
sudo vim /etc/default/grub
-
Select default operating system at startup [Optional]:
Change number on line for desired boot option position(check grub menu for positions):
GRUB_DEFAULT=0
-
Show system boot info at startup [Optional]:
Change line:
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
for
GRUB_CMDLINE_LINUX_DEFAULT=""
-
Save and exit.
-
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. |
-
Edit repositories file
sudo vim /etc/apt/sources.list
-
Add the following lines at the end
# deb-multimedia # apt install deb-multimedia-keyring deb http://www.deb-multimedia.org testing main non-free
-
It may have end up like this:
sources.listdeb 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. -
Save and exit.
-
Update packages (this will throw an error which is going to be solved in the next step):
sudo apt update
-
Install repository keyring
sudo apt install deb-multimedia-keyring sudo apt update
-
Upgrade packages:
sudo apt upgrade
Install basic software
Install Google Chrome [Optional]
-
Get .deb package at Google Chrome website.
-
Go to the download location and type:
sudo dpkg -i package.deb
-
If there are missing dependencies, install them with:
sudo apt install -f
Install Libreoffice
-
Install office suite software and Spanish language:
sudo apt install libreoffice libreoffice-l10n-es
-
If the gui is bad-looking, install theme support:
sudo apt install libreoffice-style-tango libreoffice-gtk3
Install some basic gui tools
-
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]
-
-
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.
-
-
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. typealt+f2
and typegksu
, E.g.gksu nautilus
.
-
Install other commands [Optional]
-
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. Typesensors
. -
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.
-
-
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 pipefortune | cowsay
. -
libaa-bin
: use commandaafire
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]
-
Compiler for creating Asciidoctor documents:
sudo apt install asciidoctor
-
To create Asciidoctor files to PDF:
sudo gem install asciidoctor-pdf --pre
Install Calibre [Optional]
-
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:
-
Install main package:
sudo apt install flatpak
-
Install the Software Flatpak plugin:
sudo apt install gnome-software-plugin-flatpak
-
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
-
A reboot may be needed.
sudo reboot
-
Some examples:
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
-
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:
-
Get sources from their website
-
Go to download location and extract files, where software-package is the downloaded package:
tar -xvzf software-package.tar.gz
-
Move extracted folder to
opt
folder:sudo mv Software-Folder /opt/
-
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
-
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:
-
Install
ntfs-3g
:sudo apt install ntfs-3g
-
Create directory on
/media
which will be used for mounting partition (where files is the name of the directory):sudo mkdir /media/files
-
Identify desired partition to be mounted:
sudo fdisk -l
this will display all partitions with this format:
/dev/sdX#
whereX
is the storage device and#
is the partition number. -
Once the partition was identified, look for its UUID:
sudo blkid
-
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.
-
-
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. |