DSM7下套件迁移

您所在的位置:网站首页 黑群晖转移数据 DSM7下套件迁移

DSM7下套件迁移

2024-07-17 03:55| 来源: 网络整理| 查看: 265

目录 一、介绍二、测试平台三、原理四、使用说明

重要提示:数据无价,进行任何操作前请妥善备份好数据

2023.08.01 更新v0.2

添加套件外部链接检测功能。 提示:部分套件会链接到套件文件夹外部的文件(夹),迁移后一般还能正常运行,如果外部的文件(夹)在需要调整的存储空间上,你可能需要手动移动它们,同时修改对应的软链接。 增加显示特定存储空间上安装的套件清单功能。增加对迁移目标存储空间的检测。 一、介绍

用于在Synology DSM7 中将套件迁移到不同的存储空间。

二、测试平台

所有功能在DS3615xs DSM 7.1.1-42962 Update 2中测试通过。

经测试的套件

官方套件 套件名套件中心里的名称迁移结果备注CloudSyncCloud Sync正常迁移后在设置中调整数据库位置SynologyApplicationServiceSynology应用程序服务正常StorageAnalyzer存储空间分析器正常Node.js_v12Node.js v12正常SynologyPhotosSynology Photos正常LogCenter日志中心正常 SynoCommunity套件 套件名套件中心里的名称迁移结果transmissionTransmission正常vimVim正常 三、原理 所有套件均安装在/var/packages目录,进入相应套件(以StorageAnalyzer为例)的目录可以看到,如图所示的结构: /var/packages目录结构

其中"etc" “home” “target” “tmp” “var"目录链接到了对应存储空间的相应目录 2. 操作步骤: 1)复制原存储空间的目录到新存储空间; 2)修改"etc” “home” “target” “tmp” "var"链接到新存储空间。

四、使用说明 为避免数据丢失,操作前建议先停用要迁移的套件 停用套件执行sudo -i获得root权限。创建transferpackage.sh脚本文件,内容如下。也可以执行wget https://gitee.com/kangzeru/dsm_-transferpackage/raw/master/transferpackage.sh直接下载脚本。 2023.08.01 更新v0.2 #!/bin/bash # v0.2 # 1、添加套件外部链接检测功能 # 提示:部分套件会链接到套件文件夹外部的文件(夹),迁移后一般还能正常运行,如果外部的文件(夹)在需要调整的存储空间上,你可能需要手动移动它们,同时修改对应的软链接 # 2、增加显示特定存储空间上安装的套件清单功能 # 3、增加对迁移目标存储空间的检测 operation=$1 dir=("conf" "home" "store" "temp" "data") link=("etc" "home" "target" "tmp" "var") check_package () { echo 正在检测套件是否含有外部链接... check_result=0 for l in "${link[@]}"; do if [ -e /var/packages/$package/$l ] then for f in `find /var/packages/$package/$l/ -type l` do #ll=$(ls -l $f) #echo /${ll#*/} local k=0 for ((j=0;j/dev/null if [ $? -eq 255 ];then echo 错误:目标存储空间不可用;exit;fi case `synopkg status $package | sed 's/^.*Status: \[//g' | sed 's/\].*//g'` in 0) echo "检测到套件$package未停用,为避免出现未知错误建议先停用该套件再进行迁移." check_answer ;; 255) echo 套件$package未安装 exit;; 263) #echo 套件$package已停用 ;; esac # 检测外部链接 check_package if [ $check_result -eq 1 ] then echo "套件$package存在以上外部链接,请根据需要手动迁移这些文件(夹)并修改相应链接." check_answer fi for ((i=0;i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3