View previous topic :: View next topic |
Author |
Message |
aZZe l33t
Joined: 20 Feb 2003 Posts: 965 Location: Dinslaken, Germany
|
Posted: Fri Oct 22, 2004 8:06 pm Post subject: IBM DB2 Installation für Gentoo |
|
|
Hallo!
Wie vielleicht schon einige gesehen haben, beschäftige ich mich mit der IBM DB2 Datenbank. Da ich diese DB auch unter Gentoo nutzen möchte und viele Probleme mit der Installation hatten, da die IBM sich via rpm Paketmanager installiert und dieser nunmal nicht Standard ist bei Gentoo (Gott sei gelobt ), habe ich mir gedacht ich schreibe hier ein HOWTO wie man die aktuelle IBM DB2 V8.2 ans laufen bekommt. Es gibt zwar hier einige Hinweise, Tips und Tricks und auch Links z.B. zur IBM Seite, diese sind aber nicht vollständig.
Step by step:
Wir benötigen zur Installation den rpm Paketmanager, ob wir wollen oder nicht:
Danach müssen wir den gesamten Inhalt von der CD in ein Verzeichnis auf der Festplatte kopieren, da wir gleich noch ein paar Scripte abändern müssen und das geht nun auf einer gebrannten CD schlecht
Da Gentoo ja keine rpm Distri ist wirds auch schwierig mit dem Auflösen der Abhängigkeiten. Da sich aber alle nötigen Pakete auf der CD befinden bzw. nachher in unserem Ordner auf unserer Festplatte können wir die Pakete mittels der Option "--nodeps" installieren.
Wenn wir also den gesamten Inhalt der CD in z.B. /home/tux/DB2 installiert haben bitte ins folgende Verzeichnis wechseln:
Code: | cd /home/tux/DB2/db2/linux |
Dort befindet sich das Install Script "db2_install". Dieses ist dafür verantwortlich die rpms zu installieren und die Abhängigkeiten zu prüfen. Hier muss nun folgende Zeile gefunden werden:
Code: | # Install packages
if [ ! "${DB2PKGLIST?}" = "" ]; then
RPMEXTN="-8.1.0-0.i386.rpm"
for pkg in ${DB2PKGLIST?}; do
echo " ${pkg?}..."
rpm -ivh ${INSTDEV?}/${pkg?}${RPMEXTN?} 2>&1 \ <--- die hier!!
| tee -a ${DB2INSTLOG?}
if [ $? -ne 0 ]
then
StopProg 1
fi
done
fi
|
Diese Sektion muss nun ergänzt werden durch die Option "--nodeps":
Code: |
# Install packages
if [ ! "${DB2PKGLIST?}" = "" ]; then
RPMEXTN="-8.1.0-0.i386.rpm"
for pkg in ${DB2PKGLIST?}; do
echo " ${pkg?}..."
rpm --nodeps -ivh ${INSTDEV?}/${pkg?}${RPMEXTN?} 2>&1 \
| tee -a ${DB2INSTLOG?}
if [ $? -ne 0 ]
then
StopProg 1
fi
done
fi
|
Nun sind wir in der Lage das eigentliche Install Skript im Ordner /home/tux/DB2 auszuführen. Dieses Skript hat den gleichen Namen wie das, das wir gerade geändert haben. Dieses ist das Haupt Installations Skript womit man die verschiedenen Server wie Enterprise Server Application Server etc. auswählen kann. Nach Bestätigung des gewählten Servers ruft dieses Skript das Skript auf, was wir gerade geändert haben, um die rpms zu installieren.
In diesem Ordner befindet sich auch das Installationsscript "db2setup" für die grafische Installation mittels Java. Dieses Script hat so wirklich noch keiner ans laufen gebracht und kann daher gerne ignoriert werden. Sollte hier jemand erfolgreich sein gibts von der IBM ein Geschenk
Nun müssen drei Benutzer angelegt werden, die die DB2 benötigt. Einen User "db2inst1" für die Instanz, um mit der Datenbank arbeiten zu können, einen fenc Benutzer "db2fenc1" für Sicherheitsmechanismen und einen Benutzer "db2as" für den Verwaltungsserver. Alle drei Benutzer benötigen aber auch eigene Gruppen, die jeweils auch ihre primäre Gruppe sein müssen.
Die Gruppe users darf nicht primäre Gruppe dieser Benutzer sein!!!
Code: |
groupadd db2iadm1 #Gruppe für User db2inst1 |
Code: | groupadd db2fadm1 #Gruppe für User db2fenc1 |
Code: | groupadd db2asgrp #Gruppe für User db2as |
Nun werden die einzelnen User mit ihren Gruppen angelegt:
Code: | useradd -m db2inst1 -g db2iadm1 |
Code: | useradd -m db2fenc1 -g db2fadm1 |
Code: | useradd -m db2as -g db2asgrp |
Nun muss eine Instanz und ein Verwaltungsserver angelegt werden. Hier müssen nun unter Gentoo und vielleicht auch anderen Distris alle Skripte in /opt/IBM/db2/V8.1/instance angefasst werden in denen ein "tail" aufgerufen wird. Welche das sind kann man leicht mit grep herausfinden:
Code: | grep -ir tail* db2* |
Die Skripte rufen tail z.B. mit der Syntax "tail +2" auf. Da neuere tail Versionen von gentoo damit nicht klar kommen muss jedes tail ein "-n" enthalten. Wenn also z.B. wie im Skript db2iutil folgende Zeile steht:
Code: | fsname=`awk '{print $NF}' ${TMPFILE3?} | tail -1 |
muss diese abgeändert werden in:
Code: | fsname=`awk '{print $NF}' ${TMPFILE3?} | tail -n -1 |
Und so muss jede Zeile in allen Skripten im Verzeichnis instance abgeändert werden, die ein tail enthält. Bevor wir die Instanz und den Verwaltungsserver nun anlegen, sollte man an dieser Stelle nun das Fixpack7 einspielen, da man ansonsten bei bestehender Instanz und Verwaltungsserver diese auch noch updaten muss, was ein bischen viel Arbeit ist und da wir ja faul sind updaten wir von Anfang an. Das Fixpack7 Codename "Stinger" upgradet die DB2 8.1 zur Version 8.2. (Besteht dennoch Interesse bezüglich eines nachträglichem Updates bitte eben posten.)
Das Update verläuft nun genauso wie die Installation der DB2 selbst. Ich denke ich muss hier nicht weiter darauf eingehen. Im Anschluss können wir nun unsere Instanz anlegen:
Code: | /opt/IBM/db2/V8.1/instance/db2icrt -u db2fenc1 db2inst1 |
Lässt man den db2fenc1 user hier weg verzichtet man auf die Sicherheitsmechanismen für diese Instanz. Dies sähe analog dazu so aus:
Code: | /opt/IBM/db2/V8.1/instance/db2icrt -u db2inst1 db2inst1 |
Nun noch der Verwaltungsserver:
Code: | /opt/IBM/db2/V8.1/instance/dascrt -u db2as |
Nun meldet man sich als Benutzer db2inst1 an. Nur dieser Benutzer kann die DB2 starten, db2 Befehle ausführen und die DB2 weider stoppen.
Den Verwaltungsserver kann nur der db2as Benutzer starten und stoppen. Dieser wird benötigt um Client-Server Verbindungen herzustellen.
Ich hoffe hier für ein wenig Klarheit verholfen zu haben und wünsche viel Spass bei der Arbeit.
aZZe _________________ ASUS 4A785TD-V EVO with AMD Phenom(tm) II X4 965
4GB RAM DDR3-1333
ATI Radeon HD4870
Last edited by aZZe on Thu Jan 26, 2006 10:56 am; edited 1 time in total |
|
Back to top |
|
|
dakjo Veteran
Joined: 31 Jan 2004 Posts: 1544
|
Posted: Sat Oct 23, 2004 8:47 pm Post subject: |
|
|
Gratulation _________________ 'Dieselben Naturkräfte, die uns ermöglichen, zu den Sternen zu fliegen, versetzen uns auch in die Lage, unseren Stern zu vernichten.' - Wernher von Braun
http://www.mpsna.de |
|
Back to top |
|
|
andreask Apprentice
Joined: 09 Sep 2003 Posts: 282 Location: Aachen, Germany
|
Posted: Sun Oct 24, 2004 10:49 am Post subject: |
|
|
Hi!
Vielen Dank, das hatte ich in der nächsten Zeit auch mal vor. Bisher hatte ich DB2 nur unter RedHat laufen. Ich hatte auch schonmal nach Anleitungen gesucht und bin auf folgende gestoßen (kennst Du vermutlich schon...):
http://www-106.ibm.com/developerworks/db2/library/techarticle/dm-0403wright/?ca=dnl-db2mag
http://kjeldahl.net/db2/
Zusammen mit Deiner Anleitung sollte ich es jetzt ja hinbekommen können
Allerdings hatte ich gehofft dass ich um rpm herum komme. Ich dachte, evtl. könnte man mit Hilfe von rpm2tgz und ein bisschen Handarbeit ein tbz2 Paket erstellen, welches die Abhängigkeiten aus dem RPM für portage "übersetzt"?
Aber bisher haben alle Anleitungen einfach rpm mit --nodeps" verwendet, scheint also der schlauere Weg zu sein. Aber was ist, wenn es tatsächlich Abhängigkeiten von irgendwelchen libs gibt, die nicht oder in falscher Version vorhanden sind? Kann man nicht irgendwie an die Abhängigkeiten aus dem RPM kommen so dass man diese ggfs. manuell nachinstallieren kann?
Jedenfalls vielen Dank für die Anleitung! |
|
Back to top |
|
|
andreask Apprentice
Joined: 09 Sep 2003 Posts: 282 Location: Aachen, Germany
|
Posted: Sun Oct 24, 2004 11:09 am Post subject: |
|
|
Ein paar (leider etwas veraltete) Infos gibt es auch im LDP: http://www.tldp.org/HOWTO/DB2-HOWTO/
Aber wie es aussieht soll sich dies bald ändern:
Quote: | # DB2 For Linux HOWTO
Ian Hakes talked to Dan Scott about the DB2 For Linux HOWTO who allowed him to take over the DB2 for Linux Howto, with basically a full re-write to cover DB2's latest release V8.2 on up-to-date enterprise and personal Linux distributions (RHEL 3, SLES 8, SLES 9, along with Red Hat 8, Fedora Core 2, SuSE Pro 9.1, and possibly Mandrake 10, Gentoo and maybe even Debian). This effort was started by another writer, Rory Hinton, who had to drop off the project, so Ian would be taking primary responsibility for the document, which is about 60% complete.
| (Quelle: http://www.tldp.org/ldpwn/20040915.html#tldp-world-news)
AFAIK geht es hier um folgendes HOWTO: http://www.julieandian.com/writing/82howto/db2LinuxHowToV8_definitive_5.pdf
(nur um hier mal ein paar Infos zusammenzutragen ) |
|
Back to top |
|
|
andreask Apprentice
Joined: 09 Sep 2003 Posts: 282 Location: Aachen, Germany
|
|
Back to top |
|
|
aZZe l33t
Joined: 20 Feb 2003 Posts: 965 Location: Dinslaken, Germany
|
Posted: Sun Oct 24, 2004 8:43 pm Post subject: |
|
|
andreask wrote: |
IBM DB2 ist durchaus interessant, man kann sie natürlich um sonst zum Testen/Entwickeln installieren, und eine kommerzielle Lizenz kostet nicht viel mehr als eine kommerzielle MySQL-Lizenz. |
Genau! Die DB2 bietet zudem eine Menge mehr Features. Es lassen sich auch richtig schöne Cluster mit der DB2 bauen. _________________ ASUS 4A785TD-V EVO with AMD Phenom(tm) II X4 965
4GB RAM DDR3-1333
ATI Radeon HD4870 |
|
Back to top |
|
|
andreask Apprentice
Joined: 09 Sep 2003 Posts: 282 Location: Aachen, Germany
|
|
Back to top |
|
|
psyqil Advocate
Joined: 26 May 2003 Posts: 2767
|
Posted: Mon Aug 08, 2005 11:49 am Post subject: |
|
|
andreask wrote: | Oder könnte man aus dem RPM nicht irgendwie ein binäres Paket für Portage machen? | Hau rein: Code: | * app-arch/rpm2targz
Latest version available: 9.0-r3
Latest version installed: 9.0-r2
Size of downloaded files: 2 kB
Homepage: http://www.slackware.com/config/packages.php
Description: Convert a .rpm file to a .tar.gz archive
License: as-is |
|
|
Back to top |
|
|
andreask Apprentice
Joined: 09 Sep 2003 Posts: 282 Location: Aachen, Germany
|
Posted: Mon Aug 08, 2005 11:58 am Post subject: |
|
|
Ja, Dank Debian bin ich auch auf
Code: | * app-arch/alien
Latest version available: 8.53
Latest version installed: [ Not Installed ]
Size of downloaded files: 83 kB
Homepage: http://kitenet.net/programs/alien/
Description: Converts between the rpm, dpkg, stampede slp, and slackware tgz file formats
License: LGPL-2.1
|
gestoßen. Allerdings habe ich keine Ahnung davon, es gibt anscheinend Möglichkeiten RPMs in DEBs (für Debian) und TGZs (für Slackware) zu verwandeln. Aber was hat man davon? Die Datei hat ne andere Endung und ich kann es immer noch nicht emergen
Was ist denn nötig um aus einem RPM, DEB oder TGZ ein Portage-kompatibles TBZ2 Paket zu erhalten? Ich kenne das nur dass so ein Paket per emerge erzeugt wird. Aber wie funktioniert das wenn ich bereits bestehende binaries/libraries in einem Archiv habe? Gibts dazu irgendwo irgendeine nette Dokumentation? Was das binäre Paket-Format für Gentoo angeht finde ich da doch recht wenig.
Oder müsste man ein wildes ebuild schreiben das alle möglichen binären Dateien durch die Gegend kopiert? |
|
Back to top |
|
|
psyqil Advocate
Joined: 26 May 2003 Posts: 2767
|
Posted: Mon Aug 08, 2005 12:05 pm Post subject: |
|
|
andreask wrote: | Oder müsste man ein wildes ebuild schreiben das alle möglichen binären Dateien durch die Gegend kopiert? | Nun, es müßte nicht notwendigerweise wild sein, es sollte auch nicht alle möglichen Binärdateien durch die Gegend kopieren, sondern nur die aus dem Archiv dahin, wo sie hingehören, aber prinzipiell hast Du völlig recht! |
|
Back to top |
|
|
andreask Apprentice
Joined: 09 Sep 2003 Posts: 282 Location: Aachen, Germany
|
|
Back to top |
|
|
andreask Apprentice
Joined: 09 Sep 2003 Posts: 282 Location: Aachen, Germany
|
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|