请选择 进入手机版 | 继续访问电脑版

『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 307834|回复: 1455

[HassOS] HASSIO 安装一键脚本

   关闭 [复制链接]

40

主题

2740

帖子

9737

积分

超级版主

Nero

Rank: 8Rank: 8

积分
9737
金钱
6947
HASS币
182
发表于 2018-8-10 15:54:02 | 显示全部楼层 |阅读模式
本帖最后由 neroxps 于 2021-6-1 13:35 编辑

本脚本已与2021年6月1日停止维护,江湖再见!

关于出国旅游环境问题~请看 https://bbs.hassbian.com/thread-12267-1-1.html
===========================================

不提供日志请不要发询问帖

不要发(那种怎么没反应) 然后又不带日志的帖子,违者将扣20分处理!!!

2019年5月31日21:26:57开始实施
----------------------------------------------------------------------


给windows子系统的用户:
windows 商店已经提供ubuntu安装,但是这个ubuntu并不能安装docker,目前docker依然需要依赖虚拟机(因为子系统还不支持 iptables,有iptables但是没法用),网上流传的 WSL for Docker 都是需要安装 docker for windows客户端,而这个客户端其实是在 Hyper-V 上跑一个ubuntu,那你为何不直接在Hyper-V上直接装个ubuntu来跑 hassio?

常见问题:


错误信息 Timeout

错误信息如下的请参考以下连接

Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled (Client.Timeout exceeded while awaiting headers)

http://baidu.apphb.com/?q=Client.Timeout+exceeded+while+awaiting+headers

https://lmgtfy.com/?q=Client.Timeout+exceeded+while+awaiting+headers&s=b

这个是网络问题,自己搜索下解决 docker 的连接问题吧。

Ubuntu 支持的版本

Ubuntu 版本更新很快,某些非长期支持的版本生命周期很短,如果发现源提示没找到文件的,请检查自己的 Ubuntu 是否在 Ubuntu 生命支持列表内。

https://wiki.ubuntu.com/Releases

清华源 Ubunut 支持列表(2020-05-14截至)

  • 12.04
  • 14.04
  • 16.04
  • 18.04
  • 19.04
  • 19.10
  • 20.04

2020-01-21 Update

Fixed:

HassIO 是什么?

有很多人根本不清楚 hassio和 homeassistant到底什么关系(其实我刚入坑也搞的我迷迷糊糊,还有墨澜美女博客的高能警告更搞的我迷迷糊糊),这样理解吧,hassio是一个框架,他利用 docker 来部署 homeassistant,并且为homeassistant 提供各种插件(addons)。

而 homeassistant 在 hassio 中,homeassistant 是利用docker 部署起来,hassio 和homeassistant 是通过他们的API进行联系和沟通。

那么 hassio 到底做了什么,他作用是什么?

我的理解是:hassio 是利用Python写了一个类似 docker 管理器那样的程序,拥有 docker 的控制权,从而达到升级/降级 homeassistant 容器,安装/卸载 addons的目的。

详细请参考我另一个帖子 hassio 启动详解及群晖运行方法

HassOS 又是什么?

这个是 HomeAssistant 官方为了打造开箱即用运行 hassio 做的系统,他不基于任何一个 Linux 发行版,他的设计完全为了给 hassio 服务,我理解他为最小化的 docker 安装系统。

由于他不基于任何一个 Linux 发行版,所以他没有任何包管理工具,如果你想在宿主机安装某些工具,一切工具链都需要自己搞,或者给官方提 issue 等待他们更新。

另外,由于安全考虑, HassOS 默认是不开放 ssh 连接,所以需要后台管理的话比较麻烦。另外由于不能修改系统内部的 docker 源,pull 容器的时候特别的慢,需要旅游才可以顺畅。

HassOS 和自己安装的 Hassio 有何不同?

本质使用上没有什么不同,只是一个跑在他们高度定制工具链需要自己构建的系统,一个是已经安装在高度成熟的 Debian Ubuntu 这些系统上,并可以自己随意修改 docker 源,系统也有包管理器,丰富的应用可以一键安装。

另这是我对 HassOS 的刻板印象,有可能他现在已经修复,但 HA 官方团队的喜好变化无常,最开始是使用一款树莓派系统来魔改,后来又改名字叫 hassio 系统,现在又改名叫 hassos,而 hassio 目前又改名叫 supervisor。恩,不知道多久,会不会又把 hassos 干掉。

