找回密码
 立即注册
查看: 13252|回复: 14

[技术探讨] 如何阻止Supervisor自动升级

[复制链接]

22

主题

641

回帖

4860

积分

版主

积分
4860
金钱
4182
HASS币
40
发表于 2021-7-27 00:40:17 | 显示全部楼层 |阅读模式
请教诸位,

HA环境为:树莓派+HassOS最新版本。
诉求为:已将设备接入、并实现了完整的配制,一段时间内不想再折腾了,希望将supervisor的自动升级功能屏蔽掉。

请问有哪些解决方案?

有如下思路,请看下是否可行:
1,确定supervisor的升级地址
2,以root权限修改HassOS的hosts文件,屏蔽该地址

以上,请看下是否可行?如可行,该具体如何操作?
谢谢
回复

使用道具 举报

105

主题

2849

回帖

1万

积分

超级版主

智能家居&单板滑雪痴迷爱好者

积分
12158
金钱
9139
HASS币
460

教程狂人突出贡献

发表于 2021-7-27 07:45:29 来自手机 | 显示全部楼层
哪来的自动升级?你不点它就不会升级啊!
回复

使用道具 举报

18

主题

169

回帖

1686

积分

金牌会员

积分
1686
金钱
1499
HASS币
0
发表于 2021-7-27 07:46:21 来自手机 | 显示全部楼层
对呀,你要去点才会升级,不点不升级的
回复

使用道具 举报

22

主题

641

回帖

4860

积分

版主

积分
4860
金钱
4182
HASS币
40
 楼主| 发表于 2021-7-27 09:05:15 | 显示全部楼层
XCray 发表于 2021-7-27 07:45
哪来的自动升级?你不点它就不会升级啊!

HaOS安装完成后,有core、supervisor、os这三个东东。
其中OS和Core是要手动点击升级的,Supervisor是自动升级。
回复

使用道具 举报

22

主题

641

回帖

4860

积分

版主

积分
4860
金钱
4182
HASS币
40
 楼主| 发表于 2021-7-27 09:05:43 | 显示全部楼层
chenggangyaan 发表于 2021-7-27 07:46
对呀,你要去点才会升级,不点不升级的

看我上一层楼的回复哈
回复

使用道具 举报

41

主题

2162

回帖

8582

积分

元老级技术达人

积分
8582
金钱
6364
HASS币
110
发表于 2021-7-27 09:07:13 | 显示全部楼层
这个自动升级是被动的  你控制不了
改host估计supervisor本身也会受影响
回复

使用道具 举报

22

主题

641

回帖

4860

积分

版主

积分
4860
金钱
4182
HASS币
40
 楼主| 发表于 2021-7-27 09:11:19 | 显示全部楼层
ghostist 发表于 2021-7-27 09:07
这个自动升级是被动的  你控制不了
改host估计supervisor本身也会受影响

我现在就是想把OS、Core、Supervisor封存在某一版本。如果改hosts后Supervisor会受影响,那要看具体是由哪些影响,反正反正我不会再拉取其他add-on、安装custom compnents了
回复

使用道具 举报

40

主题

3016

回帖

1万

积分

超级版主

Nero

积分
11150
金钱
8044
HASS币
182
发表于 2021-7-27 10:31:18 | 显示全部楼层
本帖最后由 neroxps 于 2021-7-27 11:10 编辑

只改宿主的 hosts 是不行的,hassio 有自己的dns 服务器,不依赖系统内部的 hosts,在 hassio_dns 容器内,hassos 应该会在 /mnt/data/supervisor/dns 文件夹内

把 version.home-assistant.io 在 core_dns 里的 hosts 文件屏蔽了就完了,不过 core_dns 重启了会覆盖 hosts。hassio 最讨厌的地方。
另一个方案是在 supervisor 页面里面,修改 DNS 地址为路由地址,然后在路由下挟持上述域名,让其不可以获得新版本。

修改位置在这里。 QQ截图20210727110914.jpg

可以通过如下命令在宿主中执行查看 ha dns 设置

neroxps@n3150:~/hassio$ ha dns info
host: 172.30.32.3
locals:
- dns://10.89.0.1
servers:
- dns://10.89.0.1
update_available: false
version: 2021.06.0
version_latest: 2021.06.0


但还有有个问题,因为 coredns 配置如下
bash-5.1# cat /etc/corefile 
.:53 {
    log {
        class error
    }
    errors
    loop
    
    hosts /config/hosts {
        fallthrough
    }
    template ANY AAAA local.hass.io hassio {
        rcode NOERROR
    }
    mdns
    forward . dns://10.89.0.1 dns://10.89.0.1 dns://127.0.0.1:5553 {
        except local.hass.io
        policy sequential
        health_check 1m
    }
    fallback REFUSED,SERVFAIL,NXDOMAIN . dns://127.0.0.1:5553
    cache 600
}

.:5553 {
    log {
        class error
    }
    errors
    
    forward . tls://1.1.1.1 tls://1.0.0.1 {
        tls_servername cloudflare-dns.com
        except local.hass.io
        health_check 5m
    }
    cache 600
}


可以看到
forward . dns://10.89.0.1 dns://10.89.0.1 dns://127.0.0.1:5553 {
里面还有一个 127.0.0.1:5553,而这个其实是 tls://1.1.1.1 tls://1.0.0.1,所以你还应该要把 1.1.1.1 和 1.0.0.1 屏蔽掉,这样才能正确的挟持掉域名。
这东西太恶心,搞不懂 hassio 为何要多此一举,我也烦透这家伙。

评分

参与人数 1金钱 +20 HASS币 +20 收起 理由
+ 20 + 20 厉害了word楼主!

查看全部评分

Nero
回复

使用道具 举报

40

主题

3016

回帖

1万

积分

超级版主

Nero

积分
11150
金钱
8044
HASS币
182
发表于 2021-7-27 10:33:01 | 显示全部楼层
XCray 发表于 2021-7-27 07:45
哪来的自动升级?你不点它就不会升级啊!

supervisor 和 core_dns 这些容器都是受 supervisor 自动升级的,除了 homeassistant 容器不会自动升级,其他都会自动升级。

例如 0.76.0 版本你不升级到 0.77,supervisor 升级了,因为 supervisor 接口方式改变了,homeassistant 不升级 hassio 的前端文件,就会导致 supervisor 空白的情况。
Nero
回复

使用道具 举报

22

主题

641

回帖

4860

积分

版主

积分
4860
金钱
4182
HASS币
40
 楼主| 发表于 2021-7-27 10:50:40 | 显示全部楼层
neroxps 发表于 2021-7-27 10:33
supervisor 和 core_dns 这些容器都是受 supervisor 自动升级的,除了 homeassistant 容器不会自动升级, ...

N大有办法屏蔽掉supervisor的升级嘛?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian ( 晋ICP备17001384号-1 )

GMT+8, 2025-5-15 12:40 , Processed in 0.107461 second(s), 27 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表