After Installing Fedora Core 8

This file contains a list of steps needed to setup additional programs I use on a RedHat Linux system. To find out answers I used various sites on the Internet. You can find an incomplete list at the end of this file.

Before you install a new OS

You will have to do the following steps to ensure that you you will be able to see your data with the new OS.

  1. Backup PostgreSQL database into text format

    To save a database into text format execute: pg_dump dbname > dumpfile

    To restore a text dump of a database

  2. Backup subversion into text format

    Execute svnadmin dump <myrepo> > dumpfile for every repository you have.

    To restore a repository into the newly installed OS type svnadmin create newrepo;svnadmin load newrepo < dumpfile

  3. Save user password files and home directories

    User home directories are in /home/user. These need to be saved only if you don't have the users data on a separate logical volume (LVM).

    Users,groups and shadow files are /etc/passwd, /etc/group and /etc/shadow.

  4. Print the partition table and mounting points

    fdisk -l /dev/hda > log.txt
    df -h >> log.txt
    mount >> log.txt
    lvdisplay -m >> log.txt

Install Fedora Core 8 and Updates from the Live CD

I use two computers: a Dell Latitude C840 Laptop and a Dell Precision 530 Desktop.

Common Settings

  1. Development tools

    yum install gcc make kernel-devel

  2. Graphics Applications

    yum install gimp GREYCstoration-gimp.i386 gimp-help.noarch gimp-resynthesizer.i386 ufraw-gimp.i386 xsane-gimp.i386 xfig

  3. Partitions

    I use a dual-boot Linux/Windows system with the following partitions:

    /dev/hda1 /boot 100MB
    /dev/hda2 /mnt/windows 26GB
    /dev/hda3 Linux LVM
    LogVol00 / 10GB
    LogVol01 /home 7GB
    LogVol02 /home/data 17GB
    LogVol03 /usr/local 2GB
    This configuration allows me to reinstall the OS on / without affecting /home. Logical Volumes can be resized, which is of great help if you want to move things around, or you didn't get the partition sizes right the first time.
  4. Yum Configuration File

    Follow the instructions form fedorafaq.org

  5. When trying to update a package yum says: public key for ... not installed

    Execute rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*

  6. Root setup

    Create the following two links:

    /root/.bashrc --> /home/<user</.bashrc
    /root/.bash_login --> /home/<user>/.bash_login
  7. Gnome Terminal

    If you want a bigger window and no menu for the terminal use the following parameters in the Launcher Properties: gnome-terminal --geometry 80x40 --hide-menubar

  8. beagle search tool

    yum install beagle wv gnumeric

  9. Emacs: psgml (for HTML), emacs-auctex tetex-xdvi(for LaTex)

    yum install emacs psgml html401-dtds.noarch xhtml1-dtds.noarch latex2html emacs-auctex tetex-xdvi xpdf aspell-en

    For psgml copy http://www.utoronto.ca/webdocs/HTMLdocs/HTML_Spec/xhtml1.0/xhtml.soc and xhtml1.dcl into /usr/share/sgml/xhtml1/xhtml1-20020801/DTD. This works with SGML_CATALOG_FILES environment variable and with the xml-mode and psgml-mode entries in .emacs file.

  10. Latex formating Support for ACM, SPIE, APA Conferences

  11. Octave, Flash Plugin, Timidity++, Totem Movie Player plugin, MP3 player plugin, Alacarte Menu Editor, Mplayer plugin, Unison, pgAdmin3

    rpm -e --nodeps totem;yum install octave octave-forge flash-plugin totem-xine libdvdcss libdvdnav gstreamer-plugins-ugly alacarte mplayerplug-in vnc-server unison pgadmin3 timidity++

    Disable handling of Real Media by adding in /etc/mplayerplug-in.conf to lines

    enable-helix=0
    enable-rm=0
  12. Install VTK and ParaView, Win32 codecs for mplayer, rapidsvn, PyOpenGL and python-imaging (for PyOpenGL)

    yum -y --enablerepo=atrpms install 'vtk*' cmake paraview rapidsvn PyOpenGL python-imaging

  13. Real Player

    Install RealPlayer10GOLD.rpm from http://www.real.com/linux/ and yum install compat-libstdc++-33 and then reset FireFox cache rm ~/.mozilla/firefox/pluginreg.dat.

  14. Archiving and conversion utilities: rar, unace, nrg2iso

    yum install rar unace nrg2iso
  15. Adobe Reader

    rpm -ivh --prefix=/usr/local AdobeReader_enu-8.1.1-1.i486.rpm

    Modify SE Linux to allow Adobe Reader to run: Applications > System Tools > SE Linux Management > Boolean > Allow making a modified private file mapping executable (text relocation).

    Setup Firefox plugin:

    cd /usr/local/Adobe/Reader8/Browser/
    ./install_browser_plugin

    If the plugin doesn't work see /usr/local/Adobe/Reader8/Browser/HowTo/ENU/Browser_Plugin_HowTo.txt. I had to uninstall mozplugger to make adobe reader plugin to work.

  16. Matlab

    Modify SE Linux to allow Adobe Reader to run: Applications > System Tools > SE Linux Management > Boolean > Allow making the heap executable (execheap).

  17. Users

    Add your users to users group. I use this to provide everybody with access to Subversion.

  18. Printers

    HP Color LaserJet 4600
    Add a printer with a Queue Type, Networked JetDirect, Printer ip address of the printer and Port: 9100. and a printer driver Color LaserJet 4600
    HP LaserJet 4100
    Add a printer with a Queue Type, Networked JetDirect, Printer ip address of the printer and Port: 9100. and a printer driver LaserJet 4100
    Canon Pixma MP760
    • Install ftp://download.canon.jp/pub/driver/bj/linux/bjfilter-common-2.50-2.i386.rpm and ftp://download.canon.jp/pub/driver/bj/linux/bjfilter-pixusip4100-2.50-2.i386.rpm using yum localinstall --nogpgcheck bjfilter-*.
    • Specify the driver using the ppd file /usr/share/cups/model/canonpixusip4100.ppd
  19. Scanners

    Epson Perfection 1660 Photo Scanner
    It works only as root. To make it work as user to lsusb to find out the bus and the device on which your scanner is connected and then do chmod ugo+w /dev/bus/usb/<bus>/<device>
    Canon Pixma MP760
    You can use Wittawat Yamwong's software for getting the scanner to work. To be able to use the scanner in user mode add to /etc/udev/rules.d/60-libsane.rules the following line
    #    Canon    Inc.|PIXMA760
    SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="1708", SYMLINK+="scanner-%k"
  20. Palm Pilot

    Create a file /etc/udev/rules.d/10-visor.rules that contains:

    KERNEL="ttyUSB[13579]", SYMLINK="pilot"

    See http://www.clasohm.com/blog/one-entry?entry_id=12096 for more informations about this.

  21. PostgreSQL Database Server

    yum install postgresql postgresql-jdbc

    You have to login as user postgres and then use psql template1 to create a PostgreSQL user that will match your username. Use create user <user> superuser; for this. This will allow you to connect directly to a database without specifying your user name, if you are doing this from your account, and will allow you to create databases. Exit psql with \q.

    In /var/lib/pgsql/data/pg_hba.conf you have to set what computers you accept connections from . If you want to accept connections only from localhost your IPv4 connections should look like the following:

    #host all all 127.0.0.1/32 ident sameuser
    host all all 127.0.0.1 255.255.255.255 trust

    Install pgaccess, a user friendly database editor. Untar pgaccess-0.98.7.tar.gz in /usr/local.

  22. Install Microsoft Fonts

    Follow instructions at fedorafaq to builds and install msttcorefonts-2.0-1.noarch.rpm

  23. Apache Web Server

    Set the DocumentRoot in your /etc/httpd/conf/httpd.conf to point to the root of your web pages: /home/<user>/public_html.

    Set global read permisitons on public_html

    cd ~;chmod ugo+x .
    chmod -R ugo+r public_html
    For SELinux, change the security context of public_html and its content:
    ls -Zd public_html
    chcon -R -t httpd_user_content_t public_html
    If the chcon command fails you might need to relabel the files system:
    touch /.autorelabel
    reboot
    or fixfiles relabel.

    To specify the administrator of the web server set ServerAdmin your@email.address.

  24. Install Java & Additional Packages using JPackage Repository

    Upgrade jpackage-utils with yum --enablerepo=jpackage-generic update jpackage-utils.

    Download the following non-free packages from http://www.jpackage.org: java-1.6.0-sun java-1.5.0-sun, java-1.4.2-sun, jta, java3d, java-1.6.0-sun-manual

    Non-free packages need to be rebuild by executing the following steps:

    1. Try to build the package using rpmbuild --rebuild <package>. This will tell you what non-free binaries are missing.
    2. Download the non-free binaries into /usr/src/redhat/SOURCES
    3. Rebuild the nosrc package.
    4. Install the created binary packages from a subdirectory of /usr/src/redhat/RPMS
    If you downloaded a binary file with a different version than the nosrc package, you might be able to fix this by:
    1. cd /usr/src/redhat/SPECS
    2. Edit the spec file and change the version to the one of the binary
    3. Rebuild the source rpm rpmbuild -bs <specfile>
    4. Build the binary rpm cd ../SRPMS;rpmbuild --rebuild <srpm>

    Install the Firefox plug-in:

    cd /usr/lib/mozilla/plugins
    ln -s /usr/lib/jvm/java-1.5.0-sun/jre/plugin/i386/ns7/libjavaplugin_oji.so

    Install Java Libraries: yum install tomcat5-admin-webapps tomcat5-webapps jakarta-commons-cli jakarta-commons-cli-javadoc jakarta-commons-fileupload-javadoc

    More information about JPackage at:

  25. Configure the transfer between httpd and Tomcat5

    In the past I did this with mod_jk. The same thing can be achieved with mod_proxy which comes with httpd package. Add the following lines in /etc/httpd/conf/httpd.conf

    #LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
    ProxyRequests Off
    
    # transfer URLs for 'convert'
    ProxyPass /convert/ http://localhost.localdomain:8080/convert/
    
    # transfer URLs for 'hs'
    ProxyPass /hs/ http://localhost.localdomain:8080/hs/
    
    # URL conversion for redirect from Tomcat to httpd
    ProxyPassReverse / http://localhost.localdomain:8080/
    

    Make SELinux happy by checking System>Administration>Security Level and Firewall>SELinux>Modify SELinux Policy>HTTPD Service>Allow HTTPD scripts and modules to connect to the network.

    To access the root of the Tomcat installation type http://localhost:8080. To be able to deploy applications using Tomcat Manager you will have to change /usr/share/tomcat5/conf/tomcat-users.xml, add two roles manager and admin and a user having these two roles. See the existing file as an example on how to do this.

    To deploy an application, use Tomcat Manager and Select WAR to upload and then press Deploy. The .war file will be copied to /usr/share/tomcat5/webapps and the context file will be copied to /usr/share/tomcat5/conf/Catalina/localhost.

  26. Configure Additional Java Libraries

    Libraries installed by hand:

    cd /usr/share/java/
    ln -s /home/<user>/external/acme.jar
    ln -s /usr/local/jogl-jsr-231-1.0.0/jogl-1_0_0-linux-i586/lib/jogl.jar
    
    mkdir saxon8;cd saxon8
    for i in /usr/local/saxonb8/*.jar; do ln -s $i; done
    
    cd /usr/lib/jvm/java/jre/lib/i386
    for i in /usr/local/jogl-jsr-231-1.0.0/jogl-1_0_0-linux-i586/lib/*.so; do ln -s $i; done
    Libraries installed using JPackage:
    cd ${JAVA_HOME}/jre/lib
    build-jar-repository ext xerces-j2 postgresql-jdbc3.jar java3d acme jogl commons-cli saxon8
  27. OOoLatex

    Copy OOoLatex-2.3.1/bin/OOoLatex to ~/bin. Install the macro from OOoLatexMacro-test2/macro-2.0/script.xlb by selecting Tools/Macros/Organize Macros/OpenOffice.org Basic.../Organizer.../Libraries/Append....

    Assign Ctrl-M shortcut to the operation that creates the equation dialog, by selecting Tools>Customize>Keyboard, for Category select OpenOffice.org Macros>user>OOoLatex>OOoLatexEquation and for Function select main, select OpenOffice.org radio button and select Control+M and press Modify

  28. VMware 4.5

    Install vmware-any-any-update103.tar.gz from here before you run vmware-config.pl.

    Add the folders you want to share between the host OS (GNU/Linux) and the quest OS (Windows). VM>Settings...>Options>Shared Folders>Add. To access a shared folder you can explore My Computer and then navigate to My Network Places>Entire Network>VMware Shared Folders.

  29. Install a VRML player

    Install the RPM from FreeWRL home page. You will need the following aditional packages: yum install libXp-devel openmotif openmotif-devel mesa-libGLw mesa-libGLw-devel mesa-libGLU-devel. See this for more links.

  30. Install Google Software

    Setup the repository:

    wget https://dl-ssl.google.com/linux/google-repo-setup.sh
    bash google-repo-setup.sh
    Install software: yum install picasa google-desktop-linux
  31. Syncronize the Palm Pilot through Bluetooth

    Setting up the PC

    Make sure bluetooth service is running: service bluetooth status, check if the Bluetooth adapter is detected: hcitool dev list a device hci0, and check that the Palm device is discovered: hcitool scan. Make a note of the address listed.

    Modify /etc/bluetooth/rfcomm.conf, uncomment the example, and change bind yes and add the device address on the line device .... Restart the bluetooth service.

    Add a file /etc/ppp/peers/dun that contains:

    115200
    192.168.100.177:192.168.1.1
    local
    ms-dns 192.168.10.254
    noauth
    debug

    The important values are 192.168.100.177 the IP address of the PC the palm pilot connects to, 192.168.1.1, the IP address the Palm device will get, and 192.168.10.254, the DNS server the local computer uses. You can find out the DNS server IP address by executing cat /etc/resolv.conf

    Start Bluetooth dial-up networking daemon: dund --nodetach --listen --persist --msdun call dun

    When you are done testing and you wan to always have the Bluetooth dial-up networking daemon running you have to edit /etc/sysconfig/dund and add DUNDARGS='--listen --persist --msdun call dun' and then start dund daemon in System > Administration > Services

    Note that your PC will become a router that routes packets from your Palm Pilot (interface ppp0) and send them out on the external network (interface eth0). Note also that your PC needs to do SNAT (source network address translation) (IP masquerading) for packets that arrive from your Palm Pilot. To do that use the scrip at Linux IP Masquerade HOWTO in section 3.4.1 with EXTIF=eth0 and INTIF=ppp0.

    Setting up the Palm Pilot
    Follow instructions at Synchronize your PalmOS(c) Handheld over Bluetooth in Linux

Dell Latitute C840

  1. NVIDIA GeForce 440 Go AGP

    The driver configured by default nv works well.

    To install the hardware accelerated driver type yum install kmod-nvidia-legacy and then modify the end of /etc/X11/xorg.conf to read

    Section "Extensions"
            Option "Composite" "Disable"
    EndSection
    

Dell Precision 530 Desktop

  1. Setting the optimum vertical refresh for Dell 1900FP

    Change in /etc/X11/XF86Config, VertRefresh 56.0- 61.0 (instead of up to 76.0). That will make the graphic card to choose the refresh rate of 60Hz (instead of 75Hz) which is said to be optimal for the display.

  2. APC Back-UPS ES 350

    yum install apcupsd. See more information at www.apcupsd.org

Quick Fix

References: