After Installing Fedora Core 3

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 backup subversion repository and postgresql database in text format, so that they can be loaded by the new versions of these programs.

Install Fedora Core 3 and Updates

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

Install Fedora Core 3, remove all kde-i18n packages besides Romanian: rpm -qa | grep kde-i18n | grep -v Romanian | xargs rpm -e, install the GPG key for packages by setting up Redhat Alert Notification Tool then install all the updates yum update -y.

Common Settings

  1. Partitions

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

    /12GB
    /boot100MB
    /home12GB
    /mnt/windows26GB
    I add an entry in /etc/fstab that reads:
    /home/usr/local         /usr/local              none    rw,bind         0 0
    so that all additional software I install in /usr/local will be installed in the /home partition, so it won't be overwritten by a reinstall.
  2. Yum Configuration File

    Copy a new /etc/yum.conf from fedorafaq.org

  3. Root setup

    Create the following two links:

    /root/.bashrc --> /home/<user</.bashrc
    /root/.bash_login --> /home/<user>/.bash_login
  4. Read-Only NTFS Driver

    Check your kernel version: uname -r and your processor: rpm -q --queryformat "%{ARCH}\n" kernel

    Install NTFS rpm for your kernel and processor from http://linux-ntfs.sourceforge.net/rpm/fedora3.html

    Load the driver: modprobe ntfs, check the kernel logs: dmesg|grep NTFS, and check if the kernel understands NTFS: cat /proc/filesystems

    Find out the partition with the NTFS file system: fdisk -l, mount the partition: mount /dev/hda2 /media/windows -r -o -umask=0222. If you want the partition to be mounted at start-up, update /etc/fstab, by adding the following line:

    /dev/hda2               /media/windows          ntfs    ro,defaults,umask=0222 0 0
  5. 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

  6. Prosper Presentation, octave-forge, unison

    yum install tetex-prosper octave-forge unison

  7. Formating Support for ACM Conferences

    Copy sigplan-proc.cls into /usr/share/texmf/tex/latex/base and than run texhash.

  8. American Psychological Association (APA) formating and citations

    Install apa and apacite (layout for American Psychological Association papers) and enumitem (layout for enumerate, itemize and description) from CTAN in /usr/local/share/texmf/tex/latex.

  9. Real Player 10 Gold

    Remove HelixPlayer-1.0.1.gold-6, install RealPlayer10GOLD.rpm from http://www.real.com/linux/ and then reset FireFox cache rm ~/.mozilla/firefox/pluginreg.dat.

  10. Macromedia Flash Player 7

    Install flash-plugin-7.0.25-1.i386.rpm from http://macromedia.mplug.org/.

  11. MPlayer and MEncoder

    Install MPlayer using yum: yum -y install 'mplayer*'

    Install the binary codecs from Mplayer home page. I downloaded a file called all-20050412.tar.bz2 unzip that in /usr/local and created a link from /usr/local/lib/win32 to /usr/local/all-20050412

  12. Install rar, unace, rapidsvn, xmms-mp3, Xine DVD/Multimedia Player

    yum --enablerepo=dag install rar unace rapidsvn xmms-mp3 xine xine-lib xine-skins

    To get xine to automatically play a DVD upon insertion check: Applications/Preferences/Removable Storage/Play DVD Videos when inserted and then set the Command to be xine --auto-play --auto-scan dvd

  13. Acrobat 7.0

    Install AdobeReader_enu-7.0.0-2.i386.rpm

    Setup Firefox plugin:

    cd /usr/lib/mozilla/plugins
    ln -s /usr/local/Adobe/Acrobat7.0/Browser/intellinux/nppdf.so
  14. GNU Cash

    Install Finance::Quote perl module that allows automatic updating of the price of stocks and mutual funds you own. You have to run the command update-finance-quote as root. See GnuCash Tutorial and Concept Guide/Investment/Setting Stock Price Automatically.

  15. Users

    Add your users to users group. I use this to provide everybody with access to CVS and shared kscd database.

  16. Printers

    HP LaserJet 4100
    Add a printer with a queue type Networked JetDirect and a printer driver LaserJet 4100
    Canon Pixma MP760
    Add a printer with a queue type Locally-connected on /dev/usb/lp0 Canon MP760, and a printer driver BJC-7004.
  17. Scanners

    Epson Perfection 1660 Photo Scanner
    In /etc/sane.d/epson.conf comment scsi EPSON line and uncomment usb /dev/usb/scanner0 line. In /etc/modules.conf add the following line: options scanner vendor=0x04b8 product=0x011e. See SANE EPSON Backend.
    Canon Pixma MP760
    Unfortunately, Canon doesn't seem to provide much support for Linux. Next time, I will not buy a Canon!
  18. 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.

  19. Syncronize the Palm Pilot through Bluetooth

    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.100.123
    local
    ms-dns 192.168.1.254
    noauth
    debug

    The important values are 192.168.100.177 the IP address of the computer the palm pilot connects to, 192.168.100.123, the IP address the Palm device will get, and 192.168.1.254, the DNS server the local computer uses.

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

  20. PostgreSQL Database Server

    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> createdb; 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.

    If you want to restore saved dumps of some databases (you can create a dump using pg_dump <database> > <file>) you have to use psql <database> < <file>

    To enable TCP connections you have to set in /var/lib/pgsql/data/postgresql.conf the parameter tcpip_socket=true. 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 you have to add the following line:

    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.

  21. Install Microsoft Fonts

    Install msttcorefonts-1.3-3.noarch.rpm from http://www.mjmwired.net/resources/mjm-fedora-fc3.html#ttf and then restart the X Font Server: service xfs restart

  22. 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. 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.

  23. 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.5.0-sun, java-1.4.2-sun, jta, java3d, java-1.5.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 Tomcat5 and Ant and JUnit and mod_jk: yum --enablerepo jpackage-generic --enablerepo jpackage-fedora install tomcat5 tomcat5-admin-webapps tomcat5-webapps ant junit mod_jk mod_jk-manual mod_jk-debuginfo jakarta-commons-cli jakarta-commons-cli-javadoc jakarta-commons-fileupload-javadoc

    More information about JPackage at:

  24. Configure mod_jk and Tomcat5

    Add the following lines in /etc/httpd/conf/httpd.conf:

    # Load mod_jk module
    # Update this path to match your modules location
    LoadModule jk_module modules/mod_jk.so
    # Where to find workers.properties
    # Update this path to match your conf directory location (put workers.properties next to httpd.conf)
    JkWorkersFile /etc/httpd/conf/workers.properties
    # Where to put jk logs
    # Update this path to match your logs directory location (put mod_jk.log next to access_log)
    JkLogFile /var/log/httpd/mod_jk.log
    # Set the jk log level [debug/error/info]
    JkLogLevel info
    # Select the log format
    JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
    # JkOptions indicate to send SSL KEY SIZE,
    JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
    # JkRequestLogFormat set the request format
    JkRequestLogFormat "%w %V %T"
    # Send everything for context /examples to worker named worker1 (ajp13)
    JkMount /hs/* worker1
    JkMount /convert/* worker1

    Add the a file called /etc/httpd/conf/workers.properties. This file should contain:

    # Define 1 real worker using ajp13
    worker.list=worker1
    # Set properties for worker1 (ajp13)
    worker.worker1.type=ajp13
    worker.worker1.host=localhost
    worker.worker1.port=8009
    worker.worker1.lbfactor=50
    worker.worker1.cachesize=10
    worker.worker1.cache_timeout=600
    worker.worker1.socket_keepalive=1
    worker.worker1.socket_timeout=300

    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 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.

  25. NetBeans 4.1

    Launch the IDE passing -jdkhome /usr/lib/jvm/java parameter.

    For a project that requires additional libraries add <additional>.jar into <project>/Properties/Build/Compiling Sources/. If the library is available in /usr/share/tomcat5/common/lib don't add the library into the war file, otherwise add it.

    Add additional libraries to the Tomcat version shipped with NetBeans:

    cd /usr/local/netbeans-4.1/enterprise1/jakarta-tomcat-5.5.7/common/lib
    cp -d /usr/share/tomcat5/common/lib/\[jaf\].jar /usr/share/tomcat5/common/lib/\[javamail\]* .
  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-1.1/jogl.jar jogl-1.1.jar
    ln -s jogl-1.1.jar 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
    ln -s /usr/local/jogl-1.1/natives-linux/libjogl_cg.so
    ln -s /usr/local/jogl-1.1/natives-linux/libjogl.so

    Libraries installed using JPackage:

    cd ${JAVA_HOME}/jre/lib
    build-jar-repository ext xerces-j2 pg74.215.jdbc3 java3d acme jogl commons-cli saxon 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... from the menu. Assign Ctrl-M shortcut to the operation that creates the equation dialog, by selecting Tools/Macros/Organize Macros/OpenOffice.org Basic..., select My Macros/OOoLatex/OOoLatexEquation, select Assign and then choose Category to be OpenOffice.org Macros/user/OOoLatex/OOoLatexEquation and Function to be main.

  28. VNC Server/Client

    Set VNCSERVERS to "1:user" in /etc/sysconfig/vncservers. Setup the VNC password by calling vncpasswd, and start the vncserver. To be continued ...

Dell Latitute C840

  1. NVIDIA GeForce 440 Go AGP

    The driver configured by default nv works well.

    The OpenGL accelerated, nvidia binary driver, from http://www.nvidia.com, might work or not depending on your system and luck

    Before installing the nvidia driver rename the original GLX module, otherwise it will be removed by the installation script. You will need this if you want to go back to the nv driver:

    cd /usr/X11R6/lib/modules/extensions/
    mv libglx.a nv_libglx
    mv libGLcore.a nv_libGLcore

    Also save the original X11 configuration file

    cd /etc/X11
    cp xorg.conf nv_xorg

    Make the following modifications to /etc/X11/xorg.conf file. Set Driver "nvidia" in the Section "Device". Comment the line Load "dri".

    Succeeded in displaying 1280x1024, but with some multicolored vertical stripes on the left side of the screen and with top side of the screen duplicated at the bottom. I had some mild success in displaying 1600x1200 using Option "IgnoreEDID" "true" in the Device section, but the screen was split in half, and the image duplicated in both halves. Finally, the problem solved itself, by getting a new NVidia card that has Vidio Bios: 04.17.00.55.b4 (the old one died). Now the NVidia driver works fine.

    If you want to return to the nv driver:

    cd /etc/X11
    cp nv_xorg xorg.conf
    cd /usr/X11R6/lib/modules/extensions/
    cp nv_libglx libglx.a
    cp nv_libGLcore libGLcore.a
  2. 3Com 3CRSHPW_96 PCMCIA Wireless Card

    You have to install the atmel driver. Execute the following steps:

    1. Identify the card you have (as root): cardctl ident and then search the product info and manfid in /etc/pcmcia/atmel.conf. The name provided in the bind row is the driver that has to be used (pcmf502r3).
    2. Make the driver install as device eth instead of atml: replace all occurences of atml%d with eth%d.
    3. Build and install the atmel driver:
      tar xjf atmelwlandriver-3.4.0.2.tar.bz2
      cd atmelwlandriver
      make clean
      make pcmf502r3
      make install
      depmod -a
      service pcmcia restart
    4. Declare an alias in /etc/modprobe.conf:
      alias eth1 pcmf502r3
      and then load the driver modprobe -a.
    5. Create a network configuration with Applications/System Settings/Network and then New/Wireless Connection. This will create two files ifcfg-eth1 and keys-eth1 in /etc/sysconfig/network-scripts.
    6. Start the network interface: ifup eth1. Type ifconfig to list all the up interfaces, and ifconfig -a to list all interfaces.
  3. Set UID for apm

    This allows you to set suspend/standby/off laptop feature in KDE. Use the following command as root:

    chmod u+s /usr/bin/apm

Dell Precision 530 Desktop

  1. Upgrade Subversion to use Berkeley DB 4.2 from 4.0

    Create a new repository svdadmin create newrepo, remove the database files cd newrepo/db;rm *s __db.* log.*, move to the old repository cd ../../oldrepo/db, convert all the database files for d in *s; do echo $d;db41_dump $d | db_load -h ../../newrepo/db $d; done, verify the newrepo cd ../..;svnadmin verify newrepo. For more info see http://svn.haxx.se/users/archive-2004-09/1186.shtml

  2. 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.

  3. APC Back-UPS ES 350

    Install www.apcupsd.com and apply the following patch to /etc/apcupsd/apcupsd.conf

    13c13
    < #UPSNAME
    ---
    > UPSNAME apc-back-ups-es500

    See update.itlab.musc.edu/node/126 link for a tutorial about this.

References: