UNRAID 制作离线升级包教程,以及升级失败退回原系统的方法。

2021-04-26 19:48:39 31点赞 156收藏 32评论

前言

发现很多朋友想升级自己的UNRAID服务器系统,但是由于网络或者其它原因升级不成功的,可以尝试自己制作一下离线升级包升级。

这种升级方式升级的系统因为是调用系统自带的升级插件升级的,所以和官方升级一样,有退回功能,就算升级失败也可以退回原来的系统,安全系数还是很高的。

本文公分为四个部分:

  • 第一步,找到系统升级的安装文件

  • 第二步,解析出下载地址并且下载系统文件包

  • 第三步,修改安装文件,实现离线安装

  • 第四步,遇到意外升级失败怎么退回

下面就是制作教程。



第一步,找到系统升级的安装文件

Unraid系统是通过插件安装的方式来更新系统的,安装系统的插件就在下面的位置:

/usr/local/emhttp/plugins/unRAIDServer/unRAIDServer.plg

找到这个文件并且拷贝到自己的电脑上或者别的可以编辑的地方,我们需要通过这个文件解析出Unraid系统的系统更新的地址,来下载官方的系统包。


第二步,解析出下载地址并且下载系统文件包

用编辑器打开刚刚复制出来的plg文件,可以找到这行信息:

<!ENTITY name "unRAIDServer">

<!ENTITY author "LimeTech">

<!ENTITY version "6.9.2">

<!ENTITY category "stable">

<!ENTITY pluginURL "https://s3.amazonaws.com/dnld.lime-technology.com/&category;/&name;.plg">

<!ENTITY zip "https://s3.amazonaws.com/dnld.lime-technology.com/&category;/&name;-&version;-x86_64.zip">

<!ENTITY md5 "https://s3.amazonaws.com/dnld.lime-technology.com/&category;/&name;-&version;-x86_64.md5">

<!ENTITY files "bz*,make_bootable.bat,make_bootable_linux,make_bootable_mac,memtest,changes.txt,license.txt,syslinux/syslinux.cfg-">

UNRAID 制作离线升级包教程,以及升级失败退回原系统的方法。

其中的pluginURL后面是安装文件的地址,zip就是系统包的下载地址。但是其中有部分信息要根据前面的信息替换才能得到真实地址。

这里因为我的系统已经升级到最新了,所以里面的下载地址就是最新的,如果你们不是最新系统就需要自己把version项替换成需要升级的系统版本,然后再解析出下载地址。

经过解析,6.9.2版本的安装文件地址

系统包的地址

这两个文件我们都需要下载。

注意,这两个文件的文件名不能修改,否则无法安装。

安装文件文件名:unRAIDServer.plg

系统包文件名:unRAIDServer-6.9.2-x86_64.zip

这里的plg文件的文件名和第一步的一样,但是内容不一样,所以必须重新下载,后面步骤里用到的plg文件也是新下载的,不是第一步里的那个文件。


第三步,修改安装文件,实现离线安装

因为我们需要离线安装,需要通过系统的插件页面安装,所以最好是把安装文件放到系统的/boot/文件夹,也就是U盘的根目录,这样就很方便我们选择和安装系统。

用文本编辑器打开新下载的plg文件,找到

<FILE Name="/tmp/&name;.zip">

<URL>&zip;</URL>

</FILE>

<FILE Name="/tmp/&name;.md5">

<URL>&md5;</URL>

</FILE>

这部分是用来下载系统包和验证文件的,因为我们是要离线安装,所以不需要下载,直接把这部分删除就行。删除部分为从"<FILE Name="/tmp/&name;.zip""开始到第二个"</FILE>"结束,可以用"Name="/tmp/&name;.zip""作为关键词来找到这部分代码。

然后再找到下面的代码:

sum1=$(/usr/bin/md5sum /tmp/&name;.zip)

sum2=$(cat /tmp/&name;.md5)

if [[ "${sum1:0:32}" != "${sum2:0:32}" ]]; then

echo "wrong md5"

exit 1

fi