Docker 又是什么?

建议看一下我学习 docker 的教程写的很好《Docker — 从入门到实践

Docker 你可以将其理解成一个类似虚拟机的系统(但内核是和宿主共用的,故此比传统的虚拟机更轻量)。他的初衷是为了给各个业务系统提供一个干净的隔离环境(我自己理解,可能比较片面与不准确)。

我称 Docker 为运维神器,为什么?因为Docker 可以让你实现开箱即用。举个例子,如果我的hassio要迁移,我只需要把 hassio文件夹拷走(默认路径 /usr/share/hassio),然后拷贝到新的机器上,再运行我的一键脚本,整个 hassio 的所有东西,包括addons插件都会按照原来的方式运行,这要归功于 docker 的便利性。

Addons 是什么

hassio 设计了一套他独有的 addons 容器编写规范,由于是hassio独有,所以这些 addons 只适配 hassio 使用。

我能不能在其他支持docker 的机器上安装 addons(不依赖 hassio)?

答案其实是可以的,因为 addons 其实都是跑在docker 上所以只要设备能安装docker,那么 addons 其实就可以跑。但是上面也说了,addons是基于 hassio规范来设计的容器,所以我们在无 hassio 的情况下使用 addons 就要手工按照 hassio 配置方式来启动 addons了,具体怎么启动可以参考 addons 官方制作文档Developing an add-on,和我另一个帖子 群晖部署天猫精灵网关 For Docker

hassio_install

hassio 一键安装脚本,实现以下功能。

  1. 自动更改系统源为清华源。(目前支持 Debian Ubuntu Raspbian 三款系统)
  2. 自动安装 Docker,可以选择切换 Docker 源为国内源,提高容器下载速度。

目前支持的系统

  • Raspberry Pi OS Lite 测试版本 Raspberry Pi OS Lite 2020年12月2日通过
  • Ubuntu 测试版本 12.04 LTS测试通过。
  • Debian 测试版本 >=10 最小化版本测试通过。

使用方法

以 root 身份运行以下命令。

wget https://code.aliyun.com/neroxps/hassio_install/raw/master/install.sh
chmod a+x install.sh
./install.sh

如果安装的是 64 位系统,脚本会自动筛选适配 64 位的设备列表

(1). 是否将系统源切换为中科大(USTC)源(目前支持 Debian Ubuntu Raspbian 三款系统)
请输入 y or n(默认 yes):y

(2). 在你系统内找到 nero 用户,是否将其添加至 docker 用户组。
请输入 yes 或者 no (默认 yes):y
将nero用户添加至 docker 用户组。

(3).是否需要替换 docker 默认源?
请输入 yes 或者 no(默认:yes):y

(4).请选择你设备类型(默认:qemux86-64)
    [1]: raspberrypi3-64
    [2]: qemuarm-64
    [3]: qemux86-64
输入数字 (1-3):
你选择了 qemux86-64
 ################################################################################
 # 1. 是否将系统源切换为中科大(USTC)源: 是
 # 2. 是否将用户添加至 Docker 用户组:   是,添加用户为 nero 
 # 3. 是否将 Docker 源切换至国内源:     是
 # 4. 您的设备类型为:                   qemux86-64
 ################################################################################
请确认以上信息,继续请按任意键,如需修改请输入 Ctrl+C 结束任务重新执行脚本。

如果安装的是 32 位系统,脚本会自动筛选适配32位的设备列表

(1). 是否将系统源切换为中科大(USTC)源(目前支持 Debian Ubuntu Raspbian 三款系统)
请输入 y or n(默认 yes):y

(2). 在你系统内找到 nero 用户,是否将其添加至 docker 用户组。
请输入 yes 或者 no (默认 yes):y
将nero用户添加至 docker 用户组。

(3).是否需要替换 docker 默认源?
请输入 yes 或者 no(默认:yes):y

(4).请选择你设备类型(默认:qemux86)
    [1]: raspberrypi
    [2]: raspberrypi2
    [3]: raspberrypi3
    [4]: qemuarm
    [5]: qemux86
    [6]: intel-nuc
输入数字 (1-6):
你选择了 qemux86
 ################################################################################
 # 1. 是否将系统源切换为中科大(USTC)源: 是
 # 2. 是否将用户添加至 Docker 用户组:   是,添加用户为 nero 
 # 3. 是否将 Docker 源切换至国内源:     是
 # 4. 您的设备类型为:                   qemux86
 ################################################################################
