[Rear-users] Kleine Probleme ReaR und Symlinks

Peter Eckhardt peter at linux-freelancer.net
Thu Apr 9 14:53:34 CEST 2009


Halloele,

aufgrund historisch gewachsener Strukturen gibt es bei einem Kunden
interessante TSM Client Pakete. Nach dem letzten TSM Client Update war
ReaR unter SLES 10 nicht mehr in der Lage das Boot ISO zu bauen. Ein
bisschen suchen brachte dann die Erkenntnis, dass versucht wird eine
Library aus zwei verschiedenen Orten (Symlink) in das ISO zu kopieren.
Das führt dann dazu, dass der cp in LibCopyTo mit Fehlermeldung
abbricht. Ähnliches Problem hatte ich vor kurzem mit TSM und einem
anderen schrägen IBM Paket.

Als generischen Fix schlage ich das folgende vor (siehe Pfeile)


in /usr/share/rear/lib/linux-functions.sh

# Copy libraries given in $* to $1, stripping them on the way
# like BinCopyTo, but copy symlinks as such, since some libraries
LibCopyTo() {
    echo "libCopyTo....."
   TARGET="$1" ; shift
   test -d "$TARGET" || Error "[LibCopyTo] Target $TARGET not a directory"
   for k in "$@" ; do
        test -z "$k" && continue # ignore blanks
        test -r "$k" || Error "[LibCopyTo] Source $k is not readable"
---->        if ! cmp "$TARGET/$(basename "$k")" "$k"
---->        then
              cp -v -a "$k" "$TARGET" || Error "[LipCopyTo] Could not
copy '$k' to '$TARGET'"
---->        fi
        test ! -L "$TARGET/$(basename "$k")" && strip -s
"$TARGET/$(basename "$k")"
   done

Vor dem kopieren prüfen ob evtl. schon eine identische Library
exisitiert. Falls ja nicht prüfen. Falls nein kopieren. Im echten
Fehlerfalle schlägt der cp weiter fehl. Evtl. kann man auch noch eine
aussagekräftige Fehlermeldung bringen.

Löst bei uns das Problem mit der Zusammenarbeit von TSM mit anderen IBM
Produkten und ReaR sowie mit dem aktuellen TSM Client (kundenverwurstelt).

Viele Grüße
Peter


Viele Grüße
Peter






More information about the rear-users mailing list