一键重装脚本主功能已完成,细节大量优化

45次阅读

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

内容最后由 天权璇玑 于 2022-12-13 15:38 编辑 项目 Github 地址,欢迎 Star:https://github.com/leitbogioro/Tools 近期更新内容、使用方法:https://369369.xyz/host/topic/1108973.htmlhttps://369369.xyz/host/topic/1106004.html 感谢大家的支持与反馈,没有大量的实际环境和冷门环境检验,许多潜在的问题,单凭我自己一人是无法发觉和排查的,近期脚本更新内容如下,脚本的功能目前已进入一个完善期,如无大的新系统版本出现,脚本不会再做大的功能更新:修复不输入时区时,时区参数的获取和判断参数无珐正确传达的问题;静态网络配置下,中国大陆以外机器默认被分配 DNS 为 CloudFlare 的 IPv6;新增 –ip6-addr –ip6-mask –ip6-gate –ip6-dns 参数,可手动指定 IPv6 网络参数配置,原则上如果原系统网络配置正确,不建议自己手撸;优化检测 Debian 系、Red Hat 系是否为 DHCP 动态网络配置的检查逻辑,默认策略是优先以双栈(IPv4 和 IPv6)如果任意一个为静态,则双栈都按静态配置,否则再以动态配置为准,避免默认一律 DHCP 造成的各种问题;删除 –network-static 参数,新增 –network "static 或 manual" 或 –network "dhcp 或 auto" 参数,你可以自由地强制让安装脚本以动态或静态方式配置安装新系统时配置网络的方式,仅限默认第一个出网的单网卡;修正 Raid 0 Debian 分区自动应答文件错误的写入格式,但该分区策略针对 Debian 11 还是无法生效,仅适用于 Debian 10 及更早版本;通过检查 grub/grub2-mkconfig 是否能成功执行,优化判断系统当前为 grub1 或 grub2 的判断逻辑;新增 CentOS 7 安装限制,机器内存应当有 1.5GB 及以上才能顺利安装,否则安装程序终止;目前已支持 Redhat 系 Linux 系统双栈机的静态网络自动配置,仅限首个连接外网的单网卡;优化判断 grub 引导配置文件是否有效的逻辑;优化 Redhat 系安装依赖组件时出现的跳过安装问题;修复机器在中国大陆境内,默认安装源还是会选择境外的错误,因为阿里腾讯等安装源互相连接时长会出现阻断,所以安装源主要以中国大陆境内高校为主,但因为高校源出口线路为教育网,其他线路连接可能会出现连接过慢的问题,所以安装时还是推荐指定 -mirror 参数,并指定合适的,连接速度更快的源;统一去掉默认源 URL 链接最后一位自带的“/”斜杠,否则它会与后面指定 Redhat 系默认 repo 仓库源中变量参数传递中也附带的“/”组成“http://centos.org/centos//baseos……”,产生错误的 URL,如果指定 -mirror 参数时,获得的源的最后一位也有一个斜杠,脚本在读取时会自动将其去除,以纠正前面提到的问题;新增显示下载网络启动文件 initrd 和 linux URL 的链接,让你清清楚楚看到你是从哪个渠道(mirror)重装的新 Linux 系统,避免源不透明产生的焦虑;优化 Redhat 系 8+ 版本判断源是否有效的逻辑;由于 CentOS 8.5.2111 在 2021 年已被放弃支持,所以考虑到使用者的安全,CentOS 8 系列目前默认切换到尚在支持的 CentOS 8-stream;支持腾讯云的 OpenCloudOS(Red Hat 8 套壳)、阿里云的 Alibaba/Aliyun Linux(Red Hat 8+ 套壳)、Scientific OS(欧洲科研机构开发的一款科学计算方向优化的 Redhat 套壳系统,最新版本为 7,不久将停止支持)重装成脚本支持的其他主流 Linux 版本;修正腾讯云 OpenCloudOS 环境中判断 initrd 和 linux 内核启动时路径前缀是否应该带“/boot”前缀的问题,这关乎到在 grub 中写入新启动项,该问题是因为腾讯云 OpenCloudOS 自身配置不规范导致的;判断机器是否在中国大陆境内的测试 URL 改为 YouTube 和 Instagram,它们都符合国内无法访问,且拥有 IPv4 和 IPv6 地址这两个条件;脚本内附带一个计算 IPv4 网段的函数,避免因不同版本 Linux 系统需要统一引用 ipcalc 组件但该组件在不同 Linux 发行版下版本不一(点草 Redhat 旧版本 yum 软件库太老),功能不同,造成的网段区间无法顺利计算的问题,该函数后面有用,划重点,要考的;修正计算 IPv4 网段函数由于子网掩码(1~32 简略 prefix 后缀格式)输入的值到达极限(30~32 区段)出现的溢出,导致计算结果首个 IP 后缀比最后一个 IP 后缀还大的颠倒问题;在坛友向我反馈的一个案例中,他的机器来自 https://ligahosting.ro/ 这个荷兰 oneman 小商家,该商家配置 IPv4 有一个重大错误,举个例子,该机器公网 IPv4 为 5.45.78.XX,用 ip route default 命令查询它出网时默认(default via)首跳(hop)路由(5.45.72.1),竟然跟它的网关(5.45.76.1)不是一个 IP 且不属于同一个 IP 段,该情况在我的认知中尚属首例,99.99% 情况下,我们机器出网的首跳路由,和机器网关的 IP 应当是完全一致的,比如你我熟悉的家庭内网路由器(网关)为 192.168.0.1,甲骨文腾讯云阿里云等大厂机器网关为 10.0.0.1 等。为了应对这个情况,我获得到两个值,一个就是首跳路由,即 5.45.72.1,然后用 arp(地址解析协议)命令,显示该 IP 在链路缓存中对应的硬件网关 mac 地址,另一个是通过查询该机器 Linux 内核显示的网关经由(仅显示 5.45.76.0/22 这个粗略范围,里面理论上总共有 1000 多个 IP),用以上提到的函数,计算出该范围段的首个 IP 地址(5.45.76.1),然后提取出该 IP 地址的 A、B、C 类字段(5.45.76),将这个字段和刚才得到的硬件网关的 mac 地址,一同放到 arp 里,查询到真正的网关应当就是 5.45.76.1,注意,该案例里,真实网关 5.45.76.1 和我计算 5.45.76.0/22 网段首个 IP 地址得到的 5.45.76.1 仅仅是巧合,如果网管配置的网关为 5.45.76.90,我的按条件查询方法依旧有效。事后开 tickets 跟客服(老板本人)交流,发现这个问题属于典型的配置错误,这个问题他说会修复,实际上在这个案例里,首跳 IP 5.45.72.1 和网关 5.45.76.1 同属一个路由器进行管理的(它们的 mac 地址相同),正常情况下,机器出网首跳路由和网关 IP 地址就应当是一样的,不应该是不一样的;很多北欧 oneman 的机器好像都有这个毛病,不知道是不是因为老板买的是同一家独服公司提供的现成方案,如果是,那么以上提到的 IPv4 静态网络配置下,寻找到真实网关的方法应当是通用的,其他北欧 oneman 出现的静态 IPv4 网关配置错误的问题也应该能一并解决。hpp 2022-12-13 15:21 2 赶紧给大佬点了一个 star 腾讯云 6 折购 2022-12-13 15:23 3 国内腾讯云机器要不要用阿 测试 Windows huanx 2022-12-13 15:23 4 只能说支持吧 Frp 大佬 2022-12-13 15:23 5 绑定,收藏,哈哈 ligahosting 我也有一台,到时候有用你的脚本可以一试 沙龙 2022-12-13 15:24 6 前排挤挤 GreenCloud VPS 2022-12-13 15:25 7 必须顶日本优质线路 9929 || RCP.NET 非官方交流群 天权璇玑 2022-12-13 15:27 8 腾讯云 6 折购 发表于 2022-12-13 15:23 国内腾讯云机器要不要用阿 测试 Windows 有点萎了,玩不动了 宝创 2022-12-13 15:35 9 先占个位置 mlcq 2022-12-13 15:46 10 绑定,感谢大佬的付出!话说国内的腾讯云轻量 dd windows 最近一直失败 zxxx 2022-12-13 15:49 11 支持大佬 本人马保国 2022-12-13 15:53 12 之前 DD 一次 dabian。用的自定义密码,然后密码居然不对 天权璇玑 2022-12-13 15:55 13 本人马保国 发表于 2022-12-13 15:53 之前 DD 一次 dabian。用的自定义密码,然后密码居然不对自定义密码最好用单引号括起来,用双引号括起来且密码特殊符号太多,可能会在传递时跟 bash 自带的保留特殊符号产生冲突,造成传递错误 伴之则安 2022-12-13 15:57 14 感觉你真像 5k,主要是写的太详细了感觉技术水平跟 5K 差不多 天权璇玑 2022-12-13 15:57 15 伴之则安 发表于 2022-12-13 15:57 感觉你真像 5k,主要是写的太详细了感觉技术水平跟 5K 差不多然而我俩并不是同一人 我不是你的 2022-12-13 15:59 16 顶顶更健康

正文完
 0