请确认以上信息,继续请按任意键,如需修改请输入 Ctrl+C 结束任务重新执行脚本。

设备类型选型说明

  • intel-nuc :英特尔的nuc小主机
  • odroid-c2 :韩国odroid-c2
  • odroid-xu :韩国odroid-xu
  • orangepi-prime :香橙派
  • qemuarm :通用arm设备(例如斐讯N1)
  • qemuarm-64 :通用arm设备(例如斐讯N1) 64位系统
  • qemux86 :通用X86 64位系统(普通的PC机电脑)
  • qemux86-64 :通用X86(普通的PC机电脑)64位系统
  • raspberrypi :树莓派一代
  • raspberrypi2 :树莓派二代
  • raspberrypi3 :树莓派三代
  • raspberrypi4 :树莓派四代
  • raspberrypi3-64 :树莓派三代64位系统
  • raspberrypi4-64 :树莓派四代64位系统
  • tinker :华硕tinker

操作说明

停止(但重启依然会自启动)

systemctl stop hassio-supervisor.service

重启

systemctl restart hassio-supervisor.service

禁用自启动

systemctl disable hassio-supervisor.service

启用自启动

systemctl enable hassio-supervisor.service

查询当前启动状态

systemctl status hassio-supervisor.service

查询当前是否自启动

systemctl  is-enabled hassio-supervisor.service

查询 hassio 日志

docker logs -f hassio_supervisor

查询 hassio 日志最新20行信息

docker logs -f hassio_supervisor --tail 20

查询 ha 日志

docker logs -f homeassistant

查询 ha 日志最新20行信息

docker logs -f homeassistant --tail 20

systemctl 说明 : https://linux.cn/article-5926-1.html
docker logs 命令用法:https://docs.docker.com/engine/reference/commandline/logs

Homeassistant 版本切换脚本

此脚本可在宿主中切换homeassistant版本号

严重警告

  1. 切换版本的 home-assistant 请先备份好配置文件,虽然脚本会自动备份,但最好自己再备份一次,出现丢失配置情况恕不负责。
  2. 切换旧版本启动失败的,请查看 home-assistant 的日志来修复错误配置
  3. 切换过旧的版本会导致 hassio 加载 404,目前已知 0.77 以前版本都无法正常加载 hassio
  4. 启动失败可以到论坛带日志发帖求助,无日志发帖我将会扣分处理

使用方法

使用 root 运行一下命令

wget https://code.aliyun.com/neroxps/hassio_install/raw/master/homeassistant_ver_switch.sh
chmod u+x homeassistant_ver_switch.sh
./homeassistant_ver_switch.sh 0.92.2

鸣谢

感谢帮我测试脚本的:Yume戴迪、萝卜、咸味土豆









评分

