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.2 on a home computer.
OPENSUSE 11.2 INSTALLATION NOTES
I originally used a LVM install but when the Lenovo recovery disc program
tried to delete the recovery partition on Windows, it destroyed my Linux
LVM drives. OpenSuSE would not reinstall until I went in with the OpenSuSE
Recovery / Expert Tools and manually deleted all LVM partitions and created
new simple partitions. Even then, the OpenSuSE install would not install
an LVM installation again due to errors. I was forced to do a basic
partition install.
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. For RAID suggestions,
view my 11.1 install.
Once you get to the basic desktop, configure your hostname and domain in
Yast/Network Configuration. In Control Panel / Screensaver (and Power
Management ie. by clicking that button in the Screesaver window), change the
default from an annoying 5 minutes to something greater so you can monitor
the install more easily. Change any Compriz effects you desire in Control
Panel / Desktop Effects (e.g. animations). Configure Yast / NTP for
a server (e.g. time.nrc.ca).
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 PHP, openoffice, mono, games, videolan,
packman, main repo contrib . Import the new keys. Also add the OpenSuSE
OSS/non-OSS repositories and disable your disk so everything can be
downloaded.
I tried the Mozilla repository but it gave me a broken Firefox so I
removed it and reverted Firefox to the standard OpenSuSE edition.
Run online update and reboot after it is complete.
On the desktop, create a left toolbar and add common apps to it. Autohide
doesn't work well in this version of OpenSuSE (the boarder is too narrow to
grab easily with the mouse).
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. May also want pico.
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
iotop - top for io performance
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
git - newer source control
zoo - an old compression program
tidy - HTML testing tool
bsh - bean shell (why not?)
zoo - an old compression program
p7zip - 7-zip compression program
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
acroread - Adobe Acrobat PDF reader
wxWidgets - used by some desktop programs
openal-soft
openal-soft-devel - if you want to try for rss-glx
gnucash (already installed) - never use it but...
flash-player (already installed)
pidgin (gaim) (already installed) - messenging program
amule - Peer-to-Peer file sharing on the edonkey network
Frostwire - GNUtella client
vuze (azureus) - popular, easy to use (if slow) bit torrent client
MozillaThunderbird - an email program (if you get tired of Evolution)
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"
winff - video converter, useful in conjunction with xvidcap
xvidcap - video capture of desktop
ImageMagick-extra - additional features for ImageMagic
desktop-data-openSUSE-extra
gnome-themes-extras - extra stuff for gnome
gnome-backgrounds
gnome-colors-icon-theme
sonar-icon-theme
gnome-menus-editor
(abiword, if desired)
Bluetooth or palm sync tools if you need them.
e.g. bluez-gnome
Misc. Applications
bibletime - from "education" - online bible reader for publically
available bibles. alternatively xiphon (?) for gnome
games: ufo2000, ufoai, torcs, smc, xarchon crossfire/client
gnome: anjuta, conglomerate, ghex, gnome-applets-brightness (laptops),
gnome-panel-extras, memprof sound-juicer
dvd programs: devede, chaplin, acetoneiso, dvdinfo
fonts: sgi-fonts
laptop: powertop, laptop-mode-tools
"3D" programs: blender, java3d, opencity
whatever "mp3" programs looked interesting (cmus, 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).
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)
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
easytag
xmms - simple winamp-style music player
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)
mgdiff - file comparer
g. Web Developer Tools
amaya - web browser for testing page standards
quanta - KDE's web development suite
php5 - web page embedded scripting language
php5-mysql - MySQL support for PHP
php5-pgsql - Postgres support for PHP
php5-gd - graphics
php5-gettext
php5-mbstring
php5-pear
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 - run Adobe Flash developer environment or
Internet Explorer to test your web pages under Linux
blender - 3D graphics
jpeg - the official jpeg tools
openjpeg - jpeg 2000 library
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
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)
Now installed automatically.
b. Avant (OS X -like application bar)
Missing libawn0...install separately through yast
Start with more apps / utils / avant navigator
However, Doc preferences menu seems to be missing when you right-click?
Add Avant to the Gnome control panel sessions tool: settings / system
c. gDesklets
Start with more 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.
Appears to be a Python 2.6 problem, fails to load tile stuff.
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.
User Domain = pegasoft.ca
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
Install any Google/Linux software you want, like Picassa or GoogleEarth.
http://earth.google.com/download-earth.html
As root, sh GoogleEarthLinux.bin
blank? perhaps not compatible with compriz window manager?
http://picasa.google.com/linux/download.html
libsane was installed but sane-backends-32bit (scanner library), lsb needed.
http://www.google.com/chrome/index.html
Chrome web browser.
h. Skype (Chat Program)
Skype from http://www.skype.com/download/skype/linux/
For 64-bit systems like mine, install xorg-libxv-32bit, libqt4-32-bit,
libqt4-x11-32bit.
yast --install ./skype-2.1....i586.rpm
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
Run winetricks to install fonts, gecko, directx, microsoft basic dll's
and Internet Explorer 6. You will be prompted for various licenses,
etc.
It also runs from the icon on desktop.
Normally downloaded from the Packman site, PlayOnLinux (Windows Game
Support for SuSE) is not available for opensuse 11.2. However, it's
written in portable Python: just download and install the generic
version of from the PlayOnLinux home page and unpack it (as root)
under /usr/local.
Create a launcher for "/usr/bin/wine iexplore" to start IE 6.
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.)
Run with /noinstall?
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.
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.
![[Navigation Bar]](../art/nav_bar_head2.png)