Trying to install rdiff-backup


Recommended Posts

Hi

 

I have a offsite NAS that will be my backup server - it reaches out and pulls data from the unraid box using rdiff-backup.  However, both machine require the rdiff-backup program installed - I got it running on the remote machine, but have hit a wall trying to get it onto the unraid box.

 

root@unraid:~# pip3 install rdiff-backup
Collecting rdiff-backup
  Using cached rdiff-backup-2.0.5.tar.gz (456 kB)
Requirement already satisfied: setuptools in /usr/lib64/python3.9/site-packages (from rdiff-backup) (63.2.0)
Using legacy 'setup.py install' for rdiff-backup, since package 'wheel' is not installed.
Installing collected packages: rdiff-backup
    Running setup.py install for rdiff-backup ... error
    ERROR: Command errored out with exit status 1:
     command: /usr/bin/python3 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-cmxy5xl5/rdiff-backup_985e6dfcedc44e439cdd253ac4d5537f/setup.py'"'"'; __file__='"'"'/tmp/pip-install-cmxy5xl5/rdiff-backup_985e6dfcedc44e439cdd253ac4d5537f/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-yiw55yzo/install-record.txt --single-version-externally-managed --compile --install-headers /usr/include/python3.9/rdiff-backup
         cwd: /tmp/pip-install-cmxy5xl5/rdiff-backup_985e6dfcedc44e439cdd253ac4d5537f/
    Complete output (59 lines):
    /usr/lib64/python3.9/site-packages/setuptools/installer.py:27: SetuptoolsDeprecationWarning: setuptools.installer is deprecated. Requirements should be satisfied by a PEP 517 installer.
      warnings.warn(
    WARNING: The wheel package is not available.
    WARNING: The wheel package is not available.
    WARNING: The wheel package is not available.
    WARNING: The wheel package is not available.
    WARNING: The wheel package is not available.
    running install
    /usr/lib64/python3.9/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
      warnings.warn(
    running build
    running build_py
    running build_templates
    templating tools/rdiff-backup.spec.template -> build/rdiff-backup.spec
    creating build
    templating tools/rdiff-backup.spec.template-fedora -> build/rdiff-backup.fedora.spec
    templating docs/rdiff-backup.1 -> build/rdiff-backup.1
    templating docs/rdiff-backup-statistics.1 -> build/rdiff-backup-statistics.1
    creating build/lib.linux-x86_64-cpython-39
    creating build/lib.linux-x86_64-cpython-39/rdiff_backup
    copying src/rdiff_backup/win_acls.py -> build/lib.linux-x86_64-cpython-39/rdiff_backup
    copying src/rdiff_backup/increment.py -> build/lib.linux-x86_64-cpython-39/rdiff_backup
    copying src/rdiff_backup/Security.py -> build/lib.linux-x86_64-cpython-39/rdiff_backup
    copying src/rdiff_backup/log.py -> build/lib.linux-x86_64-cpython-39/rdiff_backup
    copying src/rdiff_backup/connection.py -> build/lib.linux-x86_64-cpython-39/rdiff_backup
    copying src/rdiff_backup/librsync.py -> build/lib.linux-x86_64-cpython-39/rdiff_backup
    copying src/rdiff_backup/manage.py -> build/lib.linux-x86_64-cpython-39/rdiff_backup
    copying src/rdiff_backup/eas_acls.py -> build/lib.linux-x86_64-cpython-39/rdiff_backup
    copying src/rdiff_backup/TempFile.py -> build/lib.linux-x86_64-cpython-39/rdiff_backup
    copying src/rdiff_backup/longname.py -> build/lib.linux-x86_64-cpython-39/rdiff_backup
    copying src/rdiff_backup/Rdiff.py -> build/lib.linux-x86_64-cpython-39/rdiff_backup
    copying src/rdiff_backup/Globals.py -> build/lib.linux-x86_64-cpython-39/rdiff_backup
    copying src/rdiff_backup/robust.py -> build/lib.linux-x86_64-cpython-39/rdiff_backup
    copying src/rdiff_backup/selection.py -> build/lib.linux-x86_64-cpython-39/rdiff_backup
    copying src/rdiff_backup/restore.py -> build/lib.linux-x86_64-cpython-39/rdiff_backup
    copying src/rdiff_backup/backup.py -> build/lib.linux-x86_64-cpython-39/rdiff_backup
    copying src/rdiff_backup/rorpiter.py -> build/lib.linux-x86_64-cpython-39/rdiff_backup
    copying src/rdiff_backup/iterfile.py -> build/lib.linux-x86_64-cpython-39/rdiff_backup
    copying src/rdiff_backup/SetConnections.py -> build/lib.linux-x86_64-cpython-39/rdiff_backup
    copying src/rdiff_backup/user_group.py -> build/lib.linux-x86_64-cpython-39/rdiff_backup
    copying src/rdiff_backup/Time.py -> build/lib.linux-x86_64-cpython-39/rdiff_backup
    copying src/rdiff_backup/regress.py -> build/lib.linux-x86_64-cpython-39/rdiff_backup
    copying src/rdiff_backup/FilenameMapping.py -> build/lib.linux-x86_64-cpython-39/rdiff_backup
    copying src/rdiff_backup/__init__.py -> build/lib.linux-x86_64-cpython-39/rdiff_backup
    copying src/rdiff_backup/metadata.py -> build/lib.linux-x86_64-cpython-39/rdiff_backup
    copying src/rdiff_backup/Main.py -> build/lib.linux-x86_64-cpython-39/rdiff_backup
    copying src/rdiff_backup/Hardlink.py -> build/lib.linux-x86_64-cpython-39/rdiff_backup
    copying src/rdiff_backup/fs_abilities.py -> build/lib.linux-x86_64-cpython-39/rdiff_backup
    copying src/rdiff_backup/hash.py -> build/lib.linux-x86_64-cpython-39/rdiff_backup
    copying src/rdiff_backup/statistics.py -> build/lib.linux-x86_64-cpython-39/rdiff_backup
    copying src/rdiff_backup/rpath.py -> build/lib.linux-x86_64-cpython-39/rdiff_backup
    copying src/rdiff_backup/compare.py -> build/lib.linux-x86_64-cpython-39/rdiff_backup
    running build_ext
    building 'rdiff_backup.C' extension
    creating build/temp.linux-x86_64-cpython-39
    creating build/temp.linux-x86_64-cpython-39/src
    gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/usr/include/python3.9 -c src/cmodule.c -o build/temp.linux-x86_64-cpython-39/src/cmodule.o
    /usr/libexec/gcc/x86_64-slackware-linux/9.2.0/cc1: error while loading shared libraries: libisl.so.22: cannot open shared object file: No such file or directory
    error: command '/usr/bin/gcc' failed with exit code 1
    ----------------------------------------
ERROR: Command errored out with exit status 1: /usr/bin/python3 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-cmxy5xl5/rdiff-backup_985e6dfcedc44e439cdd253ac4d5537f/setup.py'"'"'; __file__='"'"'/tmp/pip-install-cmxy5xl5/rdiff-backup_985e6dfcedc44e439cdd253ac4d5537f/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-yiw55yzo/install-record.txt --single-version-externally-managed --compile --install-headers /usr/include/python3.9/rdiff-backup Check the logs for full command output.
root@unraid:~# ls -l

 

Clearly missing the libisl.so library file - but I can't find it anywhere.

 

How can I install either rdiff-backup or the missing file?

 

Thanks.

 

Link to comment

It is not recommended to try to install linux packages directly on Unraid, it is not intended to be a general purpose linux environment.

 

Docker is the preferred method, or perhaps a plugin if available. You might see if the DevPack plugin has anything for you.

 

If you want a general purpose linux environment you can install a VM.

Link to comment

 

Thanks for the reply.

 

In this instance, a docker won't work - rdiff-backup doesn't appear to have an option to specify a port to run on - so the docker on unraid can only be accessed via the unraid address and port - so this won't work.

 

Spinning up a VM just to run one command seems a little excessive, plus the VM will need to have all the shares mounted so rdiff-backup can see them.

 

In the end, I just ended up NFS mounting the shares from unraid to the remote NAS and doing a rdiff-backup locally.

 

Cheers

 

Link to comment
  • 1 month later...
On 7/23/2022 at 7:18 AM, trurl said:

It is not recommended to try to install linux packages directly on Unraid, it is not intended to be a general purpose linux environment.

 

Docker is the preferred method, or perhaps a plugin if available. You might see if the DevPack plugin has anything for you.

 

If you want a general purpose linux environment you can install a VM.

 

Does unraid officially support being ran on top of a hypervisor like proxmox? I know it didn't years ago when I looked. If I can't use unRaid as a general purpose linux box then it should be able to be virtualized so my hardware can do other things I need.

 

Only here because gcc from devpack is complaining about not having libisl.so.22 and I was searching the forums and found this thread.

Link to comment
Just now, pinion said:

Does unraid officially support being ran on top of a hypervisor like proxmox? I know it didn't years ago when I looked. If I can't use unRaid as a general purpose linux box then it should be able to be virtualized so my hardware can do other things I need.

Not officially supported, there is a "Virtualizing Unraid" subforum where users can help each other.

 

But note that Unraid itself can host VMs, so, as mentioned, you can run linux or other OS under Unraid.

  • Upvote 1
Link to comment
  • 3 weeks later...
  • 1 month later...

I also need rdiff-backup to be installed on the unRAID base.

 

This is almost certainly not the optimal way to do it, but it works for me. Maybe @EUGENI_CAT would consider making this part of NerdTools?

 

Install the userscripts plugin, add a new script, paste this in:

 

#!/bin/bash
# Script to install rdiff-backup on unRAID
# Tested against unRAID 6.11.5 - this will need updating in future versions of unRAID when the slackware kernel changes
# no erorr checking what-so-ever :-)

extra_location="/boot/extra"

checkfile="python3-3.9.15-x86_64-1.txz"
if [ ! -f ${extra_location}/${checkfile} ]
then
    wget https://slackware.uk/slackware/slackware64-current/slackware64/d/${checkfile} -P ${extra_location}
fi

checkfile="python-pip-22.2.2-x86_64-1.txz"
if [ ! -f ${extra_location}/${checkfile} ]
then
    wget https://slackware.uk/slackware/slackware64-current/slackware64/d/${checkfile} -P ${extra_location}
fi

checkfile="binutils-2.39-x86_64-1.txz"
if [ ! -f ${extra_location}/${checkfile} ]
then
    wget https://slackware.uk/slackware/slackware64-current/slackware64/d/${checkfile} -P ${extra_location}
fi

checkfile="gcc-12.2.0-x86_64-1.txz"
if [ ! -f ${extra_location}/${checkfile} ]
then
    wget https://slackware.uk/slackware/slackware64-current/slackware64/d/${checkfile} -P ${extra_location}
fi

checkfile="glibc-2.36-x86_64-3.txz"
if [ ! -f ${extra_location}/${checkfile} ]
then
    wget https://slackware.uk/slackware/slackware64-current/slackware64/l/${checkfile} -P ${extra_location}
fi

checkfile="kernel-headers-5.19.17-x86-1.txz"
if [ ! -f ${extra_location}/${checkfile} ]
then
    wget https://slackware.uk/slackware/slackware64-current/slackware64/d/${checkfile} -P ${extra_location}
fi

checkfile="librsync-0.9.7-x86_64-1_SBo.tgz"
if [ ! -f ${extra_location}/${checkfile} ]
then
    wget https://github.com/That-Dude/rdiff-bacup-unraid/raw/main/${checkfile} -P ${extra_location}
fi

# install packages
upgradepkg --install-new ${extra_location}/python3-3.9.15-x86_64-1.txz
upgradepkg --install-new ${extra_location}/python-pip-22.2.2-x86_64-1.txz
upgradepkg --install-new ${extra_location}/binutils-2.39-x86_64-1.txz
upgradepkg --install-new ${extra_location}/gcc-12.2.0-x86_64-1.txz
upgradepkg --install-new ${extra_location}/glibc-2.36-x86_64-3.txz
upgradepkg --install-new ${extra_location}/kernel-headers-5.19.17-x86-1.txz
upgradepkg --install-new ${extra_location}/librsync-0.9.7-x86_64-1_SBo.tgz

pip install rdiff-backup

 

Edited by ThatDude
typo
  • Thanks 1
Link to comment

 

On 11/22/2022 at 1:32 PM, ThatDude said:

I also need rdiff-backup to be installed on the unRAID base.

 

This is almost certainly not the optimal way to do it, but it works for me. Maybe @EUGENI_CAT would consider making this part of NerdTools?

 

Install the userscripts plugin, add a new script, paste this in:

 

 

 

Hi @ThatDude

I take note of the proposal and value it for the next update of NerdTools.
Best regards 8)

  • Thanks 1
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.