Inspired by an old post by Rui Moura, I’ll maintain here the plain commands needed to setup a freshly installed Fedora or Red Hat system, to include essential softwares they don’t ship by default due to legal issues.
These instructions are currently optimized for Fedora 14, 15 and 16, but most of it should work on any other Fedora and modern Red Hat Enterprise Linux too. Good suggestions provided as comments bellow will be added to this guide.
- Permissions Setup
- Keeping System Updated
- Repositories Setup
- Activate Hardware Acceleration on NVidia and Intel GPUs
- Install Adobe Flash Player Globally
- Install Google Chrome or Chromium Browser
- Access LAN Hosts by Name Without a DNS Server (Bonjour, Zeroconf)
- Dramatically Improve Fonts
- Install Web Standard Fonts
- MP3 Support
- Amarok: The best audio player for Linux
- Enable Any DVD Player Software to Play DVDs from All Regions
- General DVD and DivX/Xvid/MP4/H.264 Movie Player
- General Digital Video Authoring and Editing tools
- Command Line DVD Copy & Decrypting Tool
- Enabling GMail as System’s Default Mail Relay (so you get sysadmin e-mails from your machine)
- Access Windows NTFS Partitions From Linux
- Configure text console in high resolution and smaller fonts
Terms highlighted in red should be changed to match your system.
This step will allow you to issue some administrative commands without having to be all the time logged in as root — the system administrator.
bash# echo 'your_plain_loginname_here ALL=(ALL) ALL' >> /etc/sudoers
Note that this is the only command throughout this guide that shows a root prompt (bash#). All other commands are indicated to be run as a regular non-root user (indicated by bash$).
After configuring sudo, every time you execute an administrative command with its help, a password is requested. This is your password (the regular user’s password), not the root password.
Keeping System Updated
Install the following packages so updates will come faster:
bash$ sudo yum -y install yum-presto yum-plugin-fastestmirror
You can also get e-mail notifications about system updates:
bash$ sudo yum -y install yum-cron bash$ sudo chkconfig yum-cron on
Then make sure your /etc/sysconfig/yum-cron file has the following lines:
You will get one e-mail every day with a list of updates available. E-mail delivery will only work if you configure your system for that.
After all the steps below and from time to time, update all software installed on your system with the following command:
bash$ sudo yum update
RPM Fusion is a repository of many essential multimedia and general purpose software for Fedora and Red Hat systems. It is a good idea to have it configured so you can easily install players for DVDs, MP3s amongst other useful things.
bash$ sudo rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm
Activate Hardware Acceleration on NVidia and Intel GPUs
bash$ sudo yum -y install vdpau-video-freeworld libva-freeworld libva-utils vdpauinfo libva libvdpau kmod-nvidia xorg-x11-drv-nvidia
Install Adobe Flash Player Globally
bash$ sudo rpm -Uvh http://linuxdownload.adobe.com/adobe-release/adobe-release-i386-1.0-1.noarch.rpm bash$ sudo yum -y install flash-plugin --exclude=AdobeReader\*
On 64bit systems (x86_64) use this:
bash$ sudo rpm -Uvh http://linuxdownload.adobe.com/adobe-release/adobe-release-i386-1.0-1.noarch.rpm bash$ sudo yum -y install flash-plugin nspluginwrapper.x86_64 nspluginwrapper.i686 alsa-plugins-pulseaudio.i686 libcurl.i686 --exclude=AdobeReader\* bash$ mkdir -p ~/.mozila/plugins; ln -s /usr/lib/flash-plugin/libflashplayer.so ~/.mozila/plugins
Restart your browser to activate the plugin. For reference: Flash Player for Linux home page.
Install Google Chrome or Chromium Browser
There are 2 ways to install Chrome or Chromium:
- Chrome is packaged by Google, has less frequent update cycles, includes Flash and H.264 support.
bash$ sudo wget -O /etc/yum.repos.d/google.repo http://avi.alkalay.net/articlefiles/2011/01/google.repo bash$ yum -y install google-chrome-beta
You can also find Picasa on the same repo but is 32 bit only and not on the latest versions.
- Chromium is the open-source-only part of Chrome, it is more well packaged by the Fedora community, is more well integrated into the desktop, has more frequent update cycles but doesn’t include Flash (that can be added separately). All the rest is the same and I prefer Chromium.
bash$ sudo wget -O /etc/yum.repos.d/fedora-chromium-stable.repo http://repos.fedorapeople.org/repos/spot/chromium-stable/fedora-chromium-stable.repo bash$ sudo yum -y install chromium
Access LAN Hosts by Name Without a DNS Server
You can access servers and machines on you LAN by name, instead of using their long IP address using the Zeroconf standard (implemented as Avahi in Linux). This is so useful and works out of the box in Ubuntu. The setup in Fedora is easy too, but not automatic.
bash$ sudo yum -y install avahi-tools nss-mdns
Now, instead of accessing local hosts by their IP, you can use the .local domain appended to their names. Just like this:
bash$ ssh 10.0.0.5 # stop using the IP address of dbserver bash$ ssh dbserver.local # start using its hostname
Evnetually this will only work if you correctly configure or disable packet filtering (firewalling). To disable:
bash$ sudo service iptables stop bash$ sudo service ip6tables stop bash$ sudo chkconfig --del iptables # disable even for next reboots bash$ sudo chkconfig --del ip6tables # disable even for next reboots
Tip grabbed from Fedora Project wiki.
Dramatically Improve Fonts
bash$ sudo yum install freetype-freeworld
Logoff and login again your graphical environment to this update take effect.
To understand why you need this update read this section on the Linux Font HOWTO.
The freetype-freeworld package uses a technique described in this bug report.
Install Web Standard Fonts
These packages include popular fonts as Arial, Times New Roman, Tahoma, Verdana, as well as new Windows Vista and MS Office 2007 fonts. Learn more.
bash$ sudo rpm -Uvh \ http://avi.alkalay.net/software/webcore-fonts/webcore-fonts-3.0-1.noarch.rpm \ http://avi.alkalay.net/software/webcore-fonts/webcore-fonts-vista-3.0-1.noarch.rpm
For Gnome and GStreamer:
bash$ sudo yum -y install gstreamer-plugins-ugly libmad libid3tag id3v2
bash$ sudo yum -y install kdemultimedia-extras-nonfree id3v2
Amarok: The best audio player for Linux
bash$ sudo yum -y install amarok-extras-nonfree
Enable Any DVD Player Software to Play DVDs from All Regions
bash$ sudo wget -O /etc/yum.repos.d/atrpms.repo http://avi.alkalay.net/articlefiles/2011/01/atrpms.repo bash$ sudo rpm --import http://packages.atrpms.net/RPM-GPG-KEY.atrpms bash$ sudo yum --enablerepo=atrpms -y install libdvdcss
General DVD and DivX/Xvid/MP4/H.264 Movie Player
bash$ sudo yum -y install gnome-mplayer
General Digital Video Authoring and Editing tools
bash$ sudo yum -y install mencoder mkvtoolnix mkvtoolnix-gui ffmpeg avidemux subtitleripper
Command Line DVD Copy & Decrypting Tool
bash$ sudo yum -y install vobcopy
Now, thanks to libdvdcss installed above, you can use vobcopy to clone DVD while removing their protections like this:
bash$ sudo mount /dev/dvd /mnt bash$ cd /some/directory bash$ vobcopy -m /mnt
Enabling GMail as System’s Default Mail Relay (so you get sysadmin e-mails from your machine)
Prepare a new configuration for Sendmail:
bash# yum install sendmail-cf patch wget bash# wget -O /tmp/sendmail.mc.patch http://avi.alkalay.net/articlefiles/2011/01/sendmail.mc.patch bash# cd /etc/mail bash# patch < /tmp/sendmail.mc.patch
Put your GMail login and password into a authmap file (and protect it) so GMail will let your system send messages as you:
bash# cd /etc/mail bash# echo 'AuthInfo:smtp.gmail.com "U:root" "I:YOURADDRESS@gmail.com" "P:YOUR-GMAIL-PASSWORD"' > gmail-relay-auth bash# chmod 0600 gmail-relay-auth # make it unreadable by others bash# makemap -r hash gmail-relay-auth.db < gmail-relay-auth bash# chmod 0600 gmail-relay-auth.db # make it unreadable by others
Configure the system so your mail address receives all mail for root. Do this editing /etc/aliases and make sure it has this line, generaly on the end:
# Person who should get root's mail root: YOUR-EMAIL-ADDRESS@domain.com
Build and install new Sendmail configuration, updated edited mail aliases and restart the service to make changes effective:
bash# cd /etc/mail bash# make # to regenerate the config files based on our changes bash# newaliases bash# service sendmail restart
Now the system is able to send you warnings, cron outputs etc by e-mail. To test it, you can do this as any user:
mail -a /some/file/to/be/attached -s "Subject line" firstname.lastname@example.org <<EOF Body of the message goes here... EOF
The message will be sent.
Access Windows NTFS Partitions From Linux
bash$ sudo yum -y install ntfs-config
Then run the ntfs-config-root graphical tool and configure your partitions to be writable and mountable.
bash$ sudo /usr/sbin/ntfs-config-root
An example of my system:
After you configure the tool and quit, your NTFS partitions will be mounted in the specified place. In my case /media/Windows and /media/Work.
Configure text console in high resolution and smaller fonts
This tip is for the text console.
bash$ sudo echo 'SYSFONT="lat0-08"' >> /etc/sysconfig/i18n # set a ISO-8859-15 font bash$ sudo echo 'fbset 1024x768-60' >> /etc/rc.d/rc.local # set console resolution to 1024x768 @ 60Hz
These settings will take effect after a reboot, but you can test them before rebooting executing the following commands:
bash$ sudo setfont lat0-08 bash$ sudo fbset 1024x768-60
Note that you can set different resolutions than 1024×768 if you have a video card and monitor that will accept it. A full list of modes can be listed with the command:
bash$ grep "mode " /etc/fb.modes