Things to do after installing Fedora 34
Fedora 34 was recently released and noticed we've skipped a version or two :-). 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 consider.
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 -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
You can also consider the non-free repository.
sudo rpm -Uvh http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
Update your system, then install the tainted versions.
sudo dnf upgrade --refresh
sudo dnf groupupdate core
sudo dnf install -y rpmfusion-free-release-tainted
sudo dnf install -y rpmfusion-nonfree-release-tainted
sudo dnf install -y dnf-plugins-core
sudo dnf install -y *-firmware
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. TYhe max downloads is 10, we recommend 5. To enable this, edit the /etc/dnf/dnf.conf file as follows:
sudo vi /etc/dnf/dnf.conf
fastestmirror=true
deltarpm=true
max_parallel_downloads=5
Install Flathub rerpo which includes flathub (for newer software versions):
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpuk update
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. Enable the repository and install.
sudo dnf -y install fedora-workstation-repositories
sudo dnf config-manager --set-enabled google-chrome
sudo dnf -y install google-chrome-stable
If you are using a VPN consider the following and configuring your VPN in Settings > Network > VPN.
sudo dnf install -y openconnect NetworkManager-openconnect NetworkManager-openconnect-gnome
sudo dnf install -y openvpn NetworkManager-openvpn NetworkManager-openvpn-gnome
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".
You can also head over to Fedora Repositories for many packages to install.
6.1 Gnome-Tweak Tool
Provides a lot of tweaks and other configuration options which is rather nice:
sudo dnf 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 dnf 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
sudo dnf install -y lame\* --exclude=lame-devel
sudo dnf install -y groupupdate sound-and-video
sudo dnf -y group upgrade --with-optional Multimedia
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
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 copr enable kwizart/fedy
sudo dnf install -y 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
Bleachbit are system cleaner and monitoring apps:
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
Or install OBS thorugh snap
sudo snap install obs-studio --edge
sudo snap connect obs-studio:audio-record
sudo snap copnnect obs-studio:avahi-control
sudo snap connect obs-studio:camera
sudo snap connect obs-studio:jack1
sudo snap connect obs-studio:joystick
sudo snap connect obs-studio:removable-media
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. If you install most of your apps and settings as root (su, not sudo), you need to install Teamviewer from your user terminal (sudo). Also, the following dependencies needs to be installed first.
sudo dnf install -y qt5-qtquickcontrols libQt5WebKitWidgets.so.5 qt5-qtquickcontrols
wget https://download.teamviewer.com/download/linux/teamviewer.x86_64.rpm
dnf -y install teamviewer.x86_64.rpm
Or you can install Anydesk from Fedy's menu. You can also install Anydesk from the terminal.
sudo tee /etc/yum.repos.d/AnyDesk-Fedora.repo <<EOF
[anydesk]
name=AnyDesk Fedora - stable
baseurl=http://rpm.anydesk.com/fedora/x86_64/
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://keys.anydesk.com/repos/RPM-GPG-KEY
EOF
sudo dnf makecache
sudo dnf install -y redhat-lsb-core anydesk
sudo dnf --releaseserver=32 install pangox-compat.x86_64
sudo dnf install -y anydesk
If you want Anydesk to be installed as a service, run the following command.
systemctl is-enabled anydesk.service
enabled
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. Download the JDK RPM package here. The current latest version is 16.0.2. After downloading, install it with this command.
sudo rpm -Uvh jdk-*.rpm
If however, you want to install OpenJava manually, run the following commands.
Version 8
sudo dnf install java-1.8.0-openjdk
Version 11
sudo dnf install java-11-openjdk
Or the latest version
sudo dnf install java-latest-openjdk
Check the installed version...
java -version
Switch between your installed versions. After running this command, you will get a list of all the installed version. Choose "1", "2" or "3" or whichever number of the version you would like to be active.
sudo alternatives --config java
Check again which version is your current active version.
java -version
Done!
6.22 Another mediaplayer
I recently found SMPlayer which is also a very nice media player.
sudo dnf config-manager --add-repo https://download.opensuse.org/repositories/home:smplayerdev/Fedora_31/home:smplayerdev.repo
sudo 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). Also optional is to set your MariaDB root password.
sudo mysqladmin --user=root password 'yourpassword'
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
sudo setsebool -P httpd_can_network_connect 1
sudo setsebool -P httpd_execmem 1
sudo ausearch -c 'mysqld' --raw | audit2allow -M my-mysqld
sudo setsebool -P httpd_unified 1
Change the following options in httpd.conf:
sudo vi /etc/httpd/conf/httpd.conf
ServerAdminThis email address is being protected from spambots. You need JavaScript enabled to view it.
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.repo
[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. You can also install Microsoft fonts.
mkdir .fonts
sudo dnf install -y curl cabextract xorg-x11-font-utils fontconfig
sudo rpm -i https://downloads.sourceforge.net/project/mscorefonts2/rpms/msttcore-fonts-installer-2.6-1.noarch.rpm
Then, run this command to update the cache.
fc-cache -v
That's it. Please let us know of any other usefull improvements / customizations on your Fedora 31 install.
Popular Articles
