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.
![[Navigation Bar]](../art/nav_bar_head2.png)