这部分是用来验证安装包是否下载完整的。因为我们可能会对安装包做修改,比如替换一些文件什么的,所以直接把这部分删除,并且增加把我们下载的系统包放到/tmp/文件夹的代码。

把这部分代码修改成这一句代码:

cp /boot/&name;-&version;-x86_64.zip /tmp/&name;.zip

这句话的意思是,把我们下载的系统包放到/tmp/&name;.zip目录,因为原安装文件就是把系统包下载到这里,所以我们把离线包复制到这里以后,后面的代码就都不需要修改了,直接让系统自己安装就行。

到了这里,离线包就基本做完了,直接把修改的plg文件和下载的zip文件一起放到/boot/文件夹,也就是U盘根目录,然后在插件页面选择这个插件安装就能把系统升级好了。

UNRAID 制作离线升级包教程,以及升级失败退回原系统的方法。

如果有特殊需求,比如想要开心的话,可以自己找别人发的开心版的bzroot文件替换到zip文件里的相同文件就行。


第四步,遇到意外升级失败怎么退回

用这种离线包升级的系统和在系统界面升级的一样,是有退回功能的,下面分为两种情况退回原系统。

第一种情况,能进入webgui界面的。直接进入系统升级界面,在Unraid OS (上一个)后面有个恢复按钮,点击以后就能自动退回升级前的系统了。

第二种情况,升级后无法进入系统的。用别的电脑打开系统U盘,在U盘里找到一个“previous”文件夹,把里面的所有文件都复制到U盘根目录,替换原来的文件,这样就退回原来的系统了。

UNRAID 制作离线升级包教程,以及升级失败退回原系统的方法。

最后,祝大家开心的折腾。

展开 收起
32评论

  • 精彩
  • 最新
  • 老哥厉害,unraid玩的溜,有个问题请教下,pcie网卡直通了连接win10,unraid安装了s3 sleep这个插件,然后休眠唤醒就连不上网,必须重启才能联网,但是直接用虚拟网,桥接unraid网口没问题,老哥知道啥原因不。

    校验提示文案

    提交
    抱歉,我的主机只有一个网口,还没尝试过直通网卡,等以后有机会再研究研究这个问题。

    校验提示文案

    提交
    收起所有回复
  • 好文已打赏

    校验提示文案

    提交
    谢谢支持!

    校验提示文案

    提交
    收起所有回复
  • 这么好的文章,我竟然没看见。感谢楼主分享,很实用。

    校验提示文案

    提交
  • 好文章,厉害厉害,已经成功升级了,附上开心版的链接,bzroot文件就是从这里提取的。
    去看看(访问码:59iq),解压密码 softoroom

    校验提示文案

    提交
    6.8.1可以升级灭

    校验提示文案

    提交
    大佬 我是6.8.1开心版 按照这个方法 只用替换一个文件就能升级到6.9.2么 谢谢

    校验提示文案

    提交
    还有15条回复
    收起所有回复
  • @zxrobin 大佬膜拜一下 你好 现在 我是6.9.1 升级6.9.2 开心文件 只需要替换一个bzroot 还是 bzroot.sha256 bzimage 这几个都是?? 感谢大佬 [惊喜]

    校验提示文案

    提交
  • 厉害,顶起来

    校验提示文案

    提交
  • 好文章!紫薯补丁

    校验提示文案

    提交
  • 请教楼主,我第一步找不到这个路径,真是醉了?还有其他办法么?

    校验提示文案

    提交
  • 感谢楼主的教程,已升级6.9.2

    校验提示文案

    提交
  • 我升级之后重启很慢,要三十多分钟,以往只要几分钟,不知道大家有没这个问题

    校验提示文案

    提交
    查看系统日志找到原因了,原来是rclone的原因,我卸载之后系统就恢复正常了 [喜极而泣]

    校验提示文案

    提交
    收起所有回复
  • 我升级成功了 但是原来的磁盘无法启动阵列,挂载可以 里面文件也都在 我又退回682就好了。我是用开心版里的文件替换官方的 然后升级的

    校验提示文案

    提交
  • unRAIDServer.plg这个文件在哪?没找到啊。希望给指点指点,多谢了

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
156
扫一下,分享更方便,购买更轻松