有无好用的制品库,或者 gh 代理

2022-06-05 15:27:14 +08:00
 guanzhangzhang

自己编译了 op 固件,是推送到阿里云 docker 镜像仓库上,目前在线升级脚本是借助 docker pull 下载包含固件的 docker 镜像后 cp 固件和 sha256sums 出来,然后执行在线升级逻辑。 在线升级造成的一些限制就是初次 rootfs 很小(升级的时候会扩容),而 docker 占据很大容量:

root@OpenWrt:~# du -shx /*
...
203.0M	/overlay
403.5M	/rom
...
root@OpenWrt:/overlay/upper/usr/bin# du -shx *
36.8M	containerd
6.8M	containerd-shim
8.8M	containerd-shim-runc-v1
8.8M	containerd-shim-runc-v2
16.2M	containerd-stress
18.7M	ctr
15.3M	dnet
30.6M	docker
60.0K	docker-init
1.6M	docker-proxy
45.0M	dockerd
24.0K	tini

调整了 ROOTFSZISE 暂时是规避这个问题,但是这个不是优雅的解决,可能维护的其他设备的配置无法跑起 docker 。 所以有没有啥符合我需求的制品库,我可以构建后把固件推送上去,然后我固件里带的升级脚本 curl 或者 wget 不需要验证就能下载到,之前的 ghproxy 都不稳定。

1728 次点击
所在节点    宽带症候群
7 条回复
Buges
2022-06-05 15:48:49 +08:00
docker 镜像仓库可以不用 docker pull ,而是直接下载,都是 tar.gz 包而已。
homebrew 就是用这种方式分发预编译 artifacts 的。
guanzhangzhang
2022-06-05 15:56:00 +08:00
可能部分人没看懂需求。不是我个人用,是很多人用我的固件,要求任何使用我固件的升级脚本不带认证信息 curl 或者 wget 下载到固件,和 docker 没有任何关系。。。
guanzhangzhang
2022-06-05 15:57:43 +08:00
@Buges 我知道 docker 镜像是走 http ,但是那个层貌似需要解密还是转换来着,你有相关资料吗
Buges
2022-06-05 16:30:38 +08:00
@guanzhangzhang 每一层都是一个 tar 打包的 rootfs ,正常情况下 docker 会一层层的释放再用 overlay 叠加起来。
相关格式还有一个清单,里面有一些元信息,具体可以去看 OCI 的标准。
没啥需要转换的,如果你都打包到一层里面直接下下来解压就好了。
imzcg2
2022-06-05 22:46:05 +08:00
国内 git 仓库用 raw
Kinnice
2022-06-06 10:22:41 +08:00
直接放到对象存储里面不就可以了,oss 之类的
放三个文件 固件,sha256sum ,latest.txt (放最新版本的固件名称,或者一些公告什么信息)
guanzhangzhang
2022-06-06 13:13:30 +08:00
@Kinnice oss 会被人恶意刷的,我昨天找了个 ghproxy ,后面试试

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/857384

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX