全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 1869|回复: 1
打印 上一主题 下一主题

实现Ubuntu22.04+安装原理及我对原生网络安装及dd安装的看法2

[复制链接]
跳转到指定楼层
1#
发表于 2023-6-18 08:23:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 天权璇玑 于 2023-6-18 09:22 编辑

github 项目地址如下,欢迎 star:

https://github.com/leitbogioro/Tools

图库来自 imgur.com ,需要挂梯子全局访问才能正常显示。

这个帖子放在主贴 https://www.91ai.net/thread-1159839-1-1.html(Linux一键重装支持Debian 12,Ubuntu 22.04,史上最强)中,篇幅实在过于冗长,对仅需要使用 Linux 一键重装脚本的朋友来说会带来很大困惑,也有可能会忽略掉默认密码:LeitboGio0ro 等关键信息,让所以我把它单独开辟出来,供有兴趣的人自行研究。

因论坛发帖字数受限,后续及前文相关帖子参见:
https://www.91ai.net/forum.php?mod=viewthread&tid=1180157
实现Ubuntu22.04+安装原理及我对原生网络安装及dd安装的看法1
https://www.91ai.net/forum.php?mod=viewthread&tid=1180159
实现Ubuntu22.04+安装原理及我对原生网络安装及dd安装的看法3

虽然我老是抱怨 AlpineLinux 的各种缺点,并且它的环境也是 busybox,但当它作为一个中介系统,除了不支持从纯 IPv6 启动,简直完美,煎饼哥眼光真是太独特了,找到这么一个系统作为中间件。当其在内存启动时,就是一个具备完整功能的 Linux 发行版,需要什么组件,就用 apk add 装什么,需要挂载分区还是格式化硬盘,使用对应的命令执行即可,丰俭由人,这点真的比 Debian installer 好太多了。

通过启动中介 AlpineLinux 系统,在中介系统中 dd Ubuntu 官方镜像实现,镜像源来自于我从官方同步并打包的,Ubuntu 官方镜像源地址:

https://cloud-images.ubuntu.com/daily/server/

官方镜像源的文件不能直接用来 dd,必须使用 qemu-utils 工具做一下格式转换。

用我编写脚本并解包并重新打包好的 Ubuntu 镜像源地址:

https://cloud-images.a.disk.re/

打包过程完全自动化,仅需首次运行时手动执行,此后便会执行 crontab 自动任务,每周末凌晨 4 点 30 自动重新打包一次,避免手动操作出现的人为失误,打包脚本原代码:

https://github.com/leitbogioro/Tools/blob/master/Linux_reinstall/Ubuntu/autoRepackImages.sh

完整代码实现:



通过分析以上代码可以看到,修改仅涉及向启动内核添加 net.ifnames=0 biosdevname=0 启动参数,确保 cloud init 部署阶段面向的网卡统一为 eth0,否则不同的机器网卡名各有不同,很难统一化设置,其他分文未动,确保原汁原味,不加私货。

如果需要使用我的自动化打包脚本,仅需修改 websiteDir="/www/wwwroot/cloud-images.a.disk.re/Ubuntu" 中即网站目录部分,你就可以在你的服务器上部署对应的 Ubuntu cloud images,确保该脚本在 root 目录执行即可。


我从中获得灵感的 Ubuntu cloud images 制作方法原链接:https://bleatingsheep.org/2022/03/14/%E7%94%A8-Ubuntu-Cloud-Images-%E5%88%B6%E4%BD%9C%E8%87%AA%E5%B7%B1%E7%9A%84%E4%BA%91%E9%95%9C%E5%83%8F%EF%BC%88%E9%85%8D%E7%BD%AE-cloud-init-%E7%9A%84-NoCloud-%E6%95%B0%E6%8D%AE%E6%BA%90%EF%BC%89/

源代码和原理都在以上列出,如果还想剖开六子肚子,看看他吃了几碗粉,死缠烂打质疑我制作的 Ubuntu cloud images 不干净的,你可以带个 U 盘,买张机票去机房旁边蹲着装,那样最放心,也符合您多疑的性格,保证没人害你。

通过 dd cloud images 安装的 Ubuntu 20.04/22.04 仅支持从 IPv4 静态或动态启动,双栈机进入 Ubuntu 后 IPv6 网络能自动配好,由于完美地继承了 AlpineLinux 的缺陷,所以纯 IPv6、1GB 内存以下机器暂不支持。

Ubuntu 18.04 cloud images dd 包不再制作并提供的原因是 Ubuntu 18.04 采用的是第一代 cloud init 书写格式,为 version 1,其中网络配置→网关的书写语法与 version 2 有很大不同,比如 version 1 配置网关的方法为:

  1. gateway4: IPv4 网关
  2. gateway6: IPv6 网关
复制代码


而 version 2 配置网关的书写语法为:

  1. routes:
  2. - to: default
  3. via: IPv4 网关
  4. - to: default
  5. via: IPv6 网关
复制代码


version 1 和 version 2 完全不能互相兼容,Ubuntu 20.04/22.04 的 netplan 在读取 version 1 的网关配置时会报错且不能正常启动网络,反之亦然,为保持一致性,故放弃对 Ubuntu 18.04 的支持。

由于打包好的镜像源存放在我的吃灰甲骨文机器上,所以国内机器安装 Ubuntu 的时候 dd 过程会卡很久,原因是国内互联网的国际进出口带宽不足,晚高峰国内机器连接我提供的 dd 镜像服务器会非常非常慢,等就是了,等一晚上都不奇怪。


如果你也按我以上提供的方法制作好了对应的 Ubuntu cloud images dd 包,并存放在了你的服务器上,你可以指定 --image '镜像源 url' 来使用你自己定制的 dd 包安装 Ubuntu。

  1. bash InstallNET.sh -ubuntu 22.04 --image '存放 Ubuntu cloud images 的网站根目录,如:https://cloud-images.a.disk.re/Ubuntu/ ,不要包含 dd 包文件名本身!'
复制代码
2#
发表于 2023-6-18 08:54:38 来自手机 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-5-9 23:25 , Processed in 0.059602 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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