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.0 on a home computer.
OPENSUSE 11 INSTALLATION NOTES
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 OpenSuSE 11.
For me, the installer recommended blowing away an existing partition and
replacing it with an extended partition instead of using the existing
partitions. Select the advanced option to configure your own partitions.
Restore the partition to a primary partition and delete the two new
partitions. Make sure it doesn't format /home or you'll lose all your
stuff backed up there.
Unlike OpenSuSE 10.3, OpenSuSE 11 successfully recognizes my RAID 0
partitions for /usr and /home. Hurray!
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: ATI (if you have an ATI card), packman
third-party site. You can select all the repositories if you wish,
though this will slow down software updates.
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 small VFAT partition to copy files
to and from the Windows side of my machine.
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.
2. Installing applications.
After completing the basic install, login and and run YAST. Now you
can install the rest of the applications you want. There are, of course,
more applications than anyone could possible use or try out. The following
are some of my suggestions.
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 daily message with fortune
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
c. To Build Software From Sources
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 (don't work in safe mode?)
gdesklets - for floating news and weather applets (don't work in safe mode?)
acroread - Adobe Acrobat PDF reader
wxWidgets - used by some desktop programs
openal-devel - for rss-glx below
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
Scribus - desktop publishing
opera - web browser
unison - computer file synchronization tool (keep your laptop up-to-date)
rss-glx - 3D screensavers now available for OpenSuSE
Bluetooth or palm sync tools if you need them.
whatever "game" games looked interesting - xarchon, BASS, smc, uqm,
ufoai, torcs are popular ones.
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). 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 (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 (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
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
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
tomcat55 (for java) - application server
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*
build - Shell script to build OpenSuSE RPMs
-pgport???
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.
Amaya errored when trying to build it (x86_64 assembly language errors)?
k. Skype
Skype from http://www.skype.com/download/skype/linux/ Failed to install:
wanted qt-core/dbus/gui/network. This is a 64-bit issue. Install
libqt4-32-bit, libt4-x11
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. 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
3. 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:
search pegasoft.ca
nameserver <FIREWALL>
nameserver 216.58.97.21
nameserver 216.58.97.20
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)
Likewise, ssh known_host keys will have changed. Update them on the
remote computer so you can use ssh.
5. 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 seems to be superceded by sdlmame. I haven't tried installing it yet.
8. Desktop Setup
a. Compriz
One-click install:
http://en.opensuse.org/ATI
aticonfig --initial
ctrl-alt-del twice to restart
b. Avant (OS X -like application bar)
start with more apps / utils / avant navigator
right-click and set preferences
settings / system /sessions / startup - add avant-window-navigator
c. gDesklets
start with more apps / utils / gdesklets
add the desklets you want
add more desklets from http://www.gdesklets.de/?q=desklet/browse
does it need to be a startup program? like avant? didn't start?
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) = MAILSERVER
Inbox Path = {MAILSERVER/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 session tool.
f. Firefox web browser
Add noia theme. Add sage, webdeveloper toolbar.
g. Google software
Still any Google/Linux software you want, like Picassa or GoogleEarth.
http://earth.google.com/download-earth.html
http://picasa.google.com/linux/download.html
g. Launchers
Check for anything you need to redo (e.g. terminal launchers for SSH
sessions or other custom setup.)
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)
Download sources. Install the following development files with YaST:
libshout-devel - Audio streaming
lame-devel - MP3 music files input support
./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 8088 -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: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. 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.
12. SSH setup
Add "ClientAliveInterval 300" to the /etc/sshd configuration file to keep
connections from timing out.
13. Fixing the Sound
These are the steps I did. Your mileage may vary.
no sound - suse 11 uses pulseaudio (buggy) instead of esound
Add ken to audio (not selected by default)? No effect.
Pulse audo plugin for ALSA? Nope. Does Gnome default to ALSA/ESD?
http://en.opensuse.org/SDB:AudioTroubleshooting
http://en.opensuse.org/Pulseaudio
set speakers to stereo in pulseaudio tool but still no sound
install alsa-firmware
install audacious...pulse, aud..skins, xmms-pulse
(Not tried) Mixer fix to remove pulse audio:
http://software.opensuse.org/ymp/home:Zaitor/
openSUSE_11.0/gnome-applets.ymp
Someone reported that esound in OpenSuse 11 is not the esound software but a
PulseAudio esound compatibility module
Getting failed to connect. Checking logs: failed to create /tmp/pulse-ben
This was caused by changing my username from ken to kenold. pulseaudio didn't
clean up it's temp files leaving pulse-ken still owned by kenold. Had to
chown -R ken the directory.
No more errors, programs work but no sound coming from speakers.
Run alsamixer to enable to master volume.
Run alsaconfig to re-detect the sound card and rebooted. Then I had sound.
14. Fixing Bootloader List
Had two dummy entries in boot loader...not sure why. Edit boot loader
list with yast / system / boot loader and remove dummy entries.
15. Microsoft-type Fonts
Microsoft-type fonts are available from
ftp://ftp.gwdg.de/pub/linux/misc/suser-jengelh/
AnyDistro/noarch/MicrosoftFonts-1-jen14.noarch.rpm. But conflicts with other fonts! So I left them out.
16. Other Files
http://fretsonfire.sourceforge.net/LibSDL-1.2 missing from tar file? Adding /usr/lib64 to find OpenSuSE 11's libSDL gives wrong version error.
Bibletime is not available for OpenSuSE 11. See Sourceforge for RPM's. This
seems to be because it hasn't been ported to KDE 4. You might be able to build
it from sources or use the OpenSuSE 10.3 version.
![[Navigation Bar]](../art/nav_bar_head2.png)