Things to do after installing Fedora

Fedora 28 was recently released.  We've been playing around with various Linux distributions over the past 15 years, like Limux Mint, Ubuntu, PC Linux, OpenSuSe etc.  We've decided to stick with Fedora and have seen the changes from Fedora 7 or 8 - so long ago, not even sure exactly where we started.

After each fresh install, we do some personalized changes.  Off course, you're choices might be different, but here are some ideas to check out.

 1. Update your Installation Packages

Its always good to immediately update your installation.  The "-y" is optional and allows to install without confirmation.  You can also use "update" - it will basically do the same thing.

sudo dnf -y upgrade

2.  Configure IP Address

We prefer to set a static IP address, but you could leave it on DHCP.  You can do this with the Network Settings GUI, or in a terminal window.  To do this on the command line, change the network configuration file in /etc/sysconfig/network-scripts/enp0s3.

sudo vi /etc/sysconfig/network-scripts/ifcfg-enp0s3

Then, press <i> to insert and change the following... (off course, replace the "x" with your specific values.

BOOTPROTO="static"
ONBOOT="yes"
IPADDR=192.168.x.x
NETMASK=255.x.x.x
GATEWAY=192.168.0.x
DNS1=x.x.x.x
DNS2=x.x.x.x

To save these changes, press <esc> and then <:> <wq>.  These are vi's sequence for exiting the insert mode, writing and quiting.

Restart the network to effect these changes...

sudo service network restart

3.  Configure Hostname

If you haven't set your hostname during installation, you can set it here.  The command <hostnamectl> is used to check the current hostname and set a new one.

sudo hostnamectl status

Now change with...

sudo hostnamectl set-hostname --static "yourpc.dom"

Reboot to effect the change.

4.  Enable usefull repositories

We prefer to enable extra repositories.

sudo rpm -Uivh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-28.noarch.rpm

You can also consider the non-free repository (note the difference - the above rpm is fedora-28 specific, while the below will follow your release)

sudo rpm -Uvh http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm

Enable the Google Chrome repo

sudo vi /etc/yum.repos.d/google-chrome.repo

Put the followig contents in this new repo file.

[google-chrome]
name=google-chrome
baseurl=http://dl.google.com/linux/chrome/rpm/stable/$basearch
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub

Save and quit (<esc><:><wq>)

Download and install the google pub key

wget https://dl.google.com/linux/linux_signing_key.pub
sudo rpm --import linux_signing_key.pub

DeltaRPM and fastest mirror allows you to retrieve only the differences between the installed and updated packages on your system. To enable this, edit the /etc/dnf/dnf.conf file as follows:

sudo vi /etc/dnf/dnf.conf
fastestmirror=true 
deltarpm=true

Install Flathub rerpo which includes flathub (for newer software versions):

sudo dnf config-manager --add-repo=https://dl.flathub.org/repo/flathub.flatpakrepo

Install Spotify client:

sudo dnf config-manager --add-repo=http://negativo17.org/repos/fedora-spotify.repo

Actually, we have a lot of RPMs and find it usefull to setup a local repository too. 

First, install createrepo:

dnf -y install createrepo yum-utils

Create a directory which will hold your RPMs and move your RPMs to this directory: (off course, you can choose where-ever you would like your rpms directory).

mkdir /var/www/html/rpms

Create your local.repo file in /etc/yum.repos.d/:

vi /etc/yum.repos.d/localrpms.repo
[localrpmsrepo]
name=local rpms
baseurl=file:///var/www/html/rpms
enabled=1
gpgcheck=0

Run the createrepo against the RPMs directory:

createrepo /var/www/html/rpms

After adding RPMs to that directory, use the update function

createrepo --update /var/www/html/repo

Done!

If you have the time or need a specific RPM, you can check on Fedora's repository.

5.  Install Chrome

Besides the default Firefox, we also install Chrome

sudo dnf -y install google-chrome

6.  Install the following apps

Fedora "out of the box" do come with everything one would need, but these apps are either our preferred default apps, or just plain usefull and "nice to have".

6.1 Gnome-Tweak Tool

Provides a lot of tweaks and other configuration options which is rather nice:

sudo install -y gnome-tweak-tool 
6.2 VLC

VLC is well-known for being a very stable and popular media player.

Good Media app

sudo install -y vlc
6.3  Additional Codecs file for media

You will probably need Media Codecs for different media formats.

sudo dnf -y install gstreamer-plugins-base gstreamer1-plugins-base gstreamer-plugins-bad gstreamer-plugins-ugly gstreamer1-plugins-ugly gstreamer-plugins-good-extras gstreamer1-plugins-good-extras gstreamer1-plugins-bad-freeworld ffmpeg gstreamer-ffmpeg
6.4 Usefull archiving extras

More archiving utilities:

sudo dnf -y install unzip p7zip p7zip-plugins unrar
6.5 Gimp

Gnu Image Manipulation Program (GIMP) is the equivalent to proprietary image editing software.  Install version 2.8:

sudo dnf -y install gimp

Install Gimp 2-10 (the repositories only provide 2.8 as of writing this article).  Install Flathub repo and then run this command:

dnf -y install flatpak
flatpak install https://flathub.org/repo/appstream/org.gimp.GIMP.flatpakref

 If Gimp 2-10 is not running, try this command:

flatpak run org.gimp.GIMP
6.6 QBittorrent

Transmission is Fedora's default torrent app.  I prefer QBittorrent as a replacement of the default Transmission:

sudo dnf -y install qbittorrent
6.7 Spotify

Spotify is an online music streaming service:

sudo dnf config-manager --add-repo=http://negativo17.org/repos/fedora-spotify.repo 
sudo dnf -y install spotify-client
6.8 Feddy

Another neat tweaking tool:

sudo dnf -y install fedy
6.9 Steam

If you want to play games, install steam:

sudo dnf -y install steam
6.10 Dropbox

Dropbox:

sudo dnf -y install dropbox nautilus-dropbox

Install Dropbox for Cinnamon:

sudo dnf -y install dropbox nemo-dropbox
6.11 ZoHo

 Install ZoHo Desktop.  Download the ZoHo archive, extract the file and run the installer.

sudo ./zohodocs_installer_desktop
6.12 stacer / bleachbit

Stacer or Bleachbit are system cleaner and monitoring apps:

wget https://github.com/oguzhaninan/Stacer/releases/download/v1.0.8/stacer-1.0.8_x64.rpm
sudo dnf -y install stacer-1.0.8_x64.rpm
sudo dnf -y install bleachbit
6.13 webcam

Cheese or Guvcview for your webcam:

sudo dnf -y install guvcview
sudo dnf -y install cheese
6.14 audio editing

Audio file editing:

sudo dnf -y install audacity
6.15 video editing

YouTube video producing app:

sudo dnf -y install obs-studio
6.16 old timer file manager

Install Midnight Commander

sudo dnf -y install mc
6.17 screen shots

Screen clipping app:

dnf -y install shutter
6.18 remote support

Install Teamviewer

wget https://download.teamviewer.com/download/linux/teamviewer.x86_64.rpm
dnf -y install teamviewer.x86_64.rpm
6.19 disk / file encryption

Truecrypt has been discontinued in 2014 although other forks have been deeloped.  The best replacements for Truecrypt are:

I still use and prefer Truecrypt.  If you want Truecrypt, the last stable release was 7.1a.  Truecrypt 7.2 is only to uncrypt previously Truecrypt encrypted disks.  For a good audit and review of Truecrypt, see this article.

Download 7.2 (32-bit or 64-bit), or 7.1a (32-bit / 64-bit or .exe or from here), extract and run the installer:

chmod 777 truecrypt-7.1a-setup-x64
./truecrypt-7.1a-setup-x64
6.20 flashplayer

Install Adobe Flashplayer.  First install Adobe repository, then the flash player:

rpm -ivh http://linuxdownload.adobe.com/adobe-release/adobe-release-x86_64-1.0-1.noarch.rpm
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-adobe-linux
dnf install -y flash-plugin alsa-plugins-pulseaudio libcurl
6.21 java

OpenJava is by default installed on most Linux systems.  If you want Oracle instead of the openjava, install like this.  You might need more than one version, depending on your apps requirements.  JDK is for development purposes and JRE for normal use.  Version 10.0.2 is the latest but many apps still use version 8u181 or even version 7x.  Download the JDK RPM packages for version 8 from here...., and version 10 from here.

sudo dnf -y install jdkx-*.rpm
6.22 Another mediaplayer

I recently found SMPlayer which is also a very nice media player.

dnf config-manager --add-repo https://download.opensuse.org/repositories/home:smplayerdev/Fedora_28/home:smplayerdev.repo
dnf install -y smplayer
6.23 disk management tools

Blivet-Gui and GParted is well-known when you need a graphical utility to manage your partitons.

Install blivet GUI:

sudo dnf -y install blivet-gui

or GParted:

sudo dnf -y install gparted
6.24 Skype

Install Skype:

sudo dnf -y install wget alsa-lib pulseaudio glibc libXv libXScrnSaver
wget https://go.skype.com/skypeforlinux-64.rpm
dnf install -y skypeforlinux-64.rpm
6.25 Vector graphic editing

Inkscape is perfect for editing vector graphics (.svg).

sudo dnf -y install inkscape
6.26 Bulk Renamer

Install pyRenamer.

sudo dnf -y install pyrenamer
6.27 Scribus

Scribus is a newsletter publish application:

sudo dnf -y install scribus

Done!

7.  Enable SSH

If you want to access your linux box from another pc on the network, enable SSH:

sudo systemctl start sshd 
sudo systemctl enable sshd

8.  Install httpd and PHP7x with MariaDB

Its always usefull to have your linux available as a http server with PHP and MariaDB (or mySql), especially if you're building web sites or other development.  We also use vsftp and phpMyAdmin.

sudo dnf -y install httpd php php-common mariadb mariadb-server vsftpd

dnf install -y php-pecl-apcu php-cli php-pear php-pdo php-mysqlnd php-pgsql php-pecl-mongodb php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml
dnf install -y phpMyAdmin

Configure httpd and firewall and configure SELinux (optional).

sudo systemctl start httpd
sudo systemctl enable httpd
sudo systemctl start mariadb
sudo systemctl enable mariadb
sudo systemctl start vsftpd
sudo systemctl enable vsftpd
sudo firewall-cmd --add-service=http --add-service=https --add-service=ftp --add-service=mysql --permanent sudo firewall-cmd --reload
setsebool -P httpd_can_network_connect 1
setsebool -P httpd_execmem 1
ausearch -c 'mysqld' --raw | audit2allow -M my-mysqld
semodule -X 300 -i my-mysqld.pp
setsebool -P httpd_unified 1

Change the following options in httpd.conf:

sudo vi /etc/httpd/conf/httpd.conf
ServerAdmin 
ServerName localhost:80
DirectoryIndex index.html index.cgi index.php

Make appropriate changes to your vsftpd.conf file

sudo vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
ascii_upload_enable=yes
ascii_download_enable=yes
chroot_list_file=/etc/vsftpd/chroot_list
ls_recurse_enable=yes
listen=yes
listen_ipv6=no
local_root=public_html
use_localtime=yes

Then modify /etc/vsftpd/chroot_list by adding users you allow to move over their home directory

fedora

Allow SELinux for FTP:

sudo setsebool -P ftpd_full_access on

9.  Install PostgreSQL 10

First of all, exclude postgresql from the default Fedora repo

sudo vi /etc/yum.repos.d/fedora.repo
[fedora]
exclude=postgresql*
sudo vi /etc/yum.repos.d/fedora-updates.rerpo
[updates]
exclude=postgresql*

Then install PostgreSQL repository and then through dnf:

sudo dnf -y install https://download.postgresql.org/pub/repos/yum/10/fedora/fedora-28-x86_64/pgdg-fedora10-10-4.noarch.rpm
dnf install -y postgresql10 postgresql10-server

Initialize PostgreSQL

/usr/pgsql-10/bin/postgresql-10-setup initdb

Configure PostgreSQL:

vi /var/lib/pgsql/10/data/postgresql.conf
listen_address = '*'
port = 5432

Set PostgreSQL permissions:

sudo vi /var/lib/pgsql/10/data/pg_hba.conf
# Local networks
host    all     all     xx.xx.xx.xx/xx    md5
hostl    all    all     192.168.0.0/24    md5

Start the server:

sudo systemctl start postgresql-10
sudo systemctl enable postgresql-10

Allow firewall:

sudo firewall-cmd --permanent --add-port=5432/tcp
sudo firewall-cmd --reload

10.  configure shell

This is optional, but if you would like some colors to your terminal shell, do the following.  I have different colors for root shell and my user shell.

vi /home/yourname/.bashrc
if [ "$PS1" ]; then 
PS1="\e[0;32m[\u @ \w]\$ \e[m "
fi

And for root:

vi /root/.bashrc
if [ "$PS1" ]; then 
PS1="\e[0;36m[\u @ \w]\$ \e[m "
fi

A list of color codes

Color Code
Black 0;30
Blue 0;34
Green 0;32
Cyan 0;36
Red 0;31
Purple 0;35
Brown 0;33
Blue 0;34
Green 0;32
Cyan 0;36
Red 0;31
Purple 0;35
Brown 0;33
  • To get a lighter color, replace the "0" with a "1"
  • \W display the base of current working directory, and \w the full path of the working directory
  • \h display the hostname
  • \u display the current user

To see what your current values are:

echo $PS1

 

11.  Add Personalised Fonts

If you would like to add specific fonts (like Google Fonts), its recommended to do it in the user profile instead of system wide. Create a folder in the user's directory and add the fonts to that directory. If you want to add it system wide, copy the font files to /usr/share/fonts.

mkdir .fonts

Then, run this command to update the cache.

fc-cache -v

 

That's it.  Please let us know of any other usefull improvements on your Fedora 28 install.

 

NOTE! This site uses cookies and similar technologies.

If you not change browser settings, you agree to it. Learn more

I understand