[Navigation Bar]  
 
 

    

[OpenSUSE powered]
[BUSH powered]
[vi powered]
[XML] [RSS]

 My personal notes on installing Novell OpenSuSE 11.1 on a home computer

For a general overview of installing Linux at home, see Installing Linux at Home. For a general overview of installing Linux at work, see Installing Linux at Work.

There are my personal notes about installing OpenSuSE 11.1 on a home computer.

OPENSUSE 11.1 INSTALLATION NOTES

Installing on AMD x84 (64-bit OpenSuSE).

0. Before You Begin
   a. Save your root crontab (with crontab -l) so you won't lose any nightly
      scripts or backup programs you may have installed.
   b. Backup any databases.  With MySQL, use "mysqldump -p db_name > 
      sql_command_file_to_build_db.sql".  With PostgreSQL, use "pg_dumpall >
      output.dat".
   c. Backup /root with tar cfvz root.tgz /root
      Especially important so you can save your SSH keys (in the .ssh
      directory), email inbox and other configuration settings.  It may be a
      good idea to back up /home and /etc as well.
      If /home is a separate directory, most programs attempt to install
      by merging configuration file changes.  You always run the risk of
      ending up with a bad configuration file, especially if you're
      updating across more than one version.  It may be a good idea to
      move of your home directories under another /home folder
      (like /home/ken_old/) prior to attempting an install. Of course,
      do this from the administration (root)  account. Then copy key
      folders back before attempting to start a new program, so it's
      easier to identify bad configuration errors.  For example,
      copy from /home/ken_old/.pidgin to /home/ken/.pidgin, fix the file
      ownership is necessary and start pidgin.  If the new pidgin fails
      with the old configuration in place, delete /home/ken/.pidgin and
      set up pidgin again from scratch.  If successful, you're old settings
      will be intact without having to re-enter all your friends into
      pidgin.

