[Navigation Bar]  
 
 

    

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

 My personal notes on installing Novell OpenSuSE 10.3 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 10.3 on a home computer.

OPENSUSE 10.3 INSTALLATION NOTES

0. Before You Begin
   If you are upgrading or replacing another Linux system:
   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.

1. Basic install OpenSuSE 10.2.
   OpenSuSE 10.3 will not install on a Linux software RAID partition!  The
   boot loader doesn't recognize these partitions.   I use RAID 0 partitions
   for /usr and /home.  The only solution I have found is to install a minimal
   version of OpenSuSE 10.2 first (which does support RAID partitions).  When
   you upgrade to OpenSuSE 10.3, you should still be able to use these
   partitions.

2. Do basic OpenSuSE 10.3 upgrade.
   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 OpenSuSE 10.3 kernel has SMP
   (Symmetric Multi-Processing) enabled so your dual core chips will be
   recognized.  Don't install bigsmp for a home system...this will cause
   incompatibilities with some software.  For the initial upgrade, I
   didn't add any third-party repositories like ati or packman in the hopes
   of minimizing conflicts during the initial install.  Still you will get
   conflicts around the zmd (Novell's ZENworks management agent).
   Carefully work around zmd dependencies and drop other conflicted software
   like imagemagik since you will be able to add them again later.
   Both imagemagik and zmd will sort themselves out during the rest of the
   install process.
      After booting, I made my NTFS and VFAT partitions readable by every
   account by putting the option "umask=0222" into /etc/fstab.  For the
   shared VFAT partition (/dosf in my case, the F: drive), make it
   writable with "umask="0000".  For some reason, /dose and /dosg got
   mounted backwards.  Either I wrote them down wrong or the drive letters
   changed in Windows (which can happen with hardware changes).

3. Installing applications.
   Run YAST and add the ati, packman and GNOME:STABLE repositories.  Now you
   can install the rest of the applications you want. ati is required for the
   ATI 3D graphics drivers.  There are, of course, more applications than
   anyone could possible use or try out.

   a. Command Line Applications
      pine - 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.
      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 login messages with the "fortune" program

   b. Command Line Development Tools
      gcc-ada - the software engineering language used in aerospace industry
             (and my open source projects), 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

   c. To Build From Sources
      x11-devel - already installed
      gtk-devel - for gtk_config script
      freeglut-devel - for OpenGL applications
      whatever other "devel" packages that look useful
      Other devel packages are mentioned below as they are required.

   d. Your Desktop
      acroread - Adobe Acrobat PDF reader
      wxWidgets - used by some desktop programs
      gnucash (already installed) - never use it but...
      flash (already installed)
      realplayer (already installed)
      pidgin (gaim) (already installed) - messenging program
      kino (already installed) - video editor
      amule - Peer-to-Peer file sharing on the edonkey network
      azureus - popular, easy to use (if slow) bit torrent client
      MozillaThunderbird - an email program (if you get tired of Evolution)
      MozillaSunbird - a calendar program - never use it but it's free
      celestia - cool 3D space exploration program
      taskjuggler - project management software
      bibletime - bible study tool
      Scribus - desktop publishing
      unison - computer file synchronization tool (keep your laptop up-to-date)
      Bluetooth or palm sync tools if you need them.
      whatever "game" games looked interesting - xarchon
      whatever "gnome" applets looked interesting
      whatever "dvd" programs looked interesting
      whatever "3D" programs looked interesting
      whatever "mp3" programs looked interesting (mp3blaster, easytag)
      whatever "fonts" are applicable (e.g. sgi-fonts)

   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).
      To select an alternate repository, select the versions tab in yast
      software management tool and select packman version and then select
      upgrade in the yast list to replace the current software with the
      packman version.  Read http://en.opensuse.org/Restricted_Formats for more
      information on these restricted formats and why they are not included.
      w32codec-all - http://opensuse-community.org/Multimedia has a link to
      install w32codec-all
      liboil (packman version)
      gstreamer010 (packman version)
      gstreamer-ffmpeg (packman version)
      totem (packman version)
      totem-plugin (packman version)
      libdvdcss (packman) - if it is legal in your country
      kaffeine plus mozilla plug-in (packman) - watch DVDs
      kaffeine-gstreamer (packman) - gstreamer support for kaffeine
      audacity - popular sound editor (e.g. for making podcasts)
      ardour2 - another sound editor
      traverso - another sound editor with different features
      icecast - stream your music files to listen away from home
      I built xmms from sources. (see below)

   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
      kdevelop4 - 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 - the Apache web server
      tomcat55 (for java)
      opera - popular web browser, useful to check your web development work
      wine and 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
      mysql-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*

  i. OpenSuSE Problem Software
      anjuta - not installed due to conflicts under OpenSuSE 10.3
      rss-glx - errors on ./configure, not built
         openal-devel - installed for rss-glx below
      3D Desktop - http://en.opensuse.org/Compiz_Fusion. Click appropriate
      button to install.  However, never finished getting it running.

  j. Amaya
      Amaya is the W3C's web browser.  It is useful for testing web pages
      for standards compatibility. Download and build from sources amaya.
      cd Amaya
      mkdir linux
      cd linux
      ../configure and follow the instructions
      Running as non-root I get a GTK assertion failure which seems tied to
     wxWidgets:

