wofferl / proxmox-backup-arm64 Goto Github PK
View Code? Open in Web Editor NEWScript for building Proxmox Backup Server 3.x (Bookworm) for Armbian64
Script for building Proxmox Backup Server 3.x (Bookworm) for Armbian64
Thank you for this!
Does the script leave an option for installing the client only?
Would greatly appreciate the choice to install the client or server if not.
Because of the idea to reduce build dependencies that @wofferl posted in #20 (comment), I thought about how we can improve dependency hell a bit more.
We could download all architecture-independent packages directly from the Proxmox repo server ([1], [2]) instead of building them manually.
curl
to download the packages to a temporary directory.proxmox-widget-toolkit-dev
).packages
directory.If this RFC is accepted, I would implement a PoC and create a PR in the next few days.
Not an issue but a question.
Is it possible to update an existing installation to a new build? If not is there a way to install and keep the existing backups?
Thank you for any reply's and your work building this.
Ubuntu 22.04.1 LTS via armbian cli image
Raspberry Pi 4 2GB
Compiling pve-rs v0.7.2 (/root/proxmox-backup-arm64/sources/proxmox-perl-rs/build/pve-rs)
error: linking with `cc` failed: exit status: 1
|
= note: "cc" "-Wl,--version-script=/tmp/rustcWpZ6kW/list" [… snipped super long line …]
= note: /usr/bin/ld: cannot find -luuid: No such file or directory
collect2: error: ld returned 1 exit status
error: could not compile `pve-rs` due to previous error
make[2]: *** [Makefile:26: all] Error 101
make[2]: Leaving directory '/root/proxmox-backup-arm64/sources/proxmox-perl-rs/build/pve-rs'
dh_auto_build: error: make -j4 returned exit code 2
make[1]: *** [debian/rules:7: binary] Error 2
make[1]: Leaving directory '/root/proxmox-backup-arm64/sources/proxmox-perl-rs/build/pve-rs'
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
make: *** [Makefile:93: pve-deb] Error 2
I actually had the same (or at least similar, erroring with cannot find -luuid
) issue before on a Debian LXC container, but some searching pointed me towards a crosscompilation issue (it’s an amd64 host), so I redid it on the PI, but that seems to not have helped.
Got pbs installed on my pi and backups are working. Greatly appreciate this.
My only issue is when trying to access the shell on the web client
Connection failed (Code: 1006).
If you have any tips or fixes let me know. Thanks!
Backups won't work on a new installation on raspberry pi 5.
2023-11-19T21:11:58.634070+01:00 raspberrypi proxmox-backup-proxy[916]: GET /previous: 400 Bad Request: no valid previous backup
2023-11-19T21:11:58.657460+01:00 raspberrypi proxmox-backup-proxy[916]: POST /fixed_index: 400 Bad Request: EINVAL: Invalid argument
2023-11-19T21:11:58.680567+01:00 raspberrypi proxmox-backup-proxy[916]: backup ended and finish failed: backup ended but finished flag is not set.
2023-11-19T21:11:58.680626+01:00 raspberrypi proxmox-backup-proxy[916]: removing unfinished backup
2023-11-19T21:11:58.680712+01:00 raspberrypi raspberrypi proxmox-backup-proxy[916]: removing backup snapshot "/opt/fwpbs02/ns/fwpve01/vm/101/2023-11-19T20:11:58Z"
2023-11-19T21:11:58.681001+01:00 raspberrypi proxmox-backup-proxy[916]: TASK ERROR: backup ended but finished flag is not set.
root@raspberrypi:~# cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/`
root@raspberrypi:~# uname -a
Linux raspberrypi 6.1.0-rpi6-rpi-2712 #1 SMP PREEMPT Debian 1:6.1.58-1+rpt2 (2023-10-27) aarch64 GNU/Linux
root@raspberrypi:~# cat /etc/proxmox-backup/datastore.cfg
datastore: fwpbs02
comment
gc-schedule daily
path /opt/fwpbs02/
prune-schedule daily
root@raspberrypi:~# ls -la /opt/fwpbs02/
total 1052
drwxr-xr-x 4 backup backup 4096 Nov 19 13:15 .
drwxr-xr-x 6 root root 4096 Nov 19 13:14 ..
drwxr-x--- 1 backup backup 1060864 Nov 19 13:15 .chunks
-rw-r--r-- 1 backup backup 0 Nov 19 13:14 .lock
drwxr-xr-x 5 backup backup 4096 Nov 19 13:16 ns
root@raspberrypi:~# dpkg -l | grep proxmox
ii libproxmox-acme-plugins 1.4.6 all Proxmox acme.sh wrapper for DNS API plugins
ii proxmox-backup-client 3.0.4-1 arm64 Proxmox Backup Client tools
ii proxmox-backup-client-dbgsym 3.0.4-1 arm64 debug symbols for proxmox-backup-client
ii proxmox-backup-docs 3.0.4-1 all Proxmox Backup Documentation
ii proxmox-backup-file-restore 3.0.4-1 arm64 Proxmox Backup single file restore tools for pxar and block device backups
ii proxmox-backup-file-restore-dbgsym 3.0.4-1 arm64 debug symbols for proxmox-backup-file-restore
ii proxmox-backup-server 3.0.4-1 arm64 Proxmox Backup Server daemon with tools and GUI
ii proxmox-backup-server-dbgsym 3.0.4-1 arm64 debug symbols for proxmox-backup-server
ii proxmox-mini-journalreader 1.4.0 arm64 Minimal systemd Journal Reader
ii proxmox-widget-toolkit 4.0.9 all Core Widgets and ExtJS Helper Classes for Proxmox Web UIs
Did I miss something? :)
Trying to compile in Armbian64, RPI 3B+, but it just gets stuck.
I have set up swap. Now has been compiling for 2 days, no new logs after the first 20 minutes. I also tried to compile with docker, same issue.
It always gets stuck in "lazycell" package.
Thank you in advance.
Server Install:
sudo apt install $(find . -type f
( -name "libjs-extjs_all.deb"
-o -name "libjs-qrcodejsall.deb"
-o -name "libproxmox-acme-pluginsall.deb"
-o -name "pbs-i18nall.deb"
-o -name "proxmox-backup-docsall.deb"
-o -name "proxmox-backup-serverarm64.deb"
-o -name "proxmox-mini-journalreaderarm64.deb"
-o -name "proxmox-widget-toolkitall.deb"
-o -name "pve-xtermjs*_arm64.deb" ))
Error: N: Download is performed unsandboxed as root as file '/root/proxmox-backup-arm64/packages/proxmox-backup-docs_3.0.2-1_all.deb' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied)
Potential Fix:
chmod -R o+r /root/proxmox-backup-arm64/packages/
error: failed to get `clap` as a dependency of package `termproxy v4.16.0 (/home/pi/proxmox-backup-arm64/sources/pve-xtermjs)`
Caused by:
failed to load source for dependency `clap`
Caused by:
Unable to update registry `https://github.com/rust-lang/crates.io-index`
Caused by:
failed to update replaced source registry `https://github.com/rust-lang/crates.io-index`
Caused by:
failed to parse manifest at `/home/pi/proxmox-backup-arm64/sources/pve-xtermjs/vendor/bumpalo/Cargo.toml`
Caused by:
failed to parse the `edition` key
Caused by:
this version of Cargo is older than the `2021` edition, and only supports `2015` and `2018` editions.
dh_auto_test: error: /usr/share/cargo/bin/cargo build returned exit code 101
make[1]: *** [debian/rules:4: binary] Error 101
make[1]: Leaving directory '/home/pi/proxmox-backup-arm64/sources/pve-xtermjs'
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
make: *** [Makefile:66: pve-xtermjs_4.16.0-1_arm64.deb] Error 2
warning: build failed, waiting for other jobs to finish... error: build failed make[2]: *** [Makefile:172: .do-cargo-build] Error 101 make[2]: Leaving directory '/home/pi/proxmox-backup-arm64/sources/proxmox-backup' dh_auto_build: error: make -j4 "INSTALL=install --strip-program=true" PROXY_USER=backup LIBDIR=/usr/lib/aarch64-linux-gnu returned exit code 2 make[1]: *** [debian/rules:28: override_dh_auto_build] Error 2 make[1]: Leaving directory '/home/pi/proxmox-backup-arm64/sources/proxmox-backup' make: *** [debian/rules:21: build] Error 2 dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2
Might be a simple fix but I have tried this on DietPi and Raspi OS and the build fails at the same point every time. Thanks for your effort in compiling this! Would love to get it working, do you have any advice on what's wrong? TIA
Hi,
build.sh throws an error:
`
/home/synal/proxmox-backup-arm64/sources/pve-eslint/pve-eslint-8.4.0/lib/eslint.js:128337
const require$1 = Module.createRequire((typeof document === 'undefined' ? new ((webpack_require(892).URL))('file:' + __filename).href : (document.currentScript && document.currentScript.src || new URL('eslintrc.cjs', document.baseURI).href)));
^
TypeError: Module.createRequire is not a function
at Object.webpack_modules (/home/synal/proxmox-backup-arm64/sources/pve-eslint/pve-eslint-8.4.0/lib/eslint.js:128337:26)
at webpack_require (/home/synal/proxmox-backup-arm64/sources/pve-eslint/pve-eslint-8.4.0/lib/eslint.js:134865:42)
at Object.webpack_modules (/home/synal/proxmox-backup-arm64/sources/pve-eslint/pve-eslint-8.4.0/lib/eslint.js:124916:5)
at webpack_require (/home/synal/proxmox-backup-arm64/sources/pve-eslint/pve-eslint-8.4.0/lib/eslint.js:134865:42)
at Object.webpack_modules (/home/synal/proxmox-backup-arm64/sources/pve-eslint/pve-eslint-8.4.0/lib/eslint.js:124110:5)
at webpack_require (/home/synal/proxmox-backup-arm64/sources/pve-eslint/pve-eslint-8.4.0/lib/eslint.js:134865:42)
at Object.webpack_modules (/home/synal/proxmox-backup-arm64/sources/pve-eslint/pve-eslint-8.4.0/lib/eslint.js:124078:5)
at webpack_require (/home/synal/proxmox-backup-arm64/sources/pve-eslint/pve-eslint-8.4.0/lib/eslint.js:134865:42)
at /home/synal/proxmox-backup-arm64/sources/pve-eslint/pve-eslint-8.4.0/lib/eslint.js:134900:37
at /home/synal/proxmox-backup-arm64/sources/pve-eslint/pve-eslint-8.4.0/lib/eslint.js:134903:12
dh_auto_test: /usr/bin/node -e require("./.") returned exit code 1
make[1]: *** [debian/rules:4: build] Error 2
make[1]: Leaving directory '/home/synal/proxmox-backup-arm64/sources/pve-eslint/pve-eslint-8.4.0'
dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2
make: *** [Makefile:37: pve-eslint_8.4.0-2_all.deb] Error 2
`
OrangePi 3
Armbian 21.08.8 with Linux 5.10.60-sunxi64
Can you help me with that?
Hey @wofferl ! Not really an issue but I noticed you created workflows to build packages using GH Actions, nice!
I was wondering if you considered publishing the packages to a cloud repo like packagecloud.io? It would simplify the update process when a new version is available. I started a few release back to upload mine manually to my packagecloud instance and configured it as a repo on my Pi ex:
[/etc/apt/sources.list.d/packagecloud_io_simoncaron_pbs_raspbian.list]
deb [signed-by=/etc/apt/trusted.gpg.d/simoncaron_pbs-archive-keyring.asc] https://packagecloud.io/simoncaron/pbs/raspbian bullseye main
There are some Github actions to publish packages on packagecloud.io (or another provider) and there is a free plan too.
Just a suggestion, again great work!
I just updated to version 3.1.2-1 and Dashboard -> Status is all the time with Loading... status. There is no error in logs.
HW: Rpi4
OS: RaspberryPi OS 12
Nov 30 21:01:16 zr-rpi1 systemd[1]: Started proxmox-backup-proxy.service - Proxmox Backup API Proxy Server.
Nov 30 21:01:16 zr-rpi1 proxmox-backup-[61295]: zr-rpi1 proxmox-backup-proxy[61295]: applied rrd journal (52 entries in 0.036 seconds)
Nov 30 21:01:16 zr-rpi1 proxmox-backup-[61295]: zr-rpi1 proxmox-backup-proxy[61295]: write rrd data back to disk
Nov 30 21:01:16 zr-rpi1 proxmox-backup-[61295]: zr-rpi1 proxmox-backup-proxy[61295]: starting rrd data sync
Nov 30 21:01:16 zr-rpi1 proxmox-backup-[61295]: zr-rpi1 proxmox-backup-proxy[61295]: rrd journal successfully committed (25 files in 0.046 seconds)
Build and install went well.
I can access to the web interface.
Then, it fails with every combination of user / password I can try.
somewhere while compiling the process aborts. Unfortunately, I can't narrow it down exactly, so I recorded and attached the entire output of the shell... the last time (3 months ago) everything ran smoothly.
Or does it also have to be compiled on an ARM64 system?
log.txt
Hello, thank you for your work.
I want to crosscompile the project without the need to setup qemu with an arm64-chroot.
This should be possible with the docker buildx command, see
https://www.docker.com/blog/faster-multi-platform-builds-dockerfile-cross-compilation-guide/
Best regards
Heiko
Hello,
I always get the error when running:
Note: switching to 'ce6def219262b5c1f6dbe5440f9f90038bafb3d8'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:git switch -c
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at ce6def2 bump version to 0.9.7-1
Cloning into 'perlmod'...
remote: Enumerating objects: 1441, done.
remote: Total 1441 (delta 0), reused 0 (delta 0), pack-reused 1441
Receiving objects: 100% (1441/1441), 238.19 KiB | 3.35 MiB/s, done.
Resolving deltas: 100% (980/980), done.
HEAD is now at f8b49fc clippy fixups
fatal: reference is not a tree: 9488180f9ef3bf57e049b645c001c3df9b65e11c
patching file .cargo/config
patching file Makefile
patching file pmg-rs/Cargo.toml
patching file pmg-rs/debian/control
patching file pve-rs/Cargo.toml
patching file pve-rs/debian/control
patching file proxmox-apt/Cargo.toml
patching file proxmox-openid-rs/Cargo.toml
./build.sh: line 85: cargo: command not found
What am I doing wrong?
Hello, I am now running PBS on a RockPro64 with Linux 5.10.0-21-arm64 #1 SMP Debian 5.10.162-1.
So far everything works fine, except that I can't open the shell. the above error always comes up... any clues where I could start?
I have another issue now ;)
Compiling proxmox-backup-banner v0.1.0 (/root/proxmox-backup-arm64/sources/proxmox-backup/proxmox-backup-banner)
error[E0432]: unresolved import `zstd_sys::ZSTD_strategy`
--> /root/proxmox-backup-arm64/sources/proxmox-backup/vendor/zstd-safe/src/lib.rs:31:9
|
31 | pub use zstd_sys::ZSTD_strategy as Strategy;
| ^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^ no `ZSTD_strategy` in the root
[… snipped hundreds of similar lines, see errorlog.txt …]
Some errors have detailed explanations: E0412, E0422, E0425, E0432.
For more information about an error, try `rustc --explain E0412`.
error: could not compile `zstd-safe` due to 141 previous errors
make[2]: *** [Makefile:172: .do-cargo-build] Error 101
make[2]: Leaving directory '/root/proxmox-backup-arm64/sources/proxmox-backup'
dh_auto_build: error: make -j4 "INSTALL=install --strip-program=true" PROXY_USER=backup LIBDIR=/usr/lib/aarch64-linux-gnu returned exit code 2
make[1]: *** [debian/rules:24: override_dh_auto_build] Error 2
make[1]: Leaving directory '/root/proxmox-backup-arm64/sources/proxmox-backup'
make: *** [debian/rules:18: build] Error 2
dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2
While I’m here, as the compilation up to here took over an hour, is there a way not to start the process from the beginning and instead continue where the error happened, if it’s fixable?
Hi,
I'm having problems compiling.
root@medeia:/opt/proxmox-backup-arm64# ./build.sh client
Download packages list from proxmox devel repository
Download packages list from pbs-no-subscription repository
Download dependencies
pve-eslint up-to-date
Install build dependencies
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Note, selecting 'pve-eslint' instead of '/opt/proxmox-backup-arm64/packages_build/pve-eslint_8.23.1-1_all.deb'
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
pve-eslint : Depends: nodejs (>= 12.22.12dfsg) but 12.22.9dfsg-1ubuntu3 is to be installed
E: Unable to correct problems, you have held broken packages.
root@medeia:/opt/proxmox-backup-arm64# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.2 LTS
Release: 22.04
Codename: jammy
root@medeia:/opt/proxmox-backup-arm64# uname -r
5.15.92-bcm2711
root@medeia:/opt/proxmox-backup-arm64# cat /etc/armbian-release
BOARD=rpi4b
BOARD_NAME="Raspberry Pi 4"
BOARDFAMILY=bcm2711
BUILD_REPOSITORY_URL=https://github.com/armbian/build
BUILD_REPOSITORY_COMMIT=1a8daf0
VERSION=23.02.2
LINUXFAMILY=bcm2711
ARCH=arm64
IMAGE_TYPE=stable
BOARD_TYPE=conf
INITRD_ARCH=arm64
KERNEL_IMAGE_TYPE=stable
BRANCH=current
root@medeia:~# cargo -V
cargo 1.69.0 (6e9a83356 2023-04-12)
Thanks for the support.
Just for the docu (im using Raspi4) with the lastest Raspi OS (Bookworm).
The swapfile is restricted to 100M. If youre using fallocate, your running into
fallocate: fallocate failed: Text file busy
you see the status of the swapfile with:
sudo service dphys-swapfile status
To change that, you´ll edit
sudo nano /etc/dphys-swapfile
to the Limit you want. But Max-Limit is 2048M
You´ll see (and change it) it in
nano /sbin/dphys-swapfile
...just for the wiki.
Hi, i'm trying to compile PBS client.
but i've an error
Compiling pxar-bin v0.1.0 (/root/proxmox-backup-arm64/sources/proxmox-backup/pxar-bin) Finished release [optimized] target(s) in 21m 18s warning: the following packages contain code that will be rejected by a future version of Rust: syn v0.12.15 note: to see what the problems were, use the option
--future-incompat-report, or run
cargo report future-incompatibilities --id 1touch ".do-cargo-build" make -C docs make[3]: Entering directory '/root/proxmox-backup-arm64/sources/proxmox-backup/docs' ../target/release/proxmox-backup-client printdoc > proxmox-backup-client/synopsis.rst ../target/release/dump-catalog-shell-cli > proxmox-backup-client/catalog-shell-synopsis.rst ../target/release/pxar printdoc > pxar/synopsis.rst sphinx-build -t release -b man ./ output/man make[3]: sphinx-build: No such file or directory make[3]: *** [Makefile:83: man-pages] Error 127 make[3]: Leaving directory '/root/proxmox-backup-arm64/sources/proxmox-backup/docs' make[2]: *** [Makefile:63: docs] Error 2 make[2]: Leaving directory '/root/proxmox-backup-arm64/sources/proxmox-backup' dh_auto_build: error: make -j4 "INSTALL=install --strip-program=true" PROXY_USER=backup LIBDIR=/usr/lib/aarch64-linux-gnu returned exit code 2 make[1]: *** [debian/rules:25: override_dh_auto_build] Error 2 make[1]: Leaving directory '/root/proxmox-backup-arm64/sources/proxmox-backup' make: *** [debian/rules:18: build] Error 2 dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2
any idea ?
Heya,
Just an FYI with the latest package:
sudo apt install ./proxmox-backup-client_2.4.4-1_arm64.deb
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Note, selecting 'proxmox-backup-client' instead of './proxmox-backup-client_2.4.4-1_arm64.deb'
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
proxmox-backup-client : Depends: libssl1.1 (>= 1.1.0) but it is not installable
E: Unable to correct problems, you have held broken packages.
I have also attempted:
sudo dpkg -i ./proxmox-backup-client_2.4.4-1_arm64.deb
dpkg: warning: downgrading proxmox-backup-client from 3.0.4-1 to 2.4.4-1
(Reading database ... 145662 files and directories currently installed.)
Preparing to unpack .../proxmox-backup-client_2.4.4-1_arm64.deb ...
Unpacking proxmox-backup-client (2.4.4-1) over (3.0.4-1) ...
dpkg: dependency problems prevent configuration of proxmox-backup-client:
proxmox-backup-client depends on libssl1.1 (>= 1.1.0); however:
Package libssl1.1 is not installed.
dpkg: error processing package proxmox-backup-client (--install):
dependency problems - leaving unconfigured
Processing triggers for man-db (2.10.2-1) ...
Errors were encountered while processing:
proxmox-backup-client
Where you read
./pve-xtermjs_*_arm64.deb
you should read
./pve-xtermjs_*_all.deb
Hi,
after some os and pbs updates to the latest 2.4 release proxmox-backup-proxy couldn't start anymore. Because of this I upgraded to the new unofficial 3.0-x release and the problem continued to exist.
The log was showing a missing libsgutils2-1.45.so.2. Ubuntu says there is already the newest libsgutils2-1.46 installed. At the moment i did a dirty symlink fot libsgutils2-1.45.so.2 to libsgutils2-1.46.so.2 and pbs is running again.
Ubuntu problem with the lib?
Daniel
Not an issue but a feature request :)
would you be able to add to your script (or make a separate one) to allow installation of pbs client on arm64 devices ?
I do have a few inovato quadra units I would like to backup to PBS. I’m sure this could be useful to many others :)
Hi, raspberrypi4 is supported?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.