1. Basic Install

   You have the option of a LVM partition install.  I used regular partitions
   but LVM may be useful if you use LVM at work to take drive snapshots, etc.
   With the growing size of disks, I used RAID 0 on /usr (for faster
   software) and RAID 1 on /home (to protect my personal data).

   OpenSuSE 11.1 partitioner has a bug: when you select RAID 1, no matter
   what cluster size you chose, it will always select a 2 MB cluster size.
   This creates huge, intermittent wait times while CPU iowait goes high.
   To get around this, create the RAID 1 partition as normal but after
   you are able to log in as root (before /home has anything on it--back it
   up if it does), rebuild the raid partition from the terminal:

   # Assuming /home is on RAID 1 device /dev/md1 made of /dev/sdaX /dev/sdbY

   # umount /home                        # make sure /home is not mounted
   # mdadm -S /dev/md1                   # stop raid from doing its thing
   # mdadm --zero-superblock /dev/sdaX   # clear old raid setup
   # mdadm --zero-superblock /dev/sdaY
   # mdadm --create --verbose /dev/md1 --level=raid1 --raid-devices=2 /dev/sdaX /dev/sdbY
                                         # recreate with default settings for RAID 1
   # mkfs -t ext3 /dev/md1               # format the device
   # tune2fs tune2fs -i 30 -c 10 /dev/md1 # disk check every 30 days / 10 reboots
   # mount /home

   Remember to periodically run a check and repair on the RAID 1 device with

   # echo repair > /sys/block/md1/md/sync_action

   Or monitor with mdadm --monitor -f --mail=me@domain --delay=1800

   This install assumes you chose a Gnome desktop (as opposed to KDE or
   another desktop standard).  If you have a dual-core machine (or other
   multiple-core setups, the default kernel has SMP
   (Symmetric Multi-Processing) enabled so your dual core chips will be
   recognized.

   Select additional repositories in Yast / Software Repositories.  You can
   select all the repositories if you wish, though this will slow down
   software updates.  I used the following community repositories:
   education, openoffice, videolan, packman, ATI, games, Compriz, Mono
   and Mozilla.  Also add the OpenSuSE OSS/non-OSS repositories and
   disable your disk so everything can be downloaded.

   In OpenSuSE 11, NTFS and VFAT partitions are readable by all users and
   VFAT is also writable.  You no longer have to adjust the fstab umask
   option to make this happen.  I use a 8.5 G VFAT partition to copy files
   to and from the Windows side of my machine (50 G is the size of a
   double-density Blue-ray disk).  Maybe this should be NTFS?

   OpenSuSE defaults the windows drives to /windows/C, /windows/D, etc.
   I use my own names and many configuration files point to them.  If
   that's the case, create /dosc, /dose, /dosf, /dosg and configure them
   /etc/fstab in place of the "windows" directories.

   a. Command Line Applications
      alpine - popular text-based email reader with POP support in case you
             have problems accessing your email graphically.  Also, easy to
             check your email via ssh. (formerly pine)
      lynx - popular text-based web browser.  Again, useful from the command
             line.  Also useful from ssh.
      nano - text-based editor based on pine mail reader's pico editor. Easy
             alternative to vi
      findutils-locate - for some reason, locate isn't included with OpenSuSE
             but for me is an essential tool for finding files quickly
      bsdgames - includes your daily message with fortune
      wipe - secure file deletion
   b. Command Line Development Tools
      gcc-ada - the software engineering language used in aerospace industry,
             about as powerful as Java
      gcc-java - the GCC Java system
      gcc-c++ - the old standard, again, not installed on SuSE by default
      gcc-fortran - why not?
      gcc-objc - why not?
      java...-sun-devel - that is, Sun's Java development tools (the SDK)
      ruby - I don't use it but it's good to have it around
      cvs - supplanted by Subversion but some people still use it
      zoo - an old compression program
      tidy - HTML testing tool
      bsh - bean shell (why not?)

   c. To PegaSoft Software Build From Sources
    xorg-x11-devel - already installed
    gtk-devel - for gtk_config script
    freeglut-devel - for OpenGL applications

   d. Your Desktop
      avant-window-manager & extra aplets - for the OS X look
      gdesklets - for floating news and weather applets (not working in OpenSuSE 11.1 due to a loading problem)
      acroread - Adobe Acrobat PDF reader
      wxWidgets - used by some desktop programs
      openal
      openal-devel - for rss-glx below
      gnucash (already installed) - never use it but...
      flash-player (already installed)
      realplayer - absent
      pidgin (gaim) (already installed) - messenging program
      kino - video editor
      amule - Peer-to-Peer file sharing on the edonkey network
      vuze (azureus) - popular, easy to use (if slow) bit torrent client
      MozillaThunderbird - an email program (if you get tired of Evolution)
         Thundebird-lightning - calendar program
      celestia - cool 3D space exploration program
      Scribus - desktop publishing
      opera - web browser
      unison - computer file synchronization tool (keep your laptop up-to-date)
      Bluetooth or palm sync tools if you need them.
      celestia - from "education"
      bibletime - from "education"
      whatever "game" games looked interesting - no xarchon this time!
        torcs, smc, alienarena, ufo2000
      whatever "gnome" applets looked interesting
        anjuta, conglomerate, ghex, gnome-panel-extras, memprof, NM-vpnc,
        sound-juicer, twitux,
      whatever "dvd" programs looked interesting
        devede, chaplin, acetoneiso, dvdinfo
      whatever "3D" programs looked interesting
        blender, java3d, opencity
      whatever "mp3" programs looked interesting (mp3blaster, easytag)
      whatever "fonts" are applicable (e.g. sgi-fonts).  Note Microsoft-type
      font issues below
   e. Sound and Graphics Development
      There are several programs that have support for some playback or
      encoding standards disabled.  You can either build these programs
      from sources or select an alternate repository (like packman).
      w32codec-all - http://opensuse-community.org/Multimedia has a link to
      install w32codec-all
      liboil
      gstreamer010 (packman version)
      totem (already installed)
      totem-plugin (already installed)
      libdvdcss (already isntalled) - if it is legal in your country
      # kaffeine plus mozilla plug-in (packman) - watch DVDs
      # kaffeine-gstreamer (packman) - gstreamer support for kaffeine
      acetoneison2 - image management
      audacity - popular sound editor (e.g. for making podcasts)
      ardour2 - another sound editor
      traverso - another sound editor with different features
      icecast (maybe I'll get around to configuring it this time) so I can
      listen to music from work
      xmms and audacity - simple winamp-style music players
   f. Desktop Development Tools
      gvim - sometimes you just want to use a graphical vi editor
      ddd - popular front-end to the GCC debugger
      eclipse - IBM's popular Java development environment
      kdevelop3 - Linux's most popular development environment
      jogl - 3D Java library to make OpenGL applications
      esvn - desktop interface to Subversion
      mysql - the MySQL database (server)
      postgresql - MySQL's chief rival - client
      postgresql-server - the PostgreSQL database (server)
   g. Web Developer Tools
      flash tools (for work)
      quanta - KDE's web development suite
      php5 - web page embedded scripting language
      php5-mysql - MySQL support for PHP
      phpMyAdmin - handy web interfice to MySQL (perhaps a little redundant)
      pgaccess - GUI access to postgres
      php5-pgsql - Postgres support for PHP
      apache2 - web server
      tomcat6 (for java) - application server
      opera - popular web browser, useful to check your web development work
      wine (no winetools?) - run Adobe Flash developer environment or
               Internet Explorer to test your web pages under Linux
      blender - 3D graphics
  h. Building PegaSoft Software
      libopenssl-devel - for databases
      SDL-devel - for building SDL programs (especially for "sdl_config")
      SDL_image-devel - same
      SDL_image (may already be installed) - SDL image handling library
      libmysqlclient-devel - for building programs accessing MySQL
      postgresql-devel - for building programs accessing PostgreSQL
      SDL_ttf-devel (not needed but...)
      SDL_ttf (may already be installed) - SDL truetype font library*
      build - Shell script to build OpenSuSE RPMs
      -pgport???
  i. Groovy
      For the groovy Java interpreter (not included in SuSE), download from
      the Groovy home page and install the RPM with yast --install.

2. Desktop Setup

    a. Compriz (3D Desktop)
      Fglrx automatically detected and installed?  Check with glxinfo.
      Control Center / Desktop Effects / Enable
      Compriz failed to run until I selected Yast / Software Management / Update
      to update the drivers.
      su -c 'SaX2 -r -m 0=fglrx' to configure the driver.
      ctrl-alt-backspace twice to restart.  Reboot if necessary with ctrl-alt-del.
      Then it worked.
      For latest version, you can try http://www.opensuse.org/ATI.

    b. Avant (OS X -like application bar)
       start with more apps / utils / avant navigator
       right-click and set preferences
       Add Avant to the Gnome control panel sessions tool: settings / system
       /sessions / startup - add avant-window-navigator

    c. gDesklets
       Appears to be a Python 2.6 problem, fails to load tile stuff.
       #start with more apps / utils / gdesklets
       #add the desklets you want
       #add more desklets from http://www.gdesklets.de/?q=desklet/browse
       #Add gdesklets to startup list in Gnome control panel session tool.

    d. Mail Client
       Evolution:
       re-paste signature from conf
       PGP signing?
       Configure 

       Pine (Alpine)
       The name of "Pine", the text email reader, has changed to Alpine due to
       legal/trademark reasons.  "pine" is an alias for "alpine" when starting
       the program.
       To setup pine for SMTP/POP, enter setup / configure:

       SMTP Server (for sending) = 192.168.100.1
       Inbox Path = {192.168.100.1/ssl/user=ken/novalidate-cert}INBOX
       Enter setup / signature.  Read conf/signature.txt as the signature.

    e. Pidgin (gaim) messenger

       Add pidgin to startup list in Gnome control panel session tool.

    f. Firefox web browser

       Install Noia, Web Developer and Sage.
       If you have an old /home, Firefox should still work with all your installed
       themes and extensions.

    g. Google software

       Still any Google/Linux software you want, like Picassa or GoogleEarth.

       http://earth.google.com/download-earth.html
       in google-earth directory, mv libcrypto.so.0.9.8 libcrypto.so.0.9.8.oldd
       sh GoogleEarthLinux.bin

       libsane was installed but sane-backends-32bit (scanner library) needed.
       http://picasa.google.com/linux/download.html

    h. Skype (Chat Program)
      Skype from http://www.skype.com/download/skype/linux/
      For 64-bit systems like mine, install libqt4-32-bit, libt4-x11-32bit.
      rpm -Uvh ./skype-2.0.0.72-suse.i586.rpm
      Lots of alsa warnings on the command line when it runs but there is
      sound.
      Create desktop icon "/usr/bin/skype"
      Add skype to startup list in Gnome control panel session tool.

    i. Wine and IE6 (Windows Emulator)
      Wine is a free Microsoft Windows emulator.  It is useful for web
      developers who want to run Internet Explorer under Linux to test their
      web pages for IE compatibility.  Instructions for Wine under OpenSuSE
      are at http://en.opensuse.org/Wine
        i. winecfg. Run winecfg and ensure Windows XP and sound config works.
           Quit to set default directories
       ii. http://www.tatanka.com.br/ies4linux/page/Main_Page
      iii. wget http://www.tatanka.com.br/ies4linux/downloads/ies4linux-latest.tar.gz
       iv. tar zxvf ies4linux-latest.tar.gz
        v. cd ies4linux-*
       vi. ./ies4linux
      If your are prompted by wine to install gecko, do so.
      It also runs from the icon on desktop.
      When running from the command line, include a URL like this:
        wine ~/.ies4linux/ie6/drive_c/Program\ Files/Internet\ Explorer/iexplore.exe www.google.com
      Run winetricks to install fonts and microsoft basic dll's.
      Install PlayOnLinux (Windows Game Support for SuSE) with Yast.

   j. Silkroad Online (Multiplayer Online Game)
     Silkroad runs under Wine.
     Download the Silkroad Client installer and run with wine to install.

   k. Mu torrent (Bit Torrent Program)
     Mu torrent runs under Wine.  Still faster and easier than Vuze.
     Run the installer with Wine.
     Mu torrent install will put a launcher on your desktop.
     Create ~/Mu Downloads/Incoming and ~/Mu Downloads/Temp and assign them
     in the Mu Torrent preferences. (~ is your home directory.)

   m. Terminal Session Launchers
     If you're a developer like me and you want to connect to different
     machines.
     Create SSH launchers for terminal sessions with appropriate profiles:
     e.g. gnome-terminal --window-with-profile="armitage" --geometry="95x45" --execute ssh armitage
     Include -X (or -Y) for tunnelling X-windows without a remote desktop,
     where appropriate.
   n. Create two new panels by right clicking on menu bar.  Use autohide.
   o. BibleTime.
     Will create ~/.sword directory to install Bible texts.
     Many modern bibles like NIV are not available (probably copyright
     issues).  Can install LXX and KJV for starters.
     On OpenSuSE 11.1, the icon is missing from the applications.  Create
     Launcher to make a new one.  Automatically populates with the correct
     BibleTime icon.

3. Hardware

   a. Printer - Canon PIXMA MP830

   Turn on printer.
   Leave line blank and search for drivers to get all.
   Chose one of the drivers (e.g. Canon PIXMA MP830...Gutenprint/simple).
   Limited to 600x600 resolution.

4. Database Configuration
 This assumes a basic database configuration for development on a single
 machine.

 MySQL Configuration
   a. mysql_install_db --user=mysql to create the default MySQL system tables.
   b1. The upgrade from OpenSuSE 10.2 to 10.3 breaks mysql_upgrade and will
      cause the server to fail to start.  Delete the empty flag file
      "/var/lib/mysql/.run-mysql_upgrade".
   b2. Start MySQL with "/etc/init.d/mysql start".
   c. Create the root password.
      /usr/bin/mysqladmin -u root password 'new-password'
   d. Create a user account
      # mysql -u root -p
      grant all privileges on *.* to 'ken'@'localhost' identified by 'password' with grant option;
      Check with "mysql -p" from the ken account.
   e. PHP MySQL support.
      Install optional PHP modules (include MySQL or PGSQL for database
      support). SuSE default is no databases, not even PEAR!
   f. Restoring databases:
      i. Target machine: drop database db_name ; create database db_name;
      ii. Target machine: mysql -p db_name < sql_command_file_to_build_db.sql
          where the sql file was created with mysql_dump (see above).
   g. Use "chkconfig mysql on" to enable MySQL on startup.

 PostgreSQL Configuration
   a. /etc/init.d/postgresql start will create the database directory and start
      the PostgreSQL server.
   b. Create a user database.  e.g.
      # su -
      $ su - posgres
      $ createdb ken
      $ createuser ken
      Check with "psql ken".
   c. Restoring databases: use "pg_restore output.dat" where output.dat
      was created with pg_dumpall (see above).
   d. Use "chkconfig postgresql on" to enable PostgreSQL on startup.

5. Apache Configuration (Web Server)

 This assumes a basic web server configuration for development on a single
 machine.

   mod_include is disabled by default but it's used for the PegaSoft web site.
   a. Add "Options +Includes" in default-server.conf in the  tag
      in place of "Options None".
   b. Uncomment "AddType text/html .shtml" in mod_mime-defaults.conf
   c. Uncomment "AddOutputFilter INCLUDES .shtml" in mod_mime-defaults.conf
   d. Change .shtml to .html in these two statements since all .html files
      are to be processed by mod_include
   e. Start Apache with /etc/init.d/apache2 start.  To make Apache run on
      boot, use "chkconfig apache2 on" to enable Apache on startup.

6. Firewall Configuration

  Set the firewall to "external zone" for best protection but opened
  SSH, aMule and Azureus ports.

  TCP 6881 (bit torrent)  8088 (music server) 4662 (amule)
  UDP 6881 (bit torrent) 4672 (amule)

7. SSH setup

   Add "ClientAliveInterval 300" to the /etc/sshd configuration file to keep
   connections from timing out.

/etc/bash.bashrc.local:

# Ken was here --------------------------------------------------------------

# CVS repository string

export CVSROOT="/home/repository/cvs"

# Shell colours

export LS_COLORS="$LS_COLORS""*.dio=00;35:*.ali=00;31:*.o=00;31:*.html=00;33:*.php=00;35"

# Shell prompt

if [ "$LOGNAME" = "root" ] ; then
   PS1='\n\w\n\u@\h \['`/usr/bin/tput smso`'\]#\['`/usr/bin/tput sgr0`'\] ' ; export PS1
else
   PS1='\n\w\n\u@\h \['`/usr/bin/tput smso`'\]$\['`/usr/bin/tput sgr0`'\] ' ; export PS1
fi

Likewise, ssh known_host keys will have changed.  Delete them on the other
machines so they can be re-registered.


8. Restore /root files.
   Login as root and restore root's home directory (/root) using
   tar xfvz root.tgz --keep-newer-files

   Restore the root cron backup scripts with crontab "root.cron" (or whatever
   you saved your crontab file as).

9. Remote Audio Streaming with Icecast and IceS
Icecast is the front-end that accepts listeners and gathers statistics.  IceS
is the audio server that supplies music to icecast.  Normally, icecast would
run on a firewall and ices on your computer but if you're the only one listening
then it doesn't matter.  (http://www.icecast.org)

ices version 0.4 produces MP3 streams (2.x does Ogg streams but doesn't seem
to read MP3 files??)

Download sources.  Install the following development files with YaST:
libshout-devel - Audio streaming
lamemp3-devel - MP3 music files input support


./configure --without-flac

find music directory -name "*.mp3" -print > /root/ices.playlist.txt

Edit /etc/icecast.xml and change the passwords.  You can also change the
port as required by your firewall.

Start icecast
   nohup icecast -c /etc/icecast.xml &

Test with a web browser to localhost:icecastport/admin/stats.xml

Run ices:
   ices -v -b 128 -R -F /root/ices.playlist.txt -p 8088 -P 
   Port is the same port as defined in icecast.conf.
   Password is the same password as defined in icecast.conf
   Try listing in with a music player (e.g. xmms) directed at
http://localhost:8088/ices

   Add IP Masquerading in your firewall to forward port 8088 to your icecast
   computer.  This allows you to connect to icecast from the Internet.

   Or create a script file to run icecast and ices with nohup, or set them
   up in boot.local.  e.g.

   nohup icecast -c /etc/icecast.xml &
   nohup ices -b 128 -R -F /root/ices.playlist.txt -p 8088 -P pswd
      -r -g "Mixed Genre" -d "Ken's Personal Music " -n "Ken Radio"
      -s > /var/log/ices.log &

10. Compiling MAME from sources

   XMAME has been replaced by SDL mame.
   Get the sources from http://rbelmont.mameworld.info/?page_id=163
   Install MESA if necessary (I have ATI OpenGL drivers.)
   Comment out src/emu/eminline.h 347-349 and rest of #ifdef (source code bug for 64-bit machines)...but errors out in the drivers?
   src/emu/sound/ymf271.c line 1610: add
   plfo[1] = 0;
   plfo[2] = 0;
   plfo[3] = 0;

   make with -j3 for dual core, PTR64 for 64 bit.  Use nice as this will
   take a while and will hog your computer.
   nice make -j3 PTR64=1
   There is no make install.  Copy the contents to a suitable location
   such as /usr/local/mame or /opt/sdlmame.

Read More:  OpenSuSE 11 Installation Notes --> 

Read More:  Return to the Tutorial Index --> 

 
     

« Truth Humility Communication Nobility Freedom Purity Excellence Right Support Courage Compassion Quality Honesty Trust Cooperation Challenge Education »
PegaSoft Canada - A Linux Association Since 1994