(amaya_bin:15074): Gtk-CRITICAL **: gtk_widget_set_colormap: assertion `!GTK_WIDGET_REALIZED (widget)' failed

      Amaya runs with no error under root.

  k. Skype
      skype is eBay's instant messenger service with phone support.
      Skype production version did not install, perhaps because I'm on an x86_64
      computer.  Go to
      http://www.skype.com/intl/en/download/skype/linux/beta/ and
      download the static beta version.  Follow the instructions on where to move
      the files and directories.  Create a lanucher by right-clicking the desktop
      and using an icon from the Skype icon folder.

  l. Crossfire
      Crossfire is a 2D massive multiplayer fantasy game.
      Go to the web site and download the rpms and install with yast --install.
      Installed nothing but docs?
      Built it from sources.

  m. Wine
      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 & quit to set default directories
       ii. Read 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
      You'll be 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

  n. XMMS
      xmms - WinAmp-like music player.  Perhaps a bit old-fashioned but I
             find all that helix banshee crud to be distracting and a pain.
      Since my drives were labeled backwards, this rebuild may not have been
      necessary.
      Build it from sources with ./configure --bindir="/usr/bin"

4.  Networking and Firewall Setup
For some reason, network card was set to DHCP even though I thought it
was set to static during the install.  Set it to static through the
control panel.

Updated resolv.conf with the correct DNS information:

search pegasoft.ca
nameserver my firewall IP
nameserver my ISP's primary DNS IP
nameserver my ISP's secondary DNS IP

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

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

Likewise, ssh known_host keys will have changed.  Update them on the
remote computer so you can use ssh.

5. Firefox Configuration
  If you have an old /home, Firefox should still work with all your installed
  themes and extensions.

6. Bash and CVS Setup
   Copied conf/bashrc to /etc/bash.bashrc.local for new CVSROOT, LS_COLORS
   and PS1 prompt.  If you're using CVS, create the CVS repository as well.


# 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 PS1='\n\w\n\u@\h \['`/usr/bin/tput smso`'\]$\['`/usr/bin/tput sgr0`'\] ' ; export PS1
6. 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). 7. Compiling XMAME from sources XMAME is a coin operated video game emulation system for X Windows. a. Create a Makefile from the proper makefile. b. Change makefile for: i. X11LIB = -L/usr/X11R6/lib64/ ii. LIBS = -L/usr/X11R6/lib64 -L/usr/local/lib c. make (this will take a long time) d. make install e. compile gxmame from sources. f. fix the xmame executable path if necessary. g. deselect and reselect usb ps joypad to re-enable it if there is a joystick error 8. Desktop Setup Check for anything desktop items that you need to setup (e.g. terminal launchers or other custom setup.) Bibletime does not appear in the applications list but the executable is /opt/kde3/bin/bibletime and the icon file is /opt/kde3/share/icons/hicolor/32x32/apps/bibletime.png Make sure you change the preferences to not manditory or the online update could start and lock up your install system (especially if it's looking for your install disk and can't find it). 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. (icecast.org) It's not hard to set up...except for the overly-complicated XML files and confusing documentation. Perhaps some of this comes from its shoutcast ancestry. For example, a "mount point" refers to the name on a URL: http://myurl.org/music, "/music" is the "mount point". The documentation never clearly points this out even though this is a misuse of the term "mount point" that will confuse even technical people. 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 vorbis-devel - .ogg file input support (already installed) lame-devel - MP3 music files input support flac-devel - FLAC music files input support faad-devel - AAC music files input support FLAC errored (probably a newer library) but I don't need it so disabled it with ./configure --without-flac find /dosg/Music -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 icecast port -P password 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:icecast port/ices Add IP Masquerading in your firewall to forward port icecast port 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 icecast port -P password -r -g "Mixed Genre" -d "Ken's Personal Music " -n "Ken Radio" -s > /var/log/ices.log & Ideally need to look for aac source feeder (libfaac support). e.g. Dark Ice at darkice.tyrell.hu (mp2, mp3, ogg, aac). Note: dark ice plays off a sound card (/dev/dsp). How can a playlist be used? 10. 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' # /usr/bin/mysqladmin -u root -h rosette.pegasoft.ca password 'new-password' THIS FAILED WITH "NOT ALLOWED TO CONNECT". Not quite sure--probably /etc/my.cnf has network access disabled by default for security reasons, even though this is non-standard. I don't need remote access right now. 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. 11. Apache Configuration 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 <Directory> 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. Unsolved Problems: Logging into a regular Gnome session fails on an xim error. Logging in a failsafe session works.

Read More:  The Perfect OpenSuSE Firewall Setup --> 

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