-sh: The: command not found Peter@Salvator-Nas:~$ Created by Tom Spark | youtube.com/@TomSparkReviews -sh: Created: command not found -sh: youtube.com/@TomSparkReviews: No such file or directory Peter@Salvator-Nas:~$ Peter@Salvator-Nas:~$ [SparkBox] Unsupported NAS detected. SparkBox officially supports UGREEN NASync. -sh: [SparkBox]: command not found Peter@Salvator-Nas:~$ [SparkBox] Continuing anyway — it may work, but support is limited. -sh: [SparkBox]: command not found Peter@Salvator-Nas:~$ [SparkBox] NAS detected: generic -sh: [SparkBox]: command not found Peter@Salvator-Nas:~$ [SparkBox] Running in NAS mode (generic) -sh: syntax error near unexpected token (' Peter@Salvator-Nas:~$ Peter@Salvator-Nas:~$ [SparkBox] NAS users: keep internet access ON during install. -sh: [SparkBox]: command not found Peter@Salvator-Nas:~$ [SparkBox] SparkBox needs the internet to: -sh: [SparkBox]: command not found Peter@Salvator-Nas:~$ [SparkBox] 1. Pull Docker images during install -sh: [SparkBox]: command not found Peter@Salvator-Nas:~$ [SparkBox] 2. Activate your free personal-use license key (auto-updates) -sh: syntax error near unexpected token (' Peter@Salvator-Nas:~$ [SparkBox] Re-block outbound internet only AFTER you've logged in, registered [SparkBox] your license, and finished the setup wizard. [SparkBox] Full details: https://tomsparkbox.com/docs.html [SparkBox] Network profile: nas (NAS detected: generic) [SparkBox] Suggested install directory: /opt/sparkbox [SparkBox] Data directory (media/photos/books/manga): /opt/sparkbox/data [SparkBox] System clock is in sync (0s off Cloudflare's reference) -sh: syntax error near unexpected token )' Peter@Salvator-Nas:~$ [SparkBox] OS detection skipped (NAS mode) -sh: syntax error near unexpected token (' Peter@Salvator-Nas:~$ [SparkBox] Low disk space: 1GB available at /opt. 20GB+ recommended. -sh: [SparkBox]: command not found Peter@Salvator-Nas:~$ [SparkBox] NAS mode: skipping system package installation. -sh: [SparkBox]: command not found Peter@Salvator-Nas:~$ [SparkBox] whiptail not found -- setup wizard will use plain text prompts. -sh: [SparkBox]: command not found Peter@Salvator-Nas:~$ [SparkBox] Docker already installed: Docker version 24.0.2, build 610b8d0 -sh: [SparkBox]: command not found Peter@Salvator-Nas:~$ [SparkBox] Docker Compose: 2.20.1-6047-g6817716 -sh: [SparkBox]: command not found Peter@Salvator-Nas:~$ Peter@Salvator-Nas:~$ ============================================================ -sh: ============================================================: command not found Peter@Salvator-Nas:~$ PREFLIGHT — here's what I found on this machine ============================================================ System: unknown OS Hardware: NAS (generic) Memory: 19852 MB Free disk: 1 GB at /opt Install to: /opt/sparkbox Timezone: Australia/Perth Clock: in sync (0s off reference) Mode: fresh install ============================================================ [SparkBox] Downloading SparkBox... [SparkBox] Verifying release integrity... [SparkBox] SHA256 digest verified [SparkBox] ed25519 signature verification FAILED. Release is not authentic. [SparkBox] Do NOT retry — this is a supply-chain tamper signal. curl: (23) Failure writing output to destination Peter@Salvator-Nas:~$ Not sure what I did wrong here ?
18 replies
tomspark wrote:
First — you're not hacked, and nothing got installed. That "not authentic" line sounds scary, but look at the line right above it: the checksum matched. That means the file you downloaded is the real SparkBox. When the security check trips right after a matching checksum on a non-UGREEN NAS like this one, it's almost always the box's setup, not a real tamper. The most likely cause here: the installer warned you had only 1GB free, and SparkBox needs 20GB+ — a nearly-full disk can make that final check fail. Free up space so there's at least 20GB, then run the install again. If it still stops there with plenty of room, reply here and Tom will get you the verified steps for a generic NAS — don't disable the security check to get past it.
Chris wrote:
Following up with good news: Tom shipped a change today (v1.6.434) built from this exact thread. The installer now separates a genuine tamper signal from a check it simply could not run — a nearly-full disk being the most common reason, which is what your run hit. The download itself was fine all along. There is nothing to update on the box, since no install landed; the installer is fetched fresh each time you run it. So clear room at /opt to 20GB or more, then re-run: curl -fsSL https://get.tomsparkbox.com/install.sh | sudo bash If it stops again, paste the new lines here — the message should now name the actual cause.
JPM wrote:
Hi Guys, Thankyou you very much for the reply. I am very much a newbie trying to work out Docker on a synology nas. Floundering my way as usual Apparently I cant increase the size of the opt folder, is there any other way of doing this ?
Chris wrote:
Good news — you don't need to. That folder sits on Synology's small system partition, but SparkBox doesn't have to live there: you can point it at your storage volume instead. First run df -h and note which volume has your free space — usually /volume1. Then: curl -fsSL https://get.tomsparkbox.com/install.sh | sudo bash -s -- --install-dir /volume1/sparkbox Swap in your real volume name if it differs. That one flag moves everything with it — including the release download, which is staged beside the install folder and is exactly the write that ran out of room on you last time. Nothing to clean up first; no install ever landed. — Chris
Chris wrote:
One more thing in your favour, and it came out of this thread: Tom shipped v1.6.466 today. The installer no longer assumes /opt. On a Synology it now checks your storage volumes itself, picks the roomiest one and installs there, so the plain one-liner is enough on its own: curl -fsSL https://get.tomsparkbox.com/install.sh | sudo bash The command I gave you yesterday still works identically if you would rather name the volume yourself — either route is fine. And if room is ever genuinely short it now stops and tells you that in plain words, instead of ending at that alarming signature line. Nothing to tidy up first. — Chris
tomspark wrote:
Heads up — 1.6.466 just shipped and should cover what you reported here. Grab it with sudo sparkbox upgrade (that is the one that moves you to a new release — update only refreshes app images), and let me know if it's sorted — or if you're still hitting it.
JPM wrote:
Hi, Thanks for being so patient, as you say still hitting it, Got the same response on all 3 attempts [SparkBox] Downloading SparkBox... [SparkBox] Verifying release integrity... [SparkBox] SHA256 digest verified [SparkBox] ed25519 signature verification FAILED. Release is not authentic. [SparkBox] Do NOT retry — this is a supply-chain tamper signal. curl: (23) Failure writing output to destination
Chris wrote:
Hi JPM — thanks for trying again. What I told you last time, that the plain one-liner would now pick the right spot on its own, was wrong for your box specifically, and that's on me, not something you did. The auto-detect only kicks in for UGREEN NAS units. Yours is showing up as a generic NAS, so it's still landing on that tiny /opt partition, and that's what trips the scary signature message — not tampering. Go back to the workaround that worked before: curl -fsSL https://get.tomsparkbox.com/install.sh | sudo bash -s -- --install-dir /volume1/sparkbox (swap in your real volume name if df -h shows a different one). That puts SparkBox on your big volume instead, and the check should pass clean this time.
JPM wrote:
The easiest, most user-friendly self-hosting stack anywhere. Created by Tom Spark | youtube.com/@TomSparkReviews [SparkBox] Unsupported NAS detected. SparkBox officially supports UGREEN NASync. [SparkBox] Continuing anyway — it may work, but support is limited. [SparkBox] NAS detected: generic [SparkBox] Running in NAS mode (generic) -ash: syntax error near unexpected token |' [SparkBox] NAS users: keep internet access ON during install. [SparkBox] SparkBox needs the internet to: [SparkBox] 1. Pull Docker images during install [SparkBox] 2. Activate your free personal-use license key (auto-updates) [SparkBox] Re-block outbound internet only AFTER you've logged in, registered [SparkBox] your license, and finished the setup wizard. [SparkBox] Full details: https://tomsparkbox.com/docs.html root@Salvator-Nas:~ ) | |) | (| | | | <| |) | () < Mode: fresh install ============================================================ [SparkBox] Downloading SparkBox... [SparkBox] Verifying release integrity... -ash: syntax error near unexpected token )' [SparkBox] SHA256 digest verified [SparkBox] ed25519 signature verification FAILED. Release is not authentic. [SparkBox] Do NOT retry — this is a supply-chain tamper signal. curl: (23) Failure writing output to destination root@Salvator-Nas:~ df -h Filesystem Size Used Avail Use% Mounted on /dev/md0 2.3G 1.5G 728M 68% / devtmpfs 9.7G 0 9.7G 0% /dev tmpfs 9.7G 244K 9.7G 1% /dev/shm tmpfs 9.7G 42M 9.7G 1% /run root@Salvator-Nas:~ |/| ./ \,|| ||\\/ \//\\ /dev/mapper/cachedev0 16T 11T 4.9T 69% /volume1/@appdata/ContainerManager/allshares/Household /dev/mapper/cachedev0 16T 11T 4.9T 69% /volume1/@appdata/ContainerManager/allshares/Install /dev/mapper/cachedev0 16T 11T 4.9T 69% /volume1/@appdata/ContainerManager/allshares/Lavare /-ash: syntax error near unexpected token |' root@Salvator-Nas:~ || -ash: syntax error near unexpected token |' root@Salvator-Nas:~ e.ot@Salvator-Nas:~ The easiest, most user-friendly self-hosting stack anywhere -ash: The: command not found root@Salvator-Nas:~ Created by Tom Spark | youtube.com/@TomSparkReviews -ash: Created: command not found -ash: youtube.com/@TomSparkReviews: No such file or directory root@Salvator-Nas:~ pports UGREEN NASync.[SparkBox] Unsupported NAS detected. SparkBox officially sup -ash: [SparkBox]: command not found limited.vator-Nas:~ [SparkBox] Continuing anyway — it may work, but support is l -ash: [SparkBox]: command not found root@Salvator-Nas:~ [SparkBox] NAS detected: generic -ash: [SparkBox]: command not found root@Salvator-Nas:~ [SparkBox] Running in NAS mode (generic) -ash: syntax error near unexpected token (' root@Salvator-Nas:~ l.ot@Salvator-Nas:~ [SparkBox] NAS users: keep internet access ON during install -ash: [SparkBox]: command not found root@Salvator-Nas:~ [SparkBox] SparkBox needs the internet to: -ash: [SparkBox]: command not found root@Salvator-Nas:~ [SparkBox] 1. Pull Docker images during install -ash: [SparkBox]: command not found (auto-updates)as:~ [SparkBox] 2. Activate your free personal-use license key -ash: syntax error near unexpected token (' ged in, registered~ [SparkBox] Re-block outbound internet only AFTER you've logg [SparkBox] your license, and finished the setup wizard. [SparkBox] Full details: https://tomsparkbox.com/docs.html [SparkBox] Network profile: nas (NAS detected: generic) [SparkBox] Data directory (media/photos/books/manga): /volume1/sparkbox/data [SparkBox] System clock is in sync (0s off Cloudflare's reference) -ash: syntax error near unexpected token )' root@Salvator-Nas:~ [SparkBox] OS detection skipped (NAS mode) -ash: syntax error near unexpected token (' root@Salvator-Nas:~ [SparkBox] NAS mode: skipping system package installation. -ash: [SparkBox]: command not found n text prompts.as:~ [SparkBox] whiptail not found -- setup wizard will use plain -ash: [SparkBox]: command not found ACLs. -ash: [SparkBox]: command not found build 610b8d0Nas:~ [SparkBox] Docker already installed: Docker version 24.0.2, -ash: [SparkBox]: command not found root@Salvator-Nas:~ [SparkBox] Docker Compose: 2.20.1-6047-g6817716 -ash: [SparkBox]: command not found root@Salvator-Nas:~ =oot@Salvator-Nas:~ ============================================================ -ash: ============================================================: command not found root@Salvator-Nas:~ PREFLIGHT — here's what I found on this machine ============================================================ System: unknown OS Hardware: NAS (generic) Memory: 19852 MB Free disk: 5018 GB at /volume1 Install to: /volume1/sparkbox Timezone: Australia/Perth Clock: in sync (0s off reference) Mode: fresh install ============================================================ [SparkBox] Downloading SparkBox... [SparkBox] Verifying release integrity... [SparkBox] SHA256 digest verified [SparkBox] ed25519 signature verification FAILED. Release is not authentic. [SparkBox] Do NOT retry — this is a supply-chain tamper signal. curl: (23) Failure writing output to destination root@Salvator-Nas:~ df -h Filesystem Size Used Avail Use% Mounted on /dev/md0 2.3G 1.5G 728M 68% / devtmpfs 9.7G 0 9.7G 0% /dev tmpfs 9.7G 244K 9.7G 1% /dev/shm tmpfs 9.7G 42M 9.7G 1% /run tmpfs 9.7G 0 9.7G 0% /sys/fs/cgroup tmpfs 9.7G 30M 9.7G 1% /tmp /dev/loop0 27M 767K 24M 4% /tmp/SynologyAuthService /dev/mapper/cachedev0 16T 11T 4.9T 69% /volume1 /dev/mapper/cachedev0 16T 11T 4.9T 69% /volume1/photo/snapshot er/allshares/ActiveBackupforBusiness 4.9T 69% /volume1/@appdata/ContainerManage er/allshares/Backupsv0 16T 11T 4.9T 69% /volume1/@appdata/ContainerManage er/allshares/Computer Backups 11T 4.9T 69% /volume1/@appdata/ContainerManage er/allshares/dockerev0 16T 11T 4.9T 69% /volume1/@appdata/ContainerManage er/allshares/Downloads0 16T 11T 4.9T 69% /volume1/@appdata/ContainerManage er/allshares/Extracted0 16T 11T 4.9T 69% /volume1/@appdata/ContainerManage er/allshares/Foodedev0 16T 11T 4.9T 69% /volume1/@appdata/ContainerManage er/allshares/HDHomeRun0 16T 11T 4.9T 69% /volume1/@appdata/ContainerManage er/allshares/homesdev0 16T 11T 4.9T 69% /volume1/@appdata/ContainerManage er/allshares/Household0 16T 11T 4.9T 69% /volume1/@appdata/ContainerManage er/allshares/Installv0 16T 11T 4.9T 69% /volume1/@appdata/ContainerManage er/allshares/Lavareev0 16T 11T 4.9T 69% /volume1/@appdata/ContainerManage er/allshares/Logsedev0 16T 11T 4.9T 69% /volume1/@appdata/ContainerManage er/allshares/Master Photos16T 11T 4.9T 69% /volume1/@appdata/ContainerManage er/allshares/musicdev0 16T 11T 4.9T 69% /volume1/@appdata/ContainerManage er/allshares/Petersev0 16T 11T 4.9T 69% /volume1/@appdata/ContainerManage er/allshares/photodev0 16T 11T 4.9T 69% /volume1/@appdata/ContainerManage er/allshares/Photosev0 16T 11T 4.9T 69% /volume1/@appdata/ContainerManage er/allshares/Salvator Media6T 11T 4.9T 69% /volume1/@appdata/ContainerManage er/allshares/Slideshow0 16T 11T 4.9T 69% /volume1/@appdata/ContainerManage er/allshares/Surveillance 16T 11T 4.9T 69% /volume1/@appdata/ContainerManage er/allshares/Tinasdev0 16T 11T 4.9T 69% /volume1/@appdata/ContainerManage er/allshares/Videodev0 16T 11T 4.9T 69% /volume1/@appdata/ContainerManage er/allshares/webhedev0 16T 11T 4.9T 69% /volume1/@appdata/ContainerManage er/allshares/webpackages 16T 11T 4.9T 69% /volume1/@appdata/ContainerManage Have tried under my user name & root. Dosnt love me ?
Chris wrote:
Hi JPM — this one's genuinely not you, and it's not a hack either: your SHA256 check passed clean again, so the file itself is authentic. What's failing now is a step after that, and it clearly is not disk space anymore since you have 5TB free at volume1. That points to something specific about this box's setup tripping up our signature check itself, not a tampered download, and I do not want to guess further without more to go on. Could you paste the output of openssl version? I am flagging this to Tom's team as a real gap in that check either way, no timeline I can promise yet, but you are not stuck alone on this.
JPM wrote:
Hi Chris, Thanks for your help, I assume this is what your after root@Salvator-Nas:~ openssl version -a OpenSSL 1.1.1u 30 May 2023 built on: reproducible build, date unspecified platform: linux-x8664 options: bn(64,64) rc4(16x,int) des(int) blowfish(ptr) compiler: information not available OPENSSLDIR: "/etc/ssl" ENGINESDIR: "/usr/lib/engines-1.1" Seeding source: os-specific
Chris wrote:
Hi JPM — thanks for that. 1.1.1u is well past the 1.1.1 floor our installer checks for, so this isn't the old-OpenSSL case some EOL distros hit — that theory's ruled out. Which means the cause is something specific to this NAS's build that our classifier isn't catching yet, and I'd rather not guess at a workaround for a security check than get it wrong. I've already flagged this to Tom's team as a real gap, not just your install — the check itself needs a look — no timeline I can promise yet. You've done everything asked correctly here; this one's on us to chase down.
tomspark wrote:
Heads up — 1.6.496 just shipped and should cover what you reported here. You can grab it straight from the dashboard: Settings → Updates → Update SparkBox. Let me know if that sorts it, or if you're still hitting it. (Prefer the terminal? sudo sparkbox upgrade — note update only refreshes app images and will not move you to a new release.)
JPM wrote:
Sorry to say it still dosnt like me, Error message certainly changed [SparkBox] Downloading SparkBox... [SparkBox] Verifying release integrity... [SparkBox] SHA256 digest verified [SparkBox] Could NOT verify the release signature — but this is a local [SparkBox] environment problem, NOT a sign the download is fake. [SparkBox] The checksum above already matched, so the file you downloaded is genuine. [SparkBox] Detected: this system's OpenSSL build cannot perform ed25519 sign/verify at all (self-test with a throwaway key failed) — common on NAS vendor builds. [SparkBox] This is safe to RE-RUN once the box is fixed: [SparkBox] • Free up disk space (a few GB): check with 'df -h', clear space, retry. [SparkBox] • Ensure a working OpenSSL 1.1.1+ is installed: 'openssl version'. [SparkBox] (For support: OpenSSL 1.1.1u 30 May 2023 said: pkeyutl: Option unknown option -rawin pkeyutl: Use -help for summary.) curl: (23) Failure writing output to destination root@Salvator-Nas:~
Chris wrote:
Hi JPM — that's the same self-test flagging your NAS's OpenSSL build again, and it's telling the truth: some vendor forks (Synology's included) ship OpenSSL 1.1.1 without a working ed25519 implementation, even though the version string looks fine. Your checksum already passed, so the download itself is genuine — this box just can't run the signature step. Tom made a deliberate call not to add a way to skip that check, even for cases like this, since it's the thing keeping installs tamper-proof. I don't have a safe workaround to hand you, and I don't want to guess at one. I'll flag this as a standing gap for boxes like yours.
JPM wrote:
Hi Chris, Thanks for that. I assume that this just isnt going to work on synology devices for the foreseeable future ? Thanks for trying
Chris wrote:
Yeah, that's a fair read of it, Peter. It's not a bug we can patch — some Synology DSM builds ship an OpenSSL that reports a fine version string but genuinely can't do ed25519 sign/verify, which is a vendor toolchain gap rather than anything in SparkBox. Tom made a deliberate call not to add a way to skip that check even for cases like yours, since it's the thing that keeps every install tamper-proof for everyone else. So for now, no, it won't get past this step on that box. If Synology ever ships a fixed OpenSSL build it'd start working on its own, but I don't have a timeline for that since it's on their end, not ours. Appreciate you sticking with the troubleshooting on this one.
JPM wrote:
Thanks Chris, As much as I want to start playing with smart box, You have no idea how happy I am that its not me for a change HaHa Cheers Peter