This document describes how to set up a CentOS 5.1 desktop. The result is a fast, secure and extendable system that provides all you need for daily work and entertainment.
This howto is a practical guide without any warranty – it doesn’t cover the theoretical backgrounds. There are many ways to set up such a system – this is the way I chose.
1 Install Media
The install media(s) are available at http://isoredirect.centos.org/centos/5/isos/i386/. I used the DVD-image for this howto.
Hit “Enter” to start the installation.
Test your install media if you want.
The installation wizard is starting.
Select your language and proceed.
Choose your keyboard-layout and proceed.
Here you can select/edit the partitioning layout.
If you chose the manual setup, you’ll see the following two windows.
If you chose the manual setup, you’ll see the following two windows.
Here you can adjust the network settings.
Select the location nearest to yours and configure the clock. Unmark the checkbox if there are other operating systems installed, that expects the clock to be set to local time – e.g. Windows.
Choose a password for the root-account and confirm it.
Here you can select predefined collections of software. You can also make a custom selection if you mark the corresponding radio button.
Select “Packages from CentOS Extras” – a window will pop up, asking for your network configuration. If you have already configured your network settings simply commit it – otherwise configure the settings now.
If you chose the custom selection you’ll see this and a few following windows. Select a main group on the left and afterwards one of its subgroups on the right. Now click on “Optional Packages” – you’ll see…
…this window with a detailed package list. Select or deselect packages as you like.
Click “Next” if your selection is complete. Dependencies are being checked.
The system is ready to install – click on “Next”.
The partition(s)/disk(s) are being formatted etc.
The system is being installed.
The installation is complete. Remove the install media and reboot the system.
3 First Start
If there’s no reason to do something special wait a few seconds to start with the standard settings.
The system is starting up.
The system is starting up.
This is the first start – the firstboot-wizard appears.
Here you can edit the firewall settings if you want. If you’re not planning to connect to this computer via ssh/scp/sftp etc you can close the corresponding port.
I recommend to deactivate SELinux – it can cause many problems, especially if you’re using software from additional repositories.
A reboot is required to make the changes effective.
Set the actual time and date.
If you enable the network time protocol, the time will be synchronized with a remote time server.
Time to add the first user-account to the system.
The system will test your soundcard (there was no soundcard added to this vm).
Here you can add software from additional CDs. Afterwards click on “Finish”.
The system has to reboot now.
When the system is up again, you’ll see the login window. Log in to the system with the userdata you chose in the firstboot-wizard.
Welcome to your desktop.
4 Basic Configuration
In various parts of this howto you have to switch to the root-account (within a terminal). The terminal is available in the gnome applications menu.
Enter the following to switch to the root-account:
You can switch back to your user-account with:
4.1 Yum Plugins & Yumex
Install some recommended packages to prevent problems with packages (broken/3rd party) and kernel-modules (root privileges needed):
yum install yumex yum-fastestmirror yum-skip-broken yum-kmod yum-kernel-module yum-priorities
Note: How to manage packages with yumex is described later at step 5.
After that we add priorities to the default repositories.
Add a priority to each repository-entry – the content should look like this:
# CentOS-Base.repo # # This file uses a new mirrorlist system developed by Lance Davis for CentOS. # The mirror system uses the connecting IP address of the client and the # update status of each mirror to pick mirrors that are updated to and # geographically close to the client. You should use this for CentOS updates # unless you are manually picking other mirrors. # # If the mirrorlist= does not work for you, as a fall back you can try the # remarked out baseurl= line instead. # # [base] name=CentOS-$releasever - Base mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/ gpgcheck=1 gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5 priority=1 #released updates [updates] name=CentOS-$releasever - Updates mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates #baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/ gpgcheck=1 gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5 priority=1 #packages used/produced in the build but not released [addons] name=CentOS-$releasever - Addons mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=addons #baseurl=http://mirror.centos.org/centos/$releasever/addons/$basearch/ gpgcheck=1 gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5 priority=1 #additional packages that may be useful [extras] name=CentOS-$releasever - Extras mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras #baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/ gpgcheck=1 gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5 priority=1 #additional packages that extend functionality of existing packages [centosplus] name=CentOS-$releasever - Plus mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus #baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/ gpgcheck=1 enabled=0 gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5 priority=2
The RPMforge-repository provides many packages like multimedia applications and drivers.
Install the repository:
rpm -ivh http://apt.sw.be/redhat/el5/en/i386/RPMS.dag/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
Now let’s set a low priority (high number > 10) for this repository.
Change the content that it looks like this:
# Name: RPMforge RPM Repository for Red Hat Enterprise 5 - dag # URL: http://rpmforge.net/ [rpmforge] name = Red Hat Enterprise $releasever - RPMforge.net - dag #baseurl = http://apt.sw.be/redhat/el5/en/$basearch/dag mirrorlist = http://apt.sw.be/redhat/el5/en/mirrors-rpmforge #mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge enabled = 1 protect = 0 gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag gpgcheck = 1 priority=11
4.3 Remove Software
Before you are going to update the system for the first time you should check if there is software installed that you don’t need, or rather that you want to replace with another software. The goal should be a clean system with only the programs installed that you really need.
Which programs you should deinstall or replace with others is up to you – you’ll find a summary of already installed software at step 6 and a little assortment of additional software (including possible replacements for already installed software) at step 7.
You can simply deinstall software with the Yum Extender (yumex) – have a look at step 5.
Some services are enabled by default on your system – maybe some of them are needless (depending on your hardware and your needs). The deactivation of needless services will save system resources, so it’s worth to take a look on the service settings – they are available in the gnome system menu.
Enter the root password.
Select “Runlevel All”.
4.4.1 Enable Services
- Network Manager
- Network Manager Dispatcher
4.4.2 Disable Services
- bluetooth (disable this service if there is no bluetooth device connected to your system)
- firstboot (this service is not longer needed)
- mdmonitor (disable this service if you haven’t set up a RAID-system)
- pcscd (disbale this service if there is no smart-card device connected to your system)
- restorecond (disable this service if you deactivated SELinux)
- sshd (disable this service if you’re not planning to connect to this computer via ssh/scp/sftp etc)
If you have a computer with a wlan-card I recommend to disable “network” in all runlevels – otherwise you’ll have a long boot-time cause the system tries to allocate a dhcp-ip to this device (regardless of the configuration). The network manager will enable the network automatically after you’ve logged in.
Nautilus opens a window for every single folder by default – to change this open any folder and edit the settings. It’s also a good idea to enable the delete command that bypasses the trash – because if you delete something from external storages with the standard delete command, the things will not really be deleted but moved to a trash on the device (.trash). This trash will not be affected when you delete the trash on your desktop.
Now it’s user-friendly.
In this step we’ll make the fonts eye-friendly and change the resolution to a value that is used by most operating systems. The font settings are available in the gnome system menu.
Choose 9px as font-size for all fonts. Select “Subpixel smoothing” if you’re using a LCD-monitor. Afterwards click on “Details”.
The resolution should be 96dpi.
4.7 System Update
The system will check for updates automatically and notify you if updates are available. Click on “View Updates“.
Enter the root-password.
The update information are being retrieved.
You’ll see a summary of available updates and their details. Click on “Apply updates” to install the updates.
The dependencies are being resolved.
The updates are being downloaded …
… and installed.
Sometimes, e.g. when a new kernel was installed, it’s recommended to reboot the system.
5 Yum Extender
The yum extender (a.k.a. yumex) is an easy to use gui for the yum package manager. With yumex you can install, deinstall or update packages – it’s available in the gnome applications menu.
Enter the root-password.
Yumex appears – make yourself familiar with the gui.
5.1 Deinstall Packages
Select the radio-button “Installed” – now you’ll see all installed packages. Browse the list or enter a search term in the corresponding field to find a package.
If you find a package that you want to remove simply unmark its checkbox.
Alternatively you can use the group view.
This is the package queue – here you can see all the packages that you selected for deinstallation. If you made a mistake you can remove one or more packages from this list. If you agree to your selection click on “Process Queue” in the bottom right corner.
If the packages that you want to deinstall have dependencies, they’ll also be marked for deinstallation. Proceed if you agree.
The packages are being deinstalled.
Deinstallation finished. Quit yumex or proceed to reload yumex.
5.2 Install Packages
Select the radio-button “Available” – now you’ll see all installed packages. Browse the list or enter a search term in the corresponding field to find a package. If you find a package that you want to install simply mark its checkbox.
Alternatively you can use the group view.
The package queue contains all packages that you selected for installation. If you made a mistake you can remove one or more packages from this list.
The dependencies are being resolved, they’ll also be marked for installation.
Proceed if you agree.
The packages are being downloaded…
Installation finished. Quit yumex or proceed to reload yumex.
6 By Default Installed Software
- Rhythmbox (audio player)
- Totem (video player)
- Gimp (edit images/photos)
- OpenOffice.org (office suite)
- Firefox (web browser)
- Evolution (email client)
- Ekiga (internet telephony)
7 Additional Software
7.1.1 Adobe Acrobat Reader
With the Adobe Reader you can open PDF-documents.
If you want to use the acrobat reader, open http://www.adobe.com/products/acrobat/readstep2_allversions.htm within firefox and choose your language.
Click on “Download now” and install the package with the software installer.
The plugin for firefox will be installed automatically. If you want to check it, restart firefox and enter about:plugins into the url-field. Afterwards you should see this:
7.1.2 Adobe Flash Player
Adobe provides an own repository – install the repository-package (root privileges needed):
rpm -ivh http://linuxdownload.adobe.com/adobe-release/adobe-release-i386-1.0-1.noarch.rpm
Afterwards install the following package:
The plugin for firefox will be installed automatically. If you want to check it, open firefox and enter about:plugins into the url-field. Afterwards you should see this:
7.1.3 Sun Java JRE
Sun’s JAVA JRE adds full Java support to your system.
If you want to use Sun’s JAVA, open http://java.sun.com/javase/downloads/index.jsp within firefox and download the Linux self-extracting file – NOT the Linux RPM in self-extracting file.
The following steps require root privileges. Please note that you have to edit the following commands if your Java version is newer than the one I downloaded.
mv /home/%your_username%/Desktop/jre-6u3-linux-i586.bin /opt/
chmod +x jre-6u3-linux-i586.bin
Accept the license agreement and proceed.
rm -f jre-6u3-linux-i586.bin
ln -s /opt/jre1.6.0_03/plugin/i386/ns7/libjavaplugin_oji.so /usr/lib/mozilla/plugins/
It should look like this:
export J2RE_HOME=/opt/jre1.6.0_03 export PATH=$J2RE_HOME/bin:$PATH
Note: You have to add an empty line at the end of the file!
alternatives –install /usr/bin/java java /opt/jre1.6.0_03/bin/java 2
/usr/sbin/alternatives –config java
Select the new Java JRE
Now let’s check if all went ok.
/usr/sbin/alternatives –display java
The first two lines of the output should look like this:
java – status is manual.
link currently points to /opt/jre1.6.0_03/bin/java
Additionally you have to install the following package to ensure that the firefox-plugin will work proper.
Open firefox and enter about:plugins into the url-field. Afterwards you should see this:
The NTFS-3G driver provides ntfs read/write support.
If you want to use the ntfs-3g driver, install the following packages:
7.1.5 Microsoft’s True Type Core Fonts
Some fonts, including Arial, Times New Roman and Verdana for example.
If you want to use these fonts, open http://www.mjmwired.net/resources/mjm-fedora-fc6.html#ttf within your browser and install the package with the software installer (simply click on it).
7.1.6 W32codecs & Others
Codecs needed to play MS and some other video formats.
If you want to use these codecs open a terminal and enter (root privileges needed):
tar xfvj all-20071007.tar.bz2
cp all-20071007/* /usr/lib/codecs/
ln -s /usr/lib/codecs/ /usr/lib/win32
7.2.1 MPlayer (possible replacement for totem)
MPlayer is a video player with many features – supporting nearly every known video format, e.g. MPEG/VOB, AVI, Ogg/OGM, VIVO, ASF/WMA/WMV, QT/MOV/MP4, RealMedia, Matroska, NUT, NuppelVideo, FLI, YUV4MPEG, FILM, RoQ and PVA (the codecs from step 7.1.6 are needed to support some of the listed formats).
If you want to use the mplayer, deinstall the following package…
…and install these packages:
7.2.2 Xmms (possible replacement for rhythmbox)
Xmms is a lean audio-player.
If you want to use xmms, deinstall the following package…
…and install these packages:
With this package you’ll be able to unpack rar-files. If you want to use unrar, install the following package:
7.3.2 Network Traffic Applet
With this applet you can monitor the speed of your network devices.
If you want to use the network traffic applet, install the following package:
Afterwards add the applet to the gnome-panel. Right click on the panel, choose “Add to panel” and select the applet.
7.3.3 Bittorrent (bittorrent client)
Bittorrent is an easy to use bittorrent client.
If you want to use bittorrent, install the following package:
K3B is a burning suite with a lot of features.
If you want to use K3B, install the following packages:
7.3.5 Skype (only beta for CentOS 5.x at the moment)
Skype is a software for internet telephony, instant messaging etc.
If you want to use skype, open a terminal and enter (root privileges needed):
rpm –import rpm-public-key.asc
yum localinstall skype-<version>-centos.i586.rpm
Note: If the gpg-key is not available, you have to disable the gpg-check in the yum configuration (
) before you do the localinstall. Keep in mind that you turn it on again afterwards.
Audacity is a software to edit audio files.
If you want to use Audacity, install the following package:
Streamtuner is a stream directory browser. With Streamtuner you can listen to SHOUTcast-streams etc.
If you want to use Streamtuner, install the following package:
FireFTP is an extension for Firefox. It provides an easy to use, full featured ftp client. It can be startet without firefox from the gnome applications menu.
If you want to use FireFTP, open https://addons.mozilla.org/en-US/firefox/addon/684 within Firefox and click on “Install Now“.
Accept the installation:
After the installation is finished restart Firefox. FireFTP is available in the upper menu or when you right click on an ftp-link.
Create a new launcher in the gnome applications menu to start FireFTP without Firefox. Open the main menu editor.
Click on “Internet” on the left side and afterwards on “New item” on the right side.
Insert/select the following in the launcher-window:
Command: firefox -chrome chrome://fireftp/content/
Comment: FTP Client
Optional choose an icon for the new launcher.
With gparted you are able to resize, move and format partitions – many file systems are supported.
If you want to use gparted, install the following packages:
With XChat you can join multiple IRC channels (Internet Relay Chat). File transfer is supported. You can customize XChat with various scripts and plugins.
If you want to use xchat, install the following package:
Taken from the Wine Homepage: “Wine is an Open Source implementation of the Windows API on top of X, OpenGL, and Unix”.
With wine you can run a lot of Windows software on Linux. A list of software that is known to work on wine can be found on http://appdb.winehq.org/.
If you want to use wine, install the following package:
7.3.12 VMware Server
With VMware Server you can install guest operating systems as Windows, Linux, NetWare or Solaris.
If you want to use the VMware-Server, install the following packages:
Afterwards open http://www.vmware.com/download/server/ within your browser. Install the latest version with the software-installer and register to get a serial number.
Install it with the software installer.
Next configure the VMware Server (root privileges needed).
Answer all the questions with “yes” and accept the license agreement (if you agree with it). After that you’ll be asked a few questions about install paths etc. – simply hit enter for every question. The VMware Server is now available in the gnome applications menu.
CentOS Wiki: http://wiki.centos.org/