全球主机交流论坛

标题: Linux一键重装支持Debian 12,Ubuntu 22.04,史上最强 [打印本页]

作者: 天权璇玑    时间: 2023-4-15 15:52
标题: Linux一键重装支持Debian 12,Ubuntu 22.04,史上最强
本帖最后由 天权璇玑 于 2023-6-24 15:21 编辑

项目地址,欢迎 star,github 主页或私信反馈:

https://github.com/leitbogioro/Tools











支持从甲骨文等主流大厂,各其他商家的任意 Redhat 红帽系统(包括 Oracle Linux CentOS Almalinux RockyLinux)重装到 Debian/Kali,也支持 Ubuntu/Debian 装回红帽系统,双方永久互装完全没问题!彻底解决了萌咖原版 grub 引导不行,只能装 CentOS 6.9 的困扰(我这个版本已不支持 CentOS 6.9),IPv4 和 IPv6 的处理,其他等等细节处理的也很完善。

连接服务器的桌面终端客户端仅推荐采用标准密钥交换算法 Xshell 或 putty。我脚本所做的工作,仅保证目标设置端口和密码下,重装后能正常连接,涉及改用 ssh 密钥登录等重要操作,能手动设置,请不要依赖一键脚本,也别赖我脚本重装的系统有问题!

甲骨文云开启 IPv6 的方法,以及仅有 IPv4 公网访问的机器,web 面板中手动开启 IPv6 dhcp 6 后,在当前机器开启 IPv6 dhcp 访问的方法:

中文教程:

https://www.google.com/search?q=%E7%94%B2%E9%AA%A8%E6%96%87+%E5%BC%80%E5%90%AF+ipv6+%E8%AE%BF%E9%97%AE+%E6%AD%A5%E9%AA%A4

英文教程:

https://www.google.com/search?q=oracle+cloud+ipv6+public+access+enable

  1. [root@instance-20230624-1531 ~]# ip -4 route show default
  2. default via 10.0.0.1 dev ens3
  3. default via 10.0.0.1 dev ens3 proto dhcp src 10.0.0.138 metric 100
复制代码


当前网卡有如果 dhcp IPv6 访问权限,且当前系统中配置文件中仅规范了 IPv4 网络访问,未规范 IPv6 dhcp 访问时,在系统中开启 dhcp IPv6 访问(不包含 IPv6 静态访问)的命令,需要重启:

  1. dhclient -6 "网卡名 如 ens3"
  2. reboot
复制代码


下载前记得更新源,安装 wget,AlpineLinux需要安装bash:

  1. wget --no-check-certificate -qO InstallNET.sh 'https://raw.githubusercontent.com/leitbogioro/Tools/master/Linux_reinstall/InstallNET.sh' && chmod a+x InstallNET.sh
复制代码


国内机器现在可以从 Gitee 下载:
  1. wget --no-check-certificate -qO InstallNET.sh 'https://gitee.com/mb9e8j2/Tools/raw/master/Linux_reinstall/InstallNET.sh' && chmod a+x InstallNET.sh
复制代码


快速开始(当且仅当脚本不加 -pwd -port -mirror 等参数时有效,如果加了,必须指定对应系统的发行版!):

不用再输入使用何种架构(-v),脚本会自动检测、Debian 系和 Redhat 系转换!

Debian 12(支持 9 至 12)

  1. bash InstallNET.sh -debian
复制代码


Kali rolling(仅推荐 rolling 分支)

  1. bash InstallNET.sh -kali
复制代码


ARM64 AMD64 机都 OK,甲骨文 Oracle ARM 机装虽然重启就黑屏,什么提示都没有,在 VNC 里都没法调试,但只要是从面板自带模板纯净系统中安装过去的,100% 保证能成功,VNC 里看到黑屏别怕,别手欠中途硬重启,不知道 Kali 是什么的,反正你就知道 Kali 是日常、电影电视剧里黑客经常用的,自带很多安全测试工具,贼鸡儿炫酷的一个 Debian 发行版就行。Kali 有三个版本,按激进程度大小排列,分别为 experimental > dev > rolling,普通人不爱折腾的,最好以使用 rolling 为主。

Alpine Linux Edge(仅推荐 edge 分支)

  1. bash InstallNET.sh -alpine
复制代码


CentOS 9 stream(支持 7-9)

  1. bash InstallNET.sh -centos
复制代码


AlmaLinux 9(支持 8-9)

  1. bash InstallNET.sh -almalinux
复制代码


RockyLinux 9(支持 8-9)

  1. bash InstallNET.sh -rockylinux
复制代码


Fedora 38(支持 37-38)

  1. bash InstallNET.sh -fedora
复制代码


Ubuntu 22.04(支持 20.04 或 22.04)

  1. bash InstallNET.sh -ubuntu
复制代码


通过启动中介AlpineLinux系统,在中介系统中dd Ubuntu 官方镜像实现,仅支持从IPv4静态或动态启动,双栈机进入Ubuntu后IPv6能配好,纯IPv6、1GB内存以下机器不支持。

感谢煎饼哥的天才想法!
王煎饼论坛 id:https://443502.xyz/space-uid-35316.html
王煎饼 github 主页:https://github.com/bin456789/

实现原理及难点:
https://443502.xyz/thread-1180157-1-1.html
https://443502.xyz/thread-1180158-1-1.html
https://443502.xyz/thread-1180159-1-1.html

使用 netbootxyz 手动重装(仅限 x86 BIOS)

  1. bash InstallNET.sh -netbootxyz
复制代码


指定源,输入系统和对应版本后,加参数“-mirror”,如:

  1. bash InstallNET.sh -debian 12 -mirror "http://ftp.riken.jp/Linux/debian/debian/"
复制代码


默认密码如下:

  1. LeitboGi0ro
复制代码


由于AlpineLinux和Ubuntu采用明文传递密码参数到配置文件,附加特殊符号可能会导致sed处理时出错,所以AlpineLinux和Ubuntu默认密码统一为 LeitboGi0ro 且暂不支持修改。

密码若要自定义,可添加 -pwd '密码内容' 修改,密码字段建议前后使用单英文引号(' ')括起来,以免 shell 将双英文引号(" ")中带特殊字符的密码当做命令传递,造成错误。支持全系受支持的系统,不要设置的过长过复杂,例:

  1. -pwd 'xiaoming'
复制代码


特别的是,如果密码中带有英文单引号('),请一定在该单引号前加 '\'' 做转义,也就是说,以下转义过的字符才和一个单引号等价

  1. '\''
复制代码


也就是说,'\''  才等于实际密码中的 ' 符号,比如你密码要设置为:'xiaoming',那么如下输入才是正确的:

  1. -pwd ''\''xiaoming'\'''
复制代码



如果使用的是默认密码,安装后请立即修改!


默认ssh端口随原系统,可添加 -port 端口号 修改,支持全系受支持的系统,范围“1-65535”,如果给错或无法确定原系统端口,后备值为:

  1. 22
复制代码


例:

  1. -port "12345"
复制代码


如果想要强制双网动态配置,请输入:

  1. bash InstallNET.sh -debian 12 --network "dhcp"
复制代码


如果想要强制双网静态配置,请输入:

  1. bash InstallNET.sh -debian 12 --network "static"
复制代码


如果想要纯手动模式安装,比如用于调试等,请输入(要求必须能用 VNC 访问机器):

  1. bash InstallNET.sh -debian 12 --allbymyself
复制代码


如果想要使用 netbootxyz 纯手动模式安装其受支持的系统,比如 Archlinux 等,请输入(要求必须能用 VNC 访问机器,仅 x86_64 AMD64 架构,BIOS 固件机器使用,甲骨文 UEFI 固件机器用 netbootxyz 启动,请参考此教程:https://zhuanlan.zhihu.com/p/97527349):

  1. bash InstallNET.sh -netbootxyz
复制代码


现在开启了一个参数,--setipv6 "0 ",指定强制关闭系统安装时加载 IPv6,指定 0 就是关闭,指定其他值或默认不指定为开启。不管机器实际是否有 IPv6 网络,只要设置 --setipv6 "0",新系统里 IPv6 模块就会被彻底禁用,无法访问 IPv6 网络,请按照实际情况选择。对部分 Racknerd 和 Virmach 等商家的纯 IPv4 机器有效,因为这些机型 DNS 解析会强制返回 IPv6 地址,然而机器没有 IPv6 网络,导致 ping wget 持续失败,强制新系统里不加载 IPv6 模块可解决此问题。但这样会导致 Nginx 里带加载 IPv6 网络的模块失败导致启动失败,请自行到 /etc/nginx/nginx.conf 目录里把 #        listen       [::]:80 default_server; 注释掉,该选项适用于Debian/Kali/Ubuntu

  1. bash InstallNET.sh -debian 12 --setipv6 "0关闭,1开启"
复制代码


现开启了一个参数:--nomemcheck ,输入后即跳过内存容量检测,你可以在任何内存的机器上尝试安装目标系统,即使能在当前系统成功下载并打包网络安装启动内核,但不保证重启后能安装成功。

  1. bash InstallNET.sh -debian 12 --nomemcheck
复制代码


Debian 全世界各国家、地区源列表:

  1. https://www.debian.org/mirror/list.html
复制代码


Kali 全世界各国家、地区源列表:

  1. https://http.kali.org/README.mirrorlist
复制代码


CentOS 7 和 8-stream,全世界各国家、地区源列表:

  1. https://www.centos.org/download/mirrors/
复制代码


CentOS 9-stream 及以后全世界各国家、地区源列表:

  1. https://admin.fedoraproject.org/mirrormanager/mirrors/CentOS
复制代码


AlmaLinux 全世界各国家、地区源列表:

  1. https://mirrors.almalinux.org/
复制代码


RockyLinux 全世界各国家、地区源列表:

  1. https://mirrors.rockylinux.org/mirrormanager/mirrors
复制代码


Fedora 全世界各国家、地区源列表:

  1. https://admin.fedoraproject.org/mirrormanager/mirrors/Fedora
复制代码

  • Linode 的机器安装完成后,需要在面板里将机器引导从它自带的 grub2 变成全盘才能正常启动,参见我另外一个贴:https://443502.xyz/forum.php?mod=viewthread&tid=1166099

    作者: genexis    时间: 2023-4-15 15:56
    厉害了大佬,留个记号
    作者: 水牛    时间: 2023-4-15 15:58
    支持技术贴
    作者: 缘尽心风    时间: 2023-4-15 15:59
    支持,啥时候出的debian12
    作者: mymyhope    时间: 2023-4-15 15:59
    支持技术贴
    作者: kimigao    时间: 2023-4-15 16:02
    感谢分享
    作者: HOH    时间: 2023-4-15 16:05
    哟,5k真与时俱进呢,官方还没发布就debian12了呢
    作者: 天权璇玑    时间: 2023-4-15 16:06
    HOH 发表于 2023-4-15 16:05
    哟,5k真与时俱进呢,官方还没发布就debian12了呢

    我和他不是一个人,不要无中生有,随便造谣
    作者: 达西    时间: 2023-4-15 16:07
    好东西,收藏备用
    作者: 水牛    时间: 2023-4-15 16:07
    本帖最后由 水牛 于 2023-4-15 20:31 编辑

    实测,不支持hetzner cloud

    -------------------
    2023-04-15 20:30更新

    经过大佬一番操作,成功实现HZ DD debian。


    作者: 美国总统奥巴马    时间: 2023-4-15 16:08
    收藏为敬
    作者: 草丛中一杯茶    时间: 2023-4-15 16:11
    技术贴都得赞一下
    作者: ning    时间: 2023-4-15 16:17
    马克,又到了12
    作者: govcn    时间: 2023-4-15 16:34
    插个眼
    作者: lisa2016    时间: 2023-4-15 16:36
    天权璇玑 发表于 2023-4-15 16:06
    我和他不是一个人,不要无中生有,随便造谣

    支持 debian10吗?暂时几十台都是用10习惯了
    作者: 米老鼠    时间: 2023-4-15 16:42
    提示: 作者被禁止或删除 内容自动屏蔽
    作者: 巴勒蒙干    时间: 2023-4-15 16:54
    提示: 作者被禁止或删除 内容自动屏蔽
    作者: 萌䒤萌    时间: 2023-4-15 16:57
    12还没发布吧,还是测试
    作者: 腾讯云6折购    时间: 2023-4-15 17:04
    为什么不看我的tg消息
    作者: 腾讯云6折购    时间: 2023-4-15 17:17
    什么时候支持arch linxu
    作者: baby不卑鄙    时间: 2023-4-15 17:19
    本帖最后由 baby不卑鄙 于 2023-4-21 11:01 编辑

    还可以
    作者: ziyo    时间: 2023-4-15 17:25
    感谢分享,收藏备用
    作者: 巴勒蒙干    时间: 2023-4-15 17:25
    提示: 作者被禁止或删除 内容自动屏蔽
    作者: 天权璇玑    时间: 2023-4-15 18:22
    baby不卑鄙 发表于 2023-4-15 17:19
    DD后密码一直不对,22端口也没有打开

    默认密码:LeitboGi0ro
    默认端口:22
    我自己测试过,没问题,密码不要太复杂,带太多特殊字符

    作者: weiguoxiu    时间: 2023-4-15 18:27
    已经D好了,改了密钥登陆!完美
    作者: 大耳朵猫妹    时间: 2023-4-15 18:29
    Debian 12!官方都没发布这就有了。
    作者: maxkvm    时间: 2023-4-15 18:30
    米老鼠 发表于 2023-4-15 16:42
    你的脚本用不了我的KVM,我这个KVM只能用上传自定义iso
    我也不想用最新,系统更新太快,支持的软件未必就跟 ...

    哪个商家的kvm?
    作者: 天权璇玑    时间: 2023-4-15 18:33
    腾讯云6折购 发表于 2023-4-15 17:04
    为什么不看我的tg消息

    回了回了,最近没空看消息
    作者: aoki    时间: 2023-4-15 20:30
    收藏了
    作者: 水牛    时间: 2023-4-15 20:32
    本帖最后由 水牛 于 2023-4-15 20:42 编辑
    水牛 发表于 2023-4-15 16:07
    实测,不支持hetzner cloud

    -------------------


    顶,大佬牛逼,经过大佬一番研究,终于搞定这个HZ问题了。

    Hetzner Cloud DD debian搞定了~


    作者: 张麻子    时间: 2023-4-15 20:39
    支持纯v6的机器吗
    作者: 腾讯云6折购    时间: 2023-4-15 21:08
    天权璇玑 发表于 2023-4-15 18:33
    回了回了,最近没空看消息

    机器还要吗
    作者: 腾讯云6折购    时间: 2023-4-15 21:09
    水牛 发表于 2023-4-15 20:32
    顶,大佬牛逼,经过大佬一番研究,终于搞定这个HZ问题了。

    Hetzner Cloud DD debian搞定了~

    什么问题啊
    作者: 腾讯云6折购    时间: 2023-4-15 21:10
    weiguoxiu 发表于 2023-4-15 18:27
    已经D好了,改了密钥登陆!完美

    怎么改的密钥登录?
    作者: 天权璇玑    时间: 2023-4-18 21:39
    张麻子 发表于 2023-4-15 20:39
    支持纯v6的机器吗

    支持,在Vultr 2.5刀的ipv6机器上跑过
    作者: 天权璇玑    时间: 2023-4-18 21:41
    腾讯云6折购 发表于 2023-4-15 21:10
    怎么改的密钥登录?

    改密钥登录教程网上一搜一大堆,比如:https://www.myfreax.com/how-to-set-up-ssh-keys-on-debian-10/
    作者: 壹辈子回忆    时间: 2023-4-19 22:26
    mark一下,希望以后能用到,谢谢。
    作者: 备忘录    时间: 2023-4-20 02:34

    作者: maxkvm    时间: 2023-4-20 03:08
    米老鼠 发表于 2023-4-15 16:42
    你的脚本用不了我的KVM,我这个KVM只能用上传自定义iso
    我也不想用最新,系统更新太快,支持的软件未必就跟 ...

    哪个商家?
    作者: VliceFan    时间: 2023-4-20 06:24
    必须支持一下
    作者: 408772627    时间: 2023-4-20 08:06
    牛牛牛,666,v587

    作者: 来自未来的家伙    时间: 2023-4-20 09:06
    可以用在随身wifi哪个debian上吗?
    作者: htazq    时间: 2023-4-20 09:43
    马克一下,





    ----zsbd

    作者: 24K纯胖    时间: 2023-4-20 10:02
    大佬384m的小鸡支持吗?
    作者: Miracle_    时间: 2023-4-20 10:17
    支持
    作者: 凤凰竹们    时间: 2023-4-20 10:22
    支持大佬
    作者: tycu    时间: 2023-4-20 10:59
    好东西,收藏备用
    作者: 天权璇玑    时间: 2023-4-20 11:15
    24K纯胖 发表于 2023-4-20 10:02
    大佬384m的小鸡支持吗?

    内存太小了,弃疗吧
    作者: 天权璇玑    时间: 2023-4-20 11:20
    来自未来的家伙 发表于 2023-4-20 09:06
    可以用在随身wifi哪个debian上吗?

    这个是专门给服务器重装用的,其他设备的我不确定支持的好不好,你可以跑一下试试,有问题反馈,一般单网卡没问题,如果有特殊驱动可能会出问题
    作者: 24K纯胖    时间: 2023-4-20 14:55
    天权璇玑 发表于 2023-4-20 11:15
    内存太小了,弃疗吧

    那就只能用10的系统了
    作者: 天权璇玑    时间: 2023-4-20 16:45
    24K纯胖 发表于 2023-4-20 14:55
    那就只能用10的系统了

    我在搬瓦工512M的机器上跑过,低内存模式可以装Debian 12,你试试?
    作者: 凡人哟    时间: 2023-4-21 07:55
    收藏备用
    作者: 24K纯胖    时间: 2023-4-21 09:34
    天权璇玑 发表于 2023-4-20 16:45
    我在搬瓦工512M的机器上跑过,低内存模式可以装Debian 12,你试试?

    我想折腾我的384小鸡,不能就不折腾他了,用大鸡鸡试试
    作者: 来自未来的家伙    时间: 2023-4-21 10:09
    天权璇玑 发表于 2023-4-20 11:20
    这个是专门给服务器重装用的,其他设备的我不确定支持的好不好,你可以跑一下试试,有问题反馈,一般单网 ...

    InstallNET.sh:行505: yum:未找到命令
    InstallNET.sh:行506: yum:未找到命令
    InstallNET.sh:行507: yum:未找到命令
    InstallNET.sh:行508: yum:未找到命令
    InstallNET.sh: /usr/bin/lsb_release:/usr/bin/python3:解释器错误: 没有那个文件或目录
    cat: /etc/redhat-release: 没有那个文件或目录
    cat: /etc/system-release: 没有那个文件或目录
    InstallNET.sh: /usr/bin/lsb_release:/usr/bin/python3:解释器错误: 没有那个文件或目录
    ping: www.有图比.com: 不支持的主机名地址族
    EFI variables are not supported on this system.
    ls: 无法访问 '/sys/firmware/efi/efivars/': 没有那个文件或目录
    ls: 无法访问 '/sys/firmware/efi/mok-variables/': 没有那个文件或目录
    ls: 无法访问 '/sys/firmware/efi/runtime-map/': 没有那个文件或目录
    ls: 无法访问 '/sys/firmware/efi/vars/': 没有那个文件或目录
    find: ‘/boot/efi/EFI/’: 没有那个文件或目录
    find: ‘/boot/efi/EFI/’: 没有那个文件或目录
    awk: read error (Is a directory)
    awk: read error (Is a directory)

    Error: Not Found grub.


    试了确实不行
    作者: Xhvai110    时间: 2023-4-21 16:23
    牛逼,马克了
    作者: 巴勒蒙干    时间: 2023-4-21 16:28
    提示: 作者被禁止或删除 内容自动屏蔽
    作者: 天权璇玑    时间: 2023-4-21 17:36
    来自未来的家伙 发表于 2023-4-21 10:09
    InstallNET.sh:行505: yum:未找到命令
    InstallNET.sh:行506: yum:未找到命令
    InstallNET.sh:行507: yum ...

    引导文件有问题,能提供实机环境,我来测试
    作者: 天权璇玑    时间: 2023-4-21 17:37
    巴勒蒙干 发表于 2023-4-21 16:28
    @**璇玑

    你这东西到底怎么用啊

    引导文件有问题,怎么重写引导命令grub1和grub2都跑不了?如果能提供实机环境,我来测试
    作者: 巴勒蒙干    时间: 2023-4-21 17:46
    提示: 作者被禁止或删除 内容自动屏蔽
    作者: 天权璇玑    时间: 2023-4-21 18:08
    巴勒蒙干 发表于 2023-4-21 17:46
    你得改变算法。

    不要依赖非标准的配置文件(比如判断这些/etc/redhat-release,/etc/system-release,有 ...

    grub-mkconfig 或 grub2-mkconfig 是写入新的引导信息后,刷新 grub 更新系统的必要条件,就比方说如果你要改变系统的网络配置,也要执行类似 /etc/init.d/network restart 这样的命令重新刷新一下才生效,对吧。一般程序需要依赖读取某个文件里的配置信息运行,刷新的意义就是把程序和其读取的之前的配置内容从内存中清除,然后把硬盘里新的配置文件信息读取出来,装入内存中,这样才能完成新的更改,直接改掉某个配置文件就能刷新配置的做法既不标准,也不安全,在一个标准设计的 Linux 系统中,虽然配置文件内容和具体目录千奇百怪,但必须要刷新这点是不变的
    作者: 巴勒蒙干    时间: 2023-4-21 18:12
    提示: 作者被禁止或删除 内容自动屏蔽
    作者: 天权璇玑    时间: 2023-4-21 18:14
    巴勒蒙干 发表于 2023-4-21 17:46
    你得改变算法。

    不要依赖非标准的配置文件(比如判断这些/etc/redhat-release,/etc/system-release,有 ...

    我已经用“或”条件来减少对 grub 是否存在的误判了,具体到代码里,我条件是这么写的:

    1. [[ -n `grep -w "grub-mkconfig" $GRUBDIR/$GRUBFILE` ]] || [[ `type grub-mkconfig` != "" ]]
    复制代码


    优先检查 grub 引导文件里有没有提示用户使用“grub-mkconfig”更新引导配置的注释,如果没有,就检查“grub-mkconfig”这条命令是否能运行,这是我这个程序判断是否能写入安装文件引导重启的前提,如果这关都过不了,说明管理该系统的引导方式并不是“grub”,我所知的绝大部分VPS后台模板提供的系统都是由 grub 来负责系统引导处理的,所以我处理写入新引导配置的工作也必须围绕 grub 展开

    作者: 巴勒蒙干    时间: 2023-4-21 18:19
    提示: 作者被禁止或删除 内容自动屏蔽
    作者: 天权璇玑    时间: 2023-4-21 18:27
    本帖最后由 天权璇玑 于 2023-4-21 18:32 编辑
    巴勒蒙干 发表于 2023-4-21 18:19
    你怎么能这样想呢

    有一些系统安装好且能工作的grub,其配置文件和准备工具(如grub-mkconfig)有时往 ...


    update-grub 和 grub-mkconfig 是等价的,如果跑不了后者,说明前者也跑不了,在 Redhat 系列里就是这样的,有不少人佐证过:

    https://www.nixcraft.com/t/how-to-update-grub-on-rhel-or-centos-linux/3824

    The update-grub is a stub for running grub-mkconfig -o /boot/grub/grub.cfg to generate a grub2 config file on Debian or Ubuntu.

    我刚在重装干净的 CentOS 9-stream 跑过 update-grub 或 update-grub2,都无法运行:

    [root@centos ~]# update-grub
    -bash: update-grub: command not found
    [root@centos ~]# update-grub2
    -bash: update-grub2: command not found

    update-grub 之所以能执行,底层是由 grub-mkconfig 命令实现的,而且我不能为了引入一个只在 Debian 系列通用的简化版命令,在更新 grub 流程中再加入不同系统判断,使用不同刷新命令,那样更复杂,也没有意义
    作者: 天权璇玑    时间: 2023-4-21 18:30
    巴勒蒙干 发表于 2023-4-21 18:19
    你怎么能这样想呢

    有一些系统安装好且能工作的 grub,其配置文件和准备工具(如grub-mkconfig)有时往 ...


    刚才链接里回答者明确告诉在红帽、CentOS 里,更新 grub 引导的命令就是 grub2-mkconfig,因为从 7 以后,用的都是 grub2,没有其他更新引导的方法:

    Updating Grub boot loader on an RHEL or CentOS Linux

    1.     1. Open the terminal app
    2.     2. Edit the /etc/default/grub as per your needs. For example:
    3.     sudo vim /etc/default/grub
    4.     3. Type the following command as root user:
    5.     sudo grub2-mkconfig -o /boot/grub2/grub.cfg
    6.     4. Reboot your Linux box
    7.     sudo reboot
    复制代码

    作者: 天权璇玑    时间: 2023-4-21 18:39
    巴勒蒙干 发表于 2023-4-21 18:19
    你怎么能这样想呢

    有一些系统安装好且能工作的grub,其配置文件和准备工具(如grub-mkconfig)有时往 ...

    这是 CentOS 的官方文档:https://www.unix.com/man-page/centos/8/update-grub/,里面明确说了 update-grub, update-grub2 是 grub-mkconfig grub2-mkconfig 的人性化写法,标准就是这样的,我的工作也得按照标准展开,如果不符合标准,这个系统的定制还是比较失败、令人失望的,也不值得在这种极其罕见的案例上浪费时间适配:

    1. NAME

    2.        update-grub, update-grub2 - stub for grub-mkconfig

    3. SYNOPSIS

    4.        update-grub

    5. DESCRIPTION

    6.        update-grub is a stub for running grub-mkconfig -o /boot/grub/grub.cfg to generate a grub2 config file.
    复制代码

    作者: 巴勒蒙干    时间: 2023-4-21 18:45
    提示: 作者被禁止或删除 内容自动屏蔽
    作者: 巴勒蒙干    时间: 2023-4-21 18:48
    提示: 作者被禁止或删除 内容自动屏蔽
    作者: 天权璇玑    时间: 2023-4-21 18:56
    巴勒蒙干 发表于 2023-4-21 18:48
    还有。update-grub绝不仅仅是调用一次grub2-mkconfig
    它还把initramfs重新打包了一次。

    Emm……,Debian 官方文档里,也很明显说明了,update grub 就是 grub-mkconfig 的简写:

    https://manpages.debian.org/buster/grub2-common/update-grub.8.en.html


    1. NAME
    2. update-grub, update-grub2 - stub for grub-mkconfig
    3. SYNOPSIS
    4. update-grub
    5. DESCRIPTION
    6. update-grub is a stub for running grub-mkconfig -o /boot/grub/grub.cfg to generate a grub2 config file.
    复制代码

    作者: 进来看看    时间: 2023-4-21 18:57
    我想把centos7换成Debian11但是出现这个问题怎么解决?

    作者: maxkvm    时间: 2023-4-21 18:59
    天权璇玑 发表于 2023-4-21 18:56
    Emm……,Debian 官方文档里,也很明显说明了,update grub 就是 grub-mkconfig 的简写:

    https://manpa ...

    用你的脚本还是不能dd成功godaddy的vps,你能帮我试试吗?我提供vps给你,谢谢
    作者: 天权璇玑    时间: 2023-4-21 19:03
    本帖最后由 天权璇玑 于 2023-4-21 19:05 编辑
    巴勒蒙干 发表于 2023-4-21 18:48
    还有。update-grub绝不仅仅是调用一次grub2-mkconfig
    它还把initramfs重新打包了一次。


    根据 Debian 文档里的描述,update-grub 是 grub-mkconfig -o /boot/grub/grub.cfg 的简写,能执行 update-grub,说明 grub-mkconfig 一定能执行,这是判断 grub 是否存在并且能修改的依据,而且我也要依赖它来判断系统是 grub1 还是 grub2,grub1 是 Debian 系列用的,grub2 是给红帽用的,如果无法区分,就会乱掉
    作者: 天权璇玑    时间: 2023-4-21 19:07
    进来看看 发表于 2023-4-21 18:57
    我想把centos7换成Debian11但是出现这个问题怎么解决?

    网络初始化失败,我下个版本已经改了,把实机环境提供给我,我测试一下
    作者: 天权璇玑    时间: 2023-4-21 19:08
    maxkvm 发表于 2023-4-21 18:59
    用你的脚本还是不能dd成功godaddy的vps,你能帮我试试吗?我提供vps给你,谢谢 ...

    把机器登录信息私信给我,我上机测试
    作者: 进来看看    时间: 2023-4-21 19:08
    天权璇玑 发表于 2023-4-21 19:07
    网络初始化失败,我下个版本已经改了,把实机环境提供给我,我测试一下 ...

    实机环境是什么意思?
    作者: 巴勒蒙干    时间: 2023-4-21 19:13
    提示: 作者被禁止或删除 内容自动屏蔽
    作者: 天权璇玑    时间: 2023-4-21 19:19
    巴勒蒙干 发表于 2023-4-21 19:13
    可能爱搞技术的总有点”拧“,你一遍遍重复说这个grub-mkconfig
    几个事实,你还不同意,我白花费时间说了 ...


    萌咖的脚本只能在 Debian 上重装成 Debian,功能简单,所以问题少,我的脚本能在原系统 Debian 系和红帽系之间互装成对方系列,而他不能,而且他的脚本完全处理不了 IPv6,架构也要手动输入,我完成了各种自动化,而且还支持国内加速,这就是我敢说“好用”的资本,你可以拿萌咖的脚本去红帽7以上系统跑一下,如果能跑,我倒贴钱给你。我脚本适配的系统多,环境复杂,所以我要设置各种条件,以应对不同系统环境的不同情况。它不是专门给你设计的,你也没有付出财力请我去定制,所以我接受你的批评,但不能让我的脚本失去更广的泛用性。grub-mkconig 在99%的 VPS 模板里都能运行,我不能
    作者: 天权璇玑    时间: 2023-4-21 19:24
    巴勒蒙干 发表于 2023-4-21 19:13
    可能爱搞技术的总有点”拧“,你一遍遍重复说这个grub-mkconfig

    几个事实,你还不同意,我白花费时间说 ...


    萌咖原版脚本对红帽 grub2 的引导完全无法处理,这就等于放弃了 Oracle Linux 7-9,CentOS 7-9,Almalinux 8-9,RockyLinux 8-9,Fedora,腾讯云的 OpenCloudOS,阿里云的 AliyunCloudLinux 等世面一大半以上的机器,而且 Oracle Linux 是甲骨文免费机默认装的系统之一,我也有账号,所以我要做这个适配,所以我想请教您一下,萌咖的脚本“强”在什么地方?一个在大部分机器上跑都跑不动的一键重装,怎么就“强”呢?我真不明白
    作者: 巴勒蒙干    时间: 2023-4-21 19:26
    提示: 作者被禁止或删除 内容自动屏蔽
    作者: 天权璇玑    时间: 2023-4-21 19:30
    巴勒蒙干 发表于 2023-4-21 19:26
    萌咖的支持debian,centos互转吧。
    功能简单,是因为人家通用,用的是通用逻辑。
    至于后面的。人家也没 ...

    建议哥们儿你先跑跑看,信口雌黄不是好品德,萌咖的脚本我敢100%确定,无法在红帽 7 以上系统里跑,我跑过才大费周折地改进,添加各种功能,目前成品相比他那个版本,才得出他“不行”的结论,萌咖是初创者,当然值得尊敬,但是随着时代变化,他的脚本泛用性越来越不行了,这也是客观存在的事实
    作者: maxkvm    时间: 2023-4-21 19:31
    天权璇玑 发表于 2023-4-21 19:08
    把机器登录信息私信给我,我上机测试

    已私信,谢谢
    作者: 天权璇玑    时间: 2023-4-21 19:33
    巴勒蒙干 发表于 2023-4-21 19:26
    萌咖的支持debian,centos互转吧。
    功能简单,是因为人家通用,用的是通用逻辑。
    至于后面的。人家也没 ...

    扩大泛用性这个工作,如果我不做,就得指望别人来做,否则大家都得干瞪眼,等着谁谁谁去做,等得等多久?会有人做吗?只能指望原系统是 Debian,才能装成其他系统,这种限制我无法接受,相信也有很多原系统是红帽系列,不能靠后台重装成其他系统的朋友也无法接受,所以我有这个能力,就由我来做
    作者: 巴勒蒙干    时间: 2023-4-21 19:34
    提示: 作者被禁止或删除 内容自动屏蔽
    作者: 天权璇玑    时间: 2023-4-21 19:36
    巴勒蒙干 发表于 2023-4-21 19:34
    你可能并没有仔细研究过萌咖里面对grub2的处理,人家也有grub2处理
    你话中的不支持rh的grub2可能只是某些 ...

    感谢你的建议,我先去处理帖子里回我的两个人的问题了
    作者: 巴勒蒙干    时间: 2023-4-21 19:37
    提示: 作者被禁止或删除 内容自动屏蔽
    作者: 巴勒蒙干    时间: 2023-4-21 19:43
    提示: 作者被禁止或删除 内容自动屏蔽
    作者: 张言邹建    时间: 2023-4-21 19:44
    牛逼克拉斯
    作者: 巴勒蒙干    时间: 2023-4-21 20:12
    提示: 作者被禁止或删除 内容自动屏蔽
    作者: 天权璇玑    时间: 2023-4-21 21:02
    巴勒蒙干 发表于 2023-4-21 20:12
    @**璇玑

    这个

    是,可以确定,不用 grub-mkconfig,grub 也能在下次重启后更新,但我必须用 grub2-mkconfig 和 grub-mkconfig 来区分 grub1 和 grub2,不然一股脑写进去会乱掉
    作者: 巴勒蒙干    时间: 2023-4-21 21:11
    提示: 作者被禁止或删除 内容自动屏蔽
    作者: 巴勒蒙干    时间: 2023-4-21 21:13
    提示: 作者被禁止或删除 内容自动屏蔽
    作者: 天权璇玑    时间: 2023-4-21 21:14
    巴勒蒙干 发表于 2023-4-21 21:11
    看来还是没有mkconfig不行啊。
    判断grub1,grub2,接下来才是判断具体版本下的配置文件啊

    你是真糊涂还是在消遣洒家,我刚跑过的脚本,明确给出了 initrd.gz 和 linux 两个文件的下载地址,而且这功能是我自己添加的,萌咖原版没有

    1. # Check Dependence

    2. [ok]                awk
    3. [ok]                basename
    4. [ok]                cat
    5. [ok]                cpio
    6. [ok]                curl
    7. [ok]                cut
    8. [ok]                dig
    9. [ok]                dirname
    10. [ok]                efibootmgr
    11. [ok]                file
    12. [ok]                find
    13. [ok]                grep
    14. [ok]                gzip
    15. [ok]                jq
    16. [ok]                lsblk
    17. [ok]                sed
    18. [ok]                wget
    19. [ok]                xz
    20. [ok]                ip
    21. eth0

    22. Check DIST

    23. Success

    24. # Install


    25. [Debian] [bookworm] [amd64] Downloading...

    26. [Mirror] http://deb.debian.org/debian/dists/bookworm/main/installer-amd64/current/images/netboot/debian-installer/amd64/initrd.gz
    27.          http://deb.debian.org/debian/dists/bookworm/main/installer-amd64/current/images/netboot/debian-installer/amd64/linux
    复制代码


    作者: 天权璇玑    时间: 2023-4-21 21:17
    巴勒蒙干 发表于 2023-4-21 21:13
    @**璇玑

    我这回找了个有grubmkconfig的debian10

    把实机环境给我,我亲自跑
    作者: 巴勒蒙干    时间: 2023-4-21 21:17
    提示: 作者被禁止或删除 内容自动屏蔽
    作者: 巴勒蒙干    时间: 2023-4-21 21:18
    提示: 作者被禁止或删除 内容自动屏蔽
    作者: 天权璇玑    时间: 2023-4-21 21:19
    巴勒蒙干 发表于 2023-4-21 21:17
    没有在消遣你。我只管看结果

    输出网卡名后。根本没有Check DIST,,

    自己打包的还是算了吧,我只测商家面板提供的环境
    作者: 天权璇玑    时间: 2023-4-21 21:21
    巴勒蒙干 发表于 2023-4-21 21:18
    好,是不是用osx?我给你发打包的虚拟机环境,在pd下跑的

    没钱啊,买不起高贵的苹果
    作者: 巴勒蒙干    时间: 2023-4-21 21:21
    提示: 作者被禁止或删除 内容自动屏蔽
    作者: 巴勒蒙干    时间: 2023-4-21 21:22
    提示: 作者被禁止或删除 内容自动屏蔽
    作者: 天权璇玑    时间: 2023-4-21 21:22
    巴勒蒙干 发表于 2023-4-21 21:21
    这是pd上直接点下载,生成的。我是说,把系统打包给你。虚拟机上的

    没有公网ip和root

    那你把镜像给我吧,VMware能导入使用吗




    欢迎光临 全球主机交流论坛 (https://443502.xyz/) Powered by Discuz! X3.4