全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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

  [复制链接]
跳转到指定楼层
1#
发表于 2022-12-13 15:20:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 天权璇玑 于 2022-12-13 16:01 编辑

项目 Github 地址,欢迎 Star:

https://github.com/leitbogioro/Tools

近期更新内容、使用方法:

https://91ai.net/thread-1108973-1-1.html

https://91ai.net/forum.php?mod=viewthread&tid=1106004

感谢大家的支持与反馈,没有大量的实际环境和冷门环境检验,许多潜在的问题,单凭我自己一人是无法发觉和排查的,近期脚本更新内容如下,脚本的功能目前已进入一个完善期,如无大的新系统版本出现,脚本不会再做大的功能更新:

  • 修复不输入时区时,时区参数的获取和判断参数无珐正确传达的问题;
  • 静态网络配置下,中国大陆以外机器默认被分配 DNS 为 CloudFlare 的 IPv6;
  • 新增 --ip6-addr --ip6-mask --ip6-gate --ip6-dns 参数,可手动指定 IPv6 网络参数配置,原则上如果原系统网络配置正确,不建议自己手撸;
  • 优化检测 Debian 系、Redhat 系是否为 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(Redhat 8 套壳)、阿里云的 Alibaba/Aliyun Linux(Redhat 8+ 套壳)、Scientific OS(欧洲科研机构开发的一款科学计算方向优化的 Redhat 套壳系统,最新版本为 7,不久将停止支持)重装成脚本支持的其他主流 Linux 版本;
  • 修正腾讯云 OpenCloudOS 环境中判断 initrd 和 linux 内核启动时路径前缀是否应该带“/boot”前缀的问题,这关乎到在 grub 中写入新启动项 netboot 内核是否能被正确加载,该问题是因为腾讯云 OpenCloudOS 自身配置不规范导致的;
  • 由于 Kimsufi 独服 BIOS 网络启动功能和硬盘启动功能是独立的,无法同时开启,所以用脚本在 Kimsufi 独服上安装重启后会失联,请注意;
  • 判断机器是否在中国大陆境内的测试 URL 改为 有图比 和 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 网关配置错误的问题也应该能一并解决。
推荐
发表于 2022-12-31 16:34:26 | 只看该作者
这不得卖5000



                      
    推荐
     楼主| 发表于 2022-12-13 17:37:31 | 只看该作者
    腾讯云6折购 发表于 2022-12-13 16:51
    搞阿 后面我就没有国内机器给你用了!!!!

    据说是硬盘驱动问题,它自带的 Windows 镜像里硬盘驱动是腾讯云自己写的,而且没有公开下载的安装包
    推荐
     楼主| 发表于 2022-12-13 16:13:06 | 只看该作者
    本帖最后由 天权璇玑 于 2022-12-13 16:23 编辑
    muyijiang 发表于 2022-12-13 16:06
    脚本在cloudcone机器上试了下,DD不成功grub启动不了


    我这里有个以前有 Cloudcone 机器时 D 完 Debian 9 进系统的方法,那个鸡早就忘续费无了,不知道现在还奏效不:
    1. 在 Debian 下开始 DD
    2. DD 结束后重启,进面板 VNC 选择 grub 界面,按 e 后进入配置界面 ctrl+c 退出进入 grub 命令行,输入 exit 后正常进入系统
    3. 正常进入系统后,执行 ln -s /boot/grub/ /boot/grub2 即可正常重启。
    2#
    发表于 2022-12-13 15:21:12 | 只看该作者
    赶紧给大佬点了一个 star
    3#
    发表于 2022-12-13 15:23:09 | 只看该作者
    国内腾讯云机器要不要用阿 测试Windows
    4#
    发表于 2022-12-13 15:23:36 | 只看该作者
    只能说支持吧
    5#
    发表于 2022-12-13 15:23:55 | 只看该作者
    绑定,收藏,哈哈ligahosting我也有一台,到时候有用你的脚本可以一试
    6#
    发表于 2022-12-13 15:24:13 | 只看该作者
    前排挤挤



    /**
    * 抛去所谓的敬畏之心,你会重新认知这个世界。
    *
    * Link https://greasyfork.org/zh-CN/scripts/396933-hostloc-zsbd
    */
    7#
    发表于 2022-12-13 15:25:15 来自手机 | 只看该作者
    8#
     楼主| 发表于 2022-12-13 15:27:56 | 只看该作者
    腾讯云6折购 发表于 2022-12-13 15:23
    国内腾讯云机器要不要用阿 测试Windows

    有点萎了,玩不动了
    9#
    发表于 2022-12-13 15:35:53 | 只看该作者
    先占个位置



    /**
    * 真正的胜利,并不是战胜强者。把自己重要的东西保护到最后一刻,才是胜利。
    *
    * Link https://greasyfork.org/zh-CN/scripts/396933-hostloc-zsbd
    */
    10#
    发表于 2022-12-13 15:46:43 | 只看该作者
    绑定,感谢大佬的付出!话说国内的腾讯云轻量dd windows最近一直失败
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

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

    GMT+8, 2024-4-26 18:29 , Processed in 0.065666 second(s), 9 queries , Gzip On, MemCache On.

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

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