参与人数 32金钱 +197 收起 理由
bambit + 2
Simonyud + 5 膜拜大神!
1457964 + 1 论坛有你更精彩!
deabal + 2 真是太厉害了!这个脚本!我弄了一周没弄好.
cym9007 + 2 感谢楼主分享!
aprils + 2 膜拜大神!
wangtwothree + 5 感谢楼主分享!
雨滴飞然 + 1 感谢楼主分享!
fly0520 + 5
zhuozhuo + 2 膜拜大神!
luminous + 1 赠人玫瑰,手留余香!
xjydl + 2 在ubuntu中装了好久都没有装上(参考了网上.
信人远游 + 2 感谢楼主分享!
yqkdadsl + 7 感谢楼主分享!
pigcais + 1 151.101.208.133 raw.githubusercontent
liqx + 5 感谢楼主分享!
euking + 5 论坛有你更精彩!
fuchenk + 5 膜拜大神!
lidicn + 20 厉害了word楼主!
seaprince + 7 厉害了word楼主!

查看全部评分

Nero
回复

使用道具 举报

40

主题

2740

帖子

9737

积分

超级版主

Nero

Rank: 8Rank: 8

积分
9737
金钱
6947
HASS币
182
 楼主| 发表于 2020-4-6 13:22:22 | 显示全部楼层
本帖最后由 neroxps 于 2020-4-10 16:53 编辑
ruianyu 发表于 2020-3-30 11:06
只有这个,homeassistant没挂上

20-03-30 02:57:36 WARNING (MainThread) [supervisor.audio] Error on  ...

https://community.home-assistant ... l-services/171199/3

官方论坛也有相关问题。解决办法是在 hassio 的宿主输入以下命令。(本代码只适用 X86_64 架构)

由于以前 hassio 是在亚马逊 S3 获取ha版本地址,所以为了解决网络问题,所以我将配置文件的版本写死了,没注意这个坑。

如果你发现用了 hassio 一键脚本安装的hassio 网络有点问题,可以尝试使用以下命令修复下。

ha dns update

感谢QQ群:黄溜溜的指导。


日后官方应该会修复该问题。

Nero
回复

使用道具 举报

0

主题

12

帖子

134

积分

注册会员

Rank: 2

积分
134
金钱
122
HASS币
0
发表于 2020-9-7 15:07:47 | 显示全部楼层
Simonyud 发表于 2020-9-7 14:21
Job for auditd.service failed because the control process exited with error code.
See "systemctl sta ...

https://blog.csdn.net/stickmangod/article/details/85316142
在网上找到大神安装解决方案试了一下,很好用.
软件其实已经安装上了,但是是设置出错了,按照大神的方法
sudo apt-get update
sudo apt-get install -f
修复完成就不要动这个软件了,重装还是会出错。
复原文件
mv /var/lib/dpkg/info.bk /var/lib/dpkg/info
在执行一边脚本就好了

评分

参与人数 1金钱 +20 收起 理由
neroxps + 20 赠人玫瑰,手留余香!

查看全部评分

回复

使用道具 举报

26

主题

553

帖子

2634

积分

超级版主

Rank: 8Rank: 8

积分
2634
金钱
2056
HASS币
100

教程狂人

发表于 2018-8-10 17:28:16 | 显示全部楼层
抢到沙发
回复

使用道具 举报

9

主题

779

帖子

3515

积分

论坛元老

Rank: 8Rank: 8

积分
3515
金钱
2736
HASS币
87
发表于 2018-8-10 20:10:31 | 显示全部楼层
这个必须收藏一下
回复

使用道具 举报

6

主题

525

帖子

2675

积分

金牌会员

Rank: 6Rank: 6

积分
2675
金钱
2150
HASS币
0
发表于 2018-8-10 21:06:34 | 显示全部楼层
谢谢楼主分享!
回复

使用道具 举报

1

主题

173

帖子

1208

积分

金牌会员

Rank: 6Rank: 6

积分
1208
金钱
1035
HASS币
0
发表于 2018-8-10 21:51:52 | 显示全部楼层
有机会一定试下,这个方便太多了
回复

使用道具 举报

171

主题

2829

帖子

7075

积分

超级版主

我就是六神

Rank: 8Rank: 8

积分
7075
金钱
4221
HASS币
398

活跃会员教程狂人灌水之王

QQ
发表于 2018-8-11 00:15:02 | 显示全部楼层
谁可以帮我刷一下N1啊  看不懂教程~~
回复

使用道具 举报

40

主题

2740

帖子

9737

积分

超级版主

Nero

Rank: 8Rank: 8

积分
9737
金钱
6947
HASS币
182
 楼主| 发表于 2018-8-11 08:31:44 | 显示全部楼层
jyz_0501 发表于 2018-8-11 00:15
谁可以帮我刷一下N1啊  看不懂教程~~

N1 要先刷好系统,我没N1 不知道N1情况如何
Nero
回复

使用道具 举报

8

主题

535

帖子

2456

积分

金牌会员

Rank: 6Rank: 6

积分
2456
金钱
1916
HASS币
0
QQ
发表于 2018-8-11 15:12:58 | 显示全部楼层
必须收藏。大爱
回复

使用道具 举报

7

主题

1851

帖子

4994

积分

论坛元老

流水无味

Rank: 8Rank: 8

积分
4994
金钱
3143
HASS币
145

灌水之王

发表于 2018-8-11 16:21:44 | 显示全部楼层
我灯下回家去测试, 问下大神门,
N1原本emmc里面的内容怎么清除?
里面有原来的homeassistant
两点短接强行刷机 刷了内容都还在的 纠结
回复

使用道具 举报

16

主题

185

帖子

917

积分

高级会员

Rank: 4

积分
917
金钱
727
HASS币
20
发表于 2018-8-11 18:02:17 | 显示全部楼层
求加一个centos7
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2021-12-2 15:25 , Processed in 0.153905 second(s), 41 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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