SynologyLogo

Synology – Moving a package between volumes

I have a Synology 8-bay NAS used for home-lab purposes, but also doubles as local home storage as well.

As part of upgrades, I was decommissioning a volume for a new one with higher capacity drives, however I had Plex installed on the volume to be decommissioned. I moved all the data using the internal file manager, but the package installation remained in place.

Migrate package to another volume

  1. Stop your application via the Synology package center UI.
  2. Login to Synology using SSH and elevate to root.
  3. Use “ls” against /VolumeX/@appstore to find your package folder name
  4. Use “mv” to move the data between the old and new volume, you may need to create the @appstore folder first.
  5. Remove the symlink from the current volume and create the new symlink to the new volume.
  6. Stop and start your package in the Synology Package Centre.

Below is an example the commands I used;

sudo mkdir /volume2/@appstore
sudo mv "/volume1/@appstore/Plex Media Server" "/volume2/@appstore"
sudo rm "/var/packages/Plex Media Server/target"
sudo ln -s "/volume2/@appstore/Plex Media Server" "/var/packages/Plex Media Server/target"

synology migrate package to new volume veducate.co .uk

Now when you try to remove the volume, your package will now show as attached to the volume.

synology remove volume1synology remove volume2

Regards

Dean

7 thoughts on “Synology – Moving a package between volumes

  1. Thank you for the clear instructions! I think I speak for allot of people when I say that this has come in handy on more than one occation.

  2. I am not sure if that is specific to DSM 7 or the package I was moving (MariaDB), but I had to move a bunch of other folders as well:

    mv /volume1/@appstore/MariaDB10 /volume2/@appstore
    mv /volume1/@appconf/MariaDB10/ /volume2/@appconf
    mv /volume1/@apphome/MariaDB10/ /volume2/@apphome
    mv /volume1/@apptemp/MariaDB10/ /volume2/@apptemp
    mv /volume1/@appdata/MariaDB10/ /volume2/@appdata

    rm /var/packages/MariaDB10/target
    rm /var/packages/MariaDB10/etc
    rm /var/packages/MariaDB10/home
    rm /var/packages/MariaDB10/tmp
    rm /var/packages/MariaDB10/var

    ln -s /volume2/@appstore/MariaDB10 /var/packages/MariaDB10/target
    ln -s /volume2/@appconf/MariaDB10 /var/packages/MariaDB10/etc
    ln -s /volume2/@apphome/MariaDB10 /var/packages/MariaDB10/home
    ln -s /volume2/@apptemp/MariaDB10 /var/packages/MariaDB10/tmp
    ln -s /volume2/@appdata/MariaDB10 /var/packages/MariaDB10/var

  3. be aware that some packages store their data in the same volume under @packagename

    the volume where that lives is referenced in (eg for CloudSync) /usr/syno/etc/packages/CloudSync/setting.conf so if that does exist then you need to move that directory as well, and then update that config file to point to the new volume.

    not all packages have something like this, but people need to double check before they remove the volume thinking its no longer being used.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.