How to update SynetoOS 5 from CLI

Written By Christian Castagna (Administrator)

Updated at January 21st, 2025

→ Applies to: SynetoOS 5.x

 

Step 1. Connect to SynetoOS appliance via SSH as admin

ssh admin@<your_ip_address_or_hostname>

 

Step 2. Become Super User

sudo su

 

Step 3. Edit /usr/sbin/seu file

vi /usr/sbin/seu

IMPORTANT
Make sure to copy and paste the exact lines below (replace <password> with a new password)

#!/bin/bash

# Read values from the JSON file
upgradeBranch=$(jq -r '.upgrade_branch' /etc/syneto-upgrade-channel.json)
upgradeChannel=$(jq -r '.upgrade_channel' /etc/syneto-upgrade-channel.json)
enableHotfixChannels=$(jq -r '.enable_hotfix_channels' /etc/syneto-upgrade-channel.json)

# Change support password
echo -e "support:<password>" | chpasswd

# Obtain the token
token=$(curl -k -X 'POST' 'https://localhost/api/auth/login' -H 'accept: application/json' -H 'Content-Type: application/json' -d '{"username": "support","password": "<password>"}' | jq -r '.jwt') &> /dev/null

# Check if token is obtained
if [ -z "$token" ]; then
  echo "Failed to obtain token"
  exit 1
fi

# Trigger upgrade
curl -k -s -X 'POST' \
 'https://localhost/api/node/software/update' \
 -H 'accept: application/json' \
 -H 'Content-Type: application/json' \
 -H "Authorization: Bearer $token" \
 -d "{\"upgradeBranch\": \"$upgradeBranch\",\"upgradeChannel\": \"$upgradeChannel\",\"enableHotfixChannels\": $enableHotfixChannels,\"enableDevChannels\": false}"

 

Step 4. Change permissions on /usr/sbin/seu file

chmod +x /usr/sbin/seu

 

Step 5. Run this command

/usr/sbin/seu

The system will now proceed with the system update.