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.4 on a home computer.
OPENSUSE 11.4 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 OpenSuSE Install
OpenSuSE 11.3 had a broken network manager for wireless connections.
I was hopeful to gain wireless access again with 11.4.
You have the option of a LVM partition install. For RAID suggestions,
view my 11.1 install. For my laptop, I used a non-LVM, non-RAID install.
This install assumes you chose a Gnome desktop (as opposed to KDE or
another desktop standard).
Once you get to the basic desktop, configure your hostname and domain in
Yast/Network Settings 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 Gnome Apps, Education, Games, Packman,
main repo contrib . Import the new keys.
Run online update to get the latest basic patches and reboot after it is
complete.
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
bsd-games - includes your daily message with fortune (now hypenated)
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++ - (already there?) the old standard, again, not installed on SuSE by default
gcc-fortran - (already there?) why not?
gcc-objc - (already there?) why not?
java...-openjdk-devel - that is, Sun's Java development tools (the SDK)
ruby - (already there?) I don't use it but it's good to have it around
cvs - (already there?) 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?)
scala - if desired
groovy - must be downloaded separately
unpack in /usr/local
ln -s your groovy dir groovy
Add to /etc/profile.local: export PATH="$PATH"":/usr/local/groovy/bin"
d. Your Desktop
avant-window-navigator & extra applets - 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
openal-soft-devel - for rss-glx below
*realplayer - absent
pidgin (gaim) (already installed) - messenging program
kino - video editor - is back (absent in 11.2)
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)
Thundebird-lightning - calendar program
- error installing
celestia - cool 3D space exploration program
Scribus - desktop publishing
opera - popular web browser, useful to check your web development work
unison - computer file synchronization tool (keep your laptop up-to-date)
*winff - video converter
xvidcap - video capture of desktop
Bluetooth or palm sync tools if you need them.
Misc. Applications
bibletime - from "education" - online bible reader for publically
available bibles. alternatively xiphon (?) for gnome
games: *ufo2000, ufoai, torcs, smc, xarchon (missing), crossfire/client,
gnome-video-arcade
gnome: anjuta, conglomerate, ghex, gnome-applets-brightness (laptops),
gnome-panel-extras, memprof sound-juicer, compiz-plugins-extra,
compizconfig-settings-manager, desktop-data-openSUSE-extra,
gos-wallpapers
dvd programs: devede, *chaplin, *acetoneiso, dvdinfo
fonts: sgi-fonts
laptop: powertop, laptop-mode-tools
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
liboil
gstreamer010 (packman version)
totem (already installed)
totem-browser-plugin (already installed)
libdvdcss - if it is legal in your country
must be installed manually now
http://download.videolan.org/pub/libdvdcss/last/
# 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 (absent) - another sound editor with different features
cmus - text-based music player
easytag
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 - No longer in Yast, download from
www.eclipse.org/downloads/
unpack in /usr/local
change file ownership to root:users for all files and directories
add eclipse to /etc/profile.local: export PATH="$PATH"":/usr/local/eclipse"
see more at bottom
kdevelop4 - Linux's most popular development environment
jogl - 3D Java library to make OpenGL applications
esvn - desktop interface to Subversion
mysql-community-server/client - the MySQL database (server)
postgresql - MySQL's chief rival - client
postgresql-server - the PostgreSQL database (server)
g. Web Developer Tools
amaya - web browser for testing page standards
flash tools (for work)
quanta - KDE's web development suite. When you run Quanta, you may be
prompted for additional packages like Kompare, KFileReplace,
KXSLDbg, KImageMapEditor, KLinkStatus and Cervisia.
kompozer - another 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
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 (already 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*
2. Desktop Setup
Note: if you are adding side panel bars, be aware that the 3D desktop
settings overwrite the autohide feature so you won't be able to access
your icons. To avoid this, use 3D desktop with show hide buttons
instead of autohide as a workaround. Alternatively, go to
Control Panel / desktop effects /edges and disable left/right edges.
You may also want to enable shift-switcher initiate on the upper-right
corner, if you like this application select feature from 11.2.
If you like green, the Sonar theme looks good.
a. Avant (OS X -like application bar)
Start with more apps / utils / avant navigator
Add Avant to the Gnome control panel sessions tool: Control Center /
Startup Applications.
b. 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 Control Center / Startup Applications.
c. 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) = your server
Inbox Path = {your server/ssl/user=ken}INBOX
Enter setup / signature. Read conf/signature.txt as the signature.
User Domain = your domain, e.g. pegasoft.ca
f. Firefox web browser
Install Noia, Web Developer, Firebug, Httpfox, Venkman and Sage.
If you have an old /home, Firefox should still work with all your installed
themes and extensions.
g. ssh keys
$ ssh-keygen -t rsa
h. Google software
Install any Google/Linux software you want, like Picassa or GoogleEarth.
http://earth.google.com/download-earth.html
Download 64-bit RPM for OpenSuSE.
(The next time you run Yast you'll be prompted for Google's key.)
Picassa photo software.
http://picasa.google.com/linux/download.html
Download the SuSE RPM
Chrome web browser.
http://www.google.com/chrome/index.html
However, chromium (the open source version of chrome) is available
in YaST, so I installed that instead.
i. Skype (Chat Program)
Skype from http://www.skype.com/download/skype/linux/
For 64-bit systems like mine, install libpng12-0-32bit, libqt4-x11-32bit,
org-x11-libXv-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.
j. Wine, IE7 and uTorrent (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 winecfg and ensure sound config works.
Run winetricks to install Core fonts, gecko, Internet Explorer 7,
uTorrent and set Windows version to Vista. You may be prompted for
various licenses, etc. "Doesn't support 64-bit architecture."
Create a desktop launcher for the paths given by winetricks. e.g.:
wine 'C:Program Files\Internet Explorer\iexplore'
Winetricks reported an error with utorrent. You can still download
utorrent yourself and run it with the wine command and "/noinstall".
PlayOnLinux, the Wine game configurer, is similar to winetricks.
However, it is no longer on the Packman
site and doesn't work with OpenSuSE 11.3. It appears to go into
an infinite loop. (The site links to Packman for the OpenSuSE
download, which is obsolete.) However, if they
get it working, 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. Then create a laucher to
/usr/local/playonlinux/playonlinux.
You Don't Know Jack installs and runs perfectly.
Winamp installs and plays--use classic skin as modern skin doesn't
refresh properly or show the songs in the task bar.
k. Silkroad Online and Runes of Magic (Multiplayer Online Games)
Silkroad and RoM should run on Linux, though you may want to switch
to a non-3D desktop for better gaming performance. I didn't install
them this time around. However, just download the installers and run
with wine to install.
l. Mu torrent (Bit Torrent Program)
See part i and winetricks.
m. BibleTime.
Install sword (libsword) separately.
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.
b. Ramdisk /tmp
Add to /etc/fstab
none /tmp tmpfs noexec,nosuid,nodev 1 2
Add option size=xM to set the size to x megabytes
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.
b. Start MySQL with "/etc/init.d/mysql start".
/etc/init.d/mysql start warning -- can't get hostnames but hostname
shows for localhost login?
c. Create the root password.
/usr/bin/mysqladmin -u root password 'new-password'
d. /usr/bin/mysql_secure_installation
e. Create a user account
grant all privileges on *.* to 'ken'@'localhost' identified by 'password' with grant option;
Check with "mysql -p" from the ken account.
f. PHP MySQL support.
Install optional PHP modules (include MySQL or PGSQL for database
support).
g. 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).
h. 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. Open Essential Firewall Ports
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.
Change prompt and global variables in /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
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
Not yet complete. Assuming it's the same as in my OpenSuSE 11.2 notes.
10. Eclipse
Download eclipse and unpack in /usr/local (i.e. so there is /usr/local/eclipse).
Add /usr/local/eclipse to your path.
![[Navigation Bar]](../art/nav_bar_head2.png)