因为我的硬盘是一直带着数据升级和迁移的,从arm的猫盘到现在的n100,从dsm6升级dsm7系统分区只有2.4G,这很容易就会导致升级系统的时候空间不够,安装系统在56%报错 文件可能已损毁,甚至像我这样直接升炸了(当然我修好了),建议看完整篇文章再开始操作
准备
首先你需要开ssh,用登录web的账户直接登录,然后切换到root,这里输入的还是你web的登录密码,一行行运行
sudo -icd /或者你已经炸了,在安装向导,这时可以直接telnet,用户名root没有密码,并且需要手动挂载系统分区,你可以先看一下系统有没有帮你自动挂好
df -h如果你看到里面有个 tmpData ,说明已经挂载好了,如果没有,你需要手动挂载
mkdir /tmpDatamount /dev/md0 /tmpDatacd /tmpData最简单的,删日志
群晖好像悄咪咪的打包日志不知道要传到哪里去,这很大,而且还是隐藏文件夹,我的615M,可惜我炸了才发现
rm -rf .log.junior还有系统日志,没那个大,但也可以删一下
rm -rf var/logrm -rf var/logbak进阶,手动释放安装程序
这个操作需要在安装向导下进行,如果是黑群晖,在启动菜单中选择 reinstall 那个就可以直接进入
进入之后按上方 准备 的内容把分区挂载好
群晖的系统更新不是直接安装的,而是先下载到 @autoupdate 文件夹, 然后再释放到 upd@te 文件夹,然重启的时候自动安装
为什么我知道呢,看到下一条的时候你就会知道了
首先先下载更新包,打开群晖的官网找到你的nas型号,复制下载的url,比如SA6400,在Download按钮上右键复制链接
cd /tmpcurl -O https://global.synologydownload.com/download/DSM/release/7.4.1/90080/DSM_SA6400_90080.pat?model=SA6400&bays=12&dsm_version=7.4.1&build_number=90080synoupgrade --patch DSM_SA6400_90080.pat /tmpDatareboot看一下如果没有什么明显的错误,reboot 重启后就会直接更新到新系统
硬核,重装系统并保留数据
因为我以为他是直接安装的,我把 /usr/bin 和 /usr/lib 都删了,发现重启后安装失败了,变成了 设置数据损毁 ,但是实际上这时候系统盘就只剩数据没有系统文件了
那这或许是件好事,这样就能获取到干净的备份了
还是一样,需要在安装向导下进行,按准备挂载好
rm -rf usr/binrm -rf usr/libcd ..umount -fl tmpData这时候去web上直接更新,空间肯定是够的,也肯定会成功重启,重启完也肯定会失败的(设置数据损毁),这时候登录telnet,你会发现 tmpData已经挂载好了,那开始备份
cd /tmpDatatar -zcvf /tmp/backup.tgz .cd ..umount -fl tmpData这个时候已经备份好了数据,但是是备份在内存上的,为了安全着想,需要备份一下
启动一个咩FileServer,直接上传到电脑上,记得换成你电脑的ip
curl -T /tmp/backup.tgz http://192.168.1.123:10000/dav/backup.tgz如果你不慎失误,这样从电脑把文件下回来
curl -O http://192.168.1.123:10000/dav/backup.tgz -o /tmp/backup.tgz或者你可以找个u盘插上,挂载一下u盘(fdisk -l 看一下u盘的设备名,比如sda1),然后把备份拷贝到u盘上
mkdir /sparklemount /dev/sda1 /sparklecp /tmp/backup.tgz /sparklesyncumount -fl /sparkle备份好了就可以开始重装了,到web页面上跟着步骤重装,进度条20%的时候运行这个命令(因为他会格式化系统分区,所以运行早了没用)
cd /tmpDatatar -xzvf /tmp/backup.tgz如果你在cd的时候报错,那说明还没格式化好,但必须在55%之情进行还原操作,因为后面会自动重启,这个操作数据不会丢失,设置也不会丢失,但是如果你在系统里装了比如opkg,这得重新装
这里有些注意事项,如果你备份的包太大了,想删掉一些文件不还原,这时候可以在tmp里建一个文件夹解压一下
但是需要注意的是,复制到系统分区的时候必须使用 cp -a,否则会导致文件权限丢失,导致系统出现很多奇怪的问题,如果你已经 cp -r 那你得再重装一次了(就是在安装向导选择第二个,保留文件,删除设置)
mkdir /tmp/restorecd /tmp/restoretar -xzvf /tmp/backup.tgz# 在这里去删掉一些文件,然后把剩下的复制过去cp -a /tmp/restore/* /tmpData如果咩咩的文章对您有帮助,您可以 请我喝牛奶