diff --git a/en_US.ISO8859-1/books/handbook/desktop/chapter.sgml b/en_US.ISO8859-1/books/handbook/desktop/chapter.sgml
index 2dcdaee9b0..e8cd64dd8d 100644
--- a/en_US.ISO8859-1/books/handbook/desktop/chapter.sgml
+++ b/en_US.ISO8859-1/books/handbook/desktop/chapter.sgml
@@ -1,1117 +1,1117 @@
ChristopheJunietContributed by Desktop ApplicationsSynopsisFreeBSD can run a wide variety of desktop applications, such
as browsers and word processors. Most of these are available as
packages or can be automatically built from the ports
collection. Many new users expect to find these kinds of
applications on their desktop. This chapter will show you how
to install some popular desktop applications effortlessly,
either from their packages or from the Ports Collection.Note that when installing programs from the ports, they are
compiled from source. This can take a very long time, depending
on what you are compiling and the processing power of your
machine(s). If building from source takes a prohibitively long
amount of time for you, you can install most of the programs of
the Ports Collection from pre-built packages.As FreeBSD features Linux binary compatibility, many
applications originally developed for Linux are available for
your desktop. It is strongly recommended that you read
before installing any of the Linux
applications. Many of the ports using the Linux binary
compatibility start with linux-. Remember this
when you search for a particular port, for instance with
&man.whereis.1;. In the following text, it is assumed that you
have enabled Linux binary compatibility before installing any of
the Linux applications.Here are the categories covered by this chapter:Browsers (such as Firefox,
Opera,
Konqueror)Productivity (such as
KOffice,
AbiWord,
The GIMP,
OpenOffice.org)Document Viewers (such as &acrobat.reader;,
gv,
Xpdf,
GQview)Finance (such as
GnuCash,
Gnumeric,
Abacus)Before reading this chapter, you should:Know how to install additional third-party software
().Know how to install additional Linux software
().For information on how to get a multimedia environment, read
. If you want to set up and use
electronic mail, please refer to .BrowsersbrowserswebFreeBSD does not come with a particular browser
pre-installed. Instead, the
www
directory of the Ports Collection contains a lot of browsers
ready to be installed. If you do not have time to compile
everything (this can take a very long time in some cases) many
of them are available as packages.KDE and
GNOME already provide HTML browsers.
Please refer to for more information on
how to set up these complete desktops.If you are looking for light-weight browsers, you should
investigate the Ports Collection for
www/dillo,
www/links, or
www/w3m.This section covers these applications:Application NameResources NeededInstallation from PortsMajor DependenciesFirefoxmediumheavyGtk+OperalightlightFreeBSD and Linux versions available. The Linux
version depends on the Linux Binary Compatibility and
linux-openmotif.KonquerormediumheavyKDE LibrariesFirefoxFirefoxFirefox is a modern, free,
open-source stable browser that is fully ported to &os;: it
features a very standards-compliant HTML display engine,
tabbed browsing, popup blocking, extensions, improved
security, and more. Firefox is
based on the Mozilla
codebase.Install the package by typing:&prompt.root; pkg_add -r firefoxThis will install Firefox 2.X,
if you want to run Firefox 3.X,
use instead:&prompt.root; pkg_add -r firefox3You can also use the Ports Collection if you
prefer to compile from source code:&prompt.root; cd /usr/ports/www/firefox
&prompt.root; make install cleanFor Firefox 3.X, in the
previous command replace firefox with
firefox3.Firefox and &java; PluginIn this section and in the next one, we assume you have
already installed Firefox.The &os; Foundation has a license with Sun Microsystems to
distribute &os; binaries for the Java Runtime Environment
(&jre;) and Java Development Kit (&jdk;). Binary packages for
&os; are available on the &os;
Foundation web site.To add &java; support to
Firefox, you first have to install
the java/javavmwrapper port. Then,
download the Diablo &jre; package
from ,
and install it with &man.pkg.add.1;.Start your browser, enter
about:plugins in the location bar and press
Enter. A page listing the installed plugins
will be displayed; the &java;
plugin should be listed there now. If it is not, as
root, run the following command:&prompt.root; ln -s /usr/local/diablo-jre1.6.0/plugin/i386/ns7/libjavaplugin_oji.so \
/usr/local/lib/browser_plugins/Then relaunch your browser.Firefox and ¯omedia; &flash; PluginFlash¯omedia; &flash; plugin is not available for &os;. However,
a software layer (wrapper) for running the Linux version of the plugin
exists. This wrapper also supports &adobe; &acrobat; plugin,
&realplayer; plugin and more.The following text covers the installation of &flash;
9.X on recent -STABLE branch, &os; 7.1-RELEASE and above.
If you run an older version of &os; or encounter issues, you
should install www/linux-flashplugin7 and skip
the &man.linprocfs.5; part.Install the www/nspluginwrapper
port. This port requires
- emulators/linux_base which is a
+ emulators/linux_base-fc4 which is a
large port.The next step is to install the www/linux-flashplugin9 port. Once
this port is installed, the plugin must be installed by each
user with nspluginwrapper:&prompt.user; nspluginwrapper -v -a -iThe &linux; process file system, &man.linprocfs.5; has to
be mounted on /usr/compat/linux/proc, if one
wants to play &flash; animations. This can be done via the
following command:&prompt.root; mount -t linprocfs linproc /usr/compat/linux/procThis point can be automated at boot time with the addition
of the matching line in
/etc/fstab:linproc /usr/compat/linux/proc linprocfs rw 0 0Then, start your browser, enter
about:plugins in the location bar and press
Enter.
A list should appear with all the currently
available plugins.Firefox and Swfdec &flash; PluginSwfdec is the library for decoding and rendering &flash; animations.
And Swfdec-Mozilla is a plugin for Firefox
browsers that uses the Swfdec library for playing SWF files.
It is still in heavy development.If you cannot or do not want to compile it, just install
the package from the network:&prompt.root; pkg_add -r swfdec-pluginIf the package is not available, you can compile and install it
from the Ports Collection:&prompt.root; cd /usr/ports/www/swfdec-plugin
&prompt.root; make install cleanThen, restart your browser for this plugin taking effect.OperaOperaOpera is a
full-featured and standards-compliant browser. It also
comes with a built-in mail and news reader, an IRC client,
an RSS/Atom feeds reader and much more. Despite this,
Opera is relatively lightweight
and very fast. It comes in two flavors: a native
FreeBSD version and a version that runs under Linux
emulation.To browse the Web with the FreeBSD version of Opera,
install the package:&prompt.root; pkg_add -r operaSome FTP sites do not have all the packages, but
Opera can still be obtained
through the Ports Collection by typing:&prompt.root; cd /usr/ports/www/opera
&prompt.root; make install cleanTo install the Linux version of
Opera, substitute
linux-opera in place of
opera in the examples above. The Linux
version is useful in situations requiring the use of plug-ins
that are only available for Linux, such as Adobe
&acrobat.reader;. In all other respects, the
FreeBSD and Linux versions should be functionally
identical.KonquerorKonquerorKonqueror is part of
KDE but it can also be used outside
of KDE by installing
x11/kdebase3.
Konqueror is much more than a browser,
it is also a file manager and a multimedia viewer.There is also a set of plugins available for
Konqueror,
available in misc/konq-plugins.Konqueror also supports &flash;; a How To guide
for getting &flash; support on
Konqueror
is available at .ProductivityWhen it comes to productivity, new users often look for a
good office suite or a friendly word processor. While some
desktop environments like
KDE already provide an office suite,
there is no default productivity package. FreeBSD can provide all that is
needed, regardless of your desktop environment.This section covers these applications:Application NameResources NeededInstallation from PortsMajor DependenciesKOfficelightheavyKDEAbiWordlightlightGtk+ or GNOMEThe GimplightheavyGtk+OpenOffice.orgheavyhuge&jdk; 1.4, MozillaKOfficeKOfficeoffice suiteKOfficeThe KDE community has provided its desktop environment
with an office suite which can be used outside
KDE. It includes the four standard
components that can be found in other office suites.
KWord is the word processor,
KSpread is the spreadsheet program,
KPresenter manages slide
presentations, and Kontour lets you
draw graphical documents.Before installing the latest
KOffice, make sure you have an
up-to-date version of KDE.To install KOffice as a
package, issue the following command:&prompt.root; pkg_add -r kofficeIf the package is not available, you can use the ports
collection. For instance, to install
KOffice for
KDE3, do:&prompt.root; cd /usr/ports/editors/koffice-kde3
&prompt.root; make install cleanAbiWordAbiWordAbiWord is a free word
processing program similar in look and feel to µsoft; Word.
It is suitable for typing papers, letters, reports, memos, and
so forth. It is very fast, contains many features, and is
very user-friendly.AbiWord can import or export
many file formats, including some proprietary ones like
µsoft;'s .doc.AbiWord is available as a
package. You can install it by:&prompt.root; pkg_add -r abiwordIf the package is not available, it can be compiled from
the Ports Collection. The Ports Collection should be more
up to date. It can be done as follows:&prompt.root; cd /usr/ports/editors/abiword
&prompt.root; make install cleanThe GIMPThe GIMPFor image authoring or picture retouching,
The GIMP is a very sophisticated
image manipulation program. It can be used as a simple paint
program or as a quality photo retouching suite. It supports a
large number of plug-ins and features a scripting interface.
The GIMP can read and write a wide
range of file formats. It supports interfaces with scanners
and tablets.You can install the package by issuing this
command:&prompt.root; pkg_add -r gimpIf your FTP site does not have this package, you can use
the Ports Collection. The
graphics
directory of the Ports Collection also contains
The Gimp Manual. Here is how to
get them installed:&prompt.root; cd /usr/ports/graphics/gimp
&prompt.root; make install clean
&prompt.root; cd /usr/ports/graphics/gimp-manual-pdf
&prompt.root; make install cleanThe
graphics
directory of the Ports Collection holds the development
version of The GIMP in
graphics/gimp-devel.
An HTML version of
The Gimp Manual is available from
graphics/gimp-manual-html.OpenOffice.orgOpenOffice.orgoffice suiteOpenOffice.orgOpenOffice.org includes all of the
mandatory applications in a complete office productivity
suite: a word processor, a spreadsheet, a presentation manager,
and a drawing program. Its user interface is very similar
to other office suites, and it can import and export in various
popular file formats. It is available in a number of
different languages — internationalization has been
extended to interfaces, spell checkers, and
dictionaries.The word processor of
OpenOffice.org uses a native XML
file format for increased portability and flexibility. The
spreadsheet program features a macro language and it can be
interfaced with external databases.
OpenOffice.org is already stable
and runs natively on &windows;, &solaris;, Linux, FreeBSD,
and &macos; X. More
information about OpenOffice.org
can be found on the
OpenOffice.org web site.
For FreeBSD specific information, and to directly
download packages, use the FreeBSD OpenOffice.org
Porting Team's web site.To install OpenOffice.org,
do:&prompt.root; pkg_add -r openoffice.orgWhen running a -RELEASE version of &os;, this should work.
Otherwise, you should look on the &os; OpenOffice.org Porting Team's
web site to download and install the appropriate package
using &man.pkg.add.1;. Both the current release and
development version are available for download at this
location.Once the package is installed, you just have to type the
following command to run
OpenOffice.org:&prompt.user; openoffice.orgDuring the first launch, you will be asked some
questions and a .openoffice.org2 folder
will be created in your home directory.If the OpenOffice.org packages
are not available, you still have the option to compile the
port. However, you must bear in mind that it requires a lot of
disk space and a fairly long time to compile.&prompt.root; cd /usr/ports/editors/openoffice.org-2
&prompt.root; make install cleanIf you want to build a localized version, replace the
previous command line with the following:&prompt.root; make LOCALIZED_LANG=your_language install cleanYou have to replace
your_language with the correct
language ISO-code. A list of supported language codes is
available in the
files/Makefile.localized file, located
in the port directory.Once this is done,
OpenOffice.org can be launched with
the command:&prompt.user; openoffice.orgDocument ViewersSome new document formats have gained popularity since
the advent of &unix;;
the standard viewers they require may not be available in the
base system. We will see how to install such viewers in this
section.This section covers these applications:Application NameResources NeededInstallation from PortsMajor Dependencies&acrobat.reader;lightlightLinux Binary CompatibilitygvlightlightXaw3dXpdflightlightFreeTypeGQviewlightlightGtk+ or GNOME&acrobat.reader;Acrobat ReaderPDFviewingMany documents are now distributed as PDF files,
which stands for Portable Document Format. One
of the recommended viewers for these types of files is
&acrobat.reader;, released by Adobe
for Linux. As FreeBSD can run Linux binaries, it is also
available for FreeBSD.To install &acrobat.reader; 7 from
the Ports collection, do:&prompt.root; cd /usr/ports/print/acroread7
&prompt.root; make install cleanA package is not available due to licencing restrictions.gvgvPDFviewingPostScriptviewinggv is a &postscript; and PDF
viewer. It is originally based on
ghostview but it has a nicer look
thanks to the Xaw3d library. It is fast and its interface is
clean. gv has many features, such as
orientation, paper size, scale, and anti-aliasing. Almost any
operation can be done with either the keyboard or the
mouse.To install gv as a package,
do:&prompt.root; pkg_add -r gvIf you cannot get the package, you can use the Ports
collection:&prompt.root; cd /usr/ports/print/gv
&prompt.root; make install cleanXpdfXpdfPDFviewingIf you want a small FreeBSD PDF viewer,
Xpdf is a light-weight and
efficient viewer. It requires very few resources and is
very stable. It uses the standard X fonts and does not
require &motif; or any other X toolkit.To install the Xpdf package,
issue this command:&prompt.root; pkg_add -r xpdfIf the package is not available or you prefer to use the
Ports Collection, do:&prompt.root; cd /usr/ports/graphics/xpdf
&prompt.root; make install cleanOnce the installation is complete, you can launch
Xpdf and use the right mouse button
to activate the menu.GQviewGQviewGQview is an image manager.
You can view a file with a single click, launch an external
editor, get thumbnail previews, and much more. It also
features a slideshow mode and some basic file operations. You
can manage image collections and easily find duplicates.
GQview can do full screen viewing
and supports internationalization.If you want to install the
GQview package, do:&prompt.root; pkg_add -r gqviewIf the package is not available or you prefer to use the
Ports Collection, do:&prompt.root; cd /usr/ports/graphics/gqview
&prompt.root; make install cleanFinanceIf, for any reason, you would like to manage your personal
finances on your FreeBSD Desktop, there are some powerful and
easy-to-use applications ready to be installed. Some of them
are compatible with widespread file formats, such as the formats used by
Quicken and Excel to store documents.This section covers these programs:Application NameResources NeededInstallation from PortsMajor DependenciesGnuCashlightheavyGNOMEGnumericlightheavyGNOMEAbacuslightlightTcl/TkKMyMoneylightheavyKDEGnuCashGnuCashGnuCash is part of the
GNOME effort to provide
user-friendly, yet powerful, applications to end-users. With
GnuCash, you can keep track of your
income and expenses, your bank accounts, and your stocks. It
features an intuitive interface while remaining very
professional.GnuCash provides a smart
register, a hierarchical system of accounts, and many keyboard
accelerators and auto-completion methods. It can split a
single transaction into several more detailed pieces.
GnuCash can import and merge
Quicken QIF files. It also handles most international date
and currency formats.To install GnuCash on your
system, do:&prompt.root; pkg_add -r gnucashIf the package is not available, you can use the ports
collection:&prompt.root; cd /usr/ports/finance/gnucash
&prompt.root; make install cleanGnumericGnumericspreadsheetGnumericGnumeric is a spreadsheet program, part
of the GNOME desktop environment.
It features convenient automatic guessing of user
input according to the cell format with an autofill system for
many sequences. It can import files in a number of popular
formats like those of Excel, Lotus 1-2-3, or Quattro Pro.
Gnumeric supports graphs through
the math/guppi graphing
program. It has a large number of built-in functions and
allows all of the usual cell formats such as number, currency,
date, time, and much more.To install Gnumeric as a
package, do:&prompt.root; pkg_add -r gnumericIf the package is not available, you can use the ports
collection by doing:&prompt.root; cd /usr/ports/math/gnumeric
&prompt.root; make install cleanAbacusAbacusspreadsheetAbacusAbacus is a small and easy to
use spreadsheet program. It includes many built-in functions useful
in several domains such as statistics, finances, and
mathematics. It can import and export the Excel file format.
Abacus can produce &postscript;
output.To install Abacus as a
package, do:&prompt.root; pkg_add -r abacusIf the package is not available, you can use the ports
collection by doing:&prompt.root; cd /usr/ports/deskutils/abacus
&prompt.root; make install cleanKMyMoneyKMyMoneyspreadsheetKMyMoneyKMyMoney is a personal finance
manager built for KDE. KMyMoney intends to provide and
incorporate all the important features found in commercial
personal finance manager applications. It also highlights
ease-of-use and proper double-entry accounting among its
features. KMyMoney imports from standard Quicken Interchange
Format (QIF) files, tracks investments, handles multiple
currencies, and provides a wealth of reports. OFX import
capabilities are also available through a separate plugin.To install KMyMoney as a
package, do:&prompt.root; pkg_add -r kmymoney2If the package is not available, you can use the Ports
Collection by doing:&prompt.root; cd /usr/ports/finance/kmymoney2
&prompt.root; make install cleanSummaryWhile FreeBSD is popular among ISPs for its performance and
stability, it is quite ready for day-to-day use as a desktop.
With several thousand applications available as
packages or
ports,
you can build a perfect desktop that suits all your needs.Here is a quick review of all the desktop applications
covered in this chapter:Application NamePackage NamePorts NameOperaoperawww/operaFirefoxfirefoxwww/firefoxKOfficekoffice-kde3editors/koffice-kde3AbiWordabiwordeditors/abiwordThe GIMPgimpgraphics/gimpOpenOffice.orgopenofficeeditors/openoffice-1.1&acrobat.reader;acroreadprint/acroread7gvgvprint/gvXpdfxpdfgraphics/xpdfGQviewgqviewgraphics/gqviewGnuCashgnucashfinance/gnucashGnumericgnumericmath/gnumericAbacusabacusdeskutils/abacusKMyMoneykmymoney2finance/kmymoney2
diff --git a/en_US.ISO8859-1/books/handbook/linuxemu/chapter.sgml b/en_US.ISO8859-1/books/handbook/linuxemu/chapter.sgml
index cc0117b04b..60a68d2b79 100644
--- a/en_US.ISO8859-1/books/handbook/linuxemu/chapter.sgml
+++ b/en_US.ISO8859-1/books/handbook/linuxemu/chapter.sgml
@@ -1,3359 +1,3359 @@
JimMockRestructured and parts updated by Brian N.HandyOriginally contributed by RichMurpheyLinux Binary CompatibilitySynopsisLinux binary compatibilitybinary compatibilityLinuxFreeBSD provides binary compatibility with several other
&unix; like operating systems, including Linux. At this point,
you may be asking yourself why exactly, does
FreeBSD need to be able to run Linux binaries? The answer to that
question is quite simple. Many companies and developers develop
only for Linux, since it is the latest hot thing in
the computing world. That leaves the rest of us FreeBSD users
bugging these same companies and developers to put out native
FreeBSD versions of their applications. The problem is, that most
of these companies do not really realize how many people would use
their product if there were FreeBSD versions too, and most continue
to only develop for Linux. So what is a FreeBSD user to do? This
is where the Linux binary compatibility of FreeBSD comes into
play.In a nutshell, the compatibility allows FreeBSD users to run
about 90% of all Linux applications without modification. This
includes applications such as &staroffice;,
the Linux version of &netscape;,
&adobe; &acrobat;,
&realplayer;,
VMware,
&oracle;,
&wordperfect;, Doom,
Quake, and more. It is also reported
that in some situations, Linux binaries perform better on FreeBSD
than they do under Linux.There are, however, some Linux-specific operating system
features that are not supported under FreeBSD. Linux binaries will
not work on FreeBSD if they overly use &i386; specific
calls, such as enabling virtual 8086 mode.After reading this chapter, you will know:How to enable Linux binary compatibility on your system.How to install additional Linux shared
libraries.How to install Linux applications on your FreeBSD system.The implementation details of Linux compatibility in FreeBSD.Before reading this chapter, you should:Know how to install additional third-party
software ().InstallationKLD (kernel loadable object)Linux binary compatibility is not turned on by default. The
easiest way to enable this functionality is to load the
linux KLD object (Kernel LoaDable
object). You can load this module by typing the
following as root:&prompt.root; kldload linuxIf you would like Linux compatibility to always be enabled,
then you should add the following line to
/etc/rc.conf:linux_enable="YES"The &man.kldstat.8; command can be used to verify that the
KLD is loaded:&prompt.user; kldstat
Id Refs Address Size Name
1 2 0xc0100000 16bdb8 kernel
7 1 0xc24db000 d000 linux.kokernel optionsCOMPAT_LINUXIf for some reason you do not want to or cannot load the KLD,
then you may statically link Linux binary compatibility into the kernel
by adding options COMPAT_LINUX to your kernel
configuration file. Then install your new kernel as described in
.Installing Linux Runtime LibrariesLinuxinstalling Linux librariesThis can be done one of two ways, either by using the
linux_base port, or
by installing them manually.Installing Using the linux_base PortPorts CollectionThis is by far the easiest method to use when installing the
runtime libraries. It is just like installing any other port
from the Ports Collection.
Simply do the following:&prompt.root; cd /usr/ports/emulators/linux_base-fc4
&prompt.root; make install distcleanYou should now have working Linux binary compatibility.
Some programs may complain about incorrect minor versions of the
system libraries. In general, however, this does not seem to be
a problem.There may be multiple versions of the emulators/linux_base port available,
corresponding to different versions of various Linux distributions.
You should install the port most closely resembling the
requirements of the Linux applications you would like to
install.Installing Libraries ManuallyIf you do not have the ports collection
installed, you can install the libraries by hand instead. You
will need the Linux shared libraries that the program depends on
and the runtime linker. Also, you will need to create a
shadow root directory,
/compat/linux, for Linux libraries on your
FreeBSD system. Any shared libraries opened by Linux programs
run under FreeBSD will look in this tree first. So, if a Linux
program loads, for example, /lib/libc.so,
FreeBSD will first try to open
/compat/linux/lib/libc.so, and if that does
not exist, it will then try /lib/libc.so.
Shared libraries should be installed in the shadow tree
/compat/linux/lib rather than the paths
that the Linux ld.so reports.Generally, you will need to look for the shared libraries
that Linux binaries depend on only the first few times that you
install a Linux program on your FreeBSD system. After a while,
you will have a sufficient set of Linux shared libraries on your
system to be able to run newly imported Linux binaries without
any extra work.How to Install Additional Shared Librariesshared librariesWhat if you install the linux_base port
and your application still complains about missing shared
libraries? How do you know which shared libraries Linux
binaries need, and where to get them? Basically, there are 2
possibilities (when following these instructions you will need
to be root on your FreeBSD system).If you have access to a Linux system, see what shared
libraries the application needs, and copy them to your FreeBSD
system. Look at the following example:Let us assume you used FTP to get the Linux binary of
Doom, and put it on a Linux system you have access to. You
then can check which shared libraries it needs by running
ldd linuxdoom, like so:&prompt.user; ldd linuxdoom
libXt.so.3 (DLL Jump 3.1) => /usr/X11/lib/libXt.so.3.1.0
libX11.so.3 (DLL Jump 3.1) => /usr/X11/lib/libX11.so.3.1.0
libc.so.4 (DLL Jump 4.5pl26) => /lib/libc.so.4.6.29symbolic linksYou would need to get all the files from the last column,
and put them under /compat/linux, with
the names in the first column as symbolic links pointing to
them. This means you eventually have these files on your
FreeBSD system:/compat/linux/usr/X11/lib/libXt.so.3.1.0
/compat/linux/usr/X11/lib/libXt.so.3 -> libXt.so.3.1.0
/compat/linux/usr/X11/lib/libX11.so.3.1.0
/compat/linux/usr/X11/lib/libX11.so.3 -> libX11.so.3.1.0
/compat/linux/lib/libc.so.4.6.29
/compat/linux/lib/libc.so.4 -> libc.so.4.6.29
Note that if you already have a Linux shared library
with a matching major revision number to the first column
of the ldd output, you will not need to
copy the file named in the last column to your system, the
one you already have should work. It is advisable to copy
the shared library anyway if it is a newer version,
though. You can remove the old one, as long as you make
the symbolic link point to the new one. So, if you have
these libraries on your system:/compat/linux/lib/libc.so.4.6.27
/compat/linux/lib/libc.so.4 -> libc.so.4.6.27and you find a new binary that claims to require a
later version according to the output of
ldd:libc.so.4 (DLL Jump 4.5pl26) -> libc.so.4.6.29If it is only one or two versions out of date in the
trailing digit then do not worry about copying
/lib/libc.so.4.6.29 too, because the
program should work fine with the slightly older version.
However, if you like, you can decide to replace the
libc.so anyway, and that should leave
you with:/compat/linux/lib/libc.so.4.6.29
/compat/linux/lib/libc.so.4 -> libc.so.4.6.29
The symbolic link mechanism is
only needed for Linux binaries. The
FreeBSD runtime linker takes care of looking for matching
major revision numbers itself and you do not need to worry
about it.
Installing Linux ELF BinariesLinuxELF binariesELF binaries sometimes require an extra step of
branding. If you attempt to run an unbranded ELF
binary, you will get an error message like the following:&prompt.user; ./my-linux-elf-binary
ELF binary type not known
AbortTo help the FreeBSD kernel distinguish between a FreeBSD ELF
binary from a Linux binary, use the &man.brandelf.1;
utility.&prompt.user; brandelf -t Linux my-linux-elf-binaryGNU toolchainThe GNU toolchain now places the appropriate branding
information into ELF binaries automatically, so this step
should become increasingly unnecessary in the future.Configuring the Hostname ResolverIf DNS does not work or you get this message:resolv+: "bind" is an invalid keyword resolv+:
"hosts" is an invalid keywordYou will need to configure a
/compat/linux/etc/host.conf file
containing:order hosts, bind
multi onThe order here specifies that /etc/hosts
is searched first and DNS is searched second. When
/compat/linux/etc/host.conf is not
installed, Linux applications find FreeBSD's
/etc/host.conf and complain about the
incompatible FreeBSD syntax. You should remove
bind if you have not configured a name server
using the /etc/resolv.conf file.BorisHollasUpdated for Mathematica 5.X by Installing &mathematica;applicationsMathematicaThis document describes the process of installing the Linux
version of &mathematica; 5.X onto
a FreeBSD system.The Linux version of &mathematica;
or &mathematica; for Students can
be ordered directly from Wolfram at
.Running the &mathematica; InstallerFirst, you have to tell &os; that
&mathematica;'s Linux
binaries use the Linux ABI. The easiest way to do so is to
set the default ELF brand
to Linux for all unbranded binaries with the command:&prompt.root; sysctl kern.fallback_elf_brand=3This will make &os; assume that unbranded ELF binaries
use the Linux ABI and so you should be able to run the
installer straight from the CDROM.Now, copy the file MathInstaller to
your hard drive:&prompt.root; mount /cdrom
&prompt.root; cp /cdrom/Unix/Installers/Linux/MathInstaller /localdir/and in this file, replace /bin/sh in
the first line by /compat/linux/bin/sh.
This makes sure that the installer is executed by the Linux
version of &man.sh.1;. Next, replace all occurrences of
Linux) by FreeBSD) with
a text editor or the script below in the next section. This
tells the &mathematica; installer,
who calls uname -s to determine the
operating system, to treat &os; as a Linux-like operating
system. Invoking MathInstaller will now
install &mathematica;.Modifying the &mathematica; ExecutablesThe shell scripts that
&mathematica; created during
installation have to be modified before you can use them. If
you chose /usr/local/bin
as the directory to place the
&mathematica; executables in, you
will find symlinks in this directory to files called
math, mathematica,
Mathematica, and
MathKernel. In each of these, replace
Linux) by FreeBSD) with
a text editor or the following shell script:#!/bin/sh
cd /usr/local/bin
for i in math mathematica Mathematica MathKernel
do sed 's/Linux)/FreeBSD)/g' $i > $i.tmp
sed 's/\/bin\/sh/\/compat\/linux\/bin\/sh/g' $i.tmp > $i
rm $i.tmp
chmod a+x $i
doneObtaining Your &mathematica; PasswordEthernetMAC addressWhen you start &mathematica;
for the first time, you will be asked for a password. If you
have not yet obtained a password from Wolfram, run the program
mathinfo in the installation directory to
obtain your machine ID. This machine ID is
based solely on the MAC address of your first Ethernet card,
so you cannot run your copy of
&mathematica; on different
machines.When you register with Wolfram, either by email, phone or fax,
you will give them the machine ID and they will
respond with a corresponding password consisting of groups of
numbers.Running the &mathematica; Frontend over a Network&mathematica; uses some special
fonts to display characters not
present in any of the standard font sets (integrals, sums, Greek
letters, etc.). The X protocol requires these fonts to be install
locally. This means you will have to copy
these fonts from the CDROM or from a host with
&mathematica;
installed to your local machine. These fonts are normally stored
in /cdrom/Unix/Files/SystemFiles/Fonts on the
CDROM, or
/usr/local/mathematica/SystemFiles/Fonts on
your hard drive. The actual fonts are in the subdirectories
Type1 and X. There are
several ways to use them, as described below.The first way is to copy them into one of the existing font
directories in /usr/X11R6/lib/X11/fonts.
This will require editing the fonts.dir file,
adding the font names to it, and changing the number of fonts on
the first line. Alternatively, you should also just be able to
run &man.mkfontdir.1; in the directory you have copied
them to.The second way to do this is to copy the directories to
/usr/X11R6/lib/X11/fonts:&prompt.root; cd /usr/X11R6/lib/X11/fonts
&prompt.root; mkdir X
&prompt.root; mkdir MathType1
&prompt.root; cd /cdrom/Unix/Files/SystemFiles/Fonts
&prompt.root; cp X/* /usr/X11R6/lib/X11/fonts/X
&prompt.root; cp Type1/* /usr/X11R6/lib/X11/fonts/MathType1
&prompt.root; cd /usr/X11R6/lib/X11/fonts/X
&prompt.root; mkfontdir
&prompt.root; cd ../MathType1
&prompt.root; mkfontdirNow add the new font directories to your font path:&prompt.root; xset fp+ /usr/X11R6/lib/X11/fonts/X
&prompt.root; xset fp+ /usr/X11R6/lib/X11/fonts/MathType1
&prompt.root; xset fp rehashIf you are using the &xorg; server, you can have these font
directories loaded automatically by adding them to your
xorg.conf file.For &xfree86; servers,
the configuration file is XF86Config.fontsIf you do not already have a directory
called /usr/X11R6/lib/X11/fonts/Type1, you
can change the name of the MathType1
directory in the example above to
Type1.AaronKaplanContributed by RobertGetschmannThanks to Installing &maple;applicationsMaple&maple; is a commercial mathematics program similar to
&mathematica;. You must purchase this software from and then register there
for a license file. To install this software on FreeBSD, please
follow these simple steps.Execute the INSTALL shell
script from the product distribution. Choose the
RedHat option when prompted by the
installation program. A typical installation directory
might be /usr/local/maple.If you have not done so, order a license for &maple;
from Maple Waterloo Software ()
and copy it to
/usr/local/maple/license/license.dat.Install the FLEXlm
license manager by running the
INSTALL_LIC install shell script that
comes with &maple;. Specify the
primary hostname for your machine for the license
server.Patch the
/usr/local/maple/bin/maple.system.type
file with the following: ----- snip ------------------
*** maple.system.type.orig Sun Jul 8 16:35:33 2001
--- maple.system.type Sun Jul 8 16:35:51 2001
***************
*** 72,77 ****
--- 72,78 ----
# the IBM RS/6000 AIX case
MAPLE_BIN="bin.IBM_RISC_UNIX"
;;
+ "FreeBSD"|\
"Linux")
# the Linux/x86 case
# We have two Linux implementations, one for Red Hat and
----- snip end of patch -----Please note that after the "FreeBSD"|\ no other
whitespace should be present.This patch instructs &maple; to
recognize FreeBSD as a type of Linux system.
The bin/maple shell script calls the
bin/maple.system.type shell script
which in turn calls uname -a to find out the operating
system name. Depending on the OS name it will find out which
binaries to use.Start the license server.The following script, installed as
/usr/local/etc/rc.d/lmgrd.sh is a
convenient way to start up lmgrd: ----- snip ------------
#! /bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin
PATH=${PATH}:/usr/local/maple/bin:/usr/local/maple/FLEXlm/UNIX/LINUX
export PATH
LICENSE_FILE=/usr/local/maple/license/license.dat
LOG=/var/log/lmgrd.log
case "$1" in
start)
lmgrd -c ${LICENSE_FILE} 2>> ${LOG} 1>&2
echo -n " lmgrd"
;;
stop)
lmgrd -c ${LICENSE_FILE} -x lmdown 2>> ${LOG} 1>&2
;;
*)
echo "Usage: `basename $0` {start|stop}" 1>&2
exit 64
;;
esac
exit 0
----- snip ------------Test-start &maple;:&prompt.user; cd /usr/local/maple/bin
&prompt.user; ./xmapleYou should be up and running. Make sure to write
Maplesoft to let them know you would like a native FreeBSD
version!Common PitfallsThe FLEXlm license manager can be a difficult
tool to work with. Additional documentation on the subject
can be found at .lmgrd is known to be very picky
about the license file and to core dump if there are any
problems. A correct license file should look like this:# =======================================================
# License File for UNIX Installations ("Pointer File")
# =======================================================
SERVER chillig ANY
#USE_SERVER
VENDOR maplelmg
FEATURE Maple maplelmg 2000.0831 permanent 1 XXXXXXXXXXXX \
PLATFORMS=i86_r ISSUER="Waterloo Maple Inc." \
ISSUED=11-may-2000 NOTICE=" Technische Universitat Wien" \
SN=XXXXXXXXXSerial number and key 'X''ed out. chillig is a
hostname.Editing the license file works as long as you do not
touch the FEATURE line (which is protected by the
license key).DanPellegContributed by Installing &matlab;applicationsMATLABThis document describes the process of installing the Linux
version of &matlab; version 6.5 onto
a &os; system. It works quite well, with the exception of the
&java.virtual.machine; (see
).The Linux version of &matlab; can be
ordered directly from The MathWorks at . Make sure you also get
the license file or instructions how to create it. While you
are there, let them know you would like a native &os;
version of their software.Installing &matlab;To install &matlab;, do the
following:Insert the installation CD and mount it.
Become root, as recommended by the
installation script. To start the installation script
type:&prompt.root; /compat/linux/bin/sh /cdrom/installThe installer is graphical. If you get errors about
not being able to open a display, type
setenv HOME ~USER,
where USER is the user you did a
&man.su.1; as.
When asked for the &matlab; root
directory, type:
/compat/linux/usr/local/matlab.For easier typing on the rest of the installation
process, type this at your shell prompt:
set MATLAB=/compat/linux/usr/local/matlabEdit the license file as instructed when
obtaining the &matlab; license.You can prepare this file in advance using your
favorite editor, and copy it to
$MATLAB/license.dat before the
installer asks you to edit it.Complete the installation process.At this point your &matlab;
installation is complete. The following steps apply
glue to connect it to your &os; system.License Manager StartupCreate symlinks for the license manager scripts:&prompt.root; ln -s $MATLAB/etc/lmboot /usr/local/etc/lmboot_TMW
&prompt.root; ln -s $MATLAB/etc/lmdown /usr/local/etc/lmdown_TMWCreate a startup file at
/usr/local/etc/rc.d/flexlm.sh. The
example below is a modified version of the distributed
$MATLAB/etc/rc.lm.glnx86. The changes
are file locations, and startup of the license manager
under Linux emulation.#!/bin/sh
case "$1" in
start)
if [ -f /usr/local/etc/lmboot_TMW ]; then
/compat/linux/bin/sh /usr/local/etc/lmboot_TMW -u username && echo 'MATLAB_lmgrd'
fi
;;
stop)
if [ -f /usr/local/etc/lmdown_TMW ]; then
/compat/linux/bin/sh /usr/local/etc/lmdown_TMW > /dev/null 2>&1
fi
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
;;
esac
exit 0The file must be made executable:&prompt.root; chmod +x /usr/local/etc/rc.d/flexlm.shYou must also replace
username above with the name
of a valid user on your system (and not
root).Start the license manager with the command:&prompt.root; /usr/local/etc/rc.d/flexlm.sh startLinking the &java; Runtime EnvironmentChange the &java; Runtime
Environment (JRE) link to one working under &os;:&prompt.root; cd $MATLAB/sys/java/jre/glnx86/
&prompt.root; unlink jre; ln -s ./jre1.1.8 ./jreCreating a &matlab; Startup ScriptPlace the following startup script in
/usr/local/bin/matlab:
#!/bin/sh
/compat/linux/bin/sh /compat/linux/usr/local/matlab/bin/matlab "$@"Then type the command
chmod +x /usr/local/bin/matlab.Depending on your version of
emulators/linux_base, you
may run into errors when running this script. To avoid that,
edit the file
/compat/linux/usr/local/matlab/bin/matlab,
and change the line that says:if [ `expr "$lscmd" : '.*->.*'` -ne 0 ]; then(in version 13.0.1 it is on line 410) to this
line:if test -L $newbase; thenCreating a &matlab; Shutdown ScriptThe following is needed to solve a problem with &matlab;
not exiting correctly.Create a file
$MATLAB/toolbox/local/finish.m, and
in it put the single line:! $MATLAB/bin/finish.shThe $MATLAB is
literal.In the same directory, you will find the files
finishsav.m and
finishdlg.m, which let you save
your workspace before quitting. If you use either of
them, insert the line above immediately after the
save command.Create a file
$MATLAB/bin/finish.sh, which will
contain the following:#!/usr/compat/linux/bin/sh
(sleep 5; killall -1 matlab_helper) &
exit 0Make the file executable:&prompt.root; chmod +x $MATLAB/bin/finish.shUsing &matlab;At this point you are ready to type
matlab and start using it.MarcelMoolenaarContributed by Installing &oracle;applicationsOraclePrefaceThis document describes the process of installing &oracle; 8.0.5 and
&oracle; 8.0.5.1 Enterprise Edition for Linux onto a FreeBSD
machine.Installing the Linux EnvironmentMake sure you have both emulators/linux_base and
devel/linux_devtools from the Ports Collection
installed. If you run into difficulties with these ports,
you may have to use
the packages or older versions available in the Ports Collection.If you want to run the intelligent agent, you will
also need to install the Red Hat Tcl package:
tcl-8.0.3-20.i386.rpm. The general command
for installing packages with the official RPM port (archivers/rpm) is:&prompt.root; rpm -i --ignoreos --root /compat/linux --dbpath /var/lib/rpm packageInstallation of the package should not generate any errors.Creating the &oracle; EnvironmentBefore you can install &oracle;, you need to set up a proper
environment. This document only describes what to do
specially to run &oracle; for Linux on FreeBSD, not
what has been described in the &oracle; installation guide.Kernel Tuningkernel tuningAs described in the &oracle; installation guide, you need to set
the maximum size of shared memory. Do not use
SHMMAX under FreeBSD. SHMMAX
is merely calculated out of SHMMAXPGS and
PGSIZE. Therefore define
SHMMAXPGS. All other options can be used as
described in the guide. For example:options SHMMAXPGS=10000
options SHMMNI=100
options SHMSEG=10
options SEMMNS=200
options SEMMNI=70
options SEMMSL=61Set these options to suit your intended use of &oracle;.Also, make sure you have the following options in your kernel
configuration file:options SYSVSHM #SysV shared memory
options SYSVSEM #SysV semaphores
options SYSVMSG #SysV interprocess communication&oracle; AccountCreate an oracle account just as you would create any other
account. The oracle account is special only that you need to give
it a Linux shell. Add /compat/linux/bin/bash to
/etc/shells and set the shell for the oracle
account to /compat/linux/bin/bash.EnvironmentBesides the normal &oracle; variables, such as
ORACLE_HOME and ORACLE_SID you must
set the following environment variables:VariableValueLD_LIBRARY_PATH$ORACLE_HOME/libCLASSPATH$ORACLE_HOME/jdbc/lib/classes111.zipPATH/compat/linux/bin
/compat/linux/sbin
/compat/linux/usr/bin
/compat/linux/usr/sbin
/bin
/sbin
/usr/bin
/usr/sbin
/usr/local/bin
$ORACLE_HOME/binIt is advised to set all the environment variables in
.profile. A complete example is:ORACLE_BASE=/oracle; export ORACLE_BASE
ORACLE_HOME=/oracle; export ORACLE_HOME
LD_LIBRARY_PATH=$ORACLE_HOME/lib
export LD_LIBRARY_PATH
ORACLE_SID=ORCL; export ORACLE_SID
ORACLE_TERM=386x; export ORACLE_TERM
CLASSPATH=$ORACLE_HOME/jdbc/lib/classes111.zip
export CLASSPATH
PATH=/compat/linux/bin:/compat/linux/sbin:/compat/linux/usr/bin
PATH=$PATH:/compat/linux/usr/sbin:/bin:/sbin:/usr/bin:/usr/sbin
PATH=$PATH:/usr/local/bin:$ORACLE_HOME/bin
export PATHInstalling &oracle;Due to a slight inconsistency in the Linux emulator, you need to
create a directory named .oracle in
/var/tmp before you start the installer.
Let it be owned by the oracle user. You
should be able to install &oracle; without any problems. If you have
problems, check your &oracle; distribution and/or configuration first!
After you have installed &oracle;, apply the patches described in the
next two subsections.A frequent problem is that the TCP protocol adapter is not
installed right. As a consequence, you cannot start any TCP listeners.
The following actions help solve this problem:&prompt.root; cd $ORACLE_HOME/network/lib
&prompt.root; make -f ins_network.mk ntcontab.o
&prompt.root; cd $ORACLE_HOME/lib
&prompt.root; ar r libnetwork.a ntcontab.o
&prompt.root; cd $ORACLE_HOME/network/lib
&prompt.root; make -f ins_network.mk installDo not forget to run root.sh again!Patching root.shWhen installing &oracle;, some actions, which need to be performed
as root, are recorded in a shell script called
root.sh. This script is
written in the orainst directory. Apply the
following patch to root.sh, to have it use to proper location of
chown or alternatively run the script under a
Linux native shell.*** orainst/root.sh.orig Tue Oct 6 21:57:33 1998
--- orainst/root.sh Mon Dec 28 15:58:53 1998
***************
*** 31,37 ****
# This is the default value for CHOWN
# It will redefined later in this script for those ports
# which have it conditionally defined in ss_install.h
! CHOWN=/bin/chown
#
# Define variables to be used in this script
--- 31,37 ----
# This is the default value for CHOWN
# It will redefined later in this script for those ports
# which have it conditionally defined in ss_install.h
! CHOWN=/usr/sbin/chown
#
# Define variables to be used in this scriptWhen you do not install &oracle; from CD, you can patch the source
for root.sh. It is called
rthd.sh and is located in the
orainst directory in the source tree.Patching genclntshThe script genclntsh is used to create
a single shared client
library. It is used when building the demos. Apply the following
patch to comment out the definition of PATH:*** bin/genclntsh.orig Wed Sep 30 07:37:19 1998
--- bin/genclntsh Tue Dec 22 15:36:49 1998
***************
*** 32,38 ****
#
# Explicit path to ensure that we're using the correct commands
#PATH=/usr/bin:/usr/ccs/bin export PATH
! PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin export PATH
#
# each product MUST provide a $PRODUCT/admin/shrept.lst
--- 32,38 ----
#
# Explicit path to ensure that we're using the correct commands
#PATH=/usr/bin:/usr/ccs/bin export PATH
! #PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin export PATH
#
# each product MUST provide a $PRODUCT/admin/shrept.lstRunning &oracle;When you have followed the instructions, you should be able to run
&oracle; as if it was run on Linux
itself.HolgerKippContributed by ValentinoVaschettoOriginal version converted to SGML by Installing &sap.r3;applicationsSAP R/3Installations of &sap; Systems using FreeBSD will not be
supported by the &sap; support team — they only offer support
for certified platforms.PrefaceThis document describes a possible way of installing a
&sap.r3; System
with &oracle; Database
for Linux onto a FreeBSD machine, including the installation
of FreeBSD and &oracle;. Two different
configurations will be described:&sap.r3; 4.6B (IDES) with
&oracle; 8.0.5 on FreeBSD 4.3-STABLE&sap.r3; 4.6C with
&oracle; 8.1.7 on FreeBSD 4.5-STABLEEven though this document tries to describe all important
steps in a greater detail, it is not intended as a replacement
for the &oracle; and
&sap.r3; installation guides.Please see the documentation that comes with the
&sap.r3;
Linux edition for &sap; and
&oracle; specific questions, as well
as resources from &oracle; and
&sap; OSS.SoftwareThe following CD-ROMs have been used for &sap; installations:&sap.r3; 4.6B, &oracle; 8.0.5NameNumberDescriptionKERNEL51009113SAP Kernel Oracle /
Installation / AIX, Linux, SolarisRDBMS51007558Oracle / RDBMS 8.0.5.X /
LinuxEXPORT151010208IDES / DB-Export /
Disc 1 of 6EXPORT251010209IDES / DB-Export /
Disc 2 of 6EXPORT351010210IDES / DB-Export /
Disc 3 of 6EXPORT451010211IDES / DB-Export /
Disc 4 of 6EXPORT551010212IDES / DB-Export /
Disc 5 of 6EXPORT651010213IDES / DB-Export /
Disc 6 of 6Additionally, we used the &oracle; 8
Server (Pre-production version 8.0.5 for Linux,
Kernel Version 2.0.33) CD which is not really necessary, and
FreeBSD 4.3-STABLE (it was only a few days past 4.3
RELEASE).&sap.r3; 4.6C SR2, &oracle; 8.1.7NameNumberDescriptionKERNEL51014004SAP Kernel Oracle /
SAP Kernel Version 4.6D / DEC, LinuxRDBMS51012930Oracle 8.1.7/ RDBMS /
LinuxEXPORT151013953Release 4.6C SR2 / Export
/ Disc 1 of 4EXPORT151013953Release 4.6C SR2 / Export
/ Disc 2 of 4EXPORT151013953Release 4.6C SR2 / Export
/ Disc 3 of 4EXPORT151013953Release 4.6C SR2 / Export
/ Disc 4 of 4LANG151013954Release 4.6C SR2 /
Language / DE, EN, FR / Disc 1 of 3Depending on the languages you would like to install, additional
language CDs might be necessary. Here we are just using DE and EN, so
the first language CD is the only one needed. As a little note, the
numbers for all four EXPORT CDs are identical. All three language CDs
also have the same number (this is different from the 4.6B IDES
release CD numbering). At the time of writing this installation is
running on FreeBSD 4.5-STABLE (20.03.2002).&sap; NotesThe following notes should be read before installing
&sap.r3; and proved to be useful
during installation:&sap.r3; 4.6B, &oracle; 8.0.5NumberTitle0171356SAP Software on Linux: Essential
Comments0201147INST: 4.6C R/3 Inst. on UNIX -
Oracle0373203Update / Migration Oracle 8.0.5 -->
8.0.6/8.1.6 LINUX0072984Release of Digital UNIX 4.0B for
Oracle0130581R3SETUP step DIPGNTAB terminates0144978Your system has not been installed
correctly0162266Questions and tips for R3SETUP on Windows
NT / W2K&sap.r3; 4.6C, &oracle; 8.1.7NumberTitle0015023Initializing table TCPDB (RSXP0004)
(EBCDIC)0045619R/3 with several languages or
typefaces0171356SAP Software on Linux: Essential
Comments0195603RedHat 6.1 Enterprise version:
Known problems0212876The new archiving tool SAPCAR0300900Linux: Released DELL Hardware0377187RedHat 6.2: important remarks0387074INST: R/3 4.6C SR2 Installation on
UNIX0387077INST: R/3 4.6C SR2 Inst. on UNIX -
Oracle0387078SAP Software on UNIX: OS Dependencies
4.6C SR2Hardware RequirementsThe following equipment is sufficient for the installation
of a &sap.r3; System. For production
use, a more exact sizing is of course needed:Component4.6B4.6CProcessor2 x 800MHz &pentium; III2 x 800MHz &pentium; IIIMemory1GB ECC2GB ECCHard Disk Space50-60GB (IDES)50-60GB (IDES)For use in production, &xeon; Processors with large cache,
high-speed disk access (SCSI, RAID hardware controller), USV
and ECC-RAM is recommended. The large amount of hard disk
space is due to the preconfigured IDES System, which creates
27 GB of database files during installation. This space is
also sufficient for initial production systems and application
data.&sap.r3; 4.6B, &oracle; 8.0.5The following off-the-shelf hardware was used: a dual processor
board with 2 800 MHz &pentium; III processors, &adaptec; 29160 Ultra160
SCSI adapter (for accessing a 40/80 GB DLT tape drive and CDROM),
&mylex; &acceleraid; (2 channels, firmware 6.00-1-00 with 32 MB RAM).
To the &mylex; RAID controller are attached two 17 GB hard disks
(mirrored) and four 36 GB hard disks (RAID level 5).&sap.r3; 4.6C, &oracle; 8.1.7For this installation a &dell; &poweredge; 2500 was used: a
dual processor board with two 1000 MHz &pentium; III processors
(256 kB Cache), 2 GB PC133 ECC SDRAM, PERC/3 DC PCI RAID Controller
with 128 MB, and an EIDE DVD-ROM drive. To the RAID controller are
attached two 18 GB hard disks (mirrored) and four 36 GB hard disks
(RAID level 5).Installation of FreeBSDFirst you have to install FreeBSD. There are several ways to do
this, for more information read the .Disk LayoutTo keep it simple, the same disk layout both for the
&sap.r3; 46B and &sap.r3; 46C
SR2 installation was used. Only the device names
changed, as the installations were on different hardware (/dev/da
and /dev/amr respectively, so if using an AMI &megaraid;, one will see
/dev/amr0s1a instead of /dev/da0s1a):File systemSize (1k-blocks)Size (GB)Mounted on/dev/da0s1a1.016.3031//dev/da0s1b6swap/dev/da0s1e2.032.6232/var/dev/da0s1f8.205.3398/usr/dev/da1s1e45.734.36145/compat/linux/oracle/dev/da1s1f2.032.6232/compat/linux/sapmnt/dev/da1s1g2.032.6232/compat/linux/usr/sapConfigure and initialize the two logical drives
with the &mylex; or PERC/3 RAID software beforehand.
The software can be started during the
BIOS boot phase. Please note that this disk layout differs slightly from
the &sap; recommendations, as &sap; suggests mounting the
&oracle; subdirectories (and some others) separately — we
decided to just create them as real subdirectories for
simplicity.make world and a New KernelDownload the latest -STABLE sources. Rebuild world and your
custom kernel after configuring your kernel configuration file.
Here you should also include the
kernel parameters
which are required for both &sap.r3;
and &oracle;.Installing the Linux EnvironmentInstalling the Linux Base SystemFirst the linux_base
port needs to be installed (as root):
- &prompt.root; cd /usr/ports/emulators/linux_base
+ &prompt.root; cd /usr/ports/emulators/linux_base-fc4
&prompt.root; make install distcleanInstalling Linux Development EnvironmentThe Linux development environment is needed, if you want to install
&oracle; on FreeBSD according to the
:&prompt.root; cd /usr/ports/devel/linux_devtools
&prompt.root; make install distcleanThe Linux development environment has only been installed for the &sap.r3;
46B IDES installation. It is not needed, if
the &oracle; DB is not relinked on the
FreeBSD system. This is the case if you are using the
&oracle; tarball from a Linux system.Installing the Necessary RPMsRPMsTo start the R3SETUP program, PAM support is needed.
During the first &sap; Installation on FreeBSD 4.3-STABLE we
tried to install PAM with all the required packages and
finally forced the installation of the PAM package, which
worked. For &sap.r3; 4.6C SR2 we
directly forced the installation of the PAM RPM, which also
works, so it seems the dependent packages are not needed:&prompt.root; rpm -i --ignoreos --nodeps --root /compat/linux --dbpath /var/lib/rpm \
pam-0.68-7.i386.rpmFor &oracle; 8.0.5 to run the
intelligent agent, we also had to install the RedHat Tcl package
tcl-8.0.5-30.i386.rpm (otherwise the
relinking during &oracle; installation
will not work). There are some other issues regarding
relinking of &oracle;, but that is
a &oracle; Linux issue, not FreeBSD specific.Some Additional HintsIt might also be a good idea to add linprocfs
to /etc/fstab, for more information, see the &man.linprocfs.5; manual page.
Another parameter to set is kern.fallback_elf_brand=3
which is done in the file /etc/sysctl.conf.Creating the &sap.r3; EnvironmentCreating the Necessary File Systems and MountpointsFor a simple installation, it is sufficient to create the
following file systems:mount pointsize in GB/compat/linux/oracle45 GB/compat/linux/sapmnt2 GB/compat/linux/usr/sap2 GBIt is also necessary to created some links. Otherwise
the &sap; Installer will complain, as it is checking the
created links:&prompt.root; ln -s /compat/linux/oracle /oracle
&prompt.root; ln -s /compat/linux/sapmnt /sapmnt
&prompt.root; ln -s /compat/linux/usr/sap /usr/sapPossible error message during installation (here with
System PRD and the
&sap.r3; 4.6C SR2
installation):INFO 2002-03-19 16:45:36 R3LINKS_IND_IND SyLinkCreate:200
Checking existence of symbolic link /usr/sap/PRD/SYS/exe/dbg to
/sapmnt/PRD/exe. Creating if it does not exist...
WARNING 2002-03-19 16:45:36 R3LINKS_IND_IND SyLinkCreate:400
Link /usr/sap/PRD/SYS/exe/dbg exists but it points to file
/compat/linux/sapmnt/PRD/exe instead of /sapmnt/PRD/exe. The
program cannot go on as long as this link exists at this
location. Move the link to another location.
ERROR 2002-03-19 16:45:36 R3LINKS_IND_IND Ins_SetupLinks:0
can not setup link '/usr/sap/PRD/SYS/exe/dbg' with content
'/sapmnt/PRD/exe'Creating Users and Directories&sap.r3; needs two users and
three groups. The user names depend on the
&sap; system ID (SID) which consists
of three letters. Some of these SIDs are reserved
by &sap; (for example
SAP and NIX. For a
complete list please see the &sap; documentation). For the IDES
installation we used IDS, for the
4.6C SR2 installation PRD, as that system
is intended for production use. We have
therefore the following groups (group IDs might differ, these
are just the values we used with our installation):group IDgroup namedescription100dbaData Base Administrator101sapsys&sap; System102operData Base OperatorFor a default &oracle; installation, only group
dba is used. As
oper group, one also uses group
dba (see &oracle; and
&sap; documentation for further information).We also need the following users:user IDuser namegeneric namegroupadditional groupsdescription1000idsadm/prdadmsidadmsapsysoper&sap; Administrator1002oraids/oraprdorasiddbaoper&oracle; AdministratorAdding the users with &man.adduser.8;
requires the following (please note shell and home
directory) entries for &sap; Administrator:Name: sidadm
Password: ******
Fullname: SAP Administrator SID
Uid: 1000
Gid: 101 (sapsys)
Class:
Groups: sapsys dba
HOME: /home/sidadm
Shell: bash (/compat/linux/bin/bash)and for &oracle; Administrator:Name: orasid
Password: ******
Fullname: Oracle Administrator SID
Uid: 1002
Gid: 100 (dba)
Class:
Groups: dba
HOME: /oracle/sid
Shell: bash (/compat/linux/bin/bash)This should also include group
oper in case you are using both
groups dba and
oper.Creating DirectoriesThese directories are usually created as separate
file systems. This depends entirely on your requirements. We
choose to create them as simple directories, as they are all
located on the same RAID 5 anyway:First we will set owners and rights of some directories (as
user root):&prompt.root; chmod 775 /oracle
&prompt.root; chmod 777 /sapmnt
&prompt.root; chown root:dba /oracle
&prompt.root; chown sidadm:sapsys /compat/linux/usr/sap
&prompt.root; chmod 775 /compat/linux/usr/sapSecond we will create directories as user
orasid. These
will all be subdirectories of
/oracle/SID:&prompt.root; su - orasid
&prompt.root; cd /oracle/SID
&prompt.root; mkdir mirrlogA mirrlogB origlogA origlogB
&prompt.root; mkdir sapdata1 sapdata2 sapdata3 sapdata4 sapdata5 sapdata6
&prompt.root; mkdir saparch sapreorg
&prompt.root; exitFor the &oracle; 8.1.7 installation
some additional directories are needed:&prompt.root; su - orasid
&prompt.root; cd /oracle
&prompt.root; mkdir 805_32
&prompt.root; mkdir client stage
&prompt.root; mkdir client/80x_32
&prompt.root; mkdir stage/817_32
&prompt.root; cd /oracle/SID
&prompt.root; mkdir 817_32The directory client/80x_32 is used
with exactly this name. Do not replace the x
with some number or anything.In the third step we create directories as user
sidadm:&prompt.root; su - sidadm
&prompt.root; cd /usr/sap
&prompt.root; mkdir SID
&prompt.root; mkdir trans
&prompt.root; exitEntries in /etc/services&sap.r3; requires some entries in file
/etc/services, which will not be set
correctly during installation under FreeBSD. Please add the
following entries (you need at least those entries
corresponding to the instance number — in this case,
00. It will do no harm adding all
entries from 00 to
99 for dp,
gw, sp and
ms). If you are going to use a SAProuter
or need to access &sap; OSS, you also need 99,
as port 3299 is usually used for the SAProuter process on the
target system:
sapdp00 3200/tcp # SAP Dispatcher. 3200 + Instance-Number
sapgw00 3300/tcp # SAP Gateway. 3300 + Instance-Number
sapsp00 3400/tcp # 3400 + Instance-Number
sapms00 3500/tcp # 3500 + Instance-Number
sapmsSID 3600/tcp # SAP Message Server. 3600 + Instance-Number
sapgw00s 4800/tcp # SAP Secure Gateway 4800 + Instance-NumberNecessary Localeslocale&sap; requires at least two locales that are not part of
the default RedHat installation. &sap; offers the required
RPMs as download from their FTP server (which is only
accessible if you are a customer with OSS access). See note
0171356 for a list of RPMs you need.It is also possible to just create appropriate links
(for example from de_DE and
en_US ), but we would not recommend this
for a production system (so far it worked with the IDES
system without any problems, though). The following locales
are needed:de_DE.ISO-8859-1
en_US.ISO-8859-1Create the links like this:&prompt.root; cd /compat/linux/usr/share/locale
&prompt.root; ln -s de_DE de_DE.ISO-8859-1
&prompt.root; ln -s en_US en_US.ISO-8859-1If they are not present, there will be some problems
during the installation. If these are then subsequently
ignored (by setting the STATUS of the offending steps to
OK in file CENTRDB.R3S), it will be impossible to log onto
the &sap; system without some additional effort.Kernel Tuningkernel tuning&sap.r3; systems need a lot of resources. We therefore
added the following parameters to the kernel configuration file:# Set these for memory pigs (SAP and Oracle):
options MAXDSIZ="(1024*1024*1024)"
options DFLDSIZ="(1024*1024*1024)"
# System V options needed.
options SYSVSHM #SYSV-style shared memory
options SHMMAXPGS=262144 #max amount of shared mem. pages
#options SHMMAXPGS=393216 #use this for the 46C inst.parameters
options SHMMNI=256 #max number of shared memory ident if.
options SHMSEG=100 #max shared mem.segs per process
options SYSVMSG #SYSV-style message queues
options MSGSEG=32767 #max num. of mes.segments in system
options MSGSSZ=32 #size of msg-seg. MUST be power of 2
options MSGMNB=65535 #max char. per message queue
options MSGTQL=2046 #max amount of msgs in system
options SYSVSEM #SYSV-style semaphores
options SEMMNU=256 #number of semaphore UNDO structures
options SEMMNS=1024 #number of semaphores in system
options SEMMNI=520 #number of semaphore identifiers
options SEMUME=100 #number of UNDO keysThe minimum values are specified in the documentation that
comes from &sap;. As there is no description for Linux, see the
HP-UX section (32-bit) for further information. As the system
for the 4.6C SR2 installation has more main memory, the shared
segments can be larger both for &sap;
and &oracle;, therefore choose a larger
number of shared memory pages.With the default installation of FreeBSD on &i386;,
leave MAXDSIZ and DFLDSIZ at 1 GB maximum. Otherwise, strange
errors like ORA-27102: out of memory and
Linux Error: 12: Cannot allocate memory
might happen.Installing &sap.r3;Preparing &sap; CDROMsThere are many CDROMs to mount and unmount during the
installation. Assuming you have enough CDROM drives, you
can just mount them all. We decided to copy the CDROMs
contents to corresponding directories:/oracle/SID/sapreorg/cd-namewhere cd-name was one of KERNEL,
RDBMS, EXPORT1,
EXPORT2, EXPORT3,
EXPORT4, EXPORT5 and
EXPORT6 for the 4.6B/IDES installation, and
KERNEL, RDBMS,
DISK1, DISK2,
DISK3, DISK4 and
LANG for the 4.6C SR2 installation. All the
filenames on the mounted CDs should be in capital letters,
otherwise use the option for mounting. So use the following
commands:&prompt.root; mount_cd9660 -g /dev/cd0a /mnt
&prompt.root; cp -R /mnt/* /oracle/SID/sapreorg/cd-name
&prompt.root; umount /mntRunning the Installation ScriptFirst you have to prepare an install directory:&prompt.root; cd /oracle/SID/sapreorg
&prompt.root; mkdir install
&prompt.root; cd installThen the installation script is started, which will copy nearly
all the relevant files into the install directory:&prompt.root; /oracle/SID/sapreorg/KERNEL/UNIX/INSTTOOL.SHThe IDES installation (4.6B) comes with a fully customized
&sap.r3; demonstration system, so there are six instead of just three
EXPORT CDs. At this point the installation template
CENTRDB.R3S is for installing a standard
central instance (&r3; and database), not the IDES central
instance, so one needs to copy the corresponding CENTRDB.R3S
from the EXPORT1 directory, otherwise R3SETUP will only ask
for three EXPORT CDs.The newer &sap; 4.6C SR2 release
comes with four EXPORT CDs. The parameter file that controls
the installation steps is CENTRAL.R3S.
Contrary to earlier releases there are no separate installation
templates for a central instance with or without database.
&sap; is using a separate template for database installation. To restart
the installation later it is however sufficient to restart with
the original file.During and after installation, &sap; requires
hostname to return the computer name
only, not the fully qualified domain name. So either
set the hostname accordingly, or set an alias with
alias hostname='hostname -s' for
both orasid and
sidadm (and for
root at least during installation
steps performed as root). It is also
possible to adjust the installed .profile and .login files of
both users that are installed during
&sap; installation.Start R3SETUP 4.6BMake sure LD_LIBRARY_PATH is set correctly:&prompt.root; export LD_LIBRARY_PATH=/oracle/IDS/lib:/sapmnt/IDS/exe:/oracle/805_32/libStart R3SETUP as root from
installation directory:&prompt.root; cd /oracle/IDS/sapreorg/install
&prompt.root; ./R3SETUP -f CENTRDB.R3SThe script then asks some questions (defaults in brackets,
followed by actual input):QuestionDefaultInputEnter SAP System ID[C11]IDSEnterEnter SAP Instance Number[00]EnterEnter SAPMOUNT Directory[/sapmnt]EnterEnter name of SAP central host[troubadix.domain.de]EnterEnter name of SAP db host[troubadix]EnterSelect character set[1] (WE8DEC)EnterEnter Oracle server version (1) Oracle 8.0.5, (2) Oracle 8.0.6, (3) Oracle 8.1.5, (4) Oracle 8.1.61EnterExtract Oracle Client archive[1] (Yes, extract)EnterEnter path to KERNEL CD[/sapcd]/oracle/IDS/sapreorg/KERNELEnter path to RDBMS CD[/sapcd]/oracle/IDS/sapreorg/RDBMSEnter path to EXPORT1 CD[/sapcd]/oracle/IDS/sapreorg/EXPORT1Directory to copy EXPORT1 CD[/oracle/IDS/sapreorg/CD4_DIR]EnterEnter path to EXPORT2 CD[/sapcd]/oracle/IDS/sapreorg/EXPORT2Directory to copy EXPORT2 CD[/oracle/IDS/sapreorg/CD5_DIR]EnterEnter path to EXPORT3 CD[/sapcd]/oracle/IDS/sapreorg/EXPORT3Directory to copy EXPORT3 CD[/oracle/IDS/sapreorg/CD6_DIR]EnterEnter path to EXPORT4 CD[/sapcd]/oracle/IDS/sapreorg/EXPORT4Directory to copy EXPORT4 CD[/oracle/IDS/sapreorg/CD7_DIR]EnterEnter path to EXPORT5 CD[/sapcd]/oracle/IDS/sapreorg/EXPORT5Directory to copy EXPORT5 CD[/oracle/IDS/sapreorg/CD8_DIR]EnterEnter path to EXPORT6 CD[/sapcd]/oracle/IDS/sapreorg/EXPORT6Directory to copy EXPORT6 CD[/oracle/IDS/sapreorg/CD9_DIR]EnterEnter amount of RAM for SAP + DB850Enter (in Megabytes)Service Entry Message Server[3600]EnterEnter Group-ID of sapsys[101]EnterEnter Group-ID of oper[102]EnterEnter Group-ID of dba[100]EnterEnter User-ID of sidadm[1000]EnterEnter User-ID of orasid[1002]EnterNumber of parallel procs[2]EnterIf you had not copied the CDs to the different locations,
then the &sap; installer cannot find the CD needed (identified
by the LABEL.ASC file on the CD) and would
then ask you to insert and mount the CD and confirm or enter
the mount path.The CENTRDB.R3S might not be
error free. In our case, it requested EXPORT4 CD again but
indicated the correct key (6_LOCATION, then 7_LOCATION
etc.), so one can just continue with entering the correct
values.Apart from some problems mentioned below, everything
should go straight through up to the point where the &oracle;
database software needs to be installed.Start R3SETUP 4.6C SR2Make sure LD_LIBRARY_PATH is set correctly. This is a
different value from the 4.6B installation with
&oracle; 8.0.5:&prompt.root; export LD_LIBRARY_PATH=/sapmnt/PRD/exe:/oracle/PRD/817_32/libStart R3SETUP as user root from installation directory:&prompt.root; cd /oracle/PRD/sapreorg/install
&prompt.root; ./R3SETUP -f CENTRAL.R3SThe script then asks some questions (defaults in brackets,
followed by actual input):QuestionDefaultInputEnter SAP System ID[C11]PRDEnterEnter SAP Instance Number[00]EnterEnter SAPMOUNT Directory[/sapmnt]EnterEnter name of SAP central host[majestix]EnterEnter Database System ID[PRD]PRDEnterEnter name of SAP db host[majestix]EnterSelect character set[1] (WE8DEC)EnterEnter Oracle server version (2) Oracle 8.1.72EnterExtract Oracle Client archive[1] (Yes, extract)EnterEnter path to KERNEL CD[/sapcd]/oracle/PRD/sapreorg/KERNELEnter amount of RAM for SAP + DB20441800Enter (in Megabytes)Service Entry Message Server[3600]EnterEnter Group-ID of sapsys[100]EnterEnter Group-ID of oper[101]EnterEnter Group-ID of dba[102]EnterEnter User-ID of oraprd[1002]EnterEnter User-ID of prdadm[1000]EnterLDAP support3Enter (no support)Installation step completed[1] (continue)EnterChoose installation service[1] (DB inst,file)EnterSo far, creation of users gives an error during
installation in phases OSUSERDBSID_IND_ORA (for creating
user orasid) and
OSUSERSIDADM_IND_ORA (creating user
sidadm).Apart from some problems mentioned below, everything
should go straight through up to the point where the &oracle;
database software needs to be installed.Installing &oracle; 8.0.5Please see the corresponding &sap; Notes and &oracle; Readmes
regarding Linux and &oracle; DB for possible problems. Most if
not all problems stem from incompatible libraries.For more information on installing &oracle;, refer to the Installing &oracle;
chapter.Installing the &oracle; 8.0.5 with orainstIf &oracle; 8.0.5 is to be
used, some additional libraries are needed for successfully
relinking, as &oracle; 8.0.5 was linked with an old glibc
(RedHat 6.0), but RedHat 6.1 already uses a new glibc. So
you have to install the following additional packages to
ensure that linking will work:compat-libs-5.2-2.i386.rpmcompat-glibc-5.2-2.0.7.2.i386.rpmcompat-egcs-5.2-1.0.3a.1.i386.rpmcompat-egcs-c++-5.2-1.0.3a.1.i386.rpmcompat-binutils-5.2-2.9.1.0.23.1.i386.rpmSee the corresponding &sap; Notes or &oracle; Readmes for
further information. If this is no option (at the time of
installation we did not have enough time to check this), one
could use the original binaries, or use the relinked
binaries from an original RedHat system.For compiling the intelligent agent, the RedHat Tcl
package must be installed. If you cannot get
tcl-8.0.3-20.i386.rpm, a newer one like
tcl-8.0.5-30.i386.rpm for RedHat 6.1
should also do.Apart from relinking, the installation is
straightforward:&prompt.root; su - oraids
&prompt.root; export TERM=xterm
&prompt.root; export ORACLE_TERM=xterm
&prompt.root; export ORACLE_HOME=/oracle/IDS
&prompt.root; cd $ORACLE_HOME/orainst_sap
&prompt.root; ./orainstConfirm all screens with Enter until the software is
installed, except that one has to deselect the
&oracle; On-Line Text Viewer, as this is
not currently available for Linux. &oracle; then wants to
relink with i386-glibc20-linux-gcc
instead of the available gcc,
egcs or i386-redhat-linux-gcc
.Due to time constrains we decided to use the binaries
from an &oracle; 8.0.5 PreProduction
release, after the first
attempt at getting the version from the RDBMS CD working,
failed, and finding and accessing the correct RPMs was a
nightmare at that time.Installing the &oracle; 8.0.5 Pre-production Release for
Linux (Kernel 2.0.33)This installation is quite easy. Mount the CD, start the
installer. It will then ask for the location of the &oracle;
home directory, and copy all binaries there. We did not
delete the remains of our previous RDBMS installation tries,
though.Afterwards, &oracle; Database could be started with no
problems.Installing the &oracle; 8.1.7 Linux TarballTake the tarball oracle81732.tgz you
produced from the installation directory on a Linux system
and untar it to /oracle/SID/817_32/.Continue with &sap.r3; InstallationFirst check the environment settings of users
idsamd
(sidadm) and
oraids (orasid). They should now
both have the files .profile,
.login and .cshrc
which are all using hostname. In case the
system's hostname is the fully qualified name, you need to
change hostname to hostname
-s within all three files.Database LoadAfterwards, R3SETUP can either be restarted or continued
(depending on whether exit was chosen or not). R3SETUP then
creates the tablespaces and loads the data (for 46B IDES, from
EXPORT1 to EXPORT6, for 46C from DISK1 to DISK4) with R3load
into the database.When the database load is finished (might take a few
hours), some passwords are requested. For test
installations, one can use the well known default passwords
(use different ones if security is an issue!):QuestionInputEnter Password for sapr3sapEnterConfirum Password for sapr3sapEnterEnter Password for syschange_on_installEnterConfirm Password for syschange_on_installEnterEnter Password for systemmanagerEnterConfirm Password for systemmanagerEnterAt this point We had a few problems with
dipgntab during the 4.6B
installation.ListenerStart the &oracle; Listener as user
orasid as follows:&prompt.user; umask 0; lsnrctl startOtherwise you might get the error ORA-12546 as the sockets will not
have the correct permissions. See &sap; Note 072984.Updating MNLS TablesIf you plan to import non-Latin-1 languages into the &sap; system,
you have to update the Multi National Language Support tables.
This is described in the &sap; OSS Notes 15023 and 45619. Otherwise,
you can skip this question during &sap; installation.If you do not need MNLS, it is still necessary to check
the table TCPDB and initializing it if this has not been done. See
&sap; note 0015023 and 0045619 for further information.Post-installation StepsRequest &sap.r3; License KeyYou have to request your &sap.r3; License Key. This is needed,
as the temporary license that was installed during installation
is only valid for four weeks. First get the hardware key. Log
on as user idsadm and call
saplicense:&prompt.root; /sapmnt/IDS/exe/saplicense -getCalling saplicense without parameters gives
a list of options. Upon receiving the license key, it can be
installed using:&prompt.root; /sapmnt/IDS/exe/saplicense -installYou are then required to enter the following values:SAP SYSTEM ID = SID, 3 chars
CUSTOMER KEY = hardware key, 11 chars
INSTALLATION NO = installation, 10 digits
EXPIRATION DATE = yyyymmdd, usually "99991231"
LICENSE KEY = license key, 24 charsCreating UsersCreate a user within client 000 (for some tasks required
to be done within client 000, but with a user different from
users sap* and
ddic). As a user name, We usually choose
wartung (or
service in English). Profiles
required are sap_new and
sap_all. For additional safety the
passwords of default users within all clients should be
changed (this includes users sap* and
ddic).Configure Transport System, Profile, Operation Modes, Etc.Within client 000, user different from ddic
and sap*, do at least the following:TaskTransactionConfigure Transport System, e.g. as Stand-Alone
Transport Domain EntitySTMSCreate / Edit Profile for SystemRZ10Maintain Operation Modes and InstancesRZ04These and all the other post-installation steps are
thoroughly described in &sap; installation guides.Edit initsid.sap (initIDS.sap)The file /oracle/IDS/dbs/initIDS.sap
contains the &sap; backup profile. Here the size of the tape to
be used, type of compression and so on need to be defined. To
get this running with sapdba /
brbackup, we changed the following values:compress = hardware
archive_function = copy_delete_save
cpio_flags = "-ov --format=newc --block-size=128 --quiet"
cpio_in_flags = "-iuv --block-size=128 --quiet"
tape_size = 38000M
tape_address = /dev/nsa0
tape_address_rew = /dev/sa0Explanations:compress: The tape we use is a HP DLT1
which does hardware compression.archive_function: This defines the
default behavior for saving &oracle; archive logs: new logfiles
are saved to tape, already saved logfiles are saved again and
are then deleted. This prevents lots of trouble if you need to
recover the database, and one of the archive-tapes has gone
bad.cpio_flags: Default is to use which
sets block size to 5120 Bytes. For DLT Tapes, HP recommends at
least 32 K block size, so we used for
64 K. is needed because we have inode numbers greater than
65535. The last option is needed as otherwise
brbackup
complains as soon as cpio outputs the
numbers of blocks saved.cpio_in_flags: Flags needed for
loading data back from tape. Format is recognized
automatically.tape_size: This usually gives the raw
storage capability of the tape. For security reason (we use
hardware compression), the value is slightly lower than the
actual value.tape_address: The non-rewindable
device to be used with cpio.tape_address_rew: The rewindable device to be
used with cpio.Configuration Issues after InstallationThe following &sap; parameters should be tuned after
installation (examples for IDES 46B, 1 GB memory):NameValueztta/roll_extension250000000abap/heap_area_dia300000000abap/heap_area_nondia400000000em/initial_size_MB256em/blocksize_kB1024ipc/shm_psize_4070000000&sap; Note 0013026:NameValueztta/dynpro_area2500000&sap; Note 0157246:NameValuerdisp/ROLL_MAXFS16000rdisp/PG_MAXFS30000With the above parameters, on a system with 1 gigabyte
of memory, one may find memory consumption similar to:Mem: 547M Active, 305M Inact, 109M Wired, 40M Cache, 112M Buf, 3492K FreeProblems during InstallationRestart R3SETUP after Fixing a ProblemR3SETUP stops if it encounters an error. If you have
looked at the corresponding logfiles and fixed the error,
you have to start R3SETUP again, usually selecting REPEAT
as option for the last step R3SETUP complained about.To restart R3SETUP, just start it with the corresponding
R3S file:&prompt.root; ./R3SETUP -f CENTRDB.R3Sfor 4.6B, or with&prompt.root; ./R3SETUP -f CENTRAL.R3Sfor 4.6C, no matter whether the error occurred
with CENTRAL.R3S or
DATABASE.R3S.At some stages, R3SETUP assumes that both database
and &sap; processes are up and running (as those were steps it
already completed). Should errors occur and for example the
database could not be started, you have to start both database
and &sap; by hand after you fixed the errors and before starting
R3SETUP again.Do not forget to also start the &oracle; listener again (as
orasid with
umask 0; lsnrctl start) if it was also
stopped (for example due to a necessary reboot of the
system).OSUSERSIDADM_IND_ORA during R3SETUPIf R3SETUP complains at this stage, edit the
template file R3SETUP used at that time
(CENTRDB.R3S (4.6B) or either
CENTRAL.R3S or
DATABASE.R3S (4.6C)).
Locate [OSUSERSIDADM_IND_ORA] or search for the
only STATUS=ERROR entry
and edit the following values:HOME=/home/sidadm (was empty)
STATUS=OK (had status ERROR)
Then you can restart R3SETUP again.OSUSERDBSID_IND_ORA during R3SETUPPossibly R3SETUP also complains at this stage. The error
here is similar to the one in phase OSUSERSIDADM_IND_ORA.
Just edit
the template file R3SETUP used at that time
(CENTRDB.R3S (4.6B) or either
CENTRAL.R3S or
DATABASE.R3S (4.6C)).
Locate [OSUSERDBSID_IND_ORA] or search for the
only STATUS=ERROR entry
and edit the following value in that section:STATUS=OKThen restart R3SETUP.oraview.vrf FILE NOT FOUND during &oracle; InstallationYou have not deselected &oracle; On-Line Text Viewer
before starting the installation. This is marked for installation even
though this option is currently not available for Linux. Deselect this
product inside the &oracle; installation menu and restart installation.TEXTENV_INVALID during R3SETUP, RFC or SAPgui StartIf this error is encountered, the correct locale is
missing. &sap; Note 0171356 lists the necessary RPMs that need
be installed (e.g. saplocales-1.0-3,
saposcheck-1.0-1 for RedHat 6.1). In case
you ignored all the related errors and set the corresponding
STATUS from ERROR to OK (in CENTRDB.R3S) every time R3SETUP
complained and just restarted R3SETUP, the &sap; system will not
be properly configured and you will then not be able to
connect to the system with a
SAPgui, even though the system
can be started. Trying to connect with the old Linux
SAPgui gave the following
messages:Sat May 5 14:23:14 2001
*** ERROR => no valid userarea given [trgmsgo. 0401]
Sat May 5 14:23:22 2001
*** ERROR => ERROR NR 24 occured [trgmsgi. 0410]
*** ERROR => Error when generating text environment. [trgmsgi. 0435]
*** ERROR => function failed [trgmsgi. 0447]
*** ERROR => no socket operation allowed [trxio.c 3363]
SpeicherzugriffsfehlerThis behavior is due to &sap.r3; being unable to correctly
assign a locale and also not being properly configured itself
(missing entries in some database tables). To be able to connect
to &sap;, add the following entries to file
DEFAULT.PFL (see Note 0043288):abap/set_etct_env_at_new_mode = 0
install/collate/active = 0
rscp/TCP0B = TCP0BRestart the &sap; system. Now you can connect to the
system, even though country-specific language settings might
not work as expected. After correcting country settings
(and providing the correct locales), these entries can be
removed from DEFAULT.PFL and the &sap;
system can be restarted.ORA-00001This error only happened with
&oracle; 8.1.7 on FreeBSD.
The reason was that the &oracle; database could not initialize itself
properly and crashed, leaving semaphores and shared memory on the
system. The next try to start the database then returned
ORA-00001.Find them with ipcs -a and remove them
with ipcrm.ORA-00445 (Background Process PMON Did Not Start)This error happened with &oracle; 8.1.7.
This error is reported if the database is started with
the usual startsap script (for example
startsap_majestix_00) as user
prdadm.A possible workaround is to start the database as user
oraprd instead
with svrmgrl:&prompt.user; svrmgrl
SVRMGR> connect internal;
SVRMGR> startup;
SVRMGR> exitORA-12546 (Start Listener with Correct Permissions)Start the &oracle; listener as user
oraids with the following commands:&prompt.root; umask 0; lsnrctl startOtherwise you might get ORA-12546 as the sockets will not
have the correct permissions. See &sap; Note 0072984.ORA-27102 (Out of Memory)This error happened whilst trying to use values for
MAXDSIZ and DFLDSIZ
greater than 1 GB (1024x1024x1024). Additionally, we got
Linux Error 12: Cannot allocate memory.[DIPGNTAB_IND_IND] during R3SETUPIn general, see &sap; Note 0130581 (R3SETUP step
DIPGNTAB terminates). During the
IDES-specific installation, for some reason the installation
process was not using the proper &sap; system name IDS, but
the empty string "" instead. This leads to some minor problems
with accessing directories, as the paths are generated
dynamically using SID (in this case IDS). So instead
of accessing:/usr/sap/IDS/SYS/...
/usr/sap/IDS/DVMGS00the following paths were used:/usr/sap//SYS/...
/usr/sap/D00To continue with the installation, we created a link and an
additional directory:&prompt.root; pwd
/compat/linux/usr/sap
&prompt.root; ls -l
total 4
drwxr-xr-x 3 idsadm sapsys 512 May 5 11:20 D00
drwxr-x--x 5 idsadm sapsys 512 May 5 11:35 IDS
lrwxr-xr-x 1 root sapsys 7 May 5 11:35 SYS -> IDS/SYS
drwxrwxr-x 2 idsadm sapsys 512 May 5 13:00 tmp
drwxrwxr-x 11 idsadm sapsys 512 May 4 14:20 transWe also found &sap; Notes (0029227 and 0008401) describing
this behavior. We did not encounter any of these problems with
the &sap; 4.6C installation.[RFCRSWBOINI_IND_IND] during R3SETUPDuring installation of &sap; 4.6C,
this error was just the result of another error happening
earlier during installation. In this case, you have to look
through the corresponding logfiles and correct the real
problem.If after looking through the logfiles this error is
indeed the correct one (check the &sap; Notes), you can set
STATUS of the offending step from ERROR to OK (file
CENTRDB.R3S) and restart R3SETUP. After
installation, you have to execute the report
RSWBOINS from transaction SE38. See &sap;
Note 0162266 for additional information about phase
RFCRSWBOINI and
RFCRADDBDIF.[RFCRADDBDIF_IND_IND] during R3SETUPHere the same restrictions apply: make sure by looking
through the logfiles, that this error is not caused by some
previous problems.If you can confirm that &sap; Note 0162266 applies, just
set STATUS of the offending step from ERROR to OK (file
CENTRDB.R3S) and restart R3SETUP. After
installation, you have to execute the report
RADDBDIF from transaction SE38.sigaction sig31: File size limit exceededThis error occurred during start of &sap; processes
disp+work. If starting &sap; with the
startsap script, subprocesses are then started which
detach and do the dirty work of starting all other &sap;
processes. As a result, the script itself will not notice
if something goes wrong.To check whether the &sap; processes did start properly,
have a look at the process status with
ps ax | grep SID, which will give
you a list of all &oracle; and &sap; processes. If it looks like
some processes are missing or if you cannot connect to the &sap; system,
look at the corresponding logfiles which can be found
at /usr/sap/SID/DVEBMGSnr/work/.
The files to look at are dev_ms and
dev_disp.Signal 31 happens here if the amount of shared memory used by
&oracle; and &sap; exceed the one defined within the kernel configuration
file and could be resolved by using a larger value:# larger value for 46C production systems:
options SHMMAXPGS=393216
# smaller value sufficient for 46B:
#options SHMMAXPGS=262144Start of saposcol FailedThere are some problems with the program saposcol (version 4.6D).
The &sap; system is using saposcol to collect data about the
system performance. This program is not needed to use the &sap; system,
so this problem can be considered a minor one. The older versions
(4.6B) does work, but does not collect all the data (many calls will
just return 0, for example for CPU usage).Advanced TopicsIf you are curious as to how the Linux binary compatibility
works, this is the section you want to read. Most of what follows
is based heavily on an email written to &a.chat; by Terry Lambert
tlambert@primenet.com (Message ID:
<199906020108.SAA07001@usr09.primenet.com>).How Does It Work?execution class loaderFreeBSD has an abstraction called an execution class
loader. This is a wedge into the &man.execve.2; system
call.What happens is that FreeBSD has a list of loaders, instead of
a single loader with a fallback to the #!
loader for running any shell interpreters or shell scripts.Historically, the only loader on the &unix; platform examined
the magic number (generally the first 4 or 8 bytes of the file) to
see if it was a binary known to the system, and if so, invoked the
binary loader.If it was not the binary type for the system, the
&man.execve.2; call returned a failure, and the shell attempted to
start executing it as shell commands.The assumption was a default of whatever the current
shell is.Later, a hack was made for &man.sh.1; to examine the first two
characters, and if they were :\n, then it
invoked the &man.csh.1; shell instead (we believe SCO first made
this hack).What FreeBSD does now is go through a list of loaders, with a
generic #! loader that knows about interpreters
as the characters which follow to the next whitespace next to
last, followed by a fallback to
/bin/sh.ELFFor the Linux ABI support, FreeBSD sees the magic number as an
ELF binary (it makes no distinction between FreeBSD, &solaris;,
Linux, or any other OS which has an ELF image type, at this
point).SolarisThe ELF loader looks for a specialized
brand, which is a comment section in the ELF
image, and which is not present on SVR4/&solaris; ELF
binaries.For Linux binaries to function, they must be
branded as type Linux
from &man.brandelf.1;:&prompt.root; brandelf -t Linux fileWhen this is done, the ELF loader will see the
Linux brand on the file.ELFbrandingWhen the ELF loader sees the Linux brand,
the loader replaces a pointer in the proc
structure. All system calls are indexed through this pointer (in
a traditional &unix; system, this would be the
sysent[] structure array, containing the system
calls). In addition, the process is flagged for special handling of
the trap vector for the signal trampoline code, and several other
(minor) fix-ups that are handled by the Linux kernel
module.The Linux system call vector contains, among other things, a
list of sysent[] entries whose addresses reside
in the kernel module.When a system call is called by the Linux binary, the trap
code dereferences the system call function pointer off the
proc structure, and gets the Linux, not the
FreeBSD, system call entry points.In addition, the Linux mode dynamically
reroots lookups; this is, in effect, what the
option to file system mounts
(not the unionfs file system type!) does. First, an attempt
is made to lookup the file in the
/compat/linux/original-path
directory, then only if that fails, the
lookup is done in the
/original-path
directory. This makes sure that binaries that require other
binaries can run (e.g., the Linux toolchain can all run under
Linux ABI support). It also means that the Linux binaries can
load and execute FreeBSD binaries, if there are no corresponding
Linux binaries present, and that you could place a &man.uname.1;
command in the /compat/linux directory tree
to ensure that the Linux binaries could not tell they were not
running on Linux.In effect, there is a Linux kernel in the FreeBSD kernel; the
various underlying functions that implement all of the services
provided by the kernel are identical to both the FreeBSD system
call table entries, and the Linux system call table entries: file
system operations, virtual memory operations, signal delivery,
System V IPC, etc… The only difference is that FreeBSD
binaries get the FreeBSD glue functions, and
Linux binaries get the Linux glue functions
(most older OS's only had their own glue
functions: addresses of functions in a static global
sysent[] structure array, instead of addresses
of functions dereferenced off a dynamically initialized pointer in
the proc structure of the process making the
call).Which one is the native FreeBSD ABI? It does not matter.
Basically the only difference is that (currently; this could
easily be changed in a future release, and probably will be after
this) the FreeBSD glue functions are
statically linked into the kernel, and the Linux glue functions
can be statically linked, or they can be accessed via a kernel
module.Yeah, but is this really emulation? No. It is an ABI
implementation, not an emulation. There is no emulator (or
simulator, to cut off the next question) involved.So why is it sometimes called Linux emulation?
To make it hard to sell FreeBSD! Really, it
is because the historical implementation was done at a time when
there was really no word other than that to describe what was
going on; saying that FreeBSD ran Linux binaries was not true, if
you did not compile the code in or load a module, and there needed
to be a word to describe what was being loaded—hence
the Linux emulator.