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

77次阅读

共计 2328 个字符,预计需要花费 6 分钟才能阅读完成。

GitHub 项目地址如下,欢迎 star:https://github.com/leitbogioro/Tools 图库来自 imgur.com,需要挂梯子全局访问才能正常显示。这个帖子放在主贴 https://369369.xyz/host/topic/1159839.html(Linux 一键重装支持 Debian 12,Ubuntu 22.04,史上最强)中,篇幅实在过于冗长,对仅需要使用 Linux 一键重装脚本的朋友来说会带来很大困惑,也有可能会忽略掉默认密码:LeitboGio0ro 等关键信息,让所以我把它单独开辟出来,供有兴趣的人自行研究。虽然我老是抱怨 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 配置网关的方法为:gateway4: IPv4 网关 gateway6: IPv6 网关复制代码而 version 2 配置网关的书写语法为:routes:- to: defaultvia: IPv4 网关 - to: defaultvia: 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。bash InstallNET.sh -ubuntu 22.04 –image \’ 存放 Ubuntu cloud images 的网站根目录,如:https://cloud-images.a.disk.re/Ubuntu/,不要包含 dd 包文件名本身!\’ 复制代码 米老鼠 2023-06-18 08:54 2 火前留名,支持大佬,辛苦了

正文完
 0