VdrFileRestore ERROR: FUSE version 2.5 and above is required.

Приветствую
Появилась необходимость восстановить файлы из резервной копии созданной VmwareDatarecovery.
При запуске **./VdrFileRestore **вылезает ошибка *ERROR: FUSE version 2.5 and above is required.
Может кто то сталкивался с этим.

OpenSuse 15.0 Leap

*fuse :2.9.7-lp150.2.3.1
fuse-utils :1.3.5-lp150.1.3
libspectrum :1.4.4-lp150.1.1
sshfs : 2.9-lp150.1.3

Нужно установить пакет libfuse2-32bit и другие зависимости с постфиксом *-32bit.

libfuse2-32bit у меня установленн. libfuse2-32bit 2.9.7-lp150.2.3.1

Где можно узнать какие зависимости нужны?
Весь интернет перелопатил.
Ничего не нашёл.

Предположу.
Если файл VdrFileRestore является бинарным, то может помочь команда

ldd ./VdrFileRestore

Если это скрипт, то ищите по тексту, что он выполняет.

Спасибо за совет, но там вроде все нормально.


suse@root:~/Desktop/VMwareRestoreClient>ldd ./vdrFileRestore
        linux-gate.so.1 (0xf7f31000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xf7ec9000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xf7d40000)
        libssl.so.0.9.8 => /usr/lib/libssl.so.0.9.8
        libcrypto.so.0.9.8 => /usr/lib/libcrypto.so.0.9.8 
        libdl.so.2 => /lib/libdl.so.2 (0xf7d3b000)
        libpthread.so.0 => /lib/libpthread.so.0 (0xf7d1c000)
        libc.so.6 => /lib/libc.so.6 (0xf7b41000)
        /lib/ld-linux.so.2 (0xf7f33000)
        libm.so.6 => /lib/libm.so.6 (0xf7a46000)

suse@root:~/Desktop/VMwareRestoreClient>l
total 140536
     4096 фев  4 10:29 **.**/
     4096 фев  1 15:41 **..**/
     4096 сен 30  2014 **disklibpluginvcdr**/
  1315740 сен 30  2014 libcrypto.so.0.9.8*
   126448 сен 30  2014 libexpat.so*
   126448 сен 30  2014 libexpat.so.0*
   126448 сен 30  2014 libexpat.so.0.5.0*
   286808 сен 30  2014 libssl.so.0.9.8*
 55475512 сен 30  2014 libtypes.so
  6313892 сен 30  2014 libvcbAPI.so*
   142308 сен 30  2014 libvdrVixApi.so*
   142308 сен 30  2014 libvdrVixApi.so.1.0*
  1739056 сен 30  2014 libvixDiskLib.so
  1739056 сен 30  2014 libvixDiskLib.so.5
  1739056 сен 30  2014 libvixDiskLib.so.5.0.0
  1997624 сен 30  2014 libvixMntapi.so
  1997624 сен 30  2014 libvixMntapi.so.1
  1997624 сен 30  2014 libvixMntapi.so.1.1.0
  6436336 сен 30  2014 libvmacore.so*
 21291592 сен 30  2014 libvmodlImpl.so*
  3590904 сен 30  2014 libvmodlStub.so*
 31492100 сен 30  2014 libvmodlTypes.so*
  4647972 сен 30  2014 libvmomi.so*
       31 сен 30  2014 README
  1123768 сен 30  2014 vdrFileRestore*
     3137 сен 30  2014 VdrFileRestore*

Нашёл часть кода в файле VdrFileRestore. Буду разбираться с BASH


# Validate FUSE installation.vm_check_package()
{
   local msg=""
   local ret=0


   # Check FUSE installation.
   msg=`ldd "$1"/libvixMntapi.so 2>&1 | grep -i libfuse.so.2 | cut -d' ' -f3`
   ret="$?"
   if  "$ret" -eq 0 ]
   then
      # Locate libfuse.
      msg=`echo "$msg" | grep -i libfuse`
      ret="$?"
      if  "$ret" -eq 0 ]
      then
         # Retrieve linked libfuse.
         msg=`readlink "$msg"`
         ret="$?"
         # Check for FUSE version.
         if  "$ret" -eq 0 ]
         then
            echo "$msg" | awk -F "." '
               BEGIN{found=0}
               {
                  for (i=3; i<=NF; i++)
                  {
                     if (($i > 2) || (($i == 2) && ($(i+1) >= 5)))
                     {
                        found=1
                        exit 0
                     }
                     break
                  }
               }
               END{if (found == 0) exit 1}'
            ret="$?"
         fi
      fi
   fi


   # Provide FUSE version information.
   if  "$ret" -gt 0 ]
   then
      echo "ERROR: FUSE version 2.5 and above is required."
      exit 1
   fi
}

Я не проверял, но мне кажется, что такой скрипт при вашей версии libfuse сработает только на 2.3.1 в самом конце и закономерно отвергнет эту “меньшую чем 2.5” версию. Но это если смотреть на полную строку, которую вы привели. Как полностью называется сам файл библиотеки?

Как я понимаю 2.9.7 это версия, а lp150.2.3.1 это…:sarcastic: возможно RC.


suse@root:~/Desktop/VMwareRestoreClient>zypper info libfuse2
Loading repository data...
Reading installed packages...


Information for package libfuse2:
---------------------------------
Repository     : Main Update Repository                                            
Name           : libfuse2                                                          
Version        : 2.9.7-lp150.2.3.1                                                 
Arch           : x86_64                                                            
Vendor         : openSUSE                                                          
Installed Size : 248,2 KiB                                                         
Installed      : Yes                                                               
Status         : up-to-date                                                        
Source package : fuse-2.9.7-lp150.2.3.1.src                                        
Summary        : Library of FUSE, the User space File System for GNU/Linux and BSD
Description    :                                                                   
    With FUSE, a user space program can export a file system through the
    kernel-default (Linux kernel).

    A FUSE file system which only needs libfuse2 is ntfs-3g, other FUSE
    file systems might need the fuse package in addition to have fusermount
    and /sbin/mount.fuse.

    After installing fuse-devel, administrators can compile and install
    other user space file systems which can be found at
    http://fuse.sourceforge.net/wiki

а что выдаёт ldd ./libvixMntapi.so ?

ну и как нехороший вариант: поменять последний “exit 1” на “exit 0” )

lp150.2.3.1 - это номер релиза (меняется при пересборке rpm-ки) на версию библиотеки (2.9.7) это никак не влияет,

скрипт смотрит, находит ли ldd libfuse.so.2 , затем awk проверят какие цифры в названии файла, если первая цифра >2 или =2 и за ней >=5 - то ок.

Добрый день,

а что выдаёт ldd ./libvixMntapi.so ?

linux-gate.so.1 (0xf7fcc000)
libdl.so.2 => /lib/libdl.so.2 (0xf7d8b000)
libpthread.so.0 => /lib/libpthread.so.0 (0xf7d6c000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0xf7d36000)
libz.so.1 => /lib/libz.so.1 (0xf7d1d000)
libvixDiskLib.so.5 => /lib/libvixDiskLib.so.5 (0xf7abb000)
libfuse.so.2 => /lib/libfuse.so.2 (0xf7ce2000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xf7cc5000)
libc.so.6 => /lib/libc.so.6 (0xf7aea000)
/lib/ld-linux.so.2 (0xf7fce000)

поменять последний “exit 1” на “exit 0” )
Менял и коментировал.
После запуска

./VdrFileRestore -a 192.168.0.2 -s 192.168.0.1 -u admin -p  mypass -v

Показывает все возможные точки монтирования, далее просит ввести номер

Please input restore point to mount from list above

После ввода номера точки монтирования:

VixDiskLib: Could not load default plugins from /root/Desktop/VMwareRestoreClient/disklibpluginvcdr/plugins32/libdiskLibPlugin.
so: Cannot open library: /root/Desktop/VMwareRestoreClient/disklibpluginvcdr/plugins32/libdiskLibPlugin.so: cannot open shared 
object file: No such file or directory.

DISKLIB-PLUGIN : Not loading plugin /root/Desktop/VMwareRestoreClient/disklibpluginvcdr/plugins32/libvdrplugin.so.1.0: Not a sh
ared library.
 
suse@root:~/Desktop/VMwareRestoreClient> l /root/Desktop/VMwareRestoreClient/disklibpluginvcdr/plugins32/
drwxr-xr-x 2 4096    Sep 30  2014 **.**/
drwxr-xr-x 3 4096    Sep 30  2014 **..**/
-rwxr-xr-x 1 1272760 Sep 30  2014 libvdrplugin.so*
-rwxr-xr-x 1 1272760 Sep 30  2014 libvdrplugin.so.1.0*

продолжение вывода

--- Mounting Virtual Disk: /tmp/flr-22025-PaMJKz ---

Current user owns '/tmp/flr-22025-PaMJKz'. Allowing mount.

SNAPSHOT: IsDiskModifySafe: Scanning directory of file /tmp/flr-22025-PaMJKz for vmx files.

Disk flat file mounted under /run/vmware/fuse/15367087538564504066

VixMntapi_OpenDisks: Mounted disk /tmp/flr-22025-PaMJKz at /run/vmware/fuse/15367087538564504066/flat.

Mounting Partition 1 from disk /tmp/flr-22025-PaMJKz

VixMntapi_MountVolume: Failed to mount partition 1 of disk on '/tmp/vmware-root/15367087538564504066_1': All loop devices on the hos
t are in use..

VdrVixMount: Vix could not mount volume error: 1
Removed "/root/2019-01-05-17.00.15"
VdrVixUnmount: Failed to dismount volume 0, error: 3
VdrVixUnmount: Failed to dismount volume 1, error: 3
Unmounting disk: /tmp/flr-22025-PaMJKz

Current user owns '/tmp/flr-22025-PaMJKz'. Allowing unmount.

Maximum symlink level is 19

Current user owns '/tmp/flr-22025-PaMJKz'. Allowing unmount.

FileLevelRestore::vixMountEnum: Failed to mount drive "2_Centos_www.vmdk" error: 1


No valid mounts created.


This is most likey due to errors during the mount process, running with -v (--verbose) will display more information.
FileLevelRestore::main: Error occurred, error: 1
VixDiskLib: VixDiskLib_Exit called. Unmatched Init calls so far: 1.

Вывод: Проблема не решилась, и решать её я за*я…
Всем спасибо за помощь и неравнодушие. :wink:

libdiskLibPlugin.so требует, как вижу.
А вашем листинге из ‘disklibpluginvcdr/plugins32/’ его и нет.
Искать как-то?