PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Die Leidensgeschichte geht weiter: openSuSI und bacula



pibi
21.04.13, 11:08
Hallo zusammen!

Der Kampf mit der SuSI geht in die naechste Runde. Nachdem mein neuer Server nun notduerftig konfiguriert ist (aber immer noch nicht produktiv geschaltet ist), kommt das naechste Problem:-(

Seit Jahren benutze ich "bacula" als Backup-Tool. Funktioniert hervorragend. Ebenfalls seit Jahren habe ich "bacula" immer via "git" von der Seite der Entwickler heruntergeladen und selber kompliliert und installiert. Auch das war bis vor ca. einem Jahr problemlos moeglich. Auch schon mit frueheren 12er SuSI's klappte es selber kompilieren nicht mehr:
ml370g4:/tmp/bacula # make
==>Entering directory /tmp/bacula/src
make[1]: Entering directory `/tmp/bacula/src'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/tmp/bacula/src'
==>Entering directory /tmp/bacula/scripts
make[1]: Entering directory `/tmp/bacula/scripts'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/tmp/bacula/scripts'
==>Entering directory /tmp/bacula/src/lib
make[1]: Entering directory `/tmp/bacula/src/lib'
Compiling attr.c
Compiling base64.c
Compiling berrno.c
Compiling bsys.c
Compiling bget_msg.c
Compiling bnet.c
Compiling bnet_server.c
Compiling runscript.c
Compiling bsock.c
Compiling bpipe.c
Compiling bsnprintf.c
bsnprintf.c: In function ‘int bvsnprintf(char*, int32_t, const char*, __va_list_tag*)’:
bsnprintf.c:377:25: warning: variable ‘num’ set but not used [-Wunused-but-set-variable]
bsnprintf.c:383:25: warning: variable ‘num’ set but not used [-Wunused-but-set-variable]
bsnprintf.c:389:25: warning: variable ‘num’ set but not used [-Wunused-but-set-variable]
bsnprintf.c:395:25: warning: variable ‘num’ set but not used [-Wunused-but-set-variable]
Compiling btime.c
Compiling cram-md5.c
Compiling crc32.c
Compiling crypto.c
Compiling daemon.c
Compiling edit.c
Compiling fnmatch.c
Compiling guid_to_name.c
Compiling hmac.c
Compiling jcr.c
Compiling lex.c
Compiling alist.c
Compiling dlist.c
Compiling md5.c
Compiling message.c
Compiling mem_pool.c
In file included from mem_pool.c:51:0:
/usr/include/malloc.h:60:14: error: ‘void* sm_malloc’ redeclared as different kind of symbol
In file included from ../lib/lib.h:38:0,
from ../bacula.h:175,
from mem_pool.c:49:
../lib/smartall.h:47:14: error: previous declaration of ‘void* sm_malloc(const char*, int, unsigned int)’
In file included from mem_pool.c:51:0:
/usr/include/malloc.h:60:14: error: expected primary-expression before ‘__size’
/usr/include/malloc.h:60:14: error: expected ‘)’ before ‘__size’
/usr/include/malloc.h:63:14: error: ‘void* sm_calloc’ redeclared as different kind of symbol
In file included from ../lib/lib.h:38:0,
from ../bacula.h:175,
from mem_pool.c:49:
../lib/smartall.h:48:14: error: previous declaration of ‘void* sm_calloc(const char*, int, unsigned int, unsigned int)’
In file included from mem_pool.c:51:0:
/usr/include/malloc.h:63:14: error: expected primary-expression before ‘__nmemb’
/usr/include/malloc.h:63:14: error: expected ‘)’ before ‘__nmemb’
/usr/include/malloc.h:71:14: error: ‘void* sm_realloc’ redeclared as different kind of symbol
In file included from ../lib/lib.h:38:0,
from ../bacula.h:175,
from mem_pool.c:49:
../lib/smartall.h:50:14: error: previous declaration of ‘void* sm_realloc(const char*, int, void*, unsigned int)’
In file included from mem_pool.c:51:0:
/usr/include/malloc.h:71:14: error: expected primary-expression before ‘void’
/usr/include/malloc.h:71:14: error: expected ‘)’ before ‘void’
/usr/include/malloc.h:75:13: error: variable or field ‘sm_free’ declared void
/usr/include/malloc.h:75:13: error: expected primary-expression before ‘void’
/usr/include/malloc.h:75:13: error: expected ‘)’ before ‘void’
/usr/include/malloc.h:78:13: error: variable or field ‘sm_free’ declared void
/usr/include/malloc.h:78:13: error: expected primary-expression before ‘void’
/usr/include/malloc.h:78:13: error: expected ‘)’ before ‘void’
make[1]: *** [mem_pool.lo] Error 1
make[1]: Leaving directory `/tmp/bacula/src/lib'


====== Error in /tmp/bacula/src/lib ======


==>Entering directory /tmp/bacula/src/findlib
make[1]: Entering directory `/tmp/bacula/src/findlib'
Compiling find.c
Compiling match.c
Compiling find_one.c
^Cmake[1]: *** [find_one.lo] Error 1
make: *** [all] Interrupt

ml370g4:/tmp/bacula # Hier habe ich abgebrochen. Was ist da faul?

Anyway: Man wird aelter und bequemer, also habe ich gemaess dieser Seite (http://pkgs.org/opensuse-12.3/opensuse-archiving-backup-i586/bacula-docs-pdf-en-5.2.13-1.1.noarch.rpm.html) Bacula in mein zypper aufgenommen und installiert. Soweit sogut.

Aber wie starte ich das Teil jetzt? Es gibt zwar als ausfuehrbare Programme diese drei hier:
ml370g4:/tmp/bacula # rcbacula-[TAB]
rcbacula-dir rcbacula-fd rcbacula-sd
ml370g4:/tmp/bacula] #Aber ein Versuch, den Director zu starten, bringt nur:
ml370g4:/tmp/bacula] # rcbacula-dir start
rcbacula-dir: no such service bacula-dir
ml370g4:/tmp/bacula # rcbacula-dir --help
Usage: rcbacula-dir [<options> | <service> [<args> | --full-restart]]
Available <options>:
-h,--help This help.
-s,--status-all List out status of all services.
Usage for specific <service>:
rcbacula-dir service_name argument [option]
rcbacula-dir service_name --full-restart
rcbacula-dir --full-restart service_name
ml370g4:/tmp/bacula #Welche Parameter werden erwartet?

Anyway2: Ich habe bacula-fd und bacula-sd manuell gestartet, einfach durch Eingabe der Executables in der Kommandozeile. Soweit OK. Nur "bacula-dir" zickt rum. Die DB vom alten Server habe ich logischerweite als Dump uebertragen.
ml370g4:/tmp/bacula # bacula-dir -d 3 -f
bacula-dir: dird.c:1015-0 Could not open Catalog "MyCatalog", database "bacula".
bacula-dir: dird.c:1020-0 Version error for database "bacula". Wanted 14, got 13
21-Apr 11:48 bacula-dir ERROR TERMINATION
Please correct configuration file: bacula-dir.conf
ml370g4:/tmp/bacula #Ok, die Datenbankversion stimmt nicht. Kein Problem, dafuer hat bacula bisher immer Converter mitgeliefert. Hier die Auswahl, die die Installation bietet:
ml370g4:/tmp/bacula # dir /usr/lib64/bacula/updatedb/update_postgresql_tabl*
-rwxr-xr-- 1 root bacula 1276 Mar 19 09:04 /usr/lib64/bacula/updatedb/update_postgresql_tables_10_to_11
-rwxr-xr-- 1 root bacula 2867 Mar 19 09:04 /usr/lib64/bacula/updatedb/update_postgresql_tables_11_to_12
-rwxr-xr-- 1 root bacula 1543 Mar 19 09:04 /usr/lib64/bacula/updatedb/update_postgresql_tables_12_to_14
-rwxr-xr-- 1 root bacula 2071 Mar 19 09:04 /usr/lib64/bacula/updatedb/update_postgresql_tables_7_to_8
-rwxr-xr-- 1 root bacula 4252 Mar 19 09:04 /usr/lib64/bacula/updatedb/update_postgresql_tables_8_to_9
-rwxr-xr-- 1 root bacula 2421 Mar 19 09:04 /usr/lib64/bacula/updatedb/update_postgresql_tables_9_to_10
ml370g4:/tmp/bacula # Hmpf??!Dann probieren wir halt den Converter fuer die Verson 12:
ml370g4:/tmp/bacula # /usr/lib64/bacula/updatedb/update_postgresql_tables_12_to_14 --username bacula

This script will update a Bacula PostgreSQL database from version 12 to 14
which is needed to convert from Bacula Community version 5.0.x to 5.2.x


The existing database is version 13 !!
This script can only update an existing version 12 database to version 14.
Error. Cannot upgrade this database.

ml370g4:/tmp/bacula # So. Und jetzt bin ich vollkommen ratlos:-(

a) Wie bekomme ich meine alten Catalogs in die neue Version?
b) Wie bekomme ich bacula automatisch beim Boot gestartet? Mit sysvinit war das alles viel einfacher und logischer.

Any ideas?

Danke und Gruss Pit.

`Ghost
21.04.13, 11:59
The existing database is version 13 !!
und

update_postgresql_tables_12_to_14
vielleicht kann man Version postgresql 13 so nutzen. Warum willst du deine Tabellen updaten? Welche Version hattest du den vorher?

pibi
21.04.13, 12:35
Warum willst du deine Tabellen updaten?Immer Beitraege richtig lesen;-) Siehe meine erste Msg. unter "Anyway2:".

Gruss Pit.

nopes
21.04.13, 21:22
Autsch, klingt irgendwie nicht aufbauend, ich werde aber in eine ähnliche Kerbe wie Ghost schlagen - nur als Warnung ;); und ja ich habe mir deinen Post komplett durchgelesen.

Wenn es doch vorher lieft, hast du ja vielleicht noch die alten Quellen da, kann man damit bauen? Ansonsten hat dein altes bacula doch eine Versionsnummer (evt. hast du ja sogar die Versionssnummer vom GIT), man kann also probieren, ein identisches Produkt zu bauen - ist vermutlich gar nicht so dumm wie es klingt, Beispiel alte Tapes? Habe es selbst schon erlebt, dass es zu einem riesen Problem wurde, erst war das Bandlaufwerk kaputt - da konnten wir eins leihen. Aber dann konnten nur durch Glück ein Stück Software aufgetrieben werden, was fähig war etwas von den Bändern zu lesen.

pibi
22.04.13, 07:30
nur als Warnung ;); und ja ich habe mir deinen Post komplett durchgelesen.Danke:-)
Wenn es doch vorher lieft, hast du ja vielleicht noch die alten Quellen da, kann man damit bauen?Natuerlich habe ich die noch. Allerdings finde ich es sinnvoll, bei einer Neuinstallation auch die jeweils neueste Version der Tools zu verwenden.
Ansonsten hat dein altes bacula doch eine Versionsnummer (evt. hast du ja sogar die Versionssnummer vom GIT), man kann also probieren, ein identisches Produkt zu bauen - ist vermutlich gar nicht so dumm wie es klingtSorry, verstehe ich jetzt nicht ganz. Was soll ich mit welchen Quellen bauen?

Gruss Pit.

nopes
22.04.13, 09:17
Du sollst die selbe Software, wie auf dem alten System, bauen, halt die alten bzw. vorhanden Quellen nehmen. Wie gesagt nur ein Vorschlag.

pibi
23.04.13, 20:06
Habe ich nun gemacht. Allerdings ist die letzte selber compilierbare Version im Zeitalter der EDV schon "steinalt":

ml370g4:/etc/bacula # bco
Connecting to Director localhost:9101
1000 OK: ml370g4-dir Version: 5.1.7 (24 July 2010)
Enter a period to cancel a command.
*q
ml370g4:/etc/bacula # Hmpf! Anscheinend waren die aelteren Version der Compiler etwas "fehlertoleranter". Wenn ich mal ganz viel Zeit habe, schreibe ich eine Mail an die Entwickler.

Danke einstweilen und Gruss